diff --git a/lib/libc/darwin/libSystem.11.tbd b/lib/libc/darwin/libSystem.11.tbd deleted file mode 100644 index 12d4dbeb5c..0000000000 --- a/lib/libc/darwin/libSystem.11.tbd +++ /dev/null @@ -1,3703 +0,0 @@ ---- !tapi-tbd -tbd-version: 4 -targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] -uuids: - - target: x86_64-macos - value: EADFB1D1-E113-35B4-BD2D-C1E4C38010D4 - - target: x86_64-maccatalyst - value: EADFB1D1-E113-35B4-BD2D-C1E4C38010D4 - - target: arm64-macos - value: 00000000-0000-0000-0000-000000000000 - - target: arm64-maccatalyst - value: 00000000-0000-0000-0000-000000000000 - - target: arm64e-macos - value: A03485B7-4C44-3F47-8BF9-5D6E1BE0CF27 - - target: arm64e-maccatalyst - value: A03485B7-4C44-3F47-8BF9-5D6E1BE0CF27 -install-name: '/usr/lib/libSystem.B.dylib' -current-version: 1292.100.5 -reexported-libraries: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] - libraries: [ '/usr/lib/system/libcache.dylib', '/usr/lib/system/libcommonCrypto.dylib', - '/usr/lib/system/libcompiler_rt.dylib', '/usr/lib/system/libcopyfile.dylib', - '/usr/lib/system/libcorecrypto.dylib', '/usr/lib/system/libdispatch.dylib', - '/usr/lib/system/libdyld.dylib', '/usr/lib/system/libkeymgr.dylib', - '/usr/lib/system/liblaunch.dylib', '/usr/lib/system/libmacho.dylib', - '/usr/lib/system/libquarantine.dylib', '/usr/lib/system/libremovefile.dylib', - '/usr/lib/system/libsystem_asl.dylib', '/usr/lib/system/libsystem_blocks.dylib', - '/usr/lib/system/libsystem_c.dylib', '/usr/lib/system/libsystem_collections.dylib', - '/usr/lib/system/libsystem_configuration.dylib', '/usr/lib/system/libsystem_containermanager.dylib', - '/usr/lib/system/libsystem_coreservices.dylib', '/usr/lib/system/libsystem_darwin.dylib', - '/usr/lib/system/libsystem_dnssd.dylib', '/usr/lib/system/libsystem_featureflags.dylib', - '/usr/lib/system/libsystem_info.dylib', '/usr/lib/system/libsystem_kernel.dylib', - '/usr/lib/system/libsystem_m.dylib', '/usr/lib/system/libsystem_malloc.dylib', - '/usr/lib/system/libsystem_networkextension.dylib', '/usr/lib/system/libsystem_notify.dylib', - '/usr/lib/system/libsystem_platform.dylib', '/usr/lib/system/libsystem_product_info_filter.dylib', - '/usr/lib/system/libsystem_pthread.dylib', '/usr/lib/system/libsystem_sandbox.dylib', - '/usr/lib/system/libsystem_secinit.dylib', '/usr/lib/system/libsystem_symptoms.dylib', - '/usr/lib/system/libsystem_trace.dylib', '/usr/lib/system/libunwind.dylib', - '/usr/lib/system/libxpc.dylib' ] -exports: - - targets: [ x86_64-maccatalyst, x86_64-macos ] - symbols: [ 'R8289209$_close', 'R8289209$_fork', 'R8289209$_fsync', 'R8289209$_getattrlist', - 'R8289209$_getrlimit', 'R8289209$_getxattr', 'R8289209$_open', - 'R8289209$_pthread_attr_destroy', 'R8289209$_pthread_attr_init', - 'R8289209$_pthread_attr_setdetachstate', 'R8289209$_pthread_create', - 'R8289209$_pthread_mutex_lock', 'R8289209$_pthread_mutex_unlock', - 'R8289209$_pthread_self', 'R8289209$_ptrace', 'R8289209$_read', - 'R8289209$_setattrlist', 'R8289209$_setrlimit', 'R8289209$_sigaction', - 'R8289209$_stat', 'R8289209$_sysctl', 'R8289209$_time', 'R8289209$_unlink', - 'R8289209$_write' ] - - targets: [ x86_64-maccatalyst, x86_64-macos, arm64e-maccatalyst, arm64e-macos, - arm64-macos, arm64-maccatalyst ] - symbols: [ ___crashreporter_info__, _libSystem_atfork_child, _libSystem_atfork_parent, - _libSystem_atfork_prepare, _mach_init_routine ] ---- !tapi-tbd -tbd-version: 4 -targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] -uuids: - - target: x86_64-macos - value: ED7D7EB4-B248-33A9-9E6A-58F45EAB7602 - - target: x86_64-maccatalyst - value: ED7D7EB4-B248-33A9-9E6A-58F45EAB7602 - - target: arm64-macos - value: 00000000-0000-0000-0000-000000000000 - - target: arm64-maccatalyst - value: 00000000-0000-0000-0000-000000000000 - - target: arm64e-macos - value: 758F8B92-8581-3370-9F97-1E3AB045122F - - target: arm64e-maccatalyst - value: 758F8B92-8581-3370-9F97-1E3AB045122F -install-name: '/usr/lib/system/libcache.dylib' -current-version: 83 -parent-umbrella: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] - umbrella: System -exports: - - targets: [ arm64e-macos, x86_64-macos, x86_64-maccatalyst, arm64e-maccatalyst, - arm64-macos, arm64-maccatalyst ] - symbols: [ _cache_create, _cache_destroy, _cache_get, _cache_get_and_retain, - _cache_get_cost_hint, _cache_get_count_hint, _cache_get_info, - _cache_get_info_for_key, _cache_get_info_for_keys, _cache_get_minimum_values_hint, - _cache_get_name, _cache_hash_byte_string, _cache_invoke, _cache_key_hash_cb_cstring, - _cache_key_hash_cb_integer, _cache_key_is_equal_cb_cstring, - _cache_key_is_equal_cb_integer, _cache_print, _cache_print_stats, - _cache_release_cb_free, _cache_release_value, _cache_remove, - _cache_remove_all, _cache_remove_with_block, _cache_set_and_retain, - _cache_set_cost_hint, _cache_set_count_hint, _cache_set_minimum_values_hint, - _cache_set_name, _cache_simulate_memory_warning_event, _cache_value_make_nonpurgeable_cb, - _cache_value_make_purgeable_cb ] ---- !tapi-tbd -tbd-version: 4 -targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] -uuids: - - target: x86_64-macos - value: EA0C1728-C905-3A58-A285-C32ECF903BB4 - - target: x86_64-maccatalyst - value: EA0C1728-C905-3A58-A285-C32ECF903BB4 - - target: arm64-macos - value: 00000000-0000-0000-0000-000000000000 - - target: arm64-maccatalyst - value: 00000000-0000-0000-0000-000000000000 - - target: arm64e-macos - value: 63177DD5-51C5-3BAC-8E02-F3A435D94034 - - target: arm64e-maccatalyst - value: 63177DD5-51C5-3BAC-8E02-F3A435D94034 -install-name: '/usr/lib/system/libcommonCrypto.dylib' -current-version: 60178.100.1 -parent-umbrella: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] - umbrella: System -exports: - - targets: [ arm64e-macos, x86_64-macos, x86_64-maccatalyst, arm64e-maccatalyst, - arm64-macos, arm64-maccatalyst ] - symbols: [ _CCAESCmac, _CCAESCmacCreate, _CCAESCmacDestroy, _CCAESCmacFinal, - _CCAESCmacOutputSizeFromContext, _CCAESCmacUpdate, _CCBigNumAdd, - _CCBigNumAddI, _CCBigNumBitCount, _CCBigNumByteCount, _CCBigNumClear, - _CCBigNumCompare, _CCBigNumCompareI, _CCBigNumCopy, _CCBigNumCreateRandom, - _CCBigNumDiv, _CCBigNumFree, _CCBigNumFromData, _CCBigNumFromDecimalString, - _CCBigNumFromHexString, _CCBigNumGetI, _CCBigNumIsNegative, - _CCBigNumIsPrime, _CCBigNumIsZero, _CCBigNumLeftShift, _CCBigNumMod, - _CCBigNumModExp, _CCBigNumModI, _CCBigNumMul, _CCBigNumMulI, - _CCBigNumMulMod, _CCBigNumRightShift, _CCBigNumSetI, _CCBigNumSetNegative, - _CCBigNumSub, _CCBigNumSubI, _CCBigNumToData, _CCBigNumToDecimalString, - _CCBigNumToHexString, _CCBigNumZeroLSBCount, _CCCKGContributorCommit, - _CCCKGContributorCreate, _CCCKGContributorDestroy, _CCCKGContributorFinish, - _CCCKGGetCommitmentSize, _CCCKGGetOpeningSize, _CCCKGGetShareSize, - _CCCKGOwnerCreate, _CCCKGOwnerDestroy, _CCCKGOwnerFinish, - _CCCKGOwnerGenerateShare, _CCCalibratePBKDF, _CCCreateBigNum, - _CCCrypt, _CCCryptorAddParameter, _CCCryptorChaCha20, _CCCryptorChaCha20Poly1305OneshotDecrypt, - _CCCryptorChaCha20Poly1305OneshotEncrypt, _CCCryptorCreate, - _CCCryptorCreateFromData, _CCCryptorCreateFromDataWithMode, - _CCCryptorCreateWithMode, _CCCryptorDecryptDataBlock, _CCCryptorEncryptDataBlock, - _CCCryptorFinal, _CCCryptorGCM, _CCCryptorGCMAddAAD, _CCCryptorGCMAddADD, - _CCCryptorGCMAddIV, _CCCryptorGCMDecrypt, _CCCryptorGCMEncrypt, - _CCCryptorGCMFinal, _CCCryptorGCMFinalize, _CCCryptorGCMOneshotDecrypt, - _CCCryptorGCMOneshotEncrypt, _CCCryptorGCMReset, _CCCryptorGCMSetIV, - _CCCryptorGCMaddAAD, _CCCryptorGetIV, _CCCryptorGetOutputLength, - _CCCryptorGetParameter, _CCCryptorRelease, _CCCryptorReset, - _CCCryptorReset_binary_compatibility, _CCCryptorUpdate, _CCDHComputeKey, - _CCDHCreate, _CCDHGenerateKey, _CCDHParametersCreateFromData, - _CCDHParametersCreateFromPKCS3, _CCDHParametersPKCS3Encode, - _CCDHParametersPKCS3EncodeLength, _CCDHParametersRelease, - _CCDHRelease, _CCDeriveKey, _CCDesCBCCksum, _CCDesIsWeakKey, - _CCDesSetOddParity, _CCDigest, _CCDigestBlockSize, _CCDigestCreate, - _CCDigestCreateByOID, _CCDigestDestroy, _CCDigestFinal, _CCDigestGetBlockSize, - _CCDigestGetBlockSizeFromRef, _CCDigestGetOutputSize, _CCDigestGetOutputSizeFromRef, - _CCDigestInit, _CCDigestOID, _CCDigestOIDLen, _CCDigestOutputSize, - _CCDigestReset, _CCDigestUpdate, _CCECCryptorBlind, _CCECCryptorBlindingKeysRelease, - _CCECCryptorComputeSharedSecret, _CCECCryptorCreateFromData, - _CCECCryptorExportKey, _CCECCryptorExportPublicKey, _CCECCryptorGenerateBlindingKeys, - _CCECCryptorGeneratePair, _CCECCryptorGetKeyComponents, _CCECCryptorGetPublicKeyFromPrivateKey, - _CCECCryptorH2C, _CCECCryptorImportKey, _CCECCryptorImportPublicKey, - _CCECCryptorRelease, _CCECCryptorSignHash, _CCECCryptorTwinDiversifyEntropySize, - _CCECCryptorTwinDiversifyKey, _CCECCryptorUnblind, _CCECCryptorUnwrapKey, - _CCECCryptorVerifyHash, _CCECCryptorWrapKey, _CCECGetKeySize, - _CCECGetKeyType, _CCHKDFExpand, _CCHKDFExtract, _CCHmac, _CCHmacClone, - _CCHmacCreate, _CCHmacDestroy, _CCHmacFinal, _CCHmacInit, - _CCHmacOneShot, _CCHmacOutputSize, _CCHmacOutputSizeFromRef, - _CCHmacUpdate, _CCKDFParametersCreateAnsiX963, _CCKDFParametersCreateCtrHmac, - _CCKDFParametersCreateCtrHmacFixed, _CCKDFParametersCreateHkdf, - _CCKDFParametersCreatePbkdf2, _CCKDFParametersDestroy, _CCKeyDerivationHMac, - _CCKeyDerivationPBKDF, _CCRSACryptorCreateFromData, _CCRSACryptorCreatePublicKeyFromPrivateKey, - _CCRSACryptorCrypt, _CCRSACryptorDecrypt, _CCRSACryptorEncrypt, - _CCRSACryptorExport, _CCRSACryptorGeneratePair, _CCRSACryptorGetPublicKeyFromPrivateKey, - _CCRSACryptorImport, _CCRSACryptorRelease, _CCRSACryptorSign, - _CCRSACryptorVerify, _CCRSAGetCRTComponents, _CCRSAGetCRTComponentsSizes, - _CCRSAGetKeyComponents, _CCRSAGetKeySize, _CCRSAGetKeyType, - _CCRandomCopyBytes, _CCRandomGenerateBytes, _CCRandomUniform, - _CCSymmetricKeyUnwrap, _CCSymmetricKeyWrap, _CCSymmetricUnwrappedSize, - _CCSymmetricWrappedSize, _CC_MD2, _CC_MD2_Final, _CC_MD2_Init, - _CC_MD2_Update, _CC_MD4, _CC_MD4_Final, _CC_MD4_Init, _CC_MD4_Update, - _CC_MD5, _CC_MD5_Final, _CC_MD5_Init, _CC_MD5_Update, _CC_SHA1, - _CC_SHA1_Final, _CC_SHA1_Init, _CC_SHA1_Update, _CC_SHA224, - _CC_SHA224_Final, _CC_SHA224_Init, _CC_SHA224_Update, _CC_SHA256, - _CC_SHA256_Final, _CC_SHA256_Init, _CC_SHA256_Update, _CC_SHA384, - _CC_SHA384_Final, _CC_SHA384_Init, _CC_SHA384_Update, _CC_SHA512, - _CC_SHA512_Final, _CC_SHA512_Init, _CC_SHA512_Update, _CCrfc3394_iv, - _CCrfc3394_ivLen, _CNCRC, _CNCRCDumpTable, _CNCRCFinal, _CNCRCInit, - _CNCRCRelease, _CNCRCUpdate, _CNCRCWeakTest, _CNEncode, _CNEncoderBlocksize, - _CNEncoderBlocksizeFromRef, _CNEncoderCreate, _CNEncoderCreateCustom, - _CNEncoderFinal, _CNEncoderGetOutputLength, _CNEncoderGetOutputLengthFromEncoding, - _CNEncoderRelease, _CNEncoderUpdate, _MD5Final, _ccDRBGGetRngState, - _ccDevRandomGetRngState, _kCCDHRFC2409Group2, _kCCDHRFC3526Group5, - _kCCRandomDefault, _kCCRandomDevRandom ] ---- !tapi-tbd -tbd-version: 4 -targets: [ x86_64-macos, arm64-macos, arm64e-macos ] -uuids: - - target: x86_64-macos - value: AD12DBB0-8D0B-3D71-800D-E591A3CBE0D8 - - target: arm64-macos - value: 00000000-0000-0000-0000-000000000000 - - target: arm64e-macos - value: 7BEF62AF-3C32-3793-94F2-275F6EA29F26 -install-name: '/usr/lib/system/libcompiler_rt.dylib' -current-version: 102.2 -parent-umbrella: - - targets: [ x86_64-macos, arm64-macos, arm64e-macos ] - umbrella: System -exports: - - targets: [ x86_64-macos ] - symbols: [ '$ld$hide$os10.4$___absvti2', '$ld$hide$os10.4$___addvti3', - '$ld$hide$os10.4$___ashlti3', '$ld$hide$os10.4$___ashrti3', - '$ld$hide$os10.4$___cmpti2', '$ld$hide$os10.4$___ctzti2', - '$ld$hide$os10.4$___ffsti2', '$ld$hide$os10.4$___fixunsxfti', - '$ld$hide$os10.4$___fixxfti', '$ld$hide$os10.4$___floattixf', - '$ld$hide$os10.4$___floatuntixf', '$ld$hide$os10.4$___lshrti3', - '$ld$hide$os10.4$___multi3', '$ld$hide$os10.4$___mulvti3', - '$ld$hide$os10.4$___negti2', '$ld$hide$os10.4$___negvti2', - '$ld$hide$os10.4$___parityti2', '$ld$hide$os10.4$___popcountti2', - '$ld$hide$os10.4$___subvti3', '$ld$hide$os10.4$___ucmpti2', - '$ld$hide$os10.5$___absvti2', '$ld$hide$os10.5$___addvti3', - '$ld$hide$os10.5$___ashlti3', '$ld$hide$os10.5$___ashrti3', - '$ld$hide$os10.5$___cmpti2', '$ld$hide$os10.5$___ctzti2', - '$ld$hide$os10.5$___ffsti2', '$ld$hide$os10.5$___fixunsxfti', - '$ld$hide$os10.5$___fixxfti', '$ld$hide$os10.5$___floattixf', - '$ld$hide$os10.5$___floatuntixf', '$ld$hide$os10.5$___lshrti3', - '$ld$hide$os10.5$___multi3', '$ld$hide$os10.5$___mulvti3', - '$ld$hide$os10.5$___negti2', '$ld$hide$os10.5$___negvti2', - '$ld$hide$os10.5$___parityti2', '$ld$hide$os10.5$___popcountti2', - '$ld$hide$os10.5$___subvti3', '$ld$hide$os10.5$___ucmpti2', - ___absvdi2, ___absvsi2, ___absvti2, ___addvdi3, ___addvsi3, - ___addvti3, ___ashldi3, ___ashlti3, ___ashrdi3, ___ashrti3, - ___clzdi2, ___clzsi2, ___cmpdi2, ___cmpti2, ___ctzdi2, ___ctzsi2, - ___ctzti2, ___divdc3, ___divdi3, ___divsc3, ___divxc3, ___ffsdi2, - ___ffsti2, ___fixdfdi, ___fixsfdi, ___fixunsdfdi, ___fixunsdfsi, - ___fixunssfdi, ___fixunssfsi, ___fixunsxfdi, ___fixunsxfsi, - ___fixunsxfti, ___fixxfdi, ___fixxfti, ___floatdidf, ___floatdisf, - ___floatdixf, ___floattixf, ___floatundidf, ___floatundisf, - ___floatundixf, ___floatuntixf, ___lshrdi3, ___lshrti3, ___moddi3, - ___muldi3, ___mulodi4, ___mulosi4, ___muloti4, ___multi3, - ___mulvdi3, ___mulvsi3, ___mulvti3, ___mulxc3, ___negdi2, - ___negti2, ___negvdi2, ___negvsi2, ___negvti2, ___paritydi2, - ___paritysi2, ___parityti2, ___popcountdi2, ___popcountsi2, - ___popcountti2, ___powixf2, ___subvdi3, ___subvsi3, ___subvti3, - ___ucmpdi2, ___ucmpti2, ___udivdi3, ___udivmoddi4, ___umoddi3 ] - - targets: [ arm64e-macos, x86_64-macos, arm64-macos ] - symbols: [ '$ld$hide$os10.10$___chkstk_darwin', '$ld$hide$os10.10$___extendhfsf2', - '$ld$hide$os10.10$___truncdfhf2', '$ld$hide$os10.10$___truncsfhf2', - '$ld$hide$os10.10$_atomic_flag_clear', '$ld$hide$os10.10$_atomic_flag_clear_explicit', - '$ld$hide$os10.10$_atomic_flag_test_and_set', '$ld$hide$os10.10$_atomic_flag_test_and_set_explicit', - '$ld$hide$os10.10$_atomic_signal_fence', '$ld$hide$os10.10$_atomic_thread_fence', - '$ld$hide$os10.11$___chkstk_darwin', '$ld$hide$os10.12$___chkstk_darwin', - '$ld$hide$os10.13$___chkstk_darwin', '$ld$hide$os10.14$___chkstk_darwin', - '$ld$hide$os10.4$___absvdi2', '$ld$hide$os10.4$___absvsi2', - '$ld$hide$os10.4$___addvdi3', '$ld$hide$os10.4$___addvsi3', - '$ld$hide$os10.4$___ashldi3', '$ld$hide$os10.4$___ashrdi3', - '$ld$hide$os10.4$___clear_cache', '$ld$hide$os10.4$___clzdi2', - '$ld$hide$os10.4$___clzsi2', '$ld$hide$os10.4$___clzti2', - '$ld$hide$os10.4$___cmpdi2', '$ld$hide$os10.4$___ctzdi2', - '$ld$hide$os10.4$___ctzsi2', '$ld$hide$os10.4$___divdc3', - '$ld$hide$os10.4$___divdi3', '$ld$hide$os10.4$___divsc3', - '$ld$hide$os10.4$___divti3', '$ld$hide$os10.4$___divxc3', - '$ld$hide$os10.4$___enable_execute_stack', '$ld$hide$os10.4$___ffsdi2', - '$ld$hide$os10.4$___fixdfdi', '$ld$hide$os10.4$___fixdfti', - '$ld$hide$os10.4$___fixsfdi', '$ld$hide$os10.4$___fixsfti', - '$ld$hide$os10.4$___fixunsdfdi', '$ld$hide$os10.4$___fixunsdfsi', - '$ld$hide$os10.4$___fixunsdfti', '$ld$hide$os10.4$___fixunssfdi', - '$ld$hide$os10.4$___fixunssfsi', '$ld$hide$os10.4$___fixunssfti', - '$ld$hide$os10.4$___fixunsxfdi', '$ld$hide$os10.4$___fixunsxfsi', - '$ld$hide$os10.4$___fixxfdi', '$ld$hide$os10.4$___floatdidf', - '$ld$hide$os10.4$___floatdisf', '$ld$hide$os10.4$___floatdixf', - '$ld$hide$os10.4$___floattidf', '$ld$hide$os10.4$___floattisf', - '$ld$hide$os10.4$___floatundidf', '$ld$hide$os10.4$___floatundisf', - '$ld$hide$os10.4$___floatundixf', '$ld$hide$os10.4$___floatuntidf', - '$ld$hide$os10.4$___floatuntisf', '$ld$hide$os10.4$___gcc_personality_v0', - '$ld$hide$os10.4$___lshrdi3', '$ld$hide$os10.4$___moddi3', - '$ld$hide$os10.4$___modti3', '$ld$hide$os10.4$___muldc3', - '$ld$hide$os10.4$___muldi3', '$ld$hide$os10.4$___mulsc3', - '$ld$hide$os10.4$___mulvdi3', '$ld$hide$os10.4$___mulvsi3', - '$ld$hide$os10.4$___mulxc3', '$ld$hide$os10.4$___negdi2', - '$ld$hide$os10.4$___negvdi2', '$ld$hide$os10.4$___negvsi2', - '$ld$hide$os10.4$___paritydi2', '$ld$hide$os10.4$___paritysi2', - '$ld$hide$os10.4$___popcountdi2', '$ld$hide$os10.4$___popcountsi2', - '$ld$hide$os10.4$___powidf2', '$ld$hide$os10.4$___powisf2', - '$ld$hide$os10.4$___powixf2', '$ld$hide$os10.4$___subvdi3', - '$ld$hide$os10.4$___subvsi3', '$ld$hide$os10.4$___ucmpdi2', - '$ld$hide$os10.4$___udivdi3', '$ld$hide$os10.4$___udivmoddi4', - '$ld$hide$os10.4$___udivmodti4', '$ld$hide$os10.4$___udivti3', - '$ld$hide$os10.4$___umoddi3', '$ld$hide$os10.4$___umodti3', - '$ld$hide$os10.5$___absvdi2', '$ld$hide$os10.5$___absvsi2', - '$ld$hide$os10.5$___addvdi3', '$ld$hide$os10.5$___addvsi3', - '$ld$hide$os10.5$___ashldi3', '$ld$hide$os10.5$___ashrdi3', - '$ld$hide$os10.5$___clear_cache', '$ld$hide$os10.5$___clzdi2', - '$ld$hide$os10.5$___clzsi2', '$ld$hide$os10.5$___clzti2', - '$ld$hide$os10.5$___cmpdi2', '$ld$hide$os10.5$___ctzdi2', - '$ld$hide$os10.5$___ctzsi2', '$ld$hide$os10.5$___divdc3', - '$ld$hide$os10.5$___divdi3', '$ld$hide$os10.5$___divsc3', - '$ld$hide$os10.5$___divti3', '$ld$hide$os10.5$___divxc3', - '$ld$hide$os10.5$___enable_execute_stack', '$ld$hide$os10.5$___ffsdi2', - '$ld$hide$os10.5$___fixdfdi', '$ld$hide$os10.5$___fixdfti', - '$ld$hide$os10.5$___fixsfdi', '$ld$hide$os10.5$___fixsfti', - '$ld$hide$os10.5$___fixunsdfdi', '$ld$hide$os10.5$___fixunsdfsi', - '$ld$hide$os10.5$___fixunsdfti', '$ld$hide$os10.5$___fixunssfdi', - '$ld$hide$os10.5$___fixunssfsi', '$ld$hide$os10.5$___fixunssfti', - '$ld$hide$os10.5$___fixunsxfdi', '$ld$hide$os10.5$___fixunsxfsi', - '$ld$hide$os10.5$___fixxfdi', '$ld$hide$os10.5$___floatdidf', - '$ld$hide$os10.5$___floatdisf', '$ld$hide$os10.5$___floatdixf', - '$ld$hide$os10.5$___floattidf', '$ld$hide$os10.5$___floattisf', - '$ld$hide$os10.5$___floatundidf', '$ld$hide$os10.5$___floatundisf', - '$ld$hide$os10.5$___floatundixf', '$ld$hide$os10.5$___floatuntidf', - '$ld$hide$os10.5$___floatuntisf', '$ld$hide$os10.5$___gcc_personality_v0', - '$ld$hide$os10.5$___lshrdi3', '$ld$hide$os10.5$___moddi3', - '$ld$hide$os10.5$___modti3', '$ld$hide$os10.5$___muldc3', - '$ld$hide$os10.5$___muldi3', '$ld$hide$os10.5$___mulsc3', - '$ld$hide$os10.5$___mulvdi3', '$ld$hide$os10.5$___mulvsi3', - '$ld$hide$os10.5$___mulxc3', '$ld$hide$os10.5$___negdi2', - '$ld$hide$os10.5$___negvdi2', '$ld$hide$os10.5$___negvsi2', - '$ld$hide$os10.5$___paritydi2', '$ld$hide$os10.5$___paritysi2', - '$ld$hide$os10.5$___popcountdi2', '$ld$hide$os10.5$___popcountsi2', - '$ld$hide$os10.5$___powidf2', '$ld$hide$os10.5$___powisf2', - '$ld$hide$os10.5$___powixf2', '$ld$hide$os10.5$___subvdi3', - '$ld$hide$os10.5$___subvsi3', '$ld$hide$os10.5$___ucmpdi2', - '$ld$hide$os10.5$___udivdi3', '$ld$hide$os10.5$___udivmoddi4', - '$ld$hide$os10.5$___udivmodti4', '$ld$hide$os10.5$___udivti3', - '$ld$hide$os10.5$___umoddi3', '$ld$hide$os10.5$___umodti3', - '$ld$hide$os10.6$___atomic_compare_exchange', '$ld$hide$os10.6$___atomic_compare_exchange_1', - '$ld$hide$os10.6$___atomic_compare_exchange_2', '$ld$hide$os10.6$___atomic_compare_exchange_4', - '$ld$hide$os10.6$___atomic_compare_exchange_8', '$ld$hide$os10.6$___atomic_exchange', - '$ld$hide$os10.6$___atomic_exchange_1', '$ld$hide$os10.6$___atomic_exchange_2', - '$ld$hide$os10.6$___atomic_exchange_4', '$ld$hide$os10.6$___atomic_exchange_8', - '$ld$hide$os10.6$___atomic_fetch_add_1', '$ld$hide$os10.6$___atomic_fetch_add_2', - '$ld$hide$os10.6$___atomic_fetch_add_4', '$ld$hide$os10.6$___atomic_fetch_add_8', - '$ld$hide$os10.6$___atomic_fetch_and_1', '$ld$hide$os10.6$___atomic_fetch_and_2', - '$ld$hide$os10.6$___atomic_fetch_and_4', '$ld$hide$os10.6$___atomic_fetch_and_8', - '$ld$hide$os10.6$___atomic_fetch_or_1', '$ld$hide$os10.6$___atomic_fetch_or_2', - '$ld$hide$os10.6$___atomic_fetch_or_4', '$ld$hide$os10.6$___atomic_fetch_or_8', - '$ld$hide$os10.6$___atomic_fetch_sub_1', '$ld$hide$os10.6$___atomic_fetch_sub_2', - '$ld$hide$os10.6$___atomic_fetch_sub_4', '$ld$hide$os10.6$___atomic_fetch_sub_8', - '$ld$hide$os10.6$___atomic_fetch_xor_1', '$ld$hide$os10.6$___atomic_fetch_xor_2', - '$ld$hide$os10.6$___atomic_fetch_xor_4', '$ld$hide$os10.6$___atomic_fetch_xor_8', - '$ld$hide$os10.6$___atomic_load', '$ld$hide$os10.6$___atomic_load_1', - '$ld$hide$os10.6$___atomic_load_2', '$ld$hide$os10.6$___atomic_load_4', - '$ld$hide$os10.6$___atomic_load_8', '$ld$hide$os10.6$___atomic_store', - '$ld$hide$os10.6$___atomic_store_1', '$ld$hide$os10.6$___atomic_store_2', - '$ld$hide$os10.6$___atomic_store_4', '$ld$hide$os10.6$___atomic_store_8', - '$ld$hide$os10.6$___chkstk_darwin', '$ld$hide$os10.6$___extendhfsf2', - '$ld$hide$os10.6$___truncdfhf2', '$ld$hide$os10.6$___truncsfhf2', - '$ld$hide$os10.6$_atomic_flag_clear', '$ld$hide$os10.6$_atomic_flag_clear_explicit', - '$ld$hide$os10.6$_atomic_flag_test_and_set', '$ld$hide$os10.6$_atomic_flag_test_and_set_explicit', - '$ld$hide$os10.6$_atomic_signal_fence', '$ld$hide$os10.6$_atomic_thread_fence', - '$ld$hide$os10.7$___atomic_compare_exchange', '$ld$hide$os10.7$___atomic_compare_exchange_1', - '$ld$hide$os10.7$___atomic_compare_exchange_2', '$ld$hide$os10.7$___atomic_compare_exchange_4', - '$ld$hide$os10.7$___atomic_compare_exchange_8', '$ld$hide$os10.7$___atomic_exchange', - '$ld$hide$os10.7$___atomic_exchange_1', '$ld$hide$os10.7$___atomic_exchange_2', - '$ld$hide$os10.7$___atomic_exchange_4', '$ld$hide$os10.7$___atomic_exchange_8', - '$ld$hide$os10.7$___atomic_fetch_add_1', '$ld$hide$os10.7$___atomic_fetch_add_2', - '$ld$hide$os10.7$___atomic_fetch_add_4', '$ld$hide$os10.7$___atomic_fetch_add_8', - '$ld$hide$os10.7$___atomic_fetch_and_1', '$ld$hide$os10.7$___atomic_fetch_and_2', - '$ld$hide$os10.7$___atomic_fetch_and_4', '$ld$hide$os10.7$___atomic_fetch_and_8', - '$ld$hide$os10.7$___atomic_fetch_or_1', '$ld$hide$os10.7$___atomic_fetch_or_2', - '$ld$hide$os10.7$___atomic_fetch_or_4', '$ld$hide$os10.7$___atomic_fetch_or_8', - '$ld$hide$os10.7$___atomic_fetch_sub_1', '$ld$hide$os10.7$___atomic_fetch_sub_2', - '$ld$hide$os10.7$___atomic_fetch_sub_4', '$ld$hide$os10.7$___atomic_fetch_sub_8', - '$ld$hide$os10.7$___atomic_fetch_xor_1', '$ld$hide$os10.7$___atomic_fetch_xor_2', - '$ld$hide$os10.7$___atomic_fetch_xor_4', '$ld$hide$os10.7$___atomic_fetch_xor_8', - '$ld$hide$os10.7$___atomic_load', '$ld$hide$os10.7$___atomic_load_1', - '$ld$hide$os10.7$___atomic_load_2', '$ld$hide$os10.7$___atomic_load_4', - '$ld$hide$os10.7$___atomic_load_8', '$ld$hide$os10.7$___atomic_store', - '$ld$hide$os10.7$___atomic_store_1', '$ld$hide$os10.7$___atomic_store_2', - '$ld$hide$os10.7$___atomic_store_4', '$ld$hide$os10.7$___atomic_store_8', - '$ld$hide$os10.7$___chkstk_darwin', '$ld$hide$os10.7$___extendhfsf2', - '$ld$hide$os10.7$___truncdfhf2', '$ld$hide$os10.7$___truncsfhf2', - '$ld$hide$os10.7$_atomic_flag_clear', '$ld$hide$os10.7$_atomic_flag_clear_explicit', - '$ld$hide$os10.7$_atomic_flag_test_and_set', '$ld$hide$os10.7$_atomic_flag_test_and_set_explicit', - '$ld$hide$os10.7$_atomic_signal_fence', '$ld$hide$os10.7$_atomic_thread_fence', - '$ld$hide$os10.8$___atomic_compare_exchange', '$ld$hide$os10.8$___atomic_compare_exchange_1', - '$ld$hide$os10.8$___atomic_compare_exchange_2', '$ld$hide$os10.8$___atomic_compare_exchange_4', - '$ld$hide$os10.8$___atomic_compare_exchange_8', '$ld$hide$os10.8$___atomic_exchange', - '$ld$hide$os10.8$___atomic_exchange_1', '$ld$hide$os10.8$___atomic_exchange_2', - '$ld$hide$os10.8$___atomic_exchange_4', '$ld$hide$os10.8$___atomic_exchange_8', - '$ld$hide$os10.8$___atomic_fetch_add_1', '$ld$hide$os10.8$___atomic_fetch_add_2', - '$ld$hide$os10.8$___atomic_fetch_add_4', '$ld$hide$os10.8$___atomic_fetch_add_8', - '$ld$hide$os10.8$___atomic_fetch_and_1', '$ld$hide$os10.8$___atomic_fetch_and_2', - '$ld$hide$os10.8$___atomic_fetch_and_4', '$ld$hide$os10.8$___atomic_fetch_and_8', - '$ld$hide$os10.8$___atomic_fetch_or_1', '$ld$hide$os10.8$___atomic_fetch_or_2', - '$ld$hide$os10.8$___atomic_fetch_or_4', '$ld$hide$os10.8$___atomic_fetch_or_8', - '$ld$hide$os10.8$___atomic_fetch_sub_1', '$ld$hide$os10.8$___atomic_fetch_sub_2', - '$ld$hide$os10.8$___atomic_fetch_sub_4', '$ld$hide$os10.8$___atomic_fetch_sub_8', - '$ld$hide$os10.8$___atomic_fetch_xor_1', '$ld$hide$os10.8$___atomic_fetch_xor_2', - '$ld$hide$os10.8$___atomic_fetch_xor_4', '$ld$hide$os10.8$___atomic_fetch_xor_8', - '$ld$hide$os10.8$___atomic_load', '$ld$hide$os10.8$___atomic_load_1', - '$ld$hide$os10.8$___atomic_load_2', '$ld$hide$os10.8$___atomic_load_4', - '$ld$hide$os10.8$___atomic_load_8', '$ld$hide$os10.8$___atomic_store', - '$ld$hide$os10.8$___atomic_store_1', '$ld$hide$os10.8$___atomic_store_2', - '$ld$hide$os10.8$___atomic_store_4', '$ld$hide$os10.8$___atomic_store_8', - '$ld$hide$os10.8$___chkstk_darwin', '$ld$hide$os10.8$___extendhfsf2', - '$ld$hide$os10.8$___truncdfhf2', '$ld$hide$os10.8$___truncsfhf2', - '$ld$hide$os10.8$_atomic_flag_clear', '$ld$hide$os10.8$_atomic_flag_clear_explicit', - '$ld$hide$os10.8$_atomic_flag_test_and_set', '$ld$hide$os10.8$_atomic_flag_test_and_set_explicit', - '$ld$hide$os10.8$_atomic_signal_fence', '$ld$hide$os10.8$_atomic_thread_fence', - '$ld$hide$os10.9$___chkstk_darwin', '$ld$hide$os10.9$___extendhfsf2', - '$ld$hide$os10.9$___truncdfhf2', '$ld$hide$os10.9$___truncsfhf2', - '$ld$hide$os10.9$_atomic_flag_clear', '$ld$hide$os10.9$_atomic_flag_clear_explicit', - '$ld$hide$os10.9$_atomic_flag_test_and_set', '$ld$hide$os10.9$_atomic_flag_test_and_set_explicit', - '$ld$hide$os10.9$_atomic_signal_fence', '$ld$hide$os10.9$_atomic_thread_fence', - ___atomic_compare_exchange, ___atomic_compare_exchange_1, - ___atomic_compare_exchange_2, ___atomic_compare_exchange_4, - ___atomic_compare_exchange_8, ___atomic_exchange, ___atomic_exchange_1, - ___atomic_exchange_2, ___atomic_exchange_4, ___atomic_exchange_8, - ___atomic_fetch_add_1, ___atomic_fetch_add_2, ___atomic_fetch_add_4, - ___atomic_fetch_add_8, ___atomic_fetch_and_1, ___atomic_fetch_and_2, - ___atomic_fetch_and_4, ___atomic_fetch_and_8, ___atomic_fetch_or_1, - ___atomic_fetch_or_2, ___atomic_fetch_or_4, ___atomic_fetch_or_8, - ___atomic_fetch_sub_1, ___atomic_fetch_sub_2, ___atomic_fetch_sub_4, - ___atomic_fetch_sub_8, ___atomic_fetch_xor_1, ___atomic_fetch_xor_2, - ___atomic_fetch_xor_4, ___atomic_fetch_xor_8, ___atomic_load, - ___atomic_load_1, ___atomic_load_2, ___atomic_load_4, ___atomic_load_8, - ___atomic_store, ___atomic_store_1, ___atomic_store_2, ___atomic_store_4, - ___atomic_store_8, ___chkstk_darwin, ___clear_cache, ___clzti2, - ___divti3, ___enable_execute_stack, ___extendhfsf2, ___fixdfti, - ___fixsfti, ___fixunsdfti, ___fixunssfti, ___floattidf, ___floattisf, - ___floatuntidf, ___floatuntisf, ___gcc_personality_v0, ___gnu_f2h_ieee, - ___gnu_h2f_ieee, ___modti3, ___muldc3, ___mulsc3, ___powidf2, - ___powisf2, ___truncdfhf2, ___truncsfhf2, ___udivmodti4, ___udivti3, - ___umodti3, _atomic_flag_clear, _atomic_flag_clear_explicit, - _atomic_flag_test_and_set, _atomic_flag_test_and_set_explicit, - _atomic_signal_fence, _atomic_thread_fence ] ---- !tapi-tbd -tbd-version: 4 -targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] -uuids: - - target: x86_64-macos - value: DDE4BE71-76BA-3CDC-B3B0-F5E0BADF8FF2 - - target: x86_64-maccatalyst - value: DDE4BE71-76BA-3CDC-B3B0-F5E0BADF8FF2 - - target: arm64-macos - value: 00000000-0000-0000-0000-000000000000 - - target: arm64-maccatalyst - value: 00000000-0000-0000-0000-000000000000 - - target: arm64e-macos - value: 93F3CAE3-AD9C-3E76-A6E0-F8F068C86853 - - target: arm64e-maccatalyst - value: 93F3CAE3-AD9C-3E76-A6E0-F8F068C86853 -install-name: '/usr/lib/system/libcopyfile.dylib' -parent-umbrella: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] - umbrella: System -exports: - - targets: [ arm64e-macos, x86_64-macos, x86_64-maccatalyst, arm64e-maccatalyst, - arm64-macos, arm64-maccatalyst ] - symbols: [ _copyfile, _copyfile_state_alloc, _copyfile_state_free, _copyfile_state_get, - _copyfile_state_set, _fcopyfile, _xattr_flags_from_name, _xattr_intent_with_flags, - _xattr_name_with_flags, _xattr_name_without_flags, _xattr_preserve_for_intent ] ---- !tapi-tbd -tbd-version: 4 -targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] -uuids: - - target: x86_64-macos - value: 96A88875-7771-394E-A88E-389DCD02A935 - - target: x86_64-maccatalyst - value: 96A88875-7771-394E-A88E-389DCD02A935 - - target: arm64-macos - value: 00000000-0000-0000-0000-000000000000 - - target: arm64-maccatalyst - value: 00000000-0000-0000-0000-000000000000 - - target: arm64e-macos - value: F6D67608-CF61-3555-AD08-DD335048585F - - target: arm64e-maccatalyst - value: F6D67608-CF61-3555-AD08-DD335048585F -install-name: '/usr/lib/system/libcorecrypto.dylib' -current-version: 1000.100.38 -parent-umbrella: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] - umbrella: System -allowable-clients: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] - clients: [ cc_fips_test, corecrypto_test ] -exports: - - targets: [ x86_64-macos, x86_64-maccatalyst ] - symbols: [ _ccaes_intel_cbc_decrypt_aesni_mode, _ccaes_intel_cbc_decrypt_opt_mode, - _ccaes_intel_cbc_encrypt_aesni_mode, _ccaes_intel_cbc_encrypt_opt_mode, - _ccaes_intel_ecb_decrypt_aesni_mode, _ccaes_intel_ecb_decrypt_opt_mode, - _ccaes_intel_ecb_encrypt_aesni_mode, _ccaes_intel_ecb_encrypt_opt_mode, - _ccaes_intel_xts_decrypt_aesni_mode, _ccaes_intel_xts_decrypt_opt_mode, - _ccaes_intel_xts_encrypt_aesni_mode, _ccaes_intel_xts_encrypt_opt_mode, - _ccsha1_vng_intel_SupplementalSSE3_di, _ccsha224_vng_intel_SupplementalSSE3_di, - _ccsha256_vng_intel_SupplementalSSE3_di ] - - targets: [ arm64e-macos, x86_64-macos, x86_64-maccatalyst, arm64e-maccatalyst, - arm64-macos, arm64-maccatalyst ] - symbols: [ _CCEC_FAULT_CANARY, _CCRSA_PKCS1_FAULT_CANARY, _CCRSA_PSS_FAULT_CANARY, - _cc_abort, _cc_atfork_child, _cc_atfork_parent, _cc_atfork_prepare, - _cc_clear, _cc_cmp_safe, _cc_muxp, _ccaes_cbc_decrypt_mode, - _ccaes_cbc_encrypt_mode, _ccaes_ccm_decrypt_mode, _ccaes_ccm_encrypt_mode, - _ccaes_cfb8_decrypt_mode, _ccaes_cfb8_encrypt_mode, _ccaes_cfb_decrypt_mode, - _ccaes_cfb_encrypt_mode, _ccaes_ctr_crypt_mode, _ccaes_ecb_decrypt_mode, - _ccaes_ecb_encrypt_mode, _ccaes_gcm_decrypt_mode, _ccaes_gcm_encrypt_mode, - _ccaes_gladman_cbc_decrypt_mode, _ccaes_gladman_cbc_encrypt_mode, - _ccaes_ltc_ecb_decrypt_mode, _ccaes_ltc_ecb_encrypt_mode, - _ccaes_ofb_crypt_mode, _ccaes_siv_decrypt_mode, _ccaes_siv_encrypt_mode, - _ccaes_siv_hmac_sha256_decrypt_mode, _ccaes_siv_hmac_sha256_encrypt_mode, - _ccaes_unwind, _ccaes_xts_decrypt_mode, _ccaes_xts_encrypt_mode, - _ccansikdf_x963, _ccapsic_client_check_intersect_response, - _ccapsic_client_generate_match_response, _ccapsic_client_init, - _ccapsic_client_state_sizeof, _ccapsic_server_determine_intersection, - _ccapsic_server_encode_element, _ccapsic_server_init, _ccapsic_server_state_sizeof, - _ccblowfish_cbc_decrypt_mode, _ccblowfish_cbc_encrypt_mode, - _ccblowfish_cfb8_decrypt_mode, _ccblowfish_cfb8_encrypt_mode, - _ccblowfish_cfb_decrypt_mode, _ccblowfish_cfb_encrypt_mode, - _ccblowfish_ctr_crypt_mode, _ccblowfish_ecb_decrypt_mode, - _ccblowfish_ecb_encrypt_mode, _ccblowfish_ofb_crypt_mode, - _cccast_cbc_decrypt_mode, _cccast_cbc_encrypt_mode, _cccast_cfb8_decrypt_mode, - _cccast_cfb8_encrypt_mode, _cccast_cfb_decrypt_mode, _cccast_cfb_encrypt_mode, - _cccast_ctr_crypt_mode, _cccast_ecb_decrypt_mode, _cccast_ecb_encrypt_mode, - _cccast_ofb_crypt_mode, _cccbc_one_shot, _ccchacha20, _ccchacha20_final, - _ccchacha20_init, _ccchacha20_reset, _ccchacha20_setcounter, - _ccchacha20_setnonce, _ccchacha20_update, _ccchacha20poly1305_aad, - _ccchacha20poly1305_decrypt, _ccchacha20poly1305_decrypt_oneshot, - _ccchacha20poly1305_encrypt, _ccchacha20poly1305_encrypt_oneshot, - _ccchacha20poly1305_finalize, _ccchacha20poly1305_incnonce, - _ccchacha20poly1305_info, _ccchacha20poly1305_init, _ccchacha20poly1305_reset, - _ccchacha20poly1305_setnonce, _ccchacha20poly1305_verify, - _ccckg_contributor_commit, _ccckg_contributor_finish, _ccckg_init, - _ccckg_owner_finish, _ccckg_owner_generate_share, _ccckg_sizeof_commitment, - _ccckg_sizeof_ctx, _ccckg_sizeof_opening, _ccckg_sizeof_share, - _cccmac_final_generate, _cccmac_final_verify, _cccmac_init, - _cccmac_one_shot_generate, _cccmac_one_shot_verify, _cccmac_update, - _cccurve25519, _ccder_decode_bitstring, _ccder_decode_constructed_tl, - _ccder_decode_constructed_tl_strict, _ccder_decode_dhparam_n, - _ccder_decode_dhparams, _ccder_decode_eckey, _ccder_decode_len, - _ccder_decode_len_strict, _ccder_decode_oid, _ccder_decode_rsa_priv, - _ccder_decode_rsa_priv_n, _ccder_decode_rsa_pub, _ccder_decode_rsa_pub_n, - _ccder_decode_rsa_pub_x509, _ccder_decode_rsa_pub_x509_n, - _ccder_decode_seqii, _ccder_decode_seqii_strict, _ccder_decode_sequence_tl, - _ccder_decode_sequence_tl_strict, _ccder_decode_tag, _ccder_decode_tl, - _ccder_decode_tl_strict, _ccder_decode_uint, _ccder_decode_uint64, - _ccder_decode_uint_n, _ccder_decode_uint_strict, _ccder_encode_body, - _ccder_encode_body_nocopy, _ccder_encode_constructed_tl, _ccder_encode_dhparams, - _ccder_encode_dhparams_size, _ccder_encode_eckey, _ccder_encode_eckey_size, - _ccder_encode_implicit_integer, _ccder_encode_implicit_octet_string, - _ccder_encode_implicit_raw_octet_string, _ccder_encode_implicit_uint64, - _ccder_encode_integer, _ccder_encode_len, _ccder_encode_octet_string, - _ccder_encode_oid, _ccder_encode_raw_octet_string, _ccder_encode_rsa_priv, - _ccder_encode_rsa_priv_size, _ccder_encode_rsa_pub, _ccder_encode_rsa_pub_size, - _ccder_encode_tag, _ccder_encode_tl, _ccder_encode_uint64, - _ccder_sizeof, _ccder_sizeof_implicit_integer, _ccder_sizeof_implicit_octet_string, - _ccder_sizeof_implicit_raw_octet_string, _ccder_sizeof_implicit_uint64, - _ccder_sizeof_integer, _ccder_sizeof_len, _ccder_sizeof_octet_string, - _ccder_sizeof_oid, _ccder_sizeof_raw_octet_string, _ccder_sizeof_tag, - _ccder_sizeof_uint64, _ccdes3_cbc_decrypt_mode, _ccdes3_cbc_encrypt_mode, - _ccdes3_cfb8_decrypt_mode, _ccdes3_cfb8_encrypt_mode, _ccdes3_cfb_decrypt_mode, - _ccdes3_cfb_encrypt_mode, _ccdes3_ctr_crypt_mode, _ccdes3_ecb_decrypt_mode, - _ccdes3_ecb_encrypt_mode, _ccdes3_ltc_ecb_decrypt_mode, _ccdes3_ltc_ecb_encrypt_mode, - _ccdes3_ofb_crypt_mode, _ccdes_cbc_cksum, _ccdes_cbc_decrypt_mode, - _ccdes_cbc_encrypt_mode, _ccdes_cfb8_decrypt_mode, _ccdes_cfb8_encrypt_mode, - _ccdes_cfb_decrypt_mode, _ccdes_cfb_encrypt_mode, _ccdes_ctr_crypt_mode, - _ccdes_ecb_decrypt_mode, _ccdes_ecb_encrypt_mode, _ccdes_key_is_weak, - _ccdes_key_set_odd_parity, _ccdes_ofb_crypt_mode, _ccdh_compute_key, - _ccdh_compute_shared_secret, _ccdh_export_pub, _ccdh_generate_key, - _ccdh_gp_apple768, _ccdh_gp_rfc2409group02, _ccdh_gp_rfc3526group05, - _ccdh_gp_rfc3526group14, _ccdh_gp_rfc3526group15, _ccdh_gp_rfc3526group16, - _ccdh_gp_rfc3526group17, _ccdh_gp_rfc3526group18, _ccdh_gp_rfc5114_MODP_1024_160, - _ccdh_gp_rfc5114_MODP_2048_224, _ccdh_gp_rfc5114_MODP_2048_256, - _ccdh_import_full, _ccdh_import_priv, _ccdh_import_pub, _ccdh_init_gp, - _ccdh_init_gp_from_bytes, _ccdh_init_gp_with_order, _ccdh_lookup_gp, - _ccdigest, _ccdigest_init, _ccdigest_oid_lookup, _ccdigest_update, - _ccdrbg_factory_nistctr, _ccdrbg_factory_nisthmac, _ccec_blind, - _ccec_compact_export, _ccec_compact_export_pub, _ccec_compact_generate_key, - _ccec_compact_import_priv, _ccec_compact_import_priv_size, - _ccec_compact_import_pub, _ccec_compact_import_pub_size, _ccec_compact_transform_key, - _ccec_compressed_x962_export_pub, _ccec_compressed_x962_export_pub_size, - _ccec_compressed_x962_import_pub, _ccec_compute_key, _ccec_cp_192, - _ccec_cp_224, _ccec_cp_256, _ccec_cp_384, _ccec_cp_521, _ccec_curve_for_length_lookup, - _ccec_der_export_diversified_pub, _ccec_der_export_diversified_pub_size, - _ccec_der_export_priv, _ccec_der_export_priv_size, _ccec_der_import_diversified_pub, - _ccec_der_import_priv, _ccec_der_import_priv_keytype, _ccec_diversify_min_entropy_len, - _ccec_diversify_priv_twin, _ccec_diversify_pub, _ccec_diversify_pub_twin, - _ccec_export_pub, _ccec_extract_rs, _ccec_generate_blinding_keys, - _ccec_generate_key, _ccec_generate_key_deterministic, _ccec_generate_key_fips, - _ccec_generate_key_internal_fips, _ccec_generate_key_legacy, - _ccec_get_cp, _ccec_get_fullkey_components, _ccec_get_pubkey_components, - _ccec_import_pub, _ccec_keysize_is_supported, _ccec_make_priv, - _ccec_make_pub, _ccec_pairwise_consistency_check, _ccec_print_full_key, - _ccec_print_public_key, _ccec_raw_import_priv_only, _ccec_raw_import_pub, - _ccec_rfc6637_dh_curve_p256, _ccec_rfc6637_dh_curve_p521, - _ccec_rfc6637_unwrap_key, _ccec_rfc6637_unwrap_sha256_kek_aes128, - _ccec_rfc6637_unwrap_sha512_kek_aes256, _ccec_rfc6637_wrap_key, - _ccec_rfc6637_wrap_key_diversified, _ccec_rfc6637_wrap_key_size, - _ccec_rfc6637_wrap_sha256_kek_aes128, _ccec_rfc6637_wrap_sha512_kek_aes256, - _ccec_sign, _ccec_sign_composite, _ccec_sign_composite_msg, - _ccec_sign_msg, _ccec_signature_r_s_size, _ccec_unblind, _ccec_validate_pub, - _ccec_verify, _ccec_verify_composite, _ccec_verify_composite_digest, - _ccec_verify_composite_msg, _ccec_verify_digest, _ccec_verify_msg, - _ccec_x963_export, _ccec_x963_import_priv, _ccec_x963_import_priv_size, - _ccec_x963_import_pub, _ccec_x963_import_pub_size, _ccecdh_compute_shared_secret, - _ccecdh_generate_key, _ccecies_decrypt_gcm, _ccecies_decrypt_gcm_composite, - _ccecies_decrypt_gcm_from_shared_secret, _ccecies_decrypt_gcm_plaintext_size, - _ccecies_decrypt_gcm_plaintext_size_cp, _ccecies_decrypt_gcm_setup, - _ccecies_encrypt_gcm, _ccecies_encrypt_gcm_ciphertext_size, - _ccecies_encrypt_gcm_composite, _ccecies_encrypt_gcm_from_shared_secret, - _ccecies_encrypt_gcm_setup, _ccecies_import_eph_pub, _ccecies_pub_key_size, - _ccecies_pub_key_size_cp, _cced25519_make_key_pair, _cced25519_make_pub, - _cced25519_sign, _cced25519_verify, _ccgcm_inc_iv, _ccgcm_init_with_iv, - _ccgcm_one_shot, _ccgcm_one_shot_legacy, _ccgcm_set_iv_legacy, - _cch2c, _cch2c_name, _cch2c_p256_sha256_sae_compat_info, _cch2c_p256_sha256_sswu_ro_info, - _cch2c_p384_sha384_sae_compat_info, _cch2c_p384_sha512_sswu_ro_info, - _cch2c_p521_sha512_sswu_ro_info, _cchkdf, _cchkdf_expand, - _cchkdf_extract, _cchmac, _cchmac_final, _cchmac_init, _cchmac_update, - _cchpke_initiator_encrypt, _cchpke_initiator_export, _cchpke_initiator_seal, - _cchpke_initiator_setup, _cchpke_kem_generate_key_pair, _cchpke_params_sizeof_aead_key, - _cchpke_params_sizeof_aead_nonce, _cchpke_params_sizeof_aead_tag, - _cchpke_params_sizeof_kdf_hash, _cchpke_params_sizeof_kem_enc, - _cchpke_params_sizeof_kem_pk, _cchpke_params_sizeof_kem_pk_marshalled, - _cchpke_params_sizeof_kem_shared_secret, _cchpke_params_sizeof_kem_sk, - _cchpke_params_x25519_AESGCM128_HKDF_SHA256, _cchpke_responder_decrypt, - _cchpke_responder_export, _cchpke_responder_open, _cchpke_responder_setup, - _ccmd2_ltc_di, _ccmd4_ltc_di, _ccmd5_di, _ccmd5_ltc_di, _ccmgf, - _ccmode_factory_cbc_decrypt, _ccmode_factory_cbc_encrypt, - _ccmode_factory_ccm_decrypt, _ccmode_factory_ccm_encrypt, - _ccmode_factory_cfb8_decrypt, _ccmode_factory_cfb8_encrypt, - _ccmode_factory_cfb_decrypt, _ccmode_factory_cfb_encrypt, - _ccmode_factory_ctr_crypt, _ccmode_factory_gcm_decrypt, _ccmode_factory_gcm_encrypt, - _ccmode_factory_ofb_crypt, _ccmode_factory_omac_decrypt, _ccmode_factory_omac_encrypt, - _ccmode_factory_siv_decrypt, _ccmode_factory_siv_encrypt, - _ccmode_factory_xts_decrypt, _ccmode_factory_xts_encrypt, - _ccn_add, _ccn_add1, _ccn_addmul1, _ccn_bitlen, _ccn_cmp, - _ccn_cmpn, _ccn_div_euclid, _ccn_lprint, _ccn_mul, _ccn_mul1, - _ccn_n, _ccn_print, _ccn_random_bits, _ccn_read_uint, _ccn_set, - _ccn_shift_right, _ccn_sub, _ccn_sub1, _ccn_write_int, _ccn_write_int_size, - _ccn_write_uint, _ccn_write_uint_padded_ct, _ccn_write_uint_size, - _ccn_zero_multi, _ccnistkdf_ctr_cmac, _ccnistkdf_ctr_cmac_fixed, - _ccnistkdf_ctr_hmac, _ccnistkdf_ctr_hmac_fixed, _ccnistkdf_fb_hmac, - _ccnistkdf_fb_hmac_fixed, _ccpad_cts1_decrypt, _ccpad_cts1_encrypt, - _ccpad_cts2_decrypt, _ccpad_cts2_encrypt, _ccpad_cts3_decrypt, - _ccpad_cts3_encrypt, _ccpad_pkcs7_decode, _ccpad_pkcs7_decrypt, - _ccpad_pkcs7_ecb_decrypt, _ccpad_pkcs7_ecb_encrypt, _ccpad_pkcs7_encrypt, - _ccpad_xts_decrypt, _ccpad_xts_encrypt, _ccpbkdf2_hmac, _ccpoly1305, - _ccpoly1305_final, _ccpoly1305_init, _ccpoly1305_update, _ccrc2_cbc_decrypt_mode, - _ccrc2_cbc_encrypt_mode, _ccrc2_cfb8_decrypt_mode, _ccrc2_cfb8_encrypt_mode, - _ccrc2_cfb_decrypt_mode, _ccrc2_cfb_encrypt_mode, _ccrc2_ctr_crypt_mode, - _ccrc2_ecb_decrypt_mode, _ccrc2_ecb_encrypt_mode, _ccrc2_ofb_crypt_mode, - _ccrc4, _ccrc4_eay, _ccrmd160_ltc_di, _ccrng, _ccrng_drbg_done, - _ccrng_drbg_init, _ccrng_drbg_init_withdrbg, _ccrng_drbg_reseed, - _ccrng_ecfips_test_init, _ccrng_pbkdf2_prng_init, _ccrng_rsafips_test_init, - _ccrng_rsafips_test_set_next, _ccrng_sequence_init, _ccrng_system_done, - _ccrng_system_init, _ccrng_test_done, _ccrng_test_init, _ccrng_uniform, - _ccrsa_decrypt_eme_pkcs1v15, _ccrsa_decrypt_eme_pkcs1v15_blinded, - _ccrsa_decrypt_oaep, _ccrsa_decrypt_oaep_blinded, _ccrsa_dump_full_key, - _ccrsa_dump_public_key, _ccrsa_eme_pkcs1v15_decode, _ccrsa_eme_pkcs1v15_encode, - _ccrsa_emsa_pkcs1v15_encode, _ccrsa_emsa_pkcs1v15_verify, - _ccrsa_emsa_pss_decode, _ccrsa_emsa_pss_encode, _ccrsa_encrypt_eme_pkcs1v15, - _ccrsa_encrypt_oaep, _ccrsa_export_pub, _ccrsa_generate_fips186_key, - _ccrsa_generate_key, _ccrsa_get_fullkey_components, _ccrsa_get_pubkey_components, - _ccrsa_import_pub, _ccrsa_init_pub, _ccrsa_make_priv, _ccrsa_make_pub, - _ccrsa_oaep_decode_parameter, _ccrsa_oaep_encode_parameter, - _ccrsa_priv_crypt, _ccrsa_priv_crypt_blinded, _ccrsa_pub_crypt, - _ccrsa_pubkeylength, _ccrsa_recover_priv, _ccrsa_sign_pkcs1v15, - _ccrsa_sign_pkcs1v15_msg, _ccrsa_sign_pss, _ccrsa_sign_pss_msg, - _ccrsa_verify_pkcs1v15, _ccrsa_verify_pkcs1v15_allowshortsigs, - _ccrsa_verify_pkcs1v15_digest, _ccrsa_verify_pkcs1v15_msg, - _ccrsa_verify_pss, _ccrsa_verify_pss_digest, _ccrsa_verify_pss_msg, - _ccscrypt, _ccscrypt_storage_size, _ccsha1_di, _ccsha1_eay_di, - _ccsha1_ltc_di, _ccsha224_di, _ccsha224_ltc_di, _ccsha256_di, - _ccsha256_ltc_di, _ccsha384_di, _ccsha384_ltc_di, _ccsha512_256_di, - _ccsha512_256_ltc_di, _ccsha512_di, _ccsha512_ltc_di, _ccsiv_hmac_aad, - _ccsiv_hmac_ciphertext_size, _ccsiv_hmac_crypt, _ccsiv_hmac_init, - _ccsiv_hmac_one_shot, _ccsiv_hmac_plaintext_size, _ccsiv_hmac_reset, - _ccsiv_hmac_set_nonce, _ccspake_cp_256, _ccspake_cp_384, _ccspake_cp_521, - _ccspake_generate_L, _ccspake_kex_generate, _ccspake_kex_process, - _ccspake_mac_compute, _ccspake_mac_hkdf_cmac_aes128_sha256, - _ccspake_mac_hkdf_hmac_sha256, _ccspake_mac_hkdf_hmac_sha512, - _ccspake_mac_verify_and_get_session_key, _ccspake_prover_init, - _ccspake_sizeof_ctx, _ccspake_sizeof_point, _ccspake_sizeof_w, - _ccspake_verifier_init, _ccsrp_client_process_challenge, _ccsrp_client_start_authentication, - _ccsrp_client_verify_session, _ccsrp_generate_salt_and_verification, - _ccsrp_generate_verifier, _ccsrp_gp_rfc5054_1024, _ccsrp_gp_rfc5054_2048, - _ccsrp_gp_rfc5054_3072, _ccsrp_gp_rfc5054_4096, _ccsrp_gp_rfc5054_8192, - _ccsrp_server_compute_session, _ccsrp_server_generate_public_key, - _ccsrp_server_start_authentication, _ccsrp_server_verify_session, - _ccsrp_test_calculations, _ccss_shamir_parameters_init, _ccss_shamir_parameters_maximum_secret_length, - _ccss_shamir_share_bag_add_share, _ccss_shamir_share_bag_init, - _ccss_shamir_share_bag_recover_secret, _ccss_shamir_share_export, - _ccss_shamir_share_generator_deserialize, _ccss_shamir_share_generator_generate_share, - _ccss_shamir_share_generator_init, _ccss_shamir_share_generator_serialize, - _ccss_shamir_share_import, _ccss_shamir_share_init, _ccss_shamir_share_sizeof_y, - _ccss_sizeof_shamir_share_generator_serialization, _ccvrf_derive_public_key, - _ccvrf_factory_irtfdraft03, _ccvrf_factory_irtfdraft03_default, - _ccvrf_proof_to_hash, _ccvrf_prove, _ccvrf_sizeof_hash, _ccvrf_sizeof_proof, - _ccvrf_sizeof_public_key, _ccvrf_sizeof_secret_key, _ccvrf_verify, - _ccwrap_auth_decrypt, _ccwrap_auth_decrypt_withiv, _ccwrap_auth_encrypt, - _ccwrap_auth_encrypt_withiv, _ccwrap_unwrapped_size, _ccwrap_wrapped_size, - _ccxts_one_shot, _ccz_add, _ccz_addi, _ccz_bit, _ccz_bitlen, - _ccz_cmp, _ccz_cmpi, _ccz_divmod, _ccz_expmod, _ccz_free, - _ccz_init, _ccz_is_negative, _ccz_is_one, _ccz_is_prime, _ccz_is_zero, - _ccz_lsl, _ccz_lsr, _ccz_mod, _ccz_mul, _ccz_muli, _ccz_mulmod, - _ccz_neg, _ccz_random_bits, _ccz_read_radix, _ccz_read_uint, - _ccz_set, _ccz_set_bit, _ccz_seti, _ccz_size, _ccz_sub, _ccz_subi, - _ccz_trailing_zeros, _ccz_write_int, _ccz_write_int_size, - _ccz_write_radix, _ccz_write_radix_size, _ccz_write_uint, - _ccz_write_uint_size, _ccz_zero, _cczp_init, _cczp_init_with_recip, - _cczp_power, _csss_shamir_share_bag_can_recover_secret, _fipspost_post, - _fipspost_trace_vtable ] - - targets: [ arm64e-macos, arm64e-maccatalyst, arm64-macos, arm64-maccatalyst ] - symbols: [ _ccaes_arm_cbc_decrypt_mode, _ccaes_arm_cbc_encrypt_mode, - _ccaes_arm_cfb_decrypt_mode, _ccaes_arm_cfb_encrypt_mode, - _ccaes_arm_ecb_decrypt_mode, _ccaes_arm_ecb_encrypt_mode, - _ccaes_arm_ofb_crypt_mode, _ccaes_arm_xts_decrypt_mode, _ccaes_arm_xts_encrypt_mode, - _ccsha1_vng_arm_di, _ccsha224_vng_arm_di, _ccsha256_vng_arm64neon_di, - _ccsha256_vng_arm_di, _ccsha384_vng_arm_di, _ccsha512_256_vng_arm_di, - _ccsha512_vng_arm_di ] ---- !tapi-tbd -tbd-version: 4 -targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] -uuids: - - target: x86_64-macos - value: 6B7B23E3-2FD4-3EA2-8A89-CE06244CCA98 - - target: x86_64-maccatalyst - value: 6B7B23E3-2FD4-3EA2-8A89-CE06244CCA98 - - target: arm64-macos - value: 00000000-0000-0000-0000-000000000000 - - target: arm64-maccatalyst - value: 00000000-0000-0000-0000-000000000000 - - target: arm64e-macos - value: 28B946EB-7435-3DEF-999F-18A4F8A236D4 - - target: arm64e-maccatalyst - value: 28B946EB-7435-3DEF-999F-18A4F8A236D4 -install-name: '/usr/lib/system/libdispatch.dylib' -current-version: 1271.100.5 -parent-umbrella: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] - umbrella: System -exports: - - targets: [ x86_64-maccatalyst, x86_64-macos, arm64e-maccatalyst, arm64e-macos, - arm64-macos, arm64-maccatalyst ] - symbols: [ '$ld$hide$os10.12$_dispatch_assert_queue', '$ld$hide$os10.12$_dispatch_assert_queue_not', - '$ld$hide$os10.12$_dispatch_queue_create_with_target', __dispatch_begin_NSAutoReleasePool, - __dispatch_bug, __dispatch_data_destructor_free, __dispatch_data_destructor_munmap, - __dispatch_data_destructor_none, __dispatch_data_destructor_vm_deallocate, - __dispatch_data_empty, __dispatch_data_format_type_base32, - __dispatch_data_format_type_base32hex, __dispatch_data_format_type_base64, - __dispatch_data_format_type_none, __dispatch_data_format_type_utf16be, - __dispatch_data_format_type_utf16le, __dispatch_data_format_type_utf8, - __dispatch_data_format_type_utf_any, __dispatch_end_NSAutoReleasePool, - __dispatch_get_main_queue_handle_4CF, __dispatch_get_main_queue_port_4CF, - __dispatch_iocntl, __dispatch_is_fork_of_multithreaded_parent, - __dispatch_is_multithreaded, __dispatch_log, __dispatch_mach_hooks_install_default, - __dispatch_main_q, __dispatch_main_queue_callback_4CF, __dispatch_poll_for_events_4launchd, - __dispatch_prohibit_transition_to_multithreaded, __dispatch_pthread_root_queue_create_with_observer_hooks_4IOHID, - __dispatch_queue_attr_concurrent, __dispatch_queue_is_exclusively_owned_by_current_thread_4IOHID, - __dispatch_runloop_root_queue_create_4CF, __dispatch_runloop_root_queue_get_port_4CF, - __dispatch_runloop_root_queue_perform_4CF, __dispatch_runloop_root_queue_wakeup_4CF, - __dispatch_source_set_runloop_timer_4CF, __dispatch_source_type_data_add, - __dispatch_source_type_data_or, __dispatch_source_type_data_replace, - __dispatch_source_type_interval, __dispatch_source_type_mach_recv, - __dispatch_source_type_mach_send, __dispatch_source_type_memorypressure, - __dispatch_source_type_memorystatus, __dispatch_source_type_nw_channel, - __dispatch_source_type_proc, __dispatch_source_type_read, - __dispatch_source_type_signal, __dispatch_source_type_sock, - __dispatch_source_type_timer, __dispatch_source_type_vfs, - __dispatch_source_type_vm, __dispatch_source_type_vnode, __dispatch_source_type_write, - __dispatch_source_will_reenable_kevent_4NW, __dispatch_wait_for_enqueuer, - __dispatch_workloop_set_observer_hooks_4IOHID, __dispatch_workloop_should_yield_4NW, - __firehose_spi_version, __os_object_alloc, __os_object_alloc_realized, - __os_object_dealloc, __os_object_release, __os_object_release_internal, - __os_object_release_internal_n, __os_object_release_without_xref_dispose, - __os_object_retain, __os_object_retain_internal, __os_object_retain_internal_n, - __os_object_retain_with_resurrect, _dispatch_activate, _dispatch_after, - _dispatch_after_f, _dispatch_allocator_layout, _dispatch_apply, - _dispatch_apply_f, _dispatch_assert_queue, '_dispatch_assert_queue$V2', - _dispatch_assert_queue_barrier, _dispatch_assert_queue_not, - '_dispatch_assert_queue_not$V2', _dispatch_async, _dispatch_async_and_wait, - _dispatch_async_and_wait_f, _dispatch_async_enforce_qos_class_f, - _dispatch_async_f, _dispatch_atfork_child, _dispatch_atfork_parent, - _dispatch_atfork_prepare, _dispatch_barrier_async, _dispatch_barrier_async_and_wait, - _dispatch_barrier_async_and_wait_f, _dispatch_barrier_async_f, - _dispatch_barrier_sync, _dispatch_barrier_sync_f, _dispatch_benchmark, - _dispatch_benchmark_f, _dispatch_block_cancel, _dispatch_block_create, - _dispatch_block_create_with_qos_class, _dispatch_block_create_with_voucher, - _dispatch_block_create_with_voucher_and_qos_class, _dispatch_block_notify, - _dispatch_block_perform, _dispatch_block_testcancel, _dispatch_block_wait, - _dispatch_channel_async, _dispatch_channel_async_f, _dispatch_channel_cancel, - _dispatch_channel_create, _dispatch_channel_drain, _dispatch_channel_drain_f, - _dispatch_channel_enqueue, _dispatch_channel_foreach_work_item_peek, - _dispatch_channel_foreach_work_item_peek_f, _dispatch_channel_testcancel, - _dispatch_channel_wakeup, _dispatch_data_apply, _dispatch_data_apply_f, - _dispatch_data_copy_region, _dispatch_data_create, _dispatch_data_create_alloc, - _dispatch_data_create_concat, _dispatch_data_create_f, _dispatch_data_create_map, - _dispatch_data_create_subrange, _dispatch_data_create_with_transform, - _dispatch_data_get_flattened_bytes_4libxpc, _dispatch_data_get_size, - _dispatch_data_make_memory_entry, _dispatch_debug, _dispatch_debugv, - _dispatch_get_context, _dispatch_get_current_queue, _dispatch_get_global_queue, - _dispatch_get_specific, _dispatch_group_async, _dispatch_group_async_f, - _dispatch_group_create, _dispatch_group_enter, _dispatch_group_leave, - _dispatch_group_notify, _dispatch_group_notify_f, _dispatch_group_wait, - _dispatch_io_barrier, _dispatch_io_barrier_f, _dispatch_io_close, - _dispatch_io_create, _dispatch_io_create_f, _dispatch_io_create_with_io, - _dispatch_io_create_with_io_f, _dispatch_io_create_with_path, - _dispatch_io_create_with_path_f, _dispatch_io_get_descriptor, - _dispatch_io_read, _dispatch_io_read_f, _dispatch_io_set_high_water, - _dispatch_io_set_interval, _dispatch_io_set_low_water, _dispatch_io_write, - _dispatch_io_write_f, _dispatch_mach_can_handoff_4libxpc, - _dispatch_mach_cancel, _dispatch_mach_connect, _dispatch_mach_create, - _dispatch_mach_create_4libxpc, _dispatch_mach_create_f, _dispatch_mach_get_checkin_port, - _dispatch_mach_handoff_reply, _dispatch_mach_handoff_reply_f, - _dispatch_mach_hooks_install_4libxpc, _dispatch_mach_mig_demux, - _dispatch_mach_mig_demux_get_context, _dispatch_mach_msg_create, - _dispatch_mach_msg_get_context, _dispatch_mach_msg_get_filter_policy_id, - _dispatch_mach_msg_get_msg, _dispatch_mach_notify_no_senders, - _dispatch_mach_receive_barrier, _dispatch_mach_receive_barrier_f, - _dispatch_mach_reconnect, _dispatch_mach_request_no_senders, - _dispatch_mach_send, _dispatch_mach_send_and_wait_for_reply, - _dispatch_mach_send_barrier, _dispatch_mach_send_barrier_f, - _dispatch_mach_send_with_result, _dispatch_mach_send_with_result_and_async_reply_4libxpc, - _dispatch_mach_send_with_result_and_wait_for_reply, _dispatch_mach_set_flags, - _dispatch_main, _dispatch_mig_server, _dispatch_once, _dispatch_once_f, - _dispatch_pthread_root_queue_copy_current, _dispatch_pthread_root_queue_create, - _dispatch_queue_attr_make_initially_inactive, _dispatch_queue_attr_make_with_autorelease_frequency, - _dispatch_queue_attr_make_with_overcommit, _dispatch_queue_attr_make_with_qos_class, - _dispatch_queue_create, _dispatch_queue_create_with_accounting_override_voucher, - _dispatch_queue_create_with_target, '_dispatch_queue_create_with_target$V2', - _dispatch_queue_get_label, _dispatch_queue_get_qos_class, - _dispatch_queue_get_specific, _dispatch_queue_offsets, _dispatch_queue_set_label_nocopy, - _dispatch_queue_set_specific, _dispatch_queue_set_width, _dispatch_read, - _dispatch_read_f, _dispatch_release, _dispatch_resume, _dispatch_retain, - _dispatch_semaphore_create, _dispatch_semaphore_signal, _dispatch_semaphore_wait, - _dispatch_set_context, _dispatch_set_finalizer_f, _dispatch_set_qos_class, - _dispatch_set_qos_class_fallback, _dispatch_set_qos_class_floor, - _dispatch_set_target_queue, _dispatch_source_cancel, _dispatch_source_cancel_and_wait, - _dispatch_source_create, _dispatch_source_get_data, _dispatch_source_get_extended_data, - _dispatch_source_get_handle, _dispatch_source_get_mask, _dispatch_source_merge_data, - _dispatch_source_set_cancel_handler, _dispatch_source_set_cancel_handler_f, - _dispatch_source_set_event_handler, _dispatch_source_set_event_handler_f, - _dispatch_source_set_mandatory_cancel_handler, _dispatch_source_set_mandatory_cancel_handler_f, - _dispatch_source_set_registration_handler, _dispatch_source_set_registration_handler_f, - _dispatch_source_set_timer, _dispatch_source_testcancel, _dispatch_suspend, - _dispatch_sync, _dispatch_sync_f, _dispatch_time, _dispatch_time_to_nsecs, - _dispatch_tsd_indexes, _dispatch_walltime, _dispatch_workloop_copy_current, - _dispatch_workloop_create, _dispatch_workloop_create_inactive, - _dispatch_workloop_is_current, _dispatch_workloop_set_autorelease_frequency, - _dispatch_workloop_set_cpupercent, _dispatch_workloop_set_os_workgroup, - _dispatch_workloop_set_qos_class, _dispatch_workloop_set_qos_class_floor, - _dispatch_workloop_set_scheduler_priority, _dispatch_write, - _dispatch_write_f, _libdispatch_init, _mach_voucher_persona_for_originator, - _mach_voucher_persona_self, _os_eventlink_activate, _os_eventlink_associate, - _os_eventlink_cancel, _os_eventlink_create, _os_eventlink_create_remote_with_eventlink, - _os_eventlink_create_with_port, _os_eventlink_disassociate, - _os_eventlink_extract_remote_port, _os_eventlink_signal, _os_eventlink_signal_and_wait, - _os_eventlink_signal_and_wait_until, _os_eventlink_wait, _os_eventlink_wait_until, - _os_release, _os_retain, _os_workgroup_attr_set_flags, _os_workgroup_attr_set_interval_type, - _os_workgroup_cancel, _os_workgroup_copy_port, _os_workgroup_create, - _os_workgroup_create_with_port, _os_workgroup_create_with_workgroup, - _os_workgroup_get_working_arena, _os_workgroup_interval_copy_current_4AudioToolbox, - _os_workgroup_interval_create, _os_workgroup_interval_finish, - _os_workgroup_interval_start, _os_workgroup_interval_update, - _os_workgroup_join, _os_workgroup_join_self, _os_workgroup_leave, - _os_workgroup_leave_self, _os_workgroup_max_parallel_threads, - _os_workgroup_parallel_create, _os_workgroup_set_working_arena, - _os_workgroup_testcancel, _voucher_activity_create_with_data, - _voucher_activity_create_with_location, _voucher_activity_flush, - _voucher_activity_get_logging_preferences, _voucher_activity_get_metadata_buffer, - _voucher_activity_id_allocate, _voucher_activity_initialize_4libtrace, - _voucher_activity_should_send_strings, _voucher_activity_trace, - _voucher_activity_trace_v, _voucher_activity_trace_v_2, _voucher_adopt, - _voucher_copy, _voucher_copy_with_persona_mach_voucher, _voucher_copy_without_importance, - _voucher_create_with_mach_msg, _voucher_decrement_importance_count4CF, - _voucher_get_activity_id, _voucher_get_activity_id_and_creator, - _voucher_get_current_persona, _voucher_get_current_persona_originator_info, - _voucher_get_current_persona_proximate_info, _voucher_kvoucher_debug, - _voucher_replace_default_voucher ] - objc-classes: [ OS_dispatch_channel, OS_dispatch_data, OS_dispatch_disk, OS_dispatch_group, - OS_dispatch_io, OS_dispatch_mach, OS_dispatch_mach_msg, OS_dispatch_object, - OS_dispatch_operation, OS_dispatch_queue, OS_dispatch_queue_attr, - OS_dispatch_queue_concurrent, OS_dispatch_queue_global, OS_dispatch_queue_main, - OS_dispatch_queue_serial, OS_dispatch_semaphore, OS_dispatch_source, - OS_dispatch_workloop, OS_object, OS_os_eventlink, OS_os_workgroup, - OS_os_workgroup_interval, OS_os_workgroup_parallel, OS_voucher ] ---- !tapi-tbd -tbd-version: 4 -targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] -uuids: - - target: x86_64-macos - value: 9F95C644-D1BD-38D9-9612-6188FE9EA53C - - target: x86_64-maccatalyst - value: 9F95C644-D1BD-38D9-9612-6188FE9EA53C - - target: arm64-macos - value: 4599EB06-3B8B-348D-8822-2EC4B74E75C8 - - target: arm64-maccatalyst - value: 4599EB06-3B8B-348D-8822-2EC4B74E75C8 - - target: arm64e-macos - value: 50204FB1-CB74-3B88-8C20-419704B28B56 - - target: arm64e-maccatalyst - value: 50204FB1-CB74-3B88-8C20-419704B28B56 -install-name: '/usr/lib/system/libdyld.dylib' -current-version: 851.27 -parent-umbrella: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] - umbrella: System -exports: - - targets: [ arm64e-macos, x86_64-macos, arm64-macos, x86_64-maccatalyst, - arm64-maccatalyst, arm64e-maccatalyst ] - symbols: [ _NSAddImage, _NSAddLibrary, _NSAddLibraryWithSearching, _NSAddressOfSymbol, - _NSCreateObjectFileImageFromFile, _NSCreateObjectFileImageFromMemory, - _NSDestroyObjectFileImage, _NSGetSectionDataInObjectFileImage, - _NSInstallLinkEditErrorHandlers, _NSIsSymbolDefinedInObjectFileImage, - _NSIsSymbolNameDefined, _NSIsSymbolNameDefinedInImage, _NSIsSymbolNameDefinedWithHint, - _NSLibraryNameForModule, _NSLinkEditError, _NSLinkModule, - _NSLookupAndBindSymbol, _NSLookupAndBindSymbolWithHint, _NSLookupSymbolInImage, - _NSLookupSymbolInModule, _NSModuleForSymbol, _NSNameOfModule, - _NSNameOfSymbol, _NSSymbolDefinitionCountInObjectFileImage, - _NSSymbolDefinitionNameInObjectFileImage, _NSSymbolReferenceCountInObjectFileImage, - _NSSymbolReferenceNameInObjectFileImage, _NSUnLinkModule, - _NSVersionOfLinkTimeLibrary, _NSVersionOfRunTimeLibrary, _NXArgc, - _NXArgv, __NSGetExecutablePath, __ZN5dyld316compatFuncLookupEPKcPPv, - __ZN5dyld318entryVectorForDyldE, ___progname, __dyld_all_twolevel_modules_prebound, - __dyld_atfork_parent, __dyld_atfork_prepare, __dyld_bind_fully_image_containing_address, - __dyld_find_unwind_sections, __dyld_for_each_objc_class, __dyld_for_each_objc_protocol, - __dyld_fork_child, __dyld_get_image_header, __dyld_get_image_header_containing_address, - __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_has_fix_for_radar, __dyld_image_containing_address, - __dyld_image_count, __dyld_images_for_addresses, __dyld_initializer, - __dyld_is_memory_immutable, __dyld_is_objc_constant, __dyld_launch_mode, - __dyld_launched_prebound, __dyld_lookup_and_bind, __dyld_lookup_and_bind_fully, - __dyld_lookup_and_bind_with_hint, __dyld_missing_symbol_abort, - __dyld_objc_notify_register, __dyld_present, __dyld_process_info_create, - __dyld_process_info_for_each_aot_image, __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_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, - __tlv_atexit, __tlv_bootstrap, __tlv_exit, _dladdr, _dlclose, - _dlerror, _dlopen, _dlopen_audited, _dlopen_from, _dlopen_preflight, - _dlsym, _dyldVersionNumber, _dyldVersionString, _dyld_dynamic_interpose, - _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_sdk_version, _dyld_get_sdk_version, _dyld_has_inserted_or_interposing_libraries, - _dyld_image_header_containing_address, _dyld_image_path_containing_address, - _dyld_is_simulator_platform, _dyld_minos_at_least, _dyld_need_closure, - _dyld_process_is_restricted, _dyld_program_minos_at_least, - _dyld_program_sdk_at_least, _dyld_sdk_at_least, _dyld_shared_cache_file_path, - _dyld_shared_cache_find_iterate_text, _dyld_shared_cache_iterate_text, - _dyld_shared_cache_some_image_overridden, _environ, dyld_stub_binder ] ---- !tapi-tbd -tbd-version: 4 -targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] -uuids: - - target: x86_64-macos - value: 1A66B854-350D-3064-A606-2D9BFE71C400 - - target: x86_64-maccatalyst - value: 1A66B854-350D-3064-A606-2D9BFE71C400 - - target: arm64-macos - value: 00000000-0000-0000-0000-000000000000 - - target: arm64-maccatalyst - value: 00000000-0000-0000-0000-000000000000 - - target: arm64e-macos - value: 398F9023-1475-3516-9EA6-85C00527229E - - target: arm64e-maccatalyst - value: 398F9023-1475-3516-9EA6-85C00527229E -install-name: '/usr/lib/system/libkeymgr.dylib' -current-version: 31 -parent-umbrella: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] - umbrella: System -exports: - - targets: [ arm64e-macos, x86_64-macos, x86_64-maccatalyst, arm64e-maccatalyst, - arm64-macos, arm64-maccatalyst ] - symbols: [ ___keymgr_dwarf2_register_sections, ___keymgr_initializer, - __keymgr_get_and_lock_processwide_ptr, __keymgr_get_and_lock_processwide_ptr_2, - __keymgr_get_lock_count_processwide_ptr, __keymgr_get_lockmode_processwide_ptr, - __keymgr_set_and_unlock_processwide_ptr, __keymgr_set_lockmode_processwide_ptr, - __keymgr_unlock_processwide_ptr, _keymgrVersionNumber, _keymgrVersionString ] ---- !tapi-tbd -tbd-version: 4 -targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] -uuids: - - target: x86_64-macos - value: 3C5E58AF-F753-378B-8E0C-F3C9BB82E04D - - target: x86_64-maccatalyst - value: 3C5E58AF-F753-378B-8E0C-F3C9BB82E04D - - target: arm64-macos - value: 00000000-0000-0000-0000-000000000000 - - target: arm64-maccatalyst - value: 00000000-0000-0000-0000-000000000000 - - target: arm64e-macos - value: 8CA6B914-3852-3FE0-B289-6E1DB841C3CA - - target: arm64e-maccatalyst - value: 8CA6B914-3852-3FE0-B289-6E1DB841C3CA -install-name: '/usr/lib/system/liblaunch.dylib' -current-version: 2038.100.48 -parent-umbrella: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] - umbrella: System -reexports: - - targets: [ x86_64-maccatalyst, x86_64-macos, arm64e-maccatalyst, arm64e-macos, - arm64-macos, arm64-maccatalyst ] - symbols: [ __spawn_via_launchd, __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, - __vproc_transaction_set_clean_callback, __vproc_transaction_try_exit, - __vproc_transactions_enable, __vprocmgr_detach_from_console, - __vprocmgr_getsocket, __vprocmgr_init, __vprocmgr_log_drain, - __vprocmgr_log_forward, __vprocmgr_move_subset_to_user, __vprocmgr_switch_to_session, - _bootstrap_check_in, _bootstrap_check_in2, _bootstrap_check_in3, - _bootstrap_create_server, _bootstrap_create_service, _bootstrap_get_root, - _bootstrap_info, _bootstrap_init, _bootstrap_look_up, _bootstrap_look_up2, - _bootstrap_look_up3, _bootstrap_look_up_per_user, _bootstrap_lookup_children, - _bootstrap_parent, _bootstrap_register, _bootstrap_register2, - _bootstrap_status, _bootstrap_strerror, _bootstrap_subset, - _bootstrap_unprivileged, _create_and_switch_to_per_session_launchd, - _launch_data_alloc, _launch_data_array_get_count, _launch_data_array_get_index, - _launch_data_array_set_index, _launch_data_copy, _launch_data_dict_get_count, - _launch_data_dict_insert, _launch_data_dict_iterate, _launch_data_dict_lookup, - _launch_data_dict_remove, _launch_data_free, _launch_data_get_bool, - _launch_data_get_errno, _launch_data_get_fd, _launch_data_get_integer, - _launch_data_get_machport, _launch_data_get_opaque, _launch_data_get_opaque_size, - _launch_data_get_real, _launch_data_get_string, _launch_data_get_type, - _launch_data_new_bool, _launch_data_new_errno, _launch_data_new_fd, - _launch_data_new_integer, _launch_data_new_machport, _launch_data_new_opaque, - _launch_data_new_real, _launch_data_new_string, _launch_data_pack, - _launch_data_set_bool, _launch_data_set_errno, _launch_data_set_fd, - _launch_data_set_integer, _launch_data_set_machport, _launch_data_set_opaque, - _launch_data_set_real, _launch_data_set_string, _launch_data_unpack, - _launch_get_fd, _launch_msg, _launch_socket_service_check_in, - _launch_wait, _launchd_close, _launchd_fdopen, _launchd_getfd, - _launchd_msg_recv, _launchd_msg_send, _load_launchd_jobs_at_loginwindow_prompt, - _mpm_uncork_fork, _mpm_wait, _reboot2, _vproc_release, _vproc_retain, - _vproc_standby_begin, _vproc_standby_end, _vproc_swap_complex, - _vproc_swap_integer, _vproc_swap_string, _vproc_transaction_begin, - _vproc_transaction_end, _vprocmgr_lookup_vproc ] ---- !tapi-tbd -tbd-version: 4 -targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64e-macos ] -uuids: - - target: x86_64-macos - value: D503EC4A-6B6A-39C4-8218-9F4B6147A5BF - - target: x86_64-maccatalyst - value: D503EC4A-6B6A-39C4-8218-9F4B6147A5BF - - target: arm64-macos - value: 751B1228-240A-3FCF-BC13-9BF29C65C8FC - - target: arm64-maccatalyst - value: 751B1228-240A-3FCF-BC13-9BF29C65C8FC - - target: arm64e-macos - value: EDA2EE02-A2E8-32D6-8456-491AE6711D41 - - target: arm64e-maccatalyst - value: EDA2EE02-A2E8-32D6-8456-491AE6711D41 -install-name: '/usr/lib/system/libmacho.dylib' -current-version: 980 -parent-umbrella: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64e-macos ] - umbrella: System -exports: - - targets: [ arm64e-macos, x86_64-macos, arm64-macos, x86_64-maccatalyst ] - symbols: [ _NXCombineCpuSubtypes, _NXFindBestFatArch, _NXFindBestFatArch_64, - _NXFreeArchInfo, _NXGetAllArchInfos, _NXGetArchInfoFromCpuType, - _NXGetArchInfoFromName, _NXGetLocalArchInfo, _get_edata, _get_end, - _get_etext, _getsectbyname, _getsectbynamefromheader, _getsectbynamefromheader_64, - _getsectbynamefromheaderwithswap, _getsectbynamefromheaderwithswap_64, - _getsectdata, _getsectdatafromFramework, _getsectdatafromheader, - _getsectdatafromheader_64, _getsectiondata, _getsegbyname, - _getsegmentdata, _slot_name, _swap_build_tool_version, _swap_build_version_command, - _swap_dyld_info_command, _swap_dylib_command, _swap_dylib_module, - _swap_dylib_module_64, _swap_dylib_reference, _swap_dylib_table_of_contents, - _swap_dylinker_command, _swap_dysymtab_command, _swap_encryption_command, - _swap_encryption_command_64, _swap_entry_point_command, _swap_fat_arch, - _swap_fat_arch_64, _swap_fat_header, _swap_fileset_entry_command, - _swap_fvmfile_command, _swap_fvmlib_command, _swap_hppa_fp_thread_state, - _swap_hppa_frame_thread_state, _swap_hppa_integer_thread_state, - _swap_i386_exception_state, _swap_i386_float_state, _swap_i386_thread_state, - _swap_i860_thread_state_regs, _swap_ident_command, _swap_indirect_symbols, - _swap_linkedit_data_command, _swap_linker_option_command, - _swap_load_command, _swap_m68k_thread_state_68882, _swap_m68k_thread_state_regs, - _swap_m68k_thread_state_user_reg, _swap_m88110_thread_state_impl_t, - _swap_m88k_thread_state_grf_t, _swap_m88k_thread_state_user_t, - _swap_m88k_thread_state_xrf_t, _swap_mach_header, _swap_mach_header_64, - _swap_nlist, _swap_nlist_64, _swap_note_command, _swap_ppc_exception_state_t, - _swap_ppc_float_state_t, _swap_ppc_thread_state_t, _swap_prebind_cksum_command, - _swap_prebound_dylib_command, _swap_ranlib, _swap_ranlib_64, - _swap_relocation_info, _swap_routines_command, _swap_routines_command_64, - _swap_rpath_command, _swap_section, _swap_section_64, _swap_segment_command, - _swap_segment_command_64, _swap_source_version_command, _swap_sparc_thread_state_fpu, - _swap_sparc_thread_state_regs, _swap_sub_client_command, _swap_sub_framework_command, - _swap_sub_library_command, _swap_sub_umbrella_command, _swap_symseg_command, - _swap_symtab_command, _swap_thread_command, _swap_twolevel_hint, - _swap_twolevel_hints_command, _swap_uuid_command, _swap_version_min_command, - _swap_x86_debug_state, _swap_x86_debug_state32, _swap_x86_debug_state64, - _swap_x86_exception_state, _swap_x86_exception_state64, _swap_x86_float_state, - _swap_x86_float_state64, _swap_x86_state_hdr, _swap_x86_thread_state, - _swap_x86_thread_state64 ] ---- !tapi-tbd -tbd-version: 4 -targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] -uuids: - - target: x86_64-macos - value: FABCD375-2FD7-3FF5-9A28-452D8A323D3E - - target: x86_64-maccatalyst - value: FABCD375-2FD7-3FF5-9A28-452D8A323D3E - - target: arm64-macos - value: 00000000-0000-0000-0000-000000000000 - - target: arm64-maccatalyst - value: 00000000-0000-0000-0000-000000000000 - - target: arm64e-macos - value: B6015A7E-5A34-36E1-A075-E372C6738E16 - - target: arm64e-maccatalyst - value: B6015A7E-5A34-36E1-A075-E372C6738E16 -install-name: '/usr/lib/system/libquarantine.dylib' -current-version: 119.40.2 -parent-umbrella: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] - umbrella: System -exports: - - targets: [ x86_64-maccatalyst, x86_64-macos, arm64e-maccatalyst, arm64e-macos, - arm64-macos, arm64-maccatalyst ] - symbols: [ ___esp_check, ___esp_check_ns, ___esp_enabled, ___esp_notify, - ___esp_notify_ns, ___libquarantineVersionNumber, ___libquarantineVersionString, - ___qtn_syscall_quarantine_getinfo_fd, ___qtn_syscall_quarantine_getinfo_mount_point, - ___qtn_syscall_quarantine_getinfo_path, ___qtn_syscall_quarantine_getprocinfo, - ___qtn_syscall_quarantine_setinfo_fd, ___qtn_syscall_quarantine_setinfo_mount_point, - ___qtn_syscall_quarantine_setinfo_path, ___qtn_syscall_quarantine_setprocinfo, - ___qtn_syscall_responsibility_get, ___qtn_syscall_responsibility_get2, - ___qtn_syscall_responsibility_get3, ___qtn_syscall_responsibility_set, - ___qtn_syscall_responsibility_set_audittoken_for_caller, ___qtn_syscall_responsibility_set_audittoken_for_self, - ___qtn_syscall_responsibility_set_caller_for_caller, ___qtn_syscall_responsibility_set_hosted_path, - __qtn_error, __qtn_file_alloc, __qtn_file_apply_to_fd, __qtn_file_apply_to_mount_point, - __qtn_file_apply_to_path, __qtn_file_clone, __qtn_file_free, - __qtn_file_get_flags, __qtn_file_get_identifier, __qtn_file_get_metadata, - __qtn_file_get_metadata_size, __qtn_file_get_timestamp, __qtn_file_init, - __qtn_file_init_with_data, __qtn_file_init_with_fd, __qtn_file_init_with_mount_point, - __qtn_file_init_with_path, __qtn_file_set_flags, __qtn_file_set_identifier, - __qtn_file_set_metadata, __qtn_file_set_timestamp, __qtn_file_to_data, - __qtn_label_name, __qtn_proc_alloc, __qtn_proc_apply_to_self, - __qtn_proc_clone, __qtn_proc_free, __qtn_proc_get_flags, __qtn_proc_get_identifier, - __qtn_proc_get_metadata, __qtn_proc_get_metadata_size, __qtn_proc_get_path_exclusion_pattern, - __qtn_proc_init, __qtn_proc_init_with_data, __qtn_proc_init_with_self, - __qtn_proc_set_flags, __qtn_proc_set_identifier, __qtn_proc_set_metadata, - __qtn_proc_set_path_exclusion_pattern, __qtn_proc_to_data, - __qtn_xattr_name, _qtn_proc_init_with_pid, _responsibility_get_attribution_for_audittoken, - _responsibility_get_pid_responsible_for_pid, _responsibility_get_responsible_audit_token_for_audit_token, - _responsibility_get_responsible_for_pid, _responsibility_get_uniqueid_responsible_for_pid, - _responsibility_identity_get_binary_entitlement_data, _responsibility_identity_get_binary_is_platform, - _responsibility_identity_get_binary_offset, _responsibility_identity_get_binary_path, - _responsibility_identity_get_binary_signing_id, _responsibility_identity_get_binary_team_id, - _responsibility_identity_get_hosted_path, _responsibility_identity_get_persistent_identifier, - _responsibility_identity_get_user_uuid, _responsibility_identity_release, - _responsibility_init, _responsibility_set_audittoken_responsible_for_caller, - _responsibility_set_audittoken_responsible_for_self, _responsibility_set_caller_responsible_for_self, - _responsibility_set_hosted_path, _responsibility_set_pid_responsible_for_pid, - _responsibility_spawnattrs_getdisclaim, _responsibility_spawnattrs_setdisclaim ] ---- !tapi-tbd -tbd-version: 4 -targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] -uuids: - - target: x86_64-macos - value: DC4523F8-F5FF-3837-BD58-0AA8763F8FDE - - target: x86_64-maccatalyst - value: DC4523F8-F5FF-3837-BD58-0AA8763F8FDE - - target: arm64-macos - value: 00000000-0000-0000-0000-000000000000 - - target: arm64-maccatalyst - value: 00000000-0000-0000-0000-000000000000 - - target: arm64e-macos - value: 2E931B23-0616-36E2-A4BF-CCC1195FA107 - - target: arm64e-maccatalyst - value: 2E931B23-0616-36E2-A4BF-CCC1195FA107 -install-name: '/usr/lib/system/libremovefile.dylib' -current-version: 49.101.1 -parent-umbrella: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] - umbrella: System -exports: - - targets: [ x86_64-macos, arm64e-macos, x86_64-maccatalyst, arm64e-maccatalyst, - arm64-macos, arm64-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 ] ---- !tapi-tbd -tbd-version: 4 -targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] -uuids: - - target: x86_64-macos - value: 4D4E0D4F-8B40-3ACC-85E1-16375966D6CC - - target: x86_64-maccatalyst - value: 4D4E0D4F-8B40-3ACC-85E1-16375966D6CC - - target: arm64-macos - value: 00000000-0000-0000-0000-000000000000 - - target: arm64-maccatalyst - value: 00000000-0000-0000-0000-000000000000 - - target: arm64e-macos - value: F79A9C7C-D71A-371D-ACB8-BAD989D46E7D - - target: arm64e-maccatalyst - value: F79A9C7C-D71A-371D-ACB8-BAD989D46E7D -install-name: '/usr/lib/system/libsystem_asl.dylib' -current-version: 385 -parent-umbrella: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] - umbrella: System -exports: - - targets: [ x86_64-maccatalyst, x86_64-macos, arm64e-maccatalyst, arm64e-macos, - arm64-macos, arm64-maccatalyst ] - symbols: [ _ASL_LEVEL_TO_STRING, __asl_evaluate_send, __asl_fork_child, - __asl_lib_log, __asl_log_args_to_xpc, __asl_msg_dump, __asl_mt_shim_fork_child, - __asl_mt_shim_send_message, __asl_server_cancel_direct_watch, - __asl_server_control_query, __asl_server_create_aux_link, - __asl_server_match, __asl_server_message, __asl_server_query_2, - __asl_server_register_direct_watch, _asl_add_log_file, _asl_add_output, - _asl_add_output_file, _asl_append, _asl_base_msg, _asl_client_add_output_file, - _asl_client_get_control, _asl_client_kvdict, _asl_client_match, - _asl_client_open, _asl_client_open_from_file, _asl_client_release, - _asl_client_remove_output_file, _asl_client_retain, _asl_client_search, - _asl_client_send, _asl_client_set_control, _asl_client_set_filter, - _asl_client_set_output_file_filter, _asl_close, _asl_close_auxiliary_file, - _asl_core_check_access, _asl_core_decode_buffer, _asl_core_encode_buffer, - _asl_core_error, _asl_core_get_service_port, _asl_core_htonq, - _asl_core_level_to_string, _asl_core_new_msg_id, _asl_core_ntohq, - _asl_core_parse_time, _asl_core_str_match, _asl_core_str_match_c_time, - _asl_core_str_match_char, _asl_core_str_to_size, _asl_core_str_to_time, - _asl_core_str_to_uint32, _asl_core_string_hash, _asl_core_time_to_str, - _asl_count, _asl_create_auxiliary_file, _asl_fetch_key_val_op, - _asl_file_close, _asl_file_compact, _asl_file_ctime, _asl_file_fetch, - _asl_file_fetch_next, _asl_file_fetch_previous, _asl_file_filter, - _asl_file_filter_level, _asl_file_list_add, _asl_file_list_close, - _asl_file_list_match, _asl_file_list_match_end, _asl_file_list_match_next, - _asl_file_list_match_start, _asl_file_match, _asl_file_open_read, - _asl_file_open_write, _asl_file_read_set_position, _asl_file_release, - _asl_file_retain, _asl_file_save, _asl_file_size, _asl_filesystem_path, - _asl_format, _asl_format_message, _asl_free, _asl_get, _asl_get_filter, - _asl_get_index, _asl_get_local_control, _asl_get_type, _asl_get_value_for_key, - _asl_key, _asl_legacy1_close, _asl_legacy1_fetch, _asl_legacy1_match, - _asl_legacy1_open, _asl_list_from_string, _asl_log, _asl_log_auxiliary_location, - _asl_log_descriptor, _asl_log_message, _asl_match, _asl_msg_cmp, - _asl_msg_cmp_list, _asl_msg_copy, _asl_msg_count, _asl_msg_fetch, - _asl_msg_from_string, _asl_msg_get_val_for_key, _asl_msg_key, - _asl_msg_list_append, _asl_msg_list_count, _asl_msg_list_from_string, - _asl_msg_list_get_index, _asl_msg_list_insert, _asl_msg_list_match, - _asl_msg_list_new, _asl_msg_list_new_count, _asl_msg_list_next, - _asl_msg_list_prepend, _asl_msg_list_prev, _asl_msg_list_release, - _asl_msg_list_remove_index, _asl_msg_list_reset_iteration, - _asl_msg_list_retain, _asl_msg_list_search, _asl_msg_list_to_asl_string, - _asl_msg_list_to_string, _asl_msg_lookup, _asl_msg_merge, - _asl_msg_new, _asl_msg_release, _asl_msg_retain, _asl_msg_set_key_val, - _asl_msg_set_key_val_op, _asl_msg_to_string, _asl_msg_type, - _asl_msg_unset, _asl_msg_unset_index, _asl_new, _asl_next, - _asl_object_append, _asl_object_count, _asl_object_get_key_val_op_at_index, - _asl_object_get_object_at_index, _asl_object_get_val_op_for_key, - _asl_object_match, _asl_object_next, _asl_object_prepend, - _asl_object_prev, _asl_object_remove_object_at_index, _asl_object_search, - _asl_object_set_iteration_index, _asl_object_set_key_val_op, - _asl_object_unset_key, _asl_open, _asl_open_from_file, _asl_open_path, - _asl_parse_time, _asl_prepend, _asl_prev, _asl_release, _asl_remote_notify_name, - _asl_remove_log_file, _asl_remove_output, _asl_remove_output_file, - _asl_reset_iteration, _asl_retain, _asl_search, _asl_send, - _asl_set, _asl_set_filter, _asl_set_key_val_op, _asl_set_local_control, - _asl_set_output_file_filter, _asl_set_query, _asl_store_close, - _asl_store_location, _asl_store_match, _asl_store_match_next, - _asl_store_match_start, _asl_store_match_timeout, _asl_store_max_file_size, - _asl_store_open_aux, _asl_store_open_read, _asl_store_open_write, - _asl_store_release, _asl_store_retain, _asl_store_save, _asl_store_set_flags, - _asl_store_statistics, _asl_store_sweep_file_cache, _asl_string_allocated_size, - _asl_string_append, _asl_string_append_asl_key, _asl_string_append_asl_msg, - _asl_string_append_char_no_encoding, _asl_string_append_no_encoding, - _asl_string_append_no_encoding_len, _asl_string_append_op, - _asl_string_append_xml_tag, _asl_string_bytes, _asl_string_length, - _asl_string_new, _asl_string_release, _asl_string_release_return_bytes, - _asl_string_retain, _asl_syslog_faciliy_name_to_num, _asl_syslog_faciliy_num_to_name, - _asl_trigger_aslmanager, _asl_unset, _asl_unset_key, _asl_vlog, - _aslresponse_free, _aslresponse_next, _closelog, _openlog, - _setlogmask, _syslog, '_syslog$DARWIN_EXTSN', _vsyslog ] ---- !tapi-tbd -tbd-version: 4 -targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] -uuids: - - target: x86_64-macos - value: 1C8538C3-F2BE-3F02-89AE-E7052DE66D51 - - target: x86_64-maccatalyst - value: 1C8538C3-F2BE-3F02-89AE-E7052DE66D51 - - target: arm64-macos - value: 00000000-0000-0000-0000-000000000000 - - target: arm64-maccatalyst - value: 00000000-0000-0000-0000-000000000000 - - target: arm64e-macos - value: 6DD71358-0029-3919-932B-C04DB1D407A5 - - target: arm64e-maccatalyst - value: 6DD71358-0029-3919-932B-C04DB1D407A5 -install-name: '/usr/lib/system/libsystem_blocks.dylib' -current-version: 79 -parent-umbrella: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] - umbrella: System -exports: - - targets: [ arm64e-macos, x86_64-macos, x86_64-maccatalyst, arm64e-maccatalyst, - arm64-macos, arm64-maccatalyst ] - symbols: [ _Block_size, __Block_copy, __Block_extended_layout, __Block_has_signature, - __Block_isDeallocating, __Block_layout, __Block_object_assign, - __Block_object_dispose, __Block_release, __Block_signature, - __Block_tryRetain, __Block_use_RR2, __Block_use_stret, __NSConcreteAutoBlock, - __NSConcreteFinalizingBlock, __NSConcreteGlobalBlock, __NSConcreteMallocBlock, - __NSConcreteStackBlock, __NSConcreteWeakBlockVariable ] ---- !tapi-tbd -tbd-version: 4 -targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] -uuids: - - target: x86_64-macos - value: DF45CDEC-6B7E-3586-94B4-F3679A762661 - - target: x86_64-maccatalyst - value: DF45CDEC-6B7E-3586-94B4-F3679A762661 - - target: arm64-macos - value: 00000000-0000-0000-0000-000000000000 - - target: arm64-maccatalyst - value: 00000000-0000-0000-0000-000000000000 - - target: arm64e-macos - value: 9680A140-BC7D-3A57-AEAB-D32CFC5713B1 - - target: arm64e-maccatalyst - value: 9680A140-BC7D-3A57-AEAB-D32CFC5713B1 -install-name: '/usr/lib/system/libsystem_c.dylib' -current-version: 1439.100.3 -parent-umbrella: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] - umbrella: System -exports: - - targets: [ x86_64-maccatalyst, x86_64-macos ] - symbols: [ '___opendir2$INODE64', ___strtopx, '__readdir_unlocked$INODE64', - '__seekdir$INODE64', '_alphasort$INODE64', '_daemon$1050', - '_fdopendir$INODE64', _fstatx64_np, '_fstatx_np$INODE64', - '_fts_children$INODE64', '_fts_close$INODE64', '_fts_open$INODE64', - '_fts_open_b$INODE64', '_fts_read$INODE64', '_fts_set$INODE64', - '_ftw$INODE64', '_getmntinfo$INODE64', _getmntinfo64, '_getmntinfo_r_np$INODE64', - '_glob$INODE64', '_glob_b$INODE64', _lstatx64_np, '_lstatx_np$INODE64', - '_nftw$INODE64', '_opendir$INODE64', '_readdir$INODE64', '_readdir_r$INODE64', - '_rewinddir$INODE64', '_scandir$INODE64', '_scandir_b$INODE64', - '_seekdir$INODE64', _statx64_np, '_statx_np$INODE64', '_telldir$INODE64', - mcount ] - - targets: [ x86_64-maccatalyst, x86_64-macos, arm64e-maccatalyst, arm64e-macos, - arm64-macos, arm64-maccatalyst ] - symbols: [ '$ld$weak$os10.11$_basename_r', '$ld$weak$os10.11$_clock_getres', - '$ld$weak$os10.11$_clock_gettime', '$ld$weak$os10.11$_clock_settime', - '$ld$weak$os10.11$_dirname_r', '$ld$weak$os10.11$_getentropy', - '$ld$weak$os10.11$_mkostemp', '$ld$weak$os10.11$_mkostemps', - '$ld$weak$os10.11$_timingsafe_bcmp', '$ld$weak$os10.12$_utimensat', - __CurrentRuneLocale, __DefaultRuneLocale, __Exit, __NSGetArgc, - __NSGetArgv, __NSGetEnviron, __NSGetMachExecuteHeader, __NSGetProgname, - __PathLocale, __Read_RuneMagi, ___Balloc_D2A, ___Bfree_D2A, - ___ULtod_D2A, ____mb_cur_max, ____mb_cur_max_l, ____runetype, - ____runetype_l, ____tolower, ____tolower_l, ____toupper, ____toupper_l, - ___add_ovflpage, ___addel, ___any_on_D2A, ___assert_rtn, ___b2d_D2A, - ___big_delete, ___big_insert, ___big_keydata, ___big_return, - ___big_split, ___bigtens_D2A, ___bt_close, ___bt_cmp, ___bt_defcmp, - ___bt_defpfx, ___bt_delete, ___bt_dleaf, ___bt_fd, ___bt_free, - ___bt_get, ___bt_new, ___bt_open, ___bt_pgin, ___bt_pgout, - ___bt_put, ___bt_ret, ___bt_search, ___bt_seq, ___bt_setcur, - ___bt_split, ___bt_sync, ___buf_free, ___call_hash, ___cleanup, - ___cmp_D2A, ___collate_equiv_match, ___collate_load_error, - ___collate_lookup, ___collate_lookup_l, ___copybits_D2A, ___cxa_atexit, - ___cxa_finalize, ___cxa_finalize_ranges, ___cxa_thread_atexit, - ___d2b_D2A, ___dbpanic, ___decrement_D2A, ___default_hash, - ___default_utx, ___delpair, ___diff_D2A, ___dtoa, ___expand_table, - ___fflush, ___fgetwc, ___find_bigpair, ___find_last_page, - ___fix_locale_grouping_str, ___fread, ___free_ovflpage, ___freedtoa, - ___gdtoa, ___gdtoa_locks, ___get_buf, ___get_page, ___gethex_D2A, - ___getonlyClocaleconv, ___hash_open, ___hdtoa, ___hexdig_D2A, - ___hexdig_init_D2A, ___hexnan_D2A, ___hi0bits_D2A, ___hldtoa, - ___i2b_D2A, ___ibitmap, ___increment_D2A, ___isctype, ___istype, - ___istype_l, ___ldtoa, ___libc_init, ___lo0bits_D2A, ___log2, - ___lshift_D2A, ___maskrune, ___maskrune_l, ___match_D2A, ___mb_cur_max, - ___mb_sb_limit, ___memccpy_chk, ___memcpy_chk, ___memmove_chk, - ___memset_chk, ___mult_D2A, ___multadd_D2A, ___nrv_alloc_D2A, - ___opendir2, ___ovfl_delete, ___ovfl_get, ___ovfl_put, ___pow5mult_D2A, - ___put_page, ___quorem_D2A, ___ratio_D2A, ___rec_close, ___rec_delete, - ___rec_dleaf, ___rec_fd, ___rec_fmap, ___rec_fpipe, ___rec_get, - ___rec_iput, ___rec_open, ___rec_put, ___rec_ret, ___rec_search, - ___rec_seq, ___rec_sync, ___rec_vmap, ___rec_vpipe, ___reclaim_buf, - ___rshift_D2A, ___rv_alloc_D2A, ___s2b_D2A, ___sF, ___sclose, - ___sdidinit, ___set_ones_D2A, ___setonlyClocaleconv, ___sflags, - ___sflush, ___sfp, ___sfvwrite, ___sglue, ___sinit, ___slbexpand, - ___smakebuf, ___snprintf_chk, ___snprintf_object_size_chk, - ___split_page, ___sprintf_chk, ___sprintf_object_size_chk, - ___sread, ___srefill, ___srget, ___sseek, ___stack_chk_fail, - ___stack_chk_guard, ___stderrp, ___stdinp, ___stdoutp, ___stpcpy_chk, - ___stpncpy_chk, ___strcat_chk, ___strcp_D2A, ___strcpy_chk, - ___strlcat_chk, ___strlcpy_chk, ___strncat_chk, ___strncpy_chk, - ___strtodg, ___strtopdd, ___sum_D2A, ___svfscanf, ___swbuf, - ___swhatbuf, ___swrite, ___swsetup, ___tens_D2A, ___tinytens_D2A, - ___tolower, ___tolower_l, ___toupper, ___toupper_l, ___trailz_D2A, - ___ulp_D2A, ___ungetc, ___ungetwc, ___vsnprintf_chk, ___vsprintf_chk, - ___wcwidth, ___wcwidth_l, __allocenvstate, __atexit_receipt, - __c_locale, __cleanup, __closeutx, __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, - __libc_initializer, __long_to_time, __mkpath_np, __mktemp, - __openutx, __os_assert_log, __os_assert_log_ctx, __os_assumes_log, - __os_assumes_log_ctx, __os_avoid_tail_call, __os_crash, __os_crash_callback, - __os_crash_fmt, __os_debug_log, __os_debug_log_error_str, - __putenvp, __pututxline, __rand48_add, __rand48_mult, __rand48_seed, - __readdir_unlocked, __reclaim_telldir, __seekdir, __setenvp, - __setutxent, __sigaction_nobind, __sigintr, __signal_nobind, - __sigvec_nobind, __sread, __sseek, __subsystem_init, __swrite, - __time32_to_time, __time64_to_time, __time_to_int, __time_to_long, - __time_to_time32, __time_to_time64, __unsetenvp, __utmpxname, - _a64l, _abort, _abort_report_np, _abs, _acl_add_flag_np, _acl_add_perm, - _acl_calc_mask, _acl_clear_flags_np, _acl_clear_perms, _acl_copy_entry, - _acl_copy_ext, _acl_copy_ext_native, _acl_copy_int, _acl_copy_int_native, - _acl_create_entry, _acl_create_entry_np, _acl_delete_def_file, - _acl_delete_entry, _acl_delete_fd_np, _acl_delete_file_np, - _acl_delete_flag_np, _acl_delete_link_np, _acl_delete_perm, - _acl_dup, _acl_free, _acl_from_text, _acl_get_entry, _acl_get_fd, - _acl_get_fd_np, _acl_get_file, _acl_get_flag_np, _acl_get_flagset_np, - _acl_get_link_np, _acl_get_perm_np, _acl_get_permset, _acl_get_permset_mask_np, - _acl_get_qualifier, _acl_get_tag_type, _acl_init, _acl_maximal_permset_mask_np, - _acl_set_fd, _acl_set_fd_np, _acl_set_file, _acl_set_flagset_np, - _acl_set_link_np, _acl_set_permset, _acl_set_permset_mask_np, - _acl_set_qualifier, _acl_set_tag_type, _acl_size, _acl_to_text, - _acl_valid, _acl_valid_fd_np, _acl_valid_file_np, _acl_valid_link, - _addr2ascii, _alarm, _alphasort, _arc4random, _arc4random_addrandom, - _arc4random_buf, _arc4random_stir, _arc4random_uniform, _ascii2addr, - _asctime, _asctime_r, _asprintf, _asprintf_l, _asxprintf, - _asxprintf_exec, _atexit, _atexit_b, _atof, _atof_l, _atoi, - _atoi_l, _atol, _atol_l, _atoll, _atoll_l, _backtrace, _backtrace_from_fp, - _backtrace_image_offsets, _backtrace_symbols, _backtrace_symbols_fd, - _basename, _basename_r, _bcopy, _brk, _bsd_signal, _bsearch, - _bsearch_b, _btowc, _btowc_l, _catclose, _catgets, _catopen, - _cfgetispeed, _cfgetospeed, _cfmakeraw, _cfsetispeed, _cfsetospeed, - _cfsetspeed, _cgetcap, _cgetclose, _cgetent, _cgetfirst, _cgetmatch, - _cgetnext, _cgetnum, _cgetset, _cgetstr, _cgetustr, _chmodx_np, - _clearerr, _clearerr_unlocked, _clock, _clock_getres, _clock_gettime, - _clock_gettime_nsec_np, _clock_port, _clock_sem, _clock_settime, - _closedir, _compat_mode, _confstr, _copy_printf_domain, _creat, - '_creat$NOCANCEL', _crypt, _ctermid, _ctermid_r, _ctime, _ctime_r, - _daemon, _daylight, _dbm_clearerr, _dbm_close, _dbm_delete, - _dbm_dirfno, _dbm_error, _dbm_fetch, _dbm_firstkey, _dbm_nextkey, - _dbm_open, _dbm_store, _dbopen, _devname, _devname_r, _difftime, - _digittoint, _digittoint_l, _dirfd, _dirname, _dirname_r, - _div, _dprintf, _dprintf_l, _drand48, _duplocale, _dxprintf, - _dxprintf_exec, _ecvt, _encrypt, _endttyent, _endusershell, - _endutxent, _endutxent_wtmp, _erand48, _err, _err_set_exit, - _err_set_exit_b, _err_set_file, _errc, _errx, _execl, _execle, - _execlp, _execv, _execvP, _execvp, _exit, _f_prealloc, _fchmodx_np, - _fclose, _fcvt, _fdopen, '_fdopen$DARWIN_EXTSN', _fdopendir, - _feof, _feof_unlocked, _ferror, _ferror_unlocked, _fflagstostr, - _fflush, _fgetc, _fgetln, _fgetpos, _fgetrune, _fgets, _fgetwc, - _fgetwc_l, _fgetwln, _fgetwln_l, _fgetws, _fgetws_l, _fileno, - _fileno_unlocked, _filesec_dup, _filesec_free, _filesec_get_property, - _filesec_init, _filesec_query_property, _filesec_set_property, - _filesec_unset_property, _flockfile, _fmemopen, _fmtcheck, - _fmtmsg, _fnmatch, _fopen, '_fopen$DARWIN_EXTSN', _fork, _forkpty, - _fparseln, _fprintf, _fprintf_l, _fpurge, _fputc, _fputrune, - _fputs, _fputwc, _fputwc_l, _fputws, _fputws_l, _fread, _free_printf_comp, - _free_printf_domain, _freelocale, _freopen, _fscanf, _fscanf_l, - _fseek, _fseeko, _fsetpos, _fstatvfs, _fstatx_np, _fsync_volume_np, - _ftell, _ftello, _ftime, _ftok, _ftrylockfile, _fts_children, - _fts_close, _fts_open, _fts_open_b, _fts_read, _fts_set, _ftw, - _fungetrune, _funlockfile, _funopen, _fwide, _fwprintf, _fwprintf_l, - _fwrite, _fwscanf, _fwscanf_l, _fxprintf, _fxprintf_exec, - _gcvt, _getbsize, _getc, _getc_unlocked, _getchar, _getchar_unlocked, - _getcwd, _getdate, _getdate_err, _getdelim, _getdiskbyname, - _getenv, '_getgroups$DARWIN_EXTSN', _gethostid, _gethostname, - _getipv4sourcefilter, _getlastlogx, _getlastlogxbyname, _getline, - _getloadavg, _getlogin, _getlogin_r, _getmntinfo, _getmntinfo_r_np, - _getmode, _getopt, _getopt_long, _getopt_long_only, _getpagesize, - _getpass, _getpeereid, _getprogname, _gets, _getsourcefilter, - _getsubopt, _gettimeofday, _getttyent, _getttynam, _getusershell, - _getutmp, _getutmpx, _getutxent, _getutxent_wtmp, _getutxid, - _getutxline, _getvfsbyname, _getw, _getwc, _getwc_l, _getwchar, - _getwchar_l, _getwd, _glob, _glob_b, _globfree, _gmtime, _gmtime_r, - _grantpt, _hash_create, _hash_destroy, _hash_purge, _hash_search, - _hash_stats, _hash_traverse, _hcreate, _hdestroy, _heapsort, - _heapsort_b, _hsearch, _imaxabs, _imaxdiv, _inet_addr, _inet_aton, - _inet_lnaof, _inet_makeaddr, _inet_net_ntop, _inet_net_pton, - _inet_neta, _inet_netof, _inet_network, _inet_nsap_addr, _inet_nsap_ntoa, - _inet_ntoa, _inet_ntop, _inet_ntop4, _inet_ntop6, _inet_pton, - _initstate, _insque, _isalnum, _isalnum_l, _isalpha, _isalpha_l, - _isascii, _isatty, _isblank, _isblank_l, _iscntrl, _iscntrl_l, - _isdigit, _isdigit_l, _isgraph, _isgraph_l, _ishexnumber, - _ishexnumber_l, _isideogram, _isideogram_l, _islower, _islower_l, - _isnumber, _isnumber_l, _isphonogram, _isphonogram_l, _isprint, - _isprint_l, _ispunct, _ispunct_l, _isrune, _isrune_l, _isspace, - _isspace_l, _isspecial, _isspecial_l, _isupper, _isupper_l, - _iswalnum, _iswalnum_l, _iswalpha, _iswalpha_l, _iswascii, - _iswblank, _iswblank_l, _iswcntrl, _iswcntrl_l, _iswctype, - _iswctype_l, _iswdigit, _iswdigit_l, _iswgraph, _iswgraph_l, - _iswhexnumber, _iswhexnumber_l, _iswideogram, _iswideogram_l, - _iswlower, _iswlower_l, _iswnumber, _iswnumber_l, _iswphonogram, - _iswphonogram_l, _iswprint, _iswprint_l, _iswpunct, _iswpunct_l, - _iswrune, _iswrune_l, _iswspace, _iswspace_l, _iswspecial, - _iswspecial_l, _iswupper, _iswupper_l, _iswxdigit, _iswxdigit_l, - _isxdigit, _isxdigit_l, _jrand48, _kOSThermalNotificationPressureLevelName, - _killpg, _l64a, _labs, _lchflags, _lchmod, _lcong48, _ldiv, - _lfind, _link_addr, _link_ntoa, _llabs, _lldiv, _localeconv, - _localeconv_l, _localtime, _localtime_r, _lockf, '_lockf$NOCANCEL', - _login, _login_tty, _logout, _logwtmp, _lrand48, _lsearch, - _lstatx_np, _lutimes, _mblen, _mblen_l, _mbmb, _mbrlen, _mbrlen_l, - _mbrrune, _mbrtowc, _mbrtowc_l, _mbrune, _mbsinit, _mbsinit_l, - _mbsnrtowcs, _mbsnrtowcs_l, _mbsrtowcs, _mbsrtowcs_l, _mbstowcs, - _mbstowcs_l, _mbtowc, _mbtowc_l, _memmem, _memset_s, _mergesort, - _mergesort_b, _mkdirx_np, _mkdtemp, _mkdtempat_np, _mkfifox_np, - _mkostemp, _mkostemps, _mkostempsat_np, _mkpath_np, _mkpathat_np, - _mkstemp, _mkstemp_dprotected_np, _mkstemps, _mkstempsat_np, - _mktemp, _mktime, _monaddition, _moncontrol, _moncount, _moninit, - _monitor, _monoutput, _monreset, _monstartup, _mpool_close, - _mpool_filter, _mpool_get, _mpool_new, _mpool_open, _mpool_put, - _mpool_sync, _mrand48, _nanosleep, '_nanosleep$NOCANCEL', - _new_printf_comp, _new_printf_domain, _newlocale, _nextwctype, - _nextwctype_l, _nftw, _nice, _nl_langinfo, _nl_langinfo_l, - _nrand48, _nvis, _off32, _off64, _offtime, _open_memstream, - _open_with_subsystem, _open_wmemstream, _opendev, _opendir, - _openpty, _openx_np, _optarg, _opterr, _optind, _optopt, _optreset, - _pause, '_pause$NOCANCEL', _pclose, _perror, _popen, '_popen$DARWIN_EXTSN', - _posix2time, _posix_openpt, _posix_spawnp, _printf, _printf_l, - _psignal, _psort, _psort_b, _psort_r, _ptsname, _ptsname_r, - _putc, _putc_unlocked, _putchar, _putchar_unlocked, _putenv, - _puts, _pututxline, _putw, _putwc, _putwc_l, _putwchar, _putwchar_l, - _qsort, _qsort_b, _qsort_r, _querylocale, _radixsort, _raise, - _rand, _rand_r, _random, _rb_tree_count, _rb_tree_find_node, - _rb_tree_find_node_geq, _rb_tree_find_node_leq, _rb_tree_init, - _rb_tree_insert_node, _rb_tree_iterate, _rb_tree_remove_node, - _readdir, _readdir_r, _readpassphrase, _reallocf, _realpath, - '_realpath$DARWIN_EXTSN', _recv, '_recv$NOCANCEL', _regcomp, - _regcomp_l, _regerror, _regexec, _regfree, _register_printf_domain_function, - _register_printf_domain_render_std, _regncomp, _regncomp_l, - _regnexec, _regwcomp, _regwcomp_l, _regwexec, _regwncomp, - _regwncomp_l, _regwnexec, _remove, _remque, _rewind, _rewinddir, - _rindex, _rpmatch, _sbrk, _scandir, _scandir_b, _scanf, _scanf_l, - _seed48, _seekdir, _send, '_send$NOCANCEL', _setbuf, _setbuffer, - _setenv, _sethostid, _sethostname, _setinvalidrune, _setipv4sourcefilter, - _setkey, _setlinebuf, _setlocale, _setlogin, _setmode, _setpgrp, - _setprogname, _setrgid, _setruid, _setrunelocale, _setsourcefilter, - _setstate, _settimeofday, _setttyent, _setusershell, _setutxent, - _setutxent_wtmp, _setvbuf, _sigaction, _sigaddset, _sigaltstack, - _sigblock, _sigdelset, _sigemptyset, _sigfillset, _sighold, - _sigignore, _siginterrupt, _sigismember, _signal, _sigpause, - '_sigpause$NOCANCEL', _sigrelse, _sigset, _sigsetmask, _sigvec, - _skip, _sl_add, _sl_find, _sl_free, _sl_init, _sleep, '_sleep$NOCANCEL', - _snprintf, _snprintf_l, _snvis, _sockatmark, _sprintf, _sprintf_l, - _sradixsort, _srand, _srand48, _sranddev, _srandom, _srandomdev, - _sscanf, _sscanf_l, _stat_with_subsystem, _statvfs, _statx_np, - _stpcpy, _stpncpy, _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, _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_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, _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, - _wcscspn, _wcsdup, _wcsftime, _wcsftime_l, _wcslcat, _wcslcpy, - _wcslen, _wcsncasecmp, _wcsncasecmp_l, _wcsncat, _wcsncmp, - _wcsncpy, _wcsnlen, _wcsnrtombs, _wcsnrtombs_l, _wcspbrk, - _wcsrchr, _wcsrtombs, _wcsrtombs_l, _wcsspn, _wcsstr, _wcstod, - _wcstod_l, _wcstof, _wcstof_l, _wcstoimax, _wcstoimax_l, _wcstok, - _wcstol, _wcstol_l, _wcstold, _wcstold_l, _wcstoll, _wcstoll_l, - _wcstombs, _wcstombs_l, _wcstoul, _wcstoul_l, _wcstoull, _wcstoull_l, - _wcstoumax, _wcstoumax_l, _wcswidth, _wcswidth_l, _wcsxfrm, - _wcsxfrm_l, _wctob, _wctob_l, _wctomb, _wctomb_l, _wctrans, - _wctrans_l, _wctype, _wctype_l, _wcwidth, _wcwidth_l, _wmemchr, - _wmemcmp, _wmemcpy, _wmemmove, _wmemset, _wordexp, _wordfree, - _wprintf, _wprintf_l, _wscanf, _wscanf_l, _wtmpxname, _xprintf, - _xprintf_exec ] -reexports: - - targets: [ x86_64-maccatalyst, x86_64-macos, arm64e-maccatalyst, arm64e-macos, - arm64-macos, arm64-maccatalyst ] - symbols: [ _bcmp, _bzero, _index, _memccpy, _memchr, _memcmp, _memcpy, - _memmove, _memset, _memset_pattern16, _memset_pattern4, _memset_pattern8, - _strchr, _strcmp, _strcpy, _strlcat, _strlcpy, _strlen, _strncmp, - _strncpy, _strnlen, _strstr ] ---- !tapi-tbd -tbd-version: 4 -targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] -uuids: - - target: x86_64-macos - value: 8B0EA86C-AFA8-3B51-916F-7ED9A42669A4 - - target: x86_64-maccatalyst - value: 8B0EA86C-AFA8-3B51-916F-7ED9A42669A4 - - target: arm64-macos - value: 00000000-0000-0000-0000-000000000000 - - target: arm64-maccatalyst - value: 00000000-0000-0000-0000-000000000000 - - target: arm64e-macos - value: F2BDBFD0-5145-3591-89CD-25C174F14EC5 - - target: arm64e-maccatalyst - value: F2BDBFD0-5145-3591-89CD-25C174F14EC5 -install-name: '/usr/lib/system/libsystem_collections.dylib' -current-version: 1439.100.3 -parent-umbrella: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] - umbrella: System -exports: - - targets: [ arm64e-macos, x86_64-macos, x86_64-maccatalyst, arm64e-maccatalyst, - arm64-macos, arm64-maccatalyst ] - symbols: [ _os_map_128_clear, _os_map_128_count, _os_map_128_delete, - _os_map_128_destroy, _os_map_128_find, _os_map_128_foreach, - _os_map_128_init, _os_map_128_insert, _os_map_32_clear, _os_map_32_count, - _os_map_32_delete, _os_map_32_destroy, _os_map_32_find, _os_map_32_foreach, - _os_map_32_init, _os_map_32_insert, _os_map_64_clear, _os_map_64_count, - _os_map_64_delete, _os_map_64_destroy, _os_map_64_find, _os_map_64_foreach, - _os_map_64_init, _os_map_64_insert, _os_map_str_clear, _os_map_str_count, - _os_map_str_delete, _os_map_str_destroy, _os_map_str_entry, - _os_map_str_find, _os_map_str_foreach, _os_map_str_init, _os_map_str_insert ] ---- !tapi-tbd -tbd-version: 4 -targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] -uuids: - - target: x86_64-macos - value: 49050F1E-3143-31B9-8B5C-FCCE4C6F23E5 - - target: x86_64-maccatalyst - value: 49050F1E-3143-31B9-8B5C-FCCE4C6F23E5 - - target: arm64-macos - value: 00000000-0000-0000-0000-000000000000 - - target: arm64-maccatalyst - value: 00000000-0000-0000-0000-000000000000 - - target: arm64e-macos - value: 0652C679-6D13-3AC7-9941-CA71643BD051 - - target: arm64e-maccatalyst - value: 0652C679-6D13-3AC7-9941-CA71643BD051 -install-name: '/usr/lib/system/libsystem_configuration.dylib' -current-version: 1109.101.1 -parent-umbrella: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] - umbrella: System -exports: - - targets: [ arm64e-macos, x86_64-macos, x86_64-maccatalyst, arm64e-maccatalyst, - arm64-macos, arm64-maccatalyst ] - symbols: [ __dns_configuration_ack, __libSC_info_fork_child, __libSC_info_fork_parent, - __libSC_info_fork_prepare, __nwi_config_agent_copy_data, __nwi_state_ack, - __nwi_state_force_refresh, _config_agent_copy_dns_information, - _config_agent_copy_proxy_information, _config_agent_free_dns_information, - _config_agent_free_proxy_information, _config_agent_get_dns_nameservers, - _config_agent_get_dns_searchdomains, _config_agent_update_proxy_information, - _dns_configuration_copy, _dns_configuration_free, _dns_configuration_notify_key, - _is_config_agent_type_dns, _is_config_agent_type_proxy, _nwi_ifstate_compare_rank, - _nwi_ifstate_get_dns_signature, _nwi_ifstate_get_flags, _nwi_ifstate_get_generation, - _nwi_ifstate_get_ifname, _nwi_ifstate_get_next, _nwi_ifstate_get_reachability_flags, - _nwi_ifstate_get_signature, _nwi_ifstate_get_vpn_server, _nwi_state_copy, - _nwi_state_get_first_ifstate, _nwi_state_get_generation, _nwi_state_get_ifstate, - _nwi_state_get_interface_names, _nwi_state_get_notify_key, - _nwi_state_get_reachability_flags, _nwi_state_release ] ---- !tapi-tbd -tbd-version: 4 -targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] -uuids: - - target: x86_64-macos - value: 3BAF45DD-75D2-3D8A-845E-83A7058CBA08 - - target: x86_64-maccatalyst - value: 3BAF45DD-75D2-3D8A-845E-83A7058CBA08 - - target: arm64-macos - value: 00000000-0000-0000-0000-000000000000 - - target: arm64-maccatalyst - value: 00000000-0000-0000-0000-000000000000 - - target: arm64e-macos - value: 5CDF5965-B48E-3CBA-A980-E6087AC734EC - - target: arm64e-maccatalyst - value: 5CDF5965-B48E-3CBA-A980-E6087AC734EC -install-name: '/usr/lib/system/libsystem_containermanager.dylib' -parent-umbrella: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] - umbrella: System -exports: - - targets: [ arm64e-macos, x86_64-macos, x86_64-maccatalyst, arm64e-maccatalyst, - arm64-macos, arm64-maccatalyst ] - symbols: [ _CONTAINER_CURRENT_MOBILE_UID, _CONTAINER_INSTALLATION_UID, - _CONTAINER_NOTIFY_CLEANUP_COMPLETE, _CONTAINER_NOTIFY_REBOOT_CLEANUP_COMPLETE, - _CONTAINER_NOTIFY_USER_INVALIDATED, _CONTAINER_SYSTEM_UID, - __container_init, _container_acquire_sandbox_extension, _container_bundle_copy_data_container, - _container_bundle_copy_data_container_path, _container_client_create_from_audit_token, - _container_copy_code_signing_info_for_identifier, _container_copy_from_path, - _container_copy_info, _container_copy_info_value_for_key, - _container_copy_object, _container_copy_path, _container_copy_persona_unique_strings, - _container_create_or_lookup, _container_create_or_lookup_app_group_path_by_app_group_identifier, - _container_create_or_lookup_app_group_paths, _container_create_or_lookup_app_group_paths_for_current_user, - _container_create_or_lookup_app_group_paths_for_platform, - _container_create_or_lookup_app_group_paths_from_entitlements, - _container_create_or_lookup_for_current_user, _container_create_or_lookup_for_platform, - _container_create_or_lookup_group_container_paths_for_current_user, - _container_create_or_lookup_path, _container_create_or_lookup_path_for_current_user, - _container_create_or_lookup_path_for_platform, _container_create_or_lookup_system_group_paths, - _container_create_or_lookup_user_managed_assets_path, _container_create_or_lookup_user_managed_assets_relative_path, - _container_delete, _container_delete_all_container_content, - _container_delete_all_data_container_content, _container_delete_all_data_container_content_for_current_user, - _container_delete_array_of_containers, _container_delete_user_managed_assets, - _container_delete_with_class_and_identifier_for_current_user, - _container_delete_with_uid_class_and_identifier, _container_disk_usage, - _container_error_is_fatal, _container_flush_container_cache, - _container_flush_persona_cache, _container_free_array_of_containers, - _container_free_client, _container_free_object, _container_get_all_with_class, - _container_get_all_with_class_for_current_user, _container_get_class, - _container_get_error_description, _container_get_identifier, - _container_get_persona_unique_string, _container_get_unique_path_component, - _container_group_container_identifiers_for_current_user, _container_invalidate_code_signing_cache, - _container_is_transient, _container_perform_data_migration, - _container_perform_data_migration_for_current_user, _container_perform_with_client_context, - _container_process_restored_container, _container_recreate_structure, - _container_regenerate_uuid, _container_repair_user_data, _container_replace, - _container_set_code_signing_info_for_identifier, _container_set_data_protection_for_current_user, - _container_set_info_value, _container_stage_shared_system_content, - _container_subdirectories_for_class, _container_system_group_path_for_identifier, - _container_system_path_for_identifier, _container_user_managed_assets_path, - _container_user_managed_assets_relative_path ] ---- !tapi-tbd -tbd-version: 4 -targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] -uuids: - - target: x86_64-macos - value: A1451528-AD1D-3E86-93A9-1340535FAF46 - - target: x86_64-maccatalyst - value: A1451528-AD1D-3E86-93A9-1340535FAF46 - - target: arm64-macos - value: 00000000-0000-0000-0000-000000000000 - - target: arm64-maccatalyst - value: 00000000-0000-0000-0000-000000000000 - - target: arm64e-macos - value: D5850DD3-72A6-3BF7-8A37-4CEA4DF61CC9 - - target: arm64e-maccatalyst - value: D5850DD3-72A6-3BF7-8A37-4CEA4DF61CC9 -install-name: '/usr/lib/system/libsystem_coreservices.dylib' -current-version: 127 -parent-umbrella: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] - umbrella: System -exports: - - targets: [ arm64e-macos, x86_64-macos, x86_64-maccatalyst, arm64e-maccatalyst, - arm64-macos, arm64-maccatalyst ] - symbols: [ _NSGetNextSearchPathEnumeration, _NSStartSearchPathEnumeration, - _NSStartSearchPathEnumerationPrivate, ___user_local_dirname, - ___user_relative_dirname, __append_relative_path_component, - __dirhelper, __dirhelper_relative, __get_user_dir_suffix, - __libcoreservices_fork_child, __set_user_dir_suffix, _sysdir_get_next_search_path_enumeration, - _sysdir_start_search_path_enumeration, _sysdir_start_search_path_enumeration_private ] ---- !tapi-tbd -tbd-version: 4 -targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] -uuids: - - target: x86_64-macos - value: 28AB0CBC-61F6-3A01-BCE2-A53DA1AECB0F - - target: x86_64-maccatalyst - value: 28AB0CBC-61F6-3A01-BCE2-A53DA1AECB0F - - target: arm64-macos - value: 00000000-0000-0000-0000-000000000000 - - target: arm64-maccatalyst - value: 00000000-0000-0000-0000-000000000000 - - target: arm64e-macos - value: 24EF8097-F2FE-3A7B-8967-B1ABB66D3E9D - - target: arm64e-maccatalyst - value: 24EF8097-F2FE-3A7B-8967-B1ABB66D3E9D -install-name: '/usr/lib/system/libsystem_darwin.dylib' -parent-umbrella: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] - umbrella: System -exports: - - targets: [ arm64e-macos, x86_64-macos, x86_64-maccatalyst, arm64e-maccatalyst, - arm64-macos, arm64-maccatalyst ] - symbols: [ ___libdarwin_init, ___os_temporary_resource_shortage, _claimfd_np, - _close_drop_np, _close_drop_optional_np, _crfprintf_np, _dirstat_np, - _dirstatat_np, _dup_np, _err_np, _errc_np, _fcheck_np, _memdup2_np, - _memdup_np, _os_assert_mach, _os_assert_mach_port_status, - _os_boot_mode_query, _os_crash_get_reporter_port_array, _os_crash_port_array_deallocate, - _os_crash_set_reporter_port, _os_crash_spawnattr_set_reporter_port, - _os_flagset_copy_string, _os_localtime_file, _os_mach_msg_copy_description, - _os_mach_msg_get_audit_trailer, _os_mach_msg_get_context_trailer, - _os_mach_msg_get_trailer, _os_mach_msg_trailer_copy_description, - _os_mach_port_copy_description, _os_parse_boot_arg_int, _os_parse_boot_arg_string, - _os_simple_hash, _os_simple_hash_string, _os_simple_hash_string_with_seed, - _os_simple_hash_with_seed, _os_subcommand_fprintf, _os_subcommand_main, - _os_subcommand_vfprintf, _os_variant_allows_internal_security_policies, - _os_variant_check, _os_variant_copy_description, _os_variant_has_factory_content, - _os_variant_has_internal_content, _os_variant_has_internal_diagnostics, - _os_variant_has_internal_ui, _os_variant_init_4launchd, _os_variant_is_basesystem, - _os_variant_is_darwinos, _os_variant_is_recovery, _os_variant_uses_ephemeral_storage, - _realpath_np, _strerror_np, _strexit_np, _symerror_np, _symexit_np, - _sysctl_get_data_np, _sysctlbyname_get_data_np, _sysexit_np, - _vcrfprintf_np, _verr_np, _verrc_np, _vwarn_np, _vwfprintf_np, - _warn_np, _wfprintf_np, _xferfd_np, _zsnprintf_np ] ---- !tapi-tbd -tbd-version: 4 -targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] -uuids: - - target: x86_64-macos - value: 600B1851-C1D4-3ACF-BE2A-99E7E40E6FC0 - - target: x86_64-maccatalyst - value: 600B1851-C1D4-3ACF-BE2A-99E7E40E6FC0 - - target: arm64-macos - value: 00000000-0000-0000-0000-000000000000 - - target: arm64-maccatalyst - value: 00000000-0000-0000-0000-000000000000 - - target: arm64e-macos - value: 42D786D2-7258-3103-80C0-E213A03F6476 - - target: arm64e-maccatalyst - value: 42D786D2-7258-3103-80C0-E213A03F6476 -install-name: '/usr/lib/system/libsystem_dnssd.dylib' -current-version: 1310.100.10 -parent-umbrella: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] - umbrella: System -exports: - - targets: [ arm64e-macos, x86_64-macos, x86_64-maccatalyst, arm64e-maccatalyst, - arm64-macos, arm64-maccatalyst ] - symbols: [ _DNSServiceAddRecord, _DNSServiceBrowse, _DNSServiceBrowserCreate, - _DNSServiceConstructFullName, _DNSServiceCreateConnection, - _DNSServiceCreateDelegateConnection, _DNSServiceDiscoveryDeallocate, - _DNSServiceDiscoveryMachPort, _DNSServiceDiscovery_handleReply, - _DNSServiceEnumerateDomains, _DNSServiceGetAddrInfo, _DNSServiceGetPID, - _DNSServiceGetProperty, _DNSServiceNATPortMappingCreate, _DNSServiceProcessResult, - _DNSServiceQueryRecord, _DNSServiceReconfirmRecord, _DNSServiceRefDeallocate, - _DNSServiceRefSockFD, _DNSServiceRegister, _DNSServiceRegisterRecord, - _DNSServiceRemoveRecord, _DNSServiceResolve, _DNSServiceResolverResolve, - _DNSServiceSetDefaultDomainForUser, _DNSServiceSetDispatchQueue, - _DNSServiceSetResolverDefaults, _DNSServiceSleepKeepalive, - _DNSServiceSleepKeepalive_sockaddr, _DNSServiceUpdateRecord, - _PeerConnectionRelease, _TXTRecordContainsKey, _TXTRecordCreate, - _TXTRecordDeallocate, _TXTRecordGetBytesPtr, _TXTRecordGetCount, - _TXTRecordGetItemAtIndex, _TXTRecordGetLength, _TXTRecordGetValuePtr, - _TXTRecordRemoveValue, _TXTRecordSetValue ] ---- !tapi-tbd -tbd-version: 4 -targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] -uuids: - - target: x86_64-macos - value: FEA91919-A5BB-3606-9445-F2077D90BF87 - - target: x86_64-maccatalyst - value: FEA91919-A5BB-3606-9445-F2077D90BF87 - - target: arm64-macos - value: 00000000-0000-0000-0000-000000000000 - - target: arm64-maccatalyst - value: 00000000-0000-0000-0000-000000000000 - - target: arm64e-macos - value: 3337B778-D4D3-3EB6-B197-83861DDEE8DB - - target: arm64e-maccatalyst - value: 3337B778-D4D3-3EB6-B197-83861DDEE8DB -install-name: '/usr/lib/system/libsystem_featureflags.dylib' -current-version: 28.60.1 -parent-umbrella: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] - umbrella: System -exports: - - targets: [ arm64e-macos, x86_64-macos, x86_64-maccatalyst, arm64e-maccatalyst, - arm64-macos, arm64-maccatalyst ] - symbols: [ __os_feature_enabled_impl, __os_feature_enabled_simple_impl ] ---- !tapi-tbd -tbd-version: 4 -targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] -uuids: - - target: x86_64-macos - value: C189F0D7-A430-328D-BD7F-7EB0FA023736 - - target: x86_64-maccatalyst - value: C189F0D7-A430-328D-BD7F-7EB0FA023736 - - target: arm64-macos - value: 00000000-0000-0000-0000-000000000000 - - target: arm64-maccatalyst - value: 00000000-0000-0000-0000-000000000000 - - target: arm64e-macos - value: 74EE0B71-3303-3A7C-B4BF-75F1EF9F3F8F - - target: arm64e-maccatalyst - value: 74EE0B71-3303-3A7C-B4BF-75F1EF9F3F8F -install-name: '/usr/lib/system/libsystem_info.dylib' -parent-umbrella: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] - umbrella: System -exports: - - targets: [ arm64e-macos, x86_64-macos, x86_64-maccatalyst, arm64e-maccatalyst, - arm64-macos, arm64-maccatalyst ] - symbols: [ _LI_get_thread_item, _LI_get_thread_list, _LI_ils_create, - _LI_set_thread_item, _LI_set_thread_list, ___dn_skipname, - __authenticate, __ds_running, __gai_nat64_can_v4_address_be_synthesized, - __gai_serv_to_port, __gai_simple, __getaddrinfo_interface_async_call, - __getlong, __getnameinfo_interface_async_call, __getshort, - __null_auth, __res, __seterr_reply, __si_disable_opendirectory, - __yp_dobind, _alias_endent, _alias_getbyname, _alias_getent, - _alias_setent, _authnone_create, _authunix_create, _authunix_create_default, - _bindresvport, _bindresvport_sa, _bootparams_endent, _bootparams_getbyname, - _bootparams_getent, _bootparams_setent, _clnt_broadcast, _clnt_create, - _clnt_pcreateerror, _clnt_perrno, _clnt_perror, _clnt_spcreateerror, - _clnt_sperrno, _clnt_sperror, _clntraw_create, _clnttcp_create, - _clntudp_bufcreate, _clntudp_create, _configuration_profile_copy_property_list, - _configuration_profile_create_notification_key, _dn_expand, - _endfsent, _endgrent, _endhostent, _endnetent, _endnetgrent, - _endprotoent, _endpwent, _endrpcent, _endservent, _ether_aton, - _ether_hostton, _ether_line, _ether_ntoa, _ether_ntohost, - _freeaddrinfo, _freehostent, _freeifaddrs, _freeifmaddrs, - _gL1CacheEnabled, _gai_strerror, _getaddrinfo, _getaddrinfo_async_cancel, - _getaddrinfo_async_handle_reply, _getaddrinfo_async_receive, - _getaddrinfo_async_send, _getaddrinfo_async_start, _getdomainname, - _getfsent, _getfsfile, _getfsspec, _getgrent, _getgrgid, _getgrgid_r, - _getgrnam, _getgrnam_r, _getgroupcount, _getgrouplist, _getgrouplist_2, - _getgruuid, _getgruuid_r, _gethostbyaddr, _gethostbyaddr_async_cancel, - _gethostbyaddr_async_handleReply, _gethostbyaddr_async_start, - _gethostbyname, _gethostbyname2, _gethostbyname_async_cancel, - _gethostbyname_async_handleReply, _gethostbyname_async_start, - _gethostent, _getifaddrs, _getifmaddrs, _getipnodebyaddr, - _getipnodebyname, _getnameinfo, _getnameinfo_async_cancel, - _getnameinfo_async_handle_reply, _getnameinfo_async_send, - _getnameinfo_async_start, _getnetbyaddr, _getnetbyname, _getnetent, - _getnetgrent, _getprotobyname, _getprotobynumber, _getprotoent, - _getpwent, _getpwnam, _getpwnam_r, _getpwuid, _getpwuid_r, - _getpwuuid, _getpwuuid_r, _getrpcbyname, _getrpcbynumber, - _getrpcent, _getrpcport, _getservbyname, _getservbyport, _getservent, - _group_from_gid, _h_errno, _herror, _hstrerror, _htonl, _htons, - _if_freenameindex, _if_indextoname, _if_nameindex, _if_nametoindex, - _in6addr_any, _in6addr_linklocal_allnodes, _in6addr_linklocal_allrouters, - _in6addr_linklocal_allv2routers, _in6addr_loopback, _in6addr_nodelocal_allnodes, - _inet6_opt_append, _inet6_opt_find, _inet6_opt_finish, _inet6_opt_get_val, - _inet6_opt_init, _inet6_opt_next, _inet6_opt_set_val, _inet6_option_alloc, - _inet6_option_append, _inet6_option_find, _inet6_option_init, - _inet6_option_next, _inet6_option_space, _inet6_rth_add, _inet6_rth_getaddr, - _inet6_rth_init, _inet6_rth_reverse, _inet6_rth_segments, - _inet6_rth_space, _inet6_rthdr_add, _inet6_rthdr_getaddr, - _inet6_rthdr_getflags, _inet6_rthdr_init, _inet6_rthdr_lasthop, - _inet6_rthdr_segments, _inet6_rthdr_space, _initgroups, _innetgr, - _iruserok, _iruserok_sa, _kvarray_free, _kvbuf_add_dict, _kvbuf_add_key, - _kvbuf_add_val, _kvbuf_add_val_len, _kvbuf_append_kvbuf, _kvbuf_decode, - _kvbuf_free, _kvbuf_get_len, _kvbuf_init, _kvbuf_init_zone, - _kvbuf_make_nonpurgeable, _kvbuf_make_purgeable, _kvbuf_new, - _kvbuf_new_zone, _kvbuf_next_dict, _kvbuf_next_key, _kvbuf_next_val, - _kvbuf_next_val_len, _kvbuf_query, _kvbuf_query_key_int, _kvbuf_query_key_uint, - _kvbuf_query_key_val, _kvbuf_reset, _mbr_check_membership, - _mbr_check_membership_by_id, _mbr_check_membership_ext, _mbr_check_membership_refresh, - _mbr_check_service_membership, _mbr_gid_to_uuid, _mbr_group_name_to_uuid, - _mbr_identifier_to_uuid, _mbr_identifier_translate, _mbr_reset_cache, - _mbr_set_identifier_ttl, _mbr_sid_to_string, _mbr_sid_to_uuid, - _mbr_string_to_sid, _mbr_string_to_uuid, _mbr_uid_to_uuid, - _mbr_user_name_to_uuid, _mbr_uuid_to_id, _mbr_uuid_to_sid, - _mbr_uuid_to_sid_type, _mbr_uuid_to_string, _ntohl, _ntohs, - _pmap_getmaps, _pmap_getport, _pmap_rmtcall, _pmap_set, _pmap_unset, - _prdb_end, _prdb_get, _prdb_getbyname, _prdb_set, _rcmd, _rcmd_af, - _res_init, _res_query, _res_search, _rpc_createerr, _rresvport, - _rresvport_af, _ruserok, _setdomainname, _setfsent, _setgrent, - _setgroupent, _sethostent, _setnetent, _setnetgrent, _setpassent, - _setprotoent, _setpwent, _setrpcent, _setservent, _si_addrinfo, - _si_addrinfo_list, _si_addrinfo_list_from_hostent, _si_addrinfo_v4, - _si_addrinfo_v4_mapped, _si_addrinfo_v6, _si_alias_all, _si_alias_byname, - _si_async_call, _si_async_cancel, _si_async_handle_reply, - _si_destination_compare, _si_destination_compare_no_dependencies, - _si_fs_all, _si_fs_byfile, _si_fs_byspec, _si_group_all, _si_group_bygid, - _si_group_byname, _si_group_byuuid, _si_grouplist, _si_host_all, - _si_host_byaddr, _si_host_byname, _si_in_netgroup, _si_ipnode_byname, - _si_item_call, _si_item_is_valid, _si_item_match, _si_item_release, - _si_item_retain, _si_list_add, _si_list_call, _si_list_concat, - _si_list_next, _si_list_release, _si_list_reset, _si_list_retain, - _si_mac_all, _si_mac_bymac, _si_mac_byname, _si_module_name, - _si_module_release, _si_module_retain, _si_module_vers, _si_module_with_name, - _si_nameinfo, _si_netgroup_byname, _si_network_all, _si_network_byaddr, - _si_network_byname, _si_protocol_all, _si_protocol_byname, - _si_protocol_bynumber, _si_rpc_all, _si_rpc_byname, _si_rpc_bynumber, - _si_search, _si_search_module_set_flags, _si_service_all, - _si_service_byname, _si_service_byport, _si_set_nat64_v4_requires_synthesis, - _si_set_nat64_v4_synthesize, _si_srv_byname, _si_standardize_mac_address, - _si_user_all, _si_user_byname, _si_user_byuid, _si_user_byuuid, - _si_wants_addrinfo, _svc_fdset, _svc_getreq, _svc_getreqset, - _svc_register, _svc_run, _svc_sendreply, _svc_unregister, - _svcerr_auth, _svcerr_decode, _svcerr_noproc, _svcerr_noprog, - _svcerr_progvers, _svcerr_systemerr, _svcerr_weakauth, _svcfd_create, - _svcraw_create, _svctcp_create, _svcudp_bufcreate, _svcudp_create, - _user_from_uid, _xdr_array, _xdr_authunix_parms, _xdr_bool, - _xdr_bytes, _xdr_callhdr, _xdr_callmsg, _xdr_char, _xdr_des_block, - _xdr_domainname, _xdr_double, _xdr_enum, _xdr_float, _xdr_free, - _xdr_hyper, _xdr_int, _xdr_int16_t, _xdr_int32_t, _xdr_int64_t, - _xdr_keydat, _xdr_long, _xdr_longlong_t, _xdr_mapname, _xdr_netobj, - _xdr_opaque, _xdr_peername, _xdr_pmap, _xdr_pmaplist, _xdr_pointer, - _xdr_reference, _xdr_replymsg, _xdr_rmtcall_args, _xdr_rmtcallres, - _xdr_short, _xdr_string, _xdr_u_char, _xdr_u_hyper, _xdr_u_int, - _xdr_u_int16_t, _xdr_u_int32_t, _xdr_u_int64_t, _xdr_u_long, - _xdr_u_longlong_t, _xdr_u_short, _xdr_union, _xdr_valdat, - _xdr_vector, _xdr_void, _xdr_wrapstring, _xdr_x_passwd, _xdr_ypbind_binding, - _xdr_ypbind_resp, _xdr_ypbind_resptype, _xdr_ypbind_setdom, - _xdr_ypmaplist, _xdr_yppasswd, _xdr_ypreq_key, _xdr_ypreq_nokey, - _xdr_ypresp_all, _xdr_ypresp_all_seq, _xdr_ypresp_key_val, - _xdr_ypresp_maplist, _xdr_ypresp_master, _xdr_ypresp_order, - _xdr_ypresp_val, _xdr_ypstat, _xdrmem_create, _xdrrec_create, - _xdrrec_endofrecord, _xdrrec_eof, _xdrrec_skiprecord, _xdrstdio_create, - _xprt_register, _xprt_unregister, _yp_all, _yp_bind, _yp_first, - _yp_get_default_domain, _yp_maplist, _yp_master, _yp_match, - _yp_next, _yp_order, _yp_unbind, _yperr_string, _ypprot_err ] ---- !tapi-tbd -tbd-version: 4 -targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] -uuids: - - target: x86_64-macos - value: 62A19DE4-50C5-3866-B5B2-43220E379C3B - - target: x86_64-maccatalyst - value: 62A19DE4-50C5-3866-B5B2-43220E379C3B - - target: arm64-macos - value: C11F3472-54B1-3A61-A02F-6A80EA06F414 - - target: arm64-maccatalyst - value: C11F3472-54B1-3A61-A02F-6A80EA06F414 - - target: arm64e-macos - value: D4C172DA-4E97-32E4-8969-C738E4AC9559 - - target: arm64e-maccatalyst - value: D4C172DA-4E97-32E4-8969-C738E4AC9559 -install-name: '/usr/lib/system/libsystem_kernel.dylib' -current-version: 7195.101.2 -parent-umbrella: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] - umbrella: System -exports: - - targets: [ x86_64-maccatalyst, x86_64-macos ] - symbols: [ '_fstat$INODE64', '_fstatat$INODE64', '_fstatfs$INODE64', - '_getfsstat$INODE64', _i386_get_ldt, _i386_set_ldt, '_lstat$INODE64', - '_pselect$1050', '_select$1050', '_stat$INODE64', '_statfs$INODE64' ] - - targets: [ x86_64-maccatalyst, x86_64-macos, arm64-maccatalyst, arm64-macos, - arm64e-maccatalyst, arm64e-macos ] - symbols: [ _NDR_record, _____old_semwait_signal_nocancel, _____sigwait_nocancel, - ____kernelVersionNumber, ____kernelVersionString, ___abort_with_payload, - ___accept, ___accept_nocancel, ___access_extended, ___aio_suspend_nocancel, - ___bind, ___bsdthread_create, ___bsdthread_ctl, ___bsdthread_register, - ___bsdthread_terminate, ___carbon_delete, ___channel_get_info, - ___channel_get_opt, ___channel_open, ___channel_set_opt, ___channel_sync, - ___chmod, ___chmod_extended, ___close_nocancel, ___coalition, - ___coalition_info, ___coalition_ledger, ___commpage_gettimeofday, - ___connect, ___connect_nocancel, ___copyfile, ___csrctl, ___darwin_check_fd_set_overflow, - ___delete, ___disable_threadsignal, ___error, ___exit, ___fchmod, - ___fchmod_extended, ___fcntl, ___fcntl_nocancel, ___fork, - ___fs_snapshot, ___fstat64_extended, ___fstat_extended, ___fsync_nocancel, - ___get_remove_counter, ___getattrlist, ___getdirentries64, - ___gethostuuid, ___getlogin, ___getpeername, ___getpid, ___getrlimit, - ___getsgroups, ___getsockname, ___gettid, ___gettimeofday, - ___getwgroups, ___guarded_open_dprotected_np, ___guarded_open_np, - ___identitysvc, ___inc_remove_counter, ___initgroups, ___ioctl, - ___iopolicysys, ___kdebug_trace, ___kdebug_trace64, ___kdebug_trace_string, - ___kdebug_typefilter, ___kill, ___kqueue_workloop_ctl, ___lchown, - ___libkernel_init, ___libkernel_init_late, ___libkernel_platform_init, - ___libkernel_voucher_init, ___listen, ___log_data, ___lseek, - ___lstat64_extended, ___lstat_extended, ___mac_execve, ___mac_get_fd, - ___mac_get_file, ___mac_get_link, ___mac_get_mount, ___mac_get_pid, - ___mac_get_proc, ___mac_getfsstat, ___mac_mount, ___mac_set_fd, - ___mac_set_file, ___mac_set_link, ___mac_set_proc, ___mac_syscall, - ___mach_bridge_remote_time, ___mach_eventlink_signal, ___mach_eventlink_signal_wait_until, - ___mach_eventlink_wait_until, ___memorystatus_available_memory, - ___microstackshot, ___mkdir_extended, ___mkfifo_extended, - ___mmap, ___mprotect, ___msgctl, ___msgrcv_nocancel, ___msgsnd_nocancel, - ___msgsys, ___msync, ___msync_nocancel, ___munmap, ___nexus_create, - ___nexus_deregister, ___nexus_destroy, ___nexus_get_opt, ___nexus_open, - ___nexus_register, ___nexus_set_opt, ___old_semwait_signal, - ___open, ___open_dprotected_np, ___open_extended, ___open_nocancel, - ___openat, ___openat_nocancel, ___os_nexus_flow_add, ___os_nexus_flow_del, - ___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, ___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, ___setpriority, ___setregid, - ___setreuid, ___setrlimit, ___setsgroups, ___settid, ___settid_with_pid, - ___settimeofday, ___setwgroups, ___sfi_ctl, ___sfi_pidctl, - ___shared_region_check_np, ___shared_region_map_and_slide_2_np, - ___shared_region_map_and_slide_np, ___shm_open, ___shmctl, - ___shmsys, ___sigaction, ___sigaltstack, ___sigreturn, ___sigsuspend, - ___sigsuspend_nocancel, ___sigwait, ___socketpair, ___stack_snapshot_with_config, - ___stat64_extended, ___stat_extended, ___syscall, ___syscall_logger, - ___sysctl, ___sysctlbyname, ___telemetry, ___terminate_with_payload, - ___thread_selfid, ___thread_selfusage, ___ulock_wait, ___ulock_wait2, - ___ulock_wake, ___umask_extended, ___unlink, ___unlinkat, - ___vfork, ___wait4, ___wait4_nocancel, ___waitid_nocancel, - ___work_interval_ctl, ___workq_kernreturn, ___workq_open, - ___write_nocancel, ___writev_nocancel, __cpu_capabilities, - __cpu_has_altivec, __exit, __get_cpu_capabilities, __getprivatesystemidentifier, - __host_page_size, __init_cpu_capabilities, __kernelrpc_host_create_mach_voucher, - __kernelrpc_mach_port_allocate, __kernelrpc_mach_port_allocate_full, - __kernelrpc_mach_port_allocate_name, __kernelrpc_mach_port_allocate_qos, - __kernelrpc_mach_port_allocate_trap, __kernelrpc_mach_port_construct, - __kernelrpc_mach_port_construct_trap, __kernelrpc_mach_port_deallocate, - __kernelrpc_mach_port_deallocate_trap, __kernelrpc_mach_port_destroy, - __kernelrpc_mach_port_destruct, __kernelrpc_mach_port_destruct_trap, - __kernelrpc_mach_port_dnrequest_info, __kernelrpc_mach_port_extract_member, - __kernelrpc_mach_port_extract_member_trap, __kernelrpc_mach_port_extract_right, - __kernelrpc_mach_port_get_attributes, __kernelrpc_mach_port_get_attributes_trap, - __kernelrpc_mach_port_get_context, __kernelrpc_mach_port_get_refs, - __kernelrpc_mach_port_get_set_status, __kernelrpc_mach_port_get_srights, - __kernelrpc_mach_port_guard, __kernelrpc_mach_port_guard_trap, - __kernelrpc_mach_port_guard_with_flags, __kernelrpc_mach_port_insert_member, - __kernelrpc_mach_port_insert_member_trap, __kernelrpc_mach_port_insert_right, - __kernelrpc_mach_port_insert_right_trap, __kernelrpc_mach_port_kernel_object, - __kernelrpc_mach_port_kobject, __kernelrpc_mach_port_kobject_description, - __kernelrpc_mach_port_mod_refs, __kernelrpc_mach_port_mod_refs_trap, - __kernelrpc_mach_port_move_member, __kernelrpc_mach_port_move_member_trap, - __kernelrpc_mach_port_names, __kernelrpc_mach_port_peek, __kernelrpc_mach_port_rename, - __kernelrpc_mach_port_request_notification, __kernelrpc_mach_port_request_notification_trap, - __kernelrpc_mach_port_set_attributes, __kernelrpc_mach_port_set_context, - __kernelrpc_mach_port_set_mscount, __kernelrpc_mach_port_set_seqno, - __kernelrpc_mach_port_space_basic_info, __kernelrpc_mach_port_space_info, - __kernelrpc_mach_port_special_reply_port_reset_link, __kernelrpc_mach_port_swap_guard, - __kernelrpc_mach_port_type, __kernelrpc_mach_port_type_trap, - __kernelrpc_mach_port_unguard, __kernelrpc_mach_port_unguard_trap, - __kernelrpc_mach_task_is_self, __kernelrpc_mach_vm_allocate, - __kernelrpc_mach_vm_allocate_trap, __kernelrpc_mach_vm_deallocate, - __kernelrpc_mach_vm_deallocate_trap, __kernelrpc_mach_vm_map, - __kernelrpc_mach_vm_map_trap, __kernelrpc_mach_vm_protect, - __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, - _coalition_info_resource_usage, _coalition_info_set_efficiency, - _coalition_info_set_name, _coalition_ledger_set_logical_writes_limit, - _coalition_reap, _coalition_terminate, _connect, '_connect$NOCANCEL', - _connectx, _csops, _csops_audittoken, _csr_check, _csr_get_active_config, - _debug_control_port_for_pid, _denap_boost_assertion_token, - _disconnectx, _dup, _dup2, _errno, _etap_trace_thread, _exc_server, - _exc_server_routine, _exception_raise, _exception_raise_state, - _exception_raise_state_identity, _exchangedata, _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, _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, - _fsync, '_fsync$NOCANCEL', _ftruncate, _futimens, _futimes, - _getattrlist, _getattrlistat, _getattrlistbulk, _getaudit, - _getaudit_addr, _getauid, _getdirentries, _getdirentriesattr, - _getdtablesize, _getegid, _getentropy, _geteuid, _getfh, _getfsstat, - _getfsstat64, _getgid, _getgroups, _gethostuuid, _getiopolicy_np, - _getitimer, _getpeername, _getpgid, _getpgrp, _getpid, _getppid, - _getpriority, _getrlimit, _getrusage, _getsgroups_np, _getsid, - _getsockname, _getsockopt, _getuid, _getwgroups_np, _getxattr, - _grab_pgo_data, _guarded_close_np, _guarded_kqueue_np, _guarded_open_dprotected_np, - _guarded_open_np, _guarded_pwrite_np, _guarded_write_np, _guarded_writev_np, - _host_check_multiuser_mode, _host_create_mach_voucher, _host_create_mach_voucher_trap, - _host_default_memory_manager, _host_get_UNDServer, _host_get_atm_diagnostic_flag, - _host_get_boot_info, _host_get_clock_control, _host_get_clock_service, - _host_get_exception_ports, _host_get_io_master, _host_get_multiuser_config_flags, - _host_get_special_port, _host_info, _host_kernel_version, - _host_lockgroup_info, _host_page_size, _host_priv_statistics, - _host_processor_info, _host_processor_set_priv, _host_processor_sets, - _host_processors, _host_reboot, _host_register_mach_voucher_attr_manager, - _host_register_well_known_mach_voucher_attr_manager, _host_request_notification, - _host_security_create_task_token, _host_security_set_task_token, - _host_self, _host_self_trap, _host_set_UNDServer, _host_set_atm_diagnostic_flag, - _host_set_exception_ports, _host_set_multiuser_config_flags, - _host_set_special_port, _host_statistics, _host_statistics64, - _host_swap_exception_ports, _host_virtual_physical_table_info, - _important_boost_assertion_token, _internal_catch_exc_subsystem, - _ioctl, _issetugid, _kas_info, _kdebug_is_enabled, _kdebug_signpost, - _kdebug_signpost_end, _kdebug_signpost_start, _kdebug_trace, - _kdebug_trace_string, _kdebug_typefilter, _kdebug_using_continuous_time, - _kevent, _kevent64, _kevent_id, _kevent_qos, _kext_request, - _kill, _kmod_control, _kmod_create, _kmod_destroy, _kmod_get_info, - _kpersona_alloc, _kpersona_dealloc, _kpersona_find, _kpersona_find_by_type, - _kpersona_get, _kpersona_getpath, _kpersona_info, _kpersona_palloc, - _kpersona_pidinfo, _kqueue, _lchown, _ledger, _link, _linkat, - _lio_listio, _listen, _listxattr, _lock_acquire, _lock_handoff, - _lock_handoff_accept, _lock_make_stable, _lock_release, _lock_set_create, - _lock_set_destroy, _lock_try, _log_data_as_kernel, _lseek, - _lstat, _lstat64, _mach_absolute_time, _mach_approximate_time, - _mach_boottime_usec, _mach_continuous_approximate_time, _mach_continuous_time, - _mach_error, _mach_error_full_diag, _mach_error_string, _mach_error_type, - _mach_eventlink_associate, _mach_eventlink_create, _mach_eventlink_destroy, - _mach_eventlink_disassociate, _mach_eventlink_signal, _mach_eventlink_signal_wait_until, - _mach_eventlink_wait_until, _mach_generate_activity_id, _mach_get_times, - _mach_host_self, _mach_host_special_port_description, _mach_host_special_port_for_id, - _mach_init, _mach_make_memory_entry, _mach_make_memory_entry_64, - _mach_memory_entry_access_tracking, _mach_memory_entry_ownership, - _mach_memory_entry_purgable_control, _mach_memory_info, _mach_memory_object_memory_entry, - _mach_memory_object_memory_entry_64, _mach_msg, _mach_msg_destroy, - _mach_msg_overwrite, _mach_msg_overwrite_trap, _mach_msg_priority_encode, - _mach_msg_priority_is_pthread_priority, _mach_msg_priority_overide_qos, - _mach_msg_priority_qos, _mach_msg_priority_relpri, _mach_msg_receive, - _mach_msg_send, _mach_msg_server, _mach_msg_server_importance, - _mach_msg_server_once, _mach_msg_trap, _mach_notify_dead_name, - _mach_notify_no_senders, _mach_notify_port_deleted, _mach_notify_port_destroyed, - _mach_notify_send_once, _mach_port_allocate, _mach_port_allocate_full, - _mach_port_allocate_name, _mach_port_allocate_qos, _mach_port_construct, - _mach_port_deallocate, _mach_port_destroy, _mach_port_destruct, - _mach_port_dnrequest_info, _mach_port_extract_member, _mach_port_extract_right, - _mach_port_get_attributes, _mach_port_get_context, _mach_port_get_refs, - _mach_port_get_set_status, _mach_port_get_srights, _mach_port_guard, - _mach_port_guard_with_flags, _mach_port_insert_member, _mach_port_insert_right, - _mach_port_kernel_object, _mach_port_kobject, _mach_port_kobject_description, - _mach_port_mod_refs, _mach_port_move_member, _mach_port_names, - _mach_port_peek, _mach_port_rename, _mach_port_request_notification, - _mach_port_set_attributes, _mach_port_set_context, _mach_port_set_mscount, - _mach_port_set_seqno, _mach_port_space_basic_info, _mach_port_space_info, - _mach_port_swap_guard, _mach_port_type, _mach_port_unguard, - _mach_ports_lookup, _mach_ports_register, _mach_reply_port, - _mach_right_recv_construct, _mach_right_recv_destruct, _mach_right_send_create, - _mach_right_send_once_consume, _mach_right_send_once_create, - _mach_right_send_release, _mach_right_send_retain, _mach_sync_ipc_link_monitoring_start, - _mach_sync_ipc_link_monitoring_stop, _mach_task_is_self, _mach_task_self, - _mach_task_self_, _mach_task_special_port_description, _mach_task_special_port_for_id, - _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_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_read, - _mach_vm_read_list, _mach_vm_read_overwrite, _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_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, - _mach_zone_force_gc, _mach_zone_get_btlog_records, _mach_zone_get_zlog_zones, - _mach_zone_info, _mach_zone_info_for_largest_zone, _mach_zone_info_for_zone, - _macx_backing_store_recovery, _macx_backing_store_suspend, - _macx_swapoff, _macx_swapon, _macx_triggers, _madvise, _memorystatus_control, - _memorystatus_get_level, _mig_allocate, _mig_dealloc_reply_port, - _mig_dealloc_special_reply_port, _mig_deallocate, _mig_get_reply_port, - _mig_get_special_reply_port, _mig_put_reply_port, _mig_reply_setup, - _mig_strncpy, _mig_strncpy_zerofill, _mincore, _minherit, - _mk_timer_arm, _mk_timer_arm_leeway, _mk_timer_cancel, _mk_timer_create, - _mk_timer_destroy, _mkdir, _mkdirat, _mkfifo, _mknod, _mlock, - _mlockall, _mmap, _mount, _mprotect, _mremap_encrypted, _msg_receive, - _msg_rpc, _msg_send, _msgctl, _msgget, _msgrcv, '_msgrcv$NOCANCEL', - _msgsnd, '_msgsnd$NOCANCEL', _msgsys, _msync, '_msync$NOCANCEL', - _munlock, _munlockall, _munmap, _necp_client_action, _necp_match_policy, - _necp_open, _necp_session_action, _necp_session_open, _net_qos_guideline, - _netagent_trigger, _netname_check_in, _netname_check_out, - _netname_look_up, _netname_version, _nfsclnt, _nfssvc, _non_boost_assertion_token, - _normal_boost_assertion_token, _ntp_adjtime, _ntp_gettime, - _open, '_open$NOCANCEL', _open_dprotected_np, _openat, '_openat$NOCANCEL', - _openbyid_np, _os_buflet_get_data_address, _os_buflet_get_data_length, - _os_buflet_get_data_limit, _os_buflet_get_data_offset, _os_buflet_get_object_address, - _os_buflet_get_object_limit, _os_buflet_set_data_length, _os_buflet_set_data_offset, - _os_channel_advance_slot, _os_channel_attr_clone, _os_channel_attr_create, - _os_channel_attr_destroy, _os_channel_attr_get, _os_channel_attr_get_key, - _os_channel_attr_set, _os_channel_attr_set_key, _os_channel_available_slot_count, - _os_channel_buflet_alloc, _os_channel_buflet_free, _os_channel_configure_interface_advisory, - _os_channel_create, _os_channel_create_extended, _os_channel_destroy, - _os_channel_event_free, _os_channel_event_get_event_data, - _os_channel_event_get_next_event, _os_channel_flow_admissible, - _os_channel_get_advisory_region, _os_channel_get_fd, _os_channel_get_interface_advisory, - _os_channel_get_next_event_handle, _os_channel_get_next_slot, - _os_channel_get_stats_region, _os_channel_is_defunct, _os_channel_packet_alloc, - _os_channel_packet_free, _os_channel_packet_pool_purge, _os_channel_pending, - _os_channel_read_attr, _os_channel_read_nexus_extension_info, - _os_channel_ring_id, _os_channel_ring_notify_time, _os_channel_ring_sync_time, - _os_channel_rx_ring, _os_channel_set_slot_properties, _os_channel_slot_attach_packet, - _os_channel_slot_detach_packet, _os_channel_slot_get_packet, - _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_nexus_attr_clone, _os_nexus_attr_create, _os_nexus_attr_destroy, - _os_nexus_attr_get, _os_nexus_attr_set, _os_nexus_controller_alloc_provider_instance, - _os_nexus_controller_bind_provider_instance, _os_nexus_controller_create, - _os_nexus_controller_deregister_provider, _os_nexus_controller_destroy, - _os_nexus_controller_free_provider_instance, _os_nexus_controller_get_fd, - _os_nexus_controller_read_provider_attr, _os_nexus_controller_register_provider, - _os_nexus_controller_unbind_provider_instance, _os_packet_add_buflet, - _os_packet_clear_flow_uuid, _os_packet_decrement_use_count, - _os_packet_finalize, _os_packet_get_aggregation_type, _os_packet_get_buflet_count, - _os_packet_get_compression_generation_count, _os_packet_get_data_length, - _os_packet_get_expire_time, _os_packet_get_flow_uuid, _os_packet_get_group_end, - _os_packet_get_group_start, _os_packet_get_headroom, _os_packet_get_inet_checksum, - _os_packet_get_link_broadcast, _os_packet_get_link_ethfcs, - _os_packet_get_link_header_length, _os_packet_get_link_multicast, - _os_packet_get_next_buflet, _os_packet_get_packetid, _os_packet_get_segment_count, - _os_packet_get_service_class, _os_packet_get_token, _os_packet_get_traffic_class, - _os_packet_get_transport_retransmit, _os_packet_get_transport_traffic_background, - _os_packet_get_transport_traffic_realtime, _os_packet_get_truncated, - _os_packet_get_vlan_id, _os_packet_get_vlan_priority, _os_packet_get_vlan_tag, - _os_packet_increment_use_count, _os_packet_is_traced, _os_packet_set_compression_generation_count, - _os_packet_set_expire_time, _os_packet_set_flow_uuid, _os_packet_set_group_end, - _os_packet_set_group_start, _os_packet_set_headroom, _os_packet_set_inet_checksum, - _os_packet_set_link_broadcast, _os_packet_set_link_ethfcs, - _os_packet_set_link_header_length, _os_packet_set_link_multicast, - _os_packet_set_packetid, _os_packet_set_service_class, _os_packet_set_token, - _os_packet_set_traffic_class, _os_packet_set_transport_last_packet, - _os_packet_set_transport_retransmit, _os_packet_set_transport_traffic_background, - _os_packet_set_transport_traffic_realtime, _os_packet_set_vlan_tag, - _os_packet_trace_end, _os_packet_trace_event, _os_packet_trace_start, - _os_proc_available_memory, _panic, _panic_init, _pathconf, - _peeloff, _pid_for_task, _pid_hibernate, _pid_resume, _pid_shutdown_networking, - _pid_shutdown_sockets, _pid_suspend, _pipe, _pivot_root, _pkt_subtype_assert_fail, - _pkt_type_assert_fail, _poll, '_poll$NOCANCEL', _port_obj_init, - _port_obj_table, _port_obj_table_size, _posix_madvise, _posix_spawn, - _posix_spawn_file_actions_add_fileportdup2_np, _posix_spawn_file_actions_addchdir_np, - _posix_spawn_file_actions_addclose, _posix_spawn_file_actions_adddup2, - _posix_spawn_file_actions_addfchdir_np, _posix_spawn_file_actions_addinherit_np, - _posix_spawn_file_actions_addopen, _posix_spawn_file_actions_destroy, - _posix_spawn_file_actions_init, _posix_spawnattr_destroy, - _posix_spawnattr_disable_ptr_auth_a_keys_np, _posix_spawnattr_get_darwin_role_np, - _posix_spawnattr_get_qos_clamp_np, _posix_spawnattr_getarchpref_np, - _posix_spawnattr_getbinpref_np, _posix_spawnattr_getcpumonitor, - _posix_spawnattr_getflags, _posix_spawnattr_getmacpolicyinfo_np, - _posix_spawnattr_getpcontrol_np, _posix_spawnattr_getpgroup, - _posix_spawnattr_getprocesstype_np, _posix_spawnattr_getsigdefault, - _posix_spawnattr_getsigmask, _posix_spawnattr_init, _posix_spawnattr_set_csm_np, - _posix_spawnattr_set_darwin_role_np, _posix_spawnattr_set_gid_np, - _posix_spawnattr_set_groups_np, _posix_spawnattr_set_importancewatch_port_np, - _posix_spawnattr_set_jetsam_ttr_np, _posix_spawnattr_set_login_np, - _posix_spawnattr_set_max_addr_np, _posix_spawnattr_set_persona_gid_np, - _posix_spawnattr_set_persona_groups_np, _posix_spawnattr_set_persona_np, - _posix_spawnattr_set_persona_uid_np, _posix_spawnattr_set_platform_np, - _posix_spawnattr_set_ptrauth_task_port_np, _posix_spawnattr_set_qos_clamp_np, - _posix_spawnattr_set_registered_ports_np, _posix_spawnattr_set_subsystem_root_path_np, - _posix_spawnattr_set_threadlimit_ext, _posix_spawnattr_set_uid_np, - _posix_spawnattr_setarchpref_np, _posix_spawnattr_setauditsessionport_np, - _posix_spawnattr_setbinpref_np, _posix_spawnattr_setcoalition_np, - _posix_spawnattr_setcpumonitor, _posix_spawnattr_setcpumonitor_default, - _posix_spawnattr_setexceptionports_np, _posix_spawnattr_setflags, - _posix_spawnattr_setjetsam_ext, _posix_spawnattr_setmacpolicyinfo_np, - _posix_spawnattr_setnosmt_np, _posix_spawnattr_setpcontrol_np, - _posix_spawnattr_setpgroup, _posix_spawnattr_setprocesstype_np, - _posix_spawnattr_setsigdefault, _posix_spawnattr_setsigmask, - _posix_spawnattr_setspecialport_np, _posix_spawnattr_setsuidcredport_np, - _pread, '_pread$NOCANCEL', _preadv, '_preadv$NOCANCEL', _proc_clear_cpulimits, - _proc_clear_delayidlesleep, _proc_clear_dirty, _proc_clear_vmpressure, - _proc_denap_assertion_begin_with_msg, _proc_denap_assertion_complete, - _proc_disable_apptype, _proc_disable_cpumon, _proc_disable_wakemon, - _proc_donate_importance_boost, _proc_enable_apptype, _proc_get_cpumon_params, - _proc_get_dirty, _proc_get_wakemon_params, _proc_importance_assertion_begin_with_msg, - _proc_importance_assertion_complete, _proc_kmsgbuf, _proc_libversion, - _proc_list_dynkqueueids, _proc_list_uptrs, _proc_listallpids, - _proc_listchildpids, _proc_listcoalitions, _proc_listpgrppids, - _proc_listpids, _proc_listpidspath, _proc_name, _proc_pid_rusage, - _proc_piddynkqueueinfo, _proc_pidfdinfo, _proc_pidfileportinfo, - _proc_pidinfo, _proc_pidoriginatorinfo, _proc_pidpath, _proc_pidpath_audittoken, - _proc_regionfilename, _proc_reset_footprint_interval, _proc_resume_cpumon, - _proc_rlimit_control, _proc_set_cpumon_defaults, _proc_set_cpumon_params, - _proc_set_cpumon_params_fatal, _proc_set_csm, _proc_set_delayidlesleep, - _proc_set_dirty, _proc_set_no_smt, _proc_set_owner_vmpressure, - _proc_set_wakemon_defaults, _proc_set_wakemon_params, _proc_setcpu_percentage, - _proc_setpcontrol, _proc_setthread_cpupercent, _proc_setthread_csm, - _proc_setthread_no_smt, _proc_suppress, _proc_terminate, _proc_trace_log, - _proc_track_dirty, _proc_udata_info, _proc_uuid_policy, _processor_assign, - _processor_control, _processor_exit, _processor_get_assignment, - _processor_info, _processor_set_create, _processor_set_default, - _processor_set_destroy, _processor_set_info, _processor_set_max_priority, - _processor_set_policy_control, _processor_set_policy_disable, - _processor_set_policy_enable, _processor_set_stack_usage, - _processor_set_statistics, _processor_set_tasks, _processor_set_tasks_with_flavor, - _processor_set_threads, _processor_start, _pselect, '_pselect$DARWIN_EXTSN', - '_pselect$DARWIN_EXTSN$NOCANCEL', '_pselect$NOCANCEL', _pthread_getugid_np, - _pthread_setugid_np, _ptrace, _pwrite, '_pwrite$NOCANCEL', - _pwritev, '_pwritev$NOCANCEL', _quota, _quotactl, _read, '_read$NOCANCEL', - _readlink, _readlinkat, _readv, '_readv$NOCANCEL', _reboot, - _reboot_np, _recvfrom, '_recvfrom$NOCANCEL', _recvmsg, '_recvmsg$NOCANCEL', - _recvmsg_x, _register_uexc_handler, _removexattr, _rename, - _rename_ext, _renameat, _renameatx_np, _renamex_np, _revoke, - _rmdir, _searchfs, _select, '_select$DARWIN_EXTSN', '_select$DARWIN_EXTSN$NOCANCEL', - '_select$NOCANCEL', _sem_close, _sem_destroy, _sem_getvalue, - _sem_init, _sem_open, _sem_post, _sem_trywait, _sem_unlink, - _sem_wait, '_sem_wait$NOCANCEL', _semaphore_create, _semaphore_destroy, - _semaphore_signal, _semaphore_signal_all, _semaphore_signal_all_trap, - _semaphore_signal_thread, _semaphore_signal_thread_trap, _semaphore_signal_trap, - _semaphore_timedwait, _semaphore_timedwait_signal, _semaphore_timedwait_signal_trap, - _semaphore_timedwait_trap, _semaphore_wait, _semaphore_wait_signal, - _semaphore_wait_signal_trap, _semaphore_wait_trap, _semctl, - _semget, _semop, _semsys, _sendfile, _sendmsg, '_sendmsg$NOCANCEL', - _sendmsg_x, _sendto, '_sendto$NOCANCEL', _setattrlist, _setattrlistat, - _setaudit, _setaudit_addr, _setauid, _setegid, _seteuid, _setgid, - _setgroups, _setiopolicy_np, _setitimer, _setpgid, _setpriority, - _setprivexec, _setquota, _setregid, _setreuid, _setrlimit, - _setsgroups_np, _setsid, _setsockopt, _setuid, _setwgroups_np, - _setxattr, _sfi_get_class_offtime, _sfi_process_get_flags, - _sfi_process_set_flags, _sfi_set_class_offtime, _shm_open, - _shm_unlink, _shmat, _shmctl, _shmdt, _shmget, _shmsys, _shutdown, - _sigpending, _sigprocmask, _sigsuspend, '_sigsuspend$NOCANCEL', - _socket, _socket_delegate, _socketpair, _stackshot_capture_with_config, - _stackshot_config_create, _stackshot_config_dealloc, _stackshot_config_dealloc_buffer, - _stackshot_config_get_stackshot_buffer, _stackshot_config_get_stackshot_size, - _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, - _system_override, _system_set_sfi_window, _system_version_compat_mode, - _task_assign, _task_assign_default, _task_create, _task_create_identity_token, - _task_create_suid_cred, _task_dyld_process_info_notify_deregister, - _task_dyld_process_info_notify_get, _task_dyld_process_info_notify_register, - _task_for_pid, _task_generate_corpse, _task_get_assignment, - _task_get_dyld_image_infos, _task_get_emulation_vector, _task_get_exc_guard_behavior, - _task_get_exception_ports, _task_get_exception_ports_info, - _task_get_mach_voucher, _task_get_special_port, _task_get_state, - _task_identity_token_get_task_port, _task_info, _task_inspect, - _task_inspect_for_pid, _task_map_corpse_info, _task_map_corpse_info_64, - _task_name_for_pid, _task_policy, _task_policy_get, _task_policy_set, - _task_purgable_info, _task_read_for_pid, _task_register_dyld_get_process_state, - _task_register_dyld_image_infos, _task_register_dyld_set_dyld_state, - _task_register_dyld_shared_cache_image_info, _task_restartable_ranges_register, - _task_restartable_ranges_synchronize, _task_resume, _task_resume2, - _task_sample, _task_self_, _task_self_trap, _task_set_emulation, - _task_set_emulation_vector, _task_set_exc_guard_behavior, - _task_set_exception_ports, _task_set_info, _task_set_mach_voucher, - _task_set_phys_footprint_limit, _task_set_policy, _task_set_port_space, - _task_set_ras_pc, _task_set_special_port, _task_set_state, - _task_suspend, _task_suspend2, _task_swap_exception_ports, - _task_swap_mach_voucher, _task_terminate, _task_threads, _task_unregister_dyld_image_infos, - _task_zone_info, _terminate_with_payload, _terminate_with_reason, - _thread_abort, _thread_abort_safely, _thread_assign, _thread_assign_default, - _thread_convert_thread_state, _thread_create, _thread_create_running, - _thread_depress_abort, _thread_destruct_special_reply_port, - _thread_get_assignment, _thread_get_exception_ports, _thread_get_exception_ports_info, - _thread_get_mach_voucher, _thread_get_register_pointer_values, - _thread_get_special_port, _thread_get_special_reply_port, - _thread_get_state, _thread_info, _thread_policy, _thread_policy_get, - _thread_policy_set, _thread_resume, _thread_sample, _thread_self_trap, - _thread_selfcounts, _thread_set_exception_ports, _thread_set_mach_voucher, - _thread_set_policy, _thread_set_special_port, _thread_set_state, - _thread_suspend, _thread_swap_exception_ports, _thread_swap_mach_voucher, - _thread_switch, _thread_terminate, _thread_wire, _truncate, - _umask, _undelete, _unlink, _unlinkat, _unmount, _usrctl, - _utimensat, _utimes, _vfork, _vfs_purge, _vm_allocate, _vm_allocate_cpm, - _vm_behavior_set, _vm_copy, _vm_deallocate, _vm_inherit, _vm_kernel_page_mask, - _vm_kernel_page_shift, _vm_kernel_page_size, _vm_machine_attribute, - _vm_map, _vm_map_page_query, _vm_msync, _vm_page_mask, _vm_page_shift, - _vm_page_size, _vm_pressure_monitor, _vm_protect, _vm_purgable_control, - _vm_read, _vm_read_list, _vm_read_overwrite, _vm_region_64, - _vm_region_recurse_64, _vm_remap, _vm_remap_new, _vm_wire, - _vm_write, _voucher_mach_msg_adopt, _voucher_mach_msg_clear, - _voucher_mach_msg_revert, _voucher_mach_msg_set, _vprintf_stderr_func, - _wait4, _waitid, '_waitid$NOCANCEL', _work_interval_copy_port, - _work_interval_create, _work_interval_destroy, _work_interval_get_flags_from_port, - _work_interval_instance_alloc, _work_interval_instance_clear, - _work_interval_instance_finish, _work_interval_instance_free, - _work_interval_instance_get_complexity, _work_interval_instance_get_deadline, - _work_interval_instance_get_finish, _work_interval_instance_get_id, - _work_interval_instance_get_start, _work_interval_instance_set_complexity, - _work_interval_instance_set_deadline, _work_interval_instance_set_finish, - _work_interval_instance_set_start, _work_interval_instance_start, - _work_interval_instance_update, _work_interval_join, _work_interval_join_port, - _work_interval_leave, _work_interval_notify, _work_interval_notify_simple, - _write, '_write$NOCANCEL', _writev, '_writev$NOCANCEL' ] - - targets: [ arm64-maccatalyst, arm64-macos, arm64e-maccatalyst, arm64e-macos ] - symbols: [ ___fstat, ___fstatat, ___fstatfs, ___getfsstat, ___lstat, - ___stat, ___statfs, __current_pid, _mach_absolute_time_kernel, - _mach_continuous_time_kernel ] ---- !tapi-tbd -tbd-version: 4 -targets: [ x86_64-macos, x86_64-maccatalyst, x86_64h-macos, x86_64h-maccatalyst, - arm64-macos, arm64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] -uuids: - - target: x86_64-macos - value: FA773620-5114-36B6-87CD-55EC4134D0C3 - - target: x86_64-maccatalyst - value: FA773620-5114-36B6-87CD-55EC4134D0C3 - - target: x86_64h-macos - value: 2F75F75F-DB36-3841-988F-48A7237ED6E9 - - target: x86_64h-maccatalyst - value: 2F75F75F-DB36-3841-988F-48A7237ED6E9 - - target: arm64-macos - value: 00000000-0000-0000-0000-000000000000 - - target: arm64-maccatalyst - value: 00000000-0000-0000-0000-000000000000 - - target: arm64e-macos - value: 549C9342-4F61-3D9E-9727-9F9B72C9F49F - - target: arm64e-maccatalyst - value: 549C9342-4F61-3D9E-9727-9F9B72C9F49F -install-name: '/usr/lib/system/libsystem_m.dylib' -current-version: 3186.100.3 -parent-umbrella: - - targets: [ x86_64-macos, x86_64-maccatalyst, x86_64h-macos, x86_64h-maccatalyst, - arm64-macos, arm64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] - umbrella: System -exports: - - targets: [ x86_64-macos, x86_64h-macos, x86_64-maccatalyst, x86_64h-maccatalyst ] - symbols: [ __FE_DFL_DISABLE_SSE_DENORMS_ENV, ___cos_d4, ___cos_f8, ___fpclassify, - ___inf, ___inff, ___infl, ___isfinite, ___isinf, ___isnan, - ___isnormal, ___nan, ___signbit, ___sin_d4, ___sin_f8, __simd_acos_d4, - __simd_acos_d8, __simd_acos_f16, __simd_acos_f8, __simd_acosh_d4, - __simd_acosh_d8, __simd_acosh_f16, __simd_acosh_f8, __simd_asin_d4, - __simd_asin_d8, __simd_asin_f16, __simd_asin_f8, __simd_asinh_d4, - __simd_asinh_d8, __simd_asinh_f16, __simd_asinh_f8, __simd_atan2_d4, - __simd_atan2_d8, __simd_atan2_f16, __simd_atan2_f8, __simd_atan_d4, - __simd_atan_d8, __simd_atan_f16, __simd_atan_f8, __simd_atanh_d4, - __simd_atanh_d8, __simd_atanh_f16, __simd_atanh_f8, __simd_cbrt_d4, - __simd_cbrt_d8, __simd_cbrt_f16, __simd_cbrt_f8, __simd_cos_d4, - __simd_cos_d8, __simd_cos_f16, __simd_cos_f8, __simd_cosh_d4, - __simd_cosh_d8, __simd_cosh_f16, __simd_cosh_f8, __simd_cospi_d4, - __simd_cospi_d8, __simd_cospi_f16, __simd_cospi_f8, __simd_erf_d4, - __simd_erf_d8, __simd_erf_f16, __simd_erf_f8, __simd_erfc_d4, - __simd_erfc_d8, __simd_erfc_f16, __simd_erfc_f8, __simd_exp10_d4, - __simd_exp10_d8, __simd_exp10_f16, __simd_exp10_f8, __simd_exp2_d4, - __simd_exp2_d8, __simd_exp2_f16, __simd_exp2_f8, __simd_exp_d4, - __simd_exp_d8, __simd_exp_f16, __simd_exp_f8, __simd_expm1_d4, - __simd_expm1_d8, __simd_expm1_f16, __simd_expm1_f8, __simd_fmod_d4, - __simd_fmod_d8, __simd_fmod_f16, __simd_fmod_f8, __simd_hypot_d4, - __simd_hypot_d8, __simd_hypot_f16, __simd_hypot_f8, __simd_log10_d4, - __simd_log10_d8, __simd_log10_f16, __simd_log10_f8, __simd_log1p_d4, - __simd_log1p_d8, __simd_log1p_f16, __simd_log1p_f8, __simd_log2_d4, - __simd_log2_d8, __simd_log2_f16, __simd_log2_f8, __simd_log_d4, - __simd_log_d8, __simd_log_f16, __simd_log_f8, __simd_nextafter_d4, - __simd_nextafter_d8, __simd_nextafter_f16, __simd_nextafter_f8, - __simd_pow_d4, __simd_pow_d8, __simd_pow_f16, __simd_pow_f8, - __simd_remainder_d4, __simd_remainder_d8, __simd_remainder_f16, - __simd_remainder_f8, __simd_round_d4, __simd_round_d8, __simd_round_f16, - __simd_round_f8, __simd_sin_d4, __simd_sin_d8, __simd_sin_f16, - __simd_sin_f8, __simd_sinh_d4, __simd_sinh_d8, __simd_sinh_f16, - __simd_sinh_f8, __simd_sinpi_d4, __simd_sinpi_d8, __simd_sinpi_f16, - __simd_sinpi_f8, __simd_tan_d4, __simd_tan_d8, __simd_tan_f16, - __simd_tan_f8, __simd_tanh_d4, __simd_tanh_d8, __simd_tanh_f16, - __simd_tanh_f8, __simd_tanpi_d4, __simd_tanpi_d8, __simd_tanpi_f16, - __simd_tanpi_f8, __simd_tgamma_d4, __simd_tgamma_d8, __simd_tgamma_f16, - __simd_tgamma_f8, '_acos$fenv_access_off', '_acosf$fenv_access_off', - '_acosh$fenv_access_off', '_acoshf$fenv_access_off', '_acoshl$fenv_access_off', - '_acosl$fenv_access_off', '_asin$fenv_access_off', '_asinf$fenv_access_off', - '_asinh$fenv_access_off', '_asinhf$fenv_access_off', '_asinhl$fenv_access_off', - '_asinl$fenv_access_off', '_atan$fenv_access_off', '_atan2$fenv_access_off', - '_atan2f$fenv_access_off', '_atan2l$fenv_access_off', '_atanf$fenv_access_off', - '_atanh$fenv_access_off', '_atanhf$fenv_access_off', '_atanhl$fenv_access_off', - '_atanl$fenv_access_off', '_cabs$fenv_access_off', '_cabsf$fenv_access_off', - '_cabsl$fenv_access_off', '_cacos$fenv_access_off', '_cacosf$fenv_access_off', - '_cacosh$fenv_access_off', '_cacoshf$fenv_access_off', '_cacoshl$fenv_access_off', - '_cacosl$fenv_access_off', '_carg$fenv_access_off', '_cargf$fenv_access_off', - '_cargl$fenv_access_off', '_casin$fenv_access_off', '_casinf$fenv_access_off', - '_casinh$fenv_access_off', '_casinhf$fenv_access_off', '_casinhl$fenv_access_off', - '_casinl$fenv_access_off', '_catan$fenv_access_off', '_catanf$fenv_access_off', - '_catanh$fenv_access_off', '_catanhf$fenv_access_off', '_catanhl$fenv_access_off', - '_catanl$fenv_access_off', '_cbrt$fenv_access_off', '_cbrtf$fenv_access_off', - '_cbrtl$fenv_access_off', '_ccos$fenv_access_off', '_ccosf$fenv_access_off', - '_ccosh$fenv_access_off', '_ccoshf$fenv_access_off', '_ccoshl$fenv_access_off', - '_ccosl$fenv_access_off', '_ceil$fenv_access_off', '_ceilf$fenv_access_off', - '_ceill$fenv_access_off', '_cexp$fenv_access_off', '_cexpf$fenv_access_off', - '_cexpl$fenv_access_off', '_cimag$fenv_access_off', '_cimagf$fenv_access_off', - '_cimagl$fenv_access_off', '_clog$fenv_access_off', '_clogf$fenv_access_off', - '_clogl$fenv_access_off', '_conj$fenv_access_off', '_conjf$fenv_access_off', - '_conjl$fenv_access_off', '_copysign$fenv_access_off', '_copysignf$fenv_access_off', - '_copysignl$fenv_access_off', '_cos$fenv_access_off', '_cosf$fenv_access_off', - '_cosh$fenv_access_off', '_coshf$fenv_access_off', '_coshl$fenv_access_off', - '_cosl$fenv_access_off', '_cpow$fenv_access_off', '_cpowf$fenv_access_off', - '_cpowl$fenv_access_off', '_cproj$fenv_access_off', '_cprojf$fenv_access_off', - '_cprojl$fenv_access_off', '_creal$fenv_access_off', '_crealf$fenv_access_off', - '_creall$fenv_access_off', '_csin$fenv_access_off', '_csinf$fenv_access_off', - '_csinh$fenv_access_off', '_csinhf$fenv_access_off', '_csinhl$fenv_access_off', - '_csinl$fenv_access_off', '_csqrt$fenv_access_off', '_csqrtf$fenv_access_off', - '_csqrtl$fenv_access_off', '_ctan$fenv_access_off', '_ctanf$fenv_access_off', - '_ctanh$fenv_access_off', '_ctanhf$fenv_access_off', '_ctanhl$fenv_access_off', - '_ctanl$fenv_access_off', _drem, '_erf$fenv_access_off', '_erfc$fenv_access_off', - '_erfcf$fenv_access_off', '_erfcl$fenv_access_off', '_erff$fenv_access_off', - '_erfl$fenv_access_off', '_exp$fenv_access_off', '_exp2$fenv_access_off', - '_exp2f$fenv_access_off', '_exp2l$fenv_access_off', '_expf$fenv_access_off', - '_expl$fenv_access_off', '_expm1$fenv_access_off', '_expm1f$fenv_access_off', - '_expm1l$fenv_access_off', '_fabs$fenv_access_off', '_fabsf$fenv_access_off', - '_fabsl$fenv_access_off', '_fdim$fenv_access_off', '_fdimf$fenv_access_off', - '_fdiml$fenv_access_off', _fegetexcept, _fesetexcept, _finite, - '_floor$fenv_access_off', '_floorf$fenv_access_off', '_floorl$fenv_access_off', - '_fma$fenv_access_off', '_fmaf$fenv_access_off', '_fmal$fenv_access_off', - '_fmax$fenv_access_off', '_fmaxf$fenv_access_off', '_fmaxl$fenv_access_off', - '_fmin$fenv_access_off', '_fminf$fenv_access_off', '_fminl$fenv_access_off', - '_fmod$fenv_access_off', '_fmodf$fenv_access_off', '_fmodl$fenv_access_off', - '_frexp$fenv_access_off', '_frexpf$fenv_access_off', '_frexpl$fenv_access_off', - _gamma, '_gamma$fenv_access_off', '_hypot$fenv_access_off', - '_hypotf$fenv_access_off', '_hypotl$fenv_access_off', '_ilogb$fenv_access_off', - '_ilogbf$fenv_access_off', '_ilogbl$fenv_access_off', '_ldexp$fenv_access_off', - '_ldexpf$fenv_access_off', '_ldexpl$fenv_access_off', '_lgamma$fenv_access_off', - '_lgamma_r$fenv_access_off', '_lgammaf$fenv_access_off', '_lgammaf_r$fenv_access_off', - '_lgammal$fenv_access_off', '_lgammal_r$fenv_access_off', - '_llrint$fenv_access_off', '_llrintf$fenv_access_off', '_llrintl$fenv_access_off', - '_llround$fenv_access_off', '_llroundf$fenv_access_off', '_llroundl$fenv_access_off', - '_log$fenv_access_off', '_log10$fenv_access_off', '_log10f$fenv_access_off', - '_log10l$fenv_access_off', '_log1p$fenv_access_off', '_log1pf$fenv_access_off', - '_log1pl$fenv_access_off', '_log2$fenv_access_off', '_log2f$fenv_access_off', - '_log2l$fenv_access_off', '_logb$fenv_access_off', '_logbf$fenv_access_off', - '_logbl$fenv_access_off', '_logf$fenv_access_off', '_logl$fenv_access_off', - '_lrint$fenv_access_off', '_lrintf$fenv_access_off', '_lrintl$fenv_access_off', - '_lround$fenv_access_off', '_lroundf$fenv_access_off', '_lroundl$fenv_access_off', - _matherr, '_modf$fenv_access_off', '_modff$fenv_access_off', - '_modfl$fenv_access_off', '_nearbyint$fenv_access_off', '_nearbyintf$fenv_access_off', - '_nearbyintl$fenv_access_off', '_nextafter$fenv_access_off', - _nextafterd, '_nextafterf$fenv_access_off', '_nextafterl$fenv_access_off', - '_nexttoward$fenv_access_off', '_nexttowardf$fenv_access_off', - '_nexttowardl$fenv_access_off', '_pow$fenv_access_off', '_powf$fenv_access_off', - '_powl$fenv_access_off', '_remainder$fenv_access_off', '_remainderf$fenv_access_off', - '_remainderl$fenv_access_off', '_remquo$fenv_access_off', - '_remquof$fenv_access_off', '_remquol$fenv_access_off', '_rint$fenv_access_off', - '_rintf$fenv_access_off', '_rintl$fenv_access_off', _rinttol, - '_round$fenv_access_off', '_roundf$fenv_access_off', '_roundl$fenv_access_off', - _roundtol, '_scalbln$fenv_access_off', '_scalblnf$fenv_access_off', - '_scalblnl$fenv_access_off', '_scalbn$fenv_access_off', '_scalbnf$fenv_access_off', - '_scalbnl$fenv_access_off', _significand, '_sin$fenv_access_off', - '_sinf$fenv_access_off', '_sinh$fenv_access_off', '_sinhf$fenv_access_off', - '_sinhl$fenv_access_off', '_sinl$fenv_access_off', '_sqrt$fenv_access_off', - '_sqrtf$fenv_access_off', '_sqrtl$fenv_access_off', '_tan$fenv_access_off', - '_tanf$fenv_access_off', '_tanh$fenv_access_off', '_tanhf$fenv_access_off', - '_tanhl$fenv_access_off', '_tanl$fenv_access_off', '_tgamma$fenv_access_off', - '_tgammaf$fenv_access_off', '_tgammal$fenv_access_off', '_trunc$fenv_access_off', - '_truncf$fenv_access_off', '_truncl$fenv_access_off' ] - - targets: [ arm64e-macos, x86_64-macos, x86_64h-macos, x86_64-maccatalyst, - x86_64h-maccatalyst, arm64e-maccatalyst, arm64-macos, arm64-maccatalyst ] - symbols: [ __FE_DFL_ENV, ___Libm_version, ___cos_d2, ___cos_f4, ___cospi, - ___cospif, ___exp10, ___exp10f, ___fegetfltrounds, ___fpclassifyd, - ___fpclassifyf, ___fpclassifyl, ___inline_isfinited, ___inline_isfinitef, - ___inline_isfinitel, ___inline_isinfd, ___inline_isinff, ___inline_isinfl, - ___inline_isnand, ___inline_isnanf, ___inline_isnanl, ___inline_isnormald, - ___inline_isnormalf, ___inline_isnormall, ___inline_signbitd, - ___inline_signbitf, ___inline_signbitl, ___invert_d2, ___invert_d3, - ___invert_d4, ___invert_f2, ___invert_f3, ___invert_f4, ___isfinited, - ___isfinitef, ___isfinitel, ___isinfd, ___isinff, ___isinfl, - ___isnand, ___isnanf, ___isnanl, ___isnormald, ___isnormalf, - ___isnormall, ___math_errhandling, ___signbitd, ___signbitf, - ___signbitl, ___sin_d2, ___sin_f4, ___sincos, ___sincos_stret, - ___sincosf, ___sincosf_stret, ___sincospi, ___sincospi_stret, - ___sincospif, ___sincospif_stret, ___sinpi, ___sinpif, ___tanpi, - ___tanpif, __simd_acos_d2, __simd_acos_f4, __simd_acosh_d2, - __simd_acosh_f4, __simd_asin_d2, __simd_asin_f4, __simd_asinh_d2, - __simd_asinh_f4, __simd_atan2_d2, __simd_atan2_f4, __simd_atan_d2, - __simd_atan_f4, __simd_atanh_d2, __simd_atanh_f4, __simd_cbrt_d2, - __simd_cbrt_f4, __simd_cos_d2, __simd_cos_f4, __simd_cosh_d2, - __simd_cosh_f4, __simd_cospi_d2, __simd_cospi_f4, __simd_erf_d2, - __simd_erf_f4, __simd_erfc_d2, __simd_erfc_f4, __simd_exp10_d2, - __simd_exp10_f4, __simd_exp2_d2, __simd_exp2_f4, __simd_exp_d2, - __simd_exp_f4, __simd_expm1_d2, __simd_expm1_f4, __simd_fma_d2, - __simd_fma_f4, __simd_fmod_d2, __simd_fmod_f4, __simd_hypot_d2, - __simd_hypot_f4, __simd_incircle_pd2, __simd_incircle_pf2, - __simd_insphere_pd3, __simd_insphere_pf3, __simd_log10_d2, - __simd_log10_f4, __simd_log1p_d2, __simd_log1p_f4, __simd_log2_d2, - __simd_log2_f4, __simd_log_d2, __simd_log_f4, __simd_nextafter_d2, - __simd_nextafter_f4, __simd_orient_pd2, __simd_orient_pd3, - __simd_orient_pf2, __simd_orient_pf3, __simd_orient_vd2, __simd_orient_vd3, - __simd_orient_vf2, __simd_orient_vf3, __simd_pow_d2, __simd_pow_f4, - __simd_remainder_d2, __simd_remainder_f4, __simd_round_d2, - __simd_round_f4, __simd_sin_d2, __simd_sin_f4, __simd_sinh_d2, - __simd_sinh_f4, __simd_sinpi_d2, __simd_sinpi_f4, __simd_tan_d2, - __simd_tan_f4, __simd_tanh_d2, __simd_tanh_f4, __simd_tanpi_d2, - __simd_tanpi_f4, __simd_tgamma_d2, __simd_tgamma_f4, _acos, - _acosf, _acosh, _acoshf, _acoshl, _acosl, _asin, _asinf, _asinh, - _asinhf, _asinhl, _asinl, _atan, _atan2, _atan2f, _atan2l, - _atanf, _atanh, _atanhf, _atanhl, _atanl, _cabs, _cabsf, _cabsl, - _cacos, _cacosf, _cacosh, _cacoshf, _cacoshl, _cacosl, _carg, - _cargf, _cargl, _casin, _casinf, _casinh, _casinhf, _casinhl, - _casinl, _catan, _catanf, _catanh, _catanhf, _catanhl, _catanl, - _cbrt, _cbrtf, _cbrtl, _ccos, _ccosf, _ccosh, _ccoshf, _ccoshl, - _ccosl, _ceil, _ceilf, _ceill, _cexp, _cexpf, _cexpl, _cimag, - _cimagf, _cimagl, _clog, _clogf, _clogl, _conj, _conjf, _conjl, - _copysign, _copysignf, _copysignl, _cos, _cosf, _cosh, _coshf, - _coshl, _cosl, _cpow, _cpowf, _cpowl, _cproj, _cprojf, _cprojl, - _creal, _crealf, _creall, _csin, _csinf, _csinh, _csinhf, - _csinhl, _csinl, _csqrt, _csqrtf, _csqrtl, _ctan, _ctanf, - _ctanh, _ctanhf, _ctanhl, _ctanl, _erf, _erfc, _erfcf, _erfcl, - _erff, _erfl, _exp, _exp2, _exp2f, _exp2l, _expf, _expl, _expm1, - _expm1f, _expm1l, _fabs, _fabsf, _fabsl, _fdim, _fdimf, _fdiml, - _feclearexcept, _fegetenv, _fegetexceptflag, _fegetround, - _feholdexcept, _feraiseexcept, _fesetenv, _fesetexceptflag, - _fesetround, _fetestexcept, _feupdateenv, _floor, _floorf, - _floorl, _fma, _fmaf, _fmal, _fmax, _fmaxf, _fmaxl, _fmin, - _fminf, _fminl, _fmod, _fmodf, _fmodl, _frexp, _frexpf, _frexpl, - _hypot, _hypotf, _hypotl, _ilogb, _ilogbf, _ilogbl, _isinf, - _isnan, _j0, _j1, _jn, _ldexp, _ldexpf, _ldexpl, _lgamma, - _lgamma_r, _lgammaf, _lgammaf_r, _lgammal, _lgammal_r, _llrint, - _llrintf, _llrintl, _llround, _llroundf, _llroundl, _log, - _log10, _log10f, _log10l, _log1p, _log1pf, _log1pl, _log2, - _log2f, _log2l, _logb, _logbf, _logbl, _logf, _logl, _lrint, - _lrintf, _lrintl, _lround, _lroundf, _lroundl, _matrix_identity_double2x2, - _matrix_identity_double3x3, _matrix_identity_double4x4, _matrix_identity_float2x2, - _matrix_identity_float3x3, _matrix_identity_float4x4, _modf, - _modff, _modfl, _nan, _nanf, _nanl, _nearbyint, _nearbyintf, - _nearbyintl, _nextafter, _nextafterf, _nextafterl, _nexttoward, - _nexttowardf, _nexttowardl, _pow, _powf, _powl, _remainder, - _remainderf, _remainderl, _remquo, _remquof, _remquol, _rint, - _rintf, _rintl, _round, _roundf, _roundl, _scalb, _scalbln, - _scalblnf, _scalblnl, _scalbn, _scalbnf, _scalbnl, _signgam, - _sin, _sinf, _sinh, _sinhf, _sinhl, _sinl, _sqrt, _sqrtf, - _sqrtl, _tan, _tanf, _tanh, _tanhf, _tanhl, _tanl, _tgamma, - _tgammaf, _tgammal, _trunc, _truncf, _truncl, _y0, _y1, _yn ] - - targets: [ arm64e-macos, arm64e-maccatalyst, arm64-macos, arm64-maccatalyst ] - symbols: [ __FE_DFL_DISABLE_DENORMS_ENV ] ---- !tapi-tbd -tbd-version: 4 -targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] -uuids: - - target: x86_64-macos - value: 029B5632-62B4-39F6-981C-BCA99C1FBF1D - - target: x86_64-maccatalyst - value: 029B5632-62B4-39F6-981C-BCA99C1FBF1D - - target: arm64-macos - value: 00000000-0000-0000-0000-000000000000 - - target: arm64-maccatalyst - value: 00000000-0000-0000-0000-000000000000 - - target: arm64e-macos - value: 0E5B3E8E-D999-3EBC-94E6-C66EA9BCDB46 - - target: arm64e-maccatalyst - value: 0E5B3E8E-D999-3EBC-94E6-C66EA9BCDB46 -install-name: '/usr/lib/system/libsystem_malloc.dylib' -current-version: 317.100.9 -parent-umbrella: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] - umbrella: System -exports: - - targets: [ arm64e-macos, x86_64-macos, x86_64-maccatalyst, arm64e-maccatalyst, - arm64-macos, arm64-maccatalyst ] - symbols: [ ___mach_stack_logging_copy_uniquing_table, ___mach_stack_logging_enumerate_records, - ___mach_stack_logging_frames_for_uniqued_stack, ___mach_stack_logging_get_frames, - ___mach_stack_logging_get_frames_for_stackid, ___mach_stack_logging_set_file_path, - ___mach_stack_logging_shared_memory_address, ___mach_stack_logging_stackid_for_vm_region, - ___mach_stack_logging_start_reading, ___mach_stack_logging_stop_reading, - ___mach_stack_logging_uniquing_table_copy_from_serialized, - ___mach_stack_logging_uniquing_table_read_stack, ___mach_stack_logging_uniquing_table_release, - ___mach_stack_logging_uniquing_table_retain, ___mach_stack_logging_uniquing_table_serialize, - ___mach_stack_logging_uniquing_table_sizeof, ___malloc_init, - ___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_enter_process_memory_limit_warn_mode, _malloc_error, - _malloc_freezedry, _malloc_get_all_zones, _malloc_get_zone_name, - _malloc_good_size, _malloc_jumpstart, _malloc_logger, _malloc_make_nonpurgeable, - _malloc_make_purgeable, _malloc_memory_event_handler, _malloc_num_zones, - _malloc_num_zones_allocated, _malloc_printf, _malloc_register_stack_logger, - _malloc_set_zone_name, _malloc_singlethreaded, _malloc_size, - _malloc_zone_batch_free, _malloc_zone_batch_malloc, _malloc_zone_calloc, - _malloc_zone_check, _malloc_zone_claimed_address, _malloc_zone_disable_discharge_checking, - _malloc_zone_discharge, _malloc_zone_enable_discharge_checking, - _malloc_zone_enumerate_discharged_pointers, _malloc_zone_free, - _malloc_zone_from_ptr, _malloc_zone_log, _malloc_zone_malloc, - _malloc_zone_memalign, _malloc_zone_pressure_relief, _malloc_zone_print, - _malloc_zone_print_ptr_info, _malloc_zone_realloc, _malloc_zone_register, - _malloc_zone_statistics, _malloc_zone_unregister, _malloc_zone_valloc, - _malloc_zones, _mstats, _pgm_diagnose_fault_from_crash_reporter, - _posix_memalign, _realloc, '_reallocarray$DARWIN_EXTSN', '_reallocarrayf$DARWIN_EXTSN', - _scalable_zone_info, _scalable_zone_statistics, _set_malloc_singlethreaded, - _stack_logging_enable_logging, _szone_check_counter, _szone_check_modulo, - _szone_check_start, _tiny_print_region_free_list, _turn_off_stack_logging, - _turn_on_stack_logging, _valloc, _vfree, _zeroify_scalable_zone ] ---- !tapi-tbd -tbd-version: 4 -targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] -uuids: - - target: x86_64-macos - value: 33F45B5A-D346-3E7F-AB34-DFC4387E5A3C - - target: x86_64-maccatalyst - value: 33F45B5A-D346-3E7F-AB34-DFC4387E5A3C - - target: arm64-macos - value: 00000000-0000-0000-0000-000000000000 - - target: arm64-maccatalyst - value: 00000000-0000-0000-0000-000000000000 - - target: arm64e-macos - value: A9BF7C18-36A4-35CA-8954-2DD6EA2426D9 - - target: arm64e-maccatalyst - value: A9BF7C18-36A4-35CA-8954-2DD6EA2426D9 -install-name: '/usr/lib/system/libsystem_networkextension.dylib' -parent-umbrella: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] - umbrella: System -exports: - - targets: [ arm64e-macos, x86_64-macos, x86_64-maccatalyst, arm64e-maccatalyst, - arm64-macos, arm64-maccatalyst ] - symbols: [ _NEHelperCacheAddRedirectedAddress, _NEHelperCacheClearRedirectedAddresses, - _NEHelperCacheClearUUIDs, _NEHelperCacheCopyAppUUIDMapping, - _NEHelperCacheCopyAppUUIDMappingExtended, _NEHelperCacheCopyAppUUIDMappingForUIDExtended, - _NEHelperCacheCopySigningIdentifierMapping, _NEHelperCacheSetDomainDictionaries, - _NEHelperCacheSetRoutes, _NEHelperCopyAggregatePathRules, - _NEHelperCopyAppInfo, _NEHelperCopyCurrentNetworkAsync, _NEHelperCopyCurrentNetworkInfo, - _NEHelperCopyPerAppDomains, _NEHelperCopyPreferredBundleID, - _NEHelperCopyResponse, _NEHelperCopyResponseAndCancel, _NEHelperGetIKESocket, - _NEHelperGetIKESocketWithResult, _NEHelperGetKernelControlSocket, - _NEHelperGetKernelControlSocketExtended, _NEHelperGetNECPSessionFD, - _NEHelperGetPFKeySocket, _NEHelperHandleConfigurationsChangedBySC, - _NEHelperInit, _NEHelperInterfaceRemoveAddress, _NEHelperInterfaceSetAddress, - _NEHelperInterfaceSetMTU, _NEHelperInterfaceSetOption, _NEHelperSendRequest, - _NEHelperSettingsSetArray, _NEHelperSettingsSetBool, _NEHelperSettingsSetNumber, - _NEHelperVPNConfigurationExists, _NEHelperVPNSetEnabled, _g_ne_read_uuid_cache, - _g_ne_uuid_cache_hit, _ne_copy_cached_bundle_identifier_for_uuid, - _ne_copy_cached_preferred_bundle_for_bundle_identifier, _ne_copy_cached_uuids_for_bundle_identifier, - _ne_copy_signature_info_for_pid, _ne_copy_signing_identifier_for_pid, - _ne_copy_uuid_cache, _ne_force_reset_uuid_cache, _ne_get_configuration_generation, - _ne_is_sockaddr_valid, _ne_log_large_obj, _ne_log_obj, _ne_print_backtrace, - _ne_session_add_necp_drop_dest_from_path, _ne_session_address_matches_subnets, - _ne_session_agent_get_advisory, _ne_session_agent_get_advisory_interface_index, - _ne_session_always_on_vpn_configs_present, _ne_session_always_on_vpn_configs_present_at_boot, - _ne_session_app_vpn_configs_present, _ne_session_cancel, _ne_session_content_filter_configs_present, - _ne_session_copy_app_data_from_flow_divert_socket, _ne_session_copy_app_data_from_flow_divert_token, - _ne_session_copy_policy_match, _ne_session_copy_security_session_info, - _ne_session_copy_socket_attributes, _ne_session_create, _ne_session_disable_restrictions, - _ne_session_dns_proxy_configs_present, _ne_session_dns_settings_configs_present, - _ne_session_establish_ipc, _ne_session_fallback_advisory, - _ne_session_fallback_default, _ne_session_get_config_id_from_network_agent, - _ne_session_get_configuration_id, _ne_session_get_info, _ne_session_get_info2, - _ne_session_get_status, _ne_session_info_type_to_string, _ne_session_initialize_necp_drop_all, - _ne_session_is_always_on_vpn_enabled, _ne_session_is_safeboot, - _ne_session_local_communication_configs_present, _ne_session_local_communication_send_info, - _ne_session_manager_get_pid, _ne_session_manager_has_active_sessions, - _ne_session_manager_is_running, _ne_session_on_demand_configs_present, - _ne_session_path_controller_configs_present, _ne_session_policy_copy_flow_divert_token, - _ne_session_policy_copy_flow_divert_token_with_key, _ne_session_policy_match_get_filter_unit, - _ne_session_policy_match_get_flow_divert_unit, _ne_session_policy_match_get_scoped_interface_index, - _ne_session_policy_match_get_service, _ne_session_policy_match_get_service_action, - _ne_session_policy_match_get_service_type, _ne_session_policy_match_is_drop, - _ne_session_policy_match_is_flow_divert, _ne_session_policy_match_service_is_registered, - _ne_session_release, _ne_session_retain, _ne_session_send_barrier, - _ne_session_service_get_dns_service_id, _ne_session_service_get_dns_service_id_for_interface, - _ne_session_service_matches_address, _ne_session_service_matches_address_for_interface, - _ne_session_set_event_handler, _ne_session_set_socket_attributes, - _ne_session_should_disable_nexus, _ne_session_start, _ne_session_start_on_behalf_of, - _ne_session_start_with_options, _ne_session_status_to_string, - _ne_session_stop, _ne_session_stop_all_with_plugin_type, _ne_session_stop_reason_to_string, - _ne_session_type_to_string, _ne_session_use_as_system_vpn, - _ne_session_vpn_include_all_networks_configs_present, _nehelper_copy_connection, - _nehelper_queue, _nelog_is_debug_logging_enabled, _nelog_is_extra_vpn_logging_enabled, - _nelog_is_info_logging_enabled ] ---- !tapi-tbd -tbd-version: 4 -targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] -uuids: - - target: x86_64-macos - value: 1AA89769-E07F-37CD-BBCF-6DBD345862EB - - target: x86_64-maccatalyst - value: 1AA89769-E07F-37CD-BBCF-6DBD345862EB - - target: arm64-macos - value: 00000000-0000-0000-0000-000000000000 - - target: arm64-maccatalyst - value: 00000000-0000-0000-0000-000000000000 - - target: arm64e-macos - value: D6E6F5C7-AF4A-3AFB-8BFB-9D15FA73061D - - target: arm64e-maccatalyst - value: D6E6F5C7-AF4A-3AFB-8BFB-9D15FA73061D -install-name: '/usr/lib/system/libsystem_notify.dylib' -current-version: 279.40.4 -exports: - - targets: [ arm64e-macos, x86_64-macos, x86_64-maccatalyst, arm64e-maccatalyst, - arm64-macos, arm64-maccatalyst ] - symbols: [ __notify_fork_child, _notify_cancel, _notify_check, _notify_dump_status, - _notify_get_event, _notify_get_state, _notify_is_valid_token, - _notify_monitor_file, _notify_peek, _notify_post, _notify_register_check, - _notify_register_dispatch, _notify_register_file_descriptor, - _notify_register_mach_port, _notify_register_plain, _notify_register_signal, - _notify_resume, _notify_resume_pid, _notify_set_options, _notify_set_state, - _notify_simple_post, _notify_suspend, _notify_suspend_pid ] ---- !tapi-tbd -tbd-version: 4 -targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] -uuids: - - target: x86_64-macos - value: 03429519-EBEA-3549-84A6-0FD426CB7373 - - target: x86_64-maccatalyst - value: 03429519-EBEA-3549-84A6-0FD426CB7373 - - target: arm64-macos - value: C42C2B9F-8B6E-31E1-9D5F-D65B25E98D51 - - target: arm64-maccatalyst - value: C42C2B9F-8B6E-31E1-9D5F-D65B25E98D51 - - target: arm64e-macos - value: 991F42C6-2E43-3937-B899-A9A043208020 - - target: arm64e-maccatalyst - value: 991F42C6-2E43-3937-B899-A9A043208020 -install-name: '/usr/lib/system/libsystem_platform.dylib' -current-version: 254.80.2 -parent-umbrella: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] - umbrella: System -exports: - - targets: [ x86_64-maccatalyst, x86_64-macos ] - symbols: [ '_OSAtomicFifoDequeue$VARIANT$PFZ', '_OSAtomicFifoDequeue$VARIANT$UnfairLock', - '_OSAtomicFifoEnqueue$VARIANT$PFZ', '_OSAtomicFifoEnqueue$VARIANT$UnfairLock', - __sigtramp, _bzero_sse_np, _longjmperror, _memmove_sse_np, - _memset_pattern16_sse_np, _memset_pattern4_sse_np, _memset_pattern8_sse_np, - _memset_sse_np ] - - targets: [ x86_64-maccatalyst, x86_64-macos, arm64-maccatalyst, arm64-macos, - arm64e-maccatalyst, arm64e-macos ] - symbols: [ _OSAtomicAdd32, _OSAtomicAdd32Barrier, _OSAtomicAdd64, _OSAtomicAdd64Barrier, - _OSAtomicAnd32, _OSAtomicAnd32Barrier, _OSAtomicAnd32Orig, - _OSAtomicAnd32OrigBarrier, _OSAtomicCompareAndSwap32, _OSAtomicCompareAndSwap32Barrier, - _OSAtomicCompareAndSwap64, _OSAtomicCompareAndSwap64Barrier, - _OSAtomicCompareAndSwapInt, _OSAtomicCompareAndSwapIntBarrier, - _OSAtomicCompareAndSwapLong, _OSAtomicCompareAndSwapLongBarrier, - _OSAtomicCompareAndSwapPtr, _OSAtomicCompareAndSwapPtrBarrier, - _OSAtomicDecrement32, _OSAtomicDecrement32Barrier, _OSAtomicDecrement64, - _OSAtomicDecrement64Barrier, _OSAtomicDequeue, _OSAtomicEnqueue, - _OSAtomicFifoDequeue, _OSAtomicFifoEnqueue, _OSAtomicIncrement32, - _OSAtomicIncrement32Barrier, _OSAtomicIncrement64, _OSAtomicIncrement64Barrier, - _OSAtomicOr32, _OSAtomicOr32Barrier, _OSAtomicOr32Orig, _OSAtomicOr32OrigBarrier, - _OSAtomicTestAndClear, _OSAtomicTestAndClearBarrier, _OSAtomicTestAndSet, - _OSAtomicTestAndSetBarrier, _OSAtomicXor32, _OSAtomicXor32Barrier, - _OSAtomicXor32Orig, _OSAtomicXor32OrigBarrier, _OSMemoryBarrier, - _OSSpinLockLock, _OSSpinLockTry, _OSSpinLockUnlock, __OSSpinLockLockSlow, - ___bzero, ___libplatform_init, ___os_once_reset, ___platform_sigaction, - __longjmp, __os_alloc_once, __os_lock_type_eliding, __os_lock_type_handoff, - __os_lock_type_nospin, __os_lock_type_spin, __os_lock_type_transactional, - __os_lock_type_unfair, __os_nospin_lock_lock, __os_nospin_lock_trylock, - __os_nospin_lock_unlock, __os_once, __os_semaphore_create, - __os_semaphore_dispose, __os_semaphore_signal, __os_semaphore_wait, - __platform_bzero, __platform_memccpy, __platform_memchr, __platform_memcmp, - __platform_memmove, __platform_memset, __platform_memset_pattern16, - __platform_memset_pattern4, __platform_memset_pattern8, __platform_strchr, - __platform_strcmp, __platform_strcpy, __platform_strlcat, - __platform_strlcpy, __platform_strlen, __platform_strncmp, - __platform_strncpy, __platform_strnlen, __platform_strstr, - __setjmp, __simple_asl_log, __simple_asl_log_prog, __simple_asl_msg_new, - __simple_asl_msg_set, __simple_asl_send, __simple_dprintf, - __simple_esappend, __simple_esprintf, __simple_getenv, __simple_put, - __simple_putline, __simple_salloc, __simple_sappend, __simple_sfree, - __simple_sprintf, __simple_sresize, __simple_string, __simple_vdprintf, - __simple_vesprintf, __simple_vsprintf, __spin_lock, __spin_lock_try, - __spin_unlock, _ffs, _ffsl, _ffsll, _fls, _flsl, _flsll, _getcontext, - _longjmp, _makecontext, _os_lock_lock, _os_lock_trylock, _os_lock_unlock, - _os_unfair_lock_assert_not_owner, _os_unfair_lock_assert_owner, - _os_unfair_lock_lock, _os_unfair_lock_lock_no_tsd, _os_unfair_lock_lock_with_options, - _os_unfair_lock_trylock, _os_unfair_lock_unlock, _os_unfair_lock_unlock_no_tsd, - _os_unfair_recursive_lock_lock_with_options, _os_unfair_recursive_lock_owned, - _os_unfair_recursive_lock_trylock, _os_unfair_recursive_lock_tryunlock4objc, - _os_unfair_recursive_lock_unlock, _os_unfair_recursive_lock_unlock_forked_child, - _platform_task_attach, _platform_task_copy_next_thread, _platform_task_detach, - _platform_task_is_64_bit, _platform_task_perform, _platform_task_resume_threads, - _platform_task_suspend_threads, _platform_task_update_threads, - _platform_thread_abort_safely, _platform_thread_get_pthread, - _platform_thread_get_state, _platform_thread_get_unique_id, - _platform_thread_info, _platform_thread_perform, _platform_thread_release, - _platform_thread_resume, _platform_thread_set_state, _platform_thread_suspend, - _setcontext, _setjmp, _siglongjmp, _sigsetjmp, _spin_lock, - _spin_lock_try, _spin_unlock, _swapcontext, _sys_cache_control, - _sys_dcache_flush, _sys_icache_invalidate ] - - targets: [ arm64-maccatalyst, arm64-macos, arm64e-maccatalyst, arm64e-macos ] - symbols: [ __ctx_done ] ---- !tapi-tbd -tbd-version: 4 -targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] -uuids: - - target: x86_64-macos - value: 4CCFBF85-6483-364F-A8D6-A5D2956BEC52 - - target: x86_64-maccatalyst - value: 4CCFBF85-6483-364F-A8D6-A5D2956BEC52 - - target: arm64-macos - value: 00000000-0000-0000-0000-000000000000 - - target: arm64-maccatalyst - value: 00000000-0000-0000-0000-000000000000 - - target: arm64e-macos - value: 50BD218A-957D-3A15-BD09-A37F3C9C5499 - - target: arm64e-maccatalyst - value: 50BD218A-957D-3A15-BD09-A37F3C9C5499 -install-name: '/usr/lib/system/libsystem_product_info_filter.dylib' -current-version: 8.40.1 -parent-umbrella: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] - umbrella: System ---- !tapi-tbd -tbd-version: 4 -targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] -uuids: - - target: x86_64-macos - value: 52F807B1-41A0-3D1E-AE89-115CA570863F - - target: x86_64-maccatalyst - value: 52F807B1-41A0-3D1E-AE89-115CA570863F - - target: arm64-macos - value: 2C9CD496-6C4E-3C44-92DA-4931CCA8D85D - - target: arm64-maccatalyst - value: 2C9CD496-6C4E-3C44-92DA-4931CCA8D85D - - target: arm64e-macos - value: 84CF19CF-0E7D-3604-900D-B16E6EDEAD0A - - target: arm64e-maccatalyst - value: 84CF19CF-0E7D-3604-900D-B16E6EDEAD0A -install-name: '/usr/lib/system/libsystem_pthread.dylib' -current-version: 454.100.8 -parent-umbrella: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] - umbrella: System -exports: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] - symbols: [ __pthread_is_threaded, _cthread_yield ] - - targets: [ arm64e-macos, x86_64-macos, arm64-macos, x86_64-maccatalyst, - arm64-maccatalyst, arm64e-maccatalyst ] - symbols: [ ____chkstk_darwin, ___is_threaded, ___pthread_init, ___pthread_workqueue_setkill, - ___unix_conforming, __pthread_atfork_child, __pthread_atfork_child_handlers, - __pthread_atfork_parent, __pthread_atfork_parent_handlers, - __pthread_atfork_prepare, __pthread_atfork_prepare_handlers, - __pthread_clear_qos_tsd, __pthread_exit_if_canceled, __pthread_fork_child, - __pthread_fork_child_postinit, __pthread_fork_parent, __pthread_fork_prepare, - __pthread_mutex_enable_legacy_mode, __pthread_override_qos_class_end_direct, - __pthread_override_qos_class_start_direct, __pthread_qos_class_decode, - __pthread_qos_class_encode, __pthread_qos_class_encode_workqueue, - __pthread_qos_override_end_direct, __pthread_qos_override_start_direct, - __pthread_self, __pthread_set_properties_self, __pthread_set_self, - __pthread_setspecific_static, __pthread_start, __pthread_workloop_create, - __pthread_workloop_destroy, __pthread_workqueue_addthreads, - __pthread_workqueue_asynchronous_override_add, __pthread_workqueue_asynchronous_override_reset_all_self, - __pthread_workqueue_asynchronous_override_reset_self, __pthread_workqueue_init, - __pthread_workqueue_init_with_kevent, __pthread_workqueue_init_with_workloop, - __pthread_workqueue_override_reset, __pthread_workqueue_override_start_direct, - __pthread_workqueue_override_start_direct_check_owner, __pthread_workqueue_set_event_manager_priority, - __pthread_workqueue_should_narrow, __pthread_workqueue_supported, - __pthread_wqthread, _posix_spawnattr_get_qos_class_np, _posix_spawnattr_set_qos_class_np, - _pthread_atfork, _pthread_attr_destroy, _pthread_attr_get_qos_class_np, - _pthread_attr_getdetachstate, _pthread_attr_getguardsize, - _pthread_attr_getinheritsched, _pthread_attr_getschedparam, - _pthread_attr_getschedpolicy, _pthread_attr_getscope, _pthread_attr_getstack, - _pthread_attr_getstackaddr, _pthread_attr_getstacksize, _pthread_attr_init, - _pthread_attr_set_qos_class_np, _pthread_attr_setcpupercent_np, - _pthread_attr_setdetachstate, _pthread_attr_setguardsize, - _pthread_attr_setinheritsched, _pthread_attr_setschedparam, - _pthread_attr_setschedpolicy, _pthread_attr_setscope, _pthread_attr_setstack, - _pthread_attr_setstackaddr, _pthread_attr_setstacksize, _pthread_cancel, - _pthread_chdir_np, _pthread_cond_broadcast, _pthread_cond_destroy, - _pthread_cond_init, _pthread_cond_signal, _pthread_cond_signal_thread_np, - _pthread_cond_timedwait, '_pthread_cond_timedwait$NOCANCEL', - _pthread_cond_timedwait_relative_np, _pthread_cond_wait, '_pthread_cond_wait$NOCANCEL', - _pthread_condattr_destroy, _pthread_condattr_getpshared, _pthread_condattr_init, - _pthread_condattr_setpshared, _pthread_cpu_number_np, _pthread_create, - _pthread_create_from_mach_thread, _pthread_create_suspended_np, - _pthread_current_stack_contains_np, _pthread_dependency_fulfill_np, - _pthread_dependency_init_np, _pthread_dependency_wait_np, - _pthread_detach, _pthread_equal, _pthread_exit, _pthread_fchdir_np, - _pthread_from_mach_thread_np, _pthread_get_qos_class_np, _pthread_get_stackaddr_np, - _pthread_get_stacksize_np, _pthread_getconcurrency, _pthread_getname_np, - _pthread_getschedparam, _pthread_getspecific, _pthread_introspection_getspecific_np, - _pthread_introspection_hook_install, _pthread_introspection_setspecific_np, - _pthread_is_threaded_np, _pthread_jit_write_protect_np, _pthread_jit_write_protect_supported_np, - _pthread_join, '_pthread_join$NOCANCEL', _pthread_key_create, - _pthread_key_delete, _pthread_key_init_np, _pthread_kill, - _pthread_layout_offsets, _pthread_mach_thread_np, _pthread_main_np, - _pthread_main_thread_np, _pthread_mutex_destroy, _pthread_mutex_getprioceiling, - _pthread_mutex_init, _pthread_mutex_lock, _pthread_mutex_setprioceiling, - _pthread_mutex_trylock, _pthread_mutex_unlock, _pthread_mutexattr_destroy, - _pthread_mutexattr_getpolicy_np, _pthread_mutexattr_getprioceiling, - _pthread_mutexattr_getprotocol, _pthread_mutexattr_getpshared, - _pthread_mutexattr_gettype, _pthread_mutexattr_init, _pthread_mutexattr_setpolicy_np, - _pthread_mutexattr_setprioceiling, _pthread_mutexattr_setprotocol, - _pthread_mutexattr_setpshared, _pthread_mutexattr_settype, - _pthread_once, _pthread_override_qos_class_end_np, _pthread_override_qos_class_start_np, - _pthread_prefer_alternate_amx_self, _pthread_qos_max_parallelism, - _pthread_rwlock_destroy, _pthread_rwlock_init, _pthread_rwlock_rdlock, - _pthread_rwlock_tryrdlock, _pthread_rwlock_trywrlock, _pthread_rwlock_unlock, - _pthread_rwlock_wrlock, _pthread_rwlockattr_destroy, _pthread_rwlockattr_getpshared, - _pthread_rwlockattr_init, _pthread_rwlockattr_setpshared, - _pthread_self, _pthread_self_is_exiting_np, _pthread_set_fixedpriority_self, - _pthread_set_qos_class_np, _pthread_set_qos_class_self_np, - _pthread_set_timeshare_self, _pthread_setcancelstate, _pthread_setcanceltype, - _pthread_setconcurrency, _pthread_setname_np, _pthread_setschedparam, - _pthread_setspecific, _pthread_sigmask, _pthread_stack_frame_decode_np, - _pthread_testcancel, _pthread_threadid_np, _pthread_time_constraint_max_parallelism, - _pthread_workqueue_addthreads_np, _pthread_workqueue_setdispatch_np, - _pthread_workqueue_setdispatchoffset_np, _pthread_workqueue_setup, - _pthread_yield_np, _qos_class_main, _qos_class_self, _sched_get_priority_max, - _sched_get_priority_min, _sched_yield, _sigwait, '_sigwait$NOCANCEL', - _start_wqthread, _thread_chkstk_darwin, _thread_start ] ---- !tapi-tbd -tbd-version: 4 -targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] -uuids: - - target: x86_64-macos - value: 24C8DF94-E258-3E24-AC96-2D1FB85F076A - - target: x86_64-maccatalyst - value: 24C8DF94-E258-3E24-AC96-2D1FB85F076A - - target: arm64-macos - value: 00000000-0000-0000-0000-000000000000 - - target: arm64-maccatalyst - value: 00000000-0000-0000-0000-000000000000 - - target: arm64e-macos - value: 704F03F3-ABC8-3904-8395-DFA0FA94A824 - - target: arm64e-maccatalyst - value: 704F03F3-ABC8-3904-8395-DFA0FA94A824 -install-name: '/usr/lib/system/libsystem_sandbox.dylib' -current-version: 1441.101.1 -parent-umbrella: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] - umbrella: System -exports: - - targets: [ arm64e-macos, x86_64-macos, x86_64-maccatalyst, arm64e-maccatalyst, - arm64-macos, arm64-maccatalyst ] - symbols: [ _APP_SANDBOX_IOKIT_CLIENT, _APP_SANDBOX_MACH, _APP_SANDBOX_READ, - _APP_SANDBOX_READ_WRITE, _IOS_SANDBOX_APPLICATION_GROUP, _IOS_SANDBOX_CONTAINER, - _SANDBOX_CHECK_ALLOW_APPROVAL, _SANDBOX_CHECK_CANONICAL, _SANDBOX_CHECK_NOFOLLOW, - _SANDBOX_CHECK_NO_APPROVAL, _SANDBOX_CHECK_NO_REPORT, _SANDBOX_EXTENSION_CANONICAL, - _SANDBOX_EXTENSION_DEFAULT, _SANDBOX_EXTENSION_MACL_LEARNING, - _SANDBOX_EXTENSION_MAGIC, _SANDBOX_EXTENSION_NOFOLLOW, _SANDBOX_EXTENSION_NO_REPORT, - _SANDBOX_EXTENSION_NO_STORAGE_CLASS, _SANDBOX_EXTENSION_PREFIXMATCH, - _SANDBOX_EXTENSION_UNRESOLVED, _SANDBOX_EXTENSION_USER_INTENT, - __amkrtemp, __sandbox_in_a_container, _gpu_bundle_find_trusted, - _gpu_bundle_is_path_trusted, _kSBXProfileNoInternet, _kSBXProfileNoNetwork, - _kSBXProfileNoWrite, _kSBXProfileNoWriteExceptTemporary, _kSBXProfilePureComputation, - _rootless_allows_task_for_pid, _rootless_apply, _rootless_apply_internal, - _rootless_apply_relative, _rootless_check_datavault_flag, - _rootless_check_restricted_flag, _rootless_check_trusted, - _rootless_check_trusted_class, _rootless_check_trusted_fd, - _rootless_convert_to_datavault, _rootless_manifest_free, _rootless_manifest_parse, - _rootless_mkdir_datavault, _rootless_mkdir_nounlink, _rootless_mkdir_restricted, - _rootless_preflight, _rootless_protected_volume, _rootless_register_trusted_storage_class, - _rootless_restricted_environment, _rootless_suspend, _rootless_trusted_by_self_token, - _rootless_verify_trusted_by_self_token, _sandbox_builtin_query, - _sandbox_check, _sandbox_check_bulk, _sandbox_check_by_audit_token, - _sandbox_check_by_reference, _sandbox_check_by_uniqueid, _sandbox_check_message_filter_integer, - _sandbox_check_message_filter_string, _sandbox_consume_extension, - _sandbox_consume_fs_extension, _sandbox_consume_mach_extension, - _sandbox_container_path_for_audit_token, _sandbox_container_path_for_pid, - _sandbox_enable_root_translation, _sandbox_extension_consume, - _sandbox_extension_issue_file, _sandbox_extension_issue_file_to_process, - _sandbox_extension_issue_file_to_process_by_pid, _sandbox_extension_issue_file_to_self, - _sandbox_extension_issue_generic, _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_reap, - _sandbox_extension_release, _sandbox_extension_release_file, - _sandbox_extension_update_file, _sandbox_free_error, _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_issue_mach_extension, _sandbox_message_filter_query, - _sandbox_message_filter_release, _sandbox_note, _sandbox_passthrough_access, - _sandbox_proc_getcontainer, _sandbox_proc_getprofilename, - _sandbox_query_approval_policy_for_path, _sandbox_query_user_intent_for_process_with_audit_token, - _sandbox_reference_release, _sandbox_reference_retain_by_audit_token, - _sandbox_release_fs_extension, _sandbox_requests_integrity_protection_for_preference_domain, - _sandbox_set_container_path_for_application_group, _sandbox_set_container_path_for_application_group_with_persona, - _sandbox_set_container_path_for_signing_id, _sandbox_set_container_path_for_signing_id_with_persona, - _sandbox_spawnattrs_getcontainer, _sandbox_spawnattrs_getprofilename, - _sandbox_spawnattrs_init, _sandbox_spawnattrs_setcontainer, - _sandbox_spawnattrs_setprofilename, _sandbox_suspend, _sandbox_unsuspend ] ---- !tapi-tbd -tbd-version: 4 -targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] -uuids: - - target: x86_64-macos - value: 18494A83-796C-33D5-A6D0-BD4E0C2BBFC4 - - target: x86_64-maccatalyst - value: 18494A83-796C-33D5-A6D0-BD4E0C2BBFC4 - - target: arm64-macos - value: 00000000-0000-0000-0000-000000000000 - - target: arm64-maccatalyst - value: 00000000-0000-0000-0000-000000000000 - - target: arm64e-macos - value: DF976C39-729C-3AE4-AE08-B14C5A81BF11 - - target: arm64e-maccatalyst - value: DF976C39-729C-3AE4-AE08-B14C5A81BF11 -install-name: '/usr/lib/system/libsystem_secinit.dylib' -current-version: 87.60.1 -parent-umbrella: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] - umbrella: System -exports: - - targets: [ arm64e-macos, x86_64-macos, x86_64-maccatalyst, arm64e-maccatalyst, - arm64-macos, arm64-maccatalyst ] - symbols: [ __libsecinit_initializer, _libsecinit_delete_all_data_container_content_for_current_user, - _libsecinit_fileoperation_save, _libsecinit_fileoperation_set_attributes, - _libsecinit_fileoperation_symlink ] ---- !tapi-tbd -tbd-version: 4 -targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] -uuids: - - target: x86_64-macos - value: 226C631F-5380-395A-AA20-D686AEA05B9B - - target: x86_64-maccatalyst - value: 226C631F-5380-395A-AA20-D686AEA05B9B - - target: arm64-macos - value: 00000000-0000-0000-0000-000000000000 - - target: arm64-maccatalyst - value: 00000000-0000-0000-0000-000000000000 - - target: arm64e-macos - value: 286DD4C5-E381-3B1E-A7FA-D01650331B6C - - target: arm64e-maccatalyst - value: 286DD4C5-E381-3B1E-A7FA-D01650331B6C -install-name: '/usr/lib/system/libsystem_symptoms.dylib' -parent-umbrella: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] - umbrella: System -exports: - - targets: [ arm64e-macos, x86_64-macos, x86_64-maccatalyst, arm64e-maccatalyst, - arm64-macos, arm64-maccatalyst ] - symbols: [ __symptoms_daemon_fallback_initial_disposition, __symptoms_daemon_fallback_subseq_disposition, - __symptoms_is_daemon_fallback_blacklisted, _symptom_framework_init, - _symptom_framework_set_version, _symptom_new, _symptom_send, - _symptom_send_immediate, _symptom_set_additional_qualifier, - _symptom_set_qualifier ] ---- !tapi-tbd -tbd-version: 4 -targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] -uuids: - - target: x86_64-macos - value: 1AAE1F8F-9F9D-3327-8A95-3A6887CED713 - - target: x86_64-maccatalyst - value: 1AAE1F8F-9F9D-3327-8A95-3A6887CED713 - - target: arm64-macos - value: 00000000-0000-0000-0000-000000000000 - - target: arm64-maccatalyst - value: 00000000-0000-0000-0000-000000000000 - - target: arm64e-macos - value: 0B5646C1-032C-3734-B559-C17E377B315A - - target: arm64e-maccatalyst - value: 0B5646C1-032C-3734-B559-C17E377B315A -install-name: '/usr/lib/system/libsystem_trace.dylib' -current-version: 1277.100.21 -parent-umbrella: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] - umbrella: System -exports: - - targets: [ x86_64-maccatalyst, x86_64-macos, arm64e-maccatalyst, arm64e-macos, - arm64-macos, arm64-maccatalyst ] - symbols: [ __libtrace_fork_child, __libtrace_init, __os_activity_create, - __os_activity_current, __os_activity_initiate, __os_activity_initiate_f, - __os_activity_label_useraction, __os_activity_none, __os_activity_set_breadcrumb, - __os_activity_start, __os_activity_stream_entry_encode, __os_log_create, - __os_log_debug, __os_log_debug_impl, __os_log_default, __os_log_disabled, - __os_log_error, __os_log_error_impl, __os_log_fault, __os_log_fault_impl, - __os_log_impl, __os_log_internal, __os_log_pack_fill, __os_log_pack_size, - __os_log_preferences_compute, __os_log_preferences_load, __os_log_release, - __os_log_set_nscf_formatter, __os_signpost_emit_impl, __os_signpost_emit_unreliably_impl, - __os_signpost_emit_unreliably_with_name_impl, __os_signpost_emit_with_name_impl, - __os_signpost_pack_fill, __os_signpost_pack_send, __os_state_request_for_pidlist, - __os_trace_atm_diagnostic_config, __os_trace_basesystem_storage_available, - __os_trace_calloc, __os_trace_commpage_compute, __os_trace_fdscandir_b, - __os_trace_get_boot_uuid, __os_trace_get_image_info, __os_trace_get_mode_for_pid, - __os_trace_get_times_now, __os_trace_getxattr_at, __os_trace_intprefsdir_path, - __os_trace_is_development_build, __os_trace_log_simple, __os_trace_macho_for_each_slice, - __os_trace_malloc, __os_trace_memdup, __os_trace_mmap, __os_trace_mmap_at, - __os_trace_mmap_offset, __os_trace_mode_match_4tests, __os_trace_prefs_latest_version_4tests, - __os_trace_prefsdir_path, __os_trace_read_file_at, __os_trace_read_plist_at, - __os_trace_realloc, __os_trace_scandir_free_namelist, __os_trace_set_diagnostic_flags, - __os_trace_set_mode_for_pid, __os_trace_strdup, __os_trace_sysprefsdir_path, - __os_trace_update_with_datavolume_4launchd, __os_trace_with_buffer, - __os_trace_write, __os_trace_writev, __os_trace_zalloc, _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, - _os_log_backtrace_copy_serialized_buffer, _os_log_backtrace_create_from_buffer, - _os_log_backtrace_create_from_current, _os_log_backtrace_create_from_pcs, - _os_log_backtrace_create_from_return_address, _os_log_backtrace_destroy, - _os_log_backtrace_get_frames, _os_log_backtrace_get_length, - _os_log_backtrace_print_to_blob, _os_log_backtrace_serialize_to_blob, - _os_log_create, _os_log_errors_count, _os_log_fault_default_callback, - _os_log_faults_count, _os_log_fmt_compose, _os_log_fmt_convert_trace, - _os_log_fmt_extract_pubdata, _os_log_fmt_get_plugin, _os_log_get_type, - _os_log_is_debug_enabled, _os_log_is_enabled, _os_log_pack_compose, - _os_log_pack_send, _os_log_pack_send_and_compose, _os_log_set_client_type, - _os_log_set_enabled, _os_log_set_fault_callback, _os_log_shim_enabled, - _os_log_shim_legacy_logging_enabled, _os_log_shim_with_CFString, - _os_log_type_enabled, _os_log_with_args, _os_signpost_enabled, - _os_signpost_id_generate, _os_signpost_id_make_with_pointer, - _os_signpost_set_introspection_hook_4Perf, _os_state_add_handler, - _os_state_remove_handler, _os_trace_debug_enabled, _os_trace_get_code, - _os_trace_get_mode, _os_trace_get_type, _os_trace_info_enabled, - _os_trace_set_mode ] - objc-classes: [ OS_os_log ] ---- !tapi-tbd -tbd-version: 4 -targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] -uuids: - - target: x86_64-macos - value: 32F74246-BEB8-3249-8C51-CAD863EF158E - - target: x86_64-maccatalyst - value: 32F74246-BEB8-3249-8C51-CAD863EF158E - - target: arm64-macos - value: 00000000-0000-0000-0000-000000000000 - - target: arm64-maccatalyst - value: 00000000-0000-0000-0000-000000000000 - - target: arm64e-macos - value: 46052246-A538-3A3D-B1CA-AA9918387228 - - target: arm64e-maccatalyst - value: 46052246-A538-3A3D-B1CA-AA9918387228 -install-name: '/usr/lib/system/libunwind.dylib' -current-version: 201 -parent-umbrella: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] - umbrella: System -exports: - - targets: [ x86_64-maccatalyst, x86_64-macos ] - symbols: [ '$ld$hide$os10.4$__Unwind_Backtrace', '$ld$hide$os10.4$__Unwind_DeleteException', - '$ld$hide$os10.4$__Unwind_FindEnclosingFunction', '$ld$hide$os10.4$__Unwind_Find_FDE', - '$ld$hide$os10.4$__Unwind_ForcedUnwind', '$ld$hide$os10.4$__Unwind_GetCFA', - '$ld$hide$os10.4$__Unwind_GetDataRelBase', '$ld$hide$os10.4$__Unwind_GetGR', - '$ld$hide$os10.4$__Unwind_GetIP', '$ld$hide$os10.4$__Unwind_GetIPInfo', - '$ld$hide$os10.4$__Unwind_GetLanguageSpecificData', '$ld$hide$os10.4$__Unwind_GetRegionStart', - '$ld$hide$os10.4$__Unwind_GetTextRelBase', '$ld$hide$os10.4$__Unwind_RaiseException', - '$ld$hide$os10.4$__Unwind_Resume', '$ld$hide$os10.4$__Unwind_Resume_or_Rethrow', - '$ld$hide$os10.4$__Unwind_SetGR', '$ld$hide$os10.4$__Unwind_SetIP', - '$ld$hide$os10.4$___deregister_frame', '$ld$hide$os10.4$___deregister_frame_info', - '$ld$hide$os10.4$___deregister_frame_info_bases', '$ld$hide$os10.4$___register_frame', - '$ld$hide$os10.4$___register_frame_info', '$ld$hide$os10.4$___register_frame_info_bases', - '$ld$hide$os10.4$___register_frame_info_table', '$ld$hide$os10.4$___register_frame_info_table_bases', - '$ld$hide$os10.4$___register_frame_table', '$ld$hide$os10.5$__Unwind_Backtrace', - '$ld$hide$os10.5$__Unwind_DeleteException', '$ld$hide$os10.5$__Unwind_FindEnclosingFunction', - '$ld$hide$os10.5$__Unwind_Find_FDE', '$ld$hide$os10.5$__Unwind_ForcedUnwind', - '$ld$hide$os10.5$__Unwind_GetCFA', '$ld$hide$os10.5$__Unwind_GetDataRelBase', - '$ld$hide$os10.5$__Unwind_GetGR', '$ld$hide$os10.5$__Unwind_GetIP', - '$ld$hide$os10.5$__Unwind_GetIPInfo', '$ld$hide$os10.5$__Unwind_GetLanguageSpecificData', - '$ld$hide$os10.5$__Unwind_GetRegionStart', '$ld$hide$os10.5$__Unwind_GetTextRelBase', - '$ld$hide$os10.5$__Unwind_RaiseException', '$ld$hide$os10.5$__Unwind_Resume', - '$ld$hide$os10.5$__Unwind_Resume_or_Rethrow', '$ld$hide$os10.5$__Unwind_SetGR', - '$ld$hide$os10.5$__Unwind_SetIP', '$ld$hide$os10.5$___deregister_frame', - '$ld$hide$os10.5$___deregister_frame_info', '$ld$hide$os10.5$___deregister_frame_info_bases', - '$ld$hide$os10.5$___register_frame', '$ld$hide$os10.5$___register_frame_info', - '$ld$hide$os10.5$___register_frame_info_bases', '$ld$hide$os10.5$___register_frame_info_table', - '$ld$hide$os10.5$___register_frame_info_table_bases', '$ld$hide$os10.5$___register_frame_table', - '$ld$hide$os10.6$___deregister_frame_info', '$ld$hide$os10.6$___deregister_frame_info_bases', - '$ld$hide$os10.6$___register_frame_info', '$ld$hide$os10.6$___register_frame_info_bases', - '$ld$hide$os10.6$___register_frame_info_table', '$ld$hide$os10.6$___register_frame_info_table_bases', - '$ld$hide$os10.6$___register_frame_table', ___deregister_frame_info, - ___deregister_frame_info_bases, ___register_frame_info, ___register_frame_info_bases, - ___register_frame_info_table, ___register_frame_info_table_bases, - ___register_frame_table ] - - targets: [ x86_64-maccatalyst, x86_64-macos, arm64e-maccatalyst, arm64e-macos, - arm64-macos, arm64-maccatalyst ] - symbols: [ __Unwind_Backtrace, __Unwind_DeleteException, __Unwind_FindEnclosingFunction, - __Unwind_Find_FDE, __Unwind_ForcedUnwind, __Unwind_GetCFA, - __Unwind_GetDataRelBase, __Unwind_GetGR, __Unwind_GetIP, __Unwind_GetIPInfo, - __Unwind_GetLanguageSpecificData, __Unwind_GetRegionStart, - __Unwind_GetTextRelBase, __Unwind_RaiseException, __Unwind_Resume, - __Unwind_Resume_or_Rethrow, __Unwind_SetGR, __Unwind_SetIP, - ___deregister_frame, ___register_frame, ___unw_add_dynamic_fde, - ___unw_remove_dynamic_fde, _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 ] ---- !tapi-tbd -tbd-version: 4 -targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] -uuids: - - target: x86_64-macos - value: CFB56DA8-7462-3E8F-9CFB-20926C6A2BB5 - - target: x86_64-maccatalyst - value: CFB56DA8-7462-3E8F-9CFB-20926C6A2BB5 - - target: arm64-macos - value: 00000000-0000-0000-0000-000000000000 - - target: arm64-maccatalyst - value: 00000000-0000-0000-0000-000000000000 - - target: arm64e-macos - value: E060D0AA-33F9-376E-8947-2FE8F31AB4CA - - target: arm64e-maccatalyst - value: E060D0AA-33F9-376E-8947-2FE8F31AB4CA -install-name: '/usr/lib/system/libxpc.dylib' -current-version: 2038.100.48 -parent-umbrella: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] - umbrella: System -exports: - - targets: [ x86_64-maccatalyst, x86_64-macos, arm64e-maccatalyst, arm64e-macos, - arm64-macos, arm64-maccatalyst ] - symbols: [ _XPC_ACTIVITY_ALLOW_BATTERY, _XPC_ACTIVITY_APP_REFRESH, _XPC_ACTIVITY_CHECK_IN, - _XPC_ACTIVITY_COMMUNICATES_WITH_PAIRED_DEVICE, _XPC_ACTIVITY_CPU_INTENSIVE, - _XPC_ACTIVITY_DELAY, _XPC_ACTIVITY_DESIRED_MOTION_STATE, _XPC_ACTIVITY_DISK_INTENSIVE, - _XPC_ACTIVITY_DO_IT_LATER, _XPC_ACTIVITY_DUET_ACTIVITY_SCHEDULER_DATA, - _XPC_ACTIVITY_DUET_ATTRIBUTE_COST, _XPC_ACTIVITY_DUET_ATTRIBUTE_NAME, - _XPC_ACTIVITY_DUET_ATTRIBUTE_VALUE, _XPC_ACTIVITY_DUET_RELATED_APPLICATIONS, - _XPC_ACTIVITY_EXCLUSIVE, _XPC_ACTIVITY_EXPECTED_DURATION, - _XPC_ACTIVITY_GRACE_PERIOD, _XPC_ACTIVITY_GROUP_CONCURRENCY_LIMIT, - _XPC_ACTIVITY_GROUP_NAME, _XPC_ACTIVITY_INTERVAL, _XPC_ACTIVITY_INTERVAL_15_MIN, - _XPC_ACTIVITY_INTERVAL_1_DAY, _XPC_ACTIVITY_INTERVAL_1_HOUR, - _XPC_ACTIVITY_INTERVAL_1_MIN, _XPC_ACTIVITY_INTERVAL_30_MIN, - _XPC_ACTIVITY_INTERVAL_4_HOURS, _XPC_ACTIVITY_INTERVAL_5_MIN, - _XPC_ACTIVITY_INTERVAL_7_DAYS, _XPC_ACTIVITY_INTERVAL_8_HOURS, - _XPC_ACTIVITY_MAY_REBOOT_DEVICE, _XPC_ACTIVITY_MEMORY_INTENSIVE, - _XPC_ACTIVITY_MOTION_STATE_AUTOMOTIVE, _XPC_ACTIVITY_MOTION_STATE_AUTOMOTIVE_MOVING, - _XPC_ACTIVITY_MOTION_STATE_AUTOMOTIVE_STATIONARY, _XPC_ACTIVITY_MOTION_STATE_CYCLING, - _XPC_ACTIVITY_MOTION_STATE_RUNNING, _XPC_ACTIVITY_MOTION_STATE_STATIONARY, - _XPC_ACTIVITY_MOTION_STATE_WALKING, _XPC_ACTIVITY_NETWORK_DOWNLOAD_SIZE, - _XPC_ACTIVITY_NETWORK_TRANSFER_BIDIRECTIONAL, _XPC_ACTIVITY_NETWORK_TRANSFER_DIRECTION, - _XPC_ACTIVITY_NETWORK_TRANSFER_DIRECTION_DOWNLOAD, _XPC_ACTIVITY_NETWORK_TRANSFER_DIRECTION_UPLOAD, - _XPC_ACTIVITY_NETWORK_TRANSFER_ENDPOINT, _XPC_ACTIVITY_NETWORK_TRANSFER_PARAMETERS, - _XPC_ACTIVITY_NETWORK_TRANSFER_SIZE, _XPC_ACTIVITY_NETWORK_UPLOAD_SIZE, - _XPC_ACTIVITY_POST_INSTALL, _XPC_ACTIVITY_POWER_NAP, _XPC_ACTIVITY_PRIORITY, - _XPC_ACTIVITY_PRIORITY_MAINTENANCE, _XPC_ACTIVITY_PRIORITY_UTILITY, - _XPC_ACTIVITY_RANDOM_INITIAL_DELAY, _XPC_ACTIVITY_REPEATING, - _XPC_ACTIVITY_REPLY_ENDPOINT, _XPC_ACTIVITY_REQUIRES_BUDDY_COMPLETE, - _XPC_ACTIVITY_REQUIRES_CLASS_A, _XPC_ACTIVITY_REQUIRES_CLASS_B, - _XPC_ACTIVITY_REQUIRES_CLASS_C, _XPC_ACTIVITY_REQUIRE_BATTERY_LEVEL, - _XPC_ACTIVITY_REQUIRE_HDD_SPINNING, _XPC_ACTIVITY_REQUIRE_INEXPENSIVE_NETWORK_CONNECTIVITY, - _XPC_ACTIVITY_REQUIRE_NETWORK_CONNECTIVITY, _XPC_ACTIVITY_REQUIRE_SCREEN_SLEEP, - _XPC_ACTIVITY_REQUIRE_SIGNIFICANT_USER_INACTIVITY, _XPC_ACTIVITY_RUN_WHEN_APP_FOREGROUNDED, - _XPC_ACTIVITY_SEQUENCE_NUMBER, _XPC_ACTIVITY_SHOULD_WAKE_DEVICE, - _XPC_ACTIVITY_USER_REQUESTED_BACKUP_TASK, _XPC_ACTIVITY_USES_DUET_POWER_BUDGETING, - _XPC_COALITION_INFO_KEY_BUNDLE_IDENTIFIER, _XPC_COALITION_INFO_KEY_CID, - _XPC_COALITION_INFO_KEY_NAME, _XPC_COALITION_INFO_KEY_RESOURCE_USAGE_BLOB, - __availability_version_check, __launch_job_routine, __launch_job_routine_async, - __launch_msg2, __launch_service_stats_copy_4ppse_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, - __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, - __vproc_transaction_set_clean_callback, __vproc_transaction_try_exit, - __vproc_transactions_enable, __vprocmgr_detach_from_console, - __vprocmgr_getsocket, __vprocmgr_init, __vprocmgr_log_drain, - __vprocmgr_log_forward, __vprocmgr_move_subset_to_user, __vprocmgr_switch_to_session, - __xpc_bool_create_distinct, __xpc_bool_false, __xpc_bool_set_value, - __xpc_bool_true, __xpc_connection_set_event_handler_f, __xpc_data_set_value, - __xpc_dictionary_create_reply_with_port, __xpc_dictionary_extract_mach_send, - __xpc_dictionary_extract_reply_msg_id, __xpc_dictionary_extract_reply_port, - __xpc_dictionary_get_reply_msg_id, __xpc_dictionary_set_remote_connection, - __xpc_dictionary_set_reply_msg_id, __xpc_double_set_value, - __xpc_error_connection_interrupted, __xpc_error_connection_invalid, - __xpc_error_key_description, __xpc_error_termination_imminent, - __xpc_event_key_name, __xpc_event_key_stream_name, __xpc_fd_get_port, - __xpc_int64_set_value, __xpc_payload_create_from_mach_msg, - __xpc_pipe_handle_mig, __xpc_runtime_get_entitlements_data, - __xpc_runtime_get_self_entitlements, __xpc_runtime_is_app_sandboxed, - __xpc_service_last_xref_cancel, __xpc_service_routine, __xpc_shmem_get_mach_port, - __xpc_spawnattr_binprefs_pack, __xpc_spawnattr_binprefs_size, - __xpc_spawnattr_binprefs_unpack, __xpc_spawnattr_pack_string, - __xpc_spawnattr_pack_string_fragment, __xpc_spawnattr_unpack_string, - __xpc_spawnattr_unpack_strings, __xpc_string_set_value, __xpc_type_activity, - __xpc_type_array, __xpc_type_base, __xpc_type_bool, __xpc_type_bundle, - __xpc_type_connection, __xpc_type_data, __xpc_type_date, __xpc_type_dictionary, - __xpc_type_double, __xpc_type_endpoint, __xpc_type_error, - __xpc_type_fd, __xpc_type_file_transfer, __xpc_type_int64, - __xpc_type_mach_recv, __xpc_type_mach_send, __xpc_type_null, - __xpc_type_pipe, __xpc_type_pointer, __xpc_type_serializer, - __xpc_type_service, __xpc_type_service_instance, __xpc_type_shmem, - __xpc_type_string, __xpc_type_uint64, __xpc_type_uuid, __xpc_vtables, - _bootstrap_check_in, _bootstrap_check_in2, _bootstrap_check_in3, - _bootstrap_create_server, _bootstrap_create_service, _bootstrap_get_root, - _bootstrap_info, _bootstrap_init, _bootstrap_look_up, _bootstrap_look_up2, - _bootstrap_look_up3, _bootstrap_look_up_per_user, _bootstrap_lookup_children, - _bootstrap_parent, _bootstrap_register, _bootstrap_register2, - _bootstrap_status, _bootstrap_strerror, _bootstrap_subset, - _bootstrap_unprivileged, _create_and_switch_to_per_session_launchd, - _launch_activate_socket, _launch_add_external_service, _launch_bootout_user_service_4coresim, - _launch_copy_busy_extension_instances, _launch_copy_endpoints_properties_for_pid, - _launch_copy_extension_properties, _launch_copy_extension_properties_for_pid, - _launch_copy_properties_for_pid_4assertiond, _launch_create_persona, - _launch_data_alloc, _launch_data_array_get_count, _launch_data_array_get_index, - _launch_data_array_set_index, _launch_data_copy, _launch_data_dict_get_count, - _launch_data_dict_insert, _launch_data_dict_iterate, _launch_data_dict_lookup, - _launch_data_dict_remove, _launch_data_free, _launch_data_get_bool, - _launch_data_get_errno, _launch_data_get_fd, _launch_data_get_integer, - _launch_data_get_machport, _launch_data_get_opaque, _launch_data_get_opaque_size, - _launch_data_get_real, _launch_data_get_string, _launch_data_get_type, - _launch_data_new_bool, _launch_data_new_errno, _launch_data_new_fd, - _launch_data_new_integer, _launch_data_new_machport, _launch_data_new_opaque, - _launch_data_new_real, _launch_data_new_string, _launch_data_pack, - _launch_data_set_bool, _launch_data_set_errno, _launch_data_set_fd, - _launch_data_set_integer, _launch_data_set_machport, _launch_data_set_opaque, - _launch_data_set_real, _launch_data_set_string, _launch_data_unpack, - _launch_destroy_persona, _launch_disable_directory, _launch_enable_directory, - _launch_extension_check_in_live_4UIKit, _launch_extension_property_bundle_id, - _launch_extension_property_host_bundle_id, _launch_extension_property_host_pid, - _launch_extension_property_path, _launch_extension_property_pid, - _launch_extension_property_version, _launch_extension_property_xpc_bundle, - _launch_get_fd, _launch_get_service_enabled, _launch_get_system_service_enabled, - _launch_msg, _launch_path_for_user_service_4coresim, _launch_perfcheck_property_endpoint_active, - _launch_perfcheck_property_endpoint_event, _launch_perfcheck_property_endpoint_name, - _launch_perfcheck_property_endpoint_needs_activation, _launch_perfcheck_property_endpoints, - _launch_remove_external_service, _launch_service_instance_copy_uuids, - _launch_service_instance_create, _launch_service_instance_remove, - _launch_service_stats_disable_4ppse, _launch_service_stats_enable_4ppse, - _launch_service_stats_is_enabled_4ppse, _launch_set_service_enabled, - _launch_set_system_service_enabled, _launch_socket_service_check_in, - _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, - _mpm_wait, _os_system_version_get_current_version, _os_system_version_get_ios_support_version, - _os_system_version_sim_get_current_host_version, _os_transaction_copy_description, - _os_transaction_create, _os_transaction_get_timestamp, _os_transaction_needs_more_time, - _place_hold_on_real_loginwindow, _reboot2, _reboot3, _vproc_release, - _vproc_retain, _vproc_standby_begin, _vproc_standby_end, _vproc_swap_complex, - _vproc_swap_integer, _vproc_swap_string, _vproc_transaction_begin, - _vproc_transaction_end, _vprocmgr_lookup_vproc, _xpc_activity_add_eligibility_changed_handler, - _xpc_activity_copy_criteria, _xpc_activity_copy_dispatch_queue, - _xpc_activity_copy_identifier, _xpc_activity_debug, _xpc_activity_defer_until_network_change, - _xpc_activity_defer_until_percentage, _xpc_activity_get_percentage, - _xpc_activity_get_state, _xpc_activity_list, _xpc_activity_register, - _xpc_activity_remove_eligibility_changed_handler, _xpc_activity_run, - _xpc_activity_set_completion_status, _xpc_activity_set_criteria, - _xpc_activity_set_network_threshold, _xpc_activity_set_state, - _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_bundle_copy_info_dictionary, _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_create, - _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_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, - _xpc_connection_send_notification, _xpc_connection_set_bootstrap, - _xpc_connection_set_bs_type, _xpc_connection_set_context, - _xpc_connection_set_event_channel, _xpc_connection_set_event_handler, - _xpc_connection_set_finalizer_f, _xpc_connection_set_instance, - _xpc_connection_set_instance_binpref, _xpc_connection_set_legacy, - _xpc_connection_set_non_launching, _xpc_connection_set_oneshot_instance, - _xpc_connection_set_privileged, _xpc_connection_set_qos_class_fallback, - _xpc_connection_set_qos_class_floor, _xpc_connection_set_target_queue, - _xpc_connection_set_target_uid, _xpc_connection_suspend, _xpc_copy, - _xpc_copy_bootstrap, _xpc_copy_clean_description, _xpc_copy_code_signing_identity_for_token, - _xpc_copy_debug_description, _xpc_copy_description, _xpc_copy_domain, - _xpc_copy_entitlement_for_self, _xpc_copy_entitlement_for_token, - _xpc_copy_entitlements_data_for_token, _xpc_copy_entitlements_for_pid, - _xpc_copy_entitlements_for_self, _xpc_copy_event, _xpc_copy_event_entitlements, - _xpc_copy_short_description, _xpc_create_from_plist, _xpc_create_from_plist_descriptor, - _xpc_create_from_serialization, _xpc_create_from_serialization_with_ool, - _xpc_create_reply_with_format, _xpc_create_reply_with_format_and_arguments, - _xpc_create_with_format, _xpc_create_with_format_and_arguments, - _xpc_data_create, _xpc_data_create_with_dispatch_data, _xpc_data_get_bytes, - _xpc_data_get_bytes_ptr, _xpc_data_get_inline_max, _xpc_data_get_length, - _xpc_date_create, _xpc_date_create_absolute, _xpc_date_create_from_current, - _xpc_date_get_value, _xpc_date_get_value_absolute, _xpc_date_is_int64_range, - _xpc_dictionary_apply, _xpc_dictionary_apply_f, _xpc_dictionary_copy_basic_description, - _xpc_dictionary_copy_mach_send, _xpc_dictionary_create, _xpc_dictionary_create_connection, - _xpc_dictionary_create_empty, _xpc_dictionary_create_reply, - _xpc_dictionary_dup_fd, _xpc_dictionary_expects_reply, _xpc_dictionary_extract_mach_recv, - _xpc_dictionary_get_array, _xpc_dictionary_get_audit_token, - _xpc_dictionary_get_bool, _xpc_dictionary_get_connection, - _xpc_dictionary_get_count, _xpc_dictionary_get_data, _xpc_dictionary_get_date, - _xpc_dictionary_get_dictionary, _xpc_dictionary_get_double, - _xpc_dictionary_get_int64, _xpc_dictionary_get_pointer, _xpc_dictionary_get_remote_connection, - _xpc_dictionary_get_string, _xpc_dictionary_get_uint64, _xpc_dictionary_get_uuid, - _xpc_dictionary_get_value, _xpc_dictionary_handoff_reply, - _xpc_dictionary_handoff_reply_f, _xpc_dictionary_send_reply, - _xpc_dictionary_set_bool, _xpc_dictionary_set_connection, - _xpc_dictionary_set_data, _xpc_dictionary_set_date, _xpc_dictionary_set_double, - _xpc_dictionary_set_fd, _xpc_dictionary_set_int64, _xpc_dictionary_set_mach_recv, - _xpc_dictionary_set_mach_send, _xpc_dictionary_set_pointer, - _xpc_dictionary_set_string, _xpc_dictionary_set_uint64, _xpc_dictionary_set_uuid, - _xpc_dictionary_set_value, _xpc_double_create, _xpc_double_get_value, - _xpc_endpoint_compare, _xpc_endpoint_copy_listener_port_4sim, - _xpc_endpoint_create, _xpc_endpoint_create_bs_named, _xpc_endpoint_create_mach_port_4sim, - _xpc_equal, _xpc_event_publisher_activate, _xpc_event_publisher_create, - _xpc_event_publisher_fire, _xpc_event_publisher_fire_noboost, - _xpc_event_publisher_fire_with_reply, _xpc_event_publisher_fire_with_reply_sync, - _xpc_event_publisher_get_subscriber_asid, _xpc_event_publisher_set_error_handler, - _xpc_event_publisher_set_handler, _xpc_event_publisher_set_initial_load_completed_handler_4remoted, - _xpc_event_publisher_set_subscriber_keepalive, _xpc_event_stream_check_in, - _xpc_event_stream_check_in2, _xpc_exit_reason_get_label, _xpc_extension_type_init, - _xpc_fd_create, _xpc_fd_dup, _xpc_file_transfer_cancel, _xpc_file_transfer_copy_io, - _xpc_file_transfer_create_with_fd, _xpc_file_transfer_create_with_path, - _xpc_file_transfer_get_size, _xpc_file_transfer_get_transfer_id, - _xpc_file_transfer_send_finished, _xpc_file_transfer_set_transport_writing_callbacks, - _xpc_file_transfer_write_finished, _xpc_file_transfer_write_to_fd, - _xpc_file_transfer_write_to_path, _xpc_generate_audit_token, - _xpc_get_attachment_endpoint, _xpc_get_class4NSXPC, _xpc_get_event_name, - _xpc_get_instance, _xpc_get_type, _xpc_handle_service, _xpc_handle_subservice, - _xpc_hash, _xpc_impersonate_user, _xpc_init_services, _xpc_inspect_copy_description, - _xpc_inspect_copy_description_local, _xpc_inspect_copy_short_description, - _xpc_inspect_copy_short_description_local, _xpc_install_remote_hooks, - _xpc_int64_create, _xpc_int64_get_value, _xpc_is_kind_of_xpc_object4NSXPC, - _xpc_mach_recv_create, _xpc_mach_recv_extract_right, _xpc_mach_send_copy_right, - _xpc_mach_send_create, _xpc_mach_send_create_with_disposition, - _xpc_mach_send_get_right, _xpc_main, _xpc_make_serialization, - _xpc_make_serialization_with_ool, _xpc_null_create, _xpc_pipe_create, - _xpc_pipe_create_from_port, _xpc_pipe_invalidate, _xpc_pipe_receive, - _xpc_pipe_routine, _xpc_pipe_routine_async, _xpc_pipe_routine_forward, - _xpc_pipe_routine_reply, _xpc_pipe_routine_with_flags, _xpc_pipe_simpleroutine, - _xpc_pipe_try_receive, _xpc_pointer_create, _xpc_pointer_get_value, - _xpc_receive_mach_msg, _xpc_receive_remote_msg, _xpc_release, - _xpc_retain, _xpc_service_attach, _xpc_service_create, _xpc_service_create_from_specifier, - _xpc_service_get_rendezvous_token, _xpc_service_instance_dup2, - _xpc_service_instance_get_context, _xpc_service_instance_get_host_pid, - _xpc_service_instance_get_pid, _xpc_service_instance_get_type, - _xpc_service_instance_is_configurable, _xpc_service_instance_run, - _xpc_service_instance_set_binpref, _xpc_service_instance_set_context, - _xpc_service_instance_set_cwd, _xpc_service_instance_set_endpoint, - _xpc_service_instance_set_environment, _xpc_service_instance_set_finalizer_f, - _xpc_service_instance_set_jetsam_properties, _xpc_service_instance_set_path, - _xpc_service_instance_set_start_suspended, _xpc_service_kickstart, - _xpc_service_set_attach_handler, _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_transactions_enable, - _xpc_type_get_name, _xpc_uint64_create, _xpc_uint64_get_value, - _xpc_uuid_create, _xpc_uuid_get_bytes ] - objc-classes: [ OS_xpc_object ] -... diff --git a/lib/libc/darwin/libSystem.12.tbd b/lib/libc/darwin/libSystem.12.tbd deleted file mode 100644 index 8537715a3e..0000000000 --- a/lib/libc/darwin/libSystem.12.tbd +++ /dev/null @@ -1,3838 +0,0 @@ ---- !tapi-tbd -tbd-version: 4 -targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] -uuids: - - target: x86_64-macos - value: 5E73061C-E99B-3651-BD84-E34B6365E97D - - target: x86_64-maccatalyst - value: 5E73061C-E99B-3651-BD84-E34B6365E97D - - target: arm64-macos - value: 00000000-0000-0000-0000-000000000000 - - target: arm64-maccatalyst - value: 00000000-0000-0000-0000-000000000000 - - target: arm64e-macos - value: DEE4A1ED-F9DF-3515-BE62-166170214E4C - - target: arm64e-maccatalyst - value: DEE4A1ED-F9DF-3515-BE62-166170214E4C -install-name: '/usr/lib/libSystem.B.dylib' -current-version: 1311.100.3 -reexported-libraries: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] - libraries: [ '/usr/lib/system/libcache.dylib', '/usr/lib/system/libcommonCrypto.dylib', - '/usr/lib/system/libcompiler_rt.dylib', '/usr/lib/system/libcopyfile.dylib', - '/usr/lib/system/libcorecrypto.dylib', '/usr/lib/system/libdispatch.dylib', - '/usr/lib/system/libdyld.dylib', '/usr/lib/system/libkeymgr.dylib', - '/usr/lib/system/libmacho.dylib', '/usr/lib/system/libquarantine.dylib', - '/usr/lib/system/libremovefile.dylib', '/usr/lib/system/libsystem_asl.dylib', - '/usr/lib/system/libsystem_blocks.dylib', '/usr/lib/system/libsystem_c.dylib', - '/usr/lib/system/libsystem_collections.dylib', '/usr/lib/system/libsystem_configuration.dylib', - '/usr/lib/system/libsystem_containermanager.dylib', '/usr/lib/system/libsystem_coreservices.dylib', - '/usr/lib/system/libsystem_darwin.dylib', '/usr/lib/system/libsystem_dnssd.dylib', - '/usr/lib/system/libsystem_featureflags.dylib', '/usr/lib/system/libsystem_info.dylib', - '/usr/lib/system/libsystem_kernel.dylib', '/usr/lib/system/libsystem_m.dylib', - '/usr/lib/system/libsystem_malloc.dylib', '/usr/lib/system/libsystem_networkextension.dylib', - '/usr/lib/system/libsystem_notify.dylib', '/usr/lib/system/libsystem_platform.dylib', - '/usr/lib/system/libsystem_product_info_filter.dylib', '/usr/lib/system/libsystem_pthread.dylib', - '/usr/lib/system/libsystem_sandbox.dylib', '/usr/lib/system/libsystem_secinit.dylib', - '/usr/lib/system/libsystem_symptoms.dylib', '/usr/lib/system/libsystem_trace.dylib', - '/usr/lib/system/libunwind.dylib', '/usr/lib/system/libxpc.dylib' ] -exports: - - targets: [ x86_64-maccatalyst, x86_64-macos ] - symbols: [ 'R8289209$_close', 'R8289209$_fork', 'R8289209$_fsync', 'R8289209$_getattrlist', - 'R8289209$_getrlimit', 'R8289209$_getxattr', 'R8289209$_open', - 'R8289209$_pthread_attr_destroy', 'R8289209$_pthread_attr_init', - 'R8289209$_pthread_attr_setdetachstate', 'R8289209$_pthread_create', - 'R8289209$_pthread_mutex_lock', 'R8289209$_pthread_mutex_unlock', - 'R8289209$_pthread_self', 'R8289209$_ptrace', 'R8289209$_read', - 'R8289209$_setattrlist', 'R8289209$_setrlimit', 'R8289209$_sigaction', - 'R8289209$_stat', 'R8289209$_sysctl', 'R8289209$_time', 'R8289209$_unlink', - 'R8289209$_write' ] - - targets: [ x86_64-maccatalyst, x86_64-macos, arm64e-maccatalyst, arm64e-macos, - arm64-macos, arm64-maccatalyst ] - symbols: [ ___crashreporter_info__, _libSystem_init_after_boot_tasks_4launchd, - _mach_init_routine ] ---- !tapi-tbd -tbd-version: 4 -targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] -uuids: - - target: x86_64-macos - value: 347DF236-2F9C-3EC3-B164-55417B437B97 - - target: x86_64-maccatalyst - value: 347DF236-2F9C-3EC3-B164-55417B437B97 - - target: arm64-macos - value: 00000000-0000-0000-0000-000000000000 - - target: arm64-maccatalyst - value: 00000000-0000-0000-0000-000000000000 - - target: arm64e-macos - value: E5029B58-FF22-3EC8-9708-A97E2C90C310 - - target: arm64e-maccatalyst - value: E5029B58-FF22-3EC8-9708-A97E2C90C310 -install-name: '/usr/lib/system/libcache.dylib' -current-version: 85 -parent-umbrella: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] - umbrella: System -exports: - - targets: [ arm64e-macos, x86_64-macos, x86_64-maccatalyst, arm64e-maccatalyst, - arm64-macos, arm64-maccatalyst ] - symbols: [ _cache_create, _cache_destroy, _cache_get, _cache_get_and_retain, - _cache_get_cost_hint, _cache_get_count_hint, _cache_get_info, - _cache_get_info_for_key, _cache_get_info_for_keys, _cache_get_minimum_values_hint, - _cache_get_name, _cache_hash_byte_string, _cache_invoke, _cache_key_hash_cb_cstring, - _cache_key_hash_cb_integer, _cache_key_is_equal_cb_cstring, - _cache_key_is_equal_cb_integer, _cache_print, _cache_print_stats, - _cache_release_cb_free, _cache_release_value, _cache_remove, - _cache_remove_all, _cache_remove_with_block, _cache_set_and_retain, - _cache_set_cost_hint, _cache_set_count_hint, _cache_set_minimum_values_hint, - _cache_set_name, _cache_simulate_memory_warning_event, _cache_value_make_nonpurgeable_cb, - _cache_value_make_purgeable_cb ] ---- !tapi-tbd -tbd-version: 4 -targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] -uuids: - - target: x86_64-macos - value: C36DA5CF-B8E6-36C1-98EF-FF138B438EE0 - - target: x86_64-maccatalyst - value: C36DA5CF-B8E6-36C1-98EF-FF138B438EE0 - - target: arm64-macos - value: 00000000-0000-0000-0000-000000000000 - - target: arm64-maccatalyst - value: 00000000-0000-0000-0000-000000000000 - - target: arm64e-macos - value: 5AAADB40-420D-326A-AC38-CFE1D81DA1E5 - - target: arm64e-maccatalyst - value: 5AAADB40-420D-326A-AC38-CFE1D81DA1E5 -install-name: '/usr/lib/system/libcommonCrypto.dylib' -current-version: 60191.100.1 -parent-umbrella: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] - umbrella: System -exports: - - targets: [ arm64e-macos, x86_64-macos, x86_64-maccatalyst, arm64e-maccatalyst, - arm64-macos, arm64-maccatalyst ] - symbols: [ _CCAESCmac, _CCAESCmacCreate, _CCAESCmacDestroy, _CCAESCmacFinal, - _CCAESCmacOutputSizeFromContext, _CCAESCmacUpdate, _CCBigNumAdd, - _CCBigNumAddI, _CCBigNumBitCount, _CCBigNumByteCount, _CCBigNumClear, - _CCBigNumCompare, _CCBigNumCompareI, _CCBigNumCopy, _CCBigNumCreateRandom, - _CCBigNumDiv, _CCBigNumFree, _CCBigNumFromData, _CCBigNumFromDecimalString, - _CCBigNumFromHexString, _CCBigNumGetI, _CCBigNumIsNegative, - _CCBigNumIsPrime, _CCBigNumIsZero, _CCBigNumLeftShift, _CCBigNumMod, - _CCBigNumModExp, _CCBigNumModI, _CCBigNumMul, _CCBigNumMulI, - _CCBigNumMulMod, _CCBigNumRightShift, _CCBigNumSetI, _CCBigNumSetNegative, - _CCBigNumSub, _CCBigNumSubI, _CCBigNumToData, _CCBigNumToDecimalString, - _CCBigNumToHexString, _CCBigNumZeroLSBCount, _CCCKGContributorCommit, - _CCCKGContributorCreate, _CCCKGContributorDestroy, _CCCKGContributorFinish, - _CCCKGGetCommitmentSize, _CCCKGGetOpeningSize, _CCCKGGetShareSize, - _CCCKGOwnerCreate, _CCCKGOwnerDestroy, _CCCKGOwnerFinish, - _CCCKGOwnerGenerateShare, _CCCalibratePBKDF, _CCCreateBigNum, - _CCCrypt, _CCCryptorAddParameter, _CCCryptorChaCha20, _CCCryptorChaCha20Poly1305OneshotDecrypt, - _CCCryptorChaCha20Poly1305OneshotEncrypt, _CCCryptorCreate, - _CCCryptorCreateFromData, _CCCryptorCreateFromDataWithMode, - _CCCryptorCreateWithMode, _CCCryptorDecryptDataBlock, _CCCryptorEncryptDataBlock, - _CCCryptorFinal, _CCCryptorGCM, _CCCryptorGCMAddAAD, _CCCryptorGCMAddADD, - _CCCryptorGCMAddIV, _CCCryptorGCMDecrypt, _CCCryptorGCMEncrypt, - _CCCryptorGCMFinal, _CCCryptorGCMFinalize, _CCCryptorGCMOneshotDecrypt, - _CCCryptorGCMOneshotEncrypt, _CCCryptorGCMReset, _CCCryptorGCMSetIV, - _CCCryptorGCMaddAAD, _CCCryptorGetIV, _CCCryptorGetOutputLength, - _CCCryptorGetParameter, _CCCryptorRelease, _CCCryptorReset, - _CCCryptorReset_binary_compatibility, _CCCryptorUpdate, _CCDHComputeKey, - _CCDHCreate, _CCDHGenerateKey, _CCDHRelease, _CCDeriveKey, - _CCDesCBCCksum, _CCDesIsWeakKey, _CCDesSetOddParity, _CCDigest, - _CCDigestBlockSize, _CCDigestCreate, _CCDigestCreateByOID, - _CCDigestDestroy, _CCDigestFinal, _CCDigestGetBlockSize, _CCDigestGetBlockSizeFromRef, - _CCDigestGetOutputSize, _CCDigestGetOutputSizeFromRef, _CCDigestInit, - _CCDigestOID, _CCDigestOIDLen, _CCDigestOutputSize, _CCDigestReset, - _CCDigestUpdate, _CCECCryptorBlind, _CCECCryptorBlindingKeysRelease, - _CCECCryptorComputeSharedSecret, _CCECCryptorCreateFromData, - _CCECCryptorExportKey, _CCECCryptorExportPublicKey, _CCECCryptorGenerateBlindingKeys, - _CCECCryptorGeneratePair, _CCECCryptorGetKeyComponents, _CCECCryptorGetPublicKeyFromPrivateKey, - _CCECCryptorH2C, _CCECCryptorImportKey, _CCECCryptorImportPublicKey, - _CCECCryptorRelease, _CCECCryptorSignHash, _CCECCryptorTwinDiversifyEntropySize, - _CCECCryptorTwinDiversifyKey, _CCECCryptorUnblind, _CCECCryptorUnwrapKey, - _CCECCryptorVerifyHash, _CCECCryptorWrapKey, _CCECGetKeySize, - _CCECGetKeyType, _CCHKDFExpand, _CCHKDFExtract, _CCHmac, _CCHmacClone, - _CCHmacCreate, _CCHmacDestroy, _CCHmacFinal, _CCHmacInit, - _CCHmacOneShot, _CCHmacOutputSize, _CCHmacOutputSizeFromRef, - _CCHmacUpdate, _CCKDFParametersCreateAnsiX963, _CCKDFParametersCreateCtrHmac, - _CCKDFParametersCreateCtrHmacFixed, _CCKDFParametersCreateHkdf, - _CCKDFParametersCreatePbkdf2, _CCKDFParametersDestroy, _CCKeyDerivationHMac, - _CCKeyDerivationPBKDF, _CCRSACryptorCreateFromData, _CCRSACryptorCreatePublicKeyFromPrivateKey, - _CCRSACryptorCrypt, _CCRSACryptorDecrypt, _CCRSACryptorEncrypt, - _CCRSACryptorExport, _CCRSACryptorGeneratePair, _CCRSACryptorGetPublicKeyFromPrivateKey, - _CCRSACryptorImport, _CCRSACryptorRecoverPrivateKey, _CCRSACryptorRelease, - _CCRSACryptorSign, _CCRSACryptorVerify, _CCRSAGetCRTComponents, - _CCRSAGetCRTComponentsSizes, _CCRSAGetKeyComponents, _CCRSAGetKeySize, - _CCRSAGetKeyType, _CCRandomCopyBytes, _CCRandomGenerateBytes, - _CCRandomUniform, _CCSymmetricKeyUnwrap, _CCSymmetricKeyWrap, - _CCSymmetricUnwrappedSize, _CCSymmetricWrappedSize, _CC_MD2, - _CC_MD2_Final, _CC_MD2_Init, _CC_MD2_Update, _CC_MD4, _CC_MD4_Final, - _CC_MD4_Init, _CC_MD4_Update, _CC_MD5, _CC_MD5_Final, _CC_MD5_Init, - _CC_MD5_Update, _CC_SHA1, _CC_SHA1_Final, _CC_SHA1_Init, _CC_SHA1_Update, - _CC_SHA224, _CC_SHA224_Final, _CC_SHA224_Init, _CC_SHA224_Update, - _CC_SHA256, _CC_SHA256_Final, _CC_SHA256_Init, _CC_SHA256_Update, - _CC_SHA384, _CC_SHA384_Final, _CC_SHA384_Init, _CC_SHA384_Update, - _CC_SHA512, _CC_SHA512_Final, _CC_SHA512_Init, _CC_SHA512_Update, - _CCrfc3394_iv, _CCrfc3394_ivLen, _CNCRC, _CNCRCDumpTable, - _CNCRCFinal, _CNCRCInit, _CNCRCRelease, _CNCRCUpdate, _CNCRCWeakTest, - _CNEncode, _CNEncoderBlocksize, _CNEncoderBlocksizeFromRef, - _CNEncoderCreate, _CNEncoderCreateCustom, _CNEncoderFinal, - _CNEncoderGetOutputLength, _CNEncoderGetOutputLengthFromEncoding, - _CNEncoderRelease, _CNEncoderUpdate, _MD5Final, _ccDRBGGetRngState, - _ccDevRandomGetRngState, _kCCRandomDefault, _kCCRandomDevRandom ] ---- !tapi-tbd -tbd-version: 4 -targets: [ x86_64-macos, arm64-macos, arm64e-macos ] -uuids: - - target: x86_64-macos - value: AD346AFB-8737-3E88-B4C5-25D77181AE44 - - target: arm64-macos - value: 0B616B91-A847-3817-B571-4498A1D36CC0 - - target: arm64e-macos - value: 7E374D5C-9785-3D65-88D2-98B92AD24C78 -install-name: '/usr/lib/system/libcompiler_rt.dylib' -current-version: 103.1 -parent-umbrella: - - targets: [ x86_64-macos, arm64-macos, arm64e-macos ] - umbrella: System -exports: - - targets: [ x86_64-macos ] - symbols: [ '$ld$hide$os10.4$___absvti2', '$ld$hide$os10.4$___addvti3', - '$ld$hide$os10.4$___ashlti3', '$ld$hide$os10.4$___ashrti3', - '$ld$hide$os10.4$___cmpti2', '$ld$hide$os10.4$___ctzti2', - '$ld$hide$os10.4$___ffsti2', '$ld$hide$os10.4$___fixunsxfti', - '$ld$hide$os10.4$___fixxfti', '$ld$hide$os10.4$___floattixf', - '$ld$hide$os10.4$___floatuntixf', '$ld$hide$os10.4$___lshrti3', - '$ld$hide$os10.4$___multi3', '$ld$hide$os10.4$___mulvti3', - '$ld$hide$os10.4$___negti2', '$ld$hide$os10.4$___negvti2', - '$ld$hide$os10.4$___parityti2', '$ld$hide$os10.4$___popcountti2', - '$ld$hide$os10.4$___subvti3', '$ld$hide$os10.4$___ucmpti2', - '$ld$hide$os10.5$___absvti2', '$ld$hide$os10.5$___addvti3', - '$ld$hide$os10.5$___ashlti3', '$ld$hide$os10.5$___ashrti3', - '$ld$hide$os10.5$___cmpti2', '$ld$hide$os10.5$___ctzti2', - '$ld$hide$os10.5$___ffsti2', '$ld$hide$os10.5$___fixunsxfti', - '$ld$hide$os10.5$___fixxfti', '$ld$hide$os10.5$___floattixf', - '$ld$hide$os10.5$___floatuntixf', '$ld$hide$os10.5$___lshrti3', - '$ld$hide$os10.5$___multi3', '$ld$hide$os10.5$___mulvti3', - '$ld$hide$os10.5$___negti2', '$ld$hide$os10.5$___negvti2', - '$ld$hide$os10.5$___parityti2', '$ld$hide$os10.5$___popcountti2', - '$ld$hide$os10.5$___subvti3', '$ld$hide$os10.5$___ucmpti2', - ___absvdi2, ___absvsi2, ___absvti2, ___addvdi3, ___addvsi3, - ___addvti3, ___ashldi3, ___ashlti3, ___ashrdi3, ___ashrti3, - ___clzdi2, ___clzsi2, ___cmpdi2, ___cmpti2, ___ctzdi2, ___ctzsi2, - ___ctzti2, ___divdc3, ___divdi3, ___divsc3, ___divxc3, ___ffsdi2, - ___ffsti2, ___fixdfdi, ___fixsfdi, ___fixunsdfdi, ___fixunsdfsi, - ___fixunssfdi, ___fixunssfsi, ___fixunsxfdi, ___fixunsxfsi, - ___fixunsxfti, ___fixxfdi, ___fixxfti, ___floatdidf, ___floatdisf, - ___floatdixf, ___floattixf, ___floatundidf, ___floatundisf, - ___floatundixf, ___floatuntixf, ___lshrdi3, ___lshrti3, ___moddi3, - ___muldi3, ___mulodi4, ___mulosi4, ___muloti4, ___multi3, - ___mulvdi3, ___mulvsi3, ___mulvti3, ___mulxc3, ___negdi2, - ___negti2, ___negvdi2, ___negvsi2, ___negvti2, ___paritydi2, - ___paritysi2, ___parityti2, ___popcountdi2, ___popcountsi2, - ___popcountti2, ___powixf2, ___subvdi3, ___subvsi3, ___subvti3, - ___ucmpdi2, ___ucmpti2, ___udivdi3, ___udivmoddi4, ___umoddi3 ] - - targets: [ arm64-macos, arm64e-macos, x86_64-macos ] - symbols: [ '$ld$hide$os10.10$___chkstk_darwin', '$ld$hide$os10.10$___extendhfsf2', - '$ld$hide$os10.10$___truncdfhf2', '$ld$hide$os10.10$___truncsfhf2', - '$ld$hide$os10.10$_atomic_flag_clear', '$ld$hide$os10.10$_atomic_flag_clear_explicit', - '$ld$hide$os10.10$_atomic_flag_test_and_set', '$ld$hide$os10.10$_atomic_flag_test_and_set_explicit', - '$ld$hide$os10.10$_atomic_signal_fence', '$ld$hide$os10.10$_atomic_thread_fence', - '$ld$hide$os10.11$___chkstk_darwin', '$ld$hide$os10.12$___chkstk_darwin', - '$ld$hide$os10.13$___chkstk_darwin', '$ld$hide$os10.14$___chkstk_darwin', - '$ld$hide$os10.4$___absvdi2', '$ld$hide$os10.4$___absvsi2', - '$ld$hide$os10.4$___addvdi3', '$ld$hide$os10.4$___addvsi3', - '$ld$hide$os10.4$___ashldi3', '$ld$hide$os10.4$___ashrdi3', - '$ld$hide$os10.4$___clear_cache', '$ld$hide$os10.4$___clzdi2', - '$ld$hide$os10.4$___clzsi2', '$ld$hide$os10.4$___clzti2', - '$ld$hide$os10.4$___cmpdi2', '$ld$hide$os10.4$___ctzdi2', - '$ld$hide$os10.4$___ctzsi2', '$ld$hide$os10.4$___divdc3', - '$ld$hide$os10.4$___divdi3', '$ld$hide$os10.4$___divsc3', - '$ld$hide$os10.4$___divti3', '$ld$hide$os10.4$___divxc3', - '$ld$hide$os10.4$___enable_execute_stack', '$ld$hide$os10.4$___ffsdi2', - '$ld$hide$os10.4$___fixdfdi', '$ld$hide$os10.4$___fixdfti', - '$ld$hide$os10.4$___fixsfdi', '$ld$hide$os10.4$___fixsfti', - '$ld$hide$os10.4$___fixunsdfdi', '$ld$hide$os10.4$___fixunsdfsi', - '$ld$hide$os10.4$___fixunsdfti', '$ld$hide$os10.4$___fixunssfdi', - '$ld$hide$os10.4$___fixunssfsi', '$ld$hide$os10.4$___fixunssfti', - '$ld$hide$os10.4$___fixunsxfdi', '$ld$hide$os10.4$___fixunsxfsi', - '$ld$hide$os10.4$___fixxfdi', '$ld$hide$os10.4$___floatdidf', - '$ld$hide$os10.4$___floatdisf', '$ld$hide$os10.4$___floatdixf', - '$ld$hide$os10.4$___floattidf', '$ld$hide$os10.4$___floattisf', - '$ld$hide$os10.4$___floatundidf', '$ld$hide$os10.4$___floatundisf', - '$ld$hide$os10.4$___floatundixf', '$ld$hide$os10.4$___floatuntidf', - '$ld$hide$os10.4$___floatuntisf', '$ld$hide$os10.4$___gcc_personality_v0', - '$ld$hide$os10.4$___lshrdi3', '$ld$hide$os10.4$___moddi3', - '$ld$hide$os10.4$___modti3', '$ld$hide$os10.4$___muldc3', - '$ld$hide$os10.4$___muldi3', '$ld$hide$os10.4$___mulsc3', - '$ld$hide$os10.4$___mulvdi3', '$ld$hide$os10.4$___mulvsi3', - '$ld$hide$os10.4$___mulxc3', '$ld$hide$os10.4$___negdi2', - '$ld$hide$os10.4$___negvdi2', '$ld$hide$os10.4$___negvsi2', - '$ld$hide$os10.4$___paritydi2', '$ld$hide$os10.4$___paritysi2', - '$ld$hide$os10.4$___popcountdi2', '$ld$hide$os10.4$___popcountsi2', - '$ld$hide$os10.4$___powidf2', '$ld$hide$os10.4$___powisf2', - '$ld$hide$os10.4$___powixf2', '$ld$hide$os10.4$___subvdi3', - '$ld$hide$os10.4$___subvsi3', '$ld$hide$os10.4$___ucmpdi2', - '$ld$hide$os10.4$___udivdi3', '$ld$hide$os10.4$___udivmoddi4', - '$ld$hide$os10.4$___udivmodti4', '$ld$hide$os10.4$___udivti3', - '$ld$hide$os10.4$___umoddi3', '$ld$hide$os10.4$___umodti3', - '$ld$hide$os10.5$___absvdi2', '$ld$hide$os10.5$___absvsi2', - '$ld$hide$os10.5$___addvdi3', '$ld$hide$os10.5$___addvsi3', - '$ld$hide$os10.5$___ashldi3', '$ld$hide$os10.5$___ashrdi3', - '$ld$hide$os10.5$___clear_cache', '$ld$hide$os10.5$___clzdi2', - '$ld$hide$os10.5$___clzsi2', '$ld$hide$os10.5$___clzti2', - '$ld$hide$os10.5$___cmpdi2', '$ld$hide$os10.5$___ctzdi2', - '$ld$hide$os10.5$___ctzsi2', '$ld$hide$os10.5$___divdc3', - '$ld$hide$os10.5$___divdi3', '$ld$hide$os10.5$___divsc3', - '$ld$hide$os10.5$___divti3', '$ld$hide$os10.5$___divxc3', - '$ld$hide$os10.5$___enable_execute_stack', '$ld$hide$os10.5$___ffsdi2', - '$ld$hide$os10.5$___fixdfdi', '$ld$hide$os10.5$___fixdfti', - '$ld$hide$os10.5$___fixsfdi', '$ld$hide$os10.5$___fixsfti', - '$ld$hide$os10.5$___fixunsdfdi', '$ld$hide$os10.5$___fixunsdfsi', - '$ld$hide$os10.5$___fixunsdfti', '$ld$hide$os10.5$___fixunssfdi', - '$ld$hide$os10.5$___fixunssfsi', '$ld$hide$os10.5$___fixunssfti', - '$ld$hide$os10.5$___fixunsxfdi', '$ld$hide$os10.5$___fixunsxfsi', - '$ld$hide$os10.5$___fixxfdi', '$ld$hide$os10.5$___floatdidf', - '$ld$hide$os10.5$___floatdisf', '$ld$hide$os10.5$___floatdixf', - '$ld$hide$os10.5$___floattidf', '$ld$hide$os10.5$___floattisf', - '$ld$hide$os10.5$___floatundidf', '$ld$hide$os10.5$___floatundisf', - '$ld$hide$os10.5$___floatundixf', '$ld$hide$os10.5$___floatuntidf', - '$ld$hide$os10.5$___floatuntisf', '$ld$hide$os10.5$___gcc_personality_v0', - '$ld$hide$os10.5$___lshrdi3', '$ld$hide$os10.5$___moddi3', - '$ld$hide$os10.5$___modti3', '$ld$hide$os10.5$___muldc3', - '$ld$hide$os10.5$___muldi3', '$ld$hide$os10.5$___mulsc3', - '$ld$hide$os10.5$___mulvdi3', '$ld$hide$os10.5$___mulvsi3', - '$ld$hide$os10.5$___mulxc3', '$ld$hide$os10.5$___negdi2', - '$ld$hide$os10.5$___negvdi2', '$ld$hide$os10.5$___negvsi2', - '$ld$hide$os10.5$___paritydi2', '$ld$hide$os10.5$___paritysi2', - '$ld$hide$os10.5$___popcountdi2', '$ld$hide$os10.5$___popcountsi2', - '$ld$hide$os10.5$___powidf2', '$ld$hide$os10.5$___powisf2', - '$ld$hide$os10.5$___powixf2', '$ld$hide$os10.5$___subvdi3', - '$ld$hide$os10.5$___subvsi3', '$ld$hide$os10.5$___ucmpdi2', - '$ld$hide$os10.5$___udivdi3', '$ld$hide$os10.5$___udivmoddi4', - '$ld$hide$os10.5$___udivmodti4', '$ld$hide$os10.5$___udivti3', - '$ld$hide$os10.5$___umoddi3', '$ld$hide$os10.5$___umodti3', - '$ld$hide$os10.6$___atomic_compare_exchange', '$ld$hide$os10.6$___atomic_compare_exchange_1', - '$ld$hide$os10.6$___atomic_compare_exchange_2', '$ld$hide$os10.6$___atomic_compare_exchange_4', - '$ld$hide$os10.6$___atomic_compare_exchange_8', '$ld$hide$os10.6$___atomic_exchange', - '$ld$hide$os10.6$___atomic_exchange_1', '$ld$hide$os10.6$___atomic_exchange_2', - '$ld$hide$os10.6$___atomic_exchange_4', '$ld$hide$os10.6$___atomic_exchange_8', - '$ld$hide$os10.6$___atomic_fetch_add_1', '$ld$hide$os10.6$___atomic_fetch_add_2', - '$ld$hide$os10.6$___atomic_fetch_add_4', '$ld$hide$os10.6$___atomic_fetch_add_8', - '$ld$hide$os10.6$___atomic_fetch_and_1', '$ld$hide$os10.6$___atomic_fetch_and_2', - '$ld$hide$os10.6$___atomic_fetch_and_4', '$ld$hide$os10.6$___atomic_fetch_and_8', - '$ld$hide$os10.6$___atomic_fetch_or_1', '$ld$hide$os10.6$___atomic_fetch_or_2', - '$ld$hide$os10.6$___atomic_fetch_or_4', '$ld$hide$os10.6$___atomic_fetch_or_8', - '$ld$hide$os10.6$___atomic_fetch_sub_1', '$ld$hide$os10.6$___atomic_fetch_sub_2', - '$ld$hide$os10.6$___atomic_fetch_sub_4', '$ld$hide$os10.6$___atomic_fetch_sub_8', - '$ld$hide$os10.6$___atomic_fetch_xor_1', '$ld$hide$os10.6$___atomic_fetch_xor_2', - '$ld$hide$os10.6$___atomic_fetch_xor_4', '$ld$hide$os10.6$___atomic_fetch_xor_8', - '$ld$hide$os10.6$___atomic_load', '$ld$hide$os10.6$___atomic_load_1', - '$ld$hide$os10.6$___atomic_load_2', '$ld$hide$os10.6$___atomic_load_4', - '$ld$hide$os10.6$___atomic_load_8', '$ld$hide$os10.6$___atomic_store', - '$ld$hide$os10.6$___atomic_store_1', '$ld$hide$os10.6$___atomic_store_2', - '$ld$hide$os10.6$___atomic_store_4', '$ld$hide$os10.6$___atomic_store_8', - '$ld$hide$os10.6$___chkstk_darwin', '$ld$hide$os10.6$___extendhfsf2', - '$ld$hide$os10.6$___truncdfhf2', '$ld$hide$os10.6$___truncsfhf2', - '$ld$hide$os10.6$_atomic_flag_clear', '$ld$hide$os10.6$_atomic_flag_clear_explicit', - '$ld$hide$os10.6$_atomic_flag_test_and_set', '$ld$hide$os10.6$_atomic_flag_test_and_set_explicit', - '$ld$hide$os10.6$_atomic_signal_fence', '$ld$hide$os10.6$_atomic_thread_fence', - '$ld$hide$os10.7$___atomic_compare_exchange', '$ld$hide$os10.7$___atomic_compare_exchange_1', - '$ld$hide$os10.7$___atomic_compare_exchange_2', '$ld$hide$os10.7$___atomic_compare_exchange_4', - '$ld$hide$os10.7$___atomic_compare_exchange_8', '$ld$hide$os10.7$___atomic_exchange', - '$ld$hide$os10.7$___atomic_exchange_1', '$ld$hide$os10.7$___atomic_exchange_2', - '$ld$hide$os10.7$___atomic_exchange_4', '$ld$hide$os10.7$___atomic_exchange_8', - '$ld$hide$os10.7$___atomic_fetch_add_1', '$ld$hide$os10.7$___atomic_fetch_add_2', - '$ld$hide$os10.7$___atomic_fetch_add_4', '$ld$hide$os10.7$___atomic_fetch_add_8', - '$ld$hide$os10.7$___atomic_fetch_and_1', '$ld$hide$os10.7$___atomic_fetch_and_2', - '$ld$hide$os10.7$___atomic_fetch_and_4', '$ld$hide$os10.7$___atomic_fetch_and_8', - '$ld$hide$os10.7$___atomic_fetch_or_1', '$ld$hide$os10.7$___atomic_fetch_or_2', - '$ld$hide$os10.7$___atomic_fetch_or_4', '$ld$hide$os10.7$___atomic_fetch_or_8', - '$ld$hide$os10.7$___atomic_fetch_sub_1', '$ld$hide$os10.7$___atomic_fetch_sub_2', - '$ld$hide$os10.7$___atomic_fetch_sub_4', '$ld$hide$os10.7$___atomic_fetch_sub_8', - '$ld$hide$os10.7$___atomic_fetch_xor_1', '$ld$hide$os10.7$___atomic_fetch_xor_2', - '$ld$hide$os10.7$___atomic_fetch_xor_4', '$ld$hide$os10.7$___atomic_fetch_xor_8', - '$ld$hide$os10.7$___atomic_load', '$ld$hide$os10.7$___atomic_load_1', - '$ld$hide$os10.7$___atomic_load_2', '$ld$hide$os10.7$___atomic_load_4', - '$ld$hide$os10.7$___atomic_load_8', '$ld$hide$os10.7$___atomic_store', - '$ld$hide$os10.7$___atomic_store_1', '$ld$hide$os10.7$___atomic_store_2', - '$ld$hide$os10.7$___atomic_store_4', '$ld$hide$os10.7$___atomic_store_8', - '$ld$hide$os10.7$___chkstk_darwin', '$ld$hide$os10.7$___extendhfsf2', - '$ld$hide$os10.7$___truncdfhf2', '$ld$hide$os10.7$___truncsfhf2', - '$ld$hide$os10.7$_atomic_flag_clear', '$ld$hide$os10.7$_atomic_flag_clear_explicit', - '$ld$hide$os10.7$_atomic_flag_test_and_set', '$ld$hide$os10.7$_atomic_flag_test_and_set_explicit', - '$ld$hide$os10.7$_atomic_signal_fence', '$ld$hide$os10.7$_atomic_thread_fence', - '$ld$hide$os10.8$___atomic_compare_exchange', '$ld$hide$os10.8$___atomic_compare_exchange_1', - '$ld$hide$os10.8$___atomic_compare_exchange_2', '$ld$hide$os10.8$___atomic_compare_exchange_4', - '$ld$hide$os10.8$___atomic_compare_exchange_8', '$ld$hide$os10.8$___atomic_exchange', - '$ld$hide$os10.8$___atomic_exchange_1', '$ld$hide$os10.8$___atomic_exchange_2', - '$ld$hide$os10.8$___atomic_exchange_4', '$ld$hide$os10.8$___atomic_exchange_8', - '$ld$hide$os10.8$___atomic_fetch_add_1', '$ld$hide$os10.8$___atomic_fetch_add_2', - '$ld$hide$os10.8$___atomic_fetch_add_4', '$ld$hide$os10.8$___atomic_fetch_add_8', - '$ld$hide$os10.8$___atomic_fetch_and_1', '$ld$hide$os10.8$___atomic_fetch_and_2', - '$ld$hide$os10.8$___atomic_fetch_and_4', '$ld$hide$os10.8$___atomic_fetch_and_8', - '$ld$hide$os10.8$___atomic_fetch_or_1', '$ld$hide$os10.8$___atomic_fetch_or_2', - '$ld$hide$os10.8$___atomic_fetch_or_4', '$ld$hide$os10.8$___atomic_fetch_or_8', - '$ld$hide$os10.8$___atomic_fetch_sub_1', '$ld$hide$os10.8$___atomic_fetch_sub_2', - '$ld$hide$os10.8$___atomic_fetch_sub_4', '$ld$hide$os10.8$___atomic_fetch_sub_8', - '$ld$hide$os10.8$___atomic_fetch_xor_1', '$ld$hide$os10.8$___atomic_fetch_xor_2', - '$ld$hide$os10.8$___atomic_fetch_xor_4', '$ld$hide$os10.8$___atomic_fetch_xor_8', - '$ld$hide$os10.8$___atomic_load', '$ld$hide$os10.8$___atomic_load_1', - '$ld$hide$os10.8$___atomic_load_2', '$ld$hide$os10.8$___atomic_load_4', - '$ld$hide$os10.8$___atomic_load_8', '$ld$hide$os10.8$___atomic_store', - '$ld$hide$os10.8$___atomic_store_1', '$ld$hide$os10.8$___atomic_store_2', - '$ld$hide$os10.8$___atomic_store_4', '$ld$hide$os10.8$___atomic_store_8', - '$ld$hide$os10.8$___chkstk_darwin', '$ld$hide$os10.8$___extendhfsf2', - '$ld$hide$os10.8$___truncdfhf2', '$ld$hide$os10.8$___truncsfhf2', - '$ld$hide$os10.8$_atomic_flag_clear', '$ld$hide$os10.8$_atomic_flag_clear_explicit', - '$ld$hide$os10.8$_atomic_flag_test_and_set', '$ld$hide$os10.8$_atomic_flag_test_and_set_explicit', - '$ld$hide$os10.8$_atomic_signal_fence', '$ld$hide$os10.8$_atomic_thread_fence', - '$ld$hide$os10.9$___chkstk_darwin', '$ld$hide$os10.9$___extendhfsf2', - '$ld$hide$os10.9$___truncdfhf2', '$ld$hide$os10.9$___truncsfhf2', - '$ld$hide$os10.9$_atomic_flag_clear', '$ld$hide$os10.9$_atomic_flag_clear_explicit', - '$ld$hide$os10.9$_atomic_flag_test_and_set', '$ld$hide$os10.9$_atomic_flag_test_and_set_explicit', - '$ld$hide$os10.9$_atomic_signal_fence', '$ld$hide$os10.9$_atomic_thread_fence', - ___atomic_compare_exchange, ___atomic_compare_exchange_1, - ___atomic_compare_exchange_2, ___atomic_compare_exchange_4, - ___atomic_compare_exchange_8, ___atomic_exchange, ___atomic_exchange_1, - ___atomic_exchange_2, ___atomic_exchange_4, ___atomic_exchange_8, - ___atomic_fetch_add_1, ___atomic_fetch_add_2, ___atomic_fetch_add_4, - ___atomic_fetch_add_8, ___atomic_fetch_and_1, ___atomic_fetch_and_2, - ___atomic_fetch_and_4, ___atomic_fetch_and_8, ___atomic_fetch_or_1, - ___atomic_fetch_or_2, ___atomic_fetch_or_4, ___atomic_fetch_or_8, - ___atomic_fetch_sub_1, ___atomic_fetch_sub_2, ___atomic_fetch_sub_4, - ___atomic_fetch_sub_8, ___atomic_fetch_xor_1, ___atomic_fetch_xor_2, - ___atomic_fetch_xor_4, ___atomic_fetch_xor_8, ___atomic_is_lock_free, - ___atomic_load, ___atomic_load_1, ___atomic_load_2, ___atomic_load_4, - ___atomic_load_8, ___atomic_store, ___atomic_store_1, ___atomic_store_2, - ___atomic_store_4, ___atomic_store_8, ___chkstk_darwin, ___clear_cache, - ___clzti2, ___divti3, ___enable_execute_stack, ___extendhfsf2, - ___fixdfti, ___fixsfti, ___fixunsdfti, ___fixunssfti, ___floattidf, - ___floattisf, ___floatuntidf, ___floatuntisf, ___gcc_personality_v0, - ___gnu_f2h_ieee, ___gnu_h2f_ieee, ___modti3, ___muldc3, ___mulsc3, - ___powidf2, ___powisf2, ___truncdfhf2, ___truncsfhf2, ___udivmodti4, - ___udivti3, ___umodti3, _atomic_flag_clear, _atomic_flag_clear_explicit, - _atomic_flag_test_and_set, _atomic_flag_test_and_set_explicit, - _atomic_signal_fence, _atomic_thread_fence ] ---- !tapi-tbd -tbd-version: 4 -targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] -uuids: - - target: x86_64-macos - value: C5E0151C-F9E9-3851-841D-F6C2528ADB07 - - target: x86_64-maccatalyst - value: C5E0151C-F9E9-3851-841D-F6C2528ADB07 - - target: arm64-macos - value: 00000000-0000-0000-0000-000000000000 - - target: arm64-maccatalyst - value: 00000000-0000-0000-0000-000000000000 - - target: arm64e-macos - value: 97564E56-1B3C-3C9A-B653-AE99C54231AC - - target: arm64e-maccatalyst - value: 97564E56-1B3C-3C9A-B653-AE99C54231AC -install-name: '/usr/lib/system/libcopyfile.dylib' -parent-umbrella: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] - umbrella: System -exports: - - targets: [ arm64e-macos, x86_64-macos, x86_64-maccatalyst, arm64e-maccatalyst, - arm64-macos, arm64-maccatalyst ] - symbols: [ _copyfile, _copyfile_state_alloc, _copyfile_state_free, _copyfile_state_get, - _copyfile_state_set, _fcopyfile, _xattr_flags_from_name, _xattr_intent_with_flags, - _xattr_name_with_flags, _xattr_name_without_flags, _xattr_preserve_for_intent ] ---- !tapi-tbd -tbd-version: 4 -targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] -uuids: - - target: x86_64-macos - value: E8AE6CBE-D5F8-32B8-A9D3-A2D8BF77F4D0 - - target: x86_64-maccatalyst - value: E8AE6CBE-D5F8-32B8-A9D3-A2D8BF77F4D0 - - target: arm64-macos - value: 00000000-0000-0000-0000-000000000000 - - target: arm64-maccatalyst - value: 00000000-0000-0000-0000-000000000000 - - target: arm64e-macos - value: 29B2F7FD-0F6D-3F41-B569-FB4AE94F4D6B - - target: arm64e-maccatalyst - value: 29B2F7FD-0F6D-3F41-B569-FB4AE94F4D6B -install-name: '/usr/lib/system/libcorecrypto.dylib' -current-version: 1218.100.47 -parent-umbrella: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] - umbrella: System -allowable-clients: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] - clients: [ cc_fips_test, corecrypto_test ] -exports: - - targets: [ x86_64-macos, x86_64-maccatalyst ] - symbols: [ _ccaes_intel_cbc_decrypt_aesni_mode, _ccaes_intel_cbc_decrypt_opt_mode, - _ccaes_intel_cbc_encrypt_aesni_mode, _ccaes_intel_cbc_encrypt_opt_mode, - _ccaes_intel_ecb_decrypt_aesni_mode, _ccaes_intel_ecb_decrypt_opt_mode, - _ccaes_intel_ecb_encrypt_aesni_mode, _ccaes_intel_ecb_encrypt_opt_mode, - _ccaes_intel_xts_decrypt_aesni_mode, _ccaes_intel_xts_decrypt_opt_mode, - _ccaes_intel_xts_encrypt_aesni_mode, _ccaes_intel_xts_encrypt_opt_mode, - _ccsha1_vng_intel_SupplementalSSE3_di, _ccsha224_vng_intel_SupplementalSSE3_di, - _ccsha256_vng_intel_SupplementalSSE3_di ] - - targets: [ arm64e-macos, x86_64-macos, x86_64-maccatalyst, arm64e-maccatalyst, - arm64-macos, arm64-maccatalyst ] - symbols: [ _CCEC_FAULT_CANARY, _CCRSA_PKCS1_FAULT_CANARY, _CCRSA_PSS_FAULT_CANARY, - _CCSS_PRIME_P192, _CCSS_PRIME_P224, _CCSS_PRIME_P256, _CCSS_PRIME_P384, - _CCSS_PRIME_P521, _cc_abort, _cc_atfork_child, _cc_atfork_parent, - _cc_atfork_prepare, _cc_clear, _cc_cmp_safe, _cc_muxp, _cc_try_abort, - _cc_try_abort_if, _ccaes_cbc_decrypt_mode, _ccaes_cbc_encrypt_mode, - _ccaes_ccm_decrypt_mode, _ccaes_ccm_encrypt_mode, _ccaes_cfb8_decrypt_mode, - _ccaes_cfb8_encrypt_mode, _ccaes_cfb_decrypt_mode, _ccaes_cfb_encrypt_mode, - _ccaes_ctr_crypt_mode, _ccaes_ecb_decrypt_mode, _ccaes_ecb_encrypt_mode, - _ccaes_gcm_decrypt_mode, _ccaes_gcm_encrypt_mode, _ccaes_gladman_cbc_decrypt_mode, - _ccaes_gladman_cbc_encrypt_mode, _ccaes_ltc_ecb_decrypt_mode, - _ccaes_ltc_ecb_encrypt_mode, _ccaes_ofb_crypt_mode, _ccaes_siv_decrypt_mode, - _ccaes_siv_encrypt_mode, _ccaes_siv_hmac_sha256_decrypt_mode, - _ccaes_siv_hmac_sha256_encrypt_mode, _ccaes_unwind, _ccaes_xts_decrypt_mode, - _ccaes_xts_encrypt_mode, _ccansikdf_x963, _ccapsic_client_check_intersect_response, - _ccapsic_client_generate_match_response, _ccapsic_client_init, - _ccapsic_client_state_sizeof, _ccapsic_server_determine_intersection, - _ccapsic_server_encode_element, _ccapsic_server_init, _ccapsic_server_state_sizeof, - _ccblowfish_cbc_decrypt_mode, _ccblowfish_cbc_encrypt_mode, - _ccblowfish_cfb8_decrypt_mode, _ccblowfish_cfb8_encrypt_mode, - _ccblowfish_cfb_decrypt_mode, _ccblowfish_cfb_encrypt_mode, - _ccblowfish_ctr_crypt_mode, _ccblowfish_ecb_decrypt_mode, - _ccblowfish_ecb_encrypt_mode, _ccblowfish_ofb_crypt_mode, - _cccast_cbc_decrypt_mode, _cccast_cbc_encrypt_mode, _cccast_cfb8_decrypt_mode, - _cccast_cfb8_encrypt_mode, _cccast_cfb_decrypt_mode, _cccast_cfb_encrypt_mode, - _cccast_ctr_crypt_mode, _cccast_ecb_decrypt_mode, _cccast_ecb_encrypt_mode, - _cccast_ofb_crypt_mode, _cccbc_one_shot, _ccccm_decrypt, _ccccm_encrypt, - _ccccm_finalize_and_generate_tag, _ccccm_finalize_and_verify_tag, - _ccccm_one_shot_decrypt, _ccccm_one_shot_encrypt, _ccchacha20, - _ccchacha20_final, _ccchacha20_init, _ccchacha20_reset, _ccchacha20_setcounter, - _ccchacha20_setnonce, _ccchacha20_update, _ccchacha20poly1305_aad, - _ccchacha20poly1305_decrypt, _ccchacha20poly1305_decrypt_oneshot, - _ccchacha20poly1305_encrypt, _ccchacha20poly1305_encrypt_oneshot, - _ccchacha20poly1305_finalize, _ccchacha20poly1305_incnonce, - _ccchacha20poly1305_info, _ccchacha20poly1305_init, _ccchacha20poly1305_reset, - _ccchacha20poly1305_setnonce, _ccchacha20poly1305_verify, - _ccckg_contributor_commit, _ccckg_contributor_finish, _ccckg_init, - _ccckg_owner_finish, _ccckg_owner_generate_share, _ccckg_sizeof_commitment, - _ccckg_sizeof_ctx, _ccckg_sizeof_opening, _ccckg_sizeof_share, - _cccmac_final_generate, _cccmac_final_verify, _cccmac_init, - _cccmac_one_shot_generate, _cccmac_one_shot_verify, _cccmac_update, - _cccurve25519, _ccder_blob_decode_bitstring, _ccder_blob_decode_eckey, - _ccder_blob_decode_len, _ccder_blob_decode_len_strict, _ccder_blob_decode_oid, - _ccder_blob_decode_range, _ccder_blob_decode_range_strict, - _ccder_blob_decode_seqii, _ccder_blob_decode_seqii_strict, - _ccder_blob_decode_sequence_tl, _ccder_blob_decode_sequence_tl_strict, - _ccder_blob_decode_tag, _ccder_blob_decode_tl, _ccder_blob_decode_tl_strict, - _ccder_blob_decode_uint, _ccder_blob_decode_uint64, _ccder_blob_decode_uint_n, - _ccder_blob_decode_uint_strict, _ccder_blob_encode_body, _ccder_blob_encode_body_tl, - _ccder_blob_encode_eckey, _ccder_blob_encode_implicit_integer, - _ccder_blob_encode_implicit_octet_string, _ccder_blob_encode_implicit_raw_octet_string, - _ccder_blob_encode_implicit_uint64, _ccder_blob_encode_integer, - _ccder_blob_encode_len, _ccder_blob_encode_octet_string, _ccder_blob_encode_oid, - _ccder_blob_encode_raw_octet_string, _ccder_blob_encode_tag, - _ccder_blob_encode_tl, _ccder_blob_encode_uint64, _ccder_blob_reserve, - _ccder_blob_reserve_tl, _ccder_decode_bitstring, _ccder_decode_constructed_tl, - _ccder_decode_constructed_tl_strict, _ccder_decode_dhparam_n, - _ccder_decode_dhparams, _ccder_decode_eckey, _ccder_decode_len, - _ccder_decode_len_strict, _ccder_decode_oid, _ccder_decode_rsa_priv, - _ccder_decode_rsa_priv_n, _ccder_decode_rsa_pub, _ccder_decode_rsa_pub_n, - _ccder_decode_rsa_pub_x509, _ccder_decode_rsa_pub_x509_n, - _ccder_decode_seqii, _ccder_decode_seqii_strict, _ccder_decode_sequence_tl, - _ccder_decode_sequence_tl_strict, _ccder_decode_tag, _ccder_decode_tl, - _ccder_decode_tl_strict, _ccder_decode_uint, _ccder_decode_uint64, - _ccder_decode_uint_n, _ccder_decode_uint_strict, _ccder_encode_body, - _ccder_encode_body_nocopy, _ccder_encode_constructed_tl, _ccder_encode_dhparams, - _ccder_encode_dhparams_size, _ccder_encode_eckey, _ccder_encode_eckey_size, - _ccder_encode_implicit_integer, _ccder_encode_implicit_octet_string, - _ccder_encode_implicit_raw_octet_string, _ccder_encode_implicit_uint64, - _ccder_encode_integer, _ccder_encode_len, _ccder_encode_octet_string, - _ccder_encode_oid, _ccder_encode_raw_octet_string, _ccder_encode_rsa_priv, - _ccder_encode_rsa_priv_size, _ccder_encode_rsa_pub, _ccder_encode_rsa_pub_size, - _ccder_encode_tag, _ccder_encode_tl, _ccder_encode_uint64, - _ccder_sizeof, _ccder_sizeof_eckey, _ccder_sizeof_implicit_integer, - _ccder_sizeof_implicit_octet_string, _ccder_sizeof_implicit_raw_octet_string, - _ccder_sizeof_implicit_uint64, _ccder_sizeof_integer, _ccder_sizeof_len, - _ccder_sizeof_octet_string, _ccder_sizeof_oid, _ccder_sizeof_raw_octet_string, - _ccder_sizeof_tag, _ccder_sizeof_uint64, _ccdes3_cbc_decrypt_mode, - _ccdes3_cbc_encrypt_mode, _ccdes3_cfb8_decrypt_mode, _ccdes3_cfb8_encrypt_mode, - _ccdes3_cfb_decrypt_mode, _ccdes3_cfb_encrypt_mode, _ccdes3_ctr_crypt_mode, - _ccdes3_ecb_decrypt_mode, _ccdes3_ecb_encrypt_mode, _ccdes3_ltc_ecb_decrypt_mode, - _ccdes3_ltc_ecb_encrypt_mode, _ccdes3_ofb_crypt_mode, _ccdes_cbc_cksum, - _ccdes_cbc_decrypt_mode, _ccdes_cbc_encrypt_mode, _ccdes_cfb8_decrypt_mode, - _ccdes_cfb8_encrypt_mode, _ccdes_cfb_decrypt_mode, _ccdes_cfb_encrypt_mode, - _ccdes_ctr_crypt_mode, _ccdes_ecb_decrypt_mode, _ccdes_ecb_encrypt_mode, - _ccdes_key_is_weak, _ccdes_key_set_odd_parity, _ccdes_ofb_crypt_mode, - _ccdh_compute_key, _ccdh_compute_shared_secret, _ccdh_export_pub, - _ccdh_generate_key, _ccdh_gp_apple768, _ccdh_gp_rfc2409group02, - _ccdh_gp_rfc3526group05, _ccdh_gp_rfc3526group14, _ccdh_gp_rfc3526group15, - _ccdh_gp_rfc3526group16, _ccdh_gp_rfc3526group17, _ccdh_gp_rfc3526group18, - _ccdh_gp_rfc5114_MODP_1024_160, _ccdh_gp_rfc5114_MODP_2048_224, - _ccdh_gp_rfc5114_MODP_2048_256, _ccdh_gp_size, _ccdh_import_full, - _ccdh_import_priv, _ccdh_import_pub, _ccdh_init_gp_from_bytes, - _ccdh_init_safe_gp_from_bytes, _ccdigest, _ccdigest_init, - _ccdigest_oid_lookup, _ccdigest_update, _ccdrbg_factory_nistctr, - _ccdrbg_factory_nisthmac, _ccec_affinify, _ccec_blind, _ccec_compact_export, - _ccec_compact_export_pub, _ccec_compact_generate_key, _ccec_compact_import_priv, - _ccec_compact_import_priv_size, _ccec_compact_import_pub, - _ccec_compact_import_pub_size, _ccec_compact_transform_key, - _ccec_compressed_x962_export_pub, _ccec_compressed_x962_export_pub_size, - _ccec_compressed_x962_import_pub, _ccec_compute_key, _ccec_cp_192, - _ccec_cp_224, _ccec_cp_256, _ccec_cp_384, _ccec_cp_521, _ccec_curve_for_length_lookup, - _ccec_der_export_diversified_pub, _ccec_der_export_diversified_pub_size, - _ccec_der_export_priv, _ccec_der_export_priv_size, _ccec_der_import_diversified_pub, - _ccec_der_import_priv, _ccec_der_import_priv_keytype, _ccec_diversify_min_entropy_len, - _ccec_diversify_priv_twin, _ccec_diversify_pub, _ccec_diversify_pub_twin, - _ccec_export_pub, _ccec_extract_rs, _ccec_full_add, _ccec_generate_blinding_keys, - _ccec_generate_key, _ccec_generate_key_deterministic, _ccec_generate_key_fips, - _ccec_generate_key_legacy, _ccec_generate_scalar_fips_retry, - _ccec_get_cp, _ccec_get_fullkey_components, _ccec_get_pubkey_components, - _ccec_import_pub, _ccec_keysize_is_supported, _ccec_make_priv, - _ccec_make_pub, _ccec_mult_blinded, _ccec_pairwise_consistency_check, - _ccec_print_full_key, _ccec_print_public_key, _ccec_projectify, - _ccec_raw_import_priv_only, _ccec_raw_import_pub, _ccec_rfc6637_dh_curve_p256, - _ccec_rfc6637_dh_curve_p521, _ccec_rfc6637_unwrap_key, _ccec_rfc6637_unwrap_sha256_kek_aes128, - _ccec_rfc6637_unwrap_sha512_kek_aes256, _ccec_rfc6637_wrap_key, - _ccec_rfc6637_wrap_key_diversified, _ccec_rfc6637_wrap_key_size, - _ccec_rfc6637_wrap_sha256_kek_aes128, _ccec_rfc6637_wrap_sha512_kek_aes256, - _ccec_sign, _ccec_sign_composite, _ccec_sign_composite_msg, - _ccec_sign_msg, _ccec_signature_r_s_size, _ccec_unblind, _ccec_validate_pub, - _ccec_verify, _ccec_verify_composite, _ccec_verify_composite_digest, - _ccec_verify_composite_msg, _ccec_verify_digest, _ccec_verify_msg, - _ccec_x963_export, _ccec_x963_import_priv, _ccec_x963_import_priv_size, - _ccec_x963_import_pub, _ccec_x963_import_pub_size, _ccecdh_compute_shared_secret, - _ccecdh_generate_key, _ccecies_decrypt_gcm, _ccecies_decrypt_gcm_composite, - _ccecies_decrypt_gcm_from_shared_secret, _ccecies_decrypt_gcm_plaintext_size, - _ccecies_decrypt_gcm_plaintext_size_cp, _ccecies_decrypt_gcm_setup, - _ccecies_encrypt_gcm, _ccecies_encrypt_gcm_ciphertext_size, - _ccecies_encrypt_gcm_composite, _ccecies_encrypt_gcm_from_shared_secret, - _ccecies_encrypt_gcm_setup, _ccecies_import_eph_pub, _ccecies_pub_key_size, - _ccecies_pub_key_size_cp, _cced25519_make_key_pair, _cced25519_make_pub, - _cced25519_sign, _cced25519_verify, _ccgcm_inc_iv, _ccgcm_init_with_iv, - _ccgcm_one_shot, _ccgcm_one_shot_legacy, _ccgcm_set_iv_legacy, - _cch2c, _cch2c_name, _cch2c_p256_sha256_sae_compat_info, _cch2c_p256_sha256_sswu_ro_info, - _cch2c_p384_sha384_sae_compat_info, _cch2c_p384_sha512_sswu_ro_info, - _cch2c_p521_sha512_sswu_ro_info, _cchkdf, _cchkdf_expand, - _cchkdf_extract, _cchmac, _cchmac_final, _cchmac_init, _cchmac_update, - _cchpke_initiator_encrypt, _cchpke_initiator_export, _cchpke_initiator_seal, - _cchpke_initiator_setup, _cchpke_kem_generate_key_pair, _cchpke_params_sizeof_aead_key, - _cchpke_params_sizeof_aead_nonce, _cchpke_params_sizeof_aead_tag, - _cchpke_params_sizeof_kdf_hash, _cchpke_params_sizeof_kem_enc, - _cchpke_params_sizeof_kem_pk, _cchpke_params_sizeof_kem_pk_marshalled, - _cchpke_params_sizeof_kem_shared_secret, _cchpke_params_sizeof_kem_sk, - _cchpke_params_x25519_AESGCM128_HKDF_SHA256, _cchpke_responder_decrypt, - _cchpke_responder_export, _cchpke_responder_open, _cchpke_responder_setup, - _ccmd2_ltc_di, _ccmd4_ltc_di, _ccmd5_di, _ccmd5_ltc_di, _ccmgf, - _ccmode_factory_cbc_decrypt, _ccmode_factory_cbc_encrypt, - _ccmode_factory_ccm_decrypt, _ccmode_factory_ccm_encrypt, - _ccmode_factory_cfb8_decrypt, _ccmode_factory_cfb8_encrypt, - _ccmode_factory_cfb_decrypt, _ccmode_factory_cfb_encrypt, - _ccmode_factory_ctr_crypt, _ccmode_factory_gcm_decrypt, _ccmode_factory_gcm_encrypt, - _ccmode_factory_ofb_crypt, _ccmode_factory_omac_decrypt, _ccmode_factory_omac_encrypt, - _ccmode_factory_siv_decrypt, _ccmode_factory_siv_encrypt, - _ccmode_factory_xts_decrypt, _ccmode_factory_xts_encrypt, - _ccn_add, _ccn_add1, _ccn_bitlen, _ccn_cmp, _ccn_cmpn, _ccn_lprint, - _ccn_n, _ccn_print, _ccn_random_bits, _ccn_read_uint, _ccn_set, - _ccn_shift_right, _ccn_sub, _ccn_sub1, _ccn_write_int, _ccn_write_int_size, - _ccn_write_uint, _ccn_write_uint_padded_ct, _ccn_write_uint_size, - _ccn_zero_multi, _ccnistkdf_ctr_cmac, _ccnistkdf_ctr_cmac_fixed, - _ccnistkdf_ctr_hmac, _ccnistkdf_ctr_hmac_fixed, _ccnistkdf_fb_hmac, - _ccnistkdf_fb_hmac_fixed, _ccoid_equal, _ccpad_cts1_decrypt, - _ccpad_cts1_encrypt, _ccpad_cts2_decrypt, _ccpad_cts2_encrypt, - _ccpad_cts3_decrypt, _ccpad_cts3_encrypt, _ccpad_pkcs7_decode, - _ccpad_pkcs7_decrypt, _ccpad_pkcs7_ecb_decrypt, _ccpad_pkcs7_ecb_encrypt, - _ccpad_pkcs7_encrypt, _ccpad_xts_decrypt, _ccpad_xts_encrypt, - _ccpbkdf2_hmac, _ccpoly1305, _ccpoly1305_final, _ccpoly1305_init, - _ccpoly1305_update, _ccrc2_cbc_decrypt_mode, _ccrc2_cbc_encrypt_mode, - _ccrc2_cfb8_decrypt_mode, _ccrc2_cfb8_encrypt_mode, _ccrc2_cfb_decrypt_mode, - _ccrc2_cfb_encrypt_mode, _ccrc2_ctr_crypt_mode, _ccrc2_ecb_decrypt_mode, - _ccrc2_ecb_encrypt_mode, _ccrc2_ofb_crypt_mode, _ccrc4, _ccrc4_eay, - _ccrmd160_ltc_di, _ccrng, _ccrng_drbg_done, _ccrng_drbg_init, - _ccrng_drbg_init_withdrbg, _ccrng_drbg_reseed, _ccrng_ecfips_test_init, - _ccrng_pbkdf2_prng_init, _ccrng_rsafips_test_init, _ccrng_rsafips_test_set_next, - _ccrng_sequence_init, _ccrng_system_done, _ccrng_system_init, - _ccrng_test_done, _ccrng_test_init, _ccrng_uniform, _ccrsa_decrypt_eme_pkcs1v15, - _ccrsa_decrypt_oaep, _ccrsa_dump_full_key, _ccrsa_dump_public_key, - _ccrsa_eme_pkcs1v15_decode, _ccrsa_eme_pkcs1v15_encode, _ccrsa_emsa_pkcs1v15_encode, - _ccrsa_emsa_pkcs1v15_verify, _ccrsa_emsa_pss_decode, _ccrsa_emsa_pss_encode, - _ccrsa_encrypt_eme_pkcs1v15, _ccrsa_encrypt_oaep, _ccrsa_export_pub, - _ccrsa_generate_fips186_key, _ccrsa_generate_key, _ccrsa_generate_key_deterministic, - _ccrsa_get_fullkey_components, _ccrsa_get_pubkey_components, - _ccrsa_import_pub, _ccrsa_init_pub, _ccrsa_make_priv, _ccrsa_make_pub, - _ccrsa_oaep_decode_parameter, _ccrsa_oaep_encode_parameter, - _ccrsa_priv_crypt, _ccrsa_pub_crypt, _ccrsa_pubkeylength, - _ccrsa_recover_priv, _ccrsa_sign_pkcs1v15, _ccrsa_sign_pkcs1v15_msg, - _ccrsa_sign_pss, _ccrsa_sign_pss_msg, _ccrsa_verify_pkcs1v15, - _ccrsa_verify_pkcs1v15_allowshortsigs, _ccrsa_verify_pkcs1v15_digest, - _ccrsa_verify_pkcs1v15_msg, _ccrsa_verify_pss_digest, _ccrsa_verify_pss_msg, - _ccrsabssa_blind_message, _ccrsabssa_ciphersuite_rsa2048_sha384, - _ccrsabssa_ciphersuite_rsa3072_sha384, _ccrsabssa_ciphersuite_rsa4096_sha384, - _ccrsabssa_sign_blinded_message, _ccrsabssa_unblind_signature, - _ccsae_gen_kck_and_pmk, _ccsae_gen_password_value, _ccsae_generate_commitment, - _ccsae_generate_commitment_finalize, _ccsae_generate_commitment_init, - _ccsae_generate_commitment_partial, _ccsae_generate_confirmation, - _ccsae_generate_h2c_commit, _ccsae_generate_h2c_pt, _ccsae_get_keys, - _ccsae_init, _ccsae_init_p256_sha256, _ccsae_lexographic_order_key, - _ccsae_sizeof_commitment, _ccsae_sizeof_confirmation, _ccsae_sizeof_ctx, - _ccsae_sizeof_pt, _ccsae_verify_commitment, _ccsae_verify_confirmation, - _ccscrypt, _ccscrypt_storage_size, _ccsha1_di, _ccsha1_eay_di, - _ccsha1_ltc_di, _ccsha224_di, _ccsha224_ltc_di, _ccsha256_di, - _ccsha256_ltc_di, _ccsha384_di, _ccsha384_ltc_di, _ccsha512_256_di, - _ccsha512_256_ltc_di, _ccsha512_di, _ccsha512_ltc_di, _ccsigma_clear, - _ccsigma_clear_key, _ccsigma_compute_mac, _ccsigma_derive_session_keys, - _ccsigma_export_key_share, _ccsigma_import_peer_key_share, - _ccsigma_import_peer_verification_key, _ccsigma_import_signing_key, - _ccsigma_init, _ccsigma_kex_init_ctx, _ccsigma_kex_resp_ctx, - _ccsigma_mfi_info, _ccsigma_open, _ccsigma_peer_role, _ccsigma_seal, - _ccsigma_set_signing_function, _ccsigma_sign, _ccsigma_verify, - _ccsiv_hmac_aad, _ccsiv_hmac_ciphertext_size, _ccsiv_hmac_crypt, - _ccsiv_hmac_init, _ccsiv_hmac_one_shot, _ccsiv_hmac_plaintext_size, - _ccsiv_hmac_reset, _ccsiv_hmac_set_nonce, _ccspake_cp_256, - _ccspake_cp_384, _ccspake_cp_521, _ccspake_generate_L, _ccspake_kex_generate, - _ccspake_kex_process, _ccspake_mac_compute, _ccspake_mac_hkdf_cmac_aes128_sha256, - _ccspake_mac_hkdf_hmac_sha256, _ccspake_mac_hkdf_hmac_sha512, - _ccspake_mac_verify_and_get_session_key, _ccspake_prover_init, - _ccspake_sizeof_ctx, _ccspake_sizeof_point, _ccspake_sizeof_w, - _ccspake_verifier_init, _ccsrp_client_process_challenge, _ccsrp_client_start_authentication, - _ccsrp_client_verify_session, _ccsrp_generate_salt_and_verification, - _ccsrp_generate_verifier, _ccsrp_gp_rfc5054_1024, _ccsrp_gp_rfc5054_2048, - _ccsrp_gp_rfc5054_3072, _ccsrp_gp_rfc5054_4096, _ccsrp_gp_rfc5054_8192, - _ccsrp_server_compute_session, _ccsrp_server_generate_public_key, - _ccsrp_server_start_authentication, _ccsrp_server_verify_session, - _ccss_shamir_parameters_init, _ccss_shamir_parameters_maximum_secret_length, - _ccss_shamir_share_bag_add_share, _ccss_shamir_share_bag_init, - _ccss_shamir_share_bag_recover_secret, _ccss_shamir_share_export, - _ccss_shamir_share_generator_deserialize, _ccss_shamir_share_generator_generate_share, - _ccss_shamir_share_generator_init, _ccss_shamir_share_generator_init_with_secrets_less_than_prime, - _ccss_shamir_share_generator_serialize, _ccss_shamir_share_import, - _ccss_shamir_share_init, _ccss_shamir_share_sizeof_y, _ccss_sizeof_generator, - _ccss_sizeof_parameters, _ccss_sizeof_shamir_share_generator_serialization, - _ccss_sizeof_share, _ccss_sizeof_share_bag, _ccvrf_derive_public_key, - _ccvrf_factory_irtfdraft03, _ccvrf_factory_irtfdraft03_default, - _ccvrf_proof_to_hash, _ccvrf_prove, _ccvrf_sizeof_hash, _ccvrf_sizeof_proof, - _ccvrf_sizeof_public_key, _ccvrf_sizeof_secret_key, _ccvrf_verify, - _ccwrap_auth_decrypt, _ccwrap_auth_decrypt_withiv, _ccwrap_auth_encrypt, - _ccwrap_auth_encrypt_withiv, _ccwrap_unwrapped_size, _ccwrap_wrapped_size, - _ccxts_one_shot, _ccz_add, _ccz_addi, _ccz_bit, _ccz_bitlen, - _ccz_cmp, _ccz_cmpi, _ccz_divmod, _ccz_expmod, _ccz_free, - _ccz_init, _ccz_is_negative, _ccz_is_one, _ccz_is_prime, _ccz_is_zero, - _ccz_lsl, _ccz_lsr, _ccz_mod, _ccz_mul, _ccz_muli, _ccz_mulmod, - _ccz_neg, _ccz_random_bits, _ccz_read_radix, _ccz_read_uint, - _ccz_set, _ccz_set_bit, _ccz_seti, _ccz_size, _ccz_sub, _ccz_subi, - _ccz_trailing_zeros, _ccz_write_int, _ccz_write_int_size, - _ccz_write_radix, _ccz_write_radix_size, _ccz_write_uint, - _ccz_write_uint_size, _ccz_zero, _cczp_add, _cczp_inv, _cczp_mod, - _cczp_mul, _cczp_sub, _csss_shamir_share_bag_can_recover_secret, - _fipspost_post, _fipspost_trace_vtable, _map_to_curve_sswu ] - - targets: [ arm64e-macos, arm64e-maccatalyst, arm64-macos, arm64-maccatalyst ] - symbols: [ _ccaes_arm_cbc_decrypt_mode, _ccaes_arm_cbc_encrypt_mode, - _ccaes_arm_cfb_decrypt_mode, _ccaes_arm_cfb_encrypt_mode, - _ccaes_arm_ecb_decrypt_mode, _ccaes_arm_ecb_encrypt_mode, - _ccaes_arm_ofb_crypt_mode, _ccaes_arm_xts_decrypt_mode, _ccaes_arm_xts_encrypt_mode, - _ccsha1_vng_arm_di, _ccsha224_vng_arm_di, _ccsha256_vng_arm64neon_di, - _ccsha256_vng_arm_di, _ccsha384_vng_arm_di, _ccsha512_256_vng_arm_di, - _ccsha512_vng_arm_di ] ---- !tapi-tbd -tbd-version: 4 -targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] -uuids: - - target: x86_64-macos - value: 31D69D55-9895-326C-AD61-621C5CA87314 - - target: x86_64-maccatalyst - value: 31D69D55-9895-326C-AD61-621C5CA87314 - - target: arm64-macos - value: 00000000-0000-0000-0000-000000000000 - - target: arm64-maccatalyst - value: 00000000-0000-0000-0000-000000000000 - - target: arm64e-macos - value: DC048E3B-E023-3D17-AFE5-4FF3DC625608 - - target: arm64e-maccatalyst - value: DC048E3B-E023-3D17-AFE5-4FF3DC625608 -install-name: '/usr/lib/system/libdispatch.dylib' -current-version: 1325.100.36 -parent-umbrella: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] - umbrella: System -exports: - - targets: [ x86_64-maccatalyst, x86_64-macos, arm64e-maccatalyst, arm64e-macos, - arm64-macos, arm64-maccatalyst ] - symbols: [ '$ld$hide$os10.12$_dispatch_assert_queue', '$ld$hide$os10.12$_dispatch_assert_queue_not', - '$ld$hide$os10.12$_dispatch_queue_create_with_target', __dispatch_begin_NSAutoReleasePool, - __dispatch_bug, __dispatch_data_destructor_free, __dispatch_data_destructor_munmap, - __dispatch_data_destructor_none, __dispatch_data_destructor_vm_deallocate, - __dispatch_data_empty, __dispatch_data_format_type_base32, - __dispatch_data_format_type_base32hex, __dispatch_data_format_type_base64, - __dispatch_data_format_type_none, __dispatch_data_format_type_utf16be, - __dispatch_data_format_type_utf16le, __dispatch_data_format_type_utf8, - __dispatch_data_format_type_utf_any, __dispatch_end_NSAutoReleasePool, - __dispatch_get_main_queue_handle_4CF, __dispatch_get_main_queue_port_4CF, - __dispatch_iocntl, __dispatch_is_fork_of_multithreaded_parent, - __dispatch_is_multithreaded, __dispatch_log, __dispatch_mach_hooks_install_default, - __dispatch_main_q, __dispatch_main_queue_callback_4CF, __dispatch_poll_for_events_4launchd, - __dispatch_prohibit_transition_to_multithreaded, __dispatch_pthread_root_queue_create_with_observer_hooks_4IOHID, - __dispatch_queue_attr_concurrent, __dispatch_queue_is_exclusively_owned_by_current_thread_4IOHID, - __dispatch_runloop_root_queue_create_4CF, __dispatch_runloop_root_queue_get_port_4CF, - __dispatch_runloop_root_queue_perform_4CF, __dispatch_runloop_root_queue_wakeup_4CF, - __dispatch_source_set_runloop_timer_4CF, __dispatch_source_type_data_add, - __dispatch_source_type_data_or, __dispatch_source_type_data_replace, - __dispatch_source_type_interval, __dispatch_source_type_mach_recv, - __dispatch_source_type_mach_send, __dispatch_source_type_memorypressure, - __dispatch_source_type_memorystatus, __dispatch_source_type_nw_channel, - __dispatch_source_type_proc, __dispatch_source_type_read, - __dispatch_source_type_signal, __dispatch_source_type_sock, - __dispatch_source_type_timer, __dispatch_source_type_vfs, - __dispatch_source_type_vm, __dispatch_source_type_vnode, __dispatch_source_type_write, - __dispatch_source_will_reenable_kevent_4NW, __dispatch_wait_for_enqueuer, - __dispatch_workloop_set_observer_hooks_4IOHID, __dispatch_workloop_should_yield_4NW, - __firehose_spi_version, __os_object_alloc, __os_object_alloc_realized, - __os_object_dealloc, __os_object_release, __os_object_release_internal, - __os_object_release_internal_n, __os_object_release_without_xref_dispose, - __os_object_retain, __os_object_retain_internal, __os_object_retain_internal_n, - __os_object_retain_with_resurrect, _dispatch_activate, _dispatch_after, - _dispatch_after_f, _dispatch_allocator_layout, _dispatch_apply, - _dispatch_apply_attr_destroy, _dispatch_apply_attr_init, _dispatch_apply_attr_query, - _dispatch_apply_attr_set_parallelism, _dispatch_apply_f, _dispatch_apply_with_attr, - _dispatch_apply_with_attr_f, _dispatch_assert_queue, '_dispatch_assert_queue$V2', - _dispatch_assert_queue_barrier, _dispatch_assert_queue_not, - '_dispatch_assert_queue_not$V2', _dispatch_async, _dispatch_async_and_wait, - _dispatch_async_and_wait_f, _dispatch_async_enforce_qos_class_f, - _dispatch_async_f, _dispatch_async_swift_job, _dispatch_atfork_child, - _dispatch_atfork_parent, _dispatch_atfork_prepare, _dispatch_barrier_async, - _dispatch_barrier_async_and_wait, _dispatch_barrier_async_and_wait_f, - _dispatch_barrier_async_f, _dispatch_barrier_sync, _dispatch_barrier_sync_f, - _dispatch_benchmark, _dispatch_benchmark_f, _dispatch_block_cancel, - _dispatch_block_create, _dispatch_block_create_with_qos_class, - _dispatch_block_create_with_voucher, _dispatch_block_create_with_voucher_and_qos_class, - _dispatch_block_notify, _dispatch_block_perform, _dispatch_block_testcancel, - _dispatch_block_wait, _dispatch_channel_async, _dispatch_channel_async_f, - _dispatch_channel_cancel, _dispatch_channel_create, _dispatch_channel_drain, - _dispatch_channel_drain_f, _dispatch_channel_enqueue, _dispatch_channel_foreach_work_item_peek, - _dispatch_channel_foreach_work_item_peek_f, _dispatch_channel_testcancel, - _dispatch_channel_wakeup, _dispatch_data_apply, _dispatch_data_apply_f, - _dispatch_data_copy_region, _dispatch_data_create, _dispatch_data_create_alloc, - _dispatch_data_create_concat, _dispatch_data_create_f, _dispatch_data_create_map, - _dispatch_data_create_subrange, _dispatch_data_create_with_transform, - _dispatch_data_get_flattened_bytes_4libxpc, _dispatch_data_get_size, - _dispatch_data_make_memory_entry, _dispatch_debug, _dispatch_debugv, - _dispatch_get_context, _dispatch_get_current_queue, _dispatch_get_global_queue, - _dispatch_get_specific, _dispatch_group_async, _dispatch_group_async_f, - _dispatch_group_create, _dispatch_group_enter, _dispatch_group_leave, - _dispatch_group_notify, _dispatch_group_notify_f, _dispatch_group_wait, - _dispatch_io_barrier, _dispatch_io_barrier_f, _dispatch_io_close, - _dispatch_io_create, _dispatch_io_create_f, _dispatch_io_create_with_io, - _dispatch_io_create_with_io_f, _dispatch_io_create_with_path, - _dispatch_io_create_with_path_f, _dispatch_io_get_descriptor, - _dispatch_io_read, _dispatch_io_read_f, _dispatch_io_set_high_water, - _dispatch_io_set_interval, _dispatch_io_set_low_water, _dispatch_io_write, - _dispatch_io_write_f, _dispatch_mach_can_handoff_4libxpc, - _dispatch_mach_cancel, _dispatch_mach_connect, _dispatch_mach_create, - _dispatch_mach_create_4libxpc, _dispatch_mach_create_f, _dispatch_mach_get_checkin_port, - _dispatch_mach_handoff_reply, _dispatch_mach_handoff_reply_f, - _dispatch_mach_hooks_install_4libxpc, _dispatch_mach_mig_demux, - _dispatch_mach_mig_demux_get_context, _dispatch_mach_msg_create, - _dispatch_mach_msg_get_context, _dispatch_mach_msg_get_filter_policy_id, - _dispatch_mach_msg_get_msg, _dispatch_mach_notify_no_senders, - _dispatch_mach_receive_barrier, _dispatch_mach_receive_barrier_f, - _dispatch_mach_reconnect, _dispatch_mach_request_no_senders, - _dispatch_mach_send, _dispatch_mach_send_and_wait_for_reply, - _dispatch_mach_send_barrier, _dispatch_mach_send_barrier_f, - _dispatch_mach_send_with_result, _dispatch_mach_send_with_result_and_async_reply_4libxpc, - _dispatch_mach_send_with_result_and_wait_for_reply, _dispatch_mach_set_flags, - _dispatch_main, _dispatch_mig_server, _dispatch_once, _dispatch_once_f, - _dispatch_pthread_root_queue_copy_current, _dispatch_pthread_root_queue_create, - _dispatch_queue_attr_make_initially_inactive, _dispatch_queue_attr_make_with_autorelease_frequency, - _dispatch_queue_attr_make_with_overcommit, _dispatch_queue_attr_make_with_qos_class, - _dispatch_queue_create, _dispatch_queue_create_with_accounting_override_voucher, - _dispatch_queue_create_with_target, '_dispatch_queue_create_with_target$V2', - _dispatch_queue_get_label, _dispatch_queue_get_qos_class, - _dispatch_queue_get_specific, _dispatch_queue_offsets, _dispatch_queue_set_label_nocopy, - _dispatch_queue_set_specific, _dispatch_queue_set_width, _dispatch_read, - _dispatch_read_f, _dispatch_release, _dispatch_resume, _dispatch_retain, - _dispatch_semaphore_create, _dispatch_semaphore_signal, _dispatch_semaphore_wait, - _dispatch_set_context, _dispatch_set_finalizer_f, _dispatch_set_qos_class, - _dispatch_set_qos_class_fallback, _dispatch_set_qos_class_floor, - _dispatch_set_target_queue, _dispatch_source_cancel, _dispatch_source_cancel_and_wait, - _dispatch_source_create, _dispatch_source_get_data, _dispatch_source_get_extended_data, - _dispatch_source_get_handle, _dispatch_source_get_mask, _dispatch_source_merge_data, - _dispatch_source_set_cancel_handler, _dispatch_source_set_cancel_handler_f, - _dispatch_source_set_event_handler, _dispatch_source_set_event_handler_f, - _dispatch_source_set_mandatory_cancel_handler, _dispatch_source_set_mandatory_cancel_handler_f, - _dispatch_source_set_registration_handler, _dispatch_source_set_registration_handler_f, - _dispatch_source_set_timer, _dispatch_source_testcancel, _dispatch_suspend, - _dispatch_swift_job_should_yield, _dispatch_sync, _dispatch_sync_f, - _dispatch_time, _dispatch_time_from_nsec, _dispatch_time_to_nsec, - _dispatch_time_to_nsecs, _dispatch_tsd_indexes, _dispatch_walltime, - _dispatch_workloop_copy_current, _dispatch_workloop_create, - _dispatch_workloop_create_inactive, _dispatch_workloop_is_current, - _dispatch_workloop_set_autorelease_frequency, _dispatch_workloop_set_cpupercent, - _dispatch_workloop_set_os_workgroup, _dispatch_workloop_set_qos_class, - _dispatch_workloop_set_qos_class_floor, _dispatch_workloop_set_scheduler_priority, - _dispatch_write, _dispatch_write_f, _libdispatch_init, _mach_voucher_persona_for_originator, - _mach_voucher_persona_self, _os_eventlink_activate, _os_eventlink_associate, - _os_eventlink_cancel, _os_eventlink_create, _os_eventlink_create_remote_with_eventlink, - _os_eventlink_create_with_port, _os_eventlink_disassociate, - _os_eventlink_extract_remote_port, _os_eventlink_signal, _os_eventlink_signal_and_wait, - _os_eventlink_signal_and_wait_until, _os_eventlink_wait, _os_eventlink_wait_until, - _os_release, _os_retain, _os_workgroup_attr_set_flags, _os_workgroup_attr_set_interval_type, - _os_workgroup_cancel, _os_workgroup_copy_port, _os_workgroup_create, - _os_workgroup_create_with_port, _os_workgroup_create_with_workgroup, - _os_workgroup_create_with_workload_id, _os_workgroup_create_with_workload_id_and_port, - _os_workgroup_create_with_workload_id_and_workgroup, _os_workgroup_get_working_arena, - _os_workgroup_interval_copy_current_4AudioToolbox, _os_workgroup_interval_create, - _os_workgroup_interval_create_with_workload_id, _os_workgroup_interval_finish, - _os_workgroup_interval_start, _os_workgroup_interval_update, - _os_workgroup_join, _os_workgroup_join_self, _os_workgroup_leave, - _os_workgroup_leave_self, _os_workgroup_max_parallel_threads, - _os_workgroup_parallel_create, _os_workgroup_set_working_arena, - _os_workgroup_testcancel, _voucher_activity_create_with_data, - _voucher_activity_create_with_location, _voucher_activity_flush, - _voucher_activity_get_logging_preferences, _voucher_activity_get_metadata_buffer, - _voucher_activity_id_allocate, _voucher_activity_initialize_4libtrace, - _voucher_activity_should_send_strings, _voucher_activity_trace, - _voucher_activity_trace_v, _voucher_activity_trace_v_2, _voucher_adopt, - _voucher_copy, _voucher_copy_with_persona_mach_voucher, _voucher_copy_without_importance, - _voucher_create_with_mach_msg, _voucher_decrement_importance_count4CF, - _voucher_get_activity_id, _voucher_get_activity_id_and_creator, - _voucher_get_current_persona, _voucher_get_current_persona_originator_info, - _voucher_get_current_persona_proximate_info, _voucher_kvoucher_debug, - _voucher_process_can_use_arbitrary_personas, _voucher_release, - _voucher_replace_default_voucher, _voucher_retain ] - objc-classes: [ OS_dispatch_channel, OS_dispatch_data, OS_dispatch_disk, OS_dispatch_group, - OS_dispatch_io, OS_dispatch_mach, OS_dispatch_mach_msg, OS_dispatch_object, - OS_dispatch_operation, OS_dispatch_queue, OS_dispatch_queue_attr, - OS_dispatch_queue_concurrent, OS_dispatch_queue_global, OS_dispatch_queue_main, - OS_dispatch_queue_serial, OS_dispatch_semaphore, OS_dispatch_source, - OS_dispatch_workloop, OS_object, OS_os_eventlink, OS_os_workgroup, - OS_os_workgroup_interval, OS_os_workgroup_parallel, OS_voucher ] ---- !tapi-tbd -tbd-version: 4 -targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] -uuids: - - target: x86_64-macos - value: 6627654A-F427-3E04-98AC-492A1CA26FCC - - target: x86_64-maccatalyst - value: 6627654A-F427-3E04-98AC-492A1CA26FCC - - target: arm64-macos - value: 23F54944-4C0C-3479-93BE-F3A9D0B05724 - - target: arm64-maccatalyst - value: 23F54944-4C0C-3479-93BE-F3A9D0B05724 - - target: arm64e-macos - value: D9C3F911-6697-3B95-A4F6-4FB979F04A6E - - target: arm64e-maccatalyst - value: D9C3F911-6697-3B95-A4F6-4FB979F04A6E -install-name: '/usr/lib/system/libdyld.dylib' -parent-umbrella: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] - umbrella: System -exports: - - targets: [ arm64-macos, arm64e-macos, x86_64-macos ] - symbols: [ _dyld_shared_cache_for_each_subcache4Rosetta, _dyld_shared_subcache_get_info4Rosetta ] - - targets: [ arm64-macos, arm64e-macos, x86_64-macos, x86_64-maccatalyst, - arm64-maccatalyst, arm64e-maccatalyst ] - symbols: [ _NSAddImage, _NSAddLibrary, _NSAddLibraryWithSearching, _NSAddressOfSymbol, - _NSCreateObjectFileImageFromFile, _NSCreateObjectFileImageFromMemory, - _NSDestroyObjectFileImage, _NSGetSectionDataInObjectFileImage, - _NSInstallLinkEditErrorHandlers, _NSIsSymbolDefinedInObjectFileImage, - _NSIsSymbolNameDefined, _NSIsSymbolNameDefinedInImage, _NSIsSymbolNameDefinedWithHint, - _NSLibraryNameForModule, _NSLinkEditError, _NSLinkModule, - _NSLookupAndBindSymbol, _NSLookupAndBindSymbolWithHint, _NSLookupSymbolInImage, - _NSLookupSymbolInModule, _NSModuleForSymbol, _NSNameOfModule, - _NSNameOfSymbol, _NSSymbolDefinitionCountInObjectFileImage, - _NSSymbolDefinitionNameInObjectFileImage, _NSSymbolReferenceCountInObjectFileImage, - _NSSymbolReferenceNameInObjectFileImage, _NSUnLinkModule, - _NSVersionOfLinkTimeLibrary, _NSVersionOfRunTimeLibrary, _NXArgc, - _NXArgv, __NSGetExecutablePath, ___progname, __dyld_all_twolevel_modules_prebound, - __dyld_atfork_parent, __dyld_atfork_prepare, __dyld_bind_fully_image_containing_address, - __dyld_dlopen_atfork_child, __dyld_dlopen_atfork_parent, __dyld_dlopen_atfork_prepare, - __dyld_find_foreign_type_protocol_conformance, __dyld_find_protocol_conformance, - __dyld_find_unwind_sections, __dyld_for_each_objc_class, __dyld_for_each_objc_protocol, - __dyld_fork_child, __dyld_get_image_header, __dyld_get_image_header_containing_address, - __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_has_fix_for_radar, __dyld_image_containing_address, - __dyld_image_count, __dyld_images_for_addresses, __dyld_initializer, - __dyld_is_memory_immutable, __dyld_is_objc_constant, __dyld_launch_mode, - __dyld_launched_prebound, __dyld_lookup_and_bind, __dyld_lookup_and_bind_fully, - __dyld_lookup_and_bind_with_hint, __dyld_missing_symbol_abort, - __dyld_objc_class_count, __dyld_objc_notify_register, __dyld_objc_uses_large_shared_cache, - __dyld_present, __dyld_process_info_create, __dyld_process_info_for_each_aot_image, - __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_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_sdk_version, _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_installname, - _dyld_image_header_containing_address, _dyld_image_local_nlist_content_4Symbolication, - _dyld_image_path_containing_address, _dyld_is_simulator_platform, - _dyld_minos_at_least, _dyld_need_closure, _dyld_process_create_for_current_task, - _dyld_process_create_for_task, _dyld_process_dispose, _dyld_process_is_restricted, - _dyld_process_register_for_event_notification, _dyld_process_snapshot_create_for_process, - _dyld_process_snapshot_dispose, _dyld_process_snapshot_get_shared_cache, - _dyld_process_unregister_for_notification, _dyld_program_minos_at_least, - _dyld_program_sdk_at_least, _dyld_sdk_at_least, _dyld_shared_cache_copy_uuid, - _dyld_shared_cache_create, _dyld_shared_cache_dispose, _dyld_shared_cache_file_path, - _dyld_shared_cache_find_iterate_text, _dyld_shared_cache_for_each_file, - _dyld_shared_cache_for_each_image, _dyld_shared_cache_for_file, - _dyld_shared_cache_get_base_address, _dyld_shared_cache_get_mapped_size, - _dyld_shared_cache_is_mapped_private, _dyld_shared_cache_iterate_text, - _dyld_shared_cache_pin_mapping, _dyld_shared_cache_some_image_overridden, - _dyld_shared_cache_unpin_mapping, _environ, dyld_stub_binder ] ---- !tapi-tbd -tbd-version: 4 -targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] -uuids: - - target: x86_64-macos - value: CCF77FC2-C655-30F7-AE37-9470E1C91C88 - - target: x86_64-maccatalyst - value: CCF77FC2-C655-30F7-AE37-9470E1C91C88 - - target: arm64-macos - value: 00000000-0000-0000-0000-000000000000 - - target: arm64-maccatalyst - value: 00000000-0000-0000-0000-000000000000 - - target: arm64e-macos - value: 7B91E34D-FEF4-3CAB-ABA5-B2CBCD2BCDC0 - - target: arm64e-maccatalyst - value: 7B91E34D-FEF4-3CAB-ABA5-B2CBCD2BCDC0 -install-name: '/usr/lib/system/libkeymgr.dylib' -current-version: 31 -parent-umbrella: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] - umbrella: System -exports: - - targets: [ arm64e-macos, x86_64-macos, x86_64-maccatalyst, arm64e-maccatalyst, - arm64-macos, arm64-maccatalyst ] - symbols: [ ___keymgr_dwarf2_register_sections, ___keymgr_initializer, - __keymgr_get_and_lock_processwide_ptr, __keymgr_get_and_lock_processwide_ptr_2, - __keymgr_get_lock_count_processwide_ptr, __keymgr_get_lockmode_processwide_ptr, - __keymgr_set_and_unlock_processwide_ptr, __keymgr_set_lockmode_processwide_ptr, - __keymgr_unlock_processwide_ptr, _keymgrVersionNumber, _keymgrVersionString ] ---- !tapi-tbd -tbd-version: 4 -targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64e-macos ] -uuids: - - target: x86_64-macos - value: 4D6563C4-0109-33EF-9641-5762CA377023 - - target: x86_64-maccatalyst - value: 4D6563C4-0109-33EF-9641-5762CA377023 - - target: arm64-macos - value: 5098ED51-AC6F-3D86-94CA-DB77E3BF43EE - - target: arm64-maccatalyst - value: 5098ED51-AC6F-3D86-94CA-DB77E3BF43EE - - target: arm64e-macos - value: A96A86CA-C4C0-3013-BB2E-5F7572B18A00 - - target: arm64e-maccatalyst - value: A96A86CA-C4C0-3013-BB2E-5F7572B18A00 -install-name: '/usr/lib/system/libmacho.dylib' -current-version: 994 -parent-umbrella: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64e-macos ] - umbrella: System -exports: - - targets: [ arm64-macos, arm64e-macos, x86_64-macos, x86_64-maccatalyst ] - symbols: [ _NXCombineCpuSubtypes, _NXFindBestFatArch, _NXFindBestFatArch_64, - _NXFreeArchInfo, _NXGetAllArchInfos, _NXGetArchInfoFromCpuType, - _NXGetArchInfoFromName, _NXGetLocalArchInfo, _get_edata, _get_end, - _get_etext, _getsectbyname, _getsectbynamefromheader, _getsectbynamefromheader_64, - _getsectbynamefromheaderwithswap, _getsectbynamefromheaderwithswap_64, - _getsectdata, _getsectdatafromFramework, _getsectdatafromheader, - _getsectdatafromheader_64, _getsectiondata, _getsegbyname, - _getsegmentdata, _slot_name, _swap_build_tool_version, _swap_build_version_command, - _swap_dyld_info_command, _swap_dylib_command, _swap_dylib_module, - _swap_dylib_module_64, _swap_dylib_reference, _swap_dylib_table_of_contents, - _swap_dylinker_command, _swap_dysymtab_command, _swap_encryption_command, - _swap_encryption_command_64, _swap_entry_point_command, _swap_fat_arch, - _swap_fat_arch_64, _swap_fat_header, _swap_fileset_entry_command, - _swap_fvmfile_command, _swap_fvmlib_command, _swap_hppa_fp_thread_state, - _swap_hppa_frame_thread_state, _swap_hppa_integer_thread_state, - _swap_i386_exception_state, _swap_i386_float_state, _swap_i386_thread_state, - _swap_i860_thread_state_regs, _swap_ident_command, _swap_indirect_symbols, - _swap_linkedit_data_command, _swap_linker_option_command, - _swap_load_command, _swap_m68k_thread_state_68882, _swap_m68k_thread_state_regs, - _swap_m68k_thread_state_user_reg, _swap_m88110_thread_state_impl_t, - _swap_m88k_thread_state_grf_t, _swap_m88k_thread_state_user_t, - _swap_m88k_thread_state_xrf_t, _swap_mach_header, _swap_mach_header_64, - _swap_nlist, _swap_nlist_64, _swap_note_command, _swap_ppc_exception_state_t, - _swap_ppc_float_state_t, _swap_ppc_thread_state_t, _swap_prebind_cksum_command, - _swap_prebound_dylib_command, _swap_ranlib, _swap_ranlib_64, - _swap_relocation_info, _swap_routines_command, _swap_routines_command_64, - _swap_rpath_command, _swap_section, _swap_section_64, _swap_segment_command, - _swap_segment_command_64, _swap_source_version_command, _swap_sparc_thread_state_fpu, - _swap_sparc_thread_state_regs, _swap_sub_client_command, _swap_sub_framework_command, - _swap_sub_library_command, _swap_sub_umbrella_command, _swap_symseg_command, - _swap_symtab_command, _swap_thread_command, _swap_twolevel_hint, - _swap_twolevel_hints_command, _swap_uuid_command, _swap_version_min_command, - _swap_x86_debug_state, _swap_x86_debug_state32, _swap_x86_debug_state64, - _swap_x86_exception_state, _swap_x86_exception_state64, _swap_x86_float_state, - _swap_x86_float_state64, _swap_x86_state_hdr, _swap_x86_thread_state, - _swap_x86_thread_state64 ] ---- !tapi-tbd -tbd-version: 4 -targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] -uuids: - - target: x86_64-macos - value: BFB0329D-28B0-3FF8-AF71-FB8798721547 - - target: x86_64-maccatalyst - value: BFB0329D-28B0-3FF8-AF71-FB8798721547 - - target: arm64-macos - value: 00000000-0000-0000-0000-000000000000 - - target: arm64-maccatalyst - value: 00000000-0000-0000-0000-000000000000 - - target: arm64e-macos - value: 49C11AB5-FD65-39BE-A1C7-AD885809511E - - target: arm64e-maccatalyst - value: 49C11AB5-FD65-39BE-A1C7-AD885809511E -install-name: '/usr/lib/system/libquarantine.dylib' -current-version: 133.100.3 -parent-umbrella: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] - umbrella: System -exports: - - targets: [ arm64e-macos, x86_64-macos, x86_64-maccatalyst, arm64e-maccatalyst, - arm64-macos, arm64-maccatalyst ] - symbols: [ ___esp_check, ___esp_check_ns, ___esp_enabled, ___esp_notify, - ___esp_notify_ns, __qtn_error, __qtn_file_alloc, __qtn_file_apply_to_fd, - __qtn_file_apply_to_mount_point, __qtn_file_apply_to_path, - __qtn_file_clone, __qtn_file_free, __qtn_file_get_flags, __qtn_file_get_identifier, - __qtn_file_get_metadata, __qtn_file_get_metadata_size, __qtn_file_get_timestamp, - __qtn_file_init, __qtn_file_init_with_data, __qtn_file_init_with_fd, - __qtn_file_init_with_mount_point, __qtn_file_init_with_path, - __qtn_file_set_flags, __qtn_file_set_identifier, __qtn_file_set_metadata, - __qtn_file_set_timestamp, __qtn_file_to_data, __qtn_label_name, - __qtn_proc_alloc, __qtn_proc_apply_to_self, __qtn_proc_clone, - __qtn_proc_free, __qtn_proc_get_flags, __qtn_proc_get_identifier, - __qtn_proc_get_metadata, __qtn_proc_get_metadata_size, __qtn_proc_get_path_exclusion_pattern, - __qtn_proc_init, __qtn_proc_init_with_data, __qtn_proc_init_with_self, - __qtn_proc_set_flags, __qtn_proc_set_identifier, __qtn_proc_set_metadata, - __qtn_proc_set_path_exclusion_pattern, __qtn_proc_to_data, - __qtn_xattr_name, _qtn_proc_init_with_pid, _responsibility_get_attribution_for_audittoken, - _responsibility_get_pid_responsible_for_pid, _responsibility_get_responsible_audit_token_for_audit_token, - _responsibility_get_responsible_for_pid, _responsibility_get_uniqueid_responsible_for_pid, - _responsibility_identity_get_binary_entitlement_data, _responsibility_identity_get_binary_is_platform, - _responsibility_identity_get_binary_offset, _responsibility_identity_get_binary_path, - _responsibility_identity_get_binary_signing_id, _responsibility_identity_get_binary_team_id, - _responsibility_identity_get_csflags, _responsibility_identity_get_hosted_path, - _responsibility_identity_get_persistent_identifier, _responsibility_identity_get_platform, - _responsibility_identity_get_sdk, _responsibility_identity_get_user_uuid, - _responsibility_identity_release, _responsibility_init, _responsibility_set_audittoken_responsible_for_caller, - _responsibility_set_audittoken_responsible_for_self, _responsibility_set_caller_responsible_for_self, - _responsibility_set_hosted_path, _responsibility_set_pid_responsible_for_pid, - _responsibility_spawnattrs_getdisclaim, _responsibility_spawnattrs_setdisclaim ] ---- !tapi-tbd -tbd-version: 4 -targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] -uuids: - - target: x86_64-macos - value: 06A5E617-FB01-3F34-9A4C-CA3894CE0438 - - target: x86_64-maccatalyst - value: 06A5E617-FB01-3F34-9A4C-CA3894CE0438 - - target: arm64-macos - value: 00000000-0000-0000-0000-000000000000 - - target: arm64-maccatalyst - value: 00000000-0000-0000-0000-000000000000 - - target: arm64e-macos - value: 4880993D-A23B-3DCE-942A-4201CE7E5461 - - target: arm64e-maccatalyst - value: 4880993D-A23B-3DCE-942A-4201CE7E5461 -install-name: '/usr/lib/system/libremovefile.dylib' -current-version: 60 -parent-umbrella: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] - umbrella: System -exports: - - targets: [ arm64e-macos, x86_64-macos, x86_64-maccatalyst, arm64e-maccatalyst, - arm64-macos, arm64-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 ] ---- !tapi-tbd -tbd-version: 4 -targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] -uuids: - - target: x86_64-macos - value: DAA735E5-A64F-3443-8B24-8C5A77A25EFD - - target: x86_64-maccatalyst - value: DAA735E5-A64F-3443-8B24-8C5A77A25EFD - - target: arm64-macos - value: 00000000-0000-0000-0000-000000000000 - - target: arm64-maccatalyst - value: 00000000-0000-0000-0000-000000000000 - - target: arm64e-macos - value: 6B2F4A2F-2C36-3D5D-87F0-9B6BBAE5560C - - target: arm64e-maccatalyst - value: 6B2F4A2F-2C36-3D5D-87F0-9B6BBAE5560C -install-name: '/usr/lib/system/libsystem_asl.dylib' -current-version: 392.100.2 -parent-umbrella: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] - umbrella: System -exports: - - targets: [ x86_64-maccatalyst, x86_64-macos, arm64e-maccatalyst, arm64e-macos, - arm64-macos, arm64-maccatalyst ] - symbols: [ _ASL_LEVEL_TO_STRING, __asl_evaluate_send, __asl_fork_child, - __asl_lib_log, __asl_log_args_to_xpc, __asl_msg_dump, __asl_mt_shim_fork_child, - __asl_mt_shim_send_message, __asl_server_cancel_direct_watch, - __asl_server_control_query, __asl_server_create_aux_link, - __asl_server_match, __asl_server_message, __asl_server_query_2, - __asl_server_register_direct_watch, _asl_add_log_file, _asl_add_output, - _asl_add_output_file, _asl_append, _asl_base_msg, _asl_client_add_output_file, - _asl_client_get_control, _asl_client_kvdict, _asl_client_match, - _asl_client_open, _asl_client_open_from_file, _asl_client_release, - _asl_client_remove_output_file, _asl_client_retain, _asl_client_search, - _asl_client_send, _asl_client_set_control, _asl_client_set_filter, - _asl_client_set_output_file_filter, _asl_close, _asl_close_auxiliary_file, - _asl_core_check_access, _asl_core_decode_buffer, _asl_core_encode_buffer, - _asl_core_error, _asl_core_get_service_port, _asl_core_htonq, - _asl_core_level_to_string, _asl_core_new_msg_id, _asl_core_ntohq, - _asl_core_parse_time, _asl_core_str_match, _asl_core_str_match_c_time, - _asl_core_str_match_char, _asl_core_str_to_size, _asl_core_str_to_time, - _asl_core_str_to_uint32, _asl_core_string_hash, _asl_core_time_to_str, - _asl_count, _asl_create_auxiliary_file, _asl_fetch_key_val_op, - _asl_file_close, _asl_file_compact, _asl_file_ctime, _asl_file_fetch, - _asl_file_fetch_next, _asl_file_fetch_previous, _asl_file_filter, - _asl_file_filter_level, _asl_file_list_add, _asl_file_list_close, - _asl_file_list_match, _asl_file_list_match_end, _asl_file_list_match_next, - _asl_file_list_match_start, _asl_file_match, _asl_file_open_read, - _asl_file_open_write, _asl_file_read_set_position, _asl_file_release, - _asl_file_retain, _asl_file_save, _asl_file_size, _asl_filesystem_path, - _asl_format, _asl_format_message, _asl_free, _asl_get, _asl_get_filter, - _asl_get_index, _asl_get_local_control, _asl_get_type, _asl_get_value_for_key, - _asl_key, _asl_legacy1_close, _asl_legacy1_fetch, _asl_legacy1_match, - _asl_legacy1_open, _asl_list_from_string, _asl_log, _asl_log_auxiliary_location, - _asl_log_descriptor, _asl_log_message, _asl_match, _asl_msg_cmp, - _asl_msg_cmp_list, _asl_msg_copy, _asl_msg_count, _asl_msg_fetch, - _asl_msg_from_string, _asl_msg_get_val_for_key, _asl_msg_key, - _asl_msg_list_append, _asl_msg_list_count, _asl_msg_list_from_string, - _asl_msg_list_get_index, _asl_msg_list_insert, _asl_msg_list_match, - _asl_msg_list_new, _asl_msg_list_new_count, _asl_msg_list_next, - _asl_msg_list_prepend, _asl_msg_list_prev, _asl_msg_list_release, - _asl_msg_list_remove_index, _asl_msg_list_reset_iteration, - _asl_msg_list_retain, _asl_msg_list_search, _asl_msg_list_to_asl_string, - _asl_msg_list_to_string, _asl_msg_lookup, _asl_msg_merge, - _asl_msg_new, _asl_msg_release, _asl_msg_retain, _asl_msg_set_key_val, - _asl_msg_set_key_val_op, _asl_msg_to_string, _asl_msg_type, - _asl_msg_unset, _asl_msg_unset_index, _asl_new, _asl_next, - _asl_object_append, _asl_object_count, _asl_object_get_key_val_op_at_index, - _asl_object_get_object_at_index, _asl_object_get_val_op_for_key, - _asl_object_match, _asl_object_next, _asl_object_prepend, - _asl_object_prev, _asl_object_remove_object_at_index, _asl_object_search, - _asl_object_set_iteration_index, _asl_object_set_key_val_op, - _asl_object_unset_key, _asl_open, _asl_open_from_file, _asl_open_path, - _asl_parse_time, _asl_prepend, _asl_prev, _asl_release, _asl_remote_notify_name, - _asl_remove_log_file, _asl_remove_output, _asl_remove_output_file, - _asl_reset_iteration, _asl_retain, _asl_search, _asl_send, - _asl_set, _asl_set_filter, _asl_set_key_val_op, _asl_set_local_control, - _asl_set_output_file_filter, _asl_set_query, _asl_store_close, - _asl_store_location, _asl_store_match, _asl_store_match_next, - _asl_store_match_start, _asl_store_match_timeout, _asl_store_max_file_size, - _asl_store_open_aux, _asl_store_open_read, _asl_store_open_write, - _asl_store_release, _asl_store_retain, _asl_store_save, _asl_store_set_flags, - _asl_store_statistics, _asl_store_sweep_file_cache, _asl_string_allocated_size, - _asl_string_append, _asl_string_append_asl_key, _asl_string_append_asl_msg, - _asl_string_append_char_no_encoding, _asl_string_append_no_encoding, - _asl_string_append_no_encoding_len, _asl_string_append_op, - _asl_string_append_xml_tag, _asl_string_bytes, _asl_string_length, - _asl_string_new, _asl_string_release, _asl_string_release_return_bytes, - _asl_string_retain, _asl_syslog_faciliy_name_to_num, _asl_syslog_faciliy_num_to_name, - _asl_trigger_aslmanager, _asl_unset, _asl_unset_key, _asl_vlog, - _aslresponse_free, _aslresponse_next, _closelog, _openlog, - _setlogmask, _syslog, '_syslog$DARWIN_EXTSN', _vsyslog ] ---- !tapi-tbd -tbd-version: 4 -targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] -uuids: - - target: x86_64-macos - value: CCC417A8-9265-3B0C-AF95-98B57ABE5E43 - - target: x86_64-maccatalyst - value: CCC417A8-9265-3B0C-AF95-98B57ABE5E43 - - target: arm64-macos - value: 00000000-0000-0000-0000-000000000000 - - target: arm64-maccatalyst - value: 00000000-0000-0000-0000-000000000000 - - target: arm64e-macos - value: DF7F3CF2-FF71-3E86-AA3A-46465B8B8DEC - - target: arm64e-maccatalyst - value: DF7F3CF2-FF71-3E86-AA3A-46465B8B8DEC -install-name: '/usr/lib/system/libsystem_blocks.dylib' -current-version: 79.1 -parent-umbrella: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] - umbrella: System -exports: - - targets: [ arm64e-macos, x86_64-macos, x86_64-maccatalyst, arm64e-maccatalyst, - arm64-macos, arm64-maccatalyst ] - symbols: [ _Block_size, __Block_copy, __Block_extended_layout, __Block_has_signature, - __Block_isDeallocating, __Block_layout, __Block_object_assign, - __Block_object_dispose, __Block_release, __Block_signature, - __Block_tryRetain, __Block_use_RR2, __Block_use_stret, __NSConcreteAutoBlock, - __NSConcreteFinalizingBlock, __NSConcreteGlobalBlock, __NSConcreteMallocBlock, - __NSConcreteStackBlock, __NSConcreteWeakBlockVariable ] ---- !tapi-tbd -tbd-version: 4 -targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] -uuids: - - target: x86_64-macos - value: 8E54ECA2-9BD8-3482-9589-B9574434D1AA - - target: x86_64-maccatalyst - value: 8E54ECA2-9BD8-3482-9589-B9574434D1AA - - target: arm64-macos - value: 00000000-0000-0000-0000-000000000000 - - target: arm64-maccatalyst - value: 00000000-0000-0000-0000-000000000000 - - target: arm64e-macos - value: FD566A15-42D8-314A-A99A-B59237DDF5BC - - target: arm64e-maccatalyst - value: FD566A15-42D8-314A-A99A-B59237DDF5BC -install-name: '/usr/lib/system/libsystem_c.dylib' -current-version: 1507.100.9 -parent-umbrella: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] - umbrella: System -exports: - - targets: [ x86_64-maccatalyst, x86_64-macos ] - symbols: [ '___opendir2$INODE64', ___strtopx, '__readdir_unlocked$INODE64', - '__seekdir$INODE64', '_alphasort$INODE64', '_daemon$1050', - '_fdopendir$INODE64', _fstatx64_np, '_fstatx_np$INODE64', - '_fts_children$INODE64', '_fts_close$INODE64', '_fts_open$INODE64', - '_fts_open_b$INODE64', '_fts_read$INODE64', '_fts_set$INODE64', - '_ftw$INODE64', '_getmntinfo$INODE64', _getmntinfo64, '_getmntinfo_r_np$INODE64', - '_glob$INODE64', '_glob_b$INODE64', _lstatx64_np, '_lstatx_np$INODE64', - '_nftw$INODE64', '_opendir$INODE64', '_readdir$INODE64', '_readdir_r$INODE64', - '_rewinddir$INODE64', '_scandir$INODE64', '_scandir_b$INODE64', - '_seekdir$INODE64', _statx64_np, '_statx_np$INODE64', '_telldir$INODE64', - mcount ] - - targets: [ x86_64-maccatalyst, x86_64-macos, arm64e-maccatalyst, arm64e-macos, - arm64-macos, arm64-maccatalyst ] - symbols: [ '$ld$weak$os10.11$_basename_r', '$ld$weak$os10.11$_clock_getres', - '$ld$weak$os10.11$_clock_gettime', '$ld$weak$os10.11$_clock_settime', - '$ld$weak$os10.11$_dirname_r', '$ld$weak$os10.11$_getentropy', - '$ld$weak$os10.11$_mkostemp', '$ld$weak$os10.11$_mkostemps', - '$ld$weak$os10.11$_timingsafe_bcmp', '$ld$weak$os10.12$_utimensat', - __CurrentRuneLocale, __DefaultRuneLocale, __Exit, __NSGetArgc, - __NSGetArgv, __NSGetEnviron, __NSGetMachExecuteHeader, __NSGetProgname, - __PathLocale, __Read_RuneMagi, ___Balloc_D2A, ___Bfree_D2A, - ___ULtod_D2A, ____mb_cur_max, ____mb_cur_max_l, ____runetype, - ____runetype_l, ____tolower, ____tolower_l, ____toupper, ____toupper_l, - ___add_ovflpage, ___addel, ___any_on_D2A, ___assert_rtn, ___b2d_D2A, - ___big_delete, ___big_insert, ___big_keydata, ___big_return, - ___big_split, ___bigtens_D2A, ___bt_close, ___bt_cmp, ___bt_defcmp, - ___bt_defpfx, ___bt_delete, ___bt_dleaf, ___bt_fd, ___bt_free, - ___bt_get, ___bt_new, ___bt_open, ___bt_pgin, ___bt_pgout, - ___bt_put, ___bt_ret, ___bt_search, ___bt_seq, ___bt_setcur, - ___bt_split, ___bt_sync, ___buf_free, ___call_hash, ___cleanup, - ___cmp_D2A, ___collate_equiv_match, ___collate_load_error, - ___collate_lookup, ___collate_lookup_l, ___copybits_D2A, ___cxa_atexit, - ___cxa_finalize, ___cxa_finalize_ranges, ___cxa_thread_atexit, - ___d2b_D2A, ___dbpanic, ___decrement_D2A, ___default_hash, - ___default_utx, ___delpair, ___diff_D2A, ___dtoa, ___expand_table, - ___fflush, ___fgetwc, ___find_bigpair, ___find_last_page, - ___fix_locale_grouping_str, ___fread, ___free_ovflpage, ___freedtoa, - ___gdtoa, ___gdtoa_locks, ___get_buf, ___get_page, ___gethex_D2A, - ___getonlyClocaleconv, ___hash_open, ___hdtoa, ___hexdig_D2A, - ___hexdig_init_D2A, ___hexnan_D2A, ___hi0bits_D2A, ___hldtoa, - ___i2b_D2A, ___ibitmap, ___increment_D2A, ___isctype, ___istype, - ___istype_l, ___ldtoa, ___libc_init, ___lo0bits_D2A, ___log2, - ___lshift_D2A, ___maskrune, ___maskrune_l, ___match_D2A, ___mb_cur_max, - ___mb_sb_limit, ___memccpy_chk, ___memcpy_chk, ___memmove_chk, - ___memset_chk, ___mult_D2A, ___multadd_D2A, ___nrv_alloc_D2A, - ___opendir2, ___ovfl_delete, ___ovfl_get, ___ovfl_put, ___pow5mult_D2A, - ___put_page, ___quorem_D2A, ___ratio_D2A, ___rec_close, ___rec_delete, - ___rec_dleaf, ___rec_fd, ___rec_fmap, ___rec_fpipe, ___rec_get, - ___rec_iput, ___rec_open, ___rec_put, ___rec_ret, ___rec_search, - ___rec_seq, ___rec_sync, ___rec_vmap, ___rec_vpipe, ___reclaim_buf, - ___rshift_D2A, ___rv_alloc_D2A, ___s2b_D2A, ___sF, ___sclose, - ___sdidinit, ___set_ones_D2A, ___setonlyClocaleconv, ___sflags, - ___sflush, ___sfp, ___sfvwrite, ___sglue, ___sinit, ___slbexpand, - ___smakebuf, ___snprintf_chk, ___snprintf_object_size_chk, - ___split_page, ___sprintf_chk, ___sprintf_object_size_chk, - ___sread, ___srefill, ___srget, ___sseek, ___stack_chk_fail, - ___stack_chk_guard, ___stderrp, ___stdinp, ___stdoutp, ___stpcpy_chk, - ___stpncpy_chk, ___strcat_chk, ___strcp_D2A, ___strcpy_chk, - ___strlcat_chk, ___strlcpy_chk, ___strncat_chk, ___strncpy_chk, - ___strtodg, ___strtopdd, ___sum_D2A, ___svfscanf, ___swbuf, - ___swhatbuf, ___swrite, ___swsetup, ___tens_D2A, ___tinytens_D2A, - ___tolower, ___tolower_l, ___toupper, ___toupper_l, ___trailz_D2A, - ___ulp_D2A, ___ungetc, ___ungetwc, ___vsnprintf_chk, ___vsprintf_chk, - ___wcwidth, ___wcwidth_l, __allocenvstate, __atexit_receipt, - __c_locale, __cleanup, __closeutx, __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, - __libc_initializer, __long_to_time, __mkpath_np, __mktemp, - __openutx, __os_assert_log, __os_assert_log_ctx, __os_assumes_log, - __os_assumes_log_ctx, __os_avoid_tail_call, __os_crash, __os_crash_callback, - __os_crash_fmt, __os_debug_log, __os_debug_log_error_offset, - __os_debug_log_error_str, __putenvp, __pututxline, __rand48_add, - __rand48_mult, __rand48_seed, __readdir_unlocked, __reclaim_telldir, - __seekdir, __setenvp, __setutxent, __sigaction_nobind, __sigintr, - __signal_nobind, __sigvec_nobind, __sread, __sseek, __subsystem_init, - __swrite, __time32_to_time, __time64_to_time, __time_to_int, - __time_to_long, __time_to_time32, __time_to_time64, __unsetenvp, - __utmpxname, _a64l, _abort, _abort_report_np, _abs, _acl_add_flag_np, - _acl_add_perm, _acl_calc_mask, _acl_clear_flags_np, _acl_clear_perms, - _acl_copy_entry, _acl_copy_ext, _acl_copy_ext_native, _acl_copy_int, - _acl_copy_int_native, _acl_create_entry, _acl_create_entry_np, - _acl_delete_def_file, _acl_delete_entry, _acl_delete_fd_np, - _acl_delete_file_np, _acl_delete_flag_np, _acl_delete_link_np, - _acl_delete_perm, _acl_dup, _acl_free, _acl_from_text, _acl_get_entry, - _acl_get_fd, _acl_get_fd_np, _acl_get_file, _acl_get_flag_np, - _acl_get_flagset_np, _acl_get_link_np, _acl_get_perm_np, _acl_get_permset, - _acl_get_permset_mask_np, _acl_get_qualifier, _acl_get_tag_type, - _acl_init, _acl_maximal_permset_mask_np, _acl_set_fd, _acl_set_fd_np, - _acl_set_file, _acl_set_flagset_np, _acl_set_link_np, _acl_set_permset, - _acl_set_permset_mask_np, _acl_set_qualifier, _acl_set_tag_type, - _acl_size, _acl_to_text, _acl_valid, _acl_valid_fd_np, _acl_valid_file_np, - _acl_valid_link, _addr2ascii, _alarm, _alphasort, _arc4random, - _arc4random_addrandom, _arc4random_buf, _arc4random_stir, - _arc4random_uniform, _ascii2addr, _asctime, _asctime_r, _asprintf, - _asprintf_l, _asxprintf, _asxprintf_exec, _atexit, _atexit_b, - _atof, _atof_l, _atoi, _atoi_l, _atol, _atol_l, _atoll, _atoll_l, - _backtrace, _backtrace_async, _backtrace_from_fp, _backtrace_image_offsets, - _backtrace_symbols, _backtrace_symbols_fd, _basename, _basename_r, - _bcopy, _brk, _bsd_signal, _bsearch, _bsearch_b, _btowc, _btowc_l, - _catclose, _catgets, _catopen, _cfgetispeed, _cfgetospeed, - _cfmakeraw, _cfsetispeed, _cfsetospeed, _cfsetspeed, _cgetcap, - _cgetclose, _cgetent, _cgetfirst, _cgetmatch, _cgetnext, _cgetnum, - _cgetset, _cgetstr, _cgetustr, _chmodx_np, _clearerr, _clearerr_unlocked, - _clock, _clock_getres, _clock_gettime, _clock_gettime_nsec_np, - _clock_port, _clock_sem, _clock_settime, _closedir, _compat_mode, - _confstr, _copy_printf_domain, _creat, '_creat$NOCANCEL', - _crypt, _ctermid, _ctermid_r, _ctime, _ctime_r, _daemon, _daylight, - _dbm_clearerr, _dbm_close, _dbm_delete, _dbm_dirfno, _dbm_error, - _dbm_fetch, _dbm_firstkey, _dbm_nextkey, _dbm_open, _dbm_store, - _dbopen, _devname, _devname_r, _difftime, _digittoint, _digittoint_l, - _dirfd, _dirname, _dirname_r, _div, _dprintf, _dprintf_l, - _drand48, _duplocale, _dxprintf, _dxprintf_exec, _ecvt, _encrypt, - _endttyent, _endusershell, _endutxent, _endutxent_wtmp, _environ_lock_np, - _environ_unlock_np, _erand48, _err, _err_set_exit, _err_set_exit_b, - _err_set_file, _errc, _errx, _execl, _execle, _execlp, _execv, - _execvP, _execvp, _exit, _f_prealloc, _fchmodx_np, _fclose, - _fcvt, _fdopen, '_fdopen$DARWIN_EXTSN', _fdopendir, _feof, - _feof_unlocked, _ferror, _ferror_unlocked, _fflagstostr, _fflush, - _fgetc, _fgetln, _fgetpos, _fgetrune, _fgets, _fgetwc, _fgetwc_l, - _fgetwln, _fgetwln_l, _fgetws, _fgetws_l, _fileno, _fileno_unlocked, - _filesec_dup, _filesec_free, _filesec_get_property, _filesec_init, - _filesec_query_property, _filesec_set_property, _filesec_unset_property, - _flockfile, _fmemopen, _fmtcheck, _fmtmsg, _fnmatch, _fopen, - '_fopen$DARWIN_EXTSN', _fork, _forkpty, _fparseln, _fprintf, - _fprintf_l, _fpurge, _fputc, _fputrune, _fputs, _fputwc, _fputwc_l, - _fputws, _fputws_l, _fread, _free_printf_comp, _free_printf_domain, - _freelocale, _freopen, _fscanf, _fscanf_l, _fseek, _fseeko, - _fsetpos, _fstatvfs, _fstatx_np, _fsync_volume_np, _ftell, - _ftello, _ftime, _ftok, _ftrylockfile, _fts_children, _fts_close, - _fts_open, _fts_open_b, _fts_read, _fts_set, _ftw, _fungetrune, - _funlockfile, _funopen, _fwide, _fwprintf, _fwprintf_l, _fwrite, - _fwscanf, _fwscanf_l, _fxprintf, _fxprintf_exec, _gcvt, _getbsize, - _getc, _getc_unlocked, _getchar, _getchar_unlocked, _getcwd, - _getdate, _getdate_err, _getdelim, _getdiskbyname, _getenv, - '_getgroups$DARWIN_EXTSN', _gethostid, _gethostname, _getipv4sourcefilter, - _getlastlogx, _getlastlogxbyname, _getline, _getloadavg, _getlogin, - _getlogin_r, _getmntinfo, _getmntinfo_r_np, _getmode, _getopt, - _getopt_long, _getopt_long_only, _getpagesize, _getpass, _getpeereid, - _getprogname, _gets, _getsourcefilter, _getsubopt, _gettimeofday, - _getttyent, _getttynam, _getusershell, _getutmp, _getutmpx, - _getutxent, _getutxent_wtmp, _getutxid, _getutxline, _getvfsbyname, - _getw, _getwc, _getwc_l, _getwchar, _getwchar_l, _getwd, _glob, - _glob_b, _globfree, _gmtime, _gmtime_r, _grantpt, _hash_create, - _hash_destroy, _hash_purge, _hash_search, _hash_stats, _hash_traverse, - _hcreate, _hdestroy, _heapsort, _heapsort_b, _hsearch, _imaxabs, - _imaxdiv, _inet_addr, _inet_aton, _inet_lnaof, _inet_makeaddr, - _inet_net_ntop, _inet_net_pton, _inet_neta, _inet_netof, _inet_network, - _inet_nsap_addr, _inet_nsap_ntoa, _inet_ntoa, _inet_ntop, - _inet_ntop4, _inet_ntop6, _inet_pton, _initstate, _insque, - _isalnum, _isalnum_l, _isalpha, _isalpha_l, _isascii, _isatty, - _isblank, _isblank_l, _iscntrl, _iscntrl_l, _isdigit, _isdigit_l, - _isgraph, _isgraph_l, _ishexnumber, _ishexnumber_l, _isideogram, - _isideogram_l, _islower, _islower_l, _isnumber, _isnumber_l, - _isphonogram, _isphonogram_l, _isprint, _isprint_l, _ispunct, - _ispunct_l, _isrune, _isrune_l, _isspace, _isspace_l, _isspecial, - _isspecial_l, _isupper, _isupper_l, _iswalnum, _iswalnum_l, - _iswalpha, _iswalpha_l, _iswascii, _iswblank, _iswblank_l, - _iswcntrl, _iswcntrl_l, _iswctype, _iswctype_l, _iswdigit, - _iswdigit_l, _iswgraph, _iswgraph_l, _iswhexnumber, _iswhexnumber_l, - _iswideogram, _iswideogram_l, _iswlower, _iswlower_l, _iswnumber, - _iswnumber_l, _iswphonogram, _iswphonogram_l, _iswprint, _iswprint_l, - _iswpunct, _iswpunct_l, _iswrune, _iswrune_l, _iswspace, _iswspace_l, - _iswspecial, _iswspecial_l, _iswupper, _iswupper_l, _iswxdigit, - _iswxdigit_l, _isxdigit, _isxdigit_l, _jrand48, _kOSThermalNotificationPressureLevelName, - _killpg, _l64a, _labs, _lchflags, _lchmod, _lcong48, _ldiv, - _lfind, _link_addr, _link_ntoa, _llabs, _lldiv, _localeconv, - _localeconv_l, _localtime, _localtime_r, _lockf, '_lockf$NOCANCEL', - _login, _login_tty, _logout, _logwtmp, _lrand48, _lsearch, - _lstatx_np, _lutimes, _mblen, _mblen_l, _mbmb, _mbrlen, _mbrlen_l, - _mbrrune, _mbrtowc, _mbrtowc_l, _mbrune, _mbsinit, _mbsinit_l, - _mbsnrtowcs, _mbsnrtowcs_l, _mbsrtowcs, _mbsrtowcs_l, _mbstowcs, - _mbstowcs_l, _mbtowc, _mbtowc_l, _memmem, _memset_s, _mergesort, - _mergesort_b, _mkdirx_np, _mkdtemp, _mkdtempat_np, _mkfifox_np, - _mkostemp, _mkostemps, _mkostempsat_np, _mkpath_np, _mkpathat_np, - _mkstemp, _mkstemp_dprotected_np, _mkstemps, _mkstempsat_np, - _mktemp, _mktime, _monaddition, _moncontrol, _moncount, _moninit, - _monitor, _monoutput, _monreset, _monstartup, _mpool_close, - _mpool_filter, _mpool_get, _mpool_new, _mpool_open, _mpool_put, - _mpool_sync, _mrand48, _nanosleep, '_nanosleep$NOCANCEL', - _new_printf_comp, _new_printf_domain, _newlocale, _nextwctype, - _nextwctype_l, _nftw, _nice, _nl_langinfo, _nl_langinfo_l, - _nrand48, _nvis, _off32, _off64, _offtime, _open_memstream, - _open_with_subsystem, _open_wmemstream, _opendev, _opendir, - _openpty, _openx_np, _optarg, _opterr, _optind, _optopt, _optreset, - _pause, '_pause$NOCANCEL', _pclose, _perror, _popen, '_popen$DARWIN_EXTSN', - _posix2time, _posix_openpt, _posix_spawnp, _printf, _printf_l, - _psignal, _psort, _psort_b, _psort_r, _ptsname, _ptsname_r, - _putc, _putc_unlocked, _putchar, _putchar_unlocked, _putenv, - _puts, _pututxline, _putw, _putwc, _putwc_l, _putwchar, _putwchar_l, - _qsort, _qsort_b, _qsort_r, _querylocale, _radixsort, _raise, - _rand, _rand_r, _random, _rb_tree_count, _rb_tree_find_node, - _rb_tree_find_node_geq, _rb_tree_find_node_leq, _rb_tree_init, - _rb_tree_insert_node, _rb_tree_iterate, _rb_tree_remove_node, - _readdir, _readdir_r, _readpassphrase, _reallocf, _realpath, - '_realpath$DARWIN_EXTSN', _recv, '_recv$NOCANCEL', _regcomp, - _regcomp_l, _regerror, _regexec, _regfree, _register_printf_domain_function, - _register_printf_domain_render_std, _regncomp, _regncomp_l, - _regnexec, _regwcomp, _regwcomp_l, _regwexec, _regwncomp, - _regwncomp_l, _regwnexec, _remove, _remque, _rewind, _rewinddir, - _rindex, _rpmatch, _sbrk, _scandir, _scandir_b, _scanf, _scanf_l, - _seed48, _seekdir, _send, '_send$NOCANCEL', _setbuf, _setbuffer, - _setenv, _sethostid, _sethostname, _setinvalidrune, _setipv4sourcefilter, - _setkey, _setlinebuf, _setlocale, _setlogin, _setmode, _setpgrp, - _setprogname, _setrgid, _setruid, _setrunelocale, _setsourcefilter, - _setstate, _settimeofday, _setttyent, _setusershell, _setutxent, - _setutxent_wtmp, _setvbuf, _sigaction, _sigaddset, _sigaltstack, - _sigblock, _sigdelset, _sigemptyset, _sigfillset, _sighold, - _sigignore, _siginterrupt, _sigismember, _signal, _sigpause, - '_sigpause$NOCANCEL', _sigrelse, _sigset, _sigsetmask, _sigvec, - _skip, _sl_add, _sl_find, _sl_free, _sl_init, _sleep, '_sleep$NOCANCEL', - _snprintf, _snprintf_l, _snvis, _sockatmark, _sprintf, _sprintf_l, - _sradixsort, _srand, _srand48, _sranddev, _srandom, _srandomdev, - _sscanf, _sscanf_l, _stat_with_subsystem, _statvfs, _statx_np, - _stpcpy, _stpncpy, _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, _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, - _wcscspn, _wcsdup, _wcsftime, _wcsftime_l, _wcslcat, _wcslcpy, - _wcslen, _wcsncasecmp, _wcsncasecmp_l, _wcsncat, _wcsncmp, - _wcsncpy, _wcsnlen, _wcsnrtombs, _wcsnrtombs_l, _wcspbrk, - _wcsrchr, _wcsrtombs, _wcsrtombs_l, _wcsspn, _wcsstr, _wcstod, - _wcstod_l, _wcstof, _wcstof_l, _wcstoimax, _wcstoimax_l, _wcstok, - _wcstol, _wcstol_l, _wcstold, _wcstold_l, _wcstoll, _wcstoll_l, - _wcstombs, _wcstombs_l, _wcstoul, _wcstoul_l, _wcstoull, _wcstoull_l, - _wcstoumax, _wcstoumax_l, _wcswidth, _wcswidth_l, _wcsxfrm, - _wcsxfrm_l, _wctob, _wctob_l, _wctomb, _wctomb_l, _wctrans, - _wctrans_l, _wctype, _wctype_l, _wcwidth, _wcwidth_l, _wmemchr, - _wmemcmp, _wmemcpy, _wmemmove, _wmemset, _wordexp, _wordfree, - _wprintf, _wprintf_l, _wscanf, _wscanf_l, _wtmpxname, _xprintf, - _xprintf_exec ] -reexports: - - targets: [ x86_64-maccatalyst, x86_64-macos, arm64e-maccatalyst, arm64e-macos, - arm64-macos, arm64-maccatalyst ] - symbols: [ _bcmp, _bzero, _index, _memccpy, _memchr, _memcmp, _memcpy, - _memmove, _memset, _memset_pattern16, _memset_pattern4, _memset_pattern8, - _strchr, _strcmp, _strcpy, _strlcat, _strlcpy, _strlen, _strncmp, - _strncpy, _strnlen, _strstr ] ---- !tapi-tbd -tbd-version: 4 -targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] -uuids: - - target: x86_64-macos - value: BDBBFF38-0DB7-3B60-BB26-1E7E36715C85 - - target: x86_64-maccatalyst - value: BDBBFF38-0DB7-3B60-BB26-1E7E36715C85 - - target: arm64-macos - value: 00000000-0000-0000-0000-000000000000 - - target: arm64-maccatalyst - value: 00000000-0000-0000-0000-000000000000 - - target: arm64e-macos - value: B7FB982C-29CC-383B-9C25-60D660BB1433 - - target: arm64e-maccatalyst - value: B7FB982C-29CC-383B-9C25-60D660BB1433 -install-name: '/usr/lib/system/libsystem_collections.dylib' -current-version: 1507.100.9 -parent-umbrella: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] - umbrella: System -exports: - - targets: [ arm64e-macos, x86_64-macos, x86_64-maccatalyst, arm64e-maccatalyst, - arm64-macos, arm64-maccatalyst ] - symbols: [ _os_map_128_clear, _os_map_128_count, _os_map_128_delete, - _os_map_128_destroy, _os_map_128_find, _os_map_128_foreach, - _os_map_128_init, _os_map_128_insert, _os_map_32_clear, _os_map_32_count, - _os_map_32_delete, _os_map_32_destroy, _os_map_32_find, _os_map_32_foreach, - _os_map_32_init, _os_map_32_insert, _os_map_64_clear, _os_map_64_count, - _os_map_64_delete, _os_map_64_destroy, _os_map_64_find, _os_map_64_foreach, - _os_map_64_init, _os_map_64_insert, _os_map_str_clear, _os_map_str_count, - _os_map_str_delete, _os_map_str_destroy, _os_map_str_entry, - _os_map_str_find, _os_map_str_foreach, _os_map_str_init, _os_map_str_insert, - _os_set_32_ptr_clear, _os_set_32_ptr_count, _os_set_32_ptr_delete, - _os_set_32_ptr_destroy, _os_set_32_ptr_find, _os_set_32_ptr_foreach, - _os_set_32_ptr_init, _os_set_32_ptr_insert, _os_set_64_ptr_clear, - _os_set_64_ptr_count, _os_set_64_ptr_delete, _os_set_64_ptr_destroy, - _os_set_64_ptr_find, _os_set_64_ptr_foreach, _os_set_64_ptr_init, - _os_set_64_ptr_insert, _os_set_str_ptr_clear, _os_set_str_ptr_count, - _os_set_str_ptr_delete, _os_set_str_ptr_destroy, _os_set_str_ptr_find, - _os_set_str_ptr_foreach, _os_set_str_ptr_init, _os_set_str_ptr_insert ] ---- !tapi-tbd -tbd-version: 4 -targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] -uuids: - - target: x86_64-macos - value: 254B479C-BCCB-3A80-A6D8-246FE621D182 - - target: x86_64-maccatalyst - value: 254B479C-BCCB-3A80-A6D8-246FE621D182 - - target: arm64-macos - value: 00000000-0000-0000-0000-000000000000 - - target: arm64-maccatalyst - value: 00000000-0000-0000-0000-000000000000 - - target: arm64e-macos - value: F241F139-76C4-38FC-A44C-5D695A58592D - - target: arm64e-maccatalyst - value: F241F139-76C4-38FC-A44C-5D695A58592D -install-name: '/usr/lib/system/libsystem_configuration.dylib' -current-version: 1163.100.19 -parent-umbrella: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] - umbrella: System -exports: - - targets: [ arm64e-macos, x86_64-macos, x86_64-maccatalyst, arm64e-maccatalyst, - arm64-macos, arm64-maccatalyst ] - symbols: [ __dns_configuration_ack, __libSC_info_fork_child, __libSC_info_fork_parent, - __libSC_info_fork_prepare, __nwi_config_agent_copy_data, __nwi_state_ack, - __nwi_state_force_refresh, _config_agent_copy_dns_information, - _config_agent_copy_proxy_information, _config_agent_free_dns_information, - _config_agent_free_proxy_information, _config_agent_get_dns_nameservers, - _config_agent_get_dns_searchdomains, _config_agent_update_proxy_information, - _dns_configuration_copy, _dns_configuration_free, _dns_configuration_notify_key, - _is_config_agent_type_dns, _is_config_agent_type_proxy, _nwi_ifstate_compare_rank, - _nwi_ifstate_get_dns_signature, _nwi_ifstate_get_flags, _nwi_ifstate_get_generation, - _nwi_ifstate_get_ifname, _nwi_ifstate_get_next, _nwi_ifstate_get_reachability_flags, - _nwi_ifstate_get_signature, _nwi_ifstate_get_vpn_server, _nwi_state_copy, - _nwi_state_get_first_ifstate, _nwi_state_get_generation, _nwi_state_get_ifstate, - _nwi_state_get_interface_names, _nwi_state_get_notify_key, - _nwi_state_get_reachability_flags, _nwi_state_release ] ---- !tapi-tbd -tbd-version: 4 -targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] -uuids: - - target: x86_64-macos - value: 03AC1106-F611-3CCA-98AE-8C5FA6ED5C94 - - target: x86_64-maccatalyst - value: 03AC1106-F611-3CCA-98AE-8C5FA6ED5C94 - - target: arm64-macos - value: 00000000-0000-0000-0000-000000000000 - - target: arm64-maccatalyst - value: 00000000-0000-0000-0000-000000000000 - - target: arm64e-macos - value: ECF472AD-D73F-3C98-B186-2AD4EE20F4D5 - - target: arm64e-maccatalyst - value: ECF472AD-D73F-3C98-B186-2AD4EE20F4D5 -install-name: '/usr/lib/system/libsystem_containermanager.dylib' -parent-umbrella: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] - umbrella: System -exports: - - targets: [ arm64e-macos, x86_64-macos, x86_64-maccatalyst, arm64e-maccatalyst, - arm64-macos, arm64-maccatalyst ] - symbols: [ _CONTAINER_CURRENT_MOBILE_UID, _CONTAINER_INSTALLATION_UID, - _CONTAINER_LINK_ARRAY_NONE, _CONTAINER_NOTIFY_CLEANUP_COMPLETE, - _CONTAINER_NOTIFY_REBOOT_CLEANUP_COMPLETE, _CONTAINER_NOTIFY_USER_INVALIDATED, - _CONTAINER_PERSONA_CURRENT, _CONTAINER_PERSONA_PRIMARY, _CONTAINER_SYSTEM_UID, - __container_init, _container_acquire_sandbox_extension, _container_bundle_copy_data_container, - _container_bundle_copy_data_container_path, _container_client_create_from_audit_token, - _container_copy_client, _container_copy_code_signing_info_for_identifier, - _container_copy_from_path, _container_copy_info, _container_copy_info_value_for_key, - _container_copy_links_array, _container_copy_object, _container_copy_path, - _container_copy_persona_unique_strings, _container_copy_unlocalized_description, - _container_create_or_lookup, _container_create_or_lookup_app_group_path_by_app_group_identifier, - _container_create_or_lookup_app_group_paths, _container_create_or_lookup_app_group_paths_for_current_user, - _container_create_or_lookup_app_group_paths_for_platform, - _container_create_or_lookup_app_group_paths_from_entitlements, - _container_create_or_lookup_for_current_user, _container_create_or_lookup_for_platform, - _container_create_or_lookup_group_container_paths_for_current_user, - _container_create_or_lookup_path, _container_create_or_lookup_path_for_current_user, - _container_create_or_lookup_path_for_platform, _container_create_or_lookup_system_group_paths, - _container_create_or_lookup_user_managed_assets_path, _container_create_or_lookup_user_managed_assets_relative_path, - _container_delete, _container_delete_all_container_content, - _container_delete_all_data_container_content, _container_delete_all_data_container_content_for_current_user, - _container_delete_array_of_containers, _container_delete_user_managed_assets, - _container_delete_with_class_and_identifier_for_current_user, - _container_delete_with_uid_class_and_identifier, _container_disk_usage, - _container_error_copy, _container_error_copy_unlocalized_description, - _container_error_free, _container_error_get_category, _container_error_get_path, - _container_error_get_posix_errno, _container_error_get_type, - _container_error_is_fatal, _container_flush_container_cache, - _container_flush_persona_cache, _container_free_array_of_containers, - _container_free_client, _container_free_object, _container_get_all_with_class, - _container_get_all_with_class_for_current_user, _container_get_class, - _container_get_error_description, _container_get_identifier, - _container_get_persona_unique_string, _container_get_uid, - _container_get_unique_path_component, _container_group_container_identifiers_for_current_user, - _container_invalidate_code_signing_cache, _container_is_equal, - _container_is_new, _container_is_transient, _container_link_apply, - _container_link_copy, _container_link_copy_container_a, _container_link_copy_container_b, - _container_link_copy_unlocalized_description, _container_link_create, - _container_link_exists, _container_link_free, _container_link_free_array, - _container_link_get_attributes, _container_link_is_implicit, - _container_link_remove, _container_log_client_fault_logging_is_enabled, - _container_log_set_client_fault_logging, _container_operation_delete, - _container_operation_delete_array, _container_operation_delete_reclaim_disk_space, - _container_paths_context_create, _container_paths_context_free, - _container_paths_context_set_class, _container_paths_context_set_flags, - _container_paths_context_set_persona_unique_string, _container_paths_context_set_transient, - _container_paths_context_set_uid, _container_paths_copy_container_at, - _container_paths_copy_container_from_path, _container_paths_copy_container_root_path_for_context, - _container_paths_enumerate_containers_at, _container_perform_data_migration, - _container_perform_data_migration_for_current_user, _container_perform_with_client_context, - _container_process_restored_container, _container_query_copy, - _container_query_create, _container_query_free, _container_query_get_last_error, - _container_query_get_single_result, _container_query_iterate_results_sync, - _container_query_operation_set_client, _container_query_operation_set_flags, - _container_query_operation_set_platform, _container_query_set_class, - _container_query_set_group_identifiers, _container_query_set_identifiers, - _container_query_set_include_other_owners, _container_query_set_links, - _container_query_set_persona_unique_string, _container_query_set_transient, - _container_query_set_uid, _container_recreate_structure, _container_regenerate_uuid, - _container_repair_user_data, _container_replace, _container_set_code_signing_info_for_identifier, - _container_set_data_protection_for_current_user, _container_set_info_value, - _container_stage_shared_system_content, _container_subdirectories_for_class, - _container_system_group_path_for_identifier, _container_system_path_for_identifier, - _container_user_managed_assets_path, _container_user_managed_assets_relative_path, - _container_xpc_connection_is_shared, _container_xpc_set_use_shared_connection ] ---- !tapi-tbd -tbd-version: 4 -targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] -uuids: - - target: x86_64-macos - value: 5E34B58A-2BEE-3AA4-AB65-C32D4619AC2B - - target: x86_64-maccatalyst - value: 5E34B58A-2BEE-3AA4-AB65-C32D4619AC2B - - target: arm64-macos - value: 00000000-0000-0000-0000-000000000000 - - target: arm64-maccatalyst - value: 00000000-0000-0000-0000-000000000000 - - target: arm64e-macos - value: 92325446-C184-3BDF-B839-CFC2A7C558EC - - target: arm64e-maccatalyst - value: 92325446-C184-3BDF-B839-CFC2A7C558EC -install-name: '/usr/lib/system/libsystem_coreservices.dylib' -current-version: 133 -parent-umbrella: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] - umbrella: System -exports: - - targets: [ arm64e-macos, x86_64-macos, x86_64-maccatalyst, arm64e-maccatalyst, - arm64-macos, arm64-maccatalyst ] - symbols: [ _NSGetNextSearchPathEnumeration, _NSStartSearchPathEnumeration, - _NSStartSearchPathEnumerationPrivate, ___user_local_dirname, - ___user_relative_dirname, __append_relative_path_component, - __dirhelper, __dirhelper_relative, __get_user_dir_suffix, - __libcoreservices_fork_child, __set_user_dir_suffix, _sysdir_get_next_search_path_enumeration, - _sysdir_start_search_path_enumeration, _sysdir_start_search_path_enumeration_private ] - - targets: [ arm64e-macos, x86_64-macos, arm64-macos ] - symbols: [ __idle_exit ] ---- !tapi-tbd -tbd-version: 4 -targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] -uuids: - - target: x86_64-macos - value: A1C57F3C-0B85-367D-AFD8-CE4B01B638C6 - - target: x86_64-maccatalyst - value: A1C57F3C-0B85-367D-AFD8-CE4B01B638C6 - - target: arm64-macos - value: 00000000-0000-0000-0000-000000000000 - - target: arm64-maccatalyst - value: 00000000-0000-0000-0000-000000000000 - - target: arm64e-macos - value: D07777F4-2044-30E7-82FB-8F239F71A802 - - target: arm64e-maccatalyst - value: D07777F4-2044-30E7-82FB-8F239F71A802 -install-name: '/usr/lib/system/libsystem_darwin.dylib' -parent-umbrella: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] - umbrella: System -exports: - - targets: [ arm64e-macos, x86_64-macos, x86_64-maccatalyst, arm64e-maccatalyst, - arm64-macos, arm64-maccatalyst ] - symbols: [ ___libdarwin_init, ___os_temporary_resource_shortage, _claimfd_np, - _close_drop_np, _close_drop_optional_np, _crfprintf_np, _dirstat_np, - _dirstatat_np, _dup_np, _err_np, _errc_np, _fcheck_np, _memdup2_np, - _memdup_np, _os_assert_mach, _os_assert_mach_port_status, - _os_boot_arg_string_to_int, _os_boot_mode_query, _os_crash_get_reporter_port_array, - _os_crash_port_array_deallocate, _os_crash_set_reporter_port, - _os_crash_spawnattr_set_reporter_port, _os_enumerate_boot_args, - _os_enumerate_boot_args_b, _os_enumerate_boot_args_from_buffer, - _os_enumerate_boot_args_from_buffer_b, _os_flagset_copy_string, - _os_localtime_file, _os_mach_msg_copy_description, _os_mach_msg_get_audit_trailer, - _os_mach_msg_get_context_trailer, _os_mach_msg_get_trailer, - _os_mach_msg_trailer_copy_description, _os_mach_port_copy_description, - _os_parse_boot_arg_from_buffer_int, _os_parse_boot_arg_from_buffer_string, - _os_parse_boot_arg_int, _os_parse_boot_arg_string, _os_simple_hash, - _os_simple_hash_string, _os_simple_hash_string_with_seed, - _os_simple_hash_with_seed, _os_subcommand_fprintf, _os_subcommand_main, - _os_subcommand_vfprintf, _os_variant_allows_internal_security_policies, - _os_variant_allows_security_research, _os_variant_check, _os_variant_copy_description, - _os_variant_has_factory_content, _os_variant_has_internal_content, - _os_variant_has_internal_diagnostics, _os_variant_has_internal_ui, - _os_variant_init_4launchd, _os_variant_is_basesystem, _os_variant_is_darwinos, - _os_variant_is_recovery, _os_variant_uses_ephemeral_storage, - _realpath_np, _strerror_np, _strexit_np, _symerror_np, _symexit_np, - _sysctl_get_data_np, _sysctlbyname_get_data_np, _sysexit_np, - _vcrfprintf_np, _verr_np, _verrc_np, _vwarn_np, _vwfprintf_np, - _warn_np, _wfprintf_np, _xferfd_np, _zsnprintf_np ] ---- !tapi-tbd -tbd-version: 4 -targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] -uuids: - - target: x86_64-macos - value: 5E0FC1CB-9A90-3163-8BBF-19076AC6D14C - - target: x86_64-maccatalyst - value: 5E0FC1CB-9A90-3163-8BBF-19076AC6D14C - - target: arm64-macos - value: 00000000-0000-0000-0000-000000000000 - - target: arm64-maccatalyst - value: 00000000-0000-0000-0000-000000000000 - - target: arm64e-macos - value: BCF907AB-64F2-3E2C-A203-9FCA6584C584 - - target: arm64e-maccatalyst - value: BCF907AB-64F2-3E2C-A203-9FCA6584C584 -install-name: '/usr/lib/system/libsystem_dnssd.dylib' -current-version: 1557.101.2 -parent-umbrella: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] - umbrella: System -exports: - - targets: [ arm64e-macos, x86_64-macos, x86_64-maccatalyst, arm64e-maccatalyst, - arm64-macos, arm64-maccatalyst ] - symbols: [ _DNSServiceAddRecord, _DNSServiceBrowse, _DNSServiceConstructFullName, - _DNSServiceCreateConnection, _DNSServiceCreateDelegateConnection, - _DNSServiceEnumerateDomains, _DNSServiceErrorCodeToString, - _DNSServiceGetAddrInfo, _DNSServiceGetPID, _DNSServiceGetProperty, - _DNSServiceNATPortMappingCreate, _DNSServiceProcessResult, - _DNSServiceQueryAttrCreate, _DNSServiceQueryAttrFree, _DNSServiceQueryAttrSetAAAAPolicy, - _DNSServiceQueryAttrSetFailoverPolicy, _DNSServiceQueryRecord, - _DNSServiceQueryRecordEx, _DNSServiceReconfirmRecord, _DNSServiceRefDeallocate, - _DNSServiceRefSockFD, _DNSServiceRegister, _DNSServiceRegisterRecord, - _DNSServiceRemoveRecord, _DNSServiceResolve, _DNSServiceSetDefaultDomainForUser, - _DNSServiceSetDispatchQueue, _DNSServiceSetResolverDefaults, - _DNSServiceSleepKeepalive, _DNSServiceSleepKeepalive_sockaddr, - _DNSServiceUpdateRecord, _PeerConnectionRelease, _TXTRecordContainsKey, - _TXTRecordCreate, _TXTRecordDeallocate, _TXTRecordGetBytesPtr, - _TXTRecordGetCount, _TXTRecordGetItemAtIndex, _TXTRecordGetLength, - _TXTRecordGetValuePtr, _TXTRecordRemoveValue, _TXTRecordSetValue, - _kDNSServiceQueryAttrAAAAFallback, _kDNSServiceQueryAttrAllowFailover ] ---- !tapi-tbd -tbd-version: 4 -targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] -uuids: - - target: x86_64-macos - value: 1D848276-387D-39BE-BDCC-6491A766B421 - - target: x86_64-maccatalyst - value: 1D848276-387D-39BE-BDCC-6491A766B421 - - target: arm64-macos - value: 00000000-0000-0000-0000-000000000000 - - target: arm64-maccatalyst - value: 00000000-0000-0000-0000-000000000000 - - target: arm64e-macos - value: 8BCCBE77-3AEB-3BDA-A6B6-4D1D0B7FFBCF - - target: arm64e-maccatalyst - value: 8BCCBE77-3AEB-3BDA-A6B6-4D1D0B7FFBCF -install-name: '/usr/lib/system/libsystem_featureflags.dylib' -current-version: 56 -parent-umbrella: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] - umbrella: System -exports: - - targets: [ arm64e-macos, x86_64-macos, x86_64-maccatalyst, arm64e-maccatalyst, - arm64-macos, arm64-maccatalyst ] - symbols: [ __os_feature_enabled_impl, __os_feature_enabled_simple_impl ] ---- !tapi-tbd -tbd-version: 4 -targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] -uuids: - - target: x86_64-macos - value: 46CC22E7-C847-3A30-8B81-2E6CEF535451 - - target: x86_64-maccatalyst - value: 46CC22E7-C847-3A30-8B81-2E6CEF535451 - - target: arm64-macos - value: 00000000-0000-0000-0000-000000000000 - - target: arm64-maccatalyst - value: 00000000-0000-0000-0000-000000000000 - - target: arm64e-macos - value: 2CE857CF-271D-3196-9087-0875C4D153BD - - target: arm64e-maccatalyst - value: 2CE857CF-271D-3196-9087-0875C4D153BD -install-name: '/usr/lib/system/libsystem_info.dylib' -parent-umbrella: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] - umbrella: System -exports: - - targets: [ arm64e-macos, x86_64-macos, x86_64-maccatalyst, arm64e-maccatalyst, - arm64-macos, arm64-maccatalyst ] - symbols: [ _LI_get_thread_item, _LI_get_thread_list, _LI_ils_create, - _LI_set_thread_item, _LI_set_thread_list, ___dn_skipname, - __authenticate, __ds_running, __gai_nat64_can_v4_address_be_synthesized, - __gai_serv_to_port, __gai_simple, __getaddrinfo_interface_async_call, - __getlong, __getnameinfo_interface_async_call, __getshort, - __null_auth, __res, __seterr_reply, __si_disable_opendirectory, - __yp_dobind, _alias_endent, _alias_getbyname, _alias_getent, - _alias_setent, _authnone_create, _authunix_create, _authunix_create_default, - _bindresvport, _bindresvport_sa, _bootparams_endent, _bootparams_getbyname, - _bootparams_getent, _bootparams_setent, _clnt_broadcast, _clnt_create, - _clnt_pcreateerror, _clnt_perrno, _clnt_perror, _clnt_spcreateerror, - _clnt_sperrno, _clnt_sperror, _clntraw_create, _clnttcp_create, - _clntudp_bufcreate, _clntudp_create, _configuration_profile_copy_property_list, - _configuration_profile_create_notification_key, _dn_expand, - _endfsent, _endgrent, _endhostent, _endnetent, _endnetgrent, - _endprotoent, _endpwent, _endrpcent, _endservent, _ether_aton, - _ether_hostton, _ether_line, _ether_ntoa, _ether_ntohost, - _freeaddrinfo, _freehostent, _freeifaddrs, _freeifmaddrs, - _gL1CacheEnabled, _gai_strerror, _getaddrinfo, _getaddrinfo_async_cancel, - _getaddrinfo_async_handle_reply, _getaddrinfo_async_receive, - _getaddrinfo_async_send, _getaddrinfo_async_start, _getdomainname, - _getfsent, _getfsfile, _getfsspec, _getgrent, _getgrgid, _getgrgid_r, - _getgrnam, _getgrnam_r, _getgroupcount, _getgrouplist, _getgrouplist_2, - _getgruuid, _getgruuid_r, _gethostbyaddr, _gethostbyaddr_async_cancel, - _gethostbyaddr_async_handleReply, _gethostbyaddr_async_start, - _gethostbyname, _gethostbyname2, _gethostbyname_async_cancel, - _gethostbyname_async_handleReply, _gethostbyname_async_start, - _gethostent, _getifaddrs, _getifmaddrs, _getipnodebyaddr, - _getipnodebyname, _getnameinfo, _getnameinfo_async_cancel, - _getnameinfo_async_handle_reply, _getnameinfo_async_send, - _getnameinfo_async_start, _getnetbyaddr, _getnetbyname, _getnetent, - _getnetgrent, _getprotobyname, _getprotobynumber, _getprotoent, - _getpwent, _getpwnam, _getpwnam_r, _getpwuid, _getpwuid_r, - _getpwuuid, _getpwuuid_r, _getrpcbyname, _getrpcbynumber, - _getrpcent, _getrpcport, _getservbyname, _getservbyport, _getservent, - _group_from_gid, _h_errno, _herror, _hstrerror, _htonl, _htons, - _if_freenameindex, _if_indextoname, _if_nameindex, _if_nametoindex, - _in6addr_any, _in6addr_linklocal_allnodes, _in6addr_linklocal_allrouters, - _in6addr_linklocal_allv2routers, _in6addr_loopback, _in6addr_nodelocal_allnodes, - _inet6_opt_append, _inet6_opt_find, _inet6_opt_finish, _inet6_opt_get_val, - _inet6_opt_init, _inet6_opt_next, _inet6_opt_set_val, _inet6_option_alloc, - _inet6_option_append, _inet6_option_find, _inet6_option_init, - _inet6_option_next, _inet6_option_space, _inet6_rth_add, _inet6_rth_getaddr, - _inet6_rth_init, _inet6_rth_reverse, _inet6_rth_segments, - _inet6_rth_space, _inet6_rthdr_add, _inet6_rthdr_getaddr, - _inet6_rthdr_getflags, _inet6_rthdr_init, _inet6_rthdr_lasthop, - _inet6_rthdr_segments, _inet6_rthdr_space, _initgroups, _innetgr, - _iruserok, _iruserok_sa, _kvarray_free, _kvbuf_add_dict, _kvbuf_add_key, - _kvbuf_add_val, _kvbuf_add_val_len, _kvbuf_append_kvbuf, _kvbuf_decode, - _kvbuf_free, _kvbuf_get_len, _kvbuf_init, _kvbuf_init_zone, - _kvbuf_make_nonpurgeable, _kvbuf_make_purgeable, _kvbuf_new, - _kvbuf_new_zone, _kvbuf_next_dict, _kvbuf_next_key, _kvbuf_next_val, - _kvbuf_next_val_len, _kvbuf_query, _kvbuf_query_key_int, _kvbuf_query_key_uint, - _kvbuf_query_key_val, _kvbuf_reset, _lookup_close_connections, - _mbr_check_membership, _mbr_check_membership_by_id, _mbr_check_membership_ext, - _mbr_check_membership_refresh, _mbr_check_service_membership, - _mbr_close_connections, _mbr_gid_to_uuid, _mbr_group_name_to_uuid, - _mbr_identifier_to_uuid, _mbr_identifier_translate, _mbr_reset_cache, - _mbr_set_identifier_ttl, _mbr_sid_to_string, _mbr_sid_to_uuid, - _mbr_string_to_sid, _mbr_string_to_uuid, _mbr_uid_to_uuid, - _mbr_user_name_to_uuid, _mbr_uuid_to_id, _mbr_uuid_to_sid, - _mbr_uuid_to_sid_type, _mbr_uuid_to_string, _ntohl, _ntohs, - _pmap_getmaps, _pmap_getport, _pmap_rmtcall, _pmap_set, _pmap_unset, - _prdb_end, _prdb_get, _prdb_getbyname, _prdb_set, _rcmd, _rcmd_af, - _res_init, _res_query, _res_search, _rpc_createerr, _rresvport, - _rresvport_af, _ruserok, _setdomainname, _setfsent, _setgrent, - _setgroupent, _sethostent, _setnetent, _setnetgrent, _setpassent, - _setprotoent, _setpwent, _setrpcent, _setservent, _si_addrinfo, - _si_addrinfo_list, _si_addrinfo_list_from_hostent, _si_addrinfo_v4, - _si_addrinfo_v4_mapped, _si_addrinfo_v6, _si_alias_all, _si_alias_byname, - _si_async_call, _si_async_cancel, _si_async_handle_reply, - _si_destination_compare, _si_destination_compare_no_dependencies, - _si_fs_all, _si_fs_byfile, _si_fs_byspec, _si_group_all, _si_group_bygid, - _si_group_byname, _si_group_byuuid, _si_grouplist, _si_host_all, - _si_host_byaddr, _si_host_byname, _si_in_netgroup, _si_ipnode_byname, - _si_item_call, _si_item_is_valid, _si_item_match, _si_item_release, - _si_item_retain, _si_list_add, _si_list_call, _si_list_concat, - _si_list_next, _si_list_release, _si_list_reset, _si_list_retain, - _si_mac_all, _si_mac_bymac, _si_mac_byname, _si_module_name, - _si_module_release, _si_module_retain, _si_module_vers, _si_module_with_name, - _si_nameinfo, _si_netgroup_byname, _si_network_all, _si_network_byaddr, - _si_network_byname, _si_protocol_all, _si_protocol_byname, - _si_protocol_bynumber, _si_rpc_all, _si_rpc_byname, _si_rpc_bynumber, - _si_search, _si_search_module_set_flags, _si_service_all, - _si_service_byname, _si_service_byport, _si_set_nat64_v4_requires_synthesis, - _si_set_nat64_v4_synthesize, _si_srv_byname, _si_standardize_mac_address, - _si_user_all, _si_user_byname, _si_user_byuid, _si_user_byuuid, - _si_wants_addrinfo, _svc_fdset, _svc_getreq, _svc_getreqset, - _svc_register, _svc_run, _svc_sendreply, _svc_unregister, - _svcerr_auth, _svcerr_decode, _svcerr_noproc, _svcerr_noprog, - _svcerr_progvers, _svcerr_systemerr, _svcerr_weakauth, _svcfd_create, - _svcraw_create, _svctcp_create, _svcudp_bufcreate, _svcudp_create, - _user_from_uid, _xdr_array, _xdr_authunix_parms, _xdr_bool, - _xdr_bytes, _xdr_callhdr, _xdr_callmsg, _xdr_char, _xdr_des_block, - _xdr_domainname, _xdr_double, _xdr_enum, _xdr_float, _xdr_free, - _xdr_hyper, _xdr_int, _xdr_int16_t, _xdr_int32_t, _xdr_int64_t, - _xdr_keydat, _xdr_long, _xdr_longlong_t, _xdr_mapname, _xdr_netobj, - _xdr_opaque, _xdr_peername, _xdr_pmap, _xdr_pmaplist, _xdr_pointer, - _xdr_reference, _xdr_replymsg, _xdr_rmtcall_args, _xdr_rmtcallres, - _xdr_short, _xdr_string, _xdr_u_char, _xdr_u_hyper, _xdr_u_int, - _xdr_u_int16_t, _xdr_u_int32_t, _xdr_u_int64_t, _xdr_u_long, - _xdr_u_longlong_t, _xdr_u_short, _xdr_union, _xdr_valdat, - _xdr_vector, _xdr_void, _xdr_wrapstring, _xdr_x_passwd, _xdr_ypbind_binding, - _xdr_ypbind_resp, _xdr_ypbind_resptype, _xdr_ypbind_setdom, - _xdr_ypmaplist, _xdr_yppasswd, _xdr_ypreq_key, _xdr_ypreq_nokey, - _xdr_ypresp_all, _xdr_ypresp_all_seq, _xdr_ypresp_key_val, - _xdr_ypresp_maplist, _xdr_ypresp_master, _xdr_ypresp_order, - _xdr_ypresp_val, _xdr_ypstat, _xdrmem_create, _xdrrec_create, - _xdrrec_endofrecord, _xdrrec_eof, _xdrrec_skiprecord, _xdrstdio_create, - _xprt_register, _xprt_unregister, _yp_all, _yp_bind, _yp_first, - _yp_get_default_domain, _yp_maplist, _yp_master, _yp_match, - _yp_next, _yp_order, _yp_unbind, _yperr_string, _ypprot_err ] ---- !tapi-tbd -tbd-version: 4 -targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] -uuids: - - target: x86_64-macos - value: 26A59789-B846-3ED4-96DC-8DBEF3C0C8E7 - - target: x86_64-maccatalyst - value: 26A59789-B846-3ED4-96DC-8DBEF3C0C8E7 - - target: arm64-macos - value: 8678B4ED-EC14-3851-8DA2-AE9902BBD5FC - - target: arm64-maccatalyst - value: 8678B4ED-EC14-3851-8DA2-AE9902BBD5FC - - target: arm64e-macos - value: 1D7B3B8E-75A1-34EA-AA52-9F7C23155C55 - - target: arm64e-maccatalyst - value: 1D7B3B8E-75A1-34EA-AA52-9F7C23155C55 -install-name: '/usr/lib/system/libsystem_kernel.dylib' -current-version: 8020.101.4 -parent-umbrella: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] - umbrella: System -exports: - - targets: [ x86_64-maccatalyst, x86_64-macos ] - symbols: [ '_fstat$INODE64', '_fstatat$INODE64', '_fstatfs$INODE64', - '_getfsstat$INODE64', _i386_get_ldt, _i386_set_ldt, '_lstat$INODE64', - '_pselect$1050', '_select$1050', '_stat$INODE64', '_statfs$INODE64' ] - - targets: [ x86_64-maccatalyst, x86_64-macos, arm64-maccatalyst, arm64-macos, - arm64e-maccatalyst, arm64e-macos ] - symbols: [ _NDR_record, _____old_semwait_signal_nocancel, _____sigwait_nocancel, - ____kernelVersionNumber, ____kernelVersionString, ___abort_with_payload, - ___accept, ___accept_nocancel, ___access_extended, ___aio_suspend_nocancel, - ___bind, ___bsdthread_create, ___bsdthread_ctl, ___bsdthread_register, - ___bsdthread_terminate, ___carbon_delete, ___channel_get_info, - ___channel_get_opt, ___channel_open, ___channel_set_opt, ___channel_sync, - ___chmod, ___chmod_extended, ___close_nocancel, ___coalition, - ___coalition_info, ___coalition_ledger, ___commpage_gettimeofday, - ___connect, ___connect_nocancel, ___copyfile, ___csrctl, ___darwin_check_fd_set_overflow, - ___debug_syscall_reject, ___delete, ___disable_threadsignal, - ___error, ___execve, ___exit, ___fchmod, ___fchmod_extended, - ___fcntl, ___fcntl_nocancel, ___fork, ___fs_snapshot, ___fstat64_extended, - ___fstat_extended, ___fsync_nocancel, ___get_remove_counter, - ___getattrlist, ___getdirentries64, ___gethostuuid, ___getlogin, - ___getpeername, ___getpid, ___getrlimit, ___getsgroups, ___getsockname, - ___gettid, ___gettimeofday, ___getwgroups, ___guarded_open_dprotected_np, - ___guarded_open_np, ___identitysvc, ___inc_remove_counter, - ___initgroups, ___ioctl, ___iopolicysys, ___kdebug_trace, - ___kdebug_trace64, ___kdebug_trace_string, ___kdebug_typefilter, - ___kill, ___kqueue_workloop_ctl, ___lchown, ___libkernel_init, - ___libkernel_init_after_boot_tasks, ___libkernel_init_late, - ___libkernel_platform_init, ___libkernel_voucher_init, ___listen, - ___log_data, ___lseek, ___lstat64_extended, ___lstat_extended, - ___mac_execve, ___mac_get_fd, ___mac_get_file, ___mac_get_link, - ___mac_get_mount, ___mac_get_pid, ___mac_get_proc, ___mac_getfsstat, - ___mac_mount, ___mac_set_fd, ___mac_set_file, ___mac_set_link, - ___mac_set_proc, ___mac_syscall, ___mach_bridge_remote_time, - ___mach_eventlink_signal, ___mach_eventlink_signal_wait_until, - ___mach_eventlink_wait_until, ___memorystatus_available_memory, - ___microstackshot, ___mkdir_extended, ___mkfifo_extended, - ___mmap, ___mprotect, ___msgctl, ___msgrcv_nocancel, ___msgsnd_nocancel, - ___msgsys, ___msync, ___msync_nocancel, ___munmap, ___nexus_create, - ___nexus_deregister, ___nexus_destroy, ___nexus_get_opt, ___nexus_open, - ___nexus_register, ___nexus_set_opt, ___old_semwait_signal, - ___open, ___open_dprotected_np, ___open_extended, ___open_nocancel, - ___openat, ___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, ___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, - ___setpriority, ___setregid, ___setreuid, ___setrlimit, ___setsgroups, - ___settid, ___settid_with_pid, ___settimeofday, ___setwgroups, - ___sfi_ctl, ___sfi_pidctl, ___shared_region_check_np, ___shared_region_map_and_slide_2_np, - ___shared_region_map_and_slide_np, ___shm_open, ___shmctl, - ___shmsys, ___sigaction, ___sigaltstack, ___sigreturn, ___sigsuspend, - ___sigsuspend_nocancel, ___sigwait, ___socketpair, ___stack_snapshot_with_config, - ___stat64_extended, ___stat_extended, ___syscall, ___syscall_logger, - ___sysctl, ___sysctlbyname, ___telemetry, ___terminate_with_payload, - ___thread_selfid, ___thread_selfusage, ___ulock_wait, ___ulock_wait2, - ___ulock_wake, ___umask_extended, ___unlink, ___unlinkat, - ___vfork, ___wait4, ___wait4_nocancel, ___waitid_nocancel, - ___work_interval_ctl, ___workq_kernreturn, ___workq_open, - ___write_nocancel, ___writev_nocancel, __cpu_capabilities, - __cpu_has_altivec, __exit, __get_cpu_capabilities, __getprivatesystemidentifier, - __host_page_size, __init_cpu_capabilities, __kernelrpc_host_create_mach_voucher, - __kernelrpc_mach_port_allocate, __kernelrpc_mach_port_allocate_full, - __kernelrpc_mach_port_allocate_name, __kernelrpc_mach_port_allocate_qos, - __kernelrpc_mach_port_allocate_trap, __kernelrpc_mach_port_assert_attributes, - __kernelrpc_mach_port_construct, __kernelrpc_mach_port_construct_trap, - __kernelrpc_mach_port_deallocate, __kernelrpc_mach_port_deallocate_trap, - __kernelrpc_mach_port_destroy, __kernelrpc_mach_port_destruct, - __kernelrpc_mach_port_destruct_trap, __kernelrpc_mach_port_dnrequest_info, - __kernelrpc_mach_port_extract_member, __kernelrpc_mach_port_extract_member_trap, - __kernelrpc_mach_port_extract_right, __kernelrpc_mach_port_get_attributes, - __kernelrpc_mach_port_get_attributes_trap, __kernelrpc_mach_port_get_context, - __kernelrpc_mach_port_get_refs, __kernelrpc_mach_port_get_service_port_info, - __kernelrpc_mach_port_get_set_status, __kernelrpc_mach_port_get_srights, - __kernelrpc_mach_port_guard, __kernelrpc_mach_port_guard_trap, - __kernelrpc_mach_port_guard_with_flags, __kernelrpc_mach_port_insert_member, - __kernelrpc_mach_port_insert_member_trap, __kernelrpc_mach_port_insert_right, - __kernelrpc_mach_port_insert_right_trap, __kernelrpc_mach_port_is_connection_for_service, - __kernelrpc_mach_port_kernel_object, __kernelrpc_mach_port_kobject, - __kernelrpc_mach_port_kobject_description, __kernelrpc_mach_port_mod_refs, - __kernelrpc_mach_port_mod_refs_trap, __kernelrpc_mach_port_move_member, - __kernelrpc_mach_port_move_member_trap, __kernelrpc_mach_port_names, - __kernelrpc_mach_port_peek, __kernelrpc_mach_port_rename, - __kernelrpc_mach_port_request_notification, __kernelrpc_mach_port_request_notification_trap, - __kernelrpc_mach_port_set_attributes, __kernelrpc_mach_port_set_context, - __kernelrpc_mach_port_set_mscount, __kernelrpc_mach_port_set_seqno, - __kernelrpc_mach_port_space_basic_info, __kernelrpc_mach_port_space_info, - __kernelrpc_mach_port_special_reply_port_reset_link, __kernelrpc_mach_port_swap_guard, - __kernelrpc_mach_port_type, __kernelrpc_mach_port_type_trap, - __kernelrpc_mach_port_unguard, __kernelrpc_mach_port_unguard_trap, - __kernelrpc_mach_task_is_self, __kernelrpc_mach_vm_allocate, - __kernelrpc_mach_vm_allocate_trap, __kernelrpc_mach_vm_deallocate, - __kernelrpc_mach_vm_deallocate_trap, __kernelrpc_mach_vm_map, - __kernelrpc_mach_vm_map_trap, __kernelrpc_mach_vm_protect, - __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, - _coalition_info_resource_usage, _coalition_info_set_efficiency, - _coalition_info_set_name, _coalition_ledger_set_logical_writes_limit, - _coalition_reap, _coalition_terminate, _connect, '_connect$NOCANCEL', - _connectx, _csops, _csops_audittoken, _csr_check, _csr_get_active_config, - _debug_control_port_for_pid, _debug_syscall_reject, _denap_boost_assertion_token, - _disconnectx, _dup, _dup2, _errno, _etap_trace_thread, _exc_server, - _exc_server_routine, _exception_raise, _exception_raise_state, - _exception_raise_state_identity, _exchangedata, _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, _fsync, '_fsync$NOCANCEL', _ftruncate, _futimens, - _futimes, _getattrlist, _getattrlistat, _getattrlistbulk, - _getaudit, _getaudit_addr, _getauid, _getdirentries, _getdirentriesattr, - _getdtablesize, _getegid, _getentropy, _geteuid, _getfh, _getfsstat, - _getfsstat64, _getgid, _getgroups, _gethostuuid, _getiopolicy_np, - _getitimer, _getpeername, _getpgid, _getpgrp, _getpid, _getppid, - _getpriority, _getrlimit, _getrusage, _getsgroups_np, _getsid, - _getsockname, _getsockopt, _getuid, _getwgroups_np, _getxattr, - _grab_pgo_data, _guarded_close_np, _guarded_kqueue_np, _guarded_open_dprotected_np, - _guarded_open_np, _guarded_pwrite_np, _guarded_write_np, _guarded_writev_np, - _host_check_multiuser_mode, _host_create_mach_voucher, _host_create_mach_voucher_trap, - _host_default_memory_manager, _host_get_UNDServer, _host_get_atm_diagnostic_flag, - _host_get_boot_info, _host_get_clock_control, _host_get_clock_service, - _host_get_exception_ports, _host_get_io_master, _host_get_multiuser_config_flags, - _host_get_special_port, _host_info, _host_kernel_version, - _host_lockgroup_info, _host_page_size, _host_priv_statistics, - _host_processor_info, _host_processor_set_priv, _host_processor_sets, - _host_processors, _host_reboot, _host_register_mach_voucher_attr_manager, - _host_register_well_known_mach_voucher_attr_manager, _host_request_notification, - _host_security_create_task_token, _host_security_set_task_token, - _host_self, _host_self_trap, _host_set_UNDServer, _host_set_atm_diagnostic_flag, - _host_set_exception_ports, _host_set_multiuser_config_flags, - _host_set_special_port, _host_statistics, _host_statistics64, - _host_swap_exception_ports, _host_virtual_physical_table_info, - _important_boost_assertion_token, _internal_catch_exc_subsystem, - _ioctl, _issetugid, _kas_info, _kdebug_is_enabled, _kdebug_signpost, - _kdebug_signpost_end, _kdebug_signpost_start, _kdebug_timestamp, - _kdebug_timestamp_from_absolute, _kdebug_timestamp_from_continuous, - _kdebug_trace, _kdebug_trace_string, _kdebug_typefilter, _kdebug_using_continuous_time, - _kevent, _kevent64, _kevent_id, _kevent_qos, _kext_request, - _kill, _kmod_control, _kmod_create, _kmod_destroy, _kmod_get_info, - _kpersona_alloc, _kpersona_dealloc, _kpersona_find, _kpersona_find_by_type, - _kpersona_get, _kpersona_getpath, _kpersona_info, _kpersona_palloc, - _kpersona_pidinfo, _kqueue, _lchown, _ledger, _link, _linkat, - _lio_listio, _listen, _listxattr, _lock_acquire, _lock_handoff, - _lock_handoff_accept, _lock_make_stable, _lock_release, _lock_set_create, - _lock_set_destroy, _lock_try, _log_data_as_kernel, _lseek, - _lstat, _lstat64, _mach_absolute_time, _mach_approximate_time, - _mach_boottime_usec, _mach_continuous_approximate_time, _mach_continuous_time, - _mach_error, _mach_error_full_diag, _mach_error_string, _mach_error_type, - _mach_eventlink_associate, _mach_eventlink_create, _mach_eventlink_destroy, - _mach_eventlink_disassociate, _mach_eventlink_signal, _mach_eventlink_signal_wait_until, - _mach_eventlink_wait_until, _mach_generate_activity_id, _mach_get_times, - _mach_host_self, _mach_host_special_port_description, _mach_host_special_port_for_id, - _mach_init, _mach_make_memory_entry, _mach_make_memory_entry_64, - _mach_memory_entry_access_tracking, _mach_memory_entry_ownership, - _mach_memory_entry_purgable_control, _mach_memory_info, _mach_memory_object_memory_entry, - _mach_memory_object_memory_entry_64, _mach_msg, _mach_msg_destroy, - _mach_msg_overwrite, _mach_msg_overwrite_trap, _mach_msg_priority_encode, - _mach_msg_priority_is_pthread_priority, _mach_msg_priority_overide_qos, - _mach_msg_priority_qos, _mach_msg_priority_relpri, _mach_msg_receive, - _mach_msg_send, _mach_msg_server, _mach_msg_server_importance, - _mach_msg_server_once, _mach_msg_trap, _mach_notify_dead_name, - _mach_notify_no_senders, _mach_notify_port_deleted, _mach_notify_port_destroyed, - _mach_notify_send_once, _mach_port_allocate, _mach_port_allocate_full, - _mach_port_allocate_name, _mach_port_allocate_qos, _mach_port_assert_attributes, - _mach_port_construct, _mach_port_deallocate, _mach_port_destroy, - _mach_port_destruct, _mach_port_dnrequest_info, _mach_port_extract_member, - _mach_port_extract_right, _mach_port_get_attributes, _mach_port_get_context, - _mach_port_get_refs, _mach_port_get_service_port_info, _mach_port_get_set_status, - _mach_port_get_srights, _mach_port_guard, _mach_port_guard_with_flags, - _mach_port_insert_member, _mach_port_insert_right, _mach_port_is_connection_for_service, - _mach_port_kernel_object, _mach_port_kobject, _mach_port_kobject_description, - _mach_port_mod_refs, _mach_port_move_member, _mach_port_names, - _mach_port_peek, _mach_port_rename, _mach_port_request_notification, - _mach_port_set_attributes, _mach_port_set_context, _mach_port_set_mscount, - _mach_port_set_seqno, _mach_port_space_basic_info, _mach_port_space_info, - _mach_port_swap_guard, _mach_port_type, _mach_port_unguard, - _mach_ports_lookup, _mach_ports_register, _mach_reply_port, - _mach_right_recv_construct, _mach_right_recv_destruct, _mach_right_send_create, - _mach_right_send_once_consume, _mach_right_send_once_create, - _mach_right_send_release, _mach_right_send_retain, _mach_sync_ipc_link_monitoring_start, - _mach_sync_ipc_link_monitoring_stop, _mach_task_is_self, _mach_task_self, - _mach_task_self_, _mach_task_special_port_description, _mach_task_special_port_for_id, - _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_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_read, - _mach_vm_read_list, _mach_vm_read_overwrite, _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_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, - _mach_zone_force_gc, _mach_zone_get_btlog_records, _mach_zone_get_zlog_zones, - _mach_zone_info, _mach_zone_info_for_largest_zone, _mach_zone_info_for_zone, - _macx_backing_store_recovery, _macx_backing_store_suspend, - _macx_swapoff, _macx_swapon, _macx_triggers, _madvise, _memorystatus_control, - _memorystatus_get_level, _mig_allocate, _mig_dealloc_reply_port, - _mig_dealloc_special_reply_port, _mig_deallocate, _mig_get_reply_port, - _mig_get_special_reply_port, _mig_put_reply_port, _mig_reply_setup, - _mig_strncpy, _mig_strncpy_zerofill, _mincore, _minherit, - _mk_timer_arm, _mk_timer_arm_leeway, _mk_timer_cancel, _mk_timer_create, - _mk_timer_destroy, _mkdir, _mkdirat, _mkfifo, _mknod, _mlock, - _mlockall, _mmap, _mount, _mprotect, _mremap_encrypted, _msg_receive, - _msg_rpc, _msg_send, _msgctl, _msgget, _msgrcv, '_msgrcv$NOCANCEL', - _msgsnd, '_msgsnd$NOCANCEL', _msgsys, _msync, '_msync$NOCANCEL', - _munlock, _munlockall, _munmap, _necp_client_action, _necp_match_policy, - _necp_open, _necp_session_action, _necp_session_open, _net_qos_guideline, - _netagent_trigger, _netname_check_in, _netname_check_out, - _netname_look_up, _netname_version, _nfsclnt, _nfssvc, _non_boost_assertion_token, - _normal_boost_assertion_token, _ntp_adjtime, _ntp_gettime, - _objc_bp_assist_cfg_np, _open, '_open$NOCANCEL', _open_dprotected_np, - _openat, '_openat$NOCANCEL', _openbyid_np, _os_buflet_get_data_address, - _os_buflet_get_data_length, _os_buflet_get_data_limit, _os_buflet_get_data_offset, - _os_buflet_get_object_address, _os_buflet_get_object_limit, - _os_buflet_set_data_length, _os_buflet_set_data_offset, _os_channel_advance_slot, - _os_channel_attr_clone, _os_channel_attr_create, _os_channel_attr_destroy, - _os_channel_attr_get, _os_channel_attr_get_key, _os_channel_attr_set, - _os_channel_attr_set_key, _os_channel_available_slot_count, - _os_channel_buflet_alloc, _os_channel_buflet_free, _os_channel_configure_interface_advisory, - _os_channel_create, _os_channel_create_extended, _os_channel_destroy, - _os_channel_event_free, _os_channel_event_get_event_data, - _os_channel_event_get_next_event, _os_channel_flow_admissible, - _os_channel_get_advisory_region, _os_channel_get_fd, _os_channel_get_interface_advisory, - _os_channel_get_next_event_handle, _os_channel_get_next_slot, - _os_channel_get_stats_region, _os_channel_is_defunct, _os_channel_packet_alloc, - _os_channel_packet_free, _os_channel_packet_pool_purge, _os_channel_pending, - _os_channel_read_attr, _os_channel_read_nexus_extension_info, - _os_channel_ring_id, _os_channel_ring_notify_time, _os_channel_ring_sync_time, - _os_channel_rx_ring, _os_channel_set_slot_properties, _os_channel_slot_attach_packet, - _os_channel_slot_detach_packet, _os_channel_slot_get_packet, - _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_nexus_attr_clone, _os_nexus_attr_create, _os_nexus_attr_destroy, - _os_nexus_attr_get, _os_nexus_attr_set, _os_nexus_controller_alloc_provider_instance, - _os_nexus_controller_bind_provider_instance, _os_nexus_controller_create, - _os_nexus_controller_deregister_provider, _os_nexus_controller_destroy, - _os_nexus_controller_free_provider_instance, _os_nexus_controller_get_fd, - _os_nexus_controller_read_provider_attr, _os_nexus_controller_register_provider, - _os_nexus_controller_unbind_provider_instance, _os_packet_add_buflet, - _os_packet_clear_flow_uuid, _os_packet_decrement_use_count, - _os_packet_finalize, _os_packet_get_aggregation_type, _os_packet_get_buflet_count, - _os_packet_get_compression_generation_count, _os_packet_get_data_length, - _os_packet_get_expire_time, _os_packet_get_flow_uuid, _os_packet_get_group_end, - _os_packet_get_group_start, _os_packet_get_headroom, _os_packet_get_inet_checksum, - _os_packet_get_keep_alive, _os_packet_get_link_broadcast, - _os_packet_get_link_ethfcs, _os_packet_get_link_header_length, - _os_packet_get_link_multicast, _os_packet_get_next_buflet, - _os_packet_get_packetid, _os_packet_get_segment_count, _os_packet_get_service_class, - _os_packet_get_token, _os_packet_get_trace_id, _os_packet_get_traffic_class, - _os_packet_get_transport_retransmit, _os_packet_get_transport_traffic_background, - _os_packet_get_transport_traffic_realtime, _os_packet_get_truncated, - _os_packet_get_vlan_id, _os_packet_get_vlan_priority, _os_packet_get_vlan_tag, - _os_packet_get_wake_flag, _os_packet_increment_use_count, - _os_packet_set_compression_generation_count, _os_packet_set_expire_time, - _os_packet_set_flow_uuid, _os_packet_set_group_end, _os_packet_set_group_start, - _os_packet_set_headroom, _os_packet_set_inet_checksum, _os_packet_set_keep_alive, - _os_packet_set_link_broadcast, _os_packet_set_link_ethfcs, - _os_packet_set_link_header_length, _os_packet_set_link_multicast, - _os_packet_set_packetid, _os_packet_set_service_class, _os_packet_set_token, - _os_packet_set_trace_id, _os_packet_set_traffic_class, _os_packet_set_transport_last_packet, - _os_packet_set_transport_retransmit, _os_packet_set_transport_traffic_background, - _os_packet_set_transport_traffic_realtime, _os_packet_set_vlan_tag, - _os_packet_trace_event, _os_proc_available_memory, _panic, - _panic_init, _pathconf, _peeloff, _pid_for_task, _pid_hibernate, - _pid_resume, _pid_shutdown_networking, _pid_shutdown_sockets, - _pid_suspend, _pipe, _pivot_root, _pkt_subtype_assert_fail, - _pkt_type_assert_fail, _poll, '_poll$NOCANCEL', _port_obj_init, - _port_obj_table, _port_obj_table_size, _posix_madvise, _posix_spawn, - _posix_spawn_file_actions_add_fileportdup2_np, _posix_spawn_file_actions_addchdir_np, - _posix_spawn_file_actions_addclose, _posix_spawn_file_actions_adddup2, - _posix_spawn_file_actions_addfchdir_np, _posix_spawn_file_actions_addinherit_np, - _posix_spawn_file_actions_addopen, _posix_spawn_file_actions_destroy, - _posix_spawn_file_actions_init, _posix_spawnattr_destroy, - _posix_spawnattr_disable_ptr_auth_a_keys_np, _posix_spawnattr_get_darwin_role_np, - _posix_spawnattr_get_qos_clamp_np, _posix_spawnattr_getarchpref_np, - _posix_spawnattr_getbinpref_np, _posix_spawnattr_getcpumonitor, - _posix_spawnattr_getflags, _posix_spawnattr_getmacpolicyinfo_np, - _posix_spawnattr_getpcontrol_np, _posix_spawnattr_getpgroup, - _posix_spawnattr_getprocesstype_np, _posix_spawnattr_getsigdefault, - _posix_spawnattr_getsigmask, _posix_spawnattr_init, _posix_spawnattr_set_alt_rosetta_np, - _posix_spawnattr_set_csm_np, _posix_spawnattr_set_darwin_role_np, - _posix_spawnattr_set_filedesclimit_ext, _posix_spawnattr_set_gid_np, - _posix_spawnattr_set_groups_np, _posix_spawnattr_set_importancewatch_port_np, - _posix_spawnattr_set_jetsam_ttr_np, _posix_spawnattr_set_login_np, - _posix_spawnattr_set_max_addr_np, _posix_spawnattr_set_persona_gid_np, - _posix_spawnattr_set_persona_groups_np, _posix_spawnattr_set_persona_np, - _posix_spawnattr_set_persona_uid_np, _posix_spawnattr_set_platform_np, - _posix_spawnattr_set_portlimits_ext, _posix_spawnattr_set_ptrauth_task_port_np, - _posix_spawnattr_set_qos_clamp_np, _posix_spawnattr_set_registered_ports_np, - _posix_spawnattr_set_subsystem_root_path_np, _posix_spawnattr_set_threadlimit_ext, - _posix_spawnattr_set_uid_np, _posix_spawnattr_setarchpref_np, - _posix_spawnattr_setauditsessionport_np, _posix_spawnattr_setbinpref_np, - _posix_spawnattr_setcoalition_np, _posix_spawnattr_setcpumonitor, - _posix_spawnattr_setcpumonitor_default, _posix_spawnattr_setexceptionports_np, - _posix_spawnattr_setflags, _posix_spawnattr_setjetsam_ext, - _posix_spawnattr_setmacpolicyinfo_np, _posix_spawnattr_setnosmt_np, - _posix_spawnattr_setpcontrol_np, _posix_spawnattr_setpgroup, - _posix_spawnattr_setprocesstype_np, _posix_spawnattr_setsigdefault, - _posix_spawnattr_setsigmask, _posix_spawnattr_setspecialport_np, - _pread, '_pread$NOCANCEL', _preadv, '_preadv$NOCANCEL', _proc_clear_cpulimits, - _proc_clear_delayidlesleep, _proc_clear_dirty, _proc_clear_vmpressure, - _proc_current_thread_schedinfo, _proc_denap_assertion_begin_with_msg, - _proc_denap_assertion_complete, _proc_disable_apptype, _proc_disable_cpumon, - _proc_disable_wakemon, _proc_donate_importance_boost, _proc_enable_apptype, - _proc_get_cpumon_params, _proc_get_dirty, _proc_get_wakemon_params, - _proc_importance_assertion_begin_with_msg, _proc_importance_assertion_complete, - _proc_kmsgbuf, _proc_libversion, _proc_list_dynkqueueids, - _proc_list_uptrs, _proc_listallpids, _proc_listchildpids, - _proc_listcoalitions, _proc_listpgrppids, _proc_listpids, - _proc_listpidspath, _proc_name, _proc_pid_rusage, _proc_piddynkqueueinfo, - _proc_pidfdinfo, _proc_pidfileportinfo, _proc_pidinfo, _proc_pidoriginatorinfo, - _proc_pidpath, _proc_pidpath_audittoken, _proc_regionfilename, - _proc_reset_footprint_interval, _proc_resume_cpumon, _proc_rlimit_control, - _proc_set_cpumon_defaults, _proc_set_cpumon_params, _proc_set_cpumon_params_fatal, - _proc_set_csm, _proc_set_delayidlesleep, _proc_set_dirty, - _proc_set_no_smt, _proc_set_owner_vmpressure, _proc_set_wakemon_defaults, - _proc_set_wakemon_params, _proc_setcpu_percentage, _proc_setpcontrol, - _proc_setthread_cpupercent, _proc_setthread_csm, _proc_setthread_no_smt, - _proc_suppress, _proc_terminate, _proc_trace_log, _proc_track_dirty, - _proc_udata_info, _proc_uuid_policy, _processor_assign, _processor_control, - _processor_exit, _processor_get_assignment, _processor_info, - _processor_set_create, _processor_set_default, _processor_set_destroy, - _processor_set_info, _processor_set_max_priority, _processor_set_policy_control, - _processor_set_policy_disable, _processor_set_policy_enable, - _processor_set_stack_usage, _processor_set_statistics, _processor_set_tasks, - _processor_set_tasks_with_flavor, _processor_set_threads, - _processor_start, _pselect, '_pselect$DARWIN_EXTSN', '_pselect$DARWIN_EXTSN$NOCANCEL', - '_pselect$NOCANCEL', _pthread_getugid_np, _pthread_setugid_np, - _ptrace, _pwrite, '_pwrite$NOCANCEL', _pwritev, '_pwritev$NOCANCEL', - _quota, _quotactl, _read, '_read$NOCANCEL', _readlink, _readlinkat, - _readv, '_readv$NOCANCEL', _reboot, _reboot_np, _recvfrom, - '_recvfrom$NOCANCEL', _recvmsg, '_recvmsg$NOCANCEL', _recvmsg_x, - _register_uexc_handler, _removexattr, _rename, _rename_ext, - _renameat, _renameatx_np, _renamex_np, _revoke, _rmdir, _searchfs, - _select, '_select$DARWIN_EXTSN', '_select$DARWIN_EXTSN$NOCANCEL', - '_select$NOCANCEL', _sem_close, _sem_destroy, _sem_getvalue, - _sem_init, _sem_open, _sem_post, _sem_trywait, _sem_unlink, - _sem_wait, '_sem_wait$NOCANCEL', _semaphore_create, _semaphore_destroy, - _semaphore_signal, _semaphore_signal_all, _semaphore_signal_all_trap, - _semaphore_signal_thread, _semaphore_signal_thread_trap, _semaphore_signal_trap, - _semaphore_timedwait, _semaphore_timedwait_signal, _semaphore_timedwait_signal_trap, - _semaphore_timedwait_trap, _semaphore_wait, _semaphore_wait_signal, - _semaphore_wait_signal_trap, _semaphore_wait_trap, _semctl, - _semget, _semop, _semsys, _sendfile, _sendmsg, '_sendmsg$NOCANCEL', - _sendmsg_x, _sendto, '_sendto$NOCANCEL', _setattrlist, _setattrlistat, - _setaudit, _setaudit_addr, _setauid, _setegid, _seteuid, _setgid, - _setgroups, _setiopolicy_np, _setitimer, _setpgid, _setpriority, - _setprivexec, _setquota, _setregid, _setreuid, _setrlimit, - _setsgroups_np, _setsid, _setsockopt, _setuid, _setwgroups_np, - _setxattr, _sfi_get_class_offtime, _sfi_process_get_flags, - _sfi_process_set_flags, _sfi_set_class_offtime, _shm_open, - _shm_unlink, _shmat, _shmctl, _shmdt, _shmget, _shmsys, _shutdown, - _sigpending, _sigprocmask, _sigsuspend, '_sigsuspend$NOCANCEL', - _socket, _socket_delegate, _socketpair, _stackshot_capture_with_config, - _stackshot_config_create, _stackshot_config_dealloc, _stackshot_config_dealloc_buffer, - _stackshot_config_get_stackshot_buffer, _stackshot_config_get_stackshot_size, - _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, - _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, - _task_dyld_process_info_notify_register, _task_for_pid, _task_generate_corpse, - _task_get_assignment, _task_get_dyld_image_infos, _task_get_emulation_vector, - _task_get_exc_guard_behavior, _task_get_exception_ports, _task_get_exception_ports_info, - _task_get_mach_voucher, _task_get_special_port, _task_get_state, - _task_identity_token_get_task_port, _task_info, _task_inspect, - _task_inspect_for_pid, _task_map_corpse_info, _task_map_corpse_info_64, - _task_name_for_pid, _task_policy, _task_policy_get, _task_policy_set, - _task_purgable_info, _task_read_for_pid, _task_register_dyld_get_process_state, - _task_register_dyld_image_infos, _task_register_dyld_set_dyld_state, - _task_register_dyld_shared_cache_image_info, _task_restartable_ranges_register, - _task_restartable_ranges_synchronize, _task_resume, _task_resume2, - _task_sample, _task_self_, _task_self_trap, _task_set_corpse_forking_behavior, - _task_set_emulation, _task_set_emulation_vector, _task_set_exc_guard_behavior, - _task_set_exception_ports, _task_set_info, _task_set_mach_voucher, - _task_set_phys_footprint_limit, _task_set_policy, _task_set_port_space, - _task_set_ras_pc, _task_set_special_port, _task_set_state, - _task_suspend, _task_suspend2, _task_swap_exception_ports, - _task_swap_mach_voucher, _task_terminate, _task_test_async_upcall_propagation, - _task_test_sync_upcall, _task_threads, _task_unregister_dyld_image_infos, - _task_zone_info, _terminate_with_payload, _terminate_with_reason, - _thread_abort, _thread_abort_safely, _thread_assign, _thread_assign_default, - _thread_convert_thread_state, _thread_create, _thread_create_running, - _thread_depress_abort, _thread_destruct_special_reply_port, - _thread_get_assignment, _thread_get_exception_ports, _thread_get_exception_ports_info, - _thread_get_mach_voucher, _thread_get_register_pointer_values, - _thread_get_special_port, _thread_get_special_reply_port, - _thread_get_state, _thread_info, _thread_policy, _thread_policy_get, - _thread_policy_set, _thread_resume, _thread_sample, _thread_self_trap, - _thread_selfcounts, _thread_set_exception_ports, _thread_set_mach_voucher, - _thread_set_policy, _thread_set_special_port, _thread_set_state, - _thread_suspend, _thread_swap_exception_ports, _thread_swap_mach_voucher, - _thread_switch, _thread_terminate, _thread_wire, _tracker_action, - _truncate, _umask, _undelete, _unlink, _unlinkat, _unmount, - _usrctl, _utimensat, _utimes, _vfs_purge, _vm_allocate, _vm_allocate_cpm, - _vm_behavior_set, _vm_copy, _vm_deallocate, _vm_inherit, _vm_kernel_page_mask, - _vm_kernel_page_shift, _vm_kernel_page_size, _vm_machine_attribute, - _vm_map, _vm_map_page_query, _vm_msync, _vm_page_mask, _vm_page_shift, - _vm_page_size, _vm_pressure_monitor, _vm_protect, _vm_purgable_control, - _vm_read, _vm_read_list, _vm_read_overwrite, _vm_region_64, - _vm_region_recurse_64, _vm_remap, _vm_remap_new, _vm_wire, - _vm_write, _voucher_mach_msg_adopt, _voucher_mach_msg_clear, - _voucher_mach_msg_revert, _voucher_mach_msg_set, _vprintf_stderr_func, - _wait4, _waitid, '_waitid$NOCANCEL', _work_interval_copy_port, - _work_interval_create, _work_interval_destroy, _work_interval_get_flags_from_port, - _work_interval_instance_alloc, _work_interval_instance_clear, - _work_interval_instance_finish, _work_interval_instance_free, - _work_interval_instance_get_complexity, _work_interval_instance_get_deadline, - _work_interval_instance_get_finish, _work_interval_instance_get_id, - _work_interval_instance_get_start, _work_interval_instance_set_complexity, - _work_interval_instance_set_deadline, _work_interval_instance_set_finish, - _work_interval_instance_set_start, _work_interval_instance_start, - _work_interval_instance_update, _work_interval_join, _work_interval_join_port, - _work_interval_leave, _work_interval_notify, _work_interval_notify_simple, - _write, '_write$NOCANCEL', _writev, '_writev$NOCANCEL' ] - - targets: [ arm64-maccatalyst, arm64-macos, arm64e-maccatalyst, arm64e-macos ] - symbols: [ ___fstat, ___fstatat, ___fstatfs, ___getfsstat, ___lstat, - ___stat, ___statfs, __current_pid, _mach_absolute_time_kernel, - _mach_continuous_time_kernel ] ---- !tapi-tbd -tbd-version: 4 -targets: [ x86_64-macos, x86_64-maccatalyst, x86_64h-macos, x86_64h-maccatalyst, - arm64-macos, arm64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] -uuids: - - target: x86_64-macos - value: ED42C002-0A3D-3CFC-A5B4-007E9F8450FD - - target: x86_64-maccatalyst - value: ED42C002-0A3D-3CFC-A5B4-007E9F8450FD - - target: x86_64h-macos - value: 5063016F-C5E4-3455-A057-CB3C3EEED7E8 - - target: x86_64h-maccatalyst - value: 5063016F-C5E4-3455-A057-CB3C3EEED7E8 - - target: arm64-macos - value: 00000000-0000-0000-0000-000000000000 - - target: arm64-maccatalyst - value: 00000000-0000-0000-0000-000000000000 - - target: arm64e-macos - value: E02AEB06-0AB6-3743-BF8C-02CEFA571365 - - target: arm64e-maccatalyst - value: E02AEB06-0AB6-3743-BF8C-02CEFA571365 -install-name: '/usr/lib/system/libsystem_m.dylib' -current-version: 3204.80.2 -parent-umbrella: - - targets: [ x86_64-macos, x86_64-maccatalyst, x86_64h-macos, x86_64h-maccatalyst, - arm64-macos, arm64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] - umbrella: System -exports: - - targets: [ x86_64-macos, x86_64h-macos, x86_64-maccatalyst, x86_64h-maccatalyst ] - symbols: [ __FE_DFL_DISABLE_SSE_DENORMS_ENV, ___cos_d4, ___cos_f8, ___fpclassify, - ___inf, ___inff, ___infl, ___isfinite, ___isinf, ___isnan, - ___isnormal, ___nan, ___signbit, ___sin_d4, ___sin_f8, __simd_acos_d4, - __simd_acos_d8, __simd_acos_f16, __simd_acos_f8, __simd_acosh_d4, - __simd_acosh_d8, __simd_acosh_f16, __simd_acosh_f8, __simd_asin_d4, - __simd_asin_d8, __simd_asin_f16, __simd_asin_f8, __simd_asinh_d4, - __simd_asinh_d8, __simd_asinh_f16, __simd_asinh_f8, __simd_atan2_d4, - __simd_atan2_d8, __simd_atan2_f16, __simd_atan2_f8, __simd_atan_d4, - __simd_atan_d8, __simd_atan_f16, __simd_atan_f8, __simd_atanh_d4, - __simd_atanh_d8, __simd_atanh_f16, __simd_atanh_f8, __simd_cbrt_d4, - __simd_cbrt_d8, __simd_cbrt_f16, __simd_cbrt_f8, __simd_cos_d4, - __simd_cos_d8, __simd_cos_f16, __simd_cos_f8, __simd_cosh_d4, - __simd_cosh_d8, __simd_cosh_f16, __simd_cosh_f8, __simd_cospi_d4, - __simd_cospi_d8, __simd_cospi_f16, __simd_cospi_f8, __simd_erf_d4, - __simd_erf_d8, __simd_erf_f16, __simd_erf_f8, __simd_erfc_d4, - __simd_erfc_d8, __simd_erfc_f16, __simd_erfc_f8, __simd_exp10_d4, - __simd_exp10_d8, __simd_exp10_f16, __simd_exp10_f8, __simd_exp2_d4, - __simd_exp2_d8, __simd_exp2_f16, __simd_exp2_f8, __simd_exp_d4, - __simd_exp_d8, __simd_exp_f16, __simd_exp_f8, __simd_expm1_d4, - __simd_expm1_d8, __simd_expm1_f16, __simd_expm1_f8, __simd_fmod_d4, - __simd_fmod_d8, __simd_fmod_f16, __simd_fmod_f8, __simd_hypot_d4, - __simd_hypot_d8, __simd_hypot_f16, __simd_hypot_f8, __simd_lgamma_d4, - __simd_lgamma_d8, __simd_lgamma_f16, __simd_lgamma_f8, __simd_log10_d4, - __simd_log10_d8, __simd_log10_f16, __simd_log10_f8, __simd_log1p_d4, - __simd_log1p_d8, __simd_log1p_f16, __simd_log1p_f8, __simd_log2_d4, - __simd_log2_d8, __simd_log2_f16, __simd_log2_f8, __simd_log_d4, - __simd_log_d8, __simd_log_f16, __simd_log_f8, __simd_nextafter_d4, - __simd_nextafter_d8, __simd_nextafter_f16, __simd_nextafter_f8, - __simd_pow_d4, __simd_pow_d8, __simd_pow_f16, __simd_pow_f8, - __simd_remainder_d4, __simd_remainder_d8, __simd_remainder_f16, - __simd_remainder_f8, __simd_round_d4, __simd_round_d8, __simd_round_f16, - __simd_round_f8, __simd_sin_d4, __simd_sin_d8, __simd_sin_f16, - __simd_sin_f8, __simd_sinh_d4, __simd_sinh_d8, __simd_sinh_f16, - __simd_sinh_f8, __simd_sinpi_d4, __simd_sinpi_d8, __simd_sinpi_f16, - __simd_sinpi_f8, __simd_tan_d4, __simd_tan_d8, __simd_tan_f16, - __simd_tan_f8, __simd_tanh_d4, __simd_tanh_d8, __simd_tanh_f16, - __simd_tanh_f8, __simd_tanpi_d4, __simd_tanpi_d8, __simd_tanpi_f16, - __simd_tanpi_f8, __simd_tgamma_d4, __simd_tgamma_d8, __simd_tgamma_f16, - __simd_tgamma_f8, '_acos$fenv_access_off', '_acosf$fenv_access_off', - '_acosh$fenv_access_off', '_acoshf$fenv_access_off', '_acoshl$fenv_access_off', - '_acosl$fenv_access_off', '_asin$fenv_access_off', '_asinf$fenv_access_off', - '_asinh$fenv_access_off', '_asinhf$fenv_access_off', '_asinhl$fenv_access_off', - '_asinl$fenv_access_off', '_atan$fenv_access_off', '_atan2$fenv_access_off', - '_atan2f$fenv_access_off', '_atan2l$fenv_access_off', '_atanf$fenv_access_off', - '_atanh$fenv_access_off', '_atanhf$fenv_access_off', '_atanhl$fenv_access_off', - '_atanl$fenv_access_off', '_cabs$fenv_access_off', '_cabsf$fenv_access_off', - '_cabsl$fenv_access_off', '_cacos$fenv_access_off', '_cacosf$fenv_access_off', - '_cacosh$fenv_access_off', '_cacoshf$fenv_access_off', '_cacoshl$fenv_access_off', - '_cacosl$fenv_access_off', '_carg$fenv_access_off', '_cargf$fenv_access_off', - '_cargl$fenv_access_off', '_casin$fenv_access_off', '_casinf$fenv_access_off', - '_casinh$fenv_access_off', '_casinhf$fenv_access_off', '_casinhl$fenv_access_off', - '_casinl$fenv_access_off', '_catan$fenv_access_off', '_catanf$fenv_access_off', - '_catanh$fenv_access_off', '_catanhf$fenv_access_off', '_catanhl$fenv_access_off', - '_catanl$fenv_access_off', '_cbrt$fenv_access_off', '_cbrtf$fenv_access_off', - '_cbrtl$fenv_access_off', '_ccos$fenv_access_off', '_ccosf$fenv_access_off', - '_ccosh$fenv_access_off', '_ccoshf$fenv_access_off', '_ccoshl$fenv_access_off', - '_ccosl$fenv_access_off', '_ceil$fenv_access_off', '_ceilf$fenv_access_off', - '_ceill$fenv_access_off', '_cexp$fenv_access_off', '_cexpf$fenv_access_off', - '_cexpl$fenv_access_off', '_cimag$fenv_access_off', '_cimagf$fenv_access_off', - '_cimagl$fenv_access_off', '_clog$fenv_access_off', '_clogf$fenv_access_off', - '_clogl$fenv_access_off', '_conj$fenv_access_off', '_conjf$fenv_access_off', - '_conjl$fenv_access_off', '_copysign$fenv_access_off', '_copysignf$fenv_access_off', - '_copysignl$fenv_access_off', '_cos$fenv_access_off', '_cosf$fenv_access_off', - '_cosh$fenv_access_off', '_coshf$fenv_access_off', '_coshl$fenv_access_off', - '_cosl$fenv_access_off', '_cpow$fenv_access_off', '_cpowf$fenv_access_off', - '_cpowl$fenv_access_off', '_cproj$fenv_access_off', '_cprojf$fenv_access_off', - '_cprojl$fenv_access_off', '_creal$fenv_access_off', '_crealf$fenv_access_off', - '_creall$fenv_access_off', '_csin$fenv_access_off', '_csinf$fenv_access_off', - '_csinh$fenv_access_off', '_csinhf$fenv_access_off', '_csinhl$fenv_access_off', - '_csinl$fenv_access_off', '_csqrt$fenv_access_off', '_csqrtf$fenv_access_off', - '_csqrtl$fenv_access_off', '_ctan$fenv_access_off', '_ctanf$fenv_access_off', - '_ctanh$fenv_access_off', '_ctanhf$fenv_access_off', '_ctanhl$fenv_access_off', - '_ctanl$fenv_access_off', _drem, '_erf$fenv_access_off', '_erfc$fenv_access_off', - '_erfcf$fenv_access_off', '_erfcl$fenv_access_off', '_erff$fenv_access_off', - '_erfl$fenv_access_off', '_exp$fenv_access_off', '_exp2$fenv_access_off', - '_exp2f$fenv_access_off', '_exp2l$fenv_access_off', '_expf$fenv_access_off', - '_expl$fenv_access_off', '_expm1$fenv_access_off', '_expm1f$fenv_access_off', - '_expm1l$fenv_access_off', '_fabs$fenv_access_off', '_fabsf$fenv_access_off', - '_fabsl$fenv_access_off', '_fdim$fenv_access_off', '_fdimf$fenv_access_off', - '_fdiml$fenv_access_off', _fegetexcept, _fesetexcept, _finite, - '_floor$fenv_access_off', '_floorf$fenv_access_off', '_floorl$fenv_access_off', - '_fma$fenv_access_off', '_fmaf$fenv_access_off', '_fmal$fenv_access_off', - '_fmax$fenv_access_off', '_fmaxf$fenv_access_off', '_fmaxl$fenv_access_off', - '_fmin$fenv_access_off', '_fminf$fenv_access_off', '_fminl$fenv_access_off', - '_fmod$fenv_access_off', '_fmodf$fenv_access_off', '_fmodl$fenv_access_off', - '_frexp$fenv_access_off', '_frexpf$fenv_access_off', '_frexpl$fenv_access_off', - _gamma, '_gamma$fenv_access_off', '_hypot$fenv_access_off', - '_hypotf$fenv_access_off', '_hypotl$fenv_access_off', '_ilogb$fenv_access_off', - '_ilogbf$fenv_access_off', '_ilogbl$fenv_access_off', '_ldexp$fenv_access_off', - '_ldexpf$fenv_access_off', '_ldexpl$fenv_access_off', '_lgamma$fenv_access_off', - '_lgamma_r$fenv_access_off', '_lgammaf$fenv_access_off', '_lgammaf_r$fenv_access_off', - '_lgammal$fenv_access_off', '_lgammal_r$fenv_access_off', - '_llrint$fenv_access_off', '_llrintf$fenv_access_off', '_llrintl$fenv_access_off', - '_llround$fenv_access_off', '_llroundf$fenv_access_off', '_llroundl$fenv_access_off', - '_log$fenv_access_off', '_log10$fenv_access_off', '_log10f$fenv_access_off', - '_log10l$fenv_access_off', '_log1p$fenv_access_off', '_log1pf$fenv_access_off', - '_log1pl$fenv_access_off', '_log2$fenv_access_off', '_log2f$fenv_access_off', - '_log2l$fenv_access_off', '_logb$fenv_access_off', '_logbf$fenv_access_off', - '_logbl$fenv_access_off', '_logf$fenv_access_off', '_logl$fenv_access_off', - '_lrint$fenv_access_off', '_lrintf$fenv_access_off', '_lrintl$fenv_access_off', - '_lround$fenv_access_off', '_lroundf$fenv_access_off', '_lroundl$fenv_access_off', - _matherr, '_modf$fenv_access_off', '_modff$fenv_access_off', - '_modfl$fenv_access_off', '_nearbyint$fenv_access_off', '_nearbyintf$fenv_access_off', - '_nearbyintl$fenv_access_off', '_nextafter$fenv_access_off', - _nextafterd, '_nextafterf$fenv_access_off', '_nextafterl$fenv_access_off', - '_nexttoward$fenv_access_off', '_nexttowardf$fenv_access_off', - '_nexttowardl$fenv_access_off', '_pow$fenv_access_off', '_powf$fenv_access_off', - '_powl$fenv_access_off', '_remainder$fenv_access_off', '_remainderf$fenv_access_off', - '_remainderl$fenv_access_off', '_remquo$fenv_access_off', - '_remquof$fenv_access_off', '_remquol$fenv_access_off', '_rint$fenv_access_off', - '_rintf$fenv_access_off', '_rintl$fenv_access_off', _rinttol, - '_round$fenv_access_off', '_roundf$fenv_access_off', '_roundl$fenv_access_off', - _roundtol, '_scalbln$fenv_access_off', '_scalblnf$fenv_access_off', - '_scalblnl$fenv_access_off', '_scalbn$fenv_access_off', '_scalbnf$fenv_access_off', - '_scalbnl$fenv_access_off', _significand, '_sin$fenv_access_off', - '_sinf$fenv_access_off', '_sinh$fenv_access_off', '_sinhf$fenv_access_off', - '_sinhl$fenv_access_off', '_sinl$fenv_access_off', '_sqrt$fenv_access_off', - '_sqrtf$fenv_access_off', '_sqrtl$fenv_access_off', '_tan$fenv_access_off', - '_tanf$fenv_access_off', '_tanh$fenv_access_off', '_tanhf$fenv_access_off', - '_tanhl$fenv_access_off', '_tanl$fenv_access_off', '_tgamma$fenv_access_off', - '_tgammaf$fenv_access_off', '_tgammal$fenv_access_off', '_trunc$fenv_access_off', - '_truncf$fenv_access_off', '_truncl$fenv_access_off' ] - - targets: [ arm64e-macos, x86_64-macos, x86_64h-macos, x86_64-maccatalyst, - x86_64h-maccatalyst, arm64e-maccatalyst, arm64-macos, arm64-maccatalyst ] - symbols: [ __FE_DFL_ENV, ___Libm_version, ___cos_d2, ___cos_f4, ___cospi, - ___cospif, ___exp10, ___exp10f, ___fegetfltrounds, ___fpclassifyd, - ___fpclassifyf, ___fpclassifyl, ___inline_isfinited, ___inline_isfinitef, - ___inline_isfinitel, ___inline_isinfd, ___inline_isinff, ___inline_isinfl, - ___inline_isnand, ___inline_isnanf, ___inline_isnanl, ___inline_isnormald, - ___inline_isnormalf, ___inline_isnormall, ___inline_signbitd, - ___inline_signbitf, ___inline_signbitl, ___invert_d2, ___invert_d3, - ___invert_d4, ___invert_f2, ___invert_f3, ___invert_f4, ___isfinited, - ___isfinitef, ___isfinitel, ___isinfd, ___isinff, ___isinfl, - ___isnand, ___isnanf, ___isnanl, ___isnormald, ___isnormalf, - ___isnormall, ___math_errhandling, ___signbitd, ___signbitf, - ___signbitl, ___sin_d2, ___sin_f4, ___sincos, ___sincos_stret, - ___sincosf, ___sincosf_stret, ___sincospi, ___sincospi_stret, - ___sincospif, ___sincospif_stret, ___sinpi, ___sinpif, ___tanpi, - ___tanpif, __simd_acos_d2, __simd_acos_f4, __simd_acosh_d2, - __simd_acosh_f4, __simd_asin_d2, __simd_asin_f4, __simd_asinh_d2, - __simd_asinh_f4, __simd_atan2_d2, __simd_atan2_f4, __simd_atan_d2, - __simd_atan_f4, __simd_atanh_d2, __simd_atanh_f4, __simd_cbrt_d2, - __simd_cbrt_f4, __simd_cos_d2, __simd_cos_f4, __simd_cosh_d2, - __simd_cosh_f4, __simd_cospi_d2, __simd_cospi_f4, __simd_erf_d2, - __simd_erf_f4, __simd_erfc_d2, __simd_erfc_f4, __simd_exp10_d2, - __simd_exp10_f4, __simd_exp2_d2, __simd_exp2_f4, __simd_exp_d2, - __simd_exp_f4, __simd_expm1_d2, __simd_expm1_f4, __simd_fma_d2, - __simd_fma_f4, __simd_fmod_d2, __simd_fmod_f4, __simd_hypot_d2, - __simd_hypot_f4, __simd_incircle_pd2, __simd_incircle_pf2, - __simd_insphere_pd3, __simd_insphere_pf3, __simd_lgamma_d2, - __simd_lgamma_f4, __simd_log10_d2, __simd_log10_f4, __simd_log1p_d2, - __simd_log1p_f4, __simd_log2_d2, __simd_log2_f4, __simd_log_d2, - __simd_log_f4, __simd_nextafter_d2, __simd_nextafter_f4, __simd_orient_pd2, - __simd_orient_pd3, __simd_orient_pf2, __simd_orient_pf3, __simd_orient_vd2, - __simd_orient_vd3, __simd_orient_vf2, __simd_orient_vf3, __simd_pow_d2, - __simd_pow_f4, __simd_remainder_d2, __simd_remainder_f4, __simd_round_d2, - __simd_round_f4, __simd_sin_d2, __simd_sin_f4, __simd_sinh_d2, - __simd_sinh_f4, __simd_sinpi_d2, __simd_sinpi_f4, __simd_tan_d2, - __simd_tan_f4, __simd_tanh_d2, __simd_tanh_f4, __simd_tanpi_d2, - __simd_tanpi_f4, __simd_tgamma_d2, __simd_tgamma_f4, _acos, - _acosf, _acosh, _acoshf, _acoshl, _acosl, _asin, _asinf, _asinh, - _asinhf, _asinhl, _asinl, _atan, _atan2, _atan2f, _atan2l, - _atanf, _atanh, _atanhf, _atanhl, _atanl, _cabs, _cabsf, _cabsl, - _cacos, _cacosf, _cacosh, _cacoshf, _cacoshl, _cacosl, _carg, - _cargf, _cargl, _casin, _casinf, _casinh, _casinhf, _casinhl, - _casinl, _catan, _catanf, _catanh, _catanhf, _catanhl, _catanl, - _cbrt, _cbrtf, _cbrtl, _ccos, _ccosf, _ccosh, _ccoshf, _ccoshl, - _ccosl, _ceil, _ceilf, _ceill, _cexp, _cexpf, _cexpl, _cimag, - _cimagf, _cimagl, _clog, _clogf, _clogl, _conj, _conjf, _conjl, - _copysign, _copysignf, _copysignl, _cos, _cosf, _cosh, _coshf, - _coshl, _cosl, _cpow, _cpowf, _cpowl, _cproj, _cprojf, _cprojl, - _creal, _crealf, _creall, _csin, _csinf, _csinh, _csinhf, - _csinhl, _csinl, _csqrt, _csqrtf, _csqrtl, _ctan, _ctanf, - _ctanh, _ctanhf, _ctanhl, _ctanl, _erf, _erfc, _erfcf, _erfcl, - _erff, _erfl, _exp, _exp2, _exp2f, _exp2l, _expf, _expl, _expm1, - _expm1f, _expm1l, _fabs, _fabsf, _fabsl, _fdim, _fdimf, _fdiml, - _feclearexcept, _fegetenv, _fegetexceptflag, _fegetround, - _feholdexcept, _feraiseexcept, _fesetenv, _fesetexceptflag, - _fesetround, _fetestexcept, _feupdateenv, _floor, _floorf, - _floorl, _fma, _fmaf, _fmal, _fmax, _fmaxf, _fmaxl, _fmin, - _fminf, _fminl, _fmod, _fmodf, _fmodl, _frexp, _frexpf, _frexpl, - _hypot, _hypotf, _hypotl, _ilogb, _ilogbf, _ilogbl, _isinf, - _isnan, _j0, _j1, _jn, _ldexp, _ldexpf, _ldexpl, _lgamma, - _lgamma_r, _lgammaf, _lgammaf_r, _lgammal, _lgammal_r, _llrint, - _llrintf, _llrintl, _llround, _llroundf, _llroundl, _log, - _log10, _log10f, _log10l, _log1p, _log1pf, _log1pl, _log2, - _log2f, _log2l, _logb, _logbf, _logbl, _logf, _logl, _lrint, - _lrintf, _lrintl, _lround, _lroundf, _lroundl, _matrix_identity_double2x2, - _matrix_identity_double3x3, _matrix_identity_double4x4, _matrix_identity_float2x2, - _matrix_identity_float3x3, _matrix_identity_float4x4, _modf, - _modff, _modfl, _nan, _nanf, _nanl, _nearbyint, _nearbyintf, - _nearbyintl, _nextafter, _nextafterf, _nextafterl, _nexttoward, - _nexttowardf, _nexttowardl, _pow, _powf, _powl, _remainder, - _remainderf, _remainderl, _remquo, _remquof, _remquol, _rint, - _rintf, _rintl, _round, _roundf, _roundl, _scalb, _scalbln, - _scalblnf, _scalblnl, _scalbn, _scalbnf, _scalbnl, _signgam, - _sin, _sinf, _sinh, _sinhf, _sinhl, _sinl, _sqrt, _sqrtf, - _sqrtl, _tan, _tanf, _tanh, _tanhf, _tanhl, _tanl, _tgamma, - _tgammaf, _tgammal, _trunc, _truncf, _truncl, _y0, _y1, _yn ] - - targets: [ arm64e-macos, arm64e-maccatalyst, arm64-macos, arm64-maccatalyst ] - symbols: [ __FE_DFL_DISABLE_DENORMS_ENV ] ---- !tapi-tbd -tbd-version: 4 -targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] -uuids: - - target: x86_64-macos - value: CD1AD5BA-470D-33FF-A864-5FC3A18AB7C3 - - target: x86_64-maccatalyst - value: CD1AD5BA-470D-33FF-A864-5FC3A18AB7C3 - - target: arm64-macos - value: 00000000-0000-0000-0000-000000000000 - - target: arm64-maccatalyst - value: 00000000-0000-0000-0000-000000000000 - - target: arm64e-macos - value: 3A021C33-DD59-37F7-9A86-5CEED68FF9BA - - target: arm64e-maccatalyst - value: 3A021C33-DD59-37F7-9A86-5CEED68FF9BA -install-name: '/usr/lib/system/libsystem_malloc.dylib' -current-version: 374.100.5 -parent-umbrella: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] - umbrella: System -exports: - - targets: [ arm64e-macos, x86_64-macos, x86_64-maccatalyst, arm64e-maccatalyst, - arm64-macos, arm64-maccatalyst ] - symbols: [ ___mach_stack_logging_copy_uniquing_table, ___mach_stack_logging_enumerate_records, - ___mach_stack_logging_frames_for_uniqued_stack, ___mach_stack_logging_get_frames, - ___mach_stack_logging_get_frames_for_stackid, ___mach_stack_logging_set_file_path, - ___mach_stack_logging_shared_memory_address, ___mach_stack_logging_stackid_for_vm_region, - ___mach_stack_logging_start_reading, ___mach_stack_logging_stop_reading, - ___mach_stack_logging_uniquing_table_copy_from_serialized, - ___mach_stack_logging_uniquing_table_read_stack, ___mach_stack_logging_uniquing_table_release, - ___mach_stack_logging_uniquing_table_retain, ___mach_stack_logging_uniquing_table_serialize, - ___mach_stack_logging_uniquing_table_sizeof, ___malloc_init, - ___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_enter_process_memory_limit_warn_mode, _malloc_error, - _malloc_freezedry, _malloc_get_all_zones, _malloc_get_zone_name, - _malloc_good_size, _malloc_jumpstart, _malloc_logger, _malloc_make_nonpurgeable, - _malloc_make_purgeable, _malloc_memory_event_handler, _malloc_num_zones, - _malloc_num_zones_allocated, _malloc_printf, _malloc_register_stack_logger, - _malloc_set_zone_name, _malloc_singlethreaded, _malloc_size, - _malloc_zone_batch_free, _malloc_zone_batch_malloc, _malloc_zone_calloc, - _malloc_zone_check, _malloc_zone_claimed_address, _malloc_zone_disable_discharge_checking, - _malloc_zone_discharge, _malloc_zone_enable_discharge_checking, - _malloc_zone_enumerate_discharged_pointers, _malloc_zone_free, - _malloc_zone_from_ptr, _malloc_zone_log, _malloc_zone_malloc, - _malloc_zone_memalign, _malloc_zone_pressure_relief, _malloc_zone_print, - _malloc_zone_print_ptr_info, _malloc_zone_realloc, _malloc_zone_register, - _malloc_zone_statistics, _malloc_zone_unregister, _malloc_zone_valloc, - _malloc_zones, _mstats, _pgm_diagnose_fault_from_crash_reporter, - _posix_memalign, _quarantine_diagnose_fault_from_crash_reporter, - _realloc, '_reallocarray$DARWIN_EXTSN', '_reallocarrayf$DARWIN_EXTSN', - _scalable_zone_info, _scalable_zone_statistics, _set_malloc_singlethreaded, - _stack_logging_enable_logging, _szone_check_counter, _szone_check_modulo, - _szone_check_start, _tiny_print_region_free_list, _turn_off_stack_logging, - _turn_on_stack_logging, _valloc, _vfree, _zeroify_scalable_zone ] ---- !tapi-tbd -tbd-version: 4 -targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] -uuids: - - target: x86_64-macos - value: 9394E64A-D1D5-362C-98DB-760C7C15B9BE - - target: x86_64-maccatalyst - value: 9394E64A-D1D5-362C-98DB-760C7C15B9BE - - target: arm64-macos - value: 00000000-0000-0000-0000-000000000000 - - target: arm64-maccatalyst - value: 00000000-0000-0000-0000-000000000000 - - target: arm64e-macos - value: 8D842641-0F27-34B1-AEFC-C95B178E5433 - - target: arm64e-maccatalyst - value: 8D842641-0F27-34B1-AEFC-C95B178E5433 -install-name: '/usr/lib/system/libsystem_networkextension.dylib' -parent-umbrella: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] - umbrella: System -exports: - - targets: [ arm64e-macos, x86_64-macos, x86_64-maccatalyst, arm64e-maccatalyst, - arm64-macos, arm64-maccatalyst ] - symbols: [ _NEHelperCacheAddRedirectedAddress, _NEHelperCacheClearRedirectedAddresses, - _NEHelperCacheClearUUIDs, _NEHelperCacheCopyAppUUIDMapping, - _NEHelperCacheCopyAppUUIDMappingExtended, _NEHelperCacheCopyAppUUIDMappingForUIDExtended, - _NEHelperCacheCopySigningIdentifierMapping, _NEHelperCacheSetDomainDictionaries, - _NEHelperCacheSetRoutes, _NEHelperCopyAggregatePathRules, - _NEHelperCopyAppInfo, _NEHelperCopyCurrentNetworkAsync, _NEHelperCopyCurrentNetworkInfo, - _NEHelperCopyPerAppDomains, _NEHelperCopyResponse, _NEHelperGetIKESocket, - _NEHelperGetIKESocketWithResult, _NEHelperGetKernelControlSocket, - _NEHelperGetKernelControlSocketExtended, _NEHelperGetNECPSessionFD, - _NEHelperGetPFKeySocket, _NEHelperHandleConfigurationsChangedBySC, - _NEHelperInit, _NEHelperInterfaceRemoveAddress, _NEHelperInterfaceSetAddress, - _NEHelperInterfaceSetAddressWithLifetime, _NEHelperInterfaceSetMTU, - _NEHelperInterfaceSetOption, _NEHelperSendRequest, _NEHelperSettingsSetArray, - _NEHelperSettingsSetBool, _NEHelperSettingsSetNumber, _NEHelperVPNConfigurationExists, - _NEHelperVPNSetEnabled, _g_ne_read_uuid_cache, _g_ne_uuid_cache_hit, - _ne_copy_cached_bundle_identifier_for_uuid, _ne_copy_cached_preferred_bundle_for_bundle_identifier, - _ne_copy_cached_uuids_for_bundle_identifier, _ne_copy_signature_info_for_pid, - _ne_copy_signing_identifier_for_pid, _ne_copy_uuid_cache, - _ne_force_reset_uuid_cache, _ne_get_configuration_generation, - _ne_is_sockaddr_valid, _ne_log_large_obj, _ne_log_obj, _ne_print_backtrace, - _ne_privacy_dns_netagent_id, _ne_privacy_proxy_netagent_id, - _ne_session_add_necp_drop_dest_from_dest_list, _ne_session_add_necp_drop_dest_from_path, - _ne_session_address_matches_subnets, _ne_session_agent_get_advisory, - _ne_session_agent_get_advisory_interface_index, _ne_session_always_on_vpn_configs_present, - _ne_session_always_on_vpn_configs_present_at_boot, _ne_session_app_vpn_configs_present, - _ne_session_cancel, _ne_session_clear_caches, _ne_session_content_filter_configs_present, - _ne_session_copy_app_data_from_flow_divert_socket, _ne_session_copy_app_data_from_flow_divert_token, - _ne_session_copy_os_version_string, _ne_session_copy_policy_match, - _ne_session_copy_security_session_info, _ne_session_copy_socket_attributes, - _ne_session_copy_socket_domain_attributes, _ne_session_create, - _ne_session_disable_restrictions, _ne_session_dns_proxy_configs_present, - _ne_session_dns_settings_configs_present, _ne_session_establish_ipc, - _ne_session_fallback_advisory, _ne_session_fallback_default, - _ne_session_get_config_id_from_network_agent, _ne_session_get_configuration_id, - _ne_session_get_info, _ne_session_get_info2, _ne_session_get_status, - _ne_session_info_type_to_string, _ne_session_initialize_necp_drop_all, - _ne_session_is_always_on_vpn_enabled, _ne_session_is_safeboot, - _ne_session_local_communication_configs_present, _ne_session_local_communication_send_info, - _ne_session_manager_get_pid, _ne_session_manager_has_active_sessions, - _ne_session_manager_is_running, _ne_session_on_demand_configs_present, - _ne_session_path_controller_configs_present, _ne_session_policy_copy_flow_divert_token, - _ne_session_policy_copy_flow_divert_token_with_key, _ne_session_policy_match_get_filter_unit, - _ne_session_policy_match_get_flow_divert_unit, _ne_session_policy_match_get_scoped_interface_index, - _ne_session_policy_match_get_service, _ne_session_policy_match_get_service_action, - _ne_session_policy_match_get_service_type, _ne_session_policy_match_is_drop, - _ne_session_policy_match_is_flow_divert, _ne_session_policy_match_service_is_registered, - _ne_session_release, _ne_session_retain, _ne_session_send_barrier, - _ne_session_service_get_dns_service_id, _ne_session_service_get_dns_service_id_for_interface, - _ne_session_service_matches_address, _ne_session_service_matches_address_for_interface, - _ne_session_set_event_handler, _ne_session_set_socket_attributes, - _ne_session_set_socket_context_attribute, _ne_session_set_socket_tracker_attributes, - _ne_session_should_disable_nexus, _ne_session_start, _ne_session_start_on_behalf_of, - _ne_session_start_with_options, _ne_session_status_to_string, - _ne_session_stop, _ne_session_stop_all_with_plugin_type, _ne_session_stop_reason_to_string, - _ne_session_type_to_string, _ne_session_use_as_system_vpn, - _ne_session_vod_evaluate_connection_present, _ne_session_vpn_include_all_networks_configs_present, - _ne_socket_set_attribution, _ne_socket_set_domains, _ne_socket_set_is_app_initiated, - _ne_socket_set_website_attribution, _ne_tracker_build_cache, - _ne_tracker_build_trie, _ne_tracker_check_info_changed, _ne_tracker_clear_cache, - _ne_tracker_context_get_domain, _ne_tracker_context_get_domain_owner, - _ne_tracker_context_is_from_app_list, _ne_tracker_context_is_from_web_list, - _ne_tracker_get_ddg_dictionary, _ne_tracker_lookup_app_domains, - _ne_tracker_set_test_domains, _ne_tracker_validate_domain, - _ne_trie_free, _ne_trie_has_high_ascii, _ne_trie_init, _ne_trie_init_from_file, - _ne_trie_insert, _ne_trie_save_to_file, _ne_trie_search, _necp_drop_dest_copy_dest_entry_list, - _nehelper_copy_connection_for_delegate_class, _nehelper_queue, - _nelog_is_debug_logging_enabled, _nelog_is_extra_vpn_logging_enabled, - _nelog_is_info_logging_enabled ] ---- !tapi-tbd -tbd-version: 4 -targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] -uuids: - - target: x86_64-macos - value: 90E8AC4C-D13B-3E0C-82CA-4179D34F4EC6 - - target: x86_64-maccatalyst - value: 90E8AC4C-D13B-3E0C-82CA-4179D34F4EC6 - - target: arm64-macos - value: 00000000-0000-0000-0000-000000000000 - - target: arm64-maccatalyst - value: 00000000-0000-0000-0000-000000000000 - - target: arm64e-macos - value: 5FF2DA89-8A88-34BB-AA68-BA9C5D24E639 - - target: arm64e-maccatalyst - value: 5FF2DA89-8A88-34BB-AA68-BA9C5D24E639 -install-name: '/usr/lib/system/libsystem_notify.dylib' -current-version: 301 -parent-umbrella: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] - umbrella: System -exports: - - targets: [ arm64e-macos, x86_64-macos, x86_64-maccatalyst, arm64e-maccatalyst, - arm64-macos, arm64-maccatalyst ] - symbols: [ __notify_fork_child, _notify_cancel, _notify_check, _notify_dump_status, - _notify_get_event, _notify_get_state, _notify_is_valid_token, - _notify_monitor_file, _notify_peek, _notify_post, _notify_register_check, - _notify_register_dispatch, _notify_register_file_descriptor, - _notify_register_mach_port, _notify_register_plain, _notify_register_signal, - _notify_resume, _notify_resume_pid, _notify_set_options, _notify_set_state, - _notify_simple_post, _notify_suspend, _notify_suspend_pid ] ---- !tapi-tbd -tbd-version: 4 -targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] -uuids: - - target: x86_64-macos - value: A9552F53-A0CD-3E43-9930-80E582ED51FF - - target: x86_64-maccatalyst - value: A9552F53-A0CD-3E43-9930-80E582ED51FF - - target: arm64-macos - value: A8C155A3-9295-340C-94A2-80B29BBA7A10 - - target: arm64-maccatalyst - value: A8C155A3-9295-340C-94A2-80B29BBA7A10 - - target: arm64e-macos - value: 84FA5DD0-806C-310E-B047-479924CD688C - - target: arm64e-maccatalyst - value: 84FA5DD0-806C-310E-B047-479924CD688C -install-name: '/usr/lib/system/libsystem_platform.dylib' -current-version: 273.100.5 -parent-umbrella: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] - umbrella: System -exports: - - targets: [ x86_64-maccatalyst, x86_64-macos ] - symbols: [ '_OSAtomicFifoDequeue$VARIANT$PFZ', '_OSAtomicFifoDequeue$VARIANT$UnfairLock', - '_OSAtomicFifoEnqueue$VARIANT$PFZ', '_OSAtomicFifoEnqueue$VARIANT$UnfairLock', - ___no_overread_variant_setup, __sigtramp, _bzero_sse_np, _longjmperror, - _memmove_sse_np, _memset_pattern16_sse_np, _memset_pattern4_sse_np, - _memset_pattern8_sse_np, _memset_sse_np ] - - targets: [ x86_64-maccatalyst, x86_64-macos, arm64-maccatalyst, arm64-macos, - arm64e-maccatalyst, arm64e-macos ] - symbols: [ _OSAtomicAdd32, _OSAtomicAdd32Barrier, _OSAtomicAdd64, _OSAtomicAdd64Barrier, - _OSAtomicAnd32, _OSAtomicAnd32Barrier, _OSAtomicAnd32Orig, - _OSAtomicAnd32OrigBarrier, _OSAtomicCompareAndSwap32, _OSAtomicCompareAndSwap32Barrier, - _OSAtomicCompareAndSwap64, _OSAtomicCompareAndSwap64Barrier, - _OSAtomicCompareAndSwapInt, _OSAtomicCompareAndSwapIntBarrier, - _OSAtomicCompareAndSwapLong, _OSAtomicCompareAndSwapLongBarrier, - _OSAtomicCompareAndSwapPtr, _OSAtomicCompareAndSwapPtrBarrier, - _OSAtomicDecrement32, _OSAtomicDecrement32Barrier, _OSAtomicDecrement64, - _OSAtomicDecrement64Barrier, _OSAtomicDequeue, _OSAtomicEnqueue, - _OSAtomicFifoDequeue, _OSAtomicFifoEnqueue, _OSAtomicIncrement32, - _OSAtomicIncrement32Barrier, _OSAtomicIncrement64, _OSAtomicIncrement64Barrier, - _OSAtomicOr32, _OSAtomicOr32Barrier, _OSAtomicOr32Orig, _OSAtomicOr32OrigBarrier, - _OSAtomicTestAndClear, _OSAtomicTestAndClearBarrier, _OSAtomicTestAndSet, - _OSAtomicTestAndSetBarrier, _OSAtomicXor32, _OSAtomicXor32Barrier, - _OSAtomicXor32Orig, _OSAtomicXor32OrigBarrier, _OSMemoryBarrier, - _OSSpinLockLock, _OSSpinLockTry, _OSSpinLockUnlock, __OSSpinLockLockSlow, - ___bzero, ___libplatform_init, ___os_log_simple_offset, ___os_once_reset, - ___platform_sigaction, __longjmp, __os_alloc_once, __os_lock_type_eliding, - __os_lock_type_handoff, __os_lock_type_nospin, __os_lock_type_spin, - __os_lock_type_transactional, __os_lock_type_unfair, __os_log_simple, - __os_log_simple_parse, __os_log_simple_parse_identifiers, - __os_log_simple_parse_message, __os_log_simple_parse_subsystem, - __os_log_simple_parse_timestamp, __os_log_simple_parse_type, - __os_log_simple_send, __os_log_simple_shim, __os_nospin_lock_lock, - __os_nospin_lock_trylock, __os_nospin_lock_unlock, __os_once, - __os_semaphore_create, __os_semaphore_dispose, __os_semaphore_signal, - __os_semaphore_wait, __platform_bzero, __platform_memccpy, - __platform_memchr, __platform_memcmp, __platform_memmove, - __platform_memset, __platform_memset_pattern16, __platform_memset_pattern4, - __platform_memset_pattern8, __platform_strchr, __platform_strcmp, - __platform_strcpy, __platform_strlcat, __platform_strlcpy, - __platform_strlen, __platform_strncmp, __platform_strncpy, - __platform_strnlen, __platform_strstr, __setjmp, __simple_asl_get_fd, - __simple_asl_log, __simple_asl_log_prog, __simple_asl_msg_new, - __simple_asl_msg_set, __simple_asl_send, __simple_dprintf, - __simple_esappend, __simple_esprintf, __simple_getenv, __simple_memcmp, - __simple_put, __simple_putline, __simple_salloc, __simple_sappend, - __simple_sfree, __simple_sprintf, __simple_sresize, __simple_string, - __simple_vdprintf, __simple_vesprintf, __simple_vsprintf, - __spin_lock, __spin_lock_try, __spin_unlock, _ffs, _ffsl, - _ffsll, _fls, _flsl, _flsll, _getcontext, _longjmp, _makecontext, - _os_lock_lock, _os_lock_trylock, _os_lock_unlock, _os_log_simple_now, - _os_log_simple_type_from_asl, _os_unfair_lock_assert_not_owner, - _os_unfair_lock_assert_owner, _os_unfair_lock_lock, _os_unfair_lock_lock_no_tsd, - _os_unfair_lock_lock_with_options, _os_unfair_lock_trylock, - _os_unfair_lock_unlock, _os_unfair_lock_unlock_no_tsd, _os_unfair_recursive_lock_lock_with_options, - _os_unfair_recursive_lock_owned, _os_unfair_recursive_lock_trylock, - _os_unfair_recursive_lock_tryunlock4objc, _os_unfair_recursive_lock_unlock, - _os_unfair_recursive_lock_unlock_forked_child, _platform_task_attach, - _platform_task_copy_next_thread, _platform_task_detach, _platform_task_is_64_bit, - _platform_task_perform, _platform_task_resume_threads, _platform_task_suspend_threads, - _platform_task_update_threads, _platform_thread_abort_safely, - _platform_thread_get_pthread, _platform_thread_get_state, - _platform_thread_get_unique_id, _platform_thread_info, _platform_thread_perform, - _platform_thread_release, _platform_thread_resume, _platform_thread_set_state, - _platform_thread_suspend, _setcontext, _setjmp, _siglongjmp, - _sigsetjmp, _spin_lock, _spin_lock_try, _spin_unlock, _swapcontext, - _sys_cache_control, _sys_dcache_flush, _sys_icache_invalidate ] - - targets: [ arm64-maccatalyst, arm64-macos, arm64e-maccatalyst, arm64e-macos ] - symbols: [ __ctx_done ] ---- !tapi-tbd -tbd-version: 4 -targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] -uuids: - - target: x86_64-macos - value: CC59553D-E561-3196-9A5C-4DBA8C385275 - - target: x86_64-maccatalyst - value: CC59553D-E561-3196-9A5C-4DBA8C385275 - - target: arm64-macos - value: 00000000-0000-0000-0000-000000000000 - - target: arm64-maccatalyst - value: 00000000-0000-0000-0000-000000000000 - - target: arm64e-macos - value: 21E3CB05-5B01-3BAA-8F17-84E8181778C0 - - target: arm64e-maccatalyst - value: 21E3CB05-5B01-3BAA-8F17-84E8181778C0 -install-name: '/usr/lib/system/libsystem_product_info_filter.dylib' -current-version: 10 -parent-umbrella: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] - umbrella: System ---- !tapi-tbd -tbd-version: 4 -targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] -uuids: - - target: x86_64-macos - value: 2F6C275D-7E14-3D31-A924-E1BB41D2415F - - target: x86_64-maccatalyst - value: 2F6C275D-7E14-3D31-A924-E1BB41D2415F - - target: arm64-macos - value: 9507407A-B251-3158-BC81-8CABBEBE34DE - - target: arm64-maccatalyst - value: 9507407A-B251-3158-BC81-8CABBEBE34DE - - target: arm64e-macos - value: CEE8BC77-6923-34D9-89A3-6F8F7279605E - - target: arm64e-maccatalyst - value: CEE8BC77-6923-34D9-89A3-6F8F7279605E -install-name: '/usr/lib/system/libsystem_pthread.dylib' -current-version: 486.100.11 -parent-umbrella: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] - umbrella: System -exports: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] - symbols: [ __pthread_is_threaded, _cthread_yield, _pthread_prefer_alternate_amx_self ] - - targets: [ arm64-macos, arm64e-macos, x86_64-macos, x86_64-maccatalyst, - arm64-maccatalyst, arm64e-maccatalyst ] - symbols: [ ____chkstk_darwin, ___is_threaded, ___pthread_init, ___pthread_late_init, - ___pthread_workqueue_setkill, ___unix_conforming, __pthread_atfork_child, - __pthread_atfork_child_handlers, __pthread_atfork_parent, - __pthread_atfork_parent_handlers, __pthread_atfork_prepare, - __pthread_atfork_prepare_handlers, __pthread_clear_qos_tsd, - __pthread_exit_if_canceled, __pthread_fork_child, __pthread_fork_child_postinit, - __pthread_fork_parent, __pthread_fork_prepare, __pthread_mutex_enable_legacy_mode, - __pthread_override_qos_class_end_direct, __pthread_override_qos_class_start_direct, - __pthread_qos_class_decode, __pthread_qos_class_encode, __pthread_qos_class_encode_workqueue, - __pthread_qos_override_end_direct, __pthread_qos_override_start_direct, - __pthread_self, __pthread_set_properties_self, __pthread_set_self, - __pthread_setspecific_static, __pthread_start, __pthread_workloop_create, - __pthread_workloop_destroy, __pthread_workqueue_add_cooperativethreads, - __pthread_workqueue_addthreads, __pthread_workqueue_asynchronous_override_add, - __pthread_workqueue_asynchronous_override_reset_all_self, - __pthread_workqueue_asynchronous_override_reset_self, __pthread_workqueue_init, - __pthread_workqueue_init_with_kevent, __pthread_workqueue_init_with_workloop, - __pthread_workqueue_override_reset, __pthread_workqueue_override_start_direct, - __pthread_workqueue_override_start_direct_check_owner, __pthread_workqueue_set_event_manager_priority, - __pthread_workqueue_should_narrow, __pthread_workqueue_supported, - __pthread_wqthread, __pthread_yield_to_enqueuer_4dispatch, - _posix_spawnattr_get_qos_class_np, _posix_spawnattr_set_qos_class_np, - _pthread_atfork, _pthread_attr_destroy, _pthread_attr_get_qos_class_np, - _pthread_attr_getdetachstate, _pthread_attr_getguardsize, - _pthread_attr_getinheritsched, _pthread_attr_getschedparam, - _pthread_attr_getschedpolicy, _pthread_attr_getscope, _pthread_attr_getstack, - _pthread_attr_getstackaddr, _pthread_attr_getstacksize, _pthread_attr_init, - _pthread_attr_set_qos_class_np, _pthread_attr_setcpupercent_np, - _pthread_attr_setdetachstate, _pthread_attr_setguardsize, - _pthread_attr_setinheritsched, _pthread_attr_setschedparam, - _pthread_attr_setschedpolicy, _pthread_attr_setscope, _pthread_attr_setstack, - _pthread_attr_setstackaddr, _pthread_attr_setstacksize, _pthread_cancel, - _pthread_chdir_np, _pthread_cond_broadcast, _pthread_cond_destroy, - _pthread_cond_init, _pthread_cond_signal, _pthread_cond_signal_thread_np, - _pthread_cond_timedwait, '_pthread_cond_timedwait$NOCANCEL', - _pthread_cond_timedwait_relative_np, _pthread_cond_wait, '_pthread_cond_wait$NOCANCEL', - _pthread_condattr_destroy, _pthread_condattr_getpshared, _pthread_condattr_init, - _pthread_condattr_setpshared, _pthread_cpu_number_np, _pthread_create, - _pthread_create_from_mach_thread, _pthread_create_suspended_np, - _pthread_create_with_workgroup_np, _pthread_current_stack_contains_np, - _pthread_dependency_fulfill_np, _pthread_dependency_init_np, - _pthread_dependency_wait_np, _pthread_detach, _pthread_equal, - _pthread_exit, _pthread_fchdir_np, _pthread_from_mach_thread_np, - _pthread_get_qos_class_np, _pthread_get_stackaddr_np, _pthread_get_stacksize_np, - _pthread_getconcurrency, _pthread_getname_np, _pthread_getschedparam, - _pthread_getspecific, _pthread_install_workgroup_functions_np, - _pthread_introspection_getspecific_np, _pthread_introspection_hook_install, - _pthread_introspection_setspecific_np, _pthread_is_threaded_np, - _pthread_jit_write_freeze_callbacks_np, _pthread_jit_write_protect_np, - _pthread_jit_write_protect_supported_np, _pthread_jit_write_with_callback_np, - _pthread_join, '_pthread_join$NOCANCEL', _pthread_key_create, - _pthread_key_delete, _pthread_key_init_np, _pthread_kill, - _pthread_layout_offsets, _pthread_mach_thread_np, _pthread_main_np, - _pthread_main_thread_np, _pthread_mutex_destroy, _pthread_mutex_getprioceiling, - _pthread_mutex_init, _pthread_mutex_lock, _pthread_mutex_setprioceiling, - _pthread_mutex_trylock, _pthread_mutex_unlock, _pthread_mutexattr_destroy, - _pthread_mutexattr_getpolicy_np, _pthread_mutexattr_getprioceiling, - _pthread_mutexattr_getprotocol, _pthread_mutexattr_getpshared, - _pthread_mutexattr_gettype, _pthread_mutexattr_init, _pthread_mutexattr_setpolicy_np, - _pthread_mutexattr_setprioceiling, _pthread_mutexattr_setprotocol, - _pthread_mutexattr_setpshared, _pthread_mutexattr_settype, - _pthread_once, _pthread_override_qos_class_end_np, _pthread_override_qos_class_start_np, - _pthread_prefer_alternate_cluster_self, _pthread_qos_max_parallelism, - _pthread_rwlock_destroy, _pthread_rwlock_init, _pthread_rwlock_rdlock, - _pthread_rwlock_tryrdlock, _pthread_rwlock_trywrlock, _pthread_rwlock_unlock, - _pthread_rwlock_wrlock, _pthread_rwlockattr_destroy, _pthread_rwlockattr_getpshared, - _pthread_rwlockattr_init, _pthread_rwlockattr_setpshared, - _pthread_self, _pthread_self_is_exiting_np, _pthread_set_fixedpriority_self, - _pthread_set_qos_class_np, _pthread_set_qos_class_self_np, - _pthread_set_timeshare_self, _pthread_setcancelstate, _pthread_setcanceltype, - _pthread_setconcurrency, _pthread_setname_np, _pthread_setschedparam, - _pthread_setspecific, _pthread_sigmask, _pthread_stack_frame_decode_np, - _pthread_testcancel, _pthread_threadid_np, _pthread_time_constraint_max_parallelism, - _pthread_workqueue_addthreads_np, _pthread_workqueue_setdispatch_np, - _pthread_workqueue_setdispatchoffset_np, _pthread_workqueue_setup, - _pthread_yield_np, _qos_class_main, _qos_class_self, _sched_get_priority_max, - _sched_get_priority_min, _sched_yield, _sigwait, '_sigwait$NOCANCEL', - _start_wqthread, _thread_chkstk_darwin, _thread_start ] ---- !tapi-tbd -tbd-version: 4 -targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] -uuids: - - target: x86_64-macos - value: F7BD34BF-4F11-3C48-BD8B-BFC81C09CF2A - - target: x86_64-maccatalyst - value: F7BD34BF-4F11-3C48-BD8B-BFC81C09CF2A - - target: arm64-macos - value: 00000000-0000-0000-0000-000000000000 - - target: arm64-maccatalyst - value: 00000000-0000-0000-0000-000000000000 - - target: arm64e-macos - value: 9180A377-715B-3790-81DB-AB51A9F0C3C0 - - target: arm64e-maccatalyst - value: 9180A377-715B-3790-81DB-AB51A9F0C3C0 -install-name: '/usr/lib/system/libsystem_sandbox.dylib' -current-version: 1657.101.2 -parent-umbrella: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] - umbrella: System -exports: - - targets: [ arm64e-macos, x86_64-macos, x86_64-maccatalyst, arm64e-maccatalyst, - arm64-macos, arm64-maccatalyst ] - symbols: [ _APP_SANDBOX_IOKIT_CLIENT, _APP_SANDBOX_MACH, _APP_SANDBOX_READ, - _APP_SANDBOX_READ_WRITE, _IOS_SANDBOX_APPLICATION_GROUP, _IOS_SANDBOX_CONTAINER, - _SANDBOX_CHECK_ALLOW_APPROVAL, _SANDBOX_CHECK_CANONICAL, _SANDBOX_CHECK_NOFOLLOW, - _SANDBOX_CHECK_NO_APPROVAL, _SANDBOX_CHECK_NO_REPORT, _SANDBOX_EXTENSION_CANONICAL, - _SANDBOX_EXTENSION_DEFAULT, _SANDBOX_EXTENSION_MACL_LEARNING, - _SANDBOX_EXTENSION_MAGIC, _SANDBOX_EXTENSION_NOFOLLOW, _SANDBOX_EXTENSION_NO_REPORT, - _SANDBOX_EXTENSION_NO_STORAGE_CLASS, _SANDBOX_EXTENSION_PREFIXMATCH, - _SANDBOX_EXTENSION_UNRESOLVED, _SANDBOX_EXTENSION_USER_INTENT, - __amkrtemp, __sandbox_in_a_container, _gpu_bundle_find_trusted, - _gpu_bundle_is_path_trusted, _kSBXProfileNoInternet, _kSBXProfileNoNetwork, - _kSBXProfileNoWrite, _kSBXProfileNoWriteExceptTemporary, _kSBXProfilePureComputation, - _rootless_allows_task_for_pid, _rootless_apply, _rootless_apply_internal, - _rootless_apply_relative, _rootless_check_datavault_flag, - _rootless_check_restricted_flag, _rootless_check_trusted, - _rootless_check_trusted_class, _rootless_check_trusted_fd, - _rootless_convert_to_datavault, _rootless_manifest_free, _rootless_manifest_parse, - _rootless_mkdir_datavault, _rootless_mkdir_nounlink, _rootless_mkdir_restricted, - _rootless_preflight, _rootless_protected_volume, _rootless_register_trusted_storage_class, - _rootless_remove_datavault_in_favor_of_static_storage_class, - _rootless_remove_restricted_in_favor_of_static_storage_class, - _rootless_restricted_environment, _rootless_suspend, _rootless_trusted_by_self_token, - _rootless_verify_trusted_by_self_token, _sandbox_builtin_query, - _sandbox_check, _sandbox_check_bulk, _sandbox_check_by_audit_token, - _sandbox_check_by_reference, _sandbox_check_by_uniqueid, _sandbox_check_message_filter_integer, - _sandbox_check_message_filter_string, _sandbox_consume_extension, - _sandbox_consume_fs_extension, _sandbox_consume_mach_extension, - _sandbox_container_path_for_audit_token, _sandbox_container_path_for_pid, - _sandbox_enable_root_translation, _sandbox_enable_state_flag, - _sandbox_extension_consume, _sandbox_extension_issue_file, - _sandbox_extension_issue_file_to_process, _sandbox_extension_issue_file_to_process_by_pid, - _sandbox_extension_issue_file_to_self, _sandbox_extension_issue_generic, - _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_reap, - _sandbox_extension_release, _sandbox_extension_release_file, - _sandbox_extension_update_file, _sandbox_free_error, _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_issue_mach_extension, _sandbox_message_filter_query, - _sandbox_message_filter_release, _sandbox_message_filter_retain, - _sandbox_note, _sandbox_passthrough_access, _sandbox_proc_getcontainer, - _sandbox_proc_getprofilename, _sandbox_query_approval_policy_for_path, - _sandbox_query_user_intent_for_process_with_audit_token, _sandbox_reference_release, - _sandbox_reference_retain_by_audit_token, _sandbox_register_app_bundle, - _sandbox_release_fs_extension, _sandbox_requests_integrity_protection_for_preference_domain, - _sandbox_set_container_path_for_application_group, _sandbox_set_container_path_for_application_group_with_persona, - _sandbox_set_container_path_for_signing_id, _sandbox_set_container_path_for_signing_id_with_persona, - _sandbox_spawnattrs_getcontainer, _sandbox_spawnattrs_getprofilename, - _sandbox_spawnattrs_init, _sandbox_spawnattrs_setcontainer, - _sandbox_spawnattrs_setprofilename, _sandbox_suspend, _sandbox_unregister_app_bundle, - _sandbox_unsuspend ] ---- !tapi-tbd -tbd-version: 4 -targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] -uuids: - - target: x86_64-macos - value: 6B34D783-AAA5-3401-8CAD-B0BC5F639834 - - target: x86_64-maccatalyst - value: 6B34D783-AAA5-3401-8CAD-B0BC5F639834 - - target: arm64-macos - value: 00000000-0000-0000-0000-000000000000 - - target: arm64-maccatalyst - value: 00000000-0000-0000-0000-000000000000 - - target: arm64e-macos - value: A61664A2-D010-3674-95D9-1D06571F9F5A - - target: arm64e-maccatalyst - value: A61664A2-D010-3674-95D9-1D06571F9F5A -install-name: '/usr/lib/system/libsystem_secinit.dylib' -current-version: 107.100.5 -parent-umbrella: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] - umbrella: System -exports: - - targets: [ arm64e-macos, x86_64-macos, x86_64-maccatalyst, arm64e-maccatalyst, - arm64-macos, arm64-maccatalyst ] - symbols: [ __libsecinit_initializer, _libsecinit_delete_all_data_container_content_for_current_user, - _libsecinit_fileoperation_save, _libsecinit_fileoperation_set_attributes, - _libsecinit_fileoperation_symlink ] ---- !tapi-tbd -tbd-version: 4 -targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] -uuids: - - target: x86_64-macos - value: 8C17C62F-C82C-3A4C-A832-70EBEED5B0CA - - target: x86_64-maccatalyst - value: 8C17C62F-C82C-3A4C-A832-70EBEED5B0CA - - target: arm64-macos - value: 00000000-0000-0000-0000-000000000000 - - target: arm64-maccatalyst - value: 00000000-0000-0000-0000-000000000000 - - target: arm64e-macos - value: 753D2289-1662-3922-8A94-FAC9DED81CD5 - - target: arm64e-maccatalyst - value: 753D2289-1662-3922-8A94-FAC9DED81CD5 -install-name: '/usr/lib/system/libsystem_symptoms.dylib' -parent-umbrella: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] - umbrella: System -exports: - - targets: [ arm64e-macos, x86_64-macos, x86_64-maccatalyst, arm64e-maccatalyst, - arm64-macos, arm64-maccatalyst ] - symbols: [ __symptoms_daemon_fallback_initial_disposition, __symptoms_daemon_fallback_subseq_disposition, - __symptoms_is_daemon_fallback_blacklisted, _symptom_framework_init, - _symptom_framework_set_version, _symptom_new, _symptom_send, - _symptom_send_immediate, _symptom_set_additional_qualifier, - _symptom_set_qualifier ] ---- !tapi-tbd -tbd-version: 4 -targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] -uuids: - - target: x86_64-macos - value: 5437B3FC-51DA-3F66-8C5C-31F7D5704C73 - - target: x86_64-maccatalyst - value: 5437B3FC-51DA-3F66-8C5C-31F7D5704C73 - - target: arm64-macos - value: 00000000-0000-0000-0000-000000000000 - - target: arm64-maccatalyst - value: 00000000-0000-0000-0000-000000000000 - - target: arm64e-macos - value: AAD0C6C8-F622-3FAC-AF4F-A2A021F9AE17 - - target: arm64e-maccatalyst - value: AAD0C6C8-F622-3FAC-AF4F-A2A021F9AE17 -install-name: '/usr/lib/system/libsystem_trace.dylib' -current-version: 1375.100.9 -parent-umbrella: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] - umbrella: System -exports: - - targets: [ x86_64-maccatalyst, x86_64-macos, arm64e-maccatalyst, arm64e-macos, - arm64-macos, arm64-maccatalyst ] - symbols: [ __libtrace_fork_child, __libtrace_init, __os_activity_create, - __os_activity_current, __os_activity_initiate, __os_activity_initiate_f, - __os_activity_label_useraction, __os_activity_none, __os_activity_set_breadcrumb, - __os_activity_start, __os_activity_stream_entry_encode, __os_log_create, - __os_log_debug, __os_log_debug_impl, __os_log_default, __os_log_disabled, - __os_log_error, __os_log_error_impl, __os_log_fault, __os_log_fault_impl, - __os_log_impl, __os_log_internal, __os_log_pack_fill, __os_log_pack_size, - __os_log_preferences_compute, __os_log_preferences_copy_cache, - __os_log_preferences_load, __os_log_preferences_load_sysprefs, - __os_log_release, __os_log_set_nscf_formatter, __os_signpost_emit_impl, - __os_signpost_emit_unreliably_with_name_impl, __os_signpost_emit_with_name_impl, - __os_signpost_pack_fill, __os_signpost_pack_send, __os_state_request_for_pidlist, - __os_trace_atm_diagnostic_config, __os_trace_basesystem_storage_available, - __os_trace_calloc, __os_trace_commpage_compute, __os_trace_fdscandir_b, - __os_trace_get_boot_uuid, __os_trace_get_image_info, __os_trace_get_mode_for_pid, - __os_trace_get_times_now, __os_trace_getxattr_at, __os_trace_intprefsdir_path, - __os_trace_is_development_build, __os_trace_lazy_init_completed_4libxpc, - __os_trace_log_simple, __os_trace_macho_for_each_slice, __os_trace_malloc, - __os_trace_memdup, __os_trace_mmap, __os_trace_mmap_at, __os_trace_mmap_offset, - __os_trace_mode_match_4tests, __os_trace_prefs_latest_version_4tests, - __os_trace_prefsdir_path, __os_trace_read_file_at, __os_trace_read_plist_at, - __os_trace_realloc, __os_trace_scandir_free_namelist, __os_trace_sect_names, - __os_trace_set_diagnostic_flags, __os_trace_set_mode_for_pid, - __os_trace_strdup, __os_trace_sysprefsdir_path, __os_trace_update_with_datavolume_4launchd, - __os_trace_with_buffer, __os_trace_write, __os_trace_writev, - __os_trace_zalloc, _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, - _os_log_backtrace_copy_serialized_buffer, _os_log_backtrace_create_from_buffer, - _os_log_backtrace_create_from_current, _os_log_backtrace_create_from_pcs, - _os_log_backtrace_create_from_return_address, _os_log_backtrace_destroy, - _os_log_backtrace_get_frames, _os_log_backtrace_get_length, - _os_log_backtrace_print_to_blob, _os_log_backtrace_serialize_to_blob, - _os_log_create, _os_log_errors_count, _os_log_fault_default_callback, - _os_log_faults_count, _os_log_fmt_compose, _os_log_fmt_convert_trace, - _os_log_fmt_extract_pubdata, _os_log_fmt_get_plugin, _os_log_get_type, - _os_log_is_debug_enabled, _os_log_is_enabled, _os_log_pack_compose, - _os_log_pack_send, _os_log_pack_send_and_compose, _os_log_set_client_type, - _os_log_set_enabled, _os_log_set_fault_callback, _os_log_shim_enabled, - _os_log_shim_legacy_logging_enabled, _os_log_shim_with_CFString, - _os_log_type_enabled, _os_log_with_args, _os_signpost_enabled, - _os_signpost_id_generate, _os_signpost_id_make_with_pointer, - _os_signpost_set_introspection_hook_4Perf, _os_state_add_handler, - _os_state_remove_handler, _os_trace_debug_enabled, _os_trace_get_mode, - _os_trace_get_type, _os_trace_info_enabled, _os_trace_set_mode ] - objc-classes: [ OS_os_log ] ---- !tapi-tbd -tbd-version: 4 -targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] -uuids: - - target: x86_64-macos - value: BAF19DAC-B9ED-3544-97E9-E277BA113717 - - target: x86_64-maccatalyst - value: BAF19DAC-B9ED-3544-97E9-E277BA113717 - - target: arm64-macos - value: 00000000-0000-0000-0000-000000000000 - - target: arm64-maccatalyst - value: 00000000-0000-0000-0000-000000000000 - - target: arm64e-macos - value: 687985E7-0BD0-3898-9FCA-F8BCAAE282AE - - target: arm64e-maccatalyst - value: 687985E7-0BD0-3898-9FCA-F8BCAAE282AE -install-name: '/usr/lib/system/libunwind.dylib' -current-version: 202.2 -parent-umbrella: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] - umbrella: System -exports: - - targets: [ x86_64-maccatalyst, x86_64-macos ] - symbols: [ '$ld$hide$os10.4$__Unwind_Backtrace', '$ld$hide$os10.4$__Unwind_DeleteException', - '$ld$hide$os10.4$__Unwind_FindEnclosingFunction', '$ld$hide$os10.4$__Unwind_Find_FDE', - '$ld$hide$os10.4$__Unwind_ForcedUnwind', '$ld$hide$os10.4$__Unwind_GetCFA', - '$ld$hide$os10.4$__Unwind_GetDataRelBase', '$ld$hide$os10.4$__Unwind_GetGR', - '$ld$hide$os10.4$__Unwind_GetIP', '$ld$hide$os10.4$__Unwind_GetIPInfo', - '$ld$hide$os10.4$__Unwind_GetLanguageSpecificData', '$ld$hide$os10.4$__Unwind_GetRegionStart', - '$ld$hide$os10.4$__Unwind_GetTextRelBase', '$ld$hide$os10.4$__Unwind_RaiseException', - '$ld$hide$os10.4$__Unwind_Resume', '$ld$hide$os10.4$__Unwind_Resume_or_Rethrow', - '$ld$hide$os10.4$__Unwind_SetGR', '$ld$hide$os10.4$__Unwind_SetIP', - '$ld$hide$os10.4$___deregister_frame', '$ld$hide$os10.4$___deregister_frame_info', - '$ld$hide$os10.4$___deregister_frame_info_bases', '$ld$hide$os10.4$___register_frame', - '$ld$hide$os10.4$___register_frame_info', '$ld$hide$os10.4$___register_frame_info_bases', - '$ld$hide$os10.4$___register_frame_info_table', '$ld$hide$os10.4$___register_frame_info_table_bases', - '$ld$hide$os10.4$___register_frame_table', '$ld$hide$os10.5$__Unwind_Backtrace', - '$ld$hide$os10.5$__Unwind_DeleteException', '$ld$hide$os10.5$__Unwind_FindEnclosingFunction', - '$ld$hide$os10.5$__Unwind_Find_FDE', '$ld$hide$os10.5$__Unwind_ForcedUnwind', - '$ld$hide$os10.5$__Unwind_GetCFA', '$ld$hide$os10.5$__Unwind_GetDataRelBase', - '$ld$hide$os10.5$__Unwind_GetGR', '$ld$hide$os10.5$__Unwind_GetIP', - '$ld$hide$os10.5$__Unwind_GetIPInfo', '$ld$hide$os10.5$__Unwind_GetLanguageSpecificData', - '$ld$hide$os10.5$__Unwind_GetRegionStart', '$ld$hide$os10.5$__Unwind_GetTextRelBase', - '$ld$hide$os10.5$__Unwind_RaiseException', '$ld$hide$os10.5$__Unwind_Resume', - '$ld$hide$os10.5$__Unwind_Resume_or_Rethrow', '$ld$hide$os10.5$__Unwind_SetGR', - '$ld$hide$os10.5$__Unwind_SetIP', '$ld$hide$os10.5$___deregister_frame', - '$ld$hide$os10.5$___deregister_frame_info', '$ld$hide$os10.5$___deregister_frame_info_bases', - '$ld$hide$os10.5$___register_frame', '$ld$hide$os10.5$___register_frame_info', - '$ld$hide$os10.5$___register_frame_info_bases', '$ld$hide$os10.5$___register_frame_info_table', - '$ld$hide$os10.5$___register_frame_info_table_bases', '$ld$hide$os10.5$___register_frame_table', - '$ld$hide$os10.6$___deregister_frame_info', '$ld$hide$os10.6$___deregister_frame_info_bases', - '$ld$hide$os10.6$___register_frame_info', '$ld$hide$os10.6$___register_frame_info_bases', - '$ld$hide$os10.6$___register_frame_info_table', '$ld$hide$os10.6$___register_frame_info_table_bases', - '$ld$hide$os10.6$___register_frame_table', ___deregister_frame_info, - ___deregister_frame_info_bases, ___register_frame_info, ___register_frame_info_bases, - ___register_frame_info_table, ___register_frame_info_table_bases, - ___register_frame_table ] - - targets: [ x86_64-maccatalyst, x86_64-macos, arm64e-maccatalyst, arm64e-macos, - arm64-macos, arm64-maccatalyst ] - symbols: [ __Unwind_Backtrace, __Unwind_DeleteException, __Unwind_FindEnclosingFunction, - __Unwind_Find_FDE, __Unwind_ForcedUnwind, __Unwind_GetCFA, - __Unwind_GetDataRelBase, __Unwind_GetGR, __Unwind_GetIP, __Unwind_GetIPInfo, - __Unwind_GetLanguageSpecificData, __Unwind_GetRegionStart, - __Unwind_GetTextRelBase, __Unwind_RaiseException, __Unwind_Resume, - __Unwind_Resume_or_Rethrow, __Unwind_SetGR, __Unwind_SetIP, - ___deregister_frame, ___register_frame, ___unw_add_dynamic_fde, - ___unw_remove_dynamic_fde, _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 ] ---- !tapi-tbd -tbd-version: 4 -targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] -uuids: - - target: x86_64-macos - value: FBB81F7D-564A-3971-A28E-6AA174470B4C - - target: x86_64-maccatalyst - value: FBB81F7D-564A-3971-A28E-6AA174470B4C - - target: arm64-macos - value: 00000000-0000-0000-0000-000000000000 - - target: arm64-maccatalyst - value: 00000000-0000-0000-0000-000000000000 - - target: arm64e-macos - value: 4C6EB90B-BD32-3CAD-9F25-C9F234775EFB - - target: arm64e-maccatalyst - value: 4C6EB90B-BD32-3CAD-9F25-C9F234775EFB -install-name: '/usr/lib/system/libxpc.dylib' -current-version: 2236.100.61 -parent-umbrella: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] - umbrella: System -exports: - - targets: [ x86_64-maccatalyst, x86_64-macos, arm64e-maccatalyst, arm64e-macos, - arm64-macos, arm64-maccatalyst ] - symbols: [ _CEAcquireManagedContext, _CEAcquireUnmanagedContext, _CEBuffer_cmp, - _CEConjureContextFromDER, _CEContextQuery, _CEGetErrorString, - _CEPrepareQuery, _CEReleaseManagedContext, _CEValidate, _XPC_ACTIVITY_ALLOW_BATTERY, - _XPC_ACTIVITY_APP_REFRESH, _XPC_ACTIVITY_CHECK_IN, _XPC_ACTIVITY_COMMUNICATES_WITH_PAIRED_DEVICE, - _XPC_ACTIVITY_CPU_INTENSIVE, _XPC_ACTIVITY_DELAY, _XPC_ACTIVITY_DESIRED_MOTION_STATE, - _XPC_ACTIVITY_DISK_INTENSIVE, _XPC_ACTIVITY_DO_IT_LATER, _XPC_ACTIVITY_DUET_ACTIVITY_SCHEDULER_DATA, - _XPC_ACTIVITY_DUET_ATTRIBUTE_COST, _XPC_ACTIVITY_DUET_ATTRIBUTE_NAME, - _XPC_ACTIVITY_DUET_ATTRIBUTE_VALUE, _XPC_ACTIVITY_DUET_RELATED_APPLICATIONS, - _XPC_ACTIVITY_EXCLUSIVE, _XPC_ACTIVITY_EXPECTED_DURATION, - _XPC_ACTIVITY_GRACE_PERIOD, _XPC_ACTIVITY_GROUP_CONCURRENCY_LIMIT, - _XPC_ACTIVITY_GROUP_NAME, _XPC_ACTIVITY_INTERVAL, _XPC_ACTIVITY_INTERVAL_15_MIN, - _XPC_ACTIVITY_INTERVAL_1_DAY, _XPC_ACTIVITY_INTERVAL_1_HOUR, - _XPC_ACTIVITY_INTERVAL_1_MIN, _XPC_ACTIVITY_INTERVAL_30_MIN, - _XPC_ACTIVITY_INTERVAL_4_HOURS, _XPC_ACTIVITY_INTERVAL_5_MIN, - _XPC_ACTIVITY_INTERVAL_7_DAYS, _XPC_ACTIVITY_INTERVAL_8_HOURS, - _XPC_ACTIVITY_INVOLVED_PROCESSES, _XPC_ACTIVITY_MAY_REBOOT_DEVICE, - _XPC_ACTIVITY_MEMORY_INTENSIVE, _XPC_ACTIVITY_MOTION_STATE_AUTOMOTIVE, - _XPC_ACTIVITY_MOTION_STATE_AUTOMOTIVE_MOVING, _XPC_ACTIVITY_MOTION_STATE_AUTOMOTIVE_STATIONARY, - _XPC_ACTIVITY_MOTION_STATE_CYCLING, _XPC_ACTIVITY_MOTION_STATE_RUNNING, - _XPC_ACTIVITY_MOTION_STATE_STATIONARY, _XPC_ACTIVITY_MOTION_STATE_WALKING, - _XPC_ACTIVITY_NETWORK_DOWNLOAD_SIZE, _XPC_ACTIVITY_NETWORK_TRANSFER_BIDIRECTIONAL, - _XPC_ACTIVITY_NETWORK_TRANSFER_DIRECTION, _XPC_ACTIVITY_NETWORK_TRANSFER_DIRECTION_DOWNLOAD, - _XPC_ACTIVITY_NETWORK_TRANSFER_DIRECTION_UPLOAD, _XPC_ACTIVITY_NETWORK_TRANSFER_ENDPOINT, - _XPC_ACTIVITY_NETWORK_TRANSFER_PARAMETERS, _XPC_ACTIVITY_NETWORK_TRANSFER_SIZE, - _XPC_ACTIVITY_NETWORK_UPLOAD_SIZE, _XPC_ACTIVITY_POST_INSTALL, - _XPC_ACTIVITY_POWER_NAP, _XPC_ACTIVITY_PREVENT_DEVICE_SLEEP, - _XPC_ACTIVITY_PRIORITY, _XPC_ACTIVITY_PRIORITY_MAINTENANCE, - _XPC_ACTIVITY_PRIORITY_UTILITY, _XPC_ACTIVITY_RANDOM_INITIAL_DELAY, - _XPC_ACTIVITY_REPEATING, _XPC_ACTIVITY_REPLY_ENDPOINT, _XPC_ACTIVITY_REQUIRES_BUDDY_COMPLETE, - _XPC_ACTIVITY_REQUIRES_CLASS_A, _XPC_ACTIVITY_REQUIRES_CLASS_B, - _XPC_ACTIVITY_REQUIRES_CLASS_C, _XPC_ACTIVITY_REQUIRE_BATTERY_LEVEL, - _XPC_ACTIVITY_REQUIRE_HDD_SPINNING, _XPC_ACTIVITY_REQUIRE_INEXPENSIVE_NETWORK_CONNECTIVITY, - _XPC_ACTIVITY_REQUIRE_NETWORK_CONNECTIVITY, _XPC_ACTIVITY_REQUIRE_SCREEN_SLEEP, - _XPC_ACTIVITY_REQUIRE_SIGNIFICANT_USER_INACTIVITY, _XPC_ACTIVITY_RUN_WHEN_APP_FOREGROUNDED, - _XPC_ACTIVITY_SEQUENCE_NUMBER, _XPC_ACTIVITY_SHOULD_WAKE_DEVICE, - _XPC_ACTIVITY_USER_REQUESTED_BACKUP_TASK, _XPC_ACTIVITY_USES_DATA_BUDGETING, - _XPC_ACTIVITY_USES_DUET_POWER_BUDGETING, _XPC_COALITION_INFO_KEY_BUNDLE_IDENTIFIER, - _XPC_COALITION_INFO_KEY_CID, _XPC_COALITION_INFO_KEY_NAME, - _XPC_COALITION_INFO_KEY_RESOURCE_USAGE_BLOB, __availability_version_check, - __launch_job_routine, __launch_job_routine_async, __launch_msg2, - __launch_server_test_routine, __launch_service_stats_copy_4ppse_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, - __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, - __vproc_transaction_set_clean_callback, __vproc_transaction_try_exit, - __vproc_transactions_enable, __vprocmgr_detach_from_console, - __vprocmgr_getsocket, __vprocmgr_init, __vprocmgr_log_drain, - __vprocmgr_log_forward, __vprocmgr_move_subset_to_user, __vprocmgr_switch_to_session, - __xpc_bool_create_distinct, __xpc_bool_false, __xpc_bool_set_value, - __xpc_bool_true, __xpc_connection_get_parent_4test, __xpc_connection_get_recvp_4test, - __xpc_connection_set_event_handler_f, __xpc_data_set_value, - __xpc_dictionary_create_reply_with_port, __xpc_dictionary_extract_mach_send, - __xpc_dictionary_extract_reply_msg_id, __xpc_dictionary_extract_reply_port, - __xpc_dictionary_get_reply_msg_id, __xpc_dictionary_set_remote_connection, - __xpc_dictionary_set_reply_msg_id, __xpc_domain_routine, __xpc_double_set_value, - __xpc_error_connection_interrupted, __xpc_error_connection_invalid, - __xpc_error_key_description, __xpc_error_peer_code_signing_requirement, - __xpc_error_termination_imminent, __xpc_event_key_name, __xpc_event_key_stream_name, - __xpc_fd_get_port, __xpc_int64_set_value, __xpc_payload_create_from_mach_msg, - __xpc_pipe_handle_mig, __xpc_pipe_interface_routine, __xpc_pipe_interface_routine_async, - __xpc_pipe_interface_simpleroutine, __xpc_runtime_get_entitlements_data, - __xpc_runtime_get_self_entitlements, __xpc_runtime_is_app_sandboxed, - __xpc_service_last_xref_cancel, __xpc_service_routine, __xpc_shmem_get_mach_port, - __xpc_spawnattr_binprefs_pack, __xpc_spawnattr_binprefs_size, - __xpc_spawnattr_binprefs_unpack, __xpc_spawnattr_pack_string, - __xpc_spawnattr_pack_string_fragment, __xpc_spawnattr_unpack_string, - __xpc_spawnattr_unpack_strings, __xpc_string_set_value, __xpc_type_activity, - __xpc_type_array, __xpc_type_base, __xpc_type_bool, __xpc_type_bundle, - __xpc_type_connection, __xpc_type_data, __xpc_type_date, __xpc_type_dictionary, - __xpc_type_double, __xpc_type_endpoint, __xpc_type_error, - __xpc_type_fd, __xpc_type_file_transfer, __xpc_type_int64, - __xpc_type_mach_recv, __xpc_type_mach_send, __xpc_type_mach_send_once, - __xpc_type_null, __xpc_type_pipe, __xpc_type_pointer, __xpc_type_serializer, - __xpc_type_service, __xpc_type_service_instance, __xpc_type_shmem, - __xpc_type_string, __xpc_type_uint64, __xpc_type_uuid, __xpc_vtables, - _bootstrap_check_in, _bootstrap_check_in2, _bootstrap_check_in3, - _bootstrap_create_server, _bootstrap_create_service, _bootstrap_get_root, - _bootstrap_info, _bootstrap_init, _bootstrap_look_up, _bootstrap_look_up2, - _bootstrap_look_up3, _bootstrap_look_up_per_user, _bootstrap_lookup_children, - _bootstrap_parent, _bootstrap_register, _bootstrap_register2, - _bootstrap_status, _bootstrap_strerror, _bootstrap_subset, - _bootstrap_unprivileged, _cc_clear, _ccder_blob_decode_bitstring, - _ccder_blob_decode_eckey, _ccder_blob_decode_len, _ccder_blob_decode_len_strict, - _ccder_blob_decode_oid, _ccder_blob_decode_range, _ccder_blob_decode_range_strict, - _ccder_blob_decode_seqii, _ccder_blob_decode_seqii_strict, - _ccder_blob_decode_sequence_tl, _ccder_blob_decode_sequence_tl_strict, - _ccder_blob_decode_tag, _ccder_blob_decode_tl, _ccder_blob_decode_tl_internal, - _ccder_blob_decode_tl_strict, _ccder_blob_decode_uint, _ccder_blob_decode_uint64, - _ccder_blob_decode_uint_n, _ccder_blob_decode_uint_strict, - _ccder_blob_encode_body, _ccder_blob_encode_body_tl, _ccder_blob_encode_eckey, - _ccder_blob_encode_implicit_integer, _ccder_blob_encode_implicit_octet_string, - _ccder_blob_encode_implicit_raw_octet_string, _ccder_blob_encode_implicit_uint64, - _ccder_blob_encode_integer, _ccder_blob_encode_len, _ccder_blob_encode_octet_string, - _ccder_blob_encode_oid, _ccder_blob_encode_raw_octet_string, - _ccder_blob_encode_tag, _ccder_blob_encode_tl, _ccder_blob_encode_uint64, - _ccder_blob_reserve, _ccder_blob_reserve_tl, _ccder_decode_bitstring, - _ccder_decode_constructed_tl, _ccder_decode_constructed_tl_strict, - _ccder_decode_eckey, _ccder_decode_len, _ccder_decode_len_strict, - _ccder_decode_oid, _ccder_decode_seqii, _ccder_decode_seqii_strict, - _ccder_decode_sequence_tl, _ccder_decode_sequence_tl_strict, - _ccder_decode_tag, _ccder_decode_tl, _ccder_decode_tl_strict, - _ccder_decode_uint, _ccder_decode_uint64, _ccder_decode_uint_n, - _ccder_decode_uint_strict, _ccder_encode_body, _ccder_encode_body_nocopy, - _ccder_encode_constructed_tl, _ccder_encode_eckey, _ccder_encode_eckey_size, - _ccder_encode_implicit_integer, _ccder_encode_implicit_octet_string, - _ccder_encode_implicit_raw_octet_string, _ccder_encode_implicit_uint64, - _ccder_encode_integer, _ccder_encode_len, _ccder_encode_octet_string, - _ccder_encode_oid, _ccder_encode_raw_octet_string, _ccder_encode_tag, - _ccder_encode_tl, _ccder_encode_uint64, _ccder_sizeof, _ccder_sizeof_eckey, - _ccder_sizeof_implicit_integer, _ccder_sizeof_implicit_uint64, - _ccder_sizeof_len, _ccder_sizeof_oid, _ccder_sizeof_tag, _ccder_sizeof_uint64, - _ccn_bitlen, _ccn_read_uint, _ccn_write_int, _ccn_write_int_size, - _ccn_write_uint, _ccn_write_uint_padded_ct, _ccn_write_uint_size, - _create_and_switch_to_per_session_launchd, _der_decode_boolean, - _der_decode_key_value, _der_decode_number, _der_decode_string, - _der_encode_number_body, _der_size_array, _der_size_dictionary, - _der_size_element, _der_size_number, _der_vm_CEType_from_context, - _der_vm_bool_from_context, _der_vm_buffer_from_context, _der_vm_context_create, - _der_vm_context_is_valid, _der_vm_execute, _der_vm_execute_match_bool, - _der_vm_execute_match_integer, _der_vm_execute_match_string, - _der_vm_execute_match_string_prefix, _der_vm_execute_nocopy, - _der_vm_execute_select_index, _der_vm_execute_select_key, - _der_vm_execute_select_longest_matching_key, _der_vm_execute_string_prefix_value_allowed, - _der_vm_execute_string_value_allowed, _der_vm_integer_from_context, - _der_vm_iterate, _der_vm_string_from_context, _kCEAPIMisuse, - _kCEAllocationFailed, _kCEInvalidArgument, _kCEMalformedEntitlements, - _kCENoError, _kCEQueryCannotBeSatisfied, _launch_activate_socket, - _launch_active_user_switch, _launch_add_external_service, - _launch_bootout_user_service_4coresim, _launch_copy_busy_extension_instances, - _launch_copy_endpoints_properties_for_pid, _launch_copy_extension_properties, - _launch_copy_extension_properties_for_pid, _launch_copy_properties_for_pid_4assertiond, - _launch_create_persona, _launch_data_alloc, _launch_data_array_get_count, - _launch_data_array_get_index, _launch_data_array_set_index, - _launch_data_copy, _launch_data_dict_get_count, _launch_data_dict_insert, - _launch_data_dict_iterate, _launch_data_dict_lookup, _launch_data_dict_remove, - _launch_data_free, _launch_data_get_bool, _launch_data_get_errno, - _launch_data_get_fd, _launch_data_get_integer, _launch_data_get_machport, - _launch_data_get_opaque, _launch_data_get_opaque_size, _launch_data_get_real, - _launch_data_get_string, _launch_data_get_type, _launch_data_new_bool, - _launch_data_new_errno, _launch_data_new_fd, _launch_data_new_integer, - _launch_data_new_machport, _launch_data_new_opaque, _launch_data_new_real, - _launch_data_new_string, _launch_data_pack, _launch_data_set_bool, - _launch_data_set_errno, _launch_data_set_fd, _launch_data_set_integer, - _launch_data_set_machport, _launch_data_set_opaque, _launch_data_set_real, - _launch_data_set_string, _launch_data_unpack, _launch_destroy_persona, - _launch_disable_directory, _launch_enable_directory, _launch_extension_check_in_live_4UIKit, - _launch_extension_property_bundle_id, _launch_extension_property_host_bundle_id, - _launch_extension_property_host_pid, _launch_extension_property_path, - _launch_extension_property_pid, _launch_extension_property_version, - _launch_extension_property_xpc_bundle, _launch_get_fd, _launch_get_service_enabled, - _launch_get_system_service_enabled, _launch_msg, _launch_path_for_user_service_4coresim, - _launch_perfcheck_property_endpoint_active, _launch_perfcheck_property_endpoint_event, - _launch_perfcheck_property_endpoint_name, _launch_perfcheck_property_endpoint_needs_activation, - _launch_perfcheck_property_endpoints, _launch_remove_external_service, - _launch_service_instance_copy_uuids, _launch_service_instance_create, - _launch_service_instance_remove, _launch_service_stats_disable_4ppse, - _launch_service_stats_enable_4ppse, _launch_service_stats_is_enabled_4ppse, - _launch_set_service_enabled, _launch_set_system_service_enabled, - _launch_socket_service_check_in, _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, _mpm_wait, _os_system_version_get_current_version, - _os_system_version_get_ios_support_version, _os_system_version_sim_get_current_host_version, - _os_transaction_copy_description, _os_transaction_create, - _os_transaction_get_description, _os_transaction_get_timestamp, - _os_transaction_needs_more_time, _place_hold_on_real_loginwindow, - _reboot2, _reboot3, _recursivelyValidateEntitlements, _vproc_release, - _vproc_retain, _vproc_standby_begin, _vproc_standby_end, _vproc_swap_complex, - _vproc_swap_integer, _vproc_swap_string, _vproc_transaction_begin, - _vproc_transaction_end, _vprocmgr_lookup_vproc, _xpc_activity_add_eligibility_changed_handler, - _xpc_activity_copy_criteria, _xpc_activity_copy_dispatch_queue, - _xpc_activity_copy_identifier, _xpc_activity_debug, _xpc_activity_defer_until_network_change, - _xpc_activity_defer_until_percentage, _xpc_activity_get_percentage, - _xpc_activity_get_state, _xpc_activity_list, _xpc_activity_register, - _xpc_activity_remove_eligibility_changed_handler, _xpc_activity_run, - _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_bundle_copy_info_dictionary, - _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_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, - _xpc_connection_send_notification, _xpc_connection_set_bootstrap, - _xpc_connection_set_bs_type, _xpc_connection_set_context, - _xpc_connection_set_event_channel, _xpc_connection_set_event_handler, - _xpc_connection_set_finalizer_f, _xpc_connection_set_instance, - _xpc_connection_set_instance_binpref, _xpc_connection_set_legacy, - _xpc_connection_set_non_launching, _xpc_connection_set_oneshot_instance, - _xpc_connection_set_peer_code_signing_requirement, _xpc_connection_set_privileged, - _xpc_connection_set_qos_class_fallback, _xpc_connection_set_qos_class_floor, - _xpc_connection_set_target_queue, _xpc_connection_set_target_uid, - _xpc_connection_suspend, _xpc_copy, _xpc_copy_bootstrap, _xpc_copy_clean_description, - _xpc_copy_code_signing_identity_for_token, _xpc_copy_debug_description, - _xpc_copy_description, _xpc_copy_domain, _xpc_copy_entitlement_for_self, - _xpc_copy_entitlement_for_token, _xpc_copy_entitlements_data_for_token, - _xpc_copy_entitlements_for_pid, _xpc_copy_entitlements_for_self, - _xpc_copy_event, _xpc_copy_event_entitlements, _xpc_copy_short_description, - _xpc_create_from_ce_der, _xpc_create_from_ce_der_with_key, - _xpc_create_from_plist, _xpc_create_from_plist_descriptor, - _xpc_create_from_serialization, _xpc_create_from_serialization_with_ool, - _xpc_create_reply_with_format, _xpc_create_reply_with_format_and_arguments, - _xpc_create_with_format, _xpc_create_with_format_and_arguments, - _xpc_data_create, _xpc_data_create_with_dispatch_data, _xpc_data_get_bytes, - _xpc_data_get_bytes_ptr, _xpc_data_get_inline_max, _xpc_data_get_length, - _xpc_date_create, _xpc_date_create_absolute, _xpc_date_create_from_current, - _xpc_date_get_value, _xpc_date_get_value_absolute, _xpc_date_is_int64_range, - _xpc_dictionary_apply, _xpc_dictionary_apply_f, _xpc_dictionary_copy_basic_description, - _xpc_dictionary_copy_mach_send, _xpc_dictionary_create, _xpc_dictionary_create_connection, - _xpc_dictionary_create_empty, _xpc_dictionary_create_reply, - _xpc_dictionary_dup_fd, _xpc_dictionary_expects_reply, _xpc_dictionary_extract_mach_recv, - _xpc_dictionary_get_array, _xpc_dictionary_get_audit_token, - _xpc_dictionary_get_bool, _xpc_dictionary_get_connection, - _xpc_dictionary_get_count, _xpc_dictionary_get_data, _xpc_dictionary_get_date, - _xpc_dictionary_get_dictionary, _xpc_dictionary_get_double, - _xpc_dictionary_get_int64, _xpc_dictionary_get_pointer, _xpc_dictionary_get_remote_connection, - _xpc_dictionary_get_string, _xpc_dictionary_get_uint64, _xpc_dictionary_get_uuid, - _xpc_dictionary_get_value, _xpc_dictionary_handoff_reply, - _xpc_dictionary_handoff_reply_f, _xpc_dictionary_send_reply, - _xpc_dictionary_set_bool, _xpc_dictionary_set_connection, - _xpc_dictionary_set_data, _xpc_dictionary_set_date, _xpc_dictionary_set_double, - _xpc_dictionary_set_fd, _xpc_dictionary_set_int64, _xpc_dictionary_set_mach_recv, - _xpc_dictionary_set_mach_send, _xpc_dictionary_set_pointer, - _xpc_dictionary_set_string, _xpc_dictionary_set_uint64, _xpc_dictionary_set_uuid, - _xpc_dictionary_set_value, _xpc_double_create, _xpc_double_get_value, - _xpc_endpoint_compare, _xpc_endpoint_copy_listener_port_4sim, - _xpc_endpoint_create, _xpc_endpoint_create_bs_named, _xpc_endpoint_create_mach_port_4sim, - _xpc_endpoint_get_bs_job_handle, _xpc_equal, _xpc_event_publisher_activate, - _xpc_event_publisher_create, _xpc_event_publisher_fire, _xpc_event_publisher_fire_noboost, - _xpc_event_publisher_fire_with_reply, _xpc_event_publisher_fire_with_reply_sync, - _xpc_event_publisher_get_subscriber_asid, _xpc_event_publisher_set_error_handler, - _xpc_event_publisher_set_handler, _xpc_event_publisher_set_initial_load_completed_handler_4remoted, - _xpc_event_publisher_set_subscriber_keepalive, _xpc_event_stream_check_in, - _xpc_event_stream_check_in2, _xpc_exit_reason_get_label, _xpc_extension_type_init, - _xpc_fd_create, _xpc_fd_dup, _xpc_file_transfer_cancel, _xpc_file_transfer_copy_io, - _xpc_file_transfer_create_with_fd, _xpc_file_transfer_create_with_path, - _xpc_file_transfer_get_size, _xpc_file_transfer_get_transfer_id, - _xpc_file_transfer_send_finished, _xpc_file_transfer_set_transport_writing_callbacks, - _xpc_file_transfer_write_finished, _xpc_file_transfer_write_to_fd, - _xpc_file_transfer_write_to_path, _xpc_generate_audit_token, - _xpc_get_attachment_endpoint, _xpc_get_class4NSXPC, _xpc_get_event_name, - _xpc_get_instance, _xpc_get_type, _xpc_handle_service, _xpc_handle_subservice, - _xpc_hash, _xpc_impersonate_user, _xpc_init_services, _xpc_inspect_copy_description, - _xpc_inspect_copy_description_local, _xpc_inspect_copy_short_description, - _xpc_inspect_copy_short_description_local, _xpc_install_remote_hooks, - _xpc_int64_create, _xpc_int64_get_value, _xpc_is_kind_of_xpc_object4NSXPC, - _xpc_mach_recv_create, _xpc_mach_recv_extract_right, _xpc_mach_send_copy_right, - _xpc_mach_send_create, _xpc_mach_send_create_with_disposition, - _xpc_mach_send_get_right, _xpc_mach_send_once_create, _xpc_mach_send_once_extract_right, - _xpc_main, _xpc_make_serialization, _xpc_make_serialization_with_ool, - _xpc_null_create, _xpc_pipe_create, _xpc_pipe_create_from_port, - _xpc_pipe_create_reply_from_port, _xpc_pipe_invalidate, _xpc_pipe_receive, - _xpc_pipe_routine, _xpc_pipe_routine_async, _xpc_pipe_routine_forward, - _xpc_pipe_routine_reply, _xpc_pipe_routine_with_flags, _xpc_pipe_simpleroutine, - _xpc_pipe_try_receive, _xpc_pointer_create, _xpc_pointer_get_value, - _xpc_receive_mach_msg, _xpc_receive_remote_msg, _xpc_release, - _xpc_retain, _xpc_service_attach, _xpc_service_attach_with_flags, - _xpc_service_create, _xpc_service_create_from_specifier, _xpc_service_get_rendezvous_token, - _xpc_service_instance_dup2, _xpc_service_instance_get_context, - _xpc_service_instance_get_host_pid, _xpc_service_instance_get_pid, - _xpc_service_instance_get_type, _xpc_service_instance_is_configurable, - _xpc_service_instance_run, _xpc_service_instance_set_binpref, - _xpc_service_instance_set_context, _xpc_service_instance_set_cwd, - _xpc_service_instance_set_endpoint, _xpc_service_instance_set_environment, - _xpc_service_instance_set_finalizer_f, _xpc_service_instance_set_jetsam_properties, - _xpc_service_instance_set_path, _xpc_service_instance_set_start_suspended, - _xpc_service_kickstart, _xpc_service_kickstart_with_flags, - _xpc_service_set_attach_handler, _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_transactions_enable, - _xpc_type_get_name, _xpc_uint64_create, _xpc_uint64_get_value, - _xpc_uuid_create, _xpc_uuid_get_bytes ] - objc-classes: [ OS_xpc_object ] - - targets: [ arm64e-maccatalyst, arm64e-macos, arm64-macos, arm64-maccatalyst ] - symbols: [ _cc_abort, _cc_disable_dit, _cc_try_abort, _cc_try_abort_if ] -... diff --git a/lib/libc/darwin/libSystem.13.tbd b/lib/libc/darwin/libSystem.tbd similarity index 75% rename from lib/libc/darwin/libSystem.13.tbd rename to lib/libc/darwin/libSystem.tbd index d29feaa1e4..09df08185b 100644 --- a/lib/libc/darwin/libSystem.13.tbd +++ b/lib/libc/darwin/libSystem.tbd @@ -1,10 +1,14 @@ --- !tapi-tbd tbd-version: 4 -targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] +targets: [ i386-macos, i386-maccatalyst, x86_64-macos, x86_64-maccatalyst, + arm64-macos, arm64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] install-name: '/usr/lib/libSystem.B.dylib' -current-version: 1319.100.3 +current-version: 1336 reexported-libraries: + - targets: [ i386-macos, i386-maccatalyst, x86_64-macos, x86_64-maccatalyst, + arm64-macos, arm64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] + libraries: [ '/usr/lib/system/libsystem_kernel.dylib', '/usr/lib/system/libsystem_platform.dylib', + '/usr/lib/system/libsystem_pthread.dylib' ] - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] libraries: [ '/usr/lib/system/libcache.dylib', '/usr/lib/system/libcommonCrypto.dylib', @@ -16,12 +20,11 @@ reexported-libraries: '/usr/lib/system/libsystem_blocks.dylib', '/usr/lib/system/libsystem_c.dylib', '/usr/lib/system/libsystem_collections.dylib', '/usr/lib/system/libsystem_configuration.dylib', '/usr/lib/system/libsystem_containermanager.dylib', '/usr/lib/system/libsystem_coreservices.dylib', - '/usr/lib/system/libsystem_darwin.dylib', '/usr/lib/system/libsystem_dnssd.dylib', - '/usr/lib/system/libsystem_featureflags.dylib', '/usr/lib/system/libsystem_info.dylib', - '/usr/lib/system/libsystem_kernel.dylib', '/usr/lib/system/libsystem_m.dylib', + '/usr/lib/system/libsystem_darwin.dylib', '/usr/lib/system/libsystem_darwindirectory.dylib', + '/usr/lib/system/libsystem_dnssd.dylib', '/usr/lib/system/libsystem_featureflags.dylib', + '/usr/lib/system/libsystem_info.dylib', '/usr/lib/system/libsystem_m.dylib', '/usr/lib/system/libsystem_malloc.dylib', '/usr/lib/system/libsystem_networkextension.dylib', - '/usr/lib/system/libsystem_notify.dylib', '/usr/lib/system/libsystem_platform.dylib', - '/usr/lib/system/libsystem_pthread.dylib', '/usr/lib/system/libsystem_sandbox.dylib', + '/usr/lib/system/libsystem_notify.dylib', '/usr/lib/system/libsystem_sandbox.dylib', '/usr/lib/system/libsystem_secinit.dylib', '/usr/lib/system/libsystem_symptoms.dylib', '/usr/lib/system/libsystem_trace.dylib', '/usr/lib/system/libunwind.dylib', '/usr/lib/system/libxpc.dylib' ] @@ -70,7 +73,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.100.4 +current-version: 65535 parent-umbrella: - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] @@ -394,7 +397,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: 1387.100.43 +current-version: 1608.0.18 parent-umbrella: - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] @@ -429,6 +432,35 @@ exports: _ccapsic_client_generate_match_response, _ccapsic_client_init, _ccapsic_client_state_sizeof, _ccapsic_server_determine_intersection, _ccapsic_server_encode_element, _ccapsic_server_init, _ccapsic_server_state_sizeof, + _ccbfv_bytes_to_coeffs, _ccbfv_ciphertext_apply_galois, _ccbfv_ciphertext_coeff_compose, + _ccbfv_ciphertext_coeff_dcrt_plaintext_mul, _ccbfv_ciphertext_coeff_decompose, + _ccbfv_ciphertext_coeff_decompose_nptexts, _ccbfv_ciphertext_coeff_plaintext_mul, + _ccbfv_ciphertext_eval_dcrt_plaintext_mul, _ccbfv_ciphertext_eval_plaintext_mul, + _ccbfv_ciphertext_fresh_npolys, _ccbfv_ciphertext_fwd_ntt, + _ccbfv_ciphertext_galois_elt_rotate_rows_left, _ccbfv_ciphertext_galois_elt_rotate_rows_right, + _ccbfv_ciphertext_galois_elt_swap_columns, _ccbfv_ciphertext_inv_ntt, + _ccbfv_ciphertext_plaintext_add, _ccbfv_ciphertext_sizeof, + _ccbfv_coeffs_to_bytes, _ccbfv_dcrt_plaintext_encode, _ccbfv_dcrt_plaintext_sizeof, + _ccbfv_decode_poly_uint64, _ccbfv_decode_simd_int64, _ccbfv_decode_simd_uint64, + _ccbfv_decrypt, _ccbfv_deserialize_ciphertext_coeff, _ccbfv_deserialize_ciphertext_eval, + _ccbfv_deserialize_seeded_ciphertext_coeff, _ccbfv_deserialize_seeded_ciphertext_eval, + _ccbfv_encode_poly_uint64, _ccbfv_encode_simd_int64, _ccbfv_encode_simd_uint64, + _ccbfv_encrypt_symmetric, _ccbfv_encryption_params_coefficient_moduli, + _ccbfv_encryption_params_coefficient_nmoduli, _ccbfv_encryption_params_plaintext_modulus, + _ccbfv_encryption_params_polynomial_degree, _ccbfv_galois_key_generate, + _ccbfv_galois_key_load, _ccbfv_galois_key_save, _ccbfv_galois_key_sizeof, + _ccbfv_param_ctx_ciphertext_ctx_nmoduli, _ccbfv_param_ctx_init, + _ccbfv_param_ctx_key_ctx_nmoduli, _ccbfv_param_ctx_key_ctx_poly_nbytes, + _ccbfv_param_ctx_plaintext_modulus, _ccbfv_param_ctx_plaintext_modulus_inverse, + _ccbfv_param_ctx_polynomial_degree, _ccbfv_param_ctx_sizeof, + _ccbfv_param_ctx_supports_simd_encoding, _ccbfv_plaintext_sizeof, + _ccbfv_relin_key_generate, _ccbfv_relin_key_load, _ccbfv_relin_key_save, + _ccbfv_relin_key_sizeof, _ccbfv_rng_seed_sizeof, _ccbfv_secret_key_generate, + _ccbfv_secret_key_generate_from_seed, _ccbfv_secret_key_sizeof, + _ccbfv_serialize_ciphertext_coeff, _ccbfv_serialize_ciphertext_coeff_nbytes, + _ccbfv_serialize_ciphertext_eval, _ccbfv_serialize_ciphertext_eval_nbytes, + _ccbfv_serialize_seeded_ciphertext_coeff, _ccbfv_serialize_seeded_ciphertext_coeff_nbytes, + _ccbfv_serialize_seeded_ciphertext_eval, _ccbfv_serialize_seeded_ciphertext_eval_nbytes, _ccblowfish_cbc_decrypt_mode, _ccblowfish_cbc_encrypt_mode, _ccblowfish_cfb8_decrypt_mode, _ccblowfish_cfb8_encrypt_mode, _ccblowfish_cfb_decrypt_mode, _ccblowfish_cfb_encrypt_mode, @@ -439,27 +471,31 @@ exports: _cccast_ctr_crypt_mode, _cccast_ecb_decrypt_mode, _cccast_ecb_encrypt_mode, _cccast_ofb_crypt_mode, _cccbc_block_size, _cccbc_clear_iv, _cccbc_context_size, _cccbc_copy_iv, _cccbc_init, _cccbc_one_shot, - _cccbc_set_iv, _cccbc_update, _ccccm_aad, _ccccm_block_size, - _ccccm_cbcmac, _ccccm_context_size, _ccccm_decrypt, _ccccm_encrypt, - _ccccm_finalize, _ccccm_finalize_and_generate_tag, _ccccm_finalize_and_verify_tag, - _ccccm_init, _ccccm_one_shot, _ccccm_one_shot_decrypt, _ccccm_one_shot_encrypt, - _ccccm_reset, _ccccm_set_iv, _ccccm_update, _cccfb8_block_size, - _cccfb8_context_size, _cccfb8_init, _cccfb8_one_shot, _cccfb8_update, - _cccfb_block_size, _cccfb_context_size, _cccfb_init, _cccfb_one_shot, - _cccfb_update, _ccchacha20, _ccchacha20_final, _ccchacha20_init, - _ccchacha20_reset, _ccchacha20_setcounter, _ccchacha20_setnonce, - _ccchacha20_update, _ccchacha20poly1305_aad, _ccchacha20poly1305_decrypt, - _ccchacha20poly1305_decrypt_oneshot, _ccchacha20poly1305_encrypt, - _ccchacha20poly1305_encrypt_oneshot, _ccchacha20poly1305_finalize, - _ccchacha20poly1305_incnonce, _ccchacha20poly1305_info, _ccchacha20poly1305_init, - _ccchacha20poly1305_reset, _ccchacha20poly1305_setnonce, _ccchacha20poly1305_verify, + _cccbc_one_shot_explicit, _cccbc_set_iv, _cccbc_update, _ccccm_aad, + _ccccm_block_size, _ccccm_cbcmac, _ccccm_context_size, _ccccm_decrypt, + _ccccm_encrypt, _ccccm_finalize, _ccccm_finalize_and_generate_tag, + _ccccm_finalize_and_verify_tag, _ccccm_init, _ccccm_one_shot, + _ccccm_one_shot_decrypt, _ccccm_one_shot_encrypt, _ccccm_reset, + _ccccm_set_iv, _ccccm_update, _cccfb8_block_size, _cccfb8_context_size, + _cccfb8_init, _cccfb8_one_shot, _cccfb8_update, _cccfb_block_size, + _cccfb_context_size, _cccfb_init, _cccfb_one_shot, _cccfb_update, + _ccchacha20, _ccchacha20_final, _ccchacha20_init, _ccchacha20_reset, + _ccchacha20_setcounter, _ccchacha20_setnonce, _ccchacha20_update, + _ccchacha20poly1305_aad, _ccchacha20poly1305_decrypt, _ccchacha20poly1305_decrypt_oneshot, + _ccchacha20poly1305_encrypt, _ccchacha20poly1305_encrypt_oneshot, + _ccchacha20poly1305_finalize, _ccchacha20poly1305_incnonce, + _ccchacha20poly1305_info, _ccchacha20poly1305_init, _ccchacha20poly1305_reset, + _ccchacha20poly1305_setnonce, _ccchacha20poly1305_verify, _ccckg_contributor_commit, _ccckg_contributor_finish, _ccckg_init, _ccckg_owner_finish, _ccckg_owner_generate_share, _ccckg_sizeof_commitment, _ccckg_sizeof_ctx, _ccckg_sizeof_opening, _ccckg_sizeof_share, _cccmac_final_generate, _cccmac_final_verify, _cccmac_init, _cccmac_one_shot_generate, _cccmac_one_shot_verify, _cccmac_update, _ccctr_block_size, _ccctr_context_size, _ccctr_init, _ccctr_one_shot, - _ccctr_update, _cccurve25519, _ccder_blob_decode_bitstring, + _ccctr_update, _cccurve25519, _cccurve25519_make_key_pair, + _cccurve25519_make_priv, _cccurve25519_make_pub, _cccurve25519_make_pub_with_rng, + _cccurve25519_with_rng, _cccurve448, _cccurve448_make_key_pair, + _cccurve448_make_priv, _cccurve448_make_pub, _ccder_blob_decode_bitstring, _ccder_blob_decode_eckey, _ccder_blob_decode_len, _ccder_blob_decode_len_strict, _ccder_blob_decode_oid, _ccder_blob_decode_range, _ccder_blob_decode_range_strict, _ccder_blob_decode_seqii, _ccder_blob_decode_seqii_strict, @@ -505,20 +541,23 @@ exports: _ccdes_cfb8_encrypt_mode, _ccdes_cfb_decrypt_mode, _ccdes_cfb_encrypt_mode, _ccdes_ctr_crypt_mode, _ccdes_ecb_decrypt_mode, _ccdes_ecb_encrypt_mode, _ccdes_key_is_weak, _ccdes_key_set_odd_parity, _ccdes_ofb_crypt_mode, - _ccdh_compute_shared_secret, _ccdh_export_pub, _ccdh_generate_key, - _ccdh_gp_apple768, _ccdh_gp_rfc2409group02, _ccdh_gp_rfc3526group05, - _ccdh_gp_rfc3526group14, _ccdh_gp_rfc3526group15, _ccdh_gp_rfc3526group16, - _ccdh_gp_rfc3526group17, _ccdh_gp_rfc3526group18, _ccdh_gp_rfc5114_MODP_1024_160, - _ccdh_gp_rfc5114_MODP_2048_224, _ccdh_gp_rfc5114_MODP_2048_256, - _ccdh_gp_size, _ccdh_import_full, _ccdh_import_priv, _ccdh_import_pub, - _ccdh_init_gp_from_bytes, _ccdh_init_safe_gp_from_bytes, _ccdigest, - _ccdigest_init, _ccdigest_oid_lookup, _ccdigest_update, _ccdrbg_df_bc_init, - _ccdrbg_factory_nistctr, _ccdrbg_factory_nisthmac, _ccdrbg_must_reseed, - _ccec_affinify, _ccec_blind, _ccec_compact_export, _ccec_compact_export_pub, - _ccec_compact_generate_key, _ccec_compact_generate_key_init, - _ccec_compact_generate_key_step, _ccec_compact_import_priv, - _ccec_compact_import_priv_size, _ccec_compact_import_pub, - _ccec_compact_import_pub_size, _ccec_compact_transform_key, + _ccdh_ccn_size, _ccdh_compute_shared_secret, _ccdh_ctx_init, + _ccdh_ctx_public, _ccdh_export_pub, _ccdh_export_pub_size, + _ccdh_generate_key, _ccdh_gp_apple768, _ccdh_gp_g, _ccdh_gp_l, + _ccdh_gp_n, _ccdh_gp_order, _ccdh_gp_order_bitlen, _ccdh_gp_prime, + _ccdh_gp_rfc2409group02, _ccdh_gp_rfc3526group05, _ccdh_gp_rfc3526group14, + _ccdh_gp_rfc3526group15, _ccdh_gp_rfc3526group16, _ccdh_gp_rfc3526group17, + _ccdh_gp_rfc3526group18, _ccdh_gp_rfc5114_MODP_1024_160, _ccdh_gp_rfc5114_MODP_2048_224, + _ccdh_gp_rfc5114_MODP_2048_256, _ccdh_gp_size, _ccdh_import_full, + _ccdh_import_priv, _ccdh_import_pub, _ccdh_init_gp_from_bytes, + _ccdigest, _ccdigest_init, _ccdigest_oid_lookup, _ccdigest_update, + _ccdrbg_context_size, _ccdrbg_df_bc_init, _ccdrbg_done, _ccdrbg_factory_nistctr, + _ccdrbg_factory_nisthmac, _ccdrbg_generate, _ccdrbg_init, + _ccdrbg_must_reseed, _ccdrbg_reseed, _ccec_affinify, _ccec_blind, + _ccec_compact_export, _ccec_compact_export_pub, _ccec_compact_generate_key, + _ccec_compact_generate_key_init, _ccec_compact_generate_key_step, + _ccec_compact_import_priv, _ccec_compact_import_priv_size, + _ccec_compact_import_pub, _ccec_compact_import_pub_size, _ccec_compact_transform_key, _ccec_compressed_x962_export_pub, _ccec_compressed_x962_export_pub_size, _ccec_compressed_x962_import_pub, _ccec_compute_key, _ccec_cp_192, _ccec_cp_224, _ccec_cp_256, _ccec_cp_384, _ccec_cp_521, _ccec_curve_for_length_lookup, @@ -546,33 +585,44 @@ exports: _ccec_verify_composite_msg, _ccec_verify_digest, _ccec_verify_msg, _ccec_x963_export, _ccec_x963_import_priv, _ccec_x963_import_priv_size, _ccec_x963_import_pub, _ccec_x963_import_pub_size, _ccecb_block_size, - _ccecb_context_size, _ccecb_init, _ccecb_one_shot, _ccecb_update, - _ccecdh_compute_shared_secret, _ccecdh_generate_key, _ccecies_decrypt_gcm, - _ccecies_decrypt_gcm_composite, _ccecies_decrypt_gcm_from_shared_secret, + _ccecb_context_size, _ccecb_init, _ccecb_one_shot, _ccecb_one_shot_explicit, + _ccecb_update, _ccecdh_compute_shared_secret, _ccecdh_generate_key, + _ccecies_decrypt_gcm, _ccecies_decrypt_gcm_composite, _ccecies_decrypt_gcm_from_shared_secret, _ccecies_decrypt_gcm_plaintext_size, _ccecies_decrypt_gcm_plaintext_size_cp, _ccecies_decrypt_gcm_setup, _ccecies_encrypt_gcm, _ccecies_encrypt_gcm_ciphertext_size, _ccecies_encrypt_gcm_composite, _ccecies_encrypt_gcm_from_shared_secret, _ccecies_encrypt_gcm_setup, _ccecies_import_eph_pub, _ccecies_pub_key_size, _ccecies_pub_key_size_cp, _cced25519_make_key_pair, _cced25519_make_pub, - _cced25519_sign, _cced25519_verify, _ccentropy_add_entropy, - _ccentropy_digest_init, _ccentropy_get_seed, _ccentropy_rng_init, - _ccgcm_aad, _ccgcm_block_size, _ccgcm_context_size, _ccgcm_finalize, - _ccgcm_gmac, _ccgcm_inc_iv, _ccgcm_init, _ccgcm_init_with_iv, - _ccgcm_one_shot, _ccgcm_one_shot_legacy, _ccgcm_reset, _ccgcm_set_iv, - _ccgcm_set_iv_legacy, _ccgcm_update, _cch2c, _cch2c_name, - _cch2c_p256_sha256_sae_compat_info, _cch2c_p256_sha256_sswu_ro_info, - _cch2c_p384_sha512_sswu_ro_info, _cch2c_p521_sha512_sswu_ro_info, - _cchkdf, _cchkdf_expand, _cchkdf_extract, _cchmac, _cchmac_final, - _cchmac_init, _cchmac_update, _cchpke_initiator_encrypt, _cchpke_initiator_export, - _cchpke_initiator_seal, _cchpke_initiator_setup, _cchpke_kem_generate_key_pair, - _cchpke_params_sizeof_aead_key, _cchpke_params_sizeof_aead_nonce, - _cchpke_params_sizeof_aead_tag, _cchpke_params_sizeof_kdf_hash, - _cchpke_params_sizeof_kem_enc, _cchpke_params_sizeof_kem_pk, - _cchpke_params_sizeof_kem_pk_marshalled, _cchpke_params_sizeof_kem_shared_secret, - _cchpke_params_sizeof_kem_sk, _cchpke_params_x25519_AESGCM128_HKDF_SHA256, - _cchpke_responder_decrypt, _cchpke_responder_export, _cchpke_responder_open, - _cchpke_responder_setup, _ccmd2_ltc_di, _ccmd4_ltc_di, _ccmd5_di, - _ccmd5_ltc_di, _ccmgf, _ccmode_factory_cbc_decrypt, _ccmode_factory_cbc_encrypt, + _cced25519_make_pub_with_rng, _cced25519_sign, _cced25519_sign_with_rng, + _cced25519_verify, _cced448_make_key_pair, _cced448_make_pub, + _cced448_sign, _cced448_verify, _ccentropy_add_entropy, _ccentropy_digest_init, + _ccentropy_get_seed, _ccentropy_rng_init, _ccgcm_aad, _ccgcm_block_size, + _ccgcm_context_size, _ccgcm_finalize, _ccgcm_gmac, _ccgcm_inc_iv, + _ccgcm_init, _ccgcm_init_with_iv, _ccgcm_one_shot, _ccgcm_one_shot_legacy, + _ccgcm_reset, _ccgcm_set_iv, _ccgcm_set_iv_legacy, _ccgcm_update, + _cch2c, _cch2c_name, _cch2c_p256_sha256_sae_compat_info, _cch2c_p256_sha256_sswu_ro_info, + _cch2c_p384_sha384_sae_compat_info, _cch2c_p384_sha512_sswu_ro_info, + _cch2c_p521_sha512_sswu_ro_info, _cchkdf, _cchkdf_expand, + _cchkdf_extract, _cchmac, _cchmac_final, _cchmac_init, _cchmac_update, + _cchpke_initiator_encrypt, _cchpke_initiator_export, _cchpke_initiator_seal, + _cchpke_initiator_setup, _cchpke_kem_generate_key_pair, _cchpke_params_sizeof_aead_key, + _cchpke_params_sizeof_aead_nonce, _cchpke_params_sizeof_aead_tag, + _cchpke_params_sizeof_kdf_hash, _cchpke_params_sizeof_kem_enc, + _cchpke_params_sizeof_kem_pk, _cchpke_params_sizeof_kem_pk_marshalled, + _cchpke_params_sizeof_kem_shared_secret, _cchpke_params_sizeof_kem_sk, + _cchpke_params_x25519_AESGCM128_HKDF_SHA256, _cchpke_responder_decrypt, + _cchpke_responder_export, _cchpke_responder_open, _cchpke_responder_setup, + _cckem_decapsulate, _cckem_encapsulate, _cckem_encapsulated_key_nbytes_ctx, + _cckem_encapsulated_key_nbytes_info, _cckem_export_privkey, + _cckem_export_pubkey, _cckem_full_ctx_init, _cckem_generate_key, + _cckem_import_privkey, _cckem_import_pubkey, _cckem_kyber768, + _cckem_privkey_nbytes_ctx, _cckem_privkey_nbytes_info, _cckem_pub_ctx_init, + _cckem_pubkey_nbytes_ctx, _cckem_pubkey_nbytes_info, _cckem_public_ctx, + _cckem_shared_key_nbytes_ctx, _cckem_shared_key_nbytes_info, + _cckem_sizeof_full_ctx, _cckem_sizeof_pub_ctx, _cclr_aes_init, + _cclr_block_nbytes, _cclr_decrypt_block, _cclr_encrypt_block, + _ccmd2_ltc_di, _ccmd4_ltc_di, _ccmd5_di, _ccmd5_ltc_di, _ccmgf, + _ccmode_factory_cbc_decrypt, _ccmode_factory_cbc_encrypt, _ccmode_factory_ccm_decrypt, _ccmode_factory_ccm_encrypt, _ccmode_factory_cfb8_decrypt, _ccmode_factory_cfb8_encrypt, _ccmode_factory_cfb_decrypt, _ccmode_factory_cfb_encrypt, @@ -581,19 +631,20 @@ exports: _ccmode_factory_siv_decrypt, _ccmode_factory_siv_encrypt, _ccmode_factory_xts_decrypt, _ccmode_factory_xts_encrypt, _ccn_add, _ccn_add1, _ccn_bitlen, _ccn_cmp, _ccn_cmpn, _ccn_lprint, - _ccn_print, _ccn_read_uint, _ccn_set, _ccn_shift_right, _ccn_sub, - _ccn_write_int, _ccn_write_int_size, _ccn_write_uint, _ccn_write_uint_padded_ct, - _ccn_write_uint_size, _ccnistkdf_ctr_cmac, _ccnistkdf_ctr_cmac_fixed, - _ccnistkdf_ctr_hmac, _ccnistkdf_ctr_hmac_fixed, _ccnistkdf_fb_hmac, - _ccnistkdf_fb_hmac_fixed, _ccofb_block_size, _ccofb_context_size, - _ccofb_init, _ccofb_one_shot, _ccofb_update, _ccoid_equal, - _ccomac_block_size, _ccomac_context_size, _ccomac_init, _ccomac_one_shot, - _ccomac_update, _ccpad_cts1_decrypt, _ccpad_cts1_encrypt, - _ccpad_cts2_decrypt, _ccpad_cts2_encrypt, _ccpad_cts3_decrypt, - _ccpad_cts3_encrypt, _ccpad_pkcs7_decode, _ccpad_pkcs7_decrypt, - _ccpad_pkcs7_ecb_decrypt, _ccpad_pkcs7_ecb_encrypt, _ccpad_pkcs7_encrypt, - _ccpad_xts_decrypt, _ccpad_xts_encrypt, _ccpbkdf2_hmac, _ccpoly1305, - _ccpoly1305_final, _ccpoly1305_init, _ccpoly1305_update, _ccrc2_cbc_decrypt_mode, + _ccn_print, _ccn_read_uint, _ccn_set_bit, _ccn_seti, _ccn_sub, + _ccn_swap, _ccn_write_int, _ccn_write_int_size, _ccn_write_uint, + _ccn_write_uint_padded, _ccn_write_uint_padded_ct, _ccn_write_uint_size, + _ccn_xor, _ccn_zero, _ccnistkdf_ctr_cmac, _ccnistkdf_ctr_cmac_fixed, + _ccnistkdf_ctr_hmac, _ccnistkdf_ctr_hmac_fixed, _ccofb_block_size, + _ccofb_context_size, _ccofb_init, _ccofb_one_shot, _ccofb_update, + _ccoid_equal, _ccoid_payload, _ccoid_size, _ccomac_block_size, + _ccomac_context_size, _ccomac_init, _ccomac_one_shot, _ccomac_update, + _ccpad_cts1_decrypt, _ccpad_cts1_encrypt, _ccpad_cts2_decrypt, + _ccpad_cts2_encrypt, _ccpad_cts3_decrypt, _ccpad_cts3_encrypt, + _ccpad_pkcs7_decode, _ccpad_pkcs7_decrypt, _ccpad_pkcs7_ecb_decrypt, + _ccpad_pkcs7_ecb_encrypt, _ccpad_pkcs7_encrypt, _ccpad_xts_decrypt, + _ccpad_xts_encrypt, _ccpbkdf2_hmac, _ccpoly1305, _ccpoly1305_final, + _ccpoly1305_init, _ccpoly1305_update, _ccrc2_cbc_decrypt_mode, _ccrc2_cbc_encrypt_mode, _ccrc2_cfb8_decrypt_mode, _ccrc2_cfb8_encrypt_mode, _ccrc2_cfb_decrypt_mode, _ccrc2_cfb_encrypt_mode, _ccrc2_ctr_crypt_mode, _ccrc2_ecb_decrypt_mode, _ccrc2_ecb_encrypt_mode, _ccrc2_ofb_crypt_mode, @@ -602,65 +653,75 @@ exports: _ccrng_ecfips_test_init, _ccrng_pbkdf2_prng_init, _ccrng_prng, _ccrng_rsafips_test_init, _ccrng_rsafips_test_set_next, _ccrng_sequence_init, _ccrng_system_done, _ccrng_system_init, _ccrng_test_done, - _ccrng_test_init, _ccrng_trng, _ccrng_uniform, _ccrsa_decrypt_eme_pkcs1v15, - _ccrsa_decrypt_oaep, _ccrsa_dump_full_key, _ccrsa_dump_public_key, - _ccrsa_eme_pkcs1v15_decode, _ccrsa_eme_pkcs1v15_encode, _ccrsa_emsa_pkcs1v15_encode, - _ccrsa_emsa_pkcs1v15_verify, _ccrsa_emsa_pss_decode, _ccrsa_emsa_pss_encode, - _ccrsa_encrypt_eme_pkcs1v15, _ccrsa_encrypt_oaep, _ccrsa_export_pub, - _ccrsa_generate_fips186_key, _ccrsa_generate_key, _ccrsa_generate_key_deterministic, - _ccrsa_get_fullkey_components, _ccrsa_get_pubkey_components, - _ccrsa_import_pub, _ccrsa_init_pub, _ccrsa_make_priv, _ccrsa_make_pub, - _ccrsa_oaep_decode_parameter, _ccrsa_oaep_encode_parameter, - _ccrsa_priv_crypt, _ccrsa_pub_crypt, _ccrsa_pubkeylength, - _ccrsa_recover_priv, _ccrsa_sign_pkcs1v15, _ccrsa_sign_pkcs1v15_msg, - _ccrsa_sign_pss, _ccrsa_sign_pss_msg, _ccrsa_verify_pkcs1v15, + _ccrng_test_init, _ccrng_trng, _ccrng_uniform, _ccrsa_block_size, + _ccrsa_block_start, _ccrsa_ctx_private_zp, _ccrsa_ctx_public, + _ccrsa_decrypt_eme_pkcs1v15, _ccrsa_decrypt_oaep, _ccrsa_dump_full_key, + _ccrsa_dump_public_key, _ccrsa_eme_pkcs1v15_decode, _ccrsa_eme_pkcs1v15_encode, + _ccrsa_emsa_pkcs1v15_encode, _ccrsa_emsa_pkcs1v15_verify, + _ccrsa_emsa_pss_decode, _ccrsa_emsa_pss_encode, _ccrsa_encrypt_eme_pkcs1v15, + _ccrsa_encrypt_oaep, _ccrsa_export_priv, _ccrsa_export_priv_size, + _ccrsa_export_pub, _ccrsa_export_pub_size, _ccrsa_generate_fips186_key, + _ccrsa_generate_key, _ccrsa_generate_key_deterministic, _ccrsa_get_fullkey_components, + _ccrsa_get_pubkey_components, _ccrsa_import_priv, _ccrsa_import_priv_n, + _ccrsa_import_pub, _ccrsa_import_pub_n, _ccrsa_init_pub, _ccrsa_make_priv, + _ccrsa_make_pub, _ccrsa_n_from_size, _ccrsa_oaep_decode, _ccrsa_oaep_decode_parameter, + _ccrsa_oaep_encode, _ccrsa_oaep_encode_parameter, _ccrsa_priv_crypt, + _ccrsa_pub_crypt, _ccrsa_pubkeylength, _ccrsa_recover_priv, + _ccrsa_sign_pkcs1v15, _ccrsa_sign_pkcs1v15_msg, _ccrsa_sign_pss, + _ccrsa_sign_pss_msg, _ccrsa_sizeof_n_from_size, _ccrsa_verify_pkcs1v15, _ccrsa_verify_pkcs1v15_allowshortsigs, _ccrsa_verify_pkcs1v15_digest, _ccrsa_verify_pkcs1v15_msg, _ccrsa_verify_pss_digest, _ccrsa_verify_pss_msg, _ccrsabssa_blind_message, _ccrsabssa_ciphersuite_rsa2048_sha384, _ccrsabssa_ciphersuite_rsa3072_sha384, _ccrsabssa_ciphersuite_rsa4096_sha384, _ccrsabssa_sign_blinded_message, _ccrsabssa_unblind_signature, - _ccsae_gen_kck_and_pmk, _ccsae_gen_password_value, _ccsae_generate_commitment, - _ccsae_generate_commitment_finalize, _ccsae_generate_commitment_init, - _ccsae_generate_commitment_partial, _ccsae_generate_confirmation, - _ccsae_generate_h2c_commit, _ccsae_generate_h2c_commit_finalize, - _ccsae_generate_h2c_commit_init, _ccsae_generate_h2c_pt, _ccsae_get_keys, - _ccsae_init, _ccsae_init_p256_sha256, _ccsae_lexographic_order_key, - _ccsae_sizeof_commitment, _ccsae_sizeof_confirmation, _ccsae_sizeof_ctx, - _ccsae_sizeof_pt, _ccsae_verify_commitment, _ccsae_verify_confirmation, - _ccscrypt, _ccscrypt_storage_size, _ccsha1_di, _ccsha1_eay_di, - _ccsha1_ltc_di, _ccsha224_di, _ccsha224_ltc_di, _ccsha256_di, - _ccsha256_ltc_di, _ccsha384_di, _ccsha384_ltc_di, _ccsha3_224_c_di, - _ccsha3_224_di, _ccsha3_256_c_di, _ccsha3_256_di, _ccsha3_384_c_di, - _ccsha3_384_di, _ccsha3_512_c_di, _ccsha3_512_di, _ccsha512_256_di, - _ccsha512_256_ltc_di, _ccsha512_di, _ccsha512_ltc_di, _ccsigma_clear, - _ccsigma_clear_key, _ccsigma_compute_mac, _ccsigma_derive_session_keys, - _ccsigma_export_key_share, _ccsigma_import_peer_key_share, + _ccsae_generate_commitment, _ccsae_generate_commitment_finalize, + _ccsae_generate_commitment_init, _ccsae_generate_commitment_partial, + _ccsae_generate_confirmation, _ccsae_generate_h2c_commit, + _ccsae_generate_h2c_commit_finalize, _ccsae_generate_h2c_commit_init, + _ccsae_generate_h2c_pt, _ccsae_get_keys, _ccsae_init, _ccsae_init_p256_sha256, + _ccsae_init_p384_sha384, _ccsae_lexographic_order_key, _ccsae_sizeof_commitment, + _ccsae_sizeof_confirmation, _ccsae_sizeof_ctx, _ccsae_sizeof_kck, + _ccsae_sizeof_kck_h2c, _ccsae_sizeof_pt, _ccsae_verify_commitment, + _ccsae_verify_confirmation, _ccscrypt, _ccscrypt_storage_size, + _ccsha1_di, _ccsha1_eay_di, _ccsha1_ltc_di, _ccsha224_di, + _ccsha224_ltc_di, _ccsha256_di, _ccsha256_ltc_di, _ccsha384_di, + _ccsha384_ltc_di, _ccsha3_224_di, _ccsha3_256_di, _ccsha3_384_di, + _ccsha3_512_di, _ccsha512_256_di, _ccsha512_256_ltc_di, _ccsha512_di, + _ccsha512_ltc_di, _ccsigma_clear, _ccsigma_clear_key, _ccsigma_compute_mac, + _ccsigma_derive_session_keys, _ccsigma_export_key_share, _ccsigma_import_peer_key_share, _ccsigma_import_peer_verification_key, _ccsigma_import_signing_key, _ccsigma_init, _ccsigma_kex_init_ctx, _ccsigma_kex_resp_ctx, - _ccsigma_mfi_info, _ccsigma_open, _ccsigma_peer_role, _ccsigma_seal, - _ccsigma_set_signing_function, _ccsigma_sign, _ccsigma_verify, - _ccsiv_aad, _ccsiv_block_size, _ccsiv_ciphertext_size, _ccsiv_context_size, - _ccsiv_crypt, _ccsiv_hmac_aad, _ccsiv_hmac_block_size, _ccsiv_hmac_ciphertext_size, - _ccsiv_hmac_context_size, _ccsiv_hmac_crypt, _ccsiv_hmac_init, - _ccsiv_hmac_one_shot, _ccsiv_hmac_plaintext_size, _ccsiv_hmac_reset, - _ccsiv_hmac_set_nonce, _ccsiv_init, _ccsiv_one_shot, _ccsiv_plaintext_size, - _ccsiv_reset, _ccsiv_set_nonce, _ccspake_cp_256, _ccspake_cp_384, - _ccspake_cp_521, _ccspake_generate_L, _ccspake_kex_generate, - _ccspake_kex_process, _ccspake_mac_compute, _ccspake_mac_hkdf_cmac_aes128_sha256, - _ccspake_mac_hkdf_hmac_sha256, _ccspake_mac_hkdf_hmac_sha512, - _ccspake_mac_verify_and_get_session_key, _ccspake_prover_init, + _ccsigma_mfi_info, _ccsigma_mfi_nvm_info, _ccsigma_open, _ccsigma_peer_role, + _ccsigma_seal, _ccsigma_set_signing_function, _ccsigma_sign, + _ccsigma_verify, _ccsiv_aad, _ccsiv_block_size, _ccsiv_ciphertext_size, + _ccsiv_context_size, _ccsiv_crypt, _ccsiv_hmac_aad, _ccsiv_hmac_block_size, + _ccsiv_hmac_ciphertext_size, _ccsiv_hmac_context_size, _ccsiv_hmac_crypt, + _ccsiv_hmac_init, _ccsiv_hmac_one_shot, _ccsiv_hmac_plaintext_size, + _ccsiv_hmac_reset, _ccsiv_hmac_set_nonce, _ccsiv_init, _ccsiv_one_shot, + _ccsiv_plaintext_size, _ccsiv_reset, _ccsiv_set_nonce, _ccspake_cp_256, + _ccspake_cp_256_rfc, _ccspake_cp_384, _ccspake_cp_384_rfc, + _ccspake_cp_521, _ccspake_cp_521_rfc, _ccspake_generate_L, + _ccspake_kex_generate, _ccspake_kex_process, _ccspake_mac_compute, + _ccspake_mac_hkdf_cmac_aes128_sha256, _ccspake_mac_hkdf_hmac_sha256, + _ccspake_mac_hkdf_hmac_sha512, _ccspake_mac_verify_and_get_session_key, + _ccspake_prover_init, _ccspake_prover_initialize, _ccspake_reduce_w, _ccspake_sizeof_ctx, _ccspake_sizeof_point, _ccspake_sizeof_w, - _ccspake_verifier_init, _ccsrp_client_process_challenge, _ccsrp_client_start_authentication, - _ccsrp_client_verify_session, _ccsrp_generate_salt_and_verification, - _ccsrp_generate_verifier, _ccsrp_gp_rfc5054_1024, _ccsrp_gp_rfc5054_2048, + _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, - _ccsrp_server_compute_session, _ccsrp_server_generate_public_key, + _ccsrp_is_authenticated, _ccsrp_server_compute_session, _ccsrp_server_generate_public_key, _ccsrp_server_start_authentication, _ccsrp_server_verify_session, - _ccss_shamir_parameters_init, _ccss_shamir_parameters_maximum_secret_length, - _ccss_shamir_share_bag_add_share, _ccss_shamir_share_bag_init, - _ccss_shamir_share_bag_recover_secret, _ccss_shamir_share_export, - _ccss_shamir_share_generator_deserialize, _ccss_shamir_share_generator_generate_share, - _ccss_shamir_share_generator_init, _ccss_shamir_share_generator_init_with_secrets_less_than_prime, + _ccsrp_session_size, _ccsrp_sizeof_M_HAMK, _ccsrp_sizeof_public_key, + _ccsrp_sizeof_session_key, _ccsrp_sizeof_verifier, _ccss_shamir_parameters_init, + _ccss_shamir_parameters_maximum_secret_length, _ccss_shamir_share_bag_add_share, + _ccss_shamir_share_bag_init, _ccss_shamir_share_bag_recover_secret, + _ccss_shamir_share_export, _ccss_shamir_share_generator_deserialize, + _ccss_shamir_share_generator_generate_share, _ccss_shamir_share_generator_init, + _ccss_shamir_share_generator_init_with_secrets_less_than_prime, _ccss_shamir_share_generator_serialize, _ccss_shamir_share_import, _ccss_shamir_share_init, _ccss_shamir_share_sizeof_y, _ccss_sizeof_generator, _ccss_sizeof_parameters, _ccss_sizeof_shamir_share_generator_serialization, @@ -672,16 +733,18 @@ exports: _ccwrap_auth_encrypt_withiv, _ccwrap_unwrapped_size, _ccwrap_wrapped_size, _ccxts_block_size, _ccxts_context_size, _ccxts_init, _ccxts_one_shot, _ccxts_set_tweak, _ccxts_update, _ccz_add, _ccz_addi, _ccz_bit, - _ccz_bitlen, _ccz_cmp, _ccz_cmpi, _ccz_divmod, _ccz_expmod, - _ccz_free, _ccz_init, _ccz_is_negative, _ccz_is_one, _ccz_is_prime, - _ccz_is_zero, _ccz_lsl, _ccz_lsr, _ccz_mod, _ccz_mul, _ccz_muli, - _ccz_mulmod, _ccz_neg, _ccz_random_bits, _ccz_read_radix, - _ccz_read_uint, _ccz_set, _ccz_set_bit, _ccz_seti, _ccz_size, + _ccz_bitlen, _ccz_capacity, _ccz_cmp, _ccz_cmpi, _ccz_divmod, + _ccz_expmod, _ccz_free, _ccz_init, _ccz_is_negative, _ccz_is_one, + _ccz_is_prime, _ccz_is_zero, _ccz_lsl, _ccz_lsr, _ccz_mod, + _ccz_mul, _ccz_muli, _ccz_mulmod, _ccz_n, _ccz_neg, _ccz_random_bits, + _ccz_read_radix, _ccz_read_uint, _ccz_set, _ccz_set_bit, _ccz_set_capacity, + _ccz_set_n, _ccz_set_sign, _ccz_seti, _ccz_sign, _ccz_size, _ccz_sub, _ccz_subi, _ccz_trailing_zeros, _ccz_write_int, _ccz_write_int_size, _ccz_write_radix, _ccz_write_radix_size, _ccz_write_uint, _ccz_write_uint_size, _ccz_zero, _cczp_add, - _cczp_inv, _cczp_mod, _cczp_mul, _cczp_sub, _csss_shamir_share_bag_can_recover_secret, - _fipspost_post, _fipspost_trace_vtable, _map_to_curve_sswu ] + _cczp_bitlen, _cczp_inv, _cczp_mod, _cczp_mul, _cczp_n, _cczp_prime, + _cczp_sub, _csss_shamir_share_bag_can_recover_secret, _fipspost_post, + _fipspost_trace_vtable, _map_to_curve_sswu ] - targets: [ arm64-macos, arm64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] symbols: [ _ccaes_arm_cbc_decrypt_mode, _ccaes_arm_cbc_encrypt_mode, _ccaes_arm_cfb_decrypt_mode, _ccaes_arm_cfb_encrypt_mode, @@ -695,7 +758,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: 1415.100.11 +current-version: 1462.0.4 parent-umbrella: - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] @@ -823,12 +886,13 @@ exports: _os_eventlink_extract_remote_port, _os_eventlink_signal, _os_eventlink_signal_and_wait, _os_eventlink_signal_and_wait_until, _os_eventlink_wait, _os_eventlink_wait_until, _os_release, _os_retain, _os_workgroup_attr_set_flags, _os_workgroup_attr_set_interval_type, - _os_workgroup_cancel, _os_workgroup_copy_port, _os_workgroup_create, - _os_workgroup_create_with_port, _os_workgroup_create_with_workgroup, - _os_workgroup_create_with_workload_id, _os_workgroup_create_with_workload_id_and_port, - _os_workgroup_create_with_workload_id_and_workgroup, _os_workgroup_get_working_arena, - _os_workgroup_interval_copy_current_4AudioToolbox, _os_workgroup_interval_create, - _os_workgroup_interval_create_with_workload_id, _os_workgroup_interval_data_set_flags, + _os_workgroup_attr_set_telemetry_flavor, _os_workgroup_cancel, + _os_workgroup_copy_port, _os_workgroup_create, _os_workgroup_create_with_port, + _os_workgroup_create_with_workgroup, _os_workgroup_create_with_workload_id, + _os_workgroup_create_with_workload_id_and_port, _os_workgroup_create_with_workload_id_and_workgroup, + _os_workgroup_get_working_arena, _os_workgroup_interval_copy_current_4AudioToolbox, + _os_workgroup_interval_create, _os_workgroup_interval_create_with_workload_id, + _os_workgroup_interval_data_set_flags, _os_workgroup_interval_data_set_telemetry, _os_workgroup_interval_finish, _os_workgroup_interval_start, _os_workgroup_interval_update, _os_workgroup_join, _os_workgroup_join_self, _os_workgroup_leave, _os_workgroup_leave_self, _os_workgroup_max_parallel_threads, @@ -850,9 +914,10 @@ exports: OS_dispatch_io, OS_dispatch_mach, OS_dispatch_mach_msg, OS_dispatch_object, OS_dispatch_operation, OS_dispatch_queue, OS_dispatch_queue_attr, OS_dispatch_queue_concurrent, OS_dispatch_queue_global, OS_dispatch_queue_main, - OS_dispatch_queue_serial, OS_dispatch_semaphore, OS_dispatch_source, - OS_dispatch_workloop, OS_object, OS_os_eventlink, OS_os_workgroup, - OS_os_workgroup_interval, OS_os_workgroup_parallel, OS_voucher ] + OS_dispatch_queue_serial, OS_dispatch_queue_serial_executor, + OS_dispatch_semaphore, OS_dispatch_source, OS_dispatch_workloop, + OS_object, OS_os_eventlink, OS_os_workgroup, OS_os_workgroup_interval, + OS_os_workgroup_parallel, OS_voucher ] --- !tapi-tbd tbd-version: 4 targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, @@ -865,42 +930,32 @@ parent-umbrella: exports: - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] - symbols: [ _NSAddImage, _NSAddLibrary, _NSAddLibraryWithSearching, _NSAddressOfSymbol, - _NSCreateObjectFileImageFromFile, _NSCreateObjectFileImageFromMemory, - _NSDestroyObjectFileImage, _NSGetSectionDataInObjectFileImage, - _NSInstallLinkEditErrorHandlers, _NSIsSymbolDefinedInObjectFileImage, - _NSIsSymbolNameDefined, _NSIsSymbolNameDefinedInImage, _NSIsSymbolNameDefinedWithHint, - _NSLibraryNameForModule, _NSLinkEditError, _NSLinkModule, - _NSLookupAndBindSymbol, _NSLookupAndBindSymbolWithHint, _NSLookupSymbolInImage, - _NSLookupSymbolInModule, _NSModuleForSymbol, _NSNameOfModule, - _NSNameOfSymbol, _NSSymbolDefinitionCountInObjectFileImage, - _NSSymbolDefinitionNameInObjectFileImage, _NSSymbolReferenceCountInObjectFileImage, - _NSSymbolReferenceNameInObjectFileImage, _NSUnLinkModule, - _NSVersionOfLinkTimeLibrary, _NSVersionOfRunTimeLibrary, _NXArgc, - _NXArgv, __NSGetExecutablePath, ___progname, __dyld_all_twolevel_modules_prebound, - __dyld_atfork_parent, __dyld_atfork_prepare, __dyld_bind_fully_image_containing_address, - __dyld_dlopen_atfork_child, __dyld_dlopen_atfork_parent, __dyld_dlopen_atfork_prepare, - __dyld_find_foreign_type_protocol_conformance, __dyld_find_foreign_type_protocol_conformance_on_disk, - __dyld_find_protocol_conformance, __dyld_find_protocol_conformance_on_disk, - __dyld_find_unwind_sections, __dyld_for_each_objc_class, __dyld_for_each_objc_protocol, + symbols: [ _NSVersionOfLinkTimeLibrary, _NSVersionOfRunTimeLibrary, _NXArgc, + _NXArgv, __NSGetExecutablePath, ___progname, __dyld_atfork_parent, + __dyld_atfork_prepare, __dyld_dlopen_atfork_child, __dyld_dlopen_atfork_parent, + __dyld_dlopen_atfork_prepare, __dyld_find_foreign_type_protocol_conformance, + __dyld_find_foreign_type_protocol_conformance_on_disk, __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_header_containing_address, __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_has_fix_for_radar, __dyld_has_preoptimized_swift_protocol_conformances, - __dyld_image_containing_address, __dyld_image_count, __dyld_images_for_addresses, - __dyld_initializer, __dyld_is_memory_immutable, __dyld_is_objc_constant, - __dyld_launch_mode, __dyld_launched_prebound, __dyld_lookup_and_bind, - __dyld_lookup_and_bind_fully, __dyld_lookup_and_bind_with_hint, - __dyld_missing_symbol_abort, __dyld_objc_class_count, __dyld_objc_notify_register, - __dyld_objc_register_callbacks, __dyld_objc_uses_large_shared_cache, - __dyld_present, __dyld_process_info_create, __dyld_process_info_for_each_aot_image, + __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_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_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_register_driverkit_main, + __dyld_process_info_release, __dyld_process_info_retain, __dyld_pseudodylib_deregister, + __dyld_pseudodylib_deregister_callbacks, __dyld_pseudodylib_register, + __dyld_pseudodylib_register_callbacks, __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, @@ -937,7 +992,22 @@ exports: _macho_cpu_type_for_arch_name, _macho_dylib_install_name, _macho_for_each_slice, _macho_for_each_slice_in_fd, dyld_stub_binder ] - targets: [ x86_64-macos, arm64-macos, arm64e-macos ] - symbols: [ _dyld_shared_cache_for_each_subcache4Rosetta, _dyld_shared_subcache_get_info4Rosetta ] + symbols: [ _NSAddImage, _NSAddLibrary, _NSAddLibraryWithSearching, _NSAddressOfSymbol, + _NSCreateObjectFileImageFromFile, _NSCreateObjectFileImageFromMemory, + _NSDestroyObjectFileImage, _NSGetSectionDataInObjectFileImage, + _NSInstallLinkEditErrorHandlers, _NSIsSymbolDefinedInObjectFileImage, + _NSIsSymbolNameDefined, _NSIsSymbolNameDefinedInImage, _NSIsSymbolNameDefinedWithHint, + _NSLibraryNameForModule, _NSLinkEditError, _NSLinkModule, + _NSLookupAndBindSymbol, _NSLookupAndBindSymbolWithHint, _NSLookupSymbolInImage, + _NSLookupSymbolInModule, _NSModuleForSymbol, _NSNameOfModule, + _NSNameOfSymbol, _NSSymbolDefinitionCountInObjectFileImage, + _NSSymbolDefinitionNameInObjectFileImage, _NSSymbolReferenceCountInObjectFileImage, + _NSSymbolReferenceNameInObjectFileImage, _NSUnLinkModule, + __dyld_all_twolevel_modules_prebound, __dyld_bind_fully_image_containing_address, + __dyld_get_image_header_containing_address, __dyld_image_containing_address, + __dyld_launched_prebound, __dyld_lookup_and_bind, __dyld_lookup_and_bind_fully, + __dyld_lookup_and_bind_with_hint, __dyld_present, __dyld_process_info_for_each_aot_image, + _dyld_shared_cache_for_each_subcache4Rosetta, _dyld_shared_subcache_get_info4Rosetta ] --- !tapi-tbd tbd-version: 4 targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, @@ -958,14 +1028,14 @@ exports: __keymgr_unlock_processwide_ptr, _keymgrVersionNumber, _keymgrVersionString ] --- !tapi-tbd tbd-version: 4 -targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64e-macos ] +targets: [ x86_64-macos, arm64-macos, arm64e-macos ] install-name: '/usr/lib/system/libmacho.dylib' -current-version: 1005 +current-version: 1009 parent-umbrella: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64e-macos ] + - targets: [ x86_64-macos, arm64-macos, arm64e-macos ] umbrella: System exports: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64e-macos ] + - targets: [ x86_64-macos, arm64-macos, arm64e-macos ] symbols: [ _NXCombineCpuSubtypes, _NXFindBestFatArch, _NXFindBestFatArch_64, _NXFreeArchInfo, _NXGetAllArchInfos, _NXGetArchInfoFromCpuType, _NXGetArchInfoFromName, _NXGetLocalArchInfo, _get_edata, _get_end, @@ -1007,7 +1077,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: 147.100.8 +current-version: 169 parent-umbrella: - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] @@ -1015,26 +1085,27 @@ parent-umbrella: exports: - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] - symbols: [ ___esp_check, ___esp_check_ns, ___esp_enabled, ___esp_notify, - ___esp_notify_ns, __qtn_error, __qtn_file_alloc, __qtn_file_apply_to_fd, - __qtn_file_apply_to_mount_point, __qtn_file_apply_to_path, - __qtn_file_clone, __qtn_file_free, __qtn_file_get_flags, __qtn_file_get_identifier, - __qtn_file_get_metadata, __qtn_file_get_metadata_size, __qtn_file_get_timestamp, - __qtn_file_init, __qtn_file_init_with_data, __qtn_file_init_with_fd, - __qtn_file_init_with_mount_point, __qtn_file_init_with_path, - __qtn_file_set_flags, __qtn_file_set_identifier, __qtn_file_set_metadata, - __qtn_file_set_timestamp, __qtn_file_to_data, __qtn_label_name, - __qtn_proc_alloc, __qtn_proc_apply_to_pid, __qtn_proc_apply_to_self, - __qtn_proc_clone, __qtn_proc_free, __qtn_proc_get_flags, __qtn_proc_get_identifier, - __qtn_proc_get_metadata, __qtn_proc_get_metadata_size, __qtn_proc_get_path_exclusion_pattern, + symbols: [ __qtn_error, __qtn_file_alloc, __qtn_file_apply_to_fd, __qtn_file_apply_to_mount_point, + __qtn_file_apply_to_path, __qtn_file_clone, __qtn_file_free, + __qtn_file_get_flags, __qtn_file_get_identifier, __qtn_file_get_metadata, + __qtn_file_get_metadata_size, __qtn_file_get_timestamp, __qtn_file_init, + __qtn_file_init_with_data, __qtn_file_init_with_fd, __qtn_file_init_with_mount_point, + __qtn_file_init_with_path, __qtn_file_set_flags, __qtn_file_set_identifier, + __qtn_file_set_metadata, __qtn_file_set_timestamp, __qtn_file_to_data, + __qtn_label_name, __qtn_proc_alloc, __qtn_proc_apply_to_pid, + __qtn_proc_apply_to_self, __qtn_proc_clone, __qtn_proc_free, + __qtn_proc_get_flags, __qtn_proc_get_identifier, __qtn_proc_get_metadata, + __qtn_proc_get_metadata_size, __qtn_proc_get_path_exclusion_pattern, __qtn_proc_get_tracking_data, __qtn_proc_get_tracking_size, __qtn_proc_init, __qtn_proc_init_with_data, __qtn_proc_init_with_self, __qtn_proc_set_flags, __qtn_proc_set_identifier, __qtn_proc_set_metadata, __qtn_proc_set_path_exclusion_pattern, __qtn_proc_set_tracking_data, __qtn_proc_to_data, __qtn_xattr_name, _qtn_proc_init_with_pid, - _responsibility_get_attribution_for_audittoken, _responsibility_get_pid_responsible_for_pid, - _responsibility_get_responsible_audit_token_for_audit_token, - _responsibility_get_responsible_for_pid, _responsibility_get_uniqueid_responsible_for_pid, + _responsibility_get_pid_responsible_for_pid, _responsibility_get_responsible_for_pid, + _responsibility_get_uniqueid_responsible_for_pid, _responsibility_init, + _responsibility_set_pid_responsible_for_pid ] + - targets: [ x86_64-macos, arm64-macos, arm64e-macos ] + symbols: [ _responsibility_get_attribution_for_audittoken, _responsibility_get_responsible_audit_token_for_audit_token, _responsibility_identity_get_binary_entitlement_data, _responsibility_identity_get_binary_is_platform, _responsibility_identity_get_binary_offset, _responsibility_identity_get_binary_path, _responsibility_identity_get_binary_signing_id, _responsibility_identity_get_binary_team_id, @@ -1042,17 +1113,16 @@ exports: _responsibility_identity_get_hosted_team_id, _responsibility_identity_get_persistent_identifier, _responsibility_identity_get_platform, _responsibility_identity_get_sdk, _responsibility_identity_get_user_uuid, _responsibility_identity_release, - _responsibility_init, _responsibility_set_audittoken_responsible_for_caller, - _responsibility_set_audittoken_responsible_for_self, _responsibility_set_caller_responsible_for_self, - _responsibility_set_hosted_path, _responsibility_set_hosted_team_id, - _responsibility_set_pid_responsible_for_pid, _responsibility_spawnattrs_getdisclaim, + _responsibility_set_audittoken_responsible_for_caller, _responsibility_set_audittoken_responsible_for_self, + _responsibility_set_caller_responsible_for_self, _responsibility_set_hosted_path, + _responsibility_set_hosted_team_id, _responsibility_spawnattrs_getdisclaim, _responsibility_spawnattrs_setdisclaim ] --- !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/libremovefile.dylib' -current-version: 68 +current-version: 70 parent-umbrella: - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] @@ -1070,7 +1140,7 @@ tbd-version: 4 targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] install-name: '/usr/lib/system/libsystem_asl.dylib' -current-version: 395 +current-version: 398 parent-umbrella: - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] @@ -1151,7 +1221,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: 87 +current-version: 90 parent-umbrella: - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] @@ -1170,7 +1240,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: 1534.100.14 +current-version: 1583.0.14 parent-umbrella: - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] @@ -1464,7 +1534,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: 1534.100.14 +current-version: 1583.0.14 parent-umbrella: - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] @@ -1494,7 +1564,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: 1241.100.11 +current-version: 1296.0.1 parent-umbrella: - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] @@ -1528,22 +1598,20 @@ parent-umbrella: exports: - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] - symbols: [ _CONTAINER_CURRENT_MOBILE_UID, _CONTAINER_INSTALLATION_UID, - _CONTAINER_LINK_ARRAY_NONE, _CONTAINER_NOTIFY_USER_INVALIDATED, - _CONTAINER_PERSONA_CURRENT, _CONTAINER_PERSONA_PRIMARY, _CONTAINER_SYSTEM_UID, - __container_init, __container_query_get_servicing_pid, __container_references_get_servicing_pid, - _container_acquire_sandbox_extension, _container_audit_token_copy_codesign_hash, - _container_audit_token_copy_codesign_identifier, _container_audit_token_copy_entitlement, - _container_audit_token_copy_executable_name, _container_audit_token_for_pid, - _container_audit_token_get_codesign_status, _container_audit_token_get_egid, - _container_audit_token_get_euid, _container_audit_token_get_pid, - _container_audit_token_get_platform, _container_audit_token_is_valid, - _container_base64_decode, _container_base64_decode_string, - _container_base64_encode, _container_base64_encode_string, - _container_bundle_copy_data_container, _container_bundle_copy_data_container_path, - _container_class_for_each_normalized_class, _container_class_normalized, - _container_class_supports_data_subdirectory, _container_class_supports_randomized_path, - _container_class_supports_randomized_path_on_current_platform, + symbols: [ _CMFSSEAM_DEFAULT, _CONTAINER_NOTIFY_USER_INVALIDATED, _CONTAINER_PERSONA_CURRENT, + _CONTAINER_PERSONA_PRIMARY, __container_init, __container_query_get_servicing_pid, + __container_references_get_servicing_pid, _container_acquire_sandbox_extension, + _container_audit_token_copy_codesign_hash, _container_audit_token_copy_codesign_identifier, + _container_audit_token_copy_entitlement, _container_audit_token_copy_executable_name, + _container_audit_token_for_pid, _container_audit_token_get_codesign_status, + _container_audit_token_get_egid, _container_audit_token_get_euid, + _container_audit_token_get_pid, _container_audit_token_get_platform, + _container_audit_token_is_valid, _container_base64_decode, + _container_base64_decode_string, _container_base64_encode, + _container_base64_encode_string, _container_bundle_copy_data_container, + _container_bundle_copy_data_container_path, _container_class_for_each_normalized_class, + _container_class_normalized, _container_class_supports_data_subdirectory, + _container_class_supports_randomized_path, _container_class_supports_randomized_path_on_current_platform, _container_client_copy_decoded_from_xpc_object, _container_client_copy_encoded_xpc_object, _container_client_copy_entitlement, _container_client_create_from_audit_token, _container_client_get_audit_token, _container_client_get_codesign_identifier, @@ -1557,72 +1625,67 @@ exports: _container_codesign_get_self_audit_token, _container_codesign_get_status, _container_copy_client, _container_copy_code_signing_info_for_identifier, _container_copy_from_path, _container_copy_info, _container_copy_info_value_for_key, - _container_copy_links_array, _container_copy_object, _container_copy_path, - _container_copy_persona_unique_strings, _container_copy_sandbox_token, - _container_copy_unlocalized_description, _container_create_merged_array, - _container_create_or_lookup, _container_create_or_lookup_app_group_path_by_app_group_identifier, - _container_create_or_lookup_app_group_paths, _container_create_or_lookup_app_group_paths_for_current_user, + _container_copy_object, _container_copy_path, _container_copy_persona_unique_strings, + _container_copy_sandbox_token, _container_copy_unlocalized_description, + _container_create_merged_array, _container_create_or_lookup_app_group_path_by_app_group_identifier, + _container_create_or_lookup_app_group_paths_for_current_user, _container_create_or_lookup_app_group_paths_for_platform, _container_create_or_lookup_app_group_paths_from_entitlements, _container_create_or_lookup_app_group_paths_from_entitlements_4ls, _container_create_or_lookup_for_current_user, _container_create_or_lookup_for_platform, - _container_create_or_lookup_group_container_paths_for_current_user, - _container_create_or_lookup_path, _container_create_or_lookup_path_for_current_user, - _container_create_or_lookup_path_for_platform, _container_create_or_lookup_system_group_paths, - _container_create_or_lookup_user_managed_assets_path, _container_create_or_lookup_user_managed_assets_relative_path, + _container_create_or_lookup_path_for_current_user, _container_create_or_lookup_path_for_platform, + _container_create_or_lookup_system_group_paths, _container_create_or_lookup_user_managed_assets_path, + _container_create_or_lookup_user_managed_assets_relative_path, _container_delete, _container_delete_all_container_content, - _container_delete_all_data_container_content, _container_delete_all_data_container_content_for_current_user, + _container_delete_all_data_container_content_for_current_user, _container_delete_array_of_containers, _container_delete_user_managed_assets, _container_delete_with_class_and_identifier_for_current_user, - _container_delete_with_uid_class_and_identifier, _container_disk_usage, - _container_disposition, _container_disposition_for_array, - _container_error_copy, _container_error_copy_unlocalized_description, - _container_error_create, _container_error_free, _container_error_get_category, - _container_error_get_path, _container_error_get_posix_errno, - _container_error_get_type, _container_error_is_fatal, _container_error_is_file_system_error, + _container_disk_usage, _container_disposition, _container_disposition_for_array, + _container_entitlements_copy_container_identifiers, _container_error_copy, + _container_error_copy_unlocalized_description, _container_error_create, + _container_error_free, _container_error_get_category, _container_error_get_path, + _container_error_get_posix_errno, _container_error_get_type, + _container_error_is_fatal, _container_error_is_file_system_error, _container_error_reinitialize, _container_flush_container_cache, _container_flush_persona_cache, _container_free_array_of_containers, _container_free_client, _container_free_object, _container_frozenset_copyout_external_bytes, _container_frozenset_create, _container_frozenset_create_from_external_bytes, _container_frozenset_destroy, _container_frozenset_enumerate_matches, _container_frozenset_get_container_class_of_container_at_index, - _container_frozenset_get_count, _container_frozenset_get_extended_count, - _container_frozenset_get_generation, _container_frozenset_get_identifier_of_container_at_index, + _container_frozenset_get_count, _container_frozenset_get_generation, + _container_frozenset_get_identifier_of_container_at_index, _container_frozenset_get_is_new_of_container_at_index, _container_frozenset_get_is_transient_of_container_at_index, - _container_frozenset_get_links_for_container_at_index, _container_frozenset_get_path_of_container_at_index, - _container_frozenset_get_persona_unique_string_of_container_at_index, - _container_frozenset_get_uid_of_container_at_index, _container_frozenset_get_unique_path_component_of_container_at_index, - _container_frozenset_get_uuid_of_container_at_index, _container_frozenset_is_missing_links_of_container_at_index, - _container_frozenset_is_missing_path_of_container_at_index, - _container_fs_add_path_component, _container_fs_append_trailing_slash, - _container_fs_item_exists, _container_fs_item_exists_at, _container_fs_load_plist_at, + _container_frozenset_get_path_of_container_at_index, _container_frozenset_get_persona_unique_string_of_container_at_index, + _container_frozenset_get_stored_string, _container_frozenset_get_uid_of_container_at_index, + _container_frozenset_get_uma_relative_path_of_container_at_index, + _container_frozenset_get_unique_path_component_of_container_at_index, + _container_frozenset_get_uuid_of_container_at_index, _container_fs_add_path_component, + _container_fs_append_trailing_slash, _container_fs_item_exists, + _container_fs_item_exists_at, _container_fs_load_plist_at, _container_fs_path_at, _container_fs_resolve_dirent_type_at, - _container_get_all_with_class, _container_get_all_with_class_for_current_user, - _container_get_class, _container_get_error_description, _container_get_identifier, - _container_get_path, _container_get_persona_unique_string, - _container_get_uid, _container_get_unique_path_component, + _container_get_all_with_class_for_current_user, _container_get_class, + _container_get_error_description, _container_get_identifier, + _container_get_info, _container_get_info_value_for_key, _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_internal_get_first_boot_uuid, _container_invalidate_code_signing_cache, _container_is_equal, - _container_is_new, _container_is_transient, _container_link_apply, - _container_link_copy, _container_link_copy_array, _container_link_copy_container_a, - _container_link_copy_container_b, _container_link_copy_unlocalized_description, - _container_link_create, _container_link_create_internal, _container_link_exists, - _container_link_free, _container_link_free_array, _container_link_get_attributes, - _container_link_is_implicit, _container_link_remove, _container_log_client_fault_logging_is_enabled, + _container_is_new, _container_is_transient, _container_log_client_fault_logging_is_enabled, _container_log_error, _container_log_error_with_faults, _container_log_ext_error, _container_log_ext_error_with_faults, _container_log_handle_for_category, - _container_log_set_client_fault_logging, _container_object_copy, - _container_object_create, _container_object_create_blank, + _container_log_replication_disable, _container_log_replication_enable_to_uid_relative_path, + _container_log_replication_prune_for_uid, _container_log_set_client_fault_logging, + _container_object_copy, _container_object_create, _container_object_create_blank, _container_object_free, _container_object_get_class, _container_object_get_identifier, - _container_object_get_info, _container_object_get_links, _container_object_get_num_links, - _container_object_get_path, _container_object_get_persona_unique_string, + _container_object_get_info, _container_object_get_path, _container_object_get_persona_unique_string, _container_object_get_query, _container_object_get_sandbox_token, _container_object_get_uid, _container_object_get_unique_path_component, - _container_object_get_uuid, _container_object_is_new, _container_object_is_transient, + _container_object_get_user_managed_assets_relative_path, _container_object_get_uuid, + _container_object_is_new, _container_object_is_transient, _container_object_sandbox_extension_activate, _container_object_set_backing_store_from_query, - _container_object_set_class, _container_object_set_info, _container_object_set_links, - _container_object_set_path, _container_object_set_sandbox_token, - _container_object_set_transient, _container_object_set_unique_path_component, + _container_object_set_class, _container_object_set_info, _container_object_set_path, + _container_object_set_sandbox_token, _container_object_set_transient, + _container_object_set_unique_path_component, _container_object_set_user_managed_assets_relative_path, _container_object_set_uuid, _container_object_update_metadata, _container_operation_complete_background_tasks, _container_operation_delete, _container_operation_delete_array, _container_operation_delete_reclaim_disk_space, @@ -1631,32 +1694,30 @@ exports: _container_paths_context_set_persona_unique_string, _container_paths_context_set_transient, _container_paths_context_set_uid, _container_paths_copy_container_at, _container_paths_copy_container_from_path, _container_paths_copy_container_root_path_for_context, + _container_paths_copy_uid_home_relative, _container_paths_create_uid_home_relative, _container_paths_enumerate_containers_at, _container_perfect_hash_copyout_external_bytes, _container_perfect_hash_count, _container_perfect_hash_create, _container_perfect_hash_create_from_external_bytes, _container_perfect_hash_destroy, _container_perfect_hash_index_of, _container_perfect_hash_num_indexes, - _container_perform_data_migration, _container_perform_data_migration_for_current_user, - _container_perform_with_client_context, _container_persona_verify_path_for_current_persona, + _container_perform_with_client_context, _container_persona_collect_all_ids, + _container_persona_convert_unique_string_to_persona_uid, _container_persona_foreach, _container_process_restored_container, _container_pwd_copy_user_home_path, - _container_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_subquery_sync, - _container_query_operation_set_client, _container_query_operation_set_flags, - _container_query_operation_set_platform, _container_query_set_class, - _container_query_set_group_identifiers, _container_query_set_identifiers, - _container_query_set_include_other_owners, _container_query_set_links, + _container_pwd_for_name, _container_pwd_for_uid, _container_query_copy, + _container_query_count_results, _container_query_create, _container_query_create_from_container, + _container_query_free, _container_query_get_last_error, _container_query_get_single_result, + _container_query_iterate_results_sync, _container_query_iterate_results_with_identifier_sync, + _container_query_iterate_results_with_subquery_sync, _container_query_operation_set_client, + _container_query_operation_set_flags, _container_query_operation_set_platform, + _container_query_set_class, _container_query_set_group_identifiers, + _container_query_set_identifiers, _container_query_set_include_other_owners, _container_query_set_persona_unique_string, _container_query_set_transient, _container_query_set_uid, _container_realpath, _container_recreate_structure, - _container_references_add, _container_references_create, _container_references_free, - _container_references_get_last_error, _container_references_iterate_by_group_sync, - _container_references_iterate_by_owner_sync, _container_references_operation_set_flags, - _container_references_remove, _container_references_set_class, - _container_references_set_persona_unique_string, _container_references_set_uid, - _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_serialize_copy_deserialized_reference, + _container_references_get_last_error, _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_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, @@ -1668,17 +1729,30 @@ exports: _container_update_with_container, _container_user_managed_assets_path, _container_user_managed_assets_relative_path, _container_xpc_connection_is_shared, _container_xpc_create_connection, _container_xpc_decode_container_object, - _container_xpc_decode_create_container_object_array, _container_xpc_decode_create_link, - _container_xpc_decode_create_links_array, _container_xpc_decode_error, + _container_xpc_decode_create_container_object_array, _container_xpc_decode_error, _container_xpc_encode_client_onto_message, _container_xpc_encode_container_array, _container_xpc_encode_container_as_object, _container_xpc_encode_container_metadata_as_object, _container_xpc_encode_container_object, _container_xpc_encode_error, - _container_xpc_encode_error_as_object, _container_xpc_encode_link, - _container_xpc_encode_link_as_object, _container_xpc_get_raw_connection, - _container_xpc_invalidate_connection, _container_xpc_release, - _container_xpc_send_async_message, _container_xpc_send_sync_message, + _container_xpc_encode_error_as_object, _container_xpc_get_incoming_reply_preprocess_block, + _container_xpc_get_outgoing_message_postprocess_block, _container_xpc_get_outgoing_message_send_block, + _container_xpc_get_raw_connection, _container_xpc_invalidate_connection, + _container_xpc_release, _container_xpc_send_message, _container_xpc_send_sync_message, _container_xpc_send_sync_message_with_object, _container_xpc_set_client_context_during_block, - _container_xpc_set_use_shared_connection, _container_xpc_shared_copy_connection ] + _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 ] + - 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, + _container_create_or_lookup_group_container_paths_for_current_user, + _container_create_or_lookup_path, _container_delete_all_data_container_content, + _container_delete_with_uid_class_and_identifier, _container_get_all_with_class, + _container_perform_data_migration, _container_perform_data_migration_for_current_user, + _container_references_add, _container_references_create, _container_references_free, + _container_references_iterate_by_group_sync, _container_references_iterate_by_owner_sync, + _container_references_operation_set_flags, _container_references_remove, + _container_references_set_class, _container_references_set_persona_unique_string, + _container_references_set_uid ] --- !tapi-tbd tbd-version: 4 targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, @@ -1716,7 +1790,7 @@ exports: _close_drop_np, _close_drop_optional_np, _crfprintf_np, _dirstat_np, _dirstatat_np, _dup_np, _err_np, _errc_np, _fcheck_np, _memdup2_np, _memdup_np, _os_assert_mach, _os_assert_mach_port_status, - _os_boot_arg_string_to_int, _os_boot_mode_query, _os_crash_get_reporter_port_array, + _os_boot_arg_string_to_int, _os_crash_get_reporter_port_array, _os_crash_port_array_deallocate, _os_crash_set_reporter_port, _os_crash_spawnattr_set_reporter_port, _os_enumerate_boot_args, _os_enumerate_boot_args_b, _os_enumerate_boot_args_from_buffer, @@ -1732,18 +1806,33 @@ exports: _os_variant_allows_security_research, _os_variant_check, _os_variant_copy_description, _os_variant_has_factory_content, _os_variant_has_internal_content, _os_variant_has_internal_diagnostics, _os_variant_has_internal_ui, - _os_variant_init_4launchd, _os_variant_is_basesystem, _os_variant_is_darwinos, - _os_variant_is_recovery, _os_variant_uses_ephemeral_storage, - _realpath_np, _strerror_np, _strexit_np, _symerror_np, _symexit_np, - _sysctl_get_data_np, _sysctlbyname_get_data_np, _sysexit_np, - _vcrfprintf_np, _verr_np, _verrc_np, _vwarn_np, _vwfprintf_np, - _warn_np, _wfprintf_np, _xferfd_np, _zsnprintf_np ] + _os_variant_init_4launchd, _os_variant_is_darwinos, _os_variant_is_recovery, + _os_variant_uses_ephemeral_storage, _realpath_np, _strerror_np, + _strexit_np, _symerror_np, _symexit_np, _sysctl_get_data_np, + _sysctlbyname_get_data_np, _sysexit_np, _vcrfprintf_np, _verr_np, + _verrc_np, _vwarn_np, _vwfprintf_np, _warn_np, _wfprintf_np, + _xferfd_np, _zsnprintf_np ] + - targets: [ x86_64-macos, arm64-macos, arm64e-macos ] + symbols: [ _os_boot_mode_query, _os_variant_is_basesystem ] +--- !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_darwindirectory.dylib' +parent-umbrella: + - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, + arm64e-macos, arm64e-maccatalyst ] + umbrella: System +exports: + - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, + arm64e-macos, arm64e-maccatalyst ] + symbols: [ _DarwinDirectoryRecordStoreApply, _DarwinDirectoryRecordStoreApplyWithFilter ] --- !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_dnssd.dylib' -current-version: 1807.101.2 +current-version: 2200.0.8 parent-umbrella: - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] @@ -1780,7 +1869,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: 74 +current-version: 85 parent-umbrella: - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] @@ -1886,27 +1975,27 @@ exports: _si_protocol_byname, _si_protocol_bynumber, _si_rpc_all, _si_rpc_byname, _si_rpc_bynumber, _si_search, _si_search_module_set_flags, _si_service_all, _si_service_byname, _si_service_byport, _si_set_nat64_v4_requires_synthesis, - _si_set_nat64_v4_synthesize, _si_srv_byname, _si_standardize_mac_address, - _si_user_all, _si_user_byname, _si_user_byuid, _si_user_byuuid, - _si_wants_addrinfo, _svc_fdset, _svc_getreq, _svc_getreqset, - _svc_register, _svc_run, _svc_sendreply, _svc_unregister, - _svcerr_auth, _svcerr_decode, _svcerr_noproc, _svcerr_noprog, - _svcerr_progvers, _svcerr_systemerr, _svcerr_weakauth, _svcfd_create, - _svcraw_create, _svctcp_create, _svcudp_bufcreate, _svcudp_create, - _user_from_uid, _xdr_array, _xdr_authunix_parms, _xdr_bool, - _xdr_bytes, _xdr_callhdr, _xdr_callmsg, _xdr_char, _xdr_des_block, - _xdr_domainname, _xdr_double, _xdr_enum, _xdr_float, _xdr_free, - _xdr_hyper, _xdr_int, _xdr_int16_t, _xdr_int32_t, _xdr_int64_t, - _xdr_keydat, _xdr_long, _xdr_longlong_t, _xdr_mapname, _xdr_netobj, - _xdr_opaque, _xdr_peername, _xdr_pmap, _xdr_pmaplist, _xdr_pointer, - _xdr_reference, _xdr_replymsg, _xdr_rmtcall_args, _xdr_rmtcallres, - _xdr_short, _xdr_string, _xdr_u_char, _xdr_u_hyper, _xdr_u_int, - _xdr_u_int16_t, _xdr_u_int32_t, _xdr_u_int64_t, _xdr_u_long, - _xdr_u_longlong_t, _xdr_u_short, _xdr_union, _xdr_valdat, - _xdr_vector, _xdr_void, _xdr_wrapstring, _xdr_x_passwd, _xdr_ypbind_binding, - _xdr_ypbind_resp, _xdr_ypbind_resptype, _xdr_ypbind_setdom, - _xdr_ypmaplist, _xdr_yppasswd, _xdr_ypreq_key, _xdr_ypreq_nokey, - _xdr_ypresp_all, _xdr_ypresp_all_seq, _xdr_ypresp_key_val, + _si_set_nat64_v4_synthesize, _si_set_path_check, _si_srv_byname, + _si_standardize_mac_address, _si_user_all, _si_user_byname, + _si_user_byuid, _si_user_byuuid, _si_wants_addrinfo, _svc_fdset, + _svc_getreq, _svc_getreqset, _svc_register, _svc_run, _svc_sendreply, + _svc_unregister, _svcerr_auth, _svcerr_decode, _svcerr_noproc, + _svcerr_noprog, _svcerr_progvers, _svcerr_systemerr, _svcerr_weakauth, + _svcfd_create, _svcraw_create, _svctcp_create, _svcudp_bufcreate, + _svcudp_create, _user_from_uid, _xdr_array, _xdr_authunix_parms, + _xdr_bool, _xdr_bytes, _xdr_callhdr, _xdr_callmsg, _xdr_char, + _xdr_des_block, _xdr_domainname, _xdr_double, _xdr_enum, _xdr_float, + _xdr_free, _xdr_hyper, _xdr_int, _xdr_int16_t, _xdr_int32_t, + _xdr_int64_t, _xdr_keydat, _xdr_long, _xdr_longlong_t, _xdr_mapname, + _xdr_netobj, _xdr_opaque, _xdr_peername, _xdr_pmap, _xdr_pmaplist, + _xdr_pointer, _xdr_reference, _xdr_replymsg, _xdr_rmtcall_args, + _xdr_rmtcallres, _xdr_short, _xdr_string, _xdr_u_char, _xdr_u_hyper, + _xdr_u_int, _xdr_u_int16_t, _xdr_u_int32_t, _xdr_u_int64_t, + _xdr_u_long, _xdr_u_longlong_t, _xdr_u_short, _xdr_union, + _xdr_valdat, _xdr_vector, _xdr_void, _xdr_wrapstring, _xdr_x_passwd, + _xdr_ypbind_binding, _xdr_ypbind_resp, _xdr_ypbind_resptype, + _xdr_ypbind_setdom, _xdr_ypmaplist, _xdr_yppasswd, _xdr_ypreq_key, + _xdr_ypreq_nokey, _xdr_ypresp_all, _xdr_ypresp_all_seq, _xdr_ypresp_key_val, _xdr_ypresp_maplist, _xdr_ypresp_master, _xdr_ypresp_order, _xdr_ypresp_val, _xdr_ypstat, _xdrmem_create, _xdrrec_create, _xdrrec_endofrecord, _xdrrec_eof, _xdrrec_skiprecord, _xdrstdio_create, @@ -1915,21 +2004,54 @@ exports: _yp_next, _yp_order, _yp_unbind, _yperr_string, _ypprot_err ] --- !tapi-tbd tbd-version: 4 -targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] +targets: [ i386-macos, i386-maccatalyst, x86_64-macos, x86_64-maccatalyst, + arm64-macos, arm64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] install-name: '/usr/lib/system/libsystem_kernel.dylib' -current-version: 8796.101.5 +current-version: 10002.1.11 parent-umbrella: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] + - targets: [ i386-macos, i386-maccatalyst, x86_64-macos, x86_64-maccatalyst, + arm64-macos, arm64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] umbrella: System exports: - - targets: [ x86_64-macos, x86_64-maccatalyst ] + - targets: [ i386-macos, i386-maccatalyst ] + symbols: [ ___aio_suspend, ___close, ___fsync, ___msgrcv, ___msgsnd, + ___poll, ___pread, ___preadv, ___pwrite, ___pwritev, ___read, + ___readv, ___sem_wait, ___waitid, ___write, ___writev, __mach_make_memory_entry, + __sysenter_trap, '_accept$NOCANCEL$UNIX2003', '_accept$UNIX2003', + '_aio_suspend$NOCANCEL$UNIX2003', '_aio_suspend$UNIX2003', + '_bind$UNIX2003', '_chmod$UNIX2003', '_close$NOCANCEL$UNIX2003', + '_close$UNIX2003', '_connect$NOCANCEL$UNIX2003', '_connect$UNIX2003', + '_fchmod$UNIX2003', '_fcntl$NOCANCEL$UNIX2003', '_fcntl$UNIX2003', + '_fsync$NOCANCEL$UNIX2003', '_fsync$UNIX2003', '_getattrlist$UNIX2003', + '_getpeername$UNIX2003', '_getrlimit$UNIX2003', '_getsockname$UNIX2003', + '_kill$UNIX2003', '_lchown$UNIX2003', '_listen$UNIX2003', + _mach_host_self_, _mach_vm_region_info, _mach_vm_region_info_64, + '_mmap$UNIX2003', '_mprotect$UNIX2003', '_msgctl$UNIX2003', + '_msgrcv$NOCANCEL$UNIX2003', '_msgrcv$UNIX2003', '_msgsnd$NOCANCEL$UNIX2003', + '_msgsnd$UNIX2003', '_msync$NOCANCEL$UNIX2003', '_msync$UNIX2003', + '_munmap$UNIX2003', '_open$NOCANCEL$UNIX2003', '_open$UNIX2003', + '_poll$NOCANCEL$UNIX2003', '_poll$UNIX2003', '_pread$NOCANCEL$UNIX2003', + '_pread$UNIX2003', '_pselect$NOCANCEL$UNIX2003', '_pselect$UNIX2003', + '_pwrite$NOCANCEL$UNIX2003', '_pwrite$UNIX2003', '_read$NOCANCEL$UNIX2003', + '_read$UNIX2003', '_readv$NOCANCEL$UNIX2003', '_readv$UNIX2003', + '_recvfrom$NOCANCEL$UNIX2003', '_recvfrom$UNIX2003', '_recvmsg$NOCANCEL$UNIX2003', + '_recvmsg$UNIX2003', '_select$NOCANCEL$UNIX2003', '_select$UNIX2003', + '_sem_wait$NOCANCEL$UNIX2003', '_sem_wait$UNIX2003', '_semctl$UNIX2003', + '_sendmsg$NOCANCEL$UNIX2003', '_sendmsg$UNIX2003', '_sendto$NOCANCEL$UNIX2003', + '_sendto$UNIX2003', '_setattrlist$UNIX2003', _setpgrp, '_setregid$UNIX2003', + '_setreuid$UNIX2003', '_setrlimit$UNIX2003', '_shmctl$UNIX2003', + _sigaltstack, '_sigsuspend$NOCANCEL$UNIX2003', '_sigsuspend$UNIX2003', + '_socketpair$UNIX2003', _task_wire, _vm_map_64, _vm_map_exec_lockdown, + _vm_mapped_pages_info, _vm_region, _vm_region_recurse, '_waitid$NOCANCEL$UNIX2003', + '_waitid$UNIX2003', '_write$NOCANCEL$UNIX2003', '_write$UNIX2003', + '_writev$NOCANCEL$UNIX2003', '_writev$UNIX2003', tramp_cerror, + tramp_cerror_nocancel ] + - targets: [ i386-macos, i386-maccatalyst, x86_64-macos, x86_64-maccatalyst ] symbols: [ '_fstat$INODE64', '_fstatat$INODE64', '_fstatfs$INODE64', '_getfsstat$INODE64', _i386_get_ldt, _i386_set_ldt, '_lstat$INODE64', - '_pselect$1050', '_select$1050', '_stat$INODE64', '_statfs$INODE64' ] - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] + '_stat$INODE64', '_statfs$INODE64' ] + - targets: [ i386-macos, i386-maccatalyst, x86_64-macos, x86_64-maccatalyst, + arm64-macos, arm64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] symbols: [ _NDR_record, _____sigwait_nocancel, ____kernelVersionNumber, ____kernelVersionString, ___abort_with_payload, ___accept, ___accept_nocancel, ___access_extended, ___aio_suspend_nocancel, @@ -1998,29 +2120,29 @@ exports: ___vfork, ___wait4, ___wait4_nocancel, ___waitid_nocancel, ___work_interval_ctl, ___workq_kernreturn, ___workq_open, ___write_nocancel, ___writev_nocancel, __cpu_capabilities, - __cpu_has_altivec, __exit, __get_cpu_capabilities, __getprivatesystemidentifier, - __host_page_size, __init_cpu_capabilities, __kernelrpc_host_create_mach_voucher, - __kernelrpc_mach_port_allocate, __kernelrpc_mach_port_allocate_full, - __kernelrpc_mach_port_allocate_name, __kernelrpc_mach_port_allocate_qos, - __kernelrpc_mach_port_allocate_trap, __kernelrpc_mach_port_assert_attributes, - __kernelrpc_mach_port_construct, __kernelrpc_mach_port_construct_trap, - __kernelrpc_mach_port_deallocate, __kernelrpc_mach_port_deallocate_trap, - __kernelrpc_mach_port_destroy, __kernelrpc_mach_port_destruct, - __kernelrpc_mach_port_destruct_trap, __kernelrpc_mach_port_dnrequest_info, - __kernelrpc_mach_port_extract_member, __kernelrpc_mach_port_extract_member_trap, - __kernelrpc_mach_port_extract_right, __kernelrpc_mach_port_get_attributes, - __kernelrpc_mach_port_get_attributes_trap, __kernelrpc_mach_port_get_context, - __kernelrpc_mach_port_get_refs, __kernelrpc_mach_port_get_service_port_info, - __kernelrpc_mach_port_get_set_status, __kernelrpc_mach_port_get_srights, - __kernelrpc_mach_port_guard, __kernelrpc_mach_port_guard_trap, - __kernelrpc_mach_port_guard_with_flags, __kernelrpc_mach_port_insert_member, - __kernelrpc_mach_port_insert_member_trap, __kernelrpc_mach_port_insert_right, - __kernelrpc_mach_port_insert_right_trap, __kernelrpc_mach_port_is_connection_for_service, - __kernelrpc_mach_port_kernel_object, __kernelrpc_mach_port_kobject, - __kernelrpc_mach_port_kobject_description, __kernelrpc_mach_port_mod_refs, - __kernelrpc_mach_port_mod_refs_trap, __kernelrpc_mach_port_move_member, - __kernelrpc_mach_port_move_member_trap, __kernelrpc_mach_port_names, - __kernelrpc_mach_port_peek, __kernelrpc_mach_port_rename, + __cpu_has_altivec, __exclaves_ctl_trap, __exit, __get_cpu_capabilities, + __getprivatesystemidentifier, __host_page_size, __init_cpu_capabilities, + __kernelrpc_host_create_mach_voucher, __kernelrpc_mach_port_allocate, + __kernelrpc_mach_port_allocate_full, __kernelrpc_mach_port_allocate_name, + __kernelrpc_mach_port_allocate_qos, __kernelrpc_mach_port_allocate_trap, + __kernelrpc_mach_port_assert_attributes, __kernelrpc_mach_port_construct, + __kernelrpc_mach_port_construct_trap, __kernelrpc_mach_port_deallocate, + __kernelrpc_mach_port_deallocate_trap, __kernelrpc_mach_port_destroy, + __kernelrpc_mach_port_destruct, __kernelrpc_mach_port_destruct_trap, + __kernelrpc_mach_port_dnrequest_info, __kernelrpc_mach_port_extract_member, + __kernelrpc_mach_port_extract_member_trap, __kernelrpc_mach_port_extract_right, + __kernelrpc_mach_port_get_attributes, __kernelrpc_mach_port_get_attributes_trap, + __kernelrpc_mach_port_get_context, __kernelrpc_mach_port_get_refs, + __kernelrpc_mach_port_get_service_port_info, __kernelrpc_mach_port_get_set_status, + __kernelrpc_mach_port_get_srights, __kernelrpc_mach_port_guard, + __kernelrpc_mach_port_guard_trap, __kernelrpc_mach_port_guard_with_flags, + __kernelrpc_mach_port_insert_member, __kernelrpc_mach_port_insert_member_trap, + __kernelrpc_mach_port_insert_right, __kernelrpc_mach_port_insert_right_trap, + __kernelrpc_mach_port_is_connection_for_service, __kernelrpc_mach_port_kernel_object, + __kernelrpc_mach_port_kobject, __kernelrpc_mach_port_kobject_description, + __kernelrpc_mach_port_mod_refs, __kernelrpc_mach_port_mod_refs_trap, + __kernelrpc_mach_port_move_member, __kernelrpc_mach_port_move_member_trap, + __kernelrpc_mach_port_names, __kernelrpc_mach_port_peek, __kernelrpc_mach_port_rename, __kernelrpc_mach_port_request_notification, __kernelrpc_mach_port_request_notification_trap, __kernelrpc_mach_port_set_attributes, __kernelrpc_mach_port_set_context, __kernelrpc_mach_port_set_mscount, __kernelrpc_mach_port_set_seqno, @@ -2042,43 +2164,43 @@ exports: __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, + _accept, _access, _accessx_np, _acct, _act_get_state, _act_set_state, + _adjtime, _aio_cancel, _aio_error, _aio_fsync, _aio_read, + _aio_return, _aio_suspend, _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, + _clonefileat, _close, _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_reap, _coalition_terminate, _connect, '_connect$NOCANCEL', - _connectx, _csops, _csops_audittoken, _csr_check, _csr_get_active_config, + _coalition_reap, _coalition_terminate, _connect, _connectx, + _csops, _csops_audittoken, _csr_check, _csr_get_active_config, _debug_control_port_for_pid, _debug_syscall_reject, _debug_syscall_reject_config, _denap_boost_assertion_token, _disconnectx, _dup, _dup2, _errno, _etap_trace_thread, _exc_server, _exc_server_routine, _exception_raise, _exception_raise_state, _exception_raise_state_identity, _exchangedata, + _exclaves_boot, _exclaves_endpoint_call, _exclaves_named_buffer_copyin, + _exclaves_named_buffer_copyout, _exclaves_named_buffer_create, _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, _fsync, '_fsync$NOCANCEL', - _ftruncate, _futimens, _futimes, _getattrlist, _getattrlistat, - _getattrlistbulk, _getaudit, _getaudit_addr, _getauid, _getdirentries, - _getdirentriesattr, _getdtablesize, _getegid, _getentropy, - _geteuid, _getfh, _getfsstat, _getfsstat64, _getgid, _getgroups, - _gethostuuid, _getiopolicy_np, _getitimer, _getpeername, _getpgid, - _getpgrp, _getpid, _getppid, _getpriority, _getrlimit, _getrusage, - _getsgroups_np, _getsid, _getsockname, _getsockopt, _getuid, - _getwgroups_np, _getxattr, _grab_pgo_data, _graftdmg, _guarded_close_np, - _guarded_kqueue_np, _guarded_open_dprotected_np, _guarded_open_np, - _guarded_pwrite_np, _guarded_write_np, _guarded_writev_np, + _fchown, _fchownat, _fclonefileat, _fcntl, _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, _fsync, _ftruncate, _futimens, _futimes, _getattrlist, + _getattrlistat, _getattrlistbulk, _getaudit, _getaudit_addr, + _getauid, _getdirentries, _getdirentriesattr, _getdtablesize, + _getegid, _getentropy, _geteuid, _getfh, _getfsstat, _getfsstat64, + _getgid, _getgroups, _gethostuuid, _getiopolicy_np, _getitimer, + _getpeername, _getpgid, _getpgrp, _getpid, _getppid, _getpriority, + _getrlimit, _getrusage, _getsgroups_np, _getsid, _getsockname, + _getsockopt, _getuid, _getwgroups_np, _getxattr, _grab_pgo_data, + _graftdmg, _guarded_close_np, _guarded_kqueue_np, _guarded_open_dprotected_np, + _guarded_open_np, _guarded_pwrite_np, _guarded_write_np, _guarded_writev_np, _host_check_multiuser_mode, _host_create_mach_voucher, _host_create_mach_voucher_trap, _host_default_memory_manager, _host_get_UNDServer, _host_get_atm_diagnostic_flag, _host_get_boot_info, _host_get_clock_control, _host_get_clock_service, @@ -2115,11 +2237,11 @@ exports: _mach_init, _mach_make_memory_entry, _mach_make_memory_entry_64, _mach_memory_entry_access_tracking, _mach_memory_entry_ownership, _mach_memory_entry_purgable_control, _mach_memory_info, _mach_memory_object_memory_entry, - _mach_memory_object_memory_entry_64, _mach_msg, _mach_msg2_internal, - _mach_msg2_trap, _mach_msg_destroy, _mach_msg_overwrite, _mach_msg_overwrite_trap, - _mach_msg_priority_encode, _mach_msg_priority_is_pthread_priority, - _mach_msg_priority_overide_qos, _mach_msg_priority_qos, _mach_msg_priority_relpri, - _mach_msg_receive, _mach_msg_send, _mach_msg_server, _mach_msg_server_importance, + _mach_memory_object_memory_entry_64, _mach_msg, _mach_msg_destroy, + _mach_msg_overwrite, _mach_msg_overwrite_trap, _mach_msg_priority_encode, + _mach_msg_priority_is_pthread_priority, _mach_msg_priority_overide_qos, + _mach_msg_priority_qos, _mach_msg_priority_relpri, _mach_msg_receive, + _mach_msg_send, _mach_msg_server, _mach_msg_server_importance, _mach_msg_server_once, _mach_msg_trap, _mach_notify_dead_name, _mach_notify_no_senders, _mach_notify_port_deleted, _mach_notify_port_destroyed, _mach_notify_send_once, _mach_port_allocate, _mach_port_allocate_full, @@ -2149,10 +2271,8 @@ exports: _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_read, - _mach_vm_read_list, _mach_vm_read_overwrite, _mach_vm_reclaim_is_available, - _mach_vm_reclaim_mark_free, _mach_vm_reclaim_mark_used, _mach_vm_reclaim_ringbuffer_init, - _mach_vm_reclaim_synchronize, _mach_vm_reclaim_update_kernel_accounting, + _mach_vm_protect, _mach_vm_purgable_control, _mach_vm_range_create, + _mach_vm_read, _mach_vm_read_list, _mach_vm_read_overwrite, _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_voucher_deallocate, _mach_voucher_debug_info, _mach_voucher_extract_all_attr_recipes, @@ -2169,31 +2289,29 @@ exports: _mk_timer_arm, _mk_timer_arm_leeway, _mk_timer_cancel, _mk_timer_create, _mk_timer_destroy, _mkdir, _mkdirat, _mkfifo, _mkfifoat, _mknod, _mknodat, _mlock, _mlockall, _mmap, _mount, _mprotect, _mremap_encrypted, - _msg_receive, _msg_rpc, _msg_send, _msgctl, _msgget, _msgrcv, - '_msgrcv$NOCANCEL', _msgsnd, '_msgsnd$NOCANCEL', _msgsys, - _msync, '_msync$NOCANCEL', _munlock, _munlockall, _munmap, - _necp_client_action, _necp_match_policy, _necp_open, _necp_session_action, - _necp_session_open, _net_qos_guideline, _netagent_trigger, - _netname_check_in, _netname_check_out, _netname_look_up, _netname_version, - _nfsclnt, _nfssvc, _non_boost_assertion_token, _normal_boost_assertion_token, + _msg_receive, _msg_rpc, _msg_send, _msgget, _msgrcv, _msgsnd, + _msgsys, _msync, _munlock, _munlockall, _munmap, _necp_client_action, + _necp_match_policy, _necp_open, _necp_session_action, _necp_session_open, + _net_qos_guideline, _netagent_trigger, _netname_check_in, + _netname_check_out, _netname_look_up, _netname_version, _nfsclnt, + _nfssvc, _non_boost_assertion_token, _normal_boost_assertion_token, _ntp_adjtime, _ntp_gettime, _objc_bp_assist_cfg_np, _open, - '_open$NOCANCEL', _open_dprotected_np, _openat, '_openat$NOCANCEL', - _openat_authenticated_np, _openat_dprotected_np, _openbyid_np, - _os_buflet_get_data_address, _os_buflet_get_data_length, _os_buflet_get_data_limit, - _os_buflet_get_data_offset, _os_buflet_get_gro_len, _os_buflet_get_next_buf, + _open_dprotected_np, _openat, '_openat$NOCANCEL', _openat_authenticated_np, + _openat_dprotected_np, _openbyid_np, _os_buflet_get_data_address, + _os_buflet_get_data_length, _os_buflet_get_data_limit, _os_buflet_get_data_offset, _os_buflet_get_object_address, _os_buflet_get_object_limit, - _os_buflet_get_object_offset, _os_buflet_set_data_length, - _os_buflet_set_data_offset, _os_channel_advance_slot, _os_channel_attr_clone, - _os_channel_attr_create, _os_channel_attr_destroy, _os_channel_attr_get, - _os_channel_attr_get_key, _os_channel_attr_set, _os_channel_attr_set_key, - _os_channel_available_slot_count, _os_channel_buflet_alloc, - _os_channel_buflet_free, _os_channel_configure_interface_advisory, + _os_buflet_set_data_length, _os_buflet_set_data_offset, _os_channel_advance_slot, + _os_channel_attr_clone, _os_channel_attr_create, _os_channel_attr_destroy, + _os_channel_attr_get, _os_channel_attr_get_key, _os_channel_attr_set, + _os_channel_attr_set_key, _os_channel_available_slot_count, + _os_channel_buflet_alloc, _os_channel_buflet_free, _os_channel_configure_interface_advisory, _os_channel_create, _os_channel_create_extended, _os_channel_destroy, _os_channel_event_free, _os_channel_event_get_event_data, _os_channel_event_get_next_event, _os_channel_flow_admissible, - _os_channel_get_advisory_region, _os_channel_get_fd, _os_channel_get_interface_advisory, - _os_channel_get_next_event_handle, _os_channel_get_next_slot, - _os_channel_get_stats_region, _os_channel_is_defunct, _os_channel_packet_alloc, + _os_channel_flow_adv_get_ce_count, _os_channel_get_advisory_region, + _os_channel_get_fd, _os_channel_get_interface_advisory, _os_channel_get_next_event_handle, + _os_channel_get_next_slot, _os_channel_get_stats_region, _os_channel_is_defunct, + _os_channel_large_packet_alloc, _os_channel_packet_alloc, _os_channel_packet_free, _os_channel_packet_pool_purge, _os_channel_pending, _os_channel_read_attr, _os_channel_read_nexus_extension_info, _os_channel_ring_id, _os_channel_ring_notify_time, _os_channel_ring_sync_time, @@ -2210,10 +2328,11 @@ exports: _os_nexus_controller_get_fd, _os_nexus_controller_iterate_traffic_rules, _os_nexus_controller_read_provider_attr, _os_nexus_controller_register_provider, _os_nexus_controller_remove_traffic_rule, _os_nexus_controller_unbind_provider_instance, - _os_packet_add_buflet, _os_packet_clear_flow_uuid, _os_packet_decrement_use_count, - _os_packet_finalize, _os_packet_get_aggregation_type, _os_packet_get_buflet_count, - _os_packet_get_compression_generation_count, _os_packet_get_data_length, - _os_packet_get_expire_time, _os_packet_get_expiry_action, + _os_nexus_flow_set_wake_from_sleep, _os_packet_add_buflet, + _os_packet_add_inet_csum_flags, _os_packet_clear_flow_uuid, + _os_packet_decrement_use_count, _os_packet_finalize, _os_packet_get_aggregation_type, + _os_packet_get_buflet_count, _os_packet_get_compression_generation_count, + _os_packet_get_data_length, _os_packet_get_expire_time, _os_packet_get_expiry_action, _os_packet_get_flow_uuid, _os_packet_get_group_end, _os_packet_get_group_start, _os_packet_get_headroom, _os_packet_get_inet_checksum, _os_packet_get_keep_alive, _os_packet_get_link_broadcast, _os_packet_get_link_ethfcs, @@ -2235,65 +2354,67 @@ exports: _os_packet_set_traffic_class, _os_packet_set_transport_last_packet, _os_packet_set_transport_retransmit, _os_packet_set_transport_traffic_background, _os_packet_set_transport_traffic_realtime, _os_packet_set_tso_flags, - _os_packet_set_vlan_tag, _os_packet_trace_event, _os_proc_available_memory, - _panic, _panic_init, _pathconf, _peeloff, _pid_for_task, _pid_hibernate, - _pid_resume, _pid_shutdown_networking, _pid_shutdown_sockets, - _pid_suspend, _pipe, _pivot_root, _pkt_subtype_assert_fail, - _pkt_type_assert_fail, _poll, '_poll$NOCANCEL', _port_obj_init, - _port_obj_table, _port_obj_table_size, _posix_madvise, _posix_spawn, - _posix_spawn_file_actions_add_fileportdup2_np, _posix_spawn_file_actions_addchdir_np, - _posix_spawn_file_actions_addclose, _posix_spawn_file_actions_adddup2, - _posix_spawn_file_actions_addfchdir_np, _posix_spawn_file_actions_addinherit_np, - _posix_spawn_file_actions_addopen, _posix_spawn_file_actions_destroy, - _posix_spawn_file_actions_init, _posix_spawnattr_destroy, - _posix_spawnattr_disable_ptr_auth_a_keys_np, _posix_spawnattr_get_darwin_role_np, - _posix_spawnattr_get_qos_clamp_np, _posix_spawnattr_getarchpref_np, - _posix_spawnattr_getbinpref_np, _posix_spawnattr_getcpumonitor, - _posix_spawnattr_getflags, _posix_spawnattr_getmacpolicyinfo_np, - _posix_spawnattr_getpcontrol_np, _posix_spawnattr_getpgroup, - _posix_spawnattr_getprocesstype_np, _posix_spawnattr_getsigdefault, - _posix_spawnattr_getsigmask, _posix_spawnattr_init, _posix_spawnattr_set_alt_rosetta_np, - _posix_spawnattr_set_crash_behavior_deadline_np, _posix_spawnattr_set_crash_behavior_np, - _posix_spawnattr_set_crash_count_np, _posix_spawnattr_set_csm_np, - _posix_spawnattr_set_darwin_role_np, _posix_spawnattr_set_filedesclimit_ext, - _posix_spawnattr_set_gid_np, _posix_spawnattr_set_groups_np, - _posix_spawnattr_set_importancewatch_port_np, _posix_spawnattr_set_jetsam_ttr_np, - _posix_spawnattr_set_launch_type_np, _posix_spawnattr_set_login_np, - _posix_spawnattr_set_max_addr_np, _posix_spawnattr_set_persona_gid_np, - _posix_spawnattr_set_persona_groups_np, _posix_spawnattr_set_persona_np, - _posix_spawnattr_set_persona_uid_np, _posix_spawnattr_set_platform_np, - _posix_spawnattr_set_portlimits_ext, _posix_spawnattr_set_ptrauth_task_port_np, - _posix_spawnattr_set_qos_clamp_np, _posix_spawnattr_set_registered_ports_np, - _posix_spawnattr_set_subsystem_root_path_np, _posix_spawnattr_set_threadlimit_ext, - _posix_spawnattr_set_uid_np, _posix_spawnattr_setarchpref_np, - _posix_spawnattr_setauditsessionport_np, _posix_spawnattr_setbinpref_np, - _posix_spawnattr_setcoalition_np, _posix_spawnattr_setcpumonitor, - _posix_spawnattr_setcpumonitor_default, _posix_spawnattr_setdataless_iopolicy_np, - _posix_spawnattr_setexceptionports_np, _posix_spawnattr_setflags, - _posix_spawnattr_setjetsam_ext, _posix_spawnattr_setmacpolicyinfo_np, - _posix_spawnattr_setnosmt_np, _posix_spawnattr_setpcontrol_np, - _posix_spawnattr_setpgroup, _posix_spawnattr_setprocesstype_np, - _posix_spawnattr_setsigdefault, _posix_spawnattr_setsigmask, - _posix_spawnattr_setspecialport_np, _pread, '_pread$NOCANCEL', - _preadv, '_preadv$NOCANCEL', _proc_clear_cpulimits, _proc_clear_delayidlesleep, - _proc_clear_dirty, _proc_clear_vmpressure, _proc_current_thread_schedinfo, - _proc_denap_assertion_begin_with_msg, _proc_denap_assertion_complete, - _proc_disable_apptype, _proc_disable_cpumon, _proc_disable_wakemon, - _proc_donate_importance_boost, _proc_enable_apptype, _proc_get_cpumon_params, - _proc_get_dirty, _proc_get_wakemon_params, _proc_importance_assertion_begin_with_msg, - _proc_importance_assertion_complete, _proc_kmsgbuf, _proc_libversion, - _proc_list_dynkqueueids, _proc_list_uptrs, _proc_listallpids, - _proc_listchildpids, _proc_listcoalitions, _proc_listpgrppids, - _proc_listpids, _proc_listpidspath, _proc_name, _proc_pid_rusage, - _proc_piddynkqueueinfo, _proc_pidfdinfo, _proc_pidfileportinfo, - _proc_pidinfo, _proc_pidoriginatorinfo, _proc_pidpath, _proc_pidpath_audittoken, - _proc_regionfilename, _proc_reset_footprint_interval, _proc_resume_cpumon, - _proc_rlimit_control, _proc_set_cpumon_defaults, _proc_set_cpumon_params, - _proc_set_cpumon_params_fatal, _proc_set_csm, _proc_set_delayidlesleep, - _proc_set_dirty, _proc_set_no_smt, _proc_set_owner_vmpressure, - _proc_set_wakemon_defaults, _proc_set_wakemon_params, _proc_setcpu_percentage, - _proc_setpcontrol, _proc_setthread_cpupercent, _proc_setthread_csm, - _proc_setthread_no_smt, _proc_suppress, _proc_terminate, _proc_terminate_all_rsr, + _os_packet_set_tx_timestamp, _os_packet_set_vlan_tag, _os_packet_trace_event, + _os_proc_available_memory, _panic, _panic_init, _panic_with_data, + _pathconf, _peeloff, _pid_for_task, _pid_hibernate, _pid_resume, + _pid_shutdown_networking, _pid_shutdown_sockets, _pid_suspend, + _pipe, _pivot_root, _pkt_subtype_assert_fail, _pkt_type_assert_fail, + _poll, _port_obj_init, _port_obj_table, _port_obj_table_size, + _posix_madvise, _posix_spawn, _posix_spawn_file_actions_add_fileportdup2_np, + _posix_spawn_file_actions_addchdir_np, _posix_spawn_file_actions_addclose, + _posix_spawn_file_actions_adddup2, _posix_spawn_file_actions_addfchdir_np, + _posix_spawn_file_actions_addinherit_np, _posix_spawn_file_actions_addopen, + _posix_spawn_file_actions_destroy, _posix_spawn_file_actions_init, + _posix_spawnattr_destroy, _posix_spawnattr_disable_ptr_auth_a_keys_np, + _posix_spawnattr_get_darwin_role_np, _posix_spawnattr_get_qos_clamp_np, + _posix_spawnattr_getarchpref_np, _posix_spawnattr_getbinpref_np, + _posix_spawnattr_getcpumonitor, _posix_spawnattr_getflags, + _posix_spawnattr_getmacpolicyinfo_np, _posix_spawnattr_getpcontrol_np, + _posix_spawnattr_getpgroup, _posix_spawnattr_getprocesstype_np, + _posix_spawnattr_getsigdefault, _posix_spawnattr_getsigmask, + _posix_spawnattr_init, _posix_spawnattr_set_alt_rosetta_np, + _posix_spawnattr_set_conclave_id_np, _posix_spawnattr_set_crash_behavior_deadline_np, + _posix_spawnattr_set_crash_behavior_np, _posix_spawnattr_set_crash_count_np, + _posix_spawnattr_set_csm_np, _posix_spawnattr_set_darwin_role_np, + _posix_spawnattr_set_filedesclimit_ext, _posix_spawnattr_set_gid_np, + _posix_spawnattr_set_groups_np, _posix_spawnattr_set_importancewatch_port_np, + _posix_spawnattr_set_jetsam_ttr_np, _posix_spawnattr_set_launch_type_np, + _posix_spawnattr_set_login_np, _posix_spawnattr_set_max_addr_np, + _posix_spawnattr_set_persona_gid_np, _posix_spawnattr_set_persona_groups_np, + _posix_spawnattr_set_persona_np, _posix_spawnattr_set_persona_uid_np, + _posix_spawnattr_set_platform_np, _posix_spawnattr_set_portlimits_ext, + _posix_spawnattr_set_ptrauth_task_port_np, _posix_spawnattr_set_qos_clamp_np, + _posix_spawnattr_set_registered_ports_np, _posix_spawnattr_set_subsystem_root_path_np, + _posix_spawnattr_set_threadlimit_ext, _posix_spawnattr_set_uid_np, + _posix_spawnattr_setarchpref_np, _posix_spawnattr_setauditsessionport_np, + _posix_spawnattr_setbinpref_np, _posix_spawnattr_setcoalition_np, + _posix_spawnattr_setcpumonitor, _posix_spawnattr_setcpumonitor_default, + _posix_spawnattr_setdataless_iopolicy_np, _posix_spawnattr_setexceptionports_np, + _posix_spawnattr_setflags, _posix_spawnattr_setjetsam_ext, + _posix_spawnattr_setmacpolicyinfo_np, _posix_spawnattr_setnosmt_np, + _posix_spawnattr_setpcontrol_np, _posix_spawnattr_setpgroup, + _posix_spawnattr_setprocesstype_np, _posix_spawnattr_setsigdefault, + _posix_spawnattr_setsigmask, _posix_spawnattr_setspecialport_np, + _pread, _preadv, '_preadv$NOCANCEL', _proc_clear_cpulimits, + _proc_clear_delayidlesleep, _proc_clear_dirty, _proc_clear_vmpressure, + _proc_current_thread_schedinfo, _proc_denap_assertion_begin_with_msg, + _proc_denap_assertion_complete, _proc_disable_apptype, _proc_disable_cpumon, + _proc_disable_wakemon, _proc_donate_importance_boost, _proc_enable_apptype, + _proc_get_cpumon_params, _proc_get_dirty, _proc_get_wakemon_params, + _proc_importance_assertion_begin_with_msg, _proc_importance_assertion_complete, + _proc_kmsgbuf, _proc_libversion, _proc_list_dynkqueueids, + _proc_list_uptrs, _proc_listallpids, _proc_listchildpids, + _proc_listcoalitions, _proc_listpgrppids, _proc_listpids, + _proc_listpidspath, _proc_name, _proc_pid_rusage, _proc_piddynkqueueinfo, + _proc_pidfdinfo, _proc_pidfileportinfo, _proc_pidinfo, _proc_pidoriginatorinfo, + _proc_pidpath, _proc_pidpath_audittoken, _proc_regionfilename, + _proc_reset_footprint_interval, _proc_resume_cpumon, _proc_rlimit_control, + _proc_set_cpumon_defaults, _proc_set_cpumon_params, _proc_set_cpumon_params_fatal, + _proc_set_csm, _proc_set_delayidlesleep, _proc_set_dirty, + _proc_set_no_smt, _proc_set_owner_vmpressure, _proc_set_wakemon_defaults, + _proc_set_wakemon_params, _proc_setcpu_percentage, _proc_setpcontrol, + _proc_setthread_cpupercent, _proc_setthread_csm, _proc_setthread_no_smt, + _proc_suppress, _proc_terminate, _proc_terminate_all_rsr, _proc_trace_log, _proc_track_dirty, _proc_udata_info, _proc_uuid_policy, _processor_assign, _processor_control, _processor_exit, _processor_get_assignment, _processor_info, _processor_set_create, _processor_set_default, @@ -2302,34 +2423,30 @@ exports: _processor_set_policy_enable, _processor_set_stack_usage, _processor_set_statistics, _processor_set_tasks, _processor_set_tasks_with_flavor, _processor_set_threads, _processor_start, _pselect, '_pselect$DARWIN_EXTSN', - '_pselect$DARWIN_EXTSN$NOCANCEL', '_pselect$NOCANCEL', _pthread_getugid_np, - _pthread_setugid_np, _ptrace, _pwrite, '_pwrite$NOCANCEL', - _pwritev, '_pwritev$NOCANCEL', _quota, _quotactl, _read, '_read$NOCANCEL', - _readlink, _readlinkat, _readv, '_readv$NOCANCEL', _reboot, - _reboot_np, _record_system_event_as_kernel, _recvfrom, '_recvfrom$NOCANCEL', - _recvmsg, '_recvmsg$NOCANCEL', _recvmsg_x, _register_uexc_handler, - _removexattr, _rename, _rename_ext, _renameat, _renameatx_np, - _renamex_np, _revoke, _rmdir, _searchfs, _select, '_select$DARWIN_EXTSN', - '_select$DARWIN_EXTSN$NOCANCEL', '_select$NOCANCEL', _sem_close, - _sem_destroy, _sem_getvalue, _sem_init, _sem_open, _sem_post, - _sem_trywait, _sem_unlink, _sem_wait, '_sem_wait$NOCANCEL', - _semaphore_create, _semaphore_destroy, _semaphore_signal, - _semaphore_signal_all, _semaphore_signal_all_trap, _semaphore_signal_thread, - _semaphore_signal_thread_trap, _semaphore_signal_trap, _semaphore_timedwait, - _semaphore_timedwait_signal, _semaphore_timedwait_signal_trap, - _semaphore_timedwait_trap, _semaphore_wait, _semaphore_wait_signal, - _semaphore_wait_signal_trap, _semaphore_wait_trap, _semctl, - _semget, _semop, _semsys, _sendfile, _sendmsg, '_sendmsg$NOCANCEL', - _sendmsg_x, _sendto, '_sendto$NOCANCEL', _setattrlist, _setattrlistat, + '_pselect$DARWIN_EXTSN$NOCANCEL', _pthread_getugid_np, _pthread_setugid_np, + _ptrace, _pwrite, _pwritev, '_pwritev$NOCANCEL', _quota, _quotactl, + _read, _readlink, _readlinkat, _readv, _reboot, _reboot_np, + _record_system_event_as_kernel, _recvfrom, _recvmsg, _recvmsg_x, + _register_uexc_handler, _removexattr, _rename, _rename_ext, + _renameat, _renameatx_np, _renamex_np, _revoke, _rmdir, _searchfs, + _select, '_select$DARWIN_EXTSN', '_select$DARWIN_EXTSN$NOCANCEL', + _sem_close, _sem_destroy, _sem_getvalue, _sem_init, _sem_open, + _sem_post, _sem_trywait, _sem_unlink, _sem_wait, _semaphore_create, + _semaphore_destroy, _semaphore_signal, _semaphore_signal_all, + _semaphore_signal_all_trap, _semaphore_signal_thread, _semaphore_signal_thread_trap, + _semaphore_signal_trap, _semaphore_timedwait, _semaphore_timedwait_signal, + _semaphore_timedwait_signal_trap, _semaphore_timedwait_trap, + _semaphore_wait, _semaphore_wait_signal, _semaphore_wait_signal_trap, + _semaphore_wait_trap, _semget, _semop, _semsys, _sendfile, + _sendmsg, _sendmsg_x, _sendto, _setattrlist, _setattrlistat, _setaudit, _setaudit_addr, _setauid, _setegid, _seteuid, _setgid, _setgroups, _setiopolicy_np, _setitimer, _setpgid, _setpriority, - _setprivexec, _setquota, _setregid, _setreuid, _setrlimit, - _setsgroups_np, _setsid, _setsockopt, _setuid, _setwgroups_np, - _setxattr, _sfi_get_class_offtime, _sfi_process_get_flags, - _sfi_process_set_flags, _sfi_set_class_offtime, _shm_open, - _shm_unlink, _shmat, _shmctl, _shmdt, _shmget, _shmsys, _shutdown, - _sigpending, _sigprocmask, _sigsuspend, '_sigsuspend$NOCANCEL', - _socket, _socket_delegate, _socketpair, _stackshot_capture_with_config, + _setprivexec, _setquota, _setrlimit, _setsgroups_np, _setsid, + _setsockopt, _setuid, _setwgroups_np, _setxattr, _sfi_get_class_offtime, + _sfi_process_get_flags, _sfi_process_set_flags, _sfi_set_class_offtime, + _shm_open, _shm_unlink, _shmat, _shmdt, _shmget, _shmsys, + _shutdown, _sigpending, _sigprocmask, _sigsuspend, _socket, + _socket_delegate, _socketpair, _stackshot_capture_with_config, _stackshot_config_create, _stackshot_config_dealloc, _stackshot_config_dealloc_buffer, _stackshot_config_get_stackshot_buffer, _stackshot_config_get_stackshot_size, _stackshot_config_set_delta_timestamp, _stackshot_config_set_flags, @@ -2337,12 +2454,12 @@ exports: _stackshot_config_set_size_hint, _stat, _stat64, _statfs, _statfs64, _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, - _task_dyld_process_info_notify_register, _task_for_pid, _task_generate_corpse, - _task_get_assignment, _task_get_dyld_image_infos, _task_get_emulation_vector, - _task_get_exc_guard_behavior, _task_get_exception_ports, _task_get_exception_ports_info, + _system_override, _system_set_sfi_window, _task_assign, _task_assign_default, + _task_create, _task_create_identity_token, _task_dyld_process_info_notify_deregister, + _task_dyld_process_info_notify_get, _task_dyld_process_info_notify_register, + _task_for_pid, _task_generate_corpse, _task_get_assignment, + _task_get_dyld_image_infos, _task_get_emulation_vector, _task_get_exc_guard_behavior, + _task_get_exception_ports, _task_get_exception_ports_info, _task_get_mach_voucher, _task_get_special_port, _task_get_state, _task_identity_token_get_task_port, _task_info, _task_inspect, _task_inspect_for_pid, _task_map_corpse_info, _task_map_corpse_info_64, @@ -2382,19 +2499,35 @@ exports: _vm_read_overwrite, _vm_region_64, _vm_region_recurse_64, _vm_remap, _vm_remap_new, _vm_wire, _vm_write, _voucher_mach_msg_adopt, _voucher_mach_msg_clear, _voucher_mach_msg_revert, _voucher_mach_msg_set, - _vprintf_stderr_func, _wait4, _waitid, '_waitid$NOCANCEL', - _work_interval_copy_port, _work_interval_create, _work_interval_destroy, - _work_interval_get_flags_from_port, _work_interval_instance_alloc, - _work_interval_instance_clear, _work_interval_instance_finish, - _work_interval_instance_free, _work_interval_instance_get_complexity, - _work_interval_instance_get_deadline, _work_interval_instance_get_finish, - _work_interval_instance_get_id, _work_interval_instance_get_start, + _vprintf_stderr_func, _wait4, _waitid, _work_interval_copy_port, + _work_interval_create, _work_interval_destroy, _work_interval_get_flags_from_port, + _work_interval_instance_alloc, _work_interval_instance_clear, + _work_interval_instance_finish, _work_interval_instance_free, + _work_interval_instance_get_complexity, _work_interval_instance_get_deadline, + _work_interval_instance_get_finish, _work_interval_instance_get_id, + _work_interval_instance_get_start, _work_interval_instance_get_telemetry_data, _work_interval_instance_set_complexity, _work_interval_instance_set_deadline, _work_interval_instance_set_finish, _work_interval_instance_set_start, _work_interval_instance_start, _work_interval_instance_update, _work_interval_join, _work_interval_join_port, _work_interval_leave, _work_interval_notify, _work_interval_notify_simple, _write, - '_write$NOCANCEL', _writev, '_writev$NOCANCEL' ] + _writev ] + - targets: [ x86_64-macos, x86_64-maccatalyst ] + symbols: [ '_pselect$1050', '_select$1050' ] + - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, + arm64e-macos, arm64e-maccatalyst ] + symbols: [ '_accept$NOCANCEL', '_aio_suspend$NOCANCEL', '_close$NOCANCEL', + '_connect$NOCANCEL', '_fcntl$NOCANCEL', '_fsync$NOCANCEL', + _mach_msg2_internal, _mach_msg2_trap, _mach_vm_reclaim_is_available, + _mach_vm_reclaim_mark_free, _mach_vm_reclaim_mark_used, _mach_vm_reclaim_ringbuffer_init, + _mach_vm_reclaim_synchronize, _mach_vm_reclaim_update_kernel_accounting, + _msgctl, '_msgrcv$NOCANCEL', '_msgsnd$NOCANCEL', '_msync$NOCANCEL', + '_open$NOCANCEL', '_poll$NOCANCEL', '_pread$NOCANCEL', '_pselect$NOCANCEL', + '_pwrite$NOCANCEL', '_read$NOCANCEL', '_readv$NOCANCEL', '_recvfrom$NOCANCEL', + '_recvmsg$NOCANCEL', '_select$NOCANCEL', '_sem_wait$NOCANCEL', + _semctl, '_sendmsg$NOCANCEL', '_sendto$NOCANCEL', _setregid, + _setreuid, _shmctl, '_sigsuspend$NOCANCEL', _system_version_compat_mode, + '_waitid$NOCANCEL', '_write$NOCANCEL', '_writev$NOCANCEL' ] - targets: [ arm64-macos, arm64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] symbols: [ ___fstat, ___fstatat, ___fstatfs, ___getfsstat, ___lstat, ___stat, ___statfs, __current_pid, _mach_absolute_time_kernel, @@ -2404,43 +2537,41 @@ 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: 3226.100.4 +current-version: 3252 parent-umbrella: - targets: [ x86_64-macos, x86_64-maccatalyst, x86_64h-macos, x86_64h-maccatalyst, arm64-macos, arm64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] umbrella: System exports: - targets: [ x86_64-macos, x86_64-maccatalyst, x86_64h-macos, x86_64h-maccatalyst ] - symbols: [ __FE_DFL_DISABLE_SSE_DENORMS_ENV, ___cos_d4, ___cos_f8, ___fpclassify, - ___inf, ___inff, ___infl, ___isfinite, ___isinf, ___isnan, - ___isnormal, ___nan, ___signbit, ___sin_d4, ___sin_f8, __simd_acos_d4, - __simd_acos_d8, __simd_acos_f16, __simd_acos_f8, __simd_acosh_d4, - __simd_acosh_d8, __simd_acosh_f16, __simd_acosh_f8, __simd_asin_d4, - __simd_asin_d8, __simd_asin_f16, __simd_asin_f8, __simd_asinh_d4, - __simd_asinh_d8, __simd_asinh_f16, __simd_asinh_f8, __simd_atan2_d4, - __simd_atan2_d8, __simd_atan2_f16, __simd_atan2_f8, __simd_atan_d4, - __simd_atan_d8, __simd_atan_f16, __simd_atan_f8, __simd_atanh_d4, - __simd_atanh_d8, __simd_atanh_f16, __simd_atanh_f8, __simd_cbrt_d4, - __simd_cbrt_d8, __simd_cbrt_f16, __simd_cbrt_f8, __simd_cos_d4, - __simd_cos_d8, __simd_cos_f16, __simd_cos_f8, __simd_cosh_d4, - __simd_cosh_d8, __simd_cosh_f16, __simd_cosh_f8, __simd_cospi_d4, - __simd_cospi_d8, __simd_cospi_f16, __simd_cospi_f8, __simd_erf_d4, - __simd_erf_d8, __simd_erf_f16, __simd_erf_f8, __simd_erfc_d4, - __simd_erfc_d8, __simd_erfc_f16, __simd_erfc_f8, __simd_exp10_d4, - __simd_exp10_d8, __simd_exp10_f16, __simd_exp10_f8, __simd_exp2_d4, - __simd_exp2_d8, __simd_exp2_f16, __simd_exp2_f8, __simd_exp_d4, - __simd_exp_d8, __simd_exp_f16, __simd_exp_f8, __simd_expm1_d4, - __simd_expm1_d8, __simd_expm1_f16, __simd_expm1_f8, __simd_fmod_d4, - __simd_fmod_d8, __simd_fmod_f16, __simd_fmod_f8, __simd_hypot_d4, - __simd_hypot_d8, __simd_hypot_f16, __simd_hypot_f8, __simd_lgamma_d4, - __simd_lgamma_d8, __simd_lgamma_f16, __simd_lgamma_f8, __simd_log10_d4, - __simd_log10_d8, __simd_log10_f16, __simd_log10_f8, __simd_log1p_d4, - __simd_log1p_d8, __simd_log1p_f16, __simd_log1p_f8, __simd_log2_d4, - __simd_log2_d8, __simd_log2_f16, __simd_log2_f8, __simd_log_d4, - __simd_log_d8, __simd_log_f16, __simd_log_f8, __simd_nextafter_d4, - __simd_nextafter_d8, __simd_nextafter_f16, __simd_nextafter_f8, - __simd_pow_d4, __simd_pow_d8, __simd_pow_f16, __simd_pow_f8, - __simd_remainder_d4, __simd_remainder_d8, __simd_remainder_f16, + symbols: [ __FE_DFL_DISABLE_SSE_DENORMS_ENV, ___cos_d4, ___cos_f8, ___sin_d4, + ___sin_f8, __simd_acos_d4, __simd_acos_d8, __simd_acos_f16, + __simd_acos_f8, __simd_acosh_d4, __simd_acosh_d8, __simd_acosh_f16, + __simd_acosh_f8, __simd_asin_d4, __simd_asin_d8, __simd_asin_f16, + __simd_asin_f8, __simd_asinh_d4, __simd_asinh_d8, __simd_asinh_f16, + __simd_asinh_f8, __simd_atan2_d4, __simd_atan2_d8, __simd_atan2_f16, + __simd_atan2_f8, __simd_atan_d4, __simd_atan_d8, __simd_atan_f16, + __simd_atan_f8, __simd_atanh_d4, __simd_atanh_d8, __simd_atanh_f16, + __simd_atanh_f8, __simd_cbrt_d4, __simd_cbrt_d8, __simd_cbrt_f16, + __simd_cbrt_f8, __simd_cos_d4, __simd_cos_d8, __simd_cos_f16, + __simd_cos_f8, __simd_cosh_d4, __simd_cosh_d8, __simd_cosh_f16, + __simd_cosh_f8, __simd_cospi_d4, __simd_cospi_d8, __simd_cospi_f16, + __simd_cospi_f8, __simd_erf_d4, __simd_erf_d8, __simd_erf_f16, + __simd_erf_f8, __simd_erfc_d4, __simd_erfc_d8, __simd_erfc_f16, + __simd_erfc_f8, __simd_exp10_d4, __simd_exp10_d8, __simd_exp10_f16, + __simd_exp10_f8, __simd_exp2_d4, __simd_exp2_d8, __simd_exp2_f16, + __simd_exp2_f8, __simd_exp_d4, __simd_exp_d8, __simd_exp_f16, + __simd_exp_f8, __simd_expm1_d4, __simd_expm1_d8, __simd_expm1_f16, + __simd_expm1_f8, __simd_fmod_d4, __simd_fmod_d8, __simd_fmod_f16, + __simd_fmod_f8, __simd_hypot_d4, __simd_hypot_d8, __simd_hypot_f16, + __simd_hypot_f8, __simd_lgamma_d4, __simd_lgamma_d8, __simd_lgamma_f16, + __simd_lgamma_f8, __simd_log10_d4, __simd_log10_d8, __simd_log10_f16, + __simd_log10_f8, __simd_log1p_d4, __simd_log1p_d8, __simd_log1p_f16, + __simd_log1p_f8, __simd_log2_d4, __simd_log2_d8, __simd_log2_f16, + __simd_log2_f8, __simd_log_d4, __simd_log_d8, __simd_log_f16, + __simd_log_f8, __simd_nextafter_d4, __simd_nextafter_d8, __simd_nextafter_f16, + __simd_nextafter_f8, __simd_pow_d4, __simd_pow_d8, __simd_pow_f16, + __simd_pow_f8, __simd_remainder_d4, __simd_remainder_d8, __simd_remainder_f16, __simd_remainder_f8, __simd_round_d4, __simd_round_d8, __simd_round_f16, __simd_round_f8, __simd_sin_d4, __simd_sin_d8, __simd_sin_f16, __simd_sin_f8, __simd_sinh_d4, __simd_sinh_d8, __simd_sinh_f16, @@ -2449,90 +2580,7 @@ exports: __simd_tan_f8, __simd_tanh_d4, __simd_tanh_d8, __simd_tanh_f16, __simd_tanh_f8, __simd_tanpi_d4, __simd_tanpi_d8, __simd_tanpi_f16, __simd_tanpi_f8, __simd_tgamma_d4, __simd_tgamma_d8, __simd_tgamma_f16, - __simd_tgamma_f8, '_acos$fenv_access_off', '_acosf$fenv_access_off', - '_acosh$fenv_access_off', '_acoshf$fenv_access_off', '_acoshl$fenv_access_off', - '_acosl$fenv_access_off', '_asin$fenv_access_off', '_asinf$fenv_access_off', - '_asinh$fenv_access_off', '_asinhf$fenv_access_off', '_asinhl$fenv_access_off', - '_asinl$fenv_access_off', '_atan$fenv_access_off', '_atan2$fenv_access_off', - '_atan2f$fenv_access_off', '_atan2l$fenv_access_off', '_atanf$fenv_access_off', - '_atanh$fenv_access_off', '_atanhf$fenv_access_off', '_atanhl$fenv_access_off', - '_atanl$fenv_access_off', '_cabs$fenv_access_off', '_cabsf$fenv_access_off', - '_cabsl$fenv_access_off', '_cacos$fenv_access_off', '_cacosf$fenv_access_off', - '_cacosh$fenv_access_off', '_cacoshf$fenv_access_off', '_cacoshl$fenv_access_off', - '_cacosl$fenv_access_off', '_carg$fenv_access_off', '_cargf$fenv_access_off', - '_cargl$fenv_access_off', '_casin$fenv_access_off', '_casinf$fenv_access_off', - '_casinh$fenv_access_off', '_casinhf$fenv_access_off', '_casinhl$fenv_access_off', - '_casinl$fenv_access_off', '_catan$fenv_access_off', '_catanf$fenv_access_off', - '_catanh$fenv_access_off', '_catanhf$fenv_access_off', '_catanhl$fenv_access_off', - '_catanl$fenv_access_off', '_cbrt$fenv_access_off', '_cbrtf$fenv_access_off', - '_cbrtl$fenv_access_off', '_ccos$fenv_access_off', '_ccosf$fenv_access_off', - '_ccosh$fenv_access_off', '_ccoshf$fenv_access_off', '_ccoshl$fenv_access_off', - '_ccosl$fenv_access_off', '_ceil$fenv_access_off', '_ceilf$fenv_access_off', - '_ceill$fenv_access_off', '_cexp$fenv_access_off', '_cexpf$fenv_access_off', - '_cexpl$fenv_access_off', '_cimag$fenv_access_off', '_cimagf$fenv_access_off', - '_cimagl$fenv_access_off', '_clog$fenv_access_off', '_clogf$fenv_access_off', - '_clogl$fenv_access_off', '_conj$fenv_access_off', '_conjf$fenv_access_off', - '_conjl$fenv_access_off', '_copysign$fenv_access_off', '_copysignf$fenv_access_off', - '_copysignl$fenv_access_off', '_cos$fenv_access_off', '_cosf$fenv_access_off', - '_cosh$fenv_access_off', '_coshf$fenv_access_off', '_coshl$fenv_access_off', - '_cosl$fenv_access_off', '_cpow$fenv_access_off', '_cpowf$fenv_access_off', - '_cpowl$fenv_access_off', '_cproj$fenv_access_off', '_cprojf$fenv_access_off', - '_cprojl$fenv_access_off', '_creal$fenv_access_off', '_crealf$fenv_access_off', - '_creall$fenv_access_off', '_csin$fenv_access_off', '_csinf$fenv_access_off', - '_csinh$fenv_access_off', '_csinhf$fenv_access_off', '_csinhl$fenv_access_off', - '_csinl$fenv_access_off', '_csqrt$fenv_access_off', '_csqrtf$fenv_access_off', - '_csqrtl$fenv_access_off', '_ctan$fenv_access_off', '_ctanf$fenv_access_off', - '_ctanh$fenv_access_off', '_ctanhf$fenv_access_off', '_ctanhl$fenv_access_off', - '_ctanl$fenv_access_off', _drem, '_erf$fenv_access_off', '_erfc$fenv_access_off', - '_erfcf$fenv_access_off', '_erfcl$fenv_access_off', '_erff$fenv_access_off', - '_erfl$fenv_access_off', '_exp$fenv_access_off', '_exp2$fenv_access_off', - '_exp2f$fenv_access_off', '_exp2l$fenv_access_off', '_expf$fenv_access_off', - '_expl$fenv_access_off', '_expm1$fenv_access_off', '_expm1f$fenv_access_off', - '_expm1l$fenv_access_off', '_fabs$fenv_access_off', '_fabsf$fenv_access_off', - '_fabsl$fenv_access_off', '_fdim$fenv_access_off', '_fdimf$fenv_access_off', - '_fdiml$fenv_access_off', _fegetexcept, _fesetexcept, _finite, - '_floor$fenv_access_off', '_floorf$fenv_access_off', '_floorl$fenv_access_off', - '_fma$fenv_access_off', '_fmaf$fenv_access_off', '_fmal$fenv_access_off', - '_fmax$fenv_access_off', '_fmaxf$fenv_access_off', '_fmaxl$fenv_access_off', - '_fmin$fenv_access_off', '_fminf$fenv_access_off', '_fminl$fenv_access_off', - '_fmod$fenv_access_off', '_fmodf$fenv_access_off', '_fmodl$fenv_access_off', - '_frexp$fenv_access_off', '_frexpf$fenv_access_off', '_frexpl$fenv_access_off', - _gamma, '_gamma$fenv_access_off', '_hypot$fenv_access_off', - '_hypotf$fenv_access_off', '_hypotl$fenv_access_off', '_ilogb$fenv_access_off', - '_ilogbf$fenv_access_off', '_ilogbl$fenv_access_off', '_ldexp$fenv_access_off', - '_ldexpf$fenv_access_off', '_ldexpl$fenv_access_off', '_lgamma$fenv_access_off', - '_lgamma_r$fenv_access_off', '_lgammaf$fenv_access_off', '_lgammaf_r$fenv_access_off', - '_lgammal$fenv_access_off', '_lgammal_r$fenv_access_off', - '_llrint$fenv_access_off', '_llrintf$fenv_access_off', '_llrintl$fenv_access_off', - '_llround$fenv_access_off', '_llroundf$fenv_access_off', '_llroundl$fenv_access_off', - '_log$fenv_access_off', '_log10$fenv_access_off', '_log10f$fenv_access_off', - '_log10l$fenv_access_off', '_log1p$fenv_access_off', '_log1pf$fenv_access_off', - '_log1pl$fenv_access_off', '_log2$fenv_access_off', '_log2f$fenv_access_off', - '_log2l$fenv_access_off', '_logb$fenv_access_off', '_logbf$fenv_access_off', - '_logbl$fenv_access_off', '_logf$fenv_access_off', '_logl$fenv_access_off', - '_lrint$fenv_access_off', '_lrintf$fenv_access_off', '_lrintl$fenv_access_off', - '_lround$fenv_access_off', '_lroundf$fenv_access_off', '_lroundl$fenv_access_off', - _matherr, '_modf$fenv_access_off', '_modff$fenv_access_off', - '_modfl$fenv_access_off', '_nearbyint$fenv_access_off', '_nearbyintf$fenv_access_off', - '_nearbyintl$fenv_access_off', '_nextafter$fenv_access_off', - _nextafterd, '_nextafterf$fenv_access_off', '_nextafterl$fenv_access_off', - '_nexttoward$fenv_access_off', '_nexttowardf$fenv_access_off', - '_nexttowardl$fenv_access_off', '_pow$fenv_access_off', '_powf$fenv_access_off', - '_powl$fenv_access_off', '_remainder$fenv_access_off', '_remainderf$fenv_access_off', - '_remainderl$fenv_access_off', '_remquo$fenv_access_off', - '_remquof$fenv_access_off', '_remquol$fenv_access_off', '_rint$fenv_access_off', - '_rintf$fenv_access_off', '_rintl$fenv_access_off', _rinttol, - '_round$fenv_access_off', '_roundf$fenv_access_off', '_roundl$fenv_access_off', - _roundtol, '_scalbln$fenv_access_off', '_scalblnf$fenv_access_off', - '_scalblnl$fenv_access_off', '_scalbn$fenv_access_off', '_scalbnf$fenv_access_off', - '_scalbnl$fenv_access_off', _significand, '_sin$fenv_access_off', - '_sinf$fenv_access_off', '_sinh$fenv_access_off', '_sinhf$fenv_access_off', - '_sinhl$fenv_access_off', '_sinl$fenv_access_off', '_sqrt$fenv_access_off', - '_sqrtf$fenv_access_off', '_sqrtl$fenv_access_off', '_tan$fenv_access_off', - '_tanf$fenv_access_off', '_tanh$fenv_access_off', '_tanhf$fenv_access_off', - '_tanhl$fenv_access_off', '_tanl$fenv_access_off', '_tgamma$fenv_access_off', - '_tgammaf$fenv_access_off', '_tgammal$fenv_access_off', '_trunc$fenv_access_off', - '_truncf$fenv_access_off', '_truncl$fenv_access_off' ] + __simd_tgamma_f8 ] - targets: [ x86_64-macos, x86_64-maccatalyst, x86_64h-macos, x86_64h-maccatalyst, arm64-macos, arm64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] symbols: [ __FE_DFL_ENV, ___Libm_version, ___cos_d2, ___cos_f4, ___cospi, @@ -2611,6 +2659,93 @@ exports: _sin, _sinf, _sinh, _sinhf, _sinhl, _sinl, _sqrt, _sqrtf, _sqrtl, _tan, _tanf, _tanh, _tanhf, _tanhl, _tanl, _tgamma, _tgammaf, _tgammal, _trunc, _truncf, _truncl, _y0, _y1, _yn ] + - targets: [ x86_64-macos, x86_64h-macos ] + symbols: [ ___fpclassify, ___inf, ___inff, ___infl, ___isfinite, ___isinf, + ___isnan, ___isnormal, ___nan, ___signbit, '_acos$fenv_access_off', + '_acosf$fenv_access_off', '_acosh$fenv_access_off', '_acoshf$fenv_access_off', + '_acoshl$fenv_access_off', '_acosl$fenv_access_off', '_asin$fenv_access_off', + '_asinf$fenv_access_off', '_asinh$fenv_access_off', '_asinhf$fenv_access_off', + '_asinhl$fenv_access_off', '_asinl$fenv_access_off', '_atan$fenv_access_off', + '_atan2$fenv_access_off', '_atan2f$fenv_access_off', '_atan2l$fenv_access_off', + '_atanf$fenv_access_off', '_atanh$fenv_access_off', '_atanhf$fenv_access_off', + '_atanhl$fenv_access_off', '_atanl$fenv_access_off', '_cabs$fenv_access_off', + '_cabsf$fenv_access_off', '_cabsl$fenv_access_off', '_cacos$fenv_access_off', + '_cacosf$fenv_access_off', '_cacosh$fenv_access_off', '_cacoshf$fenv_access_off', + '_cacoshl$fenv_access_off', '_cacosl$fenv_access_off', '_carg$fenv_access_off', + '_cargf$fenv_access_off', '_cargl$fenv_access_off', '_casin$fenv_access_off', + '_casinf$fenv_access_off', '_casinh$fenv_access_off', '_casinhf$fenv_access_off', + '_casinhl$fenv_access_off', '_casinl$fenv_access_off', '_catan$fenv_access_off', + '_catanf$fenv_access_off', '_catanh$fenv_access_off', '_catanhf$fenv_access_off', + '_catanhl$fenv_access_off', '_catanl$fenv_access_off', '_cbrt$fenv_access_off', + '_cbrtf$fenv_access_off', '_cbrtl$fenv_access_off', '_ccos$fenv_access_off', + '_ccosf$fenv_access_off', '_ccosh$fenv_access_off', '_ccoshf$fenv_access_off', + '_ccoshl$fenv_access_off', '_ccosl$fenv_access_off', '_ceil$fenv_access_off', + '_ceilf$fenv_access_off', '_ceill$fenv_access_off', '_cexp$fenv_access_off', + '_cexpf$fenv_access_off', '_cexpl$fenv_access_off', '_cimag$fenv_access_off', + '_cimagf$fenv_access_off', '_cimagl$fenv_access_off', '_clog$fenv_access_off', + '_clogf$fenv_access_off', '_clogl$fenv_access_off', '_conj$fenv_access_off', + '_conjf$fenv_access_off', '_conjl$fenv_access_off', '_copysign$fenv_access_off', + '_copysignf$fenv_access_off', '_copysignl$fenv_access_off', + '_cos$fenv_access_off', '_cosf$fenv_access_off', '_cosh$fenv_access_off', + '_coshf$fenv_access_off', '_coshl$fenv_access_off', '_cosl$fenv_access_off', + '_cpow$fenv_access_off', '_cpowf$fenv_access_off', '_cpowl$fenv_access_off', + '_cproj$fenv_access_off', '_cprojf$fenv_access_off', '_cprojl$fenv_access_off', + '_creal$fenv_access_off', '_crealf$fenv_access_off', '_creall$fenv_access_off', + '_csin$fenv_access_off', '_csinf$fenv_access_off', '_csinh$fenv_access_off', + '_csinhf$fenv_access_off', '_csinhl$fenv_access_off', '_csinl$fenv_access_off', + '_csqrt$fenv_access_off', '_csqrtf$fenv_access_off', '_csqrtl$fenv_access_off', + '_ctan$fenv_access_off', '_ctanf$fenv_access_off', '_ctanh$fenv_access_off', + '_ctanhf$fenv_access_off', '_ctanhl$fenv_access_off', '_ctanl$fenv_access_off', + _drem, '_erf$fenv_access_off', '_erfc$fenv_access_off', '_erfcf$fenv_access_off', + '_erfcl$fenv_access_off', '_erff$fenv_access_off', '_erfl$fenv_access_off', + '_exp$fenv_access_off', '_exp2$fenv_access_off', '_exp2f$fenv_access_off', + '_exp2l$fenv_access_off', '_expf$fenv_access_off', '_expl$fenv_access_off', + '_expm1$fenv_access_off', '_expm1f$fenv_access_off', '_expm1l$fenv_access_off', + '_fabs$fenv_access_off', '_fabsf$fenv_access_off', '_fabsl$fenv_access_off', + '_fdim$fenv_access_off', '_fdimf$fenv_access_off', '_fdiml$fenv_access_off', + _fegetexcept, _fesetexcept, _finite, '_floor$fenv_access_off', + '_floorf$fenv_access_off', '_floorl$fenv_access_off', '_fma$fenv_access_off', + '_fmaf$fenv_access_off', '_fmal$fenv_access_off', '_fmax$fenv_access_off', + '_fmaxf$fenv_access_off', '_fmaxl$fenv_access_off', '_fmin$fenv_access_off', + '_fminf$fenv_access_off', '_fminl$fenv_access_off', '_fmod$fenv_access_off', + '_fmodf$fenv_access_off', '_fmodl$fenv_access_off', '_frexp$fenv_access_off', + '_frexpf$fenv_access_off', '_frexpl$fenv_access_off', _gamma, + '_gamma$fenv_access_off', '_hypot$fenv_access_off', '_hypotf$fenv_access_off', + '_hypotl$fenv_access_off', '_ilogb$fenv_access_off', '_ilogbf$fenv_access_off', + '_ilogbl$fenv_access_off', '_ldexp$fenv_access_off', '_ldexpf$fenv_access_off', + '_ldexpl$fenv_access_off', '_lgamma$fenv_access_off', '_lgamma_r$fenv_access_off', + '_lgammaf$fenv_access_off', '_lgammaf_r$fenv_access_off', + '_lgammal$fenv_access_off', '_lgammal_r$fenv_access_off', + '_llrint$fenv_access_off', '_llrintf$fenv_access_off', '_llrintl$fenv_access_off', + '_llround$fenv_access_off', '_llroundf$fenv_access_off', '_llroundl$fenv_access_off', + '_log$fenv_access_off', '_log10$fenv_access_off', '_log10f$fenv_access_off', + '_log10l$fenv_access_off', '_log1p$fenv_access_off', '_log1pf$fenv_access_off', + '_log1pl$fenv_access_off', '_log2$fenv_access_off', '_log2f$fenv_access_off', + '_log2l$fenv_access_off', '_logb$fenv_access_off', '_logbf$fenv_access_off', + '_logbl$fenv_access_off', '_logf$fenv_access_off', '_logl$fenv_access_off', + '_lrint$fenv_access_off', '_lrintf$fenv_access_off', '_lrintl$fenv_access_off', + '_lround$fenv_access_off', '_lroundf$fenv_access_off', '_lroundl$fenv_access_off', + _matherr, '_modf$fenv_access_off', '_modff$fenv_access_off', + '_modfl$fenv_access_off', '_nearbyint$fenv_access_off', '_nearbyintf$fenv_access_off', + '_nearbyintl$fenv_access_off', '_nextafter$fenv_access_off', + _nextafterd, '_nextafterf$fenv_access_off', '_nextafterl$fenv_access_off', + '_nexttoward$fenv_access_off', '_nexttowardf$fenv_access_off', + '_nexttowardl$fenv_access_off', '_pow$fenv_access_off', '_powf$fenv_access_off', + '_powl$fenv_access_off', '_remainder$fenv_access_off', '_remainderf$fenv_access_off', + '_remainderl$fenv_access_off', '_remquo$fenv_access_off', + '_remquof$fenv_access_off', '_remquol$fenv_access_off', '_rint$fenv_access_off', + '_rintf$fenv_access_off', '_rintl$fenv_access_off', _rinttol, + '_round$fenv_access_off', '_roundf$fenv_access_off', '_roundl$fenv_access_off', + _roundtol, '_scalbln$fenv_access_off', '_scalblnf$fenv_access_off', + '_scalblnl$fenv_access_off', '_scalbn$fenv_access_off', '_scalbnf$fenv_access_off', + '_scalbnl$fenv_access_off', _significand, '_sin$fenv_access_off', + '_sinf$fenv_access_off', '_sinh$fenv_access_off', '_sinhf$fenv_access_off', + '_sinhl$fenv_access_off', '_sinl$fenv_access_off', '_sqrt$fenv_access_off', + '_sqrtf$fenv_access_off', '_sqrtl$fenv_access_off', '_tan$fenv_access_off', + '_tanf$fenv_access_off', '_tanh$fenv_access_off', '_tanhf$fenv_access_off', + '_tanhl$fenv_access_off', '_tanl$fenv_access_off', '_tgamma$fenv_access_off', + '_tgammaf$fenv_access_off', '_tgammal$fenv_access_off', '_trunc$fenv_access_off', + '_truncf$fenv_access_off', '_truncl$fenv_access_off' ] - targets: [ arm64-macos, arm64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] symbols: [ __FE_DFL_DISABLE_DENORMS_ENV ] --- !tapi-tbd @@ -2618,7 +2753,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: 425.100.7 +current-version: 474.0.13 parent-umbrella: - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] @@ -2646,24 +2781,33 @@ exports: _malloc_freezedry, _malloc_get_all_zones, _malloc_get_thread_options, _malloc_get_zone_name, _malloc_good_size, _malloc_jumpstart, _malloc_logger, _malloc_make_nonpurgeable, _malloc_make_purgeable, - _malloc_memory_event_handler, _malloc_num_zones, _malloc_num_zones_allocated, - _malloc_printf, _malloc_register_stack_logger, _malloc_set_thread_options, + _malloc_memory_event_handler, _malloc_memorypressure_mask_default_4libdispatch, + _malloc_memorypressure_mask_msl_4libdispatch, _malloc_num_zones, + _malloc_num_zones_allocated, _malloc_printf, _malloc_register_stack_logger, + _malloc_sanitizer_get_functions, _malloc_sanitizer_is_enabled, + _malloc_sanitizer_set_functions, _malloc_set_thread_options, _malloc_set_zone_name, _malloc_singlethreaded, _malloc_size, - _malloc_zero_on_free_disable, _malloc_zone_batch_free, _malloc_zone_batch_malloc, - _malloc_zone_calloc, _malloc_zone_check, _malloc_zone_claimed_address, - _malloc_zone_disable_discharge_checking, _malloc_zone_discharge, - _malloc_zone_enable_discharge_checking, _malloc_zone_enumerate_discharged_pointers, - _malloc_zone_free, _malloc_zone_from_ptr, _malloc_zone_log, - _malloc_zone_malloc, _malloc_zone_memalign, _malloc_zone_pressure_relief, - _malloc_zone_print, _malloc_zone_print_ptr_info, _malloc_zone_realloc, - _malloc_zone_register, _malloc_zone_statistics, _malloc_zone_unregister, - _malloc_zone_valloc, _malloc_zones, _mstats, _pgm_diagnose_fault_from_crash_reporter, - _posix_memalign, _quarantine_diagnose_fault_from_crash_reporter, - _realloc, '_reallocarray$DARWIN_EXTSN', '_reallocarrayf$DARWIN_EXTSN', - _scalable_zone_info, _scalable_zone_statistics, _set_malloc_singlethreaded, - _stack_logging_enable_logging, _szone_check_counter, _szone_check_modulo, - _szone_check_start, _tiny_print_region_free_list, _turn_off_stack_logging, - _turn_on_stack_logging, _valloc, _vfree, _zeroify_scalable_zone ] + _malloc_type_aligned_alloc, _malloc_type_calloc, _malloc_type_free, + _malloc_type_malloc, _malloc_type_posix_memalign, _malloc_type_realloc, + _malloc_type_valloc, _malloc_type_zone_calloc, _malloc_type_zone_free, + _malloc_type_zone_malloc, _malloc_type_zone_memalign, _malloc_type_zone_realloc, + _malloc_type_zone_valloc, _malloc_zero_on_free_disable, _malloc_zone_batch_free, + _malloc_zone_batch_malloc, _malloc_zone_calloc, _malloc_zone_check, + _malloc_zone_claimed_address, _malloc_zone_disable_discharge_checking, + _malloc_zone_discharge, _malloc_zone_enable_discharge_checking, + _malloc_zone_enumerate_discharged_pointers, _malloc_zone_free, + _malloc_zone_from_ptr, _malloc_zone_log, _malloc_zone_malloc, + _malloc_zone_memalign, _malloc_zone_pressure_relief, _malloc_zone_print, + _malloc_zone_print_ptr_info, _malloc_zone_realloc, _malloc_zone_register, + _malloc_zone_statistics, _malloc_zone_unregister, _malloc_zone_valloc, + _malloc_zones, _mstats, _pgm_diagnose_fault_from_crash_reporter, + _pgm_extract_report_from_corpse, _posix_memalign, _realloc, + '_reallocarray$DARWIN_EXTSN', '_reallocarrayf$DARWIN_EXTSN', + _sanitizer_diagnose_fault_from_crash_reporter, _scalable_zone_info, + _scalable_zone_statistics, _set_malloc_singlethreaded, _stack_logging_enable_logging, + _szone_check_counter, _szone_check_modulo, _szone_check_start, + _tiny_print_region_free_list, _turn_off_stack_logging, _turn_on_stack_logging, + _valloc, _vfree, _xzm_ptr_lookup_4test, _zeroify_scalable_zone ] --- !tapi-tbd tbd-version: 4 targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, @@ -2680,21 +2824,24 @@ exports: _NEHelperCacheClearUUIDs, _NEHelperCacheCopyAppUUIDMapping, _NEHelperCacheCopyAppUUIDMappingExtended, _NEHelperCacheCopyAppUUIDMappingForUIDExtended, _NEHelperCacheCopySigningIdentifierMapping, _NEHelperCacheSetDomainDictionaries, - _NEHelperCacheSetRoutes, _NEHelperCopyAggregatePathRules, + _NEHelperCacheSetMatchDomains, _NEHelperCacheSetRoutes, _NEHelperCopyAggregatePathRules, _NEHelperCopyAppInfo, _NEHelperCopyCurrentNetworkAsync, _NEHelperCopyCurrentNetworkInfo, - _NEHelperCopyPerAppDomains, _NEHelperCopyResponse, _NEHelperGetIKESocket, - _NEHelperGetIKESocketWithResult, _NEHelperGetKernelControlSocket, - _NEHelperGetKernelControlSocketExtended, _NEHelperGetNECPSessionFD, - _NEHelperGetPFKeySocket, _NEHelperHandleConfigurationsChangedBySC, - _NEHelperInit, _NEHelperInterfaceRemoveAddress, _NEHelperInterfaceSetAddress, - _NEHelperInterfaceSetAddressWithLifetime, _NEHelperInterfaceSetMTU, + _NEHelperCopyDataForCertificate, _NEHelperCopyPerAppDomains, + _NEHelperCopyResponse, _NEHelperCopyXPCEndpointForIdentityProxy, + _NEHelperGetAppTrackerDomains, _NEHelperGetIKESocket, _NEHelperGetIKESocketWithResult, + _NEHelperGetKernelControlSocket, _NEHelperGetKernelControlSocketExtended, + _NEHelperGetNECPSessionFD, _NEHelperGetPFKeySocket, _NEHelperHandleConfigurationsChangedBySC, + _NEHelperInit, _NEHelperInterfaceCreate, _NEHelperInterfaceDestroy, + _NEHelperInterfaceRemoveAddress, _NEHelperInterfaceSetAddress, + _NEHelperInterfaceSetAddressWithLifetime, _NEHelperInterfaceSetDelegate, + _NEHelperInterfaceSetDescription, _NEHelperInterfaceSetMTU, _NEHelperInterfaceSetOption, _NEHelperSendRequest, _NEHelperSettingsRemove, _NEHelperSettingsSetArray, _NEHelperSettingsSetBool, _NEHelperSettingsSetNumber, _NEHelperVPNConfigurationExists, _NEHelperVPNSetEnabled, _g_ne_read_uuid_cache, _g_ne_uuid_cache_hit, _ne_copy_cached_bundle_identifier_for_uuid, _ne_copy_cached_uuids_for_bundle_identifier, _ne_copy_signature_info_for_pid, - _ne_copy_signing_identifier_for_pid, _ne_copy_uuid_cache, - _ne_force_reset_uuid_cache, _ne_get_configuration_generation, + _ne_copy_signing_identifier_for_pid, _ne_copy_signing_identifier_for_pid_with_audit_token, + _ne_copy_uuid_cache, _ne_force_reset_uuid_cache, _ne_get_configuration_generation, _ne_is_sockaddr_valid, _ne_log_large_obj, _ne_log_obj, _ne_print_backtrace, _ne_privacy_dns_netagent_id, _ne_privacy_proxy_netagent_id, _ne_session_add_necp_drop_dest_from_dest_list, _ne_session_add_necp_drop_dest_from_path, @@ -2715,15 +2862,16 @@ exports: _ne_session_is_always_on_vpn_enabled, _ne_session_is_safeboot, _ne_session_local_communication_configs_present, _ne_session_local_communication_send_info, _ne_session_manager_get_pid, _ne_session_manager_has_active_sessions, - _ne_session_manager_is_running, _ne_session_on_demand_configs_present, - _ne_session_path_controller_configs_present, _ne_session_policy_copy_flow_divert_token, - _ne_session_policy_copy_flow_divert_token_with_key, _ne_session_policy_match_get_filter_unit, - _ne_session_policy_match_get_flow_divert_unit, _ne_session_policy_match_get_scoped_interface_index, - _ne_session_policy_match_get_service, _ne_session_policy_match_get_service_action, - _ne_session_policy_match_get_service_type, _ne_session_policy_match_is_drop, - _ne_session_policy_match_is_flow_divert, _ne_session_policy_match_service_is_registered, - _ne_session_random_port_fallback, _ne_session_release, _ne_session_retain, - _ne_session_send_barrier, _ne_session_service_get_dns_service_id, + _ne_session_manager_is_running, _ne_session_map_interface_to_provider_uuid, + _ne_session_on_demand_configs_present, _ne_session_path_controller_configs_present, + _ne_session_policy_copy_flow_divert_token, _ne_session_policy_copy_flow_divert_token_with_key, + _ne_session_policy_match_get_filter_unit, _ne_session_policy_match_get_flow_divert_unit, + _ne_session_policy_match_get_scoped_interface_index, _ne_session_policy_match_get_service, + _ne_session_policy_match_get_service_action, _ne_session_policy_match_get_service_type, + _ne_session_policy_match_is_drop, _ne_session_policy_match_is_flow_divert, + _ne_session_policy_match_service_is_registered, _ne_session_relay_configs_present, + _ne_session_release, _ne_session_retain, _ne_session_send_barrier, + _ne_session_service_copy_cached_match_domains, _ne_session_service_get_dns_service_id, _ne_session_service_get_dns_service_id_for_interface, _ne_session_service_matches_address, _ne_session_service_matches_address_for_interface, _ne_session_set_event_handler, _ne_session_set_socket_attributes, _ne_session_set_socket_context_attribute, @@ -2735,10 +2883,14 @@ exports: _ne_session_vpn_include_all_networks_configs_present, _ne_socket_set_attribution, _ne_socket_set_domains, _ne_socket_set_is_app_initiated, _ne_socket_set_website_attribution, _ne_tracker_build_cache, _ne_tracker_build_trie, _ne_tracker_check_info_changed, - _ne_tracker_clear_cache, _ne_tracker_context_get_domain, _ne_tracker_context_get_domain_owner, + _ne_tracker_check_is_hostname_blocked, _ne_tracker_check_tcc, + _ne_tracker_clear_cache, _ne_tracker_context_can_block_request, + _ne_tracker_context_get_domain, _ne_tracker_context_get_domain_owner, _ne_tracker_context_is_from_app_list, _ne_tracker_context_is_from_web_list, - _ne_tracker_get_ddg_dictionary, _ne_tracker_lookup_app_domains, - _ne_tracker_set_test_domains, _ne_tracker_validate_domain, + _ne_tracker_copy_current_stacktrace, _ne_tracker_create_xcode_issue, + _ne_tracker_get_ddg_dictionary, _ne_tracker_get_disposition, + _ne_tracker_lookup_app_domains, _ne_tracker_set_test_domains, + _ne_tracker_should_save_stacktrace, _ne_tracker_validate_domain, _ne_trie_free, _ne_trie_has_high_ascii, _ne_trie_init, _ne_trie_init_from_file, _ne_trie_insert, _ne_trie_save_to_file, _ne_trie_search, _necp_drop_dest_copy_dest_entry_list, _nehelper_copy_connection_for_delegate_class, _nehelper_queue, @@ -2749,7 +2901,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: 312 +current-version: 317 parent-umbrella: - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] @@ -2766,23 +2918,21 @@ exports: _notify_simple_post, _notify_suspend, _notify_suspend_pid ] --- !tapi-tbd tbd-version: 4 -targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] +targets: [ i386-macos, i386-maccatalyst, x86_64-macos, x86_64-maccatalyst, + arm64-macos, arm64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] install-name: '/usr/lib/system/libsystem_platform.dylib' -current-version: 292.100.1 +current-version: 306.0.1 parent-umbrella: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] + - targets: [ i386-macos, i386-maccatalyst, x86_64-macos, x86_64-maccatalyst, + arm64-macos, arm64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] umbrella: System exports: - - targets: [ x86_64-macos, x86_64-maccatalyst ] - symbols: [ '_OSAtomicFifoDequeue$VARIANT$PFZ', '_OSAtomicFifoDequeue$VARIANT$UnfairLock', - '_OSAtomicFifoEnqueue$VARIANT$PFZ', '_OSAtomicFifoEnqueue$VARIANT$UnfairLock', - ___no_overread_variant_setup, __sigtramp, _bzero_sse_np, _longjmperror, - _memmove_sse_np, _memset_pattern16_sse_np, _memset_pattern4_sse_np, - _memset_pattern8_sse_np, _memset_sse_np ] - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] + - targets: [ i386-macos, i386-maccatalyst ] + symbols: [ _MKGetTimeBaseInfo, _udiv10 ] + - targets: [ i386-macos, i386-maccatalyst, x86_64-macos, x86_64-maccatalyst ] + symbols: [ __sigtramp, _longjmperror ] + - targets: [ i386-macos, i386-maccatalyst, x86_64-macos, x86_64-maccatalyst, + arm64-macos, arm64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] symbols: [ _OSAtomicAdd32, _OSAtomicAdd32Barrier, _OSAtomicAdd64, _OSAtomicAdd64Barrier, _OSAtomicAnd32, _OSAtomicAnd32Barrier, _OSAtomicAnd32Orig, _OSAtomicAnd32OrigBarrier, _OSAtomicCompareAndSwap32, _OSAtomicCompareAndSwap32Barrier, @@ -2835,21 +2985,39 @@ exports: _setjmp, _siglongjmp, _sigsetjmp, _spin_lock, _spin_lock_try, _spin_unlock, _swapcontext, _sys_cache_control, _sys_dcache_flush, _sys_icache_invalidate ] + - targets: [ x86_64-macos, x86_64-maccatalyst ] + symbols: [ '_OSAtomicFifoDequeue$VARIANT$PFZ', '_OSAtomicFifoDequeue$VARIANT$UnfairLock', + '_OSAtomicFifoEnqueue$VARIANT$PFZ', '_OSAtomicFifoEnqueue$VARIANT$UnfairLock', + ___no_overread_variant_setup, _bzero_sse_np, _memmove_sse_np, + _memset_pattern16_sse_np, _memset_pattern4_sse_np, _memset_pattern8_sse_np, + _memset_sse_np ] - targets: [ arm64-macos, arm64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] symbols: [ __ctx_done ] --- !tapi-tbd tbd-version: 4 -targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, +targets: [ i386-macos, x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] install-name: '/usr/lib/system/libsystem_pthread.dylib' -current-version: 514.100.2 +current-version: 519 parent-umbrella: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] + - targets: [ i386-macos, x86_64-macos, x86_64-maccatalyst, arm64-macos, + arm64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] umbrella: System exports: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] + - targets: [ i386-macos ] + symbols: [ '_pthread_cancel$UNIX2003', '_pthread_cond_init$UNIX2003', + '_pthread_cond_timedwait$NOCANCEL$UNIX2003', '_pthread_cond_timedwait$UNIX2003', + '_pthread_cond_wait$NOCANCEL$UNIX2003', '_pthread_cond_wait$UNIX2003', + '_pthread_join$NOCANCEL$UNIX2003', '_pthread_join$UNIX2003', + '_pthread_mutexattr_destroy$UNIX2003', '_pthread_rwlock_destroy$UNIX2003', + '_pthread_rwlock_init$UNIX2003', '_pthread_rwlock_rdlock$UNIX2003', + '_pthread_rwlock_tryrdlock$UNIX2003', '_pthread_rwlock_trywrlock$UNIX2003', + '_pthread_rwlock_unlock$UNIX2003', '_pthread_rwlock_wrlock$UNIX2003', + '_pthread_setcancelstate$UNIX2003', '_pthread_setcanceltype$UNIX2003', + '_pthread_sigmask$UNIX2003', '_pthread_testcancel$UNIX2003', + '_sigwait$NOCANCEL$UNIX2003', '_sigwait$UNIX2003' ] + - targets: [ i386-macos, x86_64-macos, x86_64-maccatalyst, arm64-macos, + arm64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] symbols: [ ____chkstk_darwin, ___is_threaded, ___pthread_init, ___pthread_late_init, ___pthread_workqueue_setkill, ___unix_conforming, __pthread_atfork_child, __pthread_atfork_child_handlers, __pthread_atfork_parent, @@ -2857,10 +3025,9 @@ exports: __pthread_atfork_prepare_handlers, __pthread_clear_qos_tsd, __pthread_exit_if_canceled, __pthread_fork_child, __pthread_fork_child_postinit, __pthread_fork_parent, __pthread_fork_prepare, __pthread_is_threaded, - __pthread_mutex_enable_legacy_mode, __pthread_override_qos_class_end_direct, - __pthread_override_qos_class_start_direct, __pthread_qos_class_and_override_decode, - __pthread_qos_class_and_override_encode, __pthread_qos_class_decode, - __pthread_qos_class_encode, __pthread_qos_class_encode_workqueue, + __pthread_override_qos_class_end_direct, __pthread_override_qos_class_start_direct, + __pthread_qos_class_and_override_decode, __pthread_qos_class_and_override_encode, + __pthread_qos_class_decode, __pthread_qos_class_encode, __pthread_qos_class_encode_workqueue, __pthread_qos_override_end_direct, __pthread_qos_override_start_direct, __pthread_sched_pri_decode, __pthread_sched_pri_encode, __pthread_self, __pthread_set_properties_self, __pthread_set_self, __pthread_setspecific_static, @@ -2887,11 +3054,10 @@ exports: _pthread_attr_setstackaddr, _pthread_attr_setstacksize, _pthread_cancel, _pthread_chdir_np, _pthread_cond_broadcast, _pthread_cond_destroy, _pthread_cond_init, _pthread_cond_signal, _pthread_cond_signal_thread_np, - _pthread_cond_timedwait, '_pthread_cond_timedwait$NOCANCEL', - _pthread_cond_timedwait_relative_np, _pthread_cond_wait, '_pthread_cond_wait$NOCANCEL', - _pthread_condattr_destroy, _pthread_condattr_getpshared, _pthread_condattr_init, - _pthread_condattr_setpshared, _pthread_cpu_number_np, _pthread_create, - _pthread_create_from_mach_thread, _pthread_create_suspended_np, + _pthread_cond_timedwait, _pthread_cond_timedwait_relative_np, + _pthread_cond_wait, _pthread_condattr_destroy, _pthread_condattr_getpshared, + _pthread_condattr_init, _pthread_condattr_setpshared, _pthread_cpu_number_np, + _pthread_create, _pthread_create_from_mach_thread, _pthread_create_suspended_np, _pthread_create_with_workgroup_np, _pthread_current_stack_contains_np, _pthread_dependency_fulfill_np, _pthread_dependency_init_np, _pthread_dependency_wait_np, _pthread_detach, _pthread_equal, @@ -2901,17 +3067,15 @@ exports: _pthread_getspecific, _pthread_install_workgroup_functions_np, _pthread_introspection_getspecific_np, _pthread_introspection_hook_install, _pthread_introspection_setspecific_np, _pthread_is_threaded_np, - _pthread_jit_write_freeze_callbacks_np, _pthread_jit_write_protect_np, - _pthread_jit_write_protect_supported_np, _pthread_jit_write_with_callback_np, - _pthread_join, '_pthread_join$NOCANCEL', _pthread_key_create, - _pthread_key_delete, _pthread_key_init_np, _pthread_kill, - _pthread_layout_offsets, _pthread_mach_thread_np, _pthread_main_np, - _pthread_main_thread_np, _pthread_mutex_destroy, _pthread_mutex_getprioceiling, - _pthread_mutex_init, _pthread_mutex_lock, _pthread_mutex_setprioceiling, - _pthread_mutex_trylock, _pthread_mutex_unlock, _pthread_mutexattr_destroy, - _pthread_mutexattr_getpolicy_np, _pthread_mutexattr_getprioceiling, - _pthread_mutexattr_getprotocol, _pthread_mutexattr_getpshared, - _pthread_mutexattr_gettype, _pthread_mutexattr_init, _pthread_mutexattr_setpolicy_np, + _pthread_join, _pthread_key_create, _pthread_key_delete, _pthread_key_init_np, + _pthread_kill, _pthread_layout_offsets, _pthread_mach_thread_np, + _pthread_main_np, _pthread_main_thread_np, _pthread_mutex_destroy, + _pthread_mutex_getprioceiling, _pthread_mutex_init, _pthread_mutex_lock, + _pthread_mutex_setprioceiling, _pthread_mutex_trylock, _pthread_mutex_unlock, + _pthread_mutexattr_destroy, _pthread_mutexattr_getpolicy_np, + _pthread_mutexattr_getprioceiling, _pthread_mutexattr_getprotocol, + _pthread_mutexattr_getpshared, _pthread_mutexattr_gettype, + _pthread_mutexattr_init, _pthread_mutexattr_setpolicy_np, _pthread_mutexattr_setprioceiling, _pthread_mutexattr_setprotocol, _pthread_mutexattr_setpshared, _pthread_mutexattr_settype, _pthread_once, _pthread_override_qos_class_end_np, _pthread_override_qos_class_start_np, @@ -2930,14 +3094,22 @@ exports: _pthread_workqueue_addthreads_np, _pthread_workqueue_setdispatch_np, _pthread_workqueue_setdispatchoffset_np, _pthread_workqueue_setup, _pthread_yield_np, _qos_class_main, _qos_class_self, _sched_get_priority_max, - _sched_get_priority_min, _sched_yield, _sigwait, '_sigwait$NOCANCEL', - _start_wqthread, _thread_chkstk_darwin, _thread_start ] + _sched_get_priority_min, _sched_yield, _sigwait, _start_wqthread, + _thread_chkstk_darwin, _thread_start ] + - targets: [ i386-macos, x86_64-macos, arm64-macos, arm64e-macos ] + symbols: [ __pthread_mutex_enable_legacy_mode, _pthread_jit_write_freeze_callbacks_np, + _pthread_jit_write_protect_np, _pthread_jit_write_protect_supported_np, + _pthread_jit_write_with_callback_np ] + - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, + arm64e-macos, arm64e-maccatalyst ] + symbols: [ '_pthread_cond_timedwait$NOCANCEL', '_pthread_cond_wait$NOCANCEL', + '_pthread_join$NOCANCEL', '_sigwait$NOCANCEL' ] --- !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_sandbox.dylib' -current-version: 1846.100.185 +current-version: 2169.0.12 parent-umbrella: - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] @@ -2950,33 +3122,31 @@ exports: _SANDBOX_CHECK_ALLOW_APPROVAL, _SANDBOX_CHECK_CANONICAL, _SANDBOX_CHECK_NOFOLLOW, _SANDBOX_CHECK_NO_APPROVAL, _SANDBOX_CHECK_NO_REPORT, _SANDBOX_CHECK_POSIX_READABLE, _SANDBOX_EXTENSION_CANONICAL, _SANDBOX_EXTENSION_DEFAULT, - _SANDBOX_EXTENSION_MACL_LEARNING, _SANDBOX_EXTENSION_MAGIC, - _SANDBOX_EXTENSION_NOFOLLOW, _SANDBOX_EXTENSION_NO_REPORT, + _SANDBOX_EXTENSION_MAGIC, _SANDBOX_EXTENSION_NOFOLLOW, _SANDBOX_EXTENSION_NO_REPORT, _SANDBOX_EXTENSION_NO_STORAGE_CLASS, _SANDBOX_EXTENSION_PREFIXMATCH, - _SANDBOX_EXTENSION_UNRESOLVED, _SANDBOX_EXTENSION_USER_INTENT, - __amkrtemp, __sandbox_in_a_container, __sandbox_register_app_bundle_0, - __sandbox_register_app_bundle_1, _gpu_bundle_find_trusted, - _gpu_bundle_is_path_trusted, _kSBXProfileNoInternet, _kSBXProfileNoNetwork, - _kSBXProfileNoWrite, _kSBXProfileNoWriteExceptTemporary, _kSBXProfilePureComputation, + _SANDBOX_EXTENSION_UNRESOLVED, __amkrtemp, __sandbox_in_a_container, + __sandbox_register_app_bundle_0, __sandbox_register_app_bundle_1, + _kSBXProfileNoInternet, _kSBXProfileNoNetwork, _kSBXProfileNoWrite, + _kSBXProfileNoWriteExceptTemporary, _kSBXProfilePureComputation, _kSandboxAppBundleAnySigningId, _kSandboxAppBundlePlatformTeamId, - _rootless_allows_task_for_pid, _rootless_apply, _rootless_apply_internal, - _rootless_apply_relative, _rootless_check_datavault_flag, + _kSandboxAppContainerAnySigningId, _kSandboxAppContainerPlatformTeamId, + _rootless_allows_task_for_pid, _rootless_check_datavault_flag, _rootless_check_restricted_flag, _rootless_check_trusted, _rootless_check_trusted_class, _rootless_check_trusted_fd, - _rootless_convert_to_datavault, _rootless_manifest_free, _rootless_manifest_parse, - _rootless_mkdir_datavault, _rootless_mkdir_nounlink, _rootless_mkdir_restricted, - _rootless_preflight, _rootless_protected_volume, _rootless_protected_volume_fd, - _rootless_register_trusted_storage_class, _rootless_remove_datavault_in_favor_of_static_storage_class, + _rootless_convert_to_datavault, _rootless_mkdir_datavault, + _rootless_mkdir_nounlink, _rootless_mkdir_restricted, _rootless_protected_volume, + _rootless_protected_volume_fd, _rootless_register_trusted_storage_class, + _rootless_remove_datavault_in_favor_of_static_storage_class, _rootless_remove_restricted_in_favor_of_static_storage_class, _rootless_restricted_environment, _rootless_suspend, _rootless_trusted_by_self_token, _rootless_verify_trusted_by_self_token, _sandbox_builtin_query, _sandbox_check, _sandbox_check_bulk, _sandbox_check_by_audit_token, _sandbox_check_by_reference, _sandbox_check_by_uniqueid, _sandbox_check_message_filter_integer, - _sandbox_check_message_filter_string, _sandbox_consume_extension, - _sandbox_consume_fs_extension, _sandbox_consume_mach_extension, - _sandbox_container_path_for_audit_token, _sandbox_container_path_for_pid, - _sandbox_enable_root_translation, _sandbox_enable_state_flag, - _sandbox_extension_consume, _sandbox_extension_issue_file, + _sandbox_check_message_filter_string, _sandbox_check_protected_app_container, + _sandbox_consume_extension, _sandbox_consume_fs_extension, + _sandbox_consume_mach_extension, _sandbox_container_path_for_audit_token, + _sandbox_container_path_for_pid, _sandbox_enable_root_translation, + _sandbox_enable_state_flag, _sandbox_extension_consume, _sandbox_extension_issue_file, _sandbox_extension_issue_file_to_process, _sandbox_extension_issue_file_to_process_by_pid, _sandbox_extension_issue_file_to_self, _sandbox_extension_issue_generic, _sandbox_extension_issue_generic_to_process, _sandbox_extension_issue_generic_to_process_by_pid, @@ -2984,19 +3154,21 @@ exports: _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_reap, - _sandbox_extension_release, _sandbox_extension_release_file, - _sandbox_extension_update_file, _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_issue_mach_extension, - _sandbox_message_filter_query, _sandbox_message_filter_release, - _sandbox_message_filter_retain, _sandbox_note, _sandbox_passthrough_access, - _sandbox_proc_getcontainer, _sandbox_proc_getprofilename, - _sandbox_query_approval_policy_for_path, _sandbox_query_user_intent_for_process_with_audit_token, - _sandbox_reference_release, _sandbox_reference_retain_by_audit_token, - _sandbox_register_app_bundle, _sandbox_register_app_bundle_exception, - _sandbox_register_app_bundle_package_exception, _sandbox_register_bastion_profile, + _sandbox_extension_issue_posix_ipc, _sandbox_extension_issue_related_file_to_process, + _sandbox_extension_reap, _sandbox_extension_release, _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_issue_mach_extension, _sandbox_message_filter_query, + _sandbox_message_filter_release, _sandbox_message_filter_retain, + _sandbox_note, _sandbox_passthrough_access, _sandbox_proc_getcontainer, + _sandbox_proc_getprofilename, _sandbox_query_approval_policy_for_path, + _sandbox_query_user_intent_for_process_with_audit_token, _sandbox_reference_release, + _sandbox_reference_retain_by_audit_token, _sandbox_register_app_bundle, + _sandbox_register_app_bundle_exception, _sandbox_register_app_bundle_package_exception, + _sandbox_register_app_container, _sandbox_register_app_container_exception, + _sandbox_register_app_container_package_exception, _sandbox_register_bastion_profile, _sandbox_register_sync_root, _sandbox_release_fs_extension, _sandbox_requests_integrity_protection_for_preference_domain, _sandbox_set_container_path_for_application_group, _sandbox_set_container_path_for_application_group_with_persona, @@ -3004,14 +3176,19 @@ exports: _sandbox_set_container_path_for_signing_id_with_persona, _sandbox_spawnattrs_getcontainer, _sandbox_spawnattrs_getprofilename, _sandbox_spawnattrs_init, _sandbox_spawnattrs_setcontainer, _sandbox_spawnattrs_setprofilename, - _sandbox_suspend, _sandbox_unregister_app_bundle, _sandbox_unregister_bastion_profile, - _sandbox_unsuspend ] + _sandbox_suspend, _sandbox_unregister_app_bundle, _sandbox_unregister_app_container, + _sandbox_unregister_bastion_profile, _sandbox_unsuspend ] + - targets: [ x86_64-macos, arm64-macos, arm64e-macos ] + symbols: [ _SANDBOX_EXTENSION_MACL_LEARNING, _SANDBOX_EXTENSION_USER_INTENT, + _gpu_bundle_find_trusted, _gpu_bundle_is_path_trusted, _rootless_apply, + _rootless_apply_internal, _rootless_apply_relative, _rootless_manifest_free, + _rootless_manifest_parse, _rootless_preflight ] --- !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: 120.100.7 +current-version: 139 parent-umbrella: - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] @@ -3044,7 +3221,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: 1431.100.13 +current-version: 1481.0.12 parent-umbrella: - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] @@ -3078,7 +3255,8 @@ exports: __os_trace_scandir_free_namelist, __os_trace_sect_names, __os_trace_set_diagnostic_flags, __os_trace_set_mode_for_pid, __os_trace_strdup, __os_trace_sysprefsdir_path, __os_trace_update_with_datavolume_4launchd, __os_trace_with_buffer, - __os_trace_write, __os_trace_writev, __os_trace_zalloc, _os_activity_apply, + __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, @@ -3097,20 +3275,21 @@ exports: _os_log_get_type, _os_log_is_debug_enabled, _os_log_is_enabled, _os_log_pack_compose, _os_log_pack_send, _os_log_pack_send_and_compose, _os_log_set_client_type, _os_log_set_enabled, _os_log_set_fault_callback, - _os_log_set_hook, _os_log_set_test_callback, _os_log_shim_enabled, - _os_log_shim_legacy_logging_enabled, _os_log_shim_with_CFString, - _os_log_type_enabled, _os_log_type_get_name, _os_log_with_args, - _os_signpost_enabled, _os_signpost_id_generate, _os_signpost_id_make_with_pointer, - _os_signpost_set_introspection_hook_4Perf, _os_state_add_handler, - _os_state_remove_handler, _os_trace_debug_enabled, _os_trace_get_mode, - _os_trace_get_type, _os_trace_info_enabled, _os_trace_set_mode ] + _os_log_set_hook, _os_log_set_hook_with_params, _os_log_set_test_callback, + _os_log_shim_enabled, _os_log_shim_legacy_logging_enabled, + _os_log_shim_with_CFString, _os_log_type_enabled, _os_log_type_get_name, + _os_log_with_args, _os_signpost_enabled, _os_signpost_id_generate, + _os_signpost_id_make_with_pointer, _os_signpost_set_introspection_hook_4Perf, + _os_state_add_handler, _os_state_remove_handler, _os_trace_debug_enabled, + _os_trace_get_mode, _os_trace_get_type, _os_trace_info_enabled, + _os_trace_set_mode ] objc-classes: [ OS_os_log ] --- !tapi-tbd tbd-version: 4 targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] install-name: '/usr/lib/system/libunwind.dylib' -current-version: 1500.26 +current-version: 1600.112 parent-umbrella: - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] @@ -3159,11 +3338,13 @@ exports: __Unwind_GetLanguageSpecificData, __Unwind_GetRegionStart, __Unwind_GetTextRelBase, __Unwind_RaiseException, __Unwind_Resume, __Unwind_Resume_or_Rethrow, __Unwind_SetGR, __Unwind_SetIP, + __ZN9libunwind25findDynamicUnwindSectionsEPvP27unw_dynamic_unwind_sections, ___deregister_frame, ___register_frame, ___unw_add_dynamic_eh_frame_section, - ___unw_add_dynamic_fde, ___unw_remove_dynamic_eh_frame_section, - ___unw_remove_dynamic_fde, _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_add_dynamic_fde, ___unw_add_find_dynamic_unwind_sections, + ___unw_remove_dynamic_eh_frame_section, ___unw_remove_dynamic_fde, + ___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 ] --- !tapi-tbd @@ -3171,7 +3352,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: 2462.100.95 +current-version: 2679.0.25 parent-umbrella: - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] @@ -3215,9 +3396,9 @@ exports: _XPC_ACTIVITY_USER_REQUESTED_BACKUP_TASK, _XPC_ACTIVITY_USES_DATA_BUDGETING, _XPC_ACTIVITY_USES_DUET_POWER_BUDGETING, _XPC_COALITION_INFO_KEY_BUNDLE_IDENTIFIER, _XPC_COALITION_INFO_KEY_CID, _XPC_COALITION_INFO_KEY_NAME, - _XPC_COALITION_INFO_KEY_RESOURCE_USAGE_BLOB, __availability_version_check, - __launch_job_routine, __launch_job_routine_async, __launch_msg2, - __launch_server_test_routine, __launch_service_stats_copy_4ppse_impl, + _XPC_COALITION_INFO_KEY_RESOURCE_USAGE_BLOB, ___xpc_connection_set_logging, + __availability_version_check, __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, @@ -3233,7 +3414,8 @@ exports: __vprocmgr_getsocket, __vprocmgr_init, __vprocmgr_log_drain, __vprocmgr_log_forward, __vprocmgr_move_subset_to_user, __vprocmgr_switch_to_session, __xpc_bool_create_distinct, __xpc_bool_false, __xpc_bool_set_value, - __xpc_bool_true, __xpc_connection_get_parent_4test, __xpc_connection_get_recvp_4test, + __xpc_bool_true, __xpc_connection_create_internal_listener, + __xpc_connection_get_parent_4test, __xpc_connection_get_recvp_4test, __xpc_connection_set_event_handler_f, __xpc_data_set_value, __xpc_dictionary_create_reply_with_port, __xpc_dictionary_extract_mach_send, __xpc_dictionary_extract_reply_msg_id, __xpc_dictionary_extract_reply_port, @@ -3267,7 +3449,8 @@ exports: _bootstrap_lookup_children, _bootstrap_parent, _bootstrap_register, _bootstrap_register2, _bootstrap_status, _bootstrap_strerror, _bootstrap_subset, _bootstrap_unprivileged, _create_and_switch_to_per_session_launchd, - _launch_activate_socket, _launch_active_user_switch, _launch_add_external_service, + _launch_activate_socket, _launch_active_user_login, _launch_active_user_logout, + _launch_active_user_switch, _launch_add_external_service, _launch_bootout_user_service_4coresim, _launch_copy_busy_extension_instances, _launch_copy_endpoints_properties_for_pid, _launch_copy_extension_properties, _launch_copy_extension_properties_for_pid, _launch_copy_properties_for_pid_4assertiond, @@ -3337,7 +3520,7 @@ exports: _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_bundle_copy_info_dictionary, + _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, @@ -3347,27 +3530,28 @@ exports: _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_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_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, _xpc_connection_send_notification, _xpc_connection_set_bootstrap, _xpc_connection_set_bs_type, _xpc_connection_set_context, - _xpc_connection_set_event_channel, _xpc_connection_set_event_handler, - _xpc_connection_set_finalizer_f, _xpc_connection_set_instance, - _xpc_connection_set_instance_binpref, _xpc_connection_set_legacy, - _xpc_connection_set_non_launching, _xpc_connection_set_oneshot_instance, - _xpc_connection_set_peer_code_signing_requirement, _xpc_connection_set_privileged, - _xpc_connection_set_qos_class_fallback, _xpc_connection_set_qos_class_floor, - _xpc_connection_set_target_queue, _xpc_connection_set_target_uid, - _xpc_connection_set_target_user_session_uid, _xpc_connection_suspend, - _xpc_copy, _xpc_copy_bootstrap, _xpc_copy_clean_description, + _xpc_connection_set_distorter, _xpc_connection_set_event_channel, + _xpc_connection_set_event_handler, _xpc_connection_set_finalizer_f, + _xpc_connection_set_instance, _xpc_connection_set_instance_binpref, + _xpc_connection_set_legacy, _xpc_connection_set_non_launching, + _xpc_connection_set_oneshot_instance, _xpc_connection_set_peer_code_signing_requirement, + _xpc_connection_set_privileged, _xpc_connection_set_qos_class_fallback, + _xpc_connection_set_qos_class_floor, _xpc_connection_set_target_queue, + _xpc_connection_set_target_uid, _xpc_connection_set_target_user_session_uid, + _xpc_connection_suspend, _xpc_copy, _xpc_copy_bootstrap, _xpc_copy_clean_description, _xpc_copy_code_signing_identity_for_token, _xpc_copy_debug_description, _xpc_copy_description, _xpc_copy_domain, _xpc_copy_entitlement_for_self, _xpc_copy_entitlement_for_token, _xpc_copy_entitlements_data_for_token, @@ -3395,17 +3579,18 @@ exports: _xpc_dictionary_get_string, _xpc_dictionary_get_uint64, _xpc_dictionary_get_uuid, _xpc_dictionary_get_value, _xpc_dictionary_handoff_reply, _xpc_dictionary_handoff_reply_f, _xpc_dictionary_send_reply, - _xpc_dictionary_set_bool, _xpc_dictionary_set_connection, - _xpc_dictionary_set_data, _xpc_dictionary_set_date, _xpc_dictionary_set_double, - _xpc_dictionary_set_fd, _xpc_dictionary_set_int64, _xpc_dictionary_set_mach_recv, + _xpc_dictionary_send_reply_4SWIFT, _xpc_dictionary_set_bool, + _xpc_dictionary_set_connection, _xpc_dictionary_set_data, + _xpc_dictionary_set_date, _xpc_dictionary_set_double, _xpc_dictionary_set_fd, + _xpc_dictionary_set_int64, _xpc_dictionary_set_mach_recv, _xpc_dictionary_set_mach_send, _xpc_dictionary_set_pointer, _xpc_dictionary_set_string, _xpc_dictionary_set_uint64, _xpc_dictionary_set_uuid, _xpc_dictionary_set_value, _xpc_double_create, _xpc_double_get_value, _xpc_endpoint_compare, _xpc_endpoint_copy_listener_port_4sim, - _xpc_endpoint_create, _xpc_endpoint_create_bs_named, _xpc_endpoint_create_mach_port_4sim, - _xpc_endpoint_get_bs_job_handle, _xpc_equal, _xpc_event_publisher_activate, - _xpc_event_publisher_copy_event, _xpc_event_publisher_create, - _xpc_event_publisher_fire, _xpc_event_publisher_fire_noboost, + _xpc_endpoint_create, _xpc_endpoint_create_bs_named, _xpc_endpoint_create_bs_service, + _xpc_endpoint_create_mach_port_4sim, _xpc_endpoint_get_bs_job_handle, + _xpc_equal, _xpc_event_publisher_activate, _xpc_event_publisher_copy_event, + _xpc_event_publisher_create, _xpc_event_publisher_fire, _xpc_event_publisher_fire_noboost, _xpc_event_publisher_fire_with_reply, _xpc_event_publisher_fire_with_reply_sync, _xpc_event_publisher_get_subscriber_asid, _xpc_event_publisher_set_error_handler, _xpc_event_publisher_set_event, _xpc_event_publisher_set_handler, @@ -3424,6 +3609,9 @@ exports: _xpc_inspect_copy_description_local, _xpc_inspect_copy_short_description, _xpc_inspect_copy_short_description_local, _xpc_install_remote_hooks, _xpc_int64_create, _xpc_int64_get_value, _xpc_is_kind_of_xpc_object4NSXPC, + _xpc_is_system_session, _xpc_listener_activate, _xpc_listener_cancel, + _xpc_listener_copy_description, _xpc_listener_create, _xpc_listener_create_anonymous, + _xpc_listener_create_endpoint, _xpc_listener_reject_peer, _xpc_mach_recv_create, _xpc_mach_recv_extract_right, _xpc_mach_send_copy_right, _xpc_mach_send_create, _xpc_mach_send_create_with_disposition, _xpc_mach_send_get_right, _xpc_mach_send_once_create, _xpc_mach_send_once_extract_right, @@ -3451,15 +3639,16 @@ exports: _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_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_session_set_incoming_message_handler, _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, diff --git a/lib/libc/include/aarch64-macos.11-none/arm/_limits.h b/lib/libc/include/aarch64-macos.11-none/arm/_limits.h deleted file mode 100644 index dd9eb5c2be..0000000000 --- a/lib/libc/include/aarch64-macos.11-none/arm/_limits.h +++ /dev/null @@ -1,9 +0,0 @@ -/* - * Copyright (c) 2004-2007 Apple Inc. All rights reserved. - */ -#ifndef _ARM__LIMITS_H_ -#define _ARM__LIMITS_H_ - -#define __DARWIN_CLK_TCK 100 /* ticks per second */ - -#endif /* _ARM__LIMITS_H_ */ \ No newline at end of file diff --git a/lib/libc/include/aarch64-macos.11-none/arm/_mcontext.h b/lib/libc/include/aarch64-macos.11-none/arm/_mcontext.h deleted file mode 100644 index 72253cfbac..0000000000 --- a/lib/libc/include/aarch64-macos.11-none/arm/_mcontext.h +++ /dev/null @@ -1,91 +0,0 @@ -/* - * Copyright (c) 2003-2012 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 __ARM_MCONTEXT_H_ -#define __ARM_MCONTEXT_H_ - -#include /* __DARWIN_UNIX03 */ -#include -#include - -#ifndef _STRUCT_MCONTEXT32 -#if __DARWIN_UNIX03 -#define _STRUCT_MCONTEXT32 struct __darwin_mcontext32 -_STRUCT_MCONTEXT32 -{ - _STRUCT_ARM_EXCEPTION_STATE __es; - _STRUCT_ARM_THREAD_STATE __ss; - _STRUCT_ARM_VFP_STATE __fs; -}; - -#else /* !__DARWIN_UNIX03 */ -#define _STRUCT_MCONTEXT32 struct mcontext32 -_STRUCT_MCONTEXT32 -{ - _STRUCT_ARM_EXCEPTION_STATE es; - _STRUCT_ARM_THREAD_STATE ss; - _STRUCT_ARM_VFP_STATE fs; -}; - -#endif /* __DARWIN_UNIX03 */ -#endif /* _STRUCT_MCONTEXT32 */ - - -#ifndef _STRUCT_MCONTEXT64 -#if __DARWIN_UNIX03 -#define _STRUCT_MCONTEXT64 struct __darwin_mcontext64 -_STRUCT_MCONTEXT64 -{ - _STRUCT_ARM_EXCEPTION_STATE64 __es; - _STRUCT_ARM_THREAD_STATE64 __ss; - _STRUCT_ARM_NEON_STATE64 __ns; -}; - -#else /* !__DARWIN_UNIX03 */ -#define _STRUCT_MCONTEXT64 struct mcontext64 -_STRUCT_MCONTEXT64 -{ - _STRUCT_ARM_EXCEPTION_STATE64 es; - _STRUCT_ARM_THREAD_STATE64 ss; - _STRUCT_ARM_NEON_STATE64 ns; -}; -#endif /* __DARWIN_UNIX03 */ -#endif /* _STRUCT_MCONTEXT32 */ - -#ifndef _MCONTEXT_T -#define _MCONTEXT_T -#if defined(__arm64__) -typedef _STRUCT_MCONTEXT64 *mcontext_t; -#define _STRUCT_MCONTEXT _STRUCT_MCONTEXT64 -#else -typedef _STRUCT_MCONTEXT32 *mcontext_t; -#define _STRUCT_MCONTEXT _STRUCT_MCONTEXT32 -#endif -#endif /* _MCONTEXT_T */ - -#endif /* __ARM_MCONTEXT_H_ */ \ No newline at end of file diff --git a/lib/libc/include/aarch64-macos.11-none/arm/_param.h b/lib/libc/include/aarch64-macos.11-none/arm/_param.h deleted file mode 100644 index 81c5bf53cf..0000000000 --- a/lib/libc/include/aarch64-macos.11-none/arm/_param.h +++ /dev/null @@ -1,22 +0,0 @@ -/* - * Copyright (c) 2006-2007 Apple Inc. All rights reserved. - */ - -#ifndef _ARM__PARAM_H_ -#define _ARM__PARAM_H_ - -#include - -/* - * Round p (pointer or byte index) up to a correctly-aligned value for all - * data types (int, long, ...). The result is unsigned int and must be - * cast to any desired pointer type. - */ -#define __DARWIN_ALIGNBYTES (sizeof(__darwin_size_t) - 1) -#define __DARWIN_ALIGN(p) ((__darwin_size_t)((__darwin_size_t)(p) + __DARWIN_ALIGNBYTES) &~ __DARWIN_ALIGNBYTES) - -#define __DARWIN_ALIGNBYTES32 (sizeof(__uint32_t) - 1) -#define __DARWIN_ALIGN32(p) ((__darwin_size_t)((__darwin_size_t)(p) + __DARWIN_ALIGNBYTES32) &~ __DARWIN_ALIGNBYTES32) - - -#endif /* _ARM__PARAM_H_ */ \ No newline at end of file diff --git a/lib/libc/include/aarch64-macos.11-none/arm/_types.h b/lib/libc/include/aarch64-macos.11-none/arm/_types.h deleted file mode 100644 index d6c4de8fac..0000000000 --- a/lib/libc/include/aarch64-macos.11-none/arm/_types.h +++ /dev/null @@ -1,98 +0,0 @@ -/* - * Copyright (c) 2000-2007 Apple Inc. All rights reserved. - */ -#ifndef _BSD_ARM__TYPES_H_ -#define _BSD_ARM__TYPES_H_ - -/* - * This header file contains integer types. It's intended to also contain - * flotaing point and other arithmetic types, as needed, later. - */ - -#ifdef __GNUC__ -typedef __signed char __int8_t; -#else /* !__GNUC__ */ -typedef char __int8_t; -#endif /* !__GNUC__ */ -typedef unsigned char __uint8_t; -typedef short __int16_t; -typedef unsigned short __uint16_t; -typedef int __int32_t; -typedef unsigned int __uint32_t; -typedef long long __int64_t; -typedef unsigned long long __uint64_t; - -typedef long __darwin_intptr_t; -typedef unsigned int __darwin_natural_t; - -/* - * The rune type below is declared to be an ``int'' instead of the more natural - * ``unsigned long'' or ``long''. Two things are happening here. It is not - * unsigned so that EOF (-1) can be naturally assigned to it and used. Also, - * it looks like 10646 will be a 31 bit standard. This means that if your - * ints cannot hold 32 bits, you will be in trouble. The reason an int was - * chosen over a long is that the is*() and to*() routines take ints (says - * ANSI C), but they use __darwin_ct_rune_t instead of int. By changing it - * here, you lose a bit of ANSI conformance, but your programs will still - * work. - * - * NOTE: rune_t is not covered by ANSI nor other standards, and should not - * be instantiated outside of lib/libc/locale. Use wchar_t. wchar_t and - * rune_t must be the same type. Also wint_t must be no narrower than - * wchar_t, and should also be able to hold all members of the largest - * character set plus one extra value (WEOF). wint_t must be at least 16 bits. - */ - -typedef int __darwin_ct_rune_t; /* ct_rune_t */ - -/* - * mbstate_t is an opaque object to keep conversion state, during multibyte - * stream conversions. The content must not be referenced by user programs. - */ -typedef union { - char __mbstate8[128]; - long long _mbstateL; /* for alignment */ -} __mbstate_t; - -typedef __mbstate_t __darwin_mbstate_t; /* mbstate_t */ - -#if defined(__PTRDIFF_TYPE__) -typedef __PTRDIFF_TYPE__ __darwin_ptrdiff_t; /* ptr1 - ptr2 */ -#elif defined(__LP64__) -typedef long __darwin_ptrdiff_t; /* ptr1 - ptr2 */ -#else -typedef int __darwin_ptrdiff_t; /* ptr1 - ptr2 */ -#endif /* __GNUC__ */ - -#if defined(__SIZE_TYPE__) -typedef __SIZE_TYPE__ __darwin_size_t; /* sizeof() */ -#else -typedef unsigned long __darwin_size_t; /* sizeof() */ -#endif - -#if (__GNUC__ > 2) -typedef __builtin_va_list __darwin_va_list; /* va_list */ -#else -typedef void * __darwin_va_list; /* va_list */ -#endif - -#if defined(__WCHAR_TYPE__) -typedef __WCHAR_TYPE__ __darwin_wchar_t; /* wchar_t */ -#else -typedef __darwin_ct_rune_t __darwin_wchar_t; /* wchar_t */ -#endif - -typedef __darwin_wchar_t __darwin_rune_t; /* rune_t */ - -#if defined(__WINT_TYPE__) -typedef __WINT_TYPE__ __darwin_wint_t; /* wint_t */ -#else -typedef __darwin_ct_rune_t __darwin_wint_t; /* wint_t */ -#endif - -typedef unsigned long __darwin_clock_t; /* clock() */ -typedef __uint32_t __darwin_socklen_t; /* socklen_t (duh) */ -typedef long __darwin_ssize_t; /* byte count or error */ -typedef long __darwin_time_t; /* time() */ - -#endif /* _BSD_ARM__TYPES_H_ */ \ No newline at end of file diff --git a/lib/libc/include/aarch64-macos.11-none/arm/arch.h b/lib/libc/include/aarch64-macos.11-none/arm/arch.h deleted file mode 100644 index e93e87bf06..0000000000 --- a/lib/libc/include/aarch64-macos.11-none/arm/arch.h +++ /dev/null @@ -1,67 +0,0 @@ -/* - * Copyright (c) 2007 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 _ARM_ARCH_H -#define _ARM_ARCH_H - -/* Collect the __ARM_ARCH_*__ compiler flags into something easier to use. */ -#if defined (__ARM_ARCH_7A__) || defined (__ARM_ARCH_7S__) || defined (__ARM_ARCH_7F__) || defined (__ARM_ARCH_7K__) -#define _ARM_ARCH_7 -#endif - -#if defined (_ARM_ARCH_7) || defined (__ARM_ARCH_6K__) || defined (__ARM_ARCH_6ZK__) -#define _ARM_ARCH_6K -#endif - -#if defined (_ARM_ARCH_7) || defined (__ARM_ARCH_6Z__) || defined (__ARM_ARCH_6ZK__) -#define _ARM_ARCH_6Z -#endif - -#if defined (__ARM_ARCH_6__) || defined (__ARM_ARCH_6J__) || \ - defined (_ARM_ARCH_6Z) || defined (_ARM_ARCH_6K) -#define _ARM_ARCH_6 -#endif - -#if defined (_ARM_ARCH_6) || defined (__ARM_ARCH_5E__) || \ - defined (__ARM_ARCH_5TE__) || defined (__ARM_ARCH_5TEJ__) -#define _ARM_ARCH_5E -#endif - -#if defined (_ARM_ARCH_5E) || defined (__ARM_ARCH_5__) || \ - defined (__ARM_ARCH_5T__) -#define _ARM_ARCH_5 -#endif - -#if defined (_ARM_ARCH_5) || defined (__ARM_ARCH_4T__) -#define _ARM_ARCH_4T -#endif - -#if defined (_ARM_ARCH_4T) || defined (__ARM_ARCH_4__) -#define _ARM_ARCH_4 -#endif - -#endif \ No newline at end of file diff --git a/lib/libc/include/aarch64-macos.11-none/arm/endian.h b/lib/libc/include/aarch64-macos.11-none/arm/endian.h deleted file mode 100644 index d05874ecf4..0000000000 --- a/lib/libc/include/aarch64-macos.11-none/arm/endian.h +++ /dev/null @@ -1,78 +0,0 @@ -/* - * Copyright (c) 2000-2007 Apple Inc. All rights reserved. - */ -/* - * Copyright 1995 NeXT Computer, Inc. All rights reserved. - */ -/* - * Copyright (c) 1987, 1991, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)endian.h 8.1 (Berkeley) 6/11/93 - */ - -#ifndef _ARM__ENDIAN_H_ -#define _ARM__ENDIAN_H_ - -#include -/* - * Define _NOQUAD if the compiler does NOT support 64-bit integers. - */ -/* #define _NOQUAD */ - -/* - * Define the order of 32-bit words in 64-bit words. - */ -#define _QUAD_HIGHWORD 1 -#define _QUAD_LOWWORD 0 - -/* - * Definitions for byte order, according to byte significance from low - * address to high. - */ -#define __DARWIN_LITTLE_ENDIAN 1234 /* LSB first: i386, vax */ -#define __DARWIN_BIG_ENDIAN 4321 /* MSB first: 68000, ibm, net */ -#define __DARWIN_PDP_ENDIAN 3412 /* LSB first in word, MSW first in long */ - -#define __DARWIN_BYTE_ORDER __DARWIN_LITTLE_ENDIAN - -#if defined(KERNEL) || (!defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)) - -#define LITTLE_ENDIAN __DARWIN_LITTLE_ENDIAN -#define BIG_ENDIAN __DARWIN_BIG_ENDIAN -#define PDP_ENDIAN __DARWIN_PDP_ENDIAN - -#define BYTE_ORDER __DARWIN_BYTE_ORDER - -#include - -#endif /* defined(KERNEL) || (!defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)) */ -#endif /* !_ARM__ENDIAN_H_ */ \ No newline at end of file diff --git a/lib/libc/include/aarch64-macos.11-none/arm/limits.h b/lib/libc/include/aarch64-macos.11-none/arm/limits.h deleted file mode 100644 index f889c48b6a..0000000000 --- a/lib/libc/include/aarch64-macos.11-none/arm/limits.h +++ /dev/null @@ -1,110 +0,0 @@ -/* - * Copyright (c) 2000-2007 Apple Inc. All rights reserved. - */ -/* - * Copyright (c) 1988, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)limits.h 8.3 (Berkeley) 1/4/94 - */ - -#ifndef _ARM_LIMITS_H_ -#define _ARM_LIMITS_H_ - -#include -#include - -#define CHAR_BIT 8 /* number of bits in a char */ -#define MB_LEN_MAX 6 /* Allow 31 bit UTF2 */ - -#if !defined(_ANSI_SOURCE) && (!defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)) -#define CLK_TCK __DARWIN_CLK_TCK /* ticks per second */ -#endif /* !_ANSI_SOURCE && (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */ - -/* - * According to ANSI (section 2.2.4.2), the values below must be usable by - * #if preprocessing directives. Additionally, the expression must have the - * same type as would an expression that is an object of the corresponding - * type converted according to the integral promotions. The subtraction for - * INT_MIN and LONG_MIN is so the value is not unsigned; 2147483648 is an - * unsigned int for 32-bit two's complement ANSI compilers (section 3.1.3.2). - * These numbers work for pcc as well. The UINT_MAX and ULONG_MAX values - * are written as hex so that GCC will be quiet about large integer constants. - */ -#define SCHAR_MAX 127 /* min value for a signed char */ -#define SCHAR_MIN (-128) /* max value for a signed char */ - -#define UCHAR_MAX 255 /* max value for an unsigned char */ -#define CHAR_MAX 127 /* max value for a char */ -#define CHAR_MIN (-128) /* min value for a char */ - -#define USHRT_MAX 65535 /* max value for an unsigned short */ -#define SHRT_MAX 32767 /* max value for a short */ -#define SHRT_MIN (-32768) /* min value for a short */ - -#define UINT_MAX 0xffffffff /* max value for an unsigned int */ -#define INT_MAX 2147483647 /* max value for an int */ -#define INT_MIN (-2147483647-1) /* min value for an int */ - -#ifdef __LP64__ -#define ULONG_MAX 0xffffffffffffffffUL /* max unsigned long */ -#define LONG_MAX 0x7fffffffffffffffL /* max signed long */ -#define LONG_MIN (-0x7fffffffffffffffL-1) /* min signed long */ -#else /* !__LP64__ */ -#define ULONG_MAX 0xffffffffUL /* max unsigned long */ -#define LONG_MAX 2147483647L /* max signed long */ -#define LONG_MIN (-2147483647L-1) /* min signed long */ -#endif /* __LP64__ */ - -#define ULLONG_MAX 0xffffffffffffffffULL /* max unsigned long long */ -#define LLONG_MAX 0x7fffffffffffffffLL /* max signed long long */ -#define LLONG_MIN (-0x7fffffffffffffffLL-1) /* min signed long long */ - -#if !defined(_ANSI_SOURCE) -#ifdef __LP64__ -#define LONG_BIT 64 -#else /* !__LP64__ */ -#define LONG_BIT 32 -#endif /* __LP64__ */ -#define SSIZE_MAX LONG_MAX /* max value for a ssize_t */ -#define WORD_BIT 32 - -#if (!defined(_POSIX_C_SOURCE) && !defined(_XOPEN_SOURCE)) || defined(_DARWIN_C_SOURCE) -#define SIZE_T_MAX ULONG_MAX /* max value for a size_t */ - -#define UQUAD_MAX ULLONG_MAX -#define QUAD_MAX LLONG_MAX -#define QUAD_MIN LLONG_MIN - -#endif /* (!_POSIX_C_SOURCE && !_XOPEN_SOURCE) || _DARWIN_C_SOURCE */ -#endif /* !_ANSI_SOURCE */ - -#endif /* _ARM_LIMITS_H_ */ \ No newline at end of file diff --git a/lib/libc/include/aarch64-macos.11-none/arm/param.h b/lib/libc/include/aarch64-macos.11-none/arm/param.h deleted file mode 100644 index e70f68f9c3..0000000000 --- a/lib/libc/include/aarch64-macos.11-none/arm/param.h +++ /dev/null @@ -1,147 +0,0 @@ -/* - * Copyright (c) 2000-2010 Apple Inc. All rights reserved. - */ -/*- - * Copyright (c) 1990, 1993 - * The Regents of the University of California. All rights reserved. - * (c) UNIX System Laboratories, Inc. - * All or some portions of this file are derived from material licensed - * to the University of California by American Telephone and Telegraph - * Co. or Unix System Laboratories, Inc. and are reproduced herein with - * the permission of UNIX System Laboratories, Inc. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)param.h 8.1 (Berkeley) 4/4/95 - */ - -/* - * Machine dependent constants for ARM - */ - -#ifndef _ARM_PARAM_H_ -#define _ARM_PARAM_H_ - -#include - -/* - * Round p (pointer or byte index) up to a correctly-aligned value for all - * data types (int, long, ...). The result is unsigned int and must be - * cast to any desired pointer type. - */ -#define ALIGNBYTES __DARWIN_ALIGNBYTES -#define ALIGN(p) __DARWIN_ALIGN(p) - -#define NBPG 4096 /* bytes/page */ -#define PGOFSET (NBPG-1) /* byte offset into page */ -#define PGSHIFT 12 /* LOG2(NBPG) */ - -#define DEV_BSIZE 512 -#define DEV_BSHIFT 9 /* log2(DEV_BSIZE) */ -#define BLKDEV_IOSIZE 2048 -#define MAXPHYS (64 * 1024) /* max raw I/O transfer size */ - -#define CLSIZE 1 -#define CLSIZELOG2 0 - -/* - * Constants related to network buffer management. - * MCLBYTES must be no larger than CLBYTES (the software page size), and, - * on machines that exchange pages of input or output buffers with mbuf - * clusters (MAPPED_MBUFS), MCLBYTES must also be an integral multiple - * of the hardware page size. - */ -#define MSIZESHIFT 8 /* 256 */ -#define MSIZE (1 << MSIZESHIFT) /* size of an mbuf */ -#define MCLSHIFT 11 /* 2048 */ -#define MCLBYTES (1 << MCLSHIFT) /* size of an mbuf cluster */ -#define MBIGCLSHIFT 12 /* 4096 */ -#define MBIGCLBYTES (1 << MBIGCLSHIFT) /* size of a big cluster */ -#define M16KCLSHIFT 14 /* 16384 */ -#define M16KCLBYTES (1 << M16KCLSHIFT) /* size of a jumbo cluster */ - -#define MCLOFSET (MCLBYTES - 1) -#ifndef NMBCLUSTERS -#define NMBCLUSTERS CONFIG_NMBCLUSTERS /* cl map size */ -#endif - -/* - * Some macros for units conversion - */ -/* Core clicks (NeXT_page_size bytes) to segments and vice versa */ -#define ctos(x) (x) -#define stoc(x) (x) - -/* Core clicks (4096 bytes) to disk blocks */ -#define ctod(x) ((x)<<(PGSHIFT-DEV_BSHIFT)) -#define dtoc(x) ((x)>>(PGSHIFT-DEV_BSHIFT)) -#define dtob(x) ((x)<>PGSHIFT) - -#ifdef __APPLE__ -#define btodb(bytes, devBlockSize) \ - ((unsigned)(bytes) / devBlockSize) -#define dbtob(db, devBlockSize) \ - ((unsigned)(db) * devBlockSize) -#else -#define btodb(bytes) /* calculates (bytes / DEV_BSIZE) */ \ - ((unsigned)(bytes) >> DEV_BSHIFT) -#define dbtob(db) /* calculates (db * DEV_BSIZE) */ \ - ((unsigned)(db) << DEV_BSHIFT) -#endif - -/* - * Map a ``block device block'' to a file system block. - * This should be device dependent, and will be if we - * add an entry to cdevsw/bdevsw for that purpose. - * For now though just use DEV_BSIZE. - */ -#define bdbtofsb(bn) ((bn) / (BLKDEV_IOSIZE/DEV_BSIZE)) - -/* - * Macros to decode (and encode) processor status word. - */ -#define STATUS_WORD(rpl, ipl) (((ipl) << 8) | (rpl)) -#define USERMODE(x) (((x) & 3) == 3) -#define BASEPRI(x) (((x) & (255 << 8)) == 0) - - -#if defined(KERNEL) || defined(STANDALONE) -#define DELAY(n) delay(n) - -#else /* defined(KERNEL) || defined(STANDALONE) */ -#define DELAY(n) { int N = (n); while (--N > 0); } -#endif /* defined(KERNEL) || defined(STANDALONE) */ - -#endif /* _ARM_PARAM_H_ */ \ No newline at end of file diff --git a/lib/libc/include/aarch64-macos.11-none/arm/signal.h b/lib/libc/include/aarch64-macos.11-none/arm/signal.h deleted file mode 100644 index 80d2564826..0000000000 --- a/lib/libc/include/aarch64-macos.11-none/arm/signal.h +++ /dev/null @@ -1,18 +0,0 @@ -/* - * Copyright (c) 2000-2009 Apple, Inc. All rights reserved. - */ -/* - * Copyright (c) 1992 NeXT Computer, Inc. - * - */ - -#ifndef _ARM_SIGNAL_ -#define _ARM_SIGNAL_ 1 - -#include - -#ifndef _ANSI_SOURCE -typedef int sig_atomic_t; -#endif /* ! _ANSI_SOURCE */ - -#endif /* _ARM_SIGNAL_ */ \ No newline at end of file diff --git a/lib/libc/include/aarch64-macos.11-none/arm/types.h b/lib/libc/include/aarch64-macos.11-none/arm/types.h deleted file mode 100644 index 9a6c23bb9a..0000000000 --- a/lib/libc/include/aarch64-macos.11-none/arm/types.h +++ /dev/null @@ -1,107 +0,0 @@ -/* - * Copyright (c) 2000-2008 Apple Inc. All rights reserved. - */ -/* - * Copyright 1995 NeXT Computer, Inc. All rights reserved. - */ -/* - * Copyright (c) 1990, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)types.h 8.3 (Berkeley) 1/5/94 - */ - -#ifndef _MACHTYPES_H_ -#define _MACHTYPES_H_ - -#ifndef __ASSEMBLER__ -#include -#include -/* - * Basic integral types. Omit the typedef if - * not possible for a machine/compiler combination. - */ -#include -#include -#include -#include - -#include -#include -#include -#include - -#if __LP64__ -typedef int64_t register_t; -#else -typedef int32_t register_t; -#endif - -#include -#include - -#if !defined(_ANSI_SOURCE) && (!defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)) -/* These types are used for reserving the largest possible size. */ -#ifdef __arm64__ -typedef u_int64_t user_addr_t; -typedef u_int64_t user_size_t; -typedef int64_t user_ssize_t; -typedef int64_t user_long_t; -typedef u_int64_t user_ulong_t; -typedef int64_t user_time_t; -typedef int64_t user_off_t; -#else -typedef u_int32_t user_addr_t; -typedef u_int32_t user_size_t; -typedef int32_t user_ssize_t; -typedef int32_t user_long_t; -typedef u_int32_t user_ulong_t; -typedef int32_t user_time_t; -typedef int64_t user_off_t; -#endif - -#define USER_ADDR_NULL ((user_addr_t) 0) -#define CAST_USER_ADDR_T(a_ptr) ((user_addr_t)((uintptr_t)(a_ptr))) - - -#endif /* !_ANSI_SOURCE && (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */ - -/* This defines the size of syscall arguments after copying into the kernel: */ -#if defined(__arm__) -typedef u_int32_t syscall_arg_t; -#elif defined(__arm64__) -typedef u_int64_t syscall_arg_t; -#else -#error Unknown architecture. -#endif - -#endif /* __ASSEMBLER__ */ -#endif /* _MACHTYPES_H_ */ \ No newline at end of file diff --git a/lib/libc/include/aarch64-macos.11-none/libkern/OSAtomic.h b/lib/libc/include/aarch64-macos.11-none/libkern/OSAtomic.h deleted file mode 100644 index 37ef16ce44..0000000000 --- a/lib/libc/include/aarch64-macos.11-none/libkern/OSAtomic.h +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Copyright (c) 2004-2016 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 _OSATOMIC_H_ -#define _OSATOMIC_H_ - -/*! @header - * These are deprecated legacy interfaces for atomic and synchronization - * operations. - * - * Define OSATOMIC_USE_INLINED=1 to get inline implementations of the - * OSAtomic interfaces in terms of the primitives. - * - * Define OSSPINLOCK_USE_INLINED=1 to get inline implementations of the - * OSSpinLock interfaces in terms of the primitives. - * - * These are intended as a transition convenience, direct use of those - * primitives should be preferred. - */ - -#include - -#include "OSAtomicDeprecated.h" -#include "OSSpinLockDeprecated.h" -#include "OSAtomicQueue.h" - -#endif /* _OSATOMIC_H_ */ \ No newline at end of file diff --git a/lib/libc/include/aarch64-macos.11-none/libkern/OSAtomicQueue.h b/lib/libc/include/aarch64-macos.11-none/libkern/OSAtomicQueue.h deleted file mode 100644 index 66033fc834..0000000000 --- a/lib/libc/include/aarch64-macos.11-none/libkern/OSAtomicQueue.h +++ /dev/null @@ -1,115 +0,0 @@ -/* - * Copyright (c) 2004-2016 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 _OSATOMICQUEUE_H_ -#define _OSATOMICQUEUE_H_ - -#include -#include -#include -#include -#include "OSAtomicDeprecated.h" - -#include - -/*! @header Lockless atomic enqueue and dequeue - * These routines manipulate singly-linked LIFO lists. - */ - -__BEGIN_DECLS - -/*! @abstract The data structure for a queue head. - @discussion - You should always initialize a queue head structure with the - initialization vector {@link OS_ATOMIC_QUEUE_INIT} before use. - */ -#if defined(__LP64__) - -typedef volatile struct { - void *opaque1; - long opaque2; -} __attribute__ ((aligned (16))) OSQueueHead; - -#else - -typedef volatile struct { - void *opaque1; - long opaque2; -} OSQueueHead; - -#endif - -/*! @abstract The initialization vector for a queue head. */ -#define OS_ATOMIC_QUEUE_INIT { NULL, 0 } - -/*! @abstract Enqueue an element onto a list. - @discussion - Memory barriers are incorporated as needed to permit thread-safe access - to the queue element. - @param __list - The list on which you want to enqueue the element. - @param __new - The element to add. - @param __offset - The "offset" parameter is the offset (in bytes) of the link field - from the beginning of the data structure being queued (__new). - The link field should be a pointer type. - The __offset value needs to be same for all enqueuing and - dequeuing operations on the same list, even if different structure types - are enqueued on that list. The use of offsetset(), defined in - stddef.h is the common way to specify the __offset - value. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_4_0) -void OSAtomicEnqueue( OSQueueHead *__list, void *__new, size_t __offset); - - -/*! @abstract Dequeue an element from a list. - @discussion - Memory barriers are incorporated as needed to permit thread-safe access - to the queue element. - @param __list - The list from which you want to dequeue an element. - @param __offset - The "offset" parameter is the offset (in bytes) of the link field - from the beginning of the data structure being dequeued (__new). - The link field should be a pointer type. - The __offset value needs to be same for all enqueuing and - dequeuing operations on the same list, even if different structure types - are enqueued on that list. The use of offsetset(), defined in - stddef.h is the common way to specify the __offset - value. - IMPORTANT: the memory backing the link field of a queue element must not be - unmapped after OSAtomicDequeue() returns until all concurrent calls to - OSAtomicDequeue() for the same list on other threads have also returned, - as they may still be accessing that memory location. - @result - Returns the most recently enqueued element, or NULL if the - list is empty. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_4_0) -void* OSAtomicDequeue( OSQueueHead *__list, size_t __offset); - -__END_DECLS - -#endif /* _OSATOMICQUEUE_H_ */ \ No newline at end of file diff --git a/lib/libc/include/aarch64-macos.11-none/mach/arm/_structs.h b/lib/libc/include/aarch64-macos.11-none/mach/arm/_structs.h deleted file mode 100644 index ddee2f7341..0000000000 --- a/lib/libc/include/aarch64-macos.11-none/mach/arm/_structs.h +++ /dev/null @@ -1,645 +0,0 @@ -/* - * Copyright (c) 2004-2007 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@ - */ -/* - * @OSF_COPYRIGHT@ - */ -#ifndef _MACH_ARM__STRUCTS_H_ -#define _MACH_ARM__STRUCTS_H_ - -#include /* __DARWIN_UNIX03 */ -#include /* __uint32_t */ - -#if __DARWIN_UNIX03 -#define _STRUCT_ARM_EXCEPTION_STATE struct __darwin_arm_exception_state -_STRUCT_ARM_EXCEPTION_STATE -{ - __uint32_t __exception; /* number of arm exception taken */ - __uint32_t __fsr; /* Fault status */ - __uint32_t __far; /* Virtual Fault Address */ -}; -#else /* !__DARWIN_UNIX03 */ -#define _STRUCT_ARM_EXCEPTION_STATE struct arm_exception_state -_STRUCT_ARM_EXCEPTION_STATE -{ - __uint32_t exception; /* number of arm exception taken */ - __uint32_t fsr; /* Fault status */ - __uint32_t far; /* Virtual Fault Address */ -}; -#endif /* __DARWIN_UNIX03 */ - -#if __DARWIN_UNIX03 -#define _STRUCT_ARM_EXCEPTION_STATE64 struct __darwin_arm_exception_state64 -_STRUCT_ARM_EXCEPTION_STATE64 -{ - __uint64_t __far; /* Virtual Fault Address */ - __uint32_t __esr; /* Exception syndrome */ - __uint32_t __exception; /* number of arm exception taken */ -}; -#else /* !__DARWIN_UNIX03 */ -#define _STRUCT_ARM_EXCEPTION_STATE64 struct arm_exception_state64 -_STRUCT_ARM_EXCEPTION_STATE64 -{ - __uint64_t far; /* Virtual Fault Address */ - __uint32_t esr; /* Exception syndrome */ - __uint32_t exception; /* number of arm exception taken */ -}; -#endif /* __DARWIN_UNIX03 */ - -#if __DARWIN_UNIX03 -#define _STRUCT_ARM_THREAD_STATE struct __darwin_arm_thread_state -_STRUCT_ARM_THREAD_STATE -{ - __uint32_t __r[13]; /* General purpose register r0-r12 */ - __uint32_t __sp; /* Stack pointer r13 */ - __uint32_t __lr; /* Link register r14 */ - __uint32_t __pc; /* Program counter r15 */ - __uint32_t __cpsr; /* Current program status register */ -}; -#else /* !__DARWIN_UNIX03 */ -#define _STRUCT_ARM_THREAD_STATE struct arm_thread_state -_STRUCT_ARM_THREAD_STATE -{ - __uint32_t r[13]; /* General purpose register r0-r12 */ - __uint32_t sp; /* Stack pointer r13 */ - __uint32_t lr; /* Link register r14 */ - __uint32_t pc; /* Program counter r15 */ - __uint32_t cpsr; /* Current program status register */ -}; -#endif /* __DARWIN_UNIX03 */ - - -/* - * By default, the pointer fields in the arm_thread_state64_t structure are - * opaque on the arm64e architecture and require the use of accessor macros. - * This mode can also be enabled on the arm64 architecture by building with - * -D__DARWIN_OPAQUE_ARM_THREAD_STATE64=1. - */ -#if defined(__arm64__) && defined(__LP64__) - -#if __has_feature(ptrauth_calls) -#define __DARWIN_OPAQUE_ARM_THREAD_STATE64 1 -#define __DARWIN_PTRAUTH_ARM_THREAD_STATE64 1 -#endif /* __has_feature(ptrauth_calls) */ - -#ifndef __DARWIN_OPAQUE_ARM_THREAD_STATE64 -#define __DARWIN_OPAQUE_ARM_THREAD_STATE64 0 -#endif - -#else /* defined(__arm64__) && defined(__LP64__) */ - -#undef __DARWIN_OPAQUE_ARM_THREAD_STATE64 -#define __DARWIN_OPAQUE_ARM_THREAD_STATE64 0 - -#endif /* defined(__arm64__) && defined(__LP64__) */ - -#if __DARWIN_UNIX03 -#define _STRUCT_ARM_THREAD_STATE64 struct __darwin_arm_thread_state64 -#if __DARWIN_OPAQUE_ARM_THREAD_STATE64 -_STRUCT_ARM_THREAD_STATE64 -{ - __uint64_t __x[29]; /* General purpose registers x0-x28 */ - void* __opaque_fp; /* Frame pointer x29 */ - void* __opaque_lr; /* Link register x30 */ - void* __opaque_sp; /* Stack pointer x31 */ - void* __opaque_pc; /* Program counter */ - __uint32_t __cpsr; /* Current program status register */ - __uint32_t __opaque_flags; /* Flags describing structure format */ -}; -#else /* __DARWIN_OPAQUE_ARM_THREAD_STATE64 */ -_STRUCT_ARM_THREAD_STATE64 -{ - __uint64_t __x[29]; /* General purpose registers x0-x28 */ - __uint64_t __fp; /* Frame pointer x29 */ - __uint64_t __lr; /* Link register x30 */ - __uint64_t __sp; /* Stack pointer x31 */ - __uint64_t __pc; /* Program counter */ - __uint32_t __cpsr; /* Current program status register */ - __uint32_t __pad; /* Same size for 32-bit or 64-bit clients */ -}; -#endif /* __DARWIN_OPAQUE_ARM_THREAD_STATE64 */ -#else /* !__DARWIN_UNIX03 */ -#define _STRUCT_ARM_THREAD_STATE64 struct arm_thread_state64 -#if __DARWIN_OPAQUE_ARM_THREAD_STATE64 -_STRUCT_ARM_THREAD_STATE64 -{ - __uint64_t x[29]; /* General purpose registers x0-x28 */ - void* __opaque_fp; /* Frame pointer x29 */ - void* __opaque_lr; /* Link register x30 */ - void* __opaque_sp; /* Stack pointer x31 */ - void* __opaque_pc; /* Program counter */ - __uint32_t cpsr; /* Current program status register */ - __uint32_t __opaque_flags; /* Flags describing structure format */ -}; -#else /* __DARWIN_OPAQUE_ARM_THREAD_STATE64 */ -_STRUCT_ARM_THREAD_STATE64 -{ - __uint64_t x[29]; /* General purpose registers x0-x28 */ - __uint64_t fp; /* Frame pointer x29 */ - __uint64_t lr; /* Link register x30 */ - __uint64_t sp; /* Stack pointer x31 */ - __uint64_t pc; /* Program counter */ - __uint32_t cpsr; /* Current program status register */ - __uint32_t __pad; /* Same size for 32-bit or 64-bit clients */ -}; -#endif /* __DARWIN_OPAQUE_ARM_THREAD_STATE64 */ -#endif /* __DARWIN_UNIX03 */ - -#if __DARWIN_C_LEVEL >= __DARWIN_C_FULL && defined(__arm64__) - -/* Accessor macros for arm_thread_state64_t pointer fields */ - -#if __has_feature(ptrauth_calls) && defined(__LP64__) -#include - -#if !__DARWIN_OPAQUE_ARM_THREAD_STATE64 || !__DARWIN_PTRAUTH_ARM_THREAD_STATE64 -#error "Invalid configuration" -#endif - -#define __DARWIN_ARM_THREAD_STATE64_FLAGS_NO_PTRAUTH 0x1 -#define __DARWIN_ARM_THREAD_STATE64_FLAGS_IB_SIGNED_LR 0x2 - -/* Return pc field of arm_thread_state64_t as a data pointer value */ -#define __darwin_arm_thread_state64_get_pc(ts) \ - __extension__ ({ const _STRUCT_ARM_THREAD_STATE64 *__tsp = &(ts); \ - (uintptr_t)(__tsp->__opaque_pc && !(__tsp->__opaque_flags & \ - __DARWIN_ARM_THREAD_STATE64_FLAGS_NO_PTRAUTH) ? \ - ptrauth_auth_data(__tsp->__opaque_pc, \ - ptrauth_key_process_independent_code, \ - ptrauth_string_discriminator("pc")) : __tsp->__opaque_pc); }) -/* Return pc field of arm_thread_state64_t as a function pointer. May return - * NULL if a valid function pointer cannot be constructed, the caller should - * fall back to the __darwin_arm_thread_state64_get_pc() macro in that case. */ -#define __darwin_arm_thread_state64_get_pc_fptr(ts) \ - __extension__ ({ const _STRUCT_ARM_THREAD_STATE64 *__tsp = &(ts); \ - (__tsp->__opaque_pc && !(__tsp->__opaque_flags & \ - __DARWIN_ARM_THREAD_STATE64_FLAGS_NO_PTRAUTH) ? \ - ptrauth_auth_function(__tsp->__opaque_pc, \ - ptrauth_key_process_independent_code, \ - ptrauth_string_discriminator("pc")) : NULL); }) -/* Set pc field of arm_thread_state64_t to a function pointer */ -#define __darwin_arm_thread_state64_set_pc_fptr(ts, fptr) \ - __extension__ ({ _STRUCT_ARM_THREAD_STATE64 *__tsp = &(ts); \ - __typeof__(fptr) __f = (fptr); __tsp->__opaque_pc = \ - (__f ? (!(__tsp->__opaque_flags & \ - __DARWIN_ARM_THREAD_STATE64_FLAGS_NO_PTRAUTH) ? \ - ptrauth_auth_and_resign(__f, ptrauth_key_function_pointer, 0, \ - ptrauth_key_process_independent_code, \ - ptrauth_string_discriminator("pc")) : ptrauth_auth_data(__f, \ - ptrauth_key_function_pointer, 0)) : __f); }) -/* Return lr field of arm_thread_state64_t as a data pointer value */ -#define __darwin_arm_thread_state64_get_lr(ts) \ - __extension__ ({ const _STRUCT_ARM_THREAD_STATE64 *__tsp = &(ts); \ - (uintptr_t)(__tsp->__opaque_lr && !(__tsp->__opaque_flags & ( \ - __DARWIN_ARM_THREAD_STATE64_FLAGS_NO_PTRAUTH | \ - __DARWIN_ARM_THREAD_STATE64_FLAGS_IB_SIGNED_LR)) ? \ - ptrauth_auth_data(__tsp->__opaque_lr, \ - ptrauth_key_process_independent_code, \ - ptrauth_string_discriminator("lr")) : __tsp->__opaque_lr); }) -/* Return lr field of arm_thread_state64_t as a function pointer. May return - * NULL if a valid function pointer cannot be constructed, the caller should - * fall back to the __darwin_arm_thread_state64_get_lr() macro in that case. */ -#define __darwin_arm_thread_state64_get_lr_fptr(ts) \ - __extension__ ({ const _STRUCT_ARM_THREAD_STATE64 *__tsp = &(ts); \ - (__tsp->__opaque_lr && !(__tsp->__opaque_flags & ( \ - __DARWIN_ARM_THREAD_STATE64_FLAGS_NO_PTRAUTH | \ - __DARWIN_ARM_THREAD_STATE64_FLAGS_IB_SIGNED_LR)) ? \ - ptrauth_auth_function(__tsp->__opaque_lr, \ - ptrauth_key_process_independent_code, \ - ptrauth_string_discriminator("lr")) : NULL); }) -/* Set lr field of arm_thread_state64_t to a function pointer */ -#define __darwin_arm_thread_state64_set_lr_fptr(ts, fptr) \ - __extension__ ({ _STRUCT_ARM_THREAD_STATE64 *__tsp = &(ts); \ - __typeof__(fptr) __f = (fptr); __tsp->__opaque_lr = \ - (__f ? (!(__tsp->__opaque_flags & \ - __DARWIN_ARM_THREAD_STATE64_FLAGS_NO_PTRAUTH) ? (__tsp->__opaque_flags \ - &= ~__DARWIN_ARM_THREAD_STATE64_FLAGS_IB_SIGNED_LR , \ - ptrauth_auth_and_resign(__f, ptrauth_key_function_pointer, 0, \ - ptrauth_key_process_independent_code, \ - ptrauth_string_discriminator("lr"))) : ptrauth_auth_data(__f, \ - ptrauth_key_function_pointer, 0)) : __f); }) -/* Return sp field of arm_thread_state64_t as a data pointer value */ -#define __darwin_arm_thread_state64_get_sp(ts) \ - __extension__ ({ const _STRUCT_ARM_THREAD_STATE64 *__tsp = &(ts); \ - (uintptr_t)(__tsp->__opaque_sp && !(__tsp->__opaque_flags & \ - __DARWIN_ARM_THREAD_STATE64_FLAGS_NO_PTRAUTH) ? \ - ptrauth_auth_data(__tsp->__opaque_sp, \ - ptrauth_key_process_independent_data, \ - ptrauth_string_discriminator("sp")) : __tsp->__opaque_sp); }) -/* Set sp field of arm_thread_state64_t to a data pointer value */ -#define __darwin_arm_thread_state64_set_sp(ts, ptr) \ - __extension__ ({ _STRUCT_ARM_THREAD_STATE64 *__tsp = &(ts); \ - void *__p = (void*)(uintptr_t)(ptr); __tsp->__opaque_sp = \ - (__p && !(__tsp->__opaque_flags & \ - __DARWIN_ARM_THREAD_STATE64_FLAGS_NO_PTRAUTH) ? \ - ptrauth_sign_unauthenticated(__p, \ - ptrauth_key_process_independent_data, \ - ptrauth_string_discriminator("sp")) : __p); }) -/* Return fp field of arm_thread_state64_t as a data pointer value */ -#define __darwin_arm_thread_state64_get_fp(ts) \ - __extension__ ({ const _STRUCT_ARM_THREAD_STATE64 *__tsp = &(ts); \ - (uintptr_t)(__tsp->__opaque_fp && !(__tsp->__opaque_flags & \ - __DARWIN_ARM_THREAD_STATE64_FLAGS_NO_PTRAUTH) ? \ - ptrauth_auth_data(__tsp->__opaque_fp, \ - ptrauth_key_process_independent_data, \ - ptrauth_string_discriminator("fp")) : __tsp->__opaque_fp); }) -/* Set fp field of arm_thread_state64_t to a data pointer value */ -#define __darwin_arm_thread_state64_set_fp(ts, ptr) \ - __extension__ ({ _STRUCT_ARM_THREAD_STATE64 *__tsp = &(ts); \ - void *__p = (void*)(uintptr_t)(ptr); __tsp->__opaque_fp = \ - (__p && !(__tsp->__opaque_flags & \ - __DARWIN_ARM_THREAD_STATE64_FLAGS_NO_PTRAUTH) ? \ - ptrauth_sign_unauthenticated(__p, \ - ptrauth_key_process_independent_data, \ - ptrauth_string_discriminator("fp")) : __p); }) - -/* Strip ptr auth bits from pc, lr, sp and fp field of arm_thread_state64_t */ -#define __darwin_arm_thread_state64_ptrauth_strip(ts) \ - __extension__ ({ _STRUCT_ARM_THREAD_STATE64 *__tsp = &(ts); \ - __tsp->__opaque_pc = ((__tsp->__opaque_flags & \ - __DARWIN_ARM_THREAD_STATE64_FLAGS_NO_PTRAUTH) ? __tsp->__opaque_pc : \ - ptrauth_strip(__tsp->__opaque_pc, ptrauth_key_process_independent_code)); \ - __tsp->__opaque_lr = ((__tsp->__opaque_flags & \ - (__DARWIN_ARM_THREAD_STATE64_FLAGS_NO_PTRAUTH | \ - __DARWIN_ARM_THREAD_STATE64_FLAGS_IB_SIGNED_LR)) ? __tsp->__opaque_lr : \ - ptrauth_strip(__tsp->__opaque_lr, ptrauth_key_process_independent_code)); \ - __tsp->__opaque_sp = ((__tsp->__opaque_flags & \ - __DARWIN_ARM_THREAD_STATE64_FLAGS_NO_PTRAUTH) ? __tsp->__opaque_sp : \ - ptrauth_strip(__tsp->__opaque_sp, ptrauth_key_process_independent_data)); \ - __tsp->__opaque_fp = ((__tsp->__opaque_flags & \ - __DARWIN_ARM_THREAD_STATE64_FLAGS_NO_PTRAUTH) ? __tsp->__opaque_fp : \ - ptrauth_strip(__tsp->__opaque_fp, ptrauth_key_process_independent_data)); \ - __tsp->__opaque_flags |= \ - __DARWIN_ARM_THREAD_STATE64_FLAGS_NO_PTRAUTH; }) - -#else /* __has_feature(ptrauth_calls) && defined(__LP64__) */ - -#if __DARWIN_OPAQUE_ARM_THREAD_STATE64 - -#ifndef __LP64__ -#error "Invalid configuration" -#endif - -/* Return pc field of arm_thread_state64_t as a data pointer value */ -#define __darwin_arm_thread_state64_get_pc(ts) \ - ((uintptr_t)((ts).__opaque_pc)) -/* Return pc field of arm_thread_state64_t as a function pointer */ -#define __darwin_arm_thread_state64_get_pc_fptr(ts) \ - ((ts).__opaque_pc) -/* Set pc field of arm_thread_state64_t to a function pointer */ -#define __darwin_arm_thread_state64_set_pc_fptr(ts, fptr) \ - ((ts).__opaque_pc = (fptr)) -/* Return lr field of arm_thread_state64_t as a data pointer value */ -#define __darwin_arm_thread_state64_get_lr(ts) \ - ((uintptr_t)((ts).__opaque_lr)) -/* Return lr field of arm_thread_state64_t as a function pointer */ -#define __darwin_arm_thread_state64_get_lr_fptr(ts) \ - ((ts).__opaque_lr) -/* Set lr field of arm_thread_state64_t to a function pointer */ -#define __darwin_arm_thread_state64_set_lr_fptr(ts, fptr) \ - ((ts).__opaque_lr = (fptr)) -/* Return sp field of arm_thread_state64_t as a data pointer value */ -#define __darwin_arm_thread_state64_get_sp(ts) \ - ((uintptr_t)((ts).__opaque_sp)) -/* Set sp field of arm_thread_state64_t to a data pointer value */ -#define __darwin_arm_thread_state64_set_sp(ts, ptr) \ - ((ts).__opaque_sp = (void*)(uintptr_t)(ptr)) -/* Return fp field of arm_thread_state64_t as a data pointer value */ -#define __darwin_arm_thread_state64_get_fp(ts) \ - ((uintptr_t)((ts).__opaque_fp)) -/* Set fp field of arm_thread_state64_t to a data pointer value */ -#define __darwin_arm_thread_state64_set_fp(ts, ptr) \ - ((ts).__opaque_fp = (void*)(uintptr_t)(ptr)) -/* Strip ptr auth bits from pc, lr, sp and fp field of arm_thread_state64_t */ -#define __darwin_arm_thread_state64_ptrauth_strip(ts) \ - (void)(ts) - -#else /* __DARWIN_OPAQUE_ARM_THREAD_STATE64 */ -#if __DARWIN_UNIX03 - -/* Return pc field of arm_thread_state64_t as a data pointer value */ -#define __darwin_arm_thread_state64_get_pc(ts) \ - ((ts).__pc) -/* Return pc field of arm_thread_state64_t as a function pointer */ -#define __darwin_arm_thread_state64_get_pc_fptr(ts) \ - ((void*)(uintptr_t)((ts).__pc)) -/* Set pc field of arm_thread_state64_t to a function pointer */ -#define __darwin_arm_thread_state64_set_pc_fptr(ts, fptr) \ - ((ts).__pc = (uintptr_t)(fptr)) -/* Return lr field of arm_thread_state64_t as a data pointer value */ -#define __darwin_arm_thread_state64_get_lr(ts) \ - ((ts).__lr) -/* Return lr field of arm_thread_state64_t as a function pointer */ -#define __darwin_arm_thread_state64_get_lr_fptr(ts) \ - ((void*)(uintptr_t)((ts).__lr)) -/* Set lr field of arm_thread_state64_t to a function pointer */ -#define __darwin_arm_thread_state64_set_lr_fptr(ts, fptr) \ - ((ts).__lr = (uintptr_t)(fptr)) -/* Return sp field of arm_thread_state64_t as a data pointer value */ -#define __darwin_arm_thread_state64_get_sp(ts) \ - ((ts).__sp) -/* Set sp field of arm_thread_state64_t to a data pointer value */ -#define __darwin_arm_thread_state64_set_sp(ts, ptr) \ - ((ts).__sp = (uintptr_t)(ptr)) -/* Return fp field of arm_thread_state64_t as a data pointer value */ -#define __darwin_arm_thread_state64_get_fp(ts) \ - ((ts).__fp) -/* Set fp field of arm_thread_state64_t to a data pointer value */ -#define __darwin_arm_thread_state64_set_fp(ts, ptr) \ - ((ts).__fp = (uintptr_t)(ptr)) -/* Strip ptr auth bits from pc, lr, sp and fp field of arm_thread_state64_t */ -#define __darwin_arm_thread_state64_ptrauth_strip(ts) \ - (void)(ts) - -#else /* __DARWIN_UNIX03 */ - -/* Return pc field of arm_thread_state64_t as a data pointer value */ -#define __darwin_arm_thread_state64_get_pc(ts) \ - ((ts).pc) -/* Return pc field of arm_thread_state64_t as a function pointer */ -#define __darwin_arm_thread_state64_get_pc_fptr(ts) \ - ((void*)(uintptr_t)((ts).pc)) -/* Set pc field of arm_thread_state64_t to a function pointer */ -#define __darwin_arm_thread_state64_set_pc_fptr(ts, fptr) \ - ((ts).pc = (uintptr_t)(fptr)) -/* Return lr field of arm_thread_state64_t as a data pointer value */ -#define __darwin_arm_thread_state64_get_lr(ts) \ - ((ts).lr) -/* Return lr field of arm_thread_state64_t as a function pointer */ -#define __darwin_arm_thread_state64_get_lr_fptr(ts) \ - ((void*)(uintptr_t)((ts).lr)) -/* Set lr field of arm_thread_state64_t to a function pointer */ -#define __darwin_arm_thread_state64_set_lr_fptr(ts, fptr) \ - ((ts).lr = (uintptr_t)(fptr)) -/* Return sp field of arm_thread_state64_t as a data pointer value */ -#define __darwin_arm_thread_state64_get_sp(ts) \ - ((ts).sp) -/* Set sp field of arm_thread_state64_t to a data pointer value */ -#define __darwin_arm_thread_state64_set_sp(ts, ptr) \ - ((ts).sp = (uintptr_t)(ptr)) -/* Return fp field of arm_thread_state64_t as a data pointer value */ -#define __darwin_arm_thread_state64_get_fp(ts) \ - ((ts).fp) -/* Set fp field of arm_thread_state64_t to a data pointer value */ -#define __darwin_arm_thread_state64_set_fp(ts, ptr) \ - ((ts).fp = (uintptr_t)(ptr)) -/* Strip ptr auth bits from pc, lr, sp and fp field of arm_thread_state64_t */ -#define __darwin_arm_thread_state64_ptrauth_strip(ts) \ - (void)(ts) - -#endif /* __DARWIN_UNIX03 */ -#endif /* __DARWIN_OPAQUE_ARM_THREAD_STATE64 */ - -#endif /* __has_feature(ptrauth_calls) && defined(__LP64__) */ -#endif /* __DARWIN_C_LEVEL >= __DARWIN_C_FULL && defined(__arm64__) */ - -#if __DARWIN_UNIX03 -#define _STRUCT_ARM_VFP_STATE struct __darwin_arm_vfp_state -_STRUCT_ARM_VFP_STATE -{ - __uint32_t __r[64]; - __uint32_t __fpscr; -}; -#else /* !__DARWIN_UNIX03 */ -#define _STRUCT_ARM_VFP_STATE struct arm_vfp_state -_STRUCT_ARM_VFP_STATE -{ - __uint32_t r[64]; - __uint32_t fpscr; -}; -#endif /* __DARWIN_UNIX03 */ - -#if __DARWIN_UNIX03 -#define _STRUCT_ARM_NEON_STATE64 struct __darwin_arm_neon_state64 -#define _STRUCT_ARM_NEON_STATE struct __darwin_arm_neon_state - -#if defined(__arm64__) -_STRUCT_ARM_NEON_STATE64 -{ - __uint128_t __v[32]; - __uint32_t __fpsr; - __uint32_t __fpcr; -}; - -_STRUCT_ARM_NEON_STATE -{ - __uint128_t __v[16]; - __uint32_t __fpsr; - __uint32_t __fpcr; -}; -#elif defined(__arm__) -/* - * No 128-bit intrinsic for ARM; leave it opaque for now. - */ -_STRUCT_ARM_NEON_STATE64 -{ - char opaque[(32 * 16) + (2 * sizeof(__uint32_t))]; -} __attribute__((aligned(16))); - -_STRUCT_ARM_NEON_STATE -{ - char opaque[(16 * 16) + (2 * sizeof(__uint32_t))]; -} __attribute__((aligned(16))); - -#else -#error Unknown architecture. -#endif - -#else /* !__DARWIN_UNIX03 */ -#define _STRUCT_ARM_NEON_STATE64 struct arm_neon_state64 -#define _STRUCT_ARM_NEON_STATE struct arm_neon_state - -#if defined(__arm64__) -_STRUCT_ARM_NEON_STATE64 -{ - __uint128_t q[32]; - uint32_t fpsr; - uint32_t fpcr; -}; - -_STRUCT_ARM_NEON_STATE -{ - __uint128_t q[16]; - uint32_t fpsr; - uint32_t fpcr; -}; -#elif defined(__arm__) -/* - * No 128-bit intrinsic for ARM; leave it opaque for now. - */ -_STRUCT_ARM_NEON_STATE64 -{ - char opaque[(32 * 16) + (2 * sizeof(__uint32_t))]; -} __attribute__((aligned(16))); - -_STRUCT_ARM_NEON_STATE -{ - char opaque[(16 * 16) + (2 * sizeof(__uint32_t))]; -} __attribute__((aligned(16))); - -#else -#error Unknown architecture. -#endif - -#endif /* __DARWIN_UNIX03 */ - -#if __DARWIN_UNIX03 -#define _STRUCT_ARM_AMX_STATE_V1 struct __darwin_arm_amx_state_v1 -_STRUCT_ARM_AMX_STATE_V1 -{ - __uint8_t __x[8][64]; /* 8 64-byte registers */ - __uint8_t __y[8][64]; /* 8 64-byte registers */ - __uint8_t __z[64][64]; /* 64 64-byte registers in an M-by-N matrix */ - __uint64_t __amx_state_t_el1; /* AMX_STATE_T_EL1 value */ -} __attribute__((aligned(64))); -#else /* !__DARWIN_UNIX03 */ -#define _STRUCT_ARM_AMX_STATE_V1 struct arm_amx_state_v1 -_STRUCT_ARM_AMX_STATE_V1 -{ - __uint8_t x[8][64]; /* 8 64-byte registers */ - __uint8_t y[8][64]; /* 8 64-byte registers */ - __uint8_t z[64][64]; /* 64 64-byte registers in an M-by-N matrix */ - __uint64_t amx_state_t_el1; /* AMX_STATE_T_EL1 value. */ -} __attribute__((aligned(64))); -#endif /* __DARWIN_UNIX03 */ - -#define _STRUCT_ARM_PAGEIN_STATE struct __arm_pagein_state -_STRUCT_ARM_PAGEIN_STATE -{ - int __pagein_error; -}; - -/* - * Debug State - */ -#if defined(__arm__) -/* Old-fashioned debug state is only for ARM */ - -#if __DARWIN_UNIX03 -#define _STRUCT_ARM_DEBUG_STATE struct __darwin_arm_debug_state -_STRUCT_ARM_DEBUG_STATE -{ - __uint32_t __bvr[16]; - __uint32_t __bcr[16]; - __uint32_t __wvr[16]; - __uint32_t __wcr[16]; -}; -#else /* !__DARWIN_UNIX03 */ -#define _STRUCT_ARM_DEBUG_STATE struct arm_debug_state -_STRUCT_ARM_DEBUG_STATE -{ - __uint32_t bvr[16]; - __uint32_t bcr[16]; - __uint32_t wvr[16]; - __uint32_t wcr[16]; -}; -#endif /* __DARWIN_UNIX03 */ - -#elif defined(__arm64__) - -/* ARM's arm_debug_state is ARM64's arm_legacy_debug_state */ - -#if __DARWIN_UNIX03 -#define _STRUCT_ARM_LEGACY_DEBUG_STATE struct __arm_legacy_debug_state -_STRUCT_ARM_LEGACY_DEBUG_STATE -{ - __uint32_t __bvr[16]; - __uint32_t __bcr[16]; - __uint32_t __wvr[16]; - __uint32_t __wcr[16]; -}; -#else /* __DARWIN_UNIX03 */ -#define _STRUCT_ARM_LEGACY_DEBUG_STATE struct arm_legacy_debug_state -_STRUCT_ARM_LEGACY_DEBUG_STATE -{ - __uint32_t bvr[16]; - __uint32_t bcr[16]; - __uint32_t wvr[16]; - __uint32_t wcr[16]; -}; -#endif /* __DARWIN_UNIX03 */ -#else -#error unknown architecture -#endif - -#if __DARWIN_UNIX03 -#define _STRUCT_ARM_DEBUG_STATE32 struct __darwin_arm_debug_state32 -_STRUCT_ARM_DEBUG_STATE32 -{ - __uint32_t __bvr[16]; - __uint32_t __bcr[16]; - __uint32_t __wvr[16]; - __uint32_t __wcr[16]; - __uint64_t __mdscr_el1; /* Bit 0 is SS (Hardware Single Step) */ -}; - -#define _STRUCT_ARM_DEBUG_STATE64 struct __darwin_arm_debug_state64 -_STRUCT_ARM_DEBUG_STATE64 -{ - __uint64_t __bvr[16]; - __uint64_t __bcr[16]; - __uint64_t __wvr[16]; - __uint64_t __wcr[16]; - __uint64_t __mdscr_el1; /* Bit 0 is SS (Hardware Single Step) */ -}; -#else /* !__DARWIN_UNIX03 */ -#define _STRUCT_ARM_DEBUG_STATE32 struct arm_debug_state32 -_STRUCT_ARM_DEBUG_STATE32 -{ - __uint32_t bvr[16]; - __uint32_t bcr[16]; - __uint32_t wvr[16]; - __uint32_t wcr[16]; - __uint64_t mdscr_el1; /* Bit 0 is SS (Hardware Single Step) */ -}; - -#define _STRUCT_ARM_DEBUG_STATE64 struct arm_debug_state64 -_STRUCT_ARM_DEBUG_STATE64 -{ - __uint64_t bvr[16]; - __uint64_t bcr[16]; - __uint64_t wvr[16]; - __uint64_t wcr[16]; - __uint64_t mdscr_el1; /* Bit 0 is SS (Hardware Single Step) */ -}; -#endif /* __DARWIN_UNIX03 */ - -#if __DARWIN_UNIX03 -#define _STRUCT_ARM_CPMU_STATE64 struct __darwin_arm_cpmu_state64 -_STRUCT_ARM_CPMU_STATE64 -{ - __uint64_t __ctrs[16]; -}; -#else /* __DARWIN_UNIX03 */ -#define _STRUCT_ARM_CPMU_STATE64 struct arm_cpmu_state64 -_STRUCT_ARM_CPMU_STATE64 -{ - __uint64_t ctrs[16]; -}; -#endif /* !__DARWIN_UNIX03 */ - -#endif /* _MACH_ARM__STRUCTS_H_ */ \ No newline at end of file diff --git a/lib/libc/include/aarch64-macos.11-none/mach/arm/boolean.h b/lib/libc/include/aarch64-macos.11-none/mach/arm/boolean.h deleted file mode 100644 index 703153e4e6..0000000000 --- a/lib/libc/include/aarch64-macos.11-none/mach/arm/boolean.h +++ /dev/null @@ -1,70 +0,0 @@ -/* - * Copyright (c) 2000-2007 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@ - */ -/* - * @OSF_COPYRIGHT@ - */ -/* - * Mach Operating System - * Copyright (c) 1991,1990,1989 Carnegie Mellon University - * All Rights Reserved. - * - * Permission to use, copy, modify and distribute this software and its - * documentation is hereby granted, provided that both the copyright - * notice and this permission notice appear in all copies of the - * software, derivative works or modified versions, and any portions - * thereof, and that both notices appear in supporting documentation. - * - * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" - * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR - * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. - * - * Carnegie Mellon requests users of this software to return to - * - * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU - * School of Computer Science - * Carnegie Mellon University - * Pittsburgh PA 15213-3890 - * - * any improvements or extensions that they make and grant Carnegie Mellon - * the rights to redistribute these changes. - */ -/* - */ - -/* - * File: boolean.h - * - * Boolean type, for ARM. - */ - -#ifndef _MACH_ARM_BOOLEAN_H_ -#define _MACH_ARM_BOOLEAN_H_ - -typedef int boolean_t; - -#endif /* _MACH_ARM_BOOLEAN_H_ */ \ No newline at end of file diff --git a/lib/libc/include/aarch64-macos.11-none/mach/arm/exception.h b/lib/libc/include/aarch64-macos.11-none/mach/arm/exception.h deleted file mode 100644 index cf804261a9..0000000000 --- a/lib/libc/include/aarch64-macos.11-none/mach/arm/exception.h +++ /dev/null @@ -1,79 +0,0 @@ -/* - * Copyright (c) 2007 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 _MACH_ARM_EXCEPTION_H_ -#define _MACH_ARM_EXCEPTION_H_ - -#define EXC_TYPES_COUNT 14 /* incl. illegal exception 0 */ - -#define EXC_MASK_MACHINE 0 - -#define EXCEPTION_CODE_MAX 2 /* code and subcode */ - - -/* - * Trap numbers as defined by the hardware exception vectors. - */ - -/* - * EXC_BAD_INSTRUCTION - */ - -#define EXC_ARM_UNDEFINED 1 /* Undefined */ - -/* - * EXC_ARITHMETIC - */ - -#define EXC_ARM_FP_UNDEFINED 0 /* Undefined Floating Point Exception */ -#define EXC_ARM_FP_IO 1 /* Invalid Floating Point Operation */ -#define EXC_ARM_FP_DZ 2 /* Floating Point Divide by Zero */ -#define EXC_ARM_FP_OF 3 /* Floating Point Overflow */ -#define EXC_ARM_FP_UF 4 /* Floating Point Underflow */ -#define EXC_ARM_FP_IX 5 /* Inexact Floating Point Result */ -#define EXC_ARM_FP_ID 6 /* Floating Point Denormal Input */ - -/* - * EXC_BAD_ACCESS - * Note: do not conflict with kern_return_t values returned by vm_fault - */ - -#define EXC_ARM_DA_ALIGN 0x101 /* Alignment Fault */ -#define EXC_ARM_DA_DEBUG 0x102 /* Debug (watch/break) Fault */ -#define EXC_ARM_SP_ALIGN 0x103 /* SP Alignment Fault */ -#define EXC_ARM_SWP 0x104 /* SWP instruction */ -#define EXC_ARM_PAC_FAIL 0x105 /* PAC authentication failure */ - -/* - * EXC_BREAKPOINT - */ - -#define EXC_ARM_BREAKPOINT 1 /* breakpoint trap */ - - -#endif /* _MACH_ARM_EXCEPTION_H_ */ \ No newline at end of file diff --git a/lib/libc/include/aarch64-macos.11-none/mach/arm/kern_return.h b/lib/libc/include/aarch64-macos.11-none/mach/arm/kern_return.h deleted file mode 100644 index 0c23b0f973..0000000000 --- a/lib/libc/include/aarch64-macos.11-none/mach/arm/kern_return.h +++ /dev/null @@ -1,74 +0,0 @@ -/* - * Copyright (c) 2000-2007 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@ - */ -/* - * @OSF_COPYRIGHT@ - */ -/* - * Mach Operating System - * Copyright (c) 1991,1990,1989 Carnegie Mellon University - * All Rights Reserved. - * - * Permission to use, copy, modify and distribute this software and its - * documentation is hereby granted, provided that both the copyright - * notice and this permission notice appear in all copies of the - * software, derivative works or modified versions, and any portions - * thereof, and that both notices appear in supporting documentation. - * - * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" - * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR - * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. - * - * Carnegie Mellon requests users of this software to return to - * - * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU - * School of Computer Science - * Carnegie Mellon University - * Pittsburgh PA 15213-3890 - * - * any improvements or extensions that they make and grant Carnegie Mellon - * the rights to redistribute these changes. - */ -/* - */ - -/* - * File: kern_return.h - * Author: Avadis Tevanian, Jr., Michael Wayne Young - * Date: 1985 - * - * Machine-dependent kernel return definitions. - */ - -#ifndef _MACH_ARM_KERN_RETURN_H_ -#define _MACH_ARM_KERN_RETURN_H_ - -#ifndef ASSEMBLER -typedef int kern_return_t; -#endif /* ASSEMBLER */ - -#endif /* _MACH_ARM_KERN_RETURN_H_ */ \ No newline at end of file diff --git a/lib/libc/include/aarch64-macos.11-none/mach/arm/processor_info.h b/lib/libc/include/aarch64-macos.11-none/mach/arm/processor_info.h deleted file mode 100644 index cc2cfadeb4..0000000000 --- a/lib/libc/include/aarch64-macos.11-none/mach/arm/processor_info.h +++ /dev/null @@ -1,72 +0,0 @@ -/* - * Copyright (c) 2007-2018 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 _MACH_ARM_PROCESSOR_INFO_H_ -#define _MACH_ARM_PROCESSOR_INFO_H_ - -#define PROCESSOR_CPU_STAT 0x10000003 /* Low-level CPU statistics */ -#define PROCESSOR_CPU_STAT64 0x10000004 /* Low-level CPU statistics, in full 64-bit */ - -#include /* uint32_t, uint64_t */ - -struct processor_cpu_stat { - uint32_t irq_ex_cnt; - uint32_t ipi_cnt; - uint32_t timer_cnt; - uint32_t undef_ex_cnt; - uint32_t unaligned_cnt; - uint32_t vfp_cnt; - uint32_t vfp_shortv_cnt; - uint32_t data_ex_cnt; - uint32_t instr_ex_cnt; -}; - -typedef struct processor_cpu_stat processor_cpu_stat_data_t; -typedef struct processor_cpu_stat *processor_cpu_stat_t; -#define PROCESSOR_CPU_STAT_COUNT ((mach_msg_type_number_t) \ - (sizeof(processor_cpu_stat_data_t) / sizeof(natural_t))) - -struct processor_cpu_stat64 { - uint64_t irq_ex_cnt; - uint64_t ipi_cnt; - uint64_t timer_cnt; - uint64_t undef_ex_cnt; - uint64_t unaligned_cnt; - uint64_t vfp_cnt; - uint64_t vfp_shortv_cnt; - uint64_t data_ex_cnt; - uint64_t instr_ex_cnt; - uint64_t pmi_cnt; -} __attribute__((packed, aligned(4))); - -typedef struct processor_cpu_stat64 processor_cpu_stat64_data_t; -typedef struct processor_cpu_stat64 *processor_cpu_stat64_t; -#define PROCESSOR_CPU_STAT64_COUNT ((mach_msg_type_number_t) \ - (sizeof(processor_cpu_stat64_data_t) / sizeof(integer_t))) - -#endif /* _MACH_ARM_PROCESSOR_INFO_H_ */ \ No newline at end of file diff --git a/lib/libc/include/aarch64-macos.11-none/mach/arm/thread_state.h b/lib/libc/include/aarch64-macos.11-none/mach/arm/thread_state.h deleted file mode 100644 index 75c28e6692..0000000000 --- a/lib/libc/include/aarch64-macos.11-none/mach/arm/thread_state.h +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Copyright (c) 2000-2007 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@ - */ -/* - * @OSF_COPYRIGHT@ - */ - -#ifndef _MACH_ARM_THREAD_STATE_H_ -#define _MACH_ARM_THREAD_STATE_H_ - -/* Size of maximum exported thread state in words */ -#define ARM_THREAD_STATE_MAX (1296) /* Size of biggest state possible */ - -#if defined (__arm__) || defined(__arm64__) -#define THREAD_STATE_MAX ARM_THREAD_STATE_MAX -#else -#error Unsupported arch -#endif - -#endif /* _MACH_ARM_THREAD_STATE_H_ */ \ No newline at end of file diff --git a/lib/libc/include/aarch64-macos.11-none/mach/arm/thread_status.h b/lib/libc/include/aarch64-macos.11-none/mach/arm/thread_status.h deleted file mode 100644 index f8d0ccb037..0000000000 --- a/lib/libc/include/aarch64-macos.11-none/mach/arm/thread_status.h +++ /dev/null @@ -1,249 +0,0 @@ -/* - * Copyright (c) 2007 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@ - */ -/* - * FILE_ID: thread_status.h - */ - - -#ifndef _ARM_THREAD_STATUS_H_ -#define _ARM_THREAD_STATUS_H_ - -#include -#include -#include -#include - -/* - * Support for determining the state of a thread - */ - - -/* - * Flavors - */ - -#define ARM_THREAD_STATE 1 -#define ARM_UNIFIED_THREAD_STATE ARM_THREAD_STATE -#define ARM_VFP_STATE 2 -#define ARM_EXCEPTION_STATE 3 -#define ARM_DEBUG_STATE 4 /* pre-armv8 */ -#define THREAD_STATE_NONE 5 -#define ARM_THREAD_STATE64 6 -#define ARM_EXCEPTION_STATE64 7 -// ARM_THREAD_STATE_LAST 8 /* legacy */ -#define ARM_THREAD_STATE32 9 - - -/* API */ -#define ARM_DEBUG_STATE32 14 -#define ARM_DEBUG_STATE64 15 -#define ARM_NEON_STATE 16 -#define ARM_NEON_STATE64 17 -#define ARM_CPMU_STATE64 18 - - -/* API */ -#define ARM_AMX_STATE 24 -#define ARM_AMX_STATE_V1 25 -#define ARM_STATE_FLAVOR_IS_OTHER_VALID(_flavor_) \ - ((_flavor_) == ARM_AMX_STATE_V1) -#define ARM_PAGEIN_STATE 27 - -#define VALID_THREAD_STATE_FLAVOR(x) \ - ((x == ARM_THREAD_STATE) || \ - (x == ARM_VFP_STATE) || \ - (x == ARM_EXCEPTION_STATE) || \ - (x == ARM_DEBUG_STATE) || \ - (x == THREAD_STATE_NONE) || \ - (x == ARM_THREAD_STATE32) || \ - (x == ARM_THREAD_STATE64) || \ - (x == ARM_EXCEPTION_STATE64) || \ - (x == ARM_NEON_STATE) || \ - (x == ARM_NEON_STATE64) || \ - (x == ARM_DEBUG_STATE32) || \ - (x == ARM_DEBUG_STATE64) || \ - (x == ARM_PAGEIN_STATE) || \ - (ARM_STATE_FLAVOR_IS_OTHER_VALID(x))) - -struct arm_state_hdr { - uint32_t flavor; - uint32_t count; -}; -typedef struct arm_state_hdr arm_state_hdr_t; - -typedef _STRUCT_ARM_THREAD_STATE arm_thread_state_t; -typedef _STRUCT_ARM_THREAD_STATE arm_thread_state32_t; -typedef _STRUCT_ARM_THREAD_STATE64 arm_thread_state64_t; - -#if __DARWIN_C_LEVEL >= __DARWIN_C_FULL && defined(__arm64__) - -/* Accessor macros for arm_thread_state64_t pointer fields */ - -/* Return pc field of arm_thread_state64_t as a data pointer value */ -#define arm_thread_state64_get_pc(ts) \ - __darwin_arm_thread_state64_get_pc(ts) -/* Return pc field of arm_thread_state64_t as a function pointer. May return - * NULL if a valid function pointer cannot be constructed, the caller should - * fall back to the arm_thread_state64_get_pc() macro in that case. */ -#define arm_thread_state64_get_pc_fptr(ts) \ - __darwin_arm_thread_state64_get_pc_fptr(ts) -/* Set pc field of arm_thread_state64_t to a function pointer */ -#define arm_thread_state64_set_pc_fptr(ts, fptr) \ - __darwin_arm_thread_state64_set_pc_fptr(ts, fptr) -/* Return lr field of arm_thread_state64_t as a data pointer value */ -#define arm_thread_state64_get_lr(ts) \ - __darwin_arm_thread_state64_get_lr(ts) -/* Return lr field of arm_thread_state64_t as a function pointer. May return - * NULL if a valid function pointer cannot be constructed, the caller should - * fall back to the arm_thread_state64_get_lr() macro in that case. */ -#define arm_thread_state64_get_lr_fptr(ts) \ - __darwin_arm_thread_state64_get_lr_fptr(ts) -/* Set lr field of arm_thread_state64_t to a function pointer */ -#define arm_thread_state64_set_lr_fptr(ts, fptr) \ - __darwin_arm_thread_state64_set_lr_fptr(ts, fptr) -/* Return sp field of arm_thread_state64_t as a data pointer value */ -#define arm_thread_state64_get_sp(ts) \ - __darwin_arm_thread_state64_get_sp(ts) -/* Set sp field of arm_thread_state64_t to a data pointer value */ -#define arm_thread_state64_set_sp(ts, ptr) \ - __darwin_arm_thread_state64_set_sp(ts, ptr) -/* Return fp field of arm_thread_state64_t as a data pointer value */ -#define arm_thread_state64_get_fp(ts) \ - __darwin_arm_thread_state64_get_fp(ts) -/* Set fp field of arm_thread_state64_t to a data pointer value */ -#define arm_thread_state64_set_fp(ts, ptr) \ - __darwin_arm_thread_state64_set_fp(ts, ptr) -/* Strip ptr auth bits from pc, lr, sp and fp field of arm_thread_state64_t */ -#define arm_thread_state64_ptrauth_strip(ts) \ - __darwin_arm_thread_state64_ptrauth_strip(ts) - -#endif /* __DARWIN_C_LEVEL >= __DARWIN_C_FULL && defined(__arm64__) */ - -struct arm_unified_thread_state { - arm_state_hdr_t ash; - union { - arm_thread_state32_t ts_32; - arm_thread_state64_t ts_64; - } uts; -}; -#define ts_32 uts.ts_32 -#define ts_64 uts.ts_64 -typedef struct arm_unified_thread_state arm_unified_thread_state_t; - -#define ARM_THREAD_STATE_COUNT ((mach_msg_type_number_t) \ - (sizeof (arm_thread_state_t)/sizeof(uint32_t))) -#define ARM_THREAD_STATE32_COUNT ((mach_msg_type_number_t) \ - (sizeof (arm_thread_state32_t)/sizeof(uint32_t))) -#define ARM_THREAD_STATE64_COUNT ((mach_msg_type_number_t) \ - (sizeof (arm_thread_state64_t)/sizeof(uint32_t))) -#define ARM_UNIFIED_THREAD_STATE_COUNT ((mach_msg_type_number_t) \ - (sizeof (arm_unified_thread_state_t)/sizeof(uint32_t))) - - -typedef _STRUCT_ARM_VFP_STATE arm_vfp_state_t; -typedef _STRUCT_ARM_NEON_STATE arm_neon_state_t; -typedef _STRUCT_ARM_NEON_STATE arm_neon_state32_t; -typedef _STRUCT_ARM_NEON_STATE64 arm_neon_state64_t; - -typedef _STRUCT_ARM_AMX_STATE_V1 arm_amx_state_v1_t; - -typedef _STRUCT_ARM_EXCEPTION_STATE arm_exception_state_t; -typedef _STRUCT_ARM_EXCEPTION_STATE arm_exception_state32_t; -typedef _STRUCT_ARM_EXCEPTION_STATE64 arm_exception_state64_t; - -typedef _STRUCT_ARM_DEBUG_STATE32 arm_debug_state32_t; -typedef _STRUCT_ARM_DEBUG_STATE64 arm_debug_state64_t; - -typedef _STRUCT_ARM_PAGEIN_STATE arm_pagein_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. - */ -#if defined(__arm__) -typedef _STRUCT_ARM_DEBUG_STATE arm_debug_state_t; -#elif defined(__arm64__) -typedef _STRUCT_ARM_LEGACY_DEBUG_STATE arm_debug_state_t; -#else /* defined(__arm__) */ -#error Undefined architecture -#endif /* defined(__arm__) */ - -#define ARM_VFP_STATE_COUNT ((mach_msg_type_number_t) \ - (sizeof (arm_vfp_state_t)/sizeof(uint32_t))) - -#define ARM_EXCEPTION_STATE_COUNT ((mach_msg_type_number_t) \ - (sizeof (arm_exception_state_t)/sizeof(uint32_t))) - -#define ARM_EXCEPTION_STATE64_COUNT ((mach_msg_type_number_t) \ - (sizeof (arm_exception_state64_t)/sizeof(uint32_t))) - -#define ARM_DEBUG_STATE_COUNT ((mach_msg_type_number_t) \ - (sizeof (arm_debug_state_t)/sizeof(uint32_t))) - -#define ARM_DEBUG_STATE32_COUNT ((mach_msg_type_number_t) \ - (sizeof (arm_debug_state32_t)/sizeof(uint32_t))) - -#define ARM_PAGEIN_STATE_COUNT ((mach_msg_type_number_t) \ - (sizeof (arm_pagein_state_t)/sizeof(uint32_t))) - -#define ARM_DEBUG_STATE64_COUNT ((mach_msg_type_number_t) \ - (sizeof (arm_debug_state64_t)/sizeof(uint32_t))) - -#define ARM_NEON_STATE_COUNT ((mach_msg_type_number_t) \ - (sizeof (arm_neon_state_t)/sizeof(uint32_t))) - -#define ARM_NEON_STATE64_COUNT ((mach_msg_type_number_t) \ - (sizeof (arm_neon_state64_t)/sizeof(uint32_t))) - -#define MACHINE_THREAD_STATE ARM_THREAD_STATE -#define MACHINE_THREAD_STATE_COUNT ARM_UNIFIED_THREAD_STATE_COUNT - - -struct arm_amx_state { - arm_state_hdr_t ash; - union { - arm_amx_state_v1_t as_v1; - } uas; -}; -#define as_v1 uas.as_v1 -typedef struct arm_amx_state arm_amx_state_t; - -#define ARM_AMX_STATE_V1_COUNT ((mach_msg_type_number_t) \ - (sizeof(arm_amx_state_v1_t)/sizeof(unsigned int))) - -#define ARM_AMX_STATE_COUNT ((mach_msg_type_number_t) \ - (sizeof(arm_amx_state_t)/sizeof(unsigned int))) - - -/* - * Largest state on this machine: - */ -#define THREAD_MACHINE_STATE_MAX THREAD_STATE_MAX - - -#endif /* _ARM_THREAD_STATUS_H_ */ \ No newline at end of file diff --git a/lib/libc/include/aarch64-macos.11-none/mach/arm/vm_param.h b/lib/libc/include/aarch64-macos.11-none/mach/arm/vm_param.h deleted file mode 100644 index 1738a03517..0000000000 --- a/lib/libc/include/aarch64-macos.11-none/mach/arm/vm_param.h +++ /dev/null @@ -1,107 +0,0 @@ -/* - * Copyright (c) 2007 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@ - */ -/* - * FILE_ID: vm_param.h - */ - -/* - * ARM machine dependent virtual memory parameters. - */ - -#ifndef _MACH_ARM_VM_PARAM_H_ -#define _MACH_ARM_VM_PARAM_H_ - - -#if !defined (KERNEL) && !defined (__ASSEMBLER__) -#include -#endif - -#define BYTE_SIZE 8 /* byte size in bits */ - - -#define PAGE_SHIFT vm_page_shift -#define PAGE_SIZE vm_page_size -#define PAGE_MASK vm_page_mask - -#define VM_PAGE_SIZE vm_page_size - -#define machine_ptob(x) ((x) << PAGE_SHIFT) - - -#define PAGE_MAX_SHIFT 14 -#define PAGE_MAX_SIZE (1 << PAGE_MAX_SHIFT) -#define PAGE_MAX_MASK (PAGE_MAX_SIZE-1) - -#define PAGE_MIN_SHIFT 12 -#define PAGE_MIN_SIZE (1 << PAGE_MIN_SHIFT) -#define PAGE_MIN_MASK (PAGE_MIN_SIZE-1) - -#define VM_MAX_PAGE_ADDRESS MACH_VM_MAX_ADDRESS - -#ifndef __ASSEMBLER__ - - -#if defined (__arm__) - -#define VM_MIN_ADDRESS ((vm_address_t) 0x00000000) -#define VM_MAX_ADDRESS ((vm_address_t) 0x80000000) - -/* system-wide values */ -#define MACH_VM_MIN_ADDRESS ((mach_vm_offset_t) 0) -#define MACH_VM_MAX_ADDRESS ((mach_vm_offset_t) VM_MAX_ADDRESS) - -#elif defined (__arm64__) - -#define VM_MIN_ADDRESS ((vm_address_t) 0x0000000000000000ULL) -#define VM_MAX_ADDRESS ((vm_address_t) 0x0000000080000000ULL) - -/* system-wide values */ -#define MACH_VM_MIN_ADDRESS_RAW 0x0ULL -#define MACH_VM_MAX_ADDRESS_RAW 0x00007FFFFE000000ULL - -#define MACH_VM_MIN_ADDRESS ((mach_vm_offset_t) MACH_VM_MIN_ADDRESS_RAW) -#define MACH_VM_MAX_ADDRESS ((mach_vm_offset_t) MACH_VM_MAX_ADDRESS_RAW) - -#define MACH_VM_MIN_GPU_CARVEOUT_ADDRESS_RAW 0x0000001000000000ULL -#define MACH_VM_MAX_GPU_CARVEOUT_ADDRESS_RAW 0x0000007000000000ULL -#define MACH_VM_MIN_GPU_CARVEOUT_ADDRESS ((mach_vm_offset_t) MACH_VM_MIN_GPU_CARVEOUT_ADDRESS_RAW) -#define MACH_VM_MAX_GPU_CARVEOUT_ADDRESS ((mach_vm_offset_t) MACH_VM_MAX_GPU_CARVEOUT_ADDRESS_RAW) - -#else /* defined(__arm64__) */ -#error architecture not supported -#endif - -#define VM_MAP_MIN_ADDRESS VM_MIN_ADDRESS -#define VM_MAP_MAX_ADDRESS VM_MAX_ADDRESS - - -#endif /* !__ASSEMBLER__ */ - -#define SWI_SYSCALL 0x80 - -#endif /* _MACH_ARM_VM_PARAM_H_ */ \ No newline at end of file diff --git a/lib/libc/include/aarch64-macos.11-none/mach/arm/vm_types.h b/lib/libc/include/aarch64-macos.11-none/mach/arm/vm_types.h deleted file mode 100644 index 6fcf262c24..0000000000 --- a/lib/libc/include/aarch64-macos.11-none/mach/arm/vm_types.h +++ /dev/null @@ -1,157 +0,0 @@ -/* - * Copyright (c) 2000-2007 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@ - */ -/* - * @OSF_COPYRIGHT@ - */ -/* - * Mach Operating System - * Copyright (c) 1991,1990,1989,1988 Carnegie Mellon University - * All Rights Reserved. - * - * Permission to use, copy, modify and distribute this software and its - * documentation is hereby granted, provided that both the copyright - * notice and this permission notice appear in all copies of the - * software, derivative works or modified versions, and any portions - * thereof, and that both notices appear in supporting documentation. - * - * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" - * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR - * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. - * - * Carnegie Mellon requests users of this software to return to - * - * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU - * School of Computer Science - * Carnegie Mellon University - * Pittsburgh PA 15213-3890 - * - * any improvements or extensions that they make and grant Carnegie Mellon - * the rights to redistribute these changes. - */ -/* - */ - -/* - * File: vm_types.h - * Author: Avadis Tevanian, Jr. - * Date: 1985 - * - * Header file for VM data types. ARM version. - */ - -#ifndef _MACH_ARM_VM_TYPES_H_ -#define _MACH_ARM_VM_TYPES_H_ - -#ifndef ASSEMBLER - -#include -#include -#include - -/* - * natural_t and integer_t are Mach's legacy types for machine- - * independent integer types (unsigned, and signed, respectively). - * Their original purpose was to define other types in a machine/ - * compiler independent way. - * - * They also had an implicit "same size as pointer" characteristic - * to them (i.e. Mach's traditional types are very ILP32 or ILP64 - * centric). We will likely support x86 ABIs that do not follow - * either ofthese models (specifically LP64). Therefore, we had to - * make a choice between making these types scale with pointers or stay - * tied to integers. Because their use is predominantly tied to - * to the size of an integer, we are keeping that association and - * breaking free from pointer size guarantees. - * - * New use of these types is discouraged. - */ -typedef __darwin_natural_t natural_t; -typedef int integer_t; - -/* - * A vm_offset_t is a type-neutral pointer, - * e.g. an offset into a virtual memory space. - */ -#ifdef __LP64__ -typedef uintptr_t vm_offset_t; -typedef uintptr_t vm_size_t; - -typedef uint64_t mach_vm_address_t; -typedef uint64_t mach_vm_offset_t; -typedef uint64_t mach_vm_size_t; - -typedef uint64_t vm_map_offset_t; -typedef uint64_t vm_map_address_t; -typedef uint64_t vm_map_size_t; -#else -typedef natural_t vm_offset_t; -/* - * A vm_size_t is the proper type for e.g. - * expressing the difference between two - * vm_offset_t entities. - */ -typedef natural_t vm_size_t; - -/* - * This new type is independent of a particular vm map's - * implementation size - and represents appropriate types - * for all possible maps. This is used for interfaces - * where the size of the map is not known - or we don't - * want to have to distinguish. - */ -#if defined(__IPHONE_OS_VERSION_MIN_REQUIRED) && (__IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_5_0) -typedef uint32_t mach_vm_address_t; -typedef uint32_t mach_vm_offset_t; -typedef uint32_t mach_vm_size_t; -#else -typedef uint64_t mach_vm_address_t; -typedef uint64_t mach_vm_offset_t; -typedef uint64_t mach_vm_size_t; -#endif - -typedef uint32_t vm_map_offset_t; -typedef uint32_t vm_map_address_t; -typedef uint32_t vm_map_size_t; -#endif /* __LP64__ */ - - -typedef uint32_t vm32_offset_t; -typedef uint32_t vm32_address_t; -typedef uint32_t vm32_size_t; - -typedef vm_offset_t mach_port_context_t; - - -#endif /* ASSEMBLER */ - -/* - * If composing messages by hand (please do not) - */ -#define MACH_MSG_TYPE_INTEGER_T MACH_MSG_TYPE_INTEGER_32 - -#endif /* _MACH_ARM_VM_TYPES_H_ */ \ No newline at end of file diff --git a/lib/libc/include/aarch64-macos.12-none/arm/_limits.h b/lib/libc/include/aarch64-macos.12-none/arm/_limits.h deleted file mode 100644 index 8cb2759402..0000000000 --- a/lib/libc/include/aarch64-macos.12-none/arm/_limits.h +++ /dev/null @@ -1,13 +0,0 @@ -/* - * Copyright (c) 2004-2007 Apple Inc. All rights reserved. - */ -#ifndef _ARM__LIMITS_H_ -#define _ARM__LIMITS_H_ - -#if defined (__arm__) || defined (__arm64__) - -#define __DARWIN_CLK_TCK 100 /* ticks per second */ - -#endif /* defined (__arm__) || defined (__arm64__) */ - -#endif /* _ARM__LIMITS_H_ */ \ No newline at end of file diff --git a/lib/libc/include/aarch64-macos.12-none/arm/_param.h b/lib/libc/include/aarch64-macos.12-none/arm/_param.h deleted file mode 100644 index 10b9edf2f3..0000000000 --- a/lib/libc/include/aarch64-macos.12-none/arm/_param.h +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright (c) 2006-2007 Apple Inc. All rights reserved. - */ - -#ifndef _ARM__PARAM_H_ -#define _ARM__PARAM_H_ - -#if defined (__arm__) || defined (__arm64__) - -#include - -/* - * Round p (pointer or byte index) up to a correctly-aligned value for all - * data types (int, long, ...). The result is unsigned int and must be - * cast to any desired pointer type. - */ -#define __DARWIN_ALIGNBYTES (sizeof(__darwin_size_t) - 1) -#define __DARWIN_ALIGN(p) ((__darwin_size_t)((__darwin_size_t)(p) + __DARWIN_ALIGNBYTES) &~ __DARWIN_ALIGNBYTES) - -#define __DARWIN_ALIGNBYTES32 (sizeof(__uint32_t) - 1) -#define __DARWIN_ALIGN32(p) ((__darwin_size_t)((__darwin_size_t)(p) + __DARWIN_ALIGNBYTES32) &~ __DARWIN_ALIGNBYTES32) - -#endif /* defined (__arm__) || defined (__arm64__) */ - -#endif /* _ARM__PARAM_H_ */ \ No newline at end of file diff --git a/lib/libc/include/aarch64-macos.12-none/arm/arch.h b/lib/libc/include/aarch64-macos.12-none/arm/arch.h deleted file mode 100644 index b8b25e55d3..0000000000 --- a/lib/libc/include/aarch64-macos.12-none/arm/arch.h +++ /dev/null @@ -1,71 +0,0 @@ -/* - * Copyright (c) 2007 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 _ARM_ARCH_H -#define _ARM_ARCH_H - -#if defined (__arm__) || defined (__arm64__) - -/* Collect the __ARM_ARCH_*__ compiler flags into something easier to use. */ -#if defined (__ARM_ARCH_7A__) || defined (__ARM_ARCH_7S__) || defined (__ARM_ARCH_7F__) || defined (__ARM_ARCH_7K__) -#define _ARM_ARCH_7 -#endif - -#if defined (_ARM_ARCH_7) || defined (__ARM_ARCH_6K__) || defined (__ARM_ARCH_6ZK__) -#define _ARM_ARCH_6K -#endif - -#if defined (_ARM_ARCH_7) || defined (__ARM_ARCH_6Z__) || defined (__ARM_ARCH_6ZK__) -#define _ARM_ARCH_6Z -#endif - -#if defined (__ARM_ARCH_6__) || defined (__ARM_ARCH_6J__) || \ - defined (_ARM_ARCH_6Z) || defined (_ARM_ARCH_6K) -#define _ARM_ARCH_6 -#endif - -#if defined (_ARM_ARCH_6) || defined (__ARM_ARCH_5E__) || \ - defined (__ARM_ARCH_5TE__) || defined (__ARM_ARCH_5TEJ__) -#define _ARM_ARCH_5E -#endif - -#if defined (_ARM_ARCH_5E) || defined (__ARM_ARCH_5__) || \ - defined (__ARM_ARCH_5T__) -#define _ARM_ARCH_5 -#endif - -#if defined (_ARM_ARCH_5) || defined (__ARM_ARCH_4T__) -#define _ARM_ARCH_4T -#endif - -#if defined (_ARM_ARCH_4T) || defined (__ARM_ARCH_4__) -#define _ARM_ARCH_4 -#endif - -#endif /* defined (__arm__) || defined (__arm64__) */ - -#endif \ No newline at end of file diff --git a/lib/libc/include/aarch64-macos.12-none/arm/limits.h b/lib/libc/include/aarch64-macos.12-none/arm/limits.h deleted file mode 100644 index 21de9a758b..0000000000 --- a/lib/libc/include/aarch64-macos.12-none/arm/limits.h +++ /dev/null @@ -1,114 +0,0 @@ -/* - * Copyright (c) 2000-2007 Apple Inc. All rights reserved. - */ -/* - * Copyright (c) 1988, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)limits.h 8.3 (Berkeley) 1/4/94 - */ - -#ifndef _ARM_LIMITS_H_ -#define _ARM_LIMITS_H_ - -#if defined (__arm__) || defined (__arm64__) - -#include -#include - -#define CHAR_BIT 8 /* number of bits in a char */ -#define MB_LEN_MAX 6 /* Allow 31 bit UTF2 */ - -#if !defined(_ANSI_SOURCE) && (!defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)) -#define CLK_TCK __DARWIN_CLK_TCK /* ticks per second */ -#endif /* !_ANSI_SOURCE && (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */ - -/* - * According to ANSI (section 2.2.4.2), the values below must be usable by - * #if preprocessing directives. Additionally, the expression must have the - * same type as would an expression that is an object of the corresponding - * type converted according to the integral promotions. The subtraction for - * INT_MIN and LONG_MIN is so the value is not unsigned; 2147483648 is an - * unsigned int for 32-bit two's complement ANSI compilers (section 3.1.3.2). - * These numbers work for pcc as well. The UINT_MAX and ULONG_MAX values - * are written as hex so that GCC will be quiet about large integer constants. - */ -#define SCHAR_MAX 127 /* min value for a signed char */ -#define SCHAR_MIN (-128) /* max value for a signed char */ - -#define UCHAR_MAX 255 /* max value for an unsigned char */ -#define CHAR_MAX 127 /* max value for a char */ -#define CHAR_MIN (-128) /* min value for a char */ - -#define USHRT_MAX 65535 /* max value for an unsigned short */ -#define SHRT_MAX 32767 /* max value for a short */ -#define SHRT_MIN (-32768) /* min value for a short */ - -#define UINT_MAX 0xffffffff /* max value for an unsigned int */ -#define INT_MAX 2147483647 /* max value for an int */ -#define INT_MIN (-2147483647-1) /* min value for an int */ - -#ifdef __LP64__ -#define ULONG_MAX 0xffffffffffffffffUL /* max unsigned long */ -#define LONG_MAX 0x7fffffffffffffffL /* max signed long */ -#define LONG_MIN (-0x7fffffffffffffffL-1) /* min signed long */ -#else /* !__LP64__ */ -#define ULONG_MAX 0xffffffffUL /* max unsigned long */ -#define LONG_MAX 2147483647L /* max signed long */ -#define LONG_MIN (-2147483647L-1) /* min signed long */ -#endif /* __LP64__ */ - -#define ULLONG_MAX 0xffffffffffffffffULL /* max unsigned long long */ -#define LLONG_MAX 0x7fffffffffffffffLL /* max signed long long */ -#define LLONG_MIN (-0x7fffffffffffffffLL-1) /* min signed long long */ - -#if !defined(_ANSI_SOURCE) -#ifdef __LP64__ -#define LONG_BIT 64 -#else /* !__LP64__ */ -#define LONG_BIT 32 -#endif /* __LP64__ */ -#define SSIZE_MAX LONG_MAX /* max value for a ssize_t */ -#define WORD_BIT 32 - -#if (!defined(_POSIX_C_SOURCE) && !defined(_XOPEN_SOURCE)) || defined(_DARWIN_C_SOURCE) -#define SIZE_T_MAX ULONG_MAX /* max value for a size_t */ - -#define UQUAD_MAX ULLONG_MAX -#define QUAD_MAX LLONG_MAX -#define QUAD_MIN LLONG_MIN - -#endif /* (!_POSIX_C_SOURCE && !_XOPEN_SOURCE) || _DARWIN_C_SOURCE */ -#endif /* !_ANSI_SOURCE */ - -#endif /* defined (__arm__) || defined (__arm64__) */ - -#endif /* _ARM_LIMITS_H_ */ \ No newline at end of file diff --git a/lib/libc/include/aarch64-macos.12-none/arm/signal.h b/lib/libc/include/aarch64-macos.12-none/arm/signal.h deleted file mode 100644 index 4a8b96b383..0000000000 --- a/lib/libc/include/aarch64-macos.12-none/arm/signal.h +++ /dev/null @@ -1,22 +0,0 @@ -/* - * Copyright (c) 2000-2009 Apple, Inc. All rights reserved. - */ -/* - * Copyright (c) 1992 NeXT Computer, Inc. - * - */ - -#ifndef _ARM_SIGNAL_ -#define _ARM_SIGNAL_ 1 - -#if defined (__arm__) || defined (__arm64__) - -#include - -#ifndef _ANSI_SOURCE -typedef int sig_atomic_t; -#endif /* ! _ANSI_SOURCE */ - -#endif /* defined (__arm__) || defined (__arm64__) */ - -#endif /* _ARM_SIGNAL_ */ \ No newline at end of file diff --git a/lib/libc/include/aarch64-macos.12-none/libkern/OSAtomic.h b/lib/libc/include/aarch64-macos.12-none/libkern/OSAtomic.h deleted file mode 100644 index 37ef16ce44..0000000000 --- a/lib/libc/include/aarch64-macos.12-none/libkern/OSAtomic.h +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Copyright (c) 2004-2016 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 _OSATOMIC_H_ -#define _OSATOMIC_H_ - -/*! @header - * These are deprecated legacy interfaces for atomic and synchronization - * operations. - * - * Define OSATOMIC_USE_INLINED=1 to get inline implementations of the - * OSAtomic interfaces in terms of the primitives. - * - * Define OSSPINLOCK_USE_INLINED=1 to get inline implementations of the - * OSSpinLock interfaces in terms of the primitives. - * - * These are intended as a transition convenience, direct use of those - * primitives should be preferred. - */ - -#include - -#include "OSAtomicDeprecated.h" -#include "OSSpinLockDeprecated.h" -#include "OSAtomicQueue.h" - -#endif /* _OSATOMIC_H_ */ \ No newline at end of file diff --git a/lib/libc/include/aarch64-macos.12-none/libkern/OSAtomicDeprecated.h b/lib/libc/include/aarch64-macos.12-none/libkern/OSAtomicDeprecated.h deleted file mode 100644 index 6dc880b0d4..0000000000 --- a/lib/libc/include/aarch64-macos.12-none/libkern/OSAtomicDeprecated.h +++ /dev/null @@ -1,1266 +0,0 @@ -/* - * Copyright (c) 2004-2016 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 _OSATOMIC_DEPRECATED_H_ -#define _OSATOMIC_DEPRECATED_H_ - -/*! @header - * These are deprecated legacy interfaces for atomic operations. - * The C11 interfaces in resp. C++11 interfaces in - * should be used instead. - * - * Define OSATOMIC_USE_INLINED=1 to get inline implementations of these - * interfaces in terms of the resp. primitives. - * This is intended as a transition convenience, direct use of those primitives - * is preferred. - */ - -#include - -#if !(defined(OSATOMIC_USE_INLINED) && OSATOMIC_USE_INLINED) - -#include -#include -#include -#include - -#ifndef OSATOMIC_DEPRECATED -#define OSATOMIC_DEPRECATED 1 -#ifndef __cplusplus -#define OSATOMIC_BARRIER_DEPRECATED_MSG(_r) \ - "Use " #_r "() from instead" -#define OSATOMIC_DEPRECATED_MSG(_r) \ - "Use " #_r "_explicit(memory_order_relaxed) from instead" -#else -#define OSATOMIC_BARRIER_DEPRECATED_MSG(_r) \ - "Use std::" #_r "() from instead" -#define OSATOMIC_DEPRECATED_MSG(_r) \ - "Use std::" #_r "_explicit(std::memory_order_relaxed) from instead" -#endif -#define OSATOMIC_BARRIER_DEPRECATED_REPLACE_WITH(_r) \ - __OS_AVAILABILITY_MSG(macosx, deprecated=10.12, OSATOMIC_BARRIER_DEPRECATED_MSG(_r)) \ - __OS_AVAILABILITY_MSG(ios, deprecated=10.0, OSATOMIC_BARRIER_DEPRECATED_MSG(_r)) \ - __OS_AVAILABILITY_MSG(tvos, deprecated=10.0, OSATOMIC_BARRIER_DEPRECATED_MSG(_r)) \ - __OS_AVAILABILITY_MSG(watchos, deprecated=3.0, OSATOMIC_BARRIER_DEPRECATED_MSG(_r)) -#define OSATOMIC_DEPRECATED_REPLACE_WITH(_r) \ - __OS_AVAILABILITY_MSG(macosx, deprecated=10.12, OSATOMIC_DEPRECATED_MSG(_r)) \ - __OS_AVAILABILITY_MSG(ios, deprecated=10.0, OSATOMIC_DEPRECATED_MSG(_r)) \ - __OS_AVAILABILITY_MSG(tvos, deprecated=10.0, OSATOMIC_DEPRECATED_MSG(_r)) \ - __OS_AVAILABILITY_MSG(watchos, deprecated=3.0, OSATOMIC_DEPRECATED_MSG(_r)) -#else -#undef OSATOMIC_DEPRECATED -#define OSATOMIC_DEPRECATED 0 -#define OSATOMIC_BARRIER_DEPRECATED_REPLACE_WITH(_r) -#define OSATOMIC_DEPRECATED_REPLACE_WITH(_r) -#endif - -/* - * WARNING: all addresses passed to these functions must be "naturally aligned", - * i.e. int32_t pointers must be 32-bit aligned (low 2 bits of - * address are zeroes), and int64_t pointers must be 64-bit - * aligned (low 3 bits of address are zeroes.). - * Note that this is not the default alignment of the int64_t type - * in the iOS ARMv7 ABI, see - * {@link //apple_ref/doc/uid/TP40009021-SW8 iPhoneOSABIReference} - * - * Note that some versions of the atomic functions incorporate memory barriers - * and some do not. Barriers strictly order memory access on weakly-ordered - * architectures such as ARM. All loads and stores that appear (in sequential - * program order) before the barrier are guaranteed to complete before any - * load or store that appears after the barrier. - * - * The barrier operation is typically a no-op on uniprocessor systems and - * fully enabled on multiprocessor systems. On some platforms, such as ARM, - * the barrier can be quite expensive. - * - * Most code should use the barrier functions to ensure that memory shared - * between threads is properly synchronized. For example, if you want to - * initialize a shared data structure and then atomically increment a variable - * to indicate that the initialization is complete, you must use - * {@link OSAtomicIncrement32Barrier} to ensure that the stores to your data - * structure complete before the atomic increment. - * - * Likewise, the consumer of that data structure must use - * {@link OSAtomicDecrement32Barrier}, - * in order to ensure that their loads of the structure are not executed before - * the atomic decrement. On the other hand, if you are simply incrementing a - * global counter, then it is safe and potentially faster to use - * {@link OSAtomicIncrement32}. - * - * If you are unsure which version to use, prefer the barrier variants as they - * are safer. - * - * For the kernel-space version of this header, see - * {@link //apple_ref/doc/header/OSAtomic.h OSAtomic.h (Kernel Framework)} - * - * @apiuid //apple_ref/doc/header/user_space_OSAtomic.h - */ - -__BEGIN_DECLS - -/*! @typedef OSAtomic_int64_aligned64_t - * 64-bit aligned int64_t type. - * Use for variables whose addresses are passed to OSAtomic*64() functions to - * get the compiler to generate the required alignment. - */ - -#if __has_attribute(aligned) -typedef int64_t __attribute__((__aligned__((sizeof(int64_t))))) - OSAtomic_int64_aligned64_t; -#else -typedef int64_t OSAtomic_int64_aligned64_t; -#endif - -/*! @group Arithmetic functions - All functions in this group return the new value. - */ - -/*! @abstract Atomically adds two 32-bit values. - @discussion - This function adds the value given by __theAmount to the - value in the memory location referenced by __theValue, - storing the result back to that memory location atomically. - @result Returns the new value. - */ -OSATOMIC_DEPRECATED_REPLACE_WITH(atomic_fetch_add) -__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0) -int32_t OSAtomicAdd32( int32_t __theAmount, volatile int32_t *__theValue ); - - -/*! @abstract Atomically adds two 32-bit values. - @discussion - This function adds the value given by __theAmount to the - value in the memory location referenced by __theValue, - storing the result back to that memory location atomically. - - This function is equivalent to {@link OSAtomicAdd32} - except that it also introduces a barrier. - @result Returns the new value. - */ -OSATOMIC_BARRIER_DEPRECATED_REPLACE_WITH(atomic_fetch_add) -__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0) -int32_t OSAtomicAdd32Barrier( int32_t __theAmount, volatile int32_t *__theValue ); - - -#if __MAC_OS_X_VERSION_MIN_REQUIRED >= __MAC_10_10 || __IPHONE_OS_VERSION_MIN_REQUIRED >= __IPHONE_7_1 || TARGET_OS_DRIVERKIT - -/*! @abstract Atomically increments a 32-bit value. - @result Returns the new value. - */ -OSATOMIC_DEPRECATED_REPLACE_WITH(atomic_fetch_add) -__OSX_AVAILABLE_STARTING(__MAC_10_10, __IPHONE_7_1) -int32_t OSAtomicIncrement32( volatile int32_t *__theValue ); - - -/*! @abstract Atomically increments a 32-bit value with a barrier. - @discussion - This function is equivalent to {@link OSAtomicIncrement32} - except that it also introduces a barrier. - @result Returns the new value. - */ -OSATOMIC_BARRIER_DEPRECATED_REPLACE_WITH(atomic_fetch_add) -__OSX_AVAILABLE_STARTING(__MAC_10_10, __IPHONE_7_1) -int32_t OSAtomicIncrement32Barrier( volatile int32_t *__theValue ); - - -/*! @abstract Atomically decrements a 32-bit value. - @result Returns the new value. - */ -OSATOMIC_DEPRECATED_REPLACE_WITH(atomic_fetch_sub) -__OSX_AVAILABLE_STARTING(__MAC_10_10, __IPHONE_7_1) -int32_t OSAtomicDecrement32( volatile int32_t *__theValue ); - - -/*! @abstract Atomically decrements a 32-bit value with a barrier. - @discussion - This function is equivalent to {@link OSAtomicDecrement32} - except that it also introduces a barrier. - @result Returns the new value. - */ -OSATOMIC_BARRIER_DEPRECATED_REPLACE_WITH(atomic_fetch_sub) -__OSX_AVAILABLE_STARTING(__MAC_10_10, __IPHONE_7_1) -int32_t OSAtomicDecrement32Barrier( volatile int32_t *__theValue ); - -#else -__inline static -int32_t OSAtomicIncrement32( volatile int32_t *__theValue ) - { return OSAtomicAdd32( 1, __theValue); } - -__inline static -int32_t OSAtomicIncrement32Barrier( volatile int32_t *__theValue ) - { return OSAtomicAdd32Barrier( 1, __theValue); } - -__inline static -int32_t OSAtomicDecrement32( volatile int32_t *__theValue ) - { return OSAtomicAdd32( -1, __theValue); } - -__inline static -int32_t OSAtomicDecrement32Barrier( volatile int32_t *__theValue ) - { return OSAtomicAdd32Barrier( -1, __theValue); } -#endif - - -/*! @abstract Atomically adds two 64-bit values. - @discussion - This function adds the value given by __theAmount to the - value in the memory location referenced by __theValue, - storing the result back to that memory location atomically. - @result Returns the new value. - */ -OSATOMIC_DEPRECATED_REPLACE_WITH(atomic_fetch_add) -__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0) -int64_t OSAtomicAdd64( int64_t __theAmount, - volatile OSAtomic_int64_aligned64_t *__theValue ); - - -/*! @abstract Atomically adds two 64-bit values with a barrier. - @discussion - This function adds the value given by __theAmount to the - value in the memory location referenced by __theValue, - storing the result back to that memory location atomically. - - This function is equivalent to {@link OSAtomicAdd64} - except that it also introduces a barrier. - @result Returns the new value. - */ -OSATOMIC_BARRIER_DEPRECATED_REPLACE_WITH(atomic_fetch_add) -__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_3_2) -int64_t OSAtomicAdd64Barrier( int64_t __theAmount, - volatile OSAtomic_int64_aligned64_t *__theValue ); - - -#if __MAC_OS_X_VERSION_MIN_REQUIRED >= __MAC_10_10 || __IPHONE_OS_VERSION_MIN_REQUIRED >= __IPHONE_7_1 || TARGET_OS_DRIVERKIT - -/*! @abstract Atomically increments a 64-bit value. - @result Returns the new value. - */ -OSATOMIC_DEPRECATED_REPLACE_WITH(atomic_fetch_add) -__OSX_AVAILABLE_STARTING(__MAC_10_10, __IPHONE_7_1) -int64_t OSAtomicIncrement64( volatile OSAtomic_int64_aligned64_t *__theValue ); - - -/*! @abstract Atomically increments a 64-bit value with a barrier. - @discussion - This function is equivalent to {@link OSAtomicIncrement64} - except that it also introduces a barrier. - @result Returns the new value. - */ -OSATOMIC_BARRIER_DEPRECATED_REPLACE_WITH(atomic_fetch_add) -__OSX_AVAILABLE_STARTING(__MAC_10_10, __IPHONE_7_1) -int64_t OSAtomicIncrement64Barrier( volatile OSAtomic_int64_aligned64_t *__theValue ); - - -/*! @abstract Atomically decrements a 64-bit value. - @result Returns the new value. - */ -OSATOMIC_DEPRECATED_REPLACE_WITH(atomic_fetch_sub) -__OSX_AVAILABLE_STARTING(__MAC_10_10, __IPHONE_7_1) -int64_t OSAtomicDecrement64( volatile OSAtomic_int64_aligned64_t *__theValue ); - - -/*! @abstract Atomically decrements a 64-bit value with a barrier. - @discussion - This function is equivalent to {@link OSAtomicDecrement64} - except that it also introduces a barrier. - @result Returns the new value. - */ -OSATOMIC_BARRIER_DEPRECATED_REPLACE_WITH(atomic_fetch_sub) -__OSX_AVAILABLE_STARTING(__MAC_10_10, __IPHONE_7_1) -int64_t OSAtomicDecrement64Barrier( volatile OSAtomic_int64_aligned64_t *__theValue ); - -#else -__inline static -int64_t OSAtomicIncrement64( volatile OSAtomic_int64_aligned64_t *__theValue ) - { return OSAtomicAdd64( 1, __theValue); } - -__inline static -int64_t OSAtomicIncrement64Barrier( volatile OSAtomic_int64_aligned64_t *__theValue ) - { return OSAtomicAdd64Barrier( 1, __theValue); } - -__inline static -int64_t OSAtomicDecrement64( volatile OSAtomic_int64_aligned64_t *__theValue ) - { return OSAtomicAdd64( -1, __theValue); } - -__inline static -int64_t OSAtomicDecrement64Barrier( volatile OSAtomic_int64_aligned64_t *__theValue ) - { return OSAtomicAdd64Barrier( -1, __theValue); } -#endif - - -/*! @group Boolean functions (AND, OR, XOR) - * - * @discussion Functions in this group come in four variants for each operation: - * with and without barriers, and functions that return the original value or - * the result value of the operation. - * - * The "Orig" versions return the original value, (before the operation); the non-Orig - * versions return the value after the operation. All are layered on top of - * {@link OSAtomicCompareAndSwap32} and similar. - */ - -/*! @abstract Atomic bitwise OR of two 32-bit values. - @discussion - This function performs the bitwise OR of the value given by __theMask - with the value in the memory location referenced by __theValue, - storing the result back to that memory location atomically. - @result Returns the new value. - */ -OSATOMIC_DEPRECATED_REPLACE_WITH(atomic_fetch_or) -__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0) -int32_t OSAtomicOr32( uint32_t __theMask, volatile uint32_t *__theValue ); - - -/*! @abstract Atomic bitwise OR of two 32-bit values with barrier. - @discussion - This function performs the bitwise OR of the value given by __theMask - with the value in the memory location referenced by __theValue, - storing the result back to that memory location atomically. - - This function is equivalent to {@link OSAtomicOr32} - except that it also introduces a barrier. - @result Returns the new value. - */ -OSATOMIC_BARRIER_DEPRECATED_REPLACE_WITH(atomic_fetch_or) -__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0) -int32_t OSAtomicOr32Barrier( uint32_t __theMask, volatile uint32_t *__theValue ); - - -/*! @abstract Atomic bitwise OR of two 32-bit values returning original. - @discussion - This function performs the bitwise OR of the value given by __theMask - with the value in the memory location referenced by __theValue, - storing the result back to that memory location atomically. - @result Returns the original value referenced by __theValue. - */ -OSATOMIC_DEPRECATED_REPLACE_WITH(atomic_fetch_or) -__OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_3_2) -int32_t OSAtomicOr32Orig( uint32_t __theMask, volatile uint32_t *__theValue ); - - -/*! @abstract Atomic bitwise OR of two 32-bit values returning original with barrier. - @discussion - This function performs the bitwise OR of the value given by __theMask - with the value in the memory location referenced by __theValue, - storing the result back to that memory location atomically. - - This function is equivalent to {@link OSAtomicOr32Orig} - except that it also introduces a barrier. - @result Returns the original value referenced by __theValue. - */ -OSATOMIC_BARRIER_DEPRECATED_REPLACE_WITH(atomic_fetch_or) -__OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_3_2) -int32_t OSAtomicOr32OrigBarrier( uint32_t __theMask, volatile uint32_t *__theValue ); - - - - -/*! @abstract Atomic bitwise AND of two 32-bit values. - @discussion - This function performs the bitwise AND of the value given by __theMask - with the value in the memory location referenced by __theValue, - storing the result back to that memory location atomically. - @result Returns the new value. - */ -OSATOMIC_DEPRECATED_REPLACE_WITH(atomic_fetch_and) -__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0) -int32_t OSAtomicAnd32( uint32_t __theMask, volatile uint32_t *__theValue ); - - -/*! @abstract Atomic bitwise AND of two 32-bit values with barrier. - @discussion - This function performs the bitwise AND of the value given by __theMask - with the value in the memory location referenced by __theValue, - storing the result back to that memory location atomically. - - This function is equivalent to {@link OSAtomicAnd32} - except that it also introduces a barrier. - @result Returns the new value. - */ -OSATOMIC_BARRIER_DEPRECATED_REPLACE_WITH(atomic_fetch_and) -__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0) -int32_t OSAtomicAnd32Barrier( uint32_t __theMask, volatile uint32_t *__theValue ); - - -/*! @abstract Atomic bitwise AND of two 32-bit values returning original. - @discussion - This function performs the bitwise AND of the value given by __theMask - with the value in the memory location referenced by __theValue, - storing the result back to that memory location atomically. - @result Returns the original value referenced by __theValue. - */ -OSATOMIC_DEPRECATED_REPLACE_WITH(atomic_fetch_and) -__OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_3_2) -int32_t OSAtomicAnd32Orig( uint32_t __theMask, volatile uint32_t *__theValue ); - - -/*! @abstract Atomic bitwise AND of two 32-bit values returning original with barrier. - @discussion - This function performs the bitwise AND of the value given by __theMask - with the value in the memory location referenced by __theValue, - storing the result back to that memory location atomically. - - This function is equivalent to {@link OSAtomicAnd32Orig} - except that it also introduces a barrier. - @result Returns the original value referenced by __theValue. - */ -OSATOMIC_BARRIER_DEPRECATED_REPLACE_WITH(atomic_fetch_and) -__OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_3_2) -int32_t OSAtomicAnd32OrigBarrier( uint32_t __theMask, volatile uint32_t *__theValue ); - - - - -/*! @abstract Atomic bitwise XOR of two 32-bit values. - @discussion - This function performs the bitwise XOR of the value given by __theMask - with the value in the memory location referenced by __theValue, - storing the result back to that memory location atomically. - @result Returns the new value. - */ -OSATOMIC_DEPRECATED_REPLACE_WITH(atomic_fetch_xor) -__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0) -int32_t OSAtomicXor32( uint32_t __theMask, volatile uint32_t *__theValue ); - - -/*! @abstract Atomic bitwise XOR of two 32-bit values with barrier. - @discussion - This function performs the bitwise XOR of the value given by __theMask - with the value in the memory location referenced by __theValue, - storing the result back to that memory location atomically. - - This function is equivalent to {@link OSAtomicXor32} - except that it also introduces a barrier. - @result Returns the new value. - */ -OSATOMIC_BARRIER_DEPRECATED_REPLACE_WITH(atomic_fetch_xor) -__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0) -int32_t OSAtomicXor32Barrier( uint32_t __theMask, volatile uint32_t *__theValue ); - - -/*! @abstract Atomic bitwise XOR of two 32-bit values returning original. - @discussion - This function performs the bitwise XOR of the value given by __theMask - with the value in the memory location referenced by __theValue, - storing the result back to that memory location atomically. - @result Returns the original value referenced by __theValue. - */ -OSATOMIC_DEPRECATED_REPLACE_WITH(atomic_fetch_xor) -__OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_3_2) -int32_t OSAtomicXor32Orig( uint32_t __theMask, volatile uint32_t *__theValue ); - - -/*! @abstract Atomic bitwise XOR of two 32-bit values returning original with barrier. - @discussion - This function performs the bitwise XOR of the value given by __theMask - with the value in the memory location referenced by __theValue, - storing the result back to that memory location atomically. - - This function is equivalent to {@link OSAtomicXor32Orig} - except that it also introduces a barrier. - @result Returns the original value referenced by __theValue. - */ -OSATOMIC_BARRIER_DEPRECATED_REPLACE_WITH(atomic_fetch_xor) -__OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_3_2) -int32_t OSAtomicXor32OrigBarrier( uint32_t __theMask, volatile uint32_t *__theValue ); - - -/*! @group Compare and swap - * Functions in this group return true if the swap occured. There are several versions, - * depending on data type and on whether or not a barrier is used. - */ - - -/*! @abstract Compare and swap for 32-bit values. - @discussion - This function compares the value in __oldValue to the value - in the memory location referenced by __theValue. If the values - match, this function stores the value from __newValue into - that memory location atomically. - @result Returns TRUE on a match, FALSE otherwise. - */ -OSATOMIC_DEPRECATED_REPLACE_WITH(atomic_compare_exchange_strong) -__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0) -bool OSAtomicCompareAndSwap32( int32_t __oldValue, int32_t __newValue, volatile int32_t *__theValue ); - - -/*! @abstract Compare and swap for 32-bit values with barrier. - @discussion - This function compares the value in __oldValue to the value - in the memory location referenced by __theValue. If the values - match, this function stores the value from __newValue into - that memory location atomically. - - This function is equivalent to {@link OSAtomicCompareAndSwap32} - except that it also introduces a barrier. - @result Returns TRUE on a match, FALSE otherwise. - */ -OSATOMIC_BARRIER_DEPRECATED_REPLACE_WITH(atomic_compare_exchange_strong) -__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0) -bool OSAtomicCompareAndSwap32Barrier( int32_t __oldValue, int32_t __newValue, volatile int32_t *__theValue ); - - -/*! @abstract Compare and swap pointers. - @discussion - This function compares the pointer stored in __oldValue to the pointer - in the memory location referenced by __theValue. If the pointers - match, this function stores the pointer from __newValue into - that memory location atomically. - @result Returns TRUE on a match, FALSE otherwise. - */ -OSATOMIC_DEPRECATED_REPLACE_WITH(atomic_compare_exchange_strong) -__OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_2_0) -bool OSAtomicCompareAndSwapPtr( void *__oldValue, void *__newValue, void * volatile *__theValue ); - - -/*! @abstract Compare and swap pointers with barrier. - @discussion - This function compares the pointer stored in __oldValue to the pointer - in the memory location referenced by __theValue. If the pointers - match, this function stores the pointer from __newValue into - that memory location atomically. - - This function is equivalent to {@link OSAtomicCompareAndSwapPtr} - except that it also introduces a barrier. - @result Returns TRUE on a match, FALSE otherwise. - */ -OSATOMIC_BARRIER_DEPRECATED_REPLACE_WITH(atomic_compare_exchange_strong) -__OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_2_0) -bool OSAtomicCompareAndSwapPtrBarrier( void *__oldValue, void *__newValue, void * volatile *__theValue ); - - -/*! @abstract Compare and swap for int values. - @discussion - This function compares the value in __oldValue to the value - in the memory location referenced by __theValue. If the values - match, this function stores the value from __newValue into - that memory location atomically. - - This function is equivalent to {@link OSAtomicCompareAndSwap32}. - @result Returns TRUE on a match, FALSE otherwise. - */ -OSATOMIC_DEPRECATED_REPLACE_WITH(atomic_compare_exchange_strong) -__OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_2_0) -bool OSAtomicCompareAndSwapInt( int __oldValue, int __newValue, volatile int *__theValue ); - - -/*! @abstract Compare and swap for int values. - @discussion - This function compares the value in __oldValue to the value - in the memory location referenced by __theValue. If the values - match, this function stores the value from __newValue into - that memory location atomically. - - This function is equivalent to {@link OSAtomicCompareAndSwapInt} - except that it also introduces a barrier. - - This function is equivalent to {@link OSAtomicCompareAndSwap32Barrier}. - @result Returns TRUE on a match, FALSE otherwise. - */ -OSATOMIC_BARRIER_DEPRECATED_REPLACE_WITH(atomic_compare_exchange_strong) -__OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_2_0) -bool OSAtomicCompareAndSwapIntBarrier( int __oldValue, int __newValue, volatile int *__theValue ); - - -/*! @abstract Compare and swap for long values. - @discussion - This function compares the value in __oldValue to the value - in the memory location referenced by __theValue. If the values - match, this function stores the value from __newValue into - that memory location atomically. - - This function is equivalent to {@link OSAtomicCompareAndSwap32} on 32-bit architectures, - or {@link OSAtomicCompareAndSwap64} on 64-bit architectures. - @result Returns TRUE on a match, FALSE otherwise. - */ -OSATOMIC_DEPRECATED_REPLACE_WITH(atomic_compare_exchange_strong) -__OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_2_0) -bool OSAtomicCompareAndSwapLong( long __oldValue, long __newValue, volatile long *__theValue ); - - -/*! @abstract Compare and swap for long values. - @discussion - This function compares the value in __oldValue to the value - in the memory location referenced by __theValue. If the values - match, this function stores the value from __newValue into - that memory location atomically. - - This function is equivalent to {@link OSAtomicCompareAndSwapLong} - except that it also introduces a barrier. - - This function is equivalent to {@link OSAtomicCompareAndSwap32} on 32-bit architectures, - or {@link OSAtomicCompareAndSwap64} on 64-bit architectures. - @result Returns TRUE on a match, FALSE otherwise. - */ -OSATOMIC_BARRIER_DEPRECATED_REPLACE_WITH(atomic_compare_exchange_strong) -__OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_2_0) -bool OSAtomicCompareAndSwapLongBarrier( long __oldValue, long __newValue, volatile long *__theValue ); - - -/*! @abstract Compare and swap for uint64_t values. - @discussion - This function compares the value in __oldValue to the value - in the memory location referenced by __theValue. If the values - match, this function stores the value from __newValue into - that memory location atomically. - @result Returns TRUE on a match, FALSE otherwise. - */ -OSATOMIC_DEPRECATED_REPLACE_WITH(atomic_compare_exchange_strong) -__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0) -bool OSAtomicCompareAndSwap64( int64_t __oldValue, int64_t __newValue, - volatile OSAtomic_int64_aligned64_t *__theValue ); - - -/*! @abstract Compare and swap for uint64_t values. - @discussion - This function compares the value in __oldValue to the value - in the memory location referenced by __theValue. If the values - match, this function stores the value from __newValue into - that memory location atomically. - - This function is equivalent to {@link OSAtomicCompareAndSwap64} - except that it also introduces a barrier. - @result Returns TRUE on a match, FALSE otherwise. - */ -OSATOMIC_BARRIER_DEPRECATED_REPLACE_WITH(atomic_compare_exchange_strong) -__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_3_2) -bool OSAtomicCompareAndSwap64Barrier( int64_t __oldValue, int64_t __newValue, - volatile OSAtomic_int64_aligned64_t *__theValue ); - - -/* Test and set. - * They return the original value of the bit, and operate on bit (0x80>>(n&7)) - * in byte ((char*)theAddress + (n>>3)). - */ -/*! @abstract Atomic test and set - @discussion - This function tests a bit in the value referenced by - __theAddress and if it is not set, sets it. - - The bit is chosen by the value of __n such that the - operation will be performed on bit (0x80 >> (__n & 7)) - of byte ((char *)__theAddress + (n >> 3)). - - For example, if __theAddress points to a 64-bit value, - to compare the value of the most significant bit, you would specify - 56 for __n. - @result - Returns the original value of the bit being tested. - */ -OSATOMIC_DEPRECATED_REPLACE_WITH(atomic_fetch_or) -__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0) -bool OSAtomicTestAndSet( uint32_t __n, volatile void *__theAddress ); - - -/*! @abstract Atomic test and set with barrier - @discussion - This function tests a bit in the value referenced by __theAddress - and if it is not set, sets it. - - The bit is chosen by the value of __n such that the - operation will be performed on bit (0x80 >> (__n & 7)) - of byte ((char *)__theAddress + (n >> 3)). - - For example, if __theAddress points to a 64-bit value, - to compare the value of the most significant bit, you would specify - 56 for __n. - - This function is equivalent to {@link OSAtomicTestAndSet} - except that it also introduces a barrier. - @result - Returns the original value of the bit being tested. - */ -OSATOMIC_BARRIER_DEPRECATED_REPLACE_WITH(atomic_fetch_or) -__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0) -bool OSAtomicTestAndSetBarrier( uint32_t __n, volatile void *__theAddress ); - - - -/*! @abstract Atomic test and clear - @discussion - This function tests a bit in the value referenced by __theAddress - and if it is not cleared, clears it. - - The bit is chosen by the value of __n such that the - operation will be performed on bit (0x80 >> (__n & 7)) - of byte ((char *)__theAddress + (n >> 3)). - - For example, if __theAddress points to a 64-bit value, - to compare the value of the most significant bit, you would specify - 56 for __n. - - @result - Returns the original value of the bit being tested. - */ -OSATOMIC_DEPRECATED_REPLACE_WITH(atomic_fetch_and) -__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0) -bool OSAtomicTestAndClear( uint32_t __n, volatile void *__theAddress ); - - -/*! @abstract Atomic test and clear - @discussion - This function tests a bit in the value referenced by __theAddress - and if it is not cleared, clears it. - - The bit is chosen by the value of __n such that the - operation will be performed on bit (0x80 >> (__n & 7)) - of byte ((char *)__theAddress + (n >> 3)). - - For example, if __theAddress points to a 64-bit value, - to compare the value of the most significant bit, you would specify - 56 for __n. - - This function is equivalent to {@link OSAtomicTestAndSet} - except that it also introduces a barrier. - @result - Returns the original value of the bit being tested. - */ -OSATOMIC_BARRIER_DEPRECATED_REPLACE_WITH(atomic_fetch_and) -__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0) -bool OSAtomicTestAndClearBarrier( uint32_t __n, volatile void *__theAddress ); - - -/*! @group Memory barriers */ - -/*! @abstract Memory barrier. - @discussion - This function serves as both a read and write barrier. - */ -OSATOMIC_BARRIER_DEPRECATED_REPLACE_WITH(atomic_thread_fence) -__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0) -void OSMemoryBarrier( void ); - -__END_DECLS - -#else // defined(OSATOMIC_USE_INLINED) && OSATOMIC_USE_INLINED - -/* - * Inline implementations of the legacy OSAtomic interfaces in terms of - * C11 resp. C++11 primitives. - * Direct use of those primitives is preferred. - */ - -#include - -#include -#include -#include - -#ifdef __cplusplus -extern "C++" { -#if !(__has_include() && __has_extension(cxx_atomic)) -#error Cannot use inlined OSAtomic without and C++11 atomics -#endif -#include -typedef std::atomic _OSAtomic_uint8_t; -typedef std::atomic _OSAtomic_int32_t; -typedef std::atomic _OSAtomic_uint32_t; -typedef std::atomic _OSAtomic_int64_t; -typedef std::atomic _OSAtomic_void_ptr_t; -#define OSATOMIC_STD(_a) std::_a -__BEGIN_DECLS -#else -#if !(__has_include() && __has_extension(c_atomic)) -#error Cannot use inlined OSAtomic without and C11 atomics -#endif -#include -typedef _Atomic(uint8_t) _OSAtomic_uint8_t; -typedef _Atomic(int32_t) _OSAtomic_int32_t; -typedef _Atomic(uint32_t) _OSAtomic_uint32_t; -typedef _Atomic(int64_t) _OSAtomic_int64_t; -typedef _Atomic(void*) _OSAtomic_void_ptr_t; -#define OSATOMIC_STD(_a) _a -#endif - -#if __has_extension(c_alignof) && __has_attribute(aligned) -typedef int64_t __attribute__((__aligned__(_Alignof(_OSAtomic_int64_t)))) - OSAtomic_int64_aligned64_t; -#elif __has_attribute(aligned) -typedef int64_t __attribute__((__aligned__((sizeof(_OSAtomic_int64_t))))) - OSAtomic_int64_aligned64_t; -#else -typedef int64_t OSAtomic_int64_aligned64_t; -#endif - -#if __has_attribute(always_inline) -#define OSATOMIC_INLINE static __inline __attribute__((__always_inline__)) -#else -#define OSATOMIC_INLINE static __inline -#endif - -OSATOMIC_INLINE -int32_t -OSAtomicAdd32(int32_t __theAmount, volatile int32_t *__theValue) -{ - return (OSATOMIC_STD(atomic_fetch_add_explicit)( - (volatile _OSAtomic_int32_t*) __theValue, __theAmount, - OSATOMIC_STD(memory_order_relaxed)) + __theAmount); -} - -OSATOMIC_INLINE -int32_t -OSAtomicAdd32Barrier(int32_t __theAmount, volatile int32_t *__theValue) -{ - return (OSATOMIC_STD(atomic_fetch_add_explicit)( - (volatile _OSAtomic_int32_t*) __theValue, __theAmount, - OSATOMIC_STD(memory_order_seq_cst)) + __theAmount); -} - -OSATOMIC_INLINE -int32_t -OSAtomicIncrement32(volatile int32_t *__theValue) -{ - return OSAtomicAdd32(1, __theValue); -} - -OSATOMIC_INLINE -int32_t -OSAtomicIncrement32Barrier(volatile int32_t *__theValue) -{ - return OSAtomicAdd32Barrier(1, __theValue); -} - -OSATOMIC_INLINE -int32_t -OSAtomicDecrement32(volatile int32_t *__theValue) -{ - return OSAtomicAdd32(-1, __theValue); -} - -OSATOMIC_INLINE -int32_t -OSAtomicDecrement32Barrier(volatile int32_t *__theValue) -{ - return OSAtomicAdd32Barrier(-1, __theValue); -} - -OSATOMIC_INLINE -int64_t -OSAtomicAdd64(int64_t __theAmount, - volatile OSAtomic_int64_aligned64_t *__theValue) -{ - return (OSATOMIC_STD(atomic_fetch_add_explicit)( - (volatile _OSAtomic_int64_t*) __theValue, __theAmount, - OSATOMIC_STD(memory_order_relaxed)) + __theAmount); -} - -OSATOMIC_INLINE -int64_t -OSAtomicAdd64Barrier(int64_t __theAmount, - volatile OSAtomic_int64_aligned64_t *__theValue) -{ - return (OSATOMIC_STD(atomic_fetch_add_explicit)( - (volatile _OSAtomic_int64_t*) __theValue, __theAmount, - OSATOMIC_STD(memory_order_seq_cst)) + __theAmount); -} - -OSATOMIC_INLINE -int64_t -OSAtomicIncrement64(volatile OSAtomic_int64_aligned64_t *__theValue) -{ - return OSAtomicAdd64(1, __theValue); -} - -OSATOMIC_INLINE -int64_t -OSAtomicIncrement64Barrier(volatile OSAtomic_int64_aligned64_t *__theValue) -{ - return OSAtomicAdd64Barrier(1, __theValue); -} - -OSATOMIC_INLINE -int64_t -OSAtomicDecrement64(volatile OSAtomic_int64_aligned64_t *__theValue) -{ - return OSAtomicAdd64(-1, __theValue); -} - -OSATOMIC_INLINE -int64_t -OSAtomicDecrement64Barrier(volatile OSAtomic_int64_aligned64_t *__theValue) -{ - return OSAtomicAdd64Barrier(-1, __theValue); -} - -OSATOMIC_INLINE -int32_t -OSAtomicOr32(uint32_t __theMask, volatile uint32_t *__theValue) -{ - return (int32_t)(OSATOMIC_STD(atomic_fetch_or_explicit)( - (volatile _OSAtomic_uint32_t*)__theValue, __theMask, - OSATOMIC_STD(memory_order_relaxed)) | __theMask); -} - -OSATOMIC_INLINE -int32_t -OSAtomicOr32Barrier(uint32_t __theMask, volatile uint32_t *__theValue) -{ - return (int32_t)(OSATOMIC_STD(atomic_fetch_or_explicit)( - (volatile _OSAtomic_uint32_t*)__theValue, __theMask, - OSATOMIC_STD(memory_order_seq_cst)) | __theMask); -} - -OSATOMIC_INLINE -int32_t -OSAtomicOr32Orig(uint32_t __theMask, volatile uint32_t *__theValue) -{ - return (int32_t)(OSATOMIC_STD(atomic_fetch_or_explicit)( - (volatile _OSAtomic_uint32_t*)__theValue, __theMask, - OSATOMIC_STD(memory_order_relaxed))); -} - -OSATOMIC_INLINE -int32_t -OSAtomicOr32OrigBarrier(uint32_t __theMask, volatile uint32_t *__theValue) -{ - return (int32_t)(OSATOMIC_STD(atomic_fetch_or_explicit)( - (volatile _OSAtomic_uint32_t*)__theValue, __theMask, - OSATOMIC_STD(memory_order_seq_cst))); -} - -OSATOMIC_INLINE -int32_t -OSAtomicAnd32(uint32_t __theMask, volatile uint32_t *__theValue) -{ - return (int32_t)(OSATOMIC_STD(atomic_fetch_and_explicit)( - (volatile _OSAtomic_uint32_t*)__theValue, __theMask, - OSATOMIC_STD(memory_order_relaxed)) & __theMask); -} - -OSATOMIC_INLINE -int32_t -OSAtomicAnd32Barrier(uint32_t __theMask, volatile uint32_t *__theValue) -{ - return (int32_t)(OSATOMIC_STD(atomic_fetch_and_explicit)( - (volatile _OSAtomic_uint32_t*)__theValue, __theMask, - OSATOMIC_STD(memory_order_seq_cst)) & __theMask); -} - -OSATOMIC_INLINE -int32_t -OSAtomicAnd32Orig(uint32_t __theMask, volatile uint32_t *__theValue) -{ - return (int32_t)(OSATOMIC_STD(atomic_fetch_and_explicit)( - (volatile _OSAtomic_uint32_t*)__theValue, __theMask, - OSATOMIC_STD(memory_order_relaxed))); -} - -OSATOMIC_INLINE -int32_t -OSAtomicAnd32OrigBarrier(uint32_t __theMask, volatile uint32_t *__theValue) -{ - return (int32_t)(OSATOMIC_STD(atomic_fetch_and_explicit)( - (volatile _OSAtomic_uint32_t*)__theValue, __theMask, - OSATOMIC_STD(memory_order_seq_cst))); -} - -OSATOMIC_INLINE -int32_t -OSAtomicXor32(uint32_t __theMask, volatile uint32_t *__theValue) -{ - return (int32_t)(OSATOMIC_STD(atomic_fetch_xor_explicit)( - (volatile _OSAtomic_uint32_t*)__theValue, __theMask, - OSATOMIC_STD(memory_order_relaxed)) ^ __theMask); -} - -OSATOMIC_INLINE -int32_t -OSAtomicXor32Barrier(uint32_t __theMask, volatile uint32_t *__theValue) -{ - return (int32_t)(OSATOMIC_STD(atomic_fetch_xor_explicit)( - (volatile _OSAtomic_uint32_t*)__theValue, __theMask, - OSATOMIC_STD(memory_order_seq_cst)) ^ __theMask); -} - -OSATOMIC_INLINE -int32_t -OSAtomicXor32Orig(uint32_t __theMask, volatile uint32_t *__theValue) -{ - return (int32_t)(OSATOMIC_STD(atomic_fetch_xor_explicit)( - (volatile _OSAtomic_uint32_t*)__theValue, __theMask, - OSATOMIC_STD(memory_order_relaxed))); -} - -OSATOMIC_INLINE -int32_t -OSAtomicXor32OrigBarrier(uint32_t __theMask, volatile uint32_t *__theValue) -{ - return (int32_t)(OSATOMIC_STD(atomic_fetch_xor_explicit)( - (volatile _OSAtomic_uint32_t*)__theValue, __theMask, - OSATOMIC_STD(memory_order_seq_cst))); -} - -OSATOMIC_INLINE -bool -OSAtomicCompareAndSwap32(int32_t __oldValue, int32_t __newValue, - volatile int32_t *__theValue) -{ - return (OSATOMIC_STD(atomic_compare_exchange_strong_explicit)( - (volatile _OSAtomic_int32_t*)__theValue, &__oldValue, __newValue, - OSATOMIC_STD(memory_order_relaxed), - OSATOMIC_STD(memory_order_relaxed))); -} - -OSATOMIC_INLINE -bool -OSAtomicCompareAndSwap32Barrier(int32_t __oldValue, int32_t __newValue, - volatile int32_t *__theValue) -{ - return (OSATOMIC_STD(atomic_compare_exchange_strong_explicit)( - (volatile _OSAtomic_int32_t*)__theValue, &__oldValue, __newValue, - OSATOMIC_STD(memory_order_seq_cst), - OSATOMIC_STD(memory_order_relaxed))); -} - -OSATOMIC_INLINE -bool -OSAtomicCompareAndSwapPtr(void *__oldValue, void *__newValue, - void * volatile *__theValue) -{ - return (OSATOMIC_STD(atomic_compare_exchange_strong_explicit)( - (volatile _OSAtomic_void_ptr_t*)__theValue, &__oldValue, __newValue, - OSATOMIC_STD(memory_order_relaxed), - OSATOMIC_STD(memory_order_relaxed))); -} - -OSATOMIC_INLINE -bool -OSAtomicCompareAndSwapPtrBarrier(void *__oldValue, void *__newValue, - void * volatile *__theValue) -{ - return (OSATOMIC_STD(atomic_compare_exchange_strong_explicit)( - (volatile _OSAtomic_void_ptr_t*)__theValue, &__oldValue, __newValue, - OSATOMIC_STD(memory_order_seq_cst), - OSATOMIC_STD(memory_order_relaxed))); -} - -OSATOMIC_INLINE -bool -OSAtomicCompareAndSwapInt(int __oldValue, int __newValue, - volatile int *__theValue) -{ - return (OSATOMIC_STD(atomic_compare_exchange_strong_explicit)( - (volatile OSATOMIC_STD(atomic_int)*)__theValue, &__oldValue, - __newValue, OSATOMIC_STD(memory_order_relaxed), - OSATOMIC_STD(memory_order_relaxed))); -} - -OSATOMIC_INLINE -bool -OSAtomicCompareAndSwapIntBarrier(int __oldValue, int __newValue, - volatile int *__theValue) -{ - return (OSATOMIC_STD(atomic_compare_exchange_strong_explicit)( - (volatile OSATOMIC_STD(atomic_int)*)__theValue, &__oldValue, - __newValue, OSATOMIC_STD(memory_order_seq_cst), - OSATOMIC_STD(memory_order_relaxed))); -} - -OSATOMIC_INLINE -bool -OSAtomicCompareAndSwapLong(long __oldValue, long __newValue, - volatile long *__theValue) -{ - return (OSATOMIC_STD(atomic_compare_exchange_strong_explicit)( - (volatile OSATOMIC_STD(atomic_long)*)__theValue, &__oldValue, - __newValue, OSATOMIC_STD(memory_order_relaxed), - OSATOMIC_STD(memory_order_relaxed))); -} - -OSATOMIC_INLINE -bool -OSAtomicCompareAndSwapLongBarrier(long __oldValue, long __newValue, - volatile long *__theValue) -{ - return (OSATOMIC_STD(atomic_compare_exchange_strong_explicit)( - (volatile OSATOMIC_STD(atomic_long)*)__theValue, &__oldValue, - __newValue, OSATOMIC_STD(memory_order_seq_cst), - OSATOMIC_STD(memory_order_relaxed))); -} - -OSATOMIC_INLINE -bool -OSAtomicCompareAndSwap64(int64_t __oldValue, int64_t __newValue, - volatile OSAtomic_int64_aligned64_t *__theValue) -{ - return (OSATOMIC_STD(atomic_compare_exchange_strong_explicit)( - (volatile _OSAtomic_int64_t*)__theValue, &__oldValue, __newValue, - OSATOMIC_STD(memory_order_relaxed), - OSATOMIC_STD(memory_order_relaxed))); -} - -OSATOMIC_INLINE -bool -OSAtomicCompareAndSwap64Barrier(int64_t __oldValue, int64_t __newValue, - volatile OSAtomic_int64_aligned64_t *__theValue) -{ - return (OSATOMIC_STD(atomic_compare_exchange_strong_explicit)( - (volatile _OSAtomic_int64_t*)__theValue, &__oldValue, __newValue, - OSATOMIC_STD(memory_order_seq_cst), - OSATOMIC_STD(memory_order_relaxed))); -} - -OSATOMIC_INLINE -bool -OSAtomicTestAndSet(uint32_t __n, volatile void *__theAddress) -{ - uintptr_t a = (uintptr_t)__theAddress + (__n >> 3); - uint8_t v = (0x80u >> (__n & 7)); - return (OSATOMIC_STD(atomic_fetch_or_explicit)((_OSAtomic_uint8_t*)a, v, - OSATOMIC_STD(memory_order_relaxed)) & v); -} - -OSATOMIC_INLINE -bool -OSAtomicTestAndSetBarrier(uint32_t __n, volatile void *__theAddress) -{ - uintptr_t a = (uintptr_t)__theAddress + (__n >> 3); - uint8_t v = (0x80u >> (__n & 7)); - return (OSATOMIC_STD(atomic_fetch_or_explicit)((_OSAtomic_uint8_t*)a, v, - OSATOMIC_STD(memory_order_seq_cst)) & v); -} - -OSATOMIC_INLINE -bool -OSAtomicTestAndClear(uint32_t __n, volatile void *__theAddress) -{ - uintptr_t a = (uintptr_t)__theAddress + (__n >> 3); - uint8_t v = (0x80u >> (__n & 7)); - return (OSATOMIC_STD(atomic_fetch_and_explicit)((_OSAtomic_uint8_t*)a, - (uint8_t)~v, OSATOMIC_STD(memory_order_relaxed)) & v); -} - -OSATOMIC_INLINE -bool -OSAtomicTestAndClearBarrier(uint32_t __n, volatile void *__theAddress) -{ - uintptr_t a = (uintptr_t)__theAddress + (__n >> 3); - uint8_t v = (0x80u >> (__n & 7)); - return (OSATOMIC_STD(atomic_fetch_and_explicit)((_OSAtomic_uint8_t*)a, - (uint8_t)~v, OSATOMIC_STD(memory_order_seq_cst)) & v); -} - -OSATOMIC_INLINE -void -OSMemoryBarrier(void) -{ - OSATOMIC_STD(atomic_thread_fence)(OSATOMIC_STD(memory_order_seq_cst)); -} - -#undef OSATOMIC_INLINE -#undef OSATOMIC_STD -#ifdef __cplusplus -__END_DECLS -} // extern "C++" -#endif - -#endif // defined(OSATOMIC_USE_INLINED) && OSATOMIC_USE_INLINED - -#if TARGET_OS_OSX || TARGET_OS_DRIVERKIT - -__BEGIN_DECLS - -/*! @group Lockless atomic fifo enqueue and dequeue - * These routines manipulate singly-linked FIFO lists. - * - * This API is deprecated and no longer recommended - */ - -/*! @abstract The data structure for a fifo queue head. - @discussion - You should always initialize a fifo queue head structure with the - initialization vector {@link OS_ATOMIC_FIFO_QUEUE_INIT} before use. - */ -#if defined(__LP64__) - -typedef volatile struct { - void *opaque1; - void *opaque2; - int opaque3; -} __attribute__ ((aligned (16))) OSFifoQueueHead; - -#else - -typedef volatile struct { - void *opaque1; - void *opaque2; - int opaque3; -} OSFifoQueueHead; - -#endif -/*! @abstract The initialization vector for a fifo queue head. */ -#define OS_ATOMIC_FIFO_QUEUE_INIT { NULL, NULL, 0 } - -/*! @abstract Enqueue an element onto a list. - @discussion - Memory barriers are incorporated as needed to permit thread-safe access - to the queue element. - @param __list - The list on which you want to enqueue the element. - @param __new - The element to add. - @param __offset - The "offset" parameter is the offset (in bytes) of the link field - from the beginning of the data structure being queued (__new). - The link field should be a pointer type. - The __offset value needs to be same for all enqueuing and - dequeuing operations on the same list, even if different structure types - are enqueued on that list. The use of offsetset(), defined in - stddef.h is the common way to specify the __offset - value. - - @note - This API is deprecated and no longer recommended - */ -__API_DEPRECATED("No longer supported", macos(10.7, 11.0)) -void OSAtomicFifoEnqueue( OSFifoQueueHead *__list, void *__new, size_t __offset); - -/*! @abstract Dequeue an element from a list. - @discussion - Memory barriers are incorporated as needed to permit thread-safe access - to the queue element. - @param __list - The list from which you want to dequeue an element. - @param __offset - The "offset" parameter is the offset (in bytes) of the link field - from the beginning of the data structure being dequeued (__new). - The link field should be a pointer type. - The __offset value needs to be same for all enqueuing and - dequeuing operations on the same list, even if different structure types - are enqueued on that list. The use of offsetset(), defined in - stddef.h is the common way to specify the __offset - value. - @result - Returns the oldest enqueued element, or NULL if the - list is empty. - - @note - This API is deprecated and no longer recommended - */ -__API_DEPRECATED("No longer supported", macos(10.7, 11.0)) -void* OSAtomicFifoDequeue( OSFifoQueueHead *__list, size_t __offset); - -__END_DECLS - -#endif /* TARGET_OS_OSX || TARGET_OS_DRIVERKIT */ - -#endif /* _OSATOMIC_DEPRECATED_H_ */ \ No newline at end of file diff --git a/lib/libc/include/aarch64-macos.12-none/libkern/OSSpinLockDeprecated.h b/lib/libc/include/aarch64-macos.12-none/libkern/OSSpinLockDeprecated.h deleted file mode 100644 index a654a7bbc2..0000000000 --- a/lib/libc/include/aarch64-macos.12-none/libkern/OSSpinLockDeprecated.h +++ /dev/null @@ -1,212 +0,0 @@ -/* - * Copyright (c) 2004-2016 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 _OSSPINLOCK_DEPRECATED_H_ -#define _OSSPINLOCK_DEPRECATED_H_ - -/*! @header - * These are deprecated legacy interfaces for userspace spinlocks. - * - * These interfaces should no longer be used, particularily in situations where - * threads of differing priorities may contend on the same spinlock. - * - * The interfaces in should be used instead in cases where a very - * low-level lock primitive is required. In general however, using higher level - * synchronization primitives such as those provided by the pthread or dispatch - * subsystems should be preferred. - * - * Define OSSPINLOCK_USE_INLINED=1 to get inline implementations of these - * interfaces in terms of the primitives. This is intended as a - * transition convenience, direct use of those primitives is preferred. - */ - -#ifndef OSSPINLOCK_DEPRECATED -#define OSSPINLOCK_DEPRECATED 1 -#define OSSPINLOCK_DEPRECATED_MSG(_r) "Use " #_r "() from instead" -#define OSSPINLOCK_DEPRECATED_REPLACE_WITH(_r) \ - __OS_AVAILABILITY_MSG(macosx, deprecated=10.12, OSSPINLOCK_DEPRECATED_MSG(_r)) \ - __OS_AVAILABILITY_MSG(ios, deprecated=10.0, OSSPINLOCK_DEPRECATED_MSG(_r)) \ - __OS_AVAILABILITY_MSG(tvos, deprecated=10.0, OSSPINLOCK_DEPRECATED_MSG(_r)) \ - __OS_AVAILABILITY_MSG(watchos, deprecated=3.0, OSSPINLOCK_DEPRECATED_MSG(_r)) -#else -#undef OSSPINLOCK_DEPRECATED -#define OSSPINLOCK_DEPRECATED 0 -#define OSSPINLOCK_DEPRECATED_REPLACE_WITH(_r) -#endif - -#if !(defined(OSSPINLOCK_USE_INLINED) && OSSPINLOCK_USE_INLINED) - -#include -#include -#include -#include -#include - -__BEGIN_DECLS - -/*! @abstract The default value for an OSSpinLock. - @discussion - The convention is that unlocked is zero, locked is nonzero. - */ -#define OS_SPINLOCK_INIT 0 - - -/*! @abstract Data type for a spinlock. - @discussion - You should always initialize a spinlock to {@link OS_SPINLOCK_INIT} before - using it. - */ -typedef int32_t OSSpinLock OSSPINLOCK_DEPRECATED_REPLACE_WITH(os_unfair_lock); - - -/*! @abstract Locks a spinlock if it would not block - @result - Returns false if the lock was already held by another thread, - true if it took the lock successfully. - */ -OSSPINLOCK_DEPRECATED_REPLACE_WITH(os_unfair_lock_trylock) -__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0) -bool OSSpinLockTry( volatile OSSpinLock *__lock ); - - -/*! @abstract Locks a spinlock - @discussion - Although the lock operation spins, it employs various strategies to back - off if the lock is held. - */ -OSSPINLOCK_DEPRECATED_REPLACE_WITH(os_unfair_lock_lock) -__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0) -void OSSpinLockLock( volatile OSSpinLock *__lock ); - - -/*! @abstract Unlocks a spinlock */ -OSSPINLOCK_DEPRECATED_REPLACE_WITH(os_unfair_lock_unlock) -__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0) -void OSSpinLockUnlock( volatile OSSpinLock *__lock ); - -__END_DECLS - -#else /* OSSPINLOCK_USE_INLINED */ - -/* - * Inline implementations of the legacy OSSpinLock interfaces in terms of the - * of the primitives. Direct use of those primitives is preferred. - * - * NOTE: the locked value of os_unfair_lock is implementation defined and - * subject to change, code that relies on the specific locked value used by the - * legacy OSSpinLock interface WILL break when using these inline - * implementations in terms of os_unfair_lock. - */ - -#if !OSSPINLOCK_USE_INLINED_TRANSPARENT - -#include - -__BEGIN_DECLS - -#if __has_attribute(always_inline) -#define OSSPINLOCK_INLINE static __inline -#else -#define OSSPINLOCK_INLINE static __inline __attribute__((__always_inline__)) -#endif - -#define OS_SPINLOCK_INIT 0 -typedef int32_t OSSpinLock; - -#if __has_extension(c_static_assert) -_Static_assert(sizeof(OSSpinLock) == sizeof(os_unfair_lock), - "Incompatible os_unfair_lock type"); -#endif - -OSSPINLOCK_INLINE -void -OSSpinLockLock(volatile OSSpinLock *__lock) -{ - os_unfair_lock_t lock = (os_unfair_lock_t)__lock; - return os_unfair_lock_lock(lock); -} - -OSSPINLOCK_INLINE -bool -OSSpinLockTry(volatile OSSpinLock *__lock) -{ - os_unfair_lock_t lock = (os_unfair_lock_t)__lock; - return os_unfair_lock_trylock(lock); -} - -OSSPINLOCK_INLINE -void -OSSpinLockUnlock(volatile OSSpinLock *__lock) -{ - os_unfair_lock_t lock = (os_unfair_lock_t)__lock; - return os_unfair_lock_unlock(lock); -} - -#undef OSSPINLOCK_INLINE - -__END_DECLS - -#else /* OSSPINLOCK_USE_INLINED_TRANSPARENT */ - -#include -#include -#include -#include -#include - -#define OS_NOSPIN_LOCK_AVAILABILITY \ - __OSX_AVAILABLE(10.12) __IOS_AVAILABLE(10.0) \ - __TVOS_AVAILABLE(10.0) __WATCHOS_AVAILABLE(3.0) - -__BEGIN_DECLS - -#define OS_SPINLOCK_INIT 0 -typedef int32_t OSSpinLock OSSPINLOCK_DEPRECATED_REPLACE_WITH(os_unfair_lock); -typedef volatile OSSpinLock *_os_nospin_lock_t - OSSPINLOCK_DEPRECATED_REPLACE_WITH(os_unfair_lock_t); - -OSSPINLOCK_DEPRECATED_REPLACE_WITH(os_unfair_lock_lock) -OS_NOSPIN_LOCK_AVAILABILITY -void _os_nospin_lock_lock(_os_nospin_lock_t lock); -#undef OSSpinLockLock -#define OSSpinLockLock(lock) _os_nospin_lock_lock(lock) - -OSSPINLOCK_DEPRECATED_REPLACE_WITH(os_unfair_lock_trylock) -OS_NOSPIN_LOCK_AVAILABILITY -bool _os_nospin_lock_trylock(_os_nospin_lock_t lock); -#undef OSSpinLockTry -#define OSSpinLockTry(lock) _os_nospin_lock_trylock(lock) - -OSSPINLOCK_DEPRECATED_REPLACE_WITH(os_unfair_lock_unlock) -OS_NOSPIN_LOCK_AVAILABILITY -void _os_nospin_lock_unlock(_os_nospin_lock_t lock); -#undef OSSpinLockUnlock -#define OSSpinLockUnlock(lock) _os_nospin_lock_unlock(lock) - -__END_DECLS - -#endif /* OSSPINLOCK_USE_INLINED_TRANSPARENT */ - -#endif /* OSSPINLOCK_USE_INLINED */ - -#endif /* _OSSPINLOCK_DEPRECATED_H_ */ \ No newline at end of file diff --git a/lib/libc/include/aarch64-macos.12-none/libkern/arm/OSByteOrder.h b/lib/libc/include/aarch64-macos.12-none/libkern/arm/OSByteOrder.h deleted file mode 100644 index f89a24b53f..0000000000 --- a/lib/libc/include/aarch64-macos.12-none/libkern/arm/OSByteOrder.h +++ /dev/null @@ -1,216 +0,0 @@ -/* - * Copyright (c) 1999-2007 Apple Inc. All rights reserved. - */ - -#ifndef _OS_OSBYTEORDERARM_H -#define _OS_OSBYTEORDERARM_H - -#include -#include /* for _ARM_ARCH_6 */ - -/* Generic byte swapping functions. */ - -__DARWIN_OS_INLINE -uint16_t -_OSSwapInt16( - uint16_t _data - ) -{ - /* Reduces to 'rev16' with clang */ - return (uint16_t)(_data << 8 | _data >> 8); -} - -__DARWIN_OS_INLINE -uint32_t -_OSSwapInt32( - uint32_t _data - ) -{ -#if defined(__llvm__) - _data = __builtin_bswap32(_data); -#else - /* This actually generates the best code */ - _data = (((_data ^ (_data >> 16 | (_data << 16))) & 0xFF00FFFF) >> 8) ^ (_data >> 8 | _data << 24); -#endif - - return _data; -} - -__DARWIN_OS_INLINE -uint64_t -_OSSwapInt64( - uint64_t _data - ) -{ -#if defined(__llvm__) - return __builtin_bswap64(_data); -#else - union { - uint64_t _ull; - uint32_t _ul[2]; - } _u; - - /* This actually generates the best code */ - _u._ul[0] = (uint32_t)(_data >> 32); - _u._ul[1] = (uint32_t)(_data & 0xffffffff); - _u._ul[0] = _OSSwapInt32(_u._ul[0]); - _u._ul[1] = _OSSwapInt32(_u._ul[1]); - return _u._ull; -#endif -} - -/* Functions for byte reversed loads. */ - -struct _OSUnalignedU16 { - volatile uint16_t __val; -} __attribute__((__packed__)); - -struct _OSUnalignedU32 { - volatile uint32_t __val; -} __attribute__((__packed__)); - -struct _OSUnalignedU64 { - volatile uint64_t __val; -} __attribute__((__packed__)); - -#if defined(_POSIX_C_SOURCE) || defined(_XOPEN_SOURCE) -__DARWIN_OS_INLINE -uint16_t -_OSReadSwapInt16( - const volatile void * _base, - uintptr_t _offset - ) -{ - return _OSSwapInt16(((struct _OSUnalignedU16 *)((uintptr_t)_base + _offset))->__val); -} -#else -__DARWIN_OS_INLINE -uint16_t -OSReadSwapInt16( - const volatile void * _base, - uintptr_t _offset - ) -{ - return _OSSwapInt16(((struct _OSUnalignedU16 *)((uintptr_t)_base + _offset))->__val); -} -#endif - -#if defined(_POSIX_C_SOURCE) || defined(_XOPEN_SOURCE) -__DARWIN_OS_INLINE -uint32_t -_OSReadSwapInt32( - const volatile void * _base, - uintptr_t _offset - ) -{ - return _OSSwapInt32(((struct _OSUnalignedU32 *)((uintptr_t)_base + _offset))->__val); -} -#else -__DARWIN_OS_INLINE -uint32_t -OSReadSwapInt32( - const volatile void * _base, - uintptr_t _offset - ) -{ - return _OSSwapInt32(((struct _OSUnalignedU32 *)((uintptr_t)_base + _offset))->__val); -} -#endif - -#if defined(_POSIX_C_SOURCE) || defined(_XOPEN_SOURCE) -__DARWIN_OS_INLINE -uint64_t -_OSReadSwapInt64( - const volatile void * _base, - uintptr_t _offset - ) -{ - return _OSSwapInt64(((struct _OSUnalignedU64 *)((uintptr_t)_base + _offset))->__val); -} -#else -__DARWIN_OS_INLINE -uint64_t -OSReadSwapInt64( - const volatile void * _base, - uintptr_t _offset - ) -{ - return _OSSwapInt64(((struct _OSUnalignedU64 *)((uintptr_t)_base + _offset))->__val); -} -#endif - -/* Functions for byte reversed stores. */ - -#if defined(_POSIX_C_SOURCE) || defined(_XOPEN_SOURCE) -__DARWIN_OS_INLINE -void -_OSWriteSwapInt16( - volatile void * _base, - uintptr_t _offset, - uint16_t _data - ) -{ - ((struct _OSUnalignedU16 *)((uintptr_t)_base + _offset))->__val = _OSSwapInt16(_data); -} -#else -__DARWIN_OS_INLINE -void -OSWriteSwapInt16( - volatile void * _base, - uintptr_t _offset, - uint16_t _data - ) -{ - ((struct _OSUnalignedU16 *)((uintptr_t)_base + _offset))->__val = _OSSwapInt16(_data); -} -#endif - -#if defined(_POSIX_C_SOURCE) || defined(_XOPEN_SOURCE) -__DARWIN_OS_INLINE -void -_OSWriteSwapInt32( - volatile void * _base, - uintptr_t _offset, - uint32_t _data - ) -{ - ((struct _OSUnalignedU32 *)((uintptr_t)_base + _offset))->__val = _OSSwapInt32(_data); -} -#else -__DARWIN_OS_INLINE -void -OSWriteSwapInt32( - volatile void * _base, - uintptr_t _offset, - uint32_t _data - ) -{ - ((struct _OSUnalignedU32 *)((uintptr_t)_base + _offset))->__val = _OSSwapInt32(_data); -} -#endif - -#if defined(_POSIX_C_SOURCE) || defined(_XOPEN_SOURCE) -__DARWIN_OS_INLINE -void -_OSWriteSwapInt64( - volatile void * _base, - uintptr_t _offset, - uint64_t _data - ) -{ - ((struct _OSUnalignedU64 *)((uintptr_t)_base + _offset))->__val = _OSSwapInt64(_data); -} -#else -__DARWIN_OS_INLINE -void -OSWriteSwapInt64( - volatile void * _base, - uintptr_t _offset, - uint64_t _data - ) -{ - ((struct _OSUnalignedU64 *)((uintptr_t)_base + _offset))->__val = _OSSwapInt64(_data); -} -#endif - -#endif /* ! _OS_OSBYTEORDERARM_H */ \ No newline at end of file diff --git a/lib/libc/include/aarch64-macos.12-none/mach/arm/_structs.h b/lib/libc/include/aarch64-macos.12-none/mach/arm/_structs.h deleted file mode 100644 index 8a0af8a6f1..0000000000 --- a/lib/libc/include/aarch64-macos.12-none/mach/arm/_structs.h +++ /dev/null @@ -1,639 +0,0 @@ -/* - * Copyright (c) 2004-2007 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@ - */ -/* - * @OSF_COPYRIGHT@ - */ -#ifndef _MACH_ARM__STRUCTS_H_ -#define _MACH_ARM__STRUCTS_H_ - -#if defined (__arm__) || defined (__arm64__) - -#include /* __DARWIN_UNIX03 */ -#include /* __uint32_t */ - -#if __DARWIN_UNIX03 -#define _STRUCT_ARM_EXCEPTION_STATE struct __darwin_arm_exception_state -_STRUCT_ARM_EXCEPTION_STATE -{ - __uint32_t __exception; /* number of arm exception taken */ - __uint32_t __fsr; /* Fault status */ - __uint32_t __far; /* Virtual Fault Address */ -}; -#else /* !__DARWIN_UNIX03 */ -#define _STRUCT_ARM_EXCEPTION_STATE struct arm_exception_state -_STRUCT_ARM_EXCEPTION_STATE -{ - __uint32_t exception; /* number of arm exception taken */ - __uint32_t fsr; /* Fault status */ - __uint32_t far; /* Virtual Fault Address */ -}; -#endif /* __DARWIN_UNIX03 */ - -#if __DARWIN_UNIX03 -#define _STRUCT_ARM_EXCEPTION_STATE64 struct __darwin_arm_exception_state64 -_STRUCT_ARM_EXCEPTION_STATE64 -{ - __uint64_t __far; /* Virtual Fault Address */ - __uint32_t __esr; /* Exception syndrome */ - __uint32_t __exception; /* number of arm exception taken */ -}; -#else /* !__DARWIN_UNIX03 */ -#define _STRUCT_ARM_EXCEPTION_STATE64 struct arm_exception_state64 -_STRUCT_ARM_EXCEPTION_STATE64 -{ - __uint64_t far; /* Virtual Fault Address */ - __uint32_t esr; /* Exception syndrome */ - __uint32_t exception; /* number of arm exception taken */ -}; -#endif /* __DARWIN_UNIX03 */ - -#if __DARWIN_UNIX03 -#define _STRUCT_ARM_THREAD_STATE struct __darwin_arm_thread_state -_STRUCT_ARM_THREAD_STATE -{ - __uint32_t __r[13]; /* General purpose register r0-r12 */ - __uint32_t __sp; /* Stack pointer r13 */ - __uint32_t __lr; /* Link register r14 */ - __uint32_t __pc; /* Program counter r15 */ - __uint32_t __cpsr; /* Current program status register */ -}; -#else /* !__DARWIN_UNIX03 */ -#define _STRUCT_ARM_THREAD_STATE struct arm_thread_state -_STRUCT_ARM_THREAD_STATE -{ - __uint32_t r[13]; /* General purpose register r0-r12 */ - __uint32_t sp; /* Stack pointer r13 */ - __uint32_t lr; /* Link register r14 */ - __uint32_t pc; /* Program counter r15 */ - __uint32_t cpsr; /* Current program status register */ -}; -#endif /* __DARWIN_UNIX03 */ - - -/* - * By default, the pointer fields in the arm_thread_state64_t structure are - * opaque on the arm64e architecture and require the use of accessor macros. - * This mode can also be enabled on the arm64 architecture by building with - * -D__DARWIN_OPAQUE_ARM_THREAD_STATE64=1. - */ -#if defined(__arm64__) && defined(__LP64__) - -#if __has_feature(ptrauth_calls) -#define __DARWIN_OPAQUE_ARM_THREAD_STATE64 1 -#define __DARWIN_PTRAUTH_ARM_THREAD_STATE64 1 -#endif /* __has_feature(ptrauth_calls) */ - -#ifndef __DARWIN_OPAQUE_ARM_THREAD_STATE64 -#define __DARWIN_OPAQUE_ARM_THREAD_STATE64 0 -#endif - -#else /* defined(__arm64__) && defined(__LP64__) */ - -#undef __DARWIN_OPAQUE_ARM_THREAD_STATE64 -#define __DARWIN_OPAQUE_ARM_THREAD_STATE64 0 - -#endif /* defined(__arm64__) && defined(__LP64__) */ - -#if __DARWIN_UNIX03 -#define _STRUCT_ARM_THREAD_STATE64 struct __darwin_arm_thread_state64 -#if __DARWIN_OPAQUE_ARM_THREAD_STATE64 -_STRUCT_ARM_THREAD_STATE64 -{ - __uint64_t __x[29]; /* General purpose registers x0-x28 */ - void* __opaque_fp; /* Frame pointer x29 */ - void* __opaque_lr; /* Link register x30 */ - void* __opaque_sp; /* Stack pointer x31 */ - void* __opaque_pc; /* Program counter */ - __uint32_t __cpsr; /* Current program status register */ - __uint32_t __opaque_flags; /* Flags describing structure format */ -}; -#else /* __DARWIN_OPAQUE_ARM_THREAD_STATE64 */ -_STRUCT_ARM_THREAD_STATE64 -{ - __uint64_t __x[29]; /* General purpose registers x0-x28 */ - __uint64_t __fp; /* Frame pointer x29 */ - __uint64_t __lr; /* Link register x30 */ - __uint64_t __sp; /* Stack pointer x31 */ - __uint64_t __pc; /* Program counter */ - __uint32_t __cpsr; /* Current program status register */ - __uint32_t __pad; /* Same size for 32-bit or 64-bit clients */ -}; -#endif /* __DARWIN_OPAQUE_ARM_THREAD_STATE64 */ -#else /* !__DARWIN_UNIX03 */ -#define _STRUCT_ARM_THREAD_STATE64 struct arm_thread_state64 -#if __DARWIN_OPAQUE_ARM_THREAD_STATE64 -_STRUCT_ARM_THREAD_STATE64 -{ - __uint64_t x[29]; /* General purpose registers x0-x28 */ - void* __opaque_fp; /* Frame pointer x29 */ - void* __opaque_lr; /* Link register x30 */ - void* __opaque_sp; /* Stack pointer x31 */ - void* __opaque_pc; /* Program counter */ - __uint32_t cpsr; /* Current program status register */ - __uint32_t __opaque_flags; /* Flags describing structure format */ -}; -#else /* __DARWIN_OPAQUE_ARM_THREAD_STATE64 */ -_STRUCT_ARM_THREAD_STATE64 -{ - __uint64_t x[29]; /* General purpose registers x0-x28 */ - __uint64_t fp; /* Frame pointer x29 */ - __uint64_t lr; /* Link register x30 */ - __uint64_t sp; /* Stack pointer x31 */ - __uint64_t pc; /* Program counter */ - __uint32_t cpsr; /* Current program status register */ - __uint32_t __pad; /* Same size for 32-bit or 64-bit clients */ -}; -#endif /* __DARWIN_OPAQUE_ARM_THREAD_STATE64 */ -#endif /* __DARWIN_UNIX03 */ - -#if __DARWIN_C_LEVEL >= __DARWIN_C_FULL && defined(__arm64__) - -/* Accessor macros for arm_thread_state64_t pointer fields */ - -#if __has_feature(ptrauth_calls) && defined(__LP64__) -#include - -#if !__DARWIN_OPAQUE_ARM_THREAD_STATE64 || !__DARWIN_PTRAUTH_ARM_THREAD_STATE64 -#error "Invalid configuration" -#endif - -#define __DARWIN_ARM_THREAD_STATE64_FLAGS_NO_PTRAUTH 0x1 -#define __DARWIN_ARM_THREAD_STATE64_FLAGS_IB_SIGNED_LR 0x2 -#define __DARWIN_ARM_THREAD_STATE64_FLAGS_KERNEL_SIGNED 0x4 - -/* Return pc field of arm_thread_state64_t as a data pointer value */ -#define __darwin_arm_thread_state64_get_pc(ts) \ - __extension__ ({ const _STRUCT_ARM_THREAD_STATE64 *__tsp = &(ts); \ - (uintptr_t)(__tsp->__opaque_pc && !(__tsp->__opaque_flags & \ - __DARWIN_ARM_THREAD_STATE64_FLAGS_NO_PTRAUTH) ? \ - ptrauth_auth_data(__tsp->__opaque_pc, \ - ptrauth_key_process_independent_code, \ - ptrauth_string_discriminator("pc")) : __tsp->__opaque_pc); }) -/* Return pc field of arm_thread_state64_t as a function pointer. May return - * NULL if a valid function pointer cannot be constructed, the caller should - * fall back to the __darwin_arm_thread_state64_get_pc() macro in that case. */ -#define __darwin_arm_thread_state64_get_pc_fptr(ts) \ - __extension__ ({ const _STRUCT_ARM_THREAD_STATE64 *__tsp = &(ts); \ - (__tsp->__opaque_pc && !(__tsp->__opaque_flags & \ - __DARWIN_ARM_THREAD_STATE64_FLAGS_NO_PTRAUTH) ? \ - ptrauth_auth_function(__tsp->__opaque_pc, \ - ptrauth_key_process_independent_code, \ - ptrauth_string_discriminator("pc")) : NULL); }) -/* Set pc field of arm_thread_state64_t to a function pointer */ -#define __darwin_arm_thread_state64_set_pc_fptr(ts, fptr) \ - __extension__ ({ _STRUCT_ARM_THREAD_STATE64 *__tsp = &(ts); \ - __typeof__(fptr) __f = (fptr); __tsp->__opaque_pc = \ - (__f ? (!(__tsp->__opaque_flags & \ - __DARWIN_ARM_THREAD_STATE64_FLAGS_NO_PTRAUTH) ? \ - ptrauth_auth_and_resign(__f, ptrauth_key_function_pointer, 0, \ - ptrauth_key_process_independent_code, \ - ptrauth_string_discriminator("pc")) : ptrauth_auth_data(__f, \ - ptrauth_key_function_pointer, 0)) : __f); \ - __tsp->__opaque_flags &= \ - ~__DARWIN_ARM_THREAD_STATE64_FLAGS_KERNEL_SIGNED; }) -/* Return lr field of arm_thread_state64_t as a data pointer value */ -#define __darwin_arm_thread_state64_get_lr(ts) \ - __extension__ ({ const _STRUCT_ARM_THREAD_STATE64 *__tsp = &(ts); \ - (uintptr_t)(__tsp->__opaque_lr && !(__tsp->__opaque_flags & ( \ - __DARWIN_ARM_THREAD_STATE64_FLAGS_NO_PTRAUTH | \ - __DARWIN_ARM_THREAD_STATE64_FLAGS_IB_SIGNED_LR)) ? \ - ptrauth_auth_data(__tsp->__opaque_lr, \ - ptrauth_key_process_independent_code, \ - ptrauth_string_discriminator("lr")) : __tsp->__opaque_lr); }) -/* Return lr field of arm_thread_state64_t as a function pointer. May return - * NULL if a valid function pointer cannot be constructed, the caller should - * fall back to the __darwin_arm_thread_state64_get_lr() macro in that case. */ -#define __darwin_arm_thread_state64_get_lr_fptr(ts) \ - __extension__ ({ const _STRUCT_ARM_THREAD_STATE64 *__tsp = &(ts); \ - (__tsp->__opaque_lr && !(__tsp->__opaque_flags & ( \ - __DARWIN_ARM_THREAD_STATE64_FLAGS_NO_PTRAUTH | \ - __DARWIN_ARM_THREAD_STATE64_FLAGS_IB_SIGNED_LR)) ? \ - ptrauth_auth_function(__tsp->__opaque_lr, \ - ptrauth_key_process_independent_code, \ - ptrauth_string_discriminator("lr")) : NULL); }) -/* Set lr field of arm_thread_state64_t to a function pointer */ -#define __darwin_arm_thread_state64_set_lr_fptr(ts, fptr) \ - __extension__ ({ _STRUCT_ARM_THREAD_STATE64 *__tsp = &(ts); \ - __typeof__(fptr) __f = (fptr); __tsp->__opaque_lr = \ - (__f ? (!(__tsp->__opaque_flags & \ - __DARWIN_ARM_THREAD_STATE64_FLAGS_NO_PTRAUTH) ? (__tsp->__opaque_flags \ - &= ~__DARWIN_ARM_THREAD_STATE64_FLAGS_IB_SIGNED_LR , \ - ptrauth_auth_and_resign(__f, ptrauth_key_function_pointer, 0, \ - ptrauth_key_process_independent_code, \ - ptrauth_string_discriminator("lr"))) : ptrauth_auth_data(__f, \ - ptrauth_key_function_pointer, 0)) : __f); __tsp->__opaque_flags &= \ - ~__DARWIN_ARM_THREAD_STATE64_FLAGS_KERNEL_SIGNED; }) -/* Return sp field of arm_thread_state64_t as a data pointer value */ -#define __darwin_arm_thread_state64_get_sp(ts) \ - __extension__ ({ const _STRUCT_ARM_THREAD_STATE64 *__tsp = &(ts); \ - (uintptr_t)(__tsp->__opaque_sp && !(__tsp->__opaque_flags & \ - __DARWIN_ARM_THREAD_STATE64_FLAGS_NO_PTRAUTH) ? \ - ptrauth_auth_data(__tsp->__opaque_sp, \ - ptrauth_key_process_independent_data, \ - ptrauth_string_discriminator("sp")) : __tsp->__opaque_sp); }) -/* Set sp field of arm_thread_state64_t to a data pointer value */ -#define __darwin_arm_thread_state64_set_sp(ts, ptr) \ - __extension__ ({ _STRUCT_ARM_THREAD_STATE64 *__tsp = &(ts); \ - void *__p = (void*)(uintptr_t)(ptr); __tsp->__opaque_sp = \ - (__p && !(__tsp->__opaque_flags & \ - __DARWIN_ARM_THREAD_STATE64_FLAGS_NO_PTRAUTH) ? \ - ptrauth_sign_unauthenticated(__p, \ - ptrauth_key_process_independent_data, \ - ptrauth_string_discriminator("sp")) : __p); \ - __tsp->__opaque_flags &= \ - ~__DARWIN_ARM_THREAD_STATE64_FLAGS_KERNEL_SIGNED; }) -/* Return fp field of arm_thread_state64_t as a data pointer value */ -#define __darwin_arm_thread_state64_get_fp(ts) \ - __extension__ ({ const _STRUCT_ARM_THREAD_STATE64 *__tsp = &(ts); \ - (uintptr_t)(__tsp->__opaque_fp && !(__tsp->__opaque_flags & \ - __DARWIN_ARM_THREAD_STATE64_FLAGS_NO_PTRAUTH) ? \ - ptrauth_auth_data(__tsp->__opaque_fp, \ - ptrauth_key_process_independent_data, \ - ptrauth_string_discriminator("fp")) : __tsp->__opaque_fp); }) -/* Set fp field of arm_thread_state64_t to a data pointer value */ -#define __darwin_arm_thread_state64_set_fp(ts, ptr) \ - __extension__ ({ _STRUCT_ARM_THREAD_STATE64 *__tsp = &(ts); \ - void *__p = (void*)(uintptr_t)(ptr); __tsp->__opaque_fp = \ - (__p && !(__tsp->__opaque_flags & \ - __DARWIN_ARM_THREAD_STATE64_FLAGS_NO_PTRAUTH) ? \ - ptrauth_sign_unauthenticated(__p, \ - ptrauth_key_process_independent_data, \ - ptrauth_string_discriminator("fp")) : __p); \ - __tsp->__opaque_flags &= \ - ~__DARWIN_ARM_THREAD_STATE64_FLAGS_KERNEL_SIGNED; }) - -/* Strip ptr auth bits from pc, lr, sp and fp field of arm_thread_state64_t */ -#define __darwin_arm_thread_state64_ptrauth_strip(ts) \ - __extension__ ({ _STRUCT_ARM_THREAD_STATE64 *__tsp = &(ts); \ - __tsp->__opaque_pc = ((__tsp->__opaque_flags & \ - __DARWIN_ARM_THREAD_STATE64_FLAGS_NO_PTRAUTH) ? __tsp->__opaque_pc : \ - ptrauth_strip(__tsp->__opaque_pc, ptrauth_key_process_independent_code)); \ - __tsp->__opaque_lr = ((__tsp->__opaque_flags & \ - (__DARWIN_ARM_THREAD_STATE64_FLAGS_NO_PTRAUTH | \ - __DARWIN_ARM_THREAD_STATE64_FLAGS_IB_SIGNED_LR)) ? __tsp->__opaque_lr : \ - ptrauth_strip(__tsp->__opaque_lr, ptrauth_key_process_independent_code)); \ - __tsp->__opaque_sp = ((__tsp->__opaque_flags & \ - __DARWIN_ARM_THREAD_STATE64_FLAGS_NO_PTRAUTH) ? __tsp->__opaque_sp : \ - ptrauth_strip(__tsp->__opaque_sp, ptrauth_key_process_independent_data)); \ - __tsp->__opaque_fp = ((__tsp->__opaque_flags & \ - __DARWIN_ARM_THREAD_STATE64_FLAGS_NO_PTRAUTH) ? __tsp->__opaque_fp : \ - ptrauth_strip(__tsp->__opaque_fp, ptrauth_key_process_independent_data)); \ - __tsp->__opaque_flags |= \ - __DARWIN_ARM_THREAD_STATE64_FLAGS_NO_PTRAUTH; __tsp->__opaque_flags &= \ - ~__DARWIN_ARM_THREAD_STATE64_FLAGS_KERNEL_SIGNED; }) - -#else /* __has_feature(ptrauth_calls) && defined(__LP64__) */ - -#if __DARWIN_OPAQUE_ARM_THREAD_STATE64 - -#ifndef __LP64__ -#error "Invalid configuration" -#endif - -/* Return pc field of arm_thread_state64_t as a data pointer value */ -#define __darwin_arm_thread_state64_get_pc(ts) \ - ((uintptr_t)((ts).__opaque_pc)) -/* Return pc field of arm_thread_state64_t as a function pointer */ -#define __darwin_arm_thread_state64_get_pc_fptr(ts) \ - ((ts).__opaque_pc) -/* Set pc field of arm_thread_state64_t to a function pointer */ -#define __darwin_arm_thread_state64_set_pc_fptr(ts, fptr) \ - ((ts).__opaque_pc = (fptr)) -/* Return lr field of arm_thread_state64_t as a data pointer value */ -#define __darwin_arm_thread_state64_get_lr(ts) \ - ((uintptr_t)((ts).__opaque_lr)) -/* Return lr field of arm_thread_state64_t as a function pointer */ -#define __darwin_arm_thread_state64_get_lr_fptr(ts) \ - ((ts).__opaque_lr) -/* Set lr field of arm_thread_state64_t to a function pointer */ -#define __darwin_arm_thread_state64_set_lr_fptr(ts, fptr) \ - ((ts).__opaque_lr = (fptr)) -/* Return sp field of arm_thread_state64_t as a data pointer value */ -#define __darwin_arm_thread_state64_get_sp(ts) \ - ((uintptr_t)((ts).__opaque_sp)) -/* Set sp field of arm_thread_state64_t to a data pointer value */ -#define __darwin_arm_thread_state64_set_sp(ts, ptr) \ - ((ts).__opaque_sp = (void*)(uintptr_t)(ptr)) -/* Return fp field of arm_thread_state64_t as a data pointer value */ -#define __darwin_arm_thread_state64_get_fp(ts) \ - ((uintptr_t)((ts).__opaque_fp)) -/* Set fp field of arm_thread_state64_t to a data pointer value */ -#define __darwin_arm_thread_state64_set_fp(ts, ptr) \ - ((ts).__opaque_fp = (void*)(uintptr_t)(ptr)) -/* Strip ptr auth bits from pc, lr, sp and fp field of arm_thread_state64_t */ -#define __darwin_arm_thread_state64_ptrauth_strip(ts) \ - (void)(ts) - -#else /* __DARWIN_OPAQUE_ARM_THREAD_STATE64 */ -#if __DARWIN_UNIX03 - -/* Return pc field of arm_thread_state64_t as a data pointer value */ -#define __darwin_arm_thread_state64_get_pc(ts) \ - ((ts).__pc) -/* Return pc field of arm_thread_state64_t as a function pointer */ -#define __darwin_arm_thread_state64_get_pc_fptr(ts) \ - ((void*)(uintptr_t)((ts).__pc)) -/* Set pc field of arm_thread_state64_t to a function pointer */ -#define __darwin_arm_thread_state64_set_pc_fptr(ts, fptr) \ - ((ts).__pc = (uintptr_t)(fptr)) -/* Return lr field of arm_thread_state64_t as a data pointer value */ -#define __darwin_arm_thread_state64_get_lr(ts) \ - ((ts).__lr) -/* Return lr field of arm_thread_state64_t as a function pointer */ -#define __darwin_arm_thread_state64_get_lr_fptr(ts) \ - ((void*)(uintptr_t)((ts).__lr)) -/* Set lr field of arm_thread_state64_t to a function pointer */ -#define __darwin_arm_thread_state64_set_lr_fptr(ts, fptr) \ - ((ts).__lr = (uintptr_t)(fptr)) -/* Return sp field of arm_thread_state64_t as a data pointer value */ -#define __darwin_arm_thread_state64_get_sp(ts) \ - ((ts).__sp) -/* Set sp field of arm_thread_state64_t to a data pointer value */ -#define __darwin_arm_thread_state64_set_sp(ts, ptr) \ - ((ts).__sp = (uintptr_t)(ptr)) -/* Return fp field of arm_thread_state64_t as a data pointer value */ -#define __darwin_arm_thread_state64_get_fp(ts) \ - ((ts).__fp) -/* Set fp field of arm_thread_state64_t to a data pointer value */ -#define __darwin_arm_thread_state64_set_fp(ts, ptr) \ - ((ts).__fp = (uintptr_t)(ptr)) -/* Strip ptr auth bits from pc, lr, sp and fp field of arm_thread_state64_t */ -#define __darwin_arm_thread_state64_ptrauth_strip(ts) \ - (void)(ts) - -#else /* __DARWIN_UNIX03 */ - -/* Return pc field of arm_thread_state64_t as a data pointer value */ -#define __darwin_arm_thread_state64_get_pc(ts) \ - ((ts).pc) -/* Return pc field of arm_thread_state64_t as a function pointer */ -#define __darwin_arm_thread_state64_get_pc_fptr(ts) \ - ((void*)(uintptr_t)((ts).pc)) -/* Set pc field of arm_thread_state64_t to a function pointer */ -#define __darwin_arm_thread_state64_set_pc_fptr(ts, fptr) \ - ((ts).pc = (uintptr_t)(fptr)) -/* Return lr field of arm_thread_state64_t as a data pointer value */ -#define __darwin_arm_thread_state64_get_lr(ts) \ - ((ts).lr) -/* Return lr field of arm_thread_state64_t as a function pointer */ -#define __darwin_arm_thread_state64_get_lr_fptr(ts) \ - ((void*)(uintptr_t)((ts).lr)) -/* Set lr field of arm_thread_state64_t to a function pointer */ -#define __darwin_arm_thread_state64_set_lr_fptr(ts, fptr) \ - ((ts).lr = (uintptr_t)(fptr)) -/* Return sp field of arm_thread_state64_t as a data pointer value */ -#define __darwin_arm_thread_state64_get_sp(ts) \ - ((ts).sp) -/* Set sp field of arm_thread_state64_t to a data pointer value */ -#define __darwin_arm_thread_state64_set_sp(ts, ptr) \ - ((ts).sp = (uintptr_t)(ptr)) -/* Return fp field of arm_thread_state64_t as a data pointer value */ -#define __darwin_arm_thread_state64_get_fp(ts) \ - ((ts).fp) -/* Set fp field of arm_thread_state64_t to a data pointer value */ -#define __darwin_arm_thread_state64_set_fp(ts, ptr) \ - ((ts).fp = (uintptr_t)(ptr)) -/* Strip ptr auth bits from pc, lr, sp and fp field of arm_thread_state64_t */ -#define __darwin_arm_thread_state64_ptrauth_strip(ts) \ - (void)(ts) - -#endif /* __DARWIN_UNIX03 */ -#endif /* __DARWIN_OPAQUE_ARM_THREAD_STATE64 */ - -#endif /* __has_feature(ptrauth_calls) && defined(__LP64__) */ -#endif /* __DARWIN_C_LEVEL >= __DARWIN_C_FULL && defined(__arm64__) */ - -#if __DARWIN_UNIX03 -#define _STRUCT_ARM_VFP_STATE struct __darwin_arm_vfp_state -_STRUCT_ARM_VFP_STATE -{ - __uint32_t __r[64]; - __uint32_t __fpscr; -}; -#else /* !__DARWIN_UNIX03 */ -#define _STRUCT_ARM_VFP_STATE struct arm_vfp_state -_STRUCT_ARM_VFP_STATE -{ - __uint32_t r[64]; - __uint32_t fpscr; -}; -#endif /* __DARWIN_UNIX03 */ - -#if __DARWIN_UNIX03 -#define _STRUCT_ARM_NEON_STATE64 struct __darwin_arm_neon_state64 -#define _STRUCT_ARM_NEON_STATE struct __darwin_arm_neon_state - -#if defined(__arm64__) -_STRUCT_ARM_NEON_STATE64 -{ - __uint128_t __v[32]; - __uint32_t __fpsr; - __uint32_t __fpcr; -}; - -_STRUCT_ARM_NEON_STATE -{ - __uint128_t __v[16]; - __uint32_t __fpsr; - __uint32_t __fpcr; -}; -#elif defined(__arm__) -/* - * No 128-bit intrinsic for ARM; leave it opaque for now. - */ -_STRUCT_ARM_NEON_STATE64 -{ - char opaque[(32 * 16) + (2 * sizeof(__uint32_t))]; -} __attribute__((aligned(16))); - -_STRUCT_ARM_NEON_STATE -{ - char opaque[(16 * 16) + (2 * sizeof(__uint32_t))]; -} __attribute__((aligned(16))); - -#else -#error Unknown architecture. -#endif - -#else /* !__DARWIN_UNIX03 */ -#define _STRUCT_ARM_NEON_STATE64 struct arm_neon_state64 -#define _STRUCT_ARM_NEON_STATE struct arm_neon_state - -#if defined(__arm64__) -_STRUCT_ARM_NEON_STATE64 -{ - __uint128_t q[32]; - uint32_t fpsr; - uint32_t fpcr; -}; - -_STRUCT_ARM_NEON_STATE -{ - __uint128_t q[16]; - uint32_t fpsr; - uint32_t fpcr; -}; -#elif defined(__arm__) -/* - * No 128-bit intrinsic for ARM; leave it opaque for now. - */ -_STRUCT_ARM_NEON_STATE64 -{ - char opaque[(32 * 16) + (2 * sizeof(__uint32_t))]; -} __attribute__((aligned(16))); - -_STRUCT_ARM_NEON_STATE -{ - char opaque[(16 * 16) + (2 * sizeof(__uint32_t))]; -} __attribute__((aligned(16))); - -#else -#error Unknown architecture. -#endif - -#endif /* __DARWIN_UNIX03 */ - - -#define _STRUCT_ARM_PAGEIN_STATE struct __arm_pagein_state -_STRUCT_ARM_PAGEIN_STATE -{ - int __pagein_error; -}; - -/* - * Debug State - */ -#if defined(__arm__) -/* Old-fashioned debug state is only for ARM */ - -#if __DARWIN_UNIX03 -#define _STRUCT_ARM_DEBUG_STATE struct __darwin_arm_debug_state -_STRUCT_ARM_DEBUG_STATE -{ - __uint32_t __bvr[16]; - __uint32_t __bcr[16]; - __uint32_t __wvr[16]; - __uint32_t __wcr[16]; -}; -#else /* !__DARWIN_UNIX03 */ -#define _STRUCT_ARM_DEBUG_STATE struct arm_debug_state -_STRUCT_ARM_DEBUG_STATE -{ - __uint32_t bvr[16]; - __uint32_t bcr[16]; - __uint32_t wvr[16]; - __uint32_t wcr[16]; -}; -#endif /* __DARWIN_UNIX03 */ - -#elif defined(__arm64__) - -/* ARM's arm_debug_state is ARM64's arm_legacy_debug_state */ - -#if __DARWIN_UNIX03 -#define _STRUCT_ARM_LEGACY_DEBUG_STATE struct __arm_legacy_debug_state -_STRUCT_ARM_LEGACY_DEBUG_STATE -{ - __uint32_t __bvr[16]; - __uint32_t __bcr[16]; - __uint32_t __wvr[16]; - __uint32_t __wcr[16]; -}; -#else /* __DARWIN_UNIX03 */ -#define _STRUCT_ARM_LEGACY_DEBUG_STATE struct arm_legacy_debug_state -_STRUCT_ARM_LEGACY_DEBUG_STATE -{ - __uint32_t bvr[16]; - __uint32_t bcr[16]; - __uint32_t wvr[16]; - __uint32_t wcr[16]; -}; -#endif /* __DARWIN_UNIX03 */ -#else -#error unknown architecture -#endif - -#if __DARWIN_UNIX03 -#define _STRUCT_ARM_DEBUG_STATE32 struct __darwin_arm_debug_state32 -_STRUCT_ARM_DEBUG_STATE32 -{ - __uint32_t __bvr[16]; - __uint32_t __bcr[16]; - __uint32_t __wvr[16]; - __uint32_t __wcr[16]; - __uint64_t __mdscr_el1; /* Bit 0 is SS (Hardware Single Step) */ -}; - -#define _STRUCT_ARM_DEBUG_STATE64 struct __darwin_arm_debug_state64 -_STRUCT_ARM_DEBUG_STATE64 -{ - __uint64_t __bvr[16]; - __uint64_t __bcr[16]; - __uint64_t __wvr[16]; - __uint64_t __wcr[16]; - __uint64_t __mdscr_el1; /* Bit 0 is SS (Hardware Single Step) */ -}; -#else /* !__DARWIN_UNIX03 */ -#define _STRUCT_ARM_DEBUG_STATE32 struct arm_debug_state32 -_STRUCT_ARM_DEBUG_STATE32 -{ - __uint32_t bvr[16]; - __uint32_t bcr[16]; - __uint32_t wvr[16]; - __uint32_t wcr[16]; - __uint64_t mdscr_el1; /* Bit 0 is SS (Hardware Single Step) */ -}; - -#define _STRUCT_ARM_DEBUG_STATE64 struct arm_debug_state64 -_STRUCT_ARM_DEBUG_STATE64 -{ - __uint64_t bvr[16]; - __uint64_t bcr[16]; - __uint64_t wvr[16]; - __uint64_t wcr[16]; - __uint64_t mdscr_el1; /* Bit 0 is SS (Hardware Single Step) */ -}; -#endif /* __DARWIN_UNIX03 */ - -#if __DARWIN_UNIX03 -#define _STRUCT_ARM_CPMU_STATE64 struct __darwin_arm_cpmu_state64 -_STRUCT_ARM_CPMU_STATE64 -{ - __uint64_t __ctrs[16]; -}; -#else /* __DARWIN_UNIX03 */ -#define _STRUCT_ARM_CPMU_STATE64 struct arm_cpmu_state64 -_STRUCT_ARM_CPMU_STATE64 -{ - __uint64_t ctrs[16]; -}; -#endif /* !__DARWIN_UNIX03 */ - -#endif /* defined (__arm__) || defined (__arm64__) */ - -#endif /* _MACH_ARM__STRUCTS_H_ */ \ No newline at end of file diff --git a/lib/libc/include/aarch64-macos.12-none/mach/arm/boolean.h b/lib/libc/include/aarch64-macos.12-none/mach/arm/boolean.h deleted file mode 100644 index 9cdf7c237e..0000000000 --- a/lib/libc/include/aarch64-macos.12-none/mach/arm/boolean.h +++ /dev/null @@ -1,74 +0,0 @@ -/* - * Copyright (c) 2000-2007 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@ - */ -/* - * @OSF_COPYRIGHT@ - */ -/* - * Mach Operating System - * Copyright (c) 1991,1990,1989 Carnegie Mellon University - * All Rights Reserved. - * - * Permission to use, copy, modify and distribute this software and its - * documentation is hereby granted, provided that both the copyright - * notice and this permission notice appear in all copies of the - * software, derivative works or modified versions, and any portions - * thereof, and that both notices appear in supporting documentation. - * - * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" - * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR - * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. - * - * Carnegie Mellon requests users of this software to return to - * - * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU - * School of Computer Science - * Carnegie Mellon University - * Pittsburgh PA 15213-3890 - * - * any improvements or extensions that they make and grant Carnegie Mellon - * the rights to redistribute these changes. - */ -/* - */ - -/* - * File: boolean.h - * - * Boolean type, for ARM. - */ - -#ifndef _MACH_ARM_BOOLEAN_H_ -#define _MACH_ARM_BOOLEAN_H_ - -#if defined (__arm__) || defined (__arm64__) - -typedef int boolean_t; - -#endif /* defined (__arm__) || defined (__arm64__) */ - -#endif /* _MACH_ARM_BOOLEAN_H_ */ \ No newline at end of file diff --git a/lib/libc/include/aarch64-macos.12-none/mach/arm/kern_return.h b/lib/libc/include/aarch64-macos.12-none/mach/arm/kern_return.h deleted file mode 100644 index bfa07951b3..0000000000 --- a/lib/libc/include/aarch64-macos.12-none/mach/arm/kern_return.h +++ /dev/null @@ -1,78 +0,0 @@ -/* - * Copyright (c) 2000-2007 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@ - */ -/* - * @OSF_COPYRIGHT@ - */ -/* - * Mach Operating System - * Copyright (c) 1991,1990,1989 Carnegie Mellon University - * All Rights Reserved. - * - * Permission to use, copy, modify and distribute this software and its - * documentation is hereby granted, provided that both the copyright - * notice and this permission notice appear in all copies of the - * software, derivative works or modified versions, and any portions - * thereof, and that both notices appear in supporting documentation. - * - * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" - * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR - * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. - * - * Carnegie Mellon requests users of this software to return to - * - * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU - * School of Computer Science - * Carnegie Mellon University - * Pittsburgh PA 15213-3890 - * - * any improvements or extensions that they make and grant Carnegie Mellon - * the rights to redistribute these changes. - */ -/* - */ - -/* - * File: kern_return.h - * Author: Avadis Tevanian, Jr., Michael Wayne Young - * Date: 1985 - * - * Machine-dependent kernel return definitions. - */ - -#ifndef _MACH_ARM_KERN_RETURN_H_ -#define _MACH_ARM_KERN_RETURN_H_ - -#if defined (__arm__) || defined (__arm64__) - -#ifndef ASSEMBLER -typedef int kern_return_t; -#endif /* ASSEMBLER */ - -#endif /* defined (__arm__) || defined (__arm64__) */ - -#endif /* _MACH_ARM_KERN_RETURN_H_ */ \ No newline at end of file diff --git a/lib/libc/include/aarch64-macos.12-none/mach/arm/rpc.h b/lib/libc/include/aarch64-macos.12-none/mach/arm/rpc.h deleted file mode 100644 index cb100ece01..0000000000 --- a/lib/libc/include/aarch64-macos.12-none/mach/arm/rpc.h +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Copyright (c) 2000-2007 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@ - */ -/* - * @OSF_COPYRIGHT@ - */ - -#ifndef _MACH_ARM_RPC_H_ -#define _MACH_ARM_RPC_H_ - -#if defined (__arm__) || defined (__arm64__) - -#endif /* defined (__arm__) || defined (__arm64__) */ - -#endif /* _MACH_ARM_RPC_H_ */ \ No newline at end of file diff --git a/lib/libc/include/aarch64-macos.12-none/mach/arm/thread_state.h b/lib/libc/include/aarch64-macos.12-none/mach/arm/thread_state.h deleted file mode 100644 index d72a3c2013..0000000000 --- a/lib/libc/include/aarch64-macos.12-none/mach/arm/thread_state.h +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Copyright (c) 2000-2007 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@ - */ -/* - * @OSF_COPYRIGHT@ - */ - -#ifndef _MACH_ARM_THREAD_STATE_H_ -#define _MACH_ARM_THREAD_STATE_H_ - -#if defined (__arm__) || defined (__arm64__) - -/* Size of maximum exported thread state in words */ -#define ARM_THREAD_STATE_MAX (1296) /* Size of biggest state possible */ - -#endif /* defined (__arm__) || defined (__arm64__) */ - -#endif /* _MACH_ARM_THREAD_STATE_H_ */ \ No newline at end of file diff --git a/lib/libc/include/aarch64-macos.12-none/mach/arm/thread_status.h b/lib/libc/include/aarch64-macos.12-none/mach/arm/thread_status.h deleted file mode 100644 index 849eca5900..0000000000 --- a/lib/libc/include/aarch64-macos.12-none/mach/arm/thread_status.h +++ /dev/null @@ -1,235 +0,0 @@ -/* - * Copyright (c) 2007 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@ - */ -/* - * FILE_ID: thread_status.h - */ - - -#ifndef _ARM_THREAD_STATUS_H_ -#define _ARM_THREAD_STATUS_H_ - -#if defined (__arm__) || defined (__arm64__) - -#include -#include -#include -#include - -/* - * Support for determining the state of a thread - */ - - -/* - * Flavors - */ - -#define ARM_THREAD_STATE 1 -#define ARM_UNIFIED_THREAD_STATE ARM_THREAD_STATE -#define ARM_VFP_STATE 2 -#define ARM_EXCEPTION_STATE 3 -#define ARM_DEBUG_STATE 4 /* pre-armv8 */ -#define THREAD_STATE_NONE 5 -#define ARM_THREAD_STATE64 6 -#define ARM_EXCEPTION_STATE64 7 -// ARM_THREAD_STATE_LAST 8 /* legacy */ -#define ARM_THREAD_STATE32 9 - - -/* API */ -#define ARM_DEBUG_STATE32 14 -#define ARM_DEBUG_STATE64 15 -#define ARM_NEON_STATE 16 -#define ARM_NEON_STATE64 17 -#define ARM_CPMU_STATE64 18 - - -#define ARM_PAGEIN_STATE 27 - -#ifndef ARM_STATE_FLAVOR_IS_OTHER_VALID -#define ARM_STATE_FLAVOR_IS_OTHER_VALID(_flavor_) 0 -#endif - -#define VALID_THREAD_STATE_FLAVOR(x) \ - ((x == ARM_THREAD_STATE) || \ - (x == ARM_VFP_STATE) || \ - (x == ARM_EXCEPTION_STATE) || \ - (x == ARM_DEBUG_STATE) || \ - (x == THREAD_STATE_NONE) || \ - (x == ARM_THREAD_STATE32) || \ - (x == ARM_THREAD_STATE64) || \ - (x == ARM_EXCEPTION_STATE64) || \ - (x == ARM_NEON_STATE) || \ - (x == ARM_NEON_STATE64) || \ - (x == ARM_DEBUG_STATE32) || \ - (x == ARM_DEBUG_STATE64) || \ - (x == ARM_PAGEIN_STATE) || \ - (ARM_STATE_FLAVOR_IS_OTHER_VALID(x))) - -struct arm_state_hdr { - uint32_t flavor; - uint32_t count; -}; -typedef struct arm_state_hdr arm_state_hdr_t; - -typedef _STRUCT_ARM_THREAD_STATE arm_thread_state_t; -typedef _STRUCT_ARM_THREAD_STATE arm_thread_state32_t; -typedef _STRUCT_ARM_THREAD_STATE64 arm_thread_state64_t; - -#if __DARWIN_C_LEVEL >= __DARWIN_C_FULL && defined(__arm64__) - -/* Accessor macros for arm_thread_state64_t pointer fields */ - -/* Return pc field of arm_thread_state64_t as a data pointer value */ -#define arm_thread_state64_get_pc(ts) \ - __darwin_arm_thread_state64_get_pc(ts) -/* Return pc field of arm_thread_state64_t as a function pointer. May return - * NULL if a valid function pointer cannot be constructed, the caller should - * fall back to the arm_thread_state64_get_pc() macro in that case. */ -#define arm_thread_state64_get_pc_fptr(ts) \ - __darwin_arm_thread_state64_get_pc_fptr(ts) -/* Set pc field of arm_thread_state64_t to a function pointer */ -#define arm_thread_state64_set_pc_fptr(ts, fptr) \ - __darwin_arm_thread_state64_set_pc_fptr(ts, fptr) -/* Return lr field of arm_thread_state64_t as a data pointer value */ -#define arm_thread_state64_get_lr(ts) \ - __darwin_arm_thread_state64_get_lr(ts) -/* Return lr field of arm_thread_state64_t as a function pointer. May return - * NULL if a valid function pointer cannot be constructed, the caller should - * fall back to the arm_thread_state64_get_lr() macro in that case. */ -#define arm_thread_state64_get_lr_fptr(ts) \ - __darwin_arm_thread_state64_get_lr_fptr(ts) -/* Set lr field of arm_thread_state64_t to a function pointer */ -#define arm_thread_state64_set_lr_fptr(ts, fptr) \ - __darwin_arm_thread_state64_set_lr_fptr(ts, fptr) -/* Return sp field of arm_thread_state64_t as a data pointer value */ -#define arm_thread_state64_get_sp(ts) \ - __darwin_arm_thread_state64_get_sp(ts) -/* Set sp field of arm_thread_state64_t to a data pointer value */ -#define arm_thread_state64_set_sp(ts, ptr) \ - __darwin_arm_thread_state64_set_sp(ts, ptr) -/* Return fp field of arm_thread_state64_t as a data pointer value */ -#define arm_thread_state64_get_fp(ts) \ - __darwin_arm_thread_state64_get_fp(ts) -/* Set fp field of arm_thread_state64_t to a data pointer value */ -#define arm_thread_state64_set_fp(ts, ptr) \ - __darwin_arm_thread_state64_set_fp(ts, ptr) -/* Strip ptr auth bits from pc, lr, sp and fp field of arm_thread_state64_t */ -#define arm_thread_state64_ptrauth_strip(ts) \ - __darwin_arm_thread_state64_ptrauth_strip(ts) - -#endif /* __DARWIN_C_LEVEL >= __DARWIN_C_FULL && defined(__arm64__) */ - -struct arm_unified_thread_state { - arm_state_hdr_t ash; - union { - arm_thread_state32_t ts_32; - arm_thread_state64_t ts_64; - } uts; -}; -#define ts_32 uts.ts_32 -#define ts_64 uts.ts_64 -typedef struct arm_unified_thread_state arm_unified_thread_state_t; - -#define ARM_THREAD_STATE_COUNT ((mach_msg_type_number_t) \ - (sizeof (arm_thread_state_t)/sizeof(uint32_t))) -#define ARM_THREAD_STATE32_COUNT ((mach_msg_type_number_t) \ - (sizeof (arm_thread_state32_t)/sizeof(uint32_t))) -#define ARM_THREAD_STATE64_COUNT ((mach_msg_type_number_t) \ - (sizeof (arm_thread_state64_t)/sizeof(uint32_t))) -#define ARM_UNIFIED_THREAD_STATE_COUNT ((mach_msg_type_number_t) \ - (sizeof (arm_unified_thread_state_t)/sizeof(uint32_t))) - - -typedef _STRUCT_ARM_VFP_STATE arm_vfp_state_t; -typedef _STRUCT_ARM_NEON_STATE arm_neon_state_t; -typedef _STRUCT_ARM_NEON_STATE arm_neon_state32_t; -typedef _STRUCT_ARM_NEON_STATE64 arm_neon_state64_t; - - -typedef _STRUCT_ARM_EXCEPTION_STATE arm_exception_state_t; -typedef _STRUCT_ARM_EXCEPTION_STATE arm_exception_state32_t; -typedef _STRUCT_ARM_EXCEPTION_STATE64 arm_exception_state64_t; - -typedef _STRUCT_ARM_DEBUG_STATE32 arm_debug_state32_t; -typedef _STRUCT_ARM_DEBUG_STATE64 arm_debug_state64_t; - -typedef _STRUCT_ARM_PAGEIN_STATE arm_pagein_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. - */ -#if defined(__arm__) -typedef _STRUCT_ARM_DEBUG_STATE arm_debug_state_t; -#elif defined(__arm64__) -typedef _STRUCT_ARM_LEGACY_DEBUG_STATE arm_debug_state_t; -#else /* defined(__arm__) */ -#error Undefined architecture -#endif /* defined(__arm__) */ - -#define ARM_VFP_STATE_COUNT ((mach_msg_type_number_t) \ - (sizeof (arm_vfp_state_t)/sizeof(uint32_t))) - -#define ARM_EXCEPTION_STATE_COUNT ((mach_msg_type_number_t) \ - (sizeof (arm_exception_state_t)/sizeof(uint32_t))) - -#define ARM_EXCEPTION_STATE64_COUNT ((mach_msg_type_number_t) \ - (sizeof (arm_exception_state64_t)/sizeof(uint32_t))) - -#define ARM_DEBUG_STATE_COUNT ((mach_msg_type_number_t) \ - (sizeof (arm_debug_state_t)/sizeof(uint32_t))) - -#define ARM_DEBUG_STATE32_COUNT ((mach_msg_type_number_t) \ - (sizeof (arm_debug_state32_t)/sizeof(uint32_t))) - -#define ARM_PAGEIN_STATE_COUNT ((mach_msg_type_number_t) \ - (sizeof (arm_pagein_state_t)/sizeof(uint32_t))) - -#define ARM_DEBUG_STATE64_COUNT ((mach_msg_type_number_t) \ - (sizeof (arm_debug_state64_t)/sizeof(uint32_t))) - -#define ARM_NEON_STATE_COUNT ((mach_msg_type_number_t) \ - (sizeof (arm_neon_state_t)/sizeof(uint32_t))) - -#define ARM_NEON_STATE64_COUNT ((mach_msg_type_number_t) \ - (sizeof (arm_neon_state64_t)/sizeof(uint32_t))) - -#define MACHINE_THREAD_STATE ARM_THREAD_STATE -#define MACHINE_THREAD_STATE_COUNT ARM_UNIFIED_THREAD_STATE_COUNT - - -/* - * Largest state on this machine: - */ -#define THREAD_MACHINE_STATE_MAX THREAD_STATE_MAX - - -#endif /* defined (__arm__) || defined (__arm64__) */ - -#endif /* _ARM_THREAD_STATUS_H_ */ \ No newline at end of file diff --git a/lib/libc/include/aarch64-macos.12-none/mach/arm/vm_param.h b/lib/libc/include/aarch64-macos.12-none/mach/arm/vm_param.h deleted file mode 100644 index b80ab26df0..0000000000 --- a/lib/libc/include/aarch64-macos.12-none/mach/arm/vm_param.h +++ /dev/null @@ -1,112 +0,0 @@ -/* - * Copyright (c) 2007 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@ - */ -/* - * FILE_ID: vm_param.h - */ - -/* - * ARM machine dependent virtual memory parameters. - */ - -#ifndef _MACH_ARM_VM_PARAM_H_ -#define _MACH_ARM_VM_PARAM_H_ - -#if defined (__arm__) || defined (__arm64__) - - - -#if !defined (KERNEL) && !defined (__ASSEMBLER__) -#include -#endif - -#define BYTE_SIZE 8 /* byte size in bits */ - - -#define PAGE_SHIFT vm_page_shift -#define PAGE_SIZE vm_page_size -#define PAGE_MASK vm_page_mask - -#define VM_PAGE_SIZE vm_page_size - -#define machine_ptob(x) ((x) << PAGE_SHIFT) - - -#define PAGE_MAX_SHIFT 14 -#define PAGE_MAX_SIZE (1 << PAGE_MAX_SHIFT) -#define PAGE_MAX_MASK (PAGE_MAX_SIZE-1) - -#define PAGE_MIN_SHIFT 12 -#define PAGE_MIN_SIZE (1 << PAGE_MIN_SHIFT) -#define PAGE_MIN_MASK (PAGE_MIN_SIZE-1) - -#define VM_MAX_PAGE_ADDRESS MACH_VM_MAX_ADDRESS - -#ifndef __ASSEMBLER__ - - -#if defined (__arm__) - -#define VM_MIN_ADDRESS ((vm_address_t) 0x00000000) -#define VM_MAX_ADDRESS ((vm_address_t) 0x80000000) - -/* system-wide values */ -#define MACH_VM_MIN_ADDRESS ((mach_vm_offset_t) 0) -#define MACH_VM_MAX_ADDRESS ((mach_vm_offset_t) VM_MAX_ADDRESS) - -#elif defined (__arm64__) - -#define VM_MIN_ADDRESS ((vm_address_t) 0x0000000000000000ULL) -#define VM_MAX_ADDRESS ((vm_address_t) 0x0000000080000000ULL) - -/* system-wide values */ -#define MACH_VM_MIN_ADDRESS_RAW 0x0ULL -#define MACH_VM_MAX_ADDRESS_RAW 0x00007FFFFE000000ULL - -#define MACH_VM_MIN_ADDRESS ((mach_vm_offset_t) MACH_VM_MIN_ADDRESS_RAW) -#define MACH_VM_MAX_ADDRESS ((mach_vm_offset_t) MACH_VM_MAX_ADDRESS_RAW) - -#define MACH_VM_MIN_GPU_CARVEOUT_ADDRESS_RAW 0x0000001000000000ULL -#define MACH_VM_MAX_GPU_CARVEOUT_ADDRESS_RAW 0x0000007000000000ULL -#define MACH_VM_MIN_GPU_CARVEOUT_ADDRESS ((mach_vm_offset_t) MACH_VM_MIN_GPU_CARVEOUT_ADDRESS_RAW) -#define MACH_VM_MAX_GPU_CARVEOUT_ADDRESS ((mach_vm_offset_t) MACH_VM_MAX_GPU_CARVEOUT_ADDRESS_RAW) - -#else /* defined(__arm64__) */ -#error architecture not supported -#endif - -#define VM_MAP_MIN_ADDRESS VM_MIN_ADDRESS -#define VM_MAP_MAX_ADDRESS VM_MAX_ADDRESS - - -#endif /* !__ASSEMBLER__ */ - -#define SWI_SYSCALL 0x80 - -#endif /* defined (__arm__) || defined (__arm64__) */ - -#endif /* _MACH_ARM_VM_PARAM_H_ */ \ No newline at end of file diff --git a/lib/libc/include/aarch64-macos.13-none/arm/_mcontext.h b/lib/libc/include/aarch64-macos.13-none/arm/_mcontext.h deleted file mode 100644 index 26b83ce221..0000000000 --- a/lib/libc/include/aarch64-macos.13-none/arm/_mcontext.h +++ /dev/null @@ -1,95 +0,0 @@ -/* - * Copyright (c) 2003-2012 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 __ARM_MCONTEXT_H_ -#define __ARM_MCONTEXT_H_ - -#if defined (__arm__) || defined (__arm64__) - -#include /* __DARWIN_UNIX03 */ -#include -#include - -#ifndef _STRUCT_MCONTEXT32 -#if __DARWIN_UNIX03 -#define _STRUCT_MCONTEXT32 struct __darwin_mcontext32 -_STRUCT_MCONTEXT32 -{ - _STRUCT_ARM_EXCEPTION_STATE __es; - _STRUCT_ARM_THREAD_STATE __ss; - _STRUCT_ARM_VFP_STATE __fs; -}; - -#else /* !__DARWIN_UNIX03 */ -#define _STRUCT_MCONTEXT32 struct mcontext32 -_STRUCT_MCONTEXT32 -{ - _STRUCT_ARM_EXCEPTION_STATE es; - _STRUCT_ARM_THREAD_STATE ss; - _STRUCT_ARM_VFP_STATE fs; -}; - -#endif /* __DARWIN_UNIX03 */ -#endif /* _STRUCT_MCONTEXT32 */ - - -#ifndef _STRUCT_MCONTEXT64 -#if __DARWIN_UNIX03 -#define _STRUCT_MCONTEXT64 struct __darwin_mcontext64 -_STRUCT_MCONTEXT64 -{ - _STRUCT_ARM_EXCEPTION_STATE64 __es; - _STRUCT_ARM_THREAD_STATE64 __ss; - _STRUCT_ARM_NEON_STATE64 __ns; -}; - -#else /* !__DARWIN_UNIX03 */ -#define _STRUCT_MCONTEXT64 struct mcontext64 -_STRUCT_MCONTEXT64 -{ - _STRUCT_ARM_EXCEPTION_STATE64 es; - _STRUCT_ARM_THREAD_STATE64 ss; - _STRUCT_ARM_NEON_STATE64 ns; -}; -#endif /* __DARWIN_UNIX03 */ -#endif /* _STRUCT_MCONTEXT32 */ - -#ifndef _MCONTEXT_T -#define _MCONTEXT_T -#if defined(__arm64__) -typedef _STRUCT_MCONTEXT64 *mcontext_t; -#define _STRUCT_MCONTEXT _STRUCT_MCONTEXT64 -#else -typedef _STRUCT_MCONTEXT32 *mcontext_t; -#define _STRUCT_MCONTEXT _STRUCT_MCONTEXT32 -#endif -#endif /* _MCONTEXT_T */ - -#endif /* defined (__arm__) || defined (__arm64__) */ - -#endif /* __ARM_MCONTEXT_H_ */ \ No newline at end of file diff --git a/lib/libc/include/aarch64-macos.13-none/arm/_types.h b/lib/libc/include/aarch64-macos.13-none/arm/_types.h deleted file mode 100644 index 403ec44048..0000000000 --- a/lib/libc/include/aarch64-macos.13-none/arm/_types.h +++ /dev/null @@ -1,102 +0,0 @@ -/* - * Copyright (c) 2000-2007 Apple Inc. All rights reserved. - */ -#ifndef _BSD_ARM__TYPES_H_ -#define _BSD_ARM__TYPES_H_ - -#if defined (__arm__) || defined (__arm64__) - -/* - * This header file contains integer types. It's intended to also contain - * flotaing point and other arithmetic types, as needed, later. - */ - -#ifdef __GNUC__ -typedef __signed char __int8_t; -#else /* !__GNUC__ */ -typedef char __int8_t; -#endif /* !__GNUC__ */ -typedef unsigned char __uint8_t; -typedef short __int16_t; -typedef unsigned short __uint16_t; -typedef int __int32_t; -typedef unsigned int __uint32_t; -typedef long long __int64_t; -typedef unsigned long long __uint64_t; - -typedef long __darwin_intptr_t; -typedef unsigned int __darwin_natural_t; - -/* - * The rune type below is declared to be an ``int'' instead of the more natural - * ``unsigned long'' or ``long''. Two things are happening here. It is not - * unsigned so that EOF (-1) can be naturally assigned to it and used. Also, - * it looks like 10646 will be a 31 bit standard. This means that if your - * ints cannot hold 32 bits, you will be in trouble. The reason an int was - * chosen over a long is that the is*() and to*() routines take ints (says - * ANSI C), but they use __darwin_ct_rune_t instead of int. By changing it - * here, you lose a bit of ANSI conformance, but your programs will still - * work. - * - * NOTE: rune_t is not covered by ANSI nor other standards, and should not - * be instantiated outside of lib/libc/locale. Use wchar_t. wchar_t and - * rune_t must be the same type. Also wint_t must be no narrower than - * wchar_t, and should also be able to hold all members of the largest - * character set plus one extra value (WEOF). wint_t must be at least 16 bits. - */ - -typedef int __darwin_ct_rune_t; /* ct_rune_t */ - -/* - * mbstate_t is an opaque object to keep conversion state, during multibyte - * stream conversions. The content must not be referenced by user programs. - */ -typedef union { - char __mbstate8[128]; - long long _mbstateL; /* for alignment */ -} __mbstate_t; - -typedef __mbstate_t __darwin_mbstate_t; /* mbstate_t */ - -#if defined(__PTRDIFF_TYPE__) -typedef __PTRDIFF_TYPE__ __darwin_ptrdiff_t; /* ptr1 - ptr2 */ -#elif defined(__LP64__) -typedef long __darwin_ptrdiff_t; /* ptr1 - ptr2 */ -#else -typedef int __darwin_ptrdiff_t; /* ptr1 - ptr2 */ -#endif /* __GNUC__ */ - -#if defined(__SIZE_TYPE__) -typedef __SIZE_TYPE__ __darwin_size_t; /* sizeof() */ -#else -typedef unsigned long __darwin_size_t; /* sizeof() */ -#endif - -#if (__GNUC__ > 2) -typedef __builtin_va_list __darwin_va_list; /* va_list */ -#else -typedef void * __darwin_va_list; /* va_list */ -#endif - -#if defined(__WCHAR_TYPE__) -typedef __WCHAR_TYPE__ __darwin_wchar_t; /* wchar_t */ -#else -typedef __darwin_ct_rune_t __darwin_wchar_t; /* wchar_t */ -#endif - -typedef __darwin_wchar_t __darwin_rune_t; /* rune_t */ - -#if defined(__WINT_TYPE__) -typedef __WINT_TYPE__ __darwin_wint_t; /* wint_t */ -#else -typedef __darwin_ct_rune_t __darwin_wint_t; /* wint_t */ -#endif - -typedef unsigned long __darwin_clock_t; /* clock() */ -typedef __uint32_t __darwin_socklen_t; /* socklen_t (duh) */ -typedef long __darwin_ssize_t; /* byte count or error */ -typedef long __darwin_time_t; /* time() */ - -#endif /* defined (__arm__) || defined (__arm64__) */ - -#endif /* _BSD_ARM__TYPES_H_ */ \ No newline at end of file diff --git a/lib/libc/include/aarch64-macos.13-none/arm/endian.h b/lib/libc/include/aarch64-macos.13-none/arm/endian.h deleted file mode 100644 index 851f2eafe2..0000000000 --- a/lib/libc/include/aarch64-macos.13-none/arm/endian.h +++ /dev/null @@ -1,81 +0,0 @@ -/* - * Copyright (c) 2000-2007 Apple Inc. All rights reserved. - */ -/* - * Copyright 1995 NeXT Computer, Inc. All rights reserved. - */ -/* - * Copyright (c) 1987, 1991, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)endian.h 8.1 (Berkeley) 6/11/93 - */ - -#ifndef _ARM__ENDIAN_H_ -#define _ARM__ENDIAN_H_ - -#if defined (__arm__) || defined (__arm64__) - -#include -/* - * Define _NOQUAD if the compiler does NOT support 64-bit integers. - */ -/* #define _NOQUAD */ - -/* - * Define the order of 32-bit words in 64-bit words. - */ -#define _QUAD_HIGHWORD 1 -#define _QUAD_LOWWORD 0 - -/* - * Definitions for byte order, according to byte significance from low - * address to high. - */ -#define __DARWIN_LITTLE_ENDIAN 1234 /* LSB first: i386, vax */ -#define __DARWIN_BIG_ENDIAN 4321 /* MSB first: 68000, ibm, net */ -#define __DARWIN_PDP_ENDIAN 3412 /* LSB first in word, MSW first in long */ - -#define __DARWIN_BYTE_ORDER __DARWIN_LITTLE_ENDIAN - -#if defined(KERNEL) || (!defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)) - -#define LITTLE_ENDIAN __DARWIN_LITTLE_ENDIAN -#define BIG_ENDIAN __DARWIN_BIG_ENDIAN -#define PDP_ENDIAN __DARWIN_PDP_ENDIAN - -#define BYTE_ORDER __DARWIN_BYTE_ORDER - -#include - -#endif /* defined(KERNEL) || (!defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)) */ -#endif /* defined (__arm__) || defined (__arm64__) */ -#endif /* !_ARM__ENDIAN_H_ */ \ No newline at end of file diff --git a/lib/libc/include/aarch64-macos.13-none/arm/param.h b/lib/libc/include/aarch64-macos.13-none/arm/param.h deleted file mode 100644 index f36fa322cb..0000000000 --- a/lib/libc/include/aarch64-macos.13-none/arm/param.h +++ /dev/null @@ -1,151 +0,0 @@ -/* - * Copyright (c) 2000-2010 Apple Inc. All rights reserved. - */ -/*- - * Copyright (c) 1990, 1993 - * The Regents of the University of California. All rights reserved. - * (c) UNIX System Laboratories, Inc. - * All or some portions of this file are derived from material licensed - * to the University of California by American Telephone and Telegraph - * Co. or Unix System Laboratories, Inc. and are reproduced herein with - * the permission of UNIX System Laboratories, Inc. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)param.h 8.1 (Berkeley) 4/4/95 - */ - -/* - * Machine dependent constants for ARM - */ - -#ifndef _ARM_PARAM_H_ -#define _ARM_PARAM_H_ - -#if defined (__arm__) || defined (__arm64__) - -#include - -/* - * Round p (pointer or byte index) up to a correctly-aligned value for all - * data types (int, long, ...). The result is unsigned int and must be - * cast to any desired pointer type. - */ -#define ALIGNBYTES __DARWIN_ALIGNBYTES -#define ALIGN(p) __DARWIN_ALIGN(p) - -#define NBPG 4096 /* bytes/page */ -#define PGOFSET (NBPG-1) /* byte offset into page */ -#define PGSHIFT 12 /* LOG2(NBPG) */ - -#define DEV_BSIZE 512 -#define DEV_BSHIFT 9 /* log2(DEV_BSIZE) */ -#define BLKDEV_IOSIZE 2048 -#define MAXPHYS (64 * 1024) /* max raw I/O transfer size */ - -#define CLSIZE 1 -#define CLSIZELOG2 0 - -/* - * Constants related to network buffer management. - * MCLBYTES must be no larger than CLBYTES (the software page size), and, - * on machines that exchange pages of input or output buffers with mbuf - * clusters (MAPPED_MBUFS), MCLBYTES must also be an integral multiple - * of the hardware page size. - */ -#define MSIZESHIFT 8 /* 256 */ -#define MSIZE (1 << MSIZESHIFT) /* size of an mbuf */ -#define MCLSHIFT 11 /* 2048 */ -#define MCLBYTES (1 << MCLSHIFT) /* size of an mbuf cluster */ -#define MBIGCLSHIFT 12 /* 4096 */ -#define MBIGCLBYTES (1 << MBIGCLSHIFT) /* size of a big cluster */ -#define M16KCLSHIFT 14 /* 16384 */ -#define M16KCLBYTES (1 << M16KCLSHIFT) /* size of a jumbo cluster */ - -#define MCLOFSET (MCLBYTES - 1) -#ifndef NMBCLUSTERS -#define NMBCLUSTERS CONFIG_NMBCLUSTERS /* cl map size */ -#endif - -/* - * Some macros for units conversion - */ -/* Core clicks (NeXT_page_size bytes) to segments and vice versa */ -#define ctos(x) (x) -#define stoc(x) (x) - -/* Core clicks (4096 bytes) to disk blocks */ -#define ctod(x) ((x)<<(PGSHIFT-DEV_BSHIFT)) -#define dtoc(x) ((x)>>(PGSHIFT-DEV_BSHIFT)) -#define dtob(x) ((x)<>PGSHIFT) - -#ifdef __APPLE__ -#define btodb(bytes, devBlockSize) \ - ((unsigned)(bytes) / devBlockSize) -#define dbtob(db, devBlockSize) \ - ((unsigned)(db) * devBlockSize) -#else -#define btodb(bytes) /* calculates (bytes / DEV_BSIZE) */ \ - ((unsigned)(bytes) >> DEV_BSHIFT) -#define dbtob(db) /* calculates (db * DEV_BSIZE) */ \ - ((unsigned)(db) << DEV_BSHIFT) -#endif - -/* - * Map a ``block device block'' to a file system block. - * This should be device dependent, and will be if we - * add an entry to cdevsw/bdevsw for that purpose. - * For now though just use DEV_BSIZE. - */ -#define bdbtofsb(bn) ((bn) / (BLKDEV_IOSIZE/DEV_BSIZE)) - -/* - * Macros to decode (and encode) processor status word. - */ -#define STATUS_WORD(rpl, ipl) (((ipl) << 8) | (rpl)) -#define USERMODE(x) (((x) & 3) == 3) -#define BASEPRI(x) (((x) & (255 << 8)) == 0) - - -#if defined(KERNEL) || defined(STANDALONE) -#define DELAY(n) delay(n) - -#else /* defined(KERNEL) || defined(STANDALONE) */ -#define DELAY(n) { int N = (n); while (--N > 0); } -#endif /* defined(KERNEL) || defined(STANDALONE) */ - -#endif /* defined (__arm__) || defined (__arm64__) */ - -#endif /* _ARM_PARAM_H_ */ \ No newline at end of file diff --git a/lib/libc/include/aarch64-macos.13-none/arm/types.h b/lib/libc/include/aarch64-macos.13-none/arm/types.h deleted file mode 100644 index 6cc1f453c9..0000000000 --- a/lib/libc/include/aarch64-macos.13-none/arm/types.h +++ /dev/null @@ -1,111 +0,0 @@ -/* - * Copyright (c) 2000-2008 Apple Inc. All rights reserved. - */ -/* - * Copyright 1995 NeXT Computer, Inc. All rights reserved. - */ -/* - * Copyright (c) 1990, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)types.h 8.3 (Berkeley) 1/5/94 - */ - -#ifndef _ARM_MACHTYPES_H_ -#define _ARM_MACHTYPES_H_ -#define _MACHTYPES_H_ - -#if defined (__arm__) || defined (__arm64__) - -#ifndef __ASSEMBLER__ -#include -#include -/* - * Basic integral types. Omit the typedef if - * not possible for a machine/compiler combination. - */ -#include -#include -#include -#include - -#include -#include -#include -#include - -#if __LP64__ -typedef int64_t register_t; -#else -typedef int32_t register_t; -#endif - -#include -#include - -#if !defined(_ANSI_SOURCE) && (!defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)) -/* These types are used for reserving the largest possible size. */ -#ifdef __arm64__ -typedef u_int64_t user_addr_t; -typedef u_int64_t user_size_t; -typedef int64_t user_ssize_t; -typedef int64_t user_long_t; -typedef u_int64_t user_ulong_t; -typedef int64_t user_time_t; -typedef int64_t user_off_t; -#else -typedef u_int32_t user_addr_t; -typedef u_int32_t user_size_t; -typedef int32_t user_ssize_t; -typedef int32_t user_long_t; -typedef u_int32_t user_ulong_t; -typedef int32_t user_time_t; -typedef int64_t user_off_t; -#endif - -#define USER_ADDR_NULL ((user_addr_t) 0) -#define CAST_USER_ADDR_T(a_ptr) ((user_addr_t)((uintptr_t)(a_ptr))) - - -#endif /* !_ANSI_SOURCE && (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */ - -/* This defines the size of syscall arguments after copying into the kernel: */ -#if defined(__arm__) -typedef u_int32_t syscall_arg_t; -#elif defined(__arm64__) -typedef u_int64_t syscall_arg_t; -#else -#error Unknown architecture. -#endif - -#endif /* __ASSEMBLER__ */ -#endif /* defined (__arm__) || defined (__arm64__) */ -#endif /* _ARM_MACHTYPES_H_ */ \ No newline at end of file diff --git a/lib/libc/include/aarch64-macos.13-none/libkern/OSAtomicDeprecated.h b/lib/libc/include/aarch64-macos.13-none/libkern/OSAtomicDeprecated.h deleted file mode 100644 index 6dc880b0d4..0000000000 --- a/lib/libc/include/aarch64-macos.13-none/libkern/OSAtomicDeprecated.h +++ /dev/null @@ -1,1266 +0,0 @@ -/* - * Copyright (c) 2004-2016 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 _OSATOMIC_DEPRECATED_H_ -#define _OSATOMIC_DEPRECATED_H_ - -/*! @header - * These are deprecated legacy interfaces for atomic operations. - * The C11 interfaces in resp. C++11 interfaces in - * should be used instead. - * - * Define OSATOMIC_USE_INLINED=1 to get inline implementations of these - * interfaces in terms of the resp. primitives. - * This is intended as a transition convenience, direct use of those primitives - * is preferred. - */ - -#include - -#if !(defined(OSATOMIC_USE_INLINED) && OSATOMIC_USE_INLINED) - -#include -#include -#include -#include - -#ifndef OSATOMIC_DEPRECATED -#define OSATOMIC_DEPRECATED 1 -#ifndef __cplusplus -#define OSATOMIC_BARRIER_DEPRECATED_MSG(_r) \ - "Use " #_r "() from instead" -#define OSATOMIC_DEPRECATED_MSG(_r) \ - "Use " #_r "_explicit(memory_order_relaxed) from instead" -#else -#define OSATOMIC_BARRIER_DEPRECATED_MSG(_r) \ - "Use std::" #_r "() from instead" -#define OSATOMIC_DEPRECATED_MSG(_r) \ - "Use std::" #_r "_explicit(std::memory_order_relaxed) from instead" -#endif -#define OSATOMIC_BARRIER_DEPRECATED_REPLACE_WITH(_r) \ - __OS_AVAILABILITY_MSG(macosx, deprecated=10.12, OSATOMIC_BARRIER_DEPRECATED_MSG(_r)) \ - __OS_AVAILABILITY_MSG(ios, deprecated=10.0, OSATOMIC_BARRIER_DEPRECATED_MSG(_r)) \ - __OS_AVAILABILITY_MSG(tvos, deprecated=10.0, OSATOMIC_BARRIER_DEPRECATED_MSG(_r)) \ - __OS_AVAILABILITY_MSG(watchos, deprecated=3.0, OSATOMIC_BARRIER_DEPRECATED_MSG(_r)) -#define OSATOMIC_DEPRECATED_REPLACE_WITH(_r) \ - __OS_AVAILABILITY_MSG(macosx, deprecated=10.12, OSATOMIC_DEPRECATED_MSG(_r)) \ - __OS_AVAILABILITY_MSG(ios, deprecated=10.0, OSATOMIC_DEPRECATED_MSG(_r)) \ - __OS_AVAILABILITY_MSG(tvos, deprecated=10.0, OSATOMIC_DEPRECATED_MSG(_r)) \ - __OS_AVAILABILITY_MSG(watchos, deprecated=3.0, OSATOMIC_DEPRECATED_MSG(_r)) -#else -#undef OSATOMIC_DEPRECATED -#define OSATOMIC_DEPRECATED 0 -#define OSATOMIC_BARRIER_DEPRECATED_REPLACE_WITH(_r) -#define OSATOMIC_DEPRECATED_REPLACE_WITH(_r) -#endif - -/* - * WARNING: all addresses passed to these functions must be "naturally aligned", - * i.e. int32_t pointers must be 32-bit aligned (low 2 bits of - * address are zeroes), and int64_t pointers must be 64-bit - * aligned (low 3 bits of address are zeroes.). - * Note that this is not the default alignment of the int64_t type - * in the iOS ARMv7 ABI, see - * {@link //apple_ref/doc/uid/TP40009021-SW8 iPhoneOSABIReference} - * - * Note that some versions of the atomic functions incorporate memory barriers - * and some do not. Barriers strictly order memory access on weakly-ordered - * architectures such as ARM. All loads and stores that appear (in sequential - * program order) before the barrier are guaranteed to complete before any - * load or store that appears after the barrier. - * - * The barrier operation is typically a no-op on uniprocessor systems and - * fully enabled on multiprocessor systems. On some platforms, such as ARM, - * the barrier can be quite expensive. - * - * Most code should use the barrier functions to ensure that memory shared - * between threads is properly synchronized. For example, if you want to - * initialize a shared data structure and then atomically increment a variable - * to indicate that the initialization is complete, you must use - * {@link OSAtomicIncrement32Barrier} to ensure that the stores to your data - * structure complete before the atomic increment. - * - * Likewise, the consumer of that data structure must use - * {@link OSAtomicDecrement32Barrier}, - * in order to ensure that their loads of the structure are not executed before - * the atomic decrement. On the other hand, if you are simply incrementing a - * global counter, then it is safe and potentially faster to use - * {@link OSAtomicIncrement32}. - * - * If you are unsure which version to use, prefer the barrier variants as they - * are safer. - * - * For the kernel-space version of this header, see - * {@link //apple_ref/doc/header/OSAtomic.h OSAtomic.h (Kernel Framework)} - * - * @apiuid //apple_ref/doc/header/user_space_OSAtomic.h - */ - -__BEGIN_DECLS - -/*! @typedef OSAtomic_int64_aligned64_t - * 64-bit aligned int64_t type. - * Use for variables whose addresses are passed to OSAtomic*64() functions to - * get the compiler to generate the required alignment. - */ - -#if __has_attribute(aligned) -typedef int64_t __attribute__((__aligned__((sizeof(int64_t))))) - OSAtomic_int64_aligned64_t; -#else -typedef int64_t OSAtomic_int64_aligned64_t; -#endif - -/*! @group Arithmetic functions - All functions in this group return the new value. - */ - -/*! @abstract Atomically adds two 32-bit values. - @discussion - This function adds the value given by __theAmount to the - value in the memory location referenced by __theValue, - storing the result back to that memory location atomically. - @result Returns the new value. - */ -OSATOMIC_DEPRECATED_REPLACE_WITH(atomic_fetch_add) -__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0) -int32_t OSAtomicAdd32( int32_t __theAmount, volatile int32_t *__theValue ); - - -/*! @abstract Atomically adds two 32-bit values. - @discussion - This function adds the value given by __theAmount to the - value in the memory location referenced by __theValue, - storing the result back to that memory location atomically. - - This function is equivalent to {@link OSAtomicAdd32} - except that it also introduces a barrier. - @result Returns the new value. - */ -OSATOMIC_BARRIER_DEPRECATED_REPLACE_WITH(atomic_fetch_add) -__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0) -int32_t OSAtomicAdd32Barrier( int32_t __theAmount, volatile int32_t *__theValue ); - - -#if __MAC_OS_X_VERSION_MIN_REQUIRED >= __MAC_10_10 || __IPHONE_OS_VERSION_MIN_REQUIRED >= __IPHONE_7_1 || TARGET_OS_DRIVERKIT - -/*! @abstract Atomically increments a 32-bit value. - @result Returns the new value. - */ -OSATOMIC_DEPRECATED_REPLACE_WITH(atomic_fetch_add) -__OSX_AVAILABLE_STARTING(__MAC_10_10, __IPHONE_7_1) -int32_t OSAtomicIncrement32( volatile int32_t *__theValue ); - - -/*! @abstract Atomically increments a 32-bit value with a barrier. - @discussion - This function is equivalent to {@link OSAtomicIncrement32} - except that it also introduces a barrier. - @result Returns the new value. - */ -OSATOMIC_BARRIER_DEPRECATED_REPLACE_WITH(atomic_fetch_add) -__OSX_AVAILABLE_STARTING(__MAC_10_10, __IPHONE_7_1) -int32_t OSAtomicIncrement32Barrier( volatile int32_t *__theValue ); - - -/*! @abstract Atomically decrements a 32-bit value. - @result Returns the new value. - */ -OSATOMIC_DEPRECATED_REPLACE_WITH(atomic_fetch_sub) -__OSX_AVAILABLE_STARTING(__MAC_10_10, __IPHONE_7_1) -int32_t OSAtomicDecrement32( volatile int32_t *__theValue ); - - -/*! @abstract Atomically decrements a 32-bit value with a barrier. - @discussion - This function is equivalent to {@link OSAtomicDecrement32} - except that it also introduces a barrier. - @result Returns the new value. - */ -OSATOMIC_BARRIER_DEPRECATED_REPLACE_WITH(atomic_fetch_sub) -__OSX_AVAILABLE_STARTING(__MAC_10_10, __IPHONE_7_1) -int32_t OSAtomicDecrement32Barrier( volatile int32_t *__theValue ); - -#else -__inline static -int32_t OSAtomicIncrement32( volatile int32_t *__theValue ) - { return OSAtomicAdd32( 1, __theValue); } - -__inline static -int32_t OSAtomicIncrement32Barrier( volatile int32_t *__theValue ) - { return OSAtomicAdd32Barrier( 1, __theValue); } - -__inline static -int32_t OSAtomicDecrement32( volatile int32_t *__theValue ) - { return OSAtomicAdd32( -1, __theValue); } - -__inline static -int32_t OSAtomicDecrement32Barrier( volatile int32_t *__theValue ) - { return OSAtomicAdd32Barrier( -1, __theValue); } -#endif - - -/*! @abstract Atomically adds two 64-bit values. - @discussion - This function adds the value given by __theAmount to the - value in the memory location referenced by __theValue, - storing the result back to that memory location atomically. - @result Returns the new value. - */ -OSATOMIC_DEPRECATED_REPLACE_WITH(atomic_fetch_add) -__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0) -int64_t OSAtomicAdd64( int64_t __theAmount, - volatile OSAtomic_int64_aligned64_t *__theValue ); - - -/*! @abstract Atomically adds two 64-bit values with a barrier. - @discussion - This function adds the value given by __theAmount to the - value in the memory location referenced by __theValue, - storing the result back to that memory location atomically. - - This function is equivalent to {@link OSAtomicAdd64} - except that it also introduces a barrier. - @result Returns the new value. - */ -OSATOMIC_BARRIER_DEPRECATED_REPLACE_WITH(atomic_fetch_add) -__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_3_2) -int64_t OSAtomicAdd64Barrier( int64_t __theAmount, - volatile OSAtomic_int64_aligned64_t *__theValue ); - - -#if __MAC_OS_X_VERSION_MIN_REQUIRED >= __MAC_10_10 || __IPHONE_OS_VERSION_MIN_REQUIRED >= __IPHONE_7_1 || TARGET_OS_DRIVERKIT - -/*! @abstract Atomically increments a 64-bit value. - @result Returns the new value. - */ -OSATOMIC_DEPRECATED_REPLACE_WITH(atomic_fetch_add) -__OSX_AVAILABLE_STARTING(__MAC_10_10, __IPHONE_7_1) -int64_t OSAtomicIncrement64( volatile OSAtomic_int64_aligned64_t *__theValue ); - - -/*! @abstract Atomically increments a 64-bit value with a barrier. - @discussion - This function is equivalent to {@link OSAtomicIncrement64} - except that it also introduces a barrier. - @result Returns the new value. - */ -OSATOMIC_BARRIER_DEPRECATED_REPLACE_WITH(atomic_fetch_add) -__OSX_AVAILABLE_STARTING(__MAC_10_10, __IPHONE_7_1) -int64_t OSAtomicIncrement64Barrier( volatile OSAtomic_int64_aligned64_t *__theValue ); - - -/*! @abstract Atomically decrements a 64-bit value. - @result Returns the new value. - */ -OSATOMIC_DEPRECATED_REPLACE_WITH(atomic_fetch_sub) -__OSX_AVAILABLE_STARTING(__MAC_10_10, __IPHONE_7_1) -int64_t OSAtomicDecrement64( volatile OSAtomic_int64_aligned64_t *__theValue ); - - -/*! @abstract Atomically decrements a 64-bit value with a barrier. - @discussion - This function is equivalent to {@link OSAtomicDecrement64} - except that it also introduces a barrier. - @result Returns the new value. - */ -OSATOMIC_BARRIER_DEPRECATED_REPLACE_WITH(atomic_fetch_sub) -__OSX_AVAILABLE_STARTING(__MAC_10_10, __IPHONE_7_1) -int64_t OSAtomicDecrement64Barrier( volatile OSAtomic_int64_aligned64_t *__theValue ); - -#else -__inline static -int64_t OSAtomicIncrement64( volatile OSAtomic_int64_aligned64_t *__theValue ) - { return OSAtomicAdd64( 1, __theValue); } - -__inline static -int64_t OSAtomicIncrement64Barrier( volatile OSAtomic_int64_aligned64_t *__theValue ) - { return OSAtomicAdd64Barrier( 1, __theValue); } - -__inline static -int64_t OSAtomicDecrement64( volatile OSAtomic_int64_aligned64_t *__theValue ) - { return OSAtomicAdd64( -1, __theValue); } - -__inline static -int64_t OSAtomicDecrement64Barrier( volatile OSAtomic_int64_aligned64_t *__theValue ) - { return OSAtomicAdd64Barrier( -1, __theValue); } -#endif - - -/*! @group Boolean functions (AND, OR, XOR) - * - * @discussion Functions in this group come in four variants for each operation: - * with and without barriers, and functions that return the original value or - * the result value of the operation. - * - * The "Orig" versions return the original value, (before the operation); the non-Orig - * versions return the value after the operation. All are layered on top of - * {@link OSAtomicCompareAndSwap32} and similar. - */ - -/*! @abstract Atomic bitwise OR of two 32-bit values. - @discussion - This function performs the bitwise OR of the value given by __theMask - with the value in the memory location referenced by __theValue, - storing the result back to that memory location atomically. - @result Returns the new value. - */ -OSATOMIC_DEPRECATED_REPLACE_WITH(atomic_fetch_or) -__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0) -int32_t OSAtomicOr32( uint32_t __theMask, volatile uint32_t *__theValue ); - - -/*! @abstract Atomic bitwise OR of two 32-bit values with barrier. - @discussion - This function performs the bitwise OR of the value given by __theMask - with the value in the memory location referenced by __theValue, - storing the result back to that memory location atomically. - - This function is equivalent to {@link OSAtomicOr32} - except that it also introduces a barrier. - @result Returns the new value. - */ -OSATOMIC_BARRIER_DEPRECATED_REPLACE_WITH(atomic_fetch_or) -__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0) -int32_t OSAtomicOr32Barrier( uint32_t __theMask, volatile uint32_t *__theValue ); - - -/*! @abstract Atomic bitwise OR of two 32-bit values returning original. - @discussion - This function performs the bitwise OR of the value given by __theMask - with the value in the memory location referenced by __theValue, - storing the result back to that memory location atomically. - @result Returns the original value referenced by __theValue. - */ -OSATOMIC_DEPRECATED_REPLACE_WITH(atomic_fetch_or) -__OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_3_2) -int32_t OSAtomicOr32Orig( uint32_t __theMask, volatile uint32_t *__theValue ); - - -/*! @abstract Atomic bitwise OR of two 32-bit values returning original with barrier. - @discussion - This function performs the bitwise OR of the value given by __theMask - with the value in the memory location referenced by __theValue, - storing the result back to that memory location atomically. - - This function is equivalent to {@link OSAtomicOr32Orig} - except that it also introduces a barrier. - @result Returns the original value referenced by __theValue. - */ -OSATOMIC_BARRIER_DEPRECATED_REPLACE_WITH(atomic_fetch_or) -__OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_3_2) -int32_t OSAtomicOr32OrigBarrier( uint32_t __theMask, volatile uint32_t *__theValue ); - - - - -/*! @abstract Atomic bitwise AND of two 32-bit values. - @discussion - This function performs the bitwise AND of the value given by __theMask - with the value in the memory location referenced by __theValue, - storing the result back to that memory location atomically. - @result Returns the new value. - */ -OSATOMIC_DEPRECATED_REPLACE_WITH(atomic_fetch_and) -__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0) -int32_t OSAtomicAnd32( uint32_t __theMask, volatile uint32_t *__theValue ); - - -/*! @abstract Atomic bitwise AND of two 32-bit values with barrier. - @discussion - This function performs the bitwise AND of the value given by __theMask - with the value in the memory location referenced by __theValue, - storing the result back to that memory location atomically. - - This function is equivalent to {@link OSAtomicAnd32} - except that it also introduces a barrier. - @result Returns the new value. - */ -OSATOMIC_BARRIER_DEPRECATED_REPLACE_WITH(atomic_fetch_and) -__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0) -int32_t OSAtomicAnd32Barrier( uint32_t __theMask, volatile uint32_t *__theValue ); - - -/*! @abstract Atomic bitwise AND of two 32-bit values returning original. - @discussion - This function performs the bitwise AND of the value given by __theMask - with the value in the memory location referenced by __theValue, - storing the result back to that memory location atomically. - @result Returns the original value referenced by __theValue. - */ -OSATOMIC_DEPRECATED_REPLACE_WITH(atomic_fetch_and) -__OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_3_2) -int32_t OSAtomicAnd32Orig( uint32_t __theMask, volatile uint32_t *__theValue ); - - -/*! @abstract Atomic bitwise AND of two 32-bit values returning original with barrier. - @discussion - This function performs the bitwise AND of the value given by __theMask - with the value in the memory location referenced by __theValue, - storing the result back to that memory location atomically. - - This function is equivalent to {@link OSAtomicAnd32Orig} - except that it also introduces a barrier. - @result Returns the original value referenced by __theValue. - */ -OSATOMIC_BARRIER_DEPRECATED_REPLACE_WITH(atomic_fetch_and) -__OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_3_2) -int32_t OSAtomicAnd32OrigBarrier( uint32_t __theMask, volatile uint32_t *__theValue ); - - - - -/*! @abstract Atomic bitwise XOR of two 32-bit values. - @discussion - This function performs the bitwise XOR of the value given by __theMask - with the value in the memory location referenced by __theValue, - storing the result back to that memory location atomically. - @result Returns the new value. - */ -OSATOMIC_DEPRECATED_REPLACE_WITH(atomic_fetch_xor) -__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0) -int32_t OSAtomicXor32( uint32_t __theMask, volatile uint32_t *__theValue ); - - -/*! @abstract Atomic bitwise XOR of two 32-bit values with barrier. - @discussion - This function performs the bitwise XOR of the value given by __theMask - with the value in the memory location referenced by __theValue, - storing the result back to that memory location atomically. - - This function is equivalent to {@link OSAtomicXor32} - except that it also introduces a barrier. - @result Returns the new value. - */ -OSATOMIC_BARRIER_DEPRECATED_REPLACE_WITH(atomic_fetch_xor) -__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0) -int32_t OSAtomicXor32Barrier( uint32_t __theMask, volatile uint32_t *__theValue ); - - -/*! @abstract Atomic bitwise XOR of two 32-bit values returning original. - @discussion - This function performs the bitwise XOR of the value given by __theMask - with the value in the memory location referenced by __theValue, - storing the result back to that memory location atomically. - @result Returns the original value referenced by __theValue. - */ -OSATOMIC_DEPRECATED_REPLACE_WITH(atomic_fetch_xor) -__OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_3_2) -int32_t OSAtomicXor32Orig( uint32_t __theMask, volatile uint32_t *__theValue ); - - -/*! @abstract Atomic bitwise XOR of two 32-bit values returning original with barrier. - @discussion - This function performs the bitwise XOR of the value given by __theMask - with the value in the memory location referenced by __theValue, - storing the result back to that memory location atomically. - - This function is equivalent to {@link OSAtomicXor32Orig} - except that it also introduces a barrier. - @result Returns the original value referenced by __theValue. - */ -OSATOMIC_BARRIER_DEPRECATED_REPLACE_WITH(atomic_fetch_xor) -__OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_3_2) -int32_t OSAtomicXor32OrigBarrier( uint32_t __theMask, volatile uint32_t *__theValue ); - - -/*! @group Compare and swap - * Functions in this group return true if the swap occured. There are several versions, - * depending on data type and on whether or not a barrier is used. - */ - - -/*! @abstract Compare and swap for 32-bit values. - @discussion - This function compares the value in __oldValue to the value - in the memory location referenced by __theValue. If the values - match, this function stores the value from __newValue into - that memory location atomically. - @result Returns TRUE on a match, FALSE otherwise. - */ -OSATOMIC_DEPRECATED_REPLACE_WITH(atomic_compare_exchange_strong) -__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0) -bool OSAtomicCompareAndSwap32( int32_t __oldValue, int32_t __newValue, volatile int32_t *__theValue ); - - -/*! @abstract Compare and swap for 32-bit values with barrier. - @discussion - This function compares the value in __oldValue to the value - in the memory location referenced by __theValue. If the values - match, this function stores the value from __newValue into - that memory location atomically. - - This function is equivalent to {@link OSAtomicCompareAndSwap32} - except that it also introduces a barrier. - @result Returns TRUE on a match, FALSE otherwise. - */ -OSATOMIC_BARRIER_DEPRECATED_REPLACE_WITH(atomic_compare_exchange_strong) -__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0) -bool OSAtomicCompareAndSwap32Barrier( int32_t __oldValue, int32_t __newValue, volatile int32_t *__theValue ); - - -/*! @abstract Compare and swap pointers. - @discussion - This function compares the pointer stored in __oldValue to the pointer - in the memory location referenced by __theValue. If the pointers - match, this function stores the pointer from __newValue into - that memory location atomically. - @result Returns TRUE on a match, FALSE otherwise. - */ -OSATOMIC_DEPRECATED_REPLACE_WITH(atomic_compare_exchange_strong) -__OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_2_0) -bool OSAtomicCompareAndSwapPtr( void *__oldValue, void *__newValue, void * volatile *__theValue ); - - -/*! @abstract Compare and swap pointers with barrier. - @discussion - This function compares the pointer stored in __oldValue to the pointer - in the memory location referenced by __theValue. If the pointers - match, this function stores the pointer from __newValue into - that memory location atomically. - - This function is equivalent to {@link OSAtomicCompareAndSwapPtr} - except that it also introduces a barrier. - @result Returns TRUE on a match, FALSE otherwise. - */ -OSATOMIC_BARRIER_DEPRECATED_REPLACE_WITH(atomic_compare_exchange_strong) -__OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_2_0) -bool OSAtomicCompareAndSwapPtrBarrier( void *__oldValue, void *__newValue, void * volatile *__theValue ); - - -/*! @abstract Compare and swap for int values. - @discussion - This function compares the value in __oldValue to the value - in the memory location referenced by __theValue. If the values - match, this function stores the value from __newValue into - that memory location atomically. - - This function is equivalent to {@link OSAtomicCompareAndSwap32}. - @result Returns TRUE on a match, FALSE otherwise. - */ -OSATOMIC_DEPRECATED_REPLACE_WITH(atomic_compare_exchange_strong) -__OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_2_0) -bool OSAtomicCompareAndSwapInt( int __oldValue, int __newValue, volatile int *__theValue ); - - -/*! @abstract Compare and swap for int values. - @discussion - This function compares the value in __oldValue to the value - in the memory location referenced by __theValue. If the values - match, this function stores the value from __newValue into - that memory location atomically. - - This function is equivalent to {@link OSAtomicCompareAndSwapInt} - except that it also introduces a barrier. - - This function is equivalent to {@link OSAtomicCompareAndSwap32Barrier}. - @result Returns TRUE on a match, FALSE otherwise. - */ -OSATOMIC_BARRIER_DEPRECATED_REPLACE_WITH(atomic_compare_exchange_strong) -__OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_2_0) -bool OSAtomicCompareAndSwapIntBarrier( int __oldValue, int __newValue, volatile int *__theValue ); - - -/*! @abstract Compare and swap for long values. - @discussion - This function compares the value in __oldValue to the value - in the memory location referenced by __theValue. If the values - match, this function stores the value from __newValue into - that memory location atomically. - - This function is equivalent to {@link OSAtomicCompareAndSwap32} on 32-bit architectures, - or {@link OSAtomicCompareAndSwap64} on 64-bit architectures. - @result Returns TRUE on a match, FALSE otherwise. - */ -OSATOMIC_DEPRECATED_REPLACE_WITH(atomic_compare_exchange_strong) -__OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_2_0) -bool OSAtomicCompareAndSwapLong( long __oldValue, long __newValue, volatile long *__theValue ); - - -/*! @abstract Compare and swap for long values. - @discussion - This function compares the value in __oldValue to the value - in the memory location referenced by __theValue. If the values - match, this function stores the value from __newValue into - that memory location atomically. - - This function is equivalent to {@link OSAtomicCompareAndSwapLong} - except that it also introduces a barrier. - - This function is equivalent to {@link OSAtomicCompareAndSwap32} on 32-bit architectures, - or {@link OSAtomicCompareAndSwap64} on 64-bit architectures. - @result Returns TRUE on a match, FALSE otherwise. - */ -OSATOMIC_BARRIER_DEPRECATED_REPLACE_WITH(atomic_compare_exchange_strong) -__OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_2_0) -bool OSAtomicCompareAndSwapLongBarrier( long __oldValue, long __newValue, volatile long *__theValue ); - - -/*! @abstract Compare and swap for uint64_t values. - @discussion - This function compares the value in __oldValue to the value - in the memory location referenced by __theValue. If the values - match, this function stores the value from __newValue into - that memory location atomically. - @result Returns TRUE on a match, FALSE otherwise. - */ -OSATOMIC_DEPRECATED_REPLACE_WITH(atomic_compare_exchange_strong) -__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0) -bool OSAtomicCompareAndSwap64( int64_t __oldValue, int64_t __newValue, - volatile OSAtomic_int64_aligned64_t *__theValue ); - - -/*! @abstract Compare and swap for uint64_t values. - @discussion - This function compares the value in __oldValue to the value - in the memory location referenced by __theValue. If the values - match, this function stores the value from __newValue into - that memory location atomically. - - This function is equivalent to {@link OSAtomicCompareAndSwap64} - except that it also introduces a barrier. - @result Returns TRUE on a match, FALSE otherwise. - */ -OSATOMIC_BARRIER_DEPRECATED_REPLACE_WITH(atomic_compare_exchange_strong) -__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_3_2) -bool OSAtomicCompareAndSwap64Barrier( int64_t __oldValue, int64_t __newValue, - volatile OSAtomic_int64_aligned64_t *__theValue ); - - -/* Test and set. - * They return the original value of the bit, and operate on bit (0x80>>(n&7)) - * in byte ((char*)theAddress + (n>>3)). - */ -/*! @abstract Atomic test and set - @discussion - This function tests a bit in the value referenced by - __theAddress and if it is not set, sets it. - - The bit is chosen by the value of __n such that the - operation will be performed on bit (0x80 >> (__n & 7)) - of byte ((char *)__theAddress + (n >> 3)). - - For example, if __theAddress points to a 64-bit value, - to compare the value of the most significant bit, you would specify - 56 for __n. - @result - Returns the original value of the bit being tested. - */ -OSATOMIC_DEPRECATED_REPLACE_WITH(atomic_fetch_or) -__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0) -bool OSAtomicTestAndSet( uint32_t __n, volatile void *__theAddress ); - - -/*! @abstract Atomic test and set with barrier - @discussion - This function tests a bit in the value referenced by __theAddress - and if it is not set, sets it. - - The bit is chosen by the value of __n such that the - operation will be performed on bit (0x80 >> (__n & 7)) - of byte ((char *)__theAddress + (n >> 3)). - - For example, if __theAddress points to a 64-bit value, - to compare the value of the most significant bit, you would specify - 56 for __n. - - This function is equivalent to {@link OSAtomicTestAndSet} - except that it also introduces a barrier. - @result - Returns the original value of the bit being tested. - */ -OSATOMIC_BARRIER_DEPRECATED_REPLACE_WITH(atomic_fetch_or) -__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0) -bool OSAtomicTestAndSetBarrier( uint32_t __n, volatile void *__theAddress ); - - - -/*! @abstract Atomic test and clear - @discussion - This function tests a bit in the value referenced by __theAddress - and if it is not cleared, clears it. - - The bit is chosen by the value of __n such that the - operation will be performed on bit (0x80 >> (__n & 7)) - of byte ((char *)__theAddress + (n >> 3)). - - For example, if __theAddress points to a 64-bit value, - to compare the value of the most significant bit, you would specify - 56 for __n. - - @result - Returns the original value of the bit being tested. - */ -OSATOMIC_DEPRECATED_REPLACE_WITH(atomic_fetch_and) -__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0) -bool OSAtomicTestAndClear( uint32_t __n, volatile void *__theAddress ); - - -/*! @abstract Atomic test and clear - @discussion - This function tests a bit in the value referenced by __theAddress - and if it is not cleared, clears it. - - The bit is chosen by the value of __n such that the - operation will be performed on bit (0x80 >> (__n & 7)) - of byte ((char *)__theAddress + (n >> 3)). - - For example, if __theAddress points to a 64-bit value, - to compare the value of the most significant bit, you would specify - 56 for __n. - - This function is equivalent to {@link OSAtomicTestAndSet} - except that it also introduces a barrier. - @result - Returns the original value of the bit being tested. - */ -OSATOMIC_BARRIER_DEPRECATED_REPLACE_WITH(atomic_fetch_and) -__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0) -bool OSAtomicTestAndClearBarrier( uint32_t __n, volatile void *__theAddress ); - - -/*! @group Memory barriers */ - -/*! @abstract Memory barrier. - @discussion - This function serves as both a read and write barrier. - */ -OSATOMIC_BARRIER_DEPRECATED_REPLACE_WITH(atomic_thread_fence) -__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0) -void OSMemoryBarrier( void ); - -__END_DECLS - -#else // defined(OSATOMIC_USE_INLINED) && OSATOMIC_USE_INLINED - -/* - * Inline implementations of the legacy OSAtomic interfaces in terms of - * C11 resp. C++11 primitives. - * Direct use of those primitives is preferred. - */ - -#include - -#include -#include -#include - -#ifdef __cplusplus -extern "C++" { -#if !(__has_include() && __has_extension(cxx_atomic)) -#error Cannot use inlined OSAtomic without and C++11 atomics -#endif -#include -typedef std::atomic _OSAtomic_uint8_t; -typedef std::atomic _OSAtomic_int32_t; -typedef std::atomic _OSAtomic_uint32_t; -typedef std::atomic _OSAtomic_int64_t; -typedef std::atomic _OSAtomic_void_ptr_t; -#define OSATOMIC_STD(_a) std::_a -__BEGIN_DECLS -#else -#if !(__has_include() && __has_extension(c_atomic)) -#error Cannot use inlined OSAtomic without and C11 atomics -#endif -#include -typedef _Atomic(uint8_t) _OSAtomic_uint8_t; -typedef _Atomic(int32_t) _OSAtomic_int32_t; -typedef _Atomic(uint32_t) _OSAtomic_uint32_t; -typedef _Atomic(int64_t) _OSAtomic_int64_t; -typedef _Atomic(void*) _OSAtomic_void_ptr_t; -#define OSATOMIC_STD(_a) _a -#endif - -#if __has_extension(c_alignof) && __has_attribute(aligned) -typedef int64_t __attribute__((__aligned__(_Alignof(_OSAtomic_int64_t)))) - OSAtomic_int64_aligned64_t; -#elif __has_attribute(aligned) -typedef int64_t __attribute__((__aligned__((sizeof(_OSAtomic_int64_t))))) - OSAtomic_int64_aligned64_t; -#else -typedef int64_t OSAtomic_int64_aligned64_t; -#endif - -#if __has_attribute(always_inline) -#define OSATOMIC_INLINE static __inline __attribute__((__always_inline__)) -#else -#define OSATOMIC_INLINE static __inline -#endif - -OSATOMIC_INLINE -int32_t -OSAtomicAdd32(int32_t __theAmount, volatile int32_t *__theValue) -{ - return (OSATOMIC_STD(atomic_fetch_add_explicit)( - (volatile _OSAtomic_int32_t*) __theValue, __theAmount, - OSATOMIC_STD(memory_order_relaxed)) + __theAmount); -} - -OSATOMIC_INLINE -int32_t -OSAtomicAdd32Barrier(int32_t __theAmount, volatile int32_t *__theValue) -{ - return (OSATOMIC_STD(atomic_fetch_add_explicit)( - (volatile _OSAtomic_int32_t*) __theValue, __theAmount, - OSATOMIC_STD(memory_order_seq_cst)) + __theAmount); -} - -OSATOMIC_INLINE -int32_t -OSAtomicIncrement32(volatile int32_t *__theValue) -{ - return OSAtomicAdd32(1, __theValue); -} - -OSATOMIC_INLINE -int32_t -OSAtomicIncrement32Barrier(volatile int32_t *__theValue) -{ - return OSAtomicAdd32Barrier(1, __theValue); -} - -OSATOMIC_INLINE -int32_t -OSAtomicDecrement32(volatile int32_t *__theValue) -{ - return OSAtomicAdd32(-1, __theValue); -} - -OSATOMIC_INLINE -int32_t -OSAtomicDecrement32Barrier(volatile int32_t *__theValue) -{ - return OSAtomicAdd32Barrier(-1, __theValue); -} - -OSATOMIC_INLINE -int64_t -OSAtomicAdd64(int64_t __theAmount, - volatile OSAtomic_int64_aligned64_t *__theValue) -{ - return (OSATOMIC_STD(atomic_fetch_add_explicit)( - (volatile _OSAtomic_int64_t*) __theValue, __theAmount, - OSATOMIC_STD(memory_order_relaxed)) + __theAmount); -} - -OSATOMIC_INLINE -int64_t -OSAtomicAdd64Barrier(int64_t __theAmount, - volatile OSAtomic_int64_aligned64_t *__theValue) -{ - return (OSATOMIC_STD(atomic_fetch_add_explicit)( - (volatile _OSAtomic_int64_t*) __theValue, __theAmount, - OSATOMIC_STD(memory_order_seq_cst)) + __theAmount); -} - -OSATOMIC_INLINE -int64_t -OSAtomicIncrement64(volatile OSAtomic_int64_aligned64_t *__theValue) -{ - return OSAtomicAdd64(1, __theValue); -} - -OSATOMIC_INLINE -int64_t -OSAtomicIncrement64Barrier(volatile OSAtomic_int64_aligned64_t *__theValue) -{ - return OSAtomicAdd64Barrier(1, __theValue); -} - -OSATOMIC_INLINE -int64_t -OSAtomicDecrement64(volatile OSAtomic_int64_aligned64_t *__theValue) -{ - return OSAtomicAdd64(-1, __theValue); -} - -OSATOMIC_INLINE -int64_t -OSAtomicDecrement64Barrier(volatile OSAtomic_int64_aligned64_t *__theValue) -{ - return OSAtomicAdd64Barrier(-1, __theValue); -} - -OSATOMIC_INLINE -int32_t -OSAtomicOr32(uint32_t __theMask, volatile uint32_t *__theValue) -{ - return (int32_t)(OSATOMIC_STD(atomic_fetch_or_explicit)( - (volatile _OSAtomic_uint32_t*)__theValue, __theMask, - OSATOMIC_STD(memory_order_relaxed)) | __theMask); -} - -OSATOMIC_INLINE -int32_t -OSAtomicOr32Barrier(uint32_t __theMask, volatile uint32_t *__theValue) -{ - return (int32_t)(OSATOMIC_STD(atomic_fetch_or_explicit)( - (volatile _OSAtomic_uint32_t*)__theValue, __theMask, - OSATOMIC_STD(memory_order_seq_cst)) | __theMask); -} - -OSATOMIC_INLINE -int32_t -OSAtomicOr32Orig(uint32_t __theMask, volatile uint32_t *__theValue) -{ - return (int32_t)(OSATOMIC_STD(atomic_fetch_or_explicit)( - (volatile _OSAtomic_uint32_t*)__theValue, __theMask, - OSATOMIC_STD(memory_order_relaxed))); -} - -OSATOMIC_INLINE -int32_t -OSAtomicOr32OrigBarrier(uint32_t __theMask, volatile uint32_t *__theValue) -{ - return (int32_t)(OSATOMIC_STD(atomic_fetch_or_explicit)( - (volatile _OSAtomic_uint32_t*)__theValue, __theMask, - OSATOMIC_STD(memory_order_seq_cst))); -} - -OSATOMIC_INLINE -int32_t -OSAtomicAnd32(uint32_t __theMask, volatile uint32_t *__theValue) -{ - return (int32_t)(OSATOMIC_STD(atomic_fetch_and_explicit)( - (volatile _OSAtomic_uint32_t*)__theValue, __theMask, - OSATOMIC_STD(memory_order_relaxed)) & __theMask); -} - -OSATOMIC_INLINE -int32_t -OSAtomicAnd32Barrier(uint32_t __theMask, volatile uint32_t *__theValue) -{ - return (int32_t)(OSATOMIC_STD(atomic_fetch_and_explicit)( - (volatile _OSAtomic_uint32_t*)__theValue, __theMask, - OSATOMIC_STD(memory_order_seq_cst)) & __theMask); -} - -OSATOMIC_INLINE -int32_t -OSAtomicAnd32Orig(uint32_t __theMask, volatile uint32_t *__theValue) -{ - return (int32_t)(OSATOMIC_STD(atomic_fetch_and_explicit)( - (volatile _OSAtomic_uint32_t*)__theValue, __theMask, - OSATOMIC_STD(memory_order_relaxed))); -} - -OSATOMIC_INLINE -int32_t -OSAtomicAnd32OrigBarrier(uint32_t __theMask, volatile uint32_t *__theValue) -{ - return (int32_t)(OSATOMIC_STD(atomic_fetch_and_explicit)( - (volatile _OSAtomic_uint32_t*)__theValue, __theMask, - OSATOMIC_STD(memory_order_seq_cst))); -} - -OSATOMIC_INLINE -int32_t -OSAtomicXor32(uint32_t __theMask, volatile uint32_t *__theValue) -{ - return (int32_t)(OSATOMIC_STD(atomic_fetch_xor_explicit)( - (volatile _OSAtomic_uint32_t*)__theValue, __theMask, - OSATOMIC_STD(memory_order_relaxed)) ^ __theMask); -} - -OSATOMIC_INLINE -int32_t -OSAtomicXor32Barrier(uint32_t __theMask, volatile uint32_t *__theValue) -{ - return (int32_t)(OSATOMIC_STD(atomic_fetch_xor_explicit)( - (volatile _OSAtomic_uint32_t*)__theValue, __theMask, - OSATOMIC_STD(memory_order_seq_cst)) ^ __theMask); -} - -OSATOMIC_INLINE -int32_t -OSAtomicXor32Orig(uint32_t __theMask, volatile uint32_t *__theValue) -{ - return (int32_t)(OSATOMIC_STD(atomic_fetch_xor_explicit)( - (volatile _OSAtomic_uint32_t*)__theValue, __theMask, - OSATOMIC_STD(memory_order_relaxed))); -} - -OSATOMIC_INLINE -int32_t -OSAtomicXor32OrigBarrier(uint32_t __theMask, volatile uint32_t *__theValue) -{ - return (int32_t)(OSATOMIC_STD(atomic_fetch_xor_explicit)( - (volatile _OSAtomic_uint32_t*)__theValue, __theMask, - OSATOMIC_STD(memory_order_seq_cst))); -} - -OSATOMIC_INLINE -bool -OSAtomicCompareAndSwap32(int32_t __oldValue, int32_t __newValue, - volatile int32_t *__theValue) -{ - return (OSATOMIC_STD(atomic_compare_exchange_strong_explicit)( - (volatile _OSAtomic_int32_t*)__theValue, &__oldValue, __newValue, - OSATOMIC_STD(memory_order_relaxed), - OSATOMIC_STD(memory_order_relaxed))); -} - -OSATOMIC_INLINE -bool -OSAtomicCompareAndSwap32Barrier(int32_t __oldValue, int32_t __newValue, - volatile int32_t *__theValue) -{ - return (OSATOMIC_STD(atomic_compare_exchange_strong_explicit)( - (volatile _OSAtomic_int32_t*)__theValue, &__oldValue, __newValue, - OSATOMIC_STD(memory_order_seq_cst), - OSATOMIC_STD(memory_order_relaxed))); -} - -OSATOMIC_INLINE -bool -OSAtomicCompareAndSwapPtr(void *__oldValue, void *__newValue, - void * volatile *__theValue) -{ - return (OSATOMIC_STD(atomic_compare_exchange_strong_explicit)( - (volatile _OSAtomic_void_ptr_t*)__theValue, &__oldValue, __newValue, - OSATOMIC_STD(memory_order_relaxed), - OSATOMIC_STD(memory_order_relaxed))); -} - -OSATOMIC_INLINE -bool -OSAtomicCompareAndSwapPtrBarrier(void *__oldValue, void *__newValue, - void * volatile *__theValue) -{ - return (OSATOMIC_STD(atomic_compare_exchange_strong_explicit)( - (volatile _OSAtomic_void_ptr_t*)__theValue, &__oldValue, __newValue, - OSATOMIC_STD(memory_order_seq_cst), - OSATOMIC_STD(memory_order_relaxed))); -} - -OSATOMIC_INLINE -bool -OSAtomicCompareAndSwapInt(int __oldValue, int __newValue, - volatile int *__theValue) -{ - return (OSATOMIC_STD(atomic_compare_exchange_strong_explicit)( - (volatile OSATOMIC_STD(atomic_int)*)__theValue, &__oldValue, - __newValue, OSATOMIC_STD(memory_order_relaxed), - OSATOMIC_STD(memory_order_relaxed))); -} - -OSATOMIC_INLINE -bool -OSAtomicCompareAndSwapIntBarrier(int __oldValue, int __newValue, - volatile int *__theValue) -{ - return (OSATOMIC_STD(atomic_compare_exchange_strong_explicit)( - (volatile OSATOMIC_STD(atomic_int)*)__theValue, &__oldValue, - __newValue, OSATOMIC_STD(memory_order_seq_cst), - OSATOMIC_STD(memory_order_relaxed))); -} - -OSATOMIC_INLINE -bool -OSAtomicCompareAndSwapLong(long __oldValue, long __newValue, - volatile long *__theValue) -{ - return (OSATOMIC_STD(atomic_compare_exchange_strong_explicit)( - (volatile OSATOMIC_STD(atomic_long)*)__theValue, &__oldValue, - __newValue, OSATOMIC_STD(memory_order_relaxed), - OSATOMIC_STD(memory_order_relaxed))); -} - -OSATOMIC_INLINE -bool -OSAtomicCompareAndSwapLongBarrier(long __oldValue, long __newValue, - volatile long *__theValue) -{ - return (OSATOMIC_STD(atomic_compare_exchange_strong_explicit)( - (volatile OSATOMIC_STD(atomic_long)*)__theValue, &__oldValue, - __newValue, OSATOMIC_STD(memory_order_seq_cst), - OSATOMIC_STD(memory_order_relaxed))); -} - -OSATOMIC_INLINE -bool -OSAtomicCompareAndSwap64(int64_t __oldValue, int64_t __newValue, - volatile OSAtomic_int64_aligned64_t *__theValue) -{ - return (OSATOMIC_STD(atomic_compare_exchange_strong_explicit)( - (volatile _OSAtomic_int64_t*)__theValue, &__oldValue, __newValue, - OSATOMIC_STD(memory_order_relaxed), - OSATOMIC_STD(memory_order_relaxed))); -} - -OSATOMIC_INLINE -bool -OSAtomicCompareAndSwap64Barrier(int64_t __oldValue, int64_t __newValue, - volatile OSAtomic_int64_aligned64_t *__theValue) -{ - return (OSATOMIC_STD(atomic_compare_exchange_strong_explicit)( - (volatile _OSAtomic_int64_t*)__theValue, &__oldValue, __newValue, - OSATOMIC_STD(memory_order_seq_cst), - OSATOMIC_STD(memory_order_relaxed))); -} - -OSATOMIC_INLINE -bool -OSAtomicTestAndSet(uint32_t __n, volatile void *__theAddress) -{ - uintptr_t a = (uintptr_t)__theAddress + (__n >> 3); - uint8_t v = (0x80u >> (__n & 7)); - return (OSATOMIC_STD(atomic_fetch_or_explicit)((_OSAtomic_uint8_t*)a, v, - OSATOMIC_STD(memory_order_relaxed)) & v); -} - -OSATOMIC_INLINE -bool -OSAtomicTestAndSetBarrier(uint32_t __n, volatile void *__theAddress) -{ - uintptr_t a = (uintptr_t)__theAddress + (__n >> 3); - uint8_t v = (0x80u >> (__n & 7)); - return (OSATOMIC_STD(atomic_fetch_or_explicit)((_OSAtomic_uint8_t*)a, v, - OSATOMIC_STD(memory_order_seq_cst)) & v); -} - -OSATOMIC_INLINE -bool -OSAtomicTestAndClear(uint32_t __n, volatile void *__theAddress) -{ - uintptr_t a = (uintptr_t)__theAddress + (__n >> 3); - uint8_t v = (0x80u >> (__n & 7)); - return (OSATOMIC_STD(atomic_fetch_and_explicit)((_OSAtomic_uint8_t*)a, - (uint8_t)~v, OSATOMIC_STD(memory_order_relaxed)) & v); -} - -OSATOMIC_INLINE -bool -OSAtomicTestAndClearBarrier(uint32_t __n, volatile void *__theAddress) -{ - uintptr_t a = (uintptr_t)__theAddress + (__n >> 3); - uint8_t v = (0x80u >> (__n & 7)); - return (OSATOMIC_STD(atomic_fetch_and_explicit)((_OSAtomic_uint8_t*)a, - (uint8_t)~v, OSATOMIC_STD(memory_order_seq_cst)) & v); -} - -OSATOMIC_INLINE -void -OSMemoryBarrier(void) -{ - OSATOMIC_STD(atomic_thread_fence)(OSATOMIC_STD(memory_order_seq_cst)); -} - -#undef OSATOMIC_INLINE -#undef OSATOMIC_STD -#ifdef __cplusplus -__END_DECLS -} // extern "C++" -#endif - -#endif // defined(OSATOMIC_USE_INLINED) && OSATOMIC_USE_INLINED - -#if TARGET_OS_OSX || TARGET_OS_DRIVERKIT - -__BEGIN_DECLS - -/*! @group Lockless atomic fifo enqueue and dequeue - * These routines manipulate singly-linked FIFO lists. - * - * This API is deprecated and no longer recommended - */ - -/*! @abstract The data structure for a fifo queue head. - @discussion - You should always initialize a fifo queue head structure with the - initialization vector {@link OS_ATOMIC_FIFO_QUEUE_INIT} before use. - */ -#if defined(__LP64__) - -typedef volatile struct { - void *opaque1; - void *opaque2; - int opaque3; -} __attribute__ ((aligned (16))) OSFifoQueueHead; - -#else - -typedef volatile struct { - void *opaque1; - void *opaque2; - int opaque3; -} OSFifoQueueHead; - -#endif -/*! @abstract The initialization vector for a fifo queue head. */ -#define OS_ATOMIC_FIFO_QUEUE_INIT { NULL, NULL, 0 } - -/*! @abstract Enqueue an element onto a list. - @discussion - Memory barriers are incorporated as needed to permit thread-safe access - to the queue element. - @param __list - The list on which you want to enqueue the element. - @param __new - The element to add. - @param __offset - The "offset" parameter is the offset (in bytes) of the link field - from the beginning of the data structure being queued (__new). - The link field should be a pointer type. - The __offset value needs to be same for all enqueuing and - dequeuing operations on the same list, even if different structure types - are enqueued on that list. The use of offsetset(), defined in - stddef.h is the common way to specify the __offset - value. - - @note - This API is deprecated and no longer recommended - */ -__API_DEPRECATED("No longer supported", macos(10.7, 11.0)) -void OSAtomicFifoEnqueue( OSFifoQueueHead *__list, void *__new, size_t __offset); - -/*! @abstract Dequeue an element from a list. - @discussion - Memory barriers are incorporated as needed to permit thread-safe access - to the queue element. - @param __list - The list from which you want to dequeue an element. - @param __offset - The "offset" parameter is the offset (in bytes) of the link field - from the beginning of the data structure being dequeued (__new). - The link field should be a pointer type. - The __offset value needs to be same for all enqueuing and - dequeuing operations on the same list, even if different structure types - are enqueued on that list. The use of offsetset(), defined in - stddef.h is the common way to specify the __offset - value. - @result - Returns the oldest enqueued element, or NULL if the - list is empty. - - @note - This API is deprecated and no longer recommended - */ -__API_DEPRECATED("No longer supported", macos(10.7, 11.0)) -void* OSAtomicFifoDequeue( OSFifoQueueHead *__list, size_t __offset); - -__END_DECLS - -#endif /* TARGET_OS_OSX || TARGET_OS_DRIVERKIT */ - -#endif /* _OSATOMIC_DEPRECATED_H_ */ \ No newline at end of file diff --git a/lib/libc/include/aarch64-macos.13-none/libkern/OSAtomicQueue.h b/lib/libc/include/aarch64-macos.13-none/libkern/OSAtomicQueue.h deleted file mode 100644 index 66033fc834..0000000000 --- a/lib/libc/include/aarch64-macos.13-none/libkern/OSAtomicQueue.h +++ /dev/null @@ -1,115 +0,0 @@ -/* - * Copyright (c) 2004-2016 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 _OSATOMICQUEUE_H_ -#define _OSATOMICQUEUE_H_ - -#include -#include -#include -#include -#include "OSAtomicDeprecated.h" - -#include - -/*! @header Lockless atomic enqueue and dequeue - * These routines manipulate singly-linked LIFO lists. - */ - -__BEGIN_DECLS - -/*! @abstract The data structure for a queue head. - @discussion - You should always initialize a queue head structure with the - initialization vector {@link OS_ATOMIC_QUEUE_INIT} before use. - */ -#if defined(__LP64__) - -typedef volatile struct { - void *opaque1; - long opaque2; -} __attribute__ ((aligned (16))) OSQueueHead; - -#else - -typedef volatile struct { - void *opaque1; - long opaque2; -} OSQueueHead; - -#endif - -/*! @abstract The initialization vector for a queue head. */ -#define OS_ATOMIC_QUEUE_INIT { NULL, 0 } - -/*! @abstract Enqueue an element onto a list. - @discussion - Memory barriers are incorporated as needed to permit thread-safe access - to the queue element. - @param __list - The list on which you want to enqueue the element. - @param __new - The element to add. - @param __offset - The "offset" parameter is the offset (in bytes) of the link field - from the beginning of the data structure being queued (__new). - The link field should be a pointer type. - The __offset value needs to be same for all enqueuing and - dequeuing operations on the same list, even if different structure types - are enqueued on that list. The use of offsetset(), defined in - stddef.h is the common way to specify the __offset - value. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_4_0) -void OSAtomicEnqueue( OSQueueHead *__list, void *__new, size_t __offset); - - -/*! @abstract Dequeue an element from a list. - @discussion - Memory barriers are incorporated as needed to permit thread-safe access - to the queue element. - @param __list - The list from which you want to dequeue an element. - @param __offset - The "offset" parameter is the offset (in bytes) of the link field - from the beginning of the data structure being dequeued (__new). - The link field should be a pointer type. - The __offset value needs to be same for all enqueuing and - dequeuing operations on the same list, even if different structure types - are enqueued on that list. The use of offsetset(), defined in - stddef.h is the common way to specify the __offset - value. - IMPORTANT: the memory backing the link field of a queue element must not be - unmapped after OSAtomicDequeue() returns until all concurrent calls to - OSAtomicDequeue() for the same list on other threads have also returned, - as they may still be accessing that memory location. - @result - Returns the most recently enqueued element, or NULL if the - list is empty. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_4_0) -void* OSAtomicDequeue( OSQueueHead *__list, size_t __offset); - -__END_DECLS - -#endif /* _OSATOMICQUEUE_H_ */ \ No newline at end of file diff --git a/lib/libc/include/aarch64-macos.13-none/libkern/OSSpinLockDeprecated.h b/lib/libc/include/aarch64-macos.13-none/libkern/OSSpinLockDeprecated.h deleted file mode 100644 index a654a7bbc2..0000000000 --- a/lib/libc/include/aarch64-macos.13-none/libkern/OSSpinLockDeprecated.h +++ /dev/null @@ -1,212 +0,0 @@ -/* - * Copyright (c) 2004-2016 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 _OSSPINLOCK_DEPRECATED_H_ -#define _OSSPINLOCK_DEPRECATED_H_ - -/*! @header - * These are deprecated legacy interfaces for userspace spinlocks. - * - * These interfaces should no longer be used, particularily in situations where - * threads of differing priorities may contend on the same spinlock. - * - * The interfaces in should be used instead in cases where a very - * low-level lock primitive is required. In general however, using higher level - * synchronization primitives such as those provided by the pthread or dispatch - * subsystems should be preferred. - * - * Define OSSPINLOCK_USE_INLINED=1 to get inline implementations of these - * interfaces in terms of the primitives. This is intended as a - * transition convenience, direct use of those primitives is preferred. - */ - -#ifndef OSSPINLOCK_DEPRECATED -#define OSSPINLOCK_DEPRECATED 1 -#define OSSPINLOCK_DEPRECATED_MSG(_r) "Use " #_r "() from instead" -#define OSSPINLOCK_DEPRECATED_REPLACE_WITH(_r) \ - __OS_AVAILABILITY_MSG(macosx, deprecated=10.12, OSSPINLOCK_DEPRECATED_MSG(_r)) \ - __OS_AVAILABILITY_MSG(ios, deprecated=10.0, OSSPINLOCK_DEPRECATED_MSG(_r)) \ - __OS_AVAILABILITY_MSG(tvos, deprecated=10.0, OSSPINLOCK_DEPRECATED_MSG(_r)) \ - __OS_AVAILABILITY_MSG(watchos, deprecated=3.0, OSSPINLOCK_DEPRECATED_MSG(_r)) -#else -#undef OSSPINLOCK_DEPRECATED -#define OSSPINLOCK_DEPRECATED 0 -#define OSSPINLOCK_DEPRECATED_REPLACE_WITH(_r) -#endif - -#if !(defined(OSSPINLOCK_USE_INLINED) && OSSPINLOCK_USE_INLINED) - -#include -#include -#include -#include -#include - -__BEGIN_DECLS - -/*! @abstract The default value for an OSSpinLock. - @discussion - The convention is that unlocked is zero, locked is nonzero. - */ -#define OS_SPINLOCK_INIT 0 - - -/*! @abstract Data type for a spinlock. - @discussion - You should always initialize a spinlock to {@link OS_SPINLOCK_INIT} before - using it. - */ -typedef int32_t OSSpinLock OSSPINLOCK_DEPRECATED_REPLACE_WITH(os_unfair_lock); - - -/*! @abstract Locks a spinlock if it would not block - @result - Returns false if the lock was already held by another thread, - true if it took the lock successfully. - */ -OSSPINLOCK_DEPRECATED_REPLACE_WITH(os_unfair_lock_trylock) -__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0) -bool OSSpinLockTry( volatile OSSpinLock *__lock ); - - -/*! @abstract Locks a spinlock - @discussion - Although the lock operation spins, it employs various strategies to back - off if the lock is held. - */ -OSSPINLOCK_DEPRECATED_REPLACE_WITH(os_unfair_lock_lock) -__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0) -void OSSpinLockLock( volatile OSSpinLock *__lock ); - - -/*! @abstract Unlocks a spinlock */ -OSSPINLOCK_DEPRECATED_REPLACE_WITH(os_unfair_lock_unlock) -__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0) -void OSSpinLockUnlock( volatile OSSpinLock *__lock ); - -__END_DECLS - -#else /* OSSPINLOCK_USE_INLINED */ - -/* - * Inline implementations of the legacy OSSpinLock interfaces in terms of the - * of the primitives. Direct use of those primitives is preferred. - * - * NOTE: the locked value of os_unfair_lock is implementation defined and - * subject to change, code that relies on the specific locked value used by the - * legacy OSSpinLock interface WILL break when using these inline - * implementations in terms of os_unfair_lock. - */ - -#if !OSSPINLOCK_USE_INLINED_TRANSPARENT - -#include - -__BEGIN_DECLS - -#if __has_attribute(always_inline) -#define OSSPINLOCK_INLINE static __inline -#else -#define OSSPINLOCK_INLINE static __inline __attribute__((__always_inline__)) -#endif - -#define OS_SPINLOCK_INIT 0 -typedef int32_t OSSpinLock; - -#if __has_extension(c_static_assert) -_Static_assert(sizeof(OSSpinLock) == sizeof(os_unfair_lock), - "Incompatible os_unfair_lock type"); -#endif - -OSSPINLOCK_INLINE -void -OSSpinLockLock(volatile OSSpinLock *__lock) -{ - os_unfair_lock_t lock = (os_unfair_lock_t)__lock; - return os_unfair_lock_lock(lock); -} - -OSSPINLOCK_INLINE -bool -OSSpinLockTry(volatile OSSpinLock *__lock) -{ - os_unfair_lock_t lock = (os_unfair_lock_t)__lock; - return os_unfair_lock_trylock(lock); -} - -OSSPINLOCK_INLINE -void -OSSpinLockUnlock(volatile OSSpinLock *__lock) -{ - os_unfair_lock_t lock = (os_unfair_lock_t)__lock; - return os_unfair_lock_unlock(lock); -} - -#undef OSSPINLOCK_INLINE - -__END_DECLS - -#else /* OSSPINLOCK_USE_INLINED_TRANSPARENT */ - -#include -#include -#include -#include -#include - -#define OS_NOSPIN_LOCK_AVAILABILITY \ - __OSX_AVAILABLE(10.12) __IOS_AVAILABLE(10.0) \ - __TVOS_AVAILABLE(10.0) __WATCHOS_AVAILABLE(3.0) - -__BEGIN_DECLS - -#define OS_SPINLOCK_INIT 0 -typedef int32_t OSSpinLock OSSPINLOCK_DEPRECATED_REPLACE_WITH(os_unfair_lock); -typedef volatile OSSpinLock *_os_nospin_lock_t - OSSPINLOCK_DEPRECATED_REPLACE_WITH(os_unfair_lock_t); - -OSSPINLOCK_DEPRECATED_REPLACE_WITH(os_unfair_lock_lock) -OS_NOSPIN_LOCK_AVAILABILITY -void _os_nospin_lock_lock(_os_nospin_lock_t lock); -#undef OSSpinLockLock -#define OSSpinLockLock(lock) _os_nospin_lock_lock(lock) - -OSSPINLOCK_DEPRECATED_REPLACE_WITH(os_unfair_lock_trylock) -OS_NOSPIN_LOCK_AVAILABILITY -bool _os_nospin_lock_trylock(_os_nospin_lock_t lock); -#undef OSSpinLockTry -#define OSSpinLockTry(lock) _os_nospin_lock_trylock(lock) - -OSSPINLOCK_DEPRECATED_REPLACE_WITH(os_unfair_lock_unlock) -OS_NOSPIN_LOCK_AVAILABILITY -void _os_nospin_lock_unlock(_os_nospin_lock_t lock); -#undef OSSpinLockUnlock -#define OSSpinLockUnlock(lock) _os_nospin_lock_unlock(lock) - -__END_DECLS - -#endif /* OSSPINLOCK_USE_INLINED_TRANSPARENT */ - -#endif /* OSSPINLOCK_USE_INLINED */ - -#endif /* _OSSPINLOCK_DEPRECATED_H_ */ \ No newline at end of file diff --git a/lib/libc/include/aarch64-macos.13-none/libkern/arm/OSByteOrder.h b/lib/libc/include/aarch64-macos.13-none/libkern/arm/OSByteOrder.h deleted file mode 100644 index f89a24b53f..0000000000 --- a/lib/libc/include/aarch64-macos.13-none/libkern/arm/OSByteOrder.h +++ /dev/null @@ -1,216 +0,0 @@ -/* - * Copyright (c) 1999-2007 Apple Inc. All rights reserved. - */ - -#ifndef _OS_OSBYTEORDERARM_H -#define _OS_OSBYTEORDERARM_H - -#include -#include /* for _ARM_ARCH_6 */ - -/* Generic byte swapping functions. */ - -__DARWIN_OS_INLINE -uint16_t -_OSSwapInt16( - uint16_t _data - ) -{ - /* Reduces to 'rev16' with clang */ - return (uint16_t)(_data << 8 | _data >> 8); -} - -__DARWIN_OS_INLINE -uint32_t -_OSSwapInt32( - uint32_t _data - ) -{ -#if defined(__llvm__) - _data = __builtin_bswap32(_data); -#else - /* This actually generates the best code */ - _data = (((_data ^ (_data >> 16 | (_data << 16))) & 0xFF00FFFF) >> 8) ^ (_data >> 8 | _data << 24); -#endif - - return _data; -} - -__DARWIN_OS_INLINE -uint64_t -_OSSwapInt64( - uint64_t _data - ) -{ -#if defined(__llvm__) - return __builtin_bswap64(_data); -#else - union { - uint64_t _ull; - uint32_t _ul[2]; - } _u; - - /* This actually generates the best code */ - _u._ul[0] = (uint32_t)(_data >> 32); - _u._ul[1] = (uint32_t)(_data & 0xffffffff); - _u._ul[0] = _OSSwapInt32(_u._ul[0]); - _u._ul[1] = _OSSwapInt32(_u._ul[1]); - return _u._ull; -#endif -} - -/* Functions for byte reversed loads. */ - -struct _OSUnalignedU16 { - volatile uint16_t __val; -} __attribute__((__packed__)); - -struct _OSUnalignedU32 { - volatile uint32_t __val; -} __attribute__((__packed__)); - -struct _OSUnalignedU64 { - volatile uint64_t __val; -} __attribute__((__packed__)); - -#if defined(_POSIX_C_SOURCE) || defined(_XOPEN_SOURCE) -__DARWIN_OS_INLINE -uint16_t -_OSReadSwapInt16( - const volatile void * _base, - uintptr_t _offset - ) -{ - return _OSSwapInt16(((struct _OSUnalignedU16 *)((uintptr_t)_base + _offset))->__val); -} -#else -__DARWIN_OS_INLINE -uint16_t -OSReadSwapInt16( - const volatile void * _base, - uintptr_t _offset - ) -{ - return _OSSwapInt16(((struct _OSUnalignedU16 *)((uintptr_t)_base + _offset))->__val); -} -#endif - -#if defined(_POSIX_C_SOURCE) || defined(_XOPEN_SOURCE) -__DARWIN_OS_INLINE -uint32_t -_OSReadSwapInt32( - const volatile void * _base, - uintptr_t _offset - ) -{ - return _OSSwapInt32(((struct _OSUnalignedU32 *)((uintptr_t)_base + _offset))->__val); -} -#else -__DARWIN_OS_INLINE -uint32_t -OSReadSwapInt32( - const volatile void * _base, - uintptr_t _offset - ) -{ - return _OSSwapInt32(((struct _OSUnalignedU32 *)((uintptr_t)_base + _offset))->__val); -} -#endif - -#if defined(_POSIX_C_SOURCE) || defined(_XOPEN_SOURCE) -__DARWIN_OS_INLINE -uint64_t -_OSReadSwapInt64( - const volatile void * _base, - uintptr_t _offset - ) -{ - return _OSSwapInt64(((struct _OSUnalignedU64 *)((uintptr_t)_base + _offset))->__val); -} -#else -__DARWIN_OS_INLINE -uint64_t -OSReadSwapInt64( - const volatile void * _base, - uintptr_t _offset - ) -{ - return _OSSwapInt64(((struct _OSUnalignedU64 *)((uintptr_t)_base + _offset))->__val); -} -#endif - -/* Functions for byte reversed stores. */ - -#if defined(_POSIX_C_SOURCE) || defined(_XOPEN_SOURCE) -__DARWIN_OS_INLINE -void -_OSWriteSwapInt16( - volatile void * _base, - uintptr_t _offset, - uint16_t _data - ) -{ - ((struct _OSUnalignedU16 *)((uintptr_t)_base + _offset))->__val = _OSSwapInt16(_data); -} -#else -__DARWIN_OS_INLINE -void -OSWriteSwapInt16( - volatile void * _base, - uintptr_t _offset, - uint16_t _data - ) -{ - ((struct _OSUnalignedU16 *)((uintptr_t)_base + _offset))->__val = _OSSwapInt16(_data); -} -#endif - -#if defined(_POSIX_C_SOURCE) || defined(_XOPEN_SOURCE) -__DARWIN_OS_INLINE -void -_OSWriteSwapInt32( - volatile void * _base, - uintptr_t _offset, - uint32_t _data - ) -{ - ((struct _OSUnalignedU32 *)((uintptr_t)_base + _offset))->__val = _OSSwapInt32(_data); -} -#else -__DARWIN_OS_INLINE -void -OSWriteSwapInt32( - volatile void * _base, - uintptr_t _offset, - uint32_t _data - ) -{ - ((struct _OSUnalignedU32 *)((uintptr_t)_base + _offset))->__val = _OSSwapInt32(_data); -} -#endif - -#if defined(_POSIX_C_SOURCE) || defined(_XOPEN_SOURCE) -__DARWIN_OS_INLINE -void -_OSWriteSwapInt64( - volatile void * _base, - uintptr_t _offset, - uint64_t _data - ) -{ - ((struct _OSUnalignedU64 *)((uintptr_t)_base + _offset))->__val = _OSSwapInt64(_data); -} -#else -__DARWIN_OS_INLINE -void -OSWriteSwapInt64( - volatile void * _base, - uintptr_t _offset, - uint64_t _data - ) -{ - ((struct _OSUnalignedU64 *)((uintptr_t)_base + _offset))->__val = _OSSwapInt64(_data); -} -#endif - -#endif /* ! _OS_OSBYTEORDERARM_H */ \ No newline at end of file diff --git a/lib/libc/include/aarch64-macos.13-none/mach/arm/exception.h b/lib/libc/include/aarch64-macos.13-none/mach/arm/exception.h deleted file mode 100644 index c27dec1b56..0000000000 --- a/lib/libc/include/aarch64-macos.13-none/mach/arm/exception.h +++ /dev/null @@ -1,82 +0,0 @@ -/* - * Copyright (c) 2007 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 _MACH_ARM_EXCEPTION_H_ -#define _MACH_ARM_EXCEPTION_H_ - -#if defined (__arm__) || defined (__arm64__) - -#define EXC_TYPES_COUNT 14 /* incl. illegal exception 0 */ - -#define EXC_MASK_MACHINE 0 - -#define EXCEPTION_CODE_MAX 2 /* code and subcode */ - - -/* - * Trap numbers as defined by the hardware exception vectors. - */ - -/* - * EXC_BAD_INSTRUCTION - */ - -#define EXC_ARM_UNDEFINED 1 /* Undefined */ - -/* - * EXC_ARITHMETIC - */ - -#define EXC_ARM_FP_UNDEFINED 0 /* Undefined Floating Point Exception */ -#define EXC_ARM_FP_IO 1 /* Invalid Floating Point Operation */ -#define EXC_ARM_FP_DZ 2 /* Floating Point Divide by Zero */ -#define EXC_ARM_FP_OF 3 /* Floating Point Overflow */ -#define EXC_ARM_FP_UF 4 /* Floating Point Underflow */ -#define EXC_ARM_FP_IX 5 /* Inexact Floating Point Result */ -#define EXC_ARM_FP_ID 6 /* Floating Point Denormal Input */ - -/* - * EXC_BAD_ACCESS - * Note: do not conflict with kern_return_t values returned by vm_fault - */ - -#define EXC_ARM_DA_ALIGN 0x101 /* Alignment Fault */ -#define EXC_ARM_DA_DEBUG 0x102 /* Debug (watch/break) Fault */ -#define EXC_ARM_SP_ALIGN 0x103 /* SP Alignment Fault */ -#define EXC_ARM_SWP 0x104 /* SWP instruction */ -#define EXC_ARM_PAC_FAIL 0x105 /* PAC authentication failure */ - -/* - * EXC_BREAKPOINT - */ - -#define EXC_ARM_BREAKPOINT 1 /* breakpoint trap */ - -#endif /* defined (__arm__) || defined (__arm64__) */ - -#endif /* _MACH_ARM_EXCEPTION_H_ */ \ No newline at end of file diff --git a/lib/libc/include/aarch64-macos.13-none/mach/arm/processor_info.h b/lib/libc/include/aarch64-macos.13-none/mach/arm/processor_info.h deleted file mode 100644 index a302fbfcd3..0000000000 --- a/lib/libc/include/aarch64-macos.13-none/mach/arm/processor_info.h +++ /dev/null @@ -1,76 +0,0 @@ -/* - * Copyright (c) 2007-2018 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 _MACH_ARM_PROCESSOR_INFO_H_ -#define _MACH_ARM_PROCESSOR_INFO_H_ - -#if defined (__arm__) || defined (__arm64__) - -#define PROCESSOR_CPU_STAT 0x10000003 /* Low-level CPU statistics */ -#define PROCESSOR_CPU_STAT64 0x10000004 /* Low-level CPU statistics, in full 64-bit */ - -#include /* uint32_t, uint64_t */ - -struct processor_cpu_stat { - uint32_t irq_ex_cnt; - uint32_t ipi_cnt; - uint32_t timer_cnt; - uint32_t undef_ex_cnt; - uint32_t unaligned_cnt; - uint32_t vfp_cnt; - uint32_t vfp_shortv_cnt; - uint32_t data_ex_cnt; - uint32_t instr_ex_cnt; -}; - -typedef struct processor_cpu_stat processor_cpu_stat_data_t; -typedef struct processor_cpu_stat *processor_cpu_stat_t; -#define PROCESSOR_CPU_STAT_COUNT ((mach_msg_type_number_t) \ - (sizeof(processor_cpu_stat_data_t) / sizeof(natural_t))) - -struct processor_cpu_stat64 { - uint64_t irq_ex_cnt; - uint64_t ipi_cnt; - uint64_t timer_cnt; - uint64_t undef_ex_cnt; - uint64_t unaligned_cnt; - uint64_t vfp_cnt; - uint64_t vfp_shortv_cnt; - uint64_t data_ex_cnt; - uint64_t instr_ex_cnt; - uint64_t pmi_cnt; -} __attribute__((packed, aligned(4))); - -typedef struct processor_cpu_stat64 processor_cpu_stat64_data_t; -typedef struct processor_cpu_stat64 *processor_cpu_stat64_t; -#define PROCESSOR_CPU_STAT64_COUNT ((mach_msg_type_number_t) \ - (sizeof(processor_cpu_stat64_data_t) / sizeof(integer_t))) - -#endif /* defined (__arm__) || defined (__arm64__) */ - -#endif /* _MACH_ARM_PROCESSOR_INFO_H_ */ \ No newline at end of file diff --git a/lib/libc/include/aarch64-macos.13-none/mach/arm/vm_types.h b/lib/libc/include/aarch64-macos.13-none/mach/arm/vm_types.h deleted file mode 100644 index 396923d4c2..0000000000 --- a/lib/libc/include/aarch64-macos.13-none/mach/arm/vm_types.h +++ /dev/null @@ -1,162 +0,0 @@ -/* - * Copyright (c) 2000-2007 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@ - */ -/* - * @OSF_COPYRIGHT@ - */ -/* - * Mach Operating System - * Copyright (c) 1991,1990,1989,1988 Carnegie Mellon University - * All Rights Reserved. - * - * Permission to use, copy, modify and distribute this software and its - * documentation is hereby granted, provided that both the copyright - * notice and this permission notice appear in all copies of the - * software, derivative works or modified versions, and any portions - * thereof, and that both notices appear in supporting documentation. - * - * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" - * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR - * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. - * - * Carnegie Mellon requests users of this software to return to - * - * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU - * School of Computer Science - * Carnegie Mellon University - * Pittsburgh PA 15213-3890 - * - * any improvements or extensions that they make and grant Carnegie Mellon - * the rights to redistribute these changes. - */ -/* - */ - -/* - * File: vm_types.h - * Author: Avadis Tevanian, Jr. - * Date: 1985 - * - * Header file for VM data types. ARM version. - */ - -#ifndef _MACH_ARM_VM_TYPES_H_ -#define _MACH_ARM_VM_TYPES_H_ - -#if defined (__arm__) || defined (__arm64__) - -#ifndef ASSEMBLER - -#include -#include -#include -#include - -/* - * natural_t and integer_t are Mach's legacy types for machine- - * independent integer types (unsigned, and signed, respectively). - * Their original purpose was to define other types in a machine/ - * compiler independent way. - * - * They also had an implicit "same size as pointer" characteristic - * to them (i.e. Mach's traditional types are very ILP32 or ILP64 - * centric). We will likely support x86 ABIs that do not follow - * either ofthese models (specifically LP64). Therefore, we had to - * make a choice between making these types scale with pointers or stay - * tied to integers. Because their use is predominantly tied to - * to the size of an integer, we are keeping that association and - * breaking free from pointer size guarantees. - * - * New use of these types is discouraged. - */ -typedef __darwin_natural_t natural_t; -typedef int integer_t; - -/* - * A vm_offset_t is a type-neutral pointer, - * e.g. an offset into a virtual memory space. - */ -#ifdef __LP64__ -typedef uintptr_t vm_offset_t __kernel_ptr_semantics; -typedef uintptr_t vm_size_t; - -typedef uint64_t mach_vm_address_t __kernel_ptr_semantics; -typedef uint64_t mach_vm_offset_t __kernel_ptr_semantics; -typedef uint64_t mach_vm_size_t; - -typedef uint64_t vm_map_offset_t __kernel_ptr_semantics; -typedef uint64_t vm_map_address_t __kernel_ptr_semantics; -typedef uint64_t vm_map_size_t; -#else -typedef natural_t vm_offset_t __kernel_ptr_semantics; -/* - * A vm_size_t is the proper type for e.g. - * expressing the difference between two - * vm_offset_t entities. - */ -typedef natural_t vm_size_t; - -/* - * This new type is independent of a particular vm map's - * implementation size - and represents appropriate types - * for all possible maps. This is used for interfaces - * where the size of the map is not known - or we don't - * want to have to distinguish. - */ -#if defined(__IPHONE_OS_VERSION_MIN_REQUIRED) && (__IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_5_0) -typedef uint32_t mach_vm_address_t; -typedef uint32_t mach_vm_offset_t; -typedef uint32_t mach_vm_size_t; -#else -typedef uint64_t mach_vm_address_t __kernel_ptr_semantics; -typedef uint64_t mach_vm_offset_t __kernel_ptr_semantics; -typedef uint64_t mach_vm_size_t; -#endif - -typedef uint32_t vm_map_offset_t __kernel_ptr_semantics; -typedef uint32_t vm_map_address_t __kernel_ptr_semantics; -typedef uint32_t vm_map_size_t; -#endif /* __LP64__ */ - - -typedef uint32_t vm32_offset_t; -typedef uint32_t vm32_address_t; -typedef uint32_t vm32_size_t; - -typedef vm_offset_t mach_port_context_t; - - -#endif /* ASSEMBLER */ - -/* - * If composing messages by hand (please do not) - */ -#define MACH_MSG_TYPE_INTEGER_T MACH_MSG_TYPE_INTEGER_32 - -#endif /* defined (__arm__) || defined (__arm64__) */ - -#endif /* _MACH_ARM_VM_TYPES_H_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos-any/AssertMacros.h b/lib/libc/include/any-macos-any/AssertMacros.h index b23f3989dc..5fc9bc0389 100644 --- a/lib/libc/include/any-macos-any/AssertMacros.h +++ b/lib/libc/include/any-macos-any/AssertMacros.h @@ -1443,4 +1443,4 @@ #endif /* ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES */ -#endif /* __ASSERTMACROS__ */ \ No newline at end of file +#endif /* __ASSERTMACROS__ */ diff --git a/lib/libc/include/any-macos-any/Availability.h b/lib/libc/include/any-macos-any/Availability.h index f636f9e5cd..abb3b8e16a 100644 --- a/lib/libc/include/any-macos-any/Availability.h +++ b/lib/libc/include/any-macos-any/Availability.h @@ -128,10 +128,42 @@ * clang -D__API_TO_BE_DEPRECATED=11.0 */ -#ifndef __API_TO_BE_DEPRECATED -#define __API_TO_BE_DEPRECATED 100000 + #ifndef __API_TO_BE_DEPRECATED + #define __API_TO_BE_DEPRECATED 100000 + #endif + +#ifndef __API_TO_BE_DEPRECATED_MACOS +#define __API_TO_BE_DEPRECATED_MACOS 100000 #endif +#ifndef __API_TO_BE_DEPRECATED_IOS +#define __API_TO_BE_DEPRECATED_IOS 100000 +#endif +#ifndef __API_TO_BE_DEPRECATED_MACCATALYST +#define __API_TO_BE_DEPRECATED_MACCATALYST 100000 +#endif + +#ifndef __API_TO_BE_DEPRECATED_WATCHOS +#define __API_TO_BE_DEPRECATED_WATCHOS 100000 +#endif + +#ifndef __API_TO_BE_DEPRECATED_TVOS +#define __API_TO_BE_DEPRECATED_TVOS 100000 +#endif + +#ifndef __API_TO_BE_DEPRECATED_BRIDGEOS + +#endif + +#ifndef __API_TO_BE_DEPRECATED_DRIVERKIT +#define __API_TO_BE_DEPRECATED_DRIVERKIT 100000 +#endif + +#ifndef __API_TO_BE_DEPRECATED_XROS +#define __API_TO_BE_DEPRECATED_XROS 100000 +#endif + + #include #include @@ -250,11 +282,17 @@ #endif +#if __has_include() + #include +#endif + /* for use marking APIs available info for iOS */ #if defined(__has_attribute) #if __has_attribute(availability) #define __IOS_UNAVAILABLE __OS_AVAILABILITY(ios,unavailable) - #define __IOS_PROHIBITED __OS_AVAILABILITY(ios,unavailable) + #ifndef __IOS_PROHIBITED + #define __IOS_PROHIBITED __OS_AVAILABILITY(ios,unavailable) + #endif #define __IOS_AVAILABLE(_vers) __OS_AVAILABILITY(ios,introduced=_vers) #define __IOS_DEPRECATED(_start, _dep, _msg) __IOS_AVAILABLE(_start) __OS_AVAILABILITY_MSG(ios,deprecated=_dep,_msg) #endif @@ -281,7 +319,9 @@ #if defined(__has_feature) #if __has_feature(attribute_availability_tvos) #define __TVOS_UNAVAILABLE __OS_AVAILABILITY(tvos,unavailable) - #define __TVOS_PROHIBITED __OS_AVAILABILITY(tvos,unavailable) + #ifndef __TVOS_PROHIBITED + #define __TVOS_PROHIBITED __OS_AVAILABILITY(tvos,unavailable) + #endif #define __TVOS_AVAILABLE(_vers) __OS_AVAILABILITY(tvos,introduced=_vers) #define __TVOS_DEPRECATED(_start, _dep, _msg) __TVOS_AVAILABLE(_start) __OS_AVAILABILITY_MSG(tvos,deprecated=_dep,_msg) #endif @@ -308,7 +348,9 @@ #if defined(__has_feature) #if __has_feature(attribute_availability_watchos) #define __WATCHOS_UNAVAILABLE __OS_AVAILABILITY(watchos,unavailable) - #define __WATCHOS_PROHIBITED __OS_AVAILABILITY(watchos,unavailable) + #ifndef __WATCHOS_PROHIBITED + #define __WATCHOS_PROHIBITED __OS_AVAILABILITY(watchos,unavailable) + #endif #define __WATCHOS_AVAILABLE(_vers) __OS_AVAILABILITY(watchos,introduced=_vers) #define __WATCHOS_DEPRECATED(_start, _dep, _msg) __WATCHOS_AVAILABLE(_start) __OS_AVAILABILITY_MSG(watchos,deprecated=_dep,_msg) #endif @@ -330,7 +372,6 @@ #define __WATCHOS_DEPRECATED(_start, _dep, _msg) #endif - /* for use marking APIs unavailable for swift */ #if defined(__has_feature) #if __has_feature(attribute_availability_swift) @@ -378,9 +419,9 @@ * __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_AVAILABLE7, __API_AVAILABLE6, __API_AVAILABLE5, __API_AVAILABLE4, __API_AVAILABLE3, __API_AVAILABLE2, __API_AVAILABLE1, 0)(__VA_ARGS__) - - #define __API_AVAILABLE_BEGIN(...) _Pragma("clang attribute push") __API_AVAILABLE_BEGIN_GET_MACRO(__VA_ARGS__,__API_AVAILABLE_BEGIN7, __API_AVAILABLE_BEGIN6, __API_AVAILABLE_BEGIN5, __API_AVAILABLE_BEGIN4, __API_AVAILABLE_BEGIN3, __API_AVAILABLE_BEGIN2, __API_AVAILABLE_BEGIN1, 0)(__VA_ARGS__) + #define __API_AVAILABLE(...) __API_AVAILABLE_GET_MACRO(__VA_ARGS__,__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_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") /* @@ -399,13 +440,13 @@ * __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, 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, 0)(__VA_ARGS__) + #define __API_DEPRECATED(...) __API_DEPRECATED_MSG_GET_MACRO(__VA_ARGS__,__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_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_MSG_GET_MACRO(__VA_ARGS__,__API_DEPRECATED_BEGIN_MSG8,__API_DEPRECATED_BEGIN_MSG7, __API_DEPRECATED_BEGIN_MSG6, __API_DEPRECATED_BEGIN_MSG5, __API_DEPRECATED_BEGIN_MSG4, __API_DEPRECATED_BEGIN_MSG3, __API_DEPRECATED_BEGIN_MSG2, __API_DEPRECATED_BEGIN_MSG1, 0)(__VA_ARGS__) + #define __API_DEPRECATED_BEGIN(...) _Pragma("clang attribute push") __API_DEPRECATED_BEGIN_GET_MACRO(__VA_ARGS__,__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_BEGIN_REP_GET_MACRO(__VA_ARGS__,__API_DEPRECATED_BEGIN_REP8,__API_DEPRECATED_BEGIN_REP7, __API_DEPRECATED_BEGIN_REP6, __API_DEPRECATED_BEGIN_REP5, __API_DEPRECATED_BEGIN_REP4, __API_DEPRECATED_BEGIN_REP3, __API_DEPRECATED_BEGIN_REP2, __API_DEPRECATED_BEGIN_REP1, 0)(__VA_ARGS__) + #define __API_DEPRECATED_WITH_REPLACEMENT_BEGIN(...) _Pragma("clang attribute push") __API_DEPRECATED_WITH_REPLACEMENT_BEGIN_GET_MACRO(__VA_ARGS__,__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") /* @@ -416,51 +457,63 @@ * __API_UNAVAILABLE(macos) * __API_UNAVAILABLE(watchos, tvos) */ - #define __API_UNAVAILABLE(...) __API_UNAVAILABLE_GET_MACRO(__VA_ARGS__,__API_UNAVAILABLE7,__API_UNAVAILABLE6,__API_UNAVAILABLE5,__API_UNAVAILABLE4,__API_UNAVAILABLE3,__API_UNAVAILABLE2,__API_UNAVAILABLE1, 0)(__VA_ARGS__) - - #define __API_UNAVAILABLE_BEGIN(...) _Pragma("clang attribute push") __API_UNAVAILABLE_BEGIN_GET_MACRO(__VA_ARGS__,__API_UNAVAILABLE_BEGIN7,__API_UNAVAILABLE_BEGIN6, __API_UNAVAILABLE_BEGIN5, __API_UNAVAILABLE_BEGIN4, __API_UNAVAILABLE_BEGIN3, __API_UNAVAILABLE_BEGIN2, __API_UNAVAILABLE_BEGIN1, 0)(__VA_ARGS__) + #define __API_UNAVAILABLE(...) __API_UNAVAILABLE_GET_MACRO(__VA_ARGS__,__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_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") - #else - - /* - * Evaluate to nothing for compilers that don't support availability. - */ - - #define __API_AVAILABLE(...) - #define __API_AVAILABLE_BEGIN(...) - #define __API_AVAILABLE_END - #define __API_DEPRECATED(...) - #define __API_DEPRECATED_WITH_REPLACEMENT(...) - #define __API_DEPRECATED_BEGIN(...) - #define __API_DEPRECATED_END - #define __API_DEPRECATED_WITH_REPLACEMENT_BEGIN(...) - #define __API_DEPRECATED_WITH_REPLACEMENT_END - #define __API_UNAVAILABLE(...) - #define __API_UNAVAILABLE_BEGIN(...) - #define __API_UNAVAILABLE_END #endif /* __has_attribute(availability) */ -#else - - /* - * Evaluate to nothing for compilers that don't support clang language extensions. - */ - - #define __API_AVAILABLE(...) - #define __API_AVAILABLE_BEGIN(...) - #define __API_AVAILABLE_END - #define __API_DEPRECATED(...) - #define __API_DEPRECATED_WITH_REPLACEMENT(...) - #define __API_DEPRECATED_BEGIN(...) - #define __API_DEPRECATED_END - #define __API_DEPRECATED_WITH_REPLACEMENT_BEGIN(...) - #define __API_DEPRECATED_WITH_REPLACEMENT_END - #define __API_UNAVAILABLE(...) - #define __API_UNAVAILABLE_BEGIN(...) - #define __API_UNAVAILABLE_END #endif /* #if defined(__has_feature) && defined(__has_attribute) */ -#if __has_include() - #include +/* + * Evaluate to nothing for compilers that don't support availability. + */ + +#ifndef __API_AVAILABLE + #define __API_AVAILABLE(...) +#endif + +#ifndef __API_AVAILABLE_BEGIN + #define __API_AVAILABLE_BEGIN(...) +#endif + +#ifndef __API_AVAILABLE_END + #define __API_AVAILABLE_END(...) +#endif + +#ifndef __API_DEPRECATED + #define __API_DEPRECATED(...) +#endif + +#ifndef __API_DEPRECATED_BEGIN + #define __API_DEPRECATED_BEGIN(...) +#endif + +#ifndef __API_DEPRECATED_END + #define __API_DEPRECATED_END(...) +#endif + +#ifndef __API_DEPRECATED_WITH_REPLACEMENT + #define __API_DEPRECATED_WITH_REPLACEMENT(...) +#endif + +#ifndef __API_DEPRECATED_WITH_REPLACEMENT_BEGIN + #define __API_DEPRECATED_WITH_REPLACEMENT_BEGIN(...) +#endif + +#ifndef __API_DEPRECATED_WITH_REPLACEMENT_END + #define __API_DEPRECATED_WITH_REPLACEMENT_END(...) +#endif + +#ifndef __API_UNAVAILABLE + #define __API_UNAVAILABLE(...) +#endif + +#ifndef __API_UNAVAILABLE_BEGIN + #define __API_UNAVAILABLE_BEGIN(...) +#endif + +#ifndef __API_UNAVAILABLE_END + #define __API_UNAVAILABLE_END(...) #endif /* @@ -479,4 +532,5 @@ #define __SPI_DEPRECATED_WITH_REPLACEMENT(...) #endif -#endif /* __AVAILABILITY__ */ \ No newline at end of file +#endif /* __AVAILABILITY__ */ + diff --git a/lib/libc/include/any-macos-any/AvailabilityInternal.h b/lib/libc/include/any-macos-any/AvailabilityInternal.h new file mode 100644 index 0000000000..c6189813a5 --- /dev/null +++ b/lib/libc/include/any-macos-any/AvailabilityInternal.h @@ -0,0 +1,357 @@ +/* + * Copyright (c) 2007-2016 by 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@ + */ + +/* + File: AvailabilityInternal.h + + Contains: implementation details of __OSX_AVAILABLE_* macros from + +*/ +#ifndef __AVAILABILITY_INTERNAL__ +#define __AVAILABILITY_INTERNAL__ + +#if __has_include() + #include +#endif + +#ifndef __MAC_OS_X_VERSION_MIN_REQUIRED + #if defined(__has_builtin) && __has_builtin(__is_target_os) + #if __is_target_os(macos) + #define __MAC_OS_X_VERSION_MIN_REQUIRED __ENVIRONMENT_OS_VERSION_MIN_REQUIRED__ + #define __MAC_OS_X_VERSION_MAX_ALLOWED __MAC_14_0 + #endif + #elif __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ + #define __MAC_OS_X_VERSION_MIN_REQUIRED __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ + #define __MAC_OS_X_VERSION_MAX_ALLOWED __MAC_14_0 + #endif /* __has_builtin(__is_target_os) && __is_target_os(macos) */ +#endif /* __MAC_OS_X_VERSION_MIN_REQUIRED */ + +#ifndef __IPHONE_OS_VERSION_MIN_REQUIRED + #if defined(__has_builtin) && __has_builtin(__is_target_os) + #if __is_target_os(ios) + #define __IPHONE_OS_VERSION_MIN_REQUIRED __ENVIRONMENT_OS_VERSION_MIN_REQUIRED__ + #define __IPHONE_OS_VERSION_MAX_ALLOWED __IPHONE_17_0 + #endif + #elif __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ + #define __IPHONE_OS_VERSION_MIN_REQUIRED __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ + #define __IPHONE_OS_VERSION_MAX_ALLOWED __IPHONE_17_0 + #endif /* __has_builtin(__is_target_os) && __is_target_os(ios) */ +#endif /* __IPHONE_OS_VERSION_MIN_REQUIRED */ + +#ifndef __WATCH_OS_VERSION_MIN_REQUIRED + #if defined(__has_builtin) && __has_builtin(__is_target_os) + #if __is_target_os(watchos) + #define __WATCH_OS_VERSION_MIN_REQUIRED __ENVIRONMENT_OS_VERSION_MIN_REQUIRED__ + #define __WATCH_OS_VERSION_MAX_ALLOWED __WATCHOS_10_0 + /* for compatibility with existing code. New code should use platform specific checks */ + #define __IPHONE_OS_VERSION_MIN_REQUIRED __IPHONE_9_0 + #endif + #elif __ENVIRONMENT_WATCH_OS_VERSION_MIN_REQUIRED__ + #define __WATCH_OS_VERSION_MIN_REQUIRED __ENVIRONMENT_WATCH_OS_VERSION_MIN_REQUIRED__ + #define __WATCH_OS_VERSION_MAX_ALLOWED __WATCHOS_10_0 + /* for compatibility with existing code. New code should use platform specific checks */ + #define __IPHONE_OS_VERSION_MIN_REQUIRED __IPHONE_9_0 + #endif /* __has_builtin(__is_target_os) && __is_target_os(watchos) */ +#endif /* __WATCH_OS_VERSION_MIN_REQUIRED */ + +#ifndef __TV_OS_VERSION_MIN_REQUIRED + #if defined(__has_builtin) && __has_builtin(__is_target_os) + #if __is_target_os(tvos) + #define __TV_OS_VERSION_MIN_REQUIRED __ENVIRONMENT_OS_VERSION_MIN_REQUIRED__ + #define __TV_OS_VERSION_MAX_ALLOWED __TVOS_17_0 + /* for compatibility with existing code. New code should use platform specific checks */ + #define __IPHONE_OS_VERSION_MIN_REQUIRED __IPHONE_9_0 + #endif + #elif __ENVIRONMENT_TV_OS_VERSION_MIN_REQUIRED__ + #define __TV_OS_VERSION_MIN_REQUIRED __ENVIRONMENT_TV_OS_VERSION_MIN_REQUIRED__ + #define __TV_OS_VERSION_MAX_ALLOWED __TVOS_17_0 + /* 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_8_0 + /* 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_23_0 + #endif + #endif /* __has_builtin(__is_target_os) && __is_target_os(driverkit) */ +#endif /* __DRIVERKIT_VERSION_MIN_REQUIRED */ + +#ifndef __XR_OS_VERSION_MIN_REQUIRED + #if defined(__has_builtin) && __has_builtin(__is_target_os) + #if __is_target_os(xros) + #define __XR_OS_VERSION_MIN_REQUIRED __ENVIRONMENT_OS_VERSION_MIN_REQUIRED__ + #define __XR_OS_VERSION_MAX_ALLOWED __XROS_1_0 + /* for compatibility with existing code. New code should use platform specific checks */ + #define __IPHONE_OS_VERSION_MIN_REQUIRED __IPHONE_17_0 + #endif + #endif /* __has_builtin(__is_target_os) && __is_target_os(xros) */ +#endif /* __XR_OS_VERSION_MIN_REQUIRED */ + + +#ifdef __IPHONE_OS_VERSION_MIN_REQUIRED + /* make sure a default max version is set */ + #ifndef __IPHONE_OS_VERSION_MAX_ALLOWED + #define __IPHONE_OS_VERSION_MAX_ALLOWED __IPHONE_17_0 + #endif + /* make sure a valid min is set */ + #if __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_2_0 + #undef __IPHONE_OS_VERSION_MIN_REQUIRED + #define __IPHONE_OS_VERSION_MIN_REQUIRED __IPHONE_2_0 + #endif +#endif + +#define __AVAILABILITY_INTERNAL_DEPRECATED __attribute__((deprecated)) +#ifdef __has_feature + #if __has_feature(attribute_deprecated_with_message) + #define __AVAILABILITY_INTERNAL_DEPRECATED_MSG(_msg) __attribute__((deprecated(_msg))) + #else + #define __AVAILABILITY_INTERNAL_DEPRECATED_MSG(_msg) __attribute__((deprecated)) + #endif +#elif defined(__GNUC__) && ((__GNUC__ >= 5) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 5))) + #define __AVAILABILITY_INTERNAL_DEPRECATED_MSG(_msg) __attribute__((deprecated(_msg))) +#else + #define __AVAILABILITY_INTERNAL_DEPRECATED_MSG(_msg) __attribute__((deprecated)) +#endif +#define __AVAILABILITY_INTERNAL_UNAVAILABLE __attribute__((unavailable)) +#define __AVAILABILITY_INTERNAL_WEAK_IMPORT __attribute__((weak_import)) +#define __AVAILABILITY_INTERNAL_REGULAR + +#include + +#if defined(__has_feature) && defined(__has_attribute) + #if __has_attribute(availability) + #define __API_AVAILABLE_PLATFORM_macos(x) macos,introduced=x + #define __API_UNAVAILABLE_PLATFORM_macos macos,unavailable + #define __API_DEPRECATED_PLATFORM_macos(x,y) macos,introduced=x,deprecated=y + #define __API_AVAILABLE_PLATFORM_macosx(x) macos,introduced=x + #define __API_UNAVAILABLE_PLATFORM_macosx macos,unavailable + #define __API_DEPRECATED_PLATFORM_macosx(x,y) macos,introduced=x,deprecated=y + #define __API_AVAILABLE_PLATFORM_ios(x) ios,introduced=x + #define __API_UNAVAILABLE_PLATFORM_ios ios,unavailable + #define __API_DEPRECATED_PLATFORM_ios(x,y) ios,introduced=x,deprecated=y + #define __API_AVAILABLE_PLATFORM_macCatalyst(x) macCatalyst,introduced=x + #define __API_UNAVAILABLE_PLATFORM_macCatalyst macCatalyst,unavailable + #define __API_DEPRECATED_PLATFORM_macCatalyst(x,y) macCatalyst,introduced=x,deprecated=y + #define __API_AVAILABLE_PLATFORM_macCatalyst(x) macCatalyst,introduced=x + #define __API_UNAVAILABLE_PLATFORM_macCatalyst macCatalyst,unavailable + #define __API_DEPRECATED_PLATFORM_macCatalyst(x,y) macCatalyst,introduced=x,deprecated=y + #define __API_AVAILABLE_PLATFORM_watchos(x) watchos,introduced=x + #define __API_UNAVAILABLE_PLATFORM_watchos watchos,unavailable + #define __API_DEPRECATED_PLATFORM_watchos(x,y) watchos,introduced=x,deprecated=y + #define __API_AVAILABLE_PLATFORM_tvos(x) tvos,introduced=x + #define __API_UNAVAILABLE_PLATFORM_tvos tvos,unavailable + #define __API_DEPRECATED_PLATFORM_tvos(x,y) tvos,introduced=x,deprecated=y + + + + #define __API_AVAILABLE_PLATFORM_driverkit(x) driverkit,introduced=x + #define __API_UNAVAILABLE_PLATFORM_driverkit driverkit,unavailable + #define __API_DEPRECATED_PLATFORM_driverkit(x,y) driverkit,introduced=x,deprecated=y + #define __API_AVAILABLE_PLATFORM_xros(x) xros,introduced=x + #define __API_UNAVAILABLE_PLATFORM_xros xros,unavailable + #define __API_DEPRECATED_PLATFORM_xros(x,y) xros,introduced=x,deprecated=y + #define __API_AVAILABLE_PLATFORM_visionos(x) xros,introduced=x + #define __API_UNAVAILABLE_PLATFORM_visionos xros,unavailable + #define __API_DEPRECATED_PLATFORM_visionos(x,y) xros,introduced=x,deprecated=y + #endif /* __has_attribute(availability) */ +#endif /* defined(__has_feature) && defined(__has_attribute) */ + +#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) + #define __API_RANGE_STRINGIFY(x) __API_RANGE_STRINGIFY2(x) + #define __API_RANGE_STRINGIFY2(x) #x + #endif /* __has_attribute(availability) */ +#endif /* defined(__has_feature) && defined(__has_attribute) */ +/* + Macros for defining which versions/platform a given symbol can be used. + + @see http://clang.llvm.org/docs/AttributeReference.html#availability + */ + +#if defined(__has_feature) && defined(__has_attribute) + #if __has_attribute(availability) + + + + #define __API_A(x) __attribute__((availability(__API_AVAILABLE_PLATFORM_##x))) + + #define __API_AVAILABLE0(arg0) __API_A(arg0) + #define __API_AVAILABLE1(arg0,arg1) __API_A(arg0) __API_A(arg1) + #define __API_AVAILABLE2(arg0,arg1,arg2) __API_A(arg0) __API_A(arg1) __API_A(arg2) + #define __API_AVAILABLE3(arg0,arg1,arg2,arg3) __API_A(arg0) __API_A(arg1) __API_A(arg2) __API_A(arg3) + #define __API_AVAILABLE4(arg0,arg1,arg2,arg3,arg4) __API_A(arg0) __API_A(arg1) __API_A(arg2) __API_A(arg3) __API_A(arg4) + #define __API_AVAILABLE5(arg0,arg1,arg2,arg3,arg4,arg5) __API_A(arg0) __API_A(arg1) __API_A(arg2) __API_A(arg3) __API_A(arg4) __API_A(arg5) + #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_AVAILABLE_GET_MACRO(_0,_1,_2,_3,_4,_5,_6,_7,NAME,...) NAME + + #define __API_A_BEGIN(x) _Pragma(__API_RANGE_STRINGIFY (clang attribute (__attribute__((availability(__API_AVAILABLE_PLATFORM_##x))), apply_to = __API_APPLY_TO))) + + #define __API_AVAILABLE_BEGIN0(arg0) __API_A_BEGIN(arg0) + #define __API_AVAILABLE_BEGIN1(arg0,arg1) __API_A_BEGIN(arg0) __API_A_BEGIN(arg1) + #define __API_AVAILABLE_BEGIN2(arg0,arg1,arg2) __API_A_BEGIN(arg0) __API_A_BEGIN(arg1) __API_A_BEGIN(arg2) + #define __API_AVAILABLE_BEGIN3(arg0,arg1,arg2,arg3) __API_A_BEGIN(arg0) __API_A_BEGIN(arg1) __API_A_BEGIN(arg2) __API_A_BEGIN(arg3) + #define __API_AVAILABLE_BEGIN4(arg0,arg1,arg2,arg3,arg4) __API_A_BEGIN(arg0) __API_A_BEGIN(arg1) __API_A_BEGIN(arg2) __API_A_BEGIN(arg3) __API_A_BEGIN(arg4) + #define __API_AVAILABLE_BEGIN5(arg0,arg1,arg2,arg3,arg4,arg5) __API_A_BEGIN(arg0) __API_A_BEGIN(arg1) __API_A_BEGIN(arg2) __API_A_BEGIN(arg3) __API_A_BEGIN(arg4) __API_A_BEGIN(arg5) + #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_BEGIN_GET_MACRO(_0,_1,_2,_3,_4,_5,_6,_7,NAME,...) NAME + + + + #define __API_D(msg,x) __attribute__((availability(__API_DEPRECATED_PLATFORM_##x,message=msg))) + + #define __API_DEPRECATED_MSG0(msg,arg0) __API_D(msg,arg0) + #define __API_DEPRECATED_MSG1(msg,arg0,arg1) __API_D(msg,arg0) __API_D(msg,arg1) + #define __API_DEPRECATED_MSG2(msg,arg0,arg1,arg2) __API_D(msg,arg0) __API_D(msg,arg1) __API_D(msg,arg2) + #define __API_DEPRECATED_MSG3(msg,arg0,arg1,arg2,arg3) __API_D(msg,arg0) __API_D(msg,arg1) __API_D(msg,arg2) __API_D(msg,arg3) + #define __API_DEPRECATED_MSG4(msg,arg0,arg1,arg2,arg3,arg4) __API_D(msg,arg0) __API_D(msg,arg1) __API_D(msg,arg2) __API_D(msg,arg3) __API_D(msg,arg4) + #define __API_DEPRECATED_MSG5(msg,arg0,arg1,arg2,arg3,arg4,arg5) __API_D(msg,arg0) __API_D(msg,arg1) __API_D(msg,arg2) __API_D(msg,arg3) __API_D(msg,arg4) __API_D(msg,arg5) + #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_MSG_GET_MACRO(_0,_1,_2,_3,_4,_5,_6,_7,_8,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))) + + #define __API_DEPRECATED_BEGIN0(msg,arg0) __API_D_BEGIN(msg,arg0) + #define __API_DEPRECATED_BEGIN1(msg,arg0,arg1) __API_D_BEGIN(msg,arg0) __API_D_BEGIN(msg,arg1) + #define __API_DEPRECATED_BEGIN2(msg,arg0,arg1,arg2) __API_D_BEGIN(msg,arg0) __API_D_BEGIN(msg,arg1) __API_D_BEGIN(msg,arg2) + #define __API_DEPRECATED_BEGIN3(msg,arg0,arg1,arg2,arg3) __API_D_BEGIN(msg,arg0) __API_D_BEGIN(msg,arg1) __API_D_BEGIN(msg,arg2) __API_D_BEGIN(msg,arg3) + #define __API_DEPRECATED_BEGIN4(msg,arg0,arg1,arg2,arg3,arg4) __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) + #define __API_DEPRECATED_BEGIN5(msg,arg0,arg1,arg2,arg3,arg4,arg5) __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) + #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_BEGIN_GET_MACRO(_0,_1,_2,_3,_4,_5,_6,_7,_8,NAME,...) NAME + + #if __has_feature(attribute_availability_with_replacement) + #define __API_R(rep,x) __attribute__((availability(__API_DEPRECATED_PLATFORM_##x,replacement=rep))) + #else + #define __API_R(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_REP_GET_MACRO(_0,_1,_2,_3,_4,_5,_6,_7,_8,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))) + #else + #define __API_R_BEGIN(rep,x) _Pragma(__API_RANGE_STRINGIFY (clang attribute (__attribute__((availability(__API_DEPRECATED_PLATFORM_##x))), apply_to = __API_APPLY_TO))) + #endif + + #define __API_DEPRECATED_BEGIN_REP0(msg,arg0) __API_R_BEGIN(msg,arg0) + #define __API_DEPRECATED_BEGIN_REP1(msg,arg0,arg1) __API_R_BEGIN(msg,arg0) __API_R_BEGIN(msg,arg1) + #define __API_DEPRECATED_BEGIN_REP2(msg,arg0,arg1,arg2) __API_R_BEGIN(msg,arg0) __API_R_BEGIN(msg,arg1) __API_R_BEGIN(msg,arg2) + #define __API_DEPRECATED_BEGIN_REP3(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_BEGIN_REP4(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_BEGIN_REP5(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_BEGIN_REP6(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_BEGIN_REP7(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_BEGIN_REP_GET_MACRO(_0,_1,_2,_3,_4,_5,_6,_7,_8,NAME,...) NAME + + /* + * API Unavailability + * Use to specify that an API is unavailable for a particular platform. + * + * Example: + * __API_UNAVAILABLE(macos) + * __API_UNAVAILABLE(watchos, tvos) + */ + + #define __API_U(x) __attribute__((availability(__API_UNAVAILABLE_PLATFORM_##x))) + + #define __API_UNAVAILABLE0(arg0) __API_U(arg0) + #define __API_UNAVAILABLE1(arg0,arg1) __API_U(arg0) __API_U(arg1) + #define __API_UNAVAILABLE2(arg0,arg1,arg2) __API_U(arg0) __API_U(arg1) __API_U(arg2) + #define __API_UNAVAILABLE3(arg0,arg1,arg2,arg3) __API_U(arg0) __API_U(arg1) __API_U(arg2) __API_U(arg3) + #define __API_UNAVAILABLE4(arg0,arg1,arg2,arg3,arg4) __API_U(arg0) __API_U(arg1) __API_U(arg2) __API_U(arg3) __API_U(arg4) + #define __API_UNAVAILABLE5(arg0,arg1,arg2,arg3,arg4,arg5) __API_U(arg0) __API_U(arg1) __API_U(arg2) __API_U(arg3) __API_U(arg4) __API_U(arg5) + #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_UNAVAILABLE_GET_MACRO(_0,_1,_2,_3,_4,_5,_6,_7,NAME,...) NAME + + #define __API_U_BEGIN(x) _Pragma(__API_RANGE_STRINGIFY (clang attribute (__attribute__((availability(__API_UNAVAILABLE_PLATFORM_##x))), apply_to = __API_APPLY_TO))) + + #define __API_UNAVAILABLE_BEGIN0(arg0) __API_U_BEGIN(arg0) + #define __API_UNAVAILABLE_BEGIN1(arg0,arg1) __API_U_BEGIN(arg0) __API_U_BEGIN(arg1) + #define __API_UNAVAILABLE_BEGIN2(arg0,arg1,arg2) __API_U_BEGIN(arg0) __API_U_BEGIN(arg1) __API_U_BEGIN(arg2) + #define __API_UNAVAILABLE_BEGIN3(arg0,arg1,arg2,arg3) __API_U_BEGIN(arg0) __API_U_BEGIN(arg1) __API_U_BEGIN(arg2) __API_U_BEGIN(arg3) + #define __API_UNAVAILABLE_BEGIN4(arg0,arg1,arg2,arg3,arg4) __API_U_BEGIN(arg0) __API_U_BEGIN(arg1) __API_U_BEGIN(arg2) __API_U_BEGIN(arg3) __API_U_BEGIN(arg4) + #define __API_UNAVAILABLE_BEGIN5(arg0,arg1,arg2,arg3,arg4,arg5) __API_U_BEGIN(arg0) __API_U_BEGIN(arg1) __API_U_BEGIN(arg2) __API_U_BEGIN(arg3) __API_U_BEGIN(arg4) __API_U_BEGIN(arg5) + #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_BEGIN_GET_MACRO(_0,_1,_2,_3,_4,_5,_6,_7,NAME,...) NAME + + #endif /* __has_attribute(availability) */ +#endif /* #if defined(__has_feature) && defined(__has_attribute) */ + +/* + * Swift compiler version + * Allows for project-agnostic "epochs" for frameworks imported into Swift via the Clang importer, like #if _compiler_version for Swift + * Example: + * + * #if __swift_compiler_version_at_least(800, 2, 20) + * - (nonnull NSString *)description; + * #else + * - (NSString *)description; + * #endif + */ + +#ifdef __SWIFT_COMPILER_VERSION + #define __swift_compiler_version_at_least_impl(X, Y, Z, a, b, ...) \ + __SWIFT_COMPILER_VERSION >= ((X * UINT64_C(1000) * 1000 * 1000) + (Z * 1000 * 1000) + (a * 1000) + b) + #define __swift_compiler_version_at_least(...) __swift_compiler_version_at_least_impl(__VA_ARGS__, 0, 0, 0, 0) +#else + #define __swift_compiler_version_at_least(...) 1 +#endif + +/* + * If __SPI_AVAILABLE has not been defined elsewhere, disable it. + */ + +#ifndef __SPI_AVAILABLE + #define __SPI_AVAILABLE(...) +#endif + +#endif /* __AVAILABILITY_INTERNAL__ */ diff --git a/lib/libc/include/any-macos.12-any/AvailabilityInternal.h b/lib/libc/include/any-macos-any/AvailabilityInternalLegacy.h similarity index 95% rename from lib/libc/include/any-macos.12-any/AvailabilityInternal.h rename to lib/libc/include/any-macos-any/AvailabilityInternalLegacy.h index 2e779535f3..8ac4cc8c42 100644 --- a/lib/libc/include/any-macos.12-any/AvailabilityInternal.h +++ b/lib/libc/include/any-macos-any/AvailabilityInternalLegacy.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2007-2016 by Apple Inc.. All rights reserved. + * Copyright (c) 2007-2022 by Apple Inc.. All rights reserved. * * @APPLE_LICENSE_HEADER_START@ * @@ -22,105 +22,14 @@ */ /* - File: AvailabilityInternal.h + File: AvailabilityInternalLegacy.h Contains: implementation details of __OSX_AVAILABLE_* macros from */ -#ifndef __AVAILABILITY_INTERNAL__ -#define __AVAILABILITY_INTERNAL__ -#if __has_include() - #include -#endif - -#ifndef __MAC_OS_X_VERSION_MIN_REQUIRED - #ifdef __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ - /* compiler for Mac OS X sets __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ */ - #define __MAC_OS_X_VERSION_MIN_REQUIRED __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ - #endif -#endif /* __MAC_OS_X_VERSION_MIN_REQUIRED*/ - -#ifndef __IPHONE_OS_VERSION_MIN_REQUIRED - #ifdef __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ - /* compiler sets __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ when -miphoneos-version-min is used */ - #define __IPHONE_OS_VERSION_MIN_REQUIRED __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ - /* set to 1 when RC_FALLBACK_PLATFORM=iphoneos */ - #elif 0 - #define __IPHONE_OS_VERSION_MIN_REQUIRED __IPHONE_14_0 - #endif -#endif /* __IPHONE_OS_VERSION_MIN_REQUIRED */ - -#ifndef __TV_OS_VERSION_MIN_REQUIRED - #ifdef __ENVIRONMENT_TV_OS_VERSION_MIN_REQUIRED__ - /* compiler sets __ENVIRONMENT_TV_OS_VERSION_MIN_REQUIRED__ when -mtvos-version-min is used */ - #define __TV_OS_VERSION_MIN_REQUIRED __ENVIRONMENT_TV_OS_VERSION_MIN_REQUIRED__ - #define __TV_OS_VERSION_MAX_ALLOWED __TVOS_15_4 - /* for compatibility with existing code. New code should use platform specific checks */ - #define __IPHONE_OS_VERSION_MIN_REQUIRED 90000 - #endif -#endif - -#ifndef __WATCH_OS_VERSION_MIN_REQUIRED - #ifdef __ENVIRONMENT_WATCH_OS_VERSION_MIN_REQUIRED__ - /* compiler sets __ENVIRONMENT_WATCH_OS_VERSION_MIN_REQUIRED__ when -mwatchos-version-min is used */ - #define __WATCH_OS_VERSION_MIN_REQUIRED __ENVIRONMENT_WATCH_OS_VERSION_MIN_REQUIRED__ - #define __WATCH_OS_VERSION_MAX_ALLOWED __WATCHOS_8_5 - /* for compatibility with existing code. New code should use platform specific checks */ - #define __IPHONE_OS_VERSION_MIN_REQUIRED 90000 - #endif -#endif - -#ifndef __BRIDGE_OS_VERSION_MIN_REQUIRED - #ifdef __ENVIRONMENT_BRIDGE_OS_VERSION_MIN_REQUIRED__ - - #define __BRIDGE_OS_VERSION_MIN_REQUIRED __ENVIRONMENT_BRIDGE_OS_VERSION_MIN_REQUIRED__ - #define __BRIDGE_OS_VERSION_MAX_ALLOWED 60400 - /* for compatibility with existing code. New code should use platform specific checks */ - #define __IPHONE_OS_VERSION_MIN_REQUIRED 110000 - #endif -#endif - -#ifndef __DRIVERKIT_VERSION_MIN_REQUIRED - #ifdef __ENVIRONMENT_DRIVERKIT_VERSION_MIN_REQUIRED__ - #define __DRIVERKIT_VERSION_MIN_REQUIRED __ENVIRONMENT_DRIVERKIT_VERSION_MIN_REQUIRED__ - #endif -#endif - -#ifdef __MAC_OS_X_VERSION_MIN_REQUIRED - /* make sure a default max version is set */ - #ifndef __MAC_OS_X_VERSION_MAX_ALLOWED - #define __MAC_OS_X_VERSION_MAX_ALLOWED __MAC_12_3 - #endif -#endif /* __MAC_OS_X_VERSION_MIN_REQUIRED */ - -#ifdef __IPHONE_OS_VERSION_MIN_REQUIRED - /* make sure a default max version is set */ - #ifndef __IPHONE_OS_VERSION_MAX_ALLOWED - #define __IPHONE_OS_VERSION_MAX_ALLOWED __IPHONE_15_4 - #endif - /* make sure a valid min is set */ - #if __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_2_0 - #undef __IPHONE_OS_VERSION_MIN_REQUIRED - #define __IPHONE_OS_VERSION_MIN_REQUIRED __IPHONE_2_0 - #endif -#endif - -#define __AVAILABILITY_INTERNAL_DEPRECATED __attribute__((deprecated)) -#ifdef __has_feature - #if __has_feature(attribute_deprecated_with_message) - #define __AVAILABILITY_INTERNAL_DEPRECATED_MSG(_msg) __attribute__((deprecated(_msg))) - #else - #define __AVAILABILITY_INTERNAL_DEPRECATED_MSG(_msg) __attribute__((deprecated)) - #endif -#elif defined(__GNUC__) && ((__GNUC__ >= 5) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 5))) - #define __AVAILABILITY_INTERNAL_DEPRECATED_MSG(_msg) __attribute__((deprecated(_msg))) -#else - #define __AVAILABILITY_INTERNAL_DEPRECATED_MSG(_msg) __attribute__((deprecated)) -#endif -#define __AVAILABILITY_INTERNAL_UNAVAILABLE __attribute__((unavailable)) -#define __AVAILABILITY_INTERNAL_WEAK_IMPORT __attribute__((weak_import)) -#define __AVAILABILITY_INTERNAL_REGULAR +#ifndef __AVAILABILITY_INTERNAL_LEGACY__ +#define __AVAILABILITY_INTERNAL_LEGACY__ #if defined(__has_builtin) #if __has_builtin(__is_target_arch) @@ -4432,244 +4341,4 @@ #endif #endif /* __ENABLE_LEGACY_MAC_AVAILABILITY */ -/* - Macros for defining which versions/platform a given symbol can be used. - - @see http://clang.llvm.org/docs/AttributeReference.html#availability - */ - -#if defined(__has_feature) && defined(__has_attribute) - #if __has_attribute(availability) - - - #define __API_AVAILABLE_PLATFORM_macos(x) macos,introduced=x - #define __API_AVAILABLE_PLATFORM_macosx(x) macosx,introduced=x - #define __API_AVAILABLE_PLATFORM_ios(x) ios,introduced=x - #define __API_AVAILABLE_PLATFORM_watchos(x) watchos,introduced=x - #define __API_AVAILABLE_PLATFORM_tvos(x) tvos,introduced=x - - #define __API_AVAILABLE_PLATFORM_macCatalyst(x) macCatalyst,introduced=x - #define __API_AVAILABLE_PLATFORM_macCatalyst(x) macCatalyst,introduced=x - #ifndef __API_AVAILABLE_PLATFORM_uikitformac - #define __API_AVAILABLE_PLATFORM_uikitformac(x) uikitformac,introduced=x - #endif - #define __API_AVAILABLE_PLATFORM_driverkit(x) driverkit,introduced=x - - #if defined(__has_attribute) - #if __has_attribute(availability) - #define __API_A(x) __attribute__((availability(__API_AVAILABLE_PLATFORM_##x))) - #else - #define __API_A(x) - #endif - #else - #define __API_A(x) - #endif - - #define __API_AVAILABLE1(x) __API_A(x) - #define __API_AVAILABLE2(x,y) __API_A(x) __API_A(y) - #define __API_AVAILABLE3(x,y,z) __API_A(x) __API_A(y) __API_A(z) - #define __API_AVAILABLE4(x,y,z,t) __API_A(x) __API_A(y) __API_A(z) __API_A(t) - #define __API_AVAILABLE5(x,y,z,t,b) __API_A(x) __API_A(y) __API_A(z) __API_A(t) __API_A(b) - #define __API_AVAILABLE6(x,y,z,t,b,m) __API_A(x) __API_A(y) __API_A(z) __API_A(t) __API_A(b) __API_A(m) - #define __API_AVAILABLE7(x,y,z,t,b,m,d) __API_A(x) __API_A(y) __API_A(z) __API_A(t) __API_A(b) __API_A(m) __API_A(d) - #define __API_AVAILABLE_GET_MACRO(_1,_2,_3,_4,_5,_6,_7,NAME,...) NAME - - #define __API_APPLY_TO any(record, enum, enum_constant, function, objc_method, objc_category, objc_protocol, objc_interface, objc_property, type_alias, variable, field) - #define __API_RANGE_STRINGIFY(x) __API_RANGE_STRINGIFY2(x) - #define __API_RANGE_STRINGIFY2(x) #x - - #define __API_A_BEGIN(x) _Pragma(__API_RANGE_STRINGIFY (clang attribute (__attribute__((availability(__API_AVAILABLE_PLATFORM_##x))), apply_to = __API_APPLY_TO))) - - #define __API_AVAILABLE_BEGIN1(a) __API_A_BEGIN(a) - #define __API_AVAILABLE_BEGIN2(a,b) __API_A_BEGIN(a) __API_A_BEGIN(b) - #define __API_AVAILABLE_BEGIN3(a,b,c) __API_A_BEGIN(a) __API_A_BEGIN(b) __API_A_BEGIN(c) - #define __API_AVAILABLE_BEGIN4(a,b,c,d) __API_A_BEGIN(a) __API_A_BEGIN(b) __API_A_BEGIN(c) __API_A_BEGIN(d) - #define __API_AVAILABLE_BEGIN5(a,b,c,d,e) __API_A_BEGIN(a) __API_A_BEGIN(b) __API_A_BEGIN(c) __API_A_BEGIN(d) __API_A_BEGIN(e) - #define __API_AVAILABLE_BEGIN6(a,b,c,d,e,f) __API_A_BEGIN(a) __API_A_BEGIN(b) __API_A_BEGIN(c) __API_A_BEGIN(d) __API_A_BEGIN(e) __API_A_BEGIN(f) - #define __API_AVAILABLE_BEGIN7(a,b,c,d,e,f,g) __API_A_BEGIN(a) __API_A_BEGIN(b) __API_A_BEGIN(c) __API_A_BEGIN(d) __API_A_BEGIN(e) __API_A_BEGIN(f) __API_A_BEGIN(g) - #define __API_AVAILABLE_BEGIN_GET_MACRO(_1,_2,_3,_4,_5,_6,_7,NAME,...) NAME - - - #define __API_DEPRECATED_PLATFORM_macos(x,y) macos,introduced=x,deprecated=y - #define __API_DEPRECATED_PLATFORM_macosx(x,y) macosx,introduced=x,deprecated=y - #define __API_DEPRECATED_PLATFORM_ios(x,y) ios,introduced=x,deprecated=y - #define __API_DEPRECATED_PLATFORM_watchos(x,y) watchos,introduced=x,deprecated=y - #define __API_DEPRECATED_PLATFORM_tvos(x,y) tvos,introduced=x,deprecated=y - - #define __API_DEPRECATED_PLATFORM_macCatalyst(x,y) macCatalyst,introduced=x,deprecated=y - #define __API_DEPRECATED_PLATFORM_macCatalyst(x,y) macCatalyst,introduced=x,deprecated=y - #ifndef __API_DEPRECATED_PLATFORM_uikitformac - #define __API_DEPRECATED_PLATFORM_uikitformac(x) uikitformac,introduced=x,deprecated=y - #endif - #define __API_DEPRECATED_PLATFORM_driverkit(x,y) driverkit,introduced=x,deprecated=y - - #if defined(__has_attribute) - #if __has_attribute(availability) - #define __API_D(msg,x) __attribute__((availability(__API_DEPRECATED_PLATFORM_##x,message=msg))) - #else - #define __API_D(msg,x) - #endif - #else - #define __API_D(msg,x) - #endif - - #define __API_DEPRECATED_MSG2(msg,x) __API_D(msg,x) - #define __API_DEPRECATED_MSG3(msg,x,y) __API_D(msg,x) __API_D(msg,y) - #define __API_DEPRECATED_MSG4(msg,x,y,z) __API_DEPRECATED_MSG3(msg,x,y) __API_D(msg,z) - #define __API_DEPRECATED_MSG5(msg,x,y,z,t) __API_DEPRECATED_MSG4(msg,x,y,z) __API_D(msg,t) - #define __API_DEPRECATED_MSG6(msg,x,y,z,t,b) __API_DEPRECATED_MSG5(msg,x,y,z,t) __API_D(msg,b) - #define __API_DEPRECATED_MSG7(msg,x,y,z,t,b,m) __API_DEPRECATED_MSG6(msg,x,y,z,t,b) __API_D(msg,m) - #define __API_DEPRECATED_MSG8(msg,x,y,z,t,b,m,d) __API_DEPRECATED_MSG7(msg,x,y,z,t,b,m) __API_D(msg,d) - #define __API_DEPRECATED_MSG_GET_MACRO(_1,_2,_3,_4,_5,_6,_7,_8,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))) - - #define __API_DEPRECATED_BEGIN_MSG2(msg,a) __API_D_BEGIN(msg,a) - #define __API_DEPRECATED_BEGIN_MSG3(msg,a,b) __API_D_BEGIN(msg,a) __API_D_BEGIN(msg,b) - #define __API_DEPRECATED_BEGIN_MSG4(msg,a,b,c) __API_D_BEGIN(msg,a) __API_D_BEGIN(msg,b) __API_D_BEGIN(msg,c) - #define __API_DEPRECATED_BEGIN_MSG5(msg,a,b,c,d) __API_D_BEGIN(msg,a) __API_D_BEGIN(msg,b) __API_D_BEGIN(msg,c) __API_D_BEGIN(msg,d) - #define __API_DEPRECATED_BEGIN_MSG6(msg,a,b,c,d,e) __API_D_BEGIN(msg,a) __API_D_BEGIN(msg,b) __API_D_BEGIN(msg,c) __API_D_BEGIN(msg,d) __API_D_BEGIN(msg,e) - #define __API_DEPRECATED_BEGIN_MSG7(msg,a,b,c,d,e,f) __API_D_BEGIN(msg,a) __API_D_BEGIN(msg,b) __API_D_BEGIN(msg,c) __API_D_BEGIN(msg,d) __API_D_BEGIN(msg,e) __API_D_BEGIN(msg,f) - #define __API_DEPRECATED_BEGIN_MSG8(msg,a,b,c,d,e,f,g) __API_D_BEGIN(msg,a) __API_D_BEGIN(msg,b) __API_D_BEGIN(msg,c) __API_D_BEGIN(msg,d) __API_D_BEGIN(msg,e) __API_D_BEGIN(msg,f) __API_D_BEGIN(msg,g) - #define __API_DEPRECATED_BEGIN_MSG_GET_MACRO(_1,_2,_3,_4,_5,_6,_7,_8,NAME,...) NAME - - #if __has_feature(attribute_availability_with_replacement) - #define __API_R(rep,x) __attribute__((availability(__API_DEPRECATED_PLATFORM_##x,replacement=rep))) - #else - #define __API_R(rep,x) __attribute__((availability(__API_DEPRECATED_PLATFORM_##x))) - #endif - - #define __API_DEPRECATED_REP2(rep,x) __API_R(rep,x) - #define __API_DEPRECATED_REP3(rep,x,y) __API_R(rep,x) __API_R(rep,y) - #define __API_DEPRECATED_REP4(rep,x,y,z) __API_DEPRECATED_REP3(rep,x,y) __API_R(rep,z) - #define __API_DEPRECATED_REP5(rep,x,y,z,t) __API_DEPRECATED_REP4(rep,x,y,z) __API_R(rep,t) - #define __API_DEPRECATED_REP6(rep,x,y,z,t,b) __API_DEPRECATED_REP5(rep,x,y,z,t) __API_R(rep,b) - #define __API_DEPRECATED_REP7(rep,x,y,z,t,b,m) __API_DEPRECATED_REP6(rep,x,y,z,t,b) __API_R(rep,m) - #define __API_DEPRECATED_REP8(rep,x,y,z,t,b,m,d) __API_DEPRECATED_REP7(rep,x,y,z,t,b,m) __API_R(rep,d) - #define __API_DEPRECATED_REP_GET_MACRO(_1,_2,_3,_4,_5,_6,_7,_8,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))) - #else - #define __API_R_BEGIN(rep,x) _Pragma(__API_RANGE_STRINGIFY (clang attribute (__attribute__((availability(__API_DEPRECATED_PLATFORM_##x))), apply_to = __API_APPLY_TO))) - #endif - - #define __API_DEPRECATED_BEGIN_REP2(rep,a) __API_R_BEGIN(rep,a) - #define __API_DEPRECATED_BEGIN_REP3(rep,a,b) __API_R_BEGIN(rep,a) __API_R_BEGIN(rep,b) - #define __API_DEPRECATED_BEGIN_REP4(rep,a,b,c) __API_R_BEGIN(rep,a) __API_R_BEGIN(rep,b) __API_R_BEGIN(rep,c) - #define __API_DEPRECATED_BEGIN_REP5(rep,a,b,c,d) __API_R_BEGIN(rep,a) __API_R_BEGIN(rep,b) __API_R_BEGIN(rep,c) __API_R_BEGIN(rep,d) - #define __API_DEPRECATED_BEGIN_REP6(rep,a,b,c,d,e) __API_R_BEGIN(rep,a) __API_R_BEGIN(rep,b) __API_R_BEGIN(rep,c) __API_R_BEGIN(rep,d) __API_R_BEGIN(rep,e) - #define __API_DEPRECATED_BEGIN_REP7(rep,a,b,c,d,e,f) __API_R_BEGIN(rep,a) __API_R_BEGIN(rep,b) __API_R_BEGIN(rep,c) __API_R_BEGIN(rep,d) __API_R_BEGIN(rep,e) __API_R_BEGIN(rep,f) - #define __API_DEPRECATED_BEGIN_REP8(rep,a,b,c,d,e,f,g) __API_R_BEGIN(rep,a) __API_R_BEGIN(rep,b) __API_R_BEGIN(rep,c) __API_R_BEGIN(rep,d) __API_R_BEGIN(rep,e) __API_R_BEGIN(rep,f) __API_R_BEGIN(rep,g) - #define __API_DEPRECATED_BEGIN_REP_GET_MACRO(_1,_2,_3,_4,_5,_6,_7,_8,NAME,...) NAME - - /* - * API Unavailability - * Use to specify that an API is unavailable for a particular platform. - * - * Example: - * __API_UNAVAILABLE(macos) - * __API_UNAVAILABLE(watchos, tvos) - */ - #define __API_UNAVAILABLE_PLATFORM_macos macos,unavailable - #define __API_UNAVAILABLE_PLATFORM_macosx macosx,unavailable - #define __API_UNAVAILABLE_PLATFORM_ios ios,unavailable - #define __API_UNAVAILABLE_PLATFORM_watchos watchos,unavailable - #define __API_UNAVAILABLE_PLATFORM_tvos tvos,unavailable - - #define __API_UNAVAILABLE_PLATFORM_macCatalyst macCatalyst,unavailable - #define __API_UNAVAILABLE_PLATFORM_macCatalyst macCatalyst,unavailable - #ifndef __API_UNAVAILABLE_PLATFORM_uikitformac - #define __API_UNAVAILABLE_PLATFORM_uikitformac(x) uikitformac,unavailable - #endif - #define __API_UNAVAILABLE_PLATFORM_driverkit driverkit,unavailable - - #if defined(__has_attribute) - #if __has_attribute(availability) - #define __API_U(x) __attribute__((availability(__API_UNAVAILABLE_PLATFORM_##x))) - #else - #define __API_U(x) - #endif - #else - #define __API_U(x) - #endif - - #define __API_UNAVAILABLE1(x) __API_U(x) - #define __API_UNAVAILABLE2(x,y) __API_U(x) __API_U(y) - #define __API_UNAVAILABLE3(x,y,z) __API_UNAVAILABLE2(x,y) __API_U(z) - #define __API_UNAVAILABLE4(x,y,z,t) __API_UNAVAILABLE3(x,y,z) __API_U(t) - #define __API_UNAVAILABLE5(x,y,z,t,b) __API_UNAVAILABLE4(x,y,z,t) __API_U(b) - #define __API_UNAVAILABLE6(x,y,z,t,b,m) __API_UNAVAILABLE5(x,y,z,t,b) __API_U(m) - #define __API_UNAVAILABLE7(x,y,z,t,b,m,d) __API_UNAVAILABLE6(x,y,z,t,b,m) __API_U(d) - #define __API_UNAVAILABLE_GET_MACRO(_1,_2,_3,_4,_5,_6,_7,NAME,...) NAME - - #define __API_U_BEGIN(x) _Pragma(__API_RANGE_STRINGIFY (clang attribute (__attribute__((availability(__API_UNAVAILABLE_PLATFORM_##x))), apply_to = __API_APPLY_TO))) - - #define __API_UNAVAILABLE_BEGIN1(a) __API_U_BEGIN(a) - #define __API_UNAVAILABLE_BEGIN2(a,b) __API_U_BEGIN(a) __API_U_BEGIN(b) - #define __API_UNAVAILABLE_BEGIN3(a,b,c) __API_U_BEGIN(a) __API_U_BEGIN(b) __API_U_BEGIN(c) - #define __API_UNAVAILABLE_BEGIN4(a,b,c,d) __API_U_BEGIN(a) __API_U_BEGIN(b) __API_U_BEGIN(c) __API_U_BEGIN(d) - #define __API_UNAVAILABLE_BEGIN5(a,b,c,d,e) __API_U_BEGIN(a) __API_U_BEGIN(b) __API_U_BEGIN(c) __API_U_BEGIN(d) __API_U_BEGIN(e) - #define __API_UNAVAILABLE_BEGIN6(a,b,c,d,e,f) __API_U_BEGIN(a) __API_U_BEGIN(b) __API_U_BEGIN(c) __API_U_BEGIN(d) __API_U_BEGIN(e) __API_U_BEGIN(f) - #define __API_UNAVAILABLE_BEGIN7(a,b,c,d,e,f) __API_U_BEGIN(a) __API_U_BEGIN(b) __API_U_BEGIN(c) __API_U_BEGIN(d) __API_U_BEGIN(e) __API_U_BEGIN(f) __API_U_BEGIN(g) - #define __API_UNAVAILABLE_BEGIN_GET_MACRO(_1,_2,_3,_4,_5,_6,_7,NAME,...) NAME - #else - - /* - * Evaluate to nothing for compilers that don't support availability. - */ - - #define __API_AVAILABLE_GET_MACRO(...) - #define __API_AVAILABLE_BEGIN_GET_MACRO(...) - #define __API_DEPRECATED_MSG_GET_MACRO(...) - #define __API_DEPRECATED_REP_GET_MACRO(...) - #define __API_DEPRECATED_BEGIN_MSG_GET_MACRO(...) - #define __API_DEPRECATED_BEGIN_REP_GET_MACRO - #define __API_UNAVAILABLE_GET_MACRO(...) - #define __API_UNAVAILABLE_BEGIN_GET_MACRO(...) - #endif /* __has_attribute(availability) */ -#else - - /* - * Evaluate to nothing for compilers that don't support clang language extensions. - */ - - #define __API_AVAILABLE_GET_MACRO(...) - #define __API_AVAILABLE_BEGIN_GET_MACRO(...) - #define __API_DEPRECATED_MSG_GET_MACRO(...) - #define __API_DEPRECATED_REP_GET_MACRO(...) - #define __API_DEPRECATED_BEGIN_MSG_GET_MACRO(...) - #define __API_DEPRECATED_BEGIN_REP_GET_MACRO - #define __API_UNAVAILABLE_GET_MACRO(...) - #define __API_UNAVAILABLE_BEGIN_GET_MACRO(...) -#endif /* #if defined(__has_feature) && defined(__has_attribute) */ - -/* - * Swift compiler version - * Allows for project-agnostic "epochs" for frameworks imported into Swift via the Clang importer, like #if _compiler_version for Swift - * Example: - * - * #if __swift_compiler_version_at_least(800, 2, 20) - * - (nonnull NSString *)description; - * #else - * - (NSString *)description; - * #endif - */ - -#ifdef __SWIFT_COMPILER_VERSION - #define __swift_compiler_version_at_least_impl(X, Y, Z, a, b, ...) \ - __SWIFT_COMPILER_VERSION >= ((X * UINT64_C(1000) * 1000 * 1000) + (Z * 1000 * 1000) + (a * 1000) + b) - #define __swift_compiler_version_at_least(...) __swift_compiler_version_at_least_impl(__VA_ARGS__, 0, 0, 0, 0) -#else - #define __swift_compiler_version_at_least(...) 1 -#endif - -/* - * If __SPI_AVAILABLE has not been defined elsewhere, disable it. - */ - -#ifndef __SPI_AVAILABLE - #define __SPI_AVAILABLE(...) -#endif - -#endif /* __AVAILABILITY_INTERNAL__ */ \ No newline at end of file +#endif /* __AVAILABILITY_INTERNAL_LEAGCY__ */ diff --git a/lib/libc/include/any-macos.11-any/AvailabilityMacros.h b/lib/libc/include/any-macos-any/AvailabilityMacros.h similarity index 99% rename from lib/libc/include/any-macos.11-any/AvailabilityMacros.h rename to lib/libc/include/any-macos-any/AvailabilityMacros.h index 74537c5bd8..6dc972666a 100644 --- a/lib/libc/include/any-macos.11-any/AvailabilityMacros.h +++ b/lib/libc/include/any-macos-any/AvailabilityMacros.h @@ -82,45 +82,12 @@ */ + +#include + #ifndef __AVAILABILITYMACROS__ #define __AVAILABILITYMACROS__ -/* - * Set up standard Mac OS X versions - */ -#define MAC_OS_X_VERSION_10_0 1000 -#define MAC_OS_X_VERSION_10_1 1010 -#define MAC_OS_X_VERSION_10_2 1020 -#define MAC_OS_X_VERSION_10_3 1030 -#define MAC_OS_X_VERSION_10_4 1040 -#define MAC_OS_X_VERSION_10_5 1050 -#define MAC_OS_X_VERSION_10_6 1060 -#define MAC_OS_X_VERSION_10_7 1070 -#define MAC_OS_X_VERSION_10_8 1080 -#define MAC_OS_X_VERSION_10_9 1090 -#define MAC_OS_X_VERSION_10_10 101000 -#define MAC_OS_X_VERSION_10_10_2 101002 -#define MAC_OS_X_VERSION_10_10_3 101003 -#define MAC_OS_X_VERSION_10_11 101100 -#define MAC_OS_X_VERSION_10_11_2 101102 -#define MAC_OS_X_VERSION_10_11_3 101103 -#define MAC_OS_X_VERSION_10_11_4 101104 -#define MAC_OS_X_VERSION_10_12 101200 -#define MAC_OS_X_VERSION_10_12_1 101201 -#define MAC_OS_X_VERSION_10_12_2 101202 -#define MAC_OS_X_VERSION_10_12_4 101204 -#define MAC_OS_X_VERSION_10_13 101300 -#define MAC_OS_X_VERSION_10_13_1 101301 -#define MAC_OS_X_VERSION_10_13_2 101302 -#define MAC_OS_X_VERSION_10_13_4 101304 -#define MAC_OS_X_VERSION_10_14 101400 -#define MAC_OS_X_VERSION_10_14_1 101401 -#define MAC_OS_X_VERSION_10_14_4 101404 -#define MAC_OS_X_VERSION_10_15 101500 -#define MAC_OS_VERSION_11_0 110000 -#define MAC_OS_VERSION_11_1 110100 -#define MAC_OS_VERSION_11_3 110300 - /* * If min OS not specified, assume 10.4 for intel * Note: compiler driver may set _ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED_ based on MACOSX_DEPLOYMENT_TARGET environment variable @@ -146,10 +113,10 @@ * if max OS not specified, assume larger of (10.15, min) */ #ifndef MAC_OS_X_VERSION_MAX_ALLOWED - #if MAC_OS_X_VERSION_MIN_REQUIRED > MAC_OS_VERSION_11_3 + #if MAC_OS_X_VERSION_MIN_REQUIRED > MAC_OS_VERSION_14_0 #define MAC_OS_X_VERSION_MAX_ALLOWED MAC_OS_X_VERSION_MIN_REQUIRED #else - #define MAC_OS_X_VERSION_MAX_ALLOWED MAC_OS_VERSION_11_3 + #define MAC_OS_X_VERSION_MAX_ALLOWED MAC_OS_VERSION_14_0 #endif #endif @@ -4012,4 +3979,6 @@ #define DEPRECATED_IN_MAC_OS_X_VERSION_10_14_4_AND_LATER #endif -#endif /* __AVAILABILITYMACROS__ */ \ No newline at end of file +#endif /* __AVAILABILITYMACROS__ */ + + diff --git a/lib/libc/include/any-macos-any/AvailabilityVersions.h b/lib/libc/include/any-macos-any/AvailabilityVersions.h new file mode 100644 index 0000000000..5a6d41968f --- /dev/null +++ b/lib/libc/include/any-macos-any/AvailabilityVersions.h @@ -0,0 +1,340 @@ +/* + * Copyright (c) 2019 by 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 __AVAILABILITY_VERSIONS__ +#define __AVAILABILITY_VERSIONS__ + +#define __MAC_10_0 1000 +#define __MAC_10_1 1010 +#define __MAC_10_2 1020 +#define __MAC_10_3 1030 +#define __MAC_10_4 1040 +#define __MAC_10_5 1050 +#define __MAC_10_6 1060 +#define __MAC_10_7 1070 +#define __MAC_10_8 1080 +#define __MAC_10_9 1090 +#define __MAC_10_10 101000 +#define __MAC_10_10_2 101002 +#define __MAC_10_10_3 101003 +#define __MAC_10_11 101100 +#define __MAC_10_11_2 101102 +#define __MAC_10_11_3 101103 +#define __MAC_10_11_4 101104 +#define __MAC_10_12 101200 +#define __MAC_10_12_1 101201 +#define __MAC_10_12_2 101202 +#define __MAC_10_12_4 101204 +#define __MAC_10_13 101300 +#define __MAC_10_13_1 101301 +#define __MAC_10_13_2 101302 +#define __MAC_10_13_4 101304 +#define __MAC_10_14 101400 +#define __MAC_10_14_1 101401 +#define __MAC_10_14_4 101404 +#define __MAC_10_14_5 101405 +#define __MAC_10_14_6 101406 +#define __MAC_10_15 101500 +#define __MAC_10_15_1 101501 +#define __MAC_10_15_4 101504 +#define __MAC_10_16 101600 +#define __MAC_11_0 110000 +#define __MAC_11_1 110100 +#define __MAC_11_3 110300 +#define __MAC_11_4 110400 +#define __MAC_11_5 110500 +#define __MAC_11_6 110600 +#define __MAC_12_0 120000 +#define __MAC_12_1 120100 +#define __MAC_12_2 120200 +#define __MAC_12_3 120300 +#define __MAC_12_4 120400 +#define __MAC_12_5 120500 +#define __MAC_13_0 130000 +#define __MAC_13_1 130100 +#define __MAC_13_1 130100 +#define __MAC_13_2 130200 +#define __MAC_13_3 130300 +#define __MAC_13_4 130400 +#define __MAC_14_0 140000 +/* __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 +#define __IPHONE_2_1 20100 +#define __IPHONE_2_2 20200 +#define __IPHONE_3_0 30000 +#define __IPHONE_3_1 30100 +#define __IPHONE_3_2 30200 +#define __IPHONE_4_0 40000 +#define __IPHONE_4_1 40100 +#define __IPHONE_4_2 40200 +#define __IPHONE_4_3 40300 +#define __IPHONE_5_0 50000 +#define __IPHONE_5_1 50100 +#define __IPHONE_6_0 60000 +#define __IPHONE_6_1 60100 +#define __IPHONE_7_0 70000 +#define __IPHONE_7_1 70100 +#define __IPHONE_8_0 80000 +#define __IPHONE_8_1 80100 +#define __IPHONE_8_2 80200 +#define __IPHONE_8_3 80300 +#define __IPHONE_8_4 80400 +#define __IPHONE_9_0 90000 +#define __IPHONE_9_1 90100 +#define __IPHONE_9_2 90200 +#define __IPHONE_9_3 90300 +#define __IPHONE_10_0 100000 +#define __IPHONE_10_1 100100 +#define __IPHONE_10_2 100200 +#define __IPHONE_10_3 100300 +#define __IPHONE_11_0 110000 +#define __IPHONE_11_1 110100 +#define __IPHONE_11_2 110200 +#define __IPHONE_11_3 110300 +#define __IPHONE_11_4 110400 +#define __IPHONE_12_0 120000 +#define __IPHONE_12_1 120100 +#define __IPHONE_12_2 120200 +#define __IPHONE_12_3 120300 +#define __IPHONE_12_4 120400 +#define __IPHONE_13_0 130000 +#define __IPHONE_13_1 130100 +#define __IPHONE_13_2 130200 +#define __IPHONE_13_3 130300 +#define __IPHONE_13_4 130400 +#define __IPHONE_13_5 130500 +#define __IPHONE_13_6 130600 +#define __IPHONE_13_7 130700 +#define __IPHONE_14_0 140000 +#define __IPHONE_14_1 140100 +#define __IPHONE_14_2 140200 +#define __IPHONE_14_3 140300 +#define __IPHONE_14_5 140500 +#define __IPHONE_14_4 140400 +#define __IPHONE_14_5 140500 +#define __IPHONE_14_6 140600 +#define __IPHONE_14_7 140700 +#define __IPHONE_14_8 140800 +#define __IPHONE_15_0 150000 +#define __IPHONE_15_1 150100 +#define __IPHONE_15_2 150200 +#define __IPHONE_15_3 150300 +#define __IPHONE_15_4 150400 +#define __IPHONE_15_5 150500 +#define __IPHONE_15_6 150600 +#define __IPHONE_16_0 160000 +#define __IPHONE_16_1 160100 +#define __IPHONE_16_2 160200 +#define __IPHONE_16_3 160300 +#define __IPHONE_16_4 160400 +#define __IPHONE_16_5 160500 +#define __IPHONE_17_0 170000 +/* __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 +#define __WATCHOS_2_0 20000 +#define __WATCHOS_2_1 20100 +#define __WATCHOS_2_2 20200 +#define __WATCHOS_3_0 30000 +#define __WATCHOS_3_1 30100 +#define __WATCHOS_3_1_1 30101 +#define __WATCHOS_3_2 30200 +#define __WATCHOS_4_0 40000 +#define __WATCHOS_4_1 40100 +#define __WATCHOS_4_2 40200 +#define __WATCHOS_4_3 40300 +#define __WATCHOS_5_0 50000 +#define __WATCHOS_5_1 50100 +#define __WATCHOS_5_2 50200 +#define __WATCHOS_5_3 50300 +#define __WATCHOS_6_0 60000 +#define __WATCHOS_6_1 60100 +#define __WATCHOS_6_2 60200 +#define __WATCHOS_7_0 70000 +#define __WATCHOS_7_1 70100 +#define __WATCHOS_7_2 70200 +#define __WATCHOS_7_3 70300 +#define __WATCHOS_7_4 70400 +#define __WATCHOS_7_5 70500 +#define __WATCHOS_7_6 70600 +#define __WATCHOS_8_0 80000 +#define __WATCHOS_8_1 80100 +#define __WATCHOS_8_3 80300 +#define __WATCHOS_8_4 80400 +#define __WATCHOS_8_5 80500 +#define __WATCHOS_8_6 80600 +#define __WATCHOS_8_7 80700 +#define __WATCHOS_9_0 90000 +#define __WATCHOS_9_1 90100 +#define __WATCHOS_9_2 90200 +#define __WATCHOS_9_3 90300 +#define __WATCHOS_9_4 90400 +#define __WATCHOS_9_5 90500 +#define __WATCHOS_10_0 100000 +/* __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 +#define __TVOS_9_1 90100 +#define __TVOS_9_2 90200 +#define __TVOS_10_0 100000 +#define __TVOS_10_0_1 100001 +#define __TVOS_10_1 100100 +#define __TVOS_10_2 100200 +#define __TVOS_11_0 110000 +#define __TVOS_11_1 110100 +#define __TVOS_11_2 110200 +#define __TVOS_11_3 110300 +#define __TVOS_11_4 110400 +#define __TVOS_12_0 120000 +#define __TVOS_12_1 120100 +#define __TVOS_12_2 120200 +#define __TVOS_12_3 120300 +#define __TVOS_12_4 120400 +#define __TVOS_13_0 130000 +#define __TVOS_13_2 130200 +#define __TVOS_13_3 130300 +#define __TVOS_13_4 130400 +#define __TVOS_14_0 140000 +#define __TVOS_14_1 140100 +#define __TVOS_14_2 140200 +#define __TVOS_14_3 140300 +#define __TVOS_14_5 140500 +#define __TVOS_14_6 140600 +#define __TVOS_14_7 140700 +#define __TVOS_15_0 150000 +#define __TVOS_15_1 150100 +#define __TVOS_15_2 150200 +#define __TVOS_15_3 150300 +#define __TVOS_15_4 150400 +#define __TVOS_15_5 150500 +#define __TVOS_15_6 150600 +#define __TVOS_16_0 160000 +#define __TVOS_16_1 160100 +#define __TVOS_16_2 160200 +#define __TVOS_16_3 160300 +#define __TVOS_16_4 160400 +#define __TVOS_16_5 160500 +#define __TVOS_17_0 170000 +/* __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 +#define __BRIDGEOS_3_0 30000 +#define __BRIDGEOS_3_1 30100 +#define __BRIDGEOS_3_4 30400 +#define __BRIDGEOS_4_0 40000 +#define __BRIDGEOS_4_1 40100 +#define __BRIDGEOS_5_0 50000 +#define __BRIDGEOS_5_1 50100 +#define __BRIDGEOS_5_3 50300 +#define __BRIDGEOS_6_0 60000 +#define __BRIDGEOS_6_2 60200 +#define __BRIDGEOS_6_4 60400 +#define __BRIDGEOS_6_5 60500 +#define __BRIDGEOS_6_6 60600 +#define __BRIDGEOS_7_0 70000 +#define __BRIDGEOS_7_1 70100 +#define __BRIDGEOS_7_1 70100 +#define __BRIDGEOS_7_2 70200 +#define __BRIDGEOS_7_3 70300 +#define __BRIDGEOS_7_4 70400 +#define __BRIDGEOS_8_0 80000 + + +#define __DRIVERKIT_19_0 190000 +#define __DRIVERKIT_20_0 200000 +#define __DRIVERKIT_21_0 210000 +#define __DRIVERKIT_22_0 220000 +#define __DRIVERKIT_22_4 220400 +#define __DRIVERKIT_22_5 220500 +#define __DRIVERKIT_23_0 230000 +/* __DRIVERKIT__NA is not defined to a value but is used as a token by macros to indicate that the API is unavailable */ + +#define __XROS_1_0 10000 +/* __XROS__NA is not defined to a value but is used as a token by macros to indicate that the API is unavailable */ + + +/* + * Set up standard Mac OS X versions + */ + +#if (!defined(_POSIX_C_SOURCE) && !defined(_XOPEN_SOURCE)) || defined(_DARWIN_C_SOURCE) + +#define MAC_OS_X_VERSION_10_0 __MAC_10_0 +#define MAC_OS_X_VERSION_10_1 __MAC_10_1 +#define MAC_OS_X_VERSION_10_2 __MAC_10_2 +#define MAC_OS_X_VERSION_10_3 __MAC_10_3 +#define MAC_OS_X_VERSION_10_4 __MAC_10_4 +#define MAC_OS_X_VERSION_10_5 __MAC_10_5 +#define MAC_OS_X_VERSION_10_6 __MAC_10_6 +#define MAC_OS_X_VERSION_10_7 __MAC_10_7 +#define MAC_OS_X_VERSION_10_8 __MAC_10_8 +#define MAC_OS_X_VERSION_10_9 __MAC_10_9 +#define MAC_OS_X_VERSION_10_10 __MAC_10_10 +#define MAC_OS_X_VERSION_10_10_2 __MAC_10_10_2 +#define MAC_OS_X_VERSION_10_10_3 __MAC_10_10_3 +#define MAC_OS_X_VERSION_10_11 __MAC_10_11 +#define MAC_OS_X_VERSION_10_11_2 __MAC_10_11_2 +#define MAC_OS_X_VERSION_10_11_3 __MAC_10_11_3 +#define MAC_OS_X_VERSION_10_11_4 __MAC_10_11_4 +#define MAC_OS_X_VERSION_10_12 __MAC_10_12 +#define MAC_OS_X_VERSION_10_12_1 __MAC_10_12_1 +#define MAC_OS_X_VERSION_10_12_2 __MAC_10_12_2 +#define MAC_OS_X_VERSION_10_12_4 __MAC_10_12_4 +#define MAC_OS_X_VERSION_10_13 __MAC_10_13 +#define MAC_OS_X_VERSION_10_13_1 __MAC_10_13_1 +#define MAC_OS_X_VERSION_10_13_2 __MAC_10_13_2 +#define MAC_OS_X_VERSION_10_13_4 __MAC_10_13_4 +#define MAC_OS_X_VERSION_10_14 __MAC_10_14 +#define MAC_OS_X_VERSION_10_14_1 __MAC_10_14_1 +#define MAC_OS_X_VERSION_10_14_4 __MAC_10_14_4 +#define MAC_OS_X_VERSION_10_14_5 __MAC_10_14_5 +#define MAC_OS_X_VERSION_10_14_6 __MAC_10_14_6 +#define MAC_OS_X_VERSION_10_15 __MAC_10_15 +#define MAC_OS_X_VERSION_10_15_1 __MAC_10_15_1 +#define MAC_OS_X_VERSION_10_15_4 __MAC_10_15_4 +#define MAC_OS_X_VERSION_10_16 __MAC_10_16 +#define MAC_OS_VERSION_11_0 __MAC_11_0 +#define MAC_OS_VERSION_11_1 __MAC_11_1 +#define MAC_OS_VERSION_11_3 __MAC_11_3 +#define MAC_OS_VERSION_11_4 __MAC_11_4 +#define MAC_OS_VERSION_11_5 __MAC_11_5 +#define MAC_OS_VERSION_11_6 __MAC_11_6 +#define MAC_OS_VERSION_12_0 __MAC_12_0 +#define MAC_OS_VERSION_12_1 __MAC_12_1 +#define MAC_OS_VERSION_12_2 __MAC_12_2 +#define MAC_OS_VERSION_12_3 __MAC_12_3 +#define MAC_OS_VERSION_12_4 __MAC_12_4 +#define MAC_OS_VERSION_12_5 __MAC_12_5 +#define MAC_OS_VERSION_13_0 __MAC_13_0 +#define MAC_OS_VERSION_13_1 __MAC_13_1 +#define MAC_OS_VERSION_13_1 __MAC_13_1 +#define MAC_OS_VERSION_13_2 __MAC_13_2 +#define MAC_OS_VERSION_13_3 __MAC_13_3 +#define MAC_OS_VERSION_13_4 __MAC_13_4 +#define MAC_OS_VERSION_14_0 __MAC_14_0 + +#endif /* #if (!defined(_POSIX_C_SOURCE) && !defined(_XOPEN_SOURCE)) || defined(_DARWIN_C_SOURCE) */ + +#endif /* __AVAILABILITY_VERSIONS__ */ + diff --git a/lib/libc/include/any-macos-any/Block.h b/lib/libc/include/any-macos-any/Block.h index 2e27bd800a..153871c96b 100644 --- a/lib/libc/include/any-macos-any/Block.h +++ b/lib/libc/include/any-macos-any/Block.h @@ -18,8 +18,14 @@ # endif #endif +#if __has_include() #include +#else +#define __OSX_AVAILABLE_STARTING(m,i) +#endif + #include +#include #if __cplusplus extern "C" { @@ -28,11 +34,11 @@ 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 *_Block_copy(const void *aBlock) +BLOCK_EXPORT void *__single _Block_copy(const void *__single aBlock) __OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_3_2); // Lose the reference, and if heap based and last reference, recover the memory -BLOCK_EXPORT void _Block_release(const void *aBlock) +BLOCK_EXPORT void _Block_release(const void *__single aBlock) __OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_3_2); @@ -57,8 +63,8 @@ BLOCK_EXPORT void * _NSConcreteStackBlock[32] // Type correct macros -#define Block_copy(...) ((__typeof(__VA_ARGS__))_Block_copy((const void *)(__VA_ARGS__))) -#define Block_release(...) _Block_release((const void *)(__VA_ARGS__)) +#define Block_copy(...) ((__typeof(__VA_ARGS__))_Block_copy(__unsafe_forge_single(const void *, (const void *)(__VA_ARGS__)))) +#define Block_release(...) _Block_release(__unsafe_forge_single(const void *, (const void *)(__VA_ARGS__))) -#endif \ No newline at end of file +#endif diff --git a/lib/libc/include/any-macos-any/CommonCrypto/CommonDigest.h b/lib/libc/include/any-macos-any/CommonCrypto/CommonDigest.h index 5cbb652359..8691a86034 100644 --- a/lib/libc/include/any-macos-any/CommonCrypto/CommonDigest.h +++ b/lib/libc/include/any-macos-any/CommonCrypto/CommonDigest.h @@ -334,4 +334,4 @@ API_DEPRECATED(CC_DIGEST_DEPRECATION_WARNING, macos(10.4, 10.15), ios(2.0, 13.0) } #endif -#endif /* _CC_COMMON_DIGEST_H_ */ \ No newline at end of file +#endif /* _CC_COMMON_DIGEST_H_ */ diff --git a/lib/libc/include/any-macos-any/ConditionalMacros.h b/lib/libc/include/any-macos-any/ConditionalMacros.h index 4f817ec1c1..5344fb985f 100644 --- a/lib/libc/include/any-macos-any/ConditionalMacros.h +++ b/lib/libc/include/any-macos-any/ConditionalMacros.h @@ -615,4 +615,5 @@ -#endif /* __CONDITIONALMACROS__ */ \ No newline at end of file +#endif /* __CONDITIONALMACROS__ */ + diff --git a/lib/libc/include/any-macos-any/MacTypes.h b/lib/libc/include/any-macos-any/MacTypes.h index b4bba7e446..135fad0fd2 100644 --- a/lib/libc/include/any-macos-any/MacTypes.h +++ b/lib/libc/include/any-macos-any/MacTypes.h @@ -804,4 +804,5 @@ SysBreakFunc(ConstStr255Param debuggerMsg) __OSX_AVAILABLE_BU } #endif -#endif /* __MACTYPES__ */ \ No newline at end of file +#endif /* __MACTYPES__ */ + diff --git a/lib/libc/include/any-macos-any/TargetConditionals.h b/lib/libc/include/any-macos-any/TargetConditionals.h index 020e96ee9b..59cb4faf37 100644 --- a/lib/libc/include/any-macos-any/TargetConditionals.h +++ b/lib/libc/include/any-macos-any/TargetConditionals.h @@ -140,6 +140,7 @@ /* "-target=arm64-apple-ios12-macabi" */ /* "-target=arm64e-apple-ios12-macabi" */ #if (__is_target_arch(x86_64) || __is_target_arch(arm64) || __is_target_arch(arm64e)) && __is_target_vendor(apple) && __is_target_os(ios) && __is_target_environment(macabi) + #define TARGET_OS_MAC 1 #define TARGET_OS_OSX 0 #define TARGET_OS_IPHONE 1 #define TARGET_OS_IOS 1 @@ -152,6 +153,9 @@ #define TARGET_OS_MACCATALYST 1 #define TARGET_OS_MACCATALYST 1 + #define TARGET_OS_VISION 0 + + #ifndef TARGET_OS_UIKITFORMAC #define TARGET_OS_UIKITFORMAC 1 #endif @@ -163,6 +167,7 @@ /* "-target=arm64-apple-ios12-simulator" */ /* "-target=arm64e-apple-ios12-simulator" */ #if (__is_target_arch(x86_64) || __is_target_arch(arm64) || __is_target_arch(arm64e)) && __is_target_vendor(apple) && __is_target_os(ios) && __is_target_environment(simulator) + #define TARGET_OS_MAC 1 #define TARGET_OS_OSX 0 #define TARGET_OS_IPHONE 1 #define TARGET_OS_IOS 1 @@ -175,6 +180,9 @@ #define TARGET_OS_MACCATALYST 0 #define TARGET_OS_MACCATALYST 0 + #define TARGET_OS_VISION 0 + + #ifndef TARGET_OS_UIKITFORMAC #define TARGET_OS_UIKITFORMAC 0 #endif @@ -184,10 +192,61 @@ - /* "-target=x86_64-apple-driverkit19.0" */ - /* "-target=arm64-apple-driverkit19.0" */ - /* "-target=arm64e-apple-driverkit19.0" */ - #if __is_target_vendor(apple) && __is_target_os(driverkit) + /* "-target=arm64e-apple-xros1.0" */ + #if (__is_target_arch(arm64e) || __is_target_arch(arm64)) && __is_target_vendor(apple) && __is_target_os(xros) + #define TARGET_OS_MAC 1 + #define TARGET_OS_OSX 0 + #define TARGET_OS_IPHONE 1 + #define TARGET_OS_IOS 1 + #define TARGET_OS_WATCH 0 + + #define TARGET_OS_TV 0 + #define TARGET_OS_SIMULATOR 0 + #define TARGET_OS_EMBEDDED 1 + #define TARGET_OS_RTKIT 0 + #define TARGET_OS_MACCATALYST 0 + #define TARGET_OS_MACCATALYST 0 + + #define TARGET_OS_VISION 1 + + + #ifndef TARGET_OS_UIKITFORMAC + #define TARGET_OS_UIKITFORMAC 0 + #endif + #define TARGET_OS_DRIVERKIT 0 + #define DYNAMIC_TARGETS_ENABLED 1 + #endif + + /* "-target=arm64e-apple-xros1.0-simulator" */ + #if (__is_target_arch(x86_64) || __is_target_arch(arm64) || __is_target_arch(arm64e)) && __is_target_vendor(apple) && __is_target_os(xros) && __is_target_environment(simulator) + #define TARGET_OS_MAC 1 + #define TARGET_OS_OSX 0 + #define TARGET_OS_IPHONE 1 + #define TARGET_OS_IOS 1 + #define TARGET_OS_WATCH 0 + + #define TARGET_OS_TV 0 + #define TARGET_OS_SIMULATOR 1 + #define TARGET_OS_EMBEDDED 0 + #define TARGET_OS_RTKIT 0 + #define TARGET_OS_MACCATALYST 0 + #define TARGET_OS_MACCATALYST 0 + + #define TARGET_OS_VISION 1 + + + #ifndef TARGET_OS_UIKITFORMAC + #define TARGET_OS_UIKITFORMAC 0 + #endif + #define TARGET_OS_DRIVERKIT 0 + #define DYNAMIC_TARGETS_ENABLED 1 + #endif + + + + //FIXME: Workaround for rdar://100536146 + #if (__is_target_vendor(apple) && defined(__APPLE_EXCLAVECORE__) && __APPLE_EXCLAVECORE__) + #define TARGET_OS_MAC 0 #define TARGET_OS_OSX 0 #define TARGET_OS_IPHONE 0 #define TARGET_OS_IOS 0 @@ -200,6 +259,63 @@ #define TARGET_OS_MACCATALYST 0 #define TARGET_OS_MACCATALYST 0 + #define TARGET_OS_VISION 0 + + + #ifndef TARGET_OS_UIKITFORMAC + #define TARGET_OS_UIKITFORMAC 0 + #endif + #define TARGET_OS_DRIVERKIT 0 + #define DYNAMIC_TARGETS_ENABLED 1 + #endif + + + + //FIXME: Workaround for rdar://100536146 + #if (__is_target_vendor(apple) && defined(__APPLE_EXCLAVEKIT__) && __APPLE_EXCLAVEKIT__) + #define TARGET_OS_MAC 1 + #define TARGET_OS_OSX 0 + #define TARGET_OS_IPHONE 0 + #define TARGET_OS_IOS 0 + #define TARGET_OS_WATCH 0 + + #define TARGET_OS_TV 0 + #define TARGET_OS_SIMULATOR 0 + #define TARGET_OS_EMBEDDED 0 + #define TARGET_OS_RTKIT 0 + #define TARGET_OS_MACCATALYST 0 + #define TARGET_OS_MACCATALYST 0 + + #define TARGET_OS_VISION 0 + + + #ifndef TARGET_OS_UIKITFORMAC + #define TARGET_OS_UIKITFORMAC 0 + #endif + #define TARGET_OS_DRIVERKIT 0 + #define DYNAMIC_TARGETS_ENABLED 1 + #endif + + /* "-target=x86_64-apple-driverkit19.0" */ + /* "-target=arm64-apple-driverkit19.0" */ + /* "-target=arm64e-apple-driverkit19.0" */ + #if __is_target_vendor(apple) && __is_target_os(driverkit) + #define TARGET_OS_MAC 1 + #define TARGET_OS_OSX 0 + #define TARGET_OS_IPHONE 0 + #define TARGET_OS_IOS 0 + #define TARGET_OS_WATCH 0 + + #define TARGET_OS_TV 0 + #define TARGET_OS_SIMULATOR 0 + #define TARGET_OS_EMBEDDED 0 + #define TARGET_OS_RTKIT 0 + #define TARGET_OS_MACCATALYST 0 + #define TARGET_OS_MACCATALYST 0 + + #define TARGET_OS_VISION 0 + + #ifndef TARGET_OS_UIKITFORMAC #define TARGET_OS_UIKITFORMAC 0 #endif @@ -222,13 +338,13 @@ * gcc based compiler used on Mac OS X */ #if defined(__GNUC__) && ( defined(__APPLE_CPP__) || defined(__APPLE_CC__) || defined(__MACOS_CLASSIC__) ) - #define TARGET_OS_MAC 1 #define TARGET_OS_WIN32 0 #define TARGET_OS_WINDOWS 0 #define TARGET_OS_UNIX 0 #define TARGET_OS_LINUX 0 #if !DYNAMIC_TARGETS_ENABLED + #define TARGET_OS_MAC 1 #define TARGET_OS_OSX 1 #define TARGET_OS_IPHONE 0 #define TARGET_OS_IOS 0 @@ -237,7 +353,10 @@ #define TARGET_OS_TV 0 #define TARGET_OS_MACCATALYST 0 #define TARGET_OS_MACCATALYST 0 + + + #define TARGET_OS_VISION 0 #ifndef TARGET_OS_UIKITFORMAC #define TARGET_OS_UIKITFORMAC 0 #endif @@ -522,4 +641,4 @@ #endif -#endif /* __TARGETCONDITIONALS__ */ \ No newline at end of file +#endif /* __TARGETCONDITIONALS__ */ diff --git a/lib/libc/include/any-macos-any/__wctype.h b/lib/libc/include/any-macos-any/__wctype.h index 0e1d8d2d86..3b4eb2c8a7 100644 --- a/lib/libc/include/any-macos-any/__wctype.h +++ b/lib/libc/include/any-macos-any/__wctype.h @@ -71,4 +71,4 @@ #include -#endif /* ___WCTYPE_H_ */ \ No newline at end of file +#endif /* ___WCTYPE_H_ */ diff --git a/lib/libc/include/any-macos-any/_ctermid.h b/lib/libc/include/any-macos-any/_ctermid.h index defba5353b..5bbd721a0d 100644 --- a/lib/libc/include/any-macos-any/_ctermid.h +++ b/lib/libc/include/any-macos-any/_ctermid.h @@ -32,4 +32,4 @@ char *ctermid(char *); __END_DECLS -#endif \ No newline at end of file +#endif diff --git a/lib/libc/include/any-macos-any/_ctype.h b/lib/libc/include/any-macos-any/_ctype.h index 34824a0e67..86e8b229b4 100644 --- a/lib/libc/include/any-macos-any/_ctype.h +++ b/lib/libc/include/any-macos-any/_ctype.h @@ -384,4 +384,4 @@ __END_DECLS #include #endif /* _USE_EXTENDED_LOCALES_ */ -#endif /* !_CTYPE_H_ */ \ No newline at end of file +#endif /* !_CTYPE_H_ */ diff --git a/lib/libc/include/any-macos-any/_locale.h b/lib/libc/include/any-macos-any/_locale.h index e59625eb5f..b87458ddf5 100644 --- a/lib/libc/include/any-macos-any/_locale.h +++ b/lib/libc/include/any-macos-any/_locale.h @@ -73,4 +73,4 @@ __BEGIN_DECLS struct lconv *localeconv(void); __END_DECLS -#endif /* __LOCALE_H_ */ \ No newline at end of file +#endif /* __LOCALE_H_ */ diff --git a/lib/libc/include/any-macos-any/_regex.h b/lib/libc/include/any-macos-any/_regex.h index 0e6f48a04d..1fb98e312d 100644 --- a/lib/libc/include/any-macos-any/_regex.h +++ b/lib/libc/include/any-macos-any/_regex.h @@ -118,4 +118,4 @@ typedef struct { regoff_t rm_eo; /* end of match */ } regmatch_t; -#endif /* !__REGEX_H_ */ \ No newline at end of file +#endif /* !__REGEX_H_ */ diff --git a/lib/libc/include/any-macos-any/_stdio.h b/lib/libc/include/any-macos-any/_stdio.h index 5c46369ce5..0f3ae7a7ba 100644 --- a/lib/libc/include/any-macos-any/_stdio.h +++ b/lib/libc/include/any-macos-any/_stdio.h @@ -156,4 +156,4 @@ typedef struct __sFILE { fpos_t _offset; /* current lseek offset (see WARNING) */ } FILE; -#endif /* __STDIO_H_ */ \ No newline at end of file +#endif /* __STDIO_H_ */ diff --git a/lib/libc/include/any-macos-any/_types.h b/lib/libc/include/any-macos-any/_types.h index bbd89d0f16..83cd510175 100644 --- a/lib/libc/include/any-macos-any/_types.h +++ b/lib/libc/include/any-macos-any/_types.h @@ -66,4 +66,4 @@ typedef unsigned long __darwin_wctype_t; # endif #endif -#endif /* __TYPES_H_ */ \ No newline at end of file +#endif /* __TYPES_H_ */ diff --git a/lib/libc/include/any-macos-any/_types/_intmax_t.h b/lib/libc/include/any-macos-any/_types/_intmax_t.h index 286fe6b732..abb585e653 100644 --- a/lib/libc/include/any-macos-any/_types/_intmax_t.h +++ b/lib/libc/include/any-macos-any/_types/_intmax_t.h @@ -37,4 +37,4 @@ typedef long int intmax_t; typedef long long int intmax_t; #endif /* __LP64__ */ #endif /* __INTMAX_TYPE__ */ -#endif /* _INTMAX_T */ \ No newline at end of file +#endif /* _INTMAX_T */ diff --git a/lib/libc/include/any-macos-any/_types/_uint16_t.h b/lib/libc/include/any-macos-any/_types/_uint16_t.h index ff8521b488..9ce9976013 100644 --- a/lib/libc/include/any-macos-any/_types/_uint16_t.h +++ b/lib/libc/include/any-macos-any/_types/_uint16_t.h @@ -29,4 +29,4 @@ #ifndef _UINT16_T #define _UINT16_T typedef unsigned short uint16_t; -#endif /* _UINT16_T */ \ No newline at end of file +#endif /* _UINT16_T */ diff --git a/lib/libc/include/any-macos-any/_types/_uint32_t.h b/lib/libc/include/any-macos-any/_types/_uint32_t.h index b5cecad80e..8c9c92e310 100644 --- a/lib/libc/include/any-macos-any/_types/_uint32_t.h +++ b/lib/libc/include/any-macos-any/_types/_uint32_t.h @@ -29,4 +29,4 @@ #ifndef _UINT32_T #define _UINT32_T typedef unsigned int uint32_t; -#endif /* _UINT32_T */ \ No newline at end of file +#endif /* _UINT32_T */ diff --git a/lib/libc/include/any-macos-any/_types/_uint64_t.h b/lib/libc/include/any-macos-any/_types/_uint64_t.h index e50a58e428..37866cfe02 100644 --- a/lib/libc/include/any-macos-any/_types/_uint64_t.h +++ b/lib/libc/include/any-macos-any/_types/_uint64_t.h @@ -29,4 +29,4 @@ #ifndef _UINT64_T #define _UINT64_T typedef unsigned long long uint64_t; -#endif /* _UINT64_T */ \ No newline at end of file +#endif /* _UINT64_T */ diff --git a/lib/libc/include/any-macos-any/_types/_uint8_t.h b/lib/libc/include/any-macos-any/_types/_uint8_t.h index 676f112413..9fb2a8e51a 100644 --- a/lib/libc/include/any-macos-any/_types/_uint8_t.h +++ b/lib/libc/include/any-macos-any/_types/_uint8_t.h @@ -29,4 +29,4 @@ #ifndef _UINT8_T #define _UINT8_T typedef unsigned char uint8_t; -#endif /* _UINT8_T */ \ No newline at end of file +#endif /* _UINT8_T */ diff --git a/lib/libc/include/any-macos-any/_types/_uintmax_t.h b/lib/libc/include/any-macos-any/_types/_uintmax_t.h index 334a65267b..ee52755772 100644 --- a/lib/libc/include/any-macos-any/_types/_uintmax_t.h +++ b/lib/libc/include/any-macos-any/_types/_uintmax_t.h @@ -37,4 +37,4 @@ typedef long unsigned int uintmax_t; typedef long long unsigned int uintmax_t; #endif /* __LP64__ */ #endif /* __UINTMAX_TYPE__ */ -#endif /* _UINTMAX_T */ \ No newline at end of file +#endif /* _UINTMAX_T */ diff --git a/lib/libc/include/any-macos-any/_wctype.h b/lib/libc/include/any-macos-any/_wctype.h index 3bc10b16d3..04da7960ef 100644 --- a/lib/libc/include/any-macos-any/_wctype.h +++ b/lib/libc/include/any-macos-any/_wctype.h @@ -161,4 +161,4 @@ __END_DECLS #include #endif /* _USE_EXTENDED_LOCALES_ */ -#endif /* __WCTYPE_H_ */ \ No newline at end of file +#endif /* __WCTYPE_H_ */ diff --git a/lib/libc/include/any-macos-any/_xlocale.h b/lib/libc/include/any-macos-any/_xlocale.h index ed6da667da..0ba412c5bd 100644 --- a/lib/libc/include/any-macos-any/_xlocale.h +++ b/lib/libc/include/any-macos-any/_xlocale.h @@ -34,4 +34,4 @@ int ___mb_cur_max(void); int ___mb_cur_max_l(locale_t); __END_DECLS -#endif /* __XLOCALE_H_ */ \ No newline at end of file +#endif /* __XLOCALE_H_ */ diff --git a/lib/libc/include/any-macos-any/aio.h b/lib/libc/include/any-macos-any/aio.h index 36b7812682..b031764468 100644 --- a/lib/libc/include/any-macos-any/aio.h +++ b/lib/libc/include/any-macos-any/aio.h @@ -34,4 +34,4 @@ #include -#endif /* _AIO_H_ */ \ No newline at end of file +#endif /* _AIO_H_ */ diff --git a/lib/libc/include/any-macos-any/alloca.h b/lib/libc/include/any-macos-any/alloca.h index acb3390005..0264ae680d 100644 --- a/lib/libc/include/any-macos-any/alloca.h +++ b/lib/libc/include/any-macos-any/alloca.h @@ -40,4 +40,4 @@ __END_DECLS #define __alloca(size) __builtin_alloca(size) #endif -#endif /* _ALLOCA_H_ */ \ No newline at end of file +#endif /* _ALLOCA_H_ */ diff --git a/lib/libc/include/any-macos-any/ar.h b/lib/libc/include/any-macos-any/ar.h index c44f5eb4d0..e04874fcbd 100644 --- a/lib/libc/include/any-macos-any/ar.h +++ b/lib/libc/include/any-macos-any/ar.h @@ -64,4 +64,4 @@ struct ar_hdr { char ar_fmag[2]; /* consistency check */ }; -#endif /* !_AR_H_ */ \ No newline at end of file +#endif /* !_AR_H_ */ diff --git a/lib/libc/include/any-macos-any/architecture/byte_order.h b/lib/libc/include/any-macos-any/architecture/byte_order.h index 82ef17af08..7a04ff899c 100644 --- a/lib/libc/include/any-macos-any/architecture/byte_order.h +++ b/lib/libc/include/any-macos-any/architecture/byte_order.h @@ -378,4 +378,4 @@ NXSwapHostFloatToLittle( return (NXSwappedFloat)OSSwapHostToLittleInt32((uint32_t)NXConvertHostFloatToSwapped(x)); } -#endif /* _ARCHITECTURE_BYTE_ORDER_H_ */ \ No newline at end of file +#endif /* _ARCHITECTURE_BYTE_ORDER_H_ */ diff --git a/lib/libc/include/aarch64-macos.13-none/arm/_limits.h b/lib/libc/include/any-macos-any/arm/_limits.h similarity index 90% rename from lib/libc/include/aarch64-macos.13-none/arm/_limits.h rename to lib/libc/include/any-macos-any/arm/_limits.h index 8cb2759402..ea5c3d4b0c 100644 --- a/lib/libc/include/aarch64-macos.13-none/arm/_limits.h +++ b/lib/libc/include/any-macos-any/arm/_limits.h @@ -10,4 +10,4 @@ #endif /* defined (__arm__) || defined (__arm64__) */ -#endif /* _ARM__LIMITS_H_ */ \ No newline at end of file +#endif /* _ARM__LIMITS_H_ */ diff --git a/lib/libc/include/aarch64-macos.12-none/arm/_mcontext.h b/lib/libc/include/any-macos-any/arm/_mcontext.h similarity index 98% rename from lib/libc/include/aarch64-macos.12-none/arm/_mcontext.h rename to lib/libc/include/any-macos-any/arm/_mcontext.h index 26b83ce221..04a13202c5 100644 --- a/lib/libc/include/aarch64-macos.12-none/arm/_mcontext.h +++ b/lib/libc/include/any-macos-any/arm/_mcontext.h @@ -92,4 +92,4 @@ typedef _STRUCT_MCONTEXT32 *mcontext_t; #endif /* defined (__arm__) || defined (__arm64__) */ -#endif /* __ARM_MCONTEXT_H_ */ \ No newline at end of file +#endif /* __ARM_MCONTEXT_H_ */ diff --git a/lib/libc/include/aarch64-macos.13-none/arm/_param.h b/lib/libc/include/any-macos-any/arm/_param.h similarity index 96% rename from lib/libc/include/aarch64-macos.13-none/arm/_param.h rename to lib/libc/include/any-macos-any/arm/_param.h index 10b9edf2f3..a115271919 100644 --- a/lib/libc/include/aarch64-macos.13-none/arm/_param.h +++ b/lib/libc/include/any-macos-any/arm/_param.h @@ -22,4 +22,4 @@ #endif /* defined (__arm__) || defined (__arm64__) */ -#endif /* _ARM__PARAM_H_ */ \ No newline at end of file +#endif /* _ARM__PARAM_H_ */ diff --git a/lib/libc/include/aarch64-macos.12-none/arm/_types.h b/lib/libc/include/any-macos-any/arm/_types.h similarity index 99% rename from lib/libc/include/aarch64-macos.12-none/arm/_types.h rename to lib/libc/include/any-macos-any/arm/_types.h index 403ec44048..44575038a9 100644 --- a/lib/libc/include/aarch64-macos.12-none/arm/_types.h +++ b/lib/libc/include/any-macos-any/arm/_types.h @@ -99,4 +99,4 @@ typedef long __darwin_time_t; /* time() */ #endif /* defined (__arm__) || defined (__arm64__) */ -#endif /* _BSD_ARM__TYPES_H_ */ \ No newline at end of file +#endif /* _BSD_ARM__TYPES_H_ */ diff --git a/lib/libc/include/aarch64-macos.13-none/arm/arch.h b/lib/libc/include/any-macos-any/arm/arch.h similarity index 99% rename from lib/libc/include/aarch64-macos.13-none/arm/arch.h rename to lib/libc/include/any-macos-any/arm/arch.h index b8b25e55d3..bfa00910f9 100644 --- a/lib/libc/include/aarch64-macos.13-none/arm/arch.h +++ b/lib/libc/include/any-macos-any/arm/arch.h @@ -68,4 +68,4 @@ #endif /* defined (__arm__) || defined (__arm64__) */ -#endif \ No newline at end of file +#endif diff --git a/lib/libc/include/aarch64-macos.12-none/arm/endian.h b/lib/libc/include/any-macos-any/arm/endian.h similarity index 99% rename from lib/libc/include/aarch64-macos.12-none/arm/endian.h rename to lib/libc/include/any-macos-any/arm/endian.h index 851f2eafe2..f5e555fe4e 100644 --- a/lib/libc/include/aarch64-macos.12-none/arm/endian.h +++ b/lib/libc/include/any-macos-any/arm/endian.h @@ -78,4 +78,4 @@ #endif /* defined(KERNEL) || (!defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)) */ #endif /* defined (__arm__) || defined (__arm64__) */ -#endif /* !_ARM__ENDIAN_H_ */ \ No newline at end of file +#endif /* !_ARM__ENDIAN_H_ */ diff --git a/lib/libc/include/aarch64-macos.13-none/arm/limits.h b/lib/libc/include/any-macos-any/arm/limits.h similarity index 93% rename from lib/libc/include/aarch64-macos.13-none/arm/limits.h rename to lib/libc/include/any-macos-any/arm/limits.h index 21de9a758b..1768884aaf 100644 --- a/lib/libc/include/aarch64-macos.13-none/arm/limits.h +++ b/lib/libc/include/any-macos-any/arm/limits.h @@ -44,13 +44,25 @@ #include #include -#define CHAR_BIT 8 /* number of bits in a char */ +#undef MB_LEN_MAX #define MB_LEN_MAX 6 /* Allow 31 bit UTF2 */ #if !defined(_ANSI_SOURCE) && (!defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)) #define CLK_TCK __DARWIN_CLK_TCK /* ticks per second */ #endif /* !_ANSI_SOURCE && (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */ +#if (defined(__has_include) && __has_include(<__xnu_libcxx_sentinel.h>)) + +#if !__has_include_next() +#error Do not build with -nostdinc (use GCC_USE_STANDARD_INCLUDE_SEARCHING=NO) +#else +#include_next +#endif /* __has_include_next */ + +#else + +#define CHAR_BIT 8 /* number of bits in a char */ + /* * According to ANSI (section 2.2.4.2), the values below must be usable by * #if preprocessing directives. Additionally, the expression must have the @@ -90,6 +102,8 @@ #define LLONG_MAX 0x7fffffffffffffffLL /* max signed long long */ #define LLONG_MIN (-0x7fffffffffffffffLL-1) /* min signed long long */ +#endif /* defined(__has_include) && __has_include(<__xnu_libcxx_sentinel.h>) */ + #if !defined(_ANSI_SOURCE) #ifdef __LP64__ #define LONG_BIT 64 @@ -111,4 +125,4 @@ #endif /* defined (__arm__) || defined (__arm64__) */ -#endif /* _ARM_LIMITS_H_ */ \ No newline at end of file +#endif /* _ARM_LIMITS_H_ */ diff --git a/lib/libc/include/aarch64-macos.12-none/arm/param.h b/lib/libc/include/any-macos-any/arm/param.h similarity index 99% rename from lib/libc/include/aarch64-macos.12-none/arm/param.h rename to lib/libc/include/any-macos-any/arm/param.h index f36fa322cb..96b58f51db 100644 --- a/lib/libc/include/aarch64-macos.12-none/arm/param.h +++ b/lib/libc/include/any-macos-any/arm/param.h @@ -148,4 +148,4 @@ #endif /* defined (__arm__) || defined (__arm64__) */ -#endif /* _ARM_PARAM_H_ */ \ No newline at end of file +#endif /* _ARM_PARAM_H_ */ diff --git a/lib/libc/include/aarch64-macos.13-none/arm/signal.h b/lib/libc/include/any-macos-any/arm/signal.h similarity index 93% rename from lib/libc/include/aarch64-macos.13-none/arm/signal.h rename to lib/libc/include/any-macos-any/arm/signal.h index 4a8b96b383..ed4f8dbf21 100644 --- a/lib/libc/include/aarch64-macos.13-none/arm/signal.h +++ b/lib/libc/include/any-macos-any/arm/signal.h @@ -19,4 +19,4 @@ typedef int sig_atomic_t; #endif /* defined (__arm__) || defined (__arm64__) */ -#endif /* _ARM_SIGNAL_ */ \ No newline at end of file +#endif /* _ARM_SIGNAL_ */ diff --git a/lib/libc/include/aarch64-macos.12-none/arm/types.h b/lib/libc/include/any-macos-any/arm/types.h similarity index 99% rename from lib/libc/include/aarch64-macos.12-none/arm/types.h rename to lib/libc/include/any-macos-any/arm/types.h index 6cc1f453c9..35c55d0c88 100644 --- a/lib/libc/include/aarch64-macos.12-none/arm/types.h +++ b/lib/libc/include/any-macos-any/arm/types.h @@ -108,4 +108,4 @@ typedef u_int64_t syscall_arg_t; #endif /* __ASSEMBLER__ */ #endif /* defined (__arm__) || defined (__arm64__) */ -#endif /* _ARM_MACHTYPES_H_ */ \ No newline at end of file +#endif /* _ARM_MACHTYPES_H_ */ diff --git a/lib/libc/include/any-macos-any/arpa/inet.h b/lib/libc/include/any-macos-any/arpa/inet.h index 68a17d7313..46f44e1a82 100644 --- a/lib/libc/include/any-macos-any/arpa/inet.h +++ b/lib/libc/include/any-macos-any/arpa/inet.h @@ -94,4 +94,4 @@ char *inet_nsap_ntoa(int, const unsigned char *, char *); __END_DECLS -#endif /* !_ARPA_INET_H_ */ \ No newline at end of file +#endif /* !_ARPA_INET_H_ */ diff --git a/lib/libc/include/any-macos-any/assert.h b/lib/libc/include/any-macos-any/assert.h index d0fc61e6c8..4683018dc4 100644 --- a/lib/libc/include/any-macos-any/assert.h +++ b/lib/libc/include/any-macos-any/assert.h @@ -114,4 +114,4 @@ __END_DECLS #endif /* __STDC_VERSION__ */ #endif /* !__cplusplus */ -#endif /* _ASSERT_H_ */ \ No newline at end of file +#endif /* _ASSERT_H_ */ diff --git a/lib/libc/include/any-macos-any/bsm/audit.h b/lib/libc/include/any-macos-any/bsm/audit.h index e6be5e8dab..a680851a49 100644 --- a/lib/libc/include/any-macos-any/bsm/audit.h +++ b/lib/libc/include/any-macos-any/bsm/audit.h @@ -332,6 +332,30 @@ struct au_evclass_map { }; typedef struct au_evclass_map au_evclass_map_t; +/* + * Audit session flags for the ai_flags member of auditinfo_addr. + */ +enum audit_session_flags { + /* The initial session created by PID 1. */ + AU_SESSION_FLAG_IS_INITIAL = 0x0001, + + /* The graphics subsystem (CoreGraphics, etc.) is available. */ + AU_SESSION_FLAG_HAS_GRAPHIC_ACCESS = 0x0010, + + /* /dev/tty is available. */ + AU_SESSION_FLAG_HAS_TTY = 0x0020, + + /* The session was created for a remote connection. */ + AU_SESSION_FLAG_IS_REMOTE = 0x1000, + + /* The console and associated devices are available. */ + AU_SESSION_FLAG_HAS_CONSOLE_ACCESS = 0x2000, + + /* An active, authenticated user is associated with the session. */ + AU_SESSION_FLAG_HAS_AUTHENTICATED = 0x4000, +}; + +__END_DECLS #if !defined(_KERNEL) && !defined(KERNEL) #include @@ -344,6 +368,9 @@ typedef struct au_evclass_map au_evclass_map_t; * Audit system calls. */ #if !defined(_KERNEL) && !defined(KERNEL) + +__BEGIN_DECLS + int audit(const void *, int) __AUDIT_API_DEPRECATED; int auditon(int, void *, int) @@ -355,9 +382,13 @@ int setauid(const au_id_t *); int getaudit_addr(struct auditinfo_addr *, int); int setaudit_addr(const struct auditinfo_addr *, int); +__END_DECLS + #if defined(__APPLE__) #include +__BEGIN_DECLS + /* * getaudit()/setaudit() are deprecated and have been replaced with * wrappers to the getaudit_addr()/setaudit_addr() syscalls above. @@ -369,23 +400,35 @@ __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, int setaudit(const struct auditinfo *) __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_2_0, __IPHONE_6_0); + +__END_DECLS + #else +__BEGIN_DECLS + int getaudit(struct auditinfo *) __AUDIT_API_DEPRECATED; int setaudit(const struct auditinfo *) __AUDIT_API_DEPRECATED; + +__END_DECLS + #endif /* !__APPLE__ */ #ifdef __APPLE_API_PRIVATE #include + +__BEGIN_DECLS + mach_port_name_t audit_session_self(void); au_asid_t audit_session_join(mach_port_name_t port); int audit_session_port(au_asid_t asid, mach_port_name_t *portname); + +__END_DECLS + #endif /* __APPLE_API_PRIVATE */ #endif /* defined(_KERNEL) || defined(KERNEL) */ -__END_DECLS - -#endif /* !_BSM_AUDIT_H */ \ No newline at end of file +#endif /* !_BSM_AUDIT_H */ diff --git a/lib/libc/include/any-macos-any/complex.h b/lib/libc/include/any-macos-any/complex.h index 7d09126ef4..fd47a890a9 100644 --- a/lib/libc/include/any-macos-any/complex.h +++ b/lib/libc/include/any-macos-any/complex.h @@ -164,4 +164,4 @@ extern double creal(double complex); extern long double creall(long double complex); __END_DECLS -#endif /* __COMPLEX_H__ */ \ No newline at end of file +#endif /* __COMPLEX_H__ */ diff --git a/lib/libc/include/any-macos.13-any/copyfile.h b/lib/libc/include/any-macos-any/copyfile.h similarity index 98% rename from lib/libc/include/any-macos.13-any/copyfile.h rename to lib/libc/include/any-macos-any/copyfile.h index 2d3bc9ccf8..0600722cea 100644 --- a/lib/libc/include/any-macos.13-any/copyfile.h +++ b/lib/libc/include/any-macos-any/copyfile.h @@ -78,6 +78,7 @@ typedef int (*copyfile_callback_t)(int, int, copyfile_state_t, const char *__uns #define COPYFILE_STATE_SRC_BSIZE 11 #define COPYFILE_STATE_DST_BSIZE 12 #define COPYFILE_STATE_BSIZE 13 +#define COPYFILE_STATE_FORBID_CROSS_MOUNT 14 #define COPYFILE_DISABLE_VAR "COPYFILE_DISABLE" @@ -134,4 +135,4 @@ typedef int (*copyfile_callback_t)(int, int, copyfile_state_t, const char *__uns __END_DECLS -#endif /* _COPYFILE_H_ */ \ No newline at end of file +#endif /* _COPYFILE_H_ */ diff --git a/lib/libc/include/any-macos-any/cpio.h b/lib/libc/include/any-macos-any/cpio.h index 09e00dbcbb..d287af631c 100644 --- a/lib/libc/include/any-macos-any/cpio.h +++ b/lib/libc/include/any-macos-any/cpio.h @@ -52,4 +52,4 @@ #define MAGIC "070707" -#endif /* _CPIO_H_ */ \ No newline at end of file +#endif /* _CPIO_H_ */ diff --git a/lib/libc/include/any-macos-any/crt_externs.h b/lib/libc/include/any-macos-any/crt_externs.h index d4367a9101..eb3729adad 100644 --- a/lib/libc/include/any-macos-any/crt_externs.h +++ b/lib/libc/include/any-macos-any/crt_externs.h @@ -44,4 +44,4 @@ extern struct mach_header_64 * extern struct mach_header * #endif /* __LP64__ */ _NSGetMachExecuteHeader(void); -__END_DECLS \ No newline at end of file +__END_DECLS diff --git a/lib/libc/include/any-macos-any/ctype.h b/lib/libc/include/any-macos-any/ctype.h index dbdd5a440b..b8933696a4 100644 --- a/lib/libc/include/any-macos-any/ctype.h +++ b/lib/libc/include/any-macos-any/ctype.h @@ -72,4 +72,4 @@ #include #endif /* _USE_EXTENDED_LOCALES_ */ -#endif /* !_CTYPE_H_ */ \ No newline at end of file +#endif /* !_CTYPE_H_ */ diff --git a/lib/libc/include/any-macos-any/db.h b/lib/libc/include/any-macos-any/db.h index 53ea611101..7af97b817a 100644 --- a/lib/libc/include/any-macos-any/db.h +++ b/lib/libc/include/any-macos-any/db.h @@ -216,4 +216,4 @@ DB *__rec_open(const char *, int, int, const RECNOINFO *, int); void __dbpanic(DB *dbp); #endif __END_DECLS -#endif /* !_DB_H_ */ \ No newline at end of file +#endif /* !_DB_H_ */ diff --git a/lib/libc/include/any-macos-any/device/device_types.h b/lib/libc/include/any-macos-any/device/device_types.h index e0797fc53a..a8cf3013e5 100644 --- a/lib/libc/include/any-macos-any/device/device_types.h +++ b/lib/libc/include/any-macos-any/device/device_types.h @@ -114,4 +114,4 @@ typedef mach_port_t io_object_t; -#endif /* DEVICE_TYPES_H */ \ No newline at end of file +#endif /* DEVICE_TYPES_H */ diff --git a/lib/libc/include/any-macos-any/dirent.h b/lib/libc/include/any-macos-any/dirent.h index b9b8d33830..0791063fdf 100644 --- a/lib/libc/include/any-macos-any/dirent.h +++ b/lib/libc/include/any-macos-any/dirent.h @@ -188,4 +188,4 @@ __END_DECLS #endif /* !KERNEL */ -#endif /* !_DIRENT_H_ */ \ No newline at end of file +#endif /* !_DIRENT_H_ */ diff --git a/lib/libc/include/any-macos.13-any/dispatch/base.h b/lib/libc/include/any-macos-any/dispatch/base.h similarity index 95% rename from lib/libc/include/any-macos.13-any/dispatch/base.h rename to lib/libc/include/any-macos-any/dispatch/base.h index 58406b0dfb..f924b12b3c 100644 --- a/lib/libc/include/any-macos.13-any/dispatch/base.h +++ b/lib/libc/include/any-macos-any/dispatch/base.h @@ -244,6 +244,13 @@ #define DISPATCH_SIZED_BY(X) #endif +#define DISPATCH_OSX_SUPPORTS_AT_LEAST(macos, ios, tvos, watchos) \ + ( (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) \ + ) + #if !__has_feature(nullability) #ifndef _Nullable #define _Nullable @@ -344,8 +351,9 @@ DISPATCH_ASSUME_ABI_SINGLE_BEGIN +DISPATCH_SWIFT_UNAVAILABLE("Unavailable in Swift") typedef void (*dispatch_function_t)(void *_Nullable); DISPATCH_ASSUME_ABI_SINGLE_END -#endif \ No newline at end of file +#endif diff --git a/lib/libc/include/any-macos-any/dispatch/block.h b/lib/libc/include/any-macos-any/dispatch/block.h index f4b9b9ead4..45b9076f0f 100644 --- a/lib/libc/include/any-macos-any/dispatch/block.h +++ b/lib/libc/include/any-macos-any/dispatch/block.h @@ -33,6 +33,7 @@ */ DISPATCH_ASSUME_NONNULL_BEGIN +DISPATCH_ASSUME_ABI_SINGLE_BEGIN __BEGIN_DECLS @@ -100,19 +101,26 @@ __BEGIN_DECLS * for synchronous execution or when the dispatch block object is invoked * directly. */ +DISPATCH_REFINED_FOR_SWIFT DISPATCH_OPTIONS(dispatch_block_flags, unsigned long, DISPATCH_BLOCK_BARRIER - DISPATCH_ENUM_API_AVAILABLE(macos(10.10), ios(8.0)) = 0x1, + DISPATCH_ENUM_API_AVAILABLE(macos(10.10), ios(8.0)) + DISPATCH_SWIFT_UNAVAILABLE("Use DispatchWorkItemFlags.barrier") = 0x1, DISPATCH_BLOCK_DETACHED - DISPATCH_ENUM_API_AVAILABLE(macos(10.10), ios(8.0)) = 0x2, + DISPATCH_ENUM_API_AVAILABLE(macos(10.10), ios(8.0)) + DISPATCH_SWIFT_UNAVAILABLE("Use DispatchWorkItemFlags.detached") = 0x2, DISPATCH_BLOCK_ASSIGN_CURRENT - DISPATCH_ENUM_API_AVAILABLE(macos(10.10), ios(8.0)) = 0x4, + DISPATCH_ENUM_API_AVAILABLE(macos(10.10), ios(8.0)) + DISPATCH_SWIFT_UNAVAILABLE("Use DispatchWorkItemFlags.assignCurrentContext") = 0x4, DISPATCH_BLOCK_NO_QOS_CLASS - DISPATCH_ENUM_API_AVAILABLE(macos(10.10), ios(8.0)) = 0x8, + DISPATCH_ENUM_API_AVAILABLE(macos(10.10), ios(8.0)) + DISPATCH_SWIFT_UNAVAILABLE("Use DispatchWorkItemFlags.noQoS") = 0x8, DISPATCH_BLOCK_INHERIT_QOS_CLASS - DISPATCH_ENUM_API_AVAILABLE(macos(10.10), ios(8.0)) = 0x10, + DISPATCH_ENUM_API_AVAILABLE(macos(10.10), ios(8.0)) + DISPATCH_SWIFT_UNAVAILABLE("Use DispatchWorkItemFlags.inheritQoS") = 0x10, DISPATCH_BLOCK_ENFORCE_QOS_CLASS - DISPATCH_ENUM_API_AVAILABLE(macos(10.10), ios(8.0)) = 0x20, + DISPATCH_ENUM_API_AVAILABLE(macos(10.10), ios(8.0)) + DISPATCH_SWIFT_UNAVAILABLE("Use DispatchWorkItemFlags.enforceQoS") = 0x20, ); /*! @@ -168,6 +176,7 @@ DISPATCH_OPTIONS(dispatch_block_flags, unsigned long, API_AVAILABLE(macos(10.10), ios(8.0)) DISPATCH_EXPORT DISPATCH_NONNULL2 DISPATCH_RETURNS_RETAINED_BLOCK DISPATCH_WARN_RESULT DISPATCH_NOTHROW +DISPATCH_SWIFT_UNAVAILABLE("Use DispatchWorkItem()") dispatch_block_t dispatch_block_create(dispatch_block_flags_t flags, dispatch_block_t block); @@ -240,6 +249,7 @@ dispatch_block_create(dispatch_block_flags_t flags, dispatch_block_t block); API_AVAILABLE(macos(10.10), ios(8.0)) DISPATCH_EXPORT DISPATCH_NONNULL4 DISPATCH_RETURNS_RETAINED_BLOCK DISPATCH_WARN_RESULT DISPATCH_NOTHROW +DISPATCH_SWIFT_UNAVAILABLE("Use DispatchWorkItem()") dispatch_block_t dispatch_block_create_with_qos_class(dispatch_block_flags_t flags, dispatch_qos_class_t qos_class, int relative_priority, @@ -272,6 +282,7 @@ dispatch_block_create_with_qos_class(dispatch_block_flags_t flags, */ API_AVAILABLE(macos(10.10), ios(8.0)) DISPATCH_EXPORT DISPATCH_NONNULL2 DISPATCH_NOTHROW +DISPATCH_SWIFT_UNAVAILABLE("Use DispatchWorkItem.perform()") void dispatch_block_perform(dispatch_block_flags_t flags, DISPATCH_NOESCAPE dispatch_block_t block); @@ -323,6 +334,7 @@ dispatch_block_perform(dispatch_block_flags_t flags, */ API_AVAILABLE(macos(10.10), ios(8.0)) DISPATCH_EXPORT DISPATCH_NONNULL1 DISPATCH_NOTHROW +DISPATCH_SWIFT_UNAVAILABLE("Use DispatchWorkItem.wait(timeout:)") intptr_t dispatch_block_wait(dispatch_block_t block, dispatch_time_t timeout); @@ -364,6 +376,7 @@ dispatch_block_wait(dispatch_block_t block, dispatch_time_t timeout); */ API_AVAILABLE(macos(10.10), ios(8.0)) DISPATCH_EXPORT DISPATCH_NONNULL_ALL DISPATCH_NOTHROW +DISPATCH_SWIFT_UNAVAILABLE("Use DispatchWorkItem.notify(queue:execute:)") void dispatch_block_notify(dispatch_block_t block, dispatch_queue_t queue, dispatch_block_t notification_block); @@ -396,6 +409,7 @@ dispatch_block_notify(dispatch_block_t block, dispatch_queue_t queue, */ API_AVAILABLE(macos(10.10), ios(8.0)) DISPATCH_EXPORT DISPATCH_NONNULL_ALL DISPATCH_NOTHROW +DISPATCH_SWIFT_UNAVAILABLE("Use DispatchWorkItem.cancel()") void dispatch_block_cancel(dispatch_block_t block); @@ -416,13 +430,15 @@ dispatch_block_cancel(dispatch_block_t block); API_AVAILABLE(macos(10.10), ios(8.0)) DISPATCH_EXPORT DISPATCH_NONNULL_ALL DISPATCH_WARN_RESULT DISPATCH_PURE DISPATCH_NOTHROW +DISPATCH_SWIFT_UNAVAILABLE("Use DispatchWorkItem.isCancelled") intptr_t dispatch_block_testcancel(dispatch_block_t block); __END_DECLS +DISPATCH_ASSUME_ABI_SINGLE_END DISPATCH_ASSUME_NONNULL_END #endif // __BLOCKS__ -#endif // __DISPATCH_BLOCK__ \ No newline at end of file +#endif // __DISPATCH_BLOCK__ diff --git a/lib/libc/include/any-macos-any/dispatch/data.h b/lib/libc/include/any-macos-any/dispatch/data.h index 7d8557dd39..a938ead14f 100644 --- a/lib/libc/include/any-macos-any/dispatch/data.h +++ b/lib/libc/include/any-macos-any/dispatch/data.h @@ -27,6 +27,7 @@ #endif DISPATCH_ASSUME_NONNULL_BEGIN +DISPATCH_ASSUME_ABI_SINGLE_BEGIN __BEGIN_DECLS @@ -41,7 +42,7 @@ __BEGIN_DECLS * @typedef dispatch_data_t * A dispatch object representing memory regions. */ -DISPATCH_DATA_DECL(dispatch_data); +DISPATCH_DATA_DECL_SWIFT(dispatch_data, __DispatchData); /*! * @var dispatch_data_empty @@ -79,6 +80,7 @@ DISPATCH_EXPORT struct dispatch_data_s _dispatch_data_empty; */ #define DISPATCH_DATA_DESTRUCTOR_FREE (_dispatch_data_destructor_free) API_AVAILABLE(macos(10.7), ios(5.0)) +DISPATCH_SWIFT_UNAVAILABLE("Unavailable in Swift") DISPATCH_DATA_DESTRUCTOR_TYPE_DECL(free); /*! @@ -88,6 +90,7 @@ DISPATCH_DATA_DESTRUCTOR_TYPE_DECL(free); */ #define DISPATCH_DATA_DESTRUCTOR_MUNMAP (_dispatch_data_destructor_munmap) API_AVAILABLE(macos(10.9), ios(7.0)) +DISPATCH_SWIFT_UNAVAILABLE("Unavailable in Swift") DISPATCH_DATA_DESTRUCTOR_TYPE_DECL(munmap); #ifdef __BLOCKS__ @@ -114,8 +117,9 @@ DISPATCH_DATA_DESTRUCTOR_TYPE_DECL(munmap); */ API_AVAILABLE(macos(10.7), ios(5.0)) DISPATCH_EXPORT DISPATCH_RETURNS_RETAINED DISPATCH_WARN_RESULT DISPATCH_NOTHROW +DISPATCH_SWIFT_UNAVAILABLE("Use DispatchData.init(bytes:)") dispatch_data_t -dispatch_data_create(const void *buffer, +dispatch_data_create(const void *DISPATCH_SIZED_BY(size) buffer, size_t size, dispatch_queue_t _Nullable queue, dispatch_block_t _Nullable destructor); @@ -131,6 +135,7 @@ dispatch_data_create(const void *buffer, */ API_AVAILABLE(macos(10.7), ios(5.0)) DISPATCH_EXPORT DISPATCH_PURE DISPATCH_NONNULL1 DISPATCH_NOTHROW +DISPATCH_REFINED_FOR_SWIFT size_t dispatch_data_get_size(dispatch_data_t data); @@ -156,9 +161,10 @@ dispatch_data_get_size(dispatch_data_t data); API_AVAILABLE(macos(10.7), ios(5.0)) DISPATCH_EXPORT DISPATCH_NONNULL1 DISPATCH_RETURNS_RETAINED DISPATCH_WARN_RESULT DISPATCH_NOTHROW +DISPATCH_REFINED_FOR_SWIFT dispatch_data_t dispatch_data_create_map(dispatch_data_t data, - const void *_Nullable *_Nullable buffer_ptr, + const void *_Nullable DISPATCH_SIZED_BY(*size_ptr) *_Nullable buffer_ptr, size_t *_Nullable size_ptr); /*! @@ -179,6 +185,7 @@ dispatch_data_create_map(dispatch_data_t data, API_AVAILABLE(macos(10.7), ios(5.0)) DISPATCH_EXPORT DISPATCH_NONNULL_ALL DISPATCH_RETURNS_RETAINED DISPATCH_WARN_RESULT DISPATCH_NOTHROW +DISPATCH_REFINED_FOR_SWIFT dispatch_data_t dispatch_data_create_concat(dispatch_data_t data1, dispatch_data_t data2); @@ -200,6 +207,7 @@ dispatch_data_create_concat(dispatch_data_t data1, dispatch_data_t data2); API_AVAILABLE(macos(10.7), ios(5.0)) DISPATCH_EXPORT DISPATCH_NONNULL1 DISPATCH_RETURNS_RETAINED DISPATCH_WARN_RESULT DISPATCH_NOTHROW +DISPATCH_REFINED_FOR_SWIFT dispatch_data_t dispatch_data_create_subrange(dispatch_data_t data, size_t offset, @@ -217,9 +225,10 @@ dispatch_data_create_subrange(dispatch_data_t data, * @param size The size of the memory for the current region. * @result A Boolean indicating whether traversal should continue. */ +DISPATCH_SWIFT_UNAVAILABLE("Unavailable in Swift") typedef bool (^dispatch_data_applier_t)(dispatch_data_t region, size_t offset, - const void *buffer, + const void *DISPATCH_SIZED_BY(size) buffer, size_t size); /*! @@ -244,6 +253,7 @@ typedef bool (^dispatch_data_applier_t)(dispatch_data_t region, */ API_AVAILABLE(macos(10.7), ios(5.0)) DISPATCH_EXPORT DISPATCH_NONNULL_ALL DISPATCH_NOTHROW +DISPATCH_REFINED_FOR_SWIFT bool dispatch_data_apply(dispatch_data_t data, DISPATCH_NOESCAPE dispatch_data_applier_t applier); @@ -266,6 +276,7 @@ dispatch_data_apply(dispatch_data_t data, API_AVAILABLE(macos(10.7), ios(5.0)) DISPATCH_EXPORT DISPATCH_NONNULL1 DISPATCH_NONNULL3 DISPATCH_RETURNS_RETAINED DISPATCH_WARN_RESULT DISPATCH_NOTHROW +DISPATCH_REFINED_FOR_SWIFT dispatch_data_t dispatch_data_copy_region(dispatch_data_t data, size_t location, @@ -273,6 +284,7 @@ dispatch_data_copy_region(dispatch_data_t data, __END_DECLS +DISPATCH_ASSUME_ABI_SINGLE_END DISPATCH_ASSUME_NONNULL_END -#endif /* __DISPATCH_DATA__ */ \ No newline at end of file +#endif /* __DISPATCH_DATA__ */ diff --git a/lib/libc/include/any-macos-any/dispatch/dispatch.h b/lib/libc/include/any-macos-any/dispatch/dispatch.h index 34274a7a0f..bcd892c501 100644 --- a/lib/libc/include/any-macos-any/dispatch/dispatch.h +++ b/lib/libc/include/any-macos-any/dispatch/dispatch.h @@ -74,7 +74,8 @@ #include #include #include +#include #undef __DISPATCH_INDIRECT__ -#endif \ No newline at end of file +#endif diff --git a/lib/libc/include/any-macos-any/dispatch/dispatch_swift_shims.h b/lib/libc/include/any-macos-any/dispatch/dispatch_swift_shims.h new file mode 100644 index 0000000000..cbbe3d8b73 --- /dev/null +++ b/lib/libc/include/any-macos-any/dispatch/dispatch_swift_shims.h @@ -0,0 +1,59 @@ +/* + * Copyright (c) 2023 Apple Inc. All rights reserved. + * + * @APPLE_APACHE_LICENSE_HEADER_START@ + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * @APPLE_APACHE_LICENSE_HEADER_END@ + */ + +#ifndef _DISPATCH_SWIFT_SHIMS_ +#define _DISPATCH_SWIFT_SHIMS_ + +#ifndef __DISPATCH_INDIRECT__ +#error "This file is intended to be used only for Dispatch Swift Overlay." +#include // for HeaderDoc +#endif + +DISPATCH_ASSUME_NONNULL_BEGIN +DISPATCH_ASSUME_ABI_SINGLE_BEGIN + +__BEGIN_DECLS + +#ifdef __swift__ +DISPATCH_MALLOC DISPATCH_RETURNS_RETAINED DISPATCH_WARN_RESULT +DISPATCH_NOTHROW +DISPATCH_REFINED_FOR_SWIFT DISPATCH_SWIFT_NAME(DispatchSerialQueue.init(__label:attr:queue:)) +static inline dispatch_queue_serial_t +dispatch_serial_queue_create_with_target_4swift(const char *_Nullable DISPATCH_UNSAFE_INDEXABLE label, + dispatch_queue_attr_t _Nullable attr, dispatch_queue_t _Nullable target) { + return dispatch_queue_create_with_target(label, attr, target); +} + +DISPATCH_MALLOC DISPATCH_RETURNS_RETAINED DISPATCH_WARN_RESULT +DISPATCH_NOTHROW +DISPATCH_REFINED_FOR_SWIFT DISPATCH_SWIFT_NAME(DispatchConcurrentQueue.init(__label:attr:queue:)) +static inline dispatch_queue_concurrent_t +dispatch_concurrent_queue_create_with_target_4swift(const char *_Nullable DISPATCH_UNSAFE_INDEXABLE label, + dispatch_queue_attr_t _Nullable attr, dispatch_queue_t _Nullable target) { + return dispatch_queue_create_with_target(label, attr, target); +} +#endif + +__END_DECLS + +DISPATCH_ASSUME_ABI_SINGLE_END +DISPATCH_ASSUME_NONNULL_END + +#endif /* _DISPATCH_SWIFT_SHIMS_ */ diff --git a/lib/libc/include/any-macos-any/dispatch/group.h b/lib/libc/include/any-macos-any/dispatch/group.h index 549da4b3fc..53befcc016 100644 --- a/lib/libc/include/any-macos-any/dispatch/group.h +++ b/lib/libc/include/any-macos-any/dispatch/group.h @@ -27,13 +27,14 @@ #endif DISPATCH_ASSUME_NONNULL_BEGIN +DISPATCH_ASSUME_ABI_SINGLE_BEGIN /*! * @typedef dispatch_group_t * @abstract * A group of blocks submitted to queues for asynchronous invocation. */ -DISPATCH_DECL(dispatch_group); +DISPATCH_DECL_SWIFT(dispatch_group, DispatchGroup); __BEGIN_DECLS @@ -54,6 +55,7 @@ __BEGIN_DECLS API_AVAILABLE(macos(10.6), ios(4.0)) DISPATCH_EXPORT DISPATCH_MALLOC DISPATCH_RETURNS_RETAINED DISPATCH_WARN_RESULT DISPATCH_NOTHROW +DISPATCH_SWIFT_NAME(DispatchGroup.init()) dispatch_group_t dispatch_group_create(void); @@ -83,6 +85,7 @@ dispatch_group_create(void); #ifdef __BLOCKS__ API_AVAILABLE(macos(10.6), ios(4.0)) DISPATCH_EXPORT DISPATCH_NONNULL_ALL DISPATCH_NOTHROW +DISPATCH_REFINED_FOR_SWIFT void dispatch_group_async(dispatch_group_t group, dispatch_queue_t queue, @@ -118,6 +121,7 @@ dispatch_group_async(dispatch_group_t group, API_AVAILABLE(macos(10.6), ios(4.0)) DISPATCH_EXPORT DISPATCH_NONNULL1 DISPATCH_NONNULL2 DISPATCH_NONNULL4 DISPATCH_NOTHROW +DISPATCH_SWIFT_UNAVAILABLE("Use DispatchQueue.async(self:group:qos:flags:execute:)") void dispatch_group_async_f(dispatch_group_t group, dispatch_queue_t queue, @@ -160,6 +164,7 @@ dispatch_group_async_f(dispatch_group_t group, */ API_AVAILABLE(macos(10.6), ios(4.0)) DISPATCH_EXPORT DISPATCH_NONNULL_ALL DISPATCH_NOTHROW +DISPATCH_REFINED_FOR_SWIFT intptr_t dispatch_group_wait(dispatch_group_t group, dispatch_time_t timeout); @@ -196,6 +201,7 @@ dispatch_group_wait(dispatch_group_t group, dispatch_time_t timeout); #ifdef __BLOCKS__ API_AVAILABLE(macos(10.6), ios(4.0)) DISPATCH_EXPORT DISPATCH_NONNULL_ALL DISPATCH_NOTHROW +DISPATCH_REFINED_FOR_SWIFT void dispatch_group_notify(dispatch_group_t group, dispatch_queue_t queue, @@ -227,6 +233,7 @@ dispatch_group_notify(dispatch_group_t group, API_AVAILABLE(macos(10.6), ios(4.0)) DISPATCH_EXPORT DISPATCH_NONNULL1 DISPATCH_NONNULL2 DISPATCH_NONNULL4 DISPATCH_NOTHROW +DISPATCH_SWIFT_UNAVAILABLE("Use DispatchGroup.notify(self:qos:flags:queue:execute:)") void dispatch_group_notify_f(dispatch_group_t group, dispatch_queue_t queue, @@ -250,6 +257,7 @@ dispatch_group_notify_f(dispatch_group_t group, */ API_AVAILABLE(macos(10.6), ios(4.0)) DISPATCH_EXPORT DISPATCH_NONNULL_ALL DISPATCH_NOTHROW +DISPATCH_SWIFT_NAME(DispatchGroup.enter(self:)) void dispatch_group_enter(dispatch_group_t group); @@ -269,11 +277,13 @@ dispatch_group_enter(dispatch_group_t group); */ API_AVAILABLE(macos(10.6), ios(4.0)) DISPATCH_EXPORT DISPATCH_NONNULL_ALL DISPATCH_NOTHROW +DISPATCH_SWIFT_NAME(DispatchGroup.leave(self:)) void dispatch_group_leave(dispatch_group_t group); __END_DECLS +DISPATCH_ASSUME_ABI_SINGLE_END DISPATCH_ASSUME_NONNULL_END -#endif \ No newline at end of file +#endif diff --git a/lib/libc/include/any-macos-any/dispatch/io.h b/lib/libc/include/any-macos-any/dispatch/io.h index 2dfc3fc0a6..b4115b8651 100644 --- a/lib/libc/include/any-macos-any/dispatch/io.h +++ b/lib/libc/include/any-macos-any/dispatch/io.h @@ -27,6 +27,7 @@ #endif DISPATCH_ASSUME_NONNULL_BEGIN +DISPATCH_ASSUME_ABI_SINGLE_BEGIN __BEGIN_DECLS @@ -53,6 +54,7 @@ __BEGIN_DECLS #if defined(_WIN32) typedef intptr_t dispatch_fd_t; #else +DISPATCH_SWIFT_UNAVAILABLE("Unavailable in Swift") typedef int dispatch_fd_t; #endif @@ -108,6 +110,7 @@ typedef int dispatch_fd_t; */ API_AVAILABLE(macos(10.7), ios(5.0)) DISPATCH_EXPORT DISPATCH_NONNULL3 DISPATCH_NONNULL4 DISPATCH_NOTHROW +DISPATCH_REFINED_FOR_SWIFT void dispatch_read(dispatch_fd_t fd, size_t length, @@ -147,6 +150,7 @@ dispatch_read(dispatch_fd_t fd, API_AVAILABLE(macos(10.7), ios(5.0)) DISPATCH_EXPORT DISPATCH_NONNULL2 DISPATCH_NONNULL3 DISPATCH_NONNULL4 DISPATCH_NOTHROW +DISPATCH_REFINED_FOR_SWIFT void dispatch_write(dispatch_fd_t fd, dispatch_data_t data, @@ -164,7 +168,7 @@ dispatch_write(dispatch_fd_t fd, * file descriptor. I/O channels are first class dispatch objects and may be * retained and released, suspended and resumed, etc. */ -DISPATCH_DECL(dispatch_io); +DISPATCH_DECL_SWIFT(dispatch_io, DispatchIO); /*! * @typedef dispatch_io_type_t @@ -187,6 +191,7 @@ DISPATCH_DECL(dispatch_io); #define DISPATCH_IO_STREAM 0 #define DISPATCH_IO_RANDOM 1 +DISPATCH_SWIFT_UNAVAILABLE("Use DispatchIO.StreamType") typedef unsigned long dispatch_io_type_t; #ifdef __BLOCKS__ @@ -218,6 +223,7 @@ typedef unsigned long dispatch_io_type_t; API_AVAILABLE(macos(10.7), ios(5.0)) DISPATCH_EXPORT DISPATCH_MALLOC DISPATCH_RETURNS_RETAINED DISPATCH_WARN_RESULT DISPATCH_NOTHROW +DISPATCH_REFINED_FOR_SWIFT DISPATCH_SWIFT_NAME(DispatchIO.init(__type:fd:queue:handler:)) dispatch_io_t dispatch_io_create(dispatch_io_type_t type, dispatch_fd_t fd, @@ -254,10 +260,11 @@ dispatch_io_create(dispatch_io_type_t type, API_AVAILABLE(macos(10.7), ios(5.0)) DISPATCH_EXPORT DISPATCH_NONNULL2 DISPATCH_MALLOC DISPATCH_RETURNS_RETAINED DISPATCH_WARN_RESULT DISPATCH_NOTHROW +DISPATCH_REFINED_FOR_SWIFT DISPATCH_SWIFT_NAME(DispatchIO.init(__type:path:oflag:mode:queue:handler:)) dispatch_io_t dispatch_io_create_with_path(dispatch_io_type_t type, - const char *path, int oflag, mode_t mode, - dispatch_queue_t queue, + const char *DISPATCH_UNSAFE_INDEXABLE path, int oflag, + mode_t mode, dispatch_queue_t queue, void (^cleanup_handler)(int error)); /*! @@ -294,6 +301,7 @@ dispatch_io_create_with_path(dispatch_io_type_t type, API_AVAILABLE(macos(10.7), ios(5.0)) DISPATCH_EXPORT DISPATCH_NONNULL2 DISPATCH_MALLOC DISPATCH_RETURNS_RETAINED DISPATCH_WARN_RESULT DISPATCH_NOTHROW +DISPATCH_REFINED_FOR_SWIFT DISPATCH_SWIFT_NAME(DispatchIO.init(__type:io:queue:handler:)) dispatch_io_t dispatch_io_create_with_io(dispatch_io_type_t type, dispatch_io_t io, @@ -308,6 +316,7 @@ dispatch_io_create_with_io(dispatch_io_type_t type, * @param data The data object to be handled. * @param error An errno condition for the operation. */ +DISPATCH_SWIFT_UNAVAILABLE("Unavailable in Swift") typedef void (^dispatch_io_handler_t)(bool done, dispatch_data_t _Nullable data, int error); @@ -356,6 +365,7 @@ typedef void (^dispatch_io_handler_t)(bool done, dispatch_data_t _Nullable data, API_AVAILABLE(macos(10.7), ios(5.0)) DISPATCH_EXPORT DISPATCH_NONNULL1 DISPATCH_NONNULL4 DISPATCH_NONNULL5 DISPATCH_NOTHROW +DISPATCH_REFINED_FOR_SWIFT void dispatch_io_read(dispatch_io_t channel, off_t offset, @@ -409,6 +419,7 @@ dispatch_io_read(dispatch_io_t channel, API_AVAILABLE(macos(10.7), ios(5.0)) DISPATCH_EXPORT DISPATCH_NONNULL1 DISPATCH_NONNULL3 DISPATCH_NONNULL4 DISPATCH_NONNULL5 DISPATCH_NOTHROW +DISPATCH_REFINED_FOR_SWIFT void dispatch_io_write(dispatch_io_t channel, off_t offset, @@ -426,6 +437,7 @@ dispatch_io_write(dispatch_io_t channel, */ #define DISPATCH_IO_STOP 0x1 +DISPATCH_SWIFT_UNAVAILABLE("Use DispatchIO.CloseFlags") typedef unsigned long dispatch_io_close_flags_t; /*! @@ -447,6 +459,7 @@ typedef unsigned long dispatch_io_close_flags_t; */ API_AVAILABLE(macos(10.7), ios(5.0)) DISPATCH_EXPORT DISPATCH_NONNULL1 DISPATCH_NOTHROW +DISPATCH_REFINED_FOR_SWIFT void dispatch_io_close(dispatch_io_t channel, dispatch_io_close_flags_t flags); @@ -474,6 +487,7 @@ dispatch_io_close(dispatch_io_t channel, dispatch_io_close_flags_t flags); */ API_AVAILABLE(macos(10.7), ios(5.0)) DISPATCH_EXPORT DISPATCH_NONNULL_ALL DISPATCH_NOTHROW +DISPATCH_SWIFT_NAME(DispatchIO.barrier(self:execute:)) void dispatch_io_barrier(dispatch_io_t channel, dispatch_block_t barrier); #endif /* __BLOCKS__ */ @@ -494,6 +508,7 @@ dispatch_io_barrier(dispatch_io_t channel, dispatch_block_t barrier); */ API_AVAILABLE(macos(10.7), ios(5.0)) DISPATCH_EXPORT DISPATCH_NONNULL_ALL DISPATCH_WARN_RESULT DISPATCH_NOTHROW +DISPATCH_SWIFT_NAME(getter:DispatchIO.fileDescriptor(self:)) dispatch_fd_t dispatch_io_get_descriptor(dispatch_io_t channel); @@ -515,6 +530,7 @@ dispatch_io_get_descriptor(dispatch_io_t channel); */ API_AVAILABLE(macos(10.7), ios(5.0)) DISPATCH_EXPORT DISPATCH_NONNULL1 DISPATCH_NOTHROW +DISPATCH_SWIFT_NAME(DispatchIO.setLimit(self:highWater:)) void dispatch_io_set_high_water(dispatch_io_t channel, size_t high_water); @@ -546,6 +562,7 @@ dispatch_io_set_high_water(dispatch_io_t channel, size_t high_water); */ API_AVAILABLE(macos(10.7), ios(5.0)) DISPATCH_EXPORT DISPATCH_NONNULL1 DISPATCH_NOTHROW +DISPATCH_SWIFT_NAME(DispatchIO.setLimit(self:lowWater:)) void dispatch_io_set_low_water(dispatch_io_t channel, size_t low_water); @@ -559,6 +576,7 @@ dispatch_io_set_low_water(dispatch_io_t channel, size_t low_water); */ #define DISPATCH_IO_STRICT_INTERVAL 0x1 +DISPATCH_SWIFT_UNAVAILABLE("Use DispatchIO.IntervalFlags") typedef unsigned long dispatch_io_interval_flags_t; /*! @@ -585,6 +603,7 @@ typedef unsigned long dispatch_io_interval_flags_t; */ API_AVAILABLE(macos(10.7), ios(5.0)) DISPATCH_EXPORT DISPATCH_NONNULL1 DISPATCH_NOTHROW +DISPATCH_REFINED_FOR_SWIFT void dispatch_io_set_interval(dispatch_io_t channel, uint64_t interval, @@ -592,6 +611,7 @@ dispatch_io_set_interval(dispatch_io_t channel, __END_DECLS +DISPATCH_ASSUME_ABI_SINGLE_END DISPATCH_ASSUME_NONNULL_END -#endif /* __DISPATCH_IO__ */ \ No newline at end of file +#endif /* __DISPATCH_IO__ */ diff --git a/lib/libc/include/any-macos-any/dispatch/object.h b/lib/libc/include/any-macos-any/dispatch/object.h index c658773f09..b4f641be2f 100644 --- a/lib/libc/include/any-macos-any/dispatch/object.h +++ b/lib/libc/include/any-macos-any/dispatch/object.h @@ -31,6 +31,7 @@ #endif DISPATCH_ASSUME_NONNULL_BEGIN +DISPATCH_ASSUME_ABI_SINGLE_BEGIN /*! * @typedef dispatch_object_t @@ -52,16 +53,42 @@ DISPATCH_ASSUME_NONNULL_BEGIN * analyzer, and enables them to be added to Cocoa collections. * See for details. */ -OS_OBJECT_DECL_CLASS(dispatch_object); +DISPATCH_SWIFT_NAME(DispatchObject) OS_OBJECT_DECL_CLASS(dispatch_object); #if OS_OBJECT_SWIFT3 -#define DISPATCH_DECL(name) OS_OBJECT_DECL_SUBCLASS_SWIFT(name, dispatch_object) -#define DISPATCH_DECL_SUBCLASS(name, base) OS_OBJECT_DECL_SUBCLASS_SWIFT(name, base) +#define DISPATCH_DECL(name) OS_OBJECT_DECL_SENDABLE_SUBCLASS_SWIFT(name, dispatch_object) +#define DISPATCH_DECL_SUBCLASS(name, base) OS_OBJECT_DECL_SENDABLE_SUBCLASS_SWIFT(name, base) +/* + * DISPATCH_DECL_FACTORY_CLASS_SWIFT adopts _hasMissingDesignatedInitializers swift attribute. + * That makes subclasses of this class stop inheriting its initializers. + */ +#define DISPATCH_DECL_FACTORY_CLASS_SWIFT(name, swift_name) \ + OS_OBJECT_SWIFT_HAS_MISSING_DESIGNATED_INIT DISPATCH_DECL_SWIFT(name, swift_name) +#define DISPATCH_DECL_SWIFT(name, swift_name) DISPATCH_SWIFT_NAME(swift_name) DISPATCH_DECL(name) +#define DISPATCH_DECL_SUBCLASS_SWIFT(name, base, swift_name) \ + DISPATCH_SWIFT_NAME(swift_name) DISPATCH_DECL_SUBCLASS(name, base) + +/* + * 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) +#define DISPATCH_DECL_SERIAL_EXECUTOR_SWIFT(name, swift_name) \ + DISPATCH_DECL_SUBCLASS_SWIFT(name, dispatch_queue_serial_executor, swift_name) +#else +#define DISPATCH_DECL_SERIAL_EXECUTOR_SWIFT(name, swift_name) \ + DISPATCH_DECL_SUBCLASS_SWIFT(name, dispatch_queue, swift_name) +#endif + #else // OS_OBJECT_SWIFT3 #define DISPATCH_DECL(name) OS_OBJECT_DECL_SUBCLASS(name, dispatch_object) #define DISPATCH_DECL_SUBCLASS(name, base) OS_OBJECT_DECL_SUBCLASS(name, base) - +#define DISPATCH_DECL_FACTORY_CLASS_SWIFT(name, swift_name) DISPATCH_DECL_SWIFT(name, swift_name) +#define DISPATCH_DECL_SWIFT(name, swift_name) DISPATCH_DECL(name) +#define DISPATCH_DECL_SUBCLASS_SWIFT(name, base, swift_name) DISPATCH_DECL_SUBCLASS(name, base) +#define DISPATCH_DECL_SERIAL_EXECUTOR_SWIFT(name, swift_name) \ + DISPATCH_DECL_SUBCLASS_SWIFT(name, dispatch_queue, swift_name) DISPATCH_INLINE DISPATCH_ALWAYS_INLINE DISPATCH_NONNULL_ALL DISPATCH_NOTHROW +DISPATCH_SWIFT_UNAVAILABLE("Unavailable in Swift") void _dispatch_object_validate(dispatch_object_t object) { @@ -88,6 +115,11 @@ private: typedef struct name##_s : public dispatch_object_s {} *name##_t #define DISPATCH_DECL_SUBCLASS(name, base) \ typedef struct name##_s : public base##_s {} *name##_t +#define DISPATCH_DECL_FACTORY_CLASS_SWIFT(name, swift_name) DISPATCH_DECL_SWIFT(name, swift_name) +#define DISPATCH_DECL_SWIFT(name, swift_name) DISPATCH_DECL(name) +#define DISPATCH_DECL_SUBCLASS_SWIFT(name, base, swift_name) DISPATCH_DECL_SUBCLASS(name, base) +#define DISPATCH_DECL_SERIAL_EXECUTOR_SWIFT(name, swift_name) \ + DISPATCH_DECL_SUBCLASS_SWIFT(name, dispatch_queue, swift_name) #define DISPATCH_GLOBAL_OBJECT(type, object) (static_cast(&(object))) #define DISPATCH_RETURNS_RETAINED #else /* Plain C */ @@ -107,6 +139,11 @@ typedef union { } dispatch_object_t DISPATCH_TRANSPARENT_UNION; #define DISPATCH_DECL(name) typedef struct name##_s *name##_t #define DISPATCH_DECL_SUBCLASS(name, base) typedef base##_t name##_t +#define DISPATCH_DECL_FACTORY_CLASS_SWIFT(name, swift_name) DISPATCH_DECL_SWIFT(name, swift_name) +#define DISPATCH_DECL_SWIFT(name, swift_name) DISPATCH_DECL(name) +#define DISPATCH_DECL_SUBCLASS_SWIFT(name, base, swift_name) DISPATCH_DECL_SUBCLASS(name, base) +#define DISPATCH_DECL_SERIAL_EXECUTOR_SWIFT(name, swift_name) \ + DISPATCH_DECL_SUBCLASS_SWIFT(name, dispatch_queue, swift_name) #define DISPATCH_GLOBAL_OBJECT(type, object) ((type)&(object)) #define DISPATCH_RETURNS_RETAINED #endif @@ -118,20 +155,40 @@ typedef union { OS_OBJECT_DECL_PROTOCOL(dispatch_source_##name, ); \ OS_OBJECT_CLASS_IMPLEMENTS_PROTOCOL( \ dispatch_source, dispatch_source_##name) +#define DISPATCH_SOURCE_TYPE_DECL_SWIFT(name, swift_name) \ + DISPATCH_EXPORT struct dispatch_source_type_s \ + _dispatch_source_type_##name; \ + DISPATCH_SWIFT_NAME(swift_name) \ + OS_OBJECT_DECL_PROTOCOL(dispatch_source_##name, ); \ + OS_OBJECT_CLASS_IMPLEMENTS_PROTOCOL( \ + dispatch_source, dispatch_source_##name) #define DISPATCH_SOURCE_DECL(name) \ DISPATCH_DECL(name); \ OS_OBJECT_DECL_PROTOCOL(name, ); \ OS_OBJECT_CLASS_IMPLEMENTS_PROTOCOL(name, name) +#define DISPATCH_SOURCE_DECL_SWIFT(name, swift_name, protocol_name) \ + DISPATCH_SWIFT_NAME(swift_name) \ + DISPATCH_DECL(name); \ + DISPATCH_SWIFT_NAME(protocol_name) \ + OS_OBJECT_DECL_PROTOCOL(name, ); \ + OS_OBJECT_CLASS_IMPLEMENTS_PROTOCOL(name, name) #ifndef DISPATCH_DATA_DECL #define DISPATCH_DATA_DECL(name) OS_OBJECT_DECL_SWIFT(name) #endif // DISPATCH_DATA_DECL +#define DISPATCH_DATA_DECL_SWIFT(name, swift_name) \ + DISPATCH_SWIFT_NAME(swift_name) \ + DISPATCH_DATA_DECL(name) #else #define DISPATCH_SOURCE_DECL(name) \ DISPATCH_DECL(name); +#define DISPATCH_SOURCE_DECL_SWIFT(name, swift_name, protocol_name) DISPATCH_SOURCE_DECL(name) #define DISPATCH_DATA_DECL(name) DISPATCH_DECL(name) +#define DISPATCH_DATA_DECL_SWIFT(name, swift_name) DISPATCH_DATA_DECL(name) #define DISPATCH_SOURCE_TYPE_DECL(name) \ DISPATCH_EXPORT const struct dispatch_source_type_s \ _dispatch_source_type_##name +#define DISPATCH_SOURCE_TYPE_DECL_SWIFT(name, swift_name) \ + DISPATCH_SOURCE_TYPE_DECL(name) #endif #ifdef __BLOCKS__ @@ -176,6 +233,7 @@ typedef union { * Instead, the block literal must be copied to the heap with the Block_copy() * function or by sending it a -[copy] message. */ +DISPATCH_SWIFT_UNAVAILABLE("Unavailable in Swift") typedef void (^dispatch_block_t)(void); #endif // __BLOCKS__ @@ -185,6 +243,7 @@ __BEGIN_DECLS * @typedef dispatch_qos_class_t * Alias for qos_class_t type. */ +DISPATCH_SWIFT_UNAVAILABLE("Use DispatchQoS") #if __has_include() typedef qos_class_t dispatch_qos_class_t; #else @@ -260,6 +319,7 @@ dispatch_release(dispatch_object_t object); API_AVAILABLE(macos(10.6), ios(4.0)) DISPATCH_EXPORT DISPATCH_NONNULL_ALL DISPATCH_PURE DISPATCH_WARN_RESULT DISPATCH_NOTHROW +DISPATCH_SWIFT_UNAVAILABLE("Unavailable in Swift") void *_Nullable dispatch_get_context(dispatch_object_t object); @@ -278,6 +338,7 @@ dispatch_get_context(dispatch_object_t object); */ API_AVAILABLE(macos(10.6), ios(4.0)) DISPATCH_EXPORT DISPATCH_NOTHROW +DISPATCH_SWIFT_UNAVAILABLE("Unavailable in Swift") void dispatch_set_context(dispatch_object_t object, void *_Nullable context); @@ -304,6 +365,7 @@ dispatch_set_context(dispatch_object_t object, void *_Nullable context); */ API_AVAILABLE(macos(10.6), ios(4.0)) DISPATCH_EXPORT DISPATCH_NOTHROW +DISPATCH_SWIFT_UNAVAILABLE("Unavailable in Swift") void dispatch_set_finalizer_f(dispatch_object_t object, dispatch_function_t _Nullable finalizer); @@ -332,6 +394,7 @@ dispatch_set_finalizer_f(dispatch_object_t object, */ API_AVAILABLE(macos(10.12), ios(10.0), tvos(10.0), watchos(3.0)) DISPATCH_EXPORT DISPATCH_NONNULL_ALL DISPATCH_NOTHROW +DISPATCH_SWIFT_NAME(DispatchObject.activate(self:)) void dispatch_activate(dispatch_object_t object); @@ -355,6 +418,7 @@ dispatch_activate(dispatch_object_t object); */ API_AVAILABLE(macos(10.6), ios(4.0)) DISPATCH_EXPORT DISPATCH_NONNULL_ALL DISPATCH_NOTHROW +DISPATCH_SWIFT_NAME(DispatchObject.suspend(self:)) void dispatch_suspend(dispatch_object_t object); @@ -384,6 +448,7 @@ dispatch_suspend(dispatch_object_t object); */ API_AVAILABLE(macos(10.6), ios(4.0)) DISPATCH_EXPORT DISPATCH_NONNULL_ALL DISPATCH_NOTHROW +DISPATCH_SWIFT_NAME(DispatchObject.resume(self:)) void dispatch_resume(dispatch_object_t object); @@ -426,6 +491,7 @@ dispatch_resume(dispatch_object_t object); */ API_AVAILABLE(macos(10.14), ios(12.0), tvos(12.0), watchos(5.0)) DISPATCH_EXPORT DISPATCH_NOTHROW +DISPATCH_SWIFT_UNAVAILABLE("Unavailable in Swift") void dispatch_set_qos_class_floor(dispatch_object_t object, dispatch_qos_class_t qos_class, int relative_priority); @@ -591,16 +657,19 @@ API_DEPRECATED("unsupported interface", macos(10.6,10.9), ios(4.0,6.0)) DISPATCH_EXPORT DISPATCH_NONNULL2 DISPATCH_NOTHROW DISPATCH_COLD __attribute__((__format__(printf,2,3))) void -dispatch_debug(dispatch_object_t object, const char *message, ...); +dispatch_debug(dispatch_object_t object, + const char *DISPATCH_UNSAFE_INDEXABLE message, ...); API_DEPRECATED("unsupported interface", macos(10.6,10.9), ios(4.0,6.0)) DISPATCH_EXPORT DISPATCH_NONNULL2 DISPATCH_NOTHROW DISPATCH_COLD __attribute__((__format__(printf,2,0))) void -dispatch_debugv(dispatch_object_t object, const char *message, va_list ap); +dispatch_debugv(dispatch_object_t object, + const char *DISPATCH_UNSAFE_INDEXABLE message, va_list ap); __END_DECLS +DISPATCH_ASSUME_ABI_SINGLE_END DISPATCH_ASSUME_NONNULL_END -#endif \ No newline at end of file +#endif diff --git a/lib/libc/include/any-macos-any/dispatch/once.h b/lib/libc/include/any-macos-any/dispatch/once.h index 8ea5ecf100..bad03f125a 100644 --- a/lib/libc/include/any-macos-any/dispatch/once.h +++ b/lib/libc/include/any-macos-any/dispatch/once.h @@ -27,6 +27,7 @@ #endif DISPATCH_ASSUME_NONNULL_BEGIN +DISPATCH_ASSUME_ABI_SINGLE_BEGIN __BEGIN_DECLS @@ -120,6 +121,7 @@ _dispatch_once_f(dispatch_once_t *predicate, void *_Nullable context, __END_DECLS +DISPATCH_ASSUME_ABI_SINGLE_END DISPATCH_ASSUME_NONNULL_END -#endif \ No newline at end of file +#endif diff --git a/lib/libc/include/any-macos.13-any/dispatch/queue.h b/lib/libc/include/any-macos-any/dispatch/queue.h similarity index 94% rename from lib/libc/include/any-macos.13-any/dispatch/queue.h rename to lib/libc/include/any-macos-any/dispatch/queue.h index 6816514dd6..3eeeb48a81 100644 --- a/lib/libc/include/any-macos.13-any/dispatch/queue.h +++ b/lib/libc/include/any-macos-any/dispatch/queue.h @@ -67,7 +67,7 @@ DISPATCH_ASSUME_ABI_SINGLE_BEGIN * reference to the queue until they have finished. Once all references to a * queue have been released, the queue will be deallocated by the system. */ -DISPATCH_DECL(dispatch_queue); +DISPATCH_DECL_FACTORY_CLASS_SWIFT(dispatch_queue, DispatchQueue); /*! * @typedef dispatch_queue_global_t @@ -99,8 +99,29 @@ DISPATCH_DECL(dispatch_queue); * Calls to dispatch_suspend(), dispatch_resume(), dispatch_set_context(), etc., * will have no effect when used with queues of this type. */ +API_AVAILABLE(macos(10.14), ios(12.0), tvos(12.0), watchos(5.0)) DISPATCH_DECL_SUBCLASS(dispatch_queue_global, dispatch_queue); +/*! + * @typedef dispatch_queue_serial_executor_t + * + * @abstract + * An abstract class of dispatch queues which conform to the serial executor + * protocol. + * + * @discussion + * A serial executor in Swift Concurrency represents a mutual exclusion context. + * Queues with a singular owner, which invoke only one workItem at a time + * provide such a mutual exclusion context and are serial executors. + * + * Subclasses of this abstract class can be therefore be setup as Custom + * Executors for Swift Actors. + * + * See dispatch_queue_serial_t and dispatch_workloop_t. + */ +API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0), watchos(10.0)) +DISPATCH_DECL_SUBCLASS_SWIFT(dispatch_queue_serial_executor, dispatch_queue, _DispatchSerialExecutorQueue); + /*! * @typedef dispatch_queue_serial_t * @@ -125,7 +146,8 @@ DISPATCH_DECL_SUBCLASS(dispatch_queue_global, dispatch_queue); * Serial queues are created by passing a dispatch queue attribute derived from * DISPATCH_QUEUE_SERIAL to dispatch_queue_create_with_target(). */ -DISPATCH_DECL_SUBCLASS(dispatch_queue_serial, dispatch_queue); +API_AVAILABLE(macos(10.14), ios(12.0), tvos(12.0), watchos(5.0)) +DISPATCH_DECL_SERIAL_EXECUTOR_SWIFT(dispatch_queue_serial, DispatchSerialQueue); /*! * @typedef dispatch_queue_main_t @@ -147,6 +169,7 @@ DISPATCH_DECL_SUBCLASS(dispatch_queue_serial, dispatch_queue); * dispatch_suspend(), dispatch_resume(), dispatch_set_context(), etc., will * have no effect when used on the main queue. */ +API_AVAILABLE(macos(10.14), ios(12.0), tvos(12.0), watchos(5.0)) DISPATCH_DECL_SUBCLASS(dispatch_queue_main, dispatch_queue_serial); /*! @@ -177,7 +200,8 @@ DISPATCH_DECL_SUBCLASS(dispatch_queue_main, dispatch_queue_serial); * avoidance when lower priority regular workitems (readers) are being invoked * and are preventing a higher priority barrier (writer) from being invoked. */ -DISPATCH_DECL_SUBCLASS(dispatch_queue_concurrent, dispatch_queue); +API_AVAILABLE(macos(10.14), ios(12.0), tvos(12.0), watchos(5.0)) +DISPATCH_DECL_SUBCLASS_SWIFT(dispatch_queue_concurrent, dispatch_queue, DispatchConcurrentQueue); __BEGIN_DECLS @@ -212,6 +236,7 @@ __BEGIN_DECLS #ifdef __BLOCKS__ API_AVAILABLE(macos(10.6), ios(4.0)) DISPATCH_EXPORT DISPATCH_NONNULL_ALL DISPATCH_NOTHROW +DISPATCH_REFINED_FOR_SWIFT void dispatch_async(dispatch_queue_t queue, dispatch_block_t block); #endif @@ -242,6 +267,7 @@ dispatch_async(dispatch_queue_t queue, dispatch_block_t block); */ API_AVAILABLE(macos(10.6), ios(4.0)) DISPATCH_EXPORT DISPATCH_NONNULL1 DISPATCH_NONNULL3 DISPATCH_NOTHROW +DISPATCH_SWIFT_UNAVAILABLE("Use DispatchQueue.async(self:execute:)") void dispatch_async_f(dispatch_queue_t queue, void *_Nullable context, dispatch_function_t work); @@ -285,6 +311,7 @@ dispatch_async_f(dispatch_queue_t queue, #ifdef __BLOCKS__ API_AVAILABLE(macos(10.6), ios(4.0)) DISPATCH_EXPORT DISPATCH_NONNULL_ALL DISPATCH_NOTHROW +DISPATCH_SWIFT_NAME(DispatchQueue.sync(self:execute:)) void dispatch_sync(dispatch_queue_t queue, DISPATCH_NOESCAPE dispatch_block_t block); #endif @@ -313,6 +340,7 @@ dispatch_sync(dispatch_queue_t queue, DISPATCH_NOESCAPE dispatch_block_t block); */ API_AVAILABLE(macos(10.6), ios(4.0)) DISPATCH_EXPORT DISPATCH_NONNULL1 DISPATCH_NONNULL3 DISPATCH_NOTHROW +DISPATCH_SWIFT_UNAVAILABLE("Use DispatchQueue.sync(self:execute:)") void dispatch_sync_f(dispatch_queue_t queue, void *_Nullable context, dispatch_function_t work); @@ -380,6 +408,7 @@ dispatch_sync_f(dispatch_queue_t queue, #ifdef __BLOCKS__ API_AVAILABLE(macos(10.14), ios(12.0), tvos(12.0), watchos(5.0)) DISPATCH_EXPORT DISPATCH_NONNULL_ALL DISPATCH_NOTHROW +DISPATCH_SWIFT_NAME(DispatchQueue.asyncAndWait(self:execute:)) void dispatch_async_and_wait(dispatch_queue_t queue, DISPATCH_NOESCAPE dispatch_block_t block); @@ -409,6 +438,7 @@ dispatch_async_and_wait(dispatch_queue_t queue, */ API_AVAILABLE(macos(10.14), ios(12.0), tvos(12.0), watchos(5.0)) DISPATCH_EXPORT DISPATCH_NONNULL1 DISPATCH_NONNULL3 DISPATCH_NOTHROW +DISPATCH_SWIFT_UNAVAILABLE("Use DispatchQueue.asyncAndWait(self:execute:)") void dispatch_async_and_wait_f(dispatch_queue_t queue, void *_Nullable context, dispatch_function_t work); @@ -481,6 +511,7 @@ dispatch_async_and_wait_f(dispatch_queue_t queue, #ifdef __BLOCKS__ API_AVAILABLE(macos(10.6), ios(4.0)) DISPATCH_EXPORT DISPATCH_NONNULL3 DISPATCH_NOTHROW +DISPATCH_REFINED_FOR_SWIFT void dispatch_apply(size_t iterations, dispatch_queue_t DISPATCH_APPLY_QUEUE_ARG_NULLABILITY queue, @@ -516,6 +547,7 @@ dispatch_apply(size_t iterations, */ API_AVAILABLE(macos(10.6), ios(4.0)) DISPATCH_EXPORT DISPATCH_NONNULL4 DISPATCH_NOTHROW +DISPATCH_SWIFT_UNAVAILABLE("Use DispatchQueue.concurrentPerform(iterations:execute:).") void dispatch_apply_f(size_t iterations, dispatch_queue_t DISPATCH_APPLY_QUEUE_ARG_NULLABILITY queue, @@ -584,6 +616,7 @@ struct dispatch_queue_s _dispatch_main_q; * the main thread before main() is called. */ DISPATCH_INLINE DISPATCH_ALWAYS_INLINE DISPATCH_CONST DISPATCH_NOTHROW +DISPATCH_SWIFT_UNAVAILABLE("Use getter:DispatchQueue.main()") dispatch_queue_main_t dispatch_get_main_queue(void) { @@ -623,6 +656,7 @@ dispatch_get_main_queue(void) #define DISPATCH_QUEUE_PRIORITY_LOW (-2) #define DISPATCH_QUEUE_PRIORITY_BACKGROUND INT16_MIN +DISPATCH_SWIFT_UNAVAILABLE("Use DispatchQueue.GlobalQueuePriority") typedef long dispatch_queue_priority_t; /*! @@ -664,6 +698,7 @@ typedef long dispatch_queue_priority_t; */ API_AVAILABLE(macos(10.6), ios(4.0)) DISPATCH_EXPORT DISPATCH_CONST DISPATCH_WARN_RESULT DISPATCH_NOTHROW +DISPATCH_REFINED_FOR_SWIFT dispatch_queue_global_t dispatch_get_global_queue(intptr_t identifier, uintptr_t flags); @@ -673,6 +708,7 @@ dispatch_get_global_queue(intptr_t identifier, uintptr_t flags); * @abstract * Attribute for dispatch queues. */ +DISPATCH_REFINED_FOR_SWIFT DISPATCH_DECL(dispatch_queue_attr); /*! @@ -759,6 +795,7 @@ struct dispatch_queue_attr_s _dispatch_queue_attr_concurrent; */ API_AVAILABLE(macos(10.12), ios(10.0), tvos(10.0), watchos(3.0)) DISPATCH_EXPORT DISPATCH_WARN_RESULT DISPATCH_PURE DISPATCH_NOTHROW +DISPATCH_REFINED_FOR_SWIFT dispatch_queue_attr_t dispatch_queue_attr_make_initially_inactive( dispatch_queue_attr_t _Nullable attr); @@ -813,13 +850,17 @@ dispatch_queue_attr_make_initially_inactive( * autorelease pool around the execution of a block that is submitted to it * asynchronously. This is the behavior of the global concurrent queues. */ +DISPATCH_REFINED_FOR_SWIFT DISPATCH_ENUM(dispatch_autorelease_frequency, unsigned long, DISPATCH_AUTORELEASE_FREQUENCY_INHERIT DISPATCH_ENUM_API_AVAILABLE( - macos(10.12), ios(10.0), tvos(10.0), watchos(3.0)) = 0, + macos(10.12), ios(10.0), tvos(10.0), watchos(3.0)) + DISPATCH_SWIFT_UNAVAILABLE("Use DispatchQueue.AutoreleaseFrequency.inherit") = 0, DISPATCH_AUTORELEASE_FREQUENCY_WORK_ITEM DISPATCH_ENUM_API_AVAILABLE( - macos(10.12), ios(10.0), tvos(10.0), watchos(3.0)) = 1, + macos(10.12), ios(10.0), tvos(10.0), watchos(3.0)) + DISPATCH_SWIFT_UNAVAILABLE("Use DispatchQueue.AutoreleaseFrequency.workItem") = 1, DISPATCH_AUTORELEASE_FREQUENCY_NEVER DISPATCH_ENUM_API_AVAILABLE( - macos(10.12), ios(10.0), tvos(10.0), watchos(3.0)) = 2, + macos(10.12), ios(10.0), tvos(10.0), watchos(3.0)) + DISPATCH_SWIFT_UNAVAILABLE("Use DispatchQueue.AutoreleaseFrequency.never") = 2, ); /*! @@ -831,7 +872,7 @@ DISPATCH_ENUM(dispatch_autorelease_frequency, unsigned long, * * @discussion * When a queue uses the per-workitem autorelease frequency (either directly - * or inherithed from its target queue), any block submitted asynchronously to + * or inherited from its target queue), any block submitted asynchronously to * this queue (via dispatch_async(), dispatch_barrier_async(), * dispatch_group_notify(), etc...) is executed as if surrounded by a individual * Objective-C @autoreleasepool scope. @@ -861,6 +902,7 @@ DISPATCH_ENUM(dispatch_autorelease_frequency, unsigned long, */ API_AVAILABLE(macos(10.12), ios(10.0), tvos(10.0), watchos(3.0)) DISPATCH_EXPORT DISPATCH_WARN_RESULT DISPATCH_PURE DISPATCH_NOTHROW +DISPATCH_REFINED_FOR_SWIFT dispatch_queue_attr_t dispatch_queue_attr_make_with_autorelease_frequency( dispatch_queue_attr_t _Nullable attr, @@ -925,6 +967,7 @@ dispatch_queue_attr_make_with_autorelease_frequency( */ API_AVAILABLE(macos(10.10), ios(8.0)) DISPATCH_EXPORT DISPATCH_WARN_RESULT DISPATCH_PURE DISPATCH_NOTHROW +DISPATCH_REFINED_FOR_SWIFT dispatch_queue_attr_t dispatch_queue_attr_make_with_qos_class(dispatch_queue_attr_t _Nullable attr, dispatch_qos_class_t qos_class, int relative_priority); @@ -991,6 +1034,7 @@ dispatch_queue_attr_make_with_qos_class(dispatch_queue_attr_t _Nullable attr, API_AVAILABLE(macos(10.12), ios(10.0), tvos(10.0), watchos(3.0)) DISPATCH_EXPORT DISPATCH_MALLOC DISPATCH_RETURNS_RETAINED DISPATCH_WARN_RESULT DISPATCH_NOTHROW +DISPATCH_REFINED_FOR_SWIFT DISPATCH_SWIFT_NAME(DispatchQueue.init(__label:attr:queue:)) dispatch_queue_t dispatch_queue_create_with_target(const char *_Nullable DISPATCH_UNSAFE_INDEXABLE label, dispatch_queue_attr_t _Nullable attr, dispatch_queue_t _Nullable target) @@ -1044,6 +1088,7 @@ dispatch_queue_create_with_target(const char *_Nullable DISPATCH_UNSAFE_INDEXABL API_AVAILABLE(macos(10.6), ios(4.0)) DISPATCH_EXPORT DISPATCH_MALLOC DISPATCH_RETURNS_RETAINED DISPATCH_WARN_RESULT DISPATCH_NOTHROW +DISPATCH_REFINED_FOR_SWIFT DISPATCH_SWIFT_NAME(DispatchQueue.init(__label:attr:)) dispatch_queue_t dispatch_queue_create(const char *_Nullable DISPATCH_UNSAFE_INDEXABLE label, dispatch_queue_attr_t _Nullable attr); @@ -1073,6 +1118,7 @@ dispatch_queue_create(const char *_Nullable DISPATCH_UNSAFE_INDEXABLE label, */ API_AVAILABLE(macos(10.6), ios(4.0)) DISPATCH_EXPORT DISPATCH_PURE DISPATCH_WARN_RESULT DISPATCH_NOTHROW +DISPATCH_REFINED_FOR_SWIFT const char * dispatch_queue_get_label(dispatch_queue_t _Nullable queue); @@ -1112,6 +1158,7 @@ dispatch_queue_get_label(dispatch_queue_t _Nullable queue); */ API_AVAILABLE(macos(10.10), ios(8.0)) DISPATCH_EXPORT DISPATCH_WARN_RESULT DISPATCH_NONNULL1 DISPATCH_NOTHROW +DISPATCH_REFINED_FOR_SWIFT dispatch_qos_class_t dispatch_queue_get_qos_class(dispatch_queue_t queue, int *_Nullable relative_priority_ptr); @@ -1179,6 +1226,7 @@ dispatch_queue_get_qos_class(dispatch_queue_t queue, */ API_AVAILABLE(macos(10.6), ios(4.0)) DISPATCH_EXPORT DISPATCH_NOTHROW +DISPATCH_SWIFT_NAME(DispatchObject.setTarget(self:queue:)) void dispatch_set_target_queue(dispatch_object_t object, dispatch_queue_t _Nullable queue); @@ -1198,6 +1246,7 @@ dispatch_set_target_queue(dispatch_object_t object, */ API_AVAILABLE(macos(10.6), ios(4.0)) DISPATCH_EXPORT DISPATCH_NOTHROW DISPATCH_NORETURN +DISPATCH_SWIFT_NAME(dispatchMain()) void dispatch_main(void); @@ -1226,6 +1275,7 @@ dispatch_main(void); #ifdef __BLOCKS__ API_AVAILABLE(macos(10.6), ios(4.0)) DISPATCH_EXPORT DISPATCH_NONNULL2 DISPATCH_NONNULL3 DISPATCH_NOTHROW +DISPATCH_REFINED_FOR_SWIFT void dispatch_after(dispatch_time_t when, dispatch_queue_t queue, dispatch_block_t block); @@ -1258,6 +1308,7 @@ dispatch_after(dispatch_time_t when, dispatch_queue_t queue, */ API_AVAILABLE(macos(10.6), ios(4.0)) DISPATCH_EXPORT DISPATCH_NONNULL2 DISPATCH_NONNULL4 DISPATCH_NOTHROW +DISPATCH_SWIFT_UNAVAILABLE("Use DispatchQueue.asyncAfter(self:deadline:qos:flags:execute:)") void dispatch_after_f(dispatch_time_t when, dispatch_queue_t queue, void *_Nullable context, dispatch_function_t work); @@ -1304,6 +1355,7 @@ dispatch_after_f(dispatch_time_t when, dispatch_queue_t queue, #ifdef __BLOCKS__ API_AVAILABLE(macos(10.7), ios(4.3)) DISPATCH_EXPORT DISPATCH_NONNULL_ALL DISPATCH_NOTHROW +DISPATCH_REFINED_FOR_SWIFT void dispatch_barrier_async(dispatch_queue_t queue, dispatch_block_t block); #endif @@ -1339,6 +1391,7 @@ dispatch_barrier_async(dispatch_queue_t queue, dispatch_block_t block); */ API_AVAILABLE(macos(10.7), ios(4.3)) DISPATCH_EXPORT DISPATCH_NONNULL1 DISPATCH_NONNULL3 DISPATCH_NOTHROW +DISPATCH_SWIFT_UNAVAILABLE("Use DispatchQueue.async(self:group:qos:flags:execute:)") void dispatch_barrier_async_f(dispatch_queue_t queue, void *_Nullable context, dispatch_function_t work); @@ -1367,6 +1420,7 @@ dispatch_barrier_async_f(dispatch_queue_t queue, #ifdef __BLOCKS__ API_AVAILABLE(macos(10.7), ios(4.3)) DISPATCH_EXPORT DISPATCH_NONNULL_ALL DISPATCH_NOTHROW +DISPATCH_REFINED_FOR_SWIFT void dispatch_barrier_sync(dispatch_queue_t queue, DISPATCH_NOESCAPE dispatch_block_t block); @@ -1399,6 +1453,7 @@ dispatch_barrier_sync(dispatch_queue_t queue, */ API_AVAILABLE(macos(10.7), ios(4.3)) DISPATCH_EXPORT DISPATCH_NONNULL1 DISPATCH_NONNULL3 DISPATCH_NOTHROW +DISPATCH_SWIFT_UNAVAILABLE("Use DispatchQueue.sync(self:flags:execute:)") void dispatch_barrier_sync_f(dispatch_queue_t queue, void *_Nullable context, dispatch_function_t work); @@ -1427,6 +1482,7 @@ dispatch_barrier_sync_f(dispatch_queue_t queue, #ifdef __BLOCKS__ API_AVAILABLE(macos(10.14), ios(12.0), tvos(12.0), watchos(5.0)) DISPATCH_EXPORT DISPATCH_NONNULL_ALL DISPATCH_NOTHROW +DISPATCH_SWIFT_UNAVAILABLE("Unavailable in Swift") void dispatch_barrier_async_and_wait(dispatch_queue_t queue, DISPATCH_NOESCAPE dispatch_block_t block); @@ -1460,6 +1516,7 @@ dispatch_barrier_async_and_wait(dispatch_queue_t queue, */ API_AVAILABLE(macos(10.14), ios(12.0), tvos(12.0), watchos(5.0)) DISPATCH_EXPORT DISPATCH_NONNULL1 DISPATCH_NONNULL3 DISPATCH_NOTHROW +DISPATCH_SWIFT_UNAVAILABLE("Unavailable in Swift") void dispatch_barrier_async_and_wait_f(dispatch_queue_t queue, void *_Nullable context, dispatch_function_t work); @@ -1502,6 +1559,7 @@ dispatch_barrier_async_and_wait_f(dispatch_queue_t queue, */ API_AVAILABLE(macos(10.7), ios(5.0)) DISPATCH_EXPORT DISPATCH_NONNULL1 DISPATCH_NOTHROW +DISPATCH_REFINED_FOR_SWIFT void dispatch_queue_set_specific(dispatch_queue_t queue, const void *key, void *_Nullable context, dispatch_function_t _Nullable destructor); @@ -1532,6 +1590,7 @@ dispatch_queue_set_specific(dispatch_queue_t queue, const void *key, API_AVAILABLE(macos(10.7), ios(5.0)) DISPATCH_EXPORT DISPATCH_NONNULL1 DISPATCH_PURE DISPATCH_WARN_RESULT DISPATCH_NOTHROW +DISPATCH_REFINED_FOR_SWIFT void *_Nullable dispatch_queue_get_specific(dispatch_queue_t queue, const void *key); @@ -1558,6 +1617,7 @@ dispatch_queue_get_specific(dispatch_queue_t queue, const void *key); */ API_AVAILABLE(macos(10.7), ios(5.0)) DISPATCH_EXPORT DISPATCH_PURE DISPATCH_WARN_RESULT DISPATCH_NOTHROW +DISPATCH_REFINED_FOR_SWIFT void *_Nullable dispatch_get_specific(const void *key); @@ -1612,6 +1672,7 @@ dispatch_get_specific(const void *key); */ API_AVAILABLE(macos(10.12), ios(10.0), tvos(10.0), watchos(3.0)) DISPATCH_EXPORT DISPATCH_NONNULL1 +DISPATCH_REFINED_FOR_SWIFT void dispatch_assert_queue(dispatch_queue_t queue) DISPATCH_ALIAS_V2(dispatch_assert_queue); @@ -1638,6 +1699,7 @@ dispatch_assert_queue(dispatch_queue_t queue) */ API_AVAILABLE(macos(10.12), ios(10.0), tvos(10.0), watchos(3.0)) DISPATCH_EXPORT DISPATCH_NONNULL1 +DISPATCH_REFINED_FOR_SWIFT void dispatch_assert_queue_barrier(dispatch_queue_t queue); @@ -1661,6 +1723,7 @@ dispatch_assert_queue_barrier(dispatch_queue_t queue); */ API_AVAILABLE(macos(10.12), ios(10.0), tvos(10.0), watchos(3.0)) DISPATCH_EXPORT DISPATCH_NONNULL1 +DISPATCH_REFINED_FOR_SWIFT void dispatch_assert_queue_not(dispatch_queue_t queue) DISPATCH_ALIAS_V2(dispatch_assert_queue_not); @@ -1680,4 +1743,4 @@ __END_DECLS DISPATCH_ASSUME_ABI_SINGLE_END DISPATCH_ASSUME_NONNULL_END -#endif \ No newline at end of file +#endif diff --git a/lib/libc/include/any-macos-any/dispatch/semaphore.h b/lib/libc/include/any-macos-any/dispatch/semaphore.h index 225fe41563..67dd7d1153 100644 --- a/lib/libc/include/any-macos-any/dispatch/semaphore.h +++ b/lib/libc/include/any-macos-any/dispatch/semaphore.h @@ -27,6 +27,7 @@ #endif DISPATCH_ASSUME_NONNULL_BEGIN +DISPATCH_ASSUME_ABI_SINGLE_BEGIN /*! * @typedef dispatch_semaphore_t @@ -34,7 +35,7 @@ DISPATCH_ASSUME_NONNULL_BEGIN * @abstract * A counting semaphore. */ -DISPATCH_DECL(dispatch_semaphore); +DISPATCH_DECL_SWIFT(dispatch_semaphore, DispatchSemaphore); __BEGIN_DECLS @@ -60,6 +61,7 @@ __BEGIN_DECLS API_AVAILABLE(macos(10.6), ios(4.0)) DISPATCH_EXPORT DISPATCH_MALLOC DISPATCH_RETURNS_RETAINED DISPATCH_WARN_RESULT DISPATCH_NOTHROW +DISPATCH_SWIFT_NAME(DispatchSemaphore.init(value:)) dispatch_semaphore_t dispatch_semaphore_create(intptr_t value); @@ -71,7 +73,9 @@ dispatch_semaphore_create(intptr_t value); * * @discussion * Decrement the counting semaphore. If the resulting value is less than zero, - * this function waits for a signal to occur before returning. + * this function waits for a signal to occur before returning. If the timeout is + * reached without a signal being received, the semaphore is re-incremented + * before the function returns. * * @param dsema * The semaphore. The result of passing NULL in this parameter is undefined. @@ -85,6 +89,7 @@ dispatch_semaphore_create(intptr_t value); */ API_AVAILABLE(macos(10.6), ios(4.0)) DISPATCH_EXPORT DISPATCH_NONNULL_ALL DISPATCH_NOTHROW +DISPATCH_REFINED_FOR_SWIFT intptr_t dispatch_semaphore_wait(dispatch_semaphore_t dsema, dispatch_time_t timeout); @@ -107,11 +112,13 @@ dispatch_semaphore_wait(dispatch_semaphore_t dsema, dispatch_time_t timeout); */ API_AVAILABLE(macos(10.6), ios(4.0)) DISPATCH_EXPORT DISPATCH_NONNULL_ALL DISPATCH_NOTHROW +DISPATCH_REFINED_FOR_SWIFT intptr_t dispatch_semaphore_signal(dispatch_semaphore_t dsema); __END_DECLS +DISPATCH_ASSUME_ABI_SINGLE_END DISPATCH_ASSUME_NONNULL_END -#endif /* __DISPATCH_SEMAPHORE__ */ \ No newline at end of file +#endif /* __DISPATCH_SEMAPHORE__ */ diff --git a/lib/libc/include/any-macos-any/dispatch/source.h b/lib/libc/include/any-macos-any/dispatch/source.h index 91b23badfd..9fc116184a 100644 --- a/lib/libc/include/any-macos-any/dispatch/source.h +++ b/lib/libc/include/any-macos-any/dispatch/source.h @@ -36,6 +36,7 @@ #endif DISPATCH_ASSUME_NONNULL_BEGIN +DISPATCH_ASSUME_ABI_SINGLE_BEGIN /*! * @header @@ -54,7 +55,7 @@ DISPATCH_ASSUME_NONNULL_BEGIN * Dispatch sources are used to automatically submit event handler blocks to * dispatch queues in response to external events. */ -DISPATCH_SOURCE_DECL(dispatch_source); +DISPATCH_SOURCE_DECL_SWIFT(dispatch_source, DispatchSource, DispatchSourceProtocol); __BEGIN_DECLS @@ -69,6 +70,7 @@ __BEGIN_DECLS * signal number, process identifier, etc.), and how the mask argument is * interpreted. */ +DISPATCH_REFINED_FOR_SWIFT typedef const struct dispatch_source_type_s *dispatch_source_type_t; /*! @@ -80,7 +82,7 @@ typedef const struct dispatch_source_type_s *dispatch_source_type_t; */ #define DISPATCH_SOURCE_TYPE_DATA_ADD (&_dispatch_source_type_data_add) API_AVAILABLE(macos(10.6), ios(4.0)) -DISPATCH_SOURCE_TYPE_DECL(data_add); +DISPATCH_SOURCE_TYPE_DECL_SWIFT(data_add, DispatchSourceUserDataAdd); /*! * @const DISPATCH_SOURCE_TYPE_DATA_OR @@ -91,7 +93,7 @@ DISPATCH_SOURCE_TYPE_DECL(data_add); */ #define DISPATCH_SOURCE_TYPE_DATA_OR (&_dispatch_source_type_data_or) API_AVAILABLE(macos(10.6), ios(4.0)) -DISPATCH_SOURCE_TYPE_DECL(data_or); +DISPATCH_SOURCE_TYPE_DECL_SWIFT(data_or, DispatchSourceUserDataOr); /*! * @const DISPATCH_SOURCE_TYPE_DATA_REPLACE @@ -106,7 +108,7 @@ DISPATCH_SOURCE_TYPE_DECL(data_or); */ #define DISPATCH_SOURCE_TYPE_DATA_REPLACE (&_dispatch_source_type_data_replace) API_AVAILABLE(macos(10.13), ios(11.0), tvos(11.0), watchos(4.0)) -DISPATCH_SOURCE_TYPE_DECL(data_replace); +DISPATCH_SOURCE_TYPE_DECL_SWIFT(data_replace, DispatchSourceUserDataReplace); /*! * @const DISPATCH_SOURCE_TYPE_MACH_SEND @@ -117,7 +119,7 @@ DISPATCH_SOURCE_TYPE_DECL(data_replace); */ #define DISPATCH_SOURCE_TYPE_MACH_SEND (&_dispatch_source_type_mach_send) API_AVAILABLE(macos(10.6), ios(4.0)) DISPATCH_LINUX_UNAVAILABLE() -DISPATCH_SOURCE_TYPE_DECL(mach_send); +DISPATCH_SOURCE_TYPE_DECL_SWIFT(mach_send, DispatchSourceMachSend); /*! * @const DISPATCH_SOURCE_TYPE_MACH_RECV @@ -128,7 +130,7 @@ DISPATCH_SOURCE_TYPE_DECL(mach_send); */ #define DISPATCH_SOURCE_TYPE_MACH_RECV (&_dispatch_source_type_mach_recv) API_AVAILABLE(macos(10.6), ios(4.0)) DISPATCH_LINUX_UNAVAILABLE() -DISPATCH_SOURCE_TYPE_DECL(mach_recv); +DISPATCH_SOURCE_TYPE_DECL_SWIFT(mach_recv, DispatchSourceMachReceive); /*! * @const DISPATCH_SOURCE_TYPE_MEMORYPRESSURE @@ -141,7 +143,7 @@ DISPATCH_SOURCE_TYPE_DECL(mach_recv); #define DISPATCH_SOURCE_TYPE_MEMORYPRESSURE \ (&_dispatch_source_type_memorypressure) API_AVAILABLE(macos(10.9), ios(8.0)) DISPATCH_LINUX_UNAVAILABLE() -DISPATCH_SOURCE_TYPE_DECL(memorypressure); +DISPATCH_SOURCE_TYPE_DECL_SWIFT(memorypressure, DispatchSourceMemoryPressure); /*! * @const DISPATCH_SOURCE_TYPE_PROC @@ -152,7 +154,7 @@ DISPATCH_SOURCE_TYPE_DECL(memorypressure); */ #define DISPATCH_SOURCE_TYPE_PROC (&_dispatch_source_type_proc) API_AVAILABLE(macos(10.6), ios(4.0)) DISPATCH_LINUX_UNAVAILABLE() -DISPATCH_SOURCE_TYPE_DECL(proc); +DISPATCH_SOURCE_TYPE_DECL_SWIFT(proc, DispatchSourceProcess); /*! * @const DISPATCH_SOURCE_TYPE_READ @@ -163,7 +165,7 @@ DISPATCH_SOURCE_TYPE_DECL(proc); */ #define DISPATCH_SOURCE_TYPE_READ (&_dispatch_source_type_read) API_AVAILABLE(macos(10.6), ios(4.0)) -DISPATCH_SOURCE_TYPE_DECL(read); +DISPATCH_SOURCE_TYPE_DECL_SWIFT(read, DispatchSourceRead); /*! * @const DISPATCH_SOURCE_TYPE_SIGNAL @@ -173,7 +175,7 @@ DISPATCH_SOURCE_TYPE_DECL(read); */ #define DISPATCH_SOURCE_TYPE_SIGNAL (&_dispatch_source_type_signal) API_AVAILABLE(macos(10.6), ios(4.0)) -DISPATCH_SOURCE_TYPE_DECL(signal); +DISPATCH_SOURCE_TYPE_DECL_SWIFT(signal, DispatchSourceSignal); /*! * @const DISPATCH_SOURCE_TYPE_TIMER @@ -184,7 +186,7 @@ DISPATCH_SOURCE_TYPE_DECL(signal); */ #define DISPATCH_SOURCE_TYPE_TIMER (&_dispatch_source_type_timer) API_AVAILABLE(macos(10.6), ios(4.0)) -DISPATCH_SOURCE_TYPE_DECL(timer); +DISPATCH_SOURCE_TYPE_DECL_SWIFT(timer, DispatchSourceTimer); /*! * @const DISPATCH_SOURCE_TYPE_VNODE @@ -195,7 +197,7 @@ DISPATCH_SOURCE_TYPE_DECL(timer); */ #define DISPATCH_SOURCE_TYPE_VNODE (&_dispatch_source_type_vnode) API_AVAILABLE(macos(10.6), ios(4.0)) DISPATCH_LINUX_UNAVAILABLE() -DISPATCH_SOURCE_TYPE_DECL(vnode); +DISPATCH_SOURCE_TYPE_DECL_SWIFT(vnode, DispatchSourceFileSystemObject); /*! * @const DISPATCH_SOURCE_TYPE_WRITE @@ -206,7 +208,7 @@ DISPATCH_SOURCE_TYPE_DECL(vnode); */ #define DISPATCH_SOURCE_TYPE_WRITE (&_dispatch_source_type_write) API_AVAILABLE(macos(10.6), ios(4.0)) -DISPATCH_SOURCE_TYPE_DECL(write); +DISPATCH_SOURCE_TYPE_DECL_SWIFT(write, DispatchSourceWrite); /*! * @typedef dispatch_source_mach_send_flags_t @@ -217,6 +219,7 @@ DISPATCH_SOURCE_TYPE_DECL(write); */ #define DISPATCH_MACH_SEND_DEAD 0x1 +DISPATCH_SWIFT_UNAVAILABLE("Use DispatchSource.MachSendEvent") typedef unsigned long dispatch_source_mach_send_flags_t; /*! @@ -253,6 +256,7 @@ typedef unsigned long dispatch_source_mach_recv_flags_t; #define DISPATCH_MEMORYPRESSURE_WARN 0x02 #define DISPATCH_MEMORYPRESSURE_CRITICAL 0x04 +DISPATCH_SWIFT_UNAVAILABLE("Use DispatchSource.MemoryPressureEvent") typedef unsigned long dispatch_source_memorypressure_flags_t; /*! @@ -277,6 +281,7 @@ typedef unsigned long dispatch_source_memorypressure_flags_t; #define DISPATCH_PROC_EXEC 0x20000000 #define DISPATCH_PROC_SIGNAL 0x08000000 +DISPATCH_SWIFT_UNAVAILABLE("Use DispatchSource.ProcessEvent") typedef unsigned long dispatch_source_proc_flags_t; /*! @@ -317,6 +322,7 @@ typedef unsigned long dispatch_source_proc_flags_t; #define DISPATCH_VNODE_REVOKE 0x40 #define DISPATCH_VNODE_FUNLOCK 0x100 +DISPATCH_SWIFT_UNAVAILABLE("Use DispatchSource.FileSystemEvent") typedef unsigned long dispatch_source_vnode_flags_t; /*! @@ -337,6 +343,7 @@ typedef unsigned long dispatch_source_vnode_flags_t; #define DISPATCH_TIMER_STRICT 0x1 +DISPATCH_SWIFT_UNAVAILABLE("Use DispatchSource.TimerFlags") typedef unsigned long dispatch_source_timer_flags_t; /*! @@ -356,6 +363,8 @@ typedef unsigned long dispatch_source_timer_flags_t; * source and setting any desired attributes (i.e. the handler, context, etc.), * a call must be made to dispatch_activate() in order to begin event delivery. * + * A source must have been activated before being disposed. + * * Calling dispatch_set_target_queue() on a source once it has been activated * is not allowed (see dispatch_activate() and dispatch_set_target_queue()). * @@ -386,6 +395,7 @@ typedef unsigned long dispatch_source_timer_flags_t; API_AVAILABLE(macos(10.6), ios(4.0)) DISPATCH_EXPORT DISPATCH_MALLOC DISPATCH_RETURNS_RETAINED DISPATCH_WARN_RESULT DISPATCH_NOTHROW +DISPATCH_REFINED_FOR_SWIFT dispatch_source_t dispatch_source_create(dispatch_source_type_t type, uintptr_t handle, @@ -408,6 +418,7 @@ dispatch_source_create(dispatch_source_type_t type, #ifdef __BLOCKS__ API_AVAILABLE(macos(10.6), ios(4.0)) DISPATCH_EXPORT DISPATCH_NONNULL1 DISPATCH_NOTHROW +DISPATCH_REFINED_FOR_SWIFT void dispatch_source_set_event_handler(dispatch_source_t source, dispatch_block_t _Nullable handler); @@ -430,6 +441,7 @@ dispatch_source_set_event_handler(dispatch_source_t source, */ API_AVAILABLE(macos(10.6), ios(4.0)) DISPATCH_EXPORT DISPATCH_NONNULL1 DISPATCH_NOTHROW +DISPATCH_SWIFT_UNAVAILABLE("DispatchSource.setEventHandler(self:handler:)") void dispatch_source_set_event_handler_f(dispatch_source_t source, dispatch_function_t _Nullable handler); @@ -465,6 +477,7 @@ dispatch_source_set_event_handler_f(dispatch_source_t source, #ifdef __BLOCKS__ API_AVAILABLE(macos(10.6), ios(4.0)) DISPATCH_EXPORT DISPATCH_NONNULL1 DISPATCH_NOTHROW +DISPATCH_REFINED_FOR_SWIFT void dispatch_source_set_cancel_handler(dispatch_source_t source, dispatch_block_t _Nullable handler); @@ -490,6 +503,7 @@ dispatch_source_set_cancel_handler(dispatch_source_t source, */ API_AVAILABLE(macos(10.6), ios(4.0)) DISPATCH_EXPORT DISPATCH_NONNULL1 DISPATCH_NOTHROW +DISPATCH_SWIFT_UNAVAILABLE("Use DispatchSource.setCancelHandler(self:handler:)") void dispatch_source_set_cancel_handler_f(dispatch_source_t source, dispatch_function_t _Nullable handler); @@ -518,6 +532,7 @@ dispatch_source_set_cancel_handler_f(dispatch_source_t source, */ API_AVAILABLE(macos(10.6), ios(4.0)) DISPATCH_EXPORT DISPATCH_NONNULL_ALL DISPATCH_NOTHROW +DISPATCH_REFINED_FOR_SWIFT void dispatch_source_cancel(dispatch_source_t source); @@ -537,6 +552,7 @@ dispatch_source_cancel(dispatch_source_t source); API_AVAILABLE(macos(10.6), ios(4.0)) DISPATCH_EXPORT DISPATCH_NONNULL_ALL DISPATCH_WARN_RESULT DISPATCH_PURE DISPATCH_NOTHROW +DISPATCH_REFINED_FOR_SWIFT intptr_t dispatch_source_testcancel(dispatch_source_t source); @@ -569,6 +585,7 @@ dispatch_source_testcancel(dispatch_source_t source); API_AVAILABLE(macos(10.6), ios(4.0)) DISPATCH_EXPORT DISPATCH_NONNULL_ALL DISPATCH_WARN_RESULT DISPATCH_PURE DISPATCH_NOTHROW +DISPATCH_REFINED_FOR_SWIFT uintptr_t dispatch_source_get_handle(dispatch_source_t source); @@ -601,6 +618,7 @@ dispatch_source_get_handle(dispatch_source_t source); API_AVAILABLE(macos(10.6), ios(4.0)) DISPATCH_EXPORT DISPATCH_NONNULL_ALL DISPATCH_WARN_RESULT DISPATCH_PURE DISPATCH_NOTHROW +DISPATCH_REFINED_FOR_SWIFT uintptr_t dispatch_source_get_mask(dispatch_source_t source); @@ -640,6 +658,7 @@ dispatch_source_get_mask(dispatch_source_t source); API_AVAILABLE(macos(10.6), ios(4.0)) DISPATCH_EXPORT DISPATCH_NONNULL_ALL DISPATCH_WARN_RESULT DISPATCH_PURE DISPATCH_NOTHROW +DISPATCH_REFINED_FOR_SWIFT uintptr_t dispatch_source_get_data(dispatch_source_t source); @@ -661,6 +680,7 @@ dispatch_source_get_data(dispatch_source_t source); */ API_AVAILABLE(macos(10.6), ios(4.0)) DISPATCH_EXPORT DISPATCH_NONNULL_ALL DISPATCH_NOTHROW +DISPATCH_REFINED_FOR_SWIFT void dispatch_source_merge_data(dispatch_source_t source, uintptr_t value); @@ -714,6 +734,7 @@ dispatch_source_merge_data(dispatch_source_t source, uintptr_t value); */ API_AVAILABLE(macos(10.6), ios(4.0)) DISPATCH_EXPORT DISPATCH_NONNULL_ALL DISPATCH_NOTHROW +DISPATCH_REFINED_FOR_SWIFT void dispatch_source_set_timer(dispatch_source_t source, dispatch_time_t start, @@ -744,6 +765,7 @@ dispatch_source_set_timer(dispatch_source_t source, #ifdef __BLOCKS__ API_AVAILABLE(macos(10.7), ios(4.3)) DISPATCH_EXPORT DISPATCH_NONNULL1 DISPATCH_NOTHROW +DISPATCH_REFINED_FOR_SWIFT void dispatch_source_set_registration_handler(dispatch_source_t source, dispatch_block_t _Nullable handler); @@ -769,12 +791,14 @@ dispatch_source_set_registration_handler(dispatch_source_t source, */ API_AVAILABLE(macos(10.7), ios(4.3)) DISPATCH_EXPORT DISPATCH_NONNULL1 DISPATCH_NOTHROW +DISPATCH_SWIFT_UNAVAILABLE("Use DispatchSource.setRegistrationHandler(self:handler:)") void dispatch_source_set_registration_handler_f(dispatch_source_t source, dispatch_function_t _Nullable handler); __END_DECLS +DISPATCH_ASSUME_ABI_SINGLE_END DISPATCH_ASSUME_NONNULL_END -#endif \ No newline at end of file +#endif diff --git a/lib/libc/include/any-macos-any/dispatch/time.h b/lib/libc/include/any-macos-any/dispatch/time.h index 79e91e2ccb..92772b2815 100644 --- a/lib/libc/include/any-macos-any/dispatch/time.h +++ b/lib/libc/include/any-macos-any/dispatch/time.h @@ -34,6 +34,7 @@ #endif DISPATCH_ASSUME_NONNULL_BEGIN +DISPATCH_ASSUME_ABI_SINGLE_BEGIN #ifdef NSEC_PER_SEC #undef NSEC_PER_SEC @@ -47,6 +48,10 @@ DISPATCH_ASSUME_NONNULL_BEGIN #ifdef NSEC_PER_MSEC #undef NSEC_PER_MSEC #endif +#ifdef MSEC_PER_SEC +#undef MSEC_PER_SEC +#endif +#define MSEC_PER_SEC 1000ull #define NSEC_PER_SEC 1000000000ull #define NSEC_PER_MSEC 1000000ull #define USEC_PER_SEC 1000000ull @@ -100,6 +105,7 @@ enum { */ API_AVAILABLE(macos(10.6), ios(4.0)) DISPATCH_EXPORT DISPATCH_WARN_RESULT DISPATCH_NOTHROW +DISPATCH_REFINED_FOR_SWIFT dispatch_time_t dispatch_time(dispatch_time_t when, int64_t delta); @@ -126,11 +132,13 @@ dispatch_time(dispatch_time_t when, int64_t delta); */ API_AVAILABLE(macos(10.6), ios(4.0)) DISPATCH_EXPORT DISPATCH_WARN_RESULT DISPATCH_NOTHROW +DISPATCH_REFINED_FOR_SWIFT dispatch_time_t dispatch_walltime(const struct timespec *_Nullable when, int64_t delta); __END_DECLS +DISPATCH_ASSUME_ABI_SINGLE_END DISPATCH_ASSUME_NONNULL_END -#endif \ No newline at end of file +#endif diff --git a/lib/libc/include/any-macos-any/dispatch/workloop.h b/lib/libc/include/any-macos-any/dispatch/workloop.h index 7d27b1f207..5f1315a02a 100644 --- a/lib/libc/include/any-macos-any/dispatch/workloop.h +++ b/lib/libc/include/any-macos-any/dispatch/workloop.h @@ -27,6 +27,7 @@ #endif DISPATCH_ASSUME_NONNULL_BEGIN +DISPATCH_ASSUME_ABI_SINGLE_BEGIN __BEGIN_DECLS @@ -39,7 +40,9 @@ __BEGIN_DECLS * @discussion * A dispatch workloop is a flavor of dispatch_queue_t that is a priority * ordered queue (using the QOS class of the submitted workitems as the - * ordering). + * ordering). Dispatch workloops are an exclusion context and it is guaranteed + * that only one work item submitted to the dispatch workloop will be invoked at + * a time. * * Between each workitem invocation, the workloop will evaluate whether higher * priority workitems have since been submitted, either directly to the @@ -57,7 +60,8 @@ __BEGIN_DECLS * objects. Functions from the dispatch_sync() family on queues targeting * a workloop are still permitted but discouraged for performance reasons. */ -DISPATCH_DECL_SUBCLASS(dispatch_workloop, dispatch_queue); +API_AVAILABLE(macos(10.14), ios(12.0), tvos(12.0), watchos(5.0)) +DISPATCH_DECL_SERIAL_EXECUTOR_SWIFT(dispatch_workloop, DispatchWorkloop); /*! * @function dispatch_workloop_create @@ -74,8 +78,9 @@ DISPATCH_DECL_SUBCLASS(dispatch_workloop, dispatch_queue); API_AVAILABLE(macos(10.14), ios(12.0), tvos(12.0), watchos(5.0)) DISPATCH_EXPORT DISPATCH_MALLOC DISPATCH_RETURNS_RETAINED DISPATCH_WARN_RESULT DISPATCH_NOTHROW +DISPATCH_REFINED_FOR_SWIFT dispatch_workloop_t -dispatch_workloop_create(const char *_Nullable label); +dispatch_workloop_create(const char *DISPATCH_UNSAFE_INDEXABLE _Nullable label); /*! * @function dispatch_workloop_create_inactive @@ -100,8 +105,9 @@ dispatch_workloop_create(const char *_Nullable label); API_AVAILABLE(macos(10.14), ios(12.0), tvos(12.0), watchos(5.0)) DISPATCH_EXPORT DISPATCH_MALLOC DISPATCH_RETURNS_RETAINED DISPATCH_WARN_RESULT DISPATCH_NOTHROW +DISPATCH_REFINED_FOR_SWIFT DISPATCH_SWIFT_NAME(DispatchWorkloop.init(__label:)) dispatch_workloop_t -dispatch_workloop_create_inactive(const char *_Nullable label); +dispatch_workloop_create_inactive(const char *DISPATCH_UNSAFE_INDEXABLE _Nullable label); /*! * @function dispatch_workloop_set_autorelease_frequency @@ -125,6 +131,7 @@ dispatch_workloop_create_inactive(const char *_Nullable label); */ API_AVAILABLE(macos(10.14), ios(12.0), tvos(12.0), watchos(5.0)) DISPATCH_EXPORT DISPATCH_NONNULL_ALL DISPATCH_NOTHROW +DISPATCH_REFINED_FOR_SWIFT void dispatch_workloop_set_autorelease_frequency(dispatch_workloop_t workloop, dispatch_autorelease_frequency_t frequency); @@ -152,12 +159,14 @@ dispatch_workloop_set_autorelease_frequency(dispatch_workloop_t workloop, */ API_AVAILABLE(macos(11.0), ios(14.0), tvos(14.0), watchos(7.0)) DISPATCH_EXPORT DISPATCH_NONNULL_ALL DISPATCH_NOTHROW +DISPATCH_REFINED_FOR_SWIFT void dispatch_workloop_set_os_workgroup(dispatch_workloop_t workloop, os_workgroup_t workgroup); __END_DECLS +DISPATCH_ASSUME_ABI_SINGLE_END DISPATCH_ASSUME_NONNULL_END -#endif \ No newline at end of file +#endif diff --git a/lib/libc/include/any-macos-any/dlfcn.h b/lib/libc/include/any-macos-any/dlfcn.h index 8b5db209ce..fe3b7ed508 100644 --- a/lib/libc/include/any-macos-any/dlfcn.h +++ b/lib/libc/include/any-macos-any/dlfcn.h @@ -30,10 +30,6 @@ #ifndef _DLFCN_H_ #define _DLFCN_H_ -#ifdef __cplusplus -extern "C" { -#endif - #include #if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) @@ -46,6 +42,10 @@ extern "C" { #define __DYLDDL_DRIVERKIT_UNAVAILABLE #endif +#ifdef __cplusplus +extern "C" { +#endif + /* * Structure filled in by dladdr(). */ @@ -57,14 +57,23 @@ typedef struct dl_info { } Dl_info; extern int dladdr(const void *, Dl_info *); + +#ifdef __cplusplus +} +#endif + #else #define __DYLDDL_DRIVERKIT_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) __DYLDDL_DRIVERKIT_UNAVAILABLE; +extern void * dlsym(void * __handle, const char * __symbol); #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; @@ -94,4 +103,4 @@ extern bool dlopen_preflight(const char* __path) __OSX_AVAILABLE_STARTING(__MAC_ } #endif -#endif /* _DLFCN_H_ */ \ No newline at end of file +#endif /* _DLFCN_H_ */ diff --git a/lib/libc/include/any-macos-any/err.h b/lib/libc/include/any-macos-any/err.h index 8ce50ded57..0d005d0ab7 100644 --- a/lib/libc/include/any-macos-any/err.h +++ b/lib/libc/include/any-macos-any/err.h @@ -90,4 +90,4 @@ void err_set_exit_b(void (^ _Nullable)(int)) __OSX_AVAILABLE_STARTING(__MAC_10_6 __END_DECLS -#endif /* !_ERR_H_ */ \ No newline at end of file +#endif /* !_ERR_H_ */ diff --git a/lib/libc/include/any-macos-any/errno.h b/lib/libc/include/any-macos-any/errno.h index 7768ed7e94..9879cc4fc2 100644 --- a/lib/libc/include/any-macos-any/errno.h +++ b/lib/libc/include/any-macos-any/errno.h @@ -20,4 +20,5 @@ * * @APPLE_LICENSE_HEADER_END@ */ -#include \ No newline at end of file +#include + diff --git a/lib/libc/include/any-macos-any/execinfo.h b/lib/libc/include/any-macos-any/execinfo.h index 9ef842ca3b..5f598a73e7 100644 --- a/lib/libc/include/any-macos-any/execinfo.h +++ b/lib/libc/include/any-macos-any/execinfo.h @@ -95,4 +95,4 @@ size_t backtrace_async(void** array, size_t length, uint32_t *task_id); __END_DECLS -#endif /* !_EXECINFO_H_ */ \ No newline at end of file +#endif /* !_EXECINFO_H_ */ diff --git a/lib/libc/include/any-macos-any/fcntl.h b/lib/libc/include/any-macos-any/fcntl.h index 838022fd72..d4b1ae2b29 100644 --- a/lib/libc/include/any-macos-any/fcntl.h +++ b/lib/libc/include/any-macos-any/fcntl.h @@ -20,4 +20,4 @@ * * @APPLE_LICENSE_HEADER_END@ */ -#include \ No newline at end of file +#include diff --git a/lib/libc/include/any-macos-any/fenv.h b/lib/libc/include/any-macos-any/fenv.h index df59070441..beef987764 100644 --- a/lib/libc/include/any-macos-any/fenv.h +++ b/lib/libc/include/any-macos-any/fenv.h @@ -249,6 +249,32 @@ extern const fenv_t _FE_DFL_DISABLE_SSE_DENORMS_ENV; * the target platform, or if the platform does not have hardware floating- * * point support. * ******************************************************************************/ + +#elif defined __riscv + +typedef struct { + unsigned int __fpsr; + unsigned int __fpcr; +} fenv_t; + +typedef unsigned short fexcept_t; + +#define FE_INEXACT (1) +#define FE_UNDERFLOW (1 << 1) +#define FE_OVERFLOW (1 << 2) +#define FE_DIVBYZERO (1 << 3) +#define FE_INVALID (1 << 4) + +#define FE_ALL_EXCEPT (31) + +#define FE_TONEAREST (0) +#define FE_TOWARDZERO (1 << 5) +#define FE_DOWNWARD (2 << 5) +#define FE_UPWARD (3 << 5) +#define FE_TONEAREST_MAX_MAGNITUDE (4 << 5) +// Reserved: (5 << 5) +// Reserved: (6 << 5) +#define FE_DYNAMIC (7 << 5) #else /* Unknown architectures */ @@ -357,4 +383,5 @@ extern int feupdateenv(const fenv_t * /* envp */); } #endif -#endif /* __FENV_H__ */ \ No newline at end of file +#endif /* __FENV_H__ */ + diff --git a/lib/libc/include/any-macos-any/float.h b/lib/libc/include/any-macos-any/float.h index 3a533f3284..d0c159657a 100644 --- a/lib/libc/include/any-macos-any/float.h +++ b/lib/libc/include/any-macos-any/float.h @@ -137,4 +137,4 @@ # define LDBL_DECIMAL_DIG __LDBL_DECIMAL_DIG__ #endif -#endif /* __FLOAT_H */ \ No newline at end of file +#endif /* __FLOAT_H */ diff --git a/lib/libc/include/any-macos-any/fmtmsg.h b/lib/libc/include/any-macos-any/fmtmsg.h index 408fbaa3ac..05ff534ad3 100644 --- a/lib/libc/include/any-macos-any/fmtmsg.h +++ b/lib/libc/include/any-macos-any/fmtmsg.h @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/include/fmtmsg.h,v 1.2 2002/08/05 16:37:05 mike Exp $ + * $FreeBSD: head/include/fmtmsg.h 236629 2012-06-05 19:42:57Z ed $ */ #ifndef _FMTMSG_H_ @@ -32,7 +32,7 @@ /* Source of condition is... */ #define MM_HARD 0x0001 /* ...hardware. */ #define MM_SOFT 0x0002 /* ...software. */ -#define MM_FIRM 0x0004 /* ...fireware. */ +#define MM_FIRM 0x0004 /* ...firmware. */ /* Condition detected by... */ #define MM_APPL 0x0010 /* ...application. */ @@ -70,4 +70,4 @@ int fmtmsg(long, const char *, int, const char *, const char *, const char *); -#endif /* !_FMTMSG_H_ */ \ No newline at end of file +#endif /* !_FMTMSG_H_ */ diff --git a/lib/libc/include/any-macos-any/fnmatch.h b/lib/libc/include/any-macos-any/fnmatch.h index 55c45f0719..e1ffaea62a 100644 --- a/lib/libc/include/any-macos-any/fnmatch.h +++ b/lib/libc/include/any-macos-any/fnmatch.h @@ -79,4 +79,4 @@ __BEGIN_DECLS int fnmatch(const char *, const char *, int) __DARWIN_ALIAS(fnmatch); __END_DECLS -#endif /* !_FNMATCH_H_ */ \ No newline at end of file +#endif /* !_FNMATCH_H_ */ diff --git a/lib/libc/include/any-macos-any/fts.h b/lib/libc/include/any-macos-any/fts.h index ef48eda68b..d7baee2675 100644 --- a/lib/libc/include/any-macos-any/fts.h +++ b/lib/libc/include/any-macos-any/fts.h @@ -104,6 +104,7 @@ typedef struct { #define FTS_NAMEONLY 0x100 /* (private) child names only */ #define FTS_STOP 0x200 /* (private) unrecoverable error */ +#define FTS_THREAD_FCHDIR 0x400 /* (private) use pthread_fchdir_np */ #ifdef __BLOCKS__ #define FTS_BLOCK_COMPAR 0x80000000 /* fts_compar is a block */ #endif /* __BLOCKS__ */ @@ -187,4 +188,5 @@ int fts_set(FTS *, FTSENT *, int) __DARWIN_INODE64(fts_set); __END_DECLS #pragma clang diagnostic pop -#endif /* !_FTS_H_ */ \ No newline at end of file +#endif /* !_FTS_H_ */ + diff --git a/lib/libc/include/any-macos-any/ftw.h b/lib/libc/include/any-macos-any/ftw.h index c1666beee7..acf0bc54c6 100644 --- a/lib/libc/include/any-macos-any/ftw.h +++ b/lib/libc/include/any-macos-any/ftw.h @@ -57,4 +57,4 @@ int nftw(const char *, int (*)(const char *, const struct stat *, int, struct FTW *), int, int) __DARWIN_ALIAS_I(nftw); __END_DECLS -#endif /* !_FTW_H */ \ No newline at end of file +#endif /* !_FTW_H */ diff --git a/lib/libc/include/any-macos-any/gethostuuid.h b/lib/libc/include/any-macos-any/gethostuuid.h index 5718d00e11..94b635f2d3 100644 --- a/lib/libc/include/any-macos-any/gethostuuid.h +++ b/lib/libc/include/any-macos-any/gethostuuid.h @@ -31,12 +31,15 @@ #include #include +#include #include +__BEGIN_DECLS #if defined(__IPHONE_OS_VERSION_MIN_REQUIRED) && (__IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_7_0) int gethostuuid(uuid_t, const struct timespec *) __OSX_AVAILABLE_BUT_DEPRECATED_MSG(__MAC_NA, __MAC_NA, __IPHONE_2_0, __IPHONE_5_0, "gethostuuid() is no longer supported"); #else int gethostuuid(uuid_t, const struct timespec *) __API_AVAILABLE(macos(10.5)) __API_UNAVAILABLE(ios, tvos, watchos); #endif +__END_DECLS -#endif /* __GETHOSTUUID_H */ \ No newline at end of file +#endif /* __GETHOSTUUID_H */ diff --git a/lib/libc/include/any-macos-any/getopt.h b/lib/libc/include/any-macos-any/getopt.h index d886b395db..3247fe01f3 100644 --- a/lib/libc/include/any-macos-any/getopt.h +++ b/lib/libc/include/any-macos-any/getopt.h @@ -83,4 +83,4 @@ extern int optreset; /* getopt(3) external variable */ #endif __END_DECLS -#endif /* !_GETOPT_H_ */ \ No newline at end of file +#endif /* !_GETOPT_H_ */ diff --git a/lib/libc/include/any-macos-any/glob.h b/lib/libc/include/any-macos-any/glob.h index c8fd109174..50881d7a05 100644 --- a/lib/libc/include/any-macos-any/glob.h +++ b/lib/libc/include/any-macos-any/glob.h @@ -127,4 +127,4 @@ int glob_b(const char * __restrict, int, int (^)(const char *, int) __glob_noesc void globfree(glob_t *); __END_DECLS -#endif /* !_GLOB_H_ */ \ No newline at end of file +#endif /* !_GLOB_H_ */ diff --git a/lib/libc/include/any-macos-any/grp.h b/lib/libc/include/any-macos-any/grp.h index 5cf7f0c5db..0091ee44c7 100644 --- a/lib/libc/include/any-macos-any/grp.h +++ b/lib/libc/include/any-macos-any/grp.h @@ -90,4 +90,4 @@ int setgroupent(int); __END_DECLS #endif -#endif /* !_GRP_H_ */ \ No newline at end of file +#endif /* !_GRP_H_ */ diff --git a/lib/libc/include/any-macos-any/hfs/hfs_format.h b/lib/libc/include/any-macos-any/hfs/hfs_format.h index 4fc240cf69..a094341aed 100644 --- a/lib/libc/include/any-macos-any/hfs/hfs_format.h +++ b/lib/libc/include/any-macos-any/hfs/hfs_format.h @@ -774,8 +774,16 @@ enum { kHFSBinaryCompare = 0xBC /* binary compare (case-sensitive) */ }; +#ifdef __cplusplus +} +#endif + #include +#ifdef __cplusplus +extern "C" { +#endif + /* JournalInfoBlock - Structure that describes where our journal lives */ // the original size of the reserved field in the JournalInfoBlock was @@ -815,4 +823,4 @@ enum { } #endif -#endif /* __HFS_FORMAT__ */ \ No newline at end of file +#endif /* __HFS_FORMAT__ */ diff --git a/lib/libc/include/any-macos-any/hfs/hfs_unistr.h b/lib/libc/include/any-macos-any/hfs/hfs_unistr.h index 9331d30436..5b300a28d1 100644 --- a/lib/libc/include/any-macos-any/hfs/hfs_unistr.h +++ b/lib/libc/include/any-macos-any/hfs/hfs_unistr.h @@ -61,4 +61,4 @@ typedef const HFSUniStr255 *ConstHFSUniStr255Param; #endif -#endif /* __HFS_UNISTR__ */ \ No newline at end of file +#endif /* __HFS_UNISTR__ */ diff --git a/lib/libc/include/x86_64-macos.12-none/i386/_limits.h b/lib/libc/include/any-macos-any/i386/_limits.h similarity index 97% rename from lib/libc/include/x86_64-macos.12-none/i386/_limits.h rename to lib/libc/include/any-macos-any/i386/_limits.h index 5763f5a3a8..6910f4573a 100644 --- a/lib/libc/include/x86_64-macos.12-none/i386/_limits.h +++ b/lib/libc/include/any-macos-any/i386/_limits.h @@ -28,4 +28,4 @@ #endif /* defined (__i386__) || defined (__x86_64__) */ -#endif /* _I386__LIMITS_H_ */ \ No newline at end of file +#endif /* _I386__LIMITS_H_ */ diff --git a/lib/libc/include/x86_64-macos.13-none/i386/_mcontext.h b/lib/libc/include/any-macos-any/i386/_mcontext.h similarity index 99% rename from lib/libc/include/x86_64-macos.13-none/i386/_mcontext.h rename to lib/libc/include/any-macos-any/i386/_mcontext.h index b9f40e5e33..54b1de2501 100644 --- a/lib/libc/include/x86_64-macos.13-none/i386/_mcontext.h +++ b/lib/libc/include/any-macos-any/i386/_mcontext.h @@ -213,4 +213,4 @@ typedef _STRUCT_MCONTEXT32 *mcontext_t; #endif /* defined (__i386__) || defined (__x86_64__) */ -#endif /* __I386_MCONTEXT_H_ */ \ No newline at end of file +#endif /* __I386_MCONTEXT_H_ */ diff --git a/lib/libc/include/x86_64-macos.12-none/i386/_param.h b/lib/libc/include/any-macos-any/i386/_param.h similarity index 98% rename from lib/libc/include/x86_64-macos.12-none/i386/_param.h rename to lib/libc/include/any-macos-any/i386/_param.h index ac0ac439aa..bfe4454ab7 100644 --- a/lib/libc/include/x86_64-macos.12-none/i386/_param.h +++ b/lib/libc/include/any-macos-any/i386/_param.h @@ -46,4 +46,4 @@ #endif /* defined (__i386__) || defined (__x86_64__) */ -#endif /* _I386__PARAM_H_ */ \ No newline at end of file +#endif /* _I386__PARAM_H_ */ diff --git a/lib/libc/include/x86_64-macos.13-none/i386/_types.h b/lib/libc/include/any-macos-any/i386/_types.h similarity index 99% rename from lib/libc/include/x86_64-macos.13-none/i386/_types.h rename to lib/libc/include/any-macos-any/i386/_types.h index b9e77d684c..317a472511 100644 --- a/lib/libc/include/x86_64-macos.13-none/i386/_types.h +++ b/lib/libc/include/any-macos-any/i386/_types.h @@ -123,4 +123,4 @@ typedef long __darwin_time_t; /* time() */ #endif /* defined (__i386__) || defined (__x86_64__) */ -#endif /* _BSD_I386__TYPES_H_ */ \ No newline at end of file +#endif /* _BSD_I386__TYPES_H_ */ diff --git a/lib/libc/include/x86_64-macos.13-none/i386/eflags.h b/lib/libc/include/any-macos-any/i386/eflags.h similarity index 99% rename from lib/libc/include/x86_64-macos.13-none/i386/eflags.h rename to lib/libc/include/any-macos-any/i386/eflags.h index 7faa7d0839..52c5207311 100644 --- a/lib/libc/include/x86_64-macos.13-none/i386/eflags.h +++ b/lib/libc/include/any-macos-any/i386/eflags.h @@ -95,4 +95,4 @@ #endif /* defined (__i386__) || defined (__x86_64__) */ -#endif /* _I386_EFLAGS_H_ */ \ No newline at end of file +#endif /* _I386_EFLAGS_H_ */ diff --git a/lib/libc/include/x86_64-macos.12-none/i386/endian.h b/lib/libc/include/any-macos-any/i386/endian.h similarity index 99% rename from lib/libc/include/x86_64-macos.12-none/i386/endian.h rename to lib/libc/include/any-macos-any/i386/endian.h index 104d5babca..cda31eb8e8 100644 --- a/lib/libc/include/x86_64-macos.12-none/i386/endian.h +++ b/lib/libc/include/any-macos-any/i386/endian.h @@ -102,4 +102,4 @@ #endif /* defined(KERNEL) || (!defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)) */ #endif /* defined (__i386__) || defined (__x86_64__) */ -#endif /* !_I386__ENDIAN_H_ */ \ No newline at end of file +#endif /* !_I386__ENDIAN_H_ */ diff --git a/lib/libc/include/x86_64-macos.13-none/i386/limits.h b/lib/libc/include/any-macos-any/i386/limits.h similarity index 92% rename from lib/libc/include/x86_64-macos.13-none/i386/limits.h rename to lib/libc/include/any-macos-any/i386/limits.h index 292e6bd654..502bd63423 100644 --- a/lib/libc/include/x86_64-macos.13-none/i386/limits.h +++ b/lib/libc/include/any-macos-any/i386/limits.h @@ -41,13 +41,25 @@ #include #include -#define CHAR_BIT 8 /* number of bits in a char */ +#undef MB_LEN_MAX #define MB_LEN_MAX 6 /* Allow 31 bit UTF2 */ #if !defined(_ANSI_SOURCE) && (!defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)) #define CLK_TCK __DARWIN_CLK_TCK /* ticks per second */ #endif /* !_ANSI_SOURCE && (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */ +#if (defined(__has_include) && __has_include(<__xnu_libcxx_sentinel.h>)) + +#if !__has_include_next() +#error Do not build with -nostdinc (use GCC_USE_STANDARD_INCLUDE_SEARCHING=NO) +#else +#include_next +#endif /* __has_include_next */ + +#else + +#define CHAR_BIT 8 /* number of bits in a char */ + /* * According to ANSI (section 2.2.4.2), the values below must be usable by * #if preprocessing directives. Additionally, the expression must have the @@ -87,6 +99,8 @@ #define LLONG_MAX 0x7fffffffffffffffLL /* max signed long long */ #define LLONG_MIN (-0x7fffffffffffffffLL-1) /* min signed long long */ +#endif /* defined(__has_include) && __has_include(<__xnu_libcxx_sentinel.h>) */ + #if !defined(_ANSI_SOURCE) #ifdef __LP64__ #define LONG_BIT 64 @@ -108,4 +122,4 @@ #endif /* defined (__i386__) || defined (__x86_64__) */ -#endif /* _I386_LIMITS_H_ */ \ No newline at end of file +#endif /* _I386_LIMITS_H_ */ diff --git a/lib/libc/include/x86_64-macos.13-none/i386/param.h b/lib/libc/include/any-macos-any/i386/param.h similarity index 99% rename from lib/libc/include/x86_64-macos.13-none/i386/param.h rename to lib/libc/include/any-macos-any/i386/param.h index fe2bb9cc06..11b96a0e02 100644 --- a/lib/libc/include/x86_64-macos.13-none/i386/param.h +++ b/lib/libc/include/any-macos-any/i386/param.h @@ -172,4 +172,4 @@ #endif /* defined (__i386__) || defined (__x86_64__) */ -#endif /* _I386_PARAM_H_ */ \ No newline at end of file +#endif /* _I386_PARAM_H_ */ diff --git a/lib/libc/include/x86_64-macos.13-none/i386/signal.h b/lib/libc/include/any-macos-any/i386/signal.h similarity index 98% rename from lib/libc/include/x86_64-macos.13-none/i386/signal.h rename to lib/libc/include/any-macos-any/i386/signal.h index e699c2b61b..fc22c9a7ce 100644 --- a/lib/libc/include/x86_64-macos.13-none/i386/signal.h +++ b/lib/libc/include/any-macos-any/i386/signal.h @@ -44,4 +44,4 @@ typedef int sig_atomic_t; #endif /* defined (__i386__) || defined (__x86_64__) */ -#endif /* _I386_SIGNAL_H_ */ \ No newline at end of file +#endif /* _I386_SIGNAL_H_ */ diff --git a/lib/libc/include/x86_64-macos.12-none/i386/types.h b/lib/libc/include/any-macos-any/i386/types.h similarity index 99% rename from lib/libc/include/x86_64-macos.12-none/i386/types.h rename to lib/libc/include/any-macos-any/i386/types.h index 31ffa1f37c..ebd249684f 100644 --- a/lib/libc/include/x86_64-macos.12-none/i386/types.h +++ b/lib/libc/include/any-macos-any/i386/types.h @@ -115,4 +115,4 @@ typedef u_int64_t syscall_arg_t; #endif /* __ASSEMBLER__ */ #endif /* defined (__i386__) || defined (__x86_64__) */ -#endif /* _I386_MACHTYPES_H_ */ \ No newline at end of file +#endif /* _I386_MACHTYPES_H_ */ diff --git a/lib/libc/include/any-macos-any/iconv.h b/lib/libc/include/any-macos-any/iconv.h index a0e45daf8a..df40f33aaf 100644 --- a/lib/libc/include/any-macos-any/iconv.h +++ b/lib/libc/include/any-macos-any/iconv.h @@ -1,193 +1,156 @@ -/* Copyright (C) 1999-2003, 2005-2006 Free Software Foundation, Inc. - This file is part of the GNU LIBICONV Library. +/* $FreeBSD$ */ +/* $NetBSD: iconv.h,v 1.6 2005/02/03 04:39:32 perry Exp $ */ - The GNU LIBICONV Library is free software; you can redistribute it - and/or modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either version 2 - of the License, or (at your option) any later version. +/*- + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2003 Citrus Project, + * Copyright (c) 2009, 2010 Gabor Kovesdan + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + */ - The GNU LIBICONV Library is distributed in the hope that it will be - useful, but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public - License along with the GNU LIBICONV Library; see the file COPYING.LIB. - If not, write to the Free Software Foundation, Inc., 51 Franklin Street, - Fifth Floor, Boston, MA 02110-1301, USA. */ - -/* When installed, this file is called "iconv.h". */ - -#ifndef _LIBICONV_H -#define _LIBICONV_H +#ifndef _ICONV_H_ +#define _ICONV_H_ #include -#include <_types.h> -#include +#include -#define _LIBICONV_VERSION 0x010B /* version number: (major<<8) + minor */ - -#if BUILDING_LIBICONV -#define __LIBICONV_DLL_EXPORTED __attribute__((__visibility__("default"))) -#else -#define __LIBICONV_DLL_EXPORTED -#endif -extern __LIBICONV_DLL_EXPORTED int _libiconv_version; /* Likewise */ - -/* We would like to #include any system header file which could define - iconv_t, 1. in order to eliminate the risk that the user gets compilation - errors because some other system header file includes /usr/include/iconv.h - which defines iconv_t or declares iconv after this file, 2. when compiling - for LIBICONV_PLUG, we need the proper iconv_t type in order to produce - binary compatible code. - But gcc's #include_next is not portable. Thus, once libiconv's iconv.h - has been installed in /usr/local/include, there is no way any more to - include the original /usr/include/iconv.h. We simply have to get away - without it. - Ad 1. The risk that a system header file does - #include "iconv.h" or #include_next "iconv.h" - is small. They all do #include . - Ad 2. The iconv_t type is a pointer type in all cases I have seen. (It - has to be a scalar type because (iconv_t)(-1) is a possible return value - from iconv_open().) */ - -/* Define iconv_t ourselves. */ -#ifndef _ICONV_T -#define _ICONV_T -typedef void* iconv_t; +#if defined(__APPLE__) && \ + (!defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)) +#include #endif +#ifndef __APPLE__ +#include +#include +#endif #ifdef __cplusplus -extern "C" { +typedef bool __iconv_bool; +#elif __STDC_VERSION__ >= 199901L +typedef _Bool __iconv_bool; +#else +typedef int __iconv_bool; #endif +struct __tag_iconv_t; +typedef struct __tag_iconv_t *iconv_t; -/* Allocates descriptor for code conversion from encoding `fromcode' to - encoding `tocode'. */ -extern __LIBICONV_DLL_EXPORTED iconv_t iconv_open (const char* __tocode, const char* __fromcode); +#ifdef __APPLE__ +#define _LIBICONV_VERSION 0x010B /* Compatible */ +#endif -/* Converts, using conversion descriptor `cd', at most `*inbytesleft' bytes - starting at `*inbuf', writing at most `*outbytesleft' bytes starting at - `*outbuf'. - Decrements `*inbytesleft' and increments `*inbuf' by the same amount. - Decrements `*outbytesleft' and increments `*outbuf' by the same amount. */ -extern __LIBICONV_DLL_EXPORTED size_t iconv (iconv_t __cd, char* * __restrict __inbuf, size_t * __restrict __inbytesleft, char* * __restrict __outbuf, size_t * __restrict __outbytesleft); +__BEGIN_DECLS +#ifdef __APPLE__ +extern int _libiconv_version; +#endif -/* Frees resources allocated for conversion descriptor `cd'. */ -extern __LIBICONV_DLL_EXPORTED int iconv_close (iconv_t _cd); +iconv_t iconv_open(const char *, const char *); +size_t iconv(iconv_t, char ** __restrict, + size_t * __restrict, char ** __restrict, + size_t * __restrict); +int iconv_close(iconv_t); -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) +#if defined(__APPLE__) && \ + (!defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)) +/* + * non-portable interfaces for iconv + */ +int __iconv_get_list(char ***, size_t *, __iconv_bool); +void __iconv_free_list(char **, size_t); +size_t __iconv(iconv_t, char **, size_t *, char **, + size_t *, __uint32_t, size_t *); +#define __ICONV_F_HIDE_INVALID 0x0001 -/* Nonstandard extensions. */ +/* + * GNU interfaces for iconv + */ +typedef struct { + void *spaceholder[64]; +} iconv_allocation_t; -#include +int iconv_open_into(const char *, const char *, iconv_allocation_t *); +#ifdef __APPLE__ +void libiconv_set_relocation_prefix(const char *, const char *); +#else +void iconv_set_relocation_prefix(const char *, const char *); +#endif -/* Control of attributes. */ -extern __LIBICONV_DLL_EXPORTED int iconvctl (iconv_t cd, int request, void* argument); +/* + * iconvctl() request macros + */ +#define ICONV_TRIVIALP 0 +#define ICONV_GET_TRANSLITERATE 1 +#define ICONV_SET_TRANSLITERATE 2 +#define ICONV_GET_DISCARD_ILSEQ 3 +#define ICONV_SET_DISCARD_ILSEQ 4 +#define ICONV_SET_HOOKS 5 +#define ICONV_SET_FALLBACKS 6 +#define ICONV_GET_ILSEQ_INVALID 128 +#define ICONV_SET_ILSEQ_INVALID 129 + +typedef void (*iconv_unicode_char_hook) (unsigned int mbr, void *data); +typedef void (*iconv_wide_char_hook) (wchar_t wc, void *data); -/* Hook performed after every successful conversion of a Unicode character. */ -typedef void (*iconv_unicode_char_hook) (unsigned int uc, void* data); -/* Hook performed after every successful conversion of a wide character. */ -typedef void (*iconv_wide_char_hook) (wchar_t wc, void* data); -/* Set of hooks. */ struct iconv_hooks { - iconv_unicode_char_hook uc_hook; - iconv_wide_char_hook wc_hook; - void* data; + iconv_unicode_char_hook uc_hook; + iconv_wide_char_hook wc_hook; + void *data; }; -/* Fallback function. Invoked when a small number of bytes could not be - converted to a Unicode character. This function should process all - bytes from inbuf and may produce replacement Unicode characters by calling - the write_replacement callback repeatedly. */ -typedef void (*iconv_unicode_mb_to_uc_fallback) - (const char* inbuf, size_t inbufsize, - void (*write_replacement) (const unsigned int *buf, size_t buflen, - void* callback_arg), - void* callback_arg, - void* data); -/* Fallback function. Invoked when a Unicode character could not be converted - to the target encoding. This function should process the character and - may produce replacement bytes (in the target encoding) by calling the - write_replacement callback repeatedly. */ -typedef void (*iconv_unicode_uc_to_mb_fallback) - (unsigned int code, - void (*write_replacement) (const char *buf, size_t buflen, - void* callback_arg), - void* callback_arg, - void* data); -#if 1 -/* Fallback function. Invoked when a number of bytes could not be converted to - a wide character. This function should process all bytes from inbuf and may - produce replacement wide characters by calling the write_replacement - callback repeatedly. */ -typedef void (*iconv_wchar_mb_to_wc_fallback) - (const char* inbuf, size_t inbufsize, - void (*write_replacement) (const wchar_t *buf, size_t buflen, - void* callback_arg), - void* callback_arg, - void* data); -/* Fallback function. Invoked when a wide character could not be converted to - the target encoding. This function should process the character and may - produce replacement bytes (in the target encoding) by calling the - write_replacement callback repeatedly. */ -typedef void (*iconv_wchar_wc_to_mb_fallback) - (wchar_t code, - void (*write_replacement) (const char *buf, size_t buflen, - void* callback_arg), - void* callback_arg, - void* data); -#else -/* If the wchar_t type does not exist, these two fallback functions are never - invoked. Their argument list therefore does not matter. */ -typedef void (*iconv_wchar_mb_to_wc_fallback) (); -typedef void (*iconv_wchar_wc_to_mb_fallback) (); -#endif -/* Set of fallbacks. */ +/* + * Fallbacks aren't supported but type definitions are provided for + * source compatibility. + */ +typedef void (*iconv_unicode_mb_to_uc_fallback) (const char*, + size_t, void (*write_replacement) (const unsigned int *, + size_t, void*), void*, void*); +typedef void (*iconv_unicode_uc_to_mb_fallback) (unsigned int, + void (*write_replacement) (const char *, size_t, void*), + void*, void*); +typedef void (*iconv_wchar_mb_to_wc_fallback) (const char*, size_t, + void (*write_replacement) (const wchar_t *, size_t, void*), + void*, void*); +typedef void (*iconv_wchar_wc_to_mb_fallback) (wchar_t, + void (*write_replacement) (const char *, size_t, void*), + void*, void*); + struct iconv_fallbacks { - iconv_unicode_mb_to_uc_fallback mb_to_uc_fallback; - iconv_unicode_uc_to_mb_fallback uc_to_mb_fallback; - iconv_wchar_mb_to_wc_fallback mb_to_wc_fallback; - iconv_wchar_wc_to_mb_fallback wc_to_mb_fallback; - void* data; + iconv_unicode_mb_to_uc_fallback mb_to_uc_fallback; + iconv_unicode_uc_to_mb_fallback uc_to_mb_fallback; + iconv_wchar_mb_to_wc_fallback mb_to_wc_fallback; + iconv_wchar_wc_to_mb_fallback wc_to_mb_fallback; + void *data; }; -/* Requests for iconvctl. */ -#define ICONV_TRIVIALP 0 /* int *argument */ -#define ICONV_GET_TRANSLITERATE 1 /* int *argument */ -#define ICONV_SET_TRANSLITERATE 2 /* const int *argument */ -#define ICONV_GET_DISCARD_ILSEQ 3 /* int *argument */ -#define ICONV_SET_DISCARD_ILSEQ 4 /* const int *argument */ -#define ICONV_SET_HOOKS 5 /* const struct iconv_hooks *argument */ -#define ICONV_SET_FALLBACKS 6 /* const struct iconv_fallbacks *argument */ -/* Listing of locale independent encodings. */ -extern __LIBICONV_DLL_EXPORTED void iconvlist (int (*do_one) (unsigned int namescount, - const char * const * names, - void* data), - void* data); +void iconvlist(int (*do_one) (unsigned int, const char * const *, + void *), void *); +const char *iconv_canonicalize(const char *); +int iconvctl(iconv_t, int, void *); +#endif /* __APPLE__ && (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */ +__END_DECLS -/* Canonicalize an encoding name. - The result is either a canonical encoding name, or name itself. */ -extern __LIBICONV_DLL_EXPORTED const char * iconv_canonicalize (const char * name); - -/* Support for relocatable packages. */ - -/* Sets the original and the current installation prefix of the package. - Relocation simply replaces a pathname starting with the original prefix - by the corresponding pathname with the current prefix instead. Both - prefixes should be directory names without trailing slash (i.e. use "" - instead of "/"). */ -extern __LIBICONV_DLL_EXPORTED void libiconv_set_relocation_prefix (const char *orig_prefix, - const char *curr_prefix); - -#endif /* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */ - - -#ifdef __cplusplus -} -#endif - - -#endif /* _LIBICONV_H */ \ No newline at end of file +#endif /* !_ICONV_H_ */ diff --git a/lib/libc/include/any-macos-any/ifaddrs.h b/lib/libc/include/any-macos-any/ifaddrs.h index 04d0703b1b..cf78188537 100644 --- a/lib/libc/include/any-macos-any/ifaddrs.h +++ b/lib/libc/include/any-macos-any/ifaddrs.h @@ -67,4 +67,4 @@ extern int getifmaddrs(struct ifmaddrs **) API_AVAILABLE(macos(10.7), ios(4.3), extern void freeifmaddrs(struct ifmaddrs *) API_AVAILABLE(macos(10.7), ios(4.3), watchos(4.0), tvos(11.0)); __END_DECLS -#endif \ No newline at end of file +#endif diff --git a/lib/libc/include/any-macos-any/inttypes.h b/lib/libc/include/any-macos-any/inttypes.h index 2872c18f1e..c29873da31 100644 --- a/lib/libc/include/any-macos-any/inttypes.h +++ b/lib/libc/include/any-macos-any/inttypes.h @@ -294,4 +294,4 @@ __END_DECLS not where it is #defined. */ -#endif /* !_INTTYPES_H_ */ \ No newline at end of file +#endif /* !_INTTYPES_H_ */ diff --git a/lib/libc/include/any-macos-any/iso646.h b/lib/libc/include/any-macos-any/iso646.h index 8bde15b8c1..71cf9b541f 100644 --- a/lib/libc/include/any-macos-any/iso646.h +++ b/lib/libc/include/any-macos-any/iso646.h @@ -49,4 +49,4 @@ #endif /* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */ -#endif /* !_ISO646_H_ */ \ No newline at end of file +#endif /* !_ISO646_H_ */ diff --git a/lib/libc/include/any-macos-any/langinfo.h b/lib/libc/include/any-macos-any/langinfo.h index 424ff84aa0..a7a3b2b53e 100644 --- a/lib/libc/include/any-macos-any/langinfo.h +++ b/lib/libc/include/any-macos-any/langinfo.h @@ -117,4 +117,4 @@ __END_DECLS #include #endif /* _USE_EXTENDED_LOCALES_ */ -#endif /* !_LANGINFO_H_ */ \ No newline at end of file +#endif /* !_LANGINFO_H_ */ diff --git a/lib/libc/include/any-macos-any/launch.h b/lib/libc/include/any-macos-any/launch.h index 88a849b7e2..7e76dab0e6 100644 --- a/lib/libc/include/any-macos-any/launch.h +++ b/lib/libc/include/any-macos-any/launch.h @@ -77,7 +77,6 @@ __BEGIN_DECLS #define LAUNCH_JOBKEY_DEBUG "Debug" #define LAUNCH_JOBKEY_WAITFORDEBUGGER "WaitForDebugger" #define LAUNCH_JOBKEY_QUEUEDIRECTORIES "QueueDirectories" -#define LAUNCH_JOBKEY_HOMERELATIVEQUEUEDIRECTORIES "HomeRelativeQueueDirectories" #define LAUNCH_JOBKEY_WATCHPATHS "WatchPaths" #define LAUNCH_JOBKEY_STARTINTERVAL "StartInterval" #define LAUNCH_JOBKEY_STARTCALENDARINTERVAL "StartCalendarInterval" @@ -94,6 +93,9 @@ __BEGIN_DECLS #define LAUNCH_JOBKEY_ENABLETRANSACTIONS "EnableTransactions" #define LAUNCH_JOBKEY_DRAINMESSAGESONFAILEDINIT "DrainMessagesOnFailedInit" #define LAUNCH_JOBKEY_POLICIES "Policies" +#define LAUNCH_JOBKEY_BUNDLEPROGRAM "BundleProgram" +#define LAUNCH_JOBKEY_ASSOCIATEDBUNDLEIDENTIFIERS "AssociatedBundleIdentifiers" +#define LAUNCH_JOBKEY_SPAWNCONSTRAINT "SpawnConstraint" #define LAUNCH_JOBKEY_PUBLISHESEVENTS "PublishesEvents" #define LAUNCH_KEY_PUBLISHESEVENTS_DOMAININTERNAL "DomainInternal" @@ -109,7 +111,6 @@ __BEGIN_DECLS #define LAUNCH_JOBKEY_KEEPALIVE_SUCCESSFULEXIT "SuccessfulExit" #define LAUNCH_JOBKEY_KEEPALIVE_NETWORKSTATE "NetworkState" #define LAUNCH_JOBKEY_KEEPALIVE_PATHSTATE "PathState" -#define LAUNCH_JOBKEY_KEEPALIVE_HOMERELATIVEPATHSTATE "HomeRelativePathState" #define LAUNCH_JOBKEY_KEEPALIVE_OTHERJOBACTIVE "OtherJobActive" #define LAUNCH_JOBKEY_KEEPALIVE_OTHERJOBENABLED "OtherJobEnabled" #define LAUNCH_JOBKEY_KEEPALIVE_AFTERINITIALDEMAND "AfterInitialDemand" @@ -378,7 +379,7 @@ launch_data_get_string(const launch_data_t ld); __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_10, __IPHONE_2_0, __IPHONE_8_0) OS_EXPORT OS_WARN_RESULT OS_NONNULL1 -void * +void * _Nullable launch_data_get_opaque(const launch_data_t ld); __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_10, __IPHONE_2_0, __IPHONE_8_0) @@ -406,4 +407,4 @@ __END_DECLS _Pragma("clang assume_nonnull end") #endif -#endif // __XPC_LAUNCH_H__ \ No newline at end of file +#endif // __XPC_LAUNCH_H__ diff --git a/lib/libc/include/any-macos-any/libgen.h b/lib/libc/include/any-macos-any/libgen.h index 3fbd2806ce..28e7ed483c 100644 --- a/lib/libc/include/any-macos-any/libgen.h +++ b/lib/libc/include/any-macos-any/libgen.h @@ -47,8 +47,13 @@ char *dirname(const char *); #endif /* __DARWIN_UNIX_03 */ +__END_DECLS + #if __DARWIN_C_LEVEL >= __DARWIN_C_FULL #include + +__BEGIN_DECLS + char *basename_r(const char *, char *) __OSX_AVAILABLE(10.12) __IOS_AVAILABLE(10.0) __TVOS_AVAILABLE(10.0) __WATCHOS_AVAILABLE(3.0); @@ -56,8 +61,9 @@ char *basename_r(const char *, char *) char *dirname_r(const char *, char *) __OSX_AVAILABLE(10.12) __IOS_AVAILABLE(10.0) __TVOS_AVAILABLE(10.0) __WATCHOS_AVAILABLE(3.0); -#endif /* __DARWIN_C_LEVEL >= __DARWIN_C_FULL */ __END_DECLS -#endif /* _LIBGEN_H_ */ \ No newline at end of file +#endif /* __DARWIN_C_LEVEL >= __DARWIN_C_FULL */ + +#endif /* _LIBGEN_H_ */ diff --git a/lib/libc/include/aarch64-macos.13-none/libkern/OSAtomic.h b/lib/libc/include/any-macos-any/libkern/OSAtomic.h similarity index 98% rename from lib/libc/include/aarch64-macos.13-none/libkern/OSAtomic.h rename to lib/libc/include/any-macos-any/libkern/OSAtomic.h index 37ef16ce44..ac38f94409 100644 --- a/lib/libc/include/aarch64-macos.13-none/libkern/OSAtomic.h +++ b/lib/libc/include/any-macos-any/libkern/OSAtomic.h @@ -44,4 +44,4 @@ #include "OSSpinLockDeprecated.h" #include "OSAtomicQueue.h" -#endif /* _OSATOMIC_H_ */ \ No newline at end of file +#endif /* _OSATOMIC_H_ */ diff --git a/lib/libc/include/aarch64-macos.11-none/libkern/OSAtomicDeprecated.h b/lib/libc/include/any-macos-any/libkern/OSAtomicDeprecated.h similarity index 99% rename from lib/libc/include/aarch64-macos.11-none/libkern/OSAtomicDeprecated.h rename to lib/libc/include/any-macos-any/libkern/OSAtomicDeprecated.h index 6dc880b0d4..f838a29587 100644 --- a/lib/libc/include/aarch64-macos.11-none/libkern/OSAtomicDeprecated.h +++ b/lib/libc/include/any-macos-any/libkern/OSAtomicDeprecated.h @@ -1263,4 +1263,4 @@ __END_DECLS #endif /* TARGET_OS_OSX || TARGET_OS_DRIVERKIT */ -#endif /* _OSATOMIC_DEPRECATED_H_ */ \ No newline at end of file +#endif /* _OSATOMIC_DEPRECATED_H_ */ diff --git a/lib/libc/include/aarch64-macos.12-none/libkern/OSAtomicQueue.h b/lib/libc/include/any-macos-any/libkern/OSAtomicQueue.h similarity index 99% rename from lib/libc/include/aarch64-macos.12-none/libkern/OSAtomicQueue.h rename to lib/libc/include/any-macos-any/libkern/OSAtomicQueue.h index 66033fc834..0ca841ceb3 100644 --- a/lib/libc/include/aarch64-macos.12-none/libkern/OSAtomicQueue.h +++ b/lib/libc/include/any-macos-any/libkern/OSAtomicQueue.h @@ -112,4 +112,4 @@ void* OSAtomicDequeue( OSQueueHead *__list, size_t __offset); __END_DECLS -#endif /* _OSATOMICQUEUE_H_ */ \ No newline at end of file +#endif /* _OSATOMICQUEUE_H_ */ diff --git a/lib/libc/include/any-macos-any/libkern/OSByteOrder.h b/lib/libc/include/any-macos-any/libkern/OSByteOrder.h index 3d1e742b31..63d67d4496 100644 --- a/lib/libc/include/any-macos-any/libkern/OSByteOrder.h +++ b/lib/libc/include/any-macos-any/libkern/OSByteOrder.h @@ -314,4 +314,4 @@ _OSWriteInt64( #error Unknown endianess. #endif -#endif /* ! _OS_OSBYTEORDER_H */ \ No newline at end of file +#endif /* ! _OS_OSBYTEORDER_H */ diff --git a/lib/libc/include/any-macos-any/libkern/OSCacheControl.h b/lib/libc/include/any-macos-any/libkern/OSCacheControl.h index aff4af84ae..44644770dc 100644 --- a/lib/libc/include/any-macos-any/libkern/OSCacheControl.h +++ b/lib/libc/include/any-macos-any/libkern/OSCacheControl.h @@ -63,4 +63,4 @@ void sys_dcache_flush( void *start, size_t len) __OSX_AVAILABLE_STARTING(__MAC_1 __END_DECLS -#endif /* _OS_CACHE_CONTROL_H_ */ \ No newline at end of file +#endif /* _OS_CACHE_CONTROL_H_ */ diff --git a/lib/libc/include/any-macos-any/libkern/OSDebug.h b/lib/libc/include/any-macos-any/libkern/OSDebug.h index e0eb5d7c0b..20e0ea5fbc 100644 --- a/lib/libc/include/any-macos-any/libkern/OSDebug.h +++ b/lib/libc/include/any-macos-any/libkern/OSDebug.h @@ -56,4 +56,4 @@ vm_offset_t OSKernelStackRemaining( void ); __END_DECLS -#endif /* !_OS_OSDEBBUG_H */ \ No newline at end of file +#endif /* !_OS_OSDEBBUG_H */ diff --git a/lib/libc/include/any-macos.13-any/libkern/OSKextLib.h b/lib/libc/include/any-macos-any/libkern/OSKextLib.h similarity index 99% rename from lib/libc/include/any-macos.13-any/libkern/OSKextLib.h rename to lib/libc/include/any-macos-any/libkern/OSKextLib.h index ad703c433c..50e899c657 100644 --- a/lib/libc/include/any-macos.13-any/libkern/OSKextLib.h +++ b/lib/libc/include/any-macos-any/libkern/OSKextLib.h @@ -30,8 +30,6 @@ #define _LIBKERN_OSKEXTLIB_H #include -__BEGIN_DECLS - #include #include #include @@ -39,6 +37,8 @@ __BEGIN_DECLS #include +__BEGIN_DECLS + /*! * @header * @@ -569,4 +569,4 @@ typedef uint32_t OSKextLoadTag; __END_DECLS -#endif /* _LIBKERN_OSKEXTLIB_H */ \ No newline at end of file +#endif /* _LIBKERN_OSKEXTLIB_H */ diff --git a/lib/libc/include/any-macos-any/libkern/OSReturn.h b/lib/libc/include/any-macos-any/libkern/OSReturn.h index e357300e89..5adb97710c 100644 --- a/lib/libc/include/any-macos-any/libkern/OSReturn.h +++ b/lib/libc/include/any-macos-any/libkern/OSReturn.h @@ -41,10 +41,10 @@ #include -__BEGIN_DECLS - #include +__BEGIN_DECLS + /*! * @header @@ -195,4 +195,4 @@ typedef kern_return_t OSReturn; __END_DECLS -#endif /* ! __LIBKERN_OSRETURN_H */ \ No newline at end of file +#endif /* ! __LIBKERN_OSRETURN_H */ diff --git a/lib/libc/include/aarch64-macos.11-none/libkern/OSSpinLockDeprecated.h b/lib/libc/include/any-macos-any/libkern/OSSpinLockDeprecated.h similarity index 99% rename from lib/libc/include/aarch64-macos.11-none/libkern/OSSpinLockDeprecated.h rename to lib/libc/include/any-macos-any/libkern/OSSpinLockDeprecated.h index a654a7bbc2..f22b14199d 100644 --- a/lib/libc/include/aarch64-macos.11-none/libkern/OSSpinLockDeprecated.h +++ b/lib/libc/include/any-macos-any/libkern/OSSpinLockDeprecated.h @@ -209,4 +209,4 @@ __END_DECLS #endif /* OSSPINLOCK_USE_INLINED */ -#endif /* _OSSPINLOCK_DEPRECATED_H_ */ \ No newline at end of file +#endif /* _OSSPINLOCK_DEPRECATED_H_ */ diff --git a/lib/libc/include/any-macos-any/libkern/OSThermalNotification.h b/lib/libc/include/any-macos-any/libkern/OSThermalNotification.h index ca533a0204..beeed587d1 100644 --- a/lib/libc/include/any-macos-any/libkern/OSThermalNotification.h +++ b/lib/libc/include/any-macos-any/libkern/OSThermalNotification.h @@ -132,4 +132,4 @@ extern const char * const kOSThermalNotificationDecision; __END_DECLS -#endif /* _OSTHERMALNOTIFICATION_H_ */ \ No newline at end of file +#endif /* _OSTHERMALNOTIFICATION_H_ */ diff --git a/lib/libc/include/any-macos-any/libkern/OSTypes.h b/lib/libc/include/any-macos-any/libkern/OSTypes.h index 0fff18c1f6..451ef763c8 100644 --- a/lib/libc/include/any-macos-any/libkern/OSTypes.h +++ b/lib/libc/include/any-macos-any/libkern/OSTypes.h @@ -39,4 +39,4 @@ typedef signed int SInt; #include -#endif /* _OS_OSTYPES_H */ \ No newline at end of file +#endif /* _OS_OSTYPES_H */ diff --git a/lib/libc/include/any-macos-any/libkern/_OSByteOrder.h b/lib/libc/include/any-macos-any/libkern/_OSByteOrder.h index 4d5a9301ef..db7419df0b 100644 --- a/lib/libc/include/any-macos-any/libkern/_OSByteOrder.h +++ b/lib/libc/include/any-macos-any/libkern/_OSByteOrder.h @@ -130,4 +130,4 @@ _OSSwapInt64( #endif /* __GNUC__ */ -#endif /* ! _OS__OSBYTEORDER_H */ \ No newline at end of file +#endif /* ! _OS__OSBYTEORDER_H */ diff --git a/lib/libc/include/aarch64-macos.11-none/libkern/arm/OSByteOrder.h b/lib/libc/include/any-macos-any/libkern/arm/OSByteOrder.h similarity index 99% rename from lib/libc/include/aarch64-macos.11-none/libkern/arm/OSByteOrder.h rename to lib/libc/include/any-macos-any/libkern/arm/OSByteOrder.h index f89a24b53f..0cd44a579b 100644 --- a/lib/libc/include/aarch64-macos.11-none/libkern/arm/OSByteOrder.h +++ b/lib/libc/include/any-macos-any/libkern/arm/OSByteOrder.h @@ -213,4 +213,4 @@ OSWriteSwapInt64( } #endif -#endif /* ! _OS_OSBYTEORDERARM_H */ \ No newline at end of file +#endif /* ! _OS_OSBYTEORDERARM_H */ diff --git a/lib/libc/include/x86_64-macos.11-none/libkern/i386/OSByteOrder.h b/lib/libc/include/any-macos-any/libkern/i386/OSByteOrder.h similarity index 98% rename from lib/libc/include/x86_64-macos.11-none/libkern/i386/OSByteOrder.h rename to lib/libc/include/any-macos-any/libkern/i386/OSByteOrder.h index d6783b74e0..84c632bb52 100644 --- a/lib/libc/include/x86_64-macos.11-none/libkern/i386/OSByteOrder.h +++ b/lib/libc/include/any-macos-any/libkern/i386/OSByteOrder.h @@ -109,4 +109,4 @@ OSWriteSwapInt64( *(volatile uint64_t *)((uintptr_t)base + byteOffset) = _OSSwapInt64(data); } -#endif /* ! _OS_OSBYTEORDERI386_H */ \ No newline at end of file +#endif /* ! _OS_OSBYTEORDERI386_H */ diff --git a/lib/libc/include/x86_64-macos.12-none/libkern/i386/_OSByteOrder.h b/lib/libc/include/any-macos-any/libkern/i386/_OSByteOrder.h similarity index 98% rename from lib/libc/include/x86_64-macos.12-none/libkern/i386/_OSByteOrder.h rename to lib/libc/include/any-macos-any/libkern/i386/_OSByteOrder.h index 4b160f734f..e95c3975d4 100644 --- a/lib/libc/include/x86_64-macos.12-none/libkern/i386/_OSByteOrder.h +++ b/lib/libc/include/any-macos-any/libkern/i386/_OSByteOrder.h @@ -101,4 +101,4 @@ _OSSwapInt64( #error Unknown architecture #endif -#endif /* ! _OS__OSBYTEORDERI386_H */ \ No newline at end of file +#endif /* ! _OS__OSBYTEORDERI386_H */ diff --git a/lib/libc/include/any-macos.13-any/libproc.h b/lib/libc/include/any-macos-any/libproc.h similarity index 99% rename from lib/libc/include/any-macos.13-any/libproc.h rename to lib/libc/include/any-macos-any/libproc.h index 7bb9e0c23a..18820e9c44 100644 --- a/lib/libc/include/any-macos.13-any/libproc.h +++ b/lib/libc/include/any-macos-any/libproc.h @@ -170,4 +170,4 @@ int proc_udata_info(int pid, int flavor, void *buffer, int buffersize); __END_DECLS -#endif /*_LIBPROC_H_ */ \ No newline at end of file +#endif /*_LIBPROC_H_ */ diff --git a/lib/libc/include/any-macos-any/limits.h b/lib/libc/include/any-macos-any/limits.h index 52f4e9add6..2ed444e09d 100644 --- a/lib/libc/include/any-macos-any/limits.h +++ b/lib/libc/include/any-macos-any/limits.h @@ -164,4 +164,4 @@ /* NZERO to be defined here. TBD. See also sys/param.h */ -#endif /* !_LIMITS_H_ */ \ No newline at end of file +#endif /* !_LIMITS_H_ */ diff --git a/lib/libc/include/any-macos-any/locale.h b/lib/libc/include/any-macos-any/locale.h index 5936af133e..ab28ceba40 100644 --- a/lib/libc/include/any-macos-any/locale.h +++ b/lib/libc/include/any-macos-any/locale.h @@ -53,4 +53,4 @@ __BEGIN_DECLS char *setlocale(int, const char *); __END_DECLS -#endif /* _LOCALE_H_ */ \ No newline at end of file +#endif /* _LOCALE_H_ */ diff --git a/lib/libc/include/any-macos-any/mach-o/arch.h b/lib/libc/include/any-macos-any/mach-o/arch.h index 29b81c5ba7..59e30eac78 100644 --- a/lib/libc/include/any-macos-any/mach-o/arch.h +++ b/lib/libc/include/any-macos-any/mach-o/arch.h @@ -32,6 +32,13 @@ #include #include #include +#include +#include + +#ifndef __CCTOOLS_DEPRECATED + #define __CCTOOLS_DEPRECATED __API_DEPRECATED("No longer supported", macos(10.0, 13.0), ios(1.0, 16.0), watchos(1.0, 8.0), tvos(1.0, 16.0)) + #define __CCTOOLS_DEPRECATED_MSG(_msg) __API_DEPRECATED_WITH_REPLACEMENT(_msg, macos(10.0, 13.0), ios(1.0, 16.0), watchos(1.0, 8.0), tvos(1.0, 16.0)) +#endif /* The NXArchInfo structs contain the architectures symbolic name * (such as "ppc"), its CPU type and CPU subtype as defined in @@ -40,13 +47,15 @@ * There will both be entries for specific CPUs (such as ppc604e) as * well as generic "family" entries (such as ppc). */ -typedef struct { + +struct NXArchInfo { const char *name; cpu_type_t cputype; cpu_subtype_t cpusubtype; enum NXByteOrder byteorder; const char *description; -} NXArchInfo; +} __CCTOOLS_DEPRECATED; +typedef struct NXArchInfo NXArchInfo __CCTOOLS_DEPRECATED; #ifdef __cplusplus extern "C" { @@ -55,12 +64,12 @@ extern "C" { /* NXGetAllArchInfos() returns a pointer to an array of all known * NXArchInfo structures. The last NXArchInfo is marked by a NULL name. */ -extern const NXArchInfo *NXGetAllArchInfos(void); +extern const NXArchInfo *NXGetAllArchInfos(void) __CCTOOLS_DEPRECATED; /* NXGetLocalArchInfo() returns the NXArchInfo for the local host, or NULL * if none is known. */ -extern const NXArchInfo *NXGetLocalArchInfo(void); +extern const NXArchInfo *NXGetLocalArchInfo(void) __CCTOOLS_DEPRECATED_MSG("use macho_arch_name_for_mach_header()"); /* NXGetArchInfoFromName() and NXGetArchInfoFromCpuType() return the * NXArchInfo from the architecture's name or cputype/cpusubtype @@ -68,9 +77,9 @@ extern const NXArchInfo *NXGetLocalArchInfo(void); * to request the most general NXArchInfo known for the given cputype. * NULL is returned if no matching NXArchInfo can be found. */ -extern const NXArchInfo *NXGetArchInfoFromName(const char *name); +extern const NXArchInfo *NXGetArchInfoFromName(const char *name) __CCTOOLS_DEPRECATED_MSG("use macho_cpu_type_for_arch_name()"); extern const NXArchInfo *NXGetArchInfoFromCpuType(cpu_type_t cputype, - cpu_subtype_t cpusubtype); + cpu_subtype_t cpusubtype) __CCTOOLS_DEPRECATED_MSG("use macho_arch_name_for_cpu_type()"); /* The above interfaces that return pointers to NXArchInfo structs in normal * cases returns a pointer from the array returned in NXGetAllArchInfos(). @@ -82,7 +91,7 @@ extern const NXArchInfo *NXGetArchInfoFromCpuType(cpu_type_t cputype, * code below. Going forward the above interfaces will only return pointers * from the array returned in NXGetAllArchInfos(). */ -extern void NXFreeArchInfo(const NXArchInfo *x); +extern void NXFreeArchInfo(const NXArchInfo *x) __CCTOOLS_DEPRECATED_MSG("NXArchInfo is deprecated"); /* The code that can be used for NXFreeArchInfo() when it is not available is: * @@ -114,7 +123,7 @@ extern void NXFreeArchInfo(const NXArchInfo *x); extern struct fat_arch *NXFindBestFatArch(cpu_type_t cputype, cpu_subtype_t cpusubtype, struct fat_arch *fat_archs, - uint32_t nfat_archs); + uint32_t nfat_archs) __CCTOOLS_DEPRECATED_MSG("use macho_best_slice()"); /* NXFindBestFatArch_64() is passed a cputype and cpusubtype and a set of * fat_arch_64 structs and selects the best one that matches (if any) and @@ -129,7 +138,7 @@ extern struct fat_arch *NXFindBestFatArch(cpu_type_t cputype, extern struct fat_arch_64 *NXFindBestFatArch_64(cpu_type_t cputype, cpu_subtype_t cpusubtype, struct fat_arch_64 *fat_archs64, - uint32_t nfat_archs); + uint32_t nfat_archs) __CCTOOLS_DEPRECATED_MSG("use macho_best_slice()"); /* NXCombineCpuSubtypes() returns the resulting cpusubtype when combining two * different cpusubtypes for the specified cputype. If the two cpusubtypes @@ -141,10 +150,10 @@ extern struct fat_arch_64 *NXFindBestFatArch_64(cpu_type_t cputype, */ extern cpu_subtype_t NXCombineCpuSubtypes(cpu_type_t cputype, cpu_subtype_t cpusubtype1, - cpu_subtype_t cpusubtype2); + cpu_subtype_t cpusubtype2) __CCTOOLS_DEPRECATED_MSG("cpu subtypes are no longer combinable"); #ifdef __cplusplus } #endif /* __cplusplus */ -#endif /* _MACH_O_ARCH_H_ */ \ No newline at end of file +#endif /* _MACH_O_ARCH_H_ */ diff --git a/lib/libc/include/any-macos-any/mach-o/arm64/reloc.h b/lib/libc/include/any-macos-any/mach-o/arm64/reloc.h index aff7991fab..6369a1f9a0 100644 --- a/lib/libc/include/any-macos-any/mach-o/arm64/reloc.h +++ b/lib/libc/include/any-macos-any/mach-o/arm64/reloc.h @@ -25,7 +25,193 @@ #define _MACHO_ARM64_RELOC_H_ /* - * Relocation types used in the arm64 implementation. + * Relocations for arm64 are a bit different than for other architectures in + * Mach-O: Scattered relocations are not used. Almost all relocations produced + * by the compiler are external relocations. An external relocation has the + * r_extern bit set to 1 and the r_symbolnum field contains the symbol table + * index of the target label. + * + * When the assembler is generating relocations, if the target label is a local + * label (begins with 'L'), then the previous non-local label in the same + * section is used as the target of the external relocation. An addend is used + * with the distance from that non-local label to the target label. Only when + * there is no previous non-local label in the section is an internal + * relocation used. + * + * The addend (i.e. the 4 in _foo+4) is encoded either in the instruction or + * in the r_symbolnum of ARM64_RELOC_ADDEND. + * For ARM64_RELOC_UNSIGNED and ARM64_RELOC_AUTHENTICATED_POINTER, the addend + * is stored in the instruction. ARM64_RELOC_PAGE21, ARM64_RELOC_PAGEOFF12 and + * ARM64_RELOC_BRANCH26 must be preceded by an ARM64_RELOC_ADDEND if they need + * an addend. No other relocations support addends. + * + * The relocation types are: + * + * ARM64_RELOC_UNSIGNED // For pointer sized fixups + * ARM64_RELOC_SUBTRACTOR // must be followed by a ARM64_RELOC_UNSIGNED + * ARM64_RELOC_BRANCH26 // a BL instruction with pc-relative +-128MB displacement + * ARM64_RELOC_PAGE21 // pc-rel distance to page of target + * ARM64_RELOC_PAGEOFF12 // offset within page, scaled by r_length + * ARM64_RELOC_GOT_LOAD_PAGE21 // load with a pc-rel distance to page of a GOT entry + * ARM64_RELOC_GOT_LOAD_PAGEOFF12 // load with an offset within page, scaled by r_length, of GOT entry + * ARM64_RELOC_POINTER_TO_GOT // 32-bit pc-rel (or 64-bit absolute) offset to a GOT entry + * ARM64_RELOC_TLVP_LOAD_PAGE21 // tlv load with a pc-rel distance to page of a GOT entry + * ARM64_RELOC_TLVP_LOAD_PAGEOFF12 // tlv load with an offset within page, scaled by r_length, of GOT entry + * ARM64_RELOC_ADDEND // must be followed by ARM64_RELOC_BRANCH26/ARM64_RELOC_PAGE21/ARM64_RELOC_PAGEOFF12 + * ARM64_RELOC_AUTHENTICATED_POINTER // 64-bit pointer with authentication + * + * The following are sample assembly instructions, followed by the relocation + * and section content they generate in an object file: + * + * (arm64_32 only) + * .long _foo + * r_type=ARM64_RELOC_UNSIGNED, r_length=2, r_extern=1, r_pcrel=0, r_symbolnum=_foo + * 00 00 00 00 + * + * (arm64_32 only) + * .long _foo + 4 + * r_type=ARM64_RELOC_UNSIGNED, r_length=2, r_extern=1, r_pcrel=0, r_symbolnum=_foo + * 04 00 00 00 + * + * .quad _foo + * r_type=ARM64_RELOC_UNSIGNED, r_length=3, r_extern=1, r_pcrel=0, r_symbolnum=_foo + * 00 00 00 00 00 00 00 00 + * + * .quad _foo + 16 + * r_type=ARM64_RELOC_UNSIGNED, r_length=3, r_extern=1, r_pcrel=0, r_symbolnum=_foo + * 10 00 00 00 00 00 00 00 + * + * .quad L1 + * r_type=ARM64_RELOC_UNSIGNED, r_length=3, r_extern=1, r_pcrel=0, r_symbolnum=_prev + * 10 00 00 00 00 00 00 00 + * // assumes _prev is the first non-local label 0x10 bytes before L1 + * 10 00 00 00 00 00 00 00 + * + * (arm64_32 only) + * .long _foo - _bar + * r_type=ARM64_RELOC_SUBTRACTOR, r_length=2, r_extern=1, r_pcrel=0, r_symbolnum=_bar + * r_type=ARM64_RELOC_UNSIGNED, r_length=2, r_extern=1, r_pcrel=0, r_symbolnum=_foo + * 00 00 00 00 + * + * (arm64_32 only) + * .long _foo - _bar + 4 + * r_type=ARM64_RELOC_SUBTRACTOR, r_length=2, r_extern=1, r_pcrel=0, r_symbolnum=_bar + * r_type=ARM64_RELOC_UNSIGNED, r_length=2, r_extern=1, r_pcrel=0, r_symbolnum=_foo + * 04 00 00 00 + * + * .quad _foo - _bar + * r_type=ARM64_RELOC_SUBTRACTOR, r_length=3, r_extern=1, r_pcrel=0, r_symbolnum=_bar + * r_type=ARM64_RELOC_UNSIGNED, r_length=3, r_extern=1, r_pcrel=0, r_symbolnum=_foo + * 00 00 00 00 00 00 00 00 + * + * .quad _foo - _bar + 4 + * r_type=ARM64_RELOC_SUBTRACTOR, r_length=3, r_extern=1, r_pcrel=0, r_symbolnum=_bar + * r_type=ARM64_RELOC_UNSIGNED, r_length=3, r_extern=1, r_pcrel=0, r_symbolnum=_foo + * 04 00 00 00 00 00 00 00 + * + * .long _foo - . + * r_type=ARM64_RELOC_SUBTRACTOR, r_length=2, r_extern=1, r_pcrel=0, r_symbolnum=_prev + * r_type=ARM64_RELOC_UNSIGNED, r_length=2, r_extern=1, r_pcrel=0, r_symbolnum=_foo + * f8 ff ff ff + * // assumes _prev is the first non-local label 0x8 bytes before this + * // .quad + * + * .long _foo - L1 + * r_type=ARM64_RELOC_SUBTRACTOR, r_length=2, r_extern=1, r_pcrel=0, r_symbolnum=_prev + * r_type=ARM64_RELOC_UNSIGNED, r_length=2, r_extern=1, r_pcrel=0, r_symbolnum=_foo + * f8 ff ff ff + * // assumes _prev is the first non-local label 0x8 bytes before L1 + * + * .quad _foo - . + * r_type=ARM64_RELOC_SUBTRACTOR, r_length=3, r_extern=1, r_pcrel=0, r_symbolnum=_prev + * r_type=ARM64_RELOC_UNSIGNED, r_length=3, r_extern=1, r_pcrel=0, r_symbolnum=_foo + * f8 ff ff ff ff ff ff ff + * // assumes _prev is the first non-local label 0x8 bytes before this + * // .quad + * + * .quad _foo - L1 + * r_type=ARM64_RELOC_SUBTRACTOR, r_length=3, r_extern=1, r_pcrel=0, r_symbolnum=_prev + * r_type=ARM64_RELOC_UNSIGNED, r_length=3, r_extern=1, r_pcrel=0, r_symbolnum=_foo + * f8 ff ff ff ff ff ff ff + * // assumes _prev is the first non-local label 0x8 bytes before L1 + * + * .long L1 - _prev + * // No relocations. This is an assembly time constant. + * 12 00 00 00 00 00 00 00 + * // assumes _prev is the first non-local label 0x12 bytes before L1 + * + * .quad L1 - _prev + * // No relocations. This is an assembly time constant. + * 12 00 00 00 00 00 00 00 + * // assumes _prev is the first non-local label 0x12 bytes before L1 + * + * bl _foo + * r_type=ARM64_RELOC_BRANCH26, r_length=2, r_extern=1, r_pcrel=1, r_symbolnum=_foo + * 0x14000000 + * + * bl _foo + 4 + * r_type=ARM64_RELOC_ADDEND, r_length=2, r_extern=0, r_pcrel=0, r_symbolnum=0x000004 + * r_type=ARM64_RELOC_BRANCH26, r_length=2, r_extern=1, r_pcrel=1, r_symbolnum=_foo + * 0x14000000 + * + * adrp x0, _foo@PAGE + * r_type=ARM64_RELOC_PAGE21, r_length=2, r_extern=1, r_pcrel=1, r_symbolnum=_foo + * 0x90000000 + * + * ldr x0, [x0, _foo@PAGEOFF] + * r_type=ARM64_RELOC_PAGEOFF12, r_length=2, r_extern=1, r_pcrel=0, r_symbolnum=_foo + * 0xf9400000 + * + * adrp x0, _foo@PAGE + 0x24 + * r_type=ARM64_RELOC_ADDEND, r_length=2, r_extern=0, r_pcrel=0, r_symbolnum=0x000024 + * r_type=ARM64_RELOC_PAGE21, r_length=2, r_extern=1, r_pcrel=1, r_symbolnum=_foo + * 0x90000000 + * + * ldr x0, [x0, _foo@PAGEOFF + 0x24] + * r_type=ARM64_RELOC_ADDEND, r_length=2, r_extern=0, r_pcrel=0, r_symbolnum=0x000024 + * r_type=ARM64_RELOC_PAGEOFF12, r_length=2, r_extern=1, r_pcrel=0, r_symbolnum=_foo + * 0xf9400000 + * + * adrp x0, _foo@GOTPAGE + * r_type=ARM64_RELOC_GOT_LOAD_PAGE21, r_length=2, r_extern=1, r_pcrel=1, r_symbolnum=_foo + * 0x90000000 + * + * ldr x0, [x0, _foo@GOTPAGEOFF] + * r_type=ARM64_RELOC_GOT_LOAD_PAGEOFF12, r_length=2, r_extern=1, r_pcrel=0, r_symbolnum=_foo + * 0xf9400000 + * + * adrp x0, _foo@TLVPPAGE + * r_type=ARM64_RELOC_TLVP_LOAD_PAGE21, r_length=2, r_extern=1, r_pcrel=1, r_symbolnum=_foo + * 0x90000000 + * + * ldr x0, [x0, _foo@TLVPPAGEOFF] + * r_type=ARM64_RELOC_TLVP_LOAD_PAGEOFF12, r_length=2, r_extern=1, r_pcrel=0, r_symbolnum=_foo + * 0xf9400000 + * + * .long _foo@GOT - . + * r_type=ARM64_RELOC_POINTER_TO_GOT, r_length=2, r_extern=1, r_pcrel=1, r_symbolnum=_foo + * 00 00 00 00 + * + * (arm64_32 only) + * .long _foo@GOT + * r_type=ARM64_RELOC_POINTER_TO_GOT, r_length=2, r_extern=1, r_pcrel=0, r_symbolnum=_foo + * 00 00 00 00 + * + * .quad _foo@GOT + * r_type=ARM64_RELOC_POINTER_TO_GOT, r_length=3, r_extern=1, r_pcrel=0, r_symbolnum=_foo + * 00 00 00 00 00 00 00 00 + * + * (arm64e only) + * .quad _foo@AUTH(da,5,addr) + * r_type=ARM64_RELOC_AUTHENTICATED_POINTER, r_length=3, r_extern=1, r_pcrel=0, r_symbolnum=_foo + * 00 00 00 00 05 00 05 80 + * + * (arm64e only) + * .quad (_foo + 0x10)@AUTH(da,5,addr) + * r_type=ARM64_RELOC_AUTHENTICATED_POINTER, r_length=3, r_extern=1, r_pcrel=0, r_symbolnum=_foo + * 10 00 00 00 05 00 05 80 + * + * */ enum reloc_type_arm64 { @@ -65,4 +251,4 @@ enum reloc_type_arm64 ARM64_RELOC_AUTHENTICATED_POINTER, }; -#endif /* #ifndef _MACHO_ARM64_RELOC_H_ */ \ No newline at end of file +#endif /* #ifndef _MACHO_ARM64_RELOC_H_ */ diff --git a/lib/libc/include/any-macos-any/mach-o/compact_unwind_encoding.h b/lib/libc/include/any-macos-any/mach-o/compact_unwind_encoding.h index e1a9f14bc0..53b0d18719 100644 --- a/lib/libc/include/any-macos-any/mach-o/compact_unwind_encoding.h +++ b/lib/libc/include/any-macos-any/mach-o/compact_unwind_encoding.h @@ -1,4 +1,4 @@ -//===------------------ mach-o/compact_unwind_encoding.h ------------------===// +//===----------------------------------------------------------------------===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. @@ -33,7 +33,7 @@ // -// The compact unwind endoding is a 32-bit value which encoded in an +// The compact unwind encoding is a 32-bit value which encoded in an // architecture specific way, which registers to restore from where, and how // to unwind out of the function. // @@ -116,7 +116,7 @@ enum { // on the stack immediately after the return address. The stack_size/4 is // encoded in the UNWIND_X86_FRAMELESS_STACK_SIZE (max stack size is 1024). // The number of registers saved is encoded in UNWIND_X86_FRAMELESS_STACK_REG_COUNT. -// UNWIND_X86_FRAMELESS_STACK_REG_PERMUTATION constains which registers were +// UNWIND_X86_FRAMELESS_STACK_REG_PERMUTATION contains which registers were // saved and their order. // UNWIND_X86_MODE_STACK_IND: // A "frameless" (EBP not used as frame pointer) function large constant @@ -250,7 +250,7 @@ enum { // on the stack immediately after the return address. The stack_size/8 is // encoded in the UNWIND_X86_64_FRAMELESS_STACK_SIZE (max stack size is 2048). // The number of registers saved is encoded in UNWIND_X86_64_FRAMELESS_STACK_REG_COUNT. -// UNWIND_X86_64_FRAMELESS_STACK_REG_PERMUTATION constains which registers were +// UNWIND_X86_64_FRAMELESS_STACK_REG_PERMUTATION contains which registers were // saved and their order. // UNWIND_X86_64_MODE_STACK_IND: // A "frameless" (RBP not used as frame pointer) function large constant @@ -529,4 +529,5 @@ struct unwind_info_compressed_second_level_page_header -#endif \ No newline at end of file +#endif + diff --git a/lib/libc/include/any-macos-any/mach-o/dyld.h b/lib/libc/include/any-macos-any/mach-o/dyld.h index 63058bbbd9..e14e670189 100644 --- a/lib/libc/include/any-macos-any/mach-o/dyld.h +++ b/lib/libc/include/any-macos-any/mach-o/dyld.h @@ -23,17 +23,17 @@ #ifndef _MACH_O_DYLD_H_ #define _MACH_O_DYLD_H_ - #include #include #include #include #include +#include #if __cplusplus extern "C" { -#endif +#endif #ifdef __DRIVERKIT_19_0 #define DYLD_DRIVERKIT_UNAVAILABLE __API_UNAVAILABLE(driverkit) @@ -41,6 +41,13 @@ extern "C" { #define DYLD_DRIVERKIT_UNAVAILABLE #endif +#ifndef __OPEN_SOURCE__ + + + #define DYLD_EXCLAVEKIT_UNAVAILABLE + +#endif //__OPEN_SOURCE__ + /* * The following functions allow you to iterate through all loaded images. * This is not a thread safe operation. Another thread can add or remove @@ -162,22 +169,22 @@ typedef struct __NSObjectFileImage* NSObjectFileImage; /* NSObjectFileImage can only be used with MH_BUNDLE files */ -extern NSObjectFileImageReturnCode NSCreateObjectFileImageFromFile(const char* pathName, NSObjectFileImage *objectFileImage) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.5, "dlopen()"); -extern NSObjectFileImageReturnCode NSCreateObjectFileImageFromMemory(const void *address, size_t size, NSObjectFileImage *objectFileImage) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.5, ""); -extern bool NSDestroyObjectFileImage(NSObjectFileImage objectFileImage) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.5, "dlclose()"); +extern NSObjectFileImageReturnCode NSCreateObjectFileImageFromFile(const char* pathName, NSObjectFileImage *objectFileImage) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE DYLD_EXCLAVEKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.5, "dlopen()"); +extern NSObjectFileImageReturnCode NSCreateObjectFileImageFromMemory(const void *address, size_t size, NSObjectFileImage *objectFileImage) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE DYLD_EXCLAVEKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.5, ""); +extern bool NSDestroyObjectFileImage(NSObjectFileImage objectFileImage) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE DYLD_EXCLAVEKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.5, "dlclose()"); -extern uint32_t NSSymbolDefinitionCountInObjectFileImage(NSObjectFileImage objectFileImage) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.5, ""); -extern const char* NSSymbolDefinitionNameInObjectFileImage(NSObjectFileImage objectFileImage, uint32_t ordinal) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.5, ""); -extern uint32_t NSSymbolReferenceCountInObjectFileImage(NSObjectFileImage objectFileImage) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.5, ""); -extern const char* NSSymbolReferenceNameInObjectFileImage(NSObjectFileImage objectFileImage, uint32_t ordinal, bool *tentative_definition) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.5, ""); -extern bool NSIsSymbolDefinedInObjectFileImage(NSObjectFileImage objectFileImage, const char* symbolName) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.4, "dlsym()"); -extern void* NSGetSectionDataInObjectFileImage(NSObjectFileImage objectFileImage, const char* segmentName, const char* sectionName, size_t *size) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.5, "getsectiondata()"); +extern uint32_t NSSymbolDefinitionCountInObjectFileImage(NSObjectFileImage objectFileImage) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE DYLD_EXCLAVEKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.5, ""); +extern const char* NSSymbolDefinitionNameInObjectFileImage(NSObjectFileImage objectFileImage, uint32_t ordinal) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE DYLD_EXCLAVEKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.5, ""); +extern uint32_t NSSymbolReferenceCountInObjectFileImage(NSObjectFileImage objectFileImage) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE DYLD_EXCLAVEKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.5, ""); +extern const char* NSSymbolReferenceNameInObjectFileImage(NSObjectFileImage objectFileImage, uint32_t ordinal, bool *tentative_definition) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE DYLD_EXCLAVEKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.5, ""); +extern bool NSIsSymbolDefinedInObjectFileImage(NSObjectFileImage objectFileImage, const char* symbolName) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE DYLD_EXCLAVEKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.4, "dlsym()"); +extern void* NSGetSectionDataInObjectFileImage(NSObjectFileImage objectFileImage, const char* segmentName, const char* sectionName, size_t *size) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE DYLD_EXCLAVEKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.5, "getsectiondata()"); typedef struct __NSModule* NSModule; -extern const char* NSNameOfModule(NSModule m) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.5, ""); -extern const char* NSLibraryNameForModule(NSModule m) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.5, ""); +extern const char* NSNameOfModule(NSModule m) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE DYLD_EXCLAVEKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.5, ""); +extern const char* NSLibraryNameForModule(NSModule m) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE DYLD_EXCLAVEKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.5, ""); -extern NSModule NSLinkModule(NSObjectFileImage objectFileImage, const char* moduleName, uint32_t options) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.5, "dlopen()"); +extern NSModule NSLinkModule(NSObjectFileImage objectFileImage, const char* moduleName, uint32_t options) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE DYLD_EXCLAVEKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.5, "dlopen()"); #define NSLINKMODULE_OPTION_NONE 0x0 #define NSLINKMODULE_OPTION_BINDNOW 0x1 #define NSLINKMODULE_OPTION_PRIVATE 0x2 @@ -185,27 +192,27 @@ extern NSModule NSLinkModule(NSObjectFileImage objectFileImage, const char* modu #define NSLINKMODULE_OPTION_DONT_CALL_MOD_INIT_ROUTINES 0x8 #define NSLINKMODULE_OPTION_TRAILING_PHYS_NAME 0x10 -extern bool NSUnLinkModule(NSModule module, uint32_t options) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.5, ""); +extern bool NSUnLinkModule(NSModule module, uint32_t options) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE DYLD_EXCLAVEKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.5, ""); #define NSUNLINKMODULE_OPTION_NONE 0x0 #define NSUNLINKMODULE_OPTION_KEEP_MEMORY_MAPPED 0x1 #define NSUNLINKMODULE_OPTION_RESET_LAZY_REFERENCES 0x2 /* symbol API */ typedef struct __NSSymbol* NSSymbol; -extern bool NSIsSymbolNameDefined(const char* symbolName) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.4, "dlsym()"); -extern bool NSIsSymbolNameDefinedWithHint(const char* symbolName, const char* libraryNameHint) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.4, "dlsym()"); -extern bool NSIsSymbolNameDefinedInImage(const struct mach_header* image, const char* symbolName) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.4, "dlsym()"); -extern NSSymbol NSLookupAndBindSymbol(const char* symbolName) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.4, "dlsym()"); -extern NSSymbol NSLookupAndBindSymbolWithHint(const char* symbolName, const char* libraryNameHint) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.4, "dlsym()"); -extern NSSymbol NSLookupSymbolInModule(NSModule module, const char* symbolName) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.5, "dlsym()"); -extern NSSymbol NSLookupSymbolInImage(const struct mach_header* image, const char* symbolName, uint32_t options) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.5, "dlsym()"); +extern bool NSIsSymbolNameDefined(const char* symbolName) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE DYLD_EXCLAVEKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.4, "dlsym()"); +extern bool NSIsSymbolNameDefinedWithHint(const char* symbolName, const char* libraryNameHint) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE DYLD_EXCLAVEKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.4, "dlsym()"); +extern bool NSIsSymbolNameDefinedInImage(const struct mach_header* image, const char* symbolName) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE DYLD_EXCLAVEKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.4, "dlsym()"); +extern NSSymbol NSLookupAndBindSymbol(const char* symbolName) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE DYLD_EXCLAVEKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.4, "dlsym()"); +extern NSSymbol NSLookupAndBindSymbolWithHint(const char* symbolName, const char* libraryNameHint) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE DYLD_EXCLAVEKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.4, "dlsym()"); +extern NSSymbol NSLookupSymbolInModule(NSModule module, const char* symbolName) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE DYLD_EXCLAVEKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.5, "dlsym()"); +extern NSSymbol NSLookupSymbolInImage(const struct mach_header* image, const char* symbolName, uint32_t options) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE DYLD_EXCLAVEKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.5, "dlsym()"); #define NSLOOKUPSYMBOLINIMAGE_OPTION_BIND 0x0 #define NSLOOKUPSYMBOLINIMAGE_OPTION_BIND_NOW 0x1 #define NSLOOKUPSYMBOLINIMAGE_OPTION_BIND_FULLY 0x2 #define NSLOOKUPSYMBOLINIMAGE_OPTION_RETURN_ON_ERROR 0x4 -extern const char* NSNameOfSymbol(NSSymbol symbol) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.5, ""); -extern void * NSAddressOfSymbol(NSSymbol symbol) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.5, "dlsym()"); -extern NSModule NSModuleForSymbol(NSSymbol symbol) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.5, "dladdr()"); +extern const char* NSNameOfSymbol(NSSymbol symbol) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE DYLD_EXCLAVEKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.5, ""); +extern void * NSAddressOfSymbol(NSSymbol symbol) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE DYLD_EXCLAVEKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.5, "dlsym()"); +extern NSModule NSModuleForSymbol(NSSymbol symbol) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE DYLD_EXCLAVEKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.5, "dladdr()"); /* error handling API */ typedef enum { @@ -233,7 +240,7 @@ typedef enum { NSOtherErrorInvalidArgs } NSOtherErrorNumbers; -extern void NSLinkEditError(NSLinkEditErrors *c, int *errorNumber, const char** fileName, const char** errorString) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.5, "dlerror()"); +extern void NSLinkEditError(NSLinkEditErrors *c, int *errorNumber, const char** fileName, const char** errorString) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE DYLD_EXCLAVEKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.5, "dlerror()"); typedef struct { void (*undefined)(const char* symbolName); @@ -242,31 +249,31 @@ typedef struct { const char* fileName, const char* errorString); } NSLinkEditErrorHandlers; -extern void NSInstallLinkEditErrorHandlers(const NSLinkEditErrorHandlers *handlers) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.5, ""); +extern void NSInstallLinkEditErrorHandlers(const NSLinkEditErrorHandlers *handlers) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE DYLD_EXCLAVEKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.5, ""); -extern bool NSAddLibrary(const char* pathName) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.4, "dlopen()"); -extern bool NSAddLibraryWithSearching(const char* pathName) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.4, "dlopen()"); -extern const struct mach_header* NSAddImage(const char* image_name, uint32_t options) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.5, "dlopen()"); +extern bool NSAddLibrary(const char* pathName) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE DYLD_EXCLAVEKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.4, "dlopen()"); +extern bool NSAddLibraryWithSearching(const char* pathName) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE DYLD_EXCLAVEKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.4, "dlopen()"); +extern const struct mach_header* NSAddImage(const char* image_name, uint32_t options) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE DYLD_EXCLAVEKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.5, "dlopen()"); #define NSADDIMAGE_OPTION_NONE 0x0 #define NSADDIMAGE_OPTION_RETURN_ON_ERROR 0x1 #define NSADDIMAGE_OPTION_WITH_SEARCHING 0x2 #define NSADDIMAGE_OPTION_RETURN_ONLY_IF_LOADED 0x4 #define NSADDIMAGE_OPTION_MATCH_FILENAME_BY_INSTALLNAME 0x8 -extern bool _dyld_present(void) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.5, "always true"); -extern bool _dyld_launched_prebound(void) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.5, "moot"); -extern bool _dyld_all_twolevel_modules_prebound(void) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE __OSX_DEPRECATED(10.3, 10.5, "moot"); -extern bool _dyld_bind_fully_image_containing_address(const void* address) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.5, "dlopen(RTLD_NOW)"); -extern bool _dyld_image_containing_address(const void* address) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE __OSX_DEPRECATED(10.3, 10.5, "dladdr()"); -extern void _dyld_lookup_and_bind(const char* symbol_name, void **address, NSModule* module) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.4, "dlsym()"); -extern void _dyld_lookup_and_bind_with_hint(const char* symbol_name, const char* library_name_hint, void** address, NSModule* module) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.4, "dlsym()"); -extern void _dyld_lookup_and_bind_fully(const char* symbol_name, void** address, NSModule* module) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.5, "dlsym()"); +extern bool _dyld_present(void) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE DYLD_EXCLAVEKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.5, "always true"); +extern bool _dyld_launched_prebound(void) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE DYLD_EXCLAVEKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.5, "moot"); +extern bool _dyld_all_twolevel_modules_prebound(void) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE DYLD_EXCLAVEKIT_UNAVAILABLE __OSX_DEPRECATED(10.3, 10.5, "moot"); +extern bool _dyld_bind_fully_image_containing_address(const void* address) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE DYLD_EXCLAVEKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.5, "dlopen(RTLD_NOW)"); +extern bool _dyld_image_containing_address(const void* address) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE DYLD_EXCLAVEKIT_UNAVAILABLE __OSX_DEPRECATED(10.3, 10.5, "dladdr()"); +extern void _dyld_lookup_and_bind(const char* symbol_name, void **address, NSModule* module) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE DYLD_EXCLAVEKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.4, "dlsym()"); +extern void _dyld_lookup_and_bind_with_hint(const char* symbol_name, const char* library_name_hint, void** address, NSModule* module) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE DYLD_EXCLAVEKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.4, "dlsym()"); +extern void _dyld_lookup_and_bind_fully(const char* symbol_name, void** address, NSModule* module) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE DYLD_EXCLAVEKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.5, "dlsym()"); -extern const struct mach_header* _dyld_get_image_header_containing_address(const void* address) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE __OSX_DEPRECATED(10.3, 10.5, "dladdr()"); +extern const struct mach_header* _dyld_get_image_header_containing_address(const void* address) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE DYLD_EXCLAVEKIT_UNAVAILABLE __OSX_DEPRECATED(10.3, 10.5, "dladdr()"); #if __cplusplus } #endif -#endif /* _MACH_O_DYLD_H_ */ \ No newline at end of file +#endif /* _MACH_O_DYLD_H_ */ diff --git a/lib/libc/include/any-macos-any/mach-o/fat.h b/lib/libc/include/any-macos-any/mach-o/fat.h index 0e5927dc25..03fca1644c 100644 --- a/lib/libc/include/any-macos-any/mach-o/fat.h +++ b/lib/libc/include/any-macos-any/mach-o/fat.h @@ -42,8 +42,14 @@ * and contains the constants for the possible values of these types. */ #include + +#if __has_include() #include +#endif + +#if __has_include() #include +#endif #define FAT_MAGIC 0xcafebabe #define FAT_CIGAM 0xbebafeca /* NXSwapLong(FAT_MAGIC) */ @@ -54,8 +60,8 @@ struct fat_header { }; struct fat_arch { - cpu_type_t cputype; /* cpu specifier (int) */ - cpu_subtype_t cpusubtype; /* machine specifier (int) */ + int32_t cputype; /* cpu specifier (int) */ + int32_t cpusubtype; /* machine specifier (int) */ uint32_t offset; /* file offset to this object file */ uint32_t size; /* size of this object file */ uint32_t align; /* alignment as a power of 2 */ @@ -72,12 +78,12 @@ struct fat_arch { #define FAT_CIGAM_64 0xbfbafeca /* NXSwapLong(FAT_MAGIC_64) */ struct fat_arch_64 { - cpu_type_t cputype; /* cpu specifier (int) */ - cpu_subtype_t cpusubtype; /* machine specifier (int) */ + int32_t cputype; /* cpu specifier (int) */ + int32_t cpusubtype; /* machine specifier (int) */ uint64_t offset; /* file offset to this object file */ uint64_t size; /* size of this object file */ uint32_t align; /* alignment as a power of 2 */ uint32_t reserved; /* reserved */ }; -#endif /* _MACH_O_FAT_H_ */ \ No newline at end of file +#endif /* _MACH_O_FAT_H_ */ diff --git a/lib/libc/include/any-macos.13-any/mach-o/loader.h b/lib/libc/include/any-macos-any/mach-o/loader.h similarity index 99% rename from lib/libc/include/any-macos.13-any/mach-o/loader.h rename to lib/libc/include/any-macos-any/mach-o/loader.h index 4ffc5140a3..8dce41115a 100644 --- a/lib/libc/include/any-macos.13-any/mach-o/loader.h +++ b/lib/libc/include/any-macos-any/mach-o/loader.h @@ -337,6 +337,7 @@ struct load_command { #define LC_DYLD_EXPORTS_TRIE (0x33 | LC_REQ_DYLD) /* used with linkedit_data_command, payload is trie */ #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 */ /* * A variable length string in a load command is represented by an lc_str @@ -1202,7 +1203,7 @@ struct rpath_command { struct linkedit_data_command { uint32_t cmd; /* LC_CODE_SIGNATURE, LC_SEGMENT_SPLIT_INFO, LC_FUNCTION_STARTS, LC_DATA_IN_CODE, - LC_DYLIB_CODE_SIGN_DRS, + LC_DYLIB_CODE_SIGN_DRS, LC_ATOM_INFO, LC_LINKER_OPTIMIZATION_HINT, LC_DYLD_EXPORTS_TRIE, or LC_DYLD_CHAINED_FIXUPS. */ @@ -1635,4 +1636,4 @@ struct fileset_entry_command { #define PLATFORM_MACCATALYST PLATFORM_MACCATALYST #endif -#endif /* _MACHO_LOADER_H_ */ \ No newline at end of file +#endif /* _MACHO_LOADER_H_ */ diff --git a/lib/libc/include/any-macos-any/mach-o/nlist.h b/lib/libc/include/any-macos-any/mach-o/nlist.h index 7b979a52aa..96b0cd5d56 100644 --- a/lib/libc/include/any-macos-any/mach-o/nlist.h +++ b/lib/libc/include/any-macos-any/mach-o/nlist.h @@ -321,4 +321,4 @@ extern int nlist (const char *filename, struct nlist *list); #endif /* __cplusplus */ #endif /* __STRICT_BSD__ */ -#endif /* _MACHO_LIST_H_ */ \ No newline at end of file +#endif /* _MACHO_LIST_H_ */ diff --git a/lib/libc/include/any-macos-any/mach-o/ranlib.h b/lib/libc/include/any-macos-any/mach-o/ranlib.h index eaf9bc6301..ec867524a2 100644 --- a/lib/libc/include/any-macos-any/mach-o/ranlib.h +++ b/lib/libc/include/any-macos-any/mach-o/ranlib.h @@ -87,4 +87,4 @@ struct ranlib_64 { } ran_un; uint64_t ran_off; /* library member at this offset */ }; -#endif /* _MACH_O_RANLIB_H_ */ \ No newline at end of file +#endif /* _MACH_O_RANLIB_H_ */ diff --git a/lib/libc/include/any-macos-any/mach-o/reloc.h b/lib/libc/include/any-macos-any/mach-o/reloc.h index c9911483fa..d5741efa3f 100644 --- a/lib/libc/include/any-macos-any/mach-o/reloc.h +++ b/lib/libc/include/any-macos-any/mach-o/reloc.h @@ -200,4 +200,4 @@ enum reloc_type_generic GENERIC_RELOC_TLV /* thread local variables */ }; -#endif /* _MACHO_RELOC_H_ */ \ No newline at end of file +#endif /* _MACHO_RELOC_H_ */ diff --git a/lib/libc/include/any-macos-any/mach-o/stab.h b/lib/libc/include/any-macos-any/mach-o/stab.h index 56bf5fd7e0..dde2c4d5c1 100644 --- a/lib/libc/include/any-macos-any/mach-o/stab.h +++ b/lib/libc/include/any-macos-any/mach-o/stab.h @@ -97,10 +97,11 @@ #define N_ENSYM 0x4e /* end nsect sym: 0,,n_sect,0,address */ #define N_SSYM 0x60 /* structure elt: name,,NO_SECT,type,struct_offset */ #define N_SO 0x64 /* source file name: name,,n_sect,0,address */ -#define N_OSO 0x66 /* object file name: name,,(see below),0,st_mtime */ +#define N_OSO 0x66 /* object file name: name,,(see below),1,st_mtime */ /* historically N_OSO set n_sect to 0. The N_OSO * n_sect may instead hold the low byte of the * cpusubtype value from the Mach-O header. */ +#define N_LIB 0x68 /* dynamic library file name: name,,NO_SECT,0,0 */ #define N_LSYM 0x80 /* local sym: name,,NO_SECT,type,offset */ #define N_BINCL 0x82 /* include file beginning: name,,NO_SECT,0,sum */ #define N_SOL 0x84 /* #included file name: name,,n_sect,0,address */ @@ -123,4 +124,4 @@ */ #define N_PC 0x30 /* global pascal symbol: name,,NO_SECT,subtype,line */ -#endif /* _MACHO_STAB_H_ */ \ No newline at end of file +#endif /* _MACHO_STAB_H_ */ diff --git a/lib/libc/include/any-macos-any/mach-o/x86_64/reloc.h b/lib/libc/include/any-macos-any/mach-o/x86_64/reloc.h index cafdd0b337..d3466d8fe8 100644 --- a/lib/libc/include/any-macos-any/mach-o/x86_64/reloc.h +++ b/lib/libc/include/any-macos-any/mach-o/x86_64/reloc.h @@ -182,4 +182,4 @@ enum reloc_type_x86_64 X86_64_RELOC_SIGNED_2, // for signed 32-bit displacement with a -2 addend X86_64_RELOC_SIGNED_4, // for signed 32-bit displacement with a -4 addend X86_64_RELOC_TLV, // for thread local variables -}; \ No newline at end of file +}; diff --git a/lib/libc/include/aarch64-macos.13-none/mach/arm/_structs.h b/lib/libc/include/any-macos-any/mach/arm/_structs.h similarity index 99% rename from lib/libc/include/aarch64-macos.13-none/mach/arm/_structs.h rename to lib/libc/include/any-macos-any/mach/arm/_structs.h index 5bc9ee2f2d..e33ac5281e 100644 --- a/lib/libc/include/aarch64-macos.13-none/mach/arm/_structs.h +++ b/lib/libc/include/any-macos-any/mach/arm/_structs.h @@ -680,4 +680,4 @@ _STRUCT_ARM_CPMU_STATE64 #endif /* defined (__arm__) || defined (__arm64__) */ -#endif /* _MACH_ARM__STRUCTS_H_ */ \ No newline at end of file +#endif /* _MACH_ARM__STRUCTS_H_ */ diff --git a/lib/libc/include/aarch64-macos.13-none/mach/arm/boolean.h b/lib/libc/include/any-macos-any/mach/arm/boolean.h similarity index 98% rename from lib/libc/include/aarch64-macos.13-none/mach/arm/boolean.h rename to lib/libc/include/any-macos-any/mach/arm/boolean.h index 9cdf7c237e..ffa00961ef 100644 --- a/lib/libc/include/aarch64-macos.13-none/mach/arm/boolean.h +++ b/lib/libc/include/any-macos-any/mach/arm/boolean.h @@ -71,4 +71,4 @@ typedef int boolean_t; #endif /* defined (__arm__) || defined (__arm64__) */ -#endif /* _MACH_ARM_BOOLEAN_H_ */ \ No newline at end of file +#endif /* _MACH_ARM_BOOLEAN_H_ */ diff --git a/lib/libc/include/aarch64-macos.12-none/mach/arm/exception.h b/lib/libc/include/any-macos-any/mach/arm/exception.h similarity index 98% rename from lib/libc/include/aarch64-macos.12-none/mach/arm/exception.h rename to lib/libc/include/any-macos-any/mach/arm/exception.h index c27dec1b56..f918455bb7 100644 --- a/lib/libc/include/aarch64-macos.12-none/mach/arm/exception.h +++ b/lib/libc/include/any-macos-any/mach/arm/exception.h @@ -79,4 +79,4 @@ #endif /* defined (__arm__) || defined (__arm64__) */ -#endif /* _MACH_ARM_EXCEPTION_H_ */ \ No newline at end of file +#endif /* _MACH_ARM_EXCEPTION_H_ */ diff --git a/lib/libc/include/aarch64-macos.13-none/mach/arm/kern_return.h b/lib/libc/include/any-macos-any/mach/arm/kern_return.h similarity index 98% rename from lib/libc/include/aarch64-macos.13-none/mach/arm/kern_return.h rename to lib/libc/include/any-macos-any/mach/arm/kern_return.h index bfa07951b3..051800a4e0 100644 --- a/lib/libc/include/aarch64-macos.13-none/mach/arm/kern_return.h +++ b/lib/libc/include/any-macos-any/mach/arm/kern_return.h @@ -75,4 +75,4 @@ typedef int kern_return_t; #endif /* defined (__arm__) || defined (__arm64__) */ -#endif /* _MACH_ARM_KERN_RETURN_H_ */ \ No newline at end of file +#endif /* _MACH_ARM_KERN_RETURN_H_ */ diff --git a/lib/libc/include/aarch64-macos.12-none/mach/arm/processor_info.h b/lib/libc/include/any-macos-any/mach/arm/processor_info.h similarity index 98% rename from lib/libc/include/aarch64-macos.12-none/mach/arm/processor_info.h rename to lib/libc/include/any-macos-any/mach/arm/processor_info.h index a302fbfcd3..4f16322423 100644 --- a/lib/libc/include/aarch64-macos.12-none/mach/arm/processor_info.h +++ b/lib/libc/include/any-macos-any/mach/arm/processor_info.h @@ -73,4 +73,4 @@ typedef struct processor_cpu_stat64 *processor_cpu_stat64_t; #endif /* defined (__arm__) || defined (__arm64__) */ -#endif /* _MACH_ARM_PROCESSOR_INFO_H_ */ \ No newline at end of file +#endif /* _MACH_ARM_PROCESSOR_INFO_H_ */ diff --git a/lib/libc/include/aarch64-macos.13-none/mach/arm/rpc.h b/lib/libc/include/any-macos-any/mach/arm/rpc.h similarity index 98% rename from lib/libc/include/aarch64-macos.13-none/mach/arm/rpc.h rename to lib/libc/include/any-macos-any/mach/arm/rpc.h index cb100ece01..0dbf0ce50c 100644 --- a/lib/libc/include/aarch64-macos.13-none/mach/arm/rpc.h +++ b/lib/libc/include/any-macos-any/mach/arm/rpc.h @@ -36,4 +36,4 @@ #endif /* defined (__arm__) || defined (__arm64__) */ -#endif /* _MACH_ARM_RPC_H_ */ \ No newline at end of file +#endif /* _MACH_ARM_RPC_H_ */ diff --git a/lib/libc/include/aarch64-macos.13-none/mach/arm/thread_state.h b/lib/libc/include/any-macos-any/mach/arm/thread_state.h similarity index 97% rename from lib/libc/include/aarch64-macos.13-none/mach/arm/thread_state.h rename to lib/libc/include/any-macos-any/mach/arm/thread_state.h index d72a3c2013..b54d19d806 100644 --- a/lib/libc/include/aarch64-macos.13-none/mach/arm/thread_state.h +++ b/lib/libc/include/any-macos-any/mach/arm/thread_state.h @@ -39,4 +39,4 @@ #endif /* defined (__arm__) || defined (__arm64__) */ -#endif /* _MACH_ARM_THREAD_STATE_H_ */ \ No newline at end of file +#endif /* _MACH_ARM_THREAD_STATE_H_ */ diff --git a/lib/libc/include/aarch64-macos.13-none/mach/arm/thread_status.h b/lib/libc/include/any-macos-any/mach/arm/thread_status.h similarity index 99% rename from lib/libc/include/aarch64-macos.13-none/mach/arm/thread_status.h rename to lib/libc/include/any-macos-any/mach/arm/thread_status.h index 3b6f9d0625..3585831b6f 100644 --- a/lib/libc/include/aarch64-macos.13-none/mach/arm/thread_status.h +++ b/lib/libc/include/any-macos-any/mach/arm/thread_status.h @@ -72,6 +72,7 @@ #define ARM_PAGEIN_STATE 27 + #ifndef ARM_STATE_FLAVOR_IS_OTHER_VALID #define ARM_STATE_FLAVOR_IS_OTHER_VALID(_flavor_) 0 #endif @@ -238,4 +239,4 @@ typedef _STRUCT_ARM_LEGACY_DEBUG_STATE arm_debug_state_t; #endif /* defined (__arm__) || defined (__arm64__) */ -#endif /* _ARM_THREAD_STATUS_H_ */ \ No newline at end of file +#endif /* _ARM_THREAD_STATUS_H_ */ diff --git a/lib/libc/include/aarch64-macos.13-none/mach/arm/vm_param.h b/lib/libc/include/any-macos-any/mach/arm/vm_param.h similarity index 99% rename from lib/libc/include/aarch64-macos.13-none/mach/arm/vm_param.h rename to lib/libc/include/any-macos-any/mach/arm/vm_param.h index 6915e15f85..502d37fb94 100644 --- a/lib/libc/include/aarch64-macos.13-none/mach/arm/vm_param.h +++ b/lib/libc/include/any-macos-any/mach/arm/vm_param.h @@ -109,4 +109,4 @@ #endif /* defined (__arm__) || defined (__arm64__) */ -#endif /* _MACH_ARM_VM_PARAM_H_ */ \ No newline at end of file +#endif /* _MACH_ARM_VM_PARAM_H_ */ diff --git a/lib/libc/include/aarch64-macos.12-none/mach/arm/vm_types.h b/lib/libc/include/any-macos-any/mach/arm/vm_types.h similarity index 99% rename from lib/libc/include/aarch64-macos.12-none/mach/arm/vm_types.h rename to lib/libc/include/any-macos-any/mach/arm/vm_types.h index 396923d4c2..ba88ce417c 100644 --- a/lib/libc/include/aarch64-macos.12-none/mach/arm/vm_types.h +++ b/lib/libc/include/any-macos-any/mach/arm/vm_types.h @@ -159,4 +159,4 @@ typedef vm_offset_t mach_port_context_t; #endif /* defined (__arm__) || defined (__arm64__) */ -#endif /* _MACH_ARM_VM_TYPES_H_ */ \ No newline at end of file +#endif /* _MACH_ARM_VM_TYPES_H_ */ diff --git a/lib/libc/include/any-macos-any/mach/boolean.h b/lib/libc/include/any-macos-any/mach/boolean.h index ba88429343..6ef6d4bcd5 100644 --- a/lib/libc/include/any-macos-any/mach/boolean.h +++ b/lib/libc/include/any-macos-any/mach/boolean.h @@ -85,4 +85,4 @@ #define FALSE 0 #endif /* FALSE */ -#endif /* _MACH_BOOLEAN_H_ */ \ No newline at end of file +#endif /* _MACH_BOOLEAN_H_ */ diff --git a/lib/libc/include/any-macos.13-any/mach/clock.h b/lib/libc/include/any-macos-any/mach/clock.h similarity index 99% rename from lib/libc/include/any-macos.13-any/mach/clock.h rename to lib/libc/include/any-macos-any/mach/clock.h index 04c8b8ec0b..54570a28e8 100644 --- a/lib/libc/include/any-macos.13-any/mach/clock.h +++ b/lib/libc/include/any-macos-any/mach/clock.h @@ -246,4 +246,4 @@ union __ReplyUnion__clock_subsystem { __AfterMigUserHeader #endif /* __AfterMigUserHeader */ -#endif /* _clock_user_ */ \ No newline at end of file +#endif /* _clock_user_ */ diff --git a/lib/libc/include/any-macos.13-any/mach/clock_priv.h b/lib/libc/include/any-macos-any/mach/clock_priv.h similarity index 99% rename from lib/libc/include/any-macos.13-any/mach/clock_priv.h rename to lib/libc/include/any-macos-any/mach/clock_priv.h index ced1925a05..57ac9b6a9b 100644 --- a/lib/libc/include/any-macos.13-any/mach/clock_priv.h +++ b/lib/libc/include/any-macos-any/mach/clock_priv.h @@ -200,4 +200,4 @@ union __ReplyUnion__clock_priv_subsystem { __AfterMigUserHeader #endif /* __AfterMigUserHeader */ -#endif /* _clock_priv_user_ */ \ No newline at end of file +#endif /* _clock_priv_user_ */ diff --git a/lib/libc/include/any-macos-any/mach/clock_types.h b/lib/libc/include/any-macos-any/mach/clock_types.h index 87daf9270a..9b3d49a94b 100644 --- a/lib/libc/include/any-macos-any/mach/clock_types.h +++ b/lib/libc/include/any-macos-any/mach/clock_types.h @@ -124,4 +124,4 @@ typedef struct mach_timespec mach_timespec_t; #define BAD_ALRMTYPE(t) (((t) &~ TIME_RELATIVE) != 0) -#endif /* _MACH_CLOCK_TYPES_H_ */ \ No newline at end of file +#endif /* _MACH_CLOCK_TYPES_H_ */ diff --git a/lib/libc/include/any-macos-any/mach/dyld_kernel.h b/lib/libc/include/any-macos-any/mach/dyld_kernel.h index 606ac289f2..b28e45f199 100644 --- a/lib/libc/include/any-macos-any/mach/dyld_kernel.h +++ b/lib/libc/include/any-macos-any/mach/dyld_kernel.h @@ -63,4 +63,4 @@ typedef struct dyld_kernel_image_info dyld_kernel_image_info_t; typedef struct dyld_kernel_process_info dyld_kernel_process_info_t; typedef dyld_kernel_image_info_t *dyld_kernel_image_info_array_t; -#endif /* _MACH_DYLIB_INFO_H_ */ \ No newline at end of file +#endif /* _MACH_DYLIB_INFO_H_ */ diff --git a/lib/libc/include/any-macos-any/mach/error.h b/lib/libc/include/any-macos-any/mach/error.h index 0643a9881f..50c77b9cda 100644 --- a/lib/libc/include/any-macos-any/mach/error.h +++ b/lib/libc/include/any-macos-any/mach/error.h @@ -111,4 +111,4 @@ typedef kern_return_t mach_error_t; typedef mach_error_t (* mach_error_fn_t)( void ); -#endif /* _MACH_ERROR_H_ */ \ No newline at end of file +#endif /* _MACH_ERROR_H_ */ diff --git a/lib/libc/include/any-macos.13-any/mach/exception_types.h b/lib/libc/include/any-macos-any/mach/exception_types.h similarity index 98% rename from lib/libc/include/any-macos.13-any/mach/exception_types.h rename to lib/libc/include/any-macos-any/mach/exception_types.h index d56a8ac748..5e9e522dc2 100644 --- a/lib/libc/include/any-macos.13-any/mach/exception_types.h +++ b/lib/libc/include/any-macos-any/mach/exception_types.h @@ -127,7 +127,7 @@ */ #define MACH_EXCEPTION_BACKTRACE_PREFERRED 0x20000000 -/* Prefer sending a catch_exception_raice_backtrace message, if applicable */ +/* Prefer sending a catch_exception_raise_backtrace message, if applicable */ #define MACH_EXCEPTION_ERRORS 0x40000000 /* include additional exception specific errors, not used yet. */ @@ -211,4 +211,4 @@ typedef mach_exception_data_type_t mach_exception_subcode_t; #endif /* ASSEMBLER */ -#endif /* _MACH_EXCEPTION_TYPES_H_ */ \ No newline at end of file +#endif /* _MACH_EXCEPTION_TYPES_H_ */ diff --git a/lib/libc/include/any-macos-any/mach/host_info.h b/lib/libc/include/any-macos-any/mach/host_info.h index 362a7d40c8..648d25ca79 100644 --- a/lib/libc/include/any-macos-any/mach/host_info.h +++ b/lib/libc/include/any-macos-any/mach/host_info.h @@ -257,4 +257,4 @@ typedef struct host_preferred_user_arch *host_preferred_user_arch_t; -#endif /* _MACH_HOST_INFO_H_ */ \ No newline at end of file +#endif /* _MACH_HOST_INFO_H_ */ diff --git a/lib/libc/include/any-macos-any/mach/host_notify.h b/lib/libc/include/any-macos-any/mach/host_notify.h index 9816fcbbf4..cda654bf4c 100644 --- a/lib/libc/include/any-macos-any/mach/host_notify.h +++ b/lib/libc/include/any-macos-any/mach/host_notify.h @@ -36,4 +36,4 @@ #define HOST_CALENDAR_CHANGED_REPLYID 950 #define HOST_CALENDAR_SET_REPLYID 951 -#endif /* _MACH_HOST_NOTIFY_H_ */ \ No newline at end of file +#endif /* _MACH_HOST_NOTIFY_H_ */ diff --git a/lib/libc/include/any-macos.13-any/mach/host_priv.h b/lib/libc/include/any-macos-any/mach/host_priv.h similarity index 99% rename from lib/libc/include/any-macos.13-any/mach/host_priv.h rename to lib/libc/include/any-macos-any/mach/host_priv.h index 79d27d1f67..1df7cfd830 100644 --- a/lib/libc/include/any-macos.13-any/mach/host_priv.h +++ b/lib/libc/include/any-macos-any/mach/host_priv.h @@ -1164,4 +1164,4 @@ union __ReplyUnion__host_priv_subsystem { __AfterMigUserHeader #endif /* __AfterMigUserHeader */ -#endif /* _host_priv_user_ */ \ No newline at end of file +#endif /* _host_priv_user_ */ diff --git a/lib/libc/include/any-macos.13-any/mach/host_security.h b/lib/libc/include/any-macos-any/mach/host_security.h similarity index 99% rename from lib/libc/include/any-macos.13-any/mach/host_security.h rename to lib/libc/include/any-macos-any/mach/host_security.h index 4f7e86ad30..269a0ffb01 100644 --- a/lib/libc/include/any-macos.13-any/mach/host_security.h +++ b/lib/libc/include/any-macos-any/mach/host_security.h @@ -222,4 +222,4 @@ union __ReplyUnion__host_security_subsystem { __AfterMigUserHeader #endif /* __AfterMigUserHeader */ -#endif /* _host_security_user_ */ \ No newline at end of file +#endif /* _host_security_user_ */ diff --git a/lib/libc/include/any-macos-any/mach/host_special_ports.h b/lib/libc/include/any-macos-any/mach/host_special_ports.h index 75cd3c7399..782f0b0753 100644 --- a/lib/libc/include/any-macos-any/mach/host_special_ports.h +++ b/lib/libc/include/any-macos-any/mach/host_special_ports.h @@ -76,10 +76,10 @@ */ #define HOST_PORT 1 #define HOST_PRIV_PORT 2 -#define HOST_IO_MASTER_PORT 3 +#define HOST_IO_MAIN_PORT 3 #define HOST_MAX_SPECIAL_KERNEL_PORT 7 /* room to grow */ -#define HOST_LAST_SPECIAL_KERNEL_PORT HOST_IO_MASTER_PORT +#define HOST_LAST_SPECIAL_KERNEL_PORT HOST_IO_MAIN_PORT /* * Not provided by kernel @@ -109,8 +109,9 @@ #define HOST_FILECOORDINATIOND_PORT (23 + HOST_MAX_SPECIAL_KERNEL_PORT) #define HOST_FAIRPLAYD_PORT (24 + HOST_MAX_SPECIAL_KERNEL_PORT) #define HOST_IOCOMPRESSIONSTATS_PORT (25 + HOST_MAX_SPECIAL_KERNEL_PORT) +#define HOST_MEMORY_ERROR_PORT (26 + HOST_MAX_SPECIAL_KERNEL_PORT) -#define HOST_MAX_SPECIAL_PORT HOST_IOCOMPRESSIONSTATS_PORT +#define HOST_MAX_SPECIAL_PORT HOST_MEMORY_ERROR_PORT /* MAX = last since rdar://59872249 */ /* obsolete name */ @@ -138,10 +139,10 @@ HOST_LOCAL_NODE, HOST_PRIV_PORT, (port))) #define host_set_host_priv_port(host, port) (KERN_INVALID_ARGUMENT) -#define host_get_io_master_port(host, port) \ +#define host_get_io_main_port(host, port) \ (host_get_special_port((host), \ - HOST_LOCAL_NODE, HOST_IO_MASTER_PORT, (port))) -#define host_set_io_master_port(host, port) (KERN_INVALID_ARGUMENT) + HOST_LOCAL_NODE, HOST_IO_MAIN_PORT, (port))) +#define host_set_io_main_port(host, port) (KERN_INVALID_ARGUMENT) /* * User-settable special ports. @@ -281,9 +282,14 @@ #define host_set_iocompressionstats_port(host, port) \ (host_set_special_port((host), HOST_IOCOMPRESSIONSTATS_PORT, (port))) +#define host_get_memory_error_port(host, port) \ + (host_get_special_port((host), \ + HOST_LOCAL_NODE, HOST_MEMORY_ERROR_PORT, (port))) +#define host_set_memory_error_port(host, port) \ + (host_set_special_port((host), HOST_MEMORY_ERROR_PORT, (port))) /* HOST_RESOURCE_NOTIFY_PORT doesn't #defines these conveniences. * All lookups go through send_resource_violation() */ -#endif /* _MACH_HOST_SPECIAL_PORTS_H_ */ \ No newline at end of file +#endif /* _MACH_HOST_SPECIAL_PORTS_H_ */ diff --git a/lib/libc/include/x86_64-macos.13-none/mach/i386/_structs.h b/lib/libc/include/any-macos-any/mach/i386/_structs.h similarity index 99% rename from lib/libc/include/x86_64-macos.13-none/mach/i386/_structs.h rename to lib/libc/include/any-macos-any/mach/i386/_structs.h index 02c135184f..8d4b9bf788 100644 --- a/lib/libc/include/x86_64-macos.13-none/mach/i386/_structs.h +++ b/lib/libc/include/any-macos-any/mach/i386/_structs.h @@ -1313,4 +1313,4 @@ _STRUCT_X86_CPMU_STATE64 #endif /* defined (__i386__) || defined (__x86_64__) */ -#endif /* _MACH_I386__STRUCTS_H_ */ \ No newline at end of file +#endif /* _MACH_I386__STRUCTS_H_ */ diff --git a/lib/libc/include/x86_64-macos.13-none/mach/i386/boolean.h b/lib/libc/include/any-macos-any/mach/i386/boolean.h similarity index 98% rename from lib/libc/include/x86_64-macos.13-none/mach/i386/boolean.h rename to lib/libc/include/any-macos-any/mach/i386/boolean.h index b1d69a193b..85bd6986af 100644 --- a/lib/libc/include/x86_64-macos.13-none/mach/i386/boolean.h +++ b/lib/libc/include/any-macos-any/mach/i386/boolean.h @@ -75,4 +75,4 @@ typedef int boolean_t; #endif /* defined (__i386__) || defined (__x86_64__) */ -#endif /* _MACH_I386_BOOLEAN_H_ */ \ No newline at end of file +#endif /* _MACH_I386_BOOLEAN_H_ */ diff --git a/lib/libc/include/x86_64-macos.12-none/mach/i386/exception.h b/lib/libc/include/any-macos-any/mach/i386/exception.h similarity index 99% rename from lib/libc/include/x86_64-macos.12-none/mach/i386/exception.h rename to lib/libc/include/any-macos-any/mach/i386/exception.h index 1a8b2c0d1d..07bf09570b 100644 --- a/lib/libc/include/x86_64-macos.12-none/mach/i386/exception.h +++ b/lib/libc/include/any-macos-any/mach/i386/exception.h @@ -136,4 +136,4 @@ #endif /* defined (__i386__) || defined (__x86_64__) */ -#endif /* _MACH_I386_EXCEPTION_H_ */ \ No newline at end of file +#endif /* _MACH_I386_EXCEPTION_H_ */ diff --git a/lib/libc/include/x86_64-macos.13-none/mach/i386/fp_reg.h b/lib/libc/include/any-macos-any/mach/i386/fp_reg.h similarity index 99% rename from lib/libc/include/x86_64-macos.13-none/mach/i386/fp_reg.h rename to lib/libc/include/any-macos-any/mach/i386/fp_reg.h index e968978842..c5bca0a30a 100644 --- a/lib/libc/include/x86_64-macos.13-none/mach/i386/fp_reg.h +++ b/lib/libc/include/any-macos-any/mach/i386/fp_reg.h @@ -119,4 +119,4 @@ #endif /* defined (__i386__) || defined (__x86_64__) */ -#endif /* _I386_FP_SAVE_H_ */ \ No newline at end of file +#endif /* _I386_FP_SAVE_H_ */ diff --git a/lib/libc/include/x86_64-macos.12-none/mach/i386/kern_return.h b/lib/libc/include/any-macos-any/mach/i386/kern_return.h similarity index 98% rename from lib/libc/include/x86_64-macos.12-none/mach/i386/kern_return.h rename to lib/libc/include/any-macos-any/mach/i386/kern_return.h index 3a12665ead..135c905efb 100644 --- a/lib/libc/include/x86_64-macos.12-none/mach/i386/kern_return.h +++ b/lib/libc/include/any-macos-any/mach/i386/kern_return.h @@ -75,4 +75,4 @@ typedef int kern_return_t; #endif /* defined (__i386__) || defined (__x86_64__) */ -#endif /* _MACH_I386_KERN_RETURN_H_ */ \ No newline at end of file +#endif /* _MACH_I386_KERN_RETURN_H_ */ diff --git a/lib/libc/include/x86_64-macos.12-none/mach/i386/processor_info.h b/lib/libc/include/any-macos-any/mach/i386/processor_info.h similarity index 97% rename from lib/libc/include/x86_64-macos.12-none/mach/i386/processor_info.h rename to lib/libc/include/any-macos-any/mach/i386/processor_info.h index 5a9aeac9cb..42acdcb7af 100644 --- a/lib/libc/include/x86_64-macos.12-none/mach/i386/processor_info.h +++ b/lib/libc/include/any-macos-any/mach/i386/processor_info.h @@ -38,4 +38,4 @@ #endif /* defined (__i386__) || defined (__x86_64__) */ -#endif /* _MACH_I386_PROCESSOR_INFO_H_ */ \ No newline at end of file +#endif /* _MACH_I386_PROCESSOR_INFO_H_ */ diff --git a/lib/libc/include/x86_64-macos.13-none/mach/i386/rpc.h b/lib/libc/include/any-macos-any/mach/i386/rpc.h similarity index 97% rename from lib/libc/include/x86_64-macos.13-none/mach/i386/rpc.h rename to lib/libc/include/any-macos-any/mach/i386/rpc.h index fcd2829f6b..3fd1c977d6 100644 --- a/lib/libc/include/x86_64-macos.13-none/mach/i386/rpc.h +++ b/lib/libc/include/any-macos-any/mach/i386/rpc.h @@ -36,4 +36,4 @@ #endif /* defined (__i386__) || defined (__x86_64__) */ -#endif /* _MACH_I386_RPC_H_ */ \ No newline at end of file +#endif /* _MACH_I386_RPC_H_ */ diff --git a/lib/libc/include/x86_64-macos.12-none/mach/i386/thread_state.h b/lib/libc/include/any-macos-any/mach/i386/thread_state.h similarity index 97% rename from lib/libc/include/x86_64-macos.12-none/mach/i386/thread_state.h rename to lib/libc/include/any-macos-any/mach/i386/thread_state.h index 421917aeb3..e1819f27ec 100644 --- a/lib/libc/include/x86_64-macos.12-none/mach/i386/thread_state.h +++ b/lib/libc/include/any-macos-any/mach/i386/thread_state.h @@ -39,4 +39,4 @@ #endif /* defined (__i386__) || defined (__x86_64__) */ -#endif /* _MACH_I386_THREAD_STATE_H_ */ \ No newline at end of file +#endif /* _MACH_I386_THREAD_STATE_H_ */ diff --git a/lib/libc/include/x86_64-macos.13-none/mach/i386/thread_status.h b/lib/libc/include/any-macos-any/mach/i386/thread_status.h similarity index 99% rename from lib/libc/include/x86_64-macos.13-none/mach/i386/thread_status.h rename to lib/libc/include/any-macos-any/mach/i386/thread_status.h index a3fd3e8244..6500bdbb02 100644 --- a/lib/libc/include/x86_64-macos.13-none/mach/i386/thread_status.h +++ b/lib/libc/include/any-macos-any/mach/i386/thread_status.h @@ -369,4 +369,4 @@ typedef struct x86_avx512_state x86_avx512_state_t; #endif /* defined (__i386__) || defined (__x86_64__) */ -#endif /* _MACH_I386_THREAD_STATUS_H_ */ \ No newline at end of file +#endif /* _MACH_I386_THREAD_STATUS_H_ */ diff --git a/lib/libc/include/x86_64-macos.13-none/mach/i386/vm_param.h b/lib/libc/include/any-macos-any/mach/i386/vm_param.h similarity index 99% rename from lib/libc/include/x86_64-macos.13-none/mach/i386/vm_param.h rename to lib/libc/include/any-macos-any/mach/i386/vm_param.h index 953f4a1605..9809bbe68b 100644 --- a/lib/libc/include/x86_64-macos.13-none/mach/i386/vm_param.h +++ b/lib/libc/include/any-macos-any/mach/i386/vm_param.h @@ -160,4 +160,4 @@ #endif /* defined (__i386__) || defined (__x86_64__) */ -#endif /* _MACH_I386_VM_PARAM_H_ */ \ No newline at end of file +#endif /* _MACH_I386_VM_PARAM_H_ */ diff --git a/lib/libc/include/x86_64-macos.12-none/mach/i386/vm_types.h b/lib/libc/include/any-macos-any/mach/i386/vm_types.h similarity index 99% rename from lib/libc/include/x86_64-macos.12-none/mach/i386/vm_types.h rename to lib/libc/include/any-macos-any/mach/i386/vm_types.h index f3e956d3e2..e41c111557 100644 --- a/lib/libc/include/x86_64-macos.12-none/mach/i386/vm_types.h +++ b/lib/libc/include/any-macos-any/mach/i386/vm_types.h @@ -143,4 +143,4 @@ typedef mach_vm_address_t mach_port_context_t; #endif /* defined (__i386__) || defined (__x86_64__) */ -#endif /* _MACH_I386_VM_TYPES_H_ */ \ No newline at end of file +#endif /* _MACH_I386_VM_TYPES_H_ */ diff --git a/lib/libc/include/any-macos-any/mach/kern_return.h b/lib/libc/include/any-macos-any/mach/kern_return.h index 258a2e8c5a..d60a113e67 100644 --- a/lib/libc/include/any-macos-any/mach/kern_return.h +++ b/lib/libc/include/any-macos-any/mach/kern_return.h @@ -343,4 +343,4 @@ /* Maximum return value allowable */ -#endif /* _MACH_KERN_RETURN_H_ */ \ No newline at end of file +#endif /* _MACH_KERN_RETURN_H_ */ diff --git a/lib/libc/include/any-macos-any/mach/kmod.h b/lib/libc/include/any-macos-any/mach/kmod.h index 57ff5bd22f..d23086b52f 100644 --- a/lib/libc/include/any-macos-any/mach/kmod.h +++ b/lib/libc/include/any-macos-any/mach/kmod.h @@ -177,4 +177,4 @@ typedef kmod_info_t * kmod_info_array_t; __END_DECLS -#endif /* _MACH_KMOD_H_ */ \ No newline at end of file +#endif /* _MACH_KMOD_H_ */ diff --git a/lib/libc/include/any-macos.13-any/mach/mach.h b/lib/libc/include/any-macos-any/mach/mach.h similarity index 99% rename from lib/libc/include/any-macos.13-any/mach/mach.h rename to lib/libc/include/any-macos-any/mach/mach.h index 712d4e1cab..a6fe1f0832 100644 --- a/lib/libc/include/any-macos.13-any/mach/mach.h +++ b/lib/libc/include/any-macos-any/mach/mach.h @@ -238,4 +238,4 @@ extern void voucher_mach_msg_revert(voucher_mach_msg_state_t state); __END_DECLS -#endif /* _MACH_H_ */ \ No newline at end of file +#endif /* _MACH_H_ */ diff --git a/lib/libc/include/any-macos-any/mach/mach_error.h b/lib/libc/include/any-macos-any/mach/mach_error.h index bf800a9b07..538b5cb1b0 100644 --- a/lib/libc/include/any-macos-any/mach/mach_error.h +++ b/lib/libc/include/any-macos-any/mach/mach_error.h @@ -90,4 +90,4 @@ char *mach_error_type( ); __END_DECLS -#endif /* _MACH_ERROR_ */ \ No newline at end of file +#endif /* _MACH_ERROR_ */ diff --git a/lib/libc/include/any-macos.13-any/mach/mach_host.h b/lib/libc/include/any-macos-any/mach/mach_host.h similarity index 99% rename from lib/libc/include/any-macos.13-any/mach/mach_host.h rename to lib/libc/include/any-macos-any/mach/mach_host.h index 057c069748..64b9dc669f 100644 --- a/lib/libc/include/any-macos.13-any/mach/mach_host.h +++ b/lib/libc/include/any-macos-any/mach/mach_host.h @@ -1289,4 +1289,4 @@ union __ReplyUnion__mach_host_subsystem { __AfterMigUserHeader #endif /* __AfterMigUserHeader */ -#endif /* _mach_host_user_ */ \ No newline at end of file +#endif /* _mach_host_user_ */ diff --git a/lib/libc/include/any-macos-any/mach/mach_init.h b/lib/libc/include/any-macos-any/mach/mach_init.h index fbce7117c7..4838052e5c 100644 --- a/lib/libc/include/any-macos-any/mach/mach_init.h +++ b/lib/libc/include/any-macos-any/mach/mach_init.h @@ -111,4 +111,4 @@ extern int (*vprintf_stderr_func)(const char *format, va_list ap) __printflike(1 __END_DECLS -#endif /* _MACH_INIT_ */ \ No newline at end of file +#endif /* _MACH_INIT_ */ diff --git a/lib/libc/include/any-macos-any/mach/mach_interface.h b/lib/libc/include/any-macos-any/mach/mach_interface.h index 466a57a348..e5c8cc39e1 100644 --- a/lib/libc/include/any-macos-any/mach/mach_interface.h +++ b/lib/libc/include/any-macos-any/mach/mach_interface.h @@ -42,7 +42,6 @@ #include #include #include -#include #include #include #include @@ -50,4 +49,4 @@ #include #include -#endif /* _MACH_INTERFACE_H_ */ \ No newline at end of file +#endif /* _MACH_INTERFACE_H_ */ diff --git a/lib/libc/include/any-macos.13-any/mach/mach_port.h b/lib/libc/include/any-macos-any/mach/mach_port.h similarity index 99% rename from lib/libc/include/any-macos.13-any/mach/mach_port.h rename to lib/libc/include/any-macos-any/mach/mach_port.h index 4220fad6b9..e19136b410 100644 --- a/lib/libc/include/any-macos.13-any/mach/mach_port.h +++ b/lib/libc/include/any-macos-any/mach/mach_port.h @@ -1939,4 +1939,4 @@ union __ReplyUnion__mach_port_subsystem { __AfterMigUserHeader #endif /* __AfterMigUserHeader */ -#endif /* _mach_port_user_ */ \ No newline at end of file +#endif /* _mach_port_user_ */ diff --git a/lib/libc/include/any-macos-any/mach/mach_time.h b/lib/libc/include/any-macos-any/mach/mach_time.h index 4a936ca6cc..67618e0076 100644 --- a/lib/libc/include/any-macos-any/mach/mach_time.h +++ b/lib/libc/include/any-macos-any/mach/mach_time.h @@ -67,7 +67,7 @@ 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); - __END_DECLS -#endif /* _MACH_MACH_TIME_H_ */ \ No newline at end of file + +#endif /* _MACH_MACH_TIME_H_ */ diff --git a/lib/libc/include/any-macos-any/mach/mach_traps.h b/lib/libc/include/any-macos-any/mach/mach_traps.h index 9c5857c524..ed17b20bb4 100644 --- a/lib/libc/include/any-macos-any/mach/mach_traps.h +++ b/lib/libc/include/any-macos-any/mach/mach_traps.h @@ -299,4 +299,4 @@ extern kern_return_t debug_control_port_for_pid( __END_DECLS -#endif /* _MACH_MACH_TRAPS_H_ */ \ No newline at end of file +#endif /* _MACH_MACH_TRAPS_H_ */ diff --git a/lib/libc/include/any-macos.13-any/mach/mach_types.h b/lib/libc/include/any-macos-any/mach/mach_types.h similarity index 99% rename from lib/libc/include/any-macos.13-any/mach/mach_types.h rename to lib/libc/include/any-macos-any/mach/mach_types.h index 0c0f4c5ccc..a8b8785452 100644 --- a/lib/libc/include/any-macos.13-any/mach/mach_types.h +++ b/lib/libc/include/any-macos-any/mach/mach_types.h @@ -291,4 +291,4 @@ typedef char *labelstr_t; */ #include -#endif /* _MACH_MACH_TYPES_H_ */ \ No newline at end of file +#endif /* _MACH_MACH_TYPES_H_ */ diff --git a/lib/libc/include/any-macos.13-any/mach/mach_voucher_types.h b/lib/libc/include/any-macos-any/mach/mach_voucher_types.h similarity index 99% rename from lib/libc/include/any-macos.13-any/mach/mach_voucher_types.h rename to lib/libc/include/any-macos-any/mach/mach_voucher_types.h index 5a54f93633..d54abdd41d 100644 --- a/lib/libc/include/any-macos.13-any/mach/mach_voucher_types.h +++ b/lib/libc/include/any-macos-any/mach/mach_voucher_types.h @@ -245,4 +245,4 @@ typedef uint32_t mach_voucher_attr_importance_refs; */ #define MACH_ACTIVITY_ID_COUNT_MAX 16 -#endif /* _MACH_VOUCHER_TYPES_H_ */ \ No newline at end of file +#endif /* _MACH_VOUCHER_TYPES_H_ */ diff --git a/lib/libc/include/any-macos.13-any/mach/machine.h b/lib/libc/include/any-macos-any/mach/machine.h similarity index 99% rename from lib/libc/include/any-macos.13-any/mach/machine.h rename to lib/libc/include/any-macos-any/mach/machine.h index 21f1b3892e..8db950c157 100644 --- a/lib/libc/include/any-macos.13-any/mach/machine.h +++ b/lib/libc/include/any-macos-any/mach/machine.h @@ -396,6 +396,7 @@ typedef integer_t cpu_threadtype_t; #define CPUFAMILY_ARM_FIRESTORM_ICESTORM 0x1b588bb3 #define CPUFAMILY_ARM_BLIZZARD_AVALANCHE 0xda33d83d #define CPUFAMILY_ARM_EVEREST_SAWTOOTH 0x8765edea +#define CPUFAMILY_ARM_COLL 0x2876f5b5 /* Described in rdar://64125549 */ #define CPUSUBFAMILY_UNKNOWN 0 @@ -404,10 +405,11 @@ typedef integer_t cpu_threadtype_t; #define CPUSUBFAMILY_ARM_M 3 #define CPUSUBFAMILY_ARM_HS 4 #define CPUSUBFAMILY_ARM_HC_HD 5 +#define CPUSUBFAMILY_ARM_HA 6 /* The following synonyms are deprecated: */ #define CPUFAMILY_INTEL_6_23 CPUFAMILY_INTEL_PENRYN #define CPUFAMILY_INTEL_6_26 CPUFAMILY_INTEL_NEHALEM -#endif /* _MACH_MACHINE_H_ */ \ No newline at end of file +#endif /* _MACH_MACHINE_H_ */ diff --git a/lib/libc/include/any-macos-any/mach/machine/_structs.h b/lib/libc/include/any-macos-any/mach/machine/_structs.h index 915d652c83..858368fc5d 100644 --- a/lib/libc/include/any-macos-any/mach/machine/_structs.h +++ b/lib/libc/include/any-macos-any/mach/machine/_structs.h @@ -37,4 +37,4 @@ #error architecture not supported #endif -#endif /* _MACH_MACHINE__STRUCTS_H_ */ \ No newline at end of file +#endif /* _MACH_MACHINE__STRUCTS_H_ */ diff --git a/lib/libc/include/any-macos-any/mach/machine/boolean.h b/lib/libc/include/any-macos-any/mach/machine/boolean.h index 9d69543df9..dcc5d133f9 100644 --- a/lib/libc/include/any-macos-any/mach/machine/boolean.h +++ b/lib/libc/include/any-macos-any/mach/machine/boolean.h @@ -37,4 +37,4 @@ #error architecture not supported #endif -#endif /* _MACH_MACHINE_BOOLEAN_H_ */ \ No newline at end of file +#endif /* _MACH_MACHINE_BOOLEAN_H_ */ diff --git a/lib/libc/include/any-macos-any/mach/machine/exception.h b/lib/libc/include/any-macos-any/mach/machine/exception.h index 20b4f63ae6..b98d4b0ef7 100644 --- a/lib/libc/include/any-macos-any/mach/machine/exception.h +++ b/lib/libc/include/any-macos-any/mach/machine/exception.h @@ -37,4 +37,4 @@ #error architecture not supported #endif -#endif /* _MACH_MACHINE_EXCEPTION_H_ */ \ No newline at end of file +#endif /* _MACH_MACHINE_EXCEPTION_H_ */ diff --git a/lib/libc/include/any-macos-any/mach/machine/kern_return.h b/lib/libc/include/any-macos-any/mach/machine/kern_return.h index 67eac8ddf3..adae6e8bcb 100644 --- a/lib/libc/include/any-macos-any/mach/machine/kern_return.h +++ b/lib/libc/include/any-macos-any/mach/machine/kern_return.h @@ -37,4 +37,4 @@ #error architecture not supported #endif -#endif /* _MACH_MACHINE_KERN_RETURN_H_ */ \ No newline at end of file +#endif /* _MACH_MACHINE_KERN_RETURN_H_ */ diff --git a/lib/libc/include/any-macos-any/mach/machine/processor_info.h b/lib/libc/include/any-macos-any/mach/machine/processor_info.h index e5a6a075ff..8150d716ac 100644 --- a/lib/libc/include/any-macos-any/mach/machine/processor_info.h +++ b/lib/libc/include/any-macos-any/mach/machine/processor_info.h @@ -37,4 +37,4 @@ #error architecture not supported #endif -#endif /* _MACH_MACHINE_PROCESSOR_INFO_H_ */ \ No newline at end of file +#endif /* _MACH_MACHINE_PROCESSOR_INFO_H_ */ diff --git a/lib/libc/include/any-macos-any/mach/machine/rpc.h b/lib/libc/include/any-macos-any/mach/machine/rpc.h index b4ac238e1d..37f9024726 100644 --- a/lib/libc/include/any-macos-any/mach/machine/rpc.h +++ b/lib/libc/include/any-macos-any/mach/machine/rpc.h @@ -37,4 +37,4 @@ #error architecture not supported #endif -#endif /* _MACH_MACHINE_RPC_H_ */ \ No newline at end of file +#endif /* _MACH_MACHINE_RPC_H_ */ diff --git a/lib/libc/include/any-macos-any/mach/machine/thread_state.h b/lib/libc/include/any-macos-any/mach/machine/thread_state.h index fe815dac87..2bd307a021 100644 --- a/lib/libc/include/any-macos-any/mach/machine/thread_state.h +++ b/lib/libc/include/any-macos-any/mach/machine/thread_state.h @@ -41,4 +41,4 @@ #define THREAD_STATE_MAX 1296 -#endif /* _MACH_MACHINE_THREAD_STATE_H_ */ \ No newline at end of file +#endif /* _MACH_MACHINE_THREAD_STATE_H_ */ diff --git a/lib/libc/include/any-macos-any/mach/machine/thread_status.h b/lib/libc/include/any-macos-any/mach/machine/thread_status.h index 6b087b68b0..3e319e8cef 100644 --- a/lib/libc/include/any-macos-any/mach/machine/thread_status.h +++ b/lib/libc/include/any-macos-any/mach/machine/thread_status.h @@ -37,4 +37,4 @@ #error architecture not supported #endif -#endif /* _MACH_MACHINE_THREAD_STATUS_H_ */ \ No newline at end of file +#endif /* _MACH_MACHINE_THREAD_STATUS_H_ */ diff --git a/lib/libc/include/any-macos-any/mach/machine/vm_param.h b/lib/libc/include/any-macos-any/mach/machine/vm_param.h index dee8f8b2ce..dcc0ec5398 100644 --- a/lib/libc/include/any-macos-any/mach/machine/vm_param.h +++ b/lib/libc/include/any-macos-any/mach/machine/vm_param.h @@ -37,4 +37,4 @@ #error architecture not supported #endif -#endif /* _MACH_MACHINE_VM_PARAM_H_ */ \ No newline at end of file +#endif /* _MACH_MACHINE_VM_PARAM_H_ */ diff --git a/lib/libc/include/any-macos-any/mach/machine/vm_types.h b/lib/libc/include/any-macos-any/mach/machine/vm_types.h index 5613cd797c..7f1605a277 100644 --- a/lib/libc/include/any-macos-any/mach/machine/vm_types.h +++ b/lib/libc/include/any-macos-any/mach/machine/vm_types.h @@ -37,4 +37,4 @@ #error architecture not supported #endif -#endif /* _MACH_MACHINE_VM_TYPES_H_ */ \ No newline at end of file +#endif /* _MACH_MACHINE_VM_TYPES_H_ */ diff --git a/lib/libc/include/any-macos-any/mach/memory_object_types.h b/lib/libc/include/any-macos-any/mach/memory_object_types.h index a33f94e423..a6bc3ceff8 100644 --- a/lib/libc/include/any-macos-any/mach/memory_object_types.h +++ b/lib/libc/include/any-macos-any/mach/memory_object_types.h @@ -159,6 +159,12 @@ typedef int memory_object_copy_strategy_t; * internal. */ +#define MEMORY_OBJECT_COPY_DELAY_FORK 6 +/* + * ... Like MEMORY_OBJECT_COPY_DELAY for vm_map_fork() but like + * MEMORY_OBJECT_COPY_NONE otherwise. + */ + typedef int memory_object_return_t; /* Which pages to return to manager * this time (lock_request) */ @@ -302,4 +308,4 @@ typedef struct memory_object_attr_info memory_object_attr_info_data_t; MAP_MEM_FLAGS_USER) -#endif /* _MACH_MEMORY_OBJECT_TYPES_H_ */ \ No newline at end of file +#endif /* _MACH_MEMORY_OBJECT_TYPES_H_ */ diff --git a/lib/libc/include/any-macos.13-any/mach/message.h b/lib/libc/include/any-macos-any/mach/message.h similarity index 97% rename from lib/libc/include/any-macos.13-any/mach/message.h rename to lib/libc/include/any-macos-any/mach/message.h index a6e6e2e043..fcc99c075e 100644 --- a/lib/libc/include/any-macos.13-any/mach/message.h +++ b/lib/libc/include/any-macos-any/mach/message.h @@ -72,6 +72,7 @@ #define _MACH_MESSAGE_H_ #include +#include #include #include #include @@ -482,6 +483,22 @@ typedef struct { unsigned int val[8]; } audit_token_t; +/* + * Safe initializer for audit_token_t. + * Variables holding unset audit tokens should generally + * be initialized to INVALID_AUDIT_TOKEN_VALUE, to allow + * unset audit tokens be distinguished from the kernel's + * audit token, KERNEL_AUDIT_TOKEN_VALUE. It is `safe' + * in that it limits potential damage if such an unset + * audit token, or one of its fields, were ever to be + * interpreted as valid by mistake. Notably, the pid is + * outside of range of valid pids, and none of the + * fields correspond to privileged users or groups. + */ +#define INVALID_AUDIT_TOKEN_VALUE {{ \ + UINT_MAX, UINT_MAX, UINT_MAX, UINT_MAX, \ + UINT_MAX, UINT_MAX, UINT_MAX, UINT_MAX }} + typedef struct { mach_msg_trailer_type_t msgh_trailer_type; mach_msg_trailer_size_t msgh_trailer_size; @@ -922,4 +939,4 @@ extern kern_return_t mach_voucher_deallocate( __END_DECLS -#endif /* _MACH_MESSAGE_H_ */ \ No newline at end of file +#endif /* _MACH_MESSAGE_H_ */ diff --git a/lib/libc/include/any-macos-any/mach/mig.h b/lib/libc/include/any-macos-any/mach/mig.h index 5180ade40d..ea8a8db008 100644 --- a/lib/libc/include/any-macos-any/mach/mig.h +++ b/lib/libc/include/any-macos-any/mach/mig.h @@ -128,6 +128,7 @@ typedef struct mig_subsystem { routine[1]; /* Routine descriptor array */ } *mig_subsystem_t; + #define MIG_SUBSYSTEM_NULL ((mig_subsystem_t)0) typedef struct mig_symtab { @@ -176,4 +177,4 @@ extern void mig_deallocate(vm_address_t, vm_size_t); __END_DECLS -#endif /* _MACH_MIG_H_ */ \ No newline at end of file +#endif /* _MACH_MIG_H_ */ diff --git a/lib/libc/include/any-macos-any/mach/mig_errors.h b/lib/libc/include/any-macos-any/mach/mig_errors.h index 9af52d06d9..418a05da3a 100644 --- a/lib/libc/include/any-macos-any/mach/mig_errors.h +++ b/lib/libc/include/any-macos-any/mach/mig_errors.h @@ -122,4 +122,4 @@ __NDR_convert__mig_reply_error_t(__unused mig_reply_error_t *x) __END_DECLS -#endif /* _MACH_MIG_ERRORS_H_ */ \ No newline at end of file +#endif /* _MACH_MIG_ERRORS_H_ */ diff --git a/lib/libc/include/any-macos-any/mach/mig_strncpy_zerofill_support.h b/lib/libc/include/any-macos-any/mach/mig_strncpy_zerofill_support.h index 1aacea41df..92d0ff8e44 100644 --- a/lib/libc/include/any-macos-any/mach/mig_strncpy_zerofill_support.h +++ b/lib/libc/include/any-macos-any/mach/mig_strncpy_zerofill_support.h @@ -32,4 +32,4 @@ #ifndef __MACH_MIG_STRNCPY_ZEROFILL_SUPPORT__ #define __MACH_MIG_STRNCPY_ZEROFILL_SUPPORT__ -#endif // __MACH_MIG_STRNCPY_ZEROFILL_SUPPORT__ \ No newline at end of file +#endif // __MACH_MIG_STRNCPY_ZEROFILL_SUPPORT__ diff --git a/lib/libc/include/any-macos-any/mach/ndr.h b/lib/libc/include/any-macos-any/mach/ndr.h index 608f9acc38..61c00ff1d3 100644 --- a/lib/libc/include/any-macos-any/mach/ndr.h +++ b/lib/libc/include/any-macos-any/mach/ndr.h @@ -204,4 +204,4 @@ __END_DECLS #endif /* __NDR_convert__ */ -#endif /* _MACH_NDR_H_ */ \ No newline at end of file +#endif /* _MACH_NDR_H_ */ diff --git a/lib/libc/include/any-macos-any/mach/notify.h b/lib/libc/include/any-macos-any/mach/notify.h index d8cace1f5e..5737dbc9de 100644 --- a/lib/libc/include/any-macos-any/mach/notify.h +++ b/lib/libc/include/any-macos-any/mach/notify.h @@ -138,4 +138,4 @@ typedef struct { mach_msg_format_0_trailer_t trailer; } mach_dead_name_notification_t; -#endif /* _MACH_NOTIFY_H_ */ \ No newline at end of file +#endif /* _MACH_NOTIFY_H_ */ diff --git a/lib/libc/include/any-macos-any/mach/policy.h b/lib/libc/include/any-macos-any/mach/policy.h index 4f0df4917c..836b95f747 100644 --- a/lib/libc/include/any-macos-any/mach/policy.h +++ b/lib/libc/include/any-macos-any/mach/policy.h @@ -232,4 +232,4 @@ typedef struct policy_bases policy_base_data_t; typedef struct policy_limits policy_limit_data_t; typedef struct policy_infos policy_info_data_t; -#endif /* _MACH_POLICY_H_ */ \ No newline at end of file +#endif /* _MACH_POLICY_H_ */ diff --git a/lib/libc/include/any-macos.13-any/mach/port.h b/lib/libc/include/any-macos-any/mach/port.h similarity index 98% rename from lib/libc/include/any-macos.13-any/mach/port.h rename to lib/libc/include/any-macos-any/mach/port.h index e8412ba13a..891f593360 100644 --- a/lib/libc/include/any-macos.13-any/mach/port.h +++ b/lib/libc/include/any-macos-any/mach/port.h @@ -308,6 +308,7 @@ typedef int mach_port_flavor_t; #define MACH_PORT_DENAP_RECEIVER 6 /* indicates receive right accepts de-nap donation */ #define MACH_PORT_INFO_EXT 7 /* uses mach_port_info_ext_t */ #define MACH_PORT_GUARD_INFO 8 /* asserts if the strict guard value is correct */ +#define MACH_PORT_SERVICE_THROTTLED 9 /* info is an integer that indicates if service port is throttled or not */ #define MACH_PORT_LIMITS_INFO_COUNT ((natural_t) \ (sizeof(mach_port_limits_t)/sizeof(natural_t))) @@ -318,6 +319,7 @@ typedef int mach_port_flavor_t; (sizeof(mach_port_info_ext_t)/sizeof(natural_t))) #define MACH_PORT_GUARD_INFO_COUNT ((natural_t) \ (sizeof(mach_port_guard_info_t)/sizeof(natural_t))) +#define MACH_PORT_SERVICE_THROTTLED_COUNT 1 /* * Structure used to pass information about port allocation requests. @@ -366,6 +368,7 @@ typedef struct mach_service_port_info * mach_service_port_info_t; #define MPO_REPLY_PORT 0x1000 /* Designate port as a reply port. */ #define MPO_ENFORCE_REPLY_PORT_SEMANTICS 0x2000 /* When talking to this port, local port of mach msg needs to follow reply port semantics.*/ #define MPO_PROVISIONAL_REPLY_PORT 0x4000 /* Designate port as a provisional reply port. */ +#define MPO_PROVISIONAL_ID_PROT_OPTOUT 0x8000 /* Opted out of EXCEPTION_IDENTITY_PROTECTED violation for now */ /* @@ -424,6 +427,7 @@ enum mach_port_guard_exception_codes { kGUARD_EXC_MOD_REFS_NON_FATAL = 1u << 21, kGUARD_EXC_IMMOVABLE_NON_FATAL = 1u << 22, kGUARD_EXC_REQUIRE_REPLY_PORT_SEMANTICS = 1u << 23, + kGUARD_EXC_EXCEPTION_BEHAVIOR_ENFORCE = 1u << 24, }; #define MAX_FATAL_kGUARD_EXC_CODE (1u << 7) @@ -481,4 +485,4 @@ typedef mach_port_name_t *port_name_array_t; #endif /* !__DARWIN_UNIX03 && !_NO_PORT_T_FROM_MACH */ -#endif /* _MACH_PORT_H_ */ \ No newline at end of file +#endif /* _MACH_PORT_H_ */ diff --git a/lib/libc/include/any-macos.13-any/mach/processor.h b/lib/libc/include/any-macos-any/mach/processor.h similarity index 99% rename from lib/libc/include/any-macos.13-any/mach/processor.h rename to lib/libc/include/any-macos-any/mach/processor.h index 054f258910..8cd26f5a12 100644 --- a/lib/libc/include/any-macos.13-any/mach/processor.h +++ b/lib/libc/include/any-macos-any/mach/processor.h @@ -361,4 +361,4 @@ union __ReplyUnion__processor_subsystem { __AfterMigUserHeader #endif /* __AfterMigUserHeader */ -#endif /* _processor_user_ */ \ No newline at end of file +#endif /* _processor_user_ */ diff --git a/lib/libc/include/any-macos-any/mach/processor_info.h b/lib/libc/include/any-macos-any/mach/processor_info.h index c66a7bbee8..19e1b35e69 100644 --- a/lib/libc/include/any-macos-any/mach/processor_info.h +++ b/lib/libc/include/any-macos-any/mach/processor_info.h @@ -100,7 +100,10 @@ struct processor_basic_info { cpu_subtype_t cpu_subtype; /* subtype of cpu */ boolean_t running; /* is processor running */ int slot_num; /* slot number */ - boolean_t is_master; /* is this the master processor */ + union { + boolean_t is_master; /* deprecated */ + boolean_t is_main; /* is this the main processor */ + }; }; typedef struct processor_basic_info processor_basic_info_data_t; @@ -150,4 +153,4 @@ typedef struct processor_set_load_info *processor_set_load_info_t; (sizeof(processor_set_load_info_data_t)/sizeof(natural_t))) -#endif /* _MACH_PROCESSOR_INFO_H_ */ \ No newline at end of file +#endif /* _MACH_PROCESSOR_INFO_H_ */ diff --git a/lib/libc/include/any-macos.13-any/mach/processor_set.h b/lib/libc/include/any-macos-any/mach/processor_set.h similarity index 99% rename from lib/libc/include/any-macos.13-any/mach/processor_set.h rename to lib/libc/include/any-macos-any/mach/processor_set.h index 49fcfbd233..6d07bda13f 100644 --- a/lib/libc/include/any-macos.13-any/mach/processor_set.h +++ b/lib/libc/include/any-macos-any/mach/processor_set.h @@ -586,4 +586,4 @@ union __ReplyUnion__processor_set_subsystem { __AfterMigUserHeader #endif /* __AfterMigUserHeader */ -#endif /* _processor_set_user_ */ \ No newline at end of file +#endif /* _processor_set_user_ */ diff --git a/lib/libc/include/any-macos-any/mach/rpc.h b/lib/libc/include/any-macos-any/mach/rpc.h index a5579594a9..f3361d7690 100644 --- a/lib/libc/include/any-macos-any/mach/rpc.h +++ b/lib/libc/include/any-macos-any/mach/rpc.h @@ -132,4 +132,4 @@ typedef struct rpc_subsystem *rpc_subsystem_t; #define RPC_SUBSYSTEM_NULL ((rpc_subsystem_t) 0) -#endif /* _MACH_RPC_H_ */ \ No newline at end of file +#endif /* _MACH_RPC_H_ */ diff --git a/lib/libc/include/any-macos-any/mach/semaphore.h b/lib/libc/include/any-macos-any/mach/semaphore.h index 7779a58faf..1ff46e4140 100644 --- a/lib/libc/include/any-macos-any/mach/semaphore.h +++ b/lib/libc/include/any-macos-any/mach/semaphore.h @@ -75,4 +75,4 @@ extern kern_return_t semaphore_signal_thread(semaphore_t semaphore, __END_DECLS -#endif /* _MACH_SEMAPHORE_H_ */ \ No newline at end of file +#endif /* _MACH_SEMAPHORE_H_ */ diff --git a/lib/libc/include/any-macos-any/mach/std_types.h b/lib/libc/include/any-macos-any/mach/std_types.h index b83ff2f57e..5815302d42 100644 --- a/lib/libc/include/any-macos-any/mach/std_types.h +++ b/lib/libc/include/any-macos-any/mach/std_types.h @@ -72,4 +72,4 @@ #include #include -#endif /* _MACH_STD_TYPES_H_ */ \ No newline at end of file +#endif /* _MACH_STD_TYPES_H_ */ diff --git a/lib/libc/include/any-macos-any/mach/sync_policy.h b/lib/libc/include/any-macos-any/mach/sync_policy.h index 39f30aa138..0d8168c6c3 100644 --- a/lib/libc/include/any-macos-any/mach/sync_policy.h +++ b/lib/libc/include/any-macos-any/mach/sync_policy.h @@ -44,4 +44,4 @@ typedef int sync_policy_t; #define SYNC_POLICY_LIFO (SYNC_POLICY_FIFO|SYNC_POLICY_REVERSED) -#endif /* _MACH_SYNC_POLICY_H_ */ \ No newline at end of file +#endif /* _MACH_SYNC_POLICY_H_ */ diff --git a/lib/libc/include/any-macos.13-any/mach/task.h b/lib/libc/include/any-macos-any/mach/task.h similarity index 99% rename from lib/libc/include/any-macos.13-any/mach/task.h rename to lib/libc/include/any-macos-any/mach/task.h index 2fd8ea9876..c19010e442 100644 --- a/lib/libc/include/any-macos.13-any/mach/task.h +++ b/lib/libc/include/any-macos-any/mach/task.h @@ -2836,4 +2836,4 @@ union __ReplyUnion__task_subsystem { __AfterMigUserHeader #endif /* __AfterMigUserHeader */ -#endif /* _task_user_ */ \ No newline at end of file +#endif /* _task_user_ */ diff --git a/lib/libc/include/any-macos-any/mach/task_info.h b/lib/libc/include/any-macos-any/mach/task_info.h index 09395e2c24..cca73f5a6f 100644 --- a/lib/libc/include/any-macos-any/mach/task_info.h +++ b/lib/libc/include/any-macos-any/mach/task_info.h @@ -492,6 +492,7 @@ typedef struct task_flags_info * task_flags_info_t; #define TASK_DEBUG_INFO_INTERNAL 29 /* Used for kernel internal development tests. */ + /* * Type to control EXC_GUARD delivery options for a task * via task_get/set_exc_guard_behavior interface(s). @@ -536,4 +537,4 @@ typedef uint32_t task_corpse_forking_behavior_t; #pragma pack(pop) -#endif /* _MACH_TASK_INFO_H_ */ \ No newline at end of file +#endif /* _MACH_TASK_INFO_H_ */ diff --git a/lib/libc/include/any-macos-any/mach/task_inspect.h b/lib/libc/include/any-macos-any/mach/task_inspect.h index cdabbc9b05..5b15703c05 100644 --- a/lib/libc/include/any-macos-any/mach/task_inspect.h +++ b/lib/libc/include/any-macos-any/mach/task_inspect.h @@ -54,4 +54,4 @@ typedef struct task_inspect_basic_counts *task_inspect_basic_counts_t; typedef integer_t *task_inspect_info_t; -#endif /* !defined(MACH_TASK_INSPECT_H) */ \ No newline at end of file +#endif /* !defined(MACH_TASK_INSPECT_H) */ diff --git a/lib/libc/include/any-macos-any/mach/task_policy.h b/lib/libc/include/any-macos-any/mach/task_policy.h index 6ded769b6f..2ffe7166d0 100644 --- a/lib/libc/include/any-macos-any/mach/task_policy.h +++ b/lib/libc/include/any-macos-any/mach/task_policy.h @@ -181,6 +181,4 @@ typedef struct task_qos_policy *task_qos_policy_t; #define PROC_FLAG_IOS_APPLICATION PROC_FLAG_APPLICATION /* Process is an application */ - - -#endif /* _MACH_TASK_POLICY_H_ */ \ No newline at end of file +#endif /* _MACH_TASK_POLICY_H_ */ diff --git a/lib/libc/include/any-macos-any/mach/task_special_ports.h b/lib/libc/include/any-macos-any/mach/task_special_ports.h index 0e5a1b885b..67347aecff 100644 --- a/lib/libc/include/any-macos-any/mach/task_special_ports.h +++ b/lib/libc/include/any-macos-any/mach/task_special_ports.h @@ -132,4 +132,4 @@ typedef int task_special_port_t; (task_set_special_port((task), TASK_DEBUG_CONTROL_PORT, (port))) -#endif /* _MACH_TASK_SPECIAL_PORTS_H_ */ \ No newline at end of file +#endif /* _MACH_TASK_SPECIAL_PORTS_H_ */ diff --git a/lib/libc/include/any-macos.13-any/mach/thread_act.h b/lib/libc/include/any-macos-any/mach/thread_act.h similarity index 99% rename from lib/libc/include/any-macos.13-any/mach/thread_act.h rename to lib/libc/include/any-macos-any/mach/thread_act.h index 0e6c943508..b06b656b1a 100644 --- a/lib/libc/include/any-macos.13-any/mach/thread_act.h +++ b/lib/libc/include/any-macos-any/mach/thread_act.h @@ -1424,4 +1424,4 @@ union __ReplyUnion__thread_act_subsystem { __AfterMigUserHeader #endif /* __AfterMigUserHeader */ -#endif /* _thread_act_user_ */ \ No newline at end of file +#endif /* _thread_act_user_ */ diff --git a/lib/libc/include/any-macos-any/mach/thread_info.h b/lib/libc/include/any-macos-any/mach/thread_info.h index d0fdffc40b..c31a27b024 100644 --- a/lib/libc/include/any-macos-any/mach/thread_info.h +++ b/lib/libc/include/any-macos-any/mach/thread_info.h @@ -208,4 +208,4 @@ typedef struct io_stat_info *io_stat_info_t; #define THREAD_SCHED_RR_INFO 11 #define THREAD_SCHED_FIFO_INFO 12 -#endif /* _MACH_THREAD_INFO_H_ */ \ No newline at end of file +#endif /* _MACH_THREAD_INFO_H_ */ diff --git a/lib/libc/include/any-macos.13-any/mach/thread_policy.h b/lib/libc/include/any-macos-any/mach/thread_policy.h similarity index 99% rename from lib/libc/include/any-macos.13-any/mach/thread_policy.h rename to lib/libc/include/any-macos-any/mach/thread_policy.h index 0e87792922..dcae212702 100644 --- a/lib/libc/include/any-macos.13-any/mach/thread_policy.h +++ b/lib/libc/include/any-macos-any/mach/thread_policy.h @@ -265,4 +265,4 @@ typedef struct thread_throughput_qos_policy *thread_throughput_qos_policy_t; (sizeof (thread_throughput_qos_policy_data_t) / sizeof (integer_t))) -#endif /* _MACH_THREAD_POLICY_H_ */ \ No newline at end of file +#endif /* _MACH_THREAD_POLICY_H_ */ diff --git a/lib/libc/include/any-macos-any/mach/thread_special_ports.h b/lib/libc/include/any-macos-any/mach/thread_special_ports.h index 8ba17cf235..1a24db516c 100644 --- a/lib/libc/include/any-macos-any/mach/thread_special_ports.h +++ b/lib/libc/include/any-macos-any/mach/thread_special_ports.h @@ -84,4 +84,4 @@ #define thread_set_kernel_port(thread, port) \ (thread_set_special_port((thread), THREAD_KERNEL_PORT, (port))) -#endif /* _MACH_THREAD_SPECIAL_PORTS_H_ */ \ No newline at end of file +#endif /* _MACH_THREAD_SPECIAL_PORTS_H_ */ diff --git a/lib/libc/include/any-macos-any/mach/thread_state.h b/lib/libc/include/any-macos-any/mach/thread_state.h index b169774e1d..38325d86bd 100644 --- a/lib/libc/include/any-macos-any/mach/thread_state.h +++ b/lib/libc/include/any-macos-any/mach/thread_state.h @@ -58,4 +58,4 @@ __API_AVAILABLE(macosx(10.14), ios(12.0), tvos(9.0), watchos(5.0)) kern_return_t thread_get_register_pointer_values(thread_t thread, uintptr_t *sp, size_t *length, uintptr_t *values); -#endif /* _MACH_THREAD_STATE_H_ */ \ No newline at end of file +#endif /* _MACH_THREAD_STATE_H_ */ diff --git a/lib/libc/include/any-macos-any/mach/thread_status.h b/lib/libc/include/any-macos-any/mach/thread_status.h index f742500cac..7ccb65d6a1 100644 --- a/lib/libc/include/any-macos-any/mach/thread_status.h +++ b/lib/libc/include/any-macos-any/mach/thread_status.h @@ -97,4 +97,4 @@ typedef thread_state_flavor_t *thread_state_flavor_array_t; #define THREAD_CONVERT_THREAD_STATE_TO_SELF 1 #define THREAD_CONVERT_THREAD_STATE_FROM_SELF 2 -#endif /* _MACH_THREAD_STATUS_H_ */ \ No newline at end of file +#endif /* _MACH_THREAD_STATUS_H_ */ diff --git a/lib/libc/include/any-macos-any/mach/thread_switch.h b/lib/libc/include/any-macos-any/mach/thread_switch.h index 79bcc00a8c..4ac56bfafb 100644 --- a/lib/libc/include/any-macos-any/mach/thread_switch.h +++ b/lib/libc/include/any-macos-any/mach/thread_switch.h @@ -74,4 +74,4 @@ #define valid_switch_option(opt) (0 <= (opt) && (opt) <= 5) -#endif /* _MACH_THREAD_SWITCH_H_ */ \ No newline at end of file +#endif /* _MACH_THREAD_SWITCH_H_ */ diff --git a/lib/libc/include/any-macos-any/mach/time_value.h b/lib/libc/include/any-macos-any/mach/time_value.h index 4bbf2ea567..8cfd37d740 100644 --- a/lib/libc/include/any-macos-any/mach/time_value.h +++ b/lib/libc/include/any-macos-any/mach/time_value.h @@ -93,4 +93,4 @@ typedef struct time_value time_value_t; } \ } -#endif /* _MACH_TIME_VALUE_H_ */ \ No newline at end of file +#endif /* _MACH_TIME_VALUE_H_ */ diff --git a/lib/libc/include/any-macos-any/mach/vm_attributes.h b/lib/libc/include/any-macos-any/mach/vm_attributes.h index 2ec117793d..bac0993cb3 100644 --- a/lib/libc/include/any-macos-any/mach/vm_attributes.h +++ b/lib/libc/include/any-macos-any/mach/vm_attributes.h @@ -96,4 +96,4 @@ typedef int vm_machine_attribute_val_t; #define MATTR_VAL_GET_INFO 10 /* get page info (stats) */ -#endif /* _MACH_VM_ATTRIBUTES_H_ */ \ No newline at end of file +#endif /* _MACH_VM_ATTRIBUTES_H_ */ diff --git a/lib/libc/include/any-macos-any/mach/vm_behavior.h b/lib/libc/include/any-macos-any/mach/vm_behavior.h index 33db5ca54c..727980d51e 100644 --- a/lib/libc/include/any-macos-any/mach/vm_behavior.h +++ b/lib/libc/include/any-macos-any/mach/vm_behavior.h @@ -76,4 +76,4 @@ typedef int vm_behavior_t; #define VM_BEHAVIOR_CAN_REUSE ((vm_behavior_t) 10) #define VM_BEHAVIOR_PAGEOUT ((vm_behavior_t) 11) -#endif /*_MACH_VM_BEHAVIOR_H_*/ \ No newline at end of file +#endif /*_MACH_VM_BEHAVIOR_H_*/ diff --git a/lib/libc/include/any-macos-any/mach/vm_inherit.h b/lib/libc/include/any-macos-any/mach/vm_inherit.h index ffb7eb812a..528d691798 100644 --- a/lib/libc/include/any-macos-any/mach/vm_inherit.h +++ b/lib/libc/include/any-macos-any/mach/vm_inherit.h @@ -86,4 +86,4 @@ typedef unsigned int vm_inherit_t; /* might want to change this */ #define VM_INHERIT_DEFAULT VM_INHERIT_COPY #define VM_INHERIT_LAST_VALID VM_INHERIT_NONE -#endif /* _MACH_VM_INHERIT_H_ */ \ No newline at end of file +#endif /* _MACH_VM_INHERIT_H_ */ diff --git a/lib/libc/include/any-macos.13-any/mach/vm_map.h b/lib/libc/include/any-macos-any/mach/vm_map.h similarity index 99% rename from lib/libc/include/any-macos.13-any/mach/vm_map.h rename to lib/libc/include/any-macos-any/mach/vm_map.h index 9d1f51b955..b3ca3ac88a 100644 --- a/lib/libc/include/any-macos.13-any/mach/vm_map.h +++ b/lib/libc/include/any-macos-any/mach/vm_map.h @@ -1503,4 +1503,4 @@ union __ReplyUnion__vm_map_subsystem { __AfterMigUserHeader #endif /* __AfterMigUserHeader */ -#endif /* _vm_map_user_ */ \ No newline at end of file +#endif /* _vm_map_user_ */ diff --git a/lib/libc/include/any-macos-any/mach/vm_page_size.h b/lib/libc/include/any-macos-any/mach/vm_page_size.h index a818eabbeb..26d7a73039 100644 --- a/lib/libc/include/any-macos-any/mach/vm_page_size.h +++ b/lib/libc/include/any-macos-any/mach/vm_page_size.h @@ -65,4 +65,4 @@ extern int vm_kernel_page_shift __OSX_AVAILABLE_STARTING(__MAC_1 __END_DECLS -#endif \ No newline at end of file +#endif diff --git a/lib/libc/include/any-macos-any/mach/vm_param.h b/lib/libc/include/any-macos-any/mach/vm_param.h index 492c9be05e..87c348ee80 100644 --- a/lib/libc/include/any-macos-any/mach/vm_param.h +++ b/lib/libc/include/any-macos-any/mach/vm_param.h @@ -70,4 +70,4 @@ #include -#endif /* _MACH_VM_PARAM_H_ */ \ No newline at end of file +#endif /* _MACH_VM_PARAM_H_ */ diff --git a/lib/libc/include/any-macos.13-any/mach/vm_prot.h b/lib/libc/include/any-macos-any/mach/vm_prot.h similarity index 92% rename from lib/libc/include/any-macos.13-any/mach/vm_prot.h rename to lib/libc/include/any-macos-any/mach/vm_prot.h index 9b455415fc..2f48ab67c4 100644 --- a/lib/libc/include/any-macos.13-any/mach/vm_prot.h +++ b/lib/libc/include/any-macos-any/mach/vm_prot.h @@ -158,6 +158,16 @@ typedef int vm_prot_t; #define VM_PROT_EXECUTE_ONLY (VM_PROT_EXECUTE|VM_PROT_STRIP_READ) +/* + * Another invalid protection value to support pager TPRO protection. + * VM_PROT_TPRO is a special marker that tells the a pager to + * set TPRO flags on a given entry. We do it this way to prevent + * bloating the pager structures and it allows dyld to pass through + * this flag in lieue of specifying explicit VM flags, allowing us to handle + * the final permissions internally. + */ +#define VM_PROT_TPRO ((vm_prot_t) 0x200) + #if defined(__x86_64__) /* * Another invalid protection value to support specifying different @@ -175,4 +185,4 @@ typedef int vm_prot_t; #endif /* defined(__x86_64__) */ -#endif /* _MACH_VM_PROT_H_ */ \ No newline at end of file +#endif /* _MACH_VM_PROT_H_ */ diff --git a/lib/libc/include/any-macos-any/mach/vm_purgable.h b/lib/libc/include/any-macos-any/mach/vm_purgable.h index bbc6ae9641..80ea756d9d 100644 --- a/lib/libc/include/any-macos-any/mach/vm_purgable.h +++ b/lib/libc/include/any-macos-any/mach/vm_purgable.h @@ -159,4 +159,4 @@ typedef int vm_purgable_t; VM_VOLATILE_GROUP_MASK | \ VM_PURGABLE_DEBUG_MASK | \ VM_PURGABLE_NO_AGING_MASK) -#endif /* _MACH_VM_PURGABLE_H_ */ \ No newline at end of file +#endif /* _MACH_VM_PURGABLE_H_ */ diff --git a/lib/libc/include/any-macos-any/mach/vm_region.h b/lib/libc/include/any-macos-any/mach/vm_region.h index 0fd4b17ff3..f6f371fa44 100644 --- a/lib/libc/include/any-macos-any/mach/vm_region.h +++ b/lib/libc/include/any-macos-any/mach/vm_region.h @@ -346,4 +346,4 @@ typedef struct vm_page_info_basic vm_page_info_basic_data_t; (sizeof(vm_page_info_basic_data_t)/sizeof(int))) -#endif /*_MACH_VM_REGION_H_*/ \ No newline at end of file +#endif /*_MACH_VM_REGION_H_*/ diff --git a/lib/libc/include/any-macos.13-any/mach/vm_statistics.h b/lib/libc/include/any-macos-any/mach/vm_statistics.h similarity index 99% rename from lib/libc/include/any-macos.13-any/mach/vm_statistics.h rename to lib/libc/include/any-macos-any/mach/vm_statistics.h index 8bed505b28..b87b811c53 100644 --- a/lib/libc/include/any-macos.13-any/mach/vm_statistics.h +++ b/lib/libc/include/any-macos-any/mach/vm_statistics.h @@ -68,11 +68,11 @@ #include -__BEGIN_DECLS - #include #include +__BEGIN_DECLS + /* * vm_statistics * @@ -289,6 +289,7 @@ typedef struct vm_purgeable_info *vm_purgeable_info_t; (flags) = (((flags) & ~VM_FLAGS_ALIAS_MASK) | \ (((alias) & ~VM_FLAGS_ALIAS_MASK) << 24)) +#define VM_FLAGS_HW (VM_FLAGS_TPRO) /* These are the flags that we accept from user-space */ #define VM_FLAGS_USER_ALLOCATE (VM_FLAGS_FIXED | \ @@ -300,7 +301,7 @@ typedef struct vm_purgeable_info *vm_purgeable_info_t; VM_FLAGS_PERMANENT | \ VM_FLAGS_OVERWRITE | \ VM_FLAGS_SUPERPAGE_MASK | \ - VM_FLAGS_TPRO | \ + VM_FLAGS_HW | \ VM_FLAGS_ALIAS_MASK) #define VM_FLAGS_USER_MAP (VM_FLAGS_USER_ALLOCATE | \ @@ -370,7 +371,6 @@ enum virtual_memory_guard_exception_codes { #define VM_MEMORY_MALLOC_NANO 11 #define VM_MEMORY_MALLOC_MEDIUM 12 -#define VM_MEMORY_MALLOC_PGUARD 13 // Will be removed #define VM_MEMORY_MALLOC_PROB_GUARD 13 #define VM_MEMORY_MACH_MSG 20 @@ -544,6 +544,9 @@ enum virtual_memory_guard_exception_codes { /* backtrace info for simulated crashes */ #define VM_MEMORY_BTINFO 105 +/* memory allocated by CoreMedia */ +#define VM_MEMORY_CM_HLS 106 + /* Reserve 230-239 for Rosetta */ #define VM_MEMORY_ROSETTA 230 #define VM_MEMORY_ROSETTA_THREAD_CONTEXT 231 @@ -566,4 +569,4 @@ enum virtual_memory_guard_exception_codes { __END_DECLS -#endif /* _MACH_VM_STATISTICS_H_ */ \ No newline at end of file +#endif /* _MACH_VM_STATISTICS_H_ */ diff --git a/lib/libc/include/any-macos-any/mach/vm_sync.h b/lib/libc/include/any-macos-any/mach/vm_sync.h index a928fb037d..8dccb9c2c9 100644 --- a/lib/libc/include/any-macos-any/mach/vm_sync.h +++ b/lib/libc/include/any-macos-any/mach/vm_sync.h @@ -77,4 +77,4 @@ typedef unsigned vm_sync_t; #define VM_SYNC_CONTIGUOUS ((vm_sync_t) 0x20) #define VM_SYNC_REUSABLEPAGES ((vm_sync_t) 0x40) -#endif /* _MACH_VM_SYNC_H_ */ \ No newline at end of file +#endif /* _MACH_VM_SYNC_H_ */ diff --git a/lib/libc/include/any-macos.13-any/mach/vm_types.h b/lib/libc/include/any-macos-any/mach/vm_types.h similarity index 65% rename from lib/libc/include/any-macos.13-any/mach/vm_types.h rename to lib/libc/include/any-macos-any/mach/vm_types.h index c805a290de..2a21b70600 100644 --- a/lib/libc/include/any-macos.13-any/mach/vm_types.h +++ b/lib/libc/include/any-macos-any/mach/vm_types.h @@ -38,6 +38,8 @@ #include #include +__BEGIN_DECLS + typedef vm_offset_t pointer_t __kernel_ptr_semantics; typedef vm_offset_t vm_address_t __kernel_ptr_semantics; @@ -70,13 +72,16 @@ typedef uint32_t ppnum_t __kernel_ptr_semantics; /* Physical page number */ #define PPNUM_MAX UINT32_MAX - typedef mach_port_t vm_map_t, vm_map_read_t, vm_map_inspect_t; +typedef mach_port_t upl_t; +typedef mach_port_t vm_named_entry_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) +#define UPL_NULL ((upl_t) 0) +#define VM_NAMED_ENTRY_NULL ((vm_named_entry_t) 0) /* * Evolving definitions, likely to change. @@ -86,7 +91,7 @@ typedef uint64_t vm_object_offset_t; typedef uint64_t vm_object_size_t; /*! - * @typedef + * @typedef mach_vm_range_t * * @brief * Pair of a min/max address used to denote a memory region. @@ -99,14 +104,78 @@ typedef struct mach_vm_range { mach_vm_offset_t max_address; } *mach_vm_range_t; +/*! + * @enum mach_vm_range_flavor_t + * + * @brief + * A flavor for the mach_vm_range_create() call. + * + * @const MACH_VM_RANGE_FLAVOR_V1 + * The recipe is an array of @c mach_vm_range_recipe_v1_t. + */ +__enum_decl(mach_vm_range_flavor_t, uint32_t, { + MACH_VM_RANGE_FLAVOR_INVALID, + MACH_VM_RANGE_FLAVOR_V1, +}); - -typedef mach_port_t upl_t; -typedef mach_port_t vm_named_entry_t; +/*! + * @enum mach_vm_range_flags_t + * + * @brief + * Flags used to alter the behavior of a Mach VM Range. + */ +__options_decl(mach_vm_range_flags_t, uint64_t, { + MACH_VM_RANGE_NONE = 0x000000000000, +}); -#define UPL_NULL ((upl_t) 0) -#define VM_NAMED_ENTRY_NULL ((vm_named_entry_t) 0) +/*! + * @enum mach_vm_range_tag_t + * + * @brief + * A tag to denote the semantics of a given Mach VM Range. + * + * @const MACH_VM_RANGE_DEFAULT + * The tag associated with the general VA space usable + * before the shared cache. + * Such a range can't be made by userspace. + * + * @const MACH_VM_RANGE_DATA + * The tag associated with the anonymous randomly slid + * range of data heap optionally made when a process is created. + * Such a range can't be made by userspace. + * + * @const MACH_VM_RANGE_FIXED + * The tag associated with ranges that are made available + * for @c VM_FLAGS_FIXED allocations, but that the VM will never + * autonomously serve from a @c VM_FLAGS_ANYWHERE kind of request. + * This really create a delegated piece of VA that can be carved out + * in the way userspace sees fit. + */ +__enum_decl(mach_vm_range_tag_t, uint16_t, { + MACH_VM_RANGE_DEFAULT, + MACH_VM_RANGE_DATA, + MACH_VM_RANGE_FIXED, +}); -#endif /* _MACH_VM_TYPES_H_ */ \ No newline at end of file +#pragma pack(1) + +typedef struct { + mach_vm_range_flags_t flags: 48; + mach_vm_range_tag_t range_tag : 8; + uint8_t vm_tag : 8; + struct mach_vm_range range; +} mach_vm_range_recipe_v1_t; + +#pragma pack() + +#define MACH_VM_RANGE_FLAVOR_DEFAULT MACH_VM_RANGE_FLAVOR_V1 +typedef mach_vm_range_recipe_v1_t mach_vm_range_recipe_t; + +typedef uint8_t *mach_vm_range_recipes_raw_t; + + +__END_DECLS + +#endif /* _MACH_VM_TYPES_H_ */ diff --git a/lib/libc/include/any-macos-any/mach_debug/hash_info.h b/lib/libc/include/any-macos-any/mach_debug/hash_info.h index 56d0a4b07e..ba4bd39e85 100644 --- a/lib/libc/include/any-macos-any/mach_debug/hash_info.h +++ b/lib/libc/include/any-macos-any/mach_debug/hash_info.h @@ -72,4 +72,4 @@ typedef struct hash_info_bucket { typedef hash_info_bucket_t *hash_info_bucket_array_t; -#endif /* _MACH_DEBUG_HASH_INFO_H_ */ \ No newline at end of file +#endif /* _MACH_DEBUG_HASH_INFO_H_ */ diff --git a/lib/libc/include/any-macos-any/mach_debug/ipc_info.h b/lib/libc/include/any-macos-any/mach_debug/ipc_info.h index 44af125e84..01e9965c1f 100644 --- a/lib/libc/include/any-macos-any/mach_debug/ipc_info.h +++ b/lib/libc/include/any-macos-any/mach_debug/ipc_info.h @@ -78,7 +78,7 @@ typedef struct ipc_info_space { natural_t iis_genno_mask; /* generation number mask */ natural_t iis_table_size; /* size of table */ - natural_t iis_table_next; /* next possible size of table */ + natural_t iis_table_next; /* next possible size of table (UNUSED) */ natural_t iis_tree_size; /* size of tree (UNUSED) */ natural_t iis_tree_small; /* # of small entries in tree (UNUSED) */ natural_t iis_tree_hash; /* # of hashed entries in tree (UNUSED) */ @@ -87,7 +87,7 @@ typedef struct ipc_info_space { typedef struct ipc_info_space_basic { natural_t iisb_genno_mask; /* generation number mask */ natural_t iisb_table_size; /* size of table */ - natural_t iisb_table_next; /* next possible size of table */ + natural_t iisb_table_next; /* next possible size of table (UNUSED) */ natural_t iisb_table_inuse; /* number of entries in use */ natural_t iisb_reserved[2]; /* future expansion */ } ipc_info_space_basic_t; @@ -120,4 +120,4 @@ typedef struct ipc_info_port { typedef ipc_info_port_t *exception_handler_info_array_t; -#endif /* _MACH_DEBUG_IPC_INFO_H_ */ \ No newline at end of file +#endif /* _MACH_DEBUG_IPC_INFO_H_ */ diff --git a/lib/libc/include/any-macos-any/mach_debug/lockgroup_info.h b/lib/libc/include/any-macos-any/mach_debug/lockgroup_info.h index 38bb6dece4..ee744bb576 100644 --- a/lib/libc/include/any-macos-any/mach_debug/lockgroup_info.h +++ b/lib/libc/include/any-macos-any/mach_debug/lockgroup_info.h @@ -71,4 +71,4 @@ typedef struct lockgroup_info { typedef lockgroup_info_t *lockgroup_info_array_t; -#endif /* _MACH_DEBUG_LOCKGROUP_INFO_H_ */ \ No newline at end of file +#endif /* _MACH_DEBUG_LOCKGROUP_INFO_H_ */ diff --git a/lib/libc/include/any-macos.13-any/mach_debug/mach_debug_types.h b/lib/libc/include/any-macos-any/mach_debug/mach_debug_types.h similarity index 99% rename from lib/libc/include/any-macos.13-any/mach_debug/mach_debug_types.h rename to lib/libc/include/any-macos-any/mach_debug/mach_debug_types.h index 599a91346d..14180970ea 100644 --- a/lib/libc/include/any-macos.13-any/mach_debug/mach_debug_types.h +++ b/lib/libc/include/any-macos-any/mach_debug/mach_debug_types.h @@ -197,4 +197,4 @@ struct mach_core_fileheader_v2 { #define KOBJECT_DESCRIPTION_LENGTH 512 typedef char kobject_description_t[KOBJECT_DESCRIPTION_LENGTH]; -#endif /* _MACH_DEBUG_MACH_DEBUG_TYPES_H_ */ \ No newline at end of file +#endif /* _MACH_DEBUG_MACH_DEBUG_TYPES_H_ */ diff --git a/lib/libc/include/any-macos-any/mach_debug/page_info.h b/lib/libc/include/any-macos-any/mach_debug/page_info.h index 2c4d4a67aa..b0b5db3872 100644 --- a/lib/libc/include/any-macos-any/mach_debug/page_info.h +++ b/lib/libc/include/any-macos-any/mach_debug/page_info.h @@ -61,4 +61,4 @@ #include typedef vm_offset_t *page_address_array_t; -#endif /* MACH_DEBUG_PAGE_INFO_H */ \ No newline at end of file +#endif /* MACH_DEBUG_PAGE_INFO_H */ diff --git a/lib/libc/include/any-macos-any/mach_debug/vm_info.h b/lib/libc/include/any-macos-any/mach_debug/vm_info.h index 4efebb0488..8e2eb5f059 100644 --- a/lib/libc/include/any-macos-any/mach_debug/vm_info.h +++ b/lib/libc/include/any-macos-any/mach_debug/vm_info.h @@ -146,4 +146,4 @@ typedef vm_info_object_t *vm_info_object_array_t; #pragma pack() -#endif /* _MACH_DEBUG_VM_INFO_H_ */ \ No newline at end of file +#endif /* _MACH_DEBUG_VM_INFO_H_ */ diff --git a/lib/libc/include/any-macos-any/mach_debug/zone_info.h b/lib/libc/include/any-macos-any/mach_debug/zone_info.h index b91d4d4138..1022eca68c 100644 --- a/lib/libc/include/any-macos-any/mach_debug/zone_info.h +++ b/lib/libc/include/any-macos-any/mach_debug/zone_info.h @@ -198,4 +198,4 @@ typedef struct zone_btrecord { typedef zone_btrecord_t *zone_btrecord_array_t; -#endif /* _MACH_DEBUG_ZONE_INFO_H_ */ \ No newline at end of file +#endif /* _MACH_DEBUG_ZONE_INFO_H_ */ diff --git a/lib/libc/include/any-macos-any/machine/_mcontext.h b/lib/libc/include/any-macos-any/machine/_mcontext.h index 30d57c5117..077c556ff3 100644 --- a/lib/libc/include/any-macos-any/machine/_mcontext.h +++ b/lib/libc/include/any-macos-any/machine/_mcontext.h @@ -36,4 +36,4 @@ #error architecture not supported #endif -#endif /* _BSD_MACHINE__MCONTEXT_H_ */ \ No newline at end of file +#endif /* _BSD_MACHINE__MCONTEXT_H_ */ diff --git a/lib/libc/include/any-macos-any/machine/_param.h b/lib/libc/include/any-macos-any/machine/_param.h index da0c179fc9..6036195ca0 100644 --- a/lib/libc/include/any-macos-any/machine/_param.h +++ b/lib/libc/include/any-macos-any/machine/_param.h @@ -36,4 +36,4 @@ #error architecture not supported #endif -#endif /* _BSD_MACHINE__PARAM_H_ */ \ No newline at end of file +#endif /* _BSD_MACHINE__PARAM_H_ */ diff --git a/lib/libc/include/any-macos-any/machine/_types.h b/lib/libc/include/any-macos-any/machine/_types.h index 6e38e3a253..47dbe8c188 100644 --- a/lib/libc/include/any-macos-any/machine/_types.h +++ b/lib/libc/include/any-macos-any/machine/_types.h @@ -36,4 +36,4 @@ #error architecture not supported #endif -#endif /* _BSD_MACHINE__TYPES_H_ */ \ No newline at end of file +#endif /* _BSD_MACHINE__TYPES_H_ */ diff --git a/lib/libc/include/any-macos-any/machine/endian.h b/lib/libc/include/any-macos-any/machine/endian.h index 39758c04d2..682a15155d 100644 --- a/lib/libc/include/any-macos-any/machine/endian.h +++ b/lib/libc/include/any-macos-any/machine/endian.h @@ -39,4 +39,4 @@ #error architecture not supported #endif -#endif /* _BSD_MACHINE_ENDIAN_H_ */ \ No newline at end of file +#endif /* _BSD_MACHINE_ENDIAN_H_ */ diff --git a/lib/libc/include/any-macos-any/machine/limits.h b/lib/libc/include/any-macos-any/machine/limits.h index 86c1e7a02c..9ae174fdb4 100644 --- a/lib/libc/include/any-macos-any/machine/limits.h +++ b/lib/libc/include/any-macos-any/machine/limits.h @@ -13,4 +13,4 @@ #error architecture not supported #endif -#endif /* _BSD_MACHINE_LIMITS_H_ */ \ No newline at end of file +#endif /* _BSD_MACHINE_LIMITS_H_ */ diff --git a/lib/libc/include/any-macos-any/machine/param.h b/lib/libc/include/any-macos-any/machine/param.h index ccfeff4398..5b69eeb337 100644 --- a/lib/libc/include/any-macos-any/machine/param.h +++ b/lib/libc/include/any-macos-any/machine/param.h @@ -39,4 +39,4 @@ #error architecture not supported #endif -#endif /* _BSD_MACHINE_PARAM_H_ */ \ No newline at end of file +#endif /* _BSD_MACHINE_PARAM_H_ */ diff --git a/lib/libc/include/any-macos-any/machine/signal.h b/lib/libc/include/any-macos-any/machine/signal.h index 2f33966bf1..d8a6a2433e 100644 --- a/lib/libc/include/any-macos-any/machine/signal.h +++ b/lib/libc/include/any-macos-any/machine/signal.h @@ -36,4 +36,4 @@ #error architecture not supported #endif -#endif /* _BSD_MACHINE_SIGNAL_H_ */ \ No newline at end of file +#endif /* _BSD_MACHINE_SIGNAL_H_ */ diff --git a/lib/libc/include/any-macos-any/machine/types.h b/lib/libc/include/any-macos-any/machine/types.h index a4c80b820f..e2241c06c3 100644 --- a/lib/libc/include/any-macos-any/machine/types.h +++ b/lib/libc/include/any-macos-any/machine/types.h @@ -39,4 +39,4 @@ #error architecture not supported #endif -#endif /* _BSD_MACHINE_TYPES_H_ */ \ No newline at end of file +#endif /* _BSD_MACHINE_TYPES_H_ */ diff --git a/lib/libc/include/any-macos-any/malloc/_malloc.h b/lib/libc/include/any-macos-any/malloc/_malloc.h index 2c49d73458..e4d15ef472 100644 --- a/lib/libc/include/any-macos-any/malloc/_malloc.h +++ b/lib/libc/include/any-macos-any/malloc/_malloc.h @@ -34,23 +34,28 @@ #include #include <_types.h> #include +#if !defined(_ANSI_SOURCE) && (!defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)) +#include +#else +#define _MALLOC_TYPED(override, type_param_pos) +#endif __BEGIN_DECLS -void *malloc(size_t __size) __result_use_check __alloc_size(1); -void *calloc(size_t __count, size_t __size) __result_use_check __alloc_size(1,2); -void free(void *); -void *realloc(void *__ptr, size_t __size) __result_use_check __alloc_size(2); +void *malloc(size_t __size) __result_use_check __alloc_size(1) _MALLOC_TYPED(malloc_type_malloc, 1); +void *calloc(size_t __count, size_t __size) __result_use_check __alloc_size(1,2) _MALLOC_TYPED(malloc_type_calloc, 2); +void free(void *); +void *realloc(void *__ptr, size_t __size) __result_use_check __alloc_size(2) _MALLOC_TYPED(malloc_type_realloc, 2); #if !defined(_ANSI_SOURCE) && (!defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)) -void *valloc(size_t) __alloc_size(1); -#endif // !defined(_ANSI_SOURCE) && (!defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)) +void *valloc(size_t) __alloc_size(1) _MALLOC_TYPED(malloc_type_valloc, 1); +#endif /* !defined(_ANSI_SOURCE) && (!defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)) */ #if (__DARWIN_C_LEVEL >= __DARWIN_C_FULL) || \ (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L) || \ (defined(__cplusplus) && __cplusplus >= 201703L) -void *aligned_alloc(size_t __alignment, size_t __size) __result_use_check __alloc_size(2) __OSX_AVAILABLE(10.15) __IOS_AVAILABLE(13.0) __TVOS_AVAILABLE(13.0) __WATCHOS_AVAILABLE(6.0); +void *aligned_alloc(size_t __alignment, size_t __size) __result_use_check __alloc_size(2) _MALLOC_TYPED(malloc_type_aligned_alloc, 2) __OSX_AVAILABLE(10.15) __IOS_AVAILABLE(13.0) __TVOS_AVAILABLE(13.0) __WATCHOS_AVAILABLE(6.0); #endif -int posix_memalign(void **__memptr, size_t __alignment, size_t __size) __OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_3_0); +int posix_memalign(void **__memptr, size_t __alignment, size_t __size) /*__alloc_size(3)*/ _MALLOC_TYPED(malloc_type_posix_memalign, 3) __OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_3_0); __END_DECLS -#endif /* _MALLOC_UNDERSCORE_MALLOC_H_ */ \ No newline at end of file +#endif /* _MALLOC_UNDERSCORE_MALLOC_H_ */ diff --git a/lib/libc/include/any-macos-any/malloc/_malloc_type.h b/lib/libc/include/any-macos-any/malloc/_malloc_type.h new file mode 100644 index 0000000000..206ed8bb5f --- /dev/null +++ b/lib/libc/include/any-macos-any/malloc/_malloc_type.h @@ -0,0 +1,84 @@ +/* + * Copyright (c) 2022 Apple Computer, Inc. All rights reserved. + * + * @APPLE_LICENSE_HEADER_START@ + * + * This file contains Original Code and/or Modifications of Original Code + * as defined in and that are subject to the Apple Public Source License + * Version 2.0 (the 'License'). You may not use this file except in + * compliance with the License. Please obtain a copy of the License at + * http://www.opensource.apple.com/apsl/ and read it before using this + * file. + * + * The Original Code and all software distributed under the License are + * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER + * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, + * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. + * Please see the License for the specific language governing rights and + * limitations under the License. + * + * @APPLE_LICENSE_HEADER_END@ + */ + +#ifndef _MALLOC_UNDERSCORE_MALLOC_TYPE_H_ +#define _MALLOC_UNDERSCORE_MALLOC_TYPE_H_ + +/* !!!!!!!!!!!!!!!!!!!!! WARNING WARNING WARNING WARNING !!!!!!!!!!!!!!!!!!!!! + * Typed Memory Operations and malloc_type_* functions constitute a private, + * unstable interface. Don't use it, don't depend on it. + * !!!!!!!!!!!!!!!!!!!!! WARNING WARNING WARNING WARNING !!!!!!!!!!!!!!!!!!!!! + */ + +#if defined(__LP64__) /* MALLOC_TARGET_64BIT */ + +/* Included from so carefully manage what we include here. */ +#include /* __SPI_AVAILABLE */ +#include /* size_t */ +#include /* __BEGIN_DECLS */ + +#define _MALLOC_TYPE_AVAILABILITY __API_UNAVAILABLE(macos, ios, tvos, watchos, visionos) + +__BEGIN_DECLS + +/* */ + +typedef unsigned long long malloc_type_id_t; + +_MALLOC_TYPE_AVAILABILITY void *malloc_type_malloc(size_t size, malloc_type_id_t type_id) __result_use_check __alloc_size(1); +_MALLOC_TYPE_AVAILABILITY void *malloc_type_calloc(size_t count, size_t size, malloc_type_id_t type_id) __result_use_check __alloc_size(1,2); +_MALLOC_TYPE_AVAILABILITY void malloc_type_free(void *ptr, malloc_type_id_t type_id); +_MALLOC_TYPE_AVAILABILITY void *malloc_type_realloc(void *ptr, size_t size, malloc_type_id_t type_id) __result_use_check __alloc_size(2); +_MALLOC_TYPE_AVAILABILITY void *malloc_type_valloc(size_t size, malloc_type_id_t type_id) __result_use_check __alloc_size(1); +_MALLOC_TYPE_AVAILABILITY void *malloc_type_aligned_alloc(size_t alignment, size_t size, malloc_type_id_t type_id) __result_use_check __alloc_size(2); +_MALLOC_TYPE_AVAILABILITY int malloc_type_posix_memalign(void **memptr, size_t alignment, size_t size, malloc_type_id_t type_id) /*__alloc_size(3)*/; + + +/* */ + +typedef struct _malloc_zone_t malloc_zone_t; + +_MALLOC_TYPE_AVAILABILITY void *malloc_type_zone_malloc(malloc_zone_t *zone, size_t size, malloc_type_id_t type_id) __result_use_check __alloc_size(2); +_MALLOC_TYPE_AVAILABILITY void *malloc_type_zone_calloc(malloc_zone_t *zone, size_t count, size_t size, malloc_type_id_t type_id) __result_use_check __alloc_size(2,3); +_MALLOC_TYPE_AVAILABILITY void malloc_type_zone_free(malloc_zone_t *zone, void *ptr, malloc_type_id_t type_id); +_MALLOC_TYPE_AVAILABILITY void *malloc_type_zone_realloc(malloc_zone_t *zone, void *ptr, size_t size, malloc_type_id_t type_id) __result_use_check __alloc_size(3); +_MALLOC_TYPE_AVAILABILITY void *malloc_type_zone_valloc(malloc_zone_t *zone, size_t size, malloc_type_id_t type_id) __result_use_check __alloc_size(2); +_MALLOC_TYPE_AVAILABILITY void *malloc_type_zone_memalign(malloc_zone_t *zone, size_t alignment, size_t size, malloc_type_id_t type_id) __result_use_check __alloc_size(3); + +__END_DECLS + +/* Rewrite enablement */ +#if defined(__has_feature) && __has_feature(typed_memory_operations) +#if __has_builtin(__is_target_os) && __is_target_os(ios) +#define _MALLOC_TYPED(override, type_param_pos) __attribute__((typed_memory_operation(override, type_param_pos))) +#define _MALLOC_TYPE_ENABLED 1 +#endif +#endif /* defined(__has_feature) && __has_feature(typed_memory_operations) */ + +#endif /* MALLOC_TARGET_64BIT */ + +#if !defined(_MALLOC_TYPED) +#define _MALLOC_TYPED(override, type_param_pos) +#endif + +#endif /* _MALLOC_UNDERSCORE_MALLOC_TYPE_H_ */ diff --git a/lib/libc/include/any-macos.13-any/malloc/malloc.h b/lib/libc/include/any-macos-any/malloc/malloc.h similarity index 94% rename from lib/libc/include/any-macos.13-any/malloc/malloc.h rename to lib/libc/include/any-macos-any/malloc/malloc.h index 41db5dbb1a..fad36c7ab6 100644 --- a/lib/libc/include/any-macos.13-any/malloc/malloc.h +++ b/lib/libc/include/any-macos-any/malloc/malloc.h @@ -28,6 +28,11 @@ #include #include #include +#if !defined(_ANSI_SOURCE) && (!defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)) +#include +#else +#define _MALLOC_TYPED(override, type_param_pos) +#endif #if __has_feature(ptrauth_calls) #include @@ -116,19 +121,19 @@ extern void malloc_destroy_zone(malloc_zone_t *zone); /********* Block creation and manipulation ************/ -extern void *malloc_zone_malloc(malloc_zone_t *zone, size_t size) __alloc_size(2); +extern void *malloc_zone_malloc(malloc_zone_t *zone, size_t size) __alloc_size(2) _MALLOC_TYPED(malloc_type_zone_malloc, 2); /* Allocates a new pointer of size size; zone must be non-NULL */ -extern void *malloc_zone_calloc(malloc_zone_t *zone, size_t num_items, size_t size) __alloc_size(2,3); +extern void *malloc_zone_calloc(malloc_zone_t *zone, size_t num_items, size_t size) __alloc_size(2,3) _MALLOC_TYPED(malloc_type_zone_calloc, 3); /* Allocates a new pointer of size num_items * size; block is cleared; zone must be non-NULL */ -extern void *malloc_zone_valloc(malloc_zone_t *zone, size_t size) __alloc_size(2); +extern void *malloc_zone_valloc(malloc_zone_t *zone, size_t size) __alloc_size(2) _MALLOC_TYPED(malloc_type_zone_valloc, 2); /* Allocates a new pointer of size size; zone must be non-NULL; Pointer is guaranteed to be page-aligned and block is cleared */ extern void malloc_zone_free(malloc_zone_t *zone, void *ptr); /* Frees pointer in zone; zone must be non-NULL */ -extern void *malloc_zone_realloc(malloc_zone_t *zone, void *ptr, size_t size) __alloc_size(3); +extern void *malloc_zone_realloc(malloc_zone_t *zone, void *ptr, size_t size) __alloc_size(3) _MALLOC_TYPED(malloc_type_zone_realloc, 3); /* Enlarges block if necessary; zone must be non-NULL */ extern malloc_zone_t *malloc_zone_from_ptr(const void *ptr); @@ -136,12 +141,12 @@ extern malloc_zone_t *malloc_zone_from_ptr(const void *ptr); The ptr must have been returned from a malloc or realloc call. */ extern size_t malloc_size(const void *ptr); - /* Returns size of given ptr */ + /* Returns size of given ptr, including any padding inserted by the allocator */ extern size_t malloc_good_size(size_t size); /* Returns number of bytes greater than or equal to size that can be allocated without padding */ -extern void *malloc_zone_memalign(malloc_zone_t *zone, size_t alignment, size_t size) __alloc_size(3) __OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_3_0); +extern void *malloc_zone_memalign(malloc_zone_t *zone, size_t alignment, size_t size) __alloc_size(3) _MALLOC_TYPED(malloc_type_zone_memalign, 3) __OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_3_0); /* * Allocates a new pointer of size size whose address is an exact multiple of alignment. * alignment must be a power of two and at least as large as sizeof(void *). @@ -244,7 +249,8 @@ typedef struct malloc_introspection_t { #endif /* __BLOCKS__ */ void (* MALLOC_INTROSPECT_FN_PTR(reinit_lock))(malloc_zone_t *zone); /* Reinitialize zone locks, called only from atfork_child handler. Present in version >= 9. */ void (* MALLOC_INTROSPECT_FN_PTR(print_task))(task_t task, unsigned level, vm_address_t zone_address, memory_reader_t reader, print_task_printer_t printer); /* debug print for another process. Present in version >= 11. */ - void (* MALLOC_INTROSPECT_FN_PTR(task_statistics))(task_t task, vm_address_t zone_address, memory_reader_t reader, malloc_statistics_t *stats); /* Present in version >= 12 */ + void (* MALLOC_INTROSPECT_FN_PTR(task_statistics))(task_t task, vm_address_t zone_address, memory_reader_t reader, malloc_statistics_t *stats); /* Present in version >= 12. */ + unsigned zone_type; /* Identifies the zone type. 0 means unknown/undefined zone type. Present in version >= 14. */ } malloc_introspection_t; // The value of "level" when passed to print_task() that corresponds to @@ -339,6 +345,8 @@ extern void malloc_zone_enumerate_discharged_pointers(malloc_zone_t *zone, void // - malloc_zone_t::malloc and malloc_zone_t::calloc assume responsibility for // setting errno to ENOMEM on failure // - malloc_zone_t::try_free_default +// Version 14: +// malloc_introspection_t::zone_type // These functions are optional and calling them requires two checks: // * Check zone version to ensure zone struct is large enough to include the member. @@ -346,4 +354,4 @@ extern void malloc_zone_enumerate_discharged_pointers(malloc_zone_t *zone, void __END_DECLS -#endif /* _MALLOC_MALLOC_H_ */ \ No newline at end of file +#endif /* _MALLOC_MALLOC_H_ */ diff --git a/lib/libc/include/any-macos-any/math.h b/lib/libc/include/any-macos-any/math.h index f3d6d6dbb4..67bb1f8ef1 100644 --- a/lib/libc/include/any-macos-any/math.h +++ b/lib/libc/include/any-macos-any/math.h @@ -20,6 +20,7 @@ * @APPLE_LICENSE_HEADER_END@ */ + #ifndef __MATH_H__ #define __MATH_H__ @@ -40,13 +41,13 @@ __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 +#if __FLT_EVAL_METHOD__ == 0 || __FLT_EVAL_METHOD__ == -1 typedef float float_t; typedef double double_t; #elif __FLT_EVAL_METHOD__ == 1 typedef double float_t; typedef double double_t; -#elif __FLT_EVAL_METHOD__ == 2 || __FLT_EVAL_METHOD__ == -1 +#elif __FLT_EVAL_METHOD__ == 2 typedef long double float_t; typedef long double double_t; #else /* __FLT_EVAL_METHOD__ */ @@ -772,4 +773,5 @@ struct exception { #endif /* __DARWIN_C_LEVEL >= __DARWIN_C_FULL */ __END_DECLS -#endif /* __MATH_H__ */ \ No newline at end of file +#endif /* __MATH_H__ */ + diff --git a/lib/libc/include/any-macos-any/memory.h b/lib/libc/include/any-macos-any/memory.h index c95c218099..cb9c8b5f77 100644 --- a/lib/libc/include/any-macos-any/memory.h +++ b/lib/libc/include/any-macos-any/memory.h @@ -33,4 +33,4 @@ * @(#)memory.h 8.1 (Berkeley) 6/2/93 */ -#include \ No newline at end of file +#include diff --git a/lib/libc/include/any-macos-any/monetary.h b/lib/libc/include/any-macos-any/monetary.h index 590b856caa..a32f404d0e 100644 --- a/lib/libc/include/any-macos-any/monetary.h +++ b/lib/libc/include/any-macos-any/monetary.h @@ -42,4 +42,4 @@ __END_DECLS #include #endif /* _USE_EXTENDED_LOCALES_ */ -#endif /* !_MONETARY_H_ */ \ No newline at end of file +#endif /* !_MONETARY_H_ */ diff --git a/lib/libc/include/any-macos-any/ndbm.h b/lib/libc/include/any-macos-any/ndbm.h index a26ddd4b56..b400c6207e 100644 --- a/lib/libc/include/any-macos-any/ndbm.h +++ b/lib/libc/include/any-macos-any/ndbm.h @@ -117,4 +117,4 @@ DBM *dbm_open(const char *, int, mode_t); int dbm_store(DBM *, datum, datum, int); __END_DECLS -#endif /* !_NDBM_H_ */ \ No newline at end of file +#endif /* !_NDBM_H_ */ diff --git a/lib/libc/include/any-macos.13-any/net/if.h b/lib/libc/include/any-macos-any/net/if.h similarity index 98% rename from lib/libc/include/any-macos.13-any/net/if.h rename to lib/libc/include/any-macos-any/net/if.h index ca9aed4888..23c4e0cfcb 100644 --- a/lib/libc/include/any-macos.13-any/net/if.h +++ b/lib/libc/include/any-macos-any/net/if.h @@ -153,10 +153,12 @@ struct if_clonereq { #define IFQ_DEF_C_TARGET_DELAY (10ULL * 1000 * 1000) /* 10 ms */ #define IFQ_DEF_C_UPDATE_INTERVAL (100ULL * 1000 * 1000) /* 100 ms */ #define IFQ_DEF_L4S_TARGET_DELAY (2ULL * 1000 * 1000) /* 2 ms */ +#define IFQ_DEF_L4S_WIRELESS_TARGET_DELAY (15ULL * 1000 * 1000) /* 15 ms */ #define IFQ_DEF_L4S_UPDATE_INTERVAL (100ULL * 1000 * 1000) /* 100 ms */ #define IFQ_LL_C_TARGET_DELAY (10ULL * 1000 * 1000) /* 10 ms */ #define IFQ_LL_C_UPDATE_INTERVAL (100ULL * 1000 * 1000) /* 100 ms */ -#define IFQ_LL_L4S_TARGET_DELAY (10ULL * 1000 * 1000) /* 10 ms */ +#define IFQ_LL_L4S_TARGET_DELAY (2ULL * 1000 * 1000) /* 2 ms */ +#define IFQ_LL_L4S_WIRELESS_TARGET_DELAY (15ULL * 1000 * 1000) /* 15 ms */ #define IFQ_LL_L4S_UPDATE_INTERVAL (100ULL * 1000 * 1000) /* 100 ms */ /* * Message format for use in obtaining information about interfaces @@ -321,7 +323,8 @@ struct ifreq { #define IFRTYPE_FUNCTIONAL_CELLULAR 5 #define IFRTYPE_FUNCTIONAL_INTCOPROC 6 #define IFRTYPE_FUNCTIONAL_COMPANIONLINK 7 -#define IFRTYPE_FUNCTIONAL_LAST 7 +#define IFRTYPE_FUNCTIONAL_MANAGEMENT 8 +#define IFRTYPE_FUNCTIONAL_LAST 8 } ifr_ifru; #define ifr_addr ifr_ifru.ifru_addr /* address */ #define ifr_dstaddr ifr_ifru.ifru_dstaddr /* other end of p-to-p link */ @@ -451,4 +454,4 @@ __END_DECLS -#endif /* !_NET_IF_H_ */ \ No newline at end of file +#endif /* !_NET_IF_H_ */ diff --git a/lib/libc/include/any-macos-any/net/if_dl.h b/lib/libc/include/any-macos-any/net/if_dl.h index 230e09ca76..b4701e61e8 100644 --- a/lib/libc/include/any-macos-any/net/if_dl.h +++ b/lib/libc/include/any-macos-any/net/if_dl.h @@ -89,6 +89,12 @@ /* * Structure of a Link-Level sockaddr: */ +#if __has_ptrcheck +#define DLIL_SDLDATACOUNT __counted_by(sdl_len - 8) +#else +#define DLIL_SDLDATACOUNT 12 +#endif + struct sockaddr_dl { u_char sdl_len; /* Total length of sockaddr */ u_char sdl_family; /* AF_LINK */ @@ -97,8 +103,9 @@ struct sockaddr_dl { u_char sdl_nlen; /* interface name length, no trailing 0 reqd. */ u_char sdl_alen; /* link level address length */ u_char sdl_slen; /* link layer selector length */ - char sdl_data[12]; /* minimum work area, can be larger; - * contains both if name and ll address */ + char sdl_data[DLIL_SDLDATACOUNT]; + /* minimum work area, can be larger; + * contains both if name and ll address */ #ifndef __APPLE__ /* For TokenRing */ u_short sdl_rcf; /* source routing control */ @@ -118,4 +125,4 @@ char *link_ntoa(const struct sockaddr_dl *); __END_DECLS -#endif \ No newline at end of file +#endif diff --git a/lib/libc/include/any-macos.13-any/net/if_var.h b/lib/libc/include/any-macos-any/net/if_var.h similarity index 99% rename from lib/libc/include/any-macos.13-any/net/if_var.h rename to lib/libc/include/any-macos-any/net/if_var.h index b2d2c49eba..6df4fa4cd1 100644 --- a/lib/libc/include/any-macos.13-any/net/if_var.h +++ b/lib/libc/include/any-macos-any/net/if_var.h @@ -245,4 +245,4 @@ struct ifqueue { -#endif /* !_NET_IF_VAR_H_ */ \ No newline at end of file +#endif /* !_NET_IF_VAR_H_ */ diff --git a/lib/libc/include/any-macos-any/net/net_kev.h b/lib/libc/include/any-macos-any/net/net_kev.h index 1664809e7c..353b59d8d6 100644 --- a/lib/libc/include/any-macos-any/net/net_kev.h +++ b/lib/libc/include/any-macos-any/net/net_kev.h @@ -97,4 +97,4 @@ #define KEV_INET6_REQUEST_NAT64_PREFIX 7 /* Asking for the NAT64-prefix */ #endif /* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */ -#endif /* _NET_NETKEV_H_ */ \ No newline at end of file +#endif /* _NET_NETKEV_H_ */ diff --git a/lib/libc/include/any-macos.13-any/net/route.h b/lib/libc/include/any-macos-any/net/route.h similarity index 99% rename from lib/libc/include/any-macos.13-any/net/route.h rename to lib/libc/include/any-macos-any/net/route.h index 968eb0c2aa..8476df899a 100644 --- a/lib/libc/include/any-macos.13-any/net/route.h +++ b/lib/libc/include/any-macos-any/net/route.h @@ -257,4 +257,4 @@ struct rt_addrinfo { }; -#endif /* _NET_ROUTE_H_ */ \ No newline at end of file +#endif /* _NET_ROUTE_H_ */ diff --git a/lib/libc/include/any-macos-any/netdb.h b/lib/libc/include/any-macos-any/netdb.h index 9ff0a92b8a..ea30449e60 100644 --- a/lib/libc/include/any-macos-any/netdb.h +++ b/lib/libc/include/any-macos-any/netdb.h @@ -316,4 +316,4 @@ void setnetgrent(const char *); __END_DECLS -#endif /* !_NETDB_H_ */ \ No newline at end of file +#endif /* !_NETDB_H_ */ diff --git a/lib/libc/include/any-macos-any/netinet/in.h b/lib/libc/include/any-macos-any/netinet/in.h index 8916f36091..28479abe17 100644 --- a/lib/libc/include/any-macos-any/netinet/in.h +++ b/lib/libc/include/any-macos-any/netinet/in.h @@ -360,7 +360,6 @@ struct in_addr { (((u_int32_t)(i) & 0xfff00000) == 0xac100000) || \ (((u_int32_t)(i) & 0xffff0000) == 0xc0a80000)) - #define IN_LOCAL_GROUP(i) (((u_int32_t)(i) & 0xffffff00) == 0xe0000000) #define IN_ANY_LOCAL(i) (IN_LINKLOCAL(i) || IN_LOCAL_GROUP(i)) @@ -384,7 +383,6 @@ struct sockaddr_in { (bcmp(&(a)->s_addr, &(b)->s_addr, \ sizeof (struct in_addr)) == 0) - #define INET_ADDRSTRLEN 16 #if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) @@ -629,7 +627,6 @@ struct in_pktinfo { */ #define IPPROTO_MAXID (IPPROTO_AH + 1) /* don't list to IPPROTO_MAX */ - /* * Names for IP sysctl objects */ @@ -661,7 +658,6 @@ struct in_pktinfo { #undef __KAME_NETINET_IN_H_INCLUDED_ - #if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) __BEGIN_DECLS int bindresvport(int, struct sockaddr_in *); @@ -669,4 +665,6 @@ struct sockaddr; int bindresvport_sa(int, struct sockaddr *); __END_DECLS #endif -#endif /* _NETINET_IN_H_ */ \ No newline at end of file + + +#endif /* _NETINET_IN_H_ */ diff --git a/lib/libc/include/any-macos-any/netinet/in_systm.h b/lib/libc/include/any-macos-any/netinet/in_systm.h index 49e8e45e0c..ec98e53f31 100644 --- a/lib/libc/include/any-macos-any/netinet/in_systm.h +++ b/lib/libc/include/any-macos-any/netinet/in_systm.h @@ -86,4 +86,4 @@ typedef __uint32_t n_long; /* long as received from the net */ typedef __uint32_t n_time; /* ms since 00:00 GMT, byte rev */ -#endif /* _NETINET_IN_SYSTM_H_ */ \ No newline at end of file +#endif /* _NETINET_IN_SYSTM_H_ */ diff --git a/lib/libc/include/any-macos-any/netinet/ip.h b/lib/libc/include/any-macos-any/netinet/ip.h index b4dfff5258..5542d27d9c 100644 --- a/lib/libc/include/any-macos-any/netinet/ip.h +++ b/lib/libc/include/any-macos-any/netinet/ip.h @@ -230,4 +230,4 @@ struct ip_timestamp { #define IP_MSS 576 /* default maximum segment size */ -#endif \ No newline at end of file +#endif diff --git a/lib/libc/include/any-macos-any/netinet/tcp.h b/lib/libc/include/any-macos-any/netinet/tcp.h index 1d1030c509..bdd1914e5a 100644 --- a/lib/libc/include/any-macos-any/netinet/tcp.h +++ b/lib/libc/include/any-macos-any/netinet/tcp.h @@ -64,9 +64,12 @@ #ifndef _NETINET_TCP_H_ #define _NETINET_TCP_H_ #include +#include +#include #include #include /* __uint32_t */ +#include #include @@ -103,8 +106,11 @@ struct tcphdr { #define TH_URG 0x20 #define TH_ECE 0x40 #define TH_CWR 0x80 +#define TH_AE 0x100 /* maps into th_x2 */ #define TH_FLAGS (TH_FIN|TH_SYN|TH_RST|TH_ACK|TH_URG|TH_ECE|TH_CWR) +#define TH_FLAGS_ALL (TH_FLAGS|TH_PUSH) #define TH_ACCEPT (TH_FIN|TH_SYN|TH_RST|TH_ACK) +#define TH_ACE (TH_AE|TH_CWR|TH_ECE) unsigned short th_win; /* window */ unsigned short th_sum; /* checksum */ @@ -145,6 +151,11 @@ struct tcphdr { #define TCPOPT_FASTOPEN 34 #define TCPOLEN_FASTOPEN_REQ 2 +#define TCPOPT_ACCECN0 0xAC /* AccECN Order 0 */ +#define TCPOPT_ACCECN1 0XAE /* AccECN Order 1 */ +#define TCPOLEN_ACCECN_EMPTY 2 /* Empty option contains kind and length */ +#define TCPOLEN_ACCECN_COUNTER 3 /* Length of each AccECN counter */ + /* Option definitions */ #define TCPOPT_SACK_PERMIT_HDR \ (TCPOPT_NOP<<24|TCPOPT_NOP<<16|TCPOPT_SACK_PERMITTED<<8|TCPOLEN_SACK_PERMITTED) @@ -231,7 +242,6 @@ struct tcphdr { #define TCP_NOTSENT_LOWAT 0x201 /* Low water mark for TCP unsent data */ - struct tcp_connection_info { u_int8_t tcpi_state; /* connection state */ u_int8_t tcpi_snd_wscale; /* Window scale for send window */ @@ -282,4 +292,5 @@ struct tcp_connection_info { }; #endif /* (_POSIX_C_SOURCE && !_DARWIN_C_SOURCE) */ -#endif \ No newline at end of file + +#endif diff --git a/lib/libc/include/any-macos-any/netinet/udp.h b/lib/libc/include/any-macos-any/netinet/udp.h index 177bff51f9..5fa10eb8fb 100644 --- a/lib/libc/include/any-macos-any/netinet/udp.h +++ b/lib/libc/include/any-macos-any/netinet/udp.h @@ -82,4 +82,4 @@ struct udphdr { */ #define UDP_NOCKSUM 0x01 /* don't checksum outbound payloads */ -#endif /* _NETINET_UDP_H */ \ No newline at end of file +#endif /* _NETINET_UDP_H */ diff --git a/lib/libc/include/any-macos.13-any/netinet6/in6.h b/lib/libc/include/any-macos-any/netinet6/in6.h similarity index 99% rename from lib/libc/include/any-macos.13-any/netinet6/in6.h rename to lib/libc/include/any-macos-any/netinet6/in6.h index 3d4f7035e3..f77a7bb6a1 100644 --- a/lib/libc/include/any-macos.13-any/netinet6/in6.h +++ b/lib/libc/include/any-macos-any/netinet6/in6.h @@ -672,4 +672,4 @@ extern struct in6_addr *inet6_rth_getaddr(const void *, int); __END_DECLS #endif /* (_POSIX_C_SOURCE && !_DARWIN_C_SOURCE) */ -#endif /* !_NETINET6_IN6_H_ */ \ No newline at end of file +#endif /* !_NETINET6_IN6_H_ */ diff --git a/lib/libc/include/any-macos-any/nl_types.h b/lib/libc/include/any-macos-any/nl_types.h index 2cc919e727..72d0da254d 100644 --- a/lib/libc/include/any-macos-any/nl_types.h +++ b/lib/libc/include/any-macos-any/nl_types.h @@ -100,4 +100,4 @@ char *catgets(nl_catd, int, int, const char *) int catclose(nl_catd); __END_DECLS -#endif /* _NL_TYPES_H_ */ \ No newline at end of file +#endif /* _NL_TYPES_H_ */ diff --git a/lib/libc/include/any-macos.13-any/objc/NSObjCRuntime.h b/lib/libc/include/any-macos-any/objc/NSObjCRuntime.h similarity index 99% rename from lib/libc/include/any-macos.13-any/objc/NSObjCRuntime.h rename to lib/libc/include/any-macos-any/objc/NSObjCRuntime.h index 60ce1d99ca..f8cf08cc6a 100644 --- a/lib/libc/include/any-macos.13-any/objc/NSObjCRuntime.h +++ b/lib/libc/include/any-macos-any/objc/NSObjCRuntime.h @@ -30,4 +30,4 @@ typedef unsigned int NSUInteger; #endif #endif -#endif \ No newline at end of file +#endif diff --git a/lib/libc/include/any-macos-any/objc/NSObject.h b/lib/libc/include/any-macos-any/objc/NSObject.h index cbb2fc8aa2..e987410a31 100644 --- a/lib/libc/include/any-macos-any/objc/NSObject.h +++ b/lib/libc/include/any-macos-any/objc/NSObject.h @@ -57,7 +57,10 @@ OBJC_EXPORT #pragma clang diagnostic pop } +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wobjc-load-method" + (void)load; +#pragma clang diagnostic pop + (void)initialize; - (instancetype)init @@ -109,4 +112,4 @@ OBJC_EXPORT #endif -#endif \ No newline at end of file +#endif diff --git a/lib/libc/include/any-macos.13-any/objc/message.h b/lib/libc/include/any-macos-any/objc/message.h similarity index 99% rename from lib/libc/include/any-macos.13-any/objc/message.h rename to lib/libc/include/any-macos-any/objc/message.h index a4c17e3b95..009e44793a 100644 --- a/lib/libc/include/any-macos.13-any/objc/message.h +++ b/lib/libc/include/any-macos-any/objc/message.h @@ -312,4 +312,4 @@ _objc_msgForward_stret(id _Nonnull receiver, SEL _Nonnull sel, ...) OBJC_ARM64_UNAVAILABLE; #endif -#endif \ No newline at end of file +#endif diff --git a/lib/libc/include/any-macos.13-any/objc/objc-api.h b/lib/libc/include/any-macos-any/objc/objc-api.h similarity index 99% rename from lib/libc/include/any-macos.13-any/objc/objc-api.h rename to lib/libc/include/any-macos-any/objc/objc-api.h index 493cc7f89a..c0d6430cc2 100644 --- a/lib/libc/include/any-macos.13-any/objc/objc-api.h +++ b/lib/libc/include/any-macos-any/objc/objc-api.h @@ -301,4 +301,4 @@ # endif #endif -#endif \ No newline at end of file +#endif diff --git a/lib/libc/include/any-macos-any/objc/objc-runtime.h b/lib/libc/include/any-macos-any/objc/objc-runtime.h index 55fe82bb76..4599f08f5a 100644 --- a/lib/libc/include/any-macos-any/objc/objc-runtime.h +++ b/lib/libc/include/any-macos-any/objc/objc-runtime.h @@ -1,2 +1,2 @@ #include -#include \ No newline at end of file +#include diff --git a/lib/libc/include/any-macos-any/objc/objc.h b/lib/libc/include/any-macos-any/objc/objc.h index 76da49110b..7a28afd623 100644 --- a/lib/libc/include/any-macos-any/objc/objc.h +++ b/lib/libc/include/any-macos-any/objc/objc.h @@ -28,7 +28,7 @@ #ifndef _OBJC_OBJC_H_ #define _OBJC_OBJC_H_ -#include // for __DARWIN_NULL +#include #include #include #include @@ -127,6 +127,8 @@ typedef id _Nullable (*IMP)(id _Nonnull, SEL _Nonnull, ...); # endif #endif +/// Forward declaration for zone support +typedef struct _malloc_zone_t *objc_zone_t; /** * Returns the name of the method specified by a given selector. @@ -231,29 +233,4 @@ OBJC_EXPORT objc_objectptr_t _Nullable objc_unretainedPointer(id _Nullable obj) #endif ; - -#if !__OBJC2__ - -// The following declarations are provided here for source compatibility. - -#if defined(__LP64__) - typedef long arith_t; - typedef unsigned long uarith_t; -# define ARITH_SHIFT 32 -#else - typedef int arith_t; - typedef unsigned uarith_t; -# define ARITH_SHIFT 16 -#endif - -typedef char *STR; - -#define ISSELECTOR(sel) sel_isMapped(sel) -#define SELNAME(sel) sel_getName(sel) -#define SELUID(str) sel_getUid(str) -#define NAMEOF(obj) object_getClassName(obj) -#define IV(obj) object_getIndexedIvars(obj) - -#endif - -#endif /* _OBJC_OBJC_H_ */ \ No newline at end of file +#endif /* _OBJC_OBJC_H_ */ diff --git a/lib/libc/include/any-macos.13-any/objc/runtime.h b/lib/libc/include/any-macos-any/objc/runtime.h similarity index 99% rename from lib/libc/include/any-macos.13-any/objc/runtime.h rename to lib/libc/include/any-macos-any/objc/runtime.h index f65b458bf9..b5d74e8042 100644 --- a/lib/libc/include/any-macos.13-any/objc/runtime.h +++ b/lib/libc/include/any-macos-any/objc/runtime.h @@ -72,6 +72,8 @@ typedef struct { const char * _Nonnull value; /**< The value of the attribute (usually empty) */ } objc_property_attribute_t; +// Used by objc_func_loadImage +struct mach_header; /* Functions */ @@ -1638,7 +1640,7 @@ objc_storeWeak(id _Nullable * _Nonnull location, id _Nullable obj) * These are options to objc_setAssociatedObject() */ typedef OBJC_ENUM(uintptr_t, objc_AssociationPolicy) { - OBJC_ASSOCIATION_ASSIGN = 0, /**< Specifies a weak reference to the associated object. */ + OBJC_ASSOCIATION_ASSIGN = 0, /**< Specifies an unsafe unretained reference to the associated object. */ OBJC_ASSOCIATION_RETAIN_NONATOMIC = 1, /**< Specifies a strong reference to the associated object. * The association is not made atomically. */ OBJC_ASSOCIATION_COPY_NONATOMIC = 3, /**< Specifies that the associated object is copied. @@ -1775,7 +1777,6 @@ OBJC_EXPORT void objc_setHook_getClass(objc_hook_getClass _Nonnull newValue, * * @param header The newly loaded header. */ -struct mach_header; typedef void (*objc_func_loadImage)(const struct mach_header * _Nonnull header); /** @@ -1931,14 +1932,14 @@ class_respondsToMethod(Class _Nullable cls, SEL _Nonnull sel) ; OBJC_EXPORT id _Nullable -object_copyFromZone(id _Nullable anObject, size_t nBytes, void * _Nullable z) +object_copyFromZone(id _Nullable anObject, size_t nBytes, void * _Nullable zone __unused) OBJC_OSX_DEPRECATED_OTHERS_UNAVAILABLE(10.0, 10.5, "use object_copy instead"); OBJC_EXPORT id _Nullable class_createInstanceFromZone(Class _Nullable, size_t idxIvars, - void * _Nullable z) + void * _Nullable zone __unused) OBJC_OSX_DEPRECATED_OTHERS_UNAVAILABLE(10.0, 10.5, "use class_createInstance instead"); #endif -#endif \ No newline at end of file +#endif diff --git a/lib/libc/include/any-macos-any/os/availability.h b/lib/libc/include/any-macos-any/os/availability.h index 1068bd663d..e91b155ba8 100644 --- a/lib/libc/include/any-macos-any/os/availability.h +++ b/lib/libc/include/any-macos-any/os/availability.h @@ -37,6 +37,38 @@ #define API_TO_BE_DEPRECATED 100000 #endif +#ifndef API_TO_BE_DEPRECATED_MACOS +#define API_TO_BE_DEPRECATED_MACOS 100000 +#endif + +#ifndef API_TO_BE_DEPRECATED_IOS +#define API_TO_BE_DEPRECATED_IOS 100000 +#endif + +#ifndef API_TO_BE_DEPRECATED_TVOS +#define API_TO_BE_DEPRECATED_TVOS 100000 +#endif + +#ifndef API_TO_BE_DEPRECATED_WATCHOS +#define API_TO_BE_DEPRECATED_WATCHOS 100000 +#endif + +#ifndef __API_TO_BE_DEPRECATED_BRIDGEOS + +#endif + +#ifndef __API_TO_BE_DEPRECATED_MACCATALYST +#define __API_TO_BE_DEPRECATED_MACCATALYST 100000 +#endif + +#ifndef API_TO_BE_DEPRECATED_DRIVERKIT +#define API_TO_BE_DEPRECATED_DRIVERKIT 100000 +#endif + +#ifndef API_TO_BE_DEPRECATED_XROS +#define API_TO_BE_DEPRECATED_XROS 100000 +#endif + #include @@ -58,9 +90,8 @@ * API_AVAILABLE(macos(10.4), ios(8.0), watchos(2.0), tvos(10.0)) */ - #define API_AVAILABLE(...) __API_AVAILABLE_GET_MACRO(__VA_ARGS__,__API_AVAILABLE7, __API_AVAILABLE6, __API_AVAILABLE5, __API_AVAILABLE4, __API_AVAILABLE3, __API_AVAILABLE2, __API_AVAILABLE1, 0)(__VA_ARGS__) - - #define API_AVAILABLE_BEGIN(...) _Pragma("clang attribute push") __API_AVAILABLE_BEGIN_GET_MACRO(__VA_ARGS__,__API_AVAILABLE_BEGIN7,__API_AVAILABLE_BEGIN6, __API_AVAILABLE_BEGIN5, __API_AVAILABLE_BEGIN4, __API_AVAILABLE_BEGIN3, __API_AVAILABLE_BEGIN2, __API_AVAILABLE_BEGIN1, 0)(__VA_ARGS__) + #define API_AVAILABLE(...) __API_AVAILABLE_GET_MACRO(__VA_ARGS__,__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_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") /* @@ -79,17 +110,16 @@ * 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_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_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(__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, 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, 0)(__VA_ARGS__) - - #define API_DEPRECATED_BEGIN(...) _Pragma("clang attribute push") __API_DEPRECATED_BEGIN_MSG_GET_MACRO(__VA_ARGS__,__API_DEPRECATED_BEGIN_MSG8,__API_DEPRECATED_BEGIN_MSG7, __API_DEPRECATED_BEGIN_MSG6, __API_DEPRECATED_BEGIN_MSG5, __API_DEPRECATED_BEGIN_MSG4, __API_DEPRECATED_BEGIN_MSG3, __API_DEPRECATED_BEGIN_MSG2, __API_DEPRECATED_BEGIN_MSG1, 0)(__VA_ARGS__) + #define API_DEPRECATED_BEGIN(...) _Pragma("clang attribute push") __API_DEPRECATED_BEGIN_GET_MACRO(__VA_ARGS__,__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_BEGIN_REP_GET_MACRO(__VA_ARGS__,__API_DEPRECATED_BEGIN_REP8,__API_DEPRECATED_BEGIN_REP7, __API_DEPRECATED_BEGIN_REP6, __API_DEPRECATED_BEGIN_REP5, __API_DEPRECATED_BEGIN_REP4, __API_DEPRECATED_BEGIN_REP3, __API_DEPRECATED_BEGIN_REP2, __API_DEPRECATED_BEGIN_REP1, 0)(__VA_ARGS__) + #define API_DEPRECATED_WITH_REPLACEMENT_BEGIN(...) _Pragma("clang attribute push") __API_DEPRECATED_WITH_REPLACEMENT_BEGIN_GET_MACRO(__VA_ARGS__,__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 Unavailability * Use to specify that an API is unavailable for a particular platform. @@ -99,49 +129,65 @@ * API_UNAVAILABLE(watchos, tvos) */ - #define API_UNAVAILABLE(...) __API_UNAVAILABLE_GET_MACRO(__VA_ARGS__,__API_UNAVAILABLE7,__API_UNAVAILABLE6, __API_UNAVAILABLE5, __API_UNAVAILABLE4,__API_UNAVAILABLE3,__API_UNAVAILABLE2,__API_UNAVAILABLE1, 0)(__VA_ARGS__) + #define API_UNAVAILABLE(...) __API_UNAVAILABLE_GET_MACRO(__VA_ARGS__,__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_BEGIN7,__API_UNAVAILABLE_BEGIN6, __API_UNAVAILABLE_BEGIN5, __API_UNAVAILABLE_BEGIN4, __API_UNAVAILABLE_BEGIN3, __API_UNAVAILABLE_BEGIN2, __API_UNAVAILABLE_BEGIN1, 0)(__VA_ARGS__) + #define API_UNAVAILABLE_BEGIN(...) _Pragma("clang attribute push") __API_UNAVAILABLE_BEGIN_GET_MACRO(__VA_ARGS__,__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") - #else - - /* - * Evaluate to nothing for compilers that don't support availability. - */ - - #define API_AVAILABLE(...) - #define API_AVAILABLE_BEGIN(...) - #define API_AVAILABLE_END - #define API_DEPRECATED(...) - #define API_DEPRECATED_WITH_REPLACEMENT(...) - #define API_DEPRECATED_BEGIN(...) - #define API_DEPRECATED_END - #define API_DEPRECATED_WITH_REPLACEMENT_BEGIN(...) - #define API_DEPRECATED_WITH_REPLACEMENT_END - #define API_UNAVAILABLE(...) - #define API_UNAVAILABLE_BEGIN(...) - #define API_UNAVAILABLE_END #endif /* __has_attribute(availability) */ -#else - - /* - * Evaluate to nothing for compilers that don't support clang language extensions. - */ - - #define API_AVAILABLE(...) - #define API_AVAILABLE_BEGIN(...) - #define API_AVAILABLE_END - #define API_DEPRECATED(...) - #define API_DEPRECATED_WITH_REPLACEMENT(...) - #define API_DEPRECATED_BEGIN(...) - #define API_DEPRECATED_END - #define API_DEPRECATED_WITH_REPLACEMENT_BEGIN(...) - #define API_DEPRECATED_WITH_REPLACEMENT_END - #define API_UNAVAILABLE(...) - #define API_UNAVAILABLE_BEGIN(...) - #define API_UNAVAILABLE_END #endif /* #if defined(__has_feature) && defined(__has_attribute) */ +/* + * Evaluate to nothing for compilers that don't support clang language extensions. + */ + +#ifndef API_AVAILABLE + #define API_AVAILABLE(...) +#endif + +#ifndef API_AVAILABLE_BEGIN + #define API_AVAILABLE_BEGIN(...) +#endif + +#ifndef API_AVAILABLE_END + #define API_AVAILABLE_END(...) +#endif + +#ifndef API_DEPRECATED + #define API_DEPRECATED(...) +#endif + +#ifndef API_DEPRECATED_BEGIN + #define API_DEPRECATED_BEGIN(...) +#endif + +#ifndef API_DEPRECATED_END + #define API_DEPRECATED_END(...) +#endif + +#ifndef API_DEPRECATED_WITH_REPLACEMENT + #define API_DEPRECATED_WITH_REPLACEMENT(...) +#endif + +#ifndef API_DEPRECATED_WITH_REPLACEMENT_BEGIN + #define API_DEPRECATED_WITH_REPLACEMENT_BEGIN(...) +#endif + +#ifndef API_DEPRECATED_WITH_REPLACEMENT_END + #define API_DEPRECATED_WITH_REPLACEMENT_END(...) +#endif + +#ifndef API_UNAVAILABLE + #define API_UNAVAILABLE(...) +#endif + +#ifndef API_UNAVAILABLE_BEGIN + #define API_UNAVAILABLE_BEGIN(...) +#endif + +#ifndef API_UNAVAILABLE_END + #define API_UNAVAILABLE_END(...) +#endif + #if __has_include() #include #endif @@ -162,4 +208,4 @@ #define SPI_DEPRECATED_WITH_REPLACEMENT(...) #endif -#endif /* __OS_AVAILABILITY__ */ \ No newline at end of file +#endif /* __OS_AVAILABILITY__ */ diff --git a/lib/libc/include/any-macos.13-any/os/base.h b/lib/libc/include/any-macos-any/os/base.h similarity index 99% rename from lib/libc/include/any-macos.13-any/os/base.h rename to lib/libc/include/any-macos-any/os/base.h index ab587fa02b..9f473980c3 100644 --- a/lib/libc/include/any-macos.13-any/os/base.h +++ b/lib/libc/include/any-macos-any/os/base.h @@ -339,4 +339,4 @@ typedef void (^os_block_t)(void); #define OS_COUNTED_BY(N) __counted_by(N) #define OS_SIZED_BY(N) __sized_by(N) -#endif // __OS_BASE__ \ No newline at end of file +#endif // __OS_BASE__ diff --git a/lib/libc/include/any-macos-any/os/clock.h b/lib/libc/include/any-macos-any/os/clock.h index 2217dd6ef5..665e1d8716 100644 --- a/lib/libc/include/any-macos-any/os/clock.h +++ b/lib/libc/include/any-macos-any/os/clock.h @@ -15,4 +15,4 @@ OS_ENUM(os_clockid, uint32_t, OS_CLOCK_MACH_ABSOLUTE_TIME = 32, ); -#endif /* __OS_CLOCK__ */ \ No newline at end of file +#endif /* __OS_CLOCK__ */ diff --git a/lib/libc/include/any-macos-any/os/lock.h b/lib/libc/include/any-macos-any/os/lock.h index 889ad2a3df..5490a5526f 100644 --- a/lib/libc/include/any-macos-any/os/lock.h +++ b/lib/libc/include/any-macos-any/os/lock.h @@ -47,8 +47,13 @@ __BEGIN_DECLS * @abstract * Low-level lock that allows waiters to block efficiently on contention. * - * In general, higher level synchronization primitives such as those provided by - * the pthread or dispatch subsystems should be preferred. + * os_unfair_lock is an appropriate lock for cases where simple and lightweight + * mutual exclusion is needed. + * It can be intrusively stored inline in a datastructure without needing a + * separate allocation, reducing memory consumption and cost of indirection. + * For situations where something more sophisticated like condition waits or + * FIFO ordering is needed, use appropriate higher level APIs such as those from + * the pthread or dispatch subsystems. * * The values stored in the lock should be considered opaque and implementation * defined, they contain thread ownership information that the system may use @@ -58,20 +63,25 @@ __BEGIN_DECLS * unlock from a different thread will cause an assertion aborting the process. * * This lock must not be accessed from multiple processes or threads via shared - * or multiply-mapped memory, the lock implementation relies on the address of - * the lock value and owning process. + * or multiply-mapped memory, because the lock implementation relies on the + * address of the lock value and identity of the owning process. * - * Must be initialized with OS_UNFAIR_LOCK_INIT + * Must be initialized with OS_UNFAIR_LOCK_INIT. * * @discussion - * Replacement for the deprecated OSSpinLock. Does not spin on contention but - * waits in the kernel to be woken up by an unlock. + * The name 'unfair' indicates that there is no attempt at enforcing acquisition + * fairness, e.g. an unlocker can potentially immediately reacquire the lock + * before a woken up waiter gets an opportunity to attempt to acquire the lock. + * This is often advantageous for performance reasons, but also makes starvation + * of waiters a possibility. * - * As with OSSpinLock there is no attempt at fairness or lock ordering, e.g. an - * unlocker can potentially immediately reacquire the lock before a woken up - * waiter gets an opportunity to attempt to acquire the lock. This may be - * advantageous for performance reasons, but also makes starvation of waiters a - * possibility. + * This lock is suitable as a drop-in replacement for the deprecated OSSpinLock, + * providing much better behavior under contention. + * + * In Swift, note that use of the `&` operator on an unfair lock can copy or move + * the lock memory, leading to misbehavior. Use an OSAllocatedUnfairLock to safely wrap + * access to the lock memory instead. If you use os_unfair_lock APIs directly, + * always make sure to store and use the lock in memory with a stable address. */ OS_UNFAIR_LOCK_AVAILABILITY typedef struct os_unfair_lock_s { @@ -101,6 +111,7 @@ typedef struct os_unfair_lock_s { */ OS_UNFAIR_LOCK_AVAILABILITY OS_EXPORT OS_NOTHROW OS_NONNULL_ALL +OS_SWIFT_UNAVAILABLE_FROM_ASYNC("Use OSAllocatedUnfairLock.performWhileLocked() for async-safe scoped locking") void os_unfair_lock_lock(os_unfair_lock_t lock); /*! @@ -126,6 +137,7 @@ void os_unfair_lock_lock(os_unfair_lock_t lock); */ OS_UNFAIR_LOCK_AVAILABILITY OS_EXPORT OS_NOTHROW OS_WARN_RESULT OS_NONNULL_ALL +OS_SWIFT_UNAVAILABLE_FROM_ASYNC("Use OSAllocatedUnfairLock.tryPerformWhileLocked() for async-safe scoped locking") bool os_unfair_lock_trylock(os_unfair_lock_t lock); /*! @@ -139,6 +151,7 @@ bool os_unfair_lock_trylock(os_unfair_lock_t lock); */ OS_UNFAIR_LOCK_AVAILABILITY OS_EXPORT OS_NOTHROW OS_NONNULL_ALL +OS_SWIFT_UNAVAILABLE_FROM_ASYNC("Use OSAllocatedUnfairLock.performWhileLocked() for async-safe scoped locking") void os_unfair_lock_unlock(os_unfair_lock_t lock); /*! @@ -159,7 +172,7 @@ void os_unfair_lock_unlock(os_unfair_lock_t lock); */ OS_UNFAIR_LOCK_AVAILABILITY OS_EXPORT OS_NOTHROW OS_NONNULL_ALL -void os_unfair_lock_assert_owner(os_unfair_lock_t lock); +void os_unfair_lock_assert_owner(const os_unfair_lock *lock); /*! * @function os_unfair_lock_assert_not_owner @@ -180,10 +193,10 @@ void os_unfair_lock_assert_owner(os_unfair_lock_t lock); */ OS_UNFAIR_LOCK_AVAILABILITY OS_EXPORT OS_NOTHROW OS_NONNULL_ALL -void os_unfair_lock_assert_not_owner(os_unfair_lock_t lock); +void os_unfair_lock_assert_not_owner(const os_unfair_lock *lock); __END_DECLS OS_ASSUME_NONNULL_END -#endif // __OS_LOCK__ \ No newline at end of file +#endif // __OS_LOCK__ diff --git a/lib/libc/include/any-macos-any/os/object.h b/lib/libc/include/any-macos-any/os/object.h index b378cab8ae..0558895002 100644 --- a/lib/libc/include/any-macos-any/os/object.h +++ b/lib/libc/include/any-macos-any/os/object.h @@ -55,6 +55,9 @@ * or iOS 6.0 deployment target. */ +#define OS_OBJECT_ASSUME_ABI_SINGLE_BEGIN OS_ASSUME_PTR_ABI_SINGLE_BEGIN +#define OS_OBJECT_ASSUME_ABI_SINGLE_END OS_ASSUME_PTR_ABI_SINGLE_END + #ifndef OS_OBJECT_HAVE_OBJC_SUPPORT #if !defined(__OBJC__) || defined(__OBJC_GC__) # define OS_OBJECT_HAVE_OBJC_SUPPORT 0 @@ -191,13 +194,29 @@ #define OS_OBJECT_USE_OBJC_RETAIN_RELEASE 0 #endif #endif + +#if __has_attribute(__swift_attr__) +#define OS_OBJECT_SWIFT_SENDABLE __attribute__((swift_attr("@Sendable"))) +#define OS_OBJECT_SWIFT_HAS_MISSING_DESIGNATED_INIT \ + __attribute__((swift_attr("@_hasMissingDesignatedInitializers"))) +#else +#define OS_OBJECT_SWIFT_SENDABLE +#define OS_OBJECT_SWIFT_HAS_MISSING_DESIGNATED_INIT +#endif // __has_attribute(__swift_attr__) + #if OS_OBJECT_SWIFT3 #define OS_OBJECT_DECL_SWIFT(name) \ OS_EXPORT OS_OBJECT_OBJC_RUNTIME_VISIBLE \ OS_OBJECT_DECL_IMPL_CLASS(name, NSObject) +#define OS_OBJECT_DECL_SENDABLE_SWIFT(name) \ + OS_EXPORT OS_OBJECT_OBJC_RUNTIME_VISIBLE OS_OBJECT_SWIFT_SENDABLE \ + OS_OBJECT_DECL_IMPL_CLASS(name, NSObject) #define OS_OBJECT_DECL_SUBCLASS_SWIFT(name, super) \ OS_EXPORT OS_OBJECT_OBJC_RUNTIME_VISIBLE \ OS_OBJECT_DECL_IMPL_CLASS(name, OS_OBJECT_CLASS(super)) +#define OS_OBJECT_DECL_SENDABLE_SUBCLASS_SWIFT(name, super) \ + OS_EXPORT OS_OBJECT_OBJC_RUNTIME_VISIBLE OS_OBJECT_SWIFT_SENDABLE \ + OS_OBJECT_DECL_IMPL_CLASS(name, OS_OBJECT_CLASS(super)) #endif // OS_OBJECT_SWIFT3 OS_EXPORT OS_OBJECT_OBJC_RUNTIME_VISIBLE OS_OBJECT_DECL_BASE(object, NSObject); @@ -218,12 +237,18 @@ OS_OBJECT_DECL_BASE(object, NSObject); #if OS_OBJECT_SWIFT3 #define OS_OBJECT_DECL_CLASS(name) \ OS_OBJECT_DECL_SUBCLASS_SWIFT(name, object) +#define OS_OBJECT_DECL_SENDABLE_CLASS(name) \ + OS_OBJECT_DECL_SENDABLE_SUBCLASS_SWIFT(name, object) #elif OS_OBJECT_USE_OBJC #define OS_OBJECT_DECL_CLASS(name) \ OS_OBJECT_DECL(name) +#define OS_OBJECT_DECL_SENDABLE_CLASS(name) \ + OS_OBJECT_DECL(name) #else #define OS_OBJECT_DECL_CLASS(name) \ typedef struct name##_s *name##_t +#define OS_OBJECT_DECL_SENDABLE_CLASS(name) \ + typedef struct name##_s *name##_t #endif #if OS_OBJECT_USE_OBJC @@ -250,6 +275,7 @@ OS_OBJECT_DECL_BASE(object, NSObject); #define OS_OBJECT_GLOBAL_OBJECT(type, object) ((OS_OBJECT_BRIDGE type)&(object)) __BEGIN_DECLS +OS_OBJECT_ASSUME_ABI_SINGLE_BEGIN /*! * @function os_retain @@ -298,6 +324,7 @@ os_release(void *object); #define os_release(object) [object release] #endif +OS_OBJECT_ASSUME_ABI_SINGLE_END __END_DECLS -#endif \ No newline at end of file +#endif diff --git a/lib/libc/include/any-macos-any/os/workgroup.h b/lib/libc/include/any-macos-any/os/workgroup.h index 956808125c..96b870c10c 100644 --- a/lib/libc/include/any-macos-any/os/workgroup.h +++ b/lib/libc/include/any-macos-any/os/workgroup.h @@ -34,4 +34,4 @@ #undef __OS_WORKGROUP_INDIRECT__ #endif /* __DISPATCH_BUILDING_DISPATCH__ */ -#endif /* __OS_WORKGROUP__ */ \ No newline at end of file +#endif /* __OS_WORKGROUP__ */ diff --git a/lib/libc/include/any-macos-any/os/workgroup_base.h b/lib/libc/include/any-macos-any/os/workgroup_base.h index 87ea379479..c9b06590e7 100644 --- a/lib/libc/include/any-macos-any/os/workgroup_base.h +++ b/lib/libc/include/any-macos-any/os/workgroup_base.h @@ -29,6 +29,9 @@ #define OS_WORKGROUP_WARN_RESULT __attribute__((__warn_unused_result__)) #define OS_WORKGROUP_EXPORT OS_EXPORT #define OS_WORKGROUP_RETURNS_RETAINED OS_OBJECT_RETURNS_RETAINED +#define OS_WORKGROUP_ASSUME_ABI_SINGLE_BEGIN OS_ASSUME_PTR_ABI_SINGLE_BEGIN +#define OS_WORKGROUP_ASSUME_ABI_SINGLE_END OS_ASSUME_PTR_ABI_SINGLE_END +#define OS_WORKGROUP_UNSAFE_INDEXABLE OS_UNSAFE_INDEXABLE #define OS_WORKGROUP_DECL(name, swift_name) \ OS_SWIFT_NAME(swift_name) \ @@ -59,6 +62,8 @@ #define _OS_WORKGROUP_ATTR_SIG_DEFAULT_INIT 0x2FA863B4 #define _OS_WORKGROUP_ATTR_SIG_EMPTY_INIT 0x2FA863C4 +OS_WORKGROUP_ASSUME_ABI_SINGLE_BEGIN + struct OS_REFINED_FOR_SWIFT os_workgroup_attr_opaque_s { uint32_t sig; char opaque[__OS_WORKGROUP_ATTR_SIZE__]; @@ -75,4 +80,6 @@ struct OS_REFINED_FOR_SWIFT os_workgroup_join_token_opaque_s { char opaque[__OS_WORKGROUP_JOIN_TOKEN_SIZE__]; }; -#endif /* __OS_WORKGROUP_BASE__ */ \ No newline at end of file +OS_WORKGROUP_ASSUME_ABI_SINGLE_END + +#endif /* __OS_WORKGROUP_BASE__ */ diff --git a/lib/libc/include/any-macos-any/os/workgroup_interval.h b/lib/libc/include/any-macos-any/os/workgroup_interval.h index b68326dd1e..ce06782b10 100644 --- a/lib/libc/include/any-macos-any/os/workgroup_interval.h +++ b/lib/libc/include/any-macos-any/os/workgroup_interval.h @@ -29,6 +29,7 @@ __BEGIN_DECLS OS_WORKGROUP_ASSUME_NONNULL_BEGIN +OS_WORKGROUP_ASSUME_ABI_SINGLE_BEGIN /*! * @typedef os_workgroup_interval_t @@ -98,7 +99,7 @@ os_workgroup_interval_start(os_workgroup_interval_t wg, uint64_t start, uint64_t * @function os_workgroup_interval_update * * @abstract - * Updates an already started interval workgroup to have the new + * Updates an already started workgroup interval to have the new * deadline specified. This function is real time safe. * * This function will return an error in the following cases: @@ -140,7 +141,6 @@ os_workgroup_interval_update(os_workgroup_interval_t wg, uint64_t deadline, * * @param data * This field is currently unused and should be NULL - * */ API_AVAILABLE(macos(11.0), ios(14.0), tvos(14.0), watchos(7.0)) OS_REFINED_FOR_SWIFT OS_WORKGROUP_EXPORT OS_WORKGROUP_WARN_RESULT @@ -148,8 +148,9 @@ int os_workgroup_interval_finish(os_workgroup_interval_t wg, os_workgroup_interval_data_t _Nullable data); +OS_WORKGROUP_ASSUME_ABI_SINGLE_END OS_WORKGROUP_ASSUME_NONNULL_END __END_DECLS -#endif /* __OS_WORKGROUP_INTERVAL__ */ \ No newline at end of file +#endif /* __OS_WORKGROUP_INTERVAL__ */ diff --git a/lib/libc/include/any-macos-any/os/workgroup_object.h b/lib/libc/include/any-macos-any/os/workgroup_object.h index f9e5b551db..92005bf48c 100644 --- a/lib/libc/include/any-macos-any/os/workgroup_object.h +++ b/lib/libc/include/any-macos-any/os/workgroup_object.h @@ -29,6 +29,7 @@ __BEGIN_DECLS OS_WORKGROUP_ASSUME_NONNULL_BEGIN +OS_WORKGROUP_ASSUME_ABI_SINGLE_BEGIN /*! * @typedef os_workgroup_t @@ -114,7 +115,7 @@ API_AVAILABLE(macos(11.0)) API_UNAVAILABLE(ios, tvos, watchos) OS_SWIFT_NAME(WorkGroup.init(__name:port:)) OS_WORKGROUP_EXPORT OS_WORKGROUP_RETURNS_RETAINED os_workgroup_t _Nullable -os_workgroup_create_with_port(const char *_Nullable name, mach_port_t mach_port); +os_workgroup_create_with_port(const char *OS_WORKGROUP_UNSAFE_INDEXABLE _Nullable name, mach_port_t mach_port); /*! * @function os_workgroup_create_with_workgroup @@ -135,7 +136,7 @@ os_workgroup_create_with_port(const char *_Nullable name, mach_port_t mach_port) API_AVAILABLE(macos(11.0), ios(14.0), tvos(14.0), watchos(7.0)) OS_REFINED_FOR_SWIFT OS_WORKGROUP_EXPORT OS_WORKGROUP_RETURNS_RETAINED os_workgroup_t _Nullable -os_workgroup_create_with_workgroup(const char * _Nullable name, os_workgroup_t wg); +os_workgroup_create_with_workgroup(const char * OS_WORKGROUP_UNSAFE_INDEXABLE _Nullable name, os_workgroup_t wg); /*! * @typedef os_workgroup_join_token, os_workgroup_join_token_t @@ -350,8 +351,9 @@ int os_workgroup_max_parallel_threads(os_workgroup_t wg, os_workgroup_mpt_attr_t _Nullable attr); +OS_WORKGROUP_ASSUME_ABI_SINGLE_END OS_WORKGROUP_ASSUME_NONNULL_END __END_DECLS -#endif /* __OS_WORKGROUP_OBJECT__ */ \ No newline at end of file +#endif /* __OS_WORKGROUP_OBJECT__ */ diff --git a/lib/libc/include/any-macos-any/os/workgroup_parallel.h b/lib/libc/include/any-macos-any/os/workgroup_parallel.h index 1a396f3f5d..6fa8724f00 100644 --- a/lib/libc/include/any-macos-any/os/workgroup_parallel.h +++ b/lib/libc/include/any-macos-any/os/workgroup_parallel.h @@ -31,6 +31,7 @@ __BEGIN_DECLS OS_WORKGROUP_ASSUME_NONNULL_BEGIN +OS_WORKGROUP_ASSUME_ABI_SINGLE_BEGIN /*! * @typedef os_workgroup_parallel_t @@ -64,11 +65,12 @@ API_AVAILABLE(macos(11.0), ios(14.0), tvos(14.0), watchos(7.0)) OS_WORKGROUP_EXPORT OS_WORKGROUP_RETURNS_RETAINED OS_SWIFT_NAME(WorkGroupParallel.init(__name:attr:)) os_workgroup_parallel_t _Nullable -os_workgroup_parallel_create(const char * _Nullable name, +os_workgroup_parallel_create(const char *OS_WORKGROUP_UNSAFE_INDEXABLE _Nullable name, os_workgroup_attr_t _Nullable attr); +OS_WORKGROUP_ASSUME_ABI_SINGLE_END OS_WORKGROUP_ASSUME_NONNULL_END __END_DECLS -#endif /* __OS_WORKGROUP_PARALLEL__ */ \ No newline at end of file +#endif /* __OS_WORKGROUP_PARALLEL__ */ diff --git a/lib/libc/include/any-macos-any/paths.h b/lib/libc/include/any-macos-any/paths.h index 364b50975f..3edd2b8808 100644 --- a/lib/libc/include/any-macos-any/paths.h +++ b/lib/libc/include/any-macos-any/paths.h @@ -98,4 +98,4 @@ #include -#endif /* !_PATHS_H_ */ \ No newline at end of file +#endif /* !_PATHS_H_ */ diff --git a/lib/libc/include/any-macos-any/poll.h b/lib/libc/include/any-macos-any/poll.h index 18f97cf7ae..75f90feee5 100644 --- a/lib/libc/include/any-macos-any/poll.h +++ b/lib/libc/include/any-macos-any/poll.h @@ -20,4 +20,7 @@ * * @APPLE_LICENSE_HEADER_END@ */ -#include \ No newline at end of file +#include + + + diff --git a/lib/libc/include/any-macos.13-any/pthread.h b/lib/libc/include/any-macos-any/pthread.h similarity index 99% rename from lib/libc/include/any-macos.13-any/pthread.h rename to lib/libc/include/any-macos-any/pthread.h index 7bc20229a3..fa02f41ccb 100644 --- a/lib/libc/include/any-macos.13-any/pthread.h +++ b/lib/libc/include/any-macos-any/pthread.h @@ -193,7 +193,7 @@ __BEGIN_DECLS #endif /* */ -#define _PTHREAD_SWIFT_IMPORTER_NULLABILITY_COMPAT \ +#define _PTHREAD_SWIFT_IMPORTER_NULLABILITY_COMPAT() \ defined(SWIFT_CLASS_EXTRA) && (!defined(SWIFT_SDK_OVERLAY_PTHREAD_EPOCH) || (SWIFT_SDK_OVERLAY_PTHREAD_EPOCH < 1)) #if __has_attribute(__swift_attr__) @@ -334,7 +334,7 @@ __API_AVAILABLE(macos(10.4), ios(2.0)) int pthread_condattr_setpshared(pthread_condattr_t *, int); __API_AVAILABLE(macos(10.4), ios(2.0)) -#if !_PTHREAD_SWIFT_IMPORTER_NULLABILITY_COMPAT +#if !_PTHREAD_SWIFT_IMPORTER_NULLABILITY_COMPAT() int pthread_create(pthread_t _Nullable * _Nonnull __restrict, const pthread_attr_t * _Nullable __restrict, void * _Nullable (* _Nonnull)(void * _Nullable), @@ -343,7 +343,7 @@ int pthread_create(pthread_t _Nullable * _Nonnull __restrict, int pthread_create(pthread_t * __restrict, const pthread_attr_t * _Nullable __restrict, void *(* _Nonnull)(void *), void * _Nullable __restrict); -#endif // _PTHREAD_SWIFT_IMPORTER_NULLABILITY_COMPAT +#endif // _PTHREAD_SWIFT_IMPORTER_NULLABILITY_COMPAT() __API_AVAILABLE(macos(10.4), ios(2.0)) int pthread_detach(pthread_t); @@ -560,7 +560,7 @@ int pthread_cond_timedwait_relative_np(pthread_cond_t *, pthread_mutex_t *, /* Like pthread_create(), but leaves the thread suspended */ __API_AVAILABLE(macos(10.4), ios(2.0)) -#if !_PTHREAD_SWIFT_IMPORTER_NULLABILITY_COMPAT +#if !_PTHREAD_SWIFT_IMPORTER_NULLABILITY_COMPAT() int pthread_create_suspended_np( pthread_t _Nullable * _Nonnull, const pthread_attr_t * _Nullable, void * _Nullable (* _Nonnull)(void * _Nullable), void * _Nullable); @@ -751,4 +751,4 @@ __END_DECLS _Pragma("clang assume_nonnull end") #endif -#endif /* _PTHREAD_H */ \ No newline at end of file +#endif /* _PTHREAD_H */ diff --git a/lib/libc/include/any-macos-any/pthread/pthread_impl.h b/lib/libc/include/any-macos-any/pthread/pthread_impl.h index aae74c2c03..35d32d3021 100644 --- a/lib/libc/include/any-macos-any/pthread/pthread_impl.h +++ b/lib/libc/include/any-macos-any/pthread/pthread_impl.h @@ -63,4 +63,4 @@ _Pragma("clang assume_nonnull begin") _Pragma("clang assume_nonnull end") #endif -#endif /* _PTHREAD_IMPL_H_ */ \ No newline at end of file +#endif /* _PTHREAD_IMPL_H_ */ diff --git a/lib/libc/include/any-macos-any/pthread/qos.h b/lib/libc/include/any-macos-any/pthread/qos.h index 530d5db24d..9c1bfd8a2b 100644 --- a/lib/libc/include/any-macos-any/pthread/qos.h +++ b/lib/libc/include/any-macos-any/pthread/qos.h @@ -301,4 +301,4 @@ _Pragma("clang assume_nonnull end") #endif // __DARWIN_C_LEVEL >= __DARWIN_C_FULL -#endif // _PTHREAD_QOS_H \ No newline at end of file +#endif // _PTHREAD_QOS_H diff --git a/lib/libc/include/any-macos-any/pthread/sched.h b/lib/libc/include/any-macos-any/pthread/sched.h index 88a783127d..2ef6e2b8ab 100644 --- a/lib/libc/include/any-macos-any/pthread/sched.h +++ b/lib/libc/include/any-macos-any/pthread/sched.h @@ -42,4 +42,5 @@ extern int sched_get_priority_min(int); extern int sched_get_priority_max(int); __END_DECLS -#endif /* _SCHED_H_ */ \ No newline at end of file +#endif /* _SCHED_H_ */ + diff --git a/lib/libc/include/any-macos-any/pwd.h b/lib/libc/include/any-macos-any/pwd.h index 18cc0ab288..67cc5a69fc 100644 --- a/lib/libc/include/any-macos-any/pwd.h +++ b/lib/libc/include/any-macos-any/pwd.h @@ -116,4 +116,4 @@ int getpwuuid_r(uuid_t, struct passwd *, char *, size_t, struct passwd **); __END_DECLS #endif -#endif /* !_PWD_H_ */ \ No newline at end of file +#endif /* !_PWD_H_ */ diff --git a/lib/libc/include/any-macos-any/regex.h b/lib/libc/include/any-macos-any/regex.h index f84f764a93..11f592b3fb 100644 --- a/lib/libc/include/any-macos-any/regex.h +++ b/lib/libc/include/any-macos-any/regex.h @@ -214,4 +214,4 @@ __END_DECLS #include #endif /* _USE_EXTENDED_LOCALES_ */ -#endif /* !_REGEX_H_ */ \ No newline at end of file +#endif /* !_REGEX_H_ */ diff --git a/lib/libc/include/any-macos-any/runetype.h b/lib/libc/include/any-macos-any/runetype.h index e1369709ce..b3dcce26fd 100644 --- a/lib/libc/include/any-macos-any/runetype.h +++ b/lib/libc/include/any-macos-any/runetype.h @@ -112,4 +112,4 @@ extern _RuneLocale _DefaultRuneLocale; extern _RuneLocale *_CurrentRuneLocale; __END_DECLS -#endif /* !_RUNETYPE_H_ */ \ No newline at end of file +#endif /* !_RUNETYPE_H_ */ diff --git a/lib/libc/include/any-macos-any/sched.h b/lib/libc/include/any-macos-any/sched.h index 88a783127d..2ef6e2b8ab 100644 --- a/lib/libc/include/any-macos-any/sched.h +++ b/lib/libc/include/any-macos-any/sched.h @@ -42,4 +42,5 @@ extern int sched_get_priority_min(int); extern int sched_get_priority_max(int); __END_DECLS -#endif /* _SCHED_H_ */ \ No newline at end of file +#endif /* _SCHED_H_ */ + diff --git a/lib/libc/include/any-macos-any/search.h b/lib/libc/include/any-macos-any/search.h index 36d30fb3e6..58d69e76b7 100644 --- a/lib/libc/include/any-macos-any/search.h +++ b/lib/libc/include/any-macos-any/search.h @@ -59,4 +59,4 @@ void *tsearch(const void *, void **, int (*)(const void *, const void *)); void twalk(const void *, void (*)(const void *, VISIT, int)); __END_DECLS -#endif /* !_SEARCH_H_ */ \ No newline at end of file +#endif /* !_SEARCH_H_ */ diff --git a/lib/libc/include/any-macos-any/secure/_common.h b/lib/libc/include/any-macos-any/secure/_common.h index 7e1e43d722..a7acfaa0de 100644 --- a/lib/libc/include/any-macos-any/secure/_common.h +++ b/lib/libc/include/any-macos-any/secure/_common.h @@ -38,4 +38,4 @@ #define __darwin_obsz0(object) __builtin_object_size (object, 0) #define __darwin_obsz(object) __builtin_object_size (object, _USE_FORTIFY_LEVEL > 1 ? 1 : 0) -#endif \ No newline at end of file +#endif diff --git a/lib/libc/include/any-macos-any/secure/_stdio.h b/lib/libc/include/any-macos-any/secure/_stdio.h index 89e4c90ae0..c4dc7b2343 100644 --- a/lib/libc/include/any-macos-any/secure/_stdio.h +++ b/lib/libc/include/any-macos-any/secure/_stdio.h @@ -83,4 +83,4 @@ extern int __vsnprintf_chk (char * __restrict, size_t, int, size_t, #endif #endif /* _USE_FORTIFY_LEVEL > 0 */ -#endif /* _SECURE__STDIO_H_ */ \ No newline at end of file +#endif /* _SECURE__STDIO_H_ */ diff --git a/lib/libc/include/any-macos-any/secure/_string.h b/lib/libc/include/any-macos-any/secure/_string.h index 9fac5296c7..f101c134c9 100644 --- a/lib/libc/include/any-macos-any/secure/_string.h +++ b/lib/libc/include/any-macos-any/secure/_string.h @@ -147,4 +147,4 @@ #undef __HAS_FIXED_CHK_PROTOTYPES #endif /* _USE_FORTIFY_LEVEL > 0 */ -#endif /* _SECURE__STRING_H_ */ \ No newline at end of file +#endif /* _SECURE__STRING_H_ */ diff --git a/lib/libc/include/any-macos-any/secure/_strings.h b/lib/libc/include/any-macos-any/secure/_strings.h index c50dcb5cf5..9069e59591 100644 --- a/lib/libc/include/any-macos-any/secure/_strings.h +++ b/lib/libc/include/any-macos-any/secure/_strings.h @@ -56,4 +56,4 @@ #endif #endif /* _USE_FORTIFY_LEVEL > 0 */ -#endif /* _SECURE__STRINGS_H_ */ \ No newline at end of file +#endif /* _SECURE__STRINGS_H_ */ diff --git a/lib/libc/include/any-macos-any/semaphore.h b/lib/libc/include/any-macos-any/semaphore.h index 96fa229741..638aa6138f 100644 --- a/lib/libc/include/any-macos-any/semaphore.h +++ b/lib/libc/include/any-macos-any/semaphore.h @@ -28,4 +28,4 @@ #include -#endif /* _BSD_SEMAPHORE_H */ \ No newline at end of file +#endif /* _BSD_SEMAPHORE_H */ diff --git a/lib/libc/include/any-macos-any/setjmp.h b/lib/libc/include/any-macos-any/setjmp.h index 24ec583696..f54ddefa57 100644 --- a/lib/libc/include/any-macos-any/setjmp.h +++ b/lib/libc/include/any-macos-any/setjmp.h @@ -99,4 +99,4 @@ void longjmperror(void); #endif /* neither ANSI nor POSIX */ __END_DECLS -#endif /* _BSD_SETJMP_H */ \ No newline at end of file +#endif /* _BSD_SETJMP_H */ diff --git a/lib/libc/include/any-macos-any/signal.h b/lib/libc/include/any-macos-any/signal.h index 5ae13452c1..496d02f1e0 100644 --- a/lib/libc/include/any-macos-any/signal.h +++ b/lib/libc/include/any-macos-any/signal.h @@ -99,8 +99,10 @@ int sigrelse(int); void (* _Nullable sigset(int, void (* _Nullable)(int)))(int); int sigsuspend(const sigset_t *) __DARWIN_ALIAS_C(sigsuspend); int sigwait(const sigset_t * __restrict, int * __restrict) __DARWIN_ALIAS_C(sigwait); +#if !defined(_POSIX_C_SOURCE) || _POSIX_C_SOURCE >= 200809L || defined(_DARWIN_C_SOURCE) +void psignal(int, const char *); +#endif /* (!_POSIX_C_SOURCE || _POSIX_C_SOURCE >= 200809L || _DARWIN_C_SOURCE) */ #if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -void psignal(unsigned int, const char *); int sigblock(int); int sigsetmask(int); int sigvec(int, struct sigvec *, struct sigvec *); @@ -121,4 +123,4 @@ __sigbits(int __signo) #define sigfillset(set) (*(set) = ~(sigset_t)0, 0) #endif /* !_ANSI_SOURCE */ -#endif /* !_USER_SIGNAL_H */ \ No newline at end of file +#endif /* !_USER_SIGNAL_H */ diff --git a/lib/libc/include/any-macos.13-any/simd/base.h b/lib/libc/include/any-macos-any/simd/base.h similarity index 89% rename from lib/libc/include/any-macos.13-any/simd/base.h rename to lib/libc/include/any-macos-any/simd/base.h index fe3b05e356..41b0bd2717 100644 --- a/lib/libc/include/any-macos.13-any/simd/base.h +++ b/lib/libc/include/any-macos-any/simd/base.h @@ -32,7 +32,8 @@ # endif # if SIMD_COMPILER_HAS_REQUIRED_FEATURES -# if __has_include() +# if __has_include() && __has_include() +# include # include /* A number of new features are added in newer releases; most of these are * inline in the header, which makes them available even when targeting older @@ -41,7 +42,9 @@ * way in which simd functions are overloaded, the usual weak-linking tricks * do not work; these functions are simply unavailable when targeting older * versions of the library. */ -# if __MAC_OS_X_VERSION_MIN_REQUIRED >= __MAC_13_0 || \ +# if TARGET_OS_RTKIT +# define SIMD_LIBRARY_VERSION 5 +# elif __MAC_OS_X_VERSION_MIN_REQUIRED >= __MAC_13_0 || \ __IPHONE_OS_VERSION_MIN_REQUIRED >= __IPHONE_16_0 || \ __WATCH_OS_VERSION_MIN_REQUIRED >= __WATCHOS_9_0 || \ __TV_OS_VERSION_MIN_REQUIRED >= __TVOS_16_0 || \ @@ -72,8 +75,8 @@ # else # define SIMD_LIBRARY_VERSION 0 # endif -# else /* !__has_include() */ -# define SIMD_LIBRARY_VERSION 3 +# else /* !__has_include() && __has_include() */ +# define SIMD_LIBRARY_VERSION 5 # define __API_AVAILABLE(...) /* Nothing */ # endif @@ -120,6 +123,18 @@ #define __SIMD_ATTRIBUTES__ SIMD_CFUNC #define __SIMD_OVERLOAD__ SIMD_OVERLOAD +# if __has_feature(cxx_constexpr) +# define SIMD_CONSTEXPR constexpr +# else +# define SIMD_CONSTEXPR /* nothing */ +# endif + +# if __has_feature(cxx_noexcept) +# define SIMD_NOEXCEPT noexcept +# else +# define SIMD_NOEXCEPT /* nothing */ +# endif + #if defined __cplusplus /*! @abstract A boolean scalar. */ typedef bool simd_bool; @@ -133,4 +148,4 @@ typedef _Bool simd_bool; typedef simd_bool __SIMD_BOOLEAN_TYPE__; # endif /* SIMD_COMPILER_HAS_REQUIRED_FEATURES */ -#endif /* defined SIMD_BASE */ \ No newline at end of file +#endif /* defined SIMD_BASE */ diff --git a/lib/libc/include/any-macos-any/simd/common.h b/lib/libc/include/any-macos-any/simd/common.h index 76dfe04f5d..cb2f6503cb 100644 --- a/lib/libc/include/any-macos-any/simd/common.h +++ b/lib/libc/include/any-macos-any/simd/common.h @@ -4032,7 +4032,11 @@ static inline SIMD_CFUNC char simd_reduce_min(simd_char8 x) { } static inline SIMD_CFUNC char simd_reduce_min(simd_char16 x) { +#if defined __arm64__ + return vminvq_s8(x); +#else return simd_reduce_min(simd_min(x.lo, x.hi)); +#endif } static inline SIMD_CFUNC char simd_reduce_min(simd_char32 x) { @@ -4061,7 +4065,11 @@ static inline SIMD_CFUNC unsigned char simd_reduce_min(simd_uchar8 x) { } static inline SIMD_CFUNC unsigned char simd_reduce_min(simd_uchar16 x) { +#if defined __arm64__ + return vminvq_u8(x); +#else return simd_reduce_min(simd_min(x.lo, x.hi)); +#endif } static inline SIMD_CFUNC unsigned char simd_reduce_min(simd_uchar32 x) { @@ -4086,7 +4094,11 @@ static inline SIMD_CFUNC short simd_reduce_min(simd_short4 x) { } static inline SIMD_CFUNC short simd_reduce_min(simd_short8 x) { +#if defined __arm64__ + return vminvq_s16(x); +#else return simd_reduce_min(simd_min(x.lo, x.hi)); +#endif } static inline SIMD_CFUNC short simd_reduce_min(simd_short16 x) { @@ -4111,7 +4123,11 @@ static inline SIMD_CFUNC unsigned short simd_reduce_min(simd_ushort4 x) { } static inline SIMD_CFUNC unsigned short simd_reduce_min(simd_ushort8 x) { +#if defined __arm64__ + return vminvq_u16(x); +#else return simd_reduce_min(simd_min(x.lo, x.hi)); +#endif } static inline SIMD_CFUNC unsigned short simd_reduce_min(simd_ushort16 x) { @@ -4132,7 +4148,11 @@ static inline SIMD_CFUNC int simd_reduce_min(simd_int3 x) { } static inline SIMD_CFUNC int simd_reduce_min(simd_int4 x) { +#if defined __arm64__ + return vminvq_s32(x); +#else return simd_reduce_min(simd_min(x.lo, x.hi)); +#endif } static inline SIMD_CFUNC int simd_reduce_min(simd_int8 x) { @@ -4153,7 +4173,11 @@ static inline SIMD_CFUNC unsigned int simd_reduce_min(simd_uint3 x) { } static inline SIMD_CFUNC unsigned int simd_reduce_min(simd_uint4 x) { +#if defined __arm64__ + return vminvq_u32(x); +#else return simd_reduce_min(simd_min(x.lo, x.hi)); +#endif } static inline SIMD_CFUNC unsigned int simd_reduce_min(simd_uint8 x) { @@ -4164,26 +4188,6 @@ static inline SIMD_CFUNC unsigned int simd_reduce_min(simd_uint16 x) { return simd_reduce_min(simd_min(x.lo, x.hi)); } -static inline SIMD_CFUNC float simd_reduce_min(simd_float2 x) { - return fmin(x.x, x.y); -} - -static inline SIMD_CFUNC float simd_reduce_min(simd_float3 x) { - return fmin(fmin(x.x, x.z), x.y); -} - -static inline SIMD_CFUNC float simd_reduce_min(simd_float4 x) { - return simd_reduce_min(simd_min(x.lo, x.hi)); -} - -static inline SIMD_CFUNC float simd_reduce_min(simd_float8 x) { - return simd_reduce_min(simd_min(x.lo, x.hi)); -} - -static inline SIMD_CFUNC float simd_reduce_min(simd_float16 x) { - return simd_reduce_min(simd_min(x.lo, x.hi)); -} - static inline SIMD_CFUNC simd_long1 simd_reduce_min(simd_long2 x) { return x.y < x.x ? x.y : x.x; } @@ -4218,10 +4222,38 @@ static inline SIMD_CFUNC simd_ulong1 simd_reduce_min(simd_ulong8 x) { return simd_reduce_min(simd_min(x.lo, x.hi)); } -static inline SIMD_CFUNC double simd_reduce_min(simd_double2 x) { +static inline SIMD_CFUNC float simd_reduce_min(simd_float2 x) { return fmin(x.x, x.y); } +static inline SIMD_CFUNC float simd_reduce_min(simd_float3 x) { + return fmin(fmin(x.x, x.z), x.y); +} + +static inline SIMD_CFUNC float simd_reduce_min(simd_float4 x) { +#if defined __arm64__ + return vminvq_f32(x); +#else + return simd_reduce_min(simd_min(x.lo, x.hi)); +#endif +} + +static inline SIMD_CFUNC float simd_reduce_min(simd_float8 x) { + return simd_reduce_min(simd_min(x.lo, x.hi)); +} + +static inline SIMD_CFUNC float simd_reduce_min(simd_float16 x) { + return simd_reduce_min(simd_min(x.lo, x.hi)); +} + +static inline SIMD_CFUNC double simd_reduce_min(simd_double2 x) { +#if defined __arm64__ + return vminvq_f64(x); +#else + return fmin(x.x, x.y); +#endif +} + static inline SIMD_CFUNC double simd_reduce_min(simd_double3 x) { return fmin(fmin(x.x, x.z), x.y); } @@ -4252,7 +4284,11 @@ static inline SIMD_CFUNC char simd_reduce_max(simd_char8 x) { } static inline SIMD_CFUNC char simd_reduce_max(simd_char16 x) { +#if defined __arm64__ + return vmaxvq_s8(x); +#else return simd_reduce_max(simd_max(x.lo, x.hi)); +#endif } static inline SIMD_CFUNC char simd_reduce_max(simd_char32 x) { @@ -4281,7 +4317,11 @@ static inline SIMD_CFUNC unsigned char simd_reduce_max(simd_uchar8 x) { } static inline SIMD_CFUNC unsigned char simd_reduce_max(simd_uchar16 x) { +#if defined __arm64__ + return vmaxvq_u8(x); +#else return simd_reduce_max(simd_max(x.lo, x.hi)); +#endif } static inline SIMD_CFUNC unsigned char simd_reduce_max(simd_uchar32 x) { @@ -4306,7 +4346,11 @@ static inline SIMD_CFUNC short simd_reduce_max(simd_short4 x) { } static inline SIMD_CFUNC short simd_reduce_max(simd_short8 x) { +#if defined __arm64__ + return vmaxvq_s16(x); +#else return simd_reduce_max(simd_max(x.lo, x.hi)); +#endif } static inline SIMD_CFUNC short simd_reduce_max(simd_short16 x) { @@ -4331,7 +4375,11 @@ static inline SIMD_CFUNC unsigned short simd_reduce_max(simd_ushort4 x) { } static inline SIMD_CFUNC unsigned short simd_reduce_max(simd_ushort8 x) { +#if defined __arm64__ + return vmaxvq_u16(x); +#else return simd_reduce_max(simd_max(x.lo, x.hi)); +#endif } static inline SIMD_CFUNC unsigned short simd_reduce_max(simd_ushort16 x) { @@ -4352,7 +4400,11 @@ static inline SIMD_CFUNC int simd_reduce_max(simd_int3 x) { } static inline SIMD_CFUNC int simd_reduce_max(simd_int4 x) { +#if defined __arm64__ + return vmaxvq_s32(x); +#else return simd_reduce_max(simd_max(x.lo, x.hi)); +#endif } static inline SIMD_CFUNC int simd_reduce_max(simd_int8 x) { @@ -4373,7 +4425,11 @@ static inline SIMD_CFUNC unsigned int simd_reduce_max(simd_uint3 x) { } static inline SIMD_CFUNC unsigned int simd_reduce_max(simd_uint4 x) { +#if defined __arm64__ + return vmaxvq_u32(x); +#else return simd_reduce_max(simd_max(x.lo, x.hi)); +#endif } static inline SIMD_CFUNC unsigned int simd_reduce_max(simd_uint8 x) { @@ -4384,26 +4440,6 @@ static inline SIMD_CFUNC unsigned int simd_reduce_max(simd_uint16 x) { return simd_reduce_max(simd_max(x.lo, x.hi)); } -static inline SIMD_CFUNC float simd_reduce_max(simd_float2 x) { - return fmax(x.x, x.y); -} - -static inline SIMD_CFUNC float simd_reduce_max(simd_float3 x) { - return fmax(fmax(x.x, x.z), x.y); -} - -static inline SIMD_CFUNC float simd_reduce_max(simd_float4 x) { - return simd_reduce_max(simd_max(x.lo, x.hi)); -} - -static inline SIMD_CFUNC float simd_reduce_max(simd_float8 x) { - return simd_reduce_max(simd_max(x.lo, x.hi)); -} - -static inline SIMD_CFUNC float simd_reduce_max(simd_float16 x) { - return simd_reduce_max(simd_max(x.lo, x.hi)); -} - static inline SIMD_CFUNC simd_long1 simd_reduce_max(simd_long2 x) { return x.y > x.x ? x.y : x.x; } @@ -4438,10 +4474,38 @@ static inline SIMD_CFUNC simd_ulong1 simd_reduce_max(simd_ulong8 x) { return simd_reduce_max(simd_max(x.lo, x.hi)); } -static inline SIMD_CFUNC double simd_reduce_max(simd_double2 x) { +static inline SIMD_CFUNC float simd_reduce_max(simd_float2 x) { return fmax(x.x, x.y); } +static inline SIMD_CFUNC float simd_reduce_max(simd_float3 x) { + return fmax(fmax(x.x, x.z), x.y); +} + +static inline SIMD_CFUNC float simd_reduce_max(simd_float4 x) { +#if defined __arm64__ + return vmaxvq_f32(x); +#else + return simd_reduce_max(simd_max(x.lo, x.hi)); +#endif +} + +static inline SIMD_CFUNC float simd_reduce_max(simd_float8 x) { + return simd_reduce_max(simd_max(x.lo, x.hi)); +} + +static inline SIMD_CFUNC float simd_reduce_max(simd_float16 x) { + return simd_reduce_max(simd_max(x.lo, x.hi)); +} + +static inline SIMD_CFUNC double simd_reduce_max(simd_double2 x) { +#if defined __arm64__ + return vmaxvq_f64(x); +#else + return fmax(x.x, x.y); +#endif +} + static inline SIMD_CFUNC double simd_reduce_max(simd_double3 x) { return fmax(fmax(x.x, x.z), x.y); } @@ -4458,4 +4522,4 @@ static inline SIMD_CFUNC double simd_reduce_max(simd_double8 x) { } #endif #endif /* SIMD_COMPILER_HAS_REQUIRED_FEATURES */ -#endif /* SIMD_COMMON_HEADER */ \ No newline at end of file +#endif /* SIMD_COMMON_HEADER */ diff --git a/lib/libc/include/any-macos-any/simd/conversion.h b/lib/libc/include/any-macos-any/simd/conversion.h index 243cf849b4..235a56b836 100644 --- a/lib/libc/include/any-macos-any/simd/conversion.h +++ b/lib/libc/include/any-macos-any/simd/conversion.h @@ -2028,4 +2028,5 @@ static constexpr Vector_t::count> convert_sat(typeN ve } /* namespace simd */ #endif // __cplusplus #endif // SIMD_COMPILER_HAS_REQUIRED_FEATURES -#endif // __SIMD_CONVERSION_HEADER__ \ No newline at end of file +#endif // __SIMD_CONVERSION_HEADER__ + diff --git a/lib/libc/include/any-macos-any/simd/extern.h b/lib/libc/include/any-macos-any/simd/extern.h index 83f37e2351..b4b6b8f53d 100644 --- a/lib/libc/include/any-macos-any/simd/extern.h +++ b/lib/libc/include/any-macos-any/simd/extern.h @@ -46,4 +46,4 @@ extern simd_double4x4 __invert_d4(simd_double4x4); } #endif #endif /* SIMD_COMPILER_HAS_REQUIRED_FEATURES */ -#endif /* __SIMD_EXTERN_HEADER__ */ \ No newline at end of file +#endif /* __SIMD_EXTERN_HEADER__ */ diff --git a/lib/libc/include/any-macos-any/simd/geometry.h b/lib/libc/include/any-macos-any/simd/geometry.h index 649bfb6237..83b5a38061 100644 --- a/lib/libc/include/any-macos-any/simd/geometry.h +++ b/lib/libc/include/any-macos-any/simd/geometry.h @@ -88,6 +88,11 @@ * returned. * Available for vectors of length 2, 3, or 4. * + * simd_orient(x,y,...) Return a positive value if the origin and + * their ordered arguments determine a positively + * oriented parallelepiped, zero if it is degenerate, + * and a negative value if it is negatively oriented. + * * In C++ the following geometric functions are available in the simd:: * namespace: * @@ -105,6 +110,7 @@ * simd::cross(x,y) simd_cross(x,y) * simd::reflect(x,n) simd_reflect(x,n) * simd::refract(x,n,eta) simd_refract(x,n,eta) + * simd::orient(x,y,...) simd_orient(x,y,...) * * simd::precise::project(x,y) simd_precise_project(x,y) * simd::precise::length(x) simd_precise_length(x) @@ -686,6 +692,17 @@ namespace simd { static SIMD_CPPFUNC double3 refract(const double3 x, const double3 n, const float eta) { return ::simd_refract(x,n,eta); } static SIMD_CPPFUNC double4 refract(const double4 x, const double4 n, const float eta) { return ::simd_refract(x,n,eta); } +#if SIMD_LIBRARY_VERSION >= 2 + static SIMD_CPPFUNC float orient(const float2 x, const float2 y) { return ::simd_orient(x,y); } + static SIMD_CPPFUNC float orient(const float2 a, const float2 b, const float2 c) { return ::simd_orient(a,b,c); } + static SIMD_CPPFUNC float orient(const float3 x, const float3 y, const float3 z) { return ::simd_orient(x,y,z); } + static SIMD_CPPFUNC float orient(const float3 a, const float3 b, const float3 c, const float3 d) { return ::simd_orient(a,b,c,d); } + static SIMD_CPPFUNC double orient(const double2 x, const double2 y) { return ::simd_orient(x,y); } + static SIMD_CPPFUNC double orient(const double2 a, const double2 b, const double2 c) { return ::simd_orient(a,b,c); } + static SIMD_CPPFUNC double orient(const double3 x, const double3 y, const double3 z) { return ::simd_orient(x,y,z); } + static SIMD_CPPFUNC double orient(const double3 a, const double3 b, const double3 c, const double3 d) { return ::simd_orient(a,b,c,d); } +#endif + /* precise and fast sub-namespaces */ namespace precise { static SIMD_CPPFUNC float2 project(const float2 x, const float2 y) { return ::simd_precise_project(x, y); } @@ -1058,7 +1075,7 @@ static float SIMD_CFUNC simd_orient(simd_float3 __a, simd_float3 __b, simd_float } static double SIMD_CFUNC simd_orient(simd_double3 __a, simd_double3 __b, simd_double3 __c, simd_double3 __d) { simd_double3 __args[4] = { __a, __b, __c, __d }; - return _simd_orient_vd3((const double *)__args); + return _simd_orient_pd3((const double *)__args); } static float SIMD_CFUNC simd_incircle(simd_float2 __x, simd_float2 __a, simd_float2 __b, simd_float2 __c) { @@ -1080,4 +1097,4 @@ static double SIMD_CFUNC simd_insphere(simd_double3 __x, simd_double3 __a, simd_ } #endif #endif /* SIMD_COMPILER_HAS_REQUIRED_FEATURES */ -#endif /* __SIMD_COMMON_HEADER__ */ \ No newline at end of file +#endif /* __SIMD_COMMON_HEADER__ */ diff --git a/lib/libc/include/any-macos-any/simd/logic.h b/lib/libc/include/any-macos-any/simd/logic.h index fdefcb632d..0d447a910c 100644 --- a/lib/libc/include/any-macos-any/simd/logic.h +++ b/lib/libc/include/any-macos-any/simd/logic.h @@ -1312,4 +1312,4 @@ static inline SIMD_CFUNC simd_double8 simd_bitselect(simd_double8 x, simd_double } #endif #endif /* SIMD_COMPILER_HAS_REQUIRED_FEATURES */ -#endif /* __SIMD_LOGIC_HEADER__ */ \ No newline at end of file +#endif /* __SIMD_LOGIC_HEADER__ */ diff --git a/lib/libc/include/any-macos.13-any/simd/math.h b/lib/libc/include/any-macos-any/simd/math.h similarity index 99% rename from lib/libc/include/any-macos.13-any/simd/math.h rename to lib/libc/include/any-macos-any/simd/math.h index 9b8ce556f0..85d51984cc 100644 --- a/lib/libc/include/any-macos.13-any/simd/math.h +++ b/lib/libc/include/any-macos-any/simd/math.h @@ -5993,4 +5993,4 @@ static inline SIMD_CFUNC simd_double8 simd_muladd(simd_double8 x, simd_double8 y } /* extern "C" */ #endif #endif /* SIMD_COMPILER_HAS_REQUIRED_FEATURES */ -#endif /* SIMD_MATH_HEADER */ \ No newline at end of file +#endif /* SIMD_MATH_HEADER */ diff --git a/lib/libc/include/any-macos-any/simd/matrix.h b/lib/libc/include/any-macos-any/simd/matrix.h index 8933320917..c608be497b 100644 --- a/lib/libc/include/any-macos-any/simd/matrix.h +++ b/lib/libc/include/any-macos-any/simd/matrix.h @@ -451,25 +451,25 @@ namespace simd { static SIMD_CPPFUNC float4x3 operator-(const float4x3 x, const float4x3 y) { return float4x3(::simd_linear_combination(1, x, -1, y)); } static SIMD_CPPFUNC float4x4 operator-(const float4x4 x, const float4x4 y) { return float4x4(::simd_linear_combination(1, x, -1, y)); } - static SIMD_CPPFUNC float2x2& operator+=(float2x2& x, const float2x2 y) { x = x + y; return x; } - static SIMD_CPPFUNC float2x3& operator+=(float2x3& x, const float2x3 y) { x = x + y; return x; } - static SIMD_CPPFUNC float2x4& operator+=(float2x4& x, const float2x4 y) { x = x + y; return x; } - static SIMD_CPPFUNC float3x2& operator+=(float3x2& x, const float3x2 y) { x = x + y; return x; } - static SIMD_CPPFUNC float3x3& operator+=(float3x3& x, const float3x3 y) { x = x + y; return x; } - static SIMD_CPPFUNC float3x4& operator+=(float3x4& x, const float3x4 y) { x = x + y; return x; } - static SIMD_CPPFUNC float4x2& operator+=(float4x2& x, const float4x2 y) { x = x + y; return x; } - static SIMD_CPPFUNC float4x3& operator+=(float4x3& x, const float4x3 y) { x = x + y; return x; } - static SIMD_CPPFUNC float4x4& operator+=(float4x4& x, const float4x4 y) { x = x + y; return x; } + static SIMD_INLINE SIMD_NODEBUG float2x2& operator+=(float2x2& x, const float2x2 y) { x = x + y; return x; } + static SIMD_INLINE SIMD_NODEBUG float2x3& operator+=(float2x3& x, const float2x3 y) { x = x + y; return x; } + static SIMD_INLINE SIMD_NODEBUG float2x4& operator+=(float2x4& x, const float2x4 y) { x = x + y; return x; } + static SIMD_INLINE SIMD_NODEBUG float3x2& operator+=(float3x2& x, const float3x2 y) { x = x + y; return x; } + static SIMD_INLINE SIMD_NODEBUG float3x3& operator+=(float3x3& x, const float3x3 y) { x = x + y; return x; } + static SIMD_INLINE SIMD_NODEBUG float3x4& operator+=(float3x4& x, const float3x4 y) { x = x + y; return x; } + static SIMD_INLINE SIMD_NODEBUG float4x2& operator+=(float4x2& x, const float4x2 y) { x = x + y; return x; } + static SIMD_INLINE SIMD_NODEBUG float4x3& operator+=(float4x3& x, const float4x3 y) { x = x + y; return x; } + static SIMD_INLINE SIMD_NODEBUG float4x4& operator+=(float4x4& x, const float4x4 y) { x = x + y; return x; } - static SIMD_CPPFUNC float2x2& operator-=(float2x2& x, const float2x2 y) { x = x - y; return x; } - static SIMD_CPPFUNC float2x3& operator-=(float2x3& x, const float2x3 y) { x = x - y; return x; } - static SIMD_CPPFUNC float2x4& operator-=(float2x4& x, const float2x4 y) { x = x - y; return x; } - static SIMD_CPPFUNC float3x2& operator-=(float3x2& x, const float3x2 y) { x = x - y; return x; } - static SIMD_CPPFUNC float3x3& operator-=(float3x3& x, const float3x3 y) { x = x - y; return x; } - static SIMD_CPPFUNC float3x4& operator-=(float3x4& x, const float3x4 y) { x = x - y; return x; } - static SIMD_CPPFUNC float4x2& operator-=(float4x2& x, const float4x2 y) { x = x - y; return x; } - static SIMD_CPPFUNC float4x3& operator-=(float4x3& x, const float4x3 y) { x = x - y; return x; } - static SIMD_CPPFUNC float4x4& operator-=(float4x4& x, const float4x4 y) { x = x - y; return x; } + static SIMD_INLINE SIMD_NODEBUG float2x2& operator-=(float2x2& x, const float2x2 y) { x = x - y; return x; } + static SIMD_INLINE SIMD_NODEBUG float2x3& operator-=(float2x3& x, const float2x3 y) { x = x - y; return x; } + static SIMD_INLINE SIMD_NODEBUG float2x4& operator-=(float2x4& x, const float2x4 y) { x = x - y; return x; } + static SIMD_INLINE SIMD_NODEBUG float3x2& operator-=(float3x2& x, const float3x2 y) { x = x - y; return x; } + static SIMD_INLINE SIMD_NODEBUG float3x3& operator-=(float3x3& x, const float3x3 y) { x = x - y; return x; } + static SIMD_INLINE SIMD_NODEBUG float3x4& operator-=(float3x4& x, const float3x4 y) { x = x - y; return x; } + static SIMD_INLINE SIMD_NODEBUG float4x2& operator-=(float4x2& x, const float4x2 y) { x = x - y; return x; } + static SIMD_INLINE SIMD_NODEBUG float4x3& operator-=(float4x3& x, const float4x3 y) { x = x - y; return x; } + static SIMD_INLINE SIMD_NODEBUG float4x4& operator-=(float4x4& x, const float4x4 y) { x = x - y; return x; } static SIMD_CPPFUNC float2x2 transpose(const float2x2 x) { return ::simd_transpose(x); } static SIMD_CPPFUNC float2x3 transpose(const float3x2 x) { return ::simd_transpose(x); } @@ -514,15 +514,15 @@ namespace simd { static SIMD_CPPFUNC float4x2 operator*(const float4x2 x, const float a) { return ::simd_mul(a, x); } static SIMD_CPPFUNC float4x3 operator*(const float4x3 x, const float a) { return ::simd_mul(a, x); } static SIMD_CPPFUNC float4x4 operator*(const float4x4 x, const float a) { return ::simd_mul(a, x); } - static SIMD_CPPFUNC float2x2& operator*=(float2x2& x, const float a) { x = ::simd_mul(a, x); return x; } - static SIMD_CPPFUNC float2x3& operator*=(float2x3& x, const float a) { x = ::simd_mul(a, x); return x; } - static SIMD_CPPFUNC float2x4& operator*=(float2x4& x, const float a) { x = ::simd_mul(a, x); return x; } - static SIMD_CPPFUNC float3x2& operator*=(float3x2& x, const float a) { x = ::simd_mul(a, x); return x; } - static SIMD_CPPFUNC float3x3& operator*=(float3x3& x, const float a) { x = ::simd_mul(a, x); return x; } - static SIMD_CPPFUNC float3x4& operator*=(float3x4& x, const float a) { x = ::simd_mul(a, x); return x; } - static SIMD_CPPFUNC float4x2& operator*=(float4x2& x, const float a) { x = ::simd_mul(a, x); return x; } - static SIMD_CPPFUNC float4x3& operator*=(float4x3& x, const float a) { x = ::simd_mul(a, x); return x; } - static SIMD_CPPFUNC float4x4& operator*=(float4x4& x, const float a) { x = ::simd_mul(a, x); return x; } + static SIMD_INLINE SIMD_NODEBUG float2x2& operator*=(float2x2& x, const float a) { x = ::simd_mul(a, x); return x; } + static SIMD_INLINE SIMD_NODEBUG float2x3& operator*=(float2x3& x, const float a) { x = ::simd_mul(a, x); return x; } + static SIMD_INLINE SIMD_NODEBUG float2x4& operator*=(float2x4& x, const float a) { x = ::simd_mul(a, x); return x; } + static SIMD_INLINE SIMD_NODEBUG float3x2& operator*=(float3x2& x, const float a) { x = ::simd_mul(a, x); return x; } + static SIMD_INLINE SIMD_NODEBUG float3x3& operator*=(float3x3& x, const float a) { x = ::simd_mul(a, x); return x; } + static SIMD_INLINE SIMD_NODEBUG float3x4& operator*=(float3x4& x, const float a) { x = ::simd_mul(a, x); return x; } + static SIMD_INLINE SIMD_NODEBUG float4x2& operator*=(float4x2& x, const float a) { x = ::simd_mul(a, x); return x; } + static SIMD_INLINE SIMD_NODEBUG float4x3& operator*=(float4x3& x, const float a) { x = ::simd_mul(a, x); return x; } + static SIMD_INLINE SIMD_NODEBUG float4x4& operator*=(float4x4& x, const float a) { x = ::simd_mul(a, x); return x; } static SIMD_CPPFUNC float2 operator*(const float2 x, const float2x2 y) { return ::simd_mul(x, y); } static SIMD_CPPFUNC float3 operator*(const float2 x, const float3x2 y) { return ::simd_mul(x, y); } @@ -542,9 +542,9 @@ namespace simd { static SIMD_CPPFUNC float4 operator*(const float2x4 x, const float2 y) { return ::simd_mul(x, y); } static SIMD_CPPFUNC float4 operator*(const float3x4 x, const float3 y) { return ::simd_mul(x, y); } static SIMD_CPPFUNC float4 operator*(const float4x4 x, const float4 y) { return ::simd_mul(x, y); } - static SIMD_CPPFUNC float2& operator*=(float2& x, const float2x2 y) { x = ::simd_mul(x, y); return x; } - static SIMD_CPPFUNC float3& operator*=(float3& x, const float3x3 y) { x = ::simd_mul(x, y); return x; } - static SIMD_CPPFUNC float4& operator*=(float4& x, const float4x4 y) { x = ::simd_mul(x, y); return x; } + static SIMD_INLINE SIMD_NODEBUG float2& operator*=(float2& x, const float2x2 y) { x = ::simd_mul(x, y); return x; } + static SIMD_INLINE SIMD_NODEBUG float3& operator*=(float3& x, const float3x3 y) { x = ::simd_mul(x, y); return x; } + static SIMD_INLINE SIMD_NODEBUG float4& operator*=(float4& x, const float4x4 y) { x = ::simd_mul(x, y); return x; } static SIMD_CPPFUNC float2x2 operator*(const float2x2 x, const float2x2 y) { return ::simd_mul(x, y); } static SIMD_CPPFUNC float3x2 operator*(const float2x2 x, const float3x2 y) { return ::simd_mul(x, y); } @@ -573,15 +573,15 @@ namespace simd { static SIMD_CPPFUNC float2x4 operator*(const float4x4 x, const float2x4 y) { return ::simd_mul(x, y); } static SIMD_CPPFUNC float3x4 operator*(const float4x4 x, const float3x4 y) { return ::simd_mul(x, y); } static SIMD_CPPFUNC float4x4 operator*(const float4x4 x, const float4x4 y) { return ::simd_mul(x, y); } - static SIMD_CPPFUNC float2x2& operator*=(float2x2& x, const float2x2 y) { x = ::simd_mul(x, y); return x; } - static SIMD_CPPFUNC float2x3& operator*=(float2x3& x, const float2x2 y) { x = ::simd_mul(x, y); return x; } - static SIMD_CPPFUNC float2x4& operator*=(float2x4& x, const float2x2 y) { x = ::simd_mul(x, y); return x; } - static SIMD_CPPFUNC float3x2& operator*=(float3x2& x, const float3x3 y) { x = ::simd_mul(x, y); return x; } - static SIMD_CPPFUNC float3x3& operator*=(float3x3& x, const float3x3 y) { x = ::simd_mul(x, y); return x; } - static SIMD_CPPFUNC float3x4& operator*=(float3x4& x, const float3x3 y) { x = ::simd_mul(x, y); return x; } - static SIMD_CPPFUNC float4x2& operator*=(float4x2& x, const float4x4 y) { x = ::simd_mul(x, y); return x; } - static SIMD_CPPFUNC float4x3& operator*=(float4x3& x, const float4x4 y) { x = ::simd_mul(x, y); return x; } - static SIMD_CPPFUNC float4x4& operator*=(float4x4& x, const float4x4 y) { x = ::simd_mul(x, y); return x; } + static SIMD_INLINE SIMD_NODEBUG float2x2& operator*=(float2x2& x, const float2x2 y) { x = ::simd_mul(x, y); return x; } + static SIMD_INLINE SIMD_NODEBUG float2x3& operator*=(float2x3& x, const float2x2 y) { x = ::simd_mul(x, y); return x; } + static SIMD_INLINE SIMD_NODEBUG float2x4& operator*=(float2x4& x, const float2x2 y) { x = ::simd_mul(x, y); return x; } + static SIMD_INLINE SIMD_NODEBUG float3x2& operator*=(float3x2& x, const float3x3 y) { x = ::simd_mul(x, y); return x; } + static SIMD_INLINE SIMD_NODEBUG float3x3& operator*=(float3x3& x, const float3x3 y) { x = ::simd_mul(x, y); return x; } + static SIMD_INLINE SIMD_NODEBUG float3x4& operator*=(float3x4& x, const float3x3 y) { x = ::simd_mul(x, y); return x; } + static SIMD_INLINE SIMD_NODEBUG float4x2& operator*=(float4x2& x, const float4x4 y) { x = ::simd_mul(x, y); return x; } + static SIMD_INLINE SIMD_NODEBUG float4x3& operator*=(float4x3& x, const float4x4 y) { x = ::simd_mul(x, y); return x; } + static SIMD_INLINE SIMD_NODEBUG float4x4& operator*=(float4x4& x, const float4x4 y) { x = ::simd_mul(x, y); return x; } static SIMD_CPPFUNC bool operator==(const float2x2& x, const float2x2& y) { return ::simd_equal(x, y); } static SIMD_CPPFUNC bool operator==(const float2x3& x, const float2x3& y) { return ::simd_equal(x, y); } @@ -643,25 +643,25 @@ namespace simd { static SIMD_CPPFUNC double4x3 operator-(const double4x3 x, const double4x3 y) { return double4x3(::simd_linear_combination(1, x, -1, y)); } static SIMD_CPPFUNC double4x4 operator-(const double4x4 x, const double4x4 y) { return double4x4(::simd_linear_combination(1, x, -1, y)); } - static SIMD_CPPFUNC double2x2& operator+=(double2x2& x, const double2x2 y) { x = x + y; return x; } - static SIMD_CPPFUNC double2x3& operator+=(double2x3& x, const double2x3 y) { x = x + y; return x; } - static SIMD_CPPFUNC double2x4& operator+=(double2x4& x, const double2x4 y) { x = x + y; return x; } - static SIMD_CPPFUNC double3x2& operator+=(double3x2& x, const double3x2 y) { x = x + y; return x; } - static SIMD_CPPFUNC double3x3& operator+=(double3x3& x, const double3x3 y) { x = x + y; return x; } - static SIMD_CPPFUNC double3x4& operator+=(double3x4& x, const double3x4 y) { x = x + y; return x; } - static SIMD_CPPFUNC double4x2& operator+=(double4x2& x, const double4x2 y) { x = x + y; return x; } - static SIMD_CPPFUNC double4x3& operator+=(double4x3& x, const double4x3 y) { x = x + y; return x; } - static SIMD_CPPFUNC double4x4& operator+=(double4x4& x, const double4x4 y) { x = x + y; return x; } + static SIMD_INLINE SIMD_NODEBUG double2x2& operator+=(double2x2& x, const double2x2 y) { x = x + y; return x; } + static SIMD_INLINE SIMD_NODEBUG double2x3& operator+=(double2x3& x, const double2x3 y) { x = x + y; return x; } + static SIMD_INLINE SIMD_NODEBUG double2x4& operator+=(double2x4& x, const double2x4 y) { x = x + y; return x; } + static SIMD_INLINE SIMD_NODEBUG double3x2& operator+=(double3x2& x, const double3x2 y) { x = x + y; return x; } + static SIMD_INLINE SIMD_NODEBUG double3x3& operator+=(double3x3& x, const double3x3 y) { x = x + y; return x; } + static SIMD_INLINE SIMD_NODEBUG double3x4& operator+=(double3x4& x, const double3x4 y) { x = x + y; return x; } + static SIMD_INLINE SIMD_NODEBUG double4x2& operator+=(double4x2& x, const double4x2 y) { x = x + y; return x; } + static SIMD_INLINE SIMD_NODEBUG double4x3& operator+=(double4x3& x, const double4x3 y) { x = x + y; return x; } + static SIMD_INLINE SIMD_NODEBUG double4x4& operator+=(double4x4& x, const double4x4 y) { x = x + y; return x; } - static SIMD_CPPFUNC double2x2& operator-=(double2x2& x, const double2x2 y) { x = x - y; return x; } - static SIMD_CPPFUNC double2x3& operator-=(double2x3& x, const double2x3 y) { x = x - y; return x; } - static SIMD_CPPFUNC double2x4& operator-=(double2x4& x, const double2x4 y) { x = x - y; return x; } - static SIMD_CPPFUNC double3x2& operator-=(double3x2& x, const double3x2 y) { x = x - y; return x; } - static SIMD_CPPFUNC double3x3& operator-=(double3x3& x, const double3x3 y) { x = x - y; return x; } - static SIMD_CPPFUNC double3x4& operator-=(double3x4& x, const double3x4 y) { x = x - y; return x; } - static SIMD_CPPFUNC double4x2& operator-=(double4x2& x, const double4x2 y) { x = x - y; return x; } - static SIMD_CPPFUNC double4x3& operator-=(double4x3& x, const double4x3 y) { x = x - y; return x; } - static SIMD_CPPFUNC double4x4& operator-=(double4x4& x, const double4x4 y) { x = x - y; return x; } + static SIMD_INLINE SIMD_NODEBUG double2x2& operator-=(double2x2& x, const double2x2 y) { x = x - y; return x; } + static SIMD_INLINE SIMD_NODEBUG double2x3& operator-=(double2x3& x, const double2x3 y) { x = x - y; return x; } + static SIMD_INLINE SIMD_NODEBUG double2x4& operator-=(double2x4& x, const double2x4 y) { x = x - y; return x; } + static SIMD_INLINE SIMD_NODEBUG double3x2& operator-=(double3x2& x, const double3x2 y) { x = x - y; return x; } + static SIMD_INLINE SIMD_NODEBUG double3x3& operator-=(double3x3& x, const double3x3 y) { x = x - y; return x; } + static SIMD_INLINE SIMD_NODEBUG double3x4& operator-=(double3x4& x, const double3x4 y) { x = x - y; return x; } + static SIMD_INLINE SIMD_NODEBUG double4x2& operator-=(double4x2& x, const double4x2 y) { x = x - y; return x; } + static SIMD_INLINE SIMD_NODEBUG double4x3& operator-=(double4x3& x, const double4x3 y) { x = x - y; return x; } + static SIMD_INLINE SIMD_NODEBUG double4x4& operator-=(double4x4& x, const double4x4 y) { x = x - y; return x; } static SIMD_CPPFUNC double2x2 transpose(const double2x2 x) { return ::simd_transpose(x); } static SIMD_CPPFUNC double2x3 transpose(const double3x2 x) { return ::simd_transpose(x); } @@ -706,15 +706,15 @@ namespace simd { static SIMD_CPPFUNC double4x2 operator*(const double4x2 x, const double a) { return ::simd_mul(a, x); } static SIMD_CPPFUNC double4x3 operator*(const double4x3 x, const double a) { return ::simd_mul(a, x); } static SIMD_CPPFUNC double4x4 operator*(const double4x4 x, const double a) { return ::simd_mul(a, x); } - static SIMD_CPPFUNC double2x2& operator*=(double2x2& x, const double a) { x = ::simd_mul(a, x); return x; } - static SIMD_CPPFUNC double2x3& operator*=(double2x3& x, const double a) { x = ::simd_mul(a, x); return x; } - static SIMD_CPPFUNC double2x4& operator*=(double2x4& x, const double a) { x = ::simd_mul(a, x); return x; } - static SIMD_CPPFUNC double3x2& operator*=(double3x2& x, const double a) { x = ::simd_mul(a, x); return x; } - static SIMD_CPPFUNC double3x3& operator*=(double3x3& x, const double a) { x = ::simd_mul(a, x); return x; } - static SIMD_CPPFUNC double3x4& operator*=(double3x4& x, const double a) { x = ::simd_mul(a, x); return x; } - static SIMD_CPPFUNC double4x2& operator*=(double4x2& x, const double a) { x = ::simd_mul(a, x); return x; } - static SIMD_CPPFUNC double4x3& operator*=(double4x3& x, const double a) { x = ::simd_mul(a, x); return x; } - static SIMD_CPPFUNC double4x4& operator*=(double4x4& x, const double a) { x = ::simd_mul(a, x); return x; } + static SIMD_INLINE SIMD_NODEBUG double2x2& operator*=(double2x2& x, const double a) { x = ::simd_mul(a, x); return x; } + static SIMD_INLINE SIMD_NODEBUG double2x3& operator*=(double2x3& x, const double a) { x = ::simd_mul(a, x); return x; } + static SIMD_INLINE SIMD_NODEBUG double2x4& operator*=(double2x4& x, const double a) { x = ::simd_mul(a, x); return x; } + static SIMD_INLINE SIMD_NODEBUG double3x2& operator*=(double3x2& x, const double a) { x = ::simd_mul(a, x); return x; } + static SIMD_INLINE SIMD_NODEBUG double3x3& operator*=(double3x3& x, const double a) { x = ::simd_mul(a, x); return x; } + static SIMD_INLINE SIMD_NODEBUG double3x4& operator*=(double3x4& x, const double a) { x = ::simd_mul(a, x); return x; } + static SIMD_INLINE SIMD_NODEBUG double4x2& operator*=(double4x2& x, const double a) { x = ::simd_mul(a, x); return x; } + static SIMD_INLINE SIMD_NODEBUG double4x3& operator*=(double4x3& x, const double a) { x = ::simd_mul(a, x); return x; } + static SIMD_INLINE SIMD_NODEBUG double4x4& operator*=(double4x4& x, const double a) { x = ::simd_mul(a, x); return x; } static SIMD_CPPFUNC double2 operator*(const double2 x, const double2x2 y) { return ::simd_mul(x, y); } static SIMD_CPPFUNC double3 operator*(const double2 x, const double3x2 y) { return ::simd_mul(x, y); } @@ -734,9 +734,9 @@ namespace simd { static SIMD_CPPFUNC double4 operator*(const double2x4 x, const double2 y) { return ::simd_mul(x, y); } static SIMD_CPPFUNC double4 operator*(const double3x4 x, const double3 y) { return ::simd_mul(x, y); } static SIMD_CPPFUNC double4 operator*(const double4x4 x, const double4 y) { return ::simd_mul(x, y); } - static SIMD_CPPFUNC double2& operator*=(double2& x, const double2x2 y) { x = ::simd_mul(x, y); return x; } - static SIMD_CPPFUNC double3& operator*=(double3& x, const double3x3 y) { x = ::simd_mul(x, y); return x; } - static SIMD_CPPFUNC double4& operator*=(double4& x, const double4x4 y) { x = ::simd_mul(x, y); return x; } + static SIMD_INLINE SIMD_NODEBUG double2& operator*=(double2& x, const double2x2 y) { x = ::simd_mul(x, y); return x; } + static SIMD_INLINE SIMD_NODEBUG double3& operator*=(double3& x, const double3x3 y) { x = ::simd_mul(x, y); return x; } + static SIMD_INLINE SIMD_NODEBUG double4& operator*=(double4& x, const double4x4 y) { x = ::simd_mul(x, y); return x; } static SIMD_CPPFUNC double2x2 operator*(const double2x2 x, const double2x2 y) { return ::simd_mul(x, y); } static SIMD_CPPFUNC double3x2 operator*(const double2x2 x, const double3x2 y) { return ::simd_mul(x, y); } @@ -765,15 +765,15 @@ namespace simd { static SIMD_CPPFUNC double2x4 operator*(const double4x4 x, const double2x4 y) { return ::simd_mul(x, y); } static SIMD_CPPFUNC double3x4 operator*(const double4x4 x, const double3x4 y) { return ::simd_mul(x, y); } static SIMD_CPPFUNC double4x4 operator*(const double4x4 x, const double4x4 y) { return ::simd_mul(x, y); } - static SIMD_CPPFUNC double2x2& operator*=(double2x2& x, const double2x2 y) { x = ::simd_mul(x, y); return x; } - static SIMD_CPPFUNC double2x3& operator*=(double2x3& x, const double2x2 y) { x = ::simd_mul(x, y); return x; } - static SIMD_CPPFUNC double2x4& operator*=(double2x4& x, const double2x2 y) { x = ::simd_mul(x, y); return x; } - static SIMD_CPPFUNC double3x2& operator*=(double3x2& x, const double3x3 y) { x = ::simd_mul(x, y); return x; } - static SIMD_CPPFUNC double3x3& operator*=(double3x3& x, const double3x3 y) { x = ::simd_mul(x, y); return x; } - static SIMD_CPPFUNC double3x4& operator*=(double3x4& x, const double3x3 y) { x = ::simd_mul(x, y); return x; } - static SIMD_CPPFUNC double4x2& operator*=(double4x2& x, const double4x4 y) { x = ::simd_mul(x, y); return x; } - static SIMD_CPPFUNC double4x3& operator*=(double4x3& x, const double4x4 y) { x = ::simd_mul(x, y); return x; } - static SIMD_CPPFUNC double4x4& operator*=(double4x4& x, const double4x4 y) { x = ::simd_mul(x, y); return x; } + static SIMD_INLINE SIMD_NODEBUG double2x2& operator*=(double2x2& x, const double2x2 y) { x = ::simd_mul(x, y); return x; } + static SIMD_INLINE SIMD_NODEBUG double2x3& operator*=(double2x3& x, const double2x2 y) { x = ::simd_mul(x, y); return x; } + static SIMD_INLINE SIMD_NODEBUG double2x4& operator*=(double2x4& x, const double2x2 y) { x = ::simd_mul(x, y); return x; } + static SIMD_INLINE SIMD_NODEBUG double3x2& operator*=(double3x2& x, const double3x3 y) { x = ::simd_mul(x, y); return x; } + static SIMD_INLINE SIMD_NODEBUG double3x3& operator*=(double3x3& x, const double3x3 y) { x = ::simd_mul(x, y); return x; } + static SIMD_INLINE SIMD_NODEBUG double3x4& operator*=(double3x4& x, const double3x3 y) { x = ::simd_mul(x, y); return x; } + static SIMD_INLINE SIMD_NODEBUG double4x2& operator*=(double4x2& x, const double4x4 y) { x = ::simd_mul(x, y); return x; } + static SIMD_INLINE SIMD_NODEBUG double4x3& operator*=(double4x3& x, const double4x4 y) { x = ::simd_mul(x, y); return x; } + static SIMD_INLINE SIMD_NODEBUG double4x4& operator*=(double4x4& x, const double4x4 y) { x = ::simd_mul(x, y); return x; } static SIMD_CPPFUNC bool operator==(const double2x2& x, const double2x2& y) { return ::simd_equal(x, y); } static SIMD_CPPFUNC bool operator==(const double2x3& x, const double2x3& y) { return ::simd_equal(x, y); } @@ -874,15 +874,15 @@ static simd_float3x3 SIMD_NOINLINE simd_matrix3x3(simd_quatf q) { static simd_float4x4 SIMD_NOINLINE simd_matrix4x4(simd_quatf q) { simd_float4 v = q.vector; simd_float4x4 r = { - .columns[0] = { 1 - 2*(v.y*v.y + v.z*v.z), + .columns[0] = { v.x*v.x - v.y*v.y - v.z*v.z + v.w*v.w, 2*(v.x*v.y + v.z*v.w), 2*(v.x*v.z - v.y*v.w), 0 }, .columns[1] = { 2*(v.x*v.y - v.z*v.w), - 1 - 2*(v.z*v.z + v.x*v.x), + v.y*v.y - v.z*v.z + v.w*v.w - v.x*v.x, 2*(v.y*v.z + v.x*v.w), 0 }, .columns[2] = { 2*(v.z*v.x + v.y*v.w), 2*(v.y*v.z - v.x*v.w), - 1 - 2*(v.y*v.y + v.x*v.x), 0 }, + v.z*v.z + v.w*v.w - v.x*v.x - v.y*v.y, 0 }, .columns[3] = { 0, 0, 0, 1 } }; return r; @@ -896,15 +896,15 @@ static simd_double3x3 SIMD_NOINLINE simd_matrix3x3(simd_quatd q) { static simd_double4x4 SIMD_NOINLINE simd_matrix4x4(simd_quatd q) { simd_double4 v = q.vector; simd_double4x4 r = { - .columns[0] = { 1 - 2*(v.y*v.y + v.z*v.z), + .columns[0] = { v.x*v.x - v.y*v.y - v.z*v.z + v.w*v.w, 2*(v.x*v.y + v.z*v.w), 2*(v.x*v.z - v.y*v.w), 0 }, .columns[1] = { 2*(v.x*v.y - v.z*v.w), - 1 - 2*(v.z*v.z + v.x*v.x), + v.y*v.y - v.z*v.z + v.w*v.w - v.x*v.x, 2*(v.y*v.z + v.x*v.w), 0 }, .columns[2] = { 2*(v.z*v.x + v.y*v.w), 2*(v.y*v.z - v.x*v.w), - 1 - 2*(v.y*v.y + v.x*v.x), 0 }, + v.z*v.z + v.w*v.w - v.x*v.x - v.y*v.y, 0 }, .columns[3] = { 0, 0, 0, 1 } }; return r; @@ -1096,79 +1096,98 @@ static simd_double3x4 SIMD_CFUNC simd_sub(simd_double3x4 __x, simd_double3x4 __y static simd_double4x4 SIMD_CFUNC simd_sub(simd_double4x4 __x, simd_double4x4 __y) { return simd_linear_combination(1, __x, -1, __y); } static simd_float2x2 SIMD_CFUNC simd_transpose(simd_float2x2 __x) { -#if defined __SSE__ simd_float4 __x0, __x1; __x0.xy = __x.columns[0]; __x1.xy = __x.columns[1]; +#if defined __SSE__ simd_float4 __r01 = _mm_unpacklo_ps(__x0, __x1); - return simd_matrix(__r01.lo, __r01.hi); +#elif defined __ARM_NEON__ + simd_float4 __r01 = vzip1q_f32(__x0, __x1); #else - return simd_matrix((simd_float2){__x.columns[0][0], __x.columns[1][0]}, - (simd_float2){__x.columns[0][1], __x.columns[1][1]}); + simd_float4 __r01 = { __x0[0], __x1[0], __x0[1], __x1[1] }; #endif + return simd_matrix(__r01.lo, __r01.hi); } static simd_float3x2 SIMD_CFUNC simd_transpose(simd_float2x3 __x) { -#if defined __SSE__ simd_float4 __x0, __x1; __x0.xyz = __x.columns[0]; __x1.xyz = __x.columns[1]; +#if defined __SSE__ simd_float4 __r01 = _mm_unpacklo_ps(__x0, __x1); simd_float4 __r2x = _mm_unpackhi_ps(__x0, __x1); - return simd_matrix(__r01.lo, __r01.hi, __r2x.lo); +#elif defined __ARM_NEON__ + simd_float4 __r01 = vzip1q_f32(__x0, __x1); + simd_float4 __r2x = vzip2q_f32(__x0, __x1); #else - return simd_matrix((simd_float2){__x.columns[0][0], __x.columns[1][0]}, - (simd_float2){__x.columns[0][1], __x.columns[1][1]}, - (simd_float2){__x.columns[0][2], __x.columns[1][2]}); + simd_float4 __r01 = { __x0[0], __x1[0], __x0[1], __x1[1] }; + simd_float4 __r2x = { __x0[2], __x1[2] }; #endif + return simd_matrix(__r01.lo, __r01.hi, __r2x.lo); } static simd_float4x2 SIMD_CFUNC simd_transpose(simd_float2x4 __x) { #if defined __SSE__ simd_float4 __r01 = _mm_unpacklo_ps(__x.columns[0], __x.columns[1]); simd_float4 __r23 = _mm_unpackhi_ps(__x.columns[0], __x.columns[1]); - return simd_matrix(__r01.lo, __r01.hi, __r23.lo, __r23.hi); +#elif defined __ARM_NEON__ + simd_float4 __r01 = vzip1q_f32(__x.columns[0], __x.columns[1]); + simd_float4 __r23 = vzip2q_f32(__x.columns[0], __x.columns[1]); #else - return simd_matrix((simd_float2){__x.columns[0][0], __x.columns[1][0]}, - (simd_float2){__x.columns[0][1], __x.columns[1][1]}, - (simd_float2){__x.columns[0][2], __x.columns[1][2]}, - (simd_float2){__x.columns[0][3], __x.columns[1][3]}); + simd_float4 __r01 = { __x.columns[0][0], __x.columns[1][0], __x.columns[0][1], __x.columns[1][1] }; + simd_float4 __r23 = { __x.columns[0][2], __x.columns[1][2], __x.columns[0][3], __x.columns[1][3] }; #endif + return simd_matrix(__r01.lo, __r01.hi, __r23.lo, __r23.hi); } static simd_float2x3 SIMD_CFUNC simd_transpose(simd_float3x2 __x) { -#if defined __SSE__ simd_float4 __x0, __x1, __x2; __x0.xy = __x.columns[0]; __x1.xy = __x.columns[1]; __x2.xy = __x.columns[2]; +#if defined __SSE__ simd_float4 __t = _mm_unpacklo_ps(__x0, __x1); simd_float4 __r0 = _mm_shuffle_ps(__t,__x2,0xc4); simd_float4 __r1 = _mm_shuffle_ps(__t,__x2,0xde); - return simd_matrix(__r0.xyz, __r1.xyz); +#elif defined __ARM_NEON__ + simd_float4 padding = { 0 }; + simd_float4 __t0 = vzip1q_f32(__x0,__x2); + simd_float4 __t1 = vzip1q_f32(__x1,padding); + simd_float4 __r0 = vzip1q_f32(__t0,__t1); + simd_float4 __r1 = vzip2q_f32(__t0,__t1); #else - return simd_matrix((simd_float3){__x.columns[0][0], __x.columns[1][0], __x.columns[2][0]}, - (simd_float3){__x.columns[0][1], __x.columns[1][1], __x.columns[2][1]}); + simd_float4 __r0 = { __x0[0], __x1[0], __x2[0] }; + simd_float4 __r1 = { __x0[1], __x1[1], __x2[1] }; #endif + return simd_matrix(__r0.xyz, __r1.xyz); } static simd_float3x3 SIMD_CFUNC simd_transpose(simd_float3x3 __x) { -#if defined __SSE__ simd_float4 __x0, __x1, __x2; __x0.xyz = __x.columns[0]; __x1.xyz = __x.columns[1]; __x2.xyz = __x.columns[2]; +#if defined __SSE__ simd_float4 __t0 = _mm_unpacklo_ps(__x0, __x1); simd_float4 __t1 = _mm_unpackhi_ps(__x0, __x1); simd_float4 __r0 = __t0; __r0.hi = __x2.lo; simd_float4 __r1 = _mm_shuffle_ps(__t0, __x2, 0xde); simd_float4 __r2 = __x2; __r2.lo = __t1.lo; - return simd_matrix(__r0.xyz, __r1.xyz, __r2.xyz); +#elif defined __ARM_NEON__ + simd_float4 padding = { 0 }; + simd_float4 __t0 = vzip1q_f32(__x0,__x2); + simd_float4 __t1 = vzip2q_f32(__x0,__x2); + simd_float4 __t2 = vzip1q_f32(__x1,padding); + simd_float4 __t3 = vzip2q_f32(__x1,padding); + simd_float4 __r0 = vzip1q_f32(__t0,__t2); + simd_float4 __r1 = vzip2q_f32(__t0,__t2); + simd_float4 __r2 = vzip1q_f32(__t1,__t3); #else - return simd_matrix((simd_float3){__x.columns[0][0], __x.columns[1][0], __x.columns[2][0]}, - (simd_float3){__x.columns[0][1], __x.columns[1][1], __x.columns[2][1]}, - (simd_float3){__x.columns[0][2], __x.columns[1][2], __x.columns[2][2]}); + simd_float4 __r0 = {__x0[0], __x1[0], __x2[0]}; + simd_float4 __r1 = {__x0[1], __x1[1], __x2[1]}; + simd_float4 __r2 = {__x0[2], __x1[2], __x2[2]}; #endif + return simd_matrix(__r0.xyz, __r1.xyz, __r2.xyz); } static simd_float4x3 SIMD_CFUNC simd_transpose(simd_float3x4 __x) { @@ -1179,40 +1198,55 @@ static simd_float4x3 SIMD_CFUNC simd_transpose(simd_float3x4 __x) { simd_float4 __r1 = _mm_shuffle_ps(__t0, __x.columns[2], 0xde); simd_float4 __r2 = __x.columns[2]; __r2.lo = __t1.lo; simd_float4 __r3 = _mm_shuffle_ps(__t1, __x.columns[2], 0xfe); - return simd_matrix(__r0.xyz, __r1.xyz, __r2.xyz, __r3.xyz); +#elif defined __ARM_NEON__ + simd_float4 padding = { 0 }; + simd_float4 __t0 = vzip1q_f32(__x.columns[0],__x.columns[2]); + simd_float4 __t1 = vzip2q_f32(__x.columns[0],__x.columns[2]); + simd_float4 __t2 = vzip1q_f32(__x.columns[1],padding); + simd_float4 __t3 = vzip2q_f32(__x.columns[1],padding); + simd_float4 __r0 = vzip1q_f32(__t0,__t2); + simd_float4 __r1 = vzip2q_f32(__t0,__t2); + simd_float4 __r2 = vzip1q_f32(__t1,__t3); + simd_float4 __r3 = vzip2q_f32(__t1,__t3); #else - return simd_matrix((simd_float3){__x.columns[0][0], __x.columns[1][0], __x.columns[2][0]}, - (simd_float3){__x.columns[0][1], __x.columns[1][1], __x.columns[2][1]}, - (simd_float3){__x.columns[0][2], __x.columns[1][2], __x.columns[2][2]}, - (simd_float3){__x.columns[0][3], __x.columns[1][3], __x.columns[2][3]}); + simd_float4 __r0 = {__x.columns[0][0], __x.columns[1][0], __x.columns[2][0]}; + simd_float4 __r1 = {__x.columns[0][1], __x.columns[1][1], __x.columns[2][1]}; + simd_float4 __r2 = {__x.columns[0][2], __x.columns[1][2], __x.columns[2][2]}; + simd_float4 __r3 = {__x.columns[0][3], __x.columns[1][3], __x.columns[2][3]}; #endif + return simd_matrix(__r0.xyz, __r1.xyz, __r2.xyz, __r3.xyz); } static simd_float2x4 SIMD_CFUNC simd_transpose(simd_float4x2 __x) { -#if defined __SSE__ simd_float4 __x0, __x1, __x2, __x3; __x0.xy = __x.columns[0]; __x1.xy = __x.columns[1]; __x2.xy = __x.columns[2]; __x3.xy = __x.columns[3]; +#if defined __SSE__ simd_float4 __t0 = _mm_unpacklo_ps(__x0,__x2); simd_float4 __t1 = _mm_unpacklo_ps(__x1,__x3); simd_float4 __r0 = _mm_unpacklo_ps(__t0,__t1); simd_float4 __r1 = _mm_unpackhi_ps(__t0,__t1); - return simd_matrix(__r0,__r1); +#elif defined __ARM_NEON__ + simd_float4 __t0 = vzip1q_f32(__x0,__x2); + simd_float4 __t1 = vzip1q_f32(__x1,__x3); + simd_float4 __r0 = vzip1q_f32(__t0,__t1); + simd_float4 __r1 = vzip2q_f32(__t0,__t1); #else - return simd_matrix((simd_float4){__x.columns[0][0], __x.columns[1][0], __x.columns[2][0], __x.columns[3][0]}, - (simd_float4){__x.columns[0][1], __x.columns[1][1], __x.columns[2][1], __x.columns[3][1]}); + simd_float4 __r0 = {__x.columns[0][0], __x.columns[1][0], __x.columns[2][0], __x.columns[3][0]}; + simd_float4 __r1 = {__x.columns[0][1], __x.columns[1][1], __x.columns[2][1], __x.columns[3][1]}; #endif + return simd_matrix(__r0,__r1); } static simd_float3x4 SIMD_CFUNC simd_transpose(simd_float4x3 __x) { -#if defined __SSE__ simd_float4 __x0, __x1, __x2, __x3; __x0.xyz = __x.columns[0]; __x1.xyz = __x.columns[1]; __x2.xyz = __x.columns[2]; __x3.xyz = __x.columns[3]; +#if defined __SSE__ simd_float4 __t0 = _mm_unpacklo_ps(__x0,__x2); simd_float4 __t1 = _mm_unpackhi_ps(__x0,__x2); simd_float4 __t2 = _mm_unpacklo_ps(__x1,__x3); @@ -1220,12 +1254,20 @@ static simd_float3x4 SIMD_CFUNC simd_transpose(simd_float4x3 __x) { simd_float4 __r0 = _mm_unpacklo_ps(__t0,__t2); simd_float4 __r1 = _mm_unpackhi_ps(__t0,__t2); simd_float4 __r2 = _mm_unpacklo_ps(__t1,__t3); - return simd_matrix(__r0,__r1,__r2); +#elif defined __ARM_NEON__ + simd_float4 __t0 = vzip1q_f32(__x0,__x2); + simd_float4 __t1 = vzip2q_f32(__x0,__x2); + simd_float4 __t2 = vzip1q_f32(__x1,__x3); + simd_float4 __t3 = vzip2q_f32(__x1,__x3); + simd_float4 __r0 = vzip1q_f32(__t0,__t2); + simd_float4 __r1 = vzip2q_f32(__t0,__t2); + simd_float4 __r2 = vzip1q_f32(__t1,__t3); #else - return simd_matrix((simd_float4){__x.columns[0][0], __x.columns[1][0], __x.columns[2][0], __x.columns[3][0]}, - (simd_float4){__x.columns[0][1], __x.columns[1][1], __x.columns[2][1], __x.columns[3][1]}, - (simd_float4){__x.columns[0][2], __x.columns[1][2], __x.columns[2][2], __x.columns[3][2]}); + simd_float4 __r0 = {__x.columns[0][0], __x.columns[1][0], __x.columns[2][0], __x.columns[3][0]}; + simd_float4 __r1 = {__x.columns[0][1], __x.columns[1][1], __x.columns[2][1], __x.columns[3][1]}; + simd_float4 __r2 = {__x.columns[0][2], __x.columns[1][2], __x.columns[2][2], __x.columns[3][2]}; #endif + return simd_matrix(__r0,__r1,__r2); } static simd_float4x4 SIMD_CFUNC simd_transpose(simd_float4x4 __x) { @@ -1238,67 +1280,202 @@ static simd_float4x4 SIMD_CFUNC simd_transpose(simd_float4x4 __x) { simd_float4 __r1 = _mm_unpackhi_ps(__t0,__t2); simd_float4 __r2 = _mm_unpacklo_ps(__t1,__t3); simd_float4 __r3 = _mm_unpackhi_ps(__t1,__t3); - return simd_matrix(__r0,__r1,__r2,__r3); +#elif defined __ARM_NEON__ + simd_float4 __t0 = vzip1q_f32(__x.columns[0],__x.columns[2]); + simd_float4 __t1 = vzip2q_f32(__x.columns[0],__x.columns[2]); + simd_float4 __t2 = vzip1q_f32(__x.columns[1],__x.columns[3]); + simd_float4 __t3 = vzip2q_f32(__x.columns[1],__x.columns[3]); + simd_float4 __r0 = vzip1q_f32(__t0,__t2); + simd_float4 __r1 = vzip2q_f32(__t0,__t2); + simd_float4 __r2 = vzip1q_f32(__t1,__t3); + simd_float4 __r3 = vzip2q_f32(__t1,__t3); #else - return simd_matrix((simd_float4){__x.columns[0][0], __x.columns[1][0], __x.columns[2][0], __x.columns[3][0]}, - (simd_float4){__x.columns[0][1], __x.columns[1][1], __x.columns[2][1], __x.columns[3][1]}, - (simd_float4){__x.columns[0][2], __x.columns[1][2], __x.columns[2][2], __x.columns[3][2]}, - (simd_float4){__x.columns[0][3], __x.columns[1][3], __x.columns[2][3], __x.columns[3][3]}); + simd_float4 __r0 = {__x.columns[0][0], __x.columns[1][0], __x.columns[2][0], __x.columns[3][0]}; + simd_float4 __r1 = {__x.columns[0][1], __x.columns[1][1], __x.columns[2][1], __x.columns[3][1]}; + simd_float4 __r2 = {__x.columns[0][2], __x.columns[1][2], __x.columns[2][2], __x.columns[3][2]}; + simd_float4 __r3 = {__x.columns[0][3], __x.columns[1][3], __x.columns[2][3], __x.columns[3][3]}; #endif + return simd_matrix(__r0,__r1,__r2,__r3); } static simd_double2x2 SIMD_CFUNC simd_transpose(simd_double2x2 __x) { - return simd_matrix((simd_double2){__x.columns[0][0], __x.columns[1][0]}, - (simd_double2){__x.columns[0][1], __x.columns[1][1]}); + simd_double2 __x0, __x1; + __x0 = __x.columns[0]; + __x1 = __x.columns[1]; +#if defined __ARM_NEON__ + simd_double2 __r0 = vzip1q_f64(__x0, __x1); + simd_double2 __r1 = vzip2q_f64(__x0, __x1); +#else + simd_double2 __r0 = { __x0[0], __x1[0] }; + simd_double2 __r1 = { __x0[1], __x1[1] }; +#endif + return simd_matrix(__r0, __r1); } static simd_double3x2 SIMD_CFUNC simd_transpose(simd_double2x3 __x) { - return simd_matrix((simd_double2){__x.columns[0][0], __x.columns[1][0]}, - (simd_double2){__x.columns[0][1], __x.columns[1][1]}, - (simd_double2){__x.columns[0][2], __x.columns[1][2]}); + simd_double4 __x0, __x1; + __x0.xyz = __x.columns[0]; + __x1.xyz = __x.columns[1]; +#if defined __ARM_NEON__ + simd_double2 __r0 = vzip1q_f64(__x0.lo,__x1.lo); + simd_double2 __r1 = vzip2q_f64(__x0.lo,__x1.lo); + simd_double2 __r2 = vzip1q_f64(__x0.hi,__x1.hi); +#else + simd_double2 __r0 = {__x0[0], __x1[0]}; + simd_double2 __r1 = {__x0[1], __x1[1]}; + simd_double2 __r2 = {__x0[2], __x1[2]}; +#endif + return simd_matrix(__r0,__r1,__r2); } static simd_double4x2 SIMD_CFUNC simd_transpose(simd_double2x4 __x) { - return simd_matrix((simd_double2){__x.columns[0][0], __x.columns[1][0]}, - (simd_double2){__x.columns[0][1], __x.columns[1][1]}, - (simd_double2){__x.columns[0][2], __x.columns[1][2]}, - (simd_double2){__x.columns[0][3], __x.columns[1][3]}); + simd_double4 __x0, __x1; + __x0 = __x.columns[0]; + __x1 = __x.columns[1]; +#if defined __ARM_NEON__ + simd_double2 __r0 = vzip1q_f64(__x0.lo,__x1.lo); + simd_double2 __r1 = vzip2q_f64(__x0.lo,__x1.lo); + simd_double2 __r2 = vzip1q_f64(__x0.hi,__x1.hi); + simd_double2 __r3 = vzip2q_f64(__x0.hi,__x1.hi); +#else + simd_double2 __r0 = {__x0[0], __x1[0]}; + simd_double2 __r1 = {__x0[1], __x1[1]}; + simd_double2 __r2 = {__x0[2], __x1[2]}; + simd_double2 __r3 = {__x0[3], __x1[3]}; +#endif + return simd_matrix(__r0,__r1,__r2,__r3); } static simd_double2x3 SIMD_CFUNC simd_transpose(simd_double3x2 __x) { - return simd_matrix((simd_double3){__x.columns[0][0], __x.columns[1][0], __x.columns[2][0]}, - (simd_double3){__x.columns[0][1], __x.columns[1][1], __x.columns[2][1]}); + simd_double2 __x0, __x1, __x2; + __x0 = __x.columns[0]; + __x1 = __x.columns[1]; + __x2 = __x.columns[2]; +#if defined __ARM_NEON__ + simd_double2 padding = { 0 }; + simd_double4 __r0,__r1; + __r0.lo = vzip1q_f64(__x0,__x1); + __r1.lo = vzip2q_f64(__x0,__x1); + __r0.hi = vzip1q_f64(__x2,padding); + __r1.hi = vzip2q_f64(__x2,padding); +#else + simd_double4 __r0 = {__x0[0], __x1[0], __x2[0]}; + simd_double4 __r1 = {__x0[1], __x1[1], __x2[1]}; +#endif + return simd_matrix(__r0.xyz,__r1.xyz); } static simd_double3x3 SIMD_CFUNC simd_transpose(simd_double3x3 __x) { - return simd_matrix((simd_double3){__x.columns[0][0], __x.columns[1][0], __x.columns[2][0]}, - (simd_double3){__x.columns[0][1], __x.columns[1][1], __x.columns[2][1]}, - (simd_double3){__x.columns[0][2], __x.columns[1][2], __x.columns[2][2]}); + simd_double4 __x0, __x1, __x2; + __x0.xyz = __x.columns[0]; + __x1.xyz = __x.columns[1]; + __x2.xyz = __x.columns[2]; +#if defined __ARM_NEON__ + simd_double2 padding = { 0 }; + simd_double4 __r0,__r1,__r2; + __r0.lo = vzip1q_f64(__x0.lo,__x1.lo); + __r1.lo = vzip2q_f64(__x0.lo,__x1.lo); + __r2.lo = vzip1q_f64(__x0.hi,__x1.hi); + __r0.hi = vzip1q_f64(__x2.lo,padding); + __r1.hi = vzip2q_f64(__x2.lo,padding); + __r2.hi = vzip1q_f64(__x2.hi,padding); +#else + simd_double4 __r0 = {__x0[0], __x1[0], __x2[0]}; + simd_double4 __r1 = {__x0[1], __x1[1], __x2[1]}; + simd_double4 __r2 = {__x0[2], __x1[2], __x2[2]}; +#endif + return simd_matrix(__r0.xyz,__r1.xyz,__r2.xyz); } static simd_double4x3 SIMD_CFUNC simd_transpose(simd_double3x4 __x) { - return simd_matrix((simd_double3){__x.columns[0][0], __x.columns[1][0], __x.columns[2][0]}, - (simd_double3){__x.columns[0][1], __x.columns[1][1], __x.columns[2][1]}, - (simd_double3){__x.columns[0][2], __x.columns[1][2], __x.columns[2][2]}, - (simd_double3){__x.columns[0][3], __x.columns[1][3], __x.columns[2][3]}); + simd_double4 __x0, __x1, __x2; + __x0 = __x.columns[0]; + __x1 = __x.columns[1]; + __x2 = __x.columns[2]; +#if defined __ARM_NEON__ + simd_double2 padding = { 0 }; + simd_double4 __r0,__r1,__r2,__r3; + __r0.lo = vzip1q_f64(__x0.lo,__x1.lo); + __r1.lo = vzip2q_f64(__x0.lo,__x1.lo); + __r2.lo = vzip1q_f64(__x0.hi,__x1.hi); + __r3.lo = vzip2q_f64(__x0.hi,__x1.hi); + __r0.hi = vzip1q_f64(__x2.lo,padding); + __r1.hi = vzip2q_f64(__x2.lo,padding); + __r2.hi = vzip1q_f64(__x2.hi,padding); + __r3.hi = vzip2q_f64(__x2.hi,padding); +#else + simd_double4 __r0 = {__x0[0], __x1[0], __x2[0]}; + simd_double4 __r1 = {__x0[1], __x1[1], __x2[1]}; + simd_double4 __r2 = {__x0[2], __x1[2], __x2[2]}; + simd_double4 __r3 = {__x0[3], __x1[3], __x2[3]}; +#endif + return simd_matrix(__r0.xyz,__r1.xyz,__r2.xyz,__r3.xyz); } static simd_double2x4 SIMD_CFUNC simd_transpose(simd_double4x2 __x) { - return simd_matrix((simd_double4){__x.columns[0][0], __x.columns[1][0], __x.columns[2][0], __x.columns[3][0]}, - (simd_double4){__x.columns[0][1], __x.columns[1][1], __x.columns[2][1], __x.columns[3][1]}); + simd_double2 __x0, __x1, __x2, __x3; + __x0 = __x.columns[0]; + __x1 = __x.columns[1]; + __x2 = __x.columns[2]; + __x3 = __x.columns[3]; +#if defined __ARM_NEON__ + simd_double4 __r0,__r1; + __r0.lo = vzip1q_f64(__x0,__x1); + __r1.lo = vzip2q_f64(__x0,__x1); + __r0.hi = vzip1q_f64(__x2,__x3); + __r1.hi = vzip2q_f64(__x2,__x3); +#else + simd_double4 __r0 = {__x0[0], __x1[0], __x2[0], __x3[0]}; + simd_double4 __r1 = {__x0[1], __x1[1], __x2[1], __x3[1]}; +#endif + return simd_matrix(__r0,__r1); } static simd_double3x4 SIMD_CFUNC simd_transpose(simd_double4x3 __x) { - return simd_matrix((simd_double4){__x.columns[0][0], __x.columns[1][0], __x.columns[2][0], __x.columns[3][0]}, - (simd_double4){__x.columns[0][1], __x.columns[1][1], __x.columns[2][1], __x.columns[3][1]}, - (simd_double4){__x.columns[0][2], __x.columns[1][2], __x.columns[2][2], __x.columns[3][2]}); + simd_double4 __x0, __x1, __x2, __x3; + __x0.xyz = __x.columns[0]; + __x1.xyz = __x.columns[1]; + __x2.xyz = __x.columns[2]; + __x3.xyz = __x.columns[3]; +#if defined __ARM_NEON__ + simd_double4 __r0,__r1,__r2; + __r0.lo = vzip1q_f64(__x0.lo,__x1.lo); + __r1.lo = vzip2q_f64(__x0.lo,__x1.lo); + __r2.lo = vzip1q_f64(__x0.hi,__x1.hi); + __r0.hi = vzip1q_f64(__x2.lo,__x3.lo); + __r1.hi = vzip2q_f64(__x2.lo,__x3.lo); + __r2.hi = vzip1q_f64(__x2.hi,__x3.hi); +#else + simd_double4 __r0 = {__x0[0], __x1[0], __x2[0], __x3[0]}; + simd_double4 __r1 = {__x0[1], __x1[1], __x2[1], __x3[1]}; + simd_double4 __r2 = {__x0[2], __x1[2], __x2[2], __x3[2]}; +#endif + return simd_matrix(__r0,__r1,__r2); } static simd_double4x4 SIMD_CFUNC simd_transpose(simd_double4x4 __x) { - return simd_matrix((simd_double4){__x.columns[0][0], __x.columns[1][0], __x.columns[2][0], __x.columns[3][0]}, - (simd_double4){__x.columns[0][1], __x.columns[1][1], __x.columns[2][1], __x.columns[3][1]}, - (simd_double4){__x.columns[0][2], __x.columns[1][2], __x.columns[2][2], __x.columns[3][2]}, - (simd_double4){__x.columns[0][3], __x.columns[1][3], __x.columns[2][3], __x.columns[3][3]}); + simd_double4 __x0, __x1, __x2, __x3; + __x0 = __x.columns[0]; + __x1 = __x.columns[1]; + __x2 = __x.columns[2]; + __x3 = __x.columns[3]; +#if defined __ARM_NEON__ + simd_double4 __r0,__r1,__r2,__r3; + __r0.lo = vzip1q_f64(__x0.lo,__x1.lo); + __r1.lo = vzip2q_f64(__x0.lo,__x1.lo); + __r2.lo = vzip1q_f64(__x0.hi,__x1.hi); + __r3.lo = vzip2q_f64(__x0.hi,__x1.hi); + __r0.hi = vzip1q_f64(__x2.lo,__x3.lo); + __r1.hi = vzip2q_f64(__x2.lo,__x3.lo); + __r2.hi = vzip1q_f64(__x2.hi,__x3.hi); + __r3.hi = vzip2q_f64(__x2.hi,__x3.hi); +#else + simd_double4 __r0 = {__x0[0], __x1[0], __x2[0], __x3[0]}; + simd_double4 __r1 = {__x0[1], __x1[1], __x2[1], __x3[1]}; + simd_double4 __r2 = {__x0[2], __x1[2], __x2[2], __x3[2]}; + simd_double4 __r3 = {__x0[3], __x1[3], __x2[3], __x3[3]}; +#endif + return simd_matrix(__r0,__r1,__r2,__r3); } static simd_float3 SIMD_CFUNC __rotate1( simd_float3 __x) { return __builtin_shufflevector(__x,__x,1,2,0); } @@ -1810,4 +1987,4 @@ static simd_bool SIMD_CFUNC simd_almost_equal_elements_relative(simd_double4x4 _ } #endif #endif /* SIMD_COMPILER_HAS_REQUIRED_FEATURES */ -#endif /* __SIMD_HEADER__ */ \ No newline at end of file +#endif /* __SIMD_HEADER__ */ diff --git a/lib/libc/include/any-macos-any/simd/matrix_types.h b/lib/libc/include/any-macos-any/simd/matrix_types.h index 4bf5097c56..69f821eec3 100644 --- a/lib/libc/include/any-macos-any/simd/matrix_types.h +++ b/lib/libc/include/any-macos-any/simd/matrix_types.h @@ -69,194 +69,226 @@ static simd_double4x4 SIMD_NOINLINE simd_matrix4x4(simd_quatd q); namespace simd { struct float2x2 : ::simd_float2x2 { - float2x2() { columns[0] = 0; columns[1] = 0; } + SIMD_CONSTEXPR float2x2() SIMD_NOEXCEPT : ::simd_float2x2((simd_float2x2){0}) { } #if __has_feature(cxx_delegating_constructors) - float2x2(float diagonal) : float2x2((float2)diagonal) { } + SIMD_CONSTEXPR float2x2(float diagonal) SIMD_NOEXCEPT : float2x2((float2)diagonal) { } #endif - float2x2(float2 v) { columns[0] = (float2){v.x,0}; columns[1] = (float2){0,v.y}; } - float2x2(float2 c0, float2 c1) { columns[0] = c0; columns[1] = c1; } - float2x2(::simd_float2x2 m) : ::simd_float2x2(m) { } + SIMD_CONSTEXPR float2x2(float2 v) SIMD_NOEXCEPT : + ::simd_float2x2((simd_float2x2){(float2){v.x,0}, (float2){0,v.y}}) { } + SIMD_CONSTEXPR float2x2(float2 c0, float2 c1) SIMD_NOEXCEPT : simd_float2x2((simd_float2x2){c0, c1}) { } + SIMD_CONSTEXPR float2x2(::simd_float2x2 m) SIMD_NOEXCEPT : ::simd_float2x2(m) { } }; struct float3x2 : ::simd_float3x2 { - float3x2() { columns[0] = 0; columns[1] = 0; columns[2] = 0; } + SIMD_CONSTEXPR float3x2() SIMD_NOEXCEPT : ::simd_float3x2((simd_float3x2){0}) { } #if __has_feature(cxx_delegating_constructors) - float3x2(float diagonal) : float3x2((float2)diagonal) { } + SIMD_CONSTEXPR float3x2(float diagonal) SIMD_NOEXCEPT : float3x2((float2)diagonal) { } #endif - float3x2(float2 v) { columns[0] = (float2){v.x,0}; columns[1] = (float2){0,v.y}; columns[2] = 0; } - float3x2(float2 c0, float2 c1, float2 c2) { columns[0] = c0; columns[1] = c1; columns[2] = c2; } - float3x2(::simd_float3x2 m) : ::simd_float3x2(m) { } + SIMD_CONSTEXPR float3x2(float2 v) SIMD_NOEXCEPT : + ::simd_float3x2((simd_float3x2){(float2){v.x,0}, (float2){0,v.y}, (float2){0}}) { } + SIMD_CONSTEXPR float3x2(float2 c0, float2 c1, float2 c2) SIMD_NOEXCEPT : + ::simd_float3x2((simd_float3x2){c0, c1, c2}) { } + SIMD_CONSTEXPR float3x2(::simd_float3x2 m) SIMD_NOEXCEPT : ::simd_float3x2(m) { } }; struct float4x2 : ::simd_float4x2 { - float4x2() { columns[0] = 0; columns[1] = 0; columns[2] = 0; columns[3] = 0; } + SIMD_CONSTEXPR float4x2() SIMD_NOEXCEPT : ::simd_float4x2((simd_float4x2){0}) { } #if __has_feature(cxx_delegating_constructors) - float4x2(float diagonal) : float4x2((float2)diagonal) { } + SIMD_CONSTEXPR float4x2(float diagonal) SIMD_NOEXCEPT : float4x2((float2)diagonal) { } #endif - float4x2(float2 v) { columns[0] = (float2){v.x,0}; columns[1] = (float2){0,v.y}; columns[2] = 0; columns[3] = 0; } - float4x2(float2 c0, float2 c1, float2 c2, float2 c3) { columns[0] = c0; columns[1] = c1; columns[2] = c2; columns[3] = c3; } - float4x2(::simd_float4x2 m) : ::simd_float4x2(m) { } + SIMD_CONSTEXPR float4x2(float2 v) SIMD_NOEXCEPT : + ::simd_float4x2((simd_float4x2){(float2){v.x,0}, (float2){0,v.y}, (float2){0}, (float2){0}}) { } + SIMD_CONSTEXPR float4x2(float2 c0, float2 c1, float2 c2, float2 c3) SIMD_NOEXCEPT : + ::simd_float4x2((simd_float4x2){c0, c1, c2, c3}) { } + SIMD_CONSTEXPR float4x2(::simd_float4x2 m) SIMD_NOEXCEPT : ::simd_float4x2(m) { } }; struct float2x3 : ::simd_float2x3 { - float2x3() { columns[0] = 0; columns[1] = 0; } + SIMD_CONSTEXPR float2x3() SIMD_NOEXCEPT : ::simd_float2x3((simd_float2x3){0}) { } #if __has_feature(cxx_delegating_constructors) - float2x3(float diagonal) : float2x3((float2)diagonal) { } + SIMD_CONSTEXPR float2x3(float diagonal) SIMD_NOEXCEPT : float2x3((float2)diagonal) { } #endif - float2x3(float2 v) { columns[0] = (float3){v.x,0,0}; columns[1] = (float3){0,v.y,0}; } - float2x3(float3 c0, float3 c1) { columns[0] = c0; columns[1] = c1; } - float2x3(::simd_float2x3 m) : ::simd_float2x3(m) { } + SIMD_CONSTEXPR float2x3(float2 v) SIMD_NOEXCEPT : + ::simd_float2x3((simd_float2x3){(float3){v.x,0,0}, (float3){0,v.y,0}}) { } + SIMD_CONSTEXPR float2x3(float3 c0, float3 c1) SIMD_NOEXCEPT : ::simd_float2x3((simd_float2x3){c0, c1}) { } + SIMD_CONSTEXPR float2x3(::simd_float2x3 m) SIMD_NOEXCEPT : ::simd_float2x3(m) { } }; struct float3x3 : ::simd_float3x3 { - float3x3() { columns[0] = 0; columns[1] = 0; columns[2] = 0; } + SIMD_CONSTEXPR float3x3() SIMD_NOEXCEPT : ::simd_float3x3((simd_float3x3){0}) { } #if __has_feature(cxx_delegating_constructors) - float3x3(float diagonal) : float3x3((float3)diagonal) { } + SIMD_CONSTEXPR float3x3(float diagonal) SIMD_NOEXCEPT : float3x3((float3)diagonal) { } #endif - float3x3(float3 v) { columns[0] = (float3){v.x,0,0}; columns[1] = (float3){0,v.y,0}; columns[2] = (float3){0,0,v.z}; } - float3x3(float3 c0, float3 c1, float3 c2) { columns[0] = c0; columns[1] = c1; columns[2] = c2; } - float3x3(::simd_float3x3 m) : ::simd_float3x3(m) { } + SIMD_CONSTEXPR float3x3(float3 v) SIMD_NOEXCEPT : + ::simd_float3x3((simd_float3x3){(float3){v.x,0,0}, (float3){0,v.y,0}, (float3){0,0,v.z}}) { } + SIMD_CONSTEXPR float3x3(float3 c0, float3 c1, float3 c2) SIMD_NOEXCEPT : + ::simd_float3x3((simd_float3x3){c0, c1, c2}) { } + SIMD_CONSTEXPR float3x3(::simd_float3x3 m) SIMD_NOEXCEPT : ::simd_float3x3(m) { } #if defined SIMD_MATRIX_HEADER - float3x3(::simd_quatf q) : ::simd_float3x3(::simd_matrix3x3(q)) { } + SIMD_CONSTEXPR float3x3(::simd_quatf q) SIMD_NOEXCEPT : ::simd_float3x3(::simd_matrix3x3(q)) { } #endif }; struct float4x3 : ::simd_float4x3 { - float4x3() { columns[0] = 0; columns[1] = 0; columns[2] = 0; columns[3] = 0; } + SIMD_CONSTEXPR float4x3() SIMD_NOEXCEPT : ::simd_float4x3((simd_float4x3){0}) { } #if __has_feature(cxx_delegating_constructors) - float4x3(float diagonal) : float4x3((float3)diagonal) { } + SIMD_CONSTEXPR float4x3(float diagonal) SIMD_NOEXCEPT : float4x3((float3)diagonal) { } #endif - float4x3(float3 v) { columns[0] = (float3){v.x,0,0}; columns[1] = (float3){0,v.y,0}; columns[2] = (float3){0,0,v.z}; columns[3] = 0; } - float4x3(float3 c0, float3 c1, float3 c2, float3 c3) { columns[0] = c0; columns[1] = c1; columns[2] = c2; columns[3] = c3; } - float4x3(::simd_float4x3 m) : ::simd_float4x3(m) { } + SIMD_CONSTEXPR float4x3(float3 v) SIMD_NOEXCEPT : + ::simd_float4x3((simd_float4x3){(float3){v.x,0,0}, (float3){0,v.y,0}, (float3){0,0,v.z}, (float3){0}}) { } + SIMD_CONSTEXPR float4x3(float3 c0, float3 c1, float3 c2, float3 c3) SIMD_NOEXCEPT : + ::simd_float4x3((simd_float4x3){c0, c1, c2, c3}) { } + SIMD_CONSTEXPR float4x3(::simd_float4x3 m) SIMD_NOEXCEPT : ::simd_float4x3(m) { } }; struct float2x4 : ::simd_float2x4 { - float2x4() { columns[0] = 0; columns[1] = 0; } + SIMD_CONSTEXPR float2x4() SIMD_NOEXCEPT : ::simd_float2x4((simd_float2x4){0}) { } #if __has_feature(cxx_delegating_constructors) - float2x4(float diagonal) : float2x4((float2)diagonal) { } + SIMD_CONSTEXPR float2x4(float diagonal) SIMD_NOEXCEPT : float2x4((float2)diagonal) { } #endif - float2x4(float2 v) { columns[0] = (float4){v.x,0,0,0}; columns[1] = (float4){0,v.y,0,0}; } - float2x4(float4 c0, float4 c1) { columns[0] = c0; columns[1] = c1; } - float2x4(::simd_float2x4 m) : ::simd_float2x4(m) { } + SIMD_CONSTEXPR float2x4(float2 v) SIMD_NOEXCEPT : + ::simd_float2x4((simd_float2x4){(float4){v.x,0,0,0}, (float4){0,v.y,0,0}}) { } + SIMD_CONSTEXPR float2x4(float4 c0, float4 c1) SIMD_NOEXCEPT : ::simd_float2x4((simd_float2x4){c0, c1}) { } + SIMD_CONSTEXPR float2x4(::simd_float2x4 m) SIMD_NOEXCEPT : ::simd_float2x4(m) { } }; struct float3x4 : ::simd_float3x4 { - float3x4() { columns[0] = 0; columns[1] = 0; columns[2] = 0; } + SIMD_CONSTEXPR float3x4() SIMD_NOEXCEPT : ::simd_float3x4((simd_float3x4){0}) { } #if __has_feature(cxx_delegating_constructors) - float3x4(float diagonal) : float3x4((float3)diagonal) { } + SIMD_CONSTEXPR float3x4(float diagonal) SIMD_NOEXCEPT : float3x4((float3)diagonal) { } #endif - float3x4(float3 v) { columns[0] = (float4){v.x,0,0,0}; columns[1] = (float4){0,v.y,0,0}; columns[2] = (float4){0,0,v.z,0}; } - float3x4(float4 c0, float4 c1, float4 c2) { columns[0] = c0; columns[1] = c1; columns[2] = c2; } - float3x4(::simd_float3x4 m) : ::simd_float3x4(m) { } + SIMD_CONSTEXPR float3x4(float3 v) SIMD_NOEXCEPT : + ::simd_float3x4((simd_float3x4){(float4){v.x,0,0,0}, (float4){0,v.y,0,0}, (float4){0,0,v.z,0}}) { } + SIMD_CONSTEXPR float3x4(float4 c0, float4 c1, float4 c2) SIMD_NOEXCEPT : + ::simd_float3x4((simd_float3x4){c0, c1, c2}) { } + SIMD_CONSTEXPR float3x4(::simd_float3x4 m) SIMD_NOEXCEPT : ::simd_float3x4(m) { } }; struct float4x4 : ::simd_float4x4 { - float4x4() { columns[0] = 0; columns[1] = 0; columns[2] = 0; columns[3] = 0; } + SIMD_CONSTEXPR float4x4() SIMD_NOEXCEPT : ::simd_float4x4((simd_float4x4){0}) { } #if __has_feature(cxx_delegating_constructors) - float4x4(float diagonal) : float4x4((float4)diagonal) { } + SIMD_CONSTEXPR float4x4(float diagonal) SIMD_NOEXCEPT : float4x4((float4)diagonal) { } #endif - float4x4(float4 v) { columns[0] = (float4){v.x,0,0,0}; columns[1] = (float4){0,v.y,0,0}; columns[2] = (float4){0,0,v.z,0}; columns[3] = (float4){0,0,0,v.w}; } - float4x4(float4 c0, float4 c1, float4 c2, float4 c3) { columns[0] = c0; columns[1] = c1; columns[2] = c2; columns[3] = c3; } - float4x4(::simd_float4x4 m) : ::simd_float4x4(m) { } + SIMD_CONSTEXPR float4x4(float4 v) SIMD_NOEXCEPT : + ::simd_float4x4((simd_float4x4){(float4){v.x,0,0,0}, (float4){0,v.y,0,0}, (float4){0,0,v.z,0}, (float4){0,0,0,v.w}}) { } + SIMD_CONSTEXPR float4x4(float4 c0, float4 c1, float4 c2, float4 c3) SIMD_NOEXCEPT : + ::simd_float4x4((simd_float4x4){c0, c1, c2, c3}) { } + SIMD_CONSTEXPR float4x4(::simd_float4x4 m) SIMD_NOEXCEPT : ::simd_float4x4(m) { } #if defined SIMD_MATRIX_HEADER - float4x4(::simd_quatf q) : ::simd_float4x4(::simd_matrix4x4(q)) { } + SIMD_CONSTEXPR float4x4(::simd_quatf q) SIMD_NOEXCEPT : ::simd_float4x4(::simd_matrix4x4(q)) { } #endif }; struct double2x2 : ::simd_double2x2 { - double2x2() { columns[0] = 0; columns[1] = 0; } + SIMD_CONSTEXPR double2x2() SIMD_NOEXCEPT : ::simd_double2x2((simd_double2x2){0}) { } #if __has_feature(cxx_delegating_constructors) - double2x2(double diagonal) : double2x2((double2)diagonal) { } + SIMD_CONSTEXPR double2x2(double diagonal) SIMD_NOEXCEPT : double2x2((double2)diagonal) { } #endif - double2x2(double2 v) { columns[0] = (double2){v.x,0}; columns[1] = (double2){0,v.y}; } - double2x2(double2 c0, double2 c1) { columns[0] = c0; columns[1] = c1; } - double2x2(::simd_double2x2 m) : ::simd_double2x2(m) { } + SIMD_CONSTEXPR double2x2(double2 v) SIMD_NOEXCEPT : + ::simd_double2x2((simd_double2x2){(double2){v.x,0}, (double2){0,v.y}}) { } + SIMD_CONSTEXPR double2x2(double2 c0, double2 c1) SIMD_NOEXCEPT : + ::simd_double2x2((simd_double2x2){c0, c1}) { } + SIMD_CONSTEXPR double2x2(::simd_double2x2 m) SIMD_NOEXCEPT : ::simd_double2x2(m) { } }; struct double3x2 : ::simd_double3x2 { - double3x2() { columns[0] = 0; columns[1] = 0; columns[2] = 0; } + SIMD_CONSTEXPR double3x2() SIMD_NOEXCEPT : ::simd_double3x2((simd_double3x2){0}) { } #if __has_feature(cxx_delegating_constructors) - double3x2(double diagonal) : double3x2((double2)diagonal) { } + SIMD_CONSTEXPR double3x2(double diagonal) SIMD_NOEXCEPT : double3x2((double2)diagonal) { } #endif - double3x2(double2 v) { columns[0] = (double2){v.x,0}; columns[1] = (double2){0,v.y}; columns[2] = 0; } - double3x2(double2 c0, double2 c1, double2 c2) { columns[0] = c0; columns[1] = c1; columns[2] = c2; } - double3x2(::simd_double3x2 m) : ::simd_double3x2(m) { } + SIMD_CONSTEXPR double3x2(double2 v) SIMD_NOEXCEPT : + ::simd_double3x2((simd_double3x2){(double2){v.x,0}, (double2){0,v.y}, (double2){0}}) { } + SIMD_CONSTEXPR double3x2(double2 c0, double2 c1, double2 c2) SIMD_NOEXCEPT : + ::simd_double3x2((simd_double3x2){c0, c1, c2}) { } + SIMD_CONSTEXPR double3x2(::simd_double3x2 m) SIMD_NOEXCEPT : ::simd_double3x2(m) { } }; struct double4x2 : ::simd_double4x2 { - double4x2() { columns[0] = 0; columns[1] = 0; columns[2] = 0; columns[3] = 0; } + SIMD_CONSTEXPR double4x2() SIMD_NOEXCEPT : ::simd_double4x2((simd_double4x2){0}) { } #if __has_feature(cxx_delegating_constructors) - double4x2(double diagonal) : double4x2((double2)diagonal) { } + SIMD_CONSTEXPR double4x2(double diagonal) SIMD_NOEXCEPT : double4x2((double2)diagonal) { } #endif - double4x2(double2 v) { columns[0] = (double2){v.x,0}; columns[1] = (double2){0,v.y}; columns[2] = 0; columns[3] = 0; } - double4x2(double2 c0, double2 c1, double2 c2, double2 c3) { columns[0] = c0; columns[1] = c1; columns[2] = c2; columns[3] = c3; } - double4x2(::simd_double4x2 m) : ::simd_double4x2(m) { } + SIMD_CONSTEXPR double4x2(double2 v) SIMD_NOEXCEPT : + ::simd_double4x2((simd_double4x2){(double2){v.x,0}, (double2){0,v.y}, (double2){0}, (double2){0}}) { } + SIMD_CONSTEXPR double4x2(double2 c0, double2 c1, double2 c2, double2 c3) SIMD_NOEXCEPT : + ::simd_double4x2((simd_double4x2){c0, c1, c2, c3}) { } + SIMD_CONSTEXPR double4x2(::simd_double4x2 m) SIMD_NOEXCEPT : ::simd_double4x2(m) { } }; struct double2x3 : ::simd_double2x3 { - double2x3() { columns[0] = 0; columns[1] = 0; } + SIMD_CONSTEXPR double2x3() SIMD_NOEXCEPT : ::simd_double2x3((simd_double2x3){0}) { } #if __has_feature(cxx_delegating_constructors) - double2x3(double diagonal) : double2x3((double2)diagonal) { } + SIMD_CONSTEXPR double2x3(double diagonal) SIMD_NOEXCEPT : double2x3((double2)diagonal) { } #endif - double2x3(double2 v) { columns[0] = (double3){v.x,0,0}; columns[1] = (double3){0,v.y,0}; } - double2x3(double3 c0, double3 c1) { columns[0] = c0; columns[1] = c1; } - double2x3(::simd_double2x3 m) : ::simd_double2x3(m) { } + SIMD_CONSTEXPR double2x3(double2 v) SIMD_NOEXCEPT : + ::simd_double2x3((simd_double2x3){(double3){v.x,0,0}, (double3){0,v.y,0}}) { } + SIMD_CONSTEXPR double2x3(double3 c0, double3 c1) SIMD_NOEXCEPT : + ::simd_double2x3((simd_double2x3){c0, c1}) { } + SIMD_CONSTEXPR double2x3(::simd_double2x3 m) SIMD_NOEXCEPT : ::simd_double2x3(m) { } }; struct double3x3 : ::simd_double3x3 { - double3x3() { columns[0] = 0; columns[1] = 0; columns[2] = 0; } + SIMD_CONSTEXPR double3x3() SIMD_NOEXCEPT : ::simd_double3x3((simd_double3x3){0}) { } #if __has_feature(cxx_delegating_constructors) - double3x3(double diagonal) : double3x3((double3)diagonal) { } + SIMD_CONSTEXPR double3x3(double diagonal) SIMD_NOEXCEPT : double3x3((double3)diagonal) { } #endif - double3x3(double3 v) { columns[0] = (double3){v.x,0,0}; columns[1] = (double3){0,v.y,0}; columns[2] = (double3){0,0,v.z}; } - double3x3(double3 c0, double3 c1, double3 c2) { columns[0] = c0; columns[1] = c1; columns[2] = c2; } - double3x3(::simd_double3x3 m) : ::simd_double3x3(m) { } + SIMD_CONSTEXPR double3x3(double3 v) SIMD_NOEXCEPT : + ::simd_double3x3((simd_double3x3){(double3){v.x,0,0}, (double3){0,v.y,0}, (double3){0,0,v.z}}) { } + SIMD_CONSTEXPR double3x3(double3 c0, double3 c1, double3 c2) SIMD_NOEXCEPT : + ::simd_double3x3((simd_double3x3){c0, c1, c2}) { } + SIMD_CONSTEXPR double3x3(::simd_double3x3 m) SIMD_NOEXCEPT : ::simd_double3x3(m) { } #if defined SIMD_MATRIX_HEADER - double3x3(::simd_quatd q) : ::simd_double3x3(::simd_matrix3x3(q)) { } + SIMD_CONSTEXPR double3x3(::simd_quatd q) SIMD_NOEXCEPT : ::simd_double3x3(::simd_matrix3x3(q)) { } #endif }; struct double4x3 : ::simd_double4x3 { - double4x3() { columns[0] = 0; columns[1] = 0; columns[2] = 0; columns[3] = 0; } + SIMD_CONSTEXPR double4x3() SIMD_NOEXCEPT : ::simd_double4x3((simd_double4x3){0}) { } #if __has_feature(cxx_delegating_constructors) - double4x3(double diagonal) : double4x3((double3)diagonal) { } + SIMD_CONSTEXPR double4x3(double diagonal) SIMD_NOEXCEPT : double4x3((double3)diagonal) { } #endif - double4x3(double3 v) { columns[0] = (double3){v.x,0,0}; columns[1] = (double3){0,v.y,0}; columns[2] = (double3){0,0,v.z}; columns[3] = 0; } - double4x3(double3 c0, double3 c1, double3 c2, double3 c3) { columns[0] = c0; columns[1] = c1; columns[2] = c2; columns[3] = c3; } - double4x3(::simd_double4x3 m) : ::simd_double4x3(m) { } + SIMD_CONSTEXPR double4x3(double3 v) SIMD_NOEXCEPT : + ::simd_double4x3((simd_double4x3){(double3){v.x,0,0}, (double3){0,v.y,0}, (double3){0,0,v.z}, (double3){0}}) { } + SIMD_CONSTEXPR double4x3(double3 c0, double3 c1, double3 c2, double3 c3) SIMD_NOEXCEPT : + ::simd_double4x3((simd_double4x3){c0, c1, c2, c3}) { } + SIMD_CONSTEXPR double4x3(::simd_double4x3 m) SIMD_NOEXCEPT : ::simd_double4x3(m) { } }; struct double2x4 : ::simd_double2x4 { - double2x4() { columns[0] = 0; columns[1] = 0; } + SIMD_CONSTEXPR double2x4() SIMD_NOEXCEPT : ::simd_double2x4((simd_double2x4){0}) { } #if __has_feature(cxx_delegating_constructors) - double2x4(double diagonal) : double2x4((double2)diagonal) { } + SIMD_CONSTEXPR double2x4(double diagonal) SIMD_NOEXCEPT : double2x4((double2)diagonal) { } #endif - double2x4(double2 v) { columns[0] = (double4){v.x,0,0,0}; columns[1] = (double4){0,v.y,0,0}; } - double2x4(double4 c0, double4 c1) { columns[0] = c0; columns[1] = c1; } - double2x4(::simd_double2x4 m) : ::simd_double2x4(m) { } + SIMD_CONSTEXPR double2x4(double2 v) SIMD_NOEXCEPT : + ::simd_double2x4((simd_double2x4){(double4){v.x,0,0,0}, (double4){0,v.y,0,0}}) { } + SIMD_CONSTEXPR double2x4(double4 c0, double4 c1) SIMD_NOEXCEPT : ::simd_double2x4((simd_double2x4){c0, c1}) { } + SIMD_CONSTEXPR double2x4(::simd_double2x4 m) SIMD_NOEXCEPT : ::simd_double2x4(m) { } }; struct double3x4 : ::simd_double3x4 { - double3x4() { columns[0] = 0; columns[1] = 0; columns[2] = 0; } + SIMD_CONSTEXPR double3x4() SIMD_NOEXCEPT : ::simd_double3x4((simd_double3x4){0}) { } #if __has_feature(cxx_delegating_constructors) - double3x4(double diagonal) : double3x4((double3)diagonal) { } + SIMD_CONSTEXPR double3x4(double diagonal) SIMD_NOEXCEPT : double3x4((double3)diagonal) { } #endif - double3x4(double3 v) { columns[0] = (double4){v.x,0,0,0}; columns[1] = (double4){0,v.y,0,0}; columns[2] = (double4){0,0,v.z,0}; } - double3x4(double4 c0, double4 c1, double4 c2) { columns[0] = c0; columns[1] = c1; columns[2] = c2; } - double3x4(::simd_double3x4 m) : ::simd_double3x4(m) { } + SIMD_CONSTEXPR double3x4(double3 v) SIMD_NOEXCEPT : + ::simd_double3x4((simd_double3x4){(double4){v.x,0,0,0}, (double4){0,v.y,0,0}, (double4){0,0,v.z,0}}) { } + SIMD_CONSTEXPR double3x4(double4 c0, double4 c1, double4 c2) SIMD_NOEXCEPT : + ::simd_double3x4((simd_double3x4){c0, c1, c2}) { } + SIMD_CONSTEXPR double3x4(::simd_double3x4 m) SIMD_NOEXCEPT : ::simd_double3x4(m) { } }; struct double4x4 : ::simd_double4x4 { - double4x4() { columns[0] = 0; columns[1] = 0; columns[2] = 0; columns[3] = 0; } + SIMD_CONSTEXPR double4x4() SIMD_NOEXCEPT : ::simd_double4x4((simd_double4x4){0}) { } #if __has_feature(cxx_delegating_constructors) - double4x4(double diagonal) : double4x4((double4)diagonal) { } + SIMD_CONSTEXPR double4x4(double diagonal) SIMD_NOEXCEPT : double4x4((double4)diagonal) { } #endif - double4x4(double4 v) { columns[0] = (double4){v.x,0,0,0}; columns[1] = (double4){0,v.y,0,0}; columns[2] = (double4){0,0,v.z,0}; columns[3] = (double4){0,0,0,v.w}; } - double4x4(double4 c0, double4 c1, double4 c2, double4 c3) { columns[0] = c0; columns[1] = c1; columns[2] = c2; columns[3] = c3; } - double4x4(::simd_double4x4 m) : ::simd_double4x4(m) { } + SIMD_CONSTEXPR double4x4(double4 v) SIMD_NOEXCEPT : + ::simd_double4x4((simd_double4x4){(double4){v.x,0,0,0}, (double4){0,v.y,0,0}, (double4){0,0,v.z,0}, (double4){0,0,0,v.w}}) { } + SIMD_CONSTEXPR double4x4(double4 c0, double4 c1, double4 c2, double4 c3) SIMD_NOEXCEPT : + ::simd_double4x4((simd_double4x4){c0, c1, c2, c3}) { } + SIMD_CONSTEXPR double4x4(::simd_double4x4 m) SIMD_NOEXCEPT : ::simd_double4x4(m) { } #if defined SIMD_MATRIX_HEADER - double4x4(::simd_quatd q) : ::simd_double4x4(::simd_matrix4x4(q)) { } + SIMD_CONSTEXPR double4x4(::simd_quatd q) SIMD_NOEXCEPT : ::simd_double4x4(::simd_matrix4x4(q)) { } #endif }; @@ -490,4 +522,4 @@ template <> struct get_traits } #endif /* __cplusplus */ #endif /* SIMD_COMPILER_HAS_REQUIRED_FEATURES */ -#endif /* SIMD_MATRIX_TYPES_HEADER */ \ No newline at end of file +#endif /* SIMD_MATRIX_TYPES_HEADER */ diff --git a/lib/libc/include/any-macos-any/simd/packed.h b/lib/libc/include/any-macos-any/simd/packed.h index 51e9832c2d..284947c376 100644 --- a/lib/libc/include/any-macos-any/simd/packed.h +++ b/lib/libc/include/any-macos-any/simd/packed.h @@ -1028,4 +1028,4 @@ typedef simd_packed_double4 packed_double4; typedef simd_packed_double8 packed_double8; # endif /* SIMD_COMPILER_HAS_REQUIRED_FEATURES */ -#endif \ No newline at end of file +#endif diff --git a/lib/libc/include/any-macos-any/simd/quaternion.h b/lib/libc/include/any-macos-any/simd/quaternion.h index e07b7a0c92..bb9211b81a 100644 --- a/lib/libc/include/any-macos-any/simd/quaternion.h +++ b/lib/libc/include/any-macos-any/simd/quaternion.h @@ -234,11 +234,11 @@ namespace simd { static SIMD_CPPFUNC quatf operator*(const ::simd_quatf p, const float r) { return ::simd_mul(p, r); } static SIMD_CPPFUNC quatf operator*(const ::simd_quatf p, const ::simd_quatf q) { return ::simd_mul(p, q); } static SIMD_CPPFUNC quatf operator/(const ::simd_quatf p, const ::simd_quatf q) { return ::simd_mul(p, ::simd_inverse(q)); } - static SIMD_CPPFUNC quatf operator+=(quatf &p, const ::simd_quatf q) { return p = p+q; } - static SIMD_CPPFUNC quatf operator-=(quatf &p, const ::simd_quatf q) { return p = p-q; } - static SIMD_CPPFUNC quatf operator*=(quatf &p, const float r) { return p = p*r; } - static SIMD_CPPFUNC quatf operator*=(quatf &p, const ::simd_quatf q) { return p = p*q; } - static SIMD_CPPFUNC quatf operator/=(quatf &p, const ::simd_quatf q) { return p = p/q; } + static SIMD_INLINE SIMD_NODEBUG quatf operator+=(quatf &p, const ::simd_quatf q) { return p = p+q; } + static SIMD_INLINE SIMD_NODEBUG quatf operator-=(quatf &p, const ::simd_quatf q) { return p = p-q; } + static SIMD_INLINE SIMD_NODEBUG quatf operator*=(quatf &p, const float r) { return p = p*r; } + static SIMD_INLINE SIMD_NODEBUG quatf operator*=(quatf &p, const ::simd_quatf q) { return p = p*q; } + static SIMD_INLINE SIMD_NODEBUG quatf operator/=(quatf &p, const ::simd_quatf q) { return p = p/q; } /*! @abstract The conjugate of the quaternion `q`. */ static SIMD_CPPFUNC quatf conjugate(const ::simd_quatf p) { return ::simd_conjugate(p); } @@ -820,11 +820,11 @@ namespace simd { static SIMD_CPPFUNC quatd operator*(const ::simd_quatd p, const double r) { return ::simd_mul(p, r); } static SIMD_CPPFUNC quatd operator*(const ::simd_quatd p, const ::simd_quatd q) { return ::simd_mul(p, q); } static SIMD_CPPFUNC quatd operator/(const ::simd_quatd p, const ::simd_quatd q) { return ::simd_mul(p, ::simd_inverse(q)); } - static SIMD_CPPFUNC quatd operator+=(quatd &p, const ::simd_quatd q) { return p = p+q; } - static SIMD_CPPFUNC quatd operator-=(quatd &p, const ::simd_quatd q) { return p = p-q; } - static SIMD_CPPFUNC quatd operator*=(quatd &p, const double r) { return p = p*r; } - static SIMD_CPPFUNC quatd operator*=(quatd &p, const ::simd_quatd q) { return p = p*q; } - static SIMD_CPPFUNC quatd operator/=(quatd &p, const ::simd_quatd q) { return p = p/q; } + static SIMD_INLINE SIMD_NODEBUG quatd operator+=(quatd &p, const ::simd_quatd q) { return p = p+q; } + static SIMD_INLINE SIMD_NODEBUG quatd operator-=(quatd &p, const ::simd_quatd q) { return p = p-q; } + static SIMD_INLINE SIMD_NODEBUG quatd operator*=(quatd &p, const double r) { return p = p*r; } + static SIMD_INLINE SIMD_NODEBUG quatd operator*=(quatd &p, const ::simd_quatd q) { return p = p*q; } + static SIMD_INLINE SIMD_NODEBUG quatd operator/=(quatd &p, const ::simd_quatd q) { return p = p/q; } /*! @abstract The conjugate of the quaternion `q`. */ static SIMD_CPPFUNC quatd conjugate(const ::simd_quatd p) { return ::simd_conjugate(p); } @@ -1191,4 +1191,4 @@ static SIMD_NOINLINE simd_quatd simd_bezier(simd_quatd q0, simd_quatd q1, simd_q } /* extern "C" */ #endif /* __cplusplus */ #endif /* SIMD_COMPILER_HAS_REQUIRED_FEATURES */ -#endif /* SIMD_QUATERNIONS */ \ No newline at end of file +#endif /* SIMD_QUATERNIONS */ diff --git a/lib/libc/include/any-macos-any/simd/simd.h b/lib/libc/include/any-macos-any/simd/simd.h index e504527ef6..fd566bf426 100644 --- a/lib/libc/include/any-macos-any/simd/simd.h +++ b/lib/libc/include/any-macos-any/simd/simd.h @@ -14,8 +14,17 @@ #ifndef __SIMD_HEADER__ #define __SIMD_HEADER__ +#if __has_include() +#include +REALTIME_SAFE_BEGIN +#endif + #include #include #include -#endif \ No newline at end of file +#if __has_include() +REALTIME_SAFE_END +#endif + +#endif diff --git a/lib/libc/include/any-macos-any/simd/types.h b/lib/libc/include/any-macos-any/simd/types.h index 85ae1b2924..e094467047 100644 --- a/lib/libc/include/any-macos-any/simd/types.h +++ b/lib/libc/include/any-macos-any/simd/types.h @@ -125,4 +125,4 @@ typedef struct { simd_float4 vector; } simd_quatf; typedef struct { simd_double4 vector; } simd_quatd; #endif /* SIMD_COMPILER_HAS_REQUIRED_FEATURES */ -#endif /* SIMD_TYPES */ \ No newline at end of file +#endif /* SIMD_TYPES */ diff --git a/lib/libc/include/any-macos-any/simd/vector.h b/lib/libc/include/any-macos-any/simd/vector.h index 0bc2e9ec44..7ab8f2adbc 100644 --- a/lib/libc/include/any-macos-any/simd/vector.h +++ b/lib/libc/include/any-macos-any/simd/vector.h @@ -49,4 +49,4 @@ #include #include -#endif \ No newline at end of file +#endif diff --git a/lib/libc/include/any-macos-any/simd/vector_make.h b/lib/libc/include/any-macos-any/simd/vector_make.h index cb5dc7d591..73b95fa612 100644 --- a/lib/libc/include/any-macos-any/simd/vector_make.h +++ b/lib/libc/include/any-macos-any/simd/vector_make.h @@ -7871,4 +7871,4 @@ static constexpr typeN make_undef(Args... args) } /* namespace simd */ #endif /* __cplusplus */ #endif /* SIMD_COMPILER_HAS_REQUIRED_FEATURES */ -#endif /* SIMD_VECTOR_CONSTRUCTORS */ \ No newline at end of file +#endif /* SIMD_VECTOR_CONSTRUCTORS */ diff --git a/lib/libc/include/any-macos-any/simd/vector_types.h b/lib/libc/include/any-macos-any/simd/vector_types.h index 09701acfa9..223d696e10 100644 --- a/lib/libc/include/any-macos-any/simd/vector_types.h +++ b/lib/libc/include/any-macos-any/simd/vector_types.h @@ -1278,4 +1278,4 @@ typedef simd_double4 vector_double4; typedef simd_double8 vector_double8; # endif /* SIMD_COMPILER_HAS_REQUIRED_FEATURES */ -#endif \ No newline at end of file +#endif diff --git a/lib/libc/include/any-macos-any/spawn.h b/lib/libc/include/any-macos-any/spawn.h index 981e8fb96a..1807f8b04d 100644 --- a/lib/libc/include/any-macos-any/spawn.h +++ b/lib/libc/include/any-macos-any/spawn.h @@ -182,4 +182,4 @@ int posix_spawn_file_actions_addfchdir_np(posix_spawn_file_actions_t *, __END_DECLS #endif /* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */ -#endif /* _SPAWN_H_ */ \ No newline at end of file +#endif /* _SPAWN_H_ */ diff --git a/lib/libc/include/any-macos-any/stddef.h b/lib/libc/include/any-macos-any/stddef.h index eedc6f46a0..6832cf7233 100644 --- a/lib/libc/include/any-macos-any/stddef.h +++ b/lib/libc/include/any-macos-any/stddef.h @@ -87,4 +87,4 @@ typedef long double max_align_t; #endif -#endif /* __STDDEF_H__ */ \ No newline at end of file +#endif /* __STDDEF_H__ */ diff --git a/lib/libc/include/any-macos-any/stdint.h b/lib/libc/include/any-macos-any/stdint.h index 9ad9bbedb5..f4bb4cd758 100644 --- a/lib/libc/include/any-macos-any/stdint.h +++ b/lib/libc/include/any-macos-any/stdint.h @@ -202,4 +202,4 @@ typedef uint64_t uint_fast64_t; #define SIG_ATOMIC_MIN INT32_MIN #define SIG_ATOMIC_MAX INT32_MAX -#endif /* _STDINT_H_ */ \ No newline at end of file +#endif /* _STDINT_H_ */ diff --git a/lib/libc/include/any-macos.13-any/stdio.h b/lib/libc/include/any-macos-any/stdio.h similarity index 98% rename from lib/libc/include/any-macos.13-any/stdio.h rename to lib/libc/include/any-macos-any/stdio.h index aec8472e70..d8585fb34c 100644 --- a/lib/libc/include/any-macos.13-any/stdio.h +++ b/lib/libc/include/any-macos-any/stdio.h @@ -63,6 +63,8 @@ #include <_stdio.h> +#include + __BEGIN_DECLS extern FILE *__stdinp; extern FILE *__stdoutp; @@ -114,16 +116,6 @@ __END_DECLS #define L_tmpnam 1024 /* XXX must be == PATH_MAX */ #define TMP_MAX 308915776 -#ifndef SEEK_SET -#define SEEK_SET 0 /* set file offset to offset */ -#endif -#ifndef SEEK_CUR -#define SEEK_CUR 1 /* set file offset to current plus offset */ -#endif -#ifndef SEEK_END -#define SEEK_END 2 /* set file offset to EOF plus offset */ -#endif - #define stdin __stdinp #define stdout __stdoutp #define stderr __stderrp @@ -218,9 +210,10 @@ __END_DECLS #if __DARWIN_C_LEVEL >= 198808L #define L_ctermid 1024 /* size for ctermid(); PATH_MAX */ -__BEGIN_DECLS #include <_ctermid.h> +__BEGIN_DECLS + #if defined(_DARWIN_UNLIMITED_STREAMS) || defined(_DARWIN_C_SOURCE) FILE *fdopen(int, const char *) __DARWIN_ALIAS_STARTING(__MAC_10_6, __IPHONE_3_2, __DARWIN_EXTSN(fdopen)); #else /* !_DARWIN_UNLIMITED_STREAMS && !_DARWIN_C_SOURCE */ @@ -416,4 +409,4 @@ __END_DECLS #include #endif -#endif /* _STDIO_H_ */ \ No newline at end of file +#endif /* _STDIO_H_ */ diff --git a/lib/libc/include/any-macos.13-any/stdlib.h b/lib/libc/include/any-macos-any/stdlib.h similarity index 99% rename from lib/libc/include/any-macos.13-any/stdlib.h rename to lib/libc/include/any-macos-any/stdlib.h index 24eab305a4..116ea21653 100644 --- a/lib/libc/include/any-macos.13-any/stdlib.h +++ b/lib/libc/include/any-macos-any/stdlib.h @@ -250,6 +250,7 @@ int unsetenv(const char *) __DARWIN_ALIAS(unsetenv); void unsetenv(const char *); #endif /* __DARWIN_UNIX03 */ #endif /* !_ANSI_SOURCE */ +__END_DECLS #if !defined(_ANSI_SOURCE) && (!defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)) #include @@ -257,6 +258,7 @@ void unsetenv(const char *); #include #include <_types/_uint32_t.h> +__BEGIN_DECLS uint32_t arc4random(void); void arc4random_addrandom(unsigned char * /*dat*/, int /*datlen*/) __OSX_DEPRECATED(10.0, 10.12, "use arc4random_stir") @@ -363,8 +365,10 @@ unsigned long long #endif /* !__DARWIN_NO_LONG_LONG */ extern char *suboptarg; /* getsubopt(3) external variable */ /* valloc is now declared in _malloc.h */ +__END_DECLS #endif /* !_ANSI_SOURCE && !_POSIX_SOURCE */ +__BEGIN_DECLS /* Poison the following routines if -fshort-wchar is set */ #if !defined(__cplusplus) && defined(__WCHAR_MAX__) && __WCHAR_MAX__ <= 0xffffU #pragma GCC poison mbstowcs mbtowc wcstombs wctomb @@ -375,4 +379,4 @@ __END_DECLS #include #endif /* _USE_EXTENDED_LOCALES_ */ -#endif /* _STDLIB_H_ */ \ No newline at end of file +#endif /* _STDLIB_H_ */ diff --git a/lib/libc/include/any-macos-any/string.h b/lib/libc/include/any-macos-any/string.h index c704ee5940..f0c7fc602e 100644 --- a/lib/libc/include/any-macos-any/string.h +++ b/lib/libc/include/any-macos-any/string.h @@ -194,4 +194,4 @@ __END_DECLS #include #endif -#endif /* _STRING_H_ */ \ No newline at end of file +#endif /* _STRING_H_ */ diff --git a/lib/libc/include/any-macos-any/strings.h b/lib/libc/include/any-macos-any/strings.h index aad5d6a46e..c0e915f8ac 100644 --- a/lib/libc/include/any-macos-any/strings.h +++ b/lib/libc/include/any-macos-any/strings.h @@ -97,4 +97,5 @@ __END_DECLS #include #endif -#endif /* _STRINGS_H_ */ \ No newline at end of file +#endif /* _STRINGS_H_ */ + diff --git a/lib/libc/include/any-macos-any/sys/_endian.h b/lib/libc/include/any-macos-any/sys/_endian.h index ed7452a381..11d37e5cc1 100644 --- a/lib/libc/include/any-macos-any/sys/_endian.h +++ b/lib/libc/include/any-macos-any/sys/_endian.h @@ -91,6 +91,7 @@ #define _SYS__ENDIAN_H_ #include +#include /* * Macros for network/external number representation conversion. @@ -148,4 +149,4 @@ __END_DECLS #define HTONLL(x) (x) = htonll((__uint64_t)x) #endif /* defined(KERNEL) || (!defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)) */ #endif /* __DARWIN_BYTE_ORDER */ -#endif /* !_SYS__ENDIAN_H_ */ \ No newline at end of file +#endif /* !_SYS__ENDIAN_H_ */ diff --git a/lib/libc/include/any-macos-any/sys/_posix_availability.h b/lib/libc/include/any-macos-any/sys/_posix_availability.h index 62199619a6..a540f26a17 100644 --- a/lib/libc/include/any-macos-any/sys/_posix_availability.h +++ b/lib/libc/include/any-macos-any/sys/_posix_availability.h @@ -69,4 +69,5 @@ #define ___POSIX_C_DEPRECATED_STARTING_200809L __deprecated #else #define ___POSIX_C_DEPRECATED_STARTING_200809L -#endif \ No newline at end of file +#endif + diff --git a/lib/libc/include/any-macos-any/sys/_pthread/_pthread_attr_t.h b/lib/libc/include/any-macos-any/sys/_pthread/_pthread_attr_t.h index e46261f1e4..94db17084d 100644 --- a/lib/libc/include/any-macos-any/sys/_pthread/_pthread_attr_t.h +++ b/lib/libc/include/any-macos-any/sys/_pthread/_pthread_attr_t.h @@ -29,4 +29,4 @@ #define _PTHREAD_ATTR_T #include /* __darwin_pthread_attr_t */ typedef __darwin_pthread_attr_t pthread_attr_t; -#endif /* _PTHREAD_ATTR_T */ \ No newline at end of file +#endif /* _PTHREAD_ATTR_T */ diff --git a/lib/libc/include/any-macos-any/sys/_pthread/_pthread_cond_t.h b/lib/libc/include/any-macos-any/sys/_pthread/_pthread_cond_t.h index 628bd99ce7..4f9a05fc32 100644 --- a/lib/libc/include/any-macos-any/sys/_pthread/_pthread_cond_t.h +++ b/lib/libc/include/any-macos-any/sys/_pthread/_pthread_cond_t.h @@ -29,4 +29,4 @@ #define _PTHREAD_COND_T #include /* __darwin_pthread_cond_t */ typedef __darwin_pthread_cond_t pthread_cond_t; -#endif /* _PTHREAD_COND_T */ \ No newline at end of file +#endif /* _PTHREAD_COND_T */ diff --git a/lib/libc/include/any-macos-any/sys/_pthread/_pthread_condattr_t.h b/lib/libc/include/any-macos-any/sys/_pthread/_pthread_condattr_t.h index 4352a31611..a18e5a814e 100644 --- a/lib/libc/include/any-macos-any/sys/_pthread/_pthread_condattr_t.h +++ b/lib/libc/include/any-macos-any/sys/_pthread/_pthread_condattr_t.h @@ -29,4 +29,4 @@ #define _PTHREAD_CONDATTR_T #include /* __darwin_pthread_condattr_t */ typedef __darwin_pthread_condattr_t pthread_condattr_t; -#endif /* _PTHREAD_CONDATTR_T */ \ No newline at end of file +#endif /* _PTHREAD_CONDATTR_T */ diff --git a/lib/libc/include/any-macos-any/sys/_pthread/_pthread_key_t.h b/lib/libc/include/any-macos-any/sys/_pthread/_pthread_key_t.h index 272982564d..20d7a0a444 100644 --- a/lib/libc/include/any-macos-any/sys/_pthread/_pthread_key_t.h +++ b/lib/libc/include/any-macos-any/sys/_pthread/_pthread_key_t.h @@ -29,4 +29,4 @@ #define _PTHREAD_KEY_T #include /* __darwin_pthread_key_t */ typedef __darwin_pthread_key_t pthread_key_t; -#endif /* _PTHREAD_KEY_T */ \ No newline at end of file +#endif /* _PTHREAD_KEY_T */ diff --git a/lib/libc/include/any-macos-any/sys/_pthread/_pthread_mutex_t.h b/lib/libc/include/any-macos-any/sys/_pthread/_pthread_mutex_t.h index 44b2bedb9a..e5aff0bc2e 100644 --- a/lib/libc/include/any-macos-any/sys/_pthread/_pthread_mutex_t.h +++ b/lib/libc/include/any-macos-any/sys/_pthread/_pthread_mutex_t.h @@ -29,4 +29,4 @@ #define _PTHREAD_MUTEX_T #include /* __darwin_pthread_mutex_t */ typedef __darwin_pthread_mutex_t pthread_mutex_t; -#endif /*_PTHREAD_MUTEX_T */ \ No newline at end of file +#endif /*_PTHREAD_MUTEX_T */ diff --git a/lib/libc/include/any-macos-any/sys/_pthread/_pthread_mutexattr_t.h b/lib/libc/include/any-macos-any/sys/_pthread/_pthread_mutexattr_t.h index 07bd2801c9..218d74a91c 100644 --- a/lib/libc/include/any-macos-any/sys/_pthread/_pthread_mutexattr_t.h +++ b/lib/libc/include/any-macos-any/sys/_pthread/_pthread_mutexattr_t.h @@ -29,4 +29,4 @@ #define _PTHREAD_MUTEXATTR_T #include /* __darwin_pthread_mutexattr_t */ typedef __darwin_pthread_mutexattr_t pthread_mutexattr_t; -#endif /* _PTHREAD_MUTEXATTR_T */ \ No newline at end of file +#endif /* _PTHREAD_MUTEXATTR_T */ diff --git a/lib/libc/include/any-macos-any/sys/_pthread/_pthread_once_t.h b/lib/libc/include/any-macos-any/sys/_pthread/_pthread_once_t.h index 85a63a60f1..d50a6244f9 100644 --- a/lib/libc/include/any-macos-any/sys/_pthread/_pthread_once_t.h +++ b/lib/libc/include/any-macos-any/sys/_pthread/_pthread_once_t.h @@ -29,4 +29,4 @@ #define _PTHREAD_ONCE_T #include /* __darwin_pthread_once_t */ typedef __darwin_pthread_once_t pthread_once_t; -#endif /* _PTHREAD_ONCE_T */ \ No newline at end of file +#endif /* _PTHREAD_ONCE_T */ diff --git a/lib/libc/include/any-macos-any/sys/_pthread/_pthread_rwlock_t.h b/lib/libc/include/any-macos-any/sys/_pthread/_pthread_rwlock_t.h index f033ed3069..0c61c8964e 100644 --- a/lib/libc/include/any-macos-any/sys/_pthread/_pthread_rwlock_t.h +++ b/lib/libc/include/any-macos-any/sys/_pthread/_pthread_rwlock_t.h @@ -29,4 +29,4 @@ #define _PTHREAD_RWLOCK_T #include /* __darwin_pthread_rwlock_t */ typedef __darwin_pthread_rwlock_t pthread_rwlock_t; -#endif /* _PTHREAD_RWLOCK_T */ \ No newline at end of file +#endif /* _PTHREAD_RWLOCK_T */ diff --git a/lib/libc/include/any-macos-any/sys/_pthread/_pthread_rwlockattr_t.h b/lib/libc/include/any-macos-any/sys/_pthread/_pthread_rwlockattr_t.h index 6843d994ea..936a565638 100644 --- a/lib/libc/include/any-macos-any/sys/_pthread/_pthread_rwlockattr_t.h +++ b/lib/libc/include/any-macos-any/sys/_pthread/_pthread_rwlockattr_t.h @@ -29,4 +29,4 @@ #define _PTHREAD_RWLOCKATTR_T #include /* __darwin_pthread_rwlockattr_t */ typedef __darwin_pthread_rwlockattr_t pthread_rwlockattr_t; -#endif /* _PTHREAD_RWLOCKATTR_T */ \ No newline at end of file +#endif /* _PTHREAD_RWLOCKATTR_T */ diff --git a/lib/libc/include/any-macos-any/sys/_pthread/_pthread_t.h b/lib/libc/include/any-macos-any/sys/_pthread/_pthread_t.h index bc03e26c2e..519f6e0bdc 100644 --- a/lib/libc/include/any-macos-any/sys/_pthread/_pthread_t.h +++ b/lib/libc/include/any-macos-any/sys/_pthread/_pthread_t.h @@ -29,4 +29,4 @@ #define _PTHREAD_T #include /* __darwin_pthread_t */ typedef __darwin_pthread_t pthread_t; -#endif /* _PTHREAD_T */ \ No newline at end of file +#endif /* _PTHREAD_T */ diff --git a/lib/libc/include/any-macos-any/sys/_pthread/_pthread_types.h b/lib/libc/include/any-macos-any/sys/_pthread/_pthread_types.h index 5cf3d7a442..123c31a583 100644 --- a/lib/libc/include/any-macos-any/sys/_pthread/_pthread_types.h +++ b/lib/libc/include/any-macos-any/sys/_pthread/_pthread_types.h @@ -117,4 +117,4 @@ typedef struct _opaque_pthread_rwlock_t __darwin_pthread_rwlock_t; typedef struct _opaque_pthread_rwlockattr_t __darwin_pthread_rwlockattr_t; typedef struct _opaque_pthread_t *__darwin_pthread_t; -#endif // _SYS__PTHREAD_TYPES_H_ \ No newline at end of file +#endif // _SYS__PTHREAD_TYPES_H_ diff --git a/lib/libc/include/any-macos-any/sys/_select.h b/lib/libc/include/any-macos-any/sys/_select.h index 587b506d0c..174814916d 100644 --- a/lib/libc/include/any-macos-any/sys/_select.h +++ b/lib/libc/include/any-macos-any/sys/_select.h @@ -54,4 +54,4 @@ __DARWIN_ALIAS_C(select) #endif /* _DARWIN_C_SOURCE || _DARWIN_UNLIMITED_SELECT */ ; -#endif /* !_SYS__SELECT_H_ */ \ No newline at end of file +#endif /* !_SYS__SELECT_H_ */ diff --git a/lib/libc/include/any-macos.13-any/sys/_symbol_aliasing.h b/lib/libc/include/any-macos-any/sys/_symbol_aliasing.h similarity index 86% rename from lib/libc/include/any-macos.13-any/sys/_symbol_aliasing.h rename to lib/libc/include/any-macos-any/sys/_symbol_aliasing.h index 6437f61b04..ff03eb81cd 100644 --- a/lib/libc/include/any-macos.13-any/sys/_symbol_aliasing.h +++ b/lib/libc/include/any-macos-any/sys/_symbol_aliasing.h @@ -341,6 +341,36 @@ #define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_14_5(x) #endif +#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 140400 +#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_14_4(x) x +#else +#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_14_4(x) +#endif + +#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 140500 +#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_14_5(x) x +#else +#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_14_5(x) +#endif + +#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 140600 +#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_14_6(x) x +#else +#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_14_6(x) +#endif + +#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 140700 +#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_14_7(x) x +#else +#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_14_7(x) +#endif + +#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 140800 +#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_14_8(x) x +#else +#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_14_8(x) +#endif + #if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 150000 #define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_15_0(x) x #else @@ -371,6 +401,18 @@ #define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_15_4(x) #endif +#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 150500 +#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_15_5(x) x +#else +#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_15_5(x) +#endif + +#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 150600 +#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_15_6(x) x +#else +#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_15_6(x) +#endif + #if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 160000 #define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_16_0(x) x #else @@ -401,6 +443,18 @@ #define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_16_4(x) #endif +#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 160500 +#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_16_5(x) x +#else +#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_16_5(x) +#endif + +#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 170000 +#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_17_0(x) x +#else +#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_17_0(x) +#endif + #if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 1000 #define __DARWIN_ALIAS_STARTING_MAC___MAC_10_0(x) x #else @@ -623,6 +677,24 @@ #define __DARWIN_ALIAS_STARTING_MAC___MAC_11_3(x) #endif +#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 110400 +#define __DARWIN_ALIAS_STARTING_MAC___MAC_11_4(x) x +#else +#define __DARWIN_ALIAS_STARTING_MAC___MAC_11_4(x) +#endif + +#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 110500 +#define __DARWIN_ALIAS_STARTING_MAC___MAC_11_5(x) x +#else +#define __DARWIN_ALIAS_STARTING_MAC___MAC_11_5(x) +#endif + +#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 110600 +#define __DARWIN_ALIAS_STARTING_MAC___MAC_11_6(x) x +#else +#define __DARWIN_ALIAS_STARTING_MAC___MAC_11_6(x) +#endif + #if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 120000 #define __DARWIN_ALIAS_STARTING_MAC___MAC_12_0(x) x #else @@ -647,6 +719,18 @@ #define __DARWIN_ALIAS_STARTING_MAC___MAC_12_3(x) #endif +#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 120400 +#define __DARWIN_ALIAS_STARTING_MAC___MAC_12_4(x) x +#else +#define __DARWIN_ALIAS_STARTING_MAC___MAC_12_4(x) +#endif + +#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 120500 +#define __DARWIN_ALIAS_STARTING_MAC___MAC_12_5(x) x +#else +#define __DARWIN_ALIAS_STARTING_MAC___MAC_12_5(x) +#endif + #if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 130000 #define __DARWIN_ALIAS_STARTING_MAC___MAC_13_0(x) x #else @@ -659,6 +743,12 @@ #define __DARWIN_ALIAS_STARTING_MAC___MAC_13_1(x) #endif +#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 130100 +#define __DARWIN_ALIAS_STARTING_MAC___MAC_13_1(x) x +#else +#define __DARWIN_ALIAS_STARTING_MAC___MAC_13_1(x) +#endif + #if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 130200 #define __DARWIN_ALIAS_STARTING_MAC___MAC_13_2(x) x #else @@ -669,4 +759,17 @@ #define __DARWIN_ALIAS_STARTING_MAC___MAC_13_3(x) x #else #define __DARWIN_ALIAS_STARTING_MAC___MAC_13_3(x) -#endif \ No newline at end of file +#endif + +#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 130400 +#define __DARWIN_ALIAS_STARTING_MAC___MAC_13_4(x) x +#else +#define __DARWIN_ALIAS_STARTING_MAC___MAC_13_4(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 +#define __DARWIN_ALIAS_STARTING_MAC___MAC_14_0(x) +#endif + diff --git a/lib/libc/include/any-macos-any/sys/_types.h b/lib/libc/include/any-macos-any/sys/_types.h index 8d8f62d445..43be468d7b 100644 --- a/lib/libc/include/any-macos-any/sys/_types.h +++ b/lib/libc/include/any-macos-any/sys/_types.h @@ -86,4 +86,4 @@ typedef char __darwin_uuid_string_t[37]; #endif /* (gcc >= 3.5) */ -#endif /* _SYS__TYPES_H_ */ \ No newline at end of file +#endif /* _SYS__TYPES_H_ */ diff --git a/lib/libc/include/any-macos-any/sys/_types/_blkcnt_t.h b/lib/libc/include/any-macos-any/sys/_types/_blkcnt_t.h index 4ac9463a46..9d4d1ee883 100644 --- a/lib/libc/include/any-macos-any/sys/_types/_blkcnt_t.h +++ b/lib/libc/include/any-macos-any/sys/_types/_blkcnt_t.h @@ -29,4 +29,4 @@ #define _BLKCNT_T #include /* __darwin_blkcnt_t */ typedef __darwin_blkcnt_t blkcnt_t; -#endif /* _BLKCNT_T */ \ No newline at end of file +#endif /* _BLKCNT_T */ diff --git a/lib/libc/include/any-macos-any/sys/_types/_blksize_t.h b/lib/libc/include/any-macos-any/sys/_types/_blksize_t.h index 59ccf3de3c..82931f7bfa 100644 --- a/lib/libc/include/any-macos-any/sys/_types/_blksize_t.h +++ b/lib/libc/include/any-macos-any/sys/_types/_blksize_t.h @@ -29,4 +29,4 @@ #define _BLKSIZE_T #include /* __darwin_blksize_t */ typedef __darwin_blksize_t blksize_t; -#endif /* _BLKSIZE_T */ \ No newline at end of file +#endif /* _BLKSIZE_T */ diff --git a/lib/libc/include/any-macos-any/sys/_types/_caddr_t.h b/lib/libc/include/any-macos-any/sys/_types/_caddr_t.h index 64c58299af..159e186d39 100644 --- a/lib/libc/include/any-macos-any/sys/_types/_caddr_t.h +++ b/lib/libc/include/any-macos-any/sys/_types/_caddr_t.h @@ -28,4 +28,4 @@ #ifndef _CADDR_T #define _CADDR_T typedef char * caddr_t; -#endif /* _CADDR_T */ \ No newline at end of file +#endif /* _CADDR_T */ diff --git a/lib/libc/include/any-macos-any/sys/_types/_clock_t.h b/lib/libc/include/any-macos-any/sys/_types/_clock_t.h index 4a34772e46..991d2cd528 100644 --- a/lib/libc/include/any-macos-any/sys/_types/_clock_t.h +++ b/lib/libc/include/any-macos-any/sys/_types/_clock_t.h @@ -29,4 +29,4 @@ #define _CLOCK_T #include /* __darwin_clock_t */ typedef __darwin_clock_t clock_t; -#endif /* _CLOCK_T */ \ No newline at end of file +#endif /* _CLOCK_T */ diff --git a/lib/libc/include/any-macos-any/sys/_types/_ct_rune_t.h b/lib/libc/include/any-macos-any/sys/_types/_ct_rune_t.h index da2f6603f2..3878dff806 100644 --- a/lib/libc/include/any-macos-any/sys/_types/_ct_rune_t.h +++ b/lib/libc/include/any-macos-any/sys/_types/_ct_rune_t.h @@ -30,4 +30,4 @@ #define _CT_RUNE_T #include /* __darwin_ct_rune_t */ typedef __darwin_ct_rune_t ct_rune_t; -#endif /* _CT_RUNE_T */ \ No newline at end of file +#endif /* _CT_RUNE_T */ diff --git a/lib/libc/include/any-macos-any/sys/_types/_dev_t.h b/lib/libc/include/any-macos-any/sys/_types/_dev_t.h index 95125a6509..be5c73ee50 100644 --- a/lib/libc/include/any-macos-any/sys/_types/_dev_t.h +++ b/lib/libc/include/any-macos-any/sys/_types/_dev_t.h @@ -29,4 +29,4 @@ #define _DEV_T #include /* __darwin_dev_t */ typedef __darwin_dev_t dev_t; /* device number */ -#endif /* _DEV_T */ \ No newline at end of file +#endif /* _DEV_T */ diff --git a/lib/libc/include/any-macos-any/sys/_types/_errno_t.h b/lib/libc/include/any-macos-any/sys/_types/_errno_t.h index 081bae2e0f..557282a2d3 100644 --- a/lib/libc/include/any-macos-any/sys/_types/_errno_t.h +++ b/lib/libc/include/any-macos-any/sys/_types/_errno_t.h @@ -28,4 +28,4 @@ #ifndef _ERRNO_T #define _ERRNO_T typedef int errno_t; -#endif /* _ERRNO_T */ \ No newline at end of file +#endif /* _ERRNO_T */ diff --git a/lib/libc/include/any-macos-any/sys/_types/_fd_clr.h b/lib/libc/include/any-macos-any/sys/_types/_fd_clr.h index 8cd61878c0..eeb65b3627 100644 --- a/lib/libc/include/any-macos-any/sys/_types/_fd_clr.h +++ b/lib/libc/include/any-macos-any/sys/_types/_fd_clr.h @@ -27,4 +27,4 @@ */ #ifndef FD_CLR #define FD_CLR(n, p) __DARWIN_FD_CLR(n, p) -#endif /* FD_CLR */ \ No newline at end of file +#endif /* FD_CLR */ diff --git a/lib/libc/include/any-macos-any/sys/_types/_fd_copy.h b/lib/libc/include/any-macos-any/sys/_types/_fd_copy.h index 19248ec806..d0e9c1ec9a 100644 --- a/lib/libc/include/any-macos-any/sys/_types/_fd_copy.h +++ b/lib/libc/include/any-macos-any/sys/_types/_fd_copy.h @@ -27,4 +27,4 @@ */ #ifndef FD_COPY #define FD_COPY(f, t) __DARWIN_FD_COPY(f, t) -#endif /* FD_COPY */ \ No newline at end of file +#endif /* FD_COPY */ diff --git a/lib/libc/include/any-macos-any/sys/_types/_fd_def.h b/lib/libc/include/any-macos-any/sys/_types/_fd_def.h index 138a1d49e2..1a933496a2 100644 --- a/lib/libc/include/any-macos-any/sys/_types/_fd_def.h +++ b/lib/libc/include/any-macos-any/sys/_types/_fd_def.h @@ -118,4 +118,4 @@ __darwin_fd_clr(int _fd, struct fd_set *const _p) #endif #define __DARWIN_FD_COPY(f, t) bcopy(f, t, sizeof(*(f))) -#endif /* _FD_SET */ \ No newline at end of file +#endif /* _FD_SET */ diff --git a/lib/libc/include/any-macos-any/sys/_types/_fd_isset.h b/lib/libc/include/any-macos-any/sys/_types/_fd_isset.h index 4aaa92fdec..e3b3d98561 100644 --- a/lib/libc/include/any-macos-any/sys/_types/_fd_isset.h +++ b/lib/libc/include/any-macos-any/sys/_types/_fd_isset.h @@ -27,4 +27,4 @@ */ #ifndef FD_ISSET #define FD_ISSET(n, p) __DARWIN_FD_ISSET(n, p) -#endif /* FD_ISSET */ \ No newline at end of file +#endif /* FD_ISSET */ diff --git a/lib/libc/include/any-macos-any/sys/_types/_fd_set.h b/lib/libc/include/any-macos-any/sys/_types/_fd_set.h index fe21ec1bb9..67f4fa4df3 100644 --- a/lib/libc/include/any-macos-any/sys/_types/_fd_set.h +++ b/lib/libc/include/any-macos-any/sys/_types/_fd_set.h @@ -27,4 +27,4 @@ */ #ifndef FD_SET #define FD_SET(n, p) __DARWIN_FD_SET(n, p) -#endif /* FD_SET */ \ No newline at end of file +#endif /* FD_SET */ diff --git a/lib/libc/include/any-macos-any/sys/_types/_fd_setsize.h b/lib/libc/include/any-macos-any/sys/_types/_fd_setsize.h index b45f19ac69..c5c3ec9d8f 100644 --- a/lib/libc/include/any-macos-any/sys/_types/_fd_setsize.h +++ b/lib/libc/include/any-macos-any/sys/_types/_fd_setsize.h @@ -27,4 +27,4 @@ */ #ifndef FD_SETSIZE #define FD_SETSIZE __DARWIN_FD_SETSIZE -#endif /* FD_SETSIZE */ \ No newline at end of file +#endif /* FD_SETSIZE */ diff --git a/lib/libc/include/any-macos-any/sys/_types/_fd_zero.h b/lib/libc/include/any-macos-any/sys/_types/_fd_zero.h index c065a6fa67..8363df3bd7 100644 --- a/lib/libc/include/any-macos-any/sys/_types/_fd_zero.h +++ b/lib/libc/include/any-macos-any/sys/_types/_fd_zero.h @@ -27,4 +27,4 @@ */ #ifndef FD_ZERO #define FD_ZERO(p) __DARWIN_FD_ZERO(p) -#endif /* FD_ZERO */ \ No newline at end of file +#endif /* FD_ZERO */ diff --git a/lib/libc/include/any-macos-any/sys/_types/_filesec_t.h b/lib/libc/include/any-macos-any/sys/_types/_filesec_t.h index dbaa6f2947..6812eba467 100644 --- a/lib/libc/include/any-macos-any/sys/_types/_filesec_t.h +++ b/lib/libc/include/any-macos-any/sys/_types/_filesec_t.h @@ -29,4 +29,4 @@ #define _FILESEC_T struct _filesec; typedef struct _filesec *filesec_t; -#endif /* _FILESEC_T */ \ No newline at end of file +#endif /* _FILESEC_T */ diff --git a/lib/libc/include/any-macos-any/sys/_types/_fsblkcnt_t.h b/lib/libc/include/any-macos-any/sys/_types/_fsblkcnt_t.h index 5c4bbaada1..a80d02f671 100644 --- a/lib/libc/include/any-macos-any/sys/_types/_fsblkcnt_t.h +++ b/lib/libc/include/any-macos-any/sys/_types/_fsblkcnt_t.h @@ -29,4 +29,4 @@ #define _FSBLKCNT_T #include /* __darwin_fsblkcnt_t */ typedef __darwin_fsblkcnt_t fsblkcnt_t; -#endif /* _FSBLKCNT_T */ \ No newline at end of file +#endif /* _FSBLKCNT_T */ diff --git a/lib/libc/include/any-macos-any/sys/_types/_fsfilcnt_t.h b/lib/libc/include/any-macos-any/sys/_types/_fsfilcnt_t.h index e5c2dd54e3..be5e9b4aba 100644 --- a/lib/libc/include/any-macos-any/sys/_types/_fsfilcnt_t.h +++ b/lib/libc/include/any-macos-any/sys/_types/_fsfilcnt_t.h @@ -29,4 +29,4 @@ #define _FSFILCNT_T #include /* __darwin_fsfilcnt_t */ typedef __darwin_fsfilcnt_t fsfilcnt_t; -#endif /* _FSFILCNT_T */ \ No newline at end of file +#endif /* _FSFILCNT_T */ diff --git a/lib/libc/include/any-macos-any/sys/_types/_fsid_t.h b/lib/libc/include/any-macos-any/sys/_types/_fsid_t.h index c7cec84752..d4e70f2997 100644 --- a/lib/libc/include/any-macos-any/sys/_types/_fsid_t.h +++ b/lib/libc/include/any-macos-any/sys/_types/_fsid_t.h @@ -29,4 +29,4 @@ #define _FSID_T #include /* int32_t */ typedef struct fsid { int32_t val[2]; } fsid_t; /* file system id type */ -#endif /* _FSID_T */ \ No newline at end of file +#endif /* _FSID_T */ diff --git a/lib/libc/include/any-macos-any/sys/_types/_fsobj_id_t.h b/lib/libc/include/any-macos-any/sys/_types/_fsobj_id_t.h index eaaab2e53f..a396cdff9e 100644 --- a/lib/libc/include/any-macos-any/sys/_types/_fsobj_id_t.h +++ b/lib/libc/include/any-macos-any/sys/_types/_fsobj_id_t.h @@ -35,4 +35,4 @@ typedef struct fsobj_id { u_int32_t fid_generation; } fsobj_id_t; -#endif /* _FSOBJ_ID_T */ \ No newline at end of file +#endif /* _FSOBJ_ID_T */ diff --git a/lib/libc/include/any-macos-any/sys/_types/_gid_t.h b/lib/libc/include/any-macos-any/sys/_types/_gid_t.h index c5cb252206..ebf4970689 100644 --- a/lib/libc/include/any-macos-any/sys/_types/_gid_t.h +++ b/lib/libc/include/any-macos-any/sys/_types/_gid_t.h @@ -29,4 +29,4 @@ #define _GID_T #include /* __darwin_gid_t */ typedef __darwin_gid_t gid_t; -#endif \ No newline at end of file +#endif diff --git a/lib/libc/include/any-macos.13-any/sys/_types/_graftdmg_un.h b/lib/libc/include/any-macos-any/sys/_types/_graftdmg_un.h similarity index 98% rename from lib/libc/include/any-macos.13-any/sys/_types/_graftdmg_un.h rename to lib/libc/include/any-macos-any/sys/_types/_graftdmg_un.h index 12282c994b..366336bea3 100644 --- a/lib/libc/include/any-macos.13-any/sys/_types/_graftdmg_un.h +++ b/lib/libc/include/any-macos-any/sys/_types/_graftdmg_un.h @@ -57,4 +57,4 @@ typedef union graft_args { secure_boot_cryptex_args_t sbc_args; } graftdmg_args_un; -#endif /* _GRAFTDMG_UN_ */ \ No newline at end of file +#endif /* _GRAFTDMG_UN_ */ diff --git a/lib/libc/include/any-macos-any/sys/_types/_guid_t.h b/lib/libc/include/any-macos-any/sys/_types/_guid_t.h index 22e28de8db..df29f9ca39 100644 --- a/lib/libc/include/any-macos-any/sys/_types/_guid_t.h +++ b/lib/libc/include/any-macos-any/sys/_types/_guid_t.h @@ -34,4 +34,4 @@ typedef union { unsigned int g_guid_asint[KAUTH_GUID_SIZE / sizeof(unsigned int)]; } guid_t; #define _GUID_T -#endif /* _KAUTH_GUID */ \ No newline at end of file +#endif /* _KAUTH_GUID */ diff --git a/lib/libc/include/any-macos-any/sys/_types/_id_t.h b/lib/libc/include/any-macos-any/sys/_types/_id_t.h index 839a8de1b8..9af9610a27 100644 --- a/lib/libc/include/any-macos-any/sys/_types/_id_t.h +++ b/lib/libc/include/any-macos-any/sys/_types/_id_t.h @@ -29,4 +29,4 @@ #define _ID_T #include /* __darwin_id_t */ typedef __darwin_id_t id_t; /* can hold pid_t, gid_t, or uid_t */ -#endif /* _ID_T */ \ No newline at end of file +#endif /* _ID_T */ diff --git a/lib/libc/include/any-macos-any/sys/_types/_in_addr_t.h b/lib/libc/include/any-macos-any/sys/_types/_in_addr_t.h index 2b40b85cb2..edcf66e507 100644 --- a/lib/libc/include/any-macos-any/sys/_types/_in_addr_t.h +++ b/lib/libc/include/any-macos-any/sys/_types/_in_addr_t.h @@ -29,4 +29,4 @@ #define _IN_ADDR_T #include /* __uint32_t */ typedef __uint32_t in_addr_t; /* base type for internet address */ -#endif /* _IN_ADDR_T */ \ No newline at end of file +#endif /* _IN_ADDR_T */ diff --git a/lib/libc/include/any-macos-any/sys/_types/_in_port_t.h b/lib/libc/include/any-macos-any/sys/_types/_in_port_t.h index 42f2f8c2a6..8b102566c9 100644 --- a/lib/libc/include/any-macos-any/sys/_types/_in_port_t.h +++ b/lib/libc/include/any-macos-any/sys/_types/_in_port_t.h @@ -29,4 +29,4 @@ #define _IN_PORT_T #include /* __uint16_t */ typedef __uint16_t in_port_t; -#endif /* _IN_PORT_T */ \ No newline at end of file +#endif /* _IN_PORT_T */ diff --git a/lib/libc/include/any-macos-any/sys/_types/_ino64_t.h b/lib/libc/include/any-macos-any/sys/_types/_ino64_t.h index 4fdc1ca3e0..c142b1baec 100644 --- a/lib/libc/include/any-macos-any/sys/_types/_ino64_t.h +++ b/lib/libc/include/any-macos-any/sys/_types/_ino64_t.h @@ -29,4 +29,4 @@ #define _INO64_T #include /* __darwin_ino64_t */ typedef __darwin_ino64_t ino64_t; /* 64bit inode number */ -#endif /* _INO64_T */ \ No newline at end of file +#endif /* _INO64_T */ diff --git a/lib/libc/include/any-macos-any/sys/_types/_ino_t.h b/lib/libc/include/any-macos-any/sys/_types/_ino_t.h index 0c5dacd648..2a693ddbfd 100644 --- a/lib/libc/include/any-macos-any/sys/_types/_ino_t.h +++ b/lib/libc/include/any-macos-any/sys/_types/_ino_t.h @@ -29,4 +29,4 @@ #define _INO_T #include /* __darwin_ino_t */ typedef __darwin_ino_t ino_t; /* inode number */ -#endif /* _INO_T */ \ No newline at end of file +#endif /* _INO_T */ diff --git a/lib/libc/include/any-macos-any/sys/_types/_int16_t.h b/lib/libc/include/any-macos-any/sys/_types/_int16_t.h index d104e06cb8..3bf3da0681 100644 --- a/lib/libc/include/any-macos-any/sys/_types/_int16_t.h +++ b/lib/libc/include/any-macos-any/sys/_types/_int16_t.h @@ -28,4 +28,4 @@ #ifndef _INT16_T #define _INT16_T typedef short int16_t; -#endif /* _INT16_T */ \ No newline at end of file +#endif /* _INT16_T */ diff --git a/lib/libc/include/any-macos-any/sys/_types/_int32_t.h b/lib/libc/include/any-macos-any/sys/_types/_int32_t.h index d46ca4cb15..9b1d72ba74 100644 --- a/lib/libc/include/any-macos-any/sys/_types/_int32_t.h +++ b/lib/libc/include/any-macos-any/sys/_types/_int32_t.h @@ -28,4 +28,4 @@ #ifndef _INT32_T #define _INT32_T typedef int int32_t; -#endif /* _INT32_T */ \ No newline at end of file +#endif /* _INT32_T */ diff --git a/lib/libc/include/any-macos-any/sys/_types/_int64_t.h b/lib/libc/include/any-macos-any/sys/_types/_int64_t.h index 5d8253c74f..4f3e7de38a 100644 --- a/lib/libc/include/any-macos-any/sys/_types/_int64_t.h +++ b/lib/libc/include/any-macos-any/sys/_types/_int64_t.h @@ -28,4 +28,4 @@ #ifndef _INT64_T #define _INT64_T typedef long long int64_t; -#endif /* _INT64_T */ \ No newline at end of file +#endif /* _INT64_T */ diff --git a/lib/libc/include/any-macos-any/sys/_types/_int8_t.h b/lib/libc/include/any-macos-any/sys/_types/_int8_t.h index 5ca9ba85b0..14eb9f7ea0 100644 --- a/lib/libc/include/any-macos-any/sys/_types/_int8_t.h +++ b/lib/libc/include/any-macos-any/sys/_types/_int8_t.h @@ -28,4 +28,4 @@ #ifndef _INT8_T #define _INT8_T typedef signed char int8_t; -#endif /* _INT8_T */ \ No newline at end of file +#endif /* _INT8_T */ diff --git a/lib/libc/include/any-macos-any/sys/_types/_intptr_t.h b/lib/libc/include/any-macos-any/sys/_types/_intptr_t.h index 71966e3097..0f494b9e5c 100644 --- a/lib/libc/include/any-macos-any/sys/_types/_intptr_t.h +++ b/lib/libc/include/any-macos-any/sys/_types/_intptr_t.h @@ -30,4 +30,4 @@ #include /* __darwin_intptr_t */ typedef __darwin_intptr_t intptr_t; -#endif /* _INTPTR_T */ \ No newline at end of file +#endif /* _INTPTR_T */ diff --git a/lib/libc/include/any-macos-any/sys/_types/_iovec_t.h b/lib/libc/include/any-macos-any/sys/_types/_iovec_t.h index 96b7326ba6..f89c7306f2 100644 --- a/lib/libc/include/any-macos-any/sys/_types/_iovec_t.h +++ b/lib/libc/include/any-macos-any/sys/_types/_iovec_t.h @@ -32,4 +32,4 @@ struct iovec { void * iov_base; /* [XSI] Base address of I/O memory region */ size_t iov_len; /* [XSI] Size of region iov_base points to */ }; -#endif /* _STRUCT_IOVEC */ \ No newline at end of file +#endif /* _STRUCT_IOVEC */ diff --git a/lib/libc/include/any-macos-any/sys/_types/_key_t.h b/lib/libc/include/any-macos-any/sys/_types/_key_t.h index 3d30305ee5..ec093d7699 100644 --- a/lib/libc/include/any-macos-any/sys/_types/_key_t.h +++ b/lib/libc/include/any-macos-any/sys/_types/_key_t.h @@ -29,4 +29,4 @@ #define _KEY_T #include /* __int32_t */ typedef __int32_t key_t; /* IPC key (for Sys V IPC) */ -#endif /* _KEY_T */ \ No newline at end of file +#endif /* _KEY_T */ diff --git a/lib/libc/include/any-macos-any/sys/_types/_mach_port_t.h b/lib/libc/include/any-macos-any/sys/_types/_mach_port_t.h index df36dc2b7a..fa96565f66 100644 --- a/lib/libc/include/any-macos-any/sys/_types/_mach_port_t.h +++ b/lib/libc/include/any-macos-any/sys/_types/_mach_port_t.h @@ -48,4 +48,4 @@ #define _MACH_PORT_T #include /* __darwin_mach_port_t */ typedef __darwin_mach_port_t mach_port_t; -#endif /* _MACH_PORT_T */ \ No newline at end of file +#endif /* _MACH_PORT_T */ diff --git a/lib/libc/include/any-macos-any/sys/_types/_mbstate_t.h b/lib/libc/include/any-macos-any/sys/_types/_mbstate_t.h index 2d85de97f6..771728bfa7 100644 --- a/lib/libc/include/any-macos-any/sys/_types/_mbstate_t.h +++ b/lib/libc/include/any-macos-any/sys/_types/_mbstate_t.h @@ -30,4 +30,4 @@ #define _MBSTATE_T #include /* __darwin_mbstate_t */ typedef __darwin_mbstate_t mbstate_t; -#endif /* _MBSTATE_T */ \ No newline at end of file +#endif /* _MBSTATE_T */ diff --git a/lib/libc/include/any-macos-any/sys/_types/_mode_t.h b/lib/libc/include/any-macos-any/sys/_types/_mode_t.h index ee9c3aaffc..36f8d2b324 100644 --- a/lib/libc/include/any-macos-any/sys/_types/_mode_t.h +++ b/lib/libc/include/any-macos-any/sys/_types/_mode_t.h @@ -29,4 +29,4 @@ #define _MODE_T #include /* __darwin_mode_t */ typedef __darwin_mode_t mode_t; -#endif /* _MODE_T */ \ No newline at end of file +#endif /* _MODE_T */ diff --git a/lib/libc/include/any-macos.11-any/sys/_types/_uintptr_t.h b/lib/libc/include/any-macos-any/sys/_types/_mount_t.h similarity index 88% rename from lib/libc/include/any-macos.11-any/sys/_types/_uintptr_t.h rename to lib/libc/include/any-macos-any/sys/_types/_mount_t.h index 7971dbc86a..273d4085fa 100644 --- a/lib/libc/include/any-macos.11-any/sys/_types/_uintptr_t.h +++ b/lib/libc/include/any-macos-any/sys/_types/_mount_t.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003-2012 Apple Inc. All rights reserved. + * Copyright (c) 2022 Apple Inc. All rights reserved. * * @APPLE_OSREFERENCE_LICENSE_HEADER_START@ * @@ -25,7 +25,10 @@ * * @APPLE_OSREFERENCE_LICENSE_HEADER_END@ */ -#ifndef _UINTPTR_T -#define _UINTPTR_T -typedef unsigned long uintptr_t; -#endif /* _UINTPTR_T */ \ No newline at end of file +#ifndef _MOUNT_T +#define _MOUNT_T + +struct mount; +typedef struct mount * mount_t; + +#endif /* _MOUNT_T */ diff --git a/lib/libc/include/any-macos-any/sys/_types/_nlink_t.h b/lib/libc/include/any-macos-any/sys/_types/_nlink_t.h index 19bdbab55b..c3f83365ff 100644 --- a/lib/libc/include/any-macos-any/sys/_types/_nlink_t.h +++ b/lib/libc/include/any-macos-any/sys/_types/_nlink_t.h @@ -29,4 +29,4 @@ #define _NLINK_T #include /* __uint16_t */ typedef __uint16_t nlink_t; /* link count */ -#endif /* _NLINK_T */ \ No newline at end of file +#endif /* _NLINK_T */ diff --git a/lib/libc/include/any-macos-any/sys/_types/_null.h b/lib/libc/include/any-macos-any/sys/_types/_null.h index 310a71788b..9c21571ea4 100644 --- a/lib/libc/include/any-macos-any/sys/_types/_null.h +++ b/lib/libc/include/any-macos-any/sys/_types/_null.h @@ -28,4 +28,4 @@ #ifndef NULL #include /* __DARWIN_NULL */ #define NULL __DARWIN_NULL -#endif /* NULL */ \ No newline at end of file +#endif /* NULL */ diff --git a/lib/libc/include/any-macos-any/sys/_types/_o_dsync.h b/lib/libc/include/any-macos-any/sys/_types/_o_dsync.h index 3012119653..bd4f2884fa 100644 --- a/lib/libc/include/any-macos-any/sys/_types/_o_dsync.h +++ b/lib/libc/include/any-macos-any/sys/_types/_o_dsync.h @@ -27,4 +27,4 @@ */ #ifndef O_DSYNC #define O_DSYNC 0x400000 /* synch I/O data integrity */ -#endif /* O_DSYNC */ \ No newline at end of file +#endif /* O_DSYNC */ diff --git a/lib/libc/include/any-macos-any/sys/_types/_o_sync.h b/lib/libc/include/any-macos-any/sys/_types/_o_sync.h index 334754973b..a3952cc35f 100644 --- a/lib/libc/include/any-macos-any/sys/_types/_o_sync.h +++ b/lib/libc/include/any-macos-any/sys/_types/_o_sync.h @@ -27,4 +27,4 @@ */ #ifndef O_SYNC #define O_SYNC 0x0080 /* synch I/O file integrity */ -#endif /* O_SYNC */ \ No newline at end of file +#endif /* O_SYNC */ diff --git a/lib/libc/include/any-macos-any/sys/_types/_off_t.h b/lib/libc/include/any-macos-any/sys/_types/_off_t.h index 32c92d5803..bdc3d5e383 100644 --- a/lib/libc/include/any-macos-any/sys/_types/_off_t.h +++ b/lib/libc/include/any-macos-any/sys/_types/_off_t.h @@ -29,4 +29,4 @@ #define _OFF_T #include /* __darwin_off_t */ typedef __darwin_off_t off_t; -#endif /* _OFF_T */ \ No newline at end of file +#endif /* _OFF_T */ diff --git a/lib/libc/include/any-macos-any/sys/_types/_offsetof.h b/lib/libc/include/any-macos-any/sys/_types/_offsetof.h index 05c5381d1d..fa831a5110 100644 --- a/lib/libc/include/any-macos-any/sys/_types/_offsetof.h +++ b/lib/libc/include/any-macos-any/sys/_types/_offsetof.h @@ -27,4 +27,4 @@ */ #ifndef offsetof #define offsetof(type, field) __offsetof(type, field) -#endif /* offsetof */ \ No newline at end of file +#endif /* offsetof */ diff --git a/lib/libc/include/any-macos-any/sys/_types/_os_inline.h b/lib/libc/include/any-macos-any/sys/_types/_os_inline.h index 36c1c8f07b..fd68cff47a 100644 --- a/lib/libc/include/any-macos-any/sys/_types/_os_inline.h +++ b/lib/libc/include/any-macos-any/sys/_types/_os_inline.h @@ -31,4 +31,4 @@ # else # define OS_INLINE static __inline__ # endif -#endif /* OS_INLINE */ \ No newline at end of file +#endif /* OS_INLINE */ diff --git a/lib/libc/include/any-macos-any/sys/_types/_pid_t.h b/lib/libc/include/any-macos-any/sys/_types/_pid_t.h index ad6c990052..994f84e87d 100644 --- a/lib/libc/include/any-macos-any/sys/_types/_pid_t.h +++ b/lib/libc/include/any-macos-any/sys/_types/_pid_t.h @@ -29,4 +29,4 @@ #define _PID_T #include /* __darwin_pid_t */ typedef __darwin_pid_t pid_t; -#endif /* _PID_T */ \ No newline at end of file +#endif /* _PID_T */ diff --git a/lib/libc/include/any-macos-any/sys/_types/_posix_vdisable.h b/lib/libc/include/any-macos-any/sys/_types/_posix_vdisable.h index 6c663dd8f1..970f1b5d73 100644 --- a/lib/libc/include/any-macos-any/sys/_types/_posix_vdisable.h +++ b/lib/libc/include/any-macos-any/sys/_types/_posix_vdisable.h @@ -27,4 +27,4 @@ */ #ifndef _POSIX_VDISABLE #define _POSIX_VDISABLE ((unsigned char)'\377') -#endif /* POSIX_VDISABLE */ \ No newline at end of file +#endif /* POSIX_VDISABLE */ diff --git a/lib/libc/include/any-macos-any/sys/_types/_ptrdiff_t.h b/lib/libc/include/any-macos-any/sys/_types/_ptrdiff_t.h index 096dfd5cf1..31a065770f 100644 --- a/lib/libc/include/any-macos-any/sys/_types/_ptrdiff_t.h +++ b/lib/libc/include/any-macos-any/sys/_types/_ptrdiff_t.h @@ -30,4 +30,4 @@ #define _PTRDIFF_T #include /* __darwin_ptrdiff_t */ typedef __darwin_ptrdiff_t ptrdiff_t; -#endif /* _PTRDIFF_T */ \ No newline at end of file +#endif /* _PTRDIFF_T */ diff --git a/lib/libc/include/any-macos-any/sys/_types/_rsize_t.h b/lib/libc/include/any-macos-any/sys/_types/_rsize_t.h index 8bea5a8fe3..6aa2f6b320 100644 --- a/lib/libc/include/any-macos-any/sys/_types/_rsize_t.h +++ b/lib/libc/include/any-macos-any/sys/_types/_rsize_t.h @@ -29,4 +29,4 @@ #define _RSIZE_T #include /* __darwin_size_t */ typedef __darwin_size_t rsize_t; -#endif /* _RSIZE_T */ \ No newline at end of file +#endif /* _RSIZE_T */ diff --git a/lib/libc/include/any-macos-any/sys/_types/_rune_t.h b/lib/libc/include/any-macos-any/sys/_types/_rune_t.h index 713444c945..bd10ef1ba5 100644 --- a/lib/libc/include/any-macos-any/sys/_types/_rune_t.h +++ b/lib/libc/include/any-macos-any/sys/_types/_rune_t.h @@ -29,4 +29,4 @@ #define _RUNE_T #include /* __darwin_rune_t */ typedef __darwin_rune_t rune_t; -#endif /* _RUNE_T */ \ No newline at end of file +#endif /* _RUNE_T */ diff --git a/lib/libc/include/any-macos-any/sys/_types/_s_ifmt.h b/lib/libc/include/any-macos-any/sys/_types/_s_ifmt.h index 66f3f068f0..1139cb25b7 100644 --- a/lib/libc/include/any-macos-any/sys/_types/_s_ifmt.h +++ b/lib/libc/include/any-macos-any/sys/_types/_s_ifmt.h @@ -71,4 +71,4 @@ #define S_IWRITE S_IWUSR /* backward compatability */ #define S_IEXEC S_IXUSR /* backward compatability */ #endif -#endif /* !S_IFMT */ \ No newline at end of file +#endif /* !S_IFMT */ diff --git a/lib/libc/include/any-macos-any/sys/_types/_sa_family_t.h b/lib/libc/include/any-macos-any/sys/_types/_sa_family_t.h index d1f5aaf724..857cdd09c3 100644 --- a/lib/libc/include/any-macos-any/sys/_types/_sa_family_t.h +++ b/lib/libc/include/any-macos-any/sys/_types/_sa_family_t.h @@ -29,4 +29,4 @@ #define _SA_FAMILY_T #include /* __uint8_t */ typedef __uint8_t sa_family_t; -#endif /* _SA_FAMILY_T */ \ No newline at end of file +#endif /* _SA_FAMILY_T */ diff --git a/lib/libc/include/any-macos-any/sys/_types/_seek_set.h b/lib/libc/include/any-macos-any/sys/_types/_seek_set.h index 2ba1d6b0d1..ed94fd9170 100644 --- a/lib/libc/include/any-macos-any/sys/_types/_seek_set.h +++ b/lib/libc/include/any-macos-any/sys/_types/_seek_set.h @@ -26,6 +26,9 @@ * @APPLE_OSREFERENCE_LICENSE_HEADER_END@ */ +#ifndef _SEEK_SET_H_ +#define _SEEK_SET_H_ + #include /* whence values for lseek(2) */ @@ -43,4 +46,6 @@ #ifndef SEEK_DATA #define SEEK_DATA 4 /* set file offset to the start of the next non-hole file region greater than or equal to the supplied offset */ #endif -#endif /* __DARWIN_C_LEVEL >= __DARWIN_C_FULL */ \ No newline at end of file +#endif /* __DARWIN_C_LEVEL >= __DARWIN_C_FULL */ + +#endif /* _SEEK_SET_H_ */ diff --git a/lib/libc/include/any-macos-any/sys/_types/_sigaltstack.h b/lib/libc/include/any-macos-any/sys/_types/_sigaltstack.h index 1274acbe3a..8c34305842 100644 --- a/lib/libc/include/any-macos-any/sys/_types/_sigaltstack.h +++ b/lib/libc/include/any-macos-any/sys/_types/_sigaltstack.h @@ -47,4 +47,4 @@ _STRUCT_SIGALTSTACK }; typedef _STRUCT_SIGALTSTACK stack_t; /* [???] signal stack */ -#endif /* _STRUCT_SIGALTSTACK */ \ No newline at end of file +#endif /* _STRUCT_SIGALTSTACK */ diff --git a/lib/libc/include/any-macos-any/sys/_types/_sigset_t.h b/lib/libc/include/any-macos-any/sys/_types/_sigset_t.h index cdf1551b03..51844dddbb 100644 --- a/lib/libc/include/any-macos-any/sys/_types/_sigset_t.h +++ b/lib/libc/include/any-macos-any/sys/_types/_sigset_t.h @@ -29,4 +29,4 @@ #define _SIGSET_T #include /* __darwin_sigset_t */ typedef __darwin_sigset_t sigset_t; -#endif /* _SIGSET_T */ \ No newline at end of file +#endif /* _SIGSET_T */ diff --git a/lib/libc/include/any-macos-any/sys/_types/_size_t.h b/lib/libc/include/any-macos-any/sys/_types/_size_t.h index 8cd30fccd5..a14a8885fa 100644 --- a/lib/libc/include/any-macos-any/sys/_types/_size_t.h +++ b/lib/libc/include/any-macos-any/sys/_types/_size_t.h @@ -29,4 +29,4 @@ #define _SIZE_T #include /* __darwin_size_t */ typedef __darwin_size_t size_t; -#endif /* _SIZE_T */ \ No newline at end of file +#endif /* _SIZE_T */ diff --git a/lib/libc/include/any-macos-any/sys/_types/_socklen_t.h b/lib/libc/include/any-macos-any/sys/_types/_socklen_t.h index 221d68a6ed..a7b8431561 100644 --- a/lib/libc/include/any-macos-any/sys/_types/_socklen_t.h +++ b/lib/libc/include/any-macos-any/sys/_types/_socklen_t.h @@ -29,4 +29,4 @@ #define _SOCKLEN_T #include /* __darwin_socklen_t */ typedef __darwin_socklen_t socklen_t; -#endif \ No newline at end of file +#endif diff --git a/lib/libc/include/any-macos-any/sys/_types/_ssize_t.h b/lib/libc/include/any-macos-any/sys/_types/_ssize_t.h index 426361129a..056607814d 100644 --- a/lib/libc/include/any-macos-any/sys/_types/_ssize_t.h +++ b/lib/libc/include/any-macos-any/sys/_types/_ssize_t.h @@ -29,4 +29,4 @@ #define _SSIZE_T #include /* __darwin_ssize_t */ typedef __darwin_ssize_t ssize_t; -#endif /* _SSIZE_T */ \ No newline at end of file +#endif /* _SSIZE_T */ diff --git a/lib/libc/include/any-macos-any/sys/_types/_suseconds_t.h b/lib/libc/include/any-macos-any/sys/_types/_suseconds_t.h index 9e338c6c23..3980dfedf5 100644 --- a/lib/libc/include/any-macos-any/sys/_types/_suseconds_t.h +++ b/lib/libc/include/any-macos-any/sys/_types/_suseconds_t.h @@ -29,4 +29,4 @@ #define _SUSECONDS_T #include /* __darwin_suseconds_t */ typedef __darwin_suseconds_t suseconds_t; -#endif /* _SUSECONDS_T */ \ No newline at end of file +#endif /* _SUSECONDS_T */ diff --git a/lib/libc/include/any-macos-any/sys/_types/_time_t.h b/lib/libc/include/any-macos-any/sys/_types/_time_t.h index 29546387f0..2a91ef225a 100644 --- a/lib/libc/include/any-macos-any/sys/_types/_time_t.h +++ b/lib/libc/include/any-macos-any/sys/_types/_time_t.h @@ -29,4 +29,4 @@ #define _TIME_T #include /* __darwin_time_t */ typedef __darwin_time_t time_t; -#endif /* _TIME_T */ \ No newline at end of file +#endif /* _TIME_T */ diff --git a/lib/libc/include/any-macos-any/sys/_types/_timespec.h b/lib/libc/include/any-macos-any/sys/_types/_timespec.h index 7a34f30c98..82cc723ec6 100644 --- a/lib/libc/include/any-macos-any/sys/_types/_timespec.h +++ b/lib/libc/include/any-macos-any/sys/_types/_timespec.h @@ -35,4 +35,4 @@ _STRUCT_TIMESPEC __darwin_time_t tv_sec; long tv_nsec; }; -#endif /* _STRUCT_TIMESPEC */ \ No newline at end of file +#endif /* _STRUCT_TIMESPEC */ diff --git a/lib/libc/include/any-macos-any/sys/_types/_timeval.h b/lib/libc/include/any-macos-any/sys/_types/_timeval.h index 653ea0e6b2..1b9a000a6b 100644 --- a/lib/libc/include/any-macos-any/sys/_types/_timeval.h +++ b/lib/libc/include/any-macos-any/sys/_types/_timeval.h @@ -36,4 +36,4 @@ _STRUCT_TIMEVAL __darwin_time_t tv_sec; /* seconds */ __darwin_suseconds_t tv_usec; /* and microseconds */ }; -#endif /* _STRUCT_TIMEVAL */ \ No newline at end of file +#endif /* _STRUCT_TIMEVAL */ diff --git a/lib/libc/include/any-macos-any/sys/_types/_timeval32.h b/lib/libc/include/any-macos-any/sys/_types/_timeval32.h index 411f4aa3fe..71518173a3 100644 --- a/lib/libc/include/any-macos-any/sys/_types/_timeval32.h +++ b/lib/libc/include/any-macos-any/sys/_types/_timeval32.h @@ -35,4 +35,4 @@ _STRUCT_TIMEVAL32 __int32_t tv_sec; /* seconds */ __int32_t tv_usec; /* and microseconds */ }; -#endif /* _STRUCT_TIMEVAL32 */ \ No newline at end of file +#endif /* _STRUCT_TIMEVAL32 */ diff --git a/lib/libc/include/any-macos-any/sys/_types/_timeval64.h b/lib/libc/include/any-macos-any/sys/_types/_timeval64.h index ed1959359e..2eb3c434fb 100644 --- a/lib/libc/include/any-macos-any/sys/_types/_timeval64.h +++ b/lib/libc/include/any-macos-any/sys/_types/_timeval64.h @@ -35,4 +35,4 @@ struct timeval64 { __int64_t tv_sec; /* seconds */ __int64_t tv_usec; /* and microseconds */ }; -#endif /* _STRUCT_TIMEVAL32 */ \ No newline at end of file +#endif /* _STRUCT_TIMEVAL32 */ diff --git a/lib/libc/include/any-macos-any/sys/_types/_u_char.h b/lib/libc/include/any-macos-any/sys/_types/_u_char.h index fa1d9d9543..b6add3feb3 100644 --- a/lib/libc/include/any-macos-any/sys/_types/_u_char.h +++ b/lib/libc/include/any-macos-any/sys/_types/_u_char.h @@ -28,4 +28,4 @@ #ifndef _U_CHAR #define _U_CHAR typedef unsigned char u_char; -#endif /* _U_CHAR */ \ No newline at end of file +#endif /* _U_CHAR */ diff --git a/lib/libc/include/any-macos-any/sys/_types/_u_int.h b/lib/libc/include/any-macos-any/sys/_types/_u_int.h index df928def41..161b3baf14 100644 --- a/lib/libc/include/any-macos-any/sys/_types/_u_int.h +++ b/lib/libc/include/any-macos-any/sys/_types/_u_int.h @@ -28,4 +28,4 @@ #ifndef _U_INT #define _U_INT typedef unsigned int u_int; -#endif /* _U_INT */ \ No newline at end of file +#endif /* _U_INT */ diff --git a/lib/libc/include/any-macos-any/sys/_types/_u_int16_t.h b/lib/libc/include/any-macos-any/sys/_types/_u_int16_t.h index 9726b93934..5a01fc450b 100644 --- a/lib/libc/include/any-macos-any/sys/_types/_u_int16_t.h +++ b/lib/libc/include/any-macos-any/sys/_types/_u_int16_t.h @@ -28,4 +28,4 @@ #ifndef _U_INT16_T #define _U_INT16_T typedef unsigned short u_int16_t; -#endif /* _U_INT16_T */ \ No newline at end of file +#endif /* _U_INT16_T */ diff --git a/lib/libc/include/any-macos-any/sys/_types/_u_int32_t.h b/lib/libc/include/any-macos-any/sys/_types/_u_int32_t.h index 2361ef622f..4f01b22bd2 100644 --- a/lib/libc/include/any-macos-any/sys/_types/_u_int32_t.h +++ b/lib/libc/include/any-macos-any/sys/_types/_u_int32_t.h @@ -28,4 +28,4 @@ #ifndef _U_INT32_T #define _U_INT32_T typedef unsigned int u_int32_t; -#endif /* _U_INT32_T */ \ No newline at end of file +#endif /* _U_INT32_T */ diff --git a/lib/libc/include/any-macos-any/sys/_types/_u_int64_t.h b/lib/libc/include/any-macos-any/sys/_types/_u_int64_t.h index af2d9f4537..bd866cbc2a 100644 --- a/lib/libc/include/any-macos-any/sys/_types/_u_int64_t.h +++ b/lib/libc/include/any-macos-any/sys/_types/_u_int64_t.h @@ -28,4 +28,4 @@ #ifndef _U_INT64_T #define _U_INT64_T typedef unsigned long long u_int64_t; -#endif /* _U_INT64_T */ \ No newline at end of file +#endif /* _U_INT64_T */ diff --git a/lib/libc/include/any-macos-any/sys/_types/_u_int8_t.h b/lib/libc/include/any-macos-any/sys/_types/_u_int8_t.h index bd1539c862..ac9bf77111 100644 --- a/lib/libc/include/any-macos-any/sys/_types/_u_int8_t.h +++ b/lib/libc/include/any-macos-any/sys/_types/_u_int8_t.h @@ -28,4 +28,4 @@ #ifndef _U_INT8_T #define _U_INT8_T typedef unsigned char u_int8_t; -#endif /* _U_INT8_T */ \ No newline at end of file +#endif /* _U_INT8_T */ diff --git a/lib/libc/include/any-macos-any/sys/_types/_u_short.h b/lib/libc/include/any-macos-any/sys/_types/_u_short.h index b693b30028..58816d3576 100644 --- a/lib/libc/include/any-macos-any/sys/_types/_u_short.h +++ b/lib/libc/include/any-macos-any/sys/_types/_u_short.h @@ -28,4 +28,4 @@ #ifndef _U_SHORT #define _U_SHORT typedef unsigned short u_short; -#endif /* _U_SHORT */ \ No newline at end of file +#endif /* _U_SHORT */ diff --git a/lib/libc/include/any-macos-any/sys/_types/_ucontext.h b/lib/libc/include/any-macos-any/sys/_types/_ucontext.h index de3132a861..2360422938 100644 --- a/lib/libc/include/any-macos-any/sys/_types/_ucontext.h +++ b/lib/libc/include/any-macos-any/sys/_types/_ucontext.h @@ -56,4 +56,4 @@ _STRUCT_UCONTEXT /* user context */ typedef _STRUCT_UCONTEXT ucontext_t; /* [???] user context */ -#endif /* _STRUCT_UCONTEXT */ \ No newline at end of file +#endif /* _STRUCT_UCONTEXT */ diff --git a/lib/libc/include/any-macos-any/sys/_types/_uid_t.h b/lib/libc/include/any-macos-any/sys/_types/_uid_t.h index 2b8aaea3a8..a9769db30d 100644 --- a/lib/libc/include/any-macos-any/sys/_types/_uid_t.h +++ b/lib/libc/include/any-macos-any/sys/_types/_uid_t.h @@ -29,4 +29,4 @@ #define _UID_T #include /* __darwin_uid_t */ typedef __darwin_uid_t uid_t; -#endif /* _UID_T */ \ No newline at end of file +#endif /* _UID_T */ diff --git a/lib/libc/include/any-macos-any/sys/_types/_uintptr_t.h b/lib/libc/include/any-macos-any/sys/_types/_uintptr_t.h index 5027355756..9e443248c8 100644 --- a/lib/libc/include/any-macos-any/sys/_types/_uintptr_t.h +++ b/lib/libc/include/any-macos-any/sys/_types/_uintptr_t.h @@ -34,4 +34,4 @@ typedef unsigned long uintptr_t; typedef unsigned long uintptr_t; #endif /* __has_attribute */ -#endif /* _UINTPTR_T */ \ No newline at end of file +#endif /* _UINTPTR_T */ diff --git a/lib/libc/include/any-macos-any/sys/_types/_useconds_t.h b/lib/libc/include/any-macos-any/sys/_types/_useconds_t.h index aad70c2fc2..1b020a3bd2 100644 --- a/lib/libc/include/any-macos-any/sys/_types/_useconds_t.h +++ b/lib/libc/include/any-macos-any/sys/_types/_useconds_t.h @@ -29,4 +29,4 @@ #define _USECONDS_T #include /* __darwin_useconds_t */ typedef __darwin_useconds_t useconds_t; -#endif /* _USECONDS_T */ \ No newline at end of file +#endif /* _USECONDS_T */ diff --git a/lib/libc/include/any-macos-any/sys/_types/_uuid_t.h b/lib/libc/include/any-macos-any/sys/_types/_uuid_t.h index 20acb344b8..66e7da7949 100644 --- a/lib/libc/include/any-macos-any/sys/_types/_uuid_t.h +++ b/lib/libc/include/any-macos-any/sys/_types/_uuid_t.h @@ -29,4 +29,4 @@ #define _UUID_T #include /* __darwin_uuid_t */ typedef __darwin_uuid_t uuid_t; -#endif /* _UUID_T */ \ No newline at end of file +#endif /* _UUID_T */ diff --git a/lib/libc/include/any-macos-any/sys/_types/_va_list.h b/lib/libc/include/any-macos-any/sys/_types/_va_list.h index 2525aaa658..f7687baea9 100644 --- a/lib/libc/include/any-macos-any/sys/_types/_va_list.h +++ b/lib/libc/include/any-macos-any/sys/_types/_va_list.h @@ -30,4 +30,4 @@ #define _VA_LIST_T #include /* __darwin_va_list */ typedef __darwin_va_list va_list; -#endif /* _VA_LIST_T */ \ No newline at end of file +#endif /* _VA_LIST_T */ diff --git a/lib/libc/include/aarch64-macos.11-none/mach/arm/rpc.h b/lib/libc/include/any-macos-any/sys/_types/_vnode_t.h similarity index 88% rename from lib/libc/include/aarch64-macos.11-none/mach/arm/rpc.h rename to lib/libc/include/any-macos-any/sys/_types/_vnode_t.h index 3543cdf1ad..9a01047d99 100644 --- a/lib/libc/include/aarch64-macos.11-none/mach/arm/rpc.h +++ b/lib/libc/include/any-macos-any/sys/_types/_vnode_t.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000-2007 Apple Inc. All rights reserved. + * Copyright (c) 2022 Apple Inc. All rights reserved. * * @APPLE_OSREFERENCE_LICENSE_HEADER_START@ * @@ -25,11 +25,10 @@ * * @APPLE_OSREFERENCE_LICENSE_HEADER_END@ */ -/* - * @OSF_COPYRIGHT@ - */ +#ifndef _VNODE_T +#define _VNODE_T -#ifndef _MACH_ARM_RPC_H_ -#define _MACH_ARM_RPC_H_ +struct vnode; +typedef struct vnode * vnode_t; -#endif /* _MACH_ARM_RPC_H_ */ \ No newline at end of file +#endif /* _VNODE_T */ diff --git a/lib/libc/include/any-macos-any/sys/_types/_wchar_t.h b/lib/libc/include/any-macos-any/sys/_types/_wchar_t.h index 6b36b33af8..d67cfcdd23 100644 --- a/lib/libc/include/any-macos-any/sys/_types/_wchar_t.h +++ b/lib/libc/include/any-macos-any/sys/_types/_wchar_t.h @@ -33,4 +33,4 @@ #include /* __darwin_wchar_t */ typedef __darwin_wchar_t wchar_t; #endif /* _WCHAR_T */ -#endif /* __cplusplus */ \ No newline at end of file +#endif /* __cplusplus */ diff --git a/lib/libc/include/any-macos-any/sys/_types/_wint_t.h b/lib/libc/include/any-macos-any/sys/_types/_wint_t.h index f2eea76671..caad07fdb0 100644 --- a/lib/libc/include/any-macos-any/sys/_types/_wint_t.h +++ b/lib/libc/include/any-macos-any/sys/_types/_wint_t.h @@ -30,4 +30,4 @@ #define _WINT_T #include /* __darwin_wint_t */ typedef __darwin_wint_t wint_t; -#endif /* _WINT_T */ \ No newline at end of file +#endif /* _WINT_T */ diff --git a/lib/libc/include/any-macos-any/sys/acl.h b/lib/libc/include/any-macos-any/sys/acl.h index f2a5385714..fce4eafd0a 100644 --- a/lib/libc/include/any-macos-any/sys/acl.h +++ b/lib/libc/include/any-macos-any/sys/acl.h @@ -209,4 +209,4 @@ extern ssize_t acl_size(acl_t acl); extern char *acl_to_text(acl_t acl, ssize_t *len_p); __END_DECLS -#endif /* _SYS_ACL_H */ \ No newline at end of file +#endif /* _SYS_ACL_H */ diff --git a/lib/libc/include/any-macos-any/sys/aio.h b/lib/libc/include/any-macos-any/sys/aio.h index 8653b43fe7..6f8f36d7a7 100644 --- a/lib/libc/include/any-macos-any/sys/aio.h +++ b/lib/libc/include/any-macos-any/sys/aio.h @@ -245,4 +245,4 @@ int lio_listio( int mode, struct sigevent *sigp ); __END_DECLS -#endif /* _SYS_AIO_H_ */ \ No newline at end of file +#endif /* _SYS_AIO_H_ */ diff --git a/lib/libc/include/any-macos-any/sys/appleapiopts.h b/lib/libc/include/any-macos-any/sys/appleapiopts.h index a773c93b54..92e9fd6919 100644 --- a/lib/libc/include/any-macos-any/sys/appleapiopts.h +++ b/lib/libc/include/any-macos-any/sys/appleapiopts.h @@ -58,4 +58,4 @@ #endif /* __APPLE_API_STRICT_CONFORMANCE */ -#endif /* __SYS_APPLEAPIOPTS_H__ */ \ No newline at end of file +#endif /* __SYS_APPLEAPIOPTS_H__ */ diff --git a/lib/libc/include/any-macos.13-any/sys/attr.h b/lib/libc/include/any-macos-any/sys/attr.h similarity index 98% rename from lib/libc/include/any-macos.13-any/sys/attr.h rename to lib/libc/include/any-macos-any/sys/attr.h index 07edaeea34..af8fff6bf5 100644 --- a/lib/libc/include/any-macos.13-any/sys/attr.h +++ b/lib/libc/include/any-macos-any/sys/attr.h @@ -346,6 +346,9 @@ typedef struct vol_capabilities_attr { * * VOL_CAP_INT_RENAME_OPENFAIL: When set, the volume may fail rename * operations on files that are open. + * + * VOL_CAP_INT_RENAME_SECLUDE: When set, the volume supports a + * seclude rename operation. */ #define VOL_CAP_INT_SEARCHFS 0x00000001 #define VOL_CAP_INT_ATTRLIST 0x00000002 @@ -367,6 +370,7 @@ typedef struct vol_capabilities_attr { #define VOL_CAP_INT_RENAME_SWAP 0x00040000 #define VOL_CAP_INT_RENAME_EXCL 0x00080000 #define VOL_CAP_INT_RENAME_OPENFAIL 0x00100000 +#define VOL_CAP_INT_RENAME_SECLUDE 0x00200000 typedef struct vol_attributes_attr { attribute_set_t validattr; @@ -530,8 +534,10 @@ typedef struct vol_attributes_attr { #define ATTR_CMNEXT_CLONEID 0x00000100 #define ATTR_CMNEXT_EXT_FLAGS 0x00000200 #define ATTR_CMNEXT_RECURSIVE_GENCOUNT 0x00000400 +#define ATTR_CMNEXT_ATTRIBUTION_TAG 0x00000800 +#define ATTR_CMNEXT_CLONE_REFCNT 0x00001000 -#define ATTR_CMNEXT_VALIDMASK 0x000007fc +#define ATTR_CMNEXT_VALIDMASK 0x00001ffc #define ATTR_CMNEXT_SETMASK 0x00000000 /* Deprecated fork attributes */ @@ -591,4 +597,4 @@ struct searchstate { #define FST_EOF (-1) /* end-of-file offset */ #endif /* __APPLE_API_UNSTABLE */ -#endif /* !_SYS_ATTR_H_ */ \ No newline at end of file +#endif /* !_SYS_ATTR_H_ */ diff --git a/lib/libc/include/any-macos.13-any/sys/cdefs.h b/lib/libc/include/any-macos-any/sys/cdefs.h similarity index 99% rename from lib/libc/include/any-macos.13-any/sys/cdefs.h rename to lib/libc/include/any-macos-any/sys/cdefs.h index 40afbe5424..4abb3b91cc 100644 --- a/lib/libc/include/any-macos.13-any/sys/cdefs.h +++ b/lib/libc/include/any-macos-any/sys/cdefs.h @@ -445,6 +445,18 @@ #define __DEQUALIFY(type, var) __CAST_AWAY_QUALIFIER(var, const volatile, type) #endif +/* + * __alloc_align can be used to label function arguments that represent the + * alignment of the returned pointer. + */ +#ifndef __alloc_align +#if __has_attribute(alloc_align) +#define __alloc_align(n) __attribute__((alloc_align(n))) +#else +#define __alloc_align(n) +#endif +#endif // __alloc_align + /* * __alloc_size can be used to label function arguments that represent the * size of memory that the function allocates and returns. The one-argument @@ -966,4 +978,4 @@ -#endif /* !_CDEFS_H_ */ \ No newline at end of file +#endif /* !_CDEFS_H_ */ diff --git a/lib/libc/include/any-macos-any/sys/clonefile.h b/lib/libc/include/any-macos-any/sys/clonefile.h index 791e057913..bba879a23f 100644 --- a/lib/libc/include/any-macos-any/sys/clonefile.h +++ b/lib/libc/include/any-macos-any/sys/clonefile.h @@ -32,6 +32,7 @@ /* Options for clonefile calls */ #define CLONE_NOFOLLOW 0x0001 /* Don't follow symbolic links */ #define CLONE_NOOWNERCOPY 0x0002 /* Don't copy ownership information from source */ +#define CLONE_ACL 0x0004 /* Copy access control lists from source */ #include @@ -50,4 +51,4 @@ int clonefile(const char *, const char *, uint32_t) __OSX_AVAILABLE(10.12) __IOS __END_DECLS -#endif /* _SYS_CLONEFILE_H_ */ \ No newline at end of file +#endif /* _SYS_CLONEFILE_H_ */ diff --git a/lib/libc/include/any-macos.13-any/sys/constrained_ctypes.h b/lib/libc/include/any-macos-any/sys/constrained_ctypes.h similarity index 99% rename from lib/libc/include/any-macos.13-any/sys/constrained_ctypes.h rename to lib/libc/include/any-macos-any/sys/constrained_ctypes.h index 2d65fd2dec..496e7bb2f4 100644 --- a/lib/libc/include/any-macos.13-any/sys/constrained_ctypes.h +++ b/lib/libc/include/any-macos-any/sys/constrained_ctypes.h @@ -634,4 +634,4 @@ typedef basetype * __CCT_CONTRACT_TO_ATTR(kind1) #endif /* defined(__clang__) */ #endif /* !defined(__CCT_ENABLE_USER_SPACE) */ -#endif /* __CONSTRAINED_CTYPES__ */ \ No newline at end of file +#endif /* __CONSTRAINED_CTYPES__ */ diff --git a/lib/libc/include/any-macos-any/sys/dirent.h b/lib/libc/include/any-macos-any/sys/dirent.h index f7992e3714..9a107a016c 100644 --- a/lib/libc/include/any-macos-any/sys/dirent.h +++ b/lib/libc/include/any-macos-any/sys/dirent.h @@ -138,4 +138,4 @@ struct dirent __DARWIN_STRUCT_DIRENTRY; #endif -#endif /* _SYS_DIRENT_H */ \ No newline at end of file +#endif /* _SYS_DIRENT_H */ diff --git a/lib/libc/include/any-macos-any/sys/errno.h b/lib/libc/include/any-macos-any/sys/errno.h index 7dc6a481dd..0360a496f0 100644 --- a/lib/libc/include/any-macos-any/sys/errno.h +++ b/lib/libc/include/any-macos-any/sys/errno.h @@ -263,4 +263,4 @@ __END_DECLS #define ELAST 106 /* Must be equal largest errno */ #endif -#endif /* _SYS_ERRNO_H_ */ \ No newline at end of file +#endif /* _SYS_ERRNO_H_ */ diff --git a/lib/libc/include/any-macos.13-any/sys/event.h b/lib/libc/include/any-macos-any/sys/event.h similarity index 99% rename from lib/libc/include/any-macos.13-any/sys/event.h rename to lib/libc/include/any-macos-any/sys/event.h index d56e6dfaf0..ac5cd5fa67 100644 --- a/lib/libc/include/any-macos.13-any/sys/event.h +++ b/lib/libc/include/any-macos-any/sys/event.h @@ -92,7 +92,6 @@ struct kevent { void *udata; /* opaque user data identifier */ }; - #pragma pack() struct kevent64_s { @@ -105,7 +104,6 @@ struct kevent64_s { uint64_t ext[2]; /* filter-specific extensions */ }; - #define EV_SET(kevp, a, b, c, d, e, f) do { \ struct kevent *__kevp__ = (kevp); \ __kevp__->ident = (a); \ @@ -134,7 +132,6 @@ struct kevent64_s { #define KEVENT_FLAG_IMMEDIATE 0x000001 /* immediate timeout */ #define KEVENT_FLAG_ERROR_EVENTS 0x000002 /* output events only include change errors */ - /* actions */ #define EV_ADD 0x0001 /* add event to kq (implies enable) */ #define EV_DELETE 0x0002 /* delete event from kq */ @@ -220,7 +217,6 @@ struct kevent64_s { #define NOTE_FFCTRLMASK 0xc0000000 /* mask for operations */ #define NOTE_FFLAGSMASK 0x00ffffff - /* * data/hint fflags for EVFILT_{READ|WRITE}, shared with userspace * @@ -288,7 +284,6 @@ enum { #define NOTE_EXIT_MEMORY 0x00020000 #define NOTE_EXIT_CSERROR 0x00040000 - /* * data/hint fflags for EVFILT_VM, shared with userspace. */ @@ -297,7 +292,6 @@ enum { #define NOTE_VM_PRESSURE_SUDDEN_TERMINATE 0x20000000 /* will quit immediately on memory pressure */ #define NOTE_VM_ERROR 0x10000000 /* there was an error */ - /* * data/hint fflags for EVFILT_TIMER, shared with userspace. * The default is a (repeating) interval timer with the data @@ -324,7 +318,6 @@ enum { #define NOTE_MACHTIME 0x00000100 /* data is mach absolute time units */ /* timeout uses the mach absolute time epoch */ - /* * data/hint fflags for EVFILT_MACHPORT, shared with userspace. * @@ -368,12 +361,10 @@ enum { #define NOTE_CHILD 0x00000004 /* am a child process */ - -/* Temporay solution for BootX to use inode.h till kqueue moves to vfs layer */ +/* Temporary solution for BootX to use inode.h till kqueue moves to vfs layer */ struct knote; SLIST_HEAD(klist, knote); - struct timespec; __BEGIN_DECLS @@ -388,10 +379,9 @@ int kevent64(int kq, unsigned int flags, const struct timespec *timeout); - __END_DECLS -#endif /* !_SYS_EVENT_H_ */ \ No newline at end of file +#endif /* !_SYS_EVENT_H_ */ diff --git a/lib/libc/include/any-macos.13-any/sys/fcntl.h b/lib/libc/include/any-macos-any/sys/fcntl.h similarity index 95% rename from lib/libc/include/any-macos.13-any/sys/fcntl.h rename to lib/libc/include/any-macos-any/sys/fcntl.h index 5f7d0d6524..20c29ce678 100644 --- a/lib/libc/include/any-macos.13-any/sys/fcntl.h +++ b/lib/libc/include/any-macos-any/sys/fcntl.h @@ -304,6 +304,14 @@ #define F_BARRIERFSYNC 85 /* fsync + issue barrier to drive */ +#if __DARWIN_C_LEVEL >= __DARWIN_C_FULL +#define F_OFD_SETLK 90 /* Acquire or release open file description lock */ +#define F_OFD_SETLKW 91 /* (as F_OFD_SETLK but blocking if conflicting lock) */ +#define F_OFD_GETLK 92 /* Examine OFD lock */ + +#define F_OFD_SETLKWTIMEOUT 93 /* (as F_OFD_SETLKW but return if timeout) */ +#endif + #define F_ADDFILESIGS_RETURN 97 /* Add signature from same file, return end offset in structure on success */ #define F_CHECK_LV 98 /* Check if Library Validation allows this Mach-O file to be mapped into the calling process */ @@ -312,9 +320,9 @@ #define F_TRIM_ACTIVE_FILE 100 /* Trim an active file */ -#define F_SPECULATIVE_READ 101 /* Synchronous advisory read fcntl for regular and compressed file */ +#define F_SPECULATIVE_READ 101 /* Asynchronous advisory read fcntl for regular and compressed file */ -#define F_GETPATH_NOFIRMLINK 102 /* return the full path without firmlinks of the fd */ +#define F_GETPATH_NOFIRMLINK 102 /* return the full path without firmlinks of the fd */ #define F_ADDFILESIGS_INFO 103 /* Add signature from same file, return information */ #define F_ADDFILESUPPL 104 /* Add supplemental signature from same file with fd reference to original */ @@ -328,6 +336,8 @@ #define F_TRANSFEREXTENTS 110 /* Transfer allocated extents beyond leof to a different file */ +#define F_ATTRIBUTION_TAG 111 /* Based on flags, query/set/delete a file's attribution tag */ + // FS-specific fcntl()'s numbers begin at 0x00010000 and go up #define FCNTL_FS_SPECIFIC_BASE 0x00010000 @@ -508,6 +518,19 @@ typedef struct fspecread { } fspecread_t; +/* fattributiontag_t used by F_ATTRIBUTION_TAG */ +#define ATTRIBUTION_NAME_MAX 255 +typedef struct fattributiontag { + unsigned int ft_flags; /* IN: flags word */ + unsigned long long ft_hash; /* OUT: hash of attribution tag name */ + char ft_attribution_name[ATTRIBUTION_NAME_MAX]; /* IN/OUT: attribution tag name associated with the file */ +} fattributiontag_t; + +/* ft_flags (F_ATTRIBUTION_TAG)*/ +#define F_CREATE_TAG 0x00000001 +#define F_DELETE_TAG 0x00000002 +#define F_QUERY_TAG 0x00000004 + /* * For F_LOG2PHYS this information is passed back to user * Currently only devoffset is returned - that is the VOP_BMAP @@ -601,4 +624,4 @@ int filesec_unset_property(filesec_t, filesec_property_t) __OSX_AVAILABLE_ST #endif /* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */ __END_DECLS -#endif /* !_SYS_FCNTL_H_ */ \ No newline at end of file +#endif /* !_SYS_FCNTL_H_ */ diff --git a/lib/libc/include/any-macos-any/sys/file.h b/lib/libc/include/any-macos-any/sys/file.h index 7187715558..b24ec6a292 100644 --- a/lib/libc/include/any-macos-any/sys/file.h +++ b/lib/libc/include/any-macos-any/sys/file.h @@ -83,4 +83,4 @@ typedef struct posix_cred *posix_cred_t; __BEGIN_DECLS __END_DECLS -#endif /* !_SYS_FILE_H_ */ \ No newline at end of file +#endif /* !_SYS_FILE_H_ */ diff --git a/lib/libc/include/any-macos-any/sys/filio.h b/lib/libc/include/any-macos-any/sys/filio.h index 60ec8185f6..6d8d1599d6 100644 --- a/lib/libc/include/any-macos-any/sys/filio.h +++ b/lib/libc/include/any-macos-any/sys/filio.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000 Apple Computer, Inc. All rights reserved. + * Copyright (c) 2000-2023 Apple Computer, Inc. All rights reserved. * * @APPLE_OSREFERENCE_LICENSE_HEADER_START@ * @@ -82,4 +82,4 @@ #define FIODTYPE _IOR('f', 122, int) /* get d_type */ -#endif /* !_SYS_FILIO_H_ */ \ No newline at end of file +#endif /* !_SYS_FILIO_H_ */ diff --git a/lib/libc/include/any-macos-any/sys/ioccom.h b/lib/libc/include/any-macos-any/sys/ioccom.h index d4be2e433e..f9d23260e3 100644 --- a/lib/libc/include/any-macos-any/sys/ioccom.h +++ b/lib/libc/include/any-macos-any/sys/ioccom.h @@ -96,4 +96,4 @@ /* this should be _IORW, but stdio got there first */ #define _IOWR(g, n, t) _IOC(IOC_INOUT, (g), (n), sizeof(t)) -#endif /* !_SYS_IOCCOM_H_ */ \ No newline at end of file +#endif /* !_SYS_IOCCOM_H_ */ diff --git a/lib/libc/include/any-macos-any/sys/ioctl.h b/lib/libc/include/any-macos-any/sys/ioctl.h index 397bdb75f3..7061276f2d 100644 --- a/lib/libc/include/any-macos-any/sys/ioctl.h +++ b/lib/libc/include/any-macos-any/sys/ioctl.h @@ -107,4 +107,4 @@ __END_DECLS */ #if defined(USE_OLD_TTY) || defined(BSD_KERNEL_PRIVATE) #include -#endif /* defined(USE_OLD_TTY) || defined(BSD_KERNEL_PRIVATE) */ \ No newline at end of file +#endif /* defined(USE_OLD_TTY) || defined(BSD_KERNEL_PRIVATE) */ diff --git a/lib/libc/include/any-macos-any/sys/ipc.h b/lib/libc/include/any-macos-any/sys/ipc.h index 86b665e04f..b2ce992a7c 100644 --- a/lib/libc/include/any-macos-any/sys/ipc.h +++ b/lib/libc/include/any-macos-any/sys/ipc.h @@ -173,4 +173,4 @@ key_t ftok(const char *, int); __END_DECLS -#endif /* !_SYS_IPC_H_ */ \ No newline at end of file +#endif /* !_SYS_IPC_H_ */ diff --git a/lib/libc/include/any-macos-any/sys/kauth.h b/lib/libc/include/any-macos-any/sys/kauth.h index 8742c60439..2278026dfb 100644 --- a/lib/libc/include/any-macos-any/sys/kauth.h +++ b/lib/libc/include/any-macos-any/sys/kauth.h @@ -42,8 +42,11 @@ #include /* __offsetof() */ #include /* uid_t */ #include /* gid_t */ +#include #include /* NGROUPS_MAX */ +__BEGIN_DECLS + #ifdef __APPLE_API_EVOLVING /* @@ -53,8 +56,6 @@ #define KAUTH_UID_NONE (~(uid_t)0 - 100) /* not a valid UID */ #define KAUTH_GID_NONE (~(gid_t)0 - 100) /* not a valid GID */ -#include - /* NT Security Identifier, structure as defined by Microsoft */ #pragma pack(1) /* push packing of 1 byte */ typedef struct { @@ -143,12 +144,9 @@ struct kauth_cache_sizes { #define IDENTITYSVC_ENTITLEMENT "com.apple.private.identitysvc" - - -/* - * Generic Access Control Lists. - */ #if defined(KERNEL) || defined (_SYS_ACL_H) +#pragma mark - kauth +#pragma mark kauth: Generic Access Control Lists. typedef u_int32_t kauth_ace_rights_t; @@ -281,8 +279,6 @@ typedef struct kauth_filesec *kauth_filesec_t; #endif /* KERNEL || */ - - /* Actions, also rights bits in an ACE */ #if defined(KERNEL) || defined (_SYS_ACL_H) @@ -407,4 +403,7 @@ typedef struct kauth_filesec *kauth_filesec_t; #endif /* __APPLE_API_EVOLVING */ -#endif /* _SYS_KAUTH_H */ \ No newline at end of file + +__END_DECLS + +#endif /* _SYS_KAUTH_H */ diff --git a/lib/libc/include/any-macos-any/sys/kern_control.h b/lib/libc/include/any-macos-any/sys/kern_control.h index a9cc866d88..5dde92543a 100644 --- a/lib/libc/include/any-macos-any/sys/kern_control.h +++ b/lib/libc/include/any-macos-any/sys/kern_control.h @@ -39,6 +39,7 @@ #include #include #include +#include /* * Define Controller event subclass, and associated events. @@ -148,4 +149,4 @@ struct sockaddr_ctl { -#endif /* KPI_KERN_CONTROL_H */ \ No newline at end of file +#endif /* KPI_KERN_CONTROL_H */ diff --git a/lib/libc/include/any-macos-any/sys/lock.h b/lib/libc/include/any-macos-any/sys/lock.h index 90c963a9e7..cafc4e04d8 100644 --- a/lib/libc/include/any-macos-any/sys/lock.h +++ b/lib/libc/include/any-macos-any/sys/lock.h @@ -73,4 +73,4 @@ #include -#endif /* _SYS_LOCK_H_ */ \ No newline at end of file +#endif /* _SYS_LOCK_H_ */ diff --git a/lib/libc/include/any-macos-any/sys/mman.h b/lib/libc/include/any-macos-any/sys/mman.h index b254715ad3..ba62046367 100644 --- a/lib/libc/include/any-macos-any/sys/mman.h +++ b/lib/libc/include/any-macos-any/sys/mman.h @@ -161,6 +161,8 @@ #define MAP_UNIX03 0x40000 /* UNIX03 compliance */ +#define MAP_TPRO 0x80000 /* Allocate a region that will be protected by TPRO */ + #endif /* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */ /* @@ -260,4 +262,4 @@ int minherit(void *, size_t, int); __END_DECLS -#endif /* !_SYS_MMAN_H_ */ \ No newline at end of file +#endif /* !_SYS_MMAN_H_ */ diff --git a/lib/libc/include/any-macos.13-any/sys/mount.h b/lib/libc/include/any-macos-any/sys/mount.h similarity index 96% rename from lib/libc/include/any-macos.13-any/sys/mount.h rename to lib/libc/include/any-macos-any/sys/mount.h index ed19e82456..47488a9aee 100644 --- a/lib/libc/include/any-macos.13-any/sys/mount.h +++ b/lib/libc/include/any-macos-any/sys/mount.h @@ -83,6 +83,8 @@ #include /* file system id type */ #include +#include +#include /* * file system statistics @@ -98,6 +100,7 @@ #endif /* __DARWIN_64_BIT_INO_T */ #define MNT_EXT_ROOT_DATA_VOL 0x00000001 /* Data volume of root volume group */ +#define MNT_EXT_FSKIT 0x00000002 /* this is an FSKit mount */ #define __DARWIN_STRUCT_STATFS64 { \ uint32_t f_bsize; /* fundamental file system block size */ \ @@ -292,13 +295,6 @@ struct vfsstatfs { #define MNT_DWAIT 4 /* synchronized I/O data integrity completion */ -#if !defined(KERNEL) && !defined(_KERN_SYS_KERNELTYPES_H_) /* also defined in kernel_types.h */ -struct mount; -typedef struct mount * mount_t; -struct vnode; -typedef struct vnode * vnode_t; -#endif - /* Reserved fields preserve binary compatibility */ struct vfsconf { uint32_t vfc_reserved1; /* opaque */ @@ -410,21 +406,29 @@ typedef struct fhandle fhandle_t; * cryptexes and cryptex_auth_type is currently used for authentication while mounting generic * cryptexes. We need to make sure we do not use the reserved values in each for a new authentication type. */ - +// bump up the version for any change that has kext dependency +#define CRYPTEX_AUTH_STRUCT_VERSION 1 OS_ENUM(graftdmg_type, uint32_t, GRAFTDMG_CRYPTEX_BOOT = 1, GRAFTDMG_CRYPTEX_PREBOOT = 2, - GRAFTDMG_CRYPTEX_DOWNLEVEL = 3 + GRAFTDMG_CRYPTEX_DOWNLEVEL = 3, // Reserved: CRYPTEX1_AUTH_ENV_GENERIC = 4, - // Reserved: CRYPTEX1_AUTH_ENV_GENERIC_SUPPLEMENTAL = 5 - ); + // Reserved: CRYPTEX1_AUTH_ENV_GENERIC_SUPPLEMENTAL = 5, + GRAFTDMG_CRYPTEX_PDI_NONCE = 6, + GRAFTDMG_CRYPTEX_EFFECTIVE_AP = 7, + // Update this when a new type is added + GRAFTDMG_CRYPTEX_MAX = 7); OS_ENUM(cryptex_auth_type, uint32_t, // Reserved: GRAFTDMG_CRYPTEX_BOOT = 1, // Reserved: GRAFTDMG_CRYPTEX_PREBOOT = 2, // Reserved: GRAFTDMG_CRYPTEX_DOWNLEVEL = 3, CRYPTEX1_AUTH_ENV_GENERIC = 4, - CRYPTEX1_AUTH_ENV_GENERIC_SUPPLEMENTAL = 5); + CRYPTEX1_AUTH_ENV_GENERIC_SUPPLEMENTAL = 5, + CRYPTEX_AUTH_PDI_NONCE = 6, + // Reserved: GRAFTDMG_CRYPTEX_EFFECTIVE_AP = 7 + // Update this when a new type is added + CRYPTEX_AUTH_MAX = 7); __BEGIN_DECLS @@ -455,4 +459,4 @@ int unmount(const char *, int); int getvfsbyname(const char *, struct vfsconf *); __END_DECLS -#endif /* !_SYS_MOUNT_H_ */ \ No newline at end of file +#endif /* !_SYS_MOUNT_H_ */ diff --git a/lib/libc/include/any-macos-any/sys/msg.h b/lib/libc/include/any-macos-any/sys/msg.h index 657ae2db00..3bbe9e1e1d 100644 --- a/lib/libc/include/any-macos-any/sys/msg.h +++ b/lib/libc/include/any-macos-any/sys/msg.h @@ -222,4 +222,4 @@ int msgsnd(int, const void *, size_t, int) __DARWIN_ALIAS_C(msgsnd); __END_DECLS -#endif /* !_SYS_MSG_H_ */ \ No newline at end of file +#endif /* !_SYS_MSG_H_ */ diff --git a/lib/libc/include/any-macos-any/sys/param.h b/lib/libc/include/any-macos-any/sys/param.h index ee007bdd3e..8540595d3c 100644 --- a/lib/libc/include/any-macos-any/sys/param.h +++ b/lib/libc/include/any-macos-any/sys/param.h @@ -232,4 +232,4 @@ #define FSHIFT 11 /* bits to right of fixed binary point */ #define FSCALE (1< #include - __BEGIN_DECLS @@ -825,9 +824,7 @@ struct channel_fdinfo { #define PROC_UDATA_INFO_GET 1 #define PROC_UDATA_INFO_SET 2 - - - __END_DECLS -#endif /*_SYS_PROC_INFO_H */ \ No newline at end of file + +#endif /*_SYS_PROC_INFO_H */ diff --git a/lib/libc/include/any-macos-any/sys/qos.h b/lib/libc/include/any-macos-any/sys/qos.h index 0edcbffdab..2aa7dcd5c6 100644 --- a/lib/libc/include/any-macos-any/sys/qos.h +++ b/lib/libc/include/any-macos-any/sys/qos.h @@ -197,4 +197,4 @@ __END_DECLS #endif // KERNEL -#endif // _SYS_QOS_H \ No newline at end of file +#endif // _SYS_QOS_H diff --git a/lib/libc/include/any-macos-any/sys/queue.h b/lib/libc/include/any-macos-any/sys/queue.h index b3394c2cfc..4ae79ffc23 100644 --- a/lib/libc/include/any-macos-any/sys/queue.h +++ b/lib/libc/include/any-macos-any/sys/queue.h @@ -906,4 +906,4 @@ void remque(void *a); #endif /* NOTFB31 */ #endif /* _KERNEL */ -#endif /* !_SYS_QUEUE_H_ */ \ No newline at end of file +#endif /* !_SYS_QUEUE_H_ */ diff --git a/lib/libc/include/any-macos-any/sys/random.h b/lib/libc/include/any-macos-any/sys/random.h index a96da19fac..892c53dfce 100644 --- a/lib/libc/include/any-macos-any/sys/random.h +++ b/lib/libc/include/any-macos-any/sys/random.h @@ -38,4 +38,4 @@ __BEGIN_DECLS int getentropy(void* buffer, size_t size) __OSX_AVAILABLE(10.12) __IOS_AVAILABLE(10.0) __TVOS_AVAILABLE(10.0) __WATCHOS_AVAILABLE(3.0); __END_DECLS -#endif /* __SYS_RANDOM_H__ */ \ No newline at end of file +#endif /* __SYS_RANDOM_H__ */ diff --git a/lib/libc/include/any-macos.13-any/sys/resource.h b/lib/libc/include/any-macos-any/sys/resource.h similarity index 99% rename from lib/libc/include/any-macos.13-any/sys/resource.h rename to lib/libc/include/any-macos-any/sys/resource.h index 4e1c86636c..038f255698 100644 --- a/lib/libc/include/any-macos.13-any/sys/resource.h +++ b/lib/libc/include/any-macos-any/sys/resource.h @@ -556,6 +556,9 @@ struct proc_rlimit_control_wakeupmon { #define IOPOL_VFS_DISALLOW_RW_FOR_O_EVTONLY_DEFAULT 0 #define IOPOL_VFS_DISALLOW_RW_FOR_O_EVTONLY_ON 1 +#define IOPOL_VFS_NOCACHE_WRITE_FS_BLKSIZE_DEFAULT 0 +#define IOPOL_VFS_NOCACHE_WRITE_FS_BLKSIZE_ON 1 + #endif /* __DARWIN_C_LEVEL >= __DARWIN_C_FULL */ @@ -573,4 +576,4 @@ int setiopolicy_np(int, int, int) __OSX_AVAILABLE_STARTING(__MAC_10_5, __IPH int setrlimit(int, const struct rlimit *) __DARWIN_ALIAS(setrlimit); __END_DECLS -#endif /* !_SYS_RESOURCE_H_ */ \ No newline at end of file +#endif /* !_SYS_RESOURCE_H_ */ diff --git a/lib/libc/include/any-macos-any/sys/select.h b/lib/libc/include/any-macos-any/sys/select.h index 5ef1a78597..ac851893d8 100644 --- a/lib/libc/include/any-macos-any/sys/select.h +++ b/lib/libc/include/any-macos-any/sys/select.h @@ -126,9 +126,9 @@ __DARWIN_ALIAS_C(pselect) ; #endif /* __MWERKS__ */ -#include /* select() prototype */ - __END_DECLS +#include /* select() prototype */ -#endif /* !_SYS_SELECT_H_ */ \ No newline at end of file + +#endif /* !_SYS_SELECT_H_ */ diff --git a/lib/libc/include/any-macos-any/sys/sem.h b/lib/libc/include/any-macos-any/sys/sem.h index 8f5f08411b..32777590d6 100644 --- a/lib/libc/include/any-macos-any/sys/sem.h +++ b/lib/libc/include/any-macos-any/sys/sem.h @@ -203,4 +203,4 @@ int semop(int, struct sembuf *, size_t); __END_DECLS -#endif /* !_SEM_H_ */ \ No newline at end of file +#endif /* !_SEM_H_ */ diff --git a/lib/libc/include/any-macos-any/sys/semaphore.h b/lib/libc/include/any-macos-any/sys/semaphore.h index 3e32669f1a..6e945f6906 100644 --- a/lib/libc/include/any-macos-any/sys/semaphore.h +++ b/lib/libc/include/any-macos-any/sys/semaphore.h @@ -61,4 +61,4 @@ int sem_wait(sem_t *) __DARWIN_ALIAS_C(sem_wait); __END_DECLS -#endif /* _SYS_SEMAPHORE_H_ */ \ No newline at end of file +#endif /* _SYS_SEMAPHORE_H_ */ diff --git a/lib/libc/include/any-macos-any/sys/shm.h b/lib/libc/include/any-macos-any/sys/shm.h index 4c34bf4dc7..634858abe2 100644 --- a/lib/libc/include/any-macos-any/sys/shm.h +++ b/lib/libc/include/any-macos-any/sys/shm.h @@ -187,4 +187,4 @@ int shmget(key_t, size_t, int); __END_DECLS -#endif /* !_SYS_SHM_H_ */ \ No newline at end of file +#endif /* !_SYS_SHM_H_ */ diff --git a/lib/libc/include/any-macos-any/sys/signal.h b/lib/libc/include/any-macos-any/sys/signal.h index 6ba6806200..e2d8b2b3f1 100644 --- a/lib/libc/include/any-macos-any/sys/signal.h +++ b/lib/libc/include/any-macos-any/sys/signal.h @@ -387,6 +387,6 @@ struct sigstack { * defined by . */ __BEGIN_DECLS - void(*signal(int, void (*)(int)))(int); +void(*signal(int, void (*)(int)))(int); __END_DECLS -#endif /* !_SYS_SIGNAL_H_ */ \ No newline at end of file +#endif /* !_SYS_SIGNAL_H_ */ diff --git a/lib/libc/include/any-macos.13-any/sys/socket.h b/lib/libc/include/any-macos-any/sys/socket.h similarity index 99% rename from lib/libc/include/any-macos.13-any/sys/socket.h rename to lib/libc/include/any-macos-any/sys/socket.h index 4c5a523336..377e17cb6e 100644 --- a/lib/libc/include/any-macos.13-any/sys/socket.h +++ b/lib/libc/include/any-macos-any/sys/socket.h @@ -762,4 +762,4 @@ int disconnectx(int, sae_associd_t, sae_connid_t); __END_DECLS -#endif /* !_SYS_SOCKET_H_ */ \ No newline at end of file +#endif /* !_SYS_SOCKET_H_ */ diff --git a/lib/libc/include/any-macos-any/sys/sockio.h b/lib/libc/include/any-macos-any/sys/sockio.h index 277d6c28bb..1a19bb707c 100644 --- a/lib/libc/include/any-macos-any/sys/sockio.h +++ b/lib/libc/include/any-macos-any/sys/sockio.h @@ -144,6 +144,8 @@ #define SIOCSIFCAP _IOW('i', 90, struct ifreq) /* set IF features */ #define SIOCGIFCAP _IOWR('i', 91, struct ifreq) /* get IF features */ +#define SIOCSIFMANAGEMENT _IOWR('i', 92, struct ifreq) /* set management interface */ + #define SIOCIFCREATE _IOWR('i', 120, struct ifreq) /* create clone if */ #define SIOCIFDESTROY _IOW('i', 121, struct ifreq) /* destroy clone if */ #define SIOCIFCREATE2 _IOWR('i', 122, struct ifreq) /* create clone if with data */ @@ -177,4 +179,4 @@ #define SIOCGIF6LOWPAN _IOWR('i', 197, struct ifreq) /* get 6LOWPAN config */ -#endif /* !_SYS_SOCKIO_H_ */ \ No newline at end of file +#endif /* !_SYS_SOCKIO_H_ */ diff --git a/lib/libc/include/any-macos-any/sys/spawn.h b/lib/libc/include/any-macos-any/sys/spawn.h index aeb42a9bb1..790738918d 100644 --- a/lib/libc/include/any-macos-any/sys/spawn.h +++ b/lib/libc/include/any-macos-any/sys/spawn.h @@ -74,6 +74,11 @@ #define POSIX_SPAWN_PCONTROL_SUSPEND 0x0002 #define POSIX_SPAWN_PCONTROL_KILL 0x0003 +#define POSIX_SPAWN_PANIC_ON_CRASH 0x1 +#define POSIX_SPAWN_PANIC_ON_NON_ZERO_EXIT 0x2 +#define POSIX_SPAWN_PANIC_ON_EXIT 0x4 +#define POSIX_SPAWN_PANIC_ON_SPAWN_FAIL 0x8 + #endif /* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */ -#endif /* _SYS_SPAWN_H_ */ \ No newline at end of file +#endif /* _SYS_SPAWN_H_ */ diff --git a/lib/libc/include/any-macos-any/sys/stat.h b/lib/libc/include/any-macos-any/sys/stat.h index fb60146e5c..88722d042f 100644 --- a/lib/libc/include/any-macos-any/sys/stat.h +++ b/lib/libc/include/any-macos-any/sys/stat.h @@ -371,6 +371,7 @@ struct stat64 __DARWIN_STRUCT_STAT64; #define EF_IS_PURGEABLE 0x00000008 /* file is purgeable */ #define EF_IS_SPARSE 0x00000010 /* file has at least one sparse region */ #define EF_IS_SYNTHETIC 0x00000020 /* a synthetic directory/symlink */ +#define EF_SHARES_ALL_BLOCKS 0x00000040 /* file shares all of its blocks with another file */ #endif @@ -391,6 +392,8 @@ mode_t umask(mode_t); int fchmodat(int, const char *, mode_t, int) __OSX_AVAILABLE_STARTING(__MAC_10_10, __IPHONE_8_0); int fstatat(int, const char *, struct stat *, int) __DARWIN_INODE64(fstatat) __OSX_AVAILABLE_STARTING(__MAC_10_10, __IPHONE_8_0); int mkdirat(int, const char *, mode_t) __OSX_AVAILABLE_STARTING(__MAC_10_10, __IPHONE_8_0); +int mkfifoat(int, const char *, mode_t) __API_AVAILABLE(macos(13.0), ios(16.0), tvos(16.0), watchos(9.0)); +int mknodat(int, const char *, mode_t, dev_t) __API_AVAILABLE(macos(13.0), ios(16.0), tvos(16.0), watchos(9.0)); #define UTIME_NOW -1 #define UTIME_OMIT -2 @@ -399,11 +402,13 @@ int futimens(int __fd, const struct timespec __times[2]) __API_AVAILABLE(mac int utimensat(int __fd, const char *__path, const struct timespec __times[2], int __flag) __API_AVAILABLE(macosx(10.13), ios(11.0), tvos(11.0), watchos(4.0)); #endif +__END_DECLS #if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) #include +__BEGIN_DECLS int chflags(const char *, __uint32_t); int chmodx_np(const char *, filesec_t); int fchflags(int, __uint32_t); @@ -426,7 +431,8 @@ int fstat64(int, struct stat64 *) __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_5, int lstat64(const char *, struct stat64 *) __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_5, __MAC_10_6, __IPHONE_NA, __IPHONE_NA); int stat64(const char *, struct stat64 *) __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_5, __MAC_10_6, __IPHONE_NA, __IPHONE_NA); #endif /* !__DARWIN_ONLY_64_BIT_INO_T */ +__END_DECLS + #endif /* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */ -__END_DECLS -#endif /* !_SYS_STAT_H_ */ \ No newline at end of file +#endif /* !_SYS_STAT_H_ */ diff --git a/lib/libc/include/any-macos-any/sys/statvfs.h b/lib/libc/include/any-macos-any/sys/statvfs.h index 3a2b5cde36..a8d661a5c6 100644 --- a/lib/libc/include/any-macos-any/sys/statvfs.h +++ b/lib/libc/include/any-macos-any/sys/statvfs.h @@ -57,4 +57,4 @@ int fstatvfs(int, struct statvfs *); int statvfs(const char * __restrict, struct statvfs * __restrict); __END_DECLS -#endif /* _SYS_STATVFS_H_ */ \ No newline at end of file +#endif /* _SYS_STATVFS_H_ */ diff --git a/lib/libc/include/any-macos-any/sys/stdio.h b/lib/libc/include/any-macos-any/sys/stdio.h index da56fdf6c9..1c747a42f4 100644 --- a/lib/libc/include/any-macos-any/sys/stdio.h +++ b/lib/libc/include/any-macos-any/sys/stdio.h @@ -57,4 +57,4 @@ __END_DECLS #endif /* __DARWIN_C_LEVEL >= 200809L */ -#endif /* _SYS_STDIO_H_ */ \ No newline at end of file +#endif /* _SYS_STDIO_H_ */ diff --git a/lib/libc/include/any-macos.13-any/sys/sysctl.h b/lib/libc/include/any-macos-any/sys/sysctl.h similarity index 99% rename from lib/libc/include/any-macos.13-any/sys/sysctl.h rename to lib/libc/include/any-macos-any/sys/sysctl.h index eebee35881..49d3ca77e1 100644 --- a/lib/libc/include/any-macos.13-any/sys/sysctl.h +++ b/lib/libc/include/any-macos-any/sys/sysctl.h @@ -800,4 +800,4 @@ __END_DECLS #endif /* SYSCTL_DEF_ENABLED */ -#endif /* !_SYS_SYSCTL_H_ */ \ No newline at end of file +#endif /* !_SYS_SYSCTL_H_ */ diff --git a/lib/libc/include/any-macos-any/sys/syslimits.h b/lib/libc/include/any-macos-any/sys/syslimits.h index ee8da5a411..1c2aa9a18c 100644 --- a/lib/libc/include/any-macos-any/sys/syslimits.h +++ b/lib/libc/include/any-macos-any/sys/syslimits.h @@ -122,4 +122,4 @@ #endif /* __DARWIN_UNIX03 */ #endif /* !_ANSI_SOURCE */ -#endif /* !_SYS_SYSLIMITS_H_ */ \ No newline at end of file +#endif /* !_SYS_SYSLIMITS_H_ */ diff --git a/lib/libc/include/any-macos-any/sys/syslog.h b/lib/libc/include/any-macos-any/sys/syslog.h index a2f4e4daab..c72d998b8f 100644 --- a/lib/libc/include/any-macos-any/sys/syslog.h +++ b/lib/libc/include/any-macos-any/sys/syslog.h @@ -233,4 +233,4 @@ void vsyslog(int, const char *, __darwin_va_list) __printflike(2, 0) __not_ta #endif __END_DECLS -#endif /* !_SYS_SYSLOG_H_ */ \ No newline at end of file +#endif /* !_SYS_SYSLOG_H_ */ diff --git a/lib/libc/include/any-macos-any/sys/termios.h b/lib/libc/include/any-macos-any/sys/termios.h index 2f746b7d99..3d7778bdff 100644 --- a/lib/libc/include/any-macos-any/sys/termios.h +++ b/lib/libc/include/any-macos-any/sys/termios.h @@ -363,4 +363,4 @@ __END_DECLS #if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) #include -#endif \ No newline at end of file +#endif diff --git a/lib/libc/include/any-macos-any/sys/time.h b/lib/libc/include/any-macos-any/sys/time.h index 192ae1c0f2..b96812588e 100644 --- a/lib/libc/include/any-macos-any/sys/time.h +++ b/lib/libc/include/any-macos-any/sys/time.h @@ -68,6 +68,7 @@ #include #include + /* * [XSI] The fd_set type shall be defined as described in . * The timespec structure shall be defined as described in @@ -123,7 +124,7 @@ struct itimerval { } #define TIMESPEC_TO_TIMEVAL(tv, ts) { \ (tv)->tv_sec = (ts)->tv_sec; \ - (tv)->tv_usec = (ts)->tv_nsec / 1000; \ + (tv)->tv_usec = (__darwin_suseconds_t)((ts)->tv_nsec / 1000); \ } struct timezone { @@ -196,8 +197,12 @@ int settimeofday(const struct timeval *, const struct timezone *); int getitimer(int, struct itimerval *); int gettimeofday(struct timeval * __restrict, void * __restrict); +__END_DECLS + #include /* select() prototype */ +__BEGIN_DECLS + int setitimer(int, const struct itimerval * __restrict, struct itimerval * __restrict); int utimes(const char *, const struct timeval *); @@ -205,4 +210,5 @@ int utimes(const char *, const struct timeval *); __END_DECLS -#endif /* !_SYS_TIME_H_ */ \ No newline at end of file + +#endif /* !_SYS_TIME_H_ */ diff --git a/lib/libc/include/any-macos-any/sys/times.h b/lib/libc/include/any-macos-any/sys/times.h index 9739e311cf..3fc3000281 100644 --- a/lib/libc/include/any-macos-any/sys/times.h +++ b/lib/libc/include/any-macos-any/sys/times.h @@ -89,4 +89,4 @@ struct tms { __BEGIN_DECLS clock_t times(struct tms *); __END_DECLS -#endif /* !_SYS_TIMES_H_ */ \ No newline at end of file +#endif /* !_SYS_TIMES_H_ */ diff --git a/lib/libc/include/any-macos-any/sys/timex.h b/lib/libc/include/any-macos-any/sys/timex.h index dbfddaa1a3..9e87d5a5ef 100644 --- a/lib/libc/include/any-macos-any/sys/timex.h +++ b/lib/libc/include/any-macos-any/sys/timex.h @@ -195,4 +195,4 @@ int ntp_gettime(struct ntptimeval *); __END_DECLS -#endif /* !_SYS_TIMEX_H_ */ \ No newline at end of file +#endif /* !_SYS_TIMEX_H_ */ diff --git a/lib/libc/include/any-macos-any/sys/ttycom.h b/lib/libc/include/any-macos-any/sys/ttycom.h index f30832e5fd..c7d8b69057 100644 --- a/lib/libc/include/any-macos-any/sys/ttycom.h +++ b/lib/libc/include/any-macos-any/sys/ttycom.h @@ -170,4 +170,4 @@ struct winsize { #define SLIPDISC 4 /* serial IP discipline */ #define PPPDISC 5 /* PPP discipline */ -#endif /* !_SYS_TTYCOM_H_ */ \ No newline at end of file +#endif /* !_SYS_TTYCOM_H_ */ diff --git a/lib/libc/include/any-macos-any/sys/ttydefaults.h b/lib/libc/include/any-macos-any/sys/ttydefaults.h index 27b17da43a..eed46dded2 100644 --- a/lib/libc/include/any-macos-any/sys/ttydefaults.h +++ b/lib/libc/include/any-macos-any/sys/ttydefaults.h @@ -121,4 +121,4 @@ static cc_t ttydefchars[NCCS] = { CDISCARD, CMIN, CTIME, CSTATUS, _POSIX_VDISABLE }; #undef TTYDEFCHARS -#endif \ No newline at end of file +#endif diff --git a/lib/libc/include/any-macos-any/sys/types.h b/lib/libc/include/any-macos-any/sys/types.h index adf67a3b0d..29e6d46fd7 100644 --- a/lib/libc/include/any-macos-any/sys/types.h +++ b/lib/libc/include/any-macos-any/sys/types.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000-2008 Apple Inc. All rights reserved. + * Copyright (c) 2000-2021 Apple Inc. All rights reserved. * * @APPLE_OSREFERENCE_LICENSE_HEADER_START@ * @@ -89,7 +89,10 @@ typedef unsigned long u_long; #define _U_LONG #endif typedef unsigned short ushort; /* Sys V compatibility */ +#ifndef __DARWIN_UINT typedef unsigned int uint; /* Sys V compatibility */ +#define __DARWIN_UINT +#endif #endif typedef u_int64_t u_quad_t; /* quads */ @@ -232,4 +235,4 @@ typedef __int32_t fd_mask; #include #include -#endif /* !_SYS_TYPES_H_ */ \ No newline at end of file +#endif /* !_SYS_TYPES_H_ */ diff --git a/lib/libc/include/any-macos-any/sys/ucontext.h b/lib/libc/include/any-macos-any/sys/ucontext.h index 7f03256166..5b55545a47 100644 --- a/lib/libc/include/any-macos-any/sys/ucontext.h +++ b/lib/libc/include/any-macos-any/sys/ucontext.h @@ -38,4 +38,4 @@ #include -#endif /* _SYS_UCONTEXT_H_ */ \ No newline at end of file +#endif /* _SYS_UCONTEXT_H_ */ diff --git a/lib/libc/include/any-macos-any/sys/ucred.h b/lib/libc/include/any-macos-any/sys/ucred.h index 0dc5465485..1a4c10dd88 100644 --- a/lib/libc/include/any-macos-any/sys/ucred.h +++ b/lib/libc/include/any-macos-any/sys/ucred.h @@ -113,4 +113,4 @@ struct xucred { #endif /* __APPLE_API_UNSTABLE */ -#endif /* !_SYS_UCRED_H_ */ \ No newline at end of file +#endif /* !_SYS_UCRED_H_ */ diff --git a/lib/libc/include/any-macos-any/sys/uio.h b/lib/libc/include/any-macos-any/sys/uio.h index 619a8f1786..3edd282425 100644 --- a/lib/libc/include/any-macos-any/sys/uio.h +++ b/lib/libc/include/any-macos-any/sys/uio.h @@ -108,4 +108,4 @@ ssize_t pwritev(int, const struct iovec *, int, off_t) __DARWIN_NOCANCEL(pwritev __END_DECLS -#endif /* !_SYS_UIO_H_ */ \ No newline at end of file +#endif /* !_SYS_UIO_H_ */ diff --git a/lib/libc/include/any-macos-any/sys/un.h b/lib/libc/include/any-macos-any/sys/un.h index 305196b361..6d91a9ad88 100644 --- a/lib/libc/include/any-macos-any/sys/un.h +++ b/lib/libc/include/any-macos-any/sys/un.h @@ -103,4 +103,4 @@ struct sockaddr_un { #endif /* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */ -#endif /* !_SYS_UN_H_ */ \ No newline at end of file +#endif /* !_SYS_UN_H_ */ diff --git a/lib/libc/include/any-macos.13-any/sys/unistd.h b/lib/libc/include/any-macos-any/sys/unistd.h similarity index 99% rename from lib/libc/include/any-macos.13-any/sys/unistd.h rename to lib/libc/include/any-macos-any/sys/unistd.h index 78c93998f7..2eec060a3a 100644 --- a/lib/libc/include/any-macos.13-any/sys/unistd.h +++ b/lib/libc/include/any-macos-any/sys/unistd.h @@ -217,4 +217,4 @@ __END_DECLS #endif /* __DARWIN_C_LEVEL >= 200809L */ -#endif /* !_SYS_UNISTD_H_ */ \ No newline at end of file +#endif /* !_SYS_UNISTD_H_ */ diff --git a/lib/libc/include/any-macos-any/sys/utsname.h b/lib/libc/include/any-macos-any/sys/utsname.h index 0772b2bfc9..b4ae9f4c49 100644 --- a/lib/libc/include/any-macos-any/sys/utsname.h +++ b/lib/libc/include/any-macos-any/sys/utsname.h @@ -83,4 +83,4 @@ __BEGIN_DECLS int uname(struct utsname *); __END_DECLS -#endif /* !_SYS_UTSNAME_H */ \ No newline at end of file +#endif /* !_SYS_UTSNAME_H */ diff --git a/lib/libc/include/any-macos-any/sys/vm.h b/lib/libc/include/any-macos-any/sys/vm.h index 8f32f5e2c1..52152e8a8b 100644 --- a/lib/libc/include/any-macos-any/sys/vm.h +++ b/lib/libc/include/any-macos-any/sys/vm.h @@ -86,4 +86,4 @@ struct vmspace { -#endif /* _SYS_VM_H */ \ No newline at end of file +#endif /* _SYS_VM_H */ diff --git a/lib/libc/include/any-macos-any/sys/wait.h b/lib/libc/include/any-macos-any/sys/wait.h index 236d0f9015..e3cbb5833f 100644 --- a/lib/libc/include/any-macos-any/sys/wait.h +++ b/lib/libc/include/any-macos-any/sys/wait.h @@ -255,4 +255,4 @@ pid_t wait3(int *, int, struct rusage *); pid_t wait4(pid_t, int *, int, struct rusage *); #endif /* (!defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)) */ __END_DECLS -#endif /* !_SYS_WAIT_H_ */ \ No newline at end of file +#endif /* !_SYS_WAIT_H_ */ diff --git a/lib/libc/include/any-macos-any/sysexits.h b/lib/libc/include/any-macos-any/sysexits.h index 84c139f3b1..464cb11bab 100644 --- a/lib/libc/include/any-macos-any/sysexits.h +++ b/lib/libc/include/any-macos-any/sysexits.h @@ -115,4 +115,4 @@ #define EX__MAX 78 /* maximum listed value */ -#endif /* !_SYSEXITS_H_ */ \ No newline at end of file +#endif /* !_SYSEXITS_H_ */ diff --git a/lib/libc/include/any-macos-any/syslog.h b/lib/libc/include/any-macos-any/syslog.h index 03d2fb4658..d3f4192ba5 100644 --- a/lib/libc/include/any-macos-any/syslog.h +++ b/lib/libc/include/any-macos-any/syslog.h @@ -20,4 +20,5 @@ * * @APPLE_LICENSE_HEADER_END@ */ -#include \ No newline at end of file +#include + diff --git a/lib/libc/include/any-macos-any/tar.h b/lib/libc/include/any-macos-any/tar.h index 13bb90a9a0..764ca01a10 100644 --- a/lib/libc/include/any-macos-any/tar.h +++ b/lib/libc/include/any-macos-any/tar.h @@ -70,4 +70,4 @@ #define TOWRITE 00002 /* Write by other */ #define TOEXEC 00001 /* Execute/Search by other */ -#endif \ No newline at end of file +#endif diff --git a/lib/libc/include/any-macos-any/termios.h b/lib/libc/include/any-macos-any/termios.h index 44007f0013..94f315b58c 100644 --- a/lib/libc/include/any-macos-any/termios.h +++ b/lib/libc/include/any-macos-any/termios.h @@ -32,4 +32,4 @@ __BEGIN_DECLS pid_t tcgetsid(int); __END_DECLS -#endif /* __TERMIOS_H__ */ \ No newline at end of file +#endif /* __TERMIOS_H__ */ diff --git a/lib/libc/include/any-macos-any/tgmath.h b/lib/libc/include/any-macos-any/tgmath.h index 16c04107d9..f473813948 100644 --- a/lib/libc/include/any-macos-any/tgmath.h +++ b/lib/libc/include/any-macos-any/tgmath.h @@ -30,6 +30,11 @@ #ifndef __cplusplus #include +#if __has_include() +#include +REALTIME_SAFE_BEGIN +#endif + #define _TG_ATTRSp __attribute__((__overloadable__)) #define _TG_ATTRS __attribute__((__overloadable__, __always_inline__)) @@ -1368,5 +1373,9 @@ static long double #undef _TG_ATTRSp #undef _TG_ATTRS +#if __has_include() +REALTIME_SAFE_END +#endif + #endif /* __cplusplus */ -#endif /* __TGMATH_H */ \ No newline at end of file +#endif /* __TGMATH_H */ diff --git a/lib/libc/include/any-macos-any/time.h b/lib/libc/include/any-macos-any/time.h index a0f9897ea4..990d1e9369 100644 --- a/lib/libc/include/any-macos-any/time.h +++ b/lib/libc/include/any-macos-any/time.h @@ -205,4 +205,4 @@ __END_DECLS #include #endif /* _USE_EXTENDED_LOCALES_ */ -#endif /* !_TIME_H_ */ \ No newline at end of file +#endif /* !_TIME_H_ */ diff --git a/lib/libc/include/any-macos-any/ucontext.h b/lib/libc/include/any-macos-any/ucontext.h index 897e1ddd9c..27b4111035 100644 --- a/lib/libc/include/any-macos-any/ucontext.h +++ b/lib/libc/include/any-macos-any/ucontext.h @@ -51,4 +51,4 @@ __END_DECLS #error The deprecated ucontext routines require _XOPEN_SOURCE to be defined #endif /* _XOPEN_SOURCE */ -#endif /* _UCONTEXT_H_ */ \ No newline at end of file +#endif /* _UCONTEXT_H_ */ diff --git a/lib/libc/include/any-macos-any/ulimit.h b/lib/libc/include/any-macos-any/ulimit.h index a73058aedd..c6a451c75f 100644 --- a/lib/libc/include/any-macos-any/ulimit.h +++ b/lib/libc/include/any-macos-any/ulimit.h @@ -38,4 +38,4 @@ __BEGIN_DECLS long ulimit(int, ...); __END_DECLS -#endif /* !_ULIMIT_H_ */ \ No newline at end of file +#endif /* !_ULIMIT_H_ */ diff --git a/lib/libc/include/any-macos.13-any/unistd.h b/lib/libc/include/any-macos-any/unistd.h similarity index 99% rename from lib/libc/include/any-macos.13-any/unistd.h rename to lib/libc/include/any-macos-any/unistd.h index 9828b1ba2d..a468bc30a0 100644 --- a/lib/libc/include/any-macos.13-any/unistd.h +++ b/lib/libc/include/any-macos-any/unistd.h @@ -652,6 +652,7 @@ int execvP(const char * __file, const char * __searchpath, char * const * __arg char *fflagstostr(unsigned long); int getdomainname(char *, int); int getgrouplist(const char *, int, int *, int *); +__END_DECLS #if defined(__has_include) #if __has_include() #include @@ -661,6 +662,7 @@ int getgrouplist(const char *, int, int *, int *); #else #include #endif +__BEGIN_DECLS mode_t getmode(const void *, mode_t); int getpeereid(int, uid_t *, gid_t *); int getsgroups_np(int *, uuid_t); @@ -788,4 +790,4 @@ extern int optreset; __END_DECLS #endif /* __DARWIN_C_LEVEL >= __DARWIN_C_FULL */ -#endif /* _UNISTD_H_ */ \ No newline at end of file +#endif /* _UNISTD_H_ */ diff --git a/lib/libc/include/any-macos-any/utime.h b/lib/libc/include/any-macos-any/utime.h index 16fcc283ba..106e494940 100644 --- a/lib/libc/include/any-macos-any/utime.h +++ b/lib/libc/include/any-macos-any/utime.h @@ -72,4 +72,4 @@ __BEGIN_DECLS int utime(const char *, const struct utimbuf *); __END_DECLS -#endif /* !_UTIME_H_ */ \ No newline at end of file +#endif /* !_UTIME_H_ */ diff --git a/lib/libc/include/any-macos-any/utmpx.h b/lib/libc/include/any-macos-any/utmpx.h index 96871e4c0e..a461c9ecbc 100644 --- a/lib/libc/include/any-macos-any/utmpx.h +++ b/lib/libc/include/any-macos-any/utmpx.h @@ -173,4 +173,4 @@ int wtmpxname(const char *) __OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_2_0); __END_DECLS -#endif /* !_UTMPX_H_ */ \ No newline at end of file +#endif /* !_UTMPX_H_ */ diff --git a/lib/libc/include/any-macos-any/uuid/uuid.h b/lib/libc/include/any-macos-any/uuid/uuid.h index b94127828b..2fac501813 100644 --- a/lib/libc/include/any-macos-any/uuid/uuid.h +++ b/lib/libc/include/any-macos-any/uuid/uuid.h @@ -75,4 +75,4 @@ void uuid_unparse_upper(const uuid_t uu, uuid_string_t out); } #endif -#endif /* _UUID_UUID_H */ \ No newline at end of file +#endif /* _UUID_UUID_H */ diff --git a/lib/libc/include/any-macos-any/vis.h b/lib/libc/include/any-macos-any/vis.h index 6e06eb4e56..b8ff23c426 100644 --- a/lib/libc/include/any-macos-any/vis.h +++ b/lib/libc/include/any-macos-any/vis.h @@ -20,7 +20,7 @@ * * @APPLE_LICENSE_HEADER_END@ */ -/* $NetBSD: vis.h,v 1.21 2013/02/20 17:01:15 christos Exp $ */ +/* $NetBSD: vis.h,v 1.25 2017/04/23 01:57:36 christos Exp $ */ /* $FreeBSD$ */ /*- @@ -75,6 +75,7 @@ #define VIS_NL 0x0010 /* also encode newline */ #define VIS_WHITE (VIS_SP | VIS_TAB | VIS_NL) #define VIS_SAFE 0x0020 /* only encode "unsafe" characters */ +#define VIS_DQ 0x8000 /* also encode double quotes */ /* * other @@ -87,6 +88,9 @@ #define VIS_HTTP1866 0x0400 /* http-style &#num; or &string; */ #define VIS_NOESCAPE 0x0800 /* don't decode `\' */ #define _VIS_END 0x1000 /* for unvis */ +#define VIS_SHELL 0x2000 /* encode shell special characters [not glob] */ +#define VIS_META (VIS_WHITE | VIS_GLOB | VIS_SHELL) +#define VIS_NOLOCALE 0x4000 /* encode using the C locale */ /* * unvis return codes @@ -112,6 +116,7 @@ char *svis(char *, int, int, int, const char *); char *snvis(char *, size_t, int, int, int, const char *); int strvis(char *, const char *, int); +int stravis(char **, const char *, int); int strnvis(char *, size_t, const char *, int); int strsvis(char *, const char *, int, const char *); @@ -135,4 +140,4 @@ int strnunvisx(char *, size_t, const char *, int); int unvis(char *, int, int *, int); __END_DECLS -#endif /* !_VIS_H_ */ \ No newline at end of file +#endif /* !_VIS_H_ */ diff --git a/lib/libc/include/any-macos-any/wchar.h b/lib/libc/include/any-macos-any/wchar.h index 0b3916c0e9..38f84f8bb5 100644 --- a/lib/libc/include/any-macos-any/wchar.h +++ b/lib/libc/include/any-macos-any/wchar.h @@ -228,4 +228,4 @@ __END_DECLS #include #endif /* _USE_EXTENDED_LOCALES_ */ -#endif /* !_WCHAR_H_ */ \ No newline at end of file +#endif /* !_WCHAR_H_ */ diff --git a/lib/libc/include/any-macos-any/wctype.h b/lib/libc/include/any-macos-any/wctype.h index db3b5477f3..c270cc60d6 100644 --- a/lib/libc/include/any-macos-any/wctype.h +++ b/lib/libc/include/any-macos-any/wctype.h @@ -127,4 +127,4 @@ __END_DECLS #include #endif /* _USE_EXTENDED_LOCALES_ */ -#endif /* _WCTYPE_H_ */ \ No newline at end of file +#endif /* _WCTYPE_H_ */ diff --git a/lib/libc/include/any-macos-any/wordexp.h b/lib/libc/include/any-macos-any/wordexp.h index 41a0b5f18f..705b15c4e1 100644 --- a/lib/libc/include/any-macos-any/wordexp.h +++ b/lib/libc/include/any-macos-any/wordexp.h @@ -82,4 +82,4 @@ int wordexp(const char * __restrict, wordexp_t * __restrict, int) __OSX_AVAILABL void wordfree(wordexp_t *) __OSX_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_NA); __END_DECLS -#endif /* _WORDEXP_H */ \ No newline at end of file +#endif /* _WORDEXP_H */ diff --git a/lib/libc/include/any-macos-any/xlocale.h b/lib/libc/include/any-macos-any/xlocale.h index e89e359620..f5824b3b1a 100644 --- a/lib/libc/include/any-macos-any/xlocale.h +++ b/lib/libc/include/any-macos-any/xlocale.h @@ -108,4 +108,4 @@ __END_DECLS #include #endif /* _WCTYPE_H_ */ -#endif /* _XLOCALE_H_ */ \ No newline at end of file +#endif /* _XLOCALE_H_ */ diff --git a/lib/libc/include/any-macos-any/xlocale/__wctype.h b/lib/libc/include/any-macos-any/xlocale/__wctype.h index d377bf5a76..2246382739 100644 --- a/lib/libc/include/any-macos-any/xlocale/__wctype.h +++ b/lib/libc/include/any-macos-any/xlocale/__wctype.h @@ -140,4 +140,4 @@ wctype_t wctype_l(const char *, locale_t); __END_DECLS -#endif /* _XLOCALE___WCTYPE_H_ */ \ No newline at end of file +#endif /* _XLOCALE___WCTYPE_H_ */ diff --git a/lib/libc/include/any-macos-any/xlocale/_ctype.h b/lib/libc/include/any-macos-any/xlocale/_ctype.h index 316b55dad5..99fe94ddd8 100644 --- a/lib/libc/include/any-macos-any/xlocale/_ctype.h +++ b/lib/libc/include/any-macos-any/xlocale/_ctype.h @@ -234,4 +234,4 @@ int toupper_l(int, locale_t); __END_DECLS #endif /* using inlines */ -#endif /* _XLOCALE__CTYPE_H_ */ \ No newline at end of file +#endif /* _XLOCALE__CTYPE_H_ */ diff --git a/lib/libc/include/any-macos-any/xlocale/_inttypes.h b/lib/libc/include/any-macos-any/xlocale/_inttypes.h index 1323b05e23..8a7f563e37 100644 --- a/lib/libc/include/any-macos-any/xlocale/_inttypes.h +++ b/lib/libc/include/any-macos-any/xlocale/_inttypes.h @@ -45,4 +45,4 @@ uintmax_t wcstoumax_l(const wchar_t * __restrict nptr, #endif __END_DECLS -#endif /* _XLOCALE__INTTYPES_H_ */ \ No newline at end of file +#endif /* _XLOCALE__INTTYPES_H_ */ diff --git a/lib/libc/include/any-macos-any/xlocale/_langinfo.h b/lib/libc/include/any-macos-any/xlocale/_langinfo.h index 28577e9353..0190cf6b6c 100644 --- a/lib/libc/include/any-macos-any/xlocale/_langinfo.h +++ b/lib/libc/include/any-macos-any/xlocale/_langinfo.h @@ -32,4 +32,4 @@ __BEGIN_DECLS char *nl_langinfo_l(nl_item, locale_t); __END_DECLS -#endif /* _XLOCALE__LANGINFO_H_ */ \ No newline at end of file +#endif /* _XLOCALE__LANGINFO_H_ */ diff --git a/lib/libc/include/any-macos-any/xlocale/_monetary.h b/lib/libc/include/any-macos-any/xlocale/_monetary.h index d553c86baf..cf1046868c 100644 --- a/lib/libc/include/any-macos-any/xlocale/_monetary.h +++ b/lib/libc/include/any-macos-any/xlocale/_monetary.h @@ -35,4 +35,4 @@ ssize_t strfmon_l(char *, size_t, locale_t, const char *, ...) __strfmonlike(4, 5); __END_DECLS -#endif /* _XLOCALE__MONETARY_H_ */ \ No newline at end of file +#endif /* _XLOCALE__MONETARY_H_ */ diff --git a/lib/libc/include/any-macos-any/xlocale/_regex.h b/lib/libc/include/any-macos-any/xlocale/_regex.h index 3aaf4bef23..8f4fcf374d 100644 --- a/lib/libc/include/any-macos-any/xlocale/_regex.h +++ b/lib/libc/include/any-macos-any/xlocale/_regex.h @@ -52,4 +52,4 @@ int regwnexec_l(const regex_t * __restrict, const wchar_t * __restrict, __END_DECLS -#endif /* _XLOCALE__REGEX_H_ */ \ No newline at end of file +#endif /* _XLOCALE__REGEX_H_ */ diff --git a/lib/libc/include/any-macos-any/xlocale/_stdio.h b/lib/libc/include/any-macos-any/xlocale/_stdio.h index 7620a3ea04..f9272ff76c 100644 --- a/lib/libc/include/any-macos-any/xlocale/_stdio.h +++ b/lib/libc/include/any-macos-any/xlocale/_stdio.h @@ -79,4 +79,4 @@ int vasprintf_l(char ** __restrict, locale_t __restrict, const char * __restric __END_DECLS -#endif /* _XLOCALE__STDIO_H_ */ \ No newline at end of file +#endif /* _XLOCALE__STDIO_H_ */ diff --git a/lib/libc/include/any-macos-any/xlocale/_stdlib.h b/lib/libc/include/any-macos-any/xlocale/_stdlib.h index 494502d3f7..add77d696f 100644 --- a/lib/libc/include/any-macos-any/xlocale/_stdlib.h +++ b/lib/libc/include/any-macos-any/xlocale/_stdlib.h @@ -71,4 +71,4 @@ int wctomb_l(char *, wchar_t, locale_t); #endif __END_DECLS -#endif /* _XLOCALE__STDLIB_H_ */ \ No newline at end of file +#endif /* _XLOCALE__STDLIB_H_ */ diff --git a/lib/libc/include/any-macos-any/xlocale/_string.h b/lib/libc/include/any-macos-any/xlocale/_string.h index 46b31e395d..8aa73fac45 100644 --- a/lib/libc/include/any-macos-any/xlocale/_string.h +++ b/lib/libc/include/any-macos-any/xlocale/_string.h @@ -36,4 +36,4 @@ char *strcasestr_l(const char *, const char *, locale_t); int strncasecmp_l(const char *, const char *, size_t, locale_t); __END_DECLS -#endif /* _XLOCALE__STRING_H_ */ \ No newline at end of file +#endif /* _XLOCALE__STRING_H_ */ diff --git a/lib/libc/include/any-macos-any/xlocale/_time.h b/lib/libc/include/any-macos-any/xlocale/_time.h index ed497992ec..c2c0965446 100644 --- a/lib/libc/include/any-macos-any/xlocale/_time.h +++ b/lib/libc/include/any-macos-any/xlocale/_time.h @@ -38,4 +38,4 @@ char *strptime_l(const char * __restrict, const char * __restrict, __DARWIN_ALIAS(strptime_l) __strftimelike(2); __END_DECLS -#endif /* _XLOCALE__TIME_H_ */ \ No newline at end of file +#endif /* _XLOCALE__TIME_H_ */ diff --git a/lib/libc/include/any-macos-any/xlocale/_wchar.h b/lib/libc/include/any-macos-any/xlocale/_wchar.h index 99a2e4f259..b8eb41e096 100644 --- a/lib/libc/include/any-macos-any/xlocale/_wchar.h +++ b/lib/libc/include/any-macos-any/xlocale/_wchar.h @@ -144,4 +144,4 @@ __END_DECLS #pragma GCC poison fgetwln_l fgetws_l fputwc_l fputws_l fwprintf_l fwscanf_l mbrtowc_l mbsnrtowcs_l mbsrtowcs_l putwc_l putwchar_l swprintf_l swscanf_l vfwprintf_l vfwscanf_l vswprintf_l vswscanf_l vwprintf_l vwscanf_l wcrtomb_l wcscoll_l wcsftime_l wcsftime_l wcsnrtombs_l wcsrtombs_l wcstod_l wcstof_l wcstol_l wcstold_l wcstoll_l wcstoul_l wcstoull_l wcswidth_l wcsxfrm_l wcwidth_l wprintf_l wscanf_l #endif -#endif /* _XLOCALE__WCHAR_H_ */ \ No newline at end of file +#endif /* _XLOCALE__WCHAR_H_ */ diff --git a/lib/libc/include/any-macos-any/xlocale/_wctype.h b/lib/libc/include/any-macos-any/xlocale/_wctype.h index be65829381..2b0c6846f7 100644 --- a/lib/libc/include/any-macos-any/xlocale/_wctype.h +++ b/lib/libc/include/any-macos-any/xlocale/_wctype.h @@ -94,4 +94,4 @@ wctrans_t wctrans_l(const char *, locale_t); __END_DECLS -#endif /* _XLOCALE__WCTYPE_H_ */ \ No newline at end of file +#endif /* _XLOCALE__WCTYPE_H_ */ diff --git a/lib/libc/include/any-macos-any/xpc/activity.h b/lib/libc/include/any-macos-any/xpc/activity.h index 3ab7a6e9ff..dc98cce2e8 100644 --- a/lib/libc/include/any-macos-any/xpc/activity.h +++ b/lib/libc/include/any-macos-any/xpc/activity.h @@ -457,4 +457,5 @@ XPC_ASSUME_NONNULL_END #endif // __BLOCKS__ -#endif // __XPC_ACTIVITY_H__ \ No newline at end of file +#endif // __XPC_ACTIVITY_H__ + diff --git a/lib/libc/include/any-macos.13-any/xpc/availability.h b/lib/libc/include/any-macos-any/xpc/availability.h similarity index 97% rename from lib/libc/include/any-macos.13-any/xpc/availability.h rename to lib/libc/include/any-macos-any/xpc/availability.h index 3197cfb652..7efc1b0804 100644 --- a/lib/libc/include/any-macos.13-any/xpc/availability.h +++ b/lib/libc/include/any-macos-any/xpc/availability.h @@ -2,6 +2,9 @@ #define __XPC_AVAILABILITY_H__ #include +#include + +__BEGIN_DECLS // Certain parts of the project use all the project's headers but have to build // against newer OSX SDKs than ebuild uses -- liblaunch_host being the example. @@ -95,7 +98,9 @@ __attribute__((availability(macosx, introduced=10.14))) #endif // __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_10_13 #if __has_include() +__END_DECLS #include +__BEGIN_DECLS #else // __has_include() #ifndef IPHONE_SIMULATOR_HOST_MIN_VERSION_REQUIRED #define IPHONE_SIMULATOR_HOST_MIN_VERSION_REQUIRED 999999 @@ -131,4 +136,6 @@ __attribute__((availability(macosx, introduced=10.14))) #define __API_AVAILABLE(...) #endif -#endif // __XPC_AVAILABILITY_H__ \ No newline at end of file +__END_DECLS + +#endif // __XPC_AVAILABILITY_H__ diff --git a/lib/libc/include/any-macos.13-any/xpc/base.h b/lib/libc/include/any-macos-any/xpc/base.h similarity index 97% rename from lib/libc/include/any-macos.13-any/xpc/base.h rename to lib/libc/include/any-macos-any/xpc/base.h index 34687cb583..493818131f 100644 --- a/lib/libc/include/any-macos.13-any/xpc/base.h +++ b/lib/libc/include/any-macos-any/xpc/base.h @@ -5,8 +5,6 @@ #include -__BEGIN_DECLS - #if !defined(__has_include) #define __has_include(x) 0 #endif // !defined(__has_include) @@ -35,6 +33,8 @@ __BEGIN_DECLS #error "Please #include instead of this file directly." #endif // __XPC_INDIRECT__ +__BEGIN_DECLS + #pragma mark Attribute Shims #ifdef __GNUC__ #define XPC_CONSTRUCTOR __attribute__((constructor)) @@ -239,6 +239,9 @@ __BEGIN_DECLS # define XPC_SWIFT_NAME(_name) // __has_attribute(swift_name) #endif +#define XPC_SWIFT_UNAVAILABLE(msg) __swift_unavailable(msg) +#define XPC_SWIFT_NOEXPORT XPC_SWIFT_UNAVAILABLE("Unavailable in Swift from the XPC C Module") + __END_DECLS -#endif // __XPC_BASE_H__ \ No newline at end of file +#endif // __XPC_BASE_H__ diff --git a/lib/libc/include/any-macos.13-any/xpc/connection.h b/lib/libc/include/any-macos-any/xpc/connection.h similarity index 99% rename from lib/libc/include/any-macos.13-any/xpc/connection.h rename to lib/libc/include/any-macos-any/xpc/connection.h index ac89af4e45..c7d3abab9a 100644 --- a/lib/libc/include/any-macos.13-any/xpc/connection.h +++ b/lib/libc/include/any-macos-any/xpc/connection.h @@ -782,7 +782,7 @@ xpc_connection_set_finalizer_f(xpc_connection_t connection, * * This API is not supported on embedded platforms and will return ENOTSUP. * - * @see https://developer.apple.com/library/archive/documentation/Security/Conceptual/CodeSigningGuide/RequirementLang/RequirementLang.html + * @see https://developer.apple.com/documentation/technotes/tn3127-inside-code-signing-requirements */ __API_AVAILABLE(macos(12.0)) XPC_EXPORT XPC_NONNULL_ALL XPC_WARN_RESULT @@ -793,4 +793,4 @@ xpc_connection_set_peer_code_signing_requirement(xpc_connection_t connection, co __END_DECLS XPC_ASSUME_NONNULL_END -#endif // __XPC_CONNECTION_H__ \ No newline at end of file +#endif // __XPC_CONNECTION_H__ diff --git a/lib/libc/include/any-macos-any/xpc/debug.h b/lib/libc/include/any-macos-any/xpc/debug.h index 8f86802951..462872b35a 100644 --- a/lib/libc/include/any-macos-any/xpc/debug.h +++ b/lib/libc/include/any-macos-any/xpc/debug.h @@ -1,6 +1,8 @@ #ifndef __XPC_DEBUG_H__ #define __XPC_DEBUG_H__ +__BEGIN_DECLS + /*! * @function xpc_debugger_api_misuse_info * Returns a pointer to a string describing the reason XPC aborted the calling @@ -20,4 +22,6 @@ XPC_DEBUGGER_EXCL const char * xpc_debugger_api_misuse_info(void); -#endif // __XPC_DEBUG_H__ \ No newline at end of file +__END_DECLS + +#endif // __XPC_DEBUG_H__ diff --git a/lib/libc/include/any-macos-any/xpc/endpoint.h b/lib/libc/include/any-macos-any/xpc/endpoint.h index a8032d98e3..c228b2c505 100644 --- a/lib/libc/include/any-macos-any/xpc/endpoint.h +++ b/lib/libc/include/any-macos-any/xpc/endpoint.h @@ -1,6 +1,8 @@ #ifndef __XPC_ENDPOINT_H__ #define __XPC_ENDPOINT_H__ +__BEGIN_DECLS + /*! * @function xpc_endpoint_create * Creates a new endpoint from a connection that is suitable for embedding into @@ -19,4 +21,6 @@ XPC_EXPORT XPC_MALLOC XPC_RETURNS_RETAINED XPC_WARN_RESULT XPC_NONNULL1 xpc_endpoint_t _Nonnull xpc_endpoint_create(xpc_connection_t _Nonnull connection); -#endif // __XPC_ENDPOINT_H__ \ No newline at end of file +__END_DECLS + +#endif // __XPC_ENDPOINT_H__ diff --git a/lib/libc/include/any-macos-any/xpc/listener.h b/lib/libc/include/any-macos-any/xpc/listener.h new file mode 100644 index 0000000000..3a0c8cabfe --- /dev/null +++ b/lib/libc/include/any-macos-any/xpc/listener.h @@ -0,0 +1,187 @@ +#ifndef __XPC_LISTENER_H__ +#define __XPC_LISTENER_H__ + +#ifndef __XPC_INDIRECT__ +#error "Please #include instead of this file directly." +// For HeaderDoc. +#include +#endif // __XPC_INDIRECT__ + +#ifndef __BLOCKS__ +#error "XPC Listener require Blocks support." +#endif // __BLOCKS__ + +XPC_ASSUME_NONNULL_BEGIN +__BEGIN_DECLS + +/*! + * @typedef xpc_listener_t + * + * @discussion + * Listeners represent the server side variant of an XPC Session. + * + * Listeners are activated and then begin receiving `xpc_session_t` from peers attempting to + * connect to the server + * + */ +OS_OBJECT_DECL_CLASS(xpc_listener); + +#pragma mark Constants +/*! + * @typedef xpc_listener_create_flags_t + * Constants representing different options available when creating an XPC + * Listener. + * + * @const XPC_LISTENER_CREATE_INACTIVE + * Indicates that the listener should not be activated during its creation. The + * returned listener must be manually activated using + * {@link xpc_listener_activate} before it can be used. + */ +XPC_SWIFT_NOEXPORT +XPC_FLAGS_ENUM(xpc_listener_create_flags, uint64_t, + XPC_LISTENER_CREATE_NONE XPC_SWIFT_NAME("none") = 0, + XPC_LISTENER_CREATE_INACTIVE XPC_SWIFT_NAME("inactive") = (1 << 0), +); + +#pragma mark Handlers +typedef void (^xpc_listener_incoming_session_handler_t)(xpc_session_t peer); + +#pragma mark Helpers +/*! + * @function xpc_listener_copy_description + * Copy the string description of the listener. + * + * @param listener + * The listener to be examined. + * + * @result + * The underlying C string description for the provided session. This string + * should be disposed of with free(3) when done. This will return NULL if a + * string description could not be generated. + */ +API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0), watchos(10.0)) +XPC_EXPORT XPC_SWIFT_NOEXPORT XPC_WARN_RESULT +char * _Nullable +xpc_listener_copy_description(xpc_listener_t listener); + +#pragma mark Server Session Creation +/*! + * @function xpc_listener_create + * Creates a listener with the service defined by the provided name + * + * @param service + * The Mach service or XPC Service name to create the listener with. + * + * @param target_queue + * The GCD queue onto which listener events will be submitted. This may be a + * concurrent queue. This parameter may be NULL, in which case the target queue + * will be libdispatch's default target queue, defined as + * DISPATCH_TARGET_QUEUE_DEFAULT. + * + * @param flags + * Additional attributes to create the listener. + * + * @param incoming_session_handler + * The handler block to be called when a peer is attempting to establish a + * connection with this listener. The incoming session handler is mandatory. + * + * @param error_out + * An out-parameter that, if set and in the event of an error, will point to an + * {@link xpc_rich_error_t} describing the details of any errors that occurred. + * + * @result + * On success this returns a new listener object. The returned listener is + * activated by default and will begin receiving incoming session requests. + * The caller is responsible for disposing of the returned object with + * {@link xpc_release} when it is no longer needed. On failure this will return + * NULL and if set, error_out will be set to an error describing the failure. + * + * @discussion + * This will fail if the specified XPC service is either not found or is + * unavailable. + * + * When the `incoming_session_handler` returns, the peer session will + * be automatically activated unless the peer session was explicitly cancelled. + * Before the `incoming_session_handler` returns it must set a message + * handler on the peer session using `xpc_session_set_incoming_message_handler` + * or cancel the session using `xpc_session_cancel`. Failure to take one of + * these two actions will result in an API misuse crash. + */ +API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0), watchos(10.0)) +XPC_EXPORT XPC_SWIFT_NOEXPORT XPC_RETURNS_RETAINED XPC_WARN_RESULT +xpc_listener_t _Nullable +xpc_listener_create(const char * service, + dispatch_queue_t _Nullable target_queue, + xpc_listener_create_flags_t flags, + xpc_listener_incoming_session_handler_t incoming_session_handler, + xpc_rich_error_t _Nullable * _Nullable error_out); + +#pragma mark Lifecycle +/*! + * @function xpc_listener_activate + * Activates a listener. + * + * @param listener + * The listener object to activate. + * + * @param error_out + * An out-parameter that, if set and in the event of an error, will point to an + * {@link xpc_rich_error_t} describing the details of any errors that occurred. + * + * @result + * Returns whether listener activation succeeded. + * + * @discussion + * xpc_listener_activate must not be called on a listener that has been already + * activated. Releasing the last reference on an inactive listener that was + * created with an xpc_listener_create() is undefined. + */ +API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0), watchos(10.0)) +XPC_EXPORT XPC_SWIFT_NOEXPORT +bool +xpc_listener_activate(xpc_listener_t listener, + xpc_rich_error_t _Nullable * _Nullable error_out); + +/*! + * @function xpc_listener_cancel + * Cancels a listener. + * + * @param listener + * The listener object to cancel. + * + * @discussion + * Cancellation is asynchronous and non-preemptive. + * + * Cancelling a listener will cause peers attempting to connect + * to the service to hang. In general, a listener does not need + * to be explicitly cancelled and the process can safely terminate + * without cancelling the listener. + */ +API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0), watchos(10.0)) +XPC_EXPORT XPC_SWIFT_NOEXPORT +void +xpc_listener_cancel(xpc_listener_t listener); + +/*! + * @function xpc_listener_reject_peer + * Rejects the incoming peer session + * + * @param peer + * The peer session object to reject. This must be a session that was an argument + * from an incoming session handler block + * + * @param reason + * The reason that the peer was rejected + * + * @discussion + * The peer session will be cancelled and cannot be used after it has been rejected + */ +API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0), watchos(10.0)) +XPC_EXPORT XPC_SWIFT_NOEXPORT +void +xpc_listener_reject_peer(xpc_session_t peer, const char *reason); + +__END_DECLS +XPC_ASSUME_NONNULL_END + +#endif // __XPC_LISTENER_H__ diff --git a/lib/libc/include/any-macos.13-any/xpc/rich_error.h b/lib/libc/include/any-macos-any/xpc/rich_error.h similarity index 97% rename from lib/libc/include/any-macos.13-any/xpc/rich_error.h rename to lib/libc/include/any-macos-any/xpc/rich_error.h index bea5c9a19f..c61f5f1c80 100644 --- a/lib/libc/include/any-macos.13-any/xpc/rich_error.h +++ b/lib/libc/include/any-macos-any/xpc/rich_error.h @@ -49,4 +49,4 @@ xpc_rich_error_can_retry(xpc_rich_error_t error); __END_DECLS XPC_ASSUME_NONNULL_END -#endif // __XPC_RICH_ERROR_H__ \ No newline at end of file +#endif // __XPC_RICH_ERROR_H__ diff --git a/lib/libc/include/any-macos.13-any/xpc/session.h b/lib/libc/include/any-macos-any/xpc/session.h similarity index 88% rename from lib/libc/include/any-macos.13-any/xpc/session.h rename to lib/libc/include/any-macos-any/xpc/session.h index 82885546ff..895ba45b95 100644 --- a/lib/libc/include/any-macos.13-any/xpc/session.h +++ b/lib/libc/include/any-macos-any/xpc/session.h @@ -31,6 +31,7 @@ __BEGIN_DECLS * privileged Mach bootstrap. This is typically accomplished by placing your * launchd.plist(5) in /Library/LaunchDaemons. */ +XPC_SWIFT_NOEXPORT XPC_FLAGS_ENUM(xpc_session_create_flags, uint64_t, XPC_SESSION_CREATE_NONE XPC_SWIFT_NAME("none") = 0, XPC_SESSION_CREATE_INACTIVE XPC_SWIFT_NAME("inactive") = (1 << 0), @@ -38,10 +39,10 @@ XPC_FLAGS_ENUM(xpc_session_create_flags, uint64_t, ); #pragma mark Handlers -typedef void (^xpc_session_cancel_handler_t)(xpc_rich_error_t error); -typedef void (^xpc_session_incoming_message_handler_t)(xpc_object_t message); +typedef void (^xpc_session_cancel_handler_t)(xpc_rich_error_t error) XPC_SWIFT_NOEXPORT; +typedef void (^xpc_session_incoming_message_handler_t)(xpc_object_t message) XPC_SWIFT_NOEXPORT; typedef void (^xpc_session_reply_handler_t)(xpc_object_t _Nullable reply, - xpc_rich_error_t _Nullable error); + xpc_rich_error_t _Nullable error) XPC_SWIFT_NOEXPORT; #pragma mark Helpers /*! @@ -57,7 +58,7 @@ typedef void (^xpc_session_reply_handler_t)(xpc_object_t _Nullable reply, * string description could not be generated. */ API_AVAILABLE(macos(13.0), ios(16.0), tvos(16.0), watchos(9.0)) -XPC_EXPORT XPC_WARN_RESULT +XPC_EXPORT XPC_SWIFT_NOEXPORT XPC_WARN_RESULT char * _Nullable xpc_session_copy_description(xpc_session_t session); @@ -94,7 +95,7 @@ xpc_session_copy_description(xpc_session_t session); * unavailable. */ API_AVAILABLE(macos(13.0), ios(16.0), tvos(16.0), watchos(9.0)) -XPC_EXPORT XPC_RETURNS_RETAINED XPC_WARN_RESULT +XPC_EXPORT XPC_SWIFT_NOEXPORT XPC_RETURNS_RETAINED XPC_WARN_RESULT xpc_session_t _Nullable xpc_session_create_xpc_service(const char *name, dispatch_queue_t _Nullable target_queue, @@ -139,7 +140,7 @@ xpc_session_create_xpc_service(const char *name, * */ API_AVAILABLE(macos(13.0), ios(16.0), tvos(16.0), watchos(9.0)) -XPC_EXPORT XPC_RETURNS_RETAINED XPC_WARN_RESULT +XPC_EXPORT XPC_SWIFT_NOEXPORT XPC_RETURNS_RETAINED XPC_WARN_RESULT xpc_session_t _Nullable xpc_session_create_mach_service(const char *mach_service, dispatch_queue_t _Nullable target_queue, @@ -163,7 +164,7 @@ xpc_session_create_mach_service(const char *mach_service, * with an existing event handler will replace it. */ API_AVAILABLE(macos(13.0), ios(16.0), tvos(16.0), watchos(9.0)) -XPC_EXPORT +XPC_EXPORT XPC_SWIFT_NOEXPORT void xpc_session_set_incoming_message_handler(xpc_session_t session, xpc_session_incoming_message_handler_t handler); @@ -184,11 +185,35 @@ xpc_session_set_incoming_message_handler(xpc_session_t session, * the one provided. */ API_AVAILABLE(macos(13.0), ios(16.0), tvos(16.0), watchos(9.0)) -XPC_EXPORT +XPC_EXPORT XPC_SWIFT_NOEXPORT void xpc_session_set_cancel_handler(xpc_session_t session, xpc_session_cancel_handler_t cancel_handler); +/*! + * @function xpc_session_set_target_queue + * Set the target queue for a session. + * + * @param session + * The session to set the target queue for. + * + * @param target_queue + * The GCD queue onto which session events will be submitted. This may be a + * concurrent queue. This parameter may be NULL, in which case the target queue + * will be libdispatch's default target queue, defined as + * DISPATCH_TARGET_QUEUE_DEFAULT. + * + * @discussion + * This can only be called on an inactive session. Calling this on a session + * with an existing target queue will replace the existing target queue with + * the one provided. + */ +API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0), watchos(10.0)) +XPC_EXPORT XPC_SWIFT_NOEXPORT +void +xpc_session_set_target_queue(xpc_session_t session, + dispatch_queue_t _Nullable target_queue); + #pragma mark Lifecycle /*! * @function xpc_session_activate @@ -207,10 +232,12 @@ xpc_session_set_cancel_handler(xpc_session_t session, * @discussion * xpc_session_activate must not be called on a session that has been already * activated. Releasing the last reference on an inactive session that was - * created with an xpc_session_create*() is undefined. + * created with an xpc_session_create*() will trigger an API misuse crash. + * + * If activation fails, the session is automatically cancelled. */ API_AVAILABLE(macos(13.0), ios(16.0), tvos(16.0), watchos(9.0)) -XPC_EXPORT +XPC_EXPORT XPC_SWIFT_NOEXPORT bool xpc_session_activate(xpc_session_t session, xpc_rich_error_t _Nullable * _Nullable error_out); @@ -230,7 +257,7 @@ xpc_session_activate(xpc_session_t session, * and non-preemptive. */ API_AVAILABLE(macos(13.0), ios(16.0), tvos(16.0), watchos(9.0)) -XPC_EXPORT +XPC_EXPORT XPC_SWIFT_NOEXPORT void xpc_session_cancel(xpc_session_t session); @@ -262,7 +289,7 @@ xpc_session_cancel(xpc_session_t session); * will crash. */ API_AVAILABLE(macos(13.0), ios(16.0), tvos(16.0), watchos(9.0)) -XPC_EXPORT XPC_RETURNS_RETAINED XPC_WARN_RESULT +XPC_EXPORT XPC_SWIFT_NOEXPORT XPC_RETURNS_RETAINED XPC_WARN_RESULT xpc_rich_error_t _Nullable xpc_session_send_message(xpc_session_t session, xpc_object_t message); @@ -303,7 +330,7 @@ xpc_session_send_message(xpc_session_t session, xpc_object_t message); * that results may be delivered asynchronously if possible. */ API_AVAILABLE(macos(13.0), ios(16.0), tvos(16.0), watchos(9.0)) -XPC_EXPORT XPC_RETURNS_RETAINED XPC_WARN_RESULT +XPC_EXPORT XPC_SWIFT_NOEXPORT XPC_RETURNS_RETAINED XPC_WARN_RESULT xpc_object_t _Nullable xpc_session_send_message_with_reply_sync(xpc_session_t session, xpc_object_t message, xpc_rich_error_t _Nullable * _Nullable error_out); @@ -335,7 +362,7 @@ xpc_session_send_message_with_reply_sync(xpc_session_t session, * crash. */ API_AVAILABLE(macos(13.0), ios(16.0), tvos(16.0), watchos(9.0)) -XPC_EXPORT +XPC_EXPORT XPC_SWIFT_NOEXPORT void xpc_session_send_message_with_reply_async(xpc_session_t session, xpc_object_t message, xpc_session_reply_handler_t reply_handler); @@ -343,4 +370,4 @@ xpc_session_send_message_with_reply_async(xpc_session_t session, __END_DECLS XPC_ASSUME_NONNULL_END -#endif // __XPC_SESSION_H__ \ No newline at end of file +#endif // __XPC_SESSION_H__ diff --git a/lib/libc/include/any-macos-any/xpc/xpc.h b/lib/libc/include/any-macos-any/xpc/xpc.h index 5fdc35ee8c..8f1ac0c866 100644 --- a/lib/libc/include/any-macos-any/xpc/xpc.h +++ b/lib/libc/include/any-macos-any/xpc/xpc.h @@ -210,7 +210,7 @@ XPC_TYPE(_xpc_type_double); /*! * @define XPC_TYPE_DATE -* A type representing a date interval. The interval is with respect to the + * A type representing a date interval. The interval is with respect to the * Unix epoch. XPC dates are in Unix time and are thus unaware of local time * or leap seconds. */ @@ -325,18 +325,52 @@ __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) XPC_EXPORT const char * const _xpc_event_key_name; +/*! + * @define XPC_TYPE_SESSION + * + * @discussion + * Sessions represent a stateful connection between a client and a service. When either end of the connection + * disconnects, the entire session will be invalidated. In this case the system will make no attempt to + * reestablish the connection or relaunch the service. + * + * Clients can initiate a session with a service that accepts xpc_connection_t connections but session + * semantics will be maintained. + * + */ +#define XPC_TYPE_SESSION (&_xpc_type_session) +XPC_EXPORT +XPC_TYPE(_xpc_type_session); +XPC_DECL(xpc_session); + +/*! + * @define XPC_TYPE_RICH_ERROR + * + * @discussion + * Rich errors provide a simple dynamic error type that can indicate whether an + * error is retry-able or not. + */ +#define XPC_TYPE_RICH_ERROR (&_xpc_type_rich_error) +XPC_EXPORT +XPC_TYPE(_xpc_type_rich_error); +XPC_DECL(xpc_rich_error); + +__END_DECLS XPC_ASSUME_NONNULL_END #if !defined(__XPC_BUILDING_XPC__) || !__XPC_BUILDING_XPC__ #include #include #if __BLOCKS__ -#include #include +#include +#include +#include +#include #endif // __BLOCKS__ #undef __XPC_INDIRECT__ #include #endif // !defined(__XPC_BUILDING_XPC__) || !__XPC_BUILDING_XPC__ XPC_ASSUME_NONNULL_BEGIN +__BEGIN_DECLS #pragma mark XPC Object Protocol /*! @@ -757,7 +791,7 @@ xpc_date_get_value(xpc_object_t xdate); __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) XPC_EXPORT XPC_MALLOC XPC_RETURNS_RETAINED XPC_WARN_RESULT xpc_object_t -xpc_data_create(const void * _Nullable bytes, size_t length); +xpc_data_create(const void * _Nullable XPC_SIZEDBY(length) bytes, size_t length); /*! * @function xpc_data_create_with_dispatch_data @@ -1166,7 +1200,9 @@ typedef bool (^xpc_array_applier_t)(size_t index, xpc_object_t _Nonnull value); __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) XPC_EXPORT XPC_MALLOC XPC_RETURNS_RETAINED XPC_WARN_RESULT xpc_object_t -xpc_array_create(const xpc_object_t _Nonnull * _Nullable objects, size_t count); +xpc_array_create( + const xpc_object_t _Nonnull *XPC_COUNTEDBY(count) _Nullable objects, + size_t count); /*! * @function xpc_array_create_empty @@ -1457,8 +1493,8 @@ xpc_array_set_date(xpc_object_t xarray, size_t index, int64_t value); __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) XPC_EXPORT XPC_NONNULL1 XPC_NONNULL3 void -xpc_array_set_data(xpc_object_t xarray, size_t index, const void *bytes, - size_t length); +xpc_array_set_data(xpc_object_t xarray, size_t index, + const void *XPC_SIZEDBY(length) bytes, size_t length); /*! * @function xpc_array_set_string @@ -1911,8 +1947,9 @@ typedef bool (^xpc_dictionary_applier_t)(const char * _Nonnull key, __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) XPC_EXPORT XPC_MALLOC XPC_RETURNS_RETAINED XPC_WARN_RESULT xpc_object_t -xpc_dictionary_create(const char * _Nonnull const * _Nullable keys, - const xpc_object_t _Nullable * _Nullable values, size_t count); +xpc_dictionary_create( + const char *XPC_CSTRING _Nonnull const *XPC_COUNTEDBY(count) _Nullable keys, + const xpc_object_t _Nullable *XPC_COUNTEDBY(count) _Nullable values, size_t count); /*! * @function xpc_dictionary_create_empty @@ -2210,8 +2247,8 @@ xpc_dictionary_set_date(xpc_object_t xdict, const char *key, int64_t value); __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) XPC_EXPORT XPC_NONNULL1 XPC_NONNULL2 XPC_NONNULL3 void -xpc_dictionary_set_data(xpc_object_t xdict, const char *key, const void *bytes, - size_t length); +xpc_dictionary_set_data(xpc_object_t xdict, const char *key, + const void *XPC_SIZEDBY(length) bytes, size_t length); /*! * @function xpc_dictionary_set_string @@ -2478,7 +2515,7 @@ xpc_dictionary_get_string(xpc_object_t xdict, const char *key); * The key whose value is to be obtained. * * @result - * The underlying uuid_t value for the specified key. NULL is the + * The underlying uuid_t value for the specified key. NULL if the * value at the specified index is not a UUID value. The returned pointer may be * safely passed to the uuid(3) APIs. */ @@ -2623,7 +2660,7 @@ xpc_main(xpc_connection_handler_t handler); * * The XPC runtime will automatically begin a transaction on behalf of a service * when a new message is received. If no reply message is expected, the - * transaction is automatically ended when the connection event handler returns. + * transaction is automatically ended when the last reference to the message is released. * If a reply message is created, the transaction will end when the reply * message is sent or released. An XPC service may use xpc_transaction_begin() * and xpc_transaction_end() to inform the XPC runtime about activity that @@ -2698,4 +2735,4 @@ xpc_set_event_stream_handler(const char *stream, __END_DECLS XPC_ASSUME_NONNULL_END -#endif // __XPC_H__ \ No newline at end of file +#endif // __XPC_H__ diff --git a/lib/libc/include/any-macos-any/zconf.h b/lib/libc/include/any-macos-any/zconf.h index 57a7090f9c..fd93e25a65 100644 --- a/lib/libc/include/any-macos-any/zconf.h +++ b/lib/libc/include/any-macos-any/zconf.h @@ -520,4 +520,4 @@ typedef unsigned long z_crc_t; #pragma map(inflate_copyright,"INCOPY") #endif -#endif /* ZCONF_H */ \ No newline at end of file +#endif /* ZCONF_H */ diff --git a/lib/libc/include/any-macos-any/zlib.h b/lib/libc/include/any-macos-any/zlib.h index ce1fbd6a68..320a280fdd 100644 --- a/lib/libc/include/any-macos-any/zlib.h +++ b/lib/libc/include/any-macos-any/zlib.h @@ -1,7 +1,7 @@ /* zlib.h -- interface of the 'zlib' general purpose compression library - version 1.2.11, January 15th, 2017 + version 1.2.12, March 11th, 2022 - Copyright (C) 1995-2017 Jean-loup Gailly and Mark Adler + Copyright (C) 1995-2022 Jean-loup Gailly and Mark Adler This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages @@ -32,6 +32,7 @@ #define ZLIB_H #include "zconf.h" + #ifdef __APPLE__ #include #else /* !__APPLE__ */ @@ -42,11 +43,11 @@ extern "C" { #endif -#define ZLIB_VERSION "1.2.11" -#define ZLIB_VERNUM 0x12b0 +#define ZLIB_VERSION "1.2.12" +#define ZLIB_VERNUM 0x12c0 #define ZLIB_VER_MAJOR 1 #define ZLIB_VER_MINOR 2 -#define ZLIB_VER_REVISION 11 +#define ZLIB_VER_REVISION 12 #define ZLIB_VER_SUBREVISION 0 /* @@ -548,8 +549,7 @@ ZEXTERN int ZEXPORT deflateInit2 OF((z_streamp strm, int strategy)); This is another version of deflateInit with more compression options. The - fields next_in, zalloc, zfree and opaque must be initialized before by the - caller. + fields zalloc, zfree and opaque must be initialized before by the caller. The method parameter is the compression method. It must be Z_DEFLATED in this version of the library. @@ -718,11 +718,12 @@ ZEXTERN int ZEXPORT deflateParams OF((z_streamp strm, used to switch between compression and straight copy of the input data, or to switch to a different kind of input data requiring a different strategy. If the compression approach (which is a function of the level) or the - strategy is changed, and if any input has been consumed in a previous - deflate() call, then the input available so far is compressed with the old - level and strategy using deflate(strm, Z_BLOCK). There are three approaches - for the compression levels 0, 1..3, and 4..9 respectively. The new level - and strategy will take effect at the next call of deflate(). + strategy is changed, and if there have been any deflate() calls since the + state was initialized or reset, then the input available so far is + compressed with the old level and strategy using deflate(strm, Z_BLOCK). + There are three approaches for the compression levels 0, 1..3, and 4..9 + respectively. The new level and strategy will take effect at the next call + of deflate(). If a deflate(strm, Z_BLOCK) is performed by deflateParams(), and it does not have enough output space to complete, then the parameter change will not @@ -872,9 +873,11 @@ ZEXTERN int ZEXPORT inflateInit2 OF((z_streamp strm, detection, or add 16 to decode only the gzip format (the zlib format will return a Z_DATA_ERROR). If a gzip stream is being decoded, strm->adler is a CRC-32 instead of an Adler-32. Unlike the gunzip utility and gzread() (see - below), inflate() will not automatically decode concatenated gzip streams. - inflate() will return Z_STREAM_END at the end of the gzip stream. The state - would need to be reset to continue decoding a subsequent gzip stream. + below), inflate() will *not* automatically decode concatenated gzip members. + inflate() will return Z_STREAM_END at the end of the gzip member. The state + would need to be reset to continue decoding a subsequent gzip member. This + *must* be done if there is more data after a gzip member, in order for the + decompression to be compliant with the gzip standard (RFC 1952). inflateInit2 returns Z_OK if success, Z_MEM_ERROR if there was not enough memory, Z_VERSION_ERROR if the zlib library version is incompatible with the @@ -1313,14 +1316,14 @@ typedef struct gzFile_s *gzFile; /* semi-opaque gzip file descriptor */ /* ZEXTERN gzFile ZEXPORT gzopen OF((const char *path, const char *mode)); - Opens a gzip (.gz) file for reading or writing. The mode parameter is as - in fopen ("rb" or "wb") but can also include a compression level ("wb9") or - a strategy: 'f' for filtered data as in "wb6f", 'h' for Huffman-only - compression as in "wb1h", 'R' for run-length encoding as in "wb1R", or 'F' - for fixed code compression as in "wb9F". (See the description of - deflateInit2 for more information about the strategy parameter.) 'T' will - request transparent writing or appending with no compression and not using - the gzip format. + Open the gzip (.gz) file at path for reading and decompressing, or + compressing and writing. The mode parameter is as in fopen ("rb" or "wb") + but can also include a compression level ("wb9") or a strategy: 'f' for + filtered data as in "wb6f", 'h' for Huffman-only compression as in "wb1h", + 'R' for run-length encoding as in "wb1R", or 'F' for fixed code compression + as in "wb9F". (See the description of deflateInit2 for more information + about the strategy parameter.) 'T' will request transparent writing or + appending with no compression and not using the gzip format. "a" can be used instead of "w" to request that the gzip stream that will be written be appended to the file. "+" will result in an error, since @@ -1350,9 +1353,9 @@ ZEXTERN gzFile ZEXPORT gzopen OF((const char *path, const char *mode)); ZEXTERN gzFile ZEXPORT gzdopen OF((int fd, const char *mode)); /* - gzdopen associates a gzFile with the file descriptor fd. File descriptors - are obtained from calls like open, dup, creat, pipe or fileno (if the file - has been previously opened with fopen). The mode parameter is as in gzopen. + Associate a gzFile with the file descriptor fd. File descriptors are + obtained from calls like open, dup, creat, pipe or fileno (if the file has + been previously opened with fopen). The mode parameter is as in gzopen. The next call of gzclose on the returned gzFile will also close the file descriptor fd, just like fclose(fdopen(fd, mode)) closes the file descriptor @@ -1374,13 +1377,13 @@ ZEXTERN gzFile ZEXPORT gzdopen OF((int fd, const char *mode)); ZEXTERN int ZEXPORT gzbuffer OF((gzFile file, unsigned size)) __API_AVAILABLE(macos(10.7),ios(5.0)); /* - Set the internal buffer size used by this library's functions. The - default buffer size is 8192 bytes. This function must be called after - gzopen() or gzdopen(), and before any other calls that read or write the - file. The buffer memory allocation is always deferred to the first read or - write. Three times that size in buffer space is allocated. A larger buffer - size of, for example, 64K or 128K bytes will noticeably increase the speed - of decompression (reading). + Set the internal buffer size used by this library's functions for file to + size. The default buffer size is 8192 bytes. This function must be called + after gzopen() or gzdopen(), and before any other calls that read or write + the file. The buffer memory allocation is always deferred to the first read + or write. Three times that size in buffer space is allocated. A larger + buffer size of, for example, 64K or 128K bytes will noticeably increase the + speed of decompression (reading). The new buffer size also affects the maximum length for gzprintf(). @@ -1390,9 +1393,9 @@ ZEXTERN int ZEXPORT gzbuffer OF((gzFile file, unsigned size)) ZEXTERN int ZEXPORT gzsetparams OF((gzFile file, int level, int strategy)); /* - Dynamically update the compression level or strategy. See the description - of deflateInit2 for the meaning of these parameters. Previously provided - data is flushed before the parameter change. + Dynamically update the compression level and strategy for file. See the + description of deflateInit2 for the meaning of these parameters. Previously + provided data is flushed before applying the parameter changes. gzsetparams returns Z_OK if success, Z_STREAM_ERROR if the file was not opened for writing, Z_ERRNO if there is an error writing the flushed data, @@ -1401,7 +1404,7 @@ ZEXTERN int ZEXPORT gzsetparams OF((gzFile file, int level, int strategy)); ZEXTERN int ZEXPORT gzread OF((gzFile file, voidp buf, unsigned len)); /* - Reads the given number of uncompressed bytes from the compressed file. If + Read and decompress up to len uncompressed bytes from file into buf. If the input file is not in gzip format, gzread copies the given number of bytes into the buffer directly from the file. @@ -1433,11 +1436,11 @@ ZEXTERN z_size_t ZEXPORT gzfread OF((voidp buf, z_size_t size, z_size_t nitems, gzFile file)) __API_AVAILABLE(macos(10.13),ios(11.0)); /* - Read up to nitems items of size size from file to buf, otherwise operating - as gzread() does. This duplicates the interface of stdio's fread(), with - size_t request and return types. If the library defines size_t, then - z_size_t is identical to size_t. If not, then z_size_t is an unsigned - integer type that can contain a pointer. + Read and decompress up to nitems items of size size from file into buf, + otherwise operating as gzread() does. This duplicates the interface of + stdio's fread(), with size_t request and return types. If the library + defines size_t, then z_size_t is identical to size_t. If not, then z_size_t + is an unsigned integer type that can contain a pointer. gzfread() returns the number of full items read of size size, or zero if the end of the file was reached and a full item could not be read, or if @@ -1459,16 +1462,15 @@ ZEXTERN z_size_t ZEXPORT gzfread OF((voidp buf, z_size_t size, z_size_t nitems, ZEXTERN int ZEXPORT gzwrite OF((gzFile file, voidpc buf, unsigned len)); /* - Writes the given number of uncompressed bytes into the compressed file. - gzwrite returns the number of uncompressed bytes written or 0 in case of - error. + Compress and write the len uncompressed bytes at buf to file. gzwrite + returns the number of uncompressed bytes written or 0 in case of error. */ ZEXTERN z_size_t ZEXPORT gzfwrite OF((voidpc buf, z_size_t size, z_size_t nitems, gzFile file)) __API_AVAILABLE(macos(10.13),ios(11.0)); /* - gzfwrite() writes nitems items of size size from buf to file, duplicating + Compress and write nitems items of size size from buf to file, duplicating the interface of stdio's fwrite(), with size_t request and return types. If the library defines size_t, then z_size_t is identical to size_t. If not, then z_size_t is an unsigned integer type that can contain a pointer. @@ -1481,22 +1483,22 @@ ZEXTERN z_size_t ZEXPORT gzfwrite OF((voidpc buf, z_size_t size, ZEXTERN int ZEXPORTVA gzprintf Z_ARG((gzFile file, const char *format, ...)); /* - Converts, formats, and writes the arguments to the compressed file under - control of the format string, as in fprintf. gzprintf returns the number of + Convert, format, compress, and write the arguments (...) to file under + control of the string format, as in fprintf. gzprintf returns the number of uncompressed bytes actually written, or a negative zlib error code in case of error. The number of uncompressed bytes written is limited to 8191, or one less than the buffer size given to gzbuffer(). The caller should assure that this limit is not exceeded. If it is exceeded, then gzprintf() will return an error (0) with nothing written. In this case, there may also be a buffer overflow with unpredictable consequences, which is possible only if - zlib was compiled with the insecure functions sprintf() or vsprintf() + zlib was compiled with the insecure functions sprintf() or vsprintf(), because the secure snprintf() or vsnprintf() functions were not available. This can be determined using zlibCompileFlags(). */ ZEXTERN int ZEXPORT gzputs OF((gzFile file, const char *s)); /* - Writes the given null-terminated string to the compressed file, excluding + Compress and write the given null-terminated string s to file, excluding the terminating null character. gzputs returns the number of characters written, or -1 in case of error. @@ -1504,11 +1506,12 @@ ZEXTERN int ZEXPORT gzputs OF((gzFile file, const char *s)); ZEXTERN char * ZEXPORT gzgets OF((gzFile file, char *buf, int len)); /* - Reads bytes from the compressed file until len-1 characters are read, or a - newline character is read and transferred to buf, or an end-of-file - condition is encountered. If any characters are read or if len == 1, the - string is terminated with a null character. If no characters are read due - to an end-of-file or len < 1, then the buffer is left untouched. + Read and decompress bytes from file into buf, until len-1 characters are + read, or until a newline character is read and transferred to buf, or an + end-of-file condition is encountered. If any characters are read or if len + is one, the string is terminated with a null character. If no characters + are read due to an end-of-file or len is less than one, then the buffer is + left untouched. gzgets returns buf which is a null-terminated string, or it returns NULL for end-of-file or in case of error. If there was an error, the contents at @@ -1517,13 +1520,13 @@ ZEXTERN char * ZEXPORT gzgets OF((gzFile file, char *buf, int len)); ZEXTERN int ZEXPORT gzputc OF((gzFile file, int c)); /* - Writes c, converted to an unsigned char, into the compressed file. gzputc + Compress and write c, converted to an unsigned char, into file. gzputc returns the value that was written, or -1 in case of error. */ ZEXTERN int ZEXPORT gzgetc OF((gzFile file)); /* - Reads one byte from the compressed file. gzgetc returns this byte or -1 + Read and decompress one byte from file. gzgetc returns this byte or -1 in case of end of file or error. This is implemented as a macro for speed. As such, it does not do all of the checking the other functions do. I.e. it does not check to see if file is NULL, nor whether the structure file @@ -1532,8 +1535,8 @@ ZEXTERN int ZEXPORT gzgetc OF((gzFile file)); ZEXTERN int ZEXPORT gzungetc OF((int c, gzFile file)); /* - Push one character back onto the stream to be read as the first character - on the next read. At least one character of push-back is allowed. + Push c back onto the stream for file to be read as the first character on + the next read. At least one character of push-back is always allowed. gzungetc() returns the character pushed, or -1 on failure. gzungetc() will fail if c is -1, and may fail if a character has been pushed but not read yet. If gzungetc is used immediately after gzopen or gzdopen, at least the @@ -1544,9 +1547,9 @@ ZEXTERN int ZEXPORT gzungetc OF((int c, gzFile file)); ZEXTERN int ZEXPORT gzflush OF((gzFile file, int flush)); /* - Flushes all pending output into the compressed file. The parameter flush - is as in the deflate() function. The return value is the zlib error number - (see function gzerror below). gzflush is only permitted when writing. + Flush all pending output to file. The parameter flush is as in the + deflate() function. The return value is the zlib error number (see function + gzerror below). gzflush is only permitted when writing. If the flush parameter is Z_FINISH, the remaining data is written and the gzip stream is completed in the output. If gzwrite() is called again, a new @@ -1561,8 +1564,8 @@ ZEXTERN int ZEXPORT gzflush OF((gzFile file, int flush)); ZEXTERN z_off_t ZEXPORT gzseek OF((gzFile file, z_off_t offset, int whence)); - Sets the starting position for the next gzread or gzwrite on the given - compressed file. The offset represents a number of bytes in the + Set the starting position to offset relative to whence for the next gzread + or gzwrite on file. The offset represents a number of bytes in the uncompressed data stream. The whence parameter is defined as in lseek(2); the value SEEK_END is not supported. @@ -1579,18 +1582,18 @@ ZEXTERN z_off_t ZEXPORT gzseek OF((gzFile file, ZEXTERN int ZEXPORT gzrewind OF((gzFile file)); /* - Rewinds the given file. This function is supported only for reading. + Rewind file. This function is supported only for reading. - gzrewind(file) is equivalent to (int)gzseek(file, 0L, SEEK_SET) + gzrewind(file) is equivalent to (int)gzseek(file, 0L, SEEK_SET). */ /* ZEXTERN z_off_t ZEXPORT gztell OF((gzFile file)); - Returns the starting position for the next gzread or gzwrite on the given - compressed file. This position represents a number of bytes in the - uncompressed data stream, and is zero when starting, even if appending or - reading a gzip stream from the middle of a file using gzdopen(). + Return the starting position for the next gzread or gzwrite on file. + This position represents a number of bytes in the uncompressed data stream, + and is zero when starting, even if appending or reading a gzip stream from + the middle of a file using gzdopen(). gztell(file) is equivalent to gzseek(file, 0L, SEEK_CUR) */ @@ -1598,22 +1601,22 @@ ZEXTERN z_off_t ZEXPORT gztell OF((gzFile file)); /* ZEXTERN z_off_t ZEXPORT gzoffset OF((gzFile file)); - Returns the current offset in the file being read or written. This offset - includes the count of bytes that precede the gzip stream, for example when - appending or when using gzdopen() for reading. When reading, the offset - does not include as yet unused buffered input. This information can be used - for a progress indicator. On error, gzoffset() returns -1. + Return the current compressed (actual) read or write offset of file. This + offset includes the count of bytes that precede the gzip stream, for example + when appending or when using gzdopen() for reading. When reading, the + offset does not include as yet unused buffered input. This information can + be used for a progress indicator. On error, gzoffset() returns -1. */ ZEXTERN int ZEXPORT gzeof OF((gzFile file)); /* - Returns true (1) if the end-of-file indicator has been set while reading, - false (0) otherwise. Note that the end-of-file indicator is set only if the - read tried to go past the end of the input, but came up short. Therefore, - just like feof(), gzeof() may return false even if there is no more data to - read, in the event that the last read request was for the exact number of - bytes remaining in the input file. This will happen if the input file size - is an exact multiple of the buffer size. + Return true (1) if the end-of-file indicator for file has been set while + reading, false (0) otherwise. Note that the end-of-file indicator is set + only if the read tried to go past the end of the input, but came up short. + Therefore, just like feof(), gzeof() may return false even if there is no + more data to read, in the event that the last read request was for the exact + number of bytes remaining in the input file. This will happen if the input + file size is an exact multiple of the buffer size. If gzeof() returns true, then the read functions will return no more data, unless the end-of-file indicator is reset by gzclearerr() and the input file @@ -1622,7 +1625,7 @@ ZEXTERN int ZEXPORT gzeof OF((gzFile file)); ZEXTERN int ZEXPORT gzdirect OF((gzFile file)); /* - Returns true (1) if file is being copied directly while reading, or false + Return true (1) if file is being copied directly while reading, or false (0) if file is a gzip stream being decompressed. If the input file is empty, gzdirect() will return true, since the input @@ -1643,8 +1646,8 @@ ZEXTERN int ZEXPORT gzdirect OF((gzFile file)); ZEXTERN int ZEXPORT gzclose OF((gzFile file)); /* - Flushes all pending output if necessary, closes the compressed file and - deallocates the (de)compression state. Note that once file is closed, you + Flush all pending output for file, if necessary, close file and + deallocate the (de)compression state. Note that once file is closed, you cannot call gzerror with file, since its structures have been deallocated. gzclose must not be called more than once on the same file, just as free must not be called more than once on the same allocation. @@ -1666,7 +1669,7 @@ ZEXTERN int ZEXPORT gzclose_w OF((gzFile file)) writing respectively. If gzclose() is used, then both compression and decompression code will be included the application when linking to a static zlib library. - + Because Mac OS X doesn't use a static zlib library, these routine are of no value for Mac OS X-only applications, and gzclose() is recommended instead. @@ -1674,10 +1677,10 @@ ZEXTERN int ZEXPORT gzclose_w OF((gzFile file)) ZEXTERN const char * ZEXPORT gzerror OF((gzFile file, int *errnum)); /* - Returns the error message for the last error which occurred on the given - compressed file. errnum is set to zlib error number. If an error occurred - in the file system and not in the compression library, errnum is set to - Z_ERRNO and the application may consult errno to get the exact error code. + Return the error message for the last error which occurred on file. + errnum is set to zlib error number. If an error occurred in the file system + and not in the compression library, errnum is set to Z_ERRNO and the + application may consult errno to get the exact error code. The application must not modify the returned string. Future calls to this function may invalidate the previously returned string. If file is @@ -1690,7 +1693,7 @@ ZEXTERN const char * ZEXPORT gzerror OF((gzFile file, int *errnum)); ZEXTERN void ZEXPORT gzclearerr OF((gzFile file)); /* - Clears the error and end-of-file flags for file. This is analogous to the + Clear the error and end-of-file flags for file. This is analogous to the clearerr() function in stdio. This is useful for continuing to read a gzip file that is being written concurrently. */ @@ -1708,8 +1711,9 @@ ZEXTERN void ZEXPORT gzclearerr OF((gzFile file)); ZEXTERN uLong ZEXPORT adler32 OF((uLong adler, const Bytef *buf, uInt len)); /* Update a running Adler-32 checksum with the bytes buf[0..len-1] and - return the updated checksum. If buf is Z_NULL, this function returns the - required initial value for the checksum. + return the updated checksum. An Adler-32 value is in the range of a 32-bit + unsigned integer. If buf is Z_NULL, this function returns the required + initial value for the checksum. An Adler-32 checksum is almost as reliable as a CRC-32 but can be computed much faster. @@ -1743,12 +1747,13 @@ ZEXTERN uLong ZEXPORT adler32_combine OF((uLong adler1, uLong adler2, negative, the result has no meaning or utility. */ -ZEXTERN uLong ZEXPORT crc32 OF((uLong crc, const Bytef *buf, uInt len)); +ZEXTERN uLong ZEXPORT crc32 OF((uLong crc, const Bytef *buf, uInt len)); /* Update a running CRC-32 with the bytes buf[0..len-1] and return the - updated CRC-32. If buf is Z_NULL, this function returns the required - initial value for the crc. Pre- and post-conditioning (one's complement) is - performed within this function so it shouldn't be done by the application. + updated CRC-32. A CRC-32 value is in the range of a 32-bit unsigned integer. + If buf is Z_NULL, this function returns the required initial value for the + crc. Pre- and post-conditioning (one's complement) is performed within this + function so it shouldn't be done by the application. Usage example: @@ -1760,7 +1765,7 @@ ZEXTERN uLong ZEXPORT crc32 OF((uLong crc, const Bytef *buf, uInt len)); if (crc != original_crc) error(); */ -ZEXTERN uLong ZEXPORT crc32_z OF((uLong adler, const Bytef *buf, +ZEXTERN uLong ZEXPORT crc32_z OF((uLong crc, const Bytef *buf, z_size_t len)) __API_AVAILABLE(macos(10.13),ios(11.0)); /* @@ -1777,6 +1782,21 @@ ZEXTERN uLong ZEXPORT crc32_combine OF((uLong crc1, uLong crc2, z_off_t len2)); len2. */ +/* +ZEXTERN uLong ZEXPORT crc32_combine_gen OF((z_off_t len2)); + + Return the operator corresponding to length len2, to be used with + crc32_combine_op(). +*/ + +ZEXTERN uLong ZEXPORT crc32_combine_op OF((uLong crc1, uLong crc2, uLong op)) + __API_AVAILABLE(macos(14.0),ios(17.0)); +/* + Give the same result as crc32_combine(), using op in place of len2. op is + is generated from len2 by crc32_combine_gen(). This will be faster than + crc32_combine() if the generated op is used more than once. +*/ + /* various hacks, don't look :) */ @@ -1865,6 +1885,7 @@ ZEXTERN int ZEXPORT gzgetc_ OF((gzFile file)) ZEXTERN z_off64_t ZEXPORT gzoffset64 OF((gzFile)); ZEXTERN uLong ZEXPORT adler32_combine64 OF((uLong, uLong, z_off64_t)); ZEXTERN uLong ZEXPORT crc32_combine64 OF((uLong, uLong, z_off64_t)); + ZEXTERN uLong ZEXPORT crc32_combine_gen64 OF((z_off64_t)); #endif #if !defined(ZLIB_INTERNAL) && defined(Z_WANT64) @@ -1875,6 +1896,7 @@ ZEXTERN int ZEXPORT gzgetc_ OF((gzFile file)) # define z_gzoffset z_gzoffset64 # define z_adler32_combine z_adler32_combine64 # define z_crc32_combine z_crc32_combine64 +# define z_crc32_combine_gen z_crc32_combine_gen64 # else # define gzopen gzopen64 # define gzseek gzseek64 @@ -1882,6 +1904,7 @@ ZEXTERN int ZEXPORT gzgetc_ OF((gzFile file)) # define gzoffset gzoffset64 # define adler32_combine adler32_combine64 # define crc32_combine crc32_combine64 +# define crc32_combine_gen crc32_combine_gen64 # endif # ifndef Z_LARGE64 ZEXTERN gzFile ZEXPORT gzopen64 OF((const char *, const char *)); @@ -1890,6 +1913,7 @@ ZEXTERN int ZEXPORT gzgetc_ OF((gzFile file)) ZEXTERN z_off_t ZEXPORT gzoffset64 OF((gzFile)); ZEXTERN uLong ZEXPORT adler32_combine64 OF((uLong, uLong, z_off_t)); ZEXTERN uLong ZEXPORT crc32_combine64 OF((uLong, uLong, z_off_t)); + ZEXTERN uLong ZEXPORT crc32_combine_gen64 OF((z_off_t)); # endif #else ZEXTERN gzFile ZEXPORT gzopen OF((const char *, const char *)); @@ -1899,12 +1923,14 @@ ZEXTERN int ZEXPORT gzgetc_ OF((gzFile file)) __API_AVAILABLE(macos(10.7),ios(5.0)); ZEXTERN uLong ZEXPORT adler32_combine OF((uLong, uLong, z_off_t)); ZEXTERN uLong ZEXPORT crc32_combine OF((uLong, uLong, z_off_t)); + ZEXTERN uLong ZEXPORT crc32_combine_gen OF((z_off_t)) + __API_AVAILABLE(macos(14.0),ios(17.0)); #endif #else /* Z_SOLO */ - ZEXTERN uLong ZEXPORT adler32_combine OF((uLong, uLong, z_off_t)); ZEXTERN uLong ZEXPORT crc32_combine OF((uLong, uLong, z_off_t)); + ZEXTERN uLong ZEXPORT crc32_combine_gen OF((z_off_t)); #endif /* !Z_SOLO */ @@ -1922,7 +1948,7 @@ ZEXTERN int ZEXPORT inflateResetKeep OF((z_streamp)) __API_AVAILABLE(macos(10.10),ios(8.0)); ZEXTERN int ZEXPORT deflateResetKeep OF((z_streamp)) __API_AVAILABLE(macos(10.10),ios(8.0)); -#if (defined(_WIN32) || defined(__CYGWIN__)) && !defined(Z_SOLO) +#if defined(_WIN32) && !defined(Z_SOLO) ZEXTERN gzFile ZEXPORT gzopen_w OF((const wchar_t *path, const char *mode)); #endif @@ -1943,4 +1969,4 @@ ZEXTERN int ZEXPORTVA gzvprintf Z_ARG((gzFile file, #undef __API_AVAILABLE #endif /* !__APPLE__ */ -#endif /* ZLIB_H */ \ No newline at end of file +#endif /* ZLIB_H */ diff --git a/lib/libc/include/any-macos.11-any/AssertMacros.h b/lib/libc/include/any-macos.11-any/AssertMacros.h deleted file mode 100644 index 7dc2e589af..0000000000 --- a/lib/libc/include/any-macos.11-any/AssertMacros.h +++ /dev/null @@ -1,1441 +0,0 @@ -/* - * Copyright (c) 2002-2017 by 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@ - */ - - -/* - File: AssertMacros.h - - Contains: This file defines structured error handling and assertion macros for - programming in C. Originally used in QuickDraw GX and later enhanced. - These macros are used throughout Apple's software. - - New code may not want to begin adopting these macros and instead use - existing language functionality. - - See "Living In an Exceptional World" by Sean Parent - (develop, The Apple Technical Journal, Issue 11, August/September 1992) - or - - for the methodology behind these error handling and assertion macros. - - Bugs?: For bug reports, consult the following page on - the World Wide Web: - - http://developer.apple.com/bugreporter/ -*/ -#ifndef __ASSERTMACROS__ -#define __ASSERTMACROS__ - -#ifdef DEBUG_ASSERT_CONFIG_INCLUDE - #include DEBUG_ASSERT_CONFIG_INCLUDE -#endif - -/* - * Macro overview: - * - * check(assertion) - * In production builds, pre-processed away - * In debug builds, if assertion evaluates to false, calls DEBUG_ASSERT_MESSAGE - * - * verify(assertion) - * In production builds, evaluates assertion and does nothing - * In debug builds, if assertion evaluates to false, calls DEBUG_ASSERT_MESSAGE - * - * require(assertion, exceptionLabel) - * In production builds, if the assertion expression evaluates to false, goto exceptionLabel - * In debug builds, if the assertion expression evaluates to false, calls DEBUG_ASSERT_MESSAGE - * and jumps to exceptionLabel - * - * In addition the following suffixes are available: - * - * _noerr Adds "!= 0" to assertion. Useful for asserting and OSStatus or OSErr is noErr (zero) - * _action Adds statement to be executued if assertion fails - * _quiet Suppress call to DEBUG_ASSERT_MESSAGE - * _string Allows you to add explanitory message to DEBUG_ASSERT_MESSAGE - * - * For instance, require_noerr_string(resultCode, label, msg) will do nothing if - * resultCode is zero, otherwise it will call DEBUG_ASSERT_MESSAGE with msg - * and jump to label. - * - * Configuration: - * - * By default all macros generate "production code" (i.e non-debug). If - * DEBUG_ASSERT_PRODUCTION_CODE is defined to zero or DEBUG is defined to non-zero - * while this header is included, the macros will generated debug code. - * - * If DEBUG_ASSERT_COMPONENT_NAME_STRING is defined, all debug messages will - * be prefixed with it. - * - * By default, all messages write to stderr. If you would like to write a custom - * error message formater, defined DEBUG_ASSERT_MESSAGE to your function name. - * - * Each individual macro will only be defined if it is not already defined, so - * you can redefine their behavior singly by providing your own definition before - * this file is included. - * - * If you define __ASSERTMACROS__ before this file is included, then nothing in - * this file will take effect. - * - * Prior to Mac OS X 10.6 the macro names used in this file conflicted with some - * user code, including libraries in boost and the proposed C++ standards efforts, - * and there was no way for a client of this header to resolve this conflict. Because - * of this, most of the macros have been changed so that they are prefixed with - * __ and contain at least one capital letter, which should alleviate the current - * and future conflicts. However, to allow current sources to continue to compile, - * compatibility macros are defined at the end with the old names. A tops script - * at the end of this file will convert all of the old macro names used in a directory - * to the new names. Clients are recommended to migrate over to these new macros as - * they update their sources because a future release of Mac OS X will remove the - * old macro definitions ( without the double-underscore prefix ). Clients who - * want to compile without the old macro definitions can define the macro - * __ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES to 0 before this file is - * included. - */ - - -/* - * Before including this file, #define DEBUG_ASSERT_COMPONENT_NAME_STRING to - * a C-string containing the name of your client. This string will be passed to - * the DEBUG_ASSERT_MESSAGE macro for inclusion in any assertion messages. - * - * If you do not define DEBUG_ASSERT_COMPONENT_NAME_STRING, the default - * DEBUG_ASSERT_COMPONENT_NAME_STRING value, an empty string, will be used by - * the assertion macros. - */ -#ifndef DEBUG_ASSERT_COMPONENT_NAME_STRING - #define DEBUG_ASSERT_COMPONENT_NAME_STRING "" -#endif - - -/* - * To activate the additional assertion code and messages for non-production builds, - * #define DEBUG_ASSERT_PRODUCTION_CODE to zero before including this file. - * - * If you do not define DEBUG_ASSERT_PRODUCTION_CODE, the default value 1 will be used - * (production code = no assertion code and no messages). - */ -#ifndef DEBUG_ASSERT_PRODUCTION_CODE - #define DEBUG_ASSERT_PRODUCTION_CODE !DEBUG -#endif - - -/* - * DEBUG_ASSERT_MESSAGE(component, assertion, label, error, file, line, errorCode) - * - * Summary: - * All assertion messages are routed through this macro. If you wish to use your - * own routine to display assertion messages, you can override DEBUG_ASSERT_MESSAGE - * by #defining DEBUG_ASSERT_MESSAGE before including this file. - * - * Parameters: - * - * componentNameString: - * A pointer to a string constant containing the name of the - * component this code is part of. This must be a string constant - * (and not a string variable or NULL) because the preprocessor - * concatenates it with other string constants. - * - * assertionString: - * A pointer to a string constant containing the assertion. - * This must be a string constant (and not a string variable or - * NULL) because the Preprocessor concatenates it with other - * string constants. - * - * exceptionLabelString: - * A pointer to a string containing the exceptionLabel, or NULL. - * - * errorString: - * A pointer to the error string, or NULL. DEBUG_ASSERT_MESSAGE macros - * must not attempt to concatenate this string with constant - * character strings. - * - * fileName: - * A pointer to the fileName or pathname (generated by the - * preprocessor __FILE__ identifier), or NULL. - * - * lineNumber: - * The line number in the file (generated by the preprocessor - * __LINE__ identifier), or 0 (zero). - * - * errorCode: - * A value associated with the assertion, or 0. - * - * Here is an example of a DEBUG_ASSERT_MESSAGE macro and a routine which displays - * assertion messsages: - * - * #define DEBUG_ASSERT_COMPONENT_NAME_STRING "MyCoolProgram" - * - * #define DEBUG_ASSERT_MESSAGE(componentNameString, assertionString, \ - * exceptionLabelString, errorString, fileName, lineNumber, errorCode) \ - * MyProgramDebugAssert(componentNameString, assertionString, \ - * exceptionLabelString, errorString, fileName, lineNumber, errorCode) - * - * static void - * MyProgramDebugAssert(const char *componentNameString, const char *assertionString, - * const char *exceptionLabelString, const char *errorString, - * const char *fileName, long lineNumber, int errorCode) - * { - * if ( (assertionString != NULL) && (*assertionString != '\0') ) - * fprintf(stderr, "Assertion failed: %s: %s\n", componentNameString, assertionString); - * else - * fprintf(stderr, "Check failed: %s:\n", componentNameString); - * if ( exceptionLabelString != NULL ) - * fprintf(stderr, " %s\n", exceptionLabelString); - * if ( errorString != NULL ) - * fprintf(stderr, " %s\n", errorString); - * if ( fileName != NULL ) - * fprintf(stderr, " file: %s\n", fileName); - * if ( lineNumber != 0 ) - * fprintf(stderr, " line: %ld\n", lineNumber); - * if ( errorCode != 0 ) - * fprintf(stderr, " error: %d\n", errorCode); - * } - * - * If you do not define DEBUG_ASSERT_MESSAGE, a simple printf to stderr will be used. - */ -#ifndef DEBUG_ASSERT_MESSAGE - #ifdef KERNEL - #include - #define DEBUG_ASSERT_MESSAGE(name, assertion, label, message, file, line, value) \ - printf( "AssertMacros: %s, %s file: %s, line: %d, value: %ld\n", assertion, (message!=0) ? message : "", file, line, (long) (value)); - #else - #include - #define DEBUG_ASSERT_MESSAGE(name, assertion, label, message, file, line, value) \ - fprintf(stderr, "AssertMacros: %s, %s file: %s, line: %d, value: %ld\n", assertion, (message!=0) ? message : "", file, line, (long) (value)); - #endif -#endif - - - - - -/* - * __Debug_String(message) - * - * Summary: - * Production builds: does nothing and produces no code. - * - * Non-production builds: call DEBUG_ASSERT_MESSAGE. - * - * Parameters: - * - * message: - * The C string to display. - * - */ -#ifndef __Debug_String - #if DEBUG_ASSERT_PRODUCTION_CODE - #define __Debug_String(message) - #else - #define __Debug_String(message) \ - do \ - { \ - DEBUG_ASSERT_MESSAGE( \ - DEBUG_ASSERT_COMPONENT_NAME_STRING, \ - "", \ - 0, \ - message, \ - __FILE__, \ - __LINE__, \ - 0); \ - } while ( 0 ) - #endif -#endif - -/* - * __Check(assertion) - * - * Summary: - * Production builds: does nothing and produces no code. - * - * Non-production builds: if the assertion expression evaluates to false, - * call DEBUG_ASSERT_MESSAGE. - * - * Parameters: - * - * assertion: - * The assertion expression. - */ -#ifndef __Check - #if DEBUG_ASSERT_PRODUCTION_CODE - #define __Check(assertion) - #else - #define __Check(assertion) \ - do \ - { \ - if ( __builtin_expect(!(assertion), 0) ) \ - { \ - DEBUG_ASSERT_MESSAGE( \ - DEBUG_ASSERT_COMPONENT_NAME_STRING, \ - #assertion, 0, 0, __FILE__, __LINE__, 0 ); \ - } \ - } while ( 0 ) - #endif -#endif - -#ifndef __nCheck - #define __nCheck(assertion) __Check(!(assertion)) -#endif - -/* - * __Check_String(assertion, message) - * - * Summary: - * Production builds: does nothing and produces no code. - * - * Non-production builds: if the assertion expression evaluates to false, - * call DEBUG_ASSERT_MESSAGE. - * - * Parameters: - * - * assertion: - * The assertion expression. - * - * message: - * The C string to display. - */ -#ifndef __Check_String - #if DEBUG_ASSERT_PRODUCTION_CODE - #define __Check_String(assertion, message) - #else - #define __Check_String(assertion, message) \ - do \ - { \ - if ( __builtin_expect(!(assertion), 0) ) \ - { \ - DEBUG_ASSERT_MESSAGE( \ - DEBUG_ASSERT_COMPONENT_NAME_STRING, \ - #assertion, 0, message, __FILE__, __LINE__, 0 ); \ - } \ - } while ( 0 ) - #endif -#endif - -#ifndef __nCheck_String - #define __nCheck_String(assertion, message) __Check_String(!(assertion), message) -#endif - -/* - * __Check_noErr(errorCode) - * - * Summary: - * Production builds: does nothing and produces no code. - * - * Non-production builds: if the errorCode expression does not equal 0 (noErr), - * call DEBUG_ASSERT_MESSAGE. - * - * Parameters: - * - * errorCode: - * The errorCode expression to compare with 0. - */ -#ifndef __Check_noErr - #if DEBUG_ASSERT_PRODUCTION_CODE - #define __Check_noErr(errorCode) - #else - #define __Check_noErr(errorCode) \ - do \ - { \ - long evalOnceErrorCode = (errorCode); \ - if ( __builtin_expect(0 != evalOnceErrorCode, 0) ) \ - { \ - DEBUG_ASSERT_MESSAGE( \ - DEBUG_ASSERT_COMPONENT_NAME_STRING, \ - #errorCode " == 0 ", 0, 0, __FILE__, __LINE__, evalOnceErrorCode ); \ - } \ - } while ( 0 ) - #endif -#endif - -/* - * __Check_noErr_String(errorCode, message) - * - * Summary: - * Production builds: check_noerr_string() does nothing and produces - * no code. - * - * Non-production builds: if the errorCode expression does not equal 0 (noErr), - * call DEBUG_ASSERT_MESSAGE. - * - * Parameters: - * - * errorCode: - * The errorCode expression to compare to 0. - * - * message: - * The C string to display. - */ -#ifndef __Check_noErr_String - #if DEBUG_ASSERT_PRODUCTION_CODE - #define __Check_noErr_String(errorCode, message) - #else - #define __Check_noErr_String(errorCode, message) \ - do \ - { \ - long evalOnceErrorCode = (errorCode); \ - if ( __builtin_expect(0 != evalOnceErrorCode, 0) ) \ - { \ - DEBUG_ASSERT_MESSAGE( \ - DEBUG_ASSERT_COMPONENT_NAME_STRING, \ - #errorCode " == 0 ", 0, message, __FILE__, __LINE__, evalOnceErrorCode ); \ - } \ - } while ( 0 ) - #endif -#endif - -/* - * __Verify(assertion) - * - * Summary: - * Production builds: evaluate the assertion expression, but ignore - * the result. - * - * Non-production builds: if the assertion expression evaluates to false, - * call DEBUG_ASSERT_MESSAGE. - * - * Parameters: - * - * assertion: - * The assertion expression. - */ -#ifndef __Verify - #if DEBUG_ASSERT_PRODUCTION_CODE - #define __Verify(assertion) \ - do \ - { \ - if ( !(assertion) ) \ - { \ - } \ - } while ( 0 ) - #else - #define __Verify(assertion) \ - do \ - { \ - if ( __builtin_expect(!(assertion), 0) ) \ - { \ - DEBUG_ASSERT_MESSAGE( \ - DEBUG_ASSERT_COMPONENT_NAME_STRING, \ - #assertion, 0, 0, __FILE__, __LINE__, 0 ); \ - } \ - } while ( 0 ) - #endif -#endif - -#ifndef __nVerify - #define __nVerify(assertion) __Verify(!(assertion)) -#endif - -/* - * __Verify_String(assertion, message) - * - * Summary: - * Production builds: evaluate the assertion expression, but ignore - * the result. - * - * Non-production builds: if the assertion expression evaluates to false, - * call DEBUG_ASSERT_MESSAGE. - * - * Parameters: - * - * assertion: - * The assertion expression. - * - * message: - * The C string to display. - */ -#ifndef __Verify_String - #if DEBUG_ASSERT_PRODUCTION_CODE - #define __Verify_String(assertion, message) \ - do \ - { \ - if ( !(assertion) ) \ - { \ - } \ - } while ( 0 ) - #else - #define __Verify_String(assertion, message) \ - do \ - { \ - if ( __builtin_expect(!(assertion), 0) ) \ - { \ - DEBUG_ASSERT_MESSAGE( \ - DEBUG_ASSERT_COMPONENT_NAME_STRING, \ - #assertion, 0, message, __FILE__, __LINE__, 0 ); \ - } \ - } while ( 0 ) - #endif -#endif - -#ifndef __nVerify_String - #define __nVerify_String(assertion, message) __Verify_String(!(assertion), message) -#endif - -/* - * __Verify_noErr(errorCode) - * - * Summary: - * Production builds: evaluate the errorCode expression, but ignore - * the result. - * - * Non-production builds: if the errorCode expression does not equal 0 (noErr), - * call DEBUG_ASSERT_MESSAGE. - * - * Parameters: - * - * errorCode: - * The expression to compare to 0. - */ -#ifndef __Verify_noErr - #if DEBUG_ASSERT_PRODUCTION_CODE - #define __Verify_noErr(errorCode) \ - do \ - { \ - if ( 0 != (errorCode) ) \ - { \ - } \ - } while ( 0 ) - #else - #define __Verify_noErr(errorCode) \ - do \ - { \ - long evalOnceErrorCode = (errorCode); \ - if ( __builtin_expect(0 != evalOnceErrorCode, 0) ) \ - { \ - DEBUG_ASSERT_MESSAGE( \ - DEBUG_ASSERT_COMPONENT_NAME_STRING, \ - #errorCode " == 0 ", 0, 0, __FILE__, __LINE__, evalOnceErrorCode ); \ - } \ - } while ( 0 ) - #endif -#endif - -/* - * __Verify_noErr_String(errorCode, message) - * - * Summary: - * Production builds: evaluate the errorCode expression, but ignore - * the result. - * - * Non-production builds: if the errorCode expression does not equal 0 (noErr), - * call DEBUG_ASSERT_MESSAGE. - * - * Parameters: - * - * errorCode: - * The expression to compare to 0. - * - * message: - * The C string to display. - */ -#ifndef __Verify_noErr_String - #if DEBUG_ASSERT_PRODUCTION_CODE - #define __Verify_noErr_String(errorCode, message) \ - do \ - { \ - if ( 0 != (errorCode) ) \ - { \ - } \ - } while ( 0 ) - #else - #define __Verify_noErr_String(errorCode, message) \ - do \ - { \ - long evalOnceErrorCode = (errorCode); \ - if ( __builtin_expect(0 != evalOnceErrorCode, 0) ) \ - { \ - DEBUG_ASSERT_MESSAGE( \ - DEBUG_ASSERT_COMPONENT_NAME_STRING, \ - #errorCode " == 0 ", 0, message, __FILE__, __LINE__, evalOnceErrorCode ); \ - } \ - } while ( 0 ) - #endif -#endif - -/* - * __Verify_noErr_Action(errorCode, action) - * - * Summary: - * Production builds: if the errorCode expression does not equal 0 (noErr), - * execute the action statement or compound statement (block). - * - * Non-production builds: if the errorCode expression does not equal 0 (noErr), - * call DEBUG_ASSERT_MESSAGE and then execute the action statement or compound - * statement (block). - * - * Parameters: - * - * errorCode: - * The expression to compare to 0. - * - * action: - * The statement or compound statement (block). - */ -#ifndef __Verify_noErr_Action - #if DEBUG_ASSERT_PRODUCTION_CODE - #define __Verify_noErr_Action(errorCode, action) \ - if ( 0 != (errorCode) ) { \ - action; \ - } \ - else do {} while (0) - #else - #define __Verify_noErr_Action(errorCode, action) \ - do { \ - long evalOnceErrorCode = (errorCode); \ - if ( __builtin_expect(0 != evalOnceErrorCode, 0) ) { \ - DEBUG_ASSERT_MESSAGE( \ - DEBUG_ASSERT_COMPONENT_NAME_STRING, \ - #errorCode " == 0 ", 0, 0, __FILE__, __LINE__, evalOnceErrorCode ); \ - action; \ - } \ - } while (0) - #endif -#endif - -/* - * __Verify_Action(assertion, action) - * - * Summary: - * Production builds: if the assertion expression evaluates to false, - * then execute the action statement or compound statement (block). - * - * Non-production builds: if the assertion expression evaluates to false, - * call DEBUG_ASSERT_MESSAGE and then execute the action statement or compound - * statement (block). - * - * Parameters: - * - * assertion: - * The assertion expression. - * - * action: - * The statement or compound statement (block). - */ -#ifndef __Verify_Action - #if DEBUG_ASSERT_PRODUCTION_CODE - #define __Verify_Action(assertion, action) \ - if ( __builtin_expect(!(assertion), 0) ) { \ - action; \ - } \ - else do {} while (0) - #else - #define __Verify_Action(assertion, action) \ - if ( __builtin_expect(!(assertion), 0) ) { \ - DEBUG_ASSERT_MESSAGE( \ - DEBUG_ASSERT_COMPONENT_NAME_STRING, \ - #assertion, 0, 0, __FILE__, __LINE__, 0 ); \ - action; \ - } \ - else do {} while (0) - #endif -#endif - -/* - * __Require(assertion, exceptionLabel) - * - * Summary: - * Production builds: if the assertion expression evaluates to false, - * goto exceptionLabel. - * - * Non-production builds: if the assertion expression evaluates to false, - * call DEBUG_ASSERT_MESSAGE and then goto exceptionLabel. - * - * Parameters: - * - * assertion: - * The assertion expression. - * - * exceptionLabel: - * The label. - */ -#ifndef __Require - #if DEBUG_ASSERT_PRODUCTION_CODE - #define __Require(assertion, exceptionLabel) \ - do \ - { \ - if ( __builtin_expect(!(assertion), 0) ) \ - { \ - goto exceptionLabel; \ - } \ - } while ( 0 ) - #else - #define __Require(assertion, exceptionLabel) \ - do \ - { \ - if ( __builtin_expect(!(assertion), 0) ) { \ - DEBUG_ASSERT_MESSAGE( \ - DEBUG_ASSERT_COMPONENT_NAME_STRING, \ - #assertion, #exceptionLabel, 0, __FILE__, __LINE__, 0); \ - goto exceptionLabel; \ - } \ - } while ( 0 ) - #endif -#endif - -#ifndef __nRequire - #define __nRequire(assertion, exceptionLabel) __Require(!(assertion), exceptionLabel) -#endif - -/* - * __Require_Action(assertion, exceptionLabel, action) - * - * Summary: - * Production builds: if the assertion expression evaluates to false, - * execute the action statement or compound statement (block) and then - * goto exceptionLabel. - * - * Non-production builds: if the assertion expression evaluates to false, - * call DEBUG_ASSERT_MESSAGE, execute the action statement or compound - * statement (block), and then goto exceptionLabel. - * - * Parameters: - * - * assertion: - * The assertion expression. - * - * exceptionLabel: - * The label. - * - * action: - * The statement or compound statement (block). - */ -#ifndef __Require_Action - #if DEBUG_ASSERT_PRODUCTION_CODE - #define __Require_Action(assertion, exceptionLabel, action) \ - do \ - { \ - if ( __builtin_expect(!(assertion), 0) ) \ - { \ - { \ - action; \ - } \ - goto exceptionLabel; \ - } \ - } while ( 0 ) - #else - #define __Require_Action(assertion, exceptionLabel, action) \ - do \ - { \ - if ( __builtin_expect(!(assertion), 0) ) \ - { \ - DEBUG_ASSERT_MESSAGE( \ - DEBUG_ASSERT_COMPONENT_NAME_STRING, \ - #assertion, #exceptionLabel, 0, __FILE__, __LINE__, 0); \ - { \ - action; \ - } \ - goto exceptionLabel; \ - } \ - } while ( 0 ) - #endif -#endif - -#ifndef __nRequire_Action - #define __nRequire_Action(assertion, exceptionLabel, action) \ - __Require_Action(!(assertion), exceptionLabel, action) -#endif - -/* - * __Require_Quiet(assertion, exceptionLabel) - * - * Summary: - * If the assertion expression evaluates to false, goto exceptionLabel. - * - * Parameters: - * - * assertion: - * The assertion expression. - * - * exceptionLabel: - * The label. - */ -#ifndef __Require_Quiet - #define __Require_Quiet(assertion, exceptionLabel) \ - do \ - { \ - if ( __builtin_expect(!(assertion), 0) ) \ - { \ - goto exceptionLabel; \ - } \ - } while ( 0 ) -#endif - -#ifndef __nRequire_Quiet - #define __nRequire_Quiet(assertion, exceptionLabel) __Require_Quiet(!(assertion), exceptionLabel) -#endif - -/* - * __Require_Action_Quiet(assertion, exceptionLabel, action) - * - * Summary: - * If the assertion expression evaluates to false, execute the action - * statement or compound statement (block), and goto exceptionLabel. - * - * Parameters: - * - * assertion: - * The assertion expression. - * - * exceptionLabel: - * The label. - * - * action: - * The statement or compound statement (block). - */ -#ifndef __Require_Action_Quiet - #define __Require_Action_Quiet(assertion, exceptionLabel, action) \ - do \ - { \ - if ( __builtin_expect(!(assertion), 0) ) \ - { \ - { \ - action; \ - } \ - goto exceptionLabel; \ - } \ - } while ( 0 ) -#endif - -#ifndef __nRequire_Action_Quiet - #define __nRequire_Action_Quiet(assertion, exceptionLabel, action) \ - __Require_Action_Quiet(!(assertion), exceptionLabel, action) -#endif - -/* - * __Require_String(assertion, exceptionLabel, message) - * - * Summary: - * Production builds: if the assertion expression evaluates to false, - * goto exceptionLabel. - * - * Non-production builds: if the assertion expression evaluates to false, - * call DEBUG_ASSERT_MESSAGE, and then goto exceptionLabel. - * - * Parameters: - * - * assertion: - * The assertion expression. - * - * exceptionLabel: - * The label. - * - * message: - * The C string to display. - */ -#ifndef __Require_String - #if DEBUG_ASSERT_PRODUCTION_CODE - #define __Require_String(assertion, exceptionLabel, message) \ - do \ - { \ - if ( __builtin_expect(!(assertion), 0) ) \ - { \ - goto exceptionLabel; \ - } \ - } while ( 0 ) - #else - #define __Require_String(assertion, exceptionLabel, message) \ - do \ - { \ - if ( __builtin_expect(!(assertion), 0) ) \ - { \ - DEBUG_ASSERT_MESSAGE( \ - DEBUG_ASSERT_COMPONENT_NAME_STRING, \ - #assertion, #exceptionLabel, message, __FILE__, __LINE__, 0); \ - goto exceptionLabel; \ - } \ - } while ( 0 ) - #endif -#endif - -#ifndef __nRequire_String - #define __nRequire_String(assertion, exceptionLabel, string) \ - __Require_String(!(assertion), exceptionLabel, string) -#endif - -/* - * __Require_Action_String(assertion, exceptionLabel, action, message) - * - * Summary: - * Production builds: if the assertion expression evaluates to false, - * execute the action statement or compound statement (block), and then - * goto exceptionLabel. - * - * Non-production builds: if the assertion expression evaluates to false, - * call DEBUG_ASSERT_MESSAGE, execute the action statement or compound - * statement (block), and then goto exceptionLabel. - * - * Parameters: - * - * assertion: - * The assertion expression. - * - * exceptionLabel: - * The label. - * - * action: - * The statement or compound statement (block). - * - * message: - * The C string to display. - */ -#ifndef __Require_Action_String - #if DEBUG_ASSERT_PRODUCTION_CODE - #define __Require_Action_String(assertion, exceptionLabel, action, message) \ - do \ - { \ - if ( __builtin_expect(!(assertion), 0) ) \ - { \ - { \ - action; \ - } \ - goto exceptionLabel; \ - } \ - } while ( 0 ) - #else - #define __Require_Action_String(assertion, exceptionLabel, action, message) \ - do \ - { \ - if ( __builtin_expect(!(assertion), 0) ) \ - { \ - DEBUG_ASSERT_MESSAGE( \ - DEBUG_ASSERT_COMPONENT_NAME_STRING, \ - #assertion, #exceptionLabel, message, __FILE__, __LINE__, 0); \ - { \ - action; \ - } \ - goto exceptionLabel; \ - } \ - } while ( 0 ) - #endif -#endif - -#ifndef __nRequire_Action_String - #define __nRequire_Action_String(assertion, exceptionLabel, action, message) \ - __Require_Action_String(!(assertion), exceptionLabel, action, message) -#endif - -/* - * __Require_noErr(errorCode, exceptionLabel) - * - * Summary: - * Production builds: if the errorCode expression does not equal 0 (noErr), - * goto exceptionLabel. - * - * Non-production builds: if the errorCode expression does not equal 0 (noErr), - * call DEBUG_ASSERT_MESSAGE and then goto exceptionLabel. - * - * Parameters: - * - * errorCode: - * The expression to compare to 0. - * - * exceptionLabel: - * The label. - */ -#ifndef __Require_noErr - #if DEBUG_ASSERT_PRODUCTION_CODE - #define __Require_noErr(errorCode, exceptionLabel) \ - do \ - { \ - if ( __builtin_expect(0 != (errorCode), 0) ) \ - { \ - goto exceptionLabel; \ - } \ - } while ( 0 ) - #else - #define __Require_noErr(errorCode, exceptionLabel) \ - do \ - { \ - long evalOnceErrorCode = (errorCode); \ - if ( __builtin_expect(0 != evalOnceErrorCode, 0) ) \ - { \ - DEBUG_ASSERT_MESSAGE( \ - DEBUG_ASSERT_COMPONENT_NAME_STRING, \ - #errorCode " == 0 ", #exceptionLabel, 0, __FILE__, __LINE__, evalOnceErrorCode); \ - goto exceptionLabel; \ - } \ - } while ( 0 ) - #endif -#endif - -/* - * __Require_noErr_Action(errorCode, exceptionLabel, action) - * - * Summary: - * Production builds: if the errorCode expression does not equal 0 (noErr), - * execute the action statement or compound statement (block) and - * goto exceptionLabel. - * - * Non-production builds: if the errorCode expression does not equal 0 (noErr), - * call DEBUG_ASSERT_MESSAGE, execute the action statement or - * compound statement (block), and then goto exceptionLabel. - * - * Parameters: - * - * errorCode: - * The expression to compare to 0. - * - * exceptionLabel: - * The label. - * - * action: - * The statement or compound statement (block). - */ -#ifndef __Require_noErr_Action - #if DEBUG_ASSERT_PRODUCTION_CODE - #define __Require_noErr_Action(errorCode, exceptionLabel, action) \ - do \ - { \ - if ( __builtin_expect(0 != (errorCode), 0) ) \ - { \ - { \ - action; \ - } \ - goto exceptionLabel; \ - } \ - } while ( 0 ) - #else - #define __Require_noErr_Action(errorCode, exceptionLabel, action) \ - do \ - { \ - long evalOnceErrorCode = (errorCode); \ - if ( __builtin_expect(0 != evalOnceErrorCode, 0) ) \ - { \ - DEBUG_ASSERT_MESSAGE( \ - DEBUG_ASSERT_COMPONENT_NAME_STRING, \ - #errorCode " == 0 ", #exceptionLabel, 0, __FILE__, __LINE__, evalOnceErrorCode); \ - { \ - action; \ - } \ - goto exceptionLabel; \ - } \ - } while ( 0 ) - #endif -#endif - -/* - * __Require_noErr_Quiet(errorCode, exceptionLabel) - * - * Summary: - * If the errorCode expression does not equal 0 (noErr), - * goto exceptionLabel. - * - * Parameters: - * - * errorCode: - * The expression to compare to 0. - * - * exceptionLabel: - * The label. - */ -#ifndef __Require_noErr_Quiet - #define __Require_noErr_Quiet(errorCode, exceptionLabel) \ - do \ - { \ - if ( __builtin_expect(0 != (errorCode), 0) ) \ - { \ - goto exceptionLabel; \ - } \ - } while ( 0 ) -#endif - -/* - * __Require_noErr_Action_Quiet(errorCode, exceptionLabel, action) - * - * Summary: - * If the errorCode expression does not equal 0 (noErr), - * execute the action statement or compound statement (block) and - * goto exceptionLabel. - * - * Parameters: - * - * errorCode: - * The expression to compare to 0. - * - * exceptionLabel: - * The label. - * - * action: - * The statement or compound statement (block). - */ -#ifndef __Require_noErr_Action_Quiet - #define __Require_noErr_Action_Quiet(errorCode, exceptionLabel, action) \ - do \ - { \ - if ( __builtin_expect(0 != (errorCode), 0) ) \ - { \ - { \ - action; \ - } \ - goto exceptionLabel; \ - } \ - } while ( 0 ) -#endif - -/* - * __Require_noErr_String(errorCode, exceptionLabel, message) - * - * Summary: - * Production builds: if the errorCode expression does not equal 0 (noErr), - * goto exceptionLabel. - * - * Non-production builds: if the errorCode expression does not equal 0 (noErr), - * call DEBUG_ASSERT_MESSAGE, and then goto exceptionLabel. - * - * Parameters: - * - * errorCode: - * The expression to compare to 0. - * - * exceptionLabel: - * The label. - * - * message: - * The C string to display. - */ -#ifndef __Require_noErr_String - #if DEBUG_ASSERT_PRODUCTION_CODE - #define __Require_noErr_String(errorCode, exceptionLabel, message) \ - do \ - { \ - if ( __builtin_expect(0 != (errorCode), 0) ) \ - { \ - goto exceptionLabel; \ - } \ - } while ( 0 ) - #else - #define __Require_noErr_String(errorCode, exceptionLabel, message) \ - do \ - { \ - long evalOnceErrorCode = (errorCode); \ - if ( __builtin_expect(0 != evalOnceErrorCode, 0) ) \ - { \ - DEBUG_ASSERT_MESSAGE( \ - DEBUG_ASSERT_COMPONENT_NAME_STRING, \ - #errorCode " == 0 ", #exceptionLabel, message, __FILE__, __LINE__, evalOnceErrorCode); \ - goto exceptionLabel; \ - } \ - } while ( 0 ) - #endif -#endif - -/* - * __Require_noErr_Action_String(errorCode, exceptionLabel, action, message) - * - * Summary: - * Production builds: if the errorCode expression does not equal 0 (noErr), - * execute the action statement or compound statement (block) and - * goto exceptionLabel. - * - * Non-production builds: if the errorCode expression does not equal 0 (noErr), - * call DEBUG_ASSERT_MESSAGE, execute the action statement or compound - * statement (block), and then goto exceptionLabel. - * - * Parameters: - * - * errorCode: - * The expression to compare to 0. - * - * exceptionLabel: - * The label. - * - * action: - * The statement or compound statement (block). - * - * message: - * The C string to display. - */ -#ifndef __Require_noErr_Action_String - #if DEBUG_ASSERT_PRODUCTION_CODE - #define __Require_noErr_Action_String(errorCode, exceptionLabel, action, message) \ - do \ - { \ - if ( __builtin_expect(0 != (errorCode), 0) ) \ - { \ - { \ - action; \ - } \ - goto exceptionLabel; \ - } \ - } while ( 0 ) - #else - #define __Require_noErr_Action_String(errorCode, exceptionLabel, action, message) \ - do \ - { \ - long evalOnceErrorCode = (errorCode); \ - if ( __builtin_expect(0 != evalOnceErrorCode, 0) ) \ - { \ - DEBUG_ASSERT_MESSAGE( \ - DEBUG_ASSERT_COMPONENT_NAME_STRING, \ - #errorCode " == 0 ", #exceptionLabel, message, __FILE__, __LINE__, evalOnceErrorCode); \ - { \ - action; \ - } \ - goto exceptionLabel; \ - } \ - } while ( 0 ) - #endif -#endif - -/* - * __Check_Compile_Time(expr) - * - * Summary: - * any build: if the expression is not true, generated a compile time error. - * - * Parameters: - * - * expr: - * The compile time expression that should evaluate to non-zero. - * - * Discussion: - * This declares an array with a size that is determined by a compile-time expression. - * If false, it declares a negatively sized array, which generates a compile-time error. - * - * Examples: - * __Check_Compile_Time( sizeof( int ) == 4 ); - * __Check_Compile_Time( offsetof( MyStruct, myField ) == 4 ); - * __Check_Compile_Time( ( kMyBufferSize % 512 ) == 0 ); - * - * Note: This only works with compile-time expressions. - * Note: This only works in places where extern declarations are allowed (e.g. global scope). - */ -#ifndef __Check_Compile_Time - #ifdef __GNUC__ - #if (__cplusplus >= 201103L) - #define __Check_Compile_Time( expr ) static_assert( expr , "__Check_Compile_Time") - #elif (__STDC_VERSION__ >= 201112L) - #define __Check_Compile_Time( expr ) _Static_assert( expr , "__Check_Compile_Time") - #else - #define __Check_Compile_Time( expr ) \ - extern int compile_time_assert_failed[ ( expr ) ? 1 : -1 ] __attribute__( ( unused ) ) - #endif - #else - #define __Check_Compile_Time( expr ) \ - extern int compile_time_assert_failed[ ( expr ) ? 1 : -1 ] - #endif -#endif - -/* - * For time immemorial, Mac OS X has defined version of most of these macros without the __ prefix, which - * could collide with similarly named functions or macros in user code, including new functionality in - * Boost and the C++ standard library. - * - * macOS High Sierra and iOS 11 will now require that clients move to the new macros as defined above. - * - * If you would like to enable the macros for use within your own project, you can define the - * __ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES macro via an Xcode Build Configuration. - * See "Add a build configuration (xcconfig) file" in Xcode Help. - * - * To aid users of these macros in converting their sources, the following tops script will convert usages - * of the old macros into the new equivalents. To do so, in Terminal go into the directory containing the - * sources to be converted and run this command. - * - find -E . -regex '.*\.(c|cc|cp|cpp|m|mm|h)' -print0 | xargs -0 tops -verbose \ - replace "check()" with "__Check()" \ - replace "check_noerr()" with "__Check_noErr()" \ - replace "check_noerr_string()" with "__Check_noErr_String()" \ - replace "check_string()" with "__Check_String()" \ - replace "require()" with "__Require()" \ - replace "require_action()" with "__Require_Action()" \ - replace "require_action_string()" with "__Require_Action_String()" \ - replace "require_noerr()" with "__Require_noErr()" \ - replace "require_noerr_action()" with "__Require_noErr_Action()" \ - replace "require_noerr_action_string()" with "__Require_noErr_Action_String()" \ - replace "require_noerr_string()" with "__Require_noErr_String()" \ - replace "require_string()" with "__Require_String()" \ - replace "verify()" with "__Verify()" \ - replace "verify_action()" with "__Verify_Action()" \ - replace "verify_noerr()" with "__Verify_noErr()" \ - replace "verify_noerr_action()" with "__Verify_noErr_Action()" \ - replace "verify_noerr_string()" with "__Verify_noErr_String()" \ - replace "verify_string()" with "__Verify_String()" \ - replace "ncheck()" with "__nCheck()" \ - replace "ncheck_string()" with "__nCheck_String()" \ - replace "nrequire()" with "__nRequire()" \ - replace "nrequire_action()" with "__nRequire_Action()" \ - replace "nrequire_action_quiet()" with "__nRequire_Action_Quiet()" \ - replace "nrequire_action_string()" with "__nRequire_Action_String()" \ - replace "nrequire_quiet()" with "__nRequire_Quiet()" \ - replace "nrequire_string()" with "__nRequire_String()" \ - replace "nverify()" with "__nVerify()" \ - replace "nverify_string()" with "__nVerify_String()" \ - replace "require_action_quiet()" with "__Require_Action_Quiet()" \ - replace "require_noerr_action_quiet()" with "__Require_noErr_Action_Quiet()" \ - replace "require_noerr_quiet()" with "__Require_noErr_Quiet()" \ - replace "require_quiet()" with "__Require_Quiet()" \ - replace "check_compile_time()" with "__Check_Compile_Time()" \ - replace "debug_string()" with "__Debug_String()" - * - */ - -#ifndef __ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES - #if __has_include() - #include - #else - /* In macOS High Sierra and iOS 11, if we haven't set this yet, it now defaults to off. */ - #define __ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES 0 - #endif -#endif - -#if __ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES - - #ifndef check - #define check(assertion) __Check(assertion) - #endif - - #ifndef check_noerr - #define check_noerr(errorCode) __Check_noErr(errorCode) - #endif - - #ifndef check_noerr_string - #define check_noerr_string(errorCode, message) __Check_noErr_String(errorCode, message) - #endif - - #ifndef check_string - #define check_string(assertion, message) __Check_String(assertion, message) - #endif - - #ifndef require - #define require(assertion, exceptionLabel) __Require(assertion, exceptionLabel) - #endif - - #ifndef require_action - #define require_action(assertion, exceptionLabel, action) __Require_Action(assertion, exceptionLabel, action) - #endif - - #ifndef require_action_string - #define require_action_string(assertion, exceptionLabel, action, message) __Require_Action_String(assertion, exceptionLabel, action, message) - #endif - - #ifndef require_noerr - #define require_noerr(errorCode, exceptionLabel) __Require_noErr(errorCode, exceptionLabel) - #endif - - #ifndef require_noerr_action - #define require_noerr_action(errorCode, exceptionLabel, action) __Require_noErr_Action(errorCode, exceptionLabel, action) - #endif - - #ifndef require_noerr_action_string - #define require_noerr_action_string(errorCode, exceptionLabel, action, message) __Require_noErr_Action_String(errorCode, exceptionLabel, action, message) - #endif - - #ifndef require_noerr_string - #define require_noerr_string(errorCode, exceptionLabel, message) __Require_noErr_String(errorCode, exceptionLabel, message) - #endif - - #ifndef require_string - #define require_string(assertion, exceptionLabel, message) __Require_String(assertion, exceptionLabel, message) - #endif - - #ifndef verify - #define verify(assertion) __Verify(assertion) - #endif - - #ifndef verify_action - #define verify_action(assertion, action) __Verify_Action(assertion, action) - #endif - - #ifndef verify_noerr - #define verify_noerr(errorCode) __Verify_noErr(errorCode) - #endif - - #ifndef verify_noerr_action - #define verify_noerr_action(errorCode, action) __Verify_noErr_Action(errorCode, action) - #endif - - #ifndef verify_noerr_string - #define verify_noerr_string(errorCode, message) __Verify_noErr_String(errorCode, message) - #endif - - #ifndef verify_string - #define verify_string(assertion, message) __Verify_String(assertion, message) - #endif - - #ifndef ncheck - #define ncheck(assertion) __nCheck(assertion) - #endif - - #ifndef ncheck_string - #define ncheck_string(assertion, message) __nCheck_String(assertion, message) - #endif - - #ifndef nrequire - #define nrequire(assertion, exceptionLabel) __nRequire(assertion, exceptionLabel) - #endif - - #ifndef nrequire_action - #define nrequire_action(assertion, exceptionLabel, action) __nRequire_Action(assertion, exceptionLabel, action) - #endif - - #ifndef nrequire_action_quiet - #define nrequire_action_quiet(assertion, exceptionLabel, action) __nRequire_Action_Quiet(assertion, exceptionLabel, action) - #endif - - #ifndef nrequire_action_string - #define nrequire_action_string(assertion, exceptionLabel, action, message) __nRequire_Action_String(assertion, exceptionLabel, action, message) - #endif - - #ifndef nrequire_quiet - #define nrequire_quiet(assertion, exceptionLabel) __nRequire_Quiet(assertion, exceptionLabel) - #endif - - #ifndef nrequire_string - #define nrequire_string(assertion, exceptionLabel, string) __nRequire_String(assertion, exceptionLabel, string) - #endif - - #ifndef nverify - #define nverify(assertion) __nVerify(assertion) - #endif - - #ifndef nverify_string - #define nverify_string(assertion, message) __nVerify_String(assertion, message) - #endif - - #ifndef require_action_quiet - #define require_action_quiet(assertion, exceptionLabel, action) __Require_Action_Quiet(assertion, exceptionLabel, action) - #endif - - #ifndef require_noerr_action_quiet - #define require_noerr_action_quiet(errorCode, exceptionLabel, action) __Require_noErr_Action_Quiet(errorCode, exceptionLabel, action) - #endif - - #ifndef require_noerr_quiet - #define require_noerr_quiet(errorCode, exceptionLabel) __Require_noErr_Quiet(errorCode, exceptionLabel) - #endif - - #ifndef require_quiet - #define require_quiet(assertion, exceptionLabel) __Require_Quiet(assertion, exceptionLabel) - #endif - - #ifndef check_compile_time - #define check_compile_time( expr ) __Check_Compile_Time( expr ) - #endif - - #ifndef debug_string - #define debug_string(message) __Debug_String(message) - #endif - -#endif /* ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES */ - - -#endif /* __ASSERTMACROS__ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.11-any/AvailabilityInternal.h b/lib/libc/include/any-macos.11-any/AvailabilityInternal.h deleted file mode 100644 index 6a35a16782..0000000000 --- a/lib/libc/include/any-macos.11-any/AvailabilityInternal.h +++ /dev/null @@ -1,4675 +0,0 @@ -/* - * Copyright (c) 2007-2016 by 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@ - */ - -/* - File: AvailabilityInternal.h - - Contains: implementation details of __OSX_AVAILABLE_* macros from - -*/ -#ifndef __AVAILABILITY_INTERNAL__ -#define __AVAILABILITY_INTERNAL__ - -#if __has_include() - #include -#endif - -#ifndef __MAC_OS_X_VERSION_MIN_REQUIRED - #ifdef __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ - /* compiler for Mac OS X sets __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ */ - #define __MAC_OS_X_VERSION_MIN_REQUIRED __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ - #endif -#endif /* __MAC_OS_X_VERSION_MIN_REQUIRED*/ - -#ifndef __IPHONE_OS_VERSION_MIN_REQUIRED - #ifdef __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ - /* compiler sets __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ when -miphoneos-version-min is used */ - #define __IPHONE_OS_VERSION_MIN_REQUIRED __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ - /* set to 1 when RC_FALLBACK_PLATFORM=iphoneos */ - #elif 0 - #define __IPHONE_OS_VERSION_MIN_REQUIRED __IPHONE_14_0 - #endif -#endif /* __IPHONE_OS_VERSION_MIN_REQUIRED */ - -#ifndef __TV_OS_VERSION_MIN_REQUIRED - #ifdef __ENVIRONMENT_TV_OS_VERSION_MIN_REQUIRED__ - /* compiler sets __ENVIRONMENT_TV_OS_VERSION_MIN_REQUIRED__ when -mtvos-version-min is used */ - #define __TV_OS_VERSION_MIN_REQUIRED __ENVIRONMENT_TV_OS_VERSION_MIN_REQUIRED__ - #define __TV_OS_VERSION_MAX_ALLOWED __TVOS_14_5 - /* for compatibility with existing code. New code should use platform specific checks */ - #define __IPHONE_OS_VERSION_MIN_REQUIRED 90000 - #endif -#endif - -#ifndef __WATCH_OS_VERSION_MIN_REQUIRED - #ifdef __ENVIRONMENT_WATCH_OS_VERSION_MIN_REQUIRED__ - /* compiler sets __ENVIRONMENT_WATCH_OS_VERSION_MIN_REQUIRED__ when -mwatchos-version-min is used */ - #define __WATCH_OS_VERSION_MIN_REQUIRED __ENVIRONMENT_WATCH_OS_VERSION_MIN_REQUIRED__ - #define __WATCH_OS_VERSION_MAX_ALLOWED __WATCHOS_7_4 - /* for compatibility with existing code. New code should use platform specific checks */ - #define __IPHONE_OS_VERSION_MIN_REQUIRED 90000 - #endif -#endif - -#ifndef __BRIDGE_OS_VERSION_MIN_REQUIRED - #ifdef __ENVIRONMENT_BRIDGE_OS_VERSION_MIN_REQUIRED__ - - #define __BRIDGE_OS_VERSION_MIN_REQUIRED __ENVIRONMENT_BRIDGE_OS_VERSION_MIN_REQUIRED__ - #define __BRIDGE_OS_VERSION_MAX_ALLOWED 50300 - /* for compatibility with existing code. New code should use platform specific checks */ - #define __IPHONE_OS_VERSION_MIN_REQUIRED 110000 - #endif -#endif - -#ifndef __DRIVERKIT_VERSION_MIN_REQUIRED - #ifdef __ENVIRONMENT_DRIVERKIT_VERSION_MIN_REQUIRED__ - #define __DRIVERKIT_VERSION_MIN_REQUIRED __ENVIRONMENT_DRIVERKIT_VERSION_MIN_REQUIRED__ - #endif -#endif - -#ifdef __MAC_OS_X_VERSION_MIN_REQUIRED - /* make sure a default max version is set */ - #ifndef __MAC_OS_X_VERSION_MAX_ALLOWED - #define __MAC_OS_X_VERSION_MAX_ALLOWED __MAC_11_3 - #endif -#endif /* __MAC_OS_X_VERSION_MIN_REQUIRED */ - -#ifdef __IPHONE_OS_VERSION_MIN_REQUIRED - /* make sure a default max version is set */ - #ifndef __IPHONE_OS_VERSION_MAX_ALLOWED - #define __IPHONE_OS_VERSION_MAX_ALLOWED __IPHONE_14_5 - #endif - /* make sure a valid min is set */ - #if __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_2_0 - #undef __IPHONE_OS_VERSION_MIN_REQUIRED - #define __IPHONE_OS_VERSION_MIN_REQUIRED __IPHONE_2_0 - #endif -#endif - -#define __AVAILABILITY_INTERNAL_DEPRECATED __attribute__((deprecated)) -#ifdef __has_feature - #if __has_feature(attribute_deprecated_with_message) - #define __AVAILABILITY_INTERNAL_DEPRECATED_MSG(_msg) __attribute__((deprecated(_msg))) - #else - #define __AVAILABILITY_INTERNAL_DEPRECATED_MSG(_msg) __attribute__((deprecated)) - #endif -#elif defined(__GNUC__) && ((__GNUC__ >= 5) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 5))) - #define __AVAILABILITY_INTERNAL_DEPRECATED_MSG(_msg) __attribute__((deprecated(_msg))) -#else - #define __AVAILABILITY_INTERNAL_DEPRECATED_MSG(_msg) __attribute__((deprecated)) -#endif -#define __AVAILABILITY_INTERNAL_UNAVAILABLE __attribute__((unavailable)) -#define __AVAILABILITY_INTERNAL_WEAK_IMPORT __attribute__((weak_import)) -#define __AVAILABILITY_INTERNAL_REGULAR - -#if defined(__has_builtin) - #if __has_builtin(__is_target_arch) - #if __has_builtin(__is_target_vendor) - #if __has_builtin(__is_target_os) - #if __has_builtin(__is_target_environment) - #if __has_builtin(__is_target_variant_os) - #if __has_builtin(__is_target_variant_environment) - #if (__is_target_arch(x86_64) && __is_target_vendor(apple) && ((__is_target_os(ios) && __is_target_environment(macabi)) || (__is_target_variant_os(ios) && __is_target_variant_environment(macabi)))) - #define __ENABLE_LEGACY_IPHONE_AVAILABILITY 1 - #define __ENABLE_LEGACY_MAC_AVAILABILITY 1 - #endif /* # if __is_target_arch... */ - #endif /* #if __has_builtin(__is_target_variant_environment) */ - #endif /* #if __has_builtin(__is_target_variant_os) */ - #endif /* #if __has_builtin(__is_target_environment) */ - #endif /* #if __has_builtin(__is_target_os) */ - #endif /* #if __has_builtin(__is_target_vendor) */ - #endif /* #if __has_builtin(__is_target_arch) */ -#endif /* #if defined(__has_builtin) */ - -#ifndef __ENABLE_LEGACY_IPHONE_AVAILABILITY - #ifdef __IPHONE_OS_VERSION_MIN_REQUIRED - #define __ENABLE_LEGACY_IPHONE_AVAILABILITY 1 - #elif defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) - #define __ENABLE_LEGACY_MAC_AVAILABILITY 1 - #endif -#endif /* __ENABLE_LEGACY_IPHONE_AVAILABILITY */ - -#ifdef __ENABLE_LEGACY_IPHONE_AVAILABILITY - #if defined(__has_attribute) && defined(__has_feature) - #if __has_attribute(availability) - /* use better attributes if possible */ - #define __AVAILABILITY_INTERNAL__IPHONE_2_0 __attribute__((availability(ios,introduced=2.0))) - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_10_0 __attribute__((availability(ios,introduced=2.0,deprecated=10.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_10_0_MSG(_msg) __attribute__((availability(ios,introduced=2.0,deprecated=10.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_10_0_MSG(_msg) __attribute__((availability(ios,introduced=2.0,deprecated=10.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_10_1 __attribute__((availability(ios,introduced=2.0,deprecated=10.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_10_1_MSG(_msg) __attribute__((availability(ios,introduced=2.0,deprecated=10.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_10_1_MSG(_msg) __attribute__((availability(ios,introduced=2.0,deprecated=10.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_10_2 __attribute__((availability(ios,introduced=2.0,deprecated=10.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_10_2_MSG(_msg) __attribute__((availability(ios,introduced=2.0,deprecated=10.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_10_2_MSG(_msg) __attribute__((availability(ios,introduced=2.0,deprecated=10.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_10_3 __attribute__((availability(ios,introduced=2.0,deprecated=10.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_10_3_MSG(_msg) __attribute__((availability(ios,introduced=2.0,deprecated=10.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_10_3_MSG(_msg) __attribute__((availability(ios,introduced=2.0,deprecated=10.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_11_0 __attribute__((availability(ios,introduced=2.0,deprecated=11.0))) - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_2_0 __attribute__((availability(ios,introduced=2.0,deprecated=2.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_2_0_MSG(_msg) __attribute__((availability(ios,introduced=2.0,deprecated=2.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_2_0_MSG(_msg) __attribute__((availability(ios,introduced=2.0,deprecated=2.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_2_1 __attribute__((availability(ios,introduced=2.0,deprecated=2.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_2_1_MSG(_msg) __attribute__((availability(ios,introduced=2.0,deprecated=2.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_2_1_MSG(_msg) __attribute__((availability(ios,introduced=2.0,deprecated=2.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_2_2 __attribute__((availability(ios,introduced=2.0,deprecated=2.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_2_2_MSG(_msg) __attribute__((availability(ios,introduced=2.0,deprecated=2.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_2_2_MSG(_msg) __attribute__((availability(ios,introduced=2.0,deprecated=2.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_3_0 __attribute__((availability(ios,introduced=2.0,deprecated=3.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_3_0_MSG(_msg) __attribute__((availability(ios,introduced=2.0,deprecated=3.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_3_0_MSG(_msg) __attribute__((availability(ios,introduced=2.0,deprecated=3.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_3_1 __attribute__((availability(ios,introduced=2.0,deprecated=3.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_3_1_MSG(_msg) __attribute__((availability(ios,introduced=2.0,deprecated=3.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_3_1_MSG(_msg) __attribute__((availability(ios,introduced=2.0,deprecated=3.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_3_2 __attribute__((availability(ios,introduced=2.0,deprecated=3.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_3_2_MSG(_msg) __attribute__((availability(ios,introduced=2.0,deprecated=3.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_3_2_MSG(_msg) __attribute__((availability(ios,introduced=2.0,deprecated=3.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_4_0 __attribute__((availability(ios,introduced=2.0,deprecated=4.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_4_0_MSG(_msg) __attribute__((availability(ios,introduced=2.0,deprecated=4.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_4_0_MSG(_msg) __attribute__((availability(ios,introduced=2.0,deprecated=4.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_4_1 __attribute__((availability(ios,introduced=2.0,deprecated=4.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_4_1_MSG(_msg) __attribute__((availability(ios,introduced=2.0,deprecated=4.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_4_1_MSG(_msg) __attribute__((availability(ios,introduced=2.0,deprecated=4.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_4_2 __attribute__((availability(ios,introduced=2.0,deprecated=4.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_4_2_MSG(_msg) __attribute__((availability(ios,introduced=2.0,deprecated=4.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_4_2_MSG(_msg) __attribute__((availability(ios,introduced=2.0,deprecated=4.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_4_3 __attribute__((availability(ios,introduced=2.0,deprecated=4.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_4_3_MSG(_msg) __attribute__((availability(ios,introduced=2.0,deprecated=4.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_4_3_MSG(_msg) __attribute__((availability(ios,introduced=2.0,deprecated=4.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_5_0 __attribute__((availability(ios,introduced=2.0,deprecated=5.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_5_0_MSG(_msg) __attribute__((availability(ios,introduced=2.0,deprecated=5.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_5_0_MSG(_msg) __attribute__((availability(ios,introduced=2.0,deprecated=5.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_5_1 __attribute__((availability(ios,introduced=2.0,deprecated=5.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_5_1_MSG(_msg) __attribute__((availability(ios,introduced=2.0,deprecated=5.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_5_1_MSG(_msg) __attribute__((availability(ios,introduced=2.0,deprecated=5.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_6_0 __attribute__((availability(ios,introduced=2.0,deprecated=6.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_6_0_MSG(_msg) __attribute__((availability(ios,introduced=2.0,deprecated=6.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_6_0_MSG(_msg) __attribute__((availability(ios,introduced=2.0,deprecated=6.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_6_1 __attribute__((availability(ios,introduced=2.0,deprecated=6.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_6_1_MSG(_msg) __attribute__((availability(ios,introduced=2.0,deprecated=6.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_6_1_MSG(_msg) __attribute__((availability(ios,introduced=2.0,deprecated=6.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_7_0 __attribute__((availability(ios,introduced=2.0,deprecated=7.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_7_0_MSG(_msg) __attribute__((availability(ios,introduced=2.0,deprecated=7.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_7_0_MSG(_msg) __attribute__((availability(ios,introduced=2.0,deprecated=7.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_7_1 __attribute__((availability(ios,introduced=2.0,deprecated=7.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_7_1_MSG(_msg) __attribute__((availability(ios,introduced=2.0,deprecated=7.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_7_1_MSG(_msg) __attribute__((availability(ios,introduced=2.0,deprecated=7.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_8_0 __attribute__((availability(ios,introduced=2.0,deprecated=8.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_8_0_MSG(_msg) __attribute__((availability(ios,introduced=2.0,deprecated=8.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_8_0_MSG(_msg) __attribute__((availability(ios,introduced=2.0,deprecated=8.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_8_1 __attribute__((availability(ios,introduced=2.0,deprecated=8.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_8_1_MSG(_msg) __attribute__((availability(ios,introduced=2.0,deprecated=8.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_8_1_MSG(_msg) __attribute__((availability(ios,introduced=2.0,deprecated=8.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_8_2 __attribute__((availability(ios,introduced=2.0,deprecated=8.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_8_2_MSG(_msg) __attribute__((availability(ios,introduced=2.0,deprecated=8.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_8_2_MSG(_msg) __attribute__((availability(ios,introduced=2.0,deprecated=8.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_8_3 __attribute__((availability(ios,introduced=2.0,deprecated=8.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_8_3_MSG(_msg) __attribute__((availability(ios,introduced=2.0,deprecated=8.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_8_3_MSG(_msg) __attribute__((availability(ios,introduced=2.0,deprecated=8.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_8_4 __attribute__((availability(ios,introduced=2.0,deprecated=8.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_8_4_MSG(_msg) __attribute__((availability(ios,introduced=2.0,deprecated=8.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_8_4_MSG(_msg) __attribute__((availability(ios,introduced=2.0,deprecated=8.4))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_9_0 __attribute__((availability(ios,introduced=2.0,deprecated=9.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_9_0_MSG(_msg) __attribute__((availability(ios,introduced=2.0,deprecated=9.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_9_0_MSG(_msg) __attribute__((availability(ios,introduced=2.0,deprecated=9.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_9_1 __attribute__((availability(ios,introduced=2.0,deprecated=9.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_9_1_MSG(_msg) __attribute__((availability(ios,introduced=2.0,deprecated=9.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_9_1_MSG(_msg) __attribute__((availability(ios,introduced=2.0,deprecated=9.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_9_2 __attribute__((availability(ios,introduced=2.0,deprecated=9.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_9_2_MSG(_msg) __attribute__((availability(ios,introduced=2.0,deprecated=9.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_9_2_MSG(_msg) __attribute__((availability(ios,introduced=2.0,deprecated=9.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_9_3 __attribute__((availability(ios,introduced=2.0,deprecated=9.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_9_3_MSG(_msg) __attribute__((availability(ios,introduced=2.0,deprecated=9.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_9_3_MSG(_msg) __attribute__((availability(ios,introduced=2.0,deprecated=9.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_NA __attribute__((availability(ios,introduced=2.0))) - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_NA_MSG(_msg) __attribute__((availability(ios,introduced=2.0))) - #define __AVAILABILITY_INTERNAL__IPHONE_2_1 __attribute__((availability(ios,introduced=2.1))) - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_10_0 __attribute__((availability(ios,introduced=2.1,deprecated=10.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_10_0_MSG(_msg) __attribute__((availability(ios,introduced=2.1,deprecated=10.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_10_0_MSG(_msg) __attribute__((availability(ios,introduced=2.1,deprecated=10.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_10_1 __attribute__((availability(ios,introduced=2.1,deprecated=10.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_10_1_MSG(_msg) __attribute__((availability(ios,introduced=2.1,deprecated=10.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_10_1_MSG(_msg) __attribute__((availability(ios,introduced=2.1,deprecated=10.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_10_2 __attribute__((availability(ios,introduced=2.1,deprecated=10.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_10_2_MSG(_msg) __attribute__((availability(ios,introduced=2.1,deprecated=10.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_10_2_MSG(_msg) __attribute__((availability(ios,introduced=2.1,deprecated=10.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_10_3 __attribute__((availability(ios,introduced=2.1,deprecated=10.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_10_3_MSG(_msg) __attribute__((availability(ios,introduced=2.1,deprecated=10.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_10_3_MSG(_msg) __attribute__((availability(ios,introduced=2.1,deprecated=10.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_2_1 __attribute__((availability(ios,introduced=2.1,deprecated=2.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_2_1_MSG(_msg) __attribute__((availability(ios,introduced=2.1,deprecated=2.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_2_1_MSG(_msg) __attribute__((availability(ios,introduced=2.1,deprecated=2.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_2_2 __attribute__((availability(ios,introduced=2.1,deprecated=2.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_2_2_MSG(_msg) __attribute__((availability(ios,introduced=2.1,deprecated=2.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_2_2_MSG(_msg) __attribute__((availability(ios,introduced=2.1,deprecated=2.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_3_0 __attribute__((availability(ios,introduced=2.1,deprecated=3.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_3_0_MSG(_msg) __attribute__((availability(ios,introduced=2.1,deprecated=3.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_3_0_MSG(_msg) __attribute__((availability(ios,introduced=2.1,deprecated=3.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_3_1 __attribute__((availability(ios,introduced=2.1,deprecated=3.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_3_1_MSG(_msg) __attribute__((availability(ios,introduced=2.1,deprecated=3.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_3_1_MSG(_msg) __attribute__((availability(ios,introduced=2.1,deprecated=3.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_3_2 __attribute__((availability(ios,introduced=2.1,deprecated=3.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_3_2_MSG(_msg) __attribute__((availability(ios,introduced=2.1,deprecated=3.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_3_2_MSG(_msg) __attribute__((availability(ios,introduced=2.1,deprecated=3.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_4_0 __attribute__((availability(ios,introduced=2.1,deprecated=4.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_4_0_MSG(_msg) __attribute__((availability(ios,introduced=2.1,deprecated=4.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_4_0_MSG(_msg) __attribute__((availability(ios,introduced=2.1,deprecated=4.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_4_1 __attribute__((availability(ios,introduced=2.1,deprecated=4.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_4_1_MSG(_msg) __attribute__((availability(ios,introduced=2.1,deprecated=4.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_4_1_MSG(_msg) __attribute__((availability(ios,introduced=2.1,deprecated=4.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_4_2 __attribute__((availability(ios,introduced=2.1,deprecated=4.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_4_2_MSG(_msg) __attribute__((availability(ios,introduced=2.1,deprecated=4.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_4_2_MSG(_msg) __attribute__((availability(ios,introduced=2.1,deprecated=4.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_4_3 __attribute__((availability(ios,introduced=2.1,deprecated=4.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_4_3_MSG(_msg) __attribute__((availability(ios,introduced=2.1,deprecated=4.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_4_3_MSG(_msg) __attribute__((availability(ios,introduced=2.1,deprecated=4.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_5_0 __attribute__((availability(ios,introduced=2.1,deprecated=5.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_5_0_MSG(_msg) __attribute__((availability(ios,introduced=2.1,deprecated=5.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_5_0_MSG(_msg) __attribute__((availability(ios,introduced=2.1,deprecated=5.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_5_1 __attribute__((availability(ios,introduced=2.1,deprecated=5.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_5_1_MSG(_msg) __attribute__((availability(ios,introduced=2.1,deprecated=5.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_5_1_MSG(_msg) __attribute__((availability(ios,introduced=2.1,deprecated=5.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_6_0 __attribute__((availability(ios,introduced=2.1,deprecated=6.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_6_0_MSG(_msg) __attribute__((availability(ios,introduced=2.1,deprecated=6.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_6_0_MSG(_msg) __attribute__((availability(ios,introduced=2.1,deprecated=6.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_6_1 __attribute__((availability(ios,introduced=2.1,deprecated=6.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_6_1_MSG(_msg) __attribute__((availability(ios,introduced=2.1,deprecated=6.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_6_1_MSG(_msg) __attribute__((availability(ios,introduced=2.1,deprecated=6.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_7_0 __attribute__((availability(ios,introduced=2.1,deprecated=7.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_7_0_MSG(_msg) __attribute__((availability(ios,introduced=2.1,deprecated=7.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_7_0_MSG(_msg) __attribute__((availability(ios,introduced=2.1,deprecated=7.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_7_1 __attribute__((availability(ios,introduced=2.1,deprecated=7.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_7_1_MSG(_msg) __attribute__((availability(ios,introduced=2.1,deprecated=7.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_7_1_MSG(_msg) __attribute__((availability(ios,introduced=2.1,deprecated=7.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_8_0 __attribute__((availability(ios,introduced=2.1,deprecated=8.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_8_0_MSG(_msg) __attribute__((availability(ios,introduced=2.1,deprecated=8.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_8_0_MSG(_msg) __attribute__((availability(ios,introduced=2.1,deprecated=8.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_8_1 __attribute__((availability(ios,introduced=2.1,deprecated=8.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_8_1_MSG(_msg) __attribute__((availability(ios,introduced=2.1,deprecated=8.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_8_1_MSG(_msg) __attribute__((availability(ios,introduced=2.1,deprecated=8.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_8_2 __attribute__((availability(ios,introduced=2.1,deprecated=8.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_8_2_MSG(_msg) __attribute__((availability(ios,introduced=2.1,deprecated=8.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_8_2_MSG(_msg) __attribute__((availability(ios,introduced=2.1,deprecated=8.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_8_3 __attribute__((availability(ios,introduced=2.1,deprecated=8.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_8_3_MSG(_msg) __attribute__((availability(ios,introduced=2.1,deprecated=8.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_8_3_MSG(_msg) __attribute__((availability(ios,introduced=2.1,deprecated=8.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_8_4 __attribute__((availability(ios,introduced=2.1,deprecated=8.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_8_4_MSG(_msg) __attribute__((availability(ios,introduced=2.1,deprecated=8.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_8_4_MSG(_msg) __attribute__((availability(ios,introduced=2.1,deprecated=8.4))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_9_0 __attribute__((availability(ios,introduced=2.1,deprecated=9.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_9_0_MSG(_msg) __attribute__((availability(ios,introduced=2.1,deprecated=9.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_9_0_MSG(_msg) __attribute__((availability(ios,introduced=2.1,deprecated=9.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_9_1 __attribute__((availability(ios,introduced=2.1,deprecated=9.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_9_1_MSG(_msg) __attribute__((availability(ios,introduced=2.1,deprecated=9.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_9_1_MSG(_msg) __attribute__((availability(ios,introduced=2.1,deprecated=9.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_9_2 __attribute__((availability(ios,introduced=2.1,deprecated=9.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_9_2_MSG(_msg) __attribute__((availability(ios,introduced=2.1,deprecated=9.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_9_2_MSG(_msg) __attribute__((availability(ios,introduced=2.1,deprecated=9.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_9_3 __attribute__((availability(ios,introduced=2.1,deprecated=9.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_9_3_MSG(_msg) __attribute__((availability(ios,introduced=2.1,deprecated=9.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_9_3_MSG(_msg) __attribute__((availability(ios,introduced=2.1,deprecated=9.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_NA __attribute__((availability(ios,introduced=2.1))) - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_NA_MSG(_msg) __attribute__((availability(ios,introduced=2.1))) - #define __AVAILABILITY_INTERNAL__IPHONE_2_2 __attribute__((availability(ios,introduced=2.2))) - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_10_0 __attribute__((availability(ios,introduced=2.2,deprecated=10.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_10_0_MSG(_msg) __attribute__((availability(ios,introduced=2.2,deprecated=10.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_10_0_MSG(_msg) __attribute__((availability(ios,introduced=2.2,deprecated=10.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_10_1 __attribute__((availability(ios,introduced=2.2,deprecated=10.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_10_1_MSG(_msg) __attribute__((availability(ios,introduced=2.2,deprecated=10.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_10_1_MSG(_msg) __attribute__((availability(ios,introduced=2.2,deprecated=10.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_10_2 __attribute__((availability(ios,introduced=2.2,deprecated=10.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_10_2_MSG(_msg) __attribute__((availability(ios,introduced=2.2,deprecated=10.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_10_2_MSG(_msg) __attribute__((availability(ios,introduced=2.2,deprecated=10.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_10_3 __attribute__((availability(ios,introduced=2.2,deprecated=10.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_10_3_MSG(_msg) __attribute__((availability(ios,introduced=2.2,deprecated=10.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_10_3_MSG(_msg) __attribute__((availability(ios,introduced=2.2,deprecated=10.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_2_2 __attribute__((availability(ios,introduced=2.2,deprecated=2.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_2_2_MSG(_msg) __attribute__((availability(ios,introduced=2.2,deprecated=2.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_2_2_MSG(_msg) __attribute__((availability(ios,introduced=2.2,deprecated=2.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_3_0 __attribute__((availability(ios,introduced=2.2,deprecated=3.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_3_0_MSG(_msg) __attribute__((availability(ios,introduced=2.2,deprecated=3.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_3_0_MSG(_msg) __attribute__((availability(ios,introduced=2.2,deprecated=3.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_3_1 __attribute__((availability(ios,introduced=2.2,deprecated=3.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_3_1_MSG(_msg) __attribute__((availability(ios,introduced=2.2,deprecated=3.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_3_1_MSG(_msg) __attribute__((availability(ios,introduced=2.2,deprecated=3.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_3_2 __attribute__((availability(ios,introduced=2.2,deprecated=3.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_3_2_MSG(_msg) __attribute__((availability(ios,introduced=2.2,deprecated=3.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_3_2_MSG(_msg) __attribute__((availability(ios,introduced=2.2,deprecated=3.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_4_0 __attribute__((availability(ios,introduced=2.2,deprecated=4.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_4_0_MSG(_msg) __attribute__((availability(ios,introduced=2.2,deprecated=4.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_4_0_MSG(_msg) __attribute__((availability(ios,introduced=2.2,deprecated=4.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_4_1 __attribute__((availability(ios,introduced=2.2,deprecated=4.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_4_1_MSG(_msg) __attribute__((availability(ios,introduced=2.2,deprecated=4.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_4_1_MSG(_msg) __attribute__((availability(ios,introduced=2.2,deprecated=4.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_4_2 __attribute__((availability(ios,introduced=2.2,deprecated=4.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_4_2_MSG(_msg) __attribute__((availability(ios,introduced=2.2,deprecated=4.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_4_2_MSG(_msg) __attribute__((availability(ios,introduced=2.2,deprecated=4.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_4_3 __attribute__((availability(ios,introduced=2.2,deprecated=4.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_4_3_MSG(_msg) __attribute__((availability(ios,introduced=2.2,deprecated=4.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_4_3_MSG(_msg) __attribute__((availability(ios,introduced=2.2,deprecated=4.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_5_0 __attribute__((availability(ios,introduced=2.2,deprecated=5.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_5_0_MSG(_msg) __attribute__((availability(ios,introduced=2.2,deprecated=5.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_5_0_MSG(_msg) __attribute__((availability(ios,introduced=2.2,deprecated=5.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_5_1 __attribute__((availability(ios,introduced=2.2,deprecated=5.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_5_1_MSG(_msg) __attribute__((availability(ios,introduced=2.2,deprecated=5.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_5_1_MSG(_msg) __attribute__((availability(ios,introduced=2.2,deprecated=5.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_6_0 __attribute__((availability(ios,introduced=2.2,deprecated=6.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_6_0_MSG(_msg) __attribute__((availability(ios,introduced=2.2,deprecated=6.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_6_0_MSG(_msg) __attribute__((availability(ios,introduced=2.2,deprecated=6.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_6_1 __attribute__((availability(ios,introduced=2.2,deprecated=6.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_6_1_MSG(_msg) __attribute__((availability(ios,introduced=2.2,deprecated=6.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_6_1_MSG(_msg) __attribute__((availability(ios,introduced=2.2,deprecated=6.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_7_0 __attribute__((availability(ios,introduced=2.2,deprecated=7.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_7_0_MSG(_msg) __attribute__((availability(ios,introduced=2.2,deprecated=7.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_7_0_MSG(_msg) __attribute__((availability(ios,introduced=2.2,deprecated=7.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_7_1 __attribute__((availability(ios,introduced=2.2,deprecated=7.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_7_1_MSG(_msg) __attribute__((availability(ios,introduced=2.2,deprecated=7.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_7_1_MSG(_msg) __attribute__((availability(ios,introduced=2.2,deprecated=7.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_8_0 __attribute__((availability(ios,introduced=2.2,deprecated=8.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_8_0_MSG(_msg) __attribute__((availability(ios,introduced=2.2,deprecated=8.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_8_0_MSG(_msg) __attribute__((availability(ios,introduced=2.2,deprecated=8.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_8_1 __attribute__((availability(ios,introduced=2.2,deprecated=8.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_8_1_MSG(_msg) __attribute__((availability(ios,introduced=2.2,deprecated=8.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_8_1_MSG(_msg) __attribute__((availability(ios,introduced=2.2,deprecated=8.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_8_2 __attribute__((availability(ios,introduced=2.2,deprecated=8.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_8_2_MSG(_msg) __attribute__((availability(ios,introduced=2.2,deprecated=8.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_8_2_MSG(_msg) __attribute__((availability(ios,introduced=2.2,deprecated=8.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_8_3 __attribute__((availability(ios,introduced=2.2,deprecated=8.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_8_3_MSG(_msg) __attribute__((availability(ios,introduced=2.2,deprecated=8.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_8_3_MSG(_msg) __attribute__((availability(ios,introduced=2.2,deprecated=8.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_8_4 __attribute__((availability(ios,introduced=2.2,deprecated=8.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_8_4_MSG(_msg) __attribute__((availability(ios,introduced=2.2,deprecated=8.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_8_4_MSG(_msg) __attribute__((availability(ios,introduced=2.2,deprecated=8.4))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_9_0 __attribute__((availability(ios,introduced=2.2,deprecated=9.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_9_0_MSG(_msg) __attribute__((availability(ios,introduced=2.2,deprecated=9.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_9_0_MSG(_msg) __attribute__((availability(ios,introduced=2.2,deprecated=9.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_9_1 __attribute__((availability(ios,introduced=2.2,deprecated=9.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_9_1_MSG(_msg) __attribute__((availability(ios,introduced=2.2,deprecated=9.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_9_1_MSG(_msg) __attribute__((availability(ios,introduced=2.2,deprecated=9.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_9_2 __attribute__((availability(ios,introduced=2.2,deprecated=9.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_9_2_MSG(_msg) __attribute__((availability(ios,introduced=2.2,deprecated=9.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_9_2_MSG(_msg) __attribute__((availability(ios,introduced=2.2,deprecated=9.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_9_3 __attribute__((availability(ios,introduced=2.2,deprecated=9.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_9_3_MSG(_msg) __attribute__((availability(ios,introduced=2.2,deprecated=9.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_9_3_MSG(_msg) __attribute__((availability(ios,introduced=2.2,deprecated=9.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_NA __attribute__((availability(ios,introduced=2.2))) - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_NA_MSG(_msg) __attribute__((availability(ios,introduced=2.2))) - #define __AVAILABILITY_INTERNAL__IPHONE_3_0 __attribute__((availability(ios,introduced=3.0))) - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_10_0 __attribute__((availability(ios,introduced=3.0,deprecated=10.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_10_0_MSG(_msg) __attribute__((availability(ios,introduced=3.0,deprecated=10.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_10_0_MSG(_msg) __attribute__((availability(ios,introduced=3.0,deprecated=10.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_10_1 __attribute__((availability(ios,introduced=3.0,deprecated=10.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_10_1_MSG(_msg) __attribute__((availability(ios,introduced=3.0,deprecated=10.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_10_1_MSG(_msg) __attribute__((availability(ios,introduced=3.0,deprecated=10.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_10_2 __attribute__((availability(ios,introduced=3.0,deprecated=10.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_10_2_MSG(_msg) __attribute__((availability(ios,introduced=3.0,deprecated=10.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_10_2_MSG(_msg) __attribute__((availability(ios,introduced=3.0,deprecated=10.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_10_3 __attribute__((availability(ios,introduced=3.0,deprecated=10.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_10_3_MSG(_msg) __attribute__((availability(ios,introduced=3.0,deprecated=10.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_10_3_MSG(_msg) __attribute__((availability(ios,introduced=3.0,deprecated=10.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_3_0 __attribute__((availability(ios,introduced=3.0,deprecated=3.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_3_0_MSG(_msg) __attribute__((availability(ios,introduced=3.0,deprecated=3.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_3_0_MSG(_msg) __attribute__((availability(ios,introduced=3.0,deprecated=3.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_3_1 __attribute__((availability(ios,introduced=3.0,deprecated=3.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_3_1_MSG(_msg) __attribute__((availability(ios,introduced=3.0,deprecated=3.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_3_1_MSG(_msg) __attribute__((availability(ios,introduced=3.0,deprecated=3.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_3_2 __attribute__((availability(ios,introduced=3.0,deprecated=3.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_3_2_MSG(_msg) __attribute__((availability(ios,introduced=3.0,deprecated=3.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_3_2_MSG(_msg) __attribute__((availability(ios,introduced=3.0,deprecated=3.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_4_0 __attribute__((availability(ios,introduced=3.0,deprecated=4.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_4_0_MSG(_msg) __attribute__((availability(ios,introduced=3.0,deprecated=4.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_4_0_MSG(_msg) __attribute__((availability(ios,introduced=3.0,deprecated=4.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_4_1 __attribute__((availability(ios,introduced=3.0,deprecated=4.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_4_1_MSG(_msg) __attribute__((availability(ios,introduced=3.0,deprecated=4.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_4_1_MSG(_msg) __attribute__((availability(ios,introduced=3.0,deprecated=4.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_4_2 __attribute__((availability(ios,introduced=3.0,deprecated=4.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_4_2_MSG(_msg) __attribute__((availability(ios,introduced=3.0,deprecated=4.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_4_2_MSG(_msg) __attribute__((availability(ios,introduced=3.0,deprecated=4.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_4_3 __attribute__((availability(ios,introduced=3.0,deprecated=4.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_4_3_MSG(_msg) __attribute__((availability(ios,introduced=3.0,deprecated=4.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_4_3_MSG(_msg) __attribute__((availability(ios,introduced=3.0,deprecated=4.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_5_0 __attribute__((availability(ios,introduced=3.0,deprecated=5.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_5_0_MSG(_msg) __attribute__((availability(ios,introduced=3.0,deprecated=5.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_5_0_MSG(_msg) __attribute__((availability(ios,introduced=3.0,deprecated=5.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_5_1 __attribute__((availability(ios,introduced=3.0,deprecated=5.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_5_1_MSG(_msg) __attribute__((availability(ios,introduced=3.0,deprecated=5.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_5_1_MSG(_msg) __attribute__((availability(ios,introduced=3.0,deprecated=5.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_6_0 __attribute__((availability(ios,introduced=3.0,deprecated=6.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_6_0_MSG(_msg) __attribute__((availability(ios,introduced=3.0,deprecated=6.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_6_0_MSG(_msg) __attribute__((availability(ios,introduced=3.0,deprecated=6.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_6_1 __attribute__((availability(ios,introduced=3.0,deprecated=6.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_6_1_MSG(_msg) __attribute__((availability(ios,introduced=3.0,deprecated=6.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_6_1_MSG(_msg) __attribute__((availability(ios,introduced=3.0,deprecated=6.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_7_0 __attribute__((availability(ios,introduced=3.0,deprecated=7.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_7_0_MSG(_msg) __attribute__((availability(ios,introduced=3.0,deprecated=7.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_7_0_MSG(_msg) __attribute__((availability(ios,introduced=3.0,deprecated=7.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_7_1 __attribute__((availability(ios,introduced=3.0,deprecated=7.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_7_1_MSG(_msg) __attribute__((availability(ios,introduced=3.0,deprecated=7.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_7_1_MSG(_msg) __attribute__((availability(ios,introduced=3.0,deprecated=7.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_8_0 __attribute__((availability(ios,introduced=3.0,deprecated=8.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_8_0_MSG(_msg) __attribute__((availability(ios,introduced=3.0,deprecated=8.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_8_0_MSG(_msg) __attribute__((availability(ios,introduced=3.0,deprecated=8.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_8_1 __attribute__((availability(ios,introduced=3.0,deprecated=8.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_8_1_MSG(_msg) __attribute__((availability(ios,introduced=3.0,deprecated=8.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_8_1_MSG(_msg) __attribute__((availability(ios,introduced=3.0,deprecated=8.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_8_2 __attribute__((availability(ios,introduced=3.0,deprecated=8.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_8_2_MSG(_msg) __attribute__((availability(ios,introduced=3.0,deprecated=8.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_8_2_MSG(_msg) __attribute__((availability(ios,introduced=3.0,deprecated=8.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_8_3 __attribute__((availability(ios,introduced=3.0,deprecated=8.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_8_3_MSG(_msg) __attribute__((availability(ios,introduced=3.0,deprecated=8.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_8_3_MSG(_msg) __attribute__((availability(ios,introduced=3.0,deprecated=8.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_8_4 __attribute__((availability(ios,introduced=3.0,deprecated=8.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_8_4_MSG(_msg) __attribute__((availability(ios,introduced=3.0,deprecated=8.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_8_4_MSG(_msg) __attribute__((availability(ios,introduced=3.0,deprecated=8.4))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_9_0 __attribute__((availability(ios,introduced=3.0,deprecated=9.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_9_0_MSG(_msg) __attribute__((availability(ios,introduced=3.0,deprecated=9.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_9_0_MSG(_msg) __attribute__((availability(ios,introduced=3.0,deprecated=9.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_9_1 __attribute__((availability(ios,introduced=3.0,deprecated=9.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_9_1_MSG(_msg) __attribute__((availability(ios,introduced=3.0,deprecated=9.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_9_1_MSG(_msg) __attribute__((availability(ios,introduced=3.0,deprecated=9.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_9_2 __attribute__((availability(ios,introduced=3.0,deprecated=9.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_9_2_MSG(_msg) __attribute__((availability(ios,introduced=3.0,deprecated=9.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_9_2_MSG(_msg) __attribute__((availability(ios,introduced=3.0,deprecated=9.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_9_3 __attribute__((availability(ios,introduced=3.0,deprecated=9.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_9_3_MSG(_msg) __attribute__((availability(ios,introduced=3.0,deprecated=9.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_9_3_MSG(_msg) __attribute__((availability(ios,introduced=3.0,deprecated=9.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_NA __attribute__((availability(ios,introduced=3.0))) - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_NA_MSG(_msg) __attribute__((availability(ios,introduced=3.0))) - #define __AVAILABILITY_INTERNAL__IPHONE_3_1 __attribute__((availability(ios,introduced=3.1))) - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_10_0 __attribute__((availability(ios,introduced=3.1,deprecated=10.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_10_0_MSG(_msg) __attribute__((availability(ios,introduced=3.1,deprecated=10.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_10_0_MSG(_msg) __attribute__((availability(ios,introduced=3.1,deprecated=10.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_10_1 __attribute__((availability(ios,introduced=3.1,deprecated=10.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_10_1_MSG(_msg) __attribute__((availability(ios,introduced=3.1,deprecated=10.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_10_1_MSG(_msg) __attribute__((availability(ios,introduced=3.1,deprecated=10.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_10_2 __attribute__((availability(ios,introduced=3.1,deprecated=10.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_10_2_MSG(_msg) __attribute__((availability(ios,introduced=3.1,deprecated=10.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_10_2_MSG(_msg) __attribute__((availability(ios,introduced=3.1,deprecated=10.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_10_3 __attribute__((availability(ios,introduced=3.1,deprecated=10.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_10_3_MSG(_msg) __attribute__((availability(ios,introduced=3.1,deprecated=10.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_10_3_MSG(_msg) __attribute__((availability(ios,introduced=3.1,deprecated=10.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_3_1 __attribute__((availability(ios,introduced=3.1,deprecated=3.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_3_1_MSG(_msg) __attribute__((availability(ios,introduced=3.1,deprecated=3.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_3_1_MSG(_msg) __attribute__((availability(ios,introduced=3.1,deprecated=3.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_3_2 __attribute__((availability(ios,introduced=3.1,deprecated=3.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_3_2_MSG(_msg) __attribute__((availability(ios,introduced=3.1,deprecated=3.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_3_2_MSG(_msg) __attribute__((availability(ios,introduced=3.1,deprecated=3.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_4_0 __attribute__((availability(ios,introduced=3.1,deprecated=4.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_4_0_MSG(_msg) __attribute__((availability(ios,introduced=3.1,deprecated=4.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_4_0_MSG(_msg) __attribute__((availability(ios,introduced=3.1,deprecated=4.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_4_1 __attribute__((availability(ios,introduced=3.1,deprecated=4.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_4_1_MSG(_msg) __attribute__((availability(ios,introduced=3.1,deprecated=4.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_4_1_MSG(_msg) __attribute__((availability(ios,introduced=3.1,deprecated=4.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_4_2 __attribute__((availability(ios,introduced=3.1,deprecated=4.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_4_2_MSG(_msg) __attribute__((availability(ios,introduced=3.1,deprecated=4.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_4_2_MSG(_msg) __attribute__((availability(ios,introduced=3.1,deprecated=4.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_4_3 __attribute__((availability(ios,introduced=3.1,deprecated=4.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_4_3_MSG(_msg) __attribute__((availability(ios,introduced=3.1,deprecated=4.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_4_3_MSG(_msg) __attribute__((availability(ios,introduced=3.1,deprecated=4.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_5_0 __attribute__((availability(ios,introduced=3.1,deprecated=5.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_5_0_MSG(_msg) __attribute__((availability(ios,introduced=3.1,deprecated=5.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_5_0_MSG(_msg) __attribute__((availability(ios,introduced=3.1,deprecated=5.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_5_1 __attribute__((availability(ios,introduced=3.1,deprecated=5.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_5_1_MSG(_msg) __attribute__((availability(ios,introduced=3.1,deprecated=5.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_5_1_MSG(_msg) __attribute__((availability(ios,introduced=3.1,deprecated=5.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_6_0 __attribute__((availability(ios,introduced=3.1,deprecated=6.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_6_0_MSG(_msg) __attribute__((availability(ios,introduced=3.1,deprecated=6.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_6_0_MSG(_msg) __attribute__((availability(ios,introduced=3.1,deprecated=6.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_6_1 __attribute__((availability(ios,introduced=3.1,deprecated=6.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_6_1_MSG(_msg) __attribute__((availability(ios,introduced=3.1,deprecated=6.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_6_1_MSG(_msg) __attribute__((availability(ios,introduced=3.1,deprecated=6.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_7_0 __attribute__((availability(ios,introduced=3.1,deprecated=7.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_7_0_MSG(_msg) __attribute__((availability(ios,introduced=3.1,deprecated=7.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_7_0_MSG(_msg) __attribute__((availability(ios,introduced=3.1,deprecated=7.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_7_1 __attribute__((availability(ios,introduced=3.1,deprecated=7.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_7_1_MSG(_msg) __attribute__((availability(ios,introduced=3.1,deprecated=7.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_7_1_MSG(_msg) __attribute__((availability(ios,introduced=3.1,deprecated=7.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_8_0 __attribute__((availability(ios,introduced=3.1,deprecated=8.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_8_0_MSG(_msg) __attribute__((availability(ios,introduced=3.1,deprecated=8.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_8_0_MSG(_msg) __attribute__((availability(ios,introduced=3.1,deprecated=8.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_8_1 __attribute__((availability(ios,introduced=3.1,deprecated=8.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_8_1_MSG(_msg) __attribute__((availability(ios,introduced=3.1,deprecated=8.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_8_1_MSG(_msg) __attribute__((availability(ios,introduced=3.1,deprecated=8.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_8_2 __attribute__((availability(ios,introduced=3.1,deprecated=8.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_8_2_MSG(_msg) __attribute__((availability(ios,introduced=3.1,deprecated=8.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_8_2_MSG(_msg) __attribute__((availability(ios,introduced=3.1,deprecated=8.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_8_3 __attribute__((availability(ios,introduced=3.1,deprecated=8.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_8_3_MSG(_msg) __attribute__((availability(ios,introduced=3.1,deprecated=8.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_8_3_MSG(_msg) __attribute__((availability(ios,introduced=3.1,deprecated=8.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_8_4 __attribute__((availability(ios,introduced=3.1,deprecated=8.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_8_4_MSG(_msg) __attribute__((availability(ios,introduced=3.1,deprecated=8.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_8_4_MSG(_msg) __attribute__((availability(ios,introduced=3.1,deprecated=8.4))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_9_0 __attribute__((availability(ios,introduced=3.1,deprecated=9.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_9_0_MSG(_msg) __attribute__((availability(ios,introduced=3.1,deprecated=9.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_9_0_MSG(_msg) __attribute__((availability(ios,introduced=3.1,deprecated=9.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_9_1 __attribute__((availability(ios,introduced=3.1,deprecated=9.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_9_1_MSG(_msg) __attribute__((availability(ios,introduced=3.1,deprecated=9.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_9_1_MSG(_msg) __attribute__((availability(ios,introduced=3.1,deprecated=9.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_9_2 __attribute__((availability(ios,introduced=3.1,deprecated=9.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_9_2_MSG(_msg) __attribute__((availability(ios,introduced=3.1,deprecated=9.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_9_2_MSG(_msg) __attribute__((availability(ios,introduced=3.1,deprecated=9.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_9_3 __attribute__((availability(ios,introduced=3.1,deprecated=9.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_9_3_MSG(_msg) __attribute__((availability(ios,introduced=3.1,deprecated=9.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_9_3_MSG(_msg) __attribute__((availability(ios,introduced=3.1,deprecated=9.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_NA __attribute__((availability(ios,introduced=3.1))) - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_NA_MSG(_msg) __attribute__((availability(ios,introduced=3.1))) - #define __AVAILABILITY_INTERNAL__IPHONE_3_2 __attribute__((availability(ios,introduced=3.2))) - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_10_0 __attribute__((availability(ios,introduced=3.2,deprecated=10.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_10_0_MSG(_msg) __attribute__((availability(ios,introduced=3.2,deprecated=10.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_10_0_MSG(_msg) __attribute__((availability(ios,introduced=3.2,deprecated=10.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_10_1 __attribute__((availability(ios,introduced=3.2,deprecated=10.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_10_1_MSG(_msg) __attribute__((availability(ios,introduced=3.2,deprecated=10.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_10_1_MSG(_msg) __attribute__((availability(ios,introduced=3.2,deprecated=10.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_10_2 __attribute__((availability(ios,introduced=3.2,deprecated=10.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_10_2_MSG(_msg) __attribute__((availability(ios,introduced=3.2,deprecated=10.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_10_2_MSG(_msg) __attribute__((availability(ios,introduced=3.2,deprecated=10.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_10_3 __attribute__((availability(ios,introduced=3.2,deprecated=10.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_10_3_MSG(_msg) __attribute__((availability(ios,introduced=3.2,deprecated=10.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_10_3_MSG(_msg) __attribute__((availability(ios,introduced=3.2,deprecated=10.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_3_2 __attribute__((availability(ios,introduced=3.2,deprecated=3.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_3_2_MSG(_msg) __attribute__((availability(ios,introduced=3.2,deprecated=3.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_3_2_MSG(_msg) __attribute__((availability(ios,introduced=3.2,deprecated=3.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_4_0 __attribute__((availability(ios,introduced=3.2,deprecated=4.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_4_0_MSG(_msg) __attribute__((availability(ios,introduced=3.2,deprecated=4.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_4_0_MSG(_msg) __attribute__((availability(ios,introduced=3.2,deprecated=4.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_4_1 __attribute__((availability(ios,introduced=3.2,deprecated=4.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_4_1_MSG(_msg) __attribute__((availability(ios,introduced=3.2,deprecated=4.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_4_1_MSG(_msg) __attribute__((availability(ios,introduced=3.2,deprecated=4.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_4_2 __attribute__((availability(ios,introduced=3.2,deprecated=4.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_4_2_MSG(_msg) __attribute__((availability(ios,introduced=3.2,deprecated=4.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_4_2_MSG(_msg) __attribute__((availability(ios,introduced=3.2,deprecated=4.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_4_3 __attribute__((availability(ios,introduced=3.2,deprecated=4.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_4_3_MSG(_msg) __attribute__((availability(ios,introduced=3.2,deprecated=4.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_4_3_MSG(_msg) __attribute__((availability(ios,introduced=3.2,deprecated=4.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_5_0 __attribute__((availability(ios,introduced=3.2,deprecated=5.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_5_0_MSG(_msg) __attribute__((availability(ios,introduced=3.2,deprecated=5.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_5_0_MSG(_msg) __attribute__((availability(ios,introduced=3.2,deprecated=5.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_5_1 __attribute__((availability(ios,introduced=3.2,deprecated=5.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_5_1_MSG(_msg) __attribute__((availability(ios,introduced=3.2,deprecated=5.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_5_1_MSG(_msg) __attribute__((availability(ios,introduced=3.2,deprecated=5.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_6_0 __attribute__((availability(ios,introduced=3.2,deprecated=6.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_6_0_MSG(_msg) __attribute__((availability(ios,introduced=3.2,deprecated=6.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_6_0_MSG(_msg) __attribute__((availability(ios,introduced=3.2,deprecated=6.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_6_1 __attribute__((availability(ios,introduced=3.2,deprecated=6.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_6_1_MSG(_msg) __attribute__((availability(ios,introduced=3.2,deprecated=6.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_6_1_MSG(_msg) __attribute__((availability(ios,introduced=3.2,deprecated=6.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_7_0 __attribute__((availability(ios,introduced=3.2,deprecated=7.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_7_0_MSG(_msg) __attribute__((availability(ios,introduced=3.2,deprecated=7.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_7_0_MSG(_msg) __attribute__((availability(ios,introduced=3.2,deprecated=7.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_7_1 __attribute__((availability(ios,introduced=3.2,deprecated=7.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_7_1_MSG(_msg) __attribute__((availability(ios,introduced=3.2,deprecated=7.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_7_1_MSG(_msg) __attribute__((availability(ios,introduced=3.2,deprecated=7.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_8_0 __attribute__((availability(ios,introduced=3.2,deprecated=8.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_8_0_MSG(_msg) __attribute__((availability(ios,introduced=3.2,deprecated=8.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_8_0_MSG(_msg) __attribute__((availability(ios,introduced=3.2,deprecated=8.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_8_1 __attribute__((availability(ios,introduced=3.2,deprecated=8.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_8_1_MSG(_msg) __attribute__((availability(ios,introduced=3.2,deprecated=8.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_8_1_MSG(_msg) __attribute__((availability(ios,introduced=3.2,deprecated=8.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_8_2 __attribute__((availability(ios,introduced=3.2,deprecated=8.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_8_2_MSG(_msg) __attribute__((availability(ios,introduced=3.2,deprecated=8.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_8_2_MSG(_msg) __attribute__((availability(ios,introduced=3.2,deprecated=8.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_8_3 __attribute__((availability(ios,introduced=3.2,deprecated=8.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_8_3_MSG(_msg) __attribute__((availability(ios,introduced=3.2,deprecated=8.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_8_3_MSG(_msg) __attribute__((availability(ios,introduced=3.2,deprecated=8.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_8_4 __attribute__((availability(ios,introduced=3.2,deprecated=8.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_8_4_MSG(_msg) __attribute__((availability(ios,introduced=3.2,deprecated=8.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_8_4_MSG(_msg) __attribute__((availability(ios,introduced=3.2,deprecated=8.4))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_9_0 __attribute__((availability(ios,introduced=3.2,deprecated=9.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_9_0_MSG(_msg) __attribute__((availability(ios,introduced=3.2,deprecated=9.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_9_0_MSG(_msg) __attribute__((availability(ios,introduced=3.2,deprecated=9.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_9_1 __attribute__((availability(ios,introduced=3.2,deprecated=9.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_9_1_MSG(_msg) __attribute__((availability(ios,introduced=3.2,deprecated=9.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_9_1_MSG(_msg) __attribute__((availability(ios,introduced=3.2,deprecated=9.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_9_2 __attribute__((availability(ios,introduced=3.2,deprecated=9.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_9_2_MSG(_msg) __attribute__((availability(ios,introduced=3.2,deprecated=9.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_9_2_MSG(_msg) __attribute__((availability(ios,introduced=3.2,deprecated=9.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_9_3 __attribute__((availability(ios,introduced=3.2,deprecated=9.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_9_3_MSG(_msg) __attribute__((availability(ios,introduced=3.2,deprecated=9.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_9_3_MSG(_msg) __attribute__((availability(ios,introduced=3.2,deprecated=9.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_NA __attribute__((availability(ios,introduced=3.2))) - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_NA_MSG(_msg) __attribute__((availability(ios,introduced=3.2))) - #define __AVAILABILITY_INTERNAL__IPHONE_4_0 __attribute__((availability(ios,introduced=4.0))) - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_10_0 __attribute__((availability(ios,introduced=4.0,deprecated=10.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_10_0_MSG(_msg) __attribute__((availability(ios,introduced=4.0,deprecated=10.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_10_0_MSG(_msg) __attribute__((availability(ios,introduced=4.0,deprecated=10.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_10_1 __attribute__((availability(ios,introduced=4.0,deprecated=10.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_10_1_MSG(_msg) __attribute__((availability(ios,introduced=4.0,deprecated=10.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_10_1_MSG(_msg) __attribute__((availability(ios,introduced=4.0,deprecated=10.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_10_2 __attribute__((availability(ios,introduced=4.0,deprecated=10.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_10_2_MSG(_msg) __attribute__((availability(ios,introduced=4.0,deprecated=10.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_10_2_MSG(_msg) __attribute__((availability(ios,introduced=4.0,deprecated=10.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_10_3 __attribute__((availability(ios,introduced=4.0,deprecated=10.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_10_3_MSG(_msg) __attribute__((availability(ios,introduced=4.0,deprecated=10.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_10_3_MSG(_msg) __attribute__((availability(ios,introduced=4.0,deprecated=10.3))) - #endif - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_12_0_MSG(_msg) __attribute__((availability(ios,introduced=4.0,deprecated=12.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_12_0_MSG(_msg) __attribute__((availability(ios,introduced=4.0,deprecated=12.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_4_0 __attribute__((availability(ios,introduced=4.0,deprecated=4.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_4_0_MSG(_msg) __attribute__((availability(ios,introduced=4.0,deprecated=4.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_4_0_MSG(_msg) __attribute__((availability(ios,introduced=4.0,deprecated=4.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_4_1 __attribute__((availability(ios,introduced=4.0,deprecated=4.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_4_1_MSG(_msg) __attribute__((availability(ios,introduced=4.0,deprecated=4.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_4_1_MSG(_msg) __attribute__((availability(ios,introduced=4.0,deprecated=4.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_4_2 __attribute__((availability(ios,introduced=4.0,deprecated=4.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_4_2_MSG(_msg) __attribute__((availability(ios,introduced=4.0,deprecated=4.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_4_2_MSG(_msg) __attribute__((availability(ios,introduced=4.0,deprecated=4.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_4_3 __attribute__((availability(ios,introduced=4.0,deprecated=4.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_4_3_MSG(_msg) __attribute__((availability(ios,introduced=4.0,deprecated=4.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_4_3_MSG(_msg) __attribute__((availability(ios,introduced=4.0,deprecated=4.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_5_0 __attribute__((availability(ios,introduced=4.0,deprecated=5.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_5_0_MSG(_msg) __attribute__((availability(ios,introduced=4.0,deprecated=5.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_5_0_MSG(_msg) __attribute__((availability(ios,introduced=4.0,deprecated=5.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_5_1 __attribute__((availability(ios,introduced=4.0,deprecated=5.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_5_1_MSG(_msg) __attribute__((availability(ios,introduced=4.0,deprecated=5.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_5_1_MSG(_msg) __attribute__((availability(ios,introduced=4.0,deprecated=5.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_6_0 __attribute__((availability(ios,introduced=4.0,deprecated=6.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_6_0_MSG(_msg) __attribute__((availability(ios,introduced=4.0,deprecated=6.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_6_0_MSG(_msg) __attribute__((availability(ios,introduced=4.0,deprecated=6.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_6_1 __attribute__((availability(ios,introduced=4.0,deprecated=6.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_6_1_MSG(_msg) __attribute__((availability(ios,introduced=4.0,deprecated=6.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_6_1_MSG(_msg) __attribute__((availability(ios,introduced=4.0,deprecated=6.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_7_0 __attribute__((availability(ios,introduced=4.0,deprecated=7.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_7_0_MSG(_msg) __attribute__((availability(ios,introduced=4.0,deprecated=7.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_7_0_MSG(_msg) __attribute__((availability(ios,introduced=4.0,deprecated=7.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_7_1 __attribute__((availability(ios,introduced=4.0,deprecated=7.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_7_1_MSG(_msg) __attribute__((availability(ios,introduced=4.0,deprecated=7.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_7_1_MSG(_msg) __attribute__((availability(ios,introduced=4.0,deprecated=7.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_8_0 __attribute__((availability(ios,introduced=4.0,deprecated=8.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_8_0_MSG(_msg) __attribute__((availability(ios,introduced=4.0,deprecated=8.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_8_0_MSG(_msg) __attribute__((availability(ios,introduced=4.0,deprecated=8.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_8_1 __attribute__((availability(ios,introduced=4.0,deprecated=8.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_8_1_MSG(_msg) __attribute__((availability(ios,introduced=4.0,deprecated=8.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_8_1_MSG(_msg) __attribute__((availability(ios,introduced=4.0,deprecated=8.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_8_2 __attribute__((availability(ios,introduced=4.0,deprecated=8.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_8_2_MSG(_msg) __attribute__((availability(ios,introduced=4.0,deprecated=8.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_8_2_MSG(_msg) __attribute__((availability(ios,introduced=4.0,deprecated=8.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_8_3 __attribute__((availability(ios,introduced=4.0,deprecated=8.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_8_3_MSG(_msg) __attribute__((availability(ios,introduced=4.0,deprecated=8.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_8_3_MSG(_msg) __attribute__((availability(ios,introduced=4.0,deprecated=8.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_8_4 __attribute__((availability(ios,introduced=4.0,deprecated=8.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_8_4_MSG(_msg) __attribute__((availability(ios,introduced=4.0,deprecated=8.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_8_4_MSG(_msg) __attribute__((availability(ios,introduced=4.0,deprecated=8.4))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_9_0 __attribute__((availability(ios,introduced=4.0,deprecated=9.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_9_0_MSG(_msg) __attribute__((availability(ios,introduced=4.0,deprecated=9.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_9_0_MSG(_msg) __attribute__((availability(ios,introduced=4.0,deprecated=9.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_9_1 __attribute__((availability(ios,introduced=4.0,deprecated=9.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_9_1_MSG(_msg) __attribute__((availability(ios,introduced=4.0,deprecated=9.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_9_1_MSG(_msg) __attribute__((availability(ios,introduced=4.0,deprecated=9.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_9_2 __attribute__((availability(ios,introduced=4.0,deprecated=9.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_9_2_MSG(_msg) __attribute__((availability(ios,introduced=4.0,deprecated=9.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_9_2_MSG(_msg) __attribute__((availability(ios,introduced=4.0,deprecated=9.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_9_3 __attribute__((availability(ios,introduced=4.0,deprecated=9.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_9_3_MSG(_msg) __attribute__((availability(ios,introduced=4.0,deprecated=9.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_9_3_MSG(_msg) __attribute__((availability(ios,introduced=4.0,deprecated=9.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_NA __attribute__((availability(ios,introduced=4.0))) - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_NA_MSG(_msg) __attribute__((availability(ios,introduced=4.0))) - #define __AVAILABILITY_INTERNAL__IPHONE_4_1 __attribute__((availability(ios,introduced=4.1))) - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_10_0 __attribute__((availability(ios,introduced=4.1,deprecated=10.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_10_0_MSG(_msg) __attribute__((availability(ios,introduced=4.1,deprecated=10.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_10_0_MSG(_msg) __attribute__((availability(ios,introduced=4.1,deprecated=10.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_10_1 __attribute__((availability(ios,introduced=4.1,deprecated=10.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_10_1_MSG(_msg) __attribute__((availability(ios,introduced=4.1,deprecated=10.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_10_1_MSG(_msg) __attribute__((availability(ios,introduced=4.1,deprecated=10.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_10_2 __attribute__((availability(ios,introduced=4.1,deprecated=10.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_10_2_MSG(_msg) __attribute__((availability(ios,introduced=4.1,deprecated=10.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_10_2_MSG(_msg) __attribute__((availability(ios,introduced=4.1,deprecated=10.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_10_3 __attribute__((availability(ios,introduced=4.1,deprecated=10.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_10_3_MSG(_msg) __attribute__((availability(ios,introduced=4.1,deprecated=10.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_10_3_MSG(_msg) __attribute__((availability(ios,introduced=4.1,deprecated=10.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_4_1 __attribute__((availability(ios,introduced=4.1,deprecated=4.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_4_1_MSG(_msg) __attribute__((availability(ios,introduced=4.1,deprecated=4.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_4_1_MSG(_msg) __attribute__((availability(ios,introduced=4.1,deprecated=4.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_4_2 __attribute__((availability(ios,introduced=4.1,deprecated=4.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_4_2_MSG(_msg) __attribute__((availability(ios,introduced=4.1,deprecated=4.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_4_2_MSG(_msg) __attribute__((availability(ios,introduced=4.1,deprecated=4.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_4_3 __attribute__((availability(ios,introduced=4.1,deprecated=4.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_4_3_MSG(_msg) __attribute__((availability(ios,introduced=4.1,deprecated=4.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_4_3_MSG(_msg) __attribute__((availability(ios,introduced=4.1,deprecated=4.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_5_0 __attribute__((availability(ios,introduced=4.1,deprecated=5.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_5_0_MSG(_msg) __attribute__((availability(ios,introduced=4.1,deprecated=5.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_5_0_MSG(_msg) __attribute__((availability(ios,introduced=4.1,deprecated=5.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_5_1 __attribute__((availability(ios,introduced=4.1,deprecated=5.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_5_1_MSG(_msg) __attribute__((availability(ios,introduced=4.1,deprecated=5.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_5_1_MSG(_msg) __attribute__((availability(ios,introduced=4.1,deprecated=5.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_6_0 __attribute__((availability(ios,introduced=4.1,deprecated=6.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_6_0_MSG(_msg) __attribute__((availability(ios,introduced=4.1,deprecated=6.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_6_0_MSG(_msg) __attribute__((availability(ios,introduced=4.1,deprecated=6.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_6_1 __attribute__((availability(ios,introduced=4.1,deprecated=6.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_6_1_MSG(_msg) __attribute__((availability(ios,introduced=4.1,deprecated=6.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_6_1_MSG(_msg) __attribute__((availability(ios,introduced=4.1,deprecated=6.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_7_0 __attribute__((availability(ios,introduced=4.1,deprecated=7.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_7_0_MSG(_msg) __attribute__((availability(ios,introduced=4.1,deprecated=7.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_7_0_MSG(_msg) __attribute__((availability(ios,introduced=4.1,deprecated=7.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_7_1 __attribute__((availability(ios,introduced=4.1,deprecated=7.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_7_1_MSG(_msg) __attribute__((availability(ios,introduced=4.1,deprecated=7.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_7_1_MSG(_msg) __attribute__((availability(ios,introduced=4.1,deprecated=7.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_8_0 __attribute__((availability(ios,introduced=4.1,deprecated=8.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_8_0_MSG(_msg) __attribute__((availability(ios,introduced=4.1,deprecated=8.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_8_0_MSG(_msg) __attribute__((availability(ios,introduced=4.1,deprecated=8.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_8_1 __attribute__((availability(ios,introduced=4.1,deprecated=8.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_8_1_MSG(_msg) __attribute__((availability(ios,introduced=4.1,deprecated=8.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_8_1_MSG(_msg) __attribute__((availability(ios,introduced=4.1,deprecated=8.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_8_2 __attribute__((availability(ios,introduced=4.1,deprecated=8.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_8_2_MSG(_msg) __attribute__((availability(ios,introduced=4.1,deprecated=8.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_8_2_MSG(_msg) __attribute__((availability(ios,introduced=4.1,deprecated=8.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_8_3 __attribute__((availability(ios,introduced=4.1,deprecated=8.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_8_3_MSG(_msg) __attribute__((availability(ios,introduced=4.1,deprecated=8.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_8_3_MSG(_msg) __attribute__((availability(ios,introduced=4.1,deprecated=8.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_8_4 __attribute__((availability(ios,introduced=4.1,deprecated=8.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_8_4_MSG(_msg) __attribute__((availability(ios,introduced=4.1,deprecated=8.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_8_4_MSG(_msg) __attribute__((availability(ios,introduced=4.1,deprecated=8.4))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_9_0 __attribute__((availability(ios,introduced=4.1,deprecated=9.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_9_0_MSG(_msg) __attribute__((availability(ios,introduced=4.1,deprecated=9.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_9_0_MSG(_msg) __attribute__((availability(ios,introduced=4.1,deprecated=9.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_9_1 __attribute__((availability(ios,introduced=4.1,deprecated=9.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_9_1_MSG(_msg) __attribute__((availability(ios,introduced=4.1,deprecated=9.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_9_1_MSG(_msg) __attribute__((availability(ios,introduced=4.1,deprecated=9.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_9_2 __attribute__((availability(ios,introduced=4.1,deprecated=9.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_9_2_MSG(_msg) __attribute__((availability(ios,introduced=4.1,deprecated=9.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_9_2_MSG(_msg) __attribute__((availability(ios,introduced=4.1,deprecated=9.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_9_3 __attribute__((availability(ios,introduced=4.1,deprecated=9.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_9_3_MSG(_msg) __attribute__((availability(ios,introduced=4.1,deprecated=9.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_9_3_MSG(_msg) __attribute__((availability(ios,introduced=4.1,deprecated=9.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_NA __attribute__((availability(ios,introduced=4.1))) - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_NA_MSG(_msg) __attribute__((availability(ios,introduced=4.1))) - #define __AVAILABILITY_INTERNAL__IPHONE_4_2 __attribute__((availability(ios,introduced=4.2))) - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_10_0 __attribute__((availability(ios,introduced=4.2,deprecated=10.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_10_0_MSG(_msg) __attribute__((availability(ios,introduced=4.2,deprecated=10.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_10_0_MSG(_msg) __attribute__((availability(ios,introduced=4.2,deprecated=10.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_10_1 __attribute__((availability(ios,introduced=4.2,deprecated=10.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_10_1_MSG(_msg) __attribute__((availability(ios,introduced=4.2,deprecated=10.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_10_1_MSG(_msg) __attribute__((availability(ios,introduced=4.2,deprecated=10.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_10_2 __attribute__((availability(ios,introduced=4.2,deprecated=10.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_10_2_MSG(_msg) __attribute__((availability(ios,introduced=4.2,deprecated=10.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_10_2_MSG(_msg) __attribute__((availability(ios,introduced=4.2,deprecated=10.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_10_3 __attribute__((availability(ios,introduced=4.2,deprecated=10.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_10_3_MSG(_msg) __attribute__((availability(ios,introduced=4.2,deprecated=10.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_10_3_MSG(_msg) __attribute__((availability(ios,introduced=4.2,deprecated=10.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_4_2 __attribute__((availability(ios,introduced=4.2,deprecated=4.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_4_2_MSG(_msg) __attribute__((availability(ios,introduced=4.2,deprecated=4.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_4_2_MSG(_msg) __attribute__((availability(ios,introduced=4.2,deprecated=4.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_4_3 __attribute__((availability(ios,introduced=4.2,deprecated=4.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_4_3_MSG(_msg) __attribute__((availability(ios,introduced=4.2,deprecated=4.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_4_3_MSG(_msg) __attribute__((availability(ios,introduced=4.2,deprecated=4.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_5_0 __attribute__((availability(ios,introduced=4.2,deprecated=5.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_5_0_MSG(_msg) __attribute__((availability(ios,introduced=4.2,deprecated=5.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_5_0_MSG(_msg) __attribute__((availability(ios,introduced=4.2,deprecated=5.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_5_1 __attribute__((availability(ios,introduced=4.2,deprecated=5.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_5_1_MSG(_msg) __attribute__((availability(ios,introduced=4.2,deprecated=5.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_5_1_MSG(_msg) __attribute__((availability(ios,introduced=4.2,deprecated=5.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_6_0 __attribute__((availability(ios,introduced=4.2,deprecated=6.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_6_0_MSG(_msg) __attribute__((availability(ios,introduced=4.2,deprecated=6.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_6_0_MSG(_msg) __attribute__((availability(ios,introduced=4.2,deprecated=6.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_6_1 __attribute__((availability(ios,introduced=4.2,deprecated=6.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_6_1_MSG(_msg) __attribute__((availability(ios,introduced=4.2,deprecated=6.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_6_1_MSG(_msg) __attribute__((availability(ios,introduced=4.2,deprecated=6.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_7_0 __attribute__((availability(ios,introduced=4.2,deprecated=7.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_7_0_MSG(_msg) __attribute__((availability(ios,introduced=4.2,deprecated=7.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_7_0_MSG(_msg) __attribute__((availability(ios,introduced=4.2,deprecated=7.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_7_1 __attribute__((availability(ios,introduced=4.2,deprecated=7.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_7_1_MSG(_msg) __attribute__((availability(ios,introduced=4.2,deprecated=7.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_7_1_MSG(_msg) __attribute__((availability(ios,introduced=4.2,deprecated=7.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_8_0 __attribute__((availability(ios,introduced=4.2,deprecated=8.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_8_0_MSG(_msg) __attribute__((availability(ios,introduced=4.2,deprecated=8.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_8_0_MSG(_msg) __attribute__((availability(ios,introduced=4.2,deprecated=8.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_8_1 __attribute__((availability(ios,introduced=4.2,deprecated=8.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_8_1_MSG(_msg) __attribute__((availability(ios,introduced=4.2,deprecated=8.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_8_1_MSG(_msg) __attribute__((availability(ios,introduced=4.2,deprecated=8.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_8_2 __attribute__((availability(ios,introduced=4.2,deprecated=8.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_8_2_MSG(_msg) __attribute__((availability(ios,introduced=4.2,deprecated=8.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_8_2_MSG(_msg) __attribute__((availability(ios,introduced=4.2,deprecated=8.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_8_3 __attribute__((availability(ios,introduced=4.2,deprecated=8.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_8_3_MSG(_msg) __attribute__((availability(ios,introduced=4.2,deprecated=8.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_8_3_MSG(_msg) __attribute__((availability(ios,introduced=4.2,deprecated=8.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_8_4 __attribute__((availability(ios,introduced=4.2,deprecated=8.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_8_4_MSG(_msg) __attribute__((availability(ios,introduced=4.2,deprecated=8.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_8_4_MSG(_msg) __attribute__((availability(ios,introduced=4.2,deprecated=8.4))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_9_0 __attribute__((availability(ios,introduced=4.2,deprecated=9.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_9_0_MSG(_msg) __attribute__((availability(ios,introduced=4.2,deprecated=9.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_9_0_MSG(_msg) __attribute__((availability(ios,introduced=4.2,deprecated=9.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_9_1 __attribute__((availability(ios,introduced=4.2,deprecated=9.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_9_1_MSG(_msg) __attribute__((availability(ios,introduced=4.2,deprecated=9.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_9_1_MSG(_msg) __attribute__((availability(ios,introduced=4.2,deprecated=9.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_9_2 __attribute__((availability(ios,introduced=4.2,deprecated=9.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_9_2_MSG(_msg) __attribute__((availability(ios,introduced=4.2,deprecated=9.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_9_2_MSG(_msg) __attribute__((availability(ios,introduced=4.2,deprecated=9.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_9_3 __attribute__((availability(ios,introduced=4.2,deprecated=9.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_9_3_MSG(_msg) __attribute__((availability(ios,introduced=4.2,deprecated=9.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_9_3_MSG(_msg) __attribute__((availability(ios,introduced=4.2,deprecated=9.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_NA __attribute__((availability(ios,introduced=4.2))) - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_NA_MSG(_msg) __attribute__((availability(ios,introduced=4.2))) - #define __AVAILABILITY_INTERNAL__IPHONE_4_3 __attribute__((availability(ios,introduced=4.3))) - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_10_0 __attribute__((availability(ios,introduced=4.3,deprecated=10.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_10_0_MSG(_msg) __attribute__((availability(ios,introduced=4.3,deprecated=10.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_10_0_MSG(_msg) __attribute__((availability(ios,introduced=4.3,deprecated=10.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_10_1 __attribute__((availability(ios,introduced=4.3,deprecated=10.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_10_1_MSG(_msg) __attribute__((availability(ios,introduced=4.3,deprecated=10.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_10_1_MSG(_msg) __attribute__((availability(ios,introduced=4.3,deprecated=10.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_10_2 __attribute__((availability(ios,introduced=4.3,deprecated=10.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_10_2_MSG(_msg) __attribute__((availability(ios,introduced=4.3,deprecated=10.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_10_2_MSG(_msg) __attribute__((availability(ios,introduced=4.3,deprecated=10.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_10_3 __attribute__((availability(ios,introduced=4.3,deprecated=10.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_10_3_MSG(_msg) __attribute__((availability(ios,introduced=4.3,deprecated=10.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_10_3_MSG(_msg) __attribute__((availability(ios,introduced=4.3,deprecated=10.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_4_3 __attribute__((availability(ios,introduced=4.3,deprecated=4.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_4_3_MSG(_msg) __attribute__((availability(ios,introduced=4.3,deprecated=4.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_4_3_MSG(_msg) __attribute__((availability(ios,introduced=4.3,deprecated=4.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_5_0 __attribute__((availability(ios,introduced=4.3,deprecated=5.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_5_0_MSG(_msg) __attribute__((availability(ios,introduced=4.3,deprecated=5.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_5_0_MSG(_msg) __attribute__((availability(ios,introduced=4.3,deprecated=5.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_5_1 __attribute__((availability(ios,introduced=4.3,deprecated=5.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_5_1_MSG(_msg) __attribute__((availability(ios,introduced=4.3,deprecated=5.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_5_1_MSG(_msg) __attribute__((availability(ios,introduced=4.3,deprecated=5.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_6_0 __attribute__((availability(ios,introduced=4.3,deprecated=6.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_6_0_MSG(_msg) __attribute__((availability(ios,introduced=4.3,deprecated=6.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_6_0_MSG(_msg) __attribute__((availability(ios,introduced=4.3,deprecated=6.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_6_1 __attribute__((availability(ios,introduced=4.3,deprecated=6.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_6_1_MSG(_msg) __attribute__((availability(ios,introduced=4.3,deprecated=6.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_6_1_MSG(_msg) __attribute__((availability(ios,introduced=4.3,deprecated=6.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_7_0 __attribute__((availability(ios,introduced=4.3,deprecated=7.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_7_0_MSG(_msg) __attribute__((availability(ios,introduced=4.3,deprecated=7.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_7_0_MSG(_msg) __attribute__((availability(ios,introduced=4.3,deprecated=7.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_7_1 __attribute__((availability(ios,introduced=4.3,deprecated=7.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_7_1_MSG(_msg) __attribute__((availability(ios,introduced=4.3,deprecated=7.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_7_1_MSG(_msg) __attribute__((availability(ios,introduced=4.3,deprecated=7.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_8_0 __attribute__((availability(ios,introduced=4.3,deprecated=8.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_8_0_MSG(_msg) __attribute__((availability(ios,introduced=4.3,deprecated=8.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_8_0_MSG(_msg) __attribute__((availability(ios,introduced=4.3,deprecated=8.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_8_1 __attribute__((availability(ios,introduced=4.3,deprecated=8.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_8_1_MSG(_msg) __attribute__((availability(ios,introduced=4.3,deprecated=8.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_8_1_MSG(_msg) __attribute__((availability(ios,introduced=4.3,deprecated=8.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_8_2 __attribute__((availability(ios,introduced=4.3,deprecated=8.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_8_2_MSG(_msg) __attribute__((availability(ios,introduced=4.3,deprecated=8.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_8_2_MSG(_msg) __attribute__((availability(ios,introduced=4.3,deprecated=8.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_8_3 __attribute__((availability(ios,introduced=4.3,deprecated=8.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_8_3_MSG(_msg) __attribute__((availability(ios,introduced=4.3,deprecated=8.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_8_3_MSG(_msg) __attribute__((availability(ios,introduced=4.3,deprecated=8.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_8_4 __attribute__((availability(ios,introduced=4.3,deprecated=8.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_8_4_MSG(_msg) __attribute__((availability(ios,introduced=4.3,deprecated=8.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_8_4_MSG(_msg) __attribute__((availability(ios,introduced=4.3,deprecated=8.4))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_9_0 __attribute__((availability(ios,introduced=4.3,deprecated=9.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_9_0_MSG(_msg) __attribute__((availability(ios,introduced=4.3,deprecated=9.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_9_0_MSG(_msg) __attribute__((availability(ios,introduced=4.3,deprecated=9.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_9_1 __attribute__((availability(ios,introduced=4.3,deprecated=9.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_9_1_MSG(_msg) __attribute__((availability(ios,introduced=4.3,deprecated=9.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_9_1_MSG(_msg) __attribute__((availability(ios,introduced=4.3,deprecated=9.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_9_2 __attribute__((availability(ios,introduced=4.3,deprecated=9.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_9_2_MSG(_msg) __attribute__((availability(ios,introduced=4.3,deprecated=9.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_9_2_MSG(_msg) __attribute__((availability(ios,introduced=4.3,deprecated=9.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_9_3 __attribute__((availability(ios,introduced=4.3,deprecated=9.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_9_3_MSG(_msg) __attribute__((availability(ios,introduced=4.3,deprecated=9.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_9_3_MSG(_msg) __attribute__((availability(ios,introduced=4.3,deprecated=9.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_NA __attribute__((availability(ios,introduced=4.3))) - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_NA_MSG(_msg) __attribute__((availability(ios,introduced=4.3))) - #define __AVAILABILITY_INTERNAL__IPHONE_5_0 __attribute__((availability(ios,introduced=5.0))) - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_10_0 __attribute__((availability(ios,introduced=5.0,deprecated=10.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_10_0_MSG(_msg) __attribute__((availability(ios,introduced=5.0,deprecated=10.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_10_0_MSG(_msg) __attribute__((availability(ios,introduced=5.0,deprecated=10.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_10_1 __attribute__((availability(ios,introduced=5.0,deprecated=10.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_10_1_MSG(_msg) __attribute__((availability(ios,introduced=5.0,deprecated=10.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_10_1_MSG(_msg) __attribute__((availability(ios,introduced=5.0,deprecated=10.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_10_2 __attribute__((availability(ios,introduced=5.0,deprecated=10.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_10_2_MSG(_msg) __attribute__((availability(ios,introduced=5.0,deprecated=10.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_10_2_MSG(_msg) __attribute__((availability(ios,introduced=5.0,deprecated=10.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_10_3 __attribute__((availability(ios,introduced=5.0,deprecated=10.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_10_3_MSG(_msg) __attribute__((availability(ios,introduced=5.0,deprecated=10.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_10_3_MSG(_msg) __attribute__((availability(ios,introduced=5.0,deprecated=10.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_11_0 __attribute__((availability(ios,introduced=5.0,deprecated=11.0))) - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_5_0 __attribute__((availability(ios,introduced=5.0,deprecated=5.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_5_0_MSG(_msg) __attribute__((availability(ios,introduced=5.0,deprecated=5.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_5_0_MSG(_msg) __attribute__((availability(ios,introduced=5.0,deprecated=5.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_5_1 __attribute__((availability(ios,introduced=5.0,deprecated=5.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_5_1_MSG(_msg) __attribute__((availability(ios,introduced=5.0,deprecated=5.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_5_1_MSG(_msg) __attribute__((availability(ios,introduced=5.0,deprecated=5.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_6_0 __attribute__((availability(ios,introduced=5.0,deprecated=6.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_6_0_MSG(_msg) __attribute__((availability(ios,introduced=5.0,deprecated=6.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_6_0_MSG(_msg) __attribute__((availability(ios,introduced=5.0,deprecated=6.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_6_1 __attribute__((availability(ios,introduced=5.0,deprecated=6.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_6_1_MSG(_msg) __attribute__((availability(ios,introduced=5.0,deprecated=6.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_6_1_MSG(_msg) __attribute__((availability(ios,introduced=5.0,deprecated=6.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_7_0 __attribute__((availability(ios,introduced=5.0,deprecated=7.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_7_0_MSG(_msg) __attribute__((availability(ios,introduced=5.0,deprecated=7.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_7_0_MSG(_msg) __attribute__((availability(ios,introduced=5.0,deprecated=7.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_7_1 __attribute__((availability(ios,introduced=5.0,deprecated=7.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_7_1_MSG(_msg) __attribute__((availability(ios,introduced=5.0,deprecated=7.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_7_1_MSG(_msg) __attribute__((availability(ios,introduced=5.0,deprecated=7.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_8_0 __attribute__((availability(ios,introduced=5.0,deprecated=8.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_8_0_MSG(_msg) __attribute__((availability(ios,introduced=5.0,deprecated=8.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_8_0_MSG(_msg) __attribute__((availability(ios,introduced=5.0,deprecated=8.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_8_1 __attribute__((availability(ios,introduced=5.0,deprecated=8.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_8_1_MSG(_msg) __attribute__((availability(ios,introduced=5.0,deprecated=8.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_8_1_MSG(_msg) __attribute__((availability(ios,introduced=5.0,deprecated=8.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_8_2 __attribute__((availability(ios,introduced=5.0,deprecated=8.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_8_2_MSG(_msg) __attribute__((availability(ios,introduced=5.0,deprecated=8.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_8_2_MSG(_msg) __attribute__((availability(ios,introduced=5.0,deprecated=8.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_8_3 __attribute__((availability(ios,introduced=5.0,deprecated=8.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_8_3_MSG(_msg) __attribute__((availability(ios,introduced=5.0,deprecated=8.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_8_3_MSG(_msg) __attribute__((availability(ios,introduced=5.0,deprecated=8.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_8_4 __attribute__((availability(ios,introduced=5.0,deprecated=8.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_8_4_MSG(_msg) __attribute__((availability(ios,introduced=5.0,deprecated=8.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_8_4_MSG(_msg) __attribute__((availability(ios,introduced=5.0,deprecated=8.4))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_9_0 __attribute__((availability(ios,introduced=5.0,deprecated=9.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_9_0_MSG(_msg) __attribute__((availability(ios,introduced=5.0,deprecated=9.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_9_0_MSG(_msg) __attribute__((availability(ios,introduced=5.0,deprecated=9.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_9_1 __attribute__((availability(ios,introduced=5.0,deprecated=9.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_9_1_MSG(_msg) __attribute__((availability(ios,introduced=5.0,deprecated=9.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_9_1_MSG(_msg) __attribute__((availability(ios,introduced=5.0,deprecated=9.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_9_2 __attribute__((availability(ios,introduced=5.0,deprecated=9.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_9_2_MSG(_msg) __attribute__((availability(ios,introduced=5.0,deprecated=9.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_9_2_MSG(_msg) __attribute__((availability(ios,introduced=5.0,deprecated=9.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_9_3 __attribute__((availability(ios,introduced=5.0,deprecated=9.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_9_3_MSG(_msg) __attribute__((availability(ios,introduced=5.0,deprecated=9.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_9_3_MSG(_msg) __attribute__((availability(ios,introduced=5.0,deprecated=9.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_NA __attribute__((availability(ios,introduced=5.0))) - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_NA_MSG(_msg) __attribute__((availability(ios,introduced=5.0))) - #define __AVAILABILITY_INTERNAL__IPHONE_5_1 __attribute__((availability(ios,introduced=5.1))) - #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_10_0 __attribute__((availability(ios,introduced=5.1,deprecated=10.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_10_0_MSG(_msg) __attribute__((availability(ios,introduced=5.1,deprecated=10.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_10_0_MSG(_msg) __attribute__((availability(ios,introduced=5.1,deprecated=10.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_10_1 __attribute__((availability(ios,introduced=5.1,deprecated=10.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_10_1_MSG(_msg) __attribute__((availability(ios,introduced=5.1,deprecated=10.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_10_1_MSG(_msg) __attribute__((availability(ios,introduced=5.1,deprecated=10.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_10_2 __attribute__((availability(ios,introduced=5.1,deprecated=10.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_10_2_MSG(_msg) __attribute__((availability(ios,introduced=5.1,deprecated=10.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_10_2_MSG(_msg) __attribute__((availability(ios,introduced=5.1,deprecated=10.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_10_3 __attribute__((availability(ios,introduced=5.1,deprecated=10.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_10_3_MSG(_msg) __attribute__((availability(ios,introduced=5.1,deprecated=10.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_10_3_MSG(_msg) __attribute__((availability(ios,introduced=5.1,deprecated=10.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_5_1 __attribute__((availability(ios,introduced=5.1,deprecated=5.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_5_1_MSG(_msg) __attribute__((availability(ios,introduced=5.1,deprecated=5.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_5_1_MSG(_msg) __attribute__((availability(ios,introduced=5.1,deprecated=5.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_6_0 __attribute__((availability(ios,introduced=5.1,deprecated=6.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_6_0_MSG(_msg) __attribute__((availability(ios,introduced=5.1,deprecated=6.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_6_0_MSG(_msg) __attribute__((availability(ios,introduced=5.1,deprecated=6.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_6_1 __attribute__((availability(ios,introduced=5.1,deprecated=6.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_6_1_MSG(_msg) __attribute__((availability(ios,introduced=5.1,deprecated=6.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_6_1_MSG(_msg) __attribute__((availability(ios,introduced=5.1,deprecated=6.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_7_0 __attribute__((availability(ios,introduced=5.1,deprecated=7.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_7_0_MSG(_msg) __attribute__((availability(ios,introduced=5.1,deprecated=7.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_7_0_MSG(_msg) __attribute__((availability(ios,introduced=5.1,deprecated=7.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_7_1 __attribute__((availability(ios,introduced=5.1,deprecated=7.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_7_1_MSG(_msg) __attribute__((availability(ios,introduced=5.1,deprecated=7.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_7_1_MSG(_msg) __attribute__((availability(ios,introduced=5.1,deprecated=7.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_8_0 __attribute__((availability(ios,introduced=5.1,deprecated=8.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_8_0_MSG(_msg) __attribute__((availability(ios,introduced=5.1,deprecated=8.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_8_0_MSG(_msg) __attribute__((availability(ios,introduced=5.1,deprecated=8.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_8_1 __attribute__((availability(ios,introduced=5.1,deprecated=8.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_8_1_MSG(_msg) __attribute__((availability(ios,introduced=5.1,deprecated=8.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_8_1_MSG(_msg) __attribute__((availability(ios,introduced=5.1,deprecated=8.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_8_2 __attribute__((availability(ios,introduced=5.1,deprecated=8.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_8_2_MSG(_msg) __attribute__((availability(ios,introduced=5.1,deprecated=8.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_8_2_MSG(_msg) __attribute__((availability(ios,introduced=5.1,deprecated=8.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_8_3 __attribute__((availability(ios,introduced=5.1,deprecated=8.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_8_3_MSG(_msg) __attribute__((availability(ios,introduced=5.1,deprecated=8.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_8_3_MSG(_msg) __attribute__((availability(ios,introduced=5.1,deprecated=8.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_8_4 __attribute__((availability(ios,introduced=5.1,deprecated=8.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_8_4_MSG(_msg) __attribute__((availability(ios,introduced=5.1,deprecated=8.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_8_4_MSG(_msg) __attribute__((availability(ios,introduced=5.1,deprecated=8.4))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_9_0 __attribute__((availability(ios,introduced=5.1,deprecated=9.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_9_0_MSG(_msg) __attribute__((availability(ios,introduced=5.1,deprecated=9.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_9_0_MSG(_msg) __attribute__((availability(ios,introduced=5.1,deprecated=9.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_9_1 __attribute__((availability(ios,introduced=5.1,deprecated=9.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_9_1_MSG(_msg) __attribute__((availability(ios,introduced=5.1,deprecated=9.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_9_1_MSG(_msg) __attribute__((availability(ios,introduced=5.1,deprecated=9.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_9_2 __attribute__((availability(ios,introduced=5.1,deprecated=9.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_9_2_MSG(_msg) __attribute__((availability(ios,introduced=5.1,deprecated=9.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_9_2_MSG(_msg) __attribute__((availability(ios,introduced=5.1,deprecated=9.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_9_3 __attribute__((availability(ios,introduced=5.1,deprecated=9.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_9_3_MSG(_msg) __attribute__((availability(ios,introduced=5.1,deprecated=9.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_9_3_MSG(_msg) __attribute__((availability(ios,introduced=5.1,deprecated=9.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_NA __attribute__((availability(ios,introduced=5.1))) - #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_NA_MSG(_msg) __attribute__((availability(ios,introduced=5.1))) - #define __AVAILABILITY_INTERNAL__IPHONE_6_0 __attribute__((availability(ios,introduced=6.0))) - #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_10_0 __attribute__((availability(ios,introduced=6.0,deprecated=10.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_10_0_MSG(_msg) __attribute__((availability(ios,introduced=6.0,deprecated=10.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_10_0_MSG(_msg) __attribute__((availability(ios,introduced=6.0,deprecated=10.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_10_1 __attribute__((availability(ios,introduced=6.0,deprecated=10.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_10_1_MSG(_msg) __attribute__((availability(ios,introduced=6.0,deprecated=10.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_10_1_MSG(_msg) __attribute__((availability(ios,introduced=6.0,deprecated=10.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_10_2 __attribute__((availability(ios,introduced=6.0,deprecated=10.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_10_2_MSG(_msg) __attribute__((availability(ios,introduced=6.0,deprecated=10.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_10_2_MSG(_msg) __attribute__((availability(ios,introduced=6.0,deprecated=10.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_10_3 __attribute__((availability(ios,introduced=6.0,deprecated=10.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_10_3_MSG(_msg) __attribute__((availability(ios,introduced=6.0,deprecated=10.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_10_3_MSG(_msg) __attribute__((availability(ios,introduced=6.0,deprecated=10.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_6_0 __attribute__((availability(ios,introduced=6.0,deprecated=6.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_6_0_MSG(_msg) __attribute__((availability(ios,introduced=6.0,deprecated=6.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_6_0_MSG(_msg) __attribute__((availability(ios,introduced=6.0,deprecated=6.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_6_1 __attribute__((availability(ios,introduced=6.0,deprecated=6.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_6_1_MSG(_msg) __attribute__((availability(ios,introduced=6.0,deprecated=6.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_6_1_MSG(_msg) __attribute__((availability(ios,introduced=6.0,deprecated=6.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_7_0 __attribute__((availability(ios,introduced=6.0,deprecated=7.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_7_0_MSG(_msg) __attribute__((availability(ios,introduced=6.0,deprecated=7.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_7_0_MSG(_msg) __attribute__((availability(ios,introduced=6.0,deprecated=7.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_7_1 __attribute__((availability(ios,introduced=6.0,deprecated=7.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_7_1_MSG(_msg) __attribute__((availability(ios,introduced=6.0,deprecated=7.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_7_1_MSG(_msg) __attribute__((availability(ios,introduced=6.0,deprecated=7.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_8_0 __attribute__((availability(ios,introduced=6.0,deprecated=8.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_8_0_MSG(_msg) __attribute__((availability(ios,introduced=6.0,deprecated=8.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_8_0_MSG(_msg) __attribute__((availability(ios,introduced=6.0,deprecated=8.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_8_1 __attribute__((availability(ios,introduced=6.0,deprecated=8.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_8_1_MSG(_msg) __attribute__((availability(ios,introduced=6.0,deprecated=8.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_8_1_MSG(_msg) __attribute__((availability(ios,introduced=6.0,deprecated=8.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_8_2 __attribute__((availability(ios,introduced=6.0,deprecated=8.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_8_2_MSG(_msg) __attribute__((availability(ios,introduced=6.0,deprecated=8.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_8_2_MSG(_msg) __attribute__((availability(ios,introduced=6.0,deprecated=8.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_8_3 __attribute__((availability(ios,introduced=6.0,deprecated=8.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_8_3_MSG(_msg) __attribute__((availability(ios,introduced=6.0,deprecated=8.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_8_3_MSG(_msg) __attribute__((availability(ios,introduced=6.0,deprecated=8.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_8_4 __attribute__((availability(ios,introduced=6.0,deprecated=8.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_8_4_MSG(_msg) __attribute__((availability(ios,introduced=6.0,deprecated=8.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_8_4_MSG(_msg) __attribute__((availability(ios,introduced=6.0,deprecated=8.4))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_9_0 __attribute__((availability(ios,introduced=6.0,deprecated=9.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_9_0_MSG(_msg) __attribute__((availability(ios,introduced=6.0,deprecated=9.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_9_0_MSG(_msg) __attribute__((availability(ios,introduced=6.0,deprecated=9.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_9_1 __attribute__((availability(ios,introduced=6.0,deprecated=9.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_9_1_MSG(_msg) __attribute__((availability(ios,introduced=6.0,deprecated=9.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_9_1_MSG(_msg) __attribute__((availability(ios,introduced=6.0,deprecated=9.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_9_2 __attribute__((availability(ios,introduced=6.0,deprecated=9.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_9_2_MSG(_msg) __attribute__((availability(ios,introduced=6.0,deprecated=9.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_9_2_MSG(_msg) __attribute__((availability(ios,introduced=6.0,deprecated=9.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_9_3 __attribute__((availability(ios,introduced=6.0,deprecated=9.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_9_3_MSG(_msg) __attribute__((availability(ios,introduced=6.0,deprecated=9.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_9_3_MSG(_msg) __attribute__((availability(ios,introduced=6.0,deprecated=9.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_NA __attribute__((availability(ios,introduced=6.0))) - #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_NA_MSG(_msg) __attribute__((availability(ios,introduced=6.0))) - #define __AVAILABILITY_INTERNAL__IPHONE_6_1 __attribute__((availability(ios,introduced=6.1))) - #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_10_0 __attribute__((availability(ios,introduced=6.1,deprecated=10.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_10_0_MSG(_msg) __attribute__((availability(ios,introduced=6.1,deprecated=10.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_10_0_MSG(_msg) __attribute__((availability(ios,introduced=6.1,deprecated=10.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_10_1 __attribute__((availability(ios,introduced=6.1,deprecated=10.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_10_1_MSG(_msg) __attribute__((availability(ios,introduced=6.1,deprecated=10.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_10_1_MSG(_msg) __attribute__((availability(ios,introduced=6.1,deprecated=10.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_10_2 __attribute__((availability(ios,introduced=6.1,deprecated=10.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_10_2_MSG(_msg) __attribute__((availability(ios,introduced=6.1,deprecated=10.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_10_2_MSG(_msg) __attribute__((availability(ios,introduced=6.1,deprecated=10.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_10_3 __attribute__((availability(ios,introduced=6.1,deprecated=10.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_10_3_MSG(_msg) __attribute__((availability(ios,introduced=6.1,deprecated=10.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_10_3_MSG(_msg) __attribute__((availability(ios,introduced=6.1,deprecated=10.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_6_1 __attribute__((availability(ios,introduced=6.1,deprecated=6.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_6_1_MSG(_msg) __attribute__((availability(ios,introduced=6.1,deprecated=6.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_6_1_MSG(_msg) __attribute__((availability(ios,introduced=6.1,deprecated=6.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_7_0 __attribute__((availability(ios,introduced=6.1,deprecated=7.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_7_0_MSG(_msg) __attribute__((availability(ios,introduced=6.1,deprecated=7.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_7_0_MSG(_msg) __attribute__((availability(ios,introduced=6.1,deprecated=7.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_7_1 __attribute__((availability(ios,introduced=6.1,deprecated=7.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_7_1_MSG(_msg) __attribute__((availability(ios,introduced=6.1,deprecated=7.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_7_1_MSG(_msg) __attribute__((availability(ios,introduced=6.1,deprecated=7.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_8_0 __attribute__((availability(ios,introduced=6.1,deprecated=8.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_8_0_MSG(_msg) __attribute__((availability(ios,introduced=6.1,deprecated=8.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_8_0_MSG(_msg) __attribute__((availability(ios,introduced=6.1,deprecated=8.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_8_1 __attribute__((availability(ios,introduced=6.1,deprecated=8.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_8_1_MSG(_msg) __attribute__((availability(ios,introduced=6.1,deprecated=8.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_8_1_MSG(_msg) __attribute__((availability(ios,introduced=6.1,deprecated=8.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_8_2 __attribute__((availability(ios,introduced=6.1,deprecated=8.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_8_2_MSG(_msg) __attribute__((availability(ios,introduced=6.1,deprecated=8.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_8_2_MSG(_msg) __attribute__((availability(ios,introduced=6.1,deprecated=8.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_8_3 __attribute__((availability(ios,introduced=6.1,deprecated=8.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_8_3_MSG(_msg) __attribute__((availability(ios,introduced=6.1,deprecated=8.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_8_3_MSG(_msg) __attribute__((availability(ios,introduced=6.1,deprecated=8.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_8_4 __attribute__((availability(ios,introduced=6.1,deprecated=8.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_8_4_MSG(_msg) __attribute__((availability(ios,introduced=6.1,deprecated=8.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_8_4_MSG(_msg) __attribute__((availability(ios,introduced=6.1,deprecated=8.4))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_9_0 __attribute__((availability(ios,introduced=6.1,deprecated=9.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_9_0_MSG(_msg) __attribute__((availability(ios,introduced=6.1,deprecated=9.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_9_0_MSG(_msg) __attribute__((availability(ios,introduced=6.1,deprecated=9.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_9_1 __attribute__((availability(ios,introduced=6.1,deprecated=9.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_9_1_MSG(_msg) __attribute__((availability(ios,introduced=6.1,deprecated=9.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_9_1_MSG(_msg) __attribute__((availability(ios,introduced=6.1,deprecated=9.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_9_2 __attribute__((availability(ios,introduced=6.1,deprecated=9.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_9_2_MSG(_msg) __attribute__((availability(ios,introduced=6.1,deprecated=9.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_9_2_MSG(_msg) __attribute__((availability(ios,introduced=6.1,deprecated=9.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_9_3 __attribute__((availability(ios,introduced=6.1,deprecated=9.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_9_3_MSG(_msg) __attribute__((availability(ios,introduced=6.1,deprecated=9.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_9_3_MSG(_msg) __attribute__((availability(ios,introduced=6.1,deprecated=9.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_NA __attribute__((availability(ios,introduced=6.1))) - #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_NA_MSG(_msg) __attribute__((availability(ios,introduced=6.1))) - #define __AVAILABILITY_INTERNAL__IPHONE_7_0 __attribute__((availability(ios,introduced=7.0))) - #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_10_0 __attribute__((availability(ios,introduced=7.0,deprecated=10.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_10_0_MSG(_msg) __attribute__((availability(ios,introduced=7.0,deprecated=10.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_10_0_MSG(_msg) __attribute__((availability(ios,introduced=7.0,deprecated=10.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_10_1 __attribute__((availability(ios,introduced=7.0,deprecated=10.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_10_1_MSG(_msg) __attribute__((availability(ios,introduced=7.0,deprecated=10.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_10_1_MSG(_msg) __attribute__((availability(ios,introduced=7.0,deprecated=10.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_10_2 __attribute__((availability(ios,introduced=7.0,deprecated=10.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_10_2_MSG(_msg) __attribute__((availability(ios,introduced=7.0,deprecated=10.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_10_2_MSG(_msg) __attribute__((availability(ios,introduced=7.0,deprecated=10.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_10_3 __attribute__((availability(ios,introduced=7.0,deprecated=10.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_10_3_MSG(_msg) __attribute__((availability(ios,introduced=7.0,deprecated=10.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_10_3_MSG(_msg) __attribute__((availability(ios,introduced=7.0,deprecated=10.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_11_0 __attribute__((availability(ios,introduced=7.0,deprecated=11.0))) - #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_11_3 __attribute__((availability(ios,introduced=7.0,deprecated=11.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_12_0_MSG(_msg) __attribute__((availability(ios,introduced=7.0,deprecated=12.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_12_0_MSG(_msg) __attribute__((availability(ios,introduced=7.0,deprecated=12.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_7_0 __attribute__((availability(ios,introduced=7.0,deprecated=7.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_7_0_MSG(_msg) __attribute__((availability(ios,introduced=7.0,deprecated=7.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_7_0_MSG(_msg) __attribute__((availability(ios,introduced=7.0,deprecated=7.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_7_1 __attribute__((availability(ios,introduced=7.0,deprecated=7.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_7_1_MSG(_msg) __attribute__((availability(ios,introduced=7.0,deprecated=7.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_7_1_MSG(_msg) __attribute__((availability(ios,introduced=7.0,deprecated=7.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_8_0 __attribute__((availability(ios,introduced=7.0,deprecated=8.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_8_0_MSG(_msg) __attribute__((availability(ios,introduced=7.0,deprecated=8.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_8_0_MSG(_msg) __attribute__((availability(ios,introduced=7.0,deprecated=8.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_8_1 __attribute__((availability(ios,introduced=7.0,deprecated=8.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_8_1_MSG(_msg) __attribute__((availability(ios,introduced=7.0,deprecated=8.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_8_1_MSG(_msg) __attribute__((availability(ios,introduced=7.0,deprecated=8.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_8_2 __attribute__((availability(ios,introduced=7.0,deprecated=8.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_8_2_MSG(_msg) __attribute__((availability(ios,introduced=7.0,deprecated=8.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_8_2_MSG(_msg) __attribute__((availability(ios,introduced=7.0,deprecated=8.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_8_3 __attribute__((availability(ios,introduced=7.0,deprecated=8.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_8_3_MSG(_msg) __attribute__((availability(ios,introduced=7.0,deprecated=8.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_8_3_MSG(_msg) __attribute__((availability(ios,introduced=7.0,deprecated=8.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_8_4 __attribute__((availability(ios,introduced=7.0,deprecated=8.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_8_4_MSG(_msg) __attribute__((availability(ios,introduced=7.0,deprecated=8.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_8_4_MSG(_msg) __attribute__((availability(ios,introduced=7.0,deprecated=8.4))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_9_0 __attribute__((availability(ios,introduced=7.0,deprecated=9.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_9_0_MSG(_msg) __attribute__((availability(ios,introduced=7.0,deprecated=9.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_9_0_MSG(_msg) __attribute__((availability(ios,introduced=7.0,deprecated=9.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_9_1 __attribute__((availability(ios,introduced=7.0,deprecated=9.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_9_1_MSG(_msg) __attribute__((availability(ios,introduced=7.0,deprecated=9.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_9_1_MSG(_msg) __attribute__((availability(ios,introduced=7.0,deprecated=9.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_9_2 __attribute__((availability(ios,introduced=7.0,deprecated=9.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_9_2_MSG(_msg) __attribute__((availability(ios,introduced=7.0,deprecated=9.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_9_2_MSG(_msg) __attribute__((availability(ios,introduced=7.0,deprecated=9.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_9_3 __attribute__((availability(ios,introduced=7.0,deprecated=9.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_9_3_MSG(_msg) __attribute__((availability(ios,introduced=7.0,deprecated=9.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_9_3_MSG(_msg) __attribute__((availability(ios,introduced=7.0,deprecated=9.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_NA __attribute__((availability(ios,introduced=7.0))) - #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_NA_MSG(_msg) __attribute__((availability(ios,introduced=7.0))) - #define __AVAILABILITY_INTERNAL__IPHONE_7_1 __attribute__((availability(ios,introduced=7.1))) - #define __AVAILABILITY_INTERNAL__IPHONE_7_1_DEP__IPHONE_10_0 __attribute__((availability(ios,introduced=7.1,deprecated=10.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_7_1_DEP__IPHONE_10_0_MSG(_msg) __attribute__((availability(ios,introduced=7.1,deprecated=10.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_7_1_DEP__IPHONE_10_0_MSG(_msg) __attribute__((availability(ios,introduced=7.1,deprecated=10.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_7_1_DEP__IPHONE_10_1 __attribute__((availability(ios,introduced=7.1,deprecated=10.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_7_1_DEP__IPHONE_10_1_MSG(_msg) __attribute__((availability(ios,introduced=7.1,deprecated=10.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_7_1_DEP__IPHONE_10_1_MSG(_msg) __attribute__((availability(ios,introduced=7.1,deprecated=10.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_7_1_DEP__IPHONE_10_2 __attribute__((availability(ios,introduced=7.1,deprecated=10.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_7_1_DEP__IPHONE_10_2_MSG(_msg) __attribute__((availability(ios,introduced=7.1,deprecated=10.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_7_1_DEP__IPHONE_10_2_MSG(_msg) __attribute__((availability(ios,introduced=7.1,deprecated=10.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_7_1_DEP__IPHONE_10_3 __attribute__((availability(ios,introduced=7.1,deprecated=10.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_7_1_DEP__IPHONE_10_3_MSG(_msg) __attribute__((availability(ios,introduced=7.1,deprecated=10.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_7_1_DEP__IPHONE_10_3_MSG(_msg) __attribute__((availability(ios,introduced=7.1,deprecated=10.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_7_1_DEP__IPHONE_7_1 __attribute__((availability(ios,introduced=7.1,deprecated=7.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_7_1_DEP__IPHONE_7_1_MSG(_msg) __attribute__((availability(ios,introduced=7.1,deprecated=7.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_7_1_DEP__IPHONE_7_1_MSG(_msg) __attribute__((availability(ios,introduced=7.1,deprecated=7.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_7_1_DEP__IPHONE_8_0 __attribute__((availability(ios,introduced=7.1,deprecated=8.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_7_1_DEP__IPHONE_8_0_MSG(_msg) __attribute__((availability(ios,introduced=7.1,deprecated=8.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_7_1_DEP__IPHONE_8_0_MSG(_msg) __attribute__((availability(ios,introduced=7.1,deprecated=8.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_7_1_DEP__IPHONE_8_1 __attribute__((availability(ios,introduced=7.1,deprecated=8.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_7_1_DEP__IPHONE_8_1_MSG(_msg) __attribute__((availability(ios,introduced=7.1,deprecated=8.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_7_1_DEP__IPHONE_8_1_MSG(_msg) __attribute__((availability(ios,introduced=7.1,deprecated=8.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_7_1_DEP__IPHONE_8_2 __attribute__((availability(ios,introduced=7.1,deprecated=8.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_7_1_DEP__IPHONE_8_2_MSG(_msg) __attribute__((availability(ios,introduced=7.1,deprecated=8.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_7_1_DEP__IPHONE_8_2_MSG(_msg) __attribute__((availability(ios,introduced=7.1,deprecated=8.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_7_1_DEP__IPHONE_8_3 __attribute__((availability(ios,introduced=7.1,deprecated=8.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_7_1_DEP__IPHONE_8_3_MSG(_msg) __attribute__((availability(ios,introduced=7.1,deprecated=8.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_7_1_DEP__IPHONE_8_3_MSG(_msg) __attribute__((availability(ios,introduced=7.1,deprecated=8.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_7_1_DEP__IPHONE_8_4 __attribute__((availability(ios,introduced=7.1,deprecated=8.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_7_1_DEP__IPHONE_8_4_MSG(_msg) __attribute__((availability(ios,introduced=7.1,deprecated=8.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_7_1_DEP__IPHONE_8_4_MSG(_msg) __attribute__((availability(ios,introduced=7.1,deprecated=8.4))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_7_1_DEP__IPHONE_9_0 __attribute__((availability(ios,introduced=7.1,deprecated=9.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_7_1_DEP__IPHONE_9_0_MSG(_msg) __attribute__((availability(ios,introduced=7.1,deprecated=9.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_7_1_DEP__IPHONE_9_0_MSG(_msg) __attribute__((availability(ios,introduced=7.1,deprecated=9.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_7_1_DEP__IPHONE_9_1 __attribute__((availability(ios,introduced=7.1,deprecated=9.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_7_1_DEP__IPHONE_9_1_MSG(_msg) __attribute__((availability(ios,introduced=7.1,deprecated=9.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_7_1_DEP__IPHONE_9_1_MSG(_msg) __attribute__((availability(ios,introduced=7.1,deprecated=9.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_7_1_DEP__IPHONE_9_2 __attribute__((availability(ios,introduced=7.1,deprecated=9.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_7_1_DEP__IPHONE_9_2_MSG(_msg) __attribute__((availability(ios,introduced=7.1,deprecated=9.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_7_1_DEP__IPHONE_9_2_MSG(_msg) __attribute__((availability(ios,introduced=7.1,deprecated=9.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_7_1_DEP__IPHONE_9_3 __attribute__((availability(ios,introduced=7.1,deprecated=9.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_7_1_DEP__IPHONE_9_3_MSG(_msg) __attribute__((availability(ios,introduced=7.1,deprecated=9.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_7_1_DEP__IPHONE_9_3_MSG(_msg) __attribute__((availability(ios,introduced=7.1,deprecated=9.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_7_1_DEP__IPHONE_NA __attribute__((availability(ios,introduced=7.1))) - #define __AVAILABILITY_INTERNAL__IPHONE_7_1_DEP__IPHONE_NA_MSG(_msg) __attribute__((availability(ios,introduced=7.1))) - #define __AVAILABILITY_INTERNAL__IPHONE_8_0 __attribute__((availability(ios,introduced=8.0))) - #define __AVAILABILITY_INTERNAL__IPHONE_8_0_DEP__IPHONE_10_0 __attribute__((availability(ios,introduced=8.0,deprecated=10.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_8_0_DEP__IPHONE_10_0_MSG(_msg) __attribute__((availability(ios,introduced=8.0,deprecated=10.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_8_0_DEP__IPHONE_10_0_MSG(_msg) __attribute__((availability(ios,introduced=8.0,deprecated=10.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_8_0_DEP__IPHONE_10_1 __attribute__((availability(ios,introduced=8.0,deprecated=10.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_8_0_DEP__IPHONE_10_1_MSG(_msg) __attribute__((availability(ios,introduced=8.0,deprecated=10.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_8_0_DEP__IPHONE_10_1_MSG(_msg) __attribute__((availability(ios,introduced=8.0,deprecated=10.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_8_0_DEP__IPHONE_10_2 __attribute__((availability(ios,introduced=8.0,deprecated=10.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_8_0_DEP__IPHONE_10_2_MSG(_msg) __attribute__((availability(ios,introduced=8.0,deprecated=10.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_8_0_DEP__IPHONE_10_2_MSG(_msg) __attribute__((availability(ios,introduced=8.0,deprecated=10.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_8_0_DEP__IPHONE_10_3 __attribute__((availability(ios,introduced=8.0,deprecated=10.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_8_0_DEP__IPHONE_10_3_MSG(_msg) __attribute__((availability(ios,introduced=8.0,deprecated=10.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_8_0_DEP__IPHONE_10_3_MSG(_msg) __attribute__((availability(ios,introduced=8.0,deprecated=10.3))) - #endif - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_8_0_DEP__IPHONE_11_0_MSG(_msg) __attribute__((availability(ios,introduced=8.0,deprecated=11,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_8_0_DEP__IPHONE_11_0_MSG(_msg) __attribute__((availability(ios,introduced=8.0,deprecated=11))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_8_0_DEP__IPHONE_11_3 __attribute__((availability(ios,introduced=8.0,deprecated=11.3))) - #define __AVAILABILITY_INTERNAL__IPHONE_8_0_DEP__IPHONE_12_0 __attribute__((availability(ios,introduced=8.0,deprecated=12.0))) - #define __AVAILABILITY_INTERNAL__IPHONE_8_0_DEP__IPHONE_8_0 __attribute__((availability(ios,introduced=8.0,deprecated=8.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_8_0_DEP__IPHONE_8_0_MSG(_msg) __attribute__((availability(ios,introduced=8.0,deprecated=8.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_8_0_DEP__IPHONE_8_0_MSG(_msg) __attribute__((availability(ios,introduced=8.0,deprecated=8.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_8_0_DEP__IPHONE_8_1 __attribute__((availability(ios,introduced=8.0,deprecated=8.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_8_0_DEP__IPHONE_8_1_MSG(_msg) __attribute__((availability(ios,introduced=8.0,deprecated=8.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_8_0_DEP__IPHONE_8_1_MSG(_msg) __attribute__((availability(ios,introduced=8.0,deprecated=8.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_8_0_DEP__IPHONE_8_2 __attribute__((availability(ios,introduced=8.0,deprecated=8.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_8_0_DEP__IPHONE_8_2_MSG(_msg) __attribute__((availability(ios,introduced=8.0,deprecated=8.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_8_0_DEP__IPHONE_8_2_MSG(_msg) __attribute__((availability(ios,introduced=8.0,deprecated=8.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_8_0_DEP__IPHONE_8_3 __attribute__((availability(ios,introduced=8.0,deprecated=8.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_8_0_DEP__IPHONE_8_3_MSG(_msg) __attribute__((availability(ios,introduced=8.0,deprecated=8.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_8_0_DEP__IPHONE_8_3_MSG(_msg) __attribute__((availability(ios,introduced=8.0,deprecated=8.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_8_0_DEP__IPHONE_8_4 __attribute__((availability(ios,introduced=8.0,deprecated=8.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_8_0_DEP__IPHONE_8_4_MSG(_msg) __attribute__((availability(ios,introduced=8.0,deprecated=8.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_8_0_DEP__IPHONE_8_4_MSG(_msg) __attribute__((availability(ios,introduced=8.0,deprecated=8.4))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_8_0_DEP__IPHONE_9_0 __attribute__((availability(ios,introduced=8.0,deprecated=9.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_8_0_DEP__IPHONE_9_0_MSG(_msg) __attribute__((availability(ios,introduced=8.0,deprecated=9.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_8_0_DEP__IPHONE_9_0_MSG(_msg) __attribute__((availability(ios,introduced=8.0,deprecated=9.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_8_0_DEP__IPHONE_9_1 __attribute__((availability(ios,introduced=8.0,deprecated=9.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_8_0_DEP__IPHONE_9_1_MSG(_msg) __attribute__((availability(ios,introduced=8.0,deprecated=9.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_8_0_DEP__IPHONE_9_1_MSG(_msg) __attribute__((availability(ios,introduced=8.0,deprecated=9.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_8_0_DEP__IPHONE_9_2 __attribute__((availability(ios,introduced=8.0,deprecated=9.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_8_0_DEP__IPHONE_9_2_MSG(_msg) __attribute__((availability(ios,introduced=8.0,deprecated=9.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_8_0_DEP__IPHONE_9_2_MSG(_msg) __attribute__((availability(ios,introduced=8.0,deprecated=9.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_8_0_DEP__IPHONE_9_3 __attribute__((availability(ios,introduced=8.0,deprecated=9.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_8_0_DEP__IPHONE_9_3_MSG(_msg) __attribute__((availability(ios,introduced=8.0,deprecated=9.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_8_0_DEP__IPHONE_9_3_MSG(_msg) __attribute__((availability(ios,introduced=8.0,deprecated=9.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_8_0_DEP__IPHONE_NA __attribute__((availability(ios,introduced=8.0))) - #define __AVAILABILITY_INTERNAL__IPHONE_8_0_DEP__IPHONE_NA_MSG(_msg) __attribute__((availability(ios,introduced=8.0))) - #define __AVAILABILITY_INTERNAL__IPHONE_8_1 __attribute__((availability(ios,introduced=8.1))) - #define __AVAILABILITY_INTERNAL__IPHONE_8_1_DEP__IPHONE_10_0 __attribute__((availability(ios,introduced=8.1,deprecated=10.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_8_1_DEP__IPHONE_10_0_MSG(_msg) __attribute__((availability(ios,introduced=8.1,deprecated=10.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_8_1_DEP__IPHONE_10_0_MSG(_msg) __attribute__((availability(ios,introduced=8.1,deprecated=10.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_8_1_DEP__IPHONE_10_1 __attribute__((availability(ios,introduced=8.1,deprecated=10.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_8_1_DEP__IPHONE_10_1_MSG(_msg) __attribute__((availability(ios,introduced=8.1,deprecated=10.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_8_1_DEP__IPHONE_10_1_MSG(_msg) __attribute__((availability(ios,introduced=8.1,deprecated=10.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_8_1_DEP__IPHONE_10_2 __attribute__((availability(ios,introduced=8.1,deprecated=10.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_8_1_DEP__IPHONE_10_2_MSG(_msg) __attribute__((availability(ios,introduced=8.1,deprecated=10.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_8_1_DEP__IPHONE_10_2_MSG(_msg) __attribute__((availability(ios,introduced=8.1,deprecated=10.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_8_1_DEP__IPHONE_10_3 __attribute__((availability(ios,introduced=8.1,deprecated=10.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_8_1_DEP__IPHONE_10_3_MSG(_msg) __attribute__((availability(ios,introduced=8.1,deprecated=10.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_8_1_DEP__IPHONE_10_3_MSG(_msg) __attribute__((availability(ios,introduced=8.1,deprecated=10.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_8_1_DEP__IPHONE_8_1 __attribute__((availability(ios,introduced=8.1,deprecated=8.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_8_1_DEP__IPHONE_8_1_MSG(_msg) __attribute__((availability(ios,introduced=8.1,deprecated=8.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_8_1_DEP__IPHONE_8_1_MSG(_msg) __attribute__((availability(ios,introduced=8.1,deprecated=8.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_8_1_DEP__IPHONE_8_2 __attribute__((availability(ios,introduced=8.1,deprecated=8.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_8_1_DEP__IPHONE_8_2_MSG(_msg) __attribute__((availability(ios,introduced=8.1,deprecated=8.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_8_1_DEP__IPHONE_8_2_MSG(_msg) __attribute__((availability(ios,introduced=8.1,deprecated=8.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_8_1_DEP__IPHONE_8_3 __attribute__((availability(ios,introduced=8.1,deprecated=8.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_8_1_DEP__IPHONE_8_3_MSG(_msg) __attribute__((availability(ios,introduced=8.1,deprecated=8.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_8_1_DEP__IPHONE_8_3_MSG(_msg) __attribute__((availability(ios,introduced=8.1,deprecated=8.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_8_1_DEP__IPHONE_8_4 __attribute__((availability(ios,introduced=8.1,deprecated=8.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_8_1_DEP__IPHONE_8_4_MSG(_msg) __attribute__((availability(ios,introduced=8.1,deprecated=8.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_8_1_DEP__IPHONE_8_4_MSG(_msg) __attribute__((availability(ios,introduced=8.1,deprecated=8.4))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_8_1_DEP__IPHONE_9_0 __attribute__((availability(ios,introduced=8.1,deprecated=9.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_8_1_DEP__IPHONE_9_0_MSG(_msg) __attribute__((availability(ios,introduced=8.1,deprecated=9.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_8_1_DEP__IPHONE_9_0_MSG(_msg) __attribute__((availability(ios,introduced=8.1,deprecated=9.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_8_1_DEP__IPHONE_9_1 __attribute__((availability(ios,introduced=8.1,deprecated=9.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_8_1_DEP__IPHONE_9_1_MSG(_msg) __attribute__((availability(ios,introduced=8.1,deprecated=9.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_8_1_DEP__IPHONE_9_1_MSG(_msg) __attribute__((availability(ios,introduced=8.1,deprecated=9.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_8_1_DEP__IPHONE_9_2 __attribute__((availability(ios,introduced=8.1,deprecated=9.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_8_1_DEP__IPHONE_9_2_MSG(_msg) __attribute__((availability(ios,introduced=8.1,deprecated=9.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_8_1_DEP__IPHONE_9_2_MSG(_msg) __attribute__((availability(ios,introduced=8.1,deprecated=9.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_8_1_DEP__IPHONE_9_3 __attribute__((availability(ios,introduced=8.1,deprecated=9.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_8_1_DEP__IPHONE_9_3_MSG(_msg) __attribute__((availability(ios,introduced=8.1,deprecated=9.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_8_1_DEP__IPHONE_9_3_MSG(_msg) __attribute__((availability(ios,introduced=8.1,deprecated=9.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_8_1_DEP__IPHONE_NA __attribute__((availability(ios,introduced=8.1))) - #define __AVAILABILITY_INTERNAL__IPHONE_8_1_DEP__IPHONE_NA_MSG(_msg) __attribute__((availability(ios,introduced=8.1))) - #define __AVAILABILITY_INTERNAL__IPHONE_8_2 __attribute__((availability(ios,introduced=8.2))) - #define __AVAILABILITY_INTERNAL__IPHONE_8_2_DEP__IPHONE_10_0 __attribute__((availability(ios,introduced=8.2,deprecated=10.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_8_2_DEP__IPHONE_10_0_MSG(_msg) __attribute__((availability(ios,introduced=8.2,deprecated=10.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_8_2_DEP__IPHONE_10_0_MSG(_msg) __attribute__((availability(ios,introduced=8.2,deprecated=10.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_8_2_DEP__IPHONE_10_1 __attribute__((availability(ios,introduced=8.2,deprecated=10.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_8_2_DEP__IPHONE_10_1_MSG(_msg) __attribute__((availability(ios,introduced=8.2,deprecated=10.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_8_2_DEP__IPHONE_10_1_MSG(_msg) __attribute__((availability(ios,introduced=8.2,deprecated=10.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_8_2_DEP__IPHONE_10_2 __attribute__((availability(ios,introduced=8.2,deprecated=10.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_8_2_DEP__IPHONE_10_2_MSG(_msg) __attribute__((availability(ios,introduced=8.2,deprecated=10.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_8_2_DEP__IPHONE_10_2_MSG(_msg) __attribute__((availability(ios,introduced=8.2,deprecated=10.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_8_2_DEP__IPHONE_10_3 __attribute__((availability(ios,introduced=8.2,deprecated=10.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_8_2_DEP__IPHONE_10_3_MSG(_msg) __attribute__((availability(ios,introduced=8.2,deprecated=10.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_8_2_DEP__IPHONE_10_3_MSG(_msg) __attribute__((availability(ios,introduced=8.2,deprecated=10.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_8_2_DEP__IPHONE_8_2 __attribute__((availability(ios,introduced=8.2,deprecated=8.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_8_2_DEP__IPHONE_8_2_MSG(_msg) __attribute__((availability(ios,introduced=8.2,deprecated=8.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_8_2_DEP__IPHONE_8_2_MSG(_msg) __attribute__((availability(ios,introduced=8.2,deprecated=8.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_8_2_DEP__IPHONE_8_3 __attribute__((availability(ios,introduced=8.2,deprecated=8.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_8_2_DEP__IPHONE_8_3_MSG(_msg) __attribute__((availability(ios,introduced=8.2,deprecated=8.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_8_2_DEP__IPHONE_8_3_MSG(_msg) __attribute__((availability(ios,introduced=8.2,deprecated=8.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_8_2_DEP__IPHONE_8_4 __attribute__((availability(ios,introduced=8.2,deprecated=8.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_8_2_DEP__IPHONE_8_4_MSG(_msg) __attribute__((availability(ios,introduced=8.2,deprecated=8.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_8_2_DEP__IPHONE_8_4_MSG(_msg) __attribute__((availability(ios,introduced=8.2,deprecated=8.4))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_8_2_DEP__IPHONE_9_0 __attribute__((availability(ios,introduced=8.2,deprecated=9.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_8_2_DEP__IPHONE_9_0_MSG(_msg) __attribute__((availability(ios,introduced=8.2,deprecated=9.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_8_2_DEP__IPHONE_9_0_MSG(_msg) __attribute__((availability(ios,introduced=8.2,deprecated=9.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_8_2_DEP__IPHONE_9_1 __attribute__((availability(ios,introduced=8.2,deprecated=9.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_8_2_DEP__IPHONE_9_1_MSG(_msg) __attribute__((availability(ios,introduced=8.2,deprecated=9.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_8_2_DEP__IPHONE_9_1_MSG(_msg) __attribute__((availability(ios,introduced=8.2,deprecated=9.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_8_2_DEP__IPHONE_9_2 __attribute__((availability(ios,introduced=8.2,deprecated=9.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_8_2_DEP__IPHONE_9_2_MSG(_msg) __attribute__((availability(ios,introduced=8.2,deprecated=9.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_8_2_DEP__IPHONE_9_2_MSG(_msg) __attribute__((availability(ios,introduced=8.2,deprecated=9.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_8_2_DEP__IPHONE_9_3 __attribute__((availability(ios,introduced=8.2,deprecated=9.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_8_2_DEP__IPHONE_9_3_MSG(_msg) __attribute__((availability(ios,introduced=8.2,deprecated=9.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_8_2_DEP__IPHONE_9_3_MSG(_msg) __attribute__((availability(ios,introduced=8.2,deprecated=9.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_8_2_DEP__IPHONE_NA __attribute__((availability(ios,introduced=8.2))) - #define __AVAILABILITY_INTERNAL__IPHONE_8_2_DEP__IPHONE_NA_MSG(_msg) __attribute__((availability(ios,introduced=8.2))) - #define __AVAILABILITY_INTERNAL__IPHONE_8_3 __attribute__((availability(ios,introduced=8.3))) - #define __AVAILABILITY_INTERNAL__IPHONE_8_3_DEP__IPHONE_10_0 __attribute__((availability(ios,introduced=8.3,deprecated=10.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_8_3_DEP__IPHONE_10_0_MSG(_msg) __attribute__((availability(ios,introduced=8.3,deprecated=10.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_8_3_DEP__IPHONE_10_0_MSG(_msg) __attribute__((availability(ios,introduced=8.3,deprecated=10.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_8_3_DEP__IPHONE_10_1 __attribute__((availability(ios,introduced=8.3,deprecated=10.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_8_3_DEP__IPHONE_10_1_MSG(_msg) __attribute__((availability(ios,introduced=8.3,deprecated=10.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_8_3_DEP__IPHONE_10_1_MSG(_msg) __attribute__((availability(ios,introduced=8.3,deprecated=10.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_8_3_DEP__IPHONE_10_2 __attribute__((availability(ios,introduced=8.3,deprecated=10.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_8_3_DEP__IPHONE_10_2_MSG(_msg) __attribute__((availability(ios,introduced=8.3,deprecated=10.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_8_3_DEP__IPHONE_10_2_MSG(_msg) __attribute__((availability(ios,introduced=8.3,deprecated=10.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_8_3_DEP__IPHONE_10_3 __attribute__((availability(ios,introduced=8.3,deprecated=10.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_8_3_DEP__IPHONE_10_3_MSG(_msg) __attribute__((availability(ios,introduced=8.3,deprecated=10.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_8_3_DEP__IPHONE_10_3_MSG(_msg) __attribute__((availability(ios,introduced=8.3,deprecated=10.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_8_3_DEP__IPHONE_8_3 __attribute__((availability(ios,introduced=8.3,deprecated=8.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_8_3_DEP__IPHONE_8_3_MSG(_msg) __attribute__((availability(ios,introduced=8.3,deprecated=8.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_8_3_DEP__IPHONE_8_3_MSG(_msg) __attribute__((availability(ios,introduced=8.3,deprecated=8.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_8_3_DEP__IPHONE_8_4 __attribute__((availability(ios,introduced=8.3,deprecated=8.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_8_3_DEP__IPHONE_8_4_MSG(_msg) __attribute__((availability(ios,introduced=8.3,deprecated=8.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_8_3_DEP__IPHONE_8_4_MSG(_msg) __attribute__((availability(ios,introduced=8.3,deprecated=8.4))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_8_3_DEP__IPHONE_9_0 __attribute__((availability(ios,introduced=8.3,deprecated=9.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_8_3_DEP__IPHONE_9_0_MSG(_msg) __attribute__((availability(ios,introduced=8.3,deprecated=9.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_8_3_DEP__IPHONE_9_0_MSG(_msg) __attribute__((availability(ios,introduced=8.3,deprecated=9.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_8_3_DEP__IPHONE_9_1 __attribute__((availability(ios,introduced=8.3,deprecated=9.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_8_3_DEP__IPHONE_9_1_MSG(_msg) __attribute__((availability(ios,introduced=8.3,deprecated=9.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_8_3_DEP__IPHONE_9_1_MSG(_msg) __attribute__((availability(ios,introduced=8.3,deprecated=9.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_8_3_DEP__IPHONE_9_2 __attribute__((availability(ios,introduced=8.3,deprecated=9.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_8_3_DEP__IPHONE_9_2_MSG(_msg) __attribute__((availability(ios,introduced=8.3,deprecated=9.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_8_3_DEP__IPHONE_9_2_MSG(_msg) __attribute__((availability(ios,introduced=8.3,deprecated=9.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_8_3_DEP__IPHONE_9_3 __attribute__((availability(ios,introduced=8.3,deprecated=9.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_8_3_DEP__IPHONE_9_3_MSG(_msg) __attribute__((availability(ios,introduced=8.3,deprecated=9.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_8_3_DEP__IPHONE_9_3_MSG(_msg) __attribute__((availability(ios,introduced=8.3,deprecated=9.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_8_3_DEP__IPHONE_NA __attribute__((availability(ios,introduced=8.3))) - #define __AVAILABILITY_INTERNAL__IPHONE_8_3_DEP__IPHONE_NA_MSG(_msg) __attribute__((availability(ios,introduced=8.3))) - #define __AVAILABILITY_INTERNAL__IPHONE_8_4 __attribute__((availability(ios,introduced=8.4))) - #define __AVAILABILITY_INTERNAL__IPHONE_8_4_DEP__IPHONE_10_0 __attribute__((availability(ios,introduced=8.4,deprecated=10.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_8_4_DEP__IPHONE_10_0_MSG(_msg) __attribute__((availability(ios,introduced=8.4,deprecated=10.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_8_4_DEP__IPHONE_10_0_MSG(_msg) __attribute__((availability(ios,introduced=8.4,deprecated=10.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_8_4_DEP__IPHONE_10_1 __attribute__((availability(ios,introduced=8.4,deprecated=10.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_8_4_DEP__IPHONE_10_1_MSG(_msg) __attribute__((availability(ios,introduced=8.4,deprecated=10.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_8_4_DEP__IPHONE_10_1_MSG(_msg) __attribute__((availability(ios,introduced=8.4,deprecated=10.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_8_4_DEP__IPHONE_10_2 __attribute__((availability(ios,introduced=8.4,deprecated=10.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_8_4_DEP__IPHONE_10_2_MSG(_msg) __attribute__((availability(ios,introduced=8.4,deprecated=10.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_8_4_DEP__IPHONE_10_2_MSG(_msg) __attribute__((availability(ios,introduced=8.4,deprecated=10.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_8_4_DEP__IPHONE_10_3 __attribute__((availability(ios,introduced=8.4,deprecated=10.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_8_4_DEP__IPHONE_10_3_MSG(_msg) __attribute__((availability(ios,introduced=8.4,deprecated=10.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_8_4_DEP__IPHONE_10_3_MSG(_msg) __attribute__((availability(ios,introduced=8.4,deprecated=10.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_8_4_DEP__IPHONE_8_4 __attribute__((availability(ios,introduced=8.4,deprecated=8.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_8_4_DEP__IPHONE_8_4_MSG(_msg) __attribute__((availability(ios,introduced=8.4,deprecated=8.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_8_4_DEP__IPHONE_8_4_MSG(_msg) __attribute__((availability(ios,introduced=8.4,deprecated=8.4))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_8_4_DEP__IPHONE_9_0 __attribute__((availability(ios,introduced=8.4,deprecated=9.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_8_4_DEP__IPHONE_9_0_MSG(_msg) __attribute__((availability(ios,introduced=8.4,deprecated=9.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_8_4_DEP__IPHONE_9_0_MSG(_msg) __attribute__((availability(ios,introduced=8.4,deprecated=9.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_8_4_DEP__IPHONE_9_1 __attribute__((availability(ios,introduced=8.4,deprecated=9.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_8_4_DEP__IPHONE_9_1_MSG(_msg) __attribute__((availability(ios,introduced=8.4,deprecated=9.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_8_4_DEP__IPHONE_9_1_MSG(_msg) __attribute__((availability(ios,introduced=8.4,deprecated=9.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_8_4_DEP__IPHONE_9_2 __attribute__((availability(ios,introduced=8.4,deprecated=9.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_8_4_DEP__IPHONE_9_2_MSG(_msg) __attribute__((availability(ios,introduced=8.4,deprecated=9.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_8_4_DEP__IPHONE_9_2_MSG(_msg) __attribute__((availability(ios,introduced=8.4,deprecated=9.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_8_4_DEP__IPHONE_9_3 __attribute__((availability(ios,introduced=8.4,deprecated=9.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_8_4_DEP__IPHONE_9_3_MSG(_msg) __attribute__((availability(ios,introduced=8.4,deprecated=9.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_8_4_DEP__IPHONE_9_3_MSG(_msg) __attribute__((availability(ios,introduced=8.4,deprecated=9.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_8_4_DEP__IPHONE_NA __attribute__((availability(ios,introduced=8.4))) - #define __AVAILABILITY_INTERNAL__IPHONE_8_4_DEP__IPHONE_NA_MSG(_msg) __attribute__((availability(ios,introduced=8.4))) - #define __AVAILABILITY_INTERNAL__IPHONE_9_0 __attribute__((availability(ios,introduced=9.0))) - #define __AVAILABILITY_INTERNAL__IPHONE_9_0_DEP__IPHONE_10_0 __attribute__((availability(ios,introduced=9.0,deprecated=10.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_9_0_DEP__IPHONE_10_0_MSG(_msg) __attribute__((availability(ios,introduced=9.0,deprecated=10.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_9_0_DEP__IPHONE_10_0_MSG(_msg) __attribute__((availability(ios,introduced=9.0,deprecated=10.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_9_0_DEP__IPHONE_10_1 __attribute__((availability(ios,introduced=9.0,deprecated=10.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_9_0_DEP__IPHONE_10_1_MSG(_msg) __attribute__((availability(ios,introduced=9.0,deprecated=10.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_9_0_DEP__IPHONE_10_1_MSG(_msg) __attribute__((availability(ios,introduced=9.0,deprecated=10.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_9_0_DEP__IPHONE_10_2 __attribute__((availability(ios,introduced=9.0,deprecated=10.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_9_0_DEP__IPHONE_10_2_MSG(_msg) __attribute__((availability(ios,introduced=9.0,deprecated=10.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_9_0_DEP__IPHONE_10_2_MSG(_msg) __attribute__((availability(ios,introduced=9.0,deprecated=10.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_9_0_DEP__IPHONE_10_3 __attribute__((availability(ios,introduced=9.0,deprecated=10.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_9_0_DEP__IPHONE_10_3_MSG(_msg) __attribute__((availability(ios,introduced=9.0,deprecated=10.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_9_0_DEP__IPHONE_10_3_MSG(_msg) __attribute__((availability(ios,introduced=9.0,deprecated=10.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_9_0_DEP__IPHONE_9_0 __attribute__((availability(ios,introduced=9.0,deprecated=9.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_9_0_DEP__IPHONE_9_0_MSG(_msg) __attribute__((availability(ios,introduced=9.0,deprecated=9.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_9_0_DEP__IPHONE_9_0_MSG(_msg) __attribute__((availability(ios,introduced=9.0,deprecated=9.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_9_0_DEP__IPHONE_9_1 __attribute__((availability(ios,introduced=9.0,deprecated=9.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_9_0_DEP__IPHONE_9_1_MSG(_msg) __attribute__((availability(ios,introduced=9.0,deprecated=9.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_9_0_DEP__IPHONE_9_1_MSG(_msg) __attribute__((availability(ios,introduced=9.0,deprecated=9.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_9_0_DEP__IPHONE_9_2 __attribute__((availability(ios,introduced=9.0,deprecated=9.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_9_0_DEP__IPHONE_9_2_MSG(_msg) __attribute__((availability(ios,introduced=9.0,deprecated=9.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_9_0_DEP__IPHONE_9_2_MSG(_msg) __attribute__((availability(ios,introduced=9.0,deprecated=9.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_9_0_DEP__IPHONE_9_3 __attribute__((availability(ios,introduced=9.0,deprecated=9.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_9_0_DEP__IPHONE_9_3_MSG(_msg) __attribute__((availability(ios,introduced=9.0,deprecated=9.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_9_0_DEP__IPHONE_9_3_MSG(_msg) __attribute__((availability(ios,introduced=9.0,deprecated=9.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_9_0_DEP__IPHONE_NA __attribute__((availability(ios,introduced=9.0))) - #define __AVAILABILITY_INTERNAL__IPHONE_9_0_DEP__IPHONE_NA_MSG(_msg) __attribute__((availability(ios,introduced=9.0))) - #define __AVAILABILITY_INTERNAL__IPHONE_9_1 __attribute__((availability(ios,introduced=9.1))) - #define __AVAILABILITY_INTERNAL__IPHONE_9_1_DEP__IPHONE_10_0 __attribute__((availability(ios,introduced=9.1,deprecated=10.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_9_1_DEP__IPHONE_10_0_MSG(_msg) __attribute__((availability(ios,introduced=9.1,deprecated=10.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_9_1_DEP__IPHONE_10_0_MSG(_msg) __attribute__((availability(ios,introduced=9.1,deprecated=10.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_9_1_DEP__IPHONE_10_1 __attribute__((availability(ios,introduced=9.1,deprecated=10.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_9_1_DEP__IPHONE_10_1_MSG(_msg) __attribute__((availability(ios,introduced=9.1,deprecated=10.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_9_1_DEP__IPHONE_10_1_MSG(_msg) __attribute__((availability(ios,introduced=9.1,deprecated=10.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_9_1_DEP__IPHONE_10_2 __attribute__((availability(ios,introduced=9.1,deprecated=10.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_9_1_DEP__IPHONE_10_2_MSG(_msg) __attribute__((availability(ios,introduced=9.1,deprecated=10.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_9_1_DEP__IPHONE_10_2_MSG(_msg) __attribute__((availability(ios,introduced=9.1,deprecated=10.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_9_1_DEP__IPHONE_10_3 __attribute__((availability(ios,introduced=9.1,deprecated=10.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_9_1_DEP__IPHONE_10_3_MSG(_msg) __attribute__((availability(ios,introduced=9.1,deprecated=10.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_9_1_DEP__IPHONE_10_3_MSG(_msg) __attribute__((availability(ios,introduced=9.1,deprecated=10.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_9_1_DEP__IPHONE_9_1 __attribute__((availability(ios,introduced=9.1,deprecated=9.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_9_1_DEP__IPHONE_9_1_MSG(_msg) __attribute__((availability(ios,introduced=9.1,deprecated=9.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_9_1_DEP__IPHONE_9_1_MSG(_msg) __attribute__((availability(ios,introduced=9.1,deprecated=9.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_9_1_DEP__IPHONE_9_2 __attribute__((availability(ios,introduced=9.1,deprecated=9.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_9_1_DEP__IPHONE_9_2_MSG(_msg) __attribute__((availability(ios,introduced=9.1,deprecated=9.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_9_1_DEP__IPHONE_9_2_MSG(_msg) __attribute__((availability(ios,introduced=9.1,deprecated=9.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_9_1_DEP__IPHONE_9_3 __attribute__((availability(ios,introduced=9.1,deprecated=9.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_9_1_DEP__IPHONE_9_3_MSG(_msg) __attribute__((availability(ios,introduced=9.1,deprecated=9.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_9_1_DEP__IPHONE_9_3_MSG(_msg) __attribute__((availability(ios,introduced=9.1,deprecated=9.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_9_1_DEP__IPHONE_NA __attribute__((availability(ios,introduced=9.1))) - #define __AVAILABILITY_INTERNAL__IPHONE_9_1_DEP__IPHONE_NA_MSG(_msg) __attribute__((availability(ios,introduced=9.1))) - #define __AVAILABILITY_INTERNAL__IPHONE_9_2 __attribute__((availability(ios,introduced=9.2))) - #define __AVAILABILITY_INTERNAL__IPHONE_9_2_DEP__IPHONE_10_0 __attribute__((availability(ios,introduced=9.2,deprecated=10.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_9_2_DEP__IPHONE_10_0_MSG(_msg) __attribute__((availability(ios,introduced=9.2,deprecated=10.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_9_2_DEP__IPHONE_10_0_MSG(_msg) __attribute__((availability(ios,introduced=9.2,deprecated=10.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_9_2_DEP__IPHONE_10_1 __attribute__((availability(ios,introduced=9.2,deprecated=10.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_9_2_DEP__IPHONE_10_1_MSG(_msg) __attribute__((availability(ios,introduced=9.2,deprecated=10.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_9_2_DEP__IPHONE_10_1_MSG(_msg) __attribute__((availability(ios,introduced=9.2,deprecated=10.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_9_2_DEP__IPHONE_10_2 __attribute__((availability(ios,introduced=9.2,deprecated=10.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_9_2_DEP__IPHONE_10_2_MSG(_msg) __attribute__((availability(ios,introduced=9.2,deprecated=10.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_9_2_DEP__IPHONE_10_2_MSG(_msg) __attribute__((availability(ios,introduced=9.2,deprecated=10.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_9_2_DEP__IPHONE_10_3 __attribute__((availability(ios,introduced=9.2,deprecated=10.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_9_2_DEP__IPHONE_10_3_MSG(_msg) __attribute__((availability(ios,introduced=9.2,deprecated=10.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_9_2_DEP__IPHONE_10_3_MSG(_msg) __attribute__((availability(ios,introduced=9.2,deprecated=10.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_9_2_DEP__IPHONE_9_2 __attribute__((availability(ios,introduced=9.2,deprecated=9.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_9_2_DEP__IPHONE_9_2_MSG(_msg) __attribute__((availability(ios,introduced=9.2,deprecated=9.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_9_2_DEP__IPHONE_9_2_MSG(_msg) __attribute__((availability(ios,introduced=9.2,deprecated=9.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_9_2_DEP__IPHONE_9_3 __attribute__((availability(ios,introduced=9.2,deprecated=9.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_9_2_DEP__IPHONE_9_3_MSG(_msg) __attribute__((availability(ios,introduced=9.2,deprecated=9.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_9_2_DEP__IPHONE_9_3_MSG(_msg) __attribute__((availability(ios,introduced=9.2,deprecated=9.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_9_2_DEP__IPHONE_NA __attribute__((availability(ios,introduced=9.2))) - #define __AVAILABILITY_INTERNAL__IPHONE_9_2_DEP__IPHONE_NA_MSG(_msg) __attribute__((availability(ios,introduced=9.2))) - #define __AVAILABILITY_INTERNAL__IPHONE_9_3 __attribute__((availability(ios,introduced=9.3))) - #define __AVAILABILITY_INTERNAL__IPHONE_9_3_DEP__IPHONE_10_0 __attribute__((availability(ios,introduced=9.3,deprecated=10.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_9_3_DEP__IPHONE_10_0_MSG(_msg) __attribute__((availability(ios,introduced=9.3,deprecated=10.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_9_3_DEP__IPHONE_10_0_MSG(_msg) __attribute__((availability(ios,introduced=9.3,deprecated=10.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_9_3_DEP__IPHONE_10_1 __attribute__((availability(ios,introduced=9.3,deprecated=10.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_9_3_DEP__IPHONE_10_1_MSG(_msg) __attribute__((availability(ios,introduced=9.3,deprecated=10.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_9_3_DEP__IPHONE_10_1_MSG(_msg) __attribute__((availability(ios,introduced=9.3,deprecated=10.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_9_3_DEP__IPHONE_10_2 __attribute__((availability(ios,introduced=9.3,deprecated=10.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_9_3_DEP__IPHONE_10_2_MSG(_msg) __attribute__((availability(ios,introduced=9.3,deprecated=10.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_9_3_DEP__IPHONE_10_2_MSG(_msg) __attribute__((availability(ios,introduced=9.3,deprecated=10.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_9_3_DEP__IPHONE_10_3 __attribute__((availability(ios,introduced=9.3,deprecated=10.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_9_3_DEP__IPHONE_10_3_MSG(_msg) __attribute__((availability(ios,introduced=9.3,deprecated=10.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_9_3_DEP__IPHONE_10_3_MSG(_msg) __attribute__((availability(ios,introduced=9.3,deprecated=10.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_9_3_DEP__IPHONE_9_3 __attribute__((availability(ios,introduced=9.3,deprecated=9.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_9_3_DEP__IPHONE_9_3_MSG(_msg) __attribute__((availability(ios,introduced=9.3,deprecated=9.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_9_3_DEP__IPHONE_9_3_MSG(_msg) __attribute__((availability(ios,introduced=9.3,deprecated=9.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_9_3_DEP__IPHONE_NA __attribute__((availability(ios,introduced=9.3))) - #define __AVAILABILITY_INTERNAL__IPHONE_9_3_DEP__IPHONE_NA_MSG(_msg) __attribute__((availability(ios,introduced=9.3))) - #define __AVAILABILITY_INTERNAL__IPHONE_10_0 __attribute__((availability(ios,introduced=10.0))) - #define __AVAILABILITY_INTERNAL__IPHONE_10_0_DEP__IPHONE_10_0 __attribute__((availability(ios,introduced=10.0,deprecated=10.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_10_0_DEP__IPHONE_10_0_MSG(_msg) __attribute__((availability(ios,introduced=10.0,deprecated=10.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_10_0_DEP__IPHONE_10_0_MSG(_msg) __attribute__((availability(ios,introduced=10.0,deprecated=10.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_10_0_DEP__IPHONE_10_1 __attribute__((availability(ios,introduced=10.0,deprecated=10.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_10_0_DEP__IPHONE_10_1_MSG(_msg) __attribute__((availability(ios,introduced=10.0,deprecated=10.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_10_0_DEP__IPHONE_10_1_MSG(_msg) __attribute__((availability(ios,introduced=10.0,deprecated=10.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_10_0_DEP__IPHONE_10_2 __attribute__((availability(ios,introduced=10.0,deprecated=10.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_10_0_DEP__IPHONE_10_2_MSG(_msg) __attribute__((availability(ios,introduced=10.0,deprecated=10.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_10_0_DEP__IPHONE_10_2_MSG(_msg) __attribute__((availability(ios,introduced=10.0,deprecated=10.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_10_0_DEP__IPHONE_10_3 __attribute__((availability(ios,introduced=10.0,deprecated=10.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_10_0_DEP__IPHONE_10_3_MSG(_msg) __attribute__((availability(ios,introduced=10.0,deprecated=10.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_10_0_DEP__IPHONE_10_3_MSG(_msg) __attribute__((availability(ios,introduced=10.0,deprecated=10.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_10_0_DEP__IPHONE_11_0 __attribute__((availability(ios,introduced=10.0,deprecated=11.0))) - #define __AVAILABILITY_INTERNAL__IPHONE_10_0_DEP__IPHONE_12_0 __attribute__((availability(ios,introduced=10.0,deprecated=12.0))) - #define __AVAILABILITY_INTERNAL__IPHONE_10_0_DEP__IPHONE_NA __attribute__((availability(ios,introduced=10.0))) - #define __AVAILABILITY_INTERNAL__IPHONE_10_0_DEP__IPHONE_NA_MSG(_msg) __attribute__((availability(ios,introduced=10.0))) - #define __AVAILABILITY_INTERNAL__IPHONE_10_1 __attribute__((availability(ios,introduced=10.1))) - #define __AVAILABILITY_INTERNAL__IPHONE_10_1_DEP__IPHONE_10_1 __attribute__((availability(ios,introduced=10.1,deprecated=10.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_10_1_DEP__IPHONE_10_1_MSG(_msg) __attribute__((availability(ios,introduced=10.1,deprecated=10.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_10_1_DEP__IPHONE_10_1_MSG(_msg) __attribute__((availability(ios,introduced=10.1,deprecated=10.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_10_1_DEP__IPHONE_10_2 __attribute__((availability(ios,introduced=10.1,deprecated=10.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_10_1_DEP__IPHONE_10_2_MSG(_msg) __attribute__((availability(ios,introduced=10.1,deprecated=10.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_10_1_DEP__IPHONE_10_2_MSG(_msg) __attribute__((availability(ios,introduced=10.1,deprecated=10.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_10_1_DEP__IPHONE_10_3 __attribute__((availability(ios,introduced=10.1,deprecated=10.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_10_1_DEP__IPHONE_10_3_MSG(_msg) __attribute__((availability(ios,introduced=10.1,deprecated=10.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_10_1_DEP__IPHONE_10_3_MSG(_msg) __attribute__((availability(ios,introduced=10.1,deprecated=10.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_10_1_DEP__IPHONE_NA __attribute__((availability(ios,introduced=10.1))) - #define __AVAILABILITY_INTERNAL__IPHONE_10_1_DEP__IPHONE_NA_MSG(_msg) __attribute__((availability(ios,introduced=10.1))) - #define __AVAILABILITY_INTERNAL__IPHONE_10_2 __attribute__((availability(ios,introduced=10.2))) - #define __AVAILABILITY_INTERNAL__IPHONE_10_2_DEP__IPHONE_10_2 __attribute__((availability(ios,introduced=10.2,deprecated=10.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_10_2_DEP__IPHONE_10_2_MSG(_msg) __attribute__((availability(ios,introduced=10.2,deprecated=10.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_10_2_DEP__IPHONE_10_2_MSG(_msg) __attribute__((availability(ios,introduced=10.2,deprecated=10.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_10_2_DEP__IPHONE_10_3 __attribute__((availability(ios,introduced=10.2,deprecated=10.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_10_2_DEP__IPHONE_10_3_MSG(_msg) __attribute__((availability(ios,introduced=10.2,deprecated=10.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_10_2_DEP__IPHONE_10_3_MSG(_msg) __attribute__((availability(ios,introduced=10.2,deprecated=10.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_10_2_DEP__IPHONE_NA __attribute__((availability(ios,introduced=10.2))) - #define __AVAILABILITY_INTERNAL__IPHONE_10_2_DEP__IPHONE_NA_MSG(_msg) __attribute__((availability(ios,introduced=10.2))) - #define __AVAILABILITY_INTERNAL__IPHONE_10_3 __attribute__((availability(ios,introduced=10.3))) - #define __AVAILABILITY_INTERNAL__IPHONE_10_3_DEP__IPHONE_10_3 __attribute__((availability(ios,introduced=10.3,deprecated=10.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_10_3_DEP__IPHONE_10_3_MSG(_msg) __attribute__((availability(ios,introduced=10.3,deprecated=10.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_10_3_DEP__IPHONE_10_3_MSG(_msg) __attribute__((availability(ios,introduced=10.3,deprecated=10.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_10_3_DEP__IPHONE_NA __attribute__((availability(ios,introduced=10.3))) - #define __AVAILABILITY_INTERNAL__IPHONE_10_3_DEP__IPHONE_NA_MSG(_msg) __attribute__((availability(ios,introduced=10.3))) - #define __AVAILABILITY_INTERNAL__IPHONE_11 __attribute__((availability(ios,introduced=11))) - #define __AVAILABILITY_INTERNAL__IPHONE_11_0 __attribute__((availability(ios,introduced=11.0))) - #define __AVAILABILITY_INTERNAL__IPHONE_11_3 __attribute__((availability(ios,introduced=11.3))) - #define __AVAILABILITY_INTERNAL__IPHONE_12_0 __attribute__((availability(ios,introduced=12.0))) - #define __AVAILABILITY_INTERNAL__IPHONE_13_0 __attribute__((availability(ios,introduced=13.0))) - - #define __AVAILABILITY_INTERNAL__IPHONE_NA __attribute__((availability(ios,unavailable))) - #define __AVAILABILITY_INTERNAL__IPHONE_NA__IPHONE_NA __attribute__((availability(ios,unavailable))) - #define __AVAILABILITY_INTERNAL__IPHONE_NA_DEP__IPHONE_NA __attribute__((availability(ios,unavailable))) - #define __AVAILABILITY_INTERNAL__IPHONE_NA_DEP__IPHONE_NA_MSG(_msg) __attribute__((availability(ios,unavailable))) - - #if __has_builtin(__is_target_arch) - #if __has_builtin(__is_target_vendor) - #if __has_builtin(__is_target_os) - #if __has_builtin(__is_target_environment) - #if __has_builtin(__is_target_variant_os) - #if __has_builtin(__is_target_variant_environment) - #if ((__is_target_arch(x86_64) || __is_target_arch(arm64) || __is_target_arch(arm64e)) && __is_target_vendor(apple) && __is_target_os(ios) && __is_target_environment(macabi)) - #define __AVAILABILITY_INTERNAL__IPHONE_COMPAT_VERSION __attribute__((availability(ios,introduced=4.0))) - #define __AVAILABILITY_INTERNAL__IPHONE_COMPAT_VERSION_DEP__IPHONE_COMPAT_VERSION __attribute__((availability(ios,unavailable))) - #define __AVAILABILITY_INTERNAL__IPHONE_COMPAT_VERSION_DEP__IPHONE_COMPAT_VERSION_MSG(_msg) __attribute__((availability(ios,unavailable))) - #endif - #endif /* #if __has_builtin(__is_target_variant_environment) */ - #endif /* #if __has_builtin(__is_target_variant_os) */ - #endif /* #if __has_builtin(__is_target_environment) */ - #endif /* #if __has_builtin(__is_target_os) */ - #endif /* #if __has_builtin(__is_target_vendor) */ - #endif /* #if __has_builtin(__is_target_arch) */ - - #ifndef __AVAILABILITY_INTERNAL__IPHONE_COMPAT_VERSION - #define __AVAILABILITY_INTERNAL__IPHONE_COMPAT_VERSION __attribute__((availability(ios,introduced=4.0))) - #define __AVAILABILITY_INTERNAL__IPHONE_COMPAT_VERSION_DEP__IPHONE_COMPAT_VERSION __attribute__((availability(ios,introduced=4.0,deprecated=4.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_COMPAT_VERSION_DEP__IPHONE_COMPAT_VERSION_MSG(_msg) __attribute__((availability(ios,introduced=4.0,deprecated=4.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_COMPAT_VERSION_DEP__IPHONE_COMPAT_VERSION_MSG(_msg) __attribute__((availability(ios,introduced=4.0,deprecated=4.0))) - #endif - #endif /* __AVAILABILITY_INTERNAL__IPHONE_COMPAT_VERSION */ - #endif - #endif -#endif - -#if __ENABLE_LEGACY_MAC_AVAILABILITY - #if defined(__has_attribute) && defined(__has_feature) - #if __has_attribute(availability) - /* use better attributes if possible */ - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_1 __attribute__((availability(macosx,introduced=10.1,deprecated=10.1))) - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_10 __attribute__((availability(macosx,introduced=10.1,deprecated=10.10))) - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_10_2 __attribute__((availability(macosx,introduced=10.1,deprecated=10.10.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_10_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.1,deprecated=10.10.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_10_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.1,deprecated=10.10.2))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_10_3 __attribute__((availability(macosx,introduced=10.1,deprecated=10.10.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_10_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.1,deprecated=10.10.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_10_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.1,deprecated=10.10.3))) - #endif - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_10_MSG(_msg) __attribute__((availability(macosx,introduced=10.1,deprecated=10.10,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_10_MSG(_msg) __attribute__((availability(macosx,introduced=10.1,deprecated=10.10))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_11 __attribute__((availability(macosx,introduced=10.1,deprecated=10.11))) - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_11_2 __attribute__((availability(macosx,introduced=10.1,deprecated=10.11.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_11_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.1,deprecated=10.11.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_11_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.1,deprecated=10.11.2))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_11_3 __attribute__((availability(macosx,introduced=10.1,deprecated=10.11.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_11_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.1,deprecated=10.11.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_11_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.1,deprecated=10.11.3))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_11_4 __attribute__((availability(macosx,introduced=10.1,deprecated=10.11.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_11_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.1,deprecated=10.11.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_11_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.1,deprecated=10.11.4))) - #endif - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_11_MSG(_msg) __attribute__((availability(macosx,introduced=10.1,deprecated=10.11,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_11_MSG(_msg) __attribute__((availability(macosx,introduced=10.1,deprecated=10.11))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_12 __attribute__((availability(macosx,introduced=10.1,deprecated=10.12))) - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_12_1 __attribute__((availability(macosx,introduced=10.1,deprecated=10.12.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_12_1_MSG(_msg) __attribute__((availability(macosx,introduced=10.1,deprecated=10.12.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_12_1_MSG(_msg) __attribute__((availability(macosx,introduced=10.1,deprecated=10.12.1))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_12_2 __attribute__((availability(macosx,introduced=10.1,deprecated=10.12.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_12_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.1,deprecated=10.12.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_12_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.1,deprecated=10.12.2))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_12_4 __attribute__((availability(macosx,introduced=10.1,deprecated=10.12.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_12_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.1,deprecated=10.12.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_12_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.1,deprecated=10.12.4))) - #endif - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_12_MSG(_msg) __attribute__((availability(macosx,introduced=10.1,deprecated=10.12,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_12_MSG(_msg) __attribute__((availability(macosx,introduced=10.1,deprecated=10.12))) - #endif - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_1_MSG(_msg) __attribute__((availability(macosx,introduced=10.1,deprecated=10.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_1_MSG(_msg) __attribute__((availability(macosx,introduced=10.1,deprecated=10.1))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_2 __attribute__((availability(macosx,introduced=10.1,deprecated=10.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.1,deprecated=10.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.1,deprecated=10.2))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_3 __attribute__((availability(macosx,introduced=10.1,deprecated=10.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.1,deprecated=10.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.1,deprecated=10.3))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_4 __attribute__((availability(macosx,introduced=10.1,deprecated=10.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.1,deprecated=10.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.1,deprecated=10.4))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_5 __attribute__((availability(macosx,introduced=10.1,deprecated=10.5))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_5_MSG(_msg) __attribute__((availability(macosx,introduced=10.1,deprecated=10.5,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_5_MSG(_msg) __attribute__((availability(macosx,introduced=10.1,deprecated=10.5))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_6 __attribute__((availability(macosx,introduced=10.1,deprecated=10.6))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_6_MSG(_msg) __attribute__((availability(macosx,introduced=10.1,deprecated=10.6,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_6_MSG(_msg) __attribute__((availability(macosx,introduced=10.1,deprecated=10.6))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_7 __attribute__((availability(macosx,introduced=10.1,deprecated=10.7))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_7_MSG(_msg) __attribute__((availability(macosx,introduced=10.1,deprecated=10.7,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_7_MSG(_msg) __attribute__((availability(macosx,introduced=10.1,deprecated=10.7))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_8 __attribute__((availability(macosx,introduced=10.1,deprecated=10.8))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_8_MSG(_msg) __attribute__((availability(macosx,introduced=10.1,deprecated=10.8,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_8_MSG(_msg) __attribute__((availability(macosx,introduced=10.1,deprecated=10.8))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_9 __attribute__((availability(macosx,introduced=10.1,deprecated=10.9))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_9_MSG(_msg) __attribute__((availability(macosx,introduced=10.1,deprecated=10.9,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_9_MSG(_msg) __attribute__((availability(macosx,introduced=10.1,deprecated=10.9))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_NA __attribute__((availability(macosx,introduced=10.1))) - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_NA_MSG(_msg) __attribute__((availability(macosx,introduced=10.1))) - #define __AVAILABILITY_INTERNAL__MAC_10_2 __attribute__((availability(macosx,introduced=10.2))) - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_1 __attribute__((availability(macosx,introduced=10.2,deprecated=10.1))) - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_10 __attribute__((availability(macosx,introduced=10.2,deprecated=10.10))) - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_10_2 __attribute__((availability(macosx,introduced=10.2,deprecated=10.10.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_10_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.2,deprecated=10.10.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_10_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.2,deprecated=10.10.2))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_10_3 __attribute__((availability(macosx,introduced=10.2,deprecated=10.10.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_10_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.2,deprecated=10.10.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_10_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.2,deprecated=10.10.3))) - #endif - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_10_MSG(_msg) __attribute__((availability(macosx,introduced=10.2,deprecated=10.10,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_10_MSG(_msg) __attribute__((availability(macosx,introduced=10.2,deprecated=10.10))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_11 __attribute__((availability(macosx,introduced=10.2,deprecated=10.11))) - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_11_2 __attribute__((availability(macosx,introduced=10.2,deprecated=10.11.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_11_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.2,deprecated=10.11.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_11_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.2,deprecated=10.11.2))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_11_3 __attribute__((availability(macosx,introduced=10.2,deprecated=10.11.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_11_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.2,deprecated=10.11.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_11_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.2,deprecated=10.11.3))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_11_4 __attribute__((availability(macosx,introduced=10.2,deprecated=10.11.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_11_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.2,deprecated=10.11.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_11_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.2,deprecated=10.11.4))) - #endif - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_11_MSG(_msg) __attribute__((availability(macosx,introduced=10.2,deprecated=10.11,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_11_MSG(_msg) __attribute__((availability(macosx,introduced=10.2,deprecated=10.11))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_12 __attribute__((availability(macosx,introduced=10.2,deprecated=10.12))) - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_12_1 __attribute__((availability(macosx,introduced=10.2,deprecated=10.12.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_12_1_MSG(_msg) __attribute__((availability(macosx,introduced=10.2,deprecated=10.12.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_12_1_MSG(_msg) __attribute__((availability(macosx,introduced=10.2,deprecated=10.12.1))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_12_2 __attribute__((availability(macosx,introduced=10.2,deprecated=10.12.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_12_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.2,deprecated=10.12.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_12_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.2,deprecated=10.12.2))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_12_4 __attribute__((availability(macosx,introduced=10.2,deprecated=10.12.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_12_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.2,deprecated=10.12.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_12_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.2,deprecated=10.12.4))) - #endif - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_12_MSG(_msg) __attribute__((availability(macosx,introduced=10.2,deprecated=10.12,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_12_MSG(_msg) __attribute__((availability(macosx,introduced=10.2,deprecated=10.12))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_13 __attribute__((availability(macosx,introduced=10.2,deprecated=10.13))) - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_2 __attribute__((availability(macosx,introduced=10.2,deprecated=10.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.2,deprecated=10.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.2,deprecated=10.2))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_3 __attribute__((availability(macosx,introduced=10.2,deprecated=10.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.2,deprecated=10.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.2,deprecated=10.3))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_4 __attribute__((availability(macosx,introduced=10.2,deprecated=10.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.2,deprecated=10.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.2,deprecated=10.4))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_5 __attribute__((availability(macosx,introduced=10.2,deprecated=10.5))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_5_MSG(_msg) __attribute__((availability(macosx,introduced=10.2,deprecated=10.5,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_5_MSG(_msg) __attribute__((availability(macosx,introduced=10.2,deprecated=10.5))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_6 __attribute__((availability(macosx,introduced=10.2,deprecated=10.6))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_6_MSG(_msg) __attribute__((availability(macosx,introduced=10.2,deprecated=10.6,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_6_MSG(_msg) __attribute__((availability(macosx,introduced=10.2,deprecated=10.6))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_7 __attribute__((availability(macosx,introduced=10.2,deprecated=10.7))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_7_MSG(_msg) __attribute__((availability(macosx,introduced=10.2,deprecated=10.7,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_7_MSG(_msg) __attribute__((availability(macosx,introduced=10.2,deprecated=10.7))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_8 __attribute__((availability(macosx,introduced=10.2,deprecated=10.8))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_8_MSG(_msg) __attribute__((availability(macosx,introduced=10.2,deprecated=10.8,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_8_MSG(_msg) __attribute__((availability(macosx,introduced=10.2,deprecated=10.8))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_9 __attribute__((availability(macosx,introduced=10.2,deprecated=10.9))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_9_MSG(_msg) __attribute__((availability(macosx,introduced=10.2,deprecated=10.9,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_9_MSG(_msg) __attribute__((availability(macosx,introduced=10.2,deprecated=10.9))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_NA __attribute__((availability(macosx,introduced=10.2))) - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_NA_MSG(_msg) __attribute__((availability(macosx,introduced=10.2))) - #define __AVAILABILITY_INTERNAL__MAC_10_3 __attribute__((availability(macosx,introduced=10.3))) - #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_1 __attribute__((availability(macosx,introduced=10.3,deprecated=10.1))) - #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_10 __attribute__((availability(macosx,introduced=10.3,deprecated=10.10))) - #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_10_2 __attribute__((availability(macosx,introduced=10.3,deprecated=10.10.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_10_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.3,deprecated=10.10.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_10_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.3,deprecated=10.10.2))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_10_3 __attribute__((availability(macosx,introduced=10.3,deprecated=10.10.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_10_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.3,deprecated=10.10.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_10_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.3,deprecated=10.10.3))) - #endif - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_10_MSG(_msg) __attribute__((availability(macosx,introduced=10.3,deprecated=10.10,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_10_MSG(_msg) __attribute__((availability(macosx,introduced=10.3,deprecated=10.10))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_11 __attribute__((availability(macosx,introduced=10.3,deprecated=10.11))) - #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_11_2 __attribute__((availability(macosx,introduced=10.3,deprecated=10.11.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_11_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.3,deprecated=10.11.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_11_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.3,deprecated=10.11.2))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_11_3 __attribute__((availability(macosx,introduced=10.3,deprecated=10.11.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_11_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.3,deprecated=10.11.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_11_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.3,deprecated=10.11.3))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_11_4 __attribute__((availability(macosx,introduced=10.3,deprecated=10.11.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_11_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.3,deprecated=10.11.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_11_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.3,deprecated=10.11.4))) - #endif - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_11_MSG(_msg) __attribute__((availability(macosx,introduced=10.3,deprecated=10.11,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_11_MSG(_msg) __attribute__((availability(macosx,introduced=10.3,deprecated=10.11))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_12 __attribute__((availability(macosx,introduced=10.3,deprecated=10.12))) - #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_12_1 __attribute__((availability(macosx,introduced=10.3,deprecated=10.12.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_12_1_MSG(_msg) __attribute__((availability(macosx,introduced=10.3,deprecated=10.12.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_12_1_MSG(_msg) __attribute__((availability(macosx,introduced=10.3,deprecated=10.12.1))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_12_2 __attribute__((availability(macosx,introduced=10.3,deprecated=10.12.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_12_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.3,deprecated=10.12.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_12_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.3,deprecated=10.12.2))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_12_4 __attribute__((availability(macosx,introduced=10.3,deprecated=10.12.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_12_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.3,deprecated=10.12.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_12_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.3,deprecated=10.12.4))) - #endif - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_12_MSG(_msg) __attribute__((availability(macosx,introduced=10.3,deprecated=10.12,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_12_MSG(_msg) __attribute__((availability(macosx,introduced=10.3,deprecated=10.12))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_13 __attribute__((availability(macosx,introduced=10.3,deprecated=10.13))) - #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_3 __attribute__((availability(macosx,introduced=10.3,deprecated=10.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.3,deprecated=10.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.3,deprecated=10.3))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_4 __attribute__((availability(macosx,introduced=10.3,deprecated=10.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.3,deprecated=10.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.3,deprecated=10.4))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_5 __attribute__((availability(macosx,introduced=10.3,deprecated=10.5))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_5_MSG(_msg) __attribute__((availability(macosx,introduced=10.3,deprecated=10.5,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_5_MSG(_msg) __attribute__((availability(macosx,introduced=10.3,deprecated=10.5))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_6 __attribute__((availability(macosx,introduced=10.3,deprecated=10.6))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_6_MSG(_msg) __attribute__((availability(macosx,introduced=10.3,deprecated=10.6,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_6_MSG(_msg) __attribute__((availability(macosx,introduced=10.3,deprecated=10.6))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_7 __attribute__((availability(macosx,introduced=10.3,deprecated=10.7))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_7_MSG(_msg) __attribute__((availability(macosx,introduced=10.3,deprecated=10.7,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_7_MSG(_msg) __attribute__((availability(macosx,introduced=10.3,deprecated=10.7))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_8 __attribute__((availability(macosx,introduced=10.3,deprecated=10.8))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_8_MSG(_msg) __attribute__((availability(macosx,introduced=10.3,deprecated=10.8,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_8_MSG(_msg) __attribute__((availability(macosx,introduced=10.3,deprecated=10.8))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_9 __attribute__((availability(macosx,introduced=10.3,deprecated=10.9))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_9_MSG(_msg) __attribute__((availability(macosx,introduced=10.3,deprecated=10.9,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_9_MSG(_msg) __attribute__((availability(macosx,introduced=10.3,deprecated=10.9))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_NA __attribute__((availability(macosx,introduced=10.3))) - #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_NA_MSG(_msg) __attribute__((availability(macosx,introduced=10.3))) - #define __AVAILABILITY_INTERNAL__MAC_10_4 __attribute__((availability(macosx,introduced=10.4))) - #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_1 __attribute__((availability(macosx,introduced=10.4,deprecated=10.1))) - #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_10 __attribute__((availability(macosx,introduced=10.4,deprecated=10.10))) - #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_10_2 __attribute__((availability(macosx,introduced=10.4,deprecated=10.10.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_10_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.4,deprecated=10.10.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_10_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.4,deprecated=10.10.2))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_10_3 __attribute__((availability(macosx,introduced=10.4,deprecated=10.10.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_10_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.4,deprecated=10.10.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_10_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.4,deprecated=10.10.3))) - #endif - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_10_MSG(_msg) __attribute__((availability(macosx,introduced=10.4,deprecated=10.10,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_10_MSG(_msg) __attribute__((availability(macosx,introduced=10.4,deprecated=10.10))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_11 __attribute__((availability(macosx,introduced=10.4,deprecated=10.11))) - #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_11_2 __attribute__((availability(macosx,introduced=10.4,deprecated=10.11.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_11_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.4,deprecated=10.11.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_11_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.4,deprecated=10.11.2))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_11_3 __attribute__((availability(macosx,introduced=10.4,deprecated=10.11.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_11_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.4,deprecated=10.11.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_11_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.4,deprecated=10.11.3))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_11_4 __attribute__((availability(macosx,introduced=10.4,deprecated=10.11.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_11_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.4,deprecated=10.11.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_11_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.4,deprecated=10.11.4))) - #endif - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_11_MSG(_msg) __attribute__((availability(macosx,introduced=10.4,deprecated=10.11,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_11_MSG(_msg) __attribute__((availability(macosx,introduced=10.4,deprecated=10.11))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_12 __attribute__((availability(macosx,introduced=10.4,deprecated=10.12))) - #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_12_1 __attribute__((availability(macosx,introduced=10.4,deprecated=10.12.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_12_1_MSG(_msg) __attribute__((availability(macosx,introduced=10.4,deprecated=10.12.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_12_1_MSG(_msg) __attribute__((availability(macosx,introduced=10.4,deprecated=10.12.1))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_12_2 __attribute__((availability(macosx,introduced=10.4,deprecated=10.12.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_12_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.4,deprecated=10.12.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_12_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.4,deprecated=10.12.2))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_12_4 __attribute__((availability(macosx,introduced=10.4,deprecated=10.12.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_12_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.4,deprecated=10.12.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_12_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.4,deprecated=10.12.4))) - #endif - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_12_MSG(_msg) __attribute__((availability(macosx,introduced=10.4,deprecated=10.12,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_12_MSG(_msg) __attribute__((availability(macosx,introduced=10.4,deprecated=10.12))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_13 __attribute__((availability(macosx,introduced=10.4,deprecated=10.13))) - #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_4 __attribute__((availability(macosx,introduced=10.4,deprecated=10.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.4,deprecated=10.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.4,deprecated=10.4))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_5 __attribute__((availability(macosx,introduced=10.4,deprecated=10.5))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_5_MSG(_msg) __attribute__((availability(macosx,introduced=10.4,deprecated=10.5,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_5_MSG(_msg) __attribute__((availability(macosx,introduced=10.4,deprecated=10.5))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_6 __attribute__((availability(macosx,introduced=10.4,deprecated=10.6))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_6_MSG(_msg) __attribute__((availability(macosx,introduced=10.4,deprecated=10.6,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_6_MSG(_msg) __attribute__((availability(macosx,introduced=10.4,deprecated=10.6))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_7 __attribute__((availability(macosx,introduced=10.4,deprecated=10.7))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_7_MSG(_msg) __attribute__((availability(macosx,introduced=10.4,deprecated=10.7,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_7_MSG(_msg) __attribute__((availability(macosx,introduced=10.4,deprecated=10.7))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_8 __attribute__((availability(macosx,introduced=10.4,deprecated=10.8))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_8_MSG(_msg) __attribute__((availability(macosx,introduced=10.4,deprecated=10.8,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_8_MSG(_msg) __attribute__((availability(macosx,introduced=10.4,deprecated=10.8))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_9 __attribute__((availability(macosx,introduced=10.4,deprecated=10.9))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_9_MSG(_msg) __attribute__((availability(macosx,introduced=10.4,deprecated=10.9,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_9_MSG(_msg) __attribute__((availability(macosx,introduced=10.4,deprecated=10.9))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_NA __attribute__((availability(macosx,introduced=10.4))) - #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_NA_MSG(_msg) __attribute__((availability(macosx,introduced=10.4))) - #define __AVAILABILITY_INTERNAL__MAC_10_5 __attribute__((availability(macosx,introduced=10.5))) - #define __AVAILABILITY_INTERNAL__MAC_10_5_DEPRECATED__MAC_10_7 __attribute__((availability(macosx,introduced=10.5.DEPRECATED..MAC.10.7))) - #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_1 __attribute__((availability(macosx,introduced=10.5,deprecated=10.1))) - #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_10 __attribute__((availability(macosx,introduced=10.5,deprecated=10.10))) - #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_10_2 __attribute__((availability(macosx,introduced=10.5,deprecated=10.10.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_10_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.5,deprecated=10.10.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_10_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.5,deprecated=10.10.2))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_10_3 __attribute__((availability(macosx,introduced=10.5,deprecated=10.10.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_10_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.5,deprecated=10.10.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_10_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.5,deprecated=10.10.3))) - #endif - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_10_MSG(_msg) __attribute__((availability(macosx,introduced=10.5,deprecated=10.10,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_10_MSG(_msg) __attribute__((availability(macosx,introduced=10.5,deprecated=10.10))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_11 __attribute__((availability(macosx,introduced=10.5,deprecated=10.11))) - #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_11_2 __attribute__((availability(macosx,introduced=10.5,deprecated=10.11.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_11_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.5,deprecated=10.11.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_11_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.5,deprecated=10.11.2))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_11_3 __attribute__((availability(macosx,introduced=10.5,deprecated=10.11.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_11_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.5,deprecated=10.11.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_11_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.5,deprecated=10.11.3))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_11_4 __attribute__((availability(macosx,introduced=10.5,deprecated=10.11.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_11_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.5,deprecated=10.11.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_11_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.5,deprecated=10.11.4))) - #endif - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_11_MSG(_msg) __attribute__((availability(macosx,introduced=10.5,deprecated=10.11,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_11_MSG(_msg) __attribute__((availability(macosx,introduced=10.5,deprecated=10.11))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_12 __attribute__((availability(macosx,introduced=10.5,deprecated=10.12))) - #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_12_1 __attribute__((availability(macosx,introduced=10.5,deprecated=10.12.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_12_1_MSG(_msg) __attribute__((availability(macosx,introduced=10.5,deprecated=10.12.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_12_1_MSG(_msg) __attribute__((availability(macosx,introduced=10.5,deprecated=10.12.1))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_12_2 __attribute__((availability(macosx,introduced=10.5,deprecated=10.12.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_12_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.5,deprecated=10.12.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_12_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.5,deprecated=10.12.2))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_12_4 __attribute__((availability(macosx,introduced=10.5,deprecated=10.12.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_12_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.5,deprecated=10.12.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_12_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.5,deprecated=10.12.4))) - #endif - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_12_MSG(_msg) __attribute__((availability(macosx,introduced=10.5,deprecated=10.12,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_12_MSG(_msg) __attribute__((availability(macosx,introduced=10.5,deprecated=10.12))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_5 __attribute__((availability(macosx,introduced=10.5,deprecated=10.5))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_5_MSG(_msg) __attribute__((availability(macosx,introduced=10.5,deprecated=10.5,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_5_MSG(_msg) __attribute__((availability(macosx,introduced=10.5,deprecated=10.5))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_6 __attribute__((availability(macosx,introduced=10.5,deprecated=10.6))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_6_MSG(_msg) __attribute__((availability(macosx,introduced=10.5,deprecated=10.6,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_6_MSG(_msg) __attribute__((availability(macosx,introduced=10.5,deprecated=10.6))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_7 __attribute__((availability(macosx,introduced=10.5,deprecated=10.7))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_7_MSG(_msg) __attribute__((availability(macosx,introduced=10.5,deprecated=10.7,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_7_MSG(_msg) __attribute__((availability(macosx,introduced=10.5,deprecated=10.7))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_8 __attribute__((availability(macosx,introduced=10.5,deprecated=10.8))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_8_MSG(_msg) __attribute__((availability(macosx,introduced=10.5,deprecated=10.8,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_8_MSG(_msg) __attribute__((availability(macosx,introduced=10.5,deprecated=10.8))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_9 __attribute__((availability(macosx,introduced=10.5,deprecated=10.9))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_9_MSG(_msg) __attribute__((availability(macosx,introduced=10.5,deprecated=10.9,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_9_MSG(_msg) __attribute__((availability(macosx,introduced=10.5,deprecated=10.9))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_NA __attribute__((availability(macosx,introduced=10.5))) - #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_NA_MSG(_msg) __attribute__((availability(macosx,introduced=10.5))) - #define __AVAILABILITY_INTERNAL__MAC_10_6 __attribute__((availability(macosx,introduced=10.6))) - #define __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_10_1 __attribute__((availability(macosx,introduced=10.6,deprecated=10.1))) - #define __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_10_10 __attribute__((availability(macosx,introduced=10.6,deprecated=10.10))) - #define __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_10_10_2 __attribute__((availability(macosx,introduced=10.6,deprecated=10.10.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_10_10_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.6,deprecated=10.10.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_10_10_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.6,deprecated=10.10.2))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_10_10_3 __attribute__((availability(macosx,introduced=10.6,deprecated=10.10.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_10_10_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.6,deprecated=10.10.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_10_10_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.6,deprecated=10.10.3))) - #endif - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_10_10_MSG(_msg) __attribute__((availability(macosx,introduced=10.6,deprecated=10.10,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_10_10_MSG(_msg) __attribute__((availability(macosx,introduced=10.6,deprecated=10.10))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_10_11 __attribute__((availability(macosx,introduced=10.6,deprecated=10.11))) - #define __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_10_11_2 __attribute__((availability(macosx,introduced=10.6,deprecated=10.11.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_10_11_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.6,deprecated=10.11.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_10_11_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.6,deprecated=10.11.2))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_10_11_3 __attribute__((availability(macosx,introduced=10.6,deprecated=10.11.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_10_11_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.6,deprecated=10.11.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_10_11_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.6,deprecated=10.11.3))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_10_11_4 __attribute__((availability(macosx,introduced=10.6,deprecated=10.11.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_10_11_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.6,deprecated=10.11.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_10_11_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.6,deprecated=10.11.4))) - #endif - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_10_11_MSG(_msg) __attribute__((availability(macosx,introduced=10.6,deprecated=10.11,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_10_11_MSG(_msg) __attribute__((availability(macosx,introduced=10.6,deprecated=10.11))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_10_12 __attribute__((availability(macosx,introduced=10.6,deprecated=10.12))) - #define __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_10_12_1 __attribute__((availability(macosx,introduced=10.6,deprecated=10.12.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_10_12_1_MSG(_msg) __attribute__((availability(macosx,introduced=10.6,deprecated=10.12.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_10_12_1_MSG(_msg) __attribute__((availability(macosx,introduced=10.6,deprecated=10.12.1))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_10_12_2 __attribute__((availability(macosx,introduced=10.6,deprecated=10.12.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_10_12_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.6,deprecated=10.12.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_10_12_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.6,deprecated=10.12.2))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_10_12_4 __attribute__((availability(macosx,introduced=10.6,deprecated=10.12.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_10_12_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.6,deprecated=10.12.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_10_12_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.6,deprecated=10.12.4))) - #endif - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_10_12_MSG(_msg) __attribute__((availability(macosx,introduced=10.6,deprecated=10.12,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_10_12_MSG(_msg) __attribute__((availability(macosx,introduced=10.6,deprecated=10.12))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_10_13 __attribute__((availability(macosx,introduced=10.6,deprecated=10.13))) - #define __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_10_6 __attribute__((availability(macosx,introduced=10.6,deprecated=10.6))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_10_6_MSG(_msg) __attribute__((availability(macosx,introduced=10.6,deprecated=10.6,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_10_6_MSG(_msg) __attribute__((availability(macosx,introduced=10.6,deprecated=10.6))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_10_7 __attribute__((availability(macosx,introduced=10.6,deprecated=10.7))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_10_7_MSG(_msg) __attribute__((availability(macosx,introduced=10.6,deprecated=10.7,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_10_7_MSG(_msg) __attribute__((availability(macosx,introduced=10.6,deprecated=10.7))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_10_8 __attribute__((availability(macosx,introduced=10.6,deprecated=10.8))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_10_8_MSG(_msg) __attribute__((availability(macosx,introduced=10.6,deprecated=10.8,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_10_8_MSG(_msg) __attribute__((availability(macosx,introduced=10.6,deprecated=10.8))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_10_9 __attribute__((availability(macosx,introduced=10.6,deprecated=10.9))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_10_9_MSG(_msg) __attribute__((availability(macosx,introduced=10.6,deprecated=10.9,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_10_9_MSG(_msg) __attribute__((availability(macosx,introduced=10.6,deprecated=10.9))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_NA __attribute__((availability(macosx,introduced=10.6))) - #define __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_NA_MSG(_msg) __attribute__((availability(macosx,introduced=10.6))) - #define __AVAILABILITY_INTERNAL__MAC_10_7 __attribute__((availability(macosx,introduced=10.7))) - #define __AVAILABILITY_INTERNAL__MAC_10_7_DEP__MAC_10_1 __attribute__((availability(macosx,introduced=10.7,deprecated=10.1))) - #define __AVAILABILITY_INTERNAL__MAC_10_7_DEP__MAC_10_10 __attribute__((availability(macosx,introduced=10.7,deprecated=10.10))) - #define __AVAILABILITY_INTERNAL__MAC_10_7_DEP__MAC_10_10_2 __attribute__((availability(macosx,introduced=10.7,deprecated=10.10.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_7_DEP__MAC_10_10_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.7,deprecated=10.10.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_7_DEP__MAC_10_10_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.7,deprecated=10.10.2))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_7_DEP__MAC_10_10_3 __attribute__((availability(macosx,introduced=10.7,deprecated=10.10.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_7_DEP__MAC_10_10_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.7,deprecated=10.10.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_7_DEP__MAC_10_10_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.7,deprecated=10.10.3))) - #endif - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_7_DEP__MAC_10_10_MSG(_msg) __attribute__((availability(macosx,introduced=10.7,deprecated=10.10,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_7_DEP__MAC_10_10_MSG(_msg) __attribute__((availability(macosx,introduced=10.7,deprecated=10.10))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_7_DEP__MAC_10_11 __attribute__((availability(macosx,introduced=10.7,deprecated=10.11))) - #define __AVAILABILITY_INTERNAL__MAC_10_7_DEP__MAC_10_11_2 __attribute__((availability(macosx,introduced=10.7,deprecated=10.11.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_7_DEP__MAC_10_11_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.7,deprecated=10.11.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_7_DEP__MAC_10_11_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.7,deprecated=10.11.2))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_7_DEP__MAC_10_11_3 __attribute__((availability(macosx,introduced=10.7,deprecated=10.11.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_7_DEP__MAC_10_11_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.7,deprecated=10.11.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_7_DEP__MAC_10_11_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.7,deprecated=10.11.3))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_7_DEP__MAC_10_11_4 __attribute__((availability(macosx,introduced=10.7,deprecated=10.11.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_7_DEP__MAC_10_11_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.7,deprecated=10.11.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_7_DEP__MAC_10_11_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.7,deprecated=10.11.4))) - #endif - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_7_DEP__MAC_10_11_MSG(_msg) __attribute__((availability(macosx,introduced=10.7,deprecated=10.11,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_7_DEP__MAC_10_11_MSG(_msg) __attribute__((availability(macosx,introduced=10.7,deprecated=10.11))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_7_DEP__MAC_10_12 __attribute__((availability(macosx,introduced=10.7,deprecated=10.12))) - #define __AVAILABILITY_INTERNAL__MAC_10_7_DEP__MAC_10_12_1 __attribute__((availability(macosx,introduced=10.7,deprecated=10.12.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_7_DEP__MAC_10_12_1_MSG(_msg) __attribute__((availability(macosx,introduced=10.7,deprecated=10.12.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_7_DEP__MAC_10_12_1_MSG(_msg) __attribute__((availability(macosx,introduced=10.7,deprecated=10.12.1))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_7_DEP__MAC_10_12_2 __attribute__((availability(macosx,introduced=10.7,deprecated=10.12.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_7_DEP__MAC_10_12_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.7,deprecated=10.12.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_7_DEP__MAC_10_12_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.7,deprecated=10.12.2))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_7_DEP__MAC_10_12_4 __attribute__((availability(macosx,introduced=10.7,deprecated=10.12.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_7_DEP__MAC_10_12_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.7,deprecated=10.12.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_7_DEP__MAC_10_12_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.7,deprecated=10.12.4))) - #endif - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_7_DEP__MAC_10_12_MSG(_msg) __attribute__((availability(macosx,introduced=10.7,deprecated=10.12,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_7_DEP__MAC_10_12_MSG(_msg) __attribute__((availability(macosx,introduced=10.7,deprecated=10.12))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_7_DEP__MAC_10_13_2 __attribute__((availability(macosx,introduced=10.7,deprecated=10.13.2))) - #define __AVAILABILITY_INTERNAL__MAC_10_7_DEP__MAC_10_7 __attribute__((availability(macosx,introduced=10.7,deprecated=10.7))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_7_DEP__MAC_10_7_MSG(_msg) __attribute__((availability(macosx,introduced=10.7,deprecated=10.7,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_7_DEP__MAC_10_7_MSG(_msg) __attribute__((availability(macosx,introduced=10.7,deprecated=10.7))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_7_DEP__MAC_10_8 __attribute__((availability(macosx,introduced=10.7,deprecated=10.8))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_7_DEP__MAC_10_8_MSG(_msg) __attribute__((availability(macosx,introduced=10.7,deprecated=10.8,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_7_DEP__MAC_10_8_MSG(_msg) __attribute__((availability(macosx,introduced=10.7,deprecated=10.8))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_7_DEP__MAC_10_9 __attribute__((availability(macosx,introduced=10.7,deprecated=10.9))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_7_DEP__MAC_10_9_MSG(_msg) __attribute__((availability(macosx,introduced=10.7,deprecated=10.9,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_7_DEP__MAC_10_9_MSG(_msg) __attribute__((availability(macosx,introduced=10.7,deprecated=10.9))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_7_DEP__MAC_NA __attribute__((availability(macosx,introduced=10.7))) - #define __AVAILABILITY_INTERNAL__MAC_10_7_DEP__MAC_NA_MSG(_msg) __attribute__((availability(macosx,introduced=10.7))) - #define __AVAILABILITY_INTERNAL__MAC_10_8 __attribute__((availability(macosx,introduced=10.8))) - #define __AVAILABILITY_INTERNAL__MAC_10_8_DEP__MAC_10_1 __attribute__((availability(macosx,introduced=10.8,deprecated=10.1))) - #define __AVAILABILITY_INTERNAL__MAC_10_8_DEP__MAC_10_10 __attribute__((availability(macosx,introduced=10.8,deprecated=10.10))) - #define __AVAILABILITY_INTERNAL__MAC_10_8_DEP__MAC_10_10_2 __attribute__((availability(macosx,introduced=10.8,deprecated=10.10.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_8_DEP__MAC_10_10_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.8,deprecated=10.10.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_8_DEP__MAC_10_10_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.8,deprecated=10.10.2))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_8_DEP__MAC_10_10_3 __attribute__((availability(macosx,introduced=10.8,deprecated=10.10.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_8_DEP__MAC_10_10_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.8,deprecated=10.10.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_8_DEP__MAC_10_10_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.8,deprecated=10.10.3))) - #endif - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_8_DEP__MAC_10_10_MSG(_msg) __attribute__((availability(macosx,introduced=10.8,deprecated=10.10,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_8_DEP__MAC_10_10_MSG(_msg) __attribute__((availability(macosx,introduced=10.8,deprecated=10.10))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_8_DEP__MAC_10_11 __attribute__((availability(macosx,introduced=10.8,deprecated=10.11))) - #define __AVAILABILITY_INTERNAL__MAC_10_8_DEP__MAC_10_11_2 __attribute__((availability(macosx,introduced=10.8,deprecated=10.11.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_8_DEP__MAC_10_11_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.8,deprecated=10.11.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_8_DEP__MAC_10_11_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.8,deprecated=10.11.2))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_8_DEP__MAC_10_11_3 __attribute__((availability(macosx,introduced=10.8,deprecated=10.11.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_8_DEP__MAC_10_11_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.8,deprecated=10.11.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_8_DEP__MAC_10_11_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.8,deprecated=10.11.3))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_8_DEP__MAC_10_11_4 __attribute__((availability(macosx,introduced=10.8,deprecated=10.11.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_8_DEP__MAC_10_11_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.8,deprecated=10.11.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_8_DEP__MAC_10_11_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.8,deprecated=10.11.4))) - #endif - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_8_DEP__MAC_10_11_MSG(_msg) __attribute__((availability(macosx,introduced=10.8,deprecated=10.11,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_8_DEP__MAC_10_11_MSG(_msg) __attribute__((availability(macosx,introduced=10.8,deprecated=10.11))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_8_DEP__MAC_10_12 __attribute__((availability(macosx,introduced=10.8,deprecated=10.12))) - #define __AVAILABILITY_INTERNAL__MAC_10_8_DEP__MAC_10_12_1 __attribute__((availability(macosx,introduced=10.8,deprecated=10.12.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_8_DEP__MAC_10_12_1_MSG(_msg) __attribute__((availability(macosx,introduced=10.8,deprecated=10.12.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_8_DEP__MAC_10_12_1_MSG(_msg) __attribute__((availability(macosx,introduced=10.8,deprecated=10.12.1))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_8_DEP__MAC_10_12_2 __attribute__((availability(macosx,introduced=10.8,deprecated=10.12.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_8_DEP__MAC_10_12_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.8,deprecated=10.12.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_8_DEP__MAC_10_12_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.8,deprecated=10.12.2))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_8_DEP__MAC_10_12_4 __attribute__((availability(macosx,introduced=10.8,deprecated=10.12.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_8_DEP__MAC_10_12_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.8,deprecated=10.12.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_8_DEP__MAC_10_12_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.8,deprecated=10.12.4))) - #endif - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_8_DEP__MAC_10_12_MSG(_msg) __attribute__((availability(macosx,introduced=10.8,deprecated=10.12,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_8_DEP__MAC_10_12_MSG(_msg) __attribute__((availability(macosx,introduced=10.8,deprecated=10.12))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_8_DEP__MAC_10_13 __attribute__((availability(macosx,introduced=10.8,deprecated=10.13))) - #define __AVAILABILITY_INTERNAL__MAC_10_8_DEP__MAC_10_8 __attribute__((availability(macosx,introduced=10.8,deprecated=10.8))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_8_DEP__MAC_10_8_MSG(_msg) __attribute__((availability(macosx,introduced=10.8,deprecated=10.8,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_8_DEP__MAC_10_8_MSG(_msg) __attribute__((availability(macosx,introduced=10.8,deprecated=10.8))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_8_DEP__MAC_10_9 __attribute__((availability(macosx,introduced=10.8,deprecated=10.9))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_8_DEP__MAC_10_9_MSG(_msg) __attribute__((availability(macosx,introduced=10.8,deprecated=10.9,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_8_DEP__MAC_10_9_MSG(_msg) __attribute__((availability(macosx,introduced=10.8,deprecated=10.9))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_8_DEP__MAC_NA __attribute__((availability(macosx,introduced=10.8))) - #define __AVAILABILITY_INTERNAL__MAC_10_8_DEP__MAC_NA_MSG(_msg) __attribute__((availability(macosx,introduced=10.8))) - #define __AVAILABILITY_INTERNAL__MAC_10_9 __attribute__((availability(macosx,introduced=10.9))) - #define __AVAILABILITY_INTERNAL__MAC_10_9_DEP__MAC_10_1 __attribute__((availability(macosx,introduced=10.9,deprecated=10.1))) - #define __AVAILABILITY_INTERNAL__MAC_10_9_DEP__MAC_10_10 __attribute__((availability(macosx,introduced=10.9,deprecated=10.10))) - #define __AVAILABILITY_INTERNAL__MAC_10_9_DEP__MAC_10_10_2 __attribute__((availability(macosx,introduced=10.9,deprecated=10.10.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_9_DEP__MAC_10_10_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.9,deprecated=10.10.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_9_DEP__MAC_10_10_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.9,deprecated=10.10.2))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_9_DEP__MAC_10_10_3 __attribute__((availability(macosx,introduced=10.9,deprecated=10.10.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_9_DEP__MAC_10_10_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.9,deprecated=10.10.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_9_DEP__MAC_10_10_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.9,deprecated=10.10.3))) - #endif - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_9_DEP__MAC_10_10_MSG(_msg) __attribute__((availability(macosx,introduced=10.9,deprecated=10.10,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_9_DEP__MAC_10_10_MSG(_msg) __attribute__((availability(macosx,introduced=10.9,deprecated=10.10))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_9_DEP__MAC_10_11 __attribute__((availability(macosx,introduced=10.9,deprecated=10.11))) - #define __AVAILABILITY_INTERNAL__MAC_10_9_DEP__MAC_10_11_2 __attribute__((availability(macosx,introduced=10.9,deprecated=10.11.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_9_DEP__MAC_10_11_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.9,deprecated=10.11.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_9_DEP__MAC_10_11_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.9,deprecated=10.11.2))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_9_DEP__MAC_10_11_3 __attribute__((availability(macosx,introduced=10.9,deprecated=10.11.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_9_DEP__MAC_10_11_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.9,deprecated=10.11.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_9_DEP__MAC_10_11_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.9,deprecated=10.11.3))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_9_DEP__MAC_10_11_4 __attribute__((availability(macosx,introduced=10.9,deprecated=10.11.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_9_DEP__MAC_10_11_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.9,deprecated=10.11.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_9_DEP__MAC_10_11_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.9,deprecated=10.11.4))) - #endif - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_9_DEP__MAC_10_11_MSG(_msg) __attribute__((availability(macosx,introduced=10.9,deprecated=10.11,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_9_DEP__MAC_10_11_MSG(_msg) __attribute__((availability(macosx,introduced=10.9,deprecated=10.11))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_9_DEP__MAC_10_12 __attribute__((availability(macosx,introduced=10.9,deprecated=10.12))) - #define __AVAILABILITY_INTERNAL__MAC_10_9_DEP__MAC_10_12_1 __attribute__((availability(macosx,introduced=10.9,deprecated=10.12.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_9_DEP__MAC_10_12_1_MSG(_msg) __attribute__((availability(macosx,introduced=10.9,deprecated=10.12.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_9_DEP__MAC_10_12_1_MSG(_msg) __attribute__((availability(macosx,introduced=10.9,deprecated=10.12.1))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_9_DEP__MAC_10_12_2 __attribute__((availability(macosx,introduced=10.9,deprecated=10.12.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_9_DEP__MAC_10_12_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.9,deprecated=10.12.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_9_DEP__MAC_10_12_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.9,deprecated=10.12.2))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_9_DEP__MAC_10_12_4 __attribute__((availability(macosx,introduced=10.9,deprecated=10.12.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_9_DEP__MAC_10_12_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.9,deprecated=10.12.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_9_DEP__MAC_10_12_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.9,deprecated=10.12.4))) - #endif - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_9_DEP__MAC_10_12_MSG(_msg) __attribute__((availability(macosx,introduced=10.9,deprecated=10.12,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_9_DEP__MAC_10_12_MSG(_msg) __attribute__((availability(macosx,introduced=10.9,deprecated=10.12))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_9_DEP__MAC_10_13 __attribute__((availability(macosx,introduced=10.9,deprecated=10.13))) - #define __AVAILABILITY_INTERNAL__MAC_10_9_DEP__MAC_10_14 __attribute__((availability(macosx,introduced=10.9,deprecated=10.14))) - #define __AVAILABILITY_INTERNAL__MAC_10_9_DEP__MAC_10_9 __attribute__((availability(macosx,introduced=10.9,deprecated=10.9))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_9_DEP__MAC_10_9_MSG(_msg) __attribute__((availability(macosx,introduced=10.9,deprecated=10.9,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_9_DEP__MAC_10_9_MSG(_msg) __attribute__((availability(macosx,introduced=10.9,deprecated=10.9))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_9_DEP__MAC_NA __attribute__((availability(macosx,introduced=10.9))) - #define __AVAILABILITY_INTERNAL__MAC_10_9_DEP__MAC_NA_MSG(_msg) __attribute__((availability(macosx,introduced=10.9))) - #define __AVAILABILITY_INTERNAL__MAC_10_0 __attribute__((availability(macosx,introduced=10.0))) - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_0 __attribute__((availability(macosx,introduced=10.0,deprecated=10.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_0_MSG(_msg) __attribute__((availability(macosx,introduced=10.0,deprecated=10.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_0_MSG(_msg) __attribute__((availability(macosx,introduced=10.0,deprecated=10.0))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_1 __attribute__((availability(macosx,introduced=10.0,deprecated=10.1))) - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_10 __attribute__((availability(macosx,introduced=10.0,deprecated=10.10))) - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_10_2 __attribute__((availability(macosx,introduced=10.0,deprecated=10.10.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_10_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.0,deprecated=10.10.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_10_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.0,deprecated=10.10.2))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_10_3 __attribute__((availability(macosx,introduced=10.0,deprecated=10.10.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_10_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.0,deprecated=10.10.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_10_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.0,deprecated=10.10.3))) - #endif - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_10_MSG(_msg) __attribute__((availability(macosx,introduced=10.0,deprecated=10.10,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_10_MSG(_msg) __attribute__((availability(macosx,introduced=10.0,deprecated=10.10))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_11 __attribute__((availability(macosx,introduced=10.0,deprecated=10.11))) - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_11_2 __attribute__((availability(macosx,introduced=10.0,deprecated=10.11.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_11_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.0,deprecated=10.11.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_11_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.0,deprecated=10.11.2))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_11_3 __attribute__((availability(macosx,introduced=10.0,deprecated=10.11.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_11_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.0,deprecated=10.11.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_11_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.0,deprecated=10.11.3))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_11_4 __attribute__((availability(macosx,introduced=10.0,deprecated=10.11.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_11_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.0,deprecated=10.11.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_11_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.0,deprecated=10.11.4))) - #endif - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_11_MSG(_msg) __attribute__((availability(macosx,introduced=10.0,deprecated=10.11,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_11_MSG(_msg) __attribute__((availability(macosx,introduced=10.0,deprecated=10.11))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_12 __attribute__((availability(macosx,introduced=10.0,deprecated=10.12))) - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_12_1 __attribute__((availability(macosx,introduced=10.0,deprecated=10.12.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_12_1_MSG(_msg) __attribute__((availability(macosx,introduced=10.0,deprecated=10.12.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_12_1_MSG(_msg) __attribute__((availability(macosx,introduced=10.0,deprecated=10.12.1))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_12_2 __attribute__((availability(macosx,introduced=10.0,deprecated=10.12.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_12_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.0,deprecated=10.12.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_12_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.0,deprecated=10.12.2))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_12_4 __attribute__((availability(macosx,introduced=10.0,deprecated=10.12.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_12_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.0,deprecated=10.12.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_12_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.0,deprecated=10.12.4))) - #endif - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_12_MSG(_msg) __attribute__((availability(macosx,introduced=10.0,deprecated=10.12,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_12_MSG(_msg) __attribute__((availability(macosx,introduced=10.0,deprecated=10.12))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_13 __attribute__((availability(macosx,introduced=10.0,deprecated=10.13))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_1_MSG(_msg) __attribute__((availability(macosx,introduced=10.0,deprecated=10.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_1_MSG(_msg) __attribute__((availability(macosx,introduced=10.0,deprecated=10.1))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_2 __attribute__((availability(macosx,introduced=10.0,deprecated=10.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.0,deprecated=10.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.0,deprecated=10.2))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_3 __attribute__((availability(macosx,introduced=10.0,deprecated=10.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.0,deprecated=10.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.0,deprecated=10.3))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_4 __attribute__((availability(macosx,introduced=10.0,deprecated=10.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.0,deprecated=10.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.0,deprecated=10.4))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_5 __attribute__((availability(macosx,introduced=10.0,deprecated=10.5))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_5_MSG(_msg) __attribute__((availability(macosx,introduced=10.0,deprecated=10.5,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_5_MSG(_msg) __attribute__((availability(macosx,introduced=10.0,deprecated=10.5))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_6 __attribute__((availability(macosx,introduced=10.0,deprecated=10.6))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_6_MSG(_msg) __attribute__((availability(macosx,introduced=10.0,deprecated=10.6,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_6_MSG(_msg) __attribute__((availability(macosx,introduced=10.0,deprecated=10.6))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_7 __attribute__((availability(macosx,introduced=10.0,deprecated=10.7))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_7_MSG(_msg) __attribute__((availability(macosx,introduced=10.0,deprecated=10.7,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_7_MSG(_msg) __attribute__((availability(macosx,introduced=10.0,deprecated=10.7))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_8 __attribute__((availability(macosx,introduced=10.0,deprecated=10.8))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_8_MSG(_msg) __attribute__((availability(macosx,introduced=10.0,deprecated=10.8,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_8_MSG(_msg) __attribute__((availability(macosx,introduced=10.0,deprecated=10.8))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_9 __attribute__((availability(macosx,introduced=10.0,deprecated=10.9))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_9_MSG(_msg) __attribute__((availability(macosx,introduced=10.0,deprecated=10.9,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_9_MSG(_msg) __attribute__((availability(macosx,introduced=10.0,deprecated=10.9))) - #endif - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_13_MSG(_msg) __attribute__((availability(macosx,introduced=10.0,deprecated=10.13,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_13_MSG(_msg) __attribute__((availability(macosx,introduced=10.0,deprecated=10.13))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_NA __attribute__((availability(macosx,introduced=10.0))) - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_NA_MSG(_msg) __attribute__((availability(macosx,introduced=10.0))) - #define __AVAILABILITY_INTERNAL__MAC_10_1 __attribute__((availability(macosx,introduced=10.1))) - #define __AVAILABILITY_INTERNAL__MAC_10_10 __attribute__((availability(macosx,introduced=10.10))) - #define __AVAILABILITY_INTERNAL__MAC_10_10_2 __attribute__((availability(macosx,introduced=10.10.2))) - #define __AVAILABILITY_INTERNAL__MAC_10_10_2_DEP__MAC_10_10_2 __attribute__((availability(macosx,introduced=10.10.2,deprecated=10.10.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_10_2_DEP__MAC_10_10_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.10.2,deprecated=10.10.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_10_2_DEP__MAC_10_10_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.10.2,deprecated=10.10.2))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_10_2_DEP__MAC_10_10_3 __attribute__((availability(macosx,introduced=10.10.2,deprecated=10.10.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_10_2_DEP__MAC_10_10_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.10.2,deprecated=10.10.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_10_2_DEP__MAC_10_10_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.10.2,deprecated=10.10.3))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_10_2_DEP__MAC_10_11 __attribute__((availability(macosx,introduced=10.10.2,deprecated=10.11))) - #define __AVAILABILITY_INTERNAL__MAC_10_10_2_DEP__MAC_10_11_2 __attribute__((availability(macosx,introduced=10.10.2,deprecated=10.11.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_10_2_DEP__MAC_10_11_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.10.2,deprecated=10.11.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_10_2_DEP__MAC_10_11_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.10.2,deprecated=10.11.2))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_10_2_DEP__MAC_10_11_3 __attribute__((availability(macosx,introduced=10.10.2,deprecated=10.11.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_10_2_DEP__MAC_10_11_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.10.2,deprecated=10.11.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_10_2_DEP__MAC_10_11_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.10.2,deprecated=10.11.3))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_10_2_DEP__MAC_10_11_4 __attribute__((availability(macosx,introduced=10.10.2,deprecated=10.11.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_10_2_DEP__MAC_10_11_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.10.2,deprecated=10.11.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_10_2_DEP__MAC_10_11_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.10.2,deprecated=10.11.4))) - #endif - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_10_2_DEP__MAC_10_11_MSG(_msg) __attribute__((availability(macosx,introduced=10.10.2,deprecated=10.11,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_10_2_DEP__MAC_10_11_MSG(_msg) __attribute__((availability(macosx,introduced=10.10.2,deprecated=10.11))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_10_2_DEP__MAC_10_12 __attribute__((availability(macosx,introduced=10.10.2,deprecated=10.12))) - #define __AVAILABILITY_INTERNAL__MAC_10_10_2_DEP__MAC_10_12_1 __attribute__((availability(macosx,introduced=10.10.2,deprecated=10.12.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_10_2_DEP__MAC_10_12_1_MSG(_msg) __attribute__((availability(macosx,introduced=10.10.2,deprecated=10.12.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_10_2_DEP__MAC_10_12_1_MSG(_msg) __attribute__((availability(macosx,introduced=10.10.2,deprecated=10.12.1))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_10_2_DEP__MAC_10_12_2 __attribute__((availability(macosx,introduced=10.10.2,deprecated=10.12.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_10_2_DEP__MAC_10_12_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.10.2,deprecated=10.12.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_10_2_DEP__MAC_10_12_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.10.2,deprecated=10.12.2))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_10_2_DEP__MAC_10_12_4 __attribute__((availability(macosx,introduced=10.10.2,deprecated=10.12.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_10_2_DEP__MAC_10_12_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.10.2,deprecated=10.12.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_10_2_DEP__MAC_10_12_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.10.2,deprecated=10.12.4))) - #endif - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_10_2_DEP__MAC_10_12_MSG(_msg) __attribute__((availability(macosx,introduced=10.10.2,deprecated=10.12,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_10_2_DEP__MAC_10_12_MSG(_msg) __attribute__((availability(macosx,introduced=10.10.2,deprecated=10.12))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_10_2_DEP__MAC_NA __attribute__((availability(macosx,introduced=10.10.2))) - #define __AVAILABILITY_INTERNAL__MAC_10_10_2_DEP__MAC_NA_MSG(_msg) __attribute__((availability(macosx,introduced=10.10.2))) - #define __AVAILABILITY_INTERNAL__MAC_10_10_3 __attribute__((availability(macosx,introduced=10.10.3))) - #define __AVAILABILITY_INTERNAL__MAC_10_10_3_DEP__MAC_10_10_3 __attribute__((availability(macosx,introduced=10.10.3,deprecated=10.10.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_10_3_DEP__MAC_10_10_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.10.3,deprecated=10.10.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_10_3_DEP__MAC_10_10_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.10.3,deprecated=10.10.3))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_10_3_DEP__MAC_10_11 __attribute__((availability(macosx,introduced=10.10.3,deprecated=10.11))) - #define __AVAILABILITY_INTERNAL__MAC_10_10_3_DEP__MAC_10_11_2 __attribute__((availability(macosx,introduced=10.10.3,deprecated=10.11.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_10_3_DEP__MAC_10_11_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.10.3,deprecated=10.11.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_10_3_DEP__MAC_10_11_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.10.3,deprecated=10.11.2))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_10_3_DEP__MAC_10_11_3 __attribute__((availability(macosx,introduced=10.10.3,deprecated=10.11.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_10_3_DEP__MAC_10_11_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.10.3,deprecated=10.11.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_10_3_DEP__MAC_10_11_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.10.3,deprecated=10.11.3))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_10_3_DEP__MAC_10_11_4 __attribute__((availability(macosx,introduced=10.10.3,deprecated=10.11.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_10_3_DEP__MAC_10_11_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.10.3,deprecated=10.11.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_10_3_DEP__MAC_10_11_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.10.3,deprecated=10.11.4))) - #endif - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_10_3_DEP__MAC_10_11_MSG(_msg) __attribute__((availability(macosx,introduced=10.10.3,deprecated=10.11,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_10_3_DEP__MAC_10_11_MSG(_msg) __attribute__((availability(macosx,introduced=10.10.3,deprecated=10.11))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_10_3_DEP__MAC_10_12 __attribute__((availability(macosx,introduced=10.10.3,deprecated=10.12))) - #define __AVAILABILITY_INTERNAL__MAC_10_10_3_DEP__MAC_10_12_1 __attribute__((availability(macosx,introduced=10.10.3,deprecated=10.12.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_10_3_DEP__MAC_10_12_1_MSG(_msg) __attribute__((availability(macosx,introduced=10.10.3,deprecated=10.12.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_10_3_DEP__MAC_10_12_1_MSG(_msg) __attribute__((availability(macosx,introduced=10.10.3,deprecated=10.12.1))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_10_3_DEP__MAC_10_12_2 __attribute__((availability(macosx,introduced=10.10.3,deprecated=10.12.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_10_3_DEP__MAC_10_12_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.10.3,deprecated=10.12.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_10_3_DEP__MAC_10_12_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.10.3,deprecated=10.12.2))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_10_3_DEP__MAC_10_12_4 __attribute__((availability(macosx,introduced=10.10.3,deprecated=10.12.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_10_3_DEP__MAC_10_12_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.10.3,deprecated=10.12.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_10_3_DEP__MAC_10_12_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.10.3,deprecated=10.12.4))) - #endif - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_10_3_DEP__MAC_10_12_MSG(_msg) __attribute__((availability(macosx,introduced=10.10.3,deprecated=10.12,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_10_3_DEP__MAC_10_12_MSG(_msg) __attribute__((availability(macosx,introduced=10.10.3,deprecated=10.12))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_10_3_DEP__MAC_NA __attribute__((availability(macosx,introduced=10.10.3))) - #define __AVAILABILITY_INTERNAL__MAC_10_10_3_DEP__MAC_NA_MSG(_msg) __attribute__((availability(macosx,introduced=10.10.3))) - #define __AVAILABILITY_INTERNAL__MAC_10_10_DEP__MAC_10_1 __attribute__((availability(macosx,introduced=10.10,deprecated=10.1))) - #define __AVAILABILITY_INTERNAL__MAC_10_10_DEP__MAC_10_10 __attribute__((availability(macosx,introduced=10.10,deprecated=10.10))) - #define __AVAILABILITY_INTERNAL__MAC_10_10_DEP__MAC_10_10_2 __attribute__((availability(macosx,introduced=10.10,deprecated=10.10.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_10_DEP__MAC_10_10_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.10,deprecated=10.10.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_10_DEP__MAC_10_10_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.10,deprecated=10.10.2))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_10_DEP__MAC_10_10_3 __attribute__((availability(macosx,introduced=10.10,deprecated=10.10.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_10_DEP__MAC_10_10_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.10,deprecated=10.10.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_10_DEP__MAC_10_10_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.10,deprecated=10.10.3))) - #endif - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_10_DEP__MAC_10_10_MSG(_msg) __attribute__((availability(macosx,introduced=10.10,deprecated=10.10,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_10_DEP__MAC_10_10_MSG(_msg) __attribute__((availability(macosx,introduced=10.10,deprecated=10.10))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_10_DEP__MAC_10_11 __attribute__((availability(macosx,introduced=10.10,deprecated=10.11))) - #define __AVAILABILITY_INTERNAL__MAC_10_10_DEP__MAC_10_11_2 __attribute__((availability(macosx,introduced=10.10,deprecated=10.11.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_10_DEP__MAC_10_11_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.10,deprecated=10.11.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_10_DEP__MAC_10_11_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.10,deprecated=10.11.2))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_10_DEP__MAC_10_11_3 __attribute__((availability(macosx,introduced=10.10,deprecated=10.11.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_10_DEP__MAC_10_11_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.10,deprecated=10.11.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_10_DEP__MAC_10_11_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.10,deprecated=10.11.3))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_10_DEP__MAC_10_11_4 __attribute__((availability(macosx,introduced=10.10,deprecated=10.11.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_10_DEP__MAC_10_11_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.10,deprecated=10.11.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_10_DEP__MAC_10_11_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.10,deprecated=10.11.4))) - #endif - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_10_DEP__MAC_10_11_MSG(_msg) __attribute__((availability(macosx,introduced=10.10,deprecated=10.11,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_10_DEP__MAC_10_11_MSG(_msg) __attribute__((availability(macosx,introduced=10.10,deprecated=10.11))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_10_DEP__MAC_10_12 __attribute__((availability(macosx,introduced=10.10,deprecated=10.12))) - #define __AVAILABILITY_INTERNAL__MAC_10_10_DEP__MAC_10_12_1 __attribute__((availability(macosx,introduced=10.10,deprecated=10.12.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_10_DEP__MAC_10_12_1_MSG(_msg) __attribute__((availability(macosx,introduced=10.10,deprecated=10.12.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_10_DEP__MAC_10_12_1_MSG(_msg) __attribute__((availability(macosx,introduced=10.10,deprecated=10.12.1))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_10_DEP__MAC_10_12_2 __attribute__((availability(macosx,introduced=10.10,deprecated=10.12.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_10_DEP__MAC_10_12_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.10,deprecated=10.12.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_10_DEP__MAC_10_12_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.10,deprecated=10.12.2))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_10_DEP__MAC_10_12_4 __attribute__((availability(macosx,introduced=10.10,deprecated=10.12.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_10_DEP__MAC_10_12_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.10,deprecated=10.12.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_10_DEP__MAC_10_12_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.10,deprecated=10.12.4))) - #endif - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_10_DEP__MAC_10_12_MSG(_msg) __attribute__((availability(macosx,introduced=10.10,deprecated=10.12,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_10_DEP__MAC_10_12_MSG(_msg) __attribute__((availability(macosx,introduced=10.10,deprecated=10.12))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_10_DEP__MAC_10_13 __attribute__((availability(macosx,introduced=10.10,deprecated=10.13))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_10_DEP__MAC_10_13_MSG(_msg) __attribute__((availability(macosx,introduced=10.10,deprecated=10.13,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_10_DEP__MAC_10_13_MSG(_msg) __attribute__((availability(macosx,introduced=10.10,deprecated=10.13))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_10_DEP__MAC_10_13_4 __attribute__((availability(macosx,introduced=10.10,deprecated=10.13.4))) - #define __AVAILABILITY_INTERNAL__MAC_10_10_DEP__MAC_NA __attribute__((availability(macosx,introduced=10.10))) - #define __AVAILABILITY_INTERNAL__MAC_10_10_DEP__MAC_NA_MSG(_msg) __attribute__((availability(macosx,introduced=10.10))) - #define __AVAILABILITY_INTERNAL__MAC_10_11 __attribute__((availability(macosx,introduced=10.11))) - #define __AVAILABILITY_INTERNAL__MAC_10_11_2 __attribute__((availability(macosx,introduced=10.11.2))) - #define __AVAILABILITY_INTERNAL__MAC_10_11_2_DEP__MAC_10_11_2 __attribute__((availability(macosx,introduced=10.11.2,deprecated=10.11.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_11_2_DEP__MAC_10_11_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.11.2,deprecated=10.11.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_11_2_DEP__MAC_10_11_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.11.2,deprecated=10.11.2))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_11_2_DEP__MAC_10_11_3 __attribute__((availability(macosx,introduced=10.11.2,deprecated=10.11.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_11_2_DEP__MAC_10_11_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.11.2,deprecated=10.11.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_11_2_DEP__MAC_10_11_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.11.2,deprecated=10.11.3))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_11_2_DEP__MAC_10_11_4 __attribute__((availability(macosx,introduced=10.11.2,deprecated=10.11.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_11_2_DEP__MAC_10_11_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.11.2,deprecated=10.11.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_11_2_DEP__MAC_10_11_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.11.2,deprecated=10.11.4))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_11_2_DEP__MAC_10_12 __attribute__((availability(macosx,introduced=10.11.2,deprecated=10.12))) - #define __AVAILABILITY_INTERNAL__MAC_10_11_2_DEP__MAC_10_12_1 __attribute__((availability(macosx,introduced=10.11.2,deprecated=10.12.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_11_2_DEP__MAC_10_12_1_MSG(_msg) __attribute__((availability(macosx,introduced=10.11.2,deprecated=10.12.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_11_2_DEP__MAC_10_12_1_MSG(_msg) __attribute__((availability(macosx,introduced=10.11.2,deprecated=10.12.1))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_11_2_DEP__MAC_10_12_2 __attribute__((availability(macosx,introduced=10.11.2,deprecated=10.12.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_11_2_DEP__MAC_10_12_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.11.2,deprecated=10.12.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_11_2_DEP__MAC_10_12_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.11.2,deprecated=10.12.2))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_11_2_DEP__MAC_10_12_4 __attribute__((availability(macosx,introduced=10.11.2,deprecated=10.12.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_11_2_DEP__MAC_10_12_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.11.2,deprecated=10.12.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_11_2_DEP__MAC_10_12_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.11.2,deprecated=10.12.4))) - #endif - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_11_2_DEP__MAC_10_12_MSG(_msg) __attribute__((availability(macosx,introduced=10.11.2,deprecated=10.12,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_11_2_DEP__MAC_10_12_MSG(_msg) __attribute__((availability(macosx,introduced=10.11.2,deprecated=10.12))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_11_2_DEP__MAC_NA __attribute__((availability(macosx,introduced=10.11.2))) - #define __AVAILABILITY_INTERNAL__MAC_10_11_2_DEP__MAC_NA_MSG(_msg) __attribute__((availability(macosx,introduced=10.11.2))) - #define __AVAILABILITY_INTERNAL__MAC_10_11_3 __attribute__((availability(macosx,introduced=10.11.3))) - #define __AVAILABILITY_INTERNAL__MAC_10_11_3_DEP__MAC_10_11_3 __attribute__((availability(macosx,introduced=10.11.3,deprecated=10.11.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_11_3_DEP__MAC_10_11_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.11.3,deprecated=10.11.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_11_3_DEP__MAC_10_11_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.11.3,deprecated=10.11.3))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_11_3_DEP__MAC_10_11_4 __attribute__((availability(macosx,introduced=10.11.3,deprecated=10.11.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_11_3_DEP__MAC_10_11_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.11.3,deprecated=10.11.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_11_3_DEP__MAC_10_11_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.11.3,deprecated=10.11.4))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_11_3_DEP__MAC_10_12 __attribute__((availability(macosx,introduced=10.11.3,deprecated=10.12))) - #define __AVAILABILITY_INTERNAL__MAC_10_11_3_DEP__MAC_10_12_1 __attribute__((availability(macosx,introduced=10.11.3,deprecated=10.12.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_11_3_DEP__MAC_10_12_1_MSG(_msg) __attribute__((availability(macosx,introduced=10.11.3,deprecated=10.12.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_11_3_DEP__MAC_10_12_1_MSG(_msg) __attribute__((availability(macosx,introduced=10.11.3,deprecated=10.12.1))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_11_3_DEP__MAC_10_12_2 __attribute__((availability(macosx,introduced=10.11.3,deprecated=10.12.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_11_3_DEP__MAC_10_12_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.11.3,deprecated=10.12.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_11_3_DEP__MAC_10_12_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.11.3,deprecated=10.12.2))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_11_3_DEP__MAC_10_12_4 __attribute__((availability(macosx,introduced=10.11.3,deprecated=10.12.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_11_3_DEP__MAC_10_12_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.11.3,deprecated=10.12.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_11_3_DEP__MAC_10_12_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.11.3,deprecated=10.12.4))) - #endif - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_11_3_DEP__MAC_10_12_MSG(_msg) __attribute__((availability(macosx,introduced=10.11.3,deprecated=10.12,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_11_3_DEP__MAC_10_12_MSG(_msg) __attribute__((availability(macosx,introduced=10.11.3,deprecated=10.12))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_11_3_DEP__MAC_NA __attribute__((availability(macosx,introduced=10.11.3))) - #define __AVAILABILITY_INTERNAL__MAC_10_11_3_DEP__MAC_NA_MSG(_msg) __attribute__((availability(macosx,introduced=10.11.3))) - #define __AVAILABILITY_INTERNAL__MAC_10_11_4 __attribute__((availability(macosx,introduced=10.11.4))) - #define __AVAILABILITY_INTERNAL__MAC_10_11_4_DEP__MAC_10_11_4 __attribute__((availability(macosx,introduced=10.11.4,deprecated=10.11.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_11_4_DEP__MAC_10_11_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.11.4,deprecated=10.11.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_11_4_DEP__MAC_10_11_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.11.4,deprecated=10.11.4))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_11_4_DEP__MAC_10_12 __attribute__((availability(macosx,introduced=10.11.4,deprecated=10.12))) - #define __AVAILABILITY_INTERNAL__MAC_10_11_4_DEP__MAC_10_12_1 __attribute__((availability(macosx,introduced=10.11.4,deprecated=10.12.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_11_4_DEP__MAC_10_12_1_MSG(_msg) __attribute__((availability(macosx,introduced=10.11.4,deprecated=10.12.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_11_4_DEP__MAC_10_12_1_MSG(_msg) __attribute__((availability(macosx,introduced=10.11.4,deprecated=10.12.1))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_11_4_DEP__MAC_10_12_2 __attribute__((availability(macosx,introduced=10.11.4,deprecated=10.12.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_11_4_DEP__MAC_10_12_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.11.4,deprecated=10.12.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_11_4_DEP__MAC_10_12_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.11.4,deprecated=10.12.2))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_11_4_DEP__MAC_10_12_4 __attribute__((availability(macosx,introduced=10.11.4,deprecated=10.12.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_11_4_DEP__MAC_10_12_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.11.4,deprecated=10.12.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_11_4_DEP__MAC_10_12_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.11.4,deprecated=10.12.4))) - #endif - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_11_4_DEP__MAC_10_12_MSG(_msg) __attribute__((availability(macosx,introduced=10.11.4,deprecated=10.12,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_11_4_DEP__MAC_10_12_MSG(_msg) __attribute__((availability(macosx,introduced=10.11.4,deprecated=10.12))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_11_4_DEP__MAC_NA __attribute__((availability(macosx,introduced=10.11.4))) - #define __AVAILABILITY_INTERNAL__MAC_10_11_4_DEP__MAC_NA_MSG(_msg) __attribute__((availability(macosx,introduced=10.11.4))) - #define __AVAILABILITY_INTERNAL__MAC_10_11_DEP__MAC_10_1 __attribute__((availability(macosx,introduced=10.11,deprecated=10.1))) - #define __AVAILABILITY_INTERNAL__MAC_10_11_DEP__MAC_10_11 __attribute__((availability(macosx,introduced=10.11,deprecated=10.11))) - #define __AVAILABILITY_INTERNAL__MAC_10_11_DEP__MAC_10_11_2 __attribute__((availability(macosx,introduced=10.11,deprecated=10.11.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_11_DEP__MAC_10_11_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.11,deprecated=10.11.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_11_DEP__MAC_10_11_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.11,deprecated=10.11.2))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_11_DEP__MAC_10_11_3 __attribute__((availability(macosx,introduced=10.11,deprecated=10.11.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_11_DEP__MAC_10_11_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.11,deprecated=10.11.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_11_DEP__MAC_10_11_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.11,deprecated=10.11.3))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_11_DEP__MAC_10_11_4 __attribute__((availability(macosx,introduced=10.11,deprecated=10.11.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_11_DEP__MAC_10_11_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.11,deprecated=10.11.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_11_DEP__MAC_10_11_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.11,deprecated=10.11.4))) - #endif - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_11_DEP__MAC_10_11_MSG(_msg) __attribute__((availability(macosx,introduced=10.11,deprecated=10.11,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_11_DEP__MAC_10_11_MSG(_msg) __attribute__((availability(macosx,introduced=10.11,deprecated=10.11))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_11_DEP__MAC_10_12 __attribute__((availability(macosx,introduced=10.11,deprecated=10.12))) - #define __AVAILABILITY_INTERNAL__MAC_10_11_DEP__MAC_10_12_1 __attribute__((availability(macosx,introduced=10.11,deprecated=10.12.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_11_DEP__MAC_10_12_1_MSG(_msg) __attribute__((availability(macosx,introduced=10.11,deprecated=10.12.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_11_DEP__MAC_10_12_1_MSG(_msg) __attribute__((availability(macosx,introduced=10.11,deprecated=10.12.1))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_11_DEP__MAC_10_12_2 __attribute__((availability(macosx,introduced=10.11,deprecated=10.12.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_11_DEP__MAC_10_12_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.11,deprecated=10.12.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_11_DEP__MAC_10_12_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.11,deprecated=10.12.2))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_11_DEP__MAC_10_12_4 __attribute__((availability(macosx,introduced=10.11,deprecated=10.12.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_11_DEP__MAC_10_12_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.11,deprecated=10.12.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_11_DEP__MAC_10_12_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.11,deprecated=10.12.4))) - #endif - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_11_DEP__MAC_10_12_MSG(_msg) __attribute__((availability(macosx,introduced=10.11,deprecated=10.12,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_11_DEP__MAC_10_12_MSG(_msg) __attribute__((availability(macosx,introduced=10.11,deprecated=10.12))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_11_DEP__MAC_NA __attribute__((availability(macosx,introduced=10.11))) - #define __AVAILABILITY_INTERNAL__MAC_10_11_DEP__MAC_NA_MSG(_msg) __attribute__((availability(macosx,introduced=10.11))) - #define __AVAILABILITY_INTERNAL__MAC_10_12 __attribute__((availability(macosx,introduced=10.12))) - #define __AVAILABILITY_INTERNAL__MAC_10_12_1 __attribute__((availability(macosx,introduced=10.12.1))) - #define __AVAILABILITY_INTERNAL__MAC_10_12_1_DEP__MAC_10_12_1 __attribute__((availability(macosx,introduced=10.12.1,deprecated=10.12.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_12_1_DEP__MAC_10_12_1_MSG(_msg) __attribute__((availability(macosx,introduced=10.12.1,deprecated=10.12.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_12_1_DEP__MAC_10_12_1_MSG(_msg) __attribute__((availability(macosx,introduced=10.12.1,deprecated=10.12.1))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_12_1_DEP__MAC_10_12_2 __attribute__((availability(macosx,introduced=10.12.1,deprecated=10.12.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_12_1_DEP__MAC_10_12_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.12.1,deprecated=10.12.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_12_1_DEP__MAC_10_12_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.12.1,deprecated=10.12.2))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_12_1_DEP__MAC_10_12_4 __attribute__((availability(macosx,introduced=10.12.1,deprecated=10.12.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_12_1_DEP__MAC_10_12_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.12.1,deprecated=10.12.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_12_1_DEP__MAC_10_12_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.12.1,deprecated=10.12.4))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_12_1_DEP__MAC_NA __attribute__((availability(macosx,introduced=10.12.1))) - #define __AVAILABILITY_INTERNAL__MAC_10_12_1_DEP__MAC_NA_MSG(_msg) __attribute__((availability(macosx,introduced=10.12.1))) - #define __AVAILABILITY_INTERNAL__MAC_10_12_2 __attribute__((availability(macosx,introduced=10.12.2))) - #define __AVAILABILITY_INTERNAL__MAC_10_12_2_DEP__MAC_10_12_2 __attribute__((availability(macosx,introduced=10.12.2,deprecated=10.12.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_12_2_DEP__MAC_10_12_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.12.2,deprecated=10.12.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_12_2_DEP__MAC_10_12_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.12.2,deprecated=10.12.2))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_12_2_DEP__MAC_10_12_4 __attribute__((availability(macosx,introduced=10.12.2,deprecated=10.12.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_12_2_DEP__MAC_10_12_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.12.2,deprecated=10.12.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_12_2_DEP__MAC_10_12_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.12.2,deprecated=10.12.4))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_12_2_DEP__MAC_NA __attribute__((availability(macosx,introduced=10.12.2))) - #define __AVAILABILITY_INTERNAL__MAC_10_12_2_DEP__MAC_NA_MSG(_msg) __attribute__((availability(macosx,introduced=10.12.2))) - #define __AVAILABILITY_INTERNAL__MAC_10_12_4 __attribute__((availability(macosx,introduced=10.12.4))) - #define __AVAILABILITY_INTERNAL__MAC_10_12_4_DEP__MAC_10_12_4 __attribute__((availability(macosx,introduced=10.12.4,deprecated=10.12.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_12_4_DEP__MAC_10_12_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.12.4,deprecated=10.12.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_12_4_DEP__MAC_10_12_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.12.4,deprecated=10.12.4))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_12_4_DEP__MAC_NA __attribute__((availability(macosx,introduced=10.12.4))) - #define __AVAILABILITY_INTERNAL__MAC_10_12_4_DEP__MAC_NA_MSG(_msg) __attribute__((availability(macosx,introduced=10.12.4))) - #define __AVAILABILITY_INTERNAL__MAC_10_12_DEP__MAC_10_12 __attribute__((availability(macosx,introduced=10.12,deprecated=10.12))) - #define __AVAILABILITY_INTERNAL__MAC_10_12_DEP__MAC_10_12_1 __attribute__((availability(macosx,introduced=10.12,deprecated=10.12.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_12_DEP__MAC_10_12_1_MSG(_msg) __attribute__((availability(macosx,introduced=10.12,deprecated=10.12.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_12_DEP__MAC_10_12_1_MSG(_msg) __attribute__((availability(macosx,introduced=10.12,deprecated=10.12.1))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_12_DEP__MAC_10_12_2 __attribute__((availability(macosx,introduced=10.12,deprecated=10.12.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_12_DEP__MAC_10_12_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.12,deprecated=10.12.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_12_DEP__MAC_10_12_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.12,deprecated=10.12.2))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_12_DEP__MAC_10_12_4 __attribute__((availability(macosx,introduced=10.12,deprecated=10.12.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_12_DEP__MAC_10_12_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.12,deprecated=10.12.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_12_DEP__MAC_10_12_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.12,deprecated=10.12.4))) - #endif - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_12_DEP__MAC_10_12_MSG(_msg) __attribute__((availability(macosx,introduced=10.12,deprecated=10.12,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_12_DEP__MAC_10_12_MSG(_msg) __attribute__((availability(macosx,introduced=10.12,deprecated=10.12))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_12_DEP__MAC_10_13 __attribute__((availability(macosx,introduced=10.12,deprecated=10.13))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_12_DEP__MAC_10_13_MSG(_msg) __attribute__((availability(macosx,introduced=10.12,deprecated=10.13,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_12_DEP__MAC_10_13_MSG(_msg) __attribute__((availability(macosx,introduced=10.12,deprecated=10.13))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_12_DEP__MAC_10_13_4 __attribute__((availability(macosx,introduced=10.12,deprecated=10.13.4))) - #define __AVAILABILITY_INTERNAL__MAC_10_12_DEP__MAC_10_14 __attribute__((availability(macosx,introduced=10.12,deprecated=10.14))) - #define __AVAILABILITY_INTERNAL__MAC_10_12_DEP__MAC_NA __attribute__((availability(macosx,introduced=10.12))) - #define __AVAILABILITY_INTERNAL__MAC_10_12_DEP__MAC_NA_MSG(_msg) __attribute__((availability(macosx,introduced=10.12))) - #define __AVAILABILITY_INTERNAL__MAC_10_13 __attribute__((availability(macosx,introduced=10.13))) - #define __AVAILABILITY_INTERNAL__MAC_10_13_4 __attribute__((availability(macosx,introduced=10.13.4))) - #define __AVAILABILITY_INTERNAL__MAC_10_14 __attribute__((availability(macosx,introduced=10.14))) - #define __AVAILABILITY_INTERNAL__MAC_10_14_DEP__MAC_10_14 __attribute__((availability(macosx,introduced=10.14,deprecated=10.14))) - #define __AVAILABILITY_INTERNAL__MAC_10_15 __attribute__((availability(macosx,introduced=10.15))) - - #define __AVAILABILITY_INTERNAL__MAC_NA __attribute__((availability(macosx,unavailable))) - #define __AVAILABILITY_INTERNAL__MAC_NA_DEP__MAC_NA __attribute__((availability(macosx,unavailable))) - #define __AVAILABILITY_INTERNAL__MAC_NA_DEP__MAC_NA_MSG(_msg) __attribute__((availability(macosx,unavailable))) - - #define __AVAILABILITY_INTERNAL__IPHONE_NA __attribute__((availability(ios,unavailable))) - #define __AVAILABILITY_INTERNAL__IPHONE_NA__IPHONE_NA __attribute__((availability(ios,unavailable))) - #define __AVAILABILITY_INTERNAL__IPHONE_NA_DEP__IPHONE_NA __attribute__((availability(ios,unavailable))) - #define __AVAILABILITY_INTERNAL__IPHONE_NA_DEP__IPHONE_NA_MSG(_msg) __attribute__((availability(ios,unavailable))) - - #ifndef __AVAILABILITY_INTERNAL__IPHONE_COMPAT_VERSION - #define __AVAILABILITY_INTERNAL__IPHONE_COMPAT_VERSION __attribute__((availability(ios,unavailable))) - #define __AVAILABILITY_INTERNAL__IPHONE_COMPAT_VERSION_DEP__IPHONE_COMPAT_VERSION __attribute__((availability(ios,unavailable))) - #define __AVAILABILITY_INTERNAL__IPHONE_COMPAT_VERSION_DEP__IPHONE_COMPAT_VERSION_MSG(_msg) __attribute__((availability(ios,unavailable))) - #endif /* __AVAILABILITY_INTERNAL__IPHONE_COMPAT_VERSION */ - #endif - #endif -#endif /* __ENABLE_LEGACY_MAC_AVAILABILITY */ - -/* - Macros for defining which versions/platform a given symbol can be used. - - @see http://clang.llvm.org/docs/AttributeReference.html#availability - */ - -#if defined(__has_feature) && defined(__has_attribute) - #if __has_attribute(availability) - - - #define __API_AVAILABLE_PLATFORM_macos(x) macos,introduced=x - #define __API_AVAILABLE_PLATFORM_macosx(x) macosx,introduced=x - #define __API_AVAILABLE_PLATFORM_ios(x) ios,introduced=x - #define __API_AVAILABLE_PLATFORM_watchos(x) watchos,introduced=x - #define __API_AVAILABLE_PLATFORM_tvos(x) tvos,introduced=x - - #define __API_AVAILABLE_PLATFORM_macCatalyst(x) macCatalyst,introduced=x - #define __API_AVAILABLE_PLATFORM_macCatalyst(x) macCatalyst,introduced=x - #ifndef __API_AVAILABLE_PLATFORM_uikitformac - #define __API_AVAILABLE_PLATFORM_uikitformac(x) uikitformac,introduced=x - #endif - #define __API_AVAILABLE_PLATFORM_driverkit(x) driverkit,introduced=x - - #if defined(__has_attribute) - #if __has_attribute(availability) - #define __API_A(x) __attribute__((availability(__API_AVAILABLE_PLATFORM_##x))) - #else - #define __API_A(x) - #endif - #else - #define __API_A(x) - #endif - - #define __API_AVAILABLE1(x) __API_A(x) - #define __API_AVAILABLE2(x,y) __API_A(x) __API_A(y) - #define __API_AVAILABLE3(x,y,z) __API_A(x) __API_A(y) __API_A(z) - #define __API_AVAILABLE4(x,y,z,t) __API_A(x) __API_A(y) __API_A(z) __API_A(t) - #define __API_AVAILABLE5(x,y,z,t,b) __API_A(x) __API_A(y) __API_A(z) __API_A(t) __API_A(b) - #define __API_AVAILABLE6(x,y,z,t,b,m) __API_A(x) __API_A(y) __API_A(z) __API_A(t) __API_A(b) __API_A(m) - #define __API_AVAILABLE7(x,y,z,t,b,m,d) __API_A(x) __API_A(y) __API_A(z) __API_A(t) __API_A(b) __API_A(m) __API_A(d) - #define __API_AVAILABLE_GET_MACRO(_1,_2,_3,_4,_5,_6,_7,NAME,...) NAME - - #define __API_APPLY_TO any(record, enum, enum_constant, function, objc_method, objc_category, objc_protocol, objc_interface, objc_property, type_alias, variable, field) - #define __API_RANGE_STRINGIFY(x) __API_RANGE_STRINGIFY2(x) - #define __API_RANGE_STRINGIFY2(x) #x - - #define __API_A_BEGIN(x) _Pragma(__API_RANGE_STRINGIFY (clang attribute (__attribute__((availability(__API_AVAILABLE_PLATFORM_##x))), apply_to = __API_APPLY_TO))) - - #define __API_AVAILABLE_BEGIN1(a) __API_A_BEGIN(a) - #define __API_AVAILABLE_BEGIN2(a,b) __API_A_BEGIN(a) __API_A_BEGIN(b) - #define __API_AVAILABLE_BEGIN3(a,b,c) __API_A_BEGIN(a) __API_A_BEGIN(b) __API_A_BEGIN(c) - #define __API_AVAILABLE_BEGIN4(a,b,c,d) __API_A_BEGIN(a) __API_A_BEGIN(b) __API_A_BEGIN(c) __API_A_BEGIN(d) - #define __API_AVAILABLE_BEGIN5(a,b,c,d,e) __API_A_BEGIN(a) __API_A_BEGIN(b) __API_A_BEGIN(c) __API_A_BEGIN(d) __API_A_BEGIN(e) - #define __API_AVAILABLE_BEGIN6(a,b,c,d,e,f) __API_A_BEGIN(a) __API_A_BEGIN(b) __API_A_BEGIN(c) __API_A_BEGIN(d) __API_A_BEGIN(e) __API_A_BEGIN(f) - #define __API_AVAILABLE_BEGIN7(a,b,c,d,e,f,g) __API_A_BEGIN(a) __API_A_BEGIN(b) __API_A_BEGIN(c) __API_A_BEGIN(d) __API_A_BEGIN(e) __API_A_BEGIN(f) __API_A_BEGIN(g) - #define __API_AVAILABLE_BEGIN_GET_MACRO(_1,_2,_3,_4,_5,_6,_7,NAME,...) NAME - - - #define __API_DEPRECATED_PLATFORM_macos(x,y) macos,introduced=x,deprecated=y - #define __API_DEPRECATED_PLATFORM_macosx(x,y) macosx,introduced=x,deprecated=y - #define __API_DEPRECATED_PLATFORM_ios(x,y) ios,introduced=x,deprecated=y - #define __API_DEPRECATED_PLATFORM_watchos(x,y) watchos,introduced=x,deprecated=y - #define __API_DEPRECATED_PLATFORM_tvos(x,y) tvos,introduced=x,deprecated=y - - #define __API_DEPRECATED_PLATFORM_macCatalyst(x,y) macCatalyst,introduced=x,deprecated=y - #define __API_DEPRECATED_PLATFORM_macCatalyst(x,y) macCatalyst,introduced=x,deprecated=y - #ifndef __API_DEPRECATED_PLATFORM_uikitformac - #define __API_DEPRECATED_PLATFORM_uikitformac(x) uikitformac,introduced=x,deprecated=y - #endif - #define __API_DEPRECATED_PLATFORM_driverkit(x,y) driverkit,introduced=x,deprecated=y - - #if defined(__has_attribute) - #if __has_attribute(availability) - #define __API_D(msg,x) __attribute__((availability(__API_DEPRECATED_PLATFORM_##x,message=msg))) - #else - #define __API_D(msg,x) - #endif - #else - #define __API_D(msg,x) - #endif - - #define __API_DEPRECATED_MSG2(msg,x) __API_D(msg,x) - #define __API_DEPRECATED_MSG3(msg,x,y) __API_D(msg,x) __API_D(msg,y) - #define __API_DEPRECATED_MSG4(msg,x,y,z) __API_DEPRECATED_MSG3(msg,x,y) __API_D(msg,z) - #define __API_DEPRECATED_MSG5(msg,x,y,z,t) __API_DEPRECATED_MSG4(msg,x,y,z) __API_D(msg,t) - #define __API_DEPRECATED_MSG6(msg,x,y,z,t,b) __API_DEPRECATED_MSG5(msg,x,y,z,t) __API_D(msg,b) - #define __API_DEPRECATED_MSG7(msg,x,y,z,t,b,m) __API_DEPRECATED_MSG6(msg,x,y,z,t,b) __API_D(msg,m) - #define __API_DEPRECATED_MSG8(msg,x,y,z,t,b,m,d) __API_DEPRECATED_MSG7(msg,x,y,z,t,b,m) __API_D(msg,d) - #define __API_DEPRECATED_MSG_GET_MACRO(_1,_2,_3,_4,_5,_6,_7,_8,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))) - - #define __API_DEPRECATED_BEGIN_MSG2(msg,a) __API_D_BEGIN(msg,a) - #define __API_DEPRECATED_BEGIN_MSG3(msg,a,b) __API_D_BEGIN(msg,a) __API_D_BEGIN(msg,b) - #define __API_DEPRECATED_BEGIN_MSG4(msg,a,b,c) __API_D_BEGIN(msg,a) __API_D_BEGIN(msg,b) __API_D_BEGIN(msg,c) - #define __API_DEPRECATED_BEGIN_MSG5(msg,a,b,c,d) __API_D_BEGIN(msg,a) __API_D_BEGIN(msg,b) __API_D_BEGIN(msg,c) __API_D_BEGIN(msg,d) - #define __API_DEPRECATED_BEGIN_MSG6(msg,a,b,c,d,e) __API_D_BEGIN(msg,a) __API_D_BEGIN(msg,b) __API_D_BEGIN(msg,c) __API_D_BEGIN(msg,d) __API_D_BEGIN(msg,e) - #define __API_DEPRECATED_BEGIN_MSG7(msg,a,b,c,d,e,f) __API_D_BEGIN(msg,a) __API_D_BEGIN(msg,b) __API_D_BEGIN(msg,c) __API_D_BEGIN(msg,d) __API_D_BEGIN(msg,e) __API_D_BEGIN(msg,f) - #define __API_DEPRECATED_BEGIN_MSG8(msg,a,b,c,d,e,f,g) __API_D_BEGIN(msg,a) __API_D_BEGIN(msg,b) __API_D_BEGIN(msg,c) __API_D_BEGIN(msg,d) __API_D_BEGIN(msg,e) __API_D_BEGIN(msg,f) __API_D_BEGIN(msg,g) - #define __API_DEPRECATED_BEGIN_MSG_GET_MACRO(_1,_2,_3,_4,_5,_6,_7,_8,NAME,...) NAME - - #if __has_feature(attribute_availability_with_replacement) - #define __API_R(rep,x) __attribute__((availability(__API_DEPRECATED_PLATFORM_##x,replacement=rep))) - #else - #define __API_R(rep,x) __attribute__((availability(__API_DEPRECATED_PLATFORM_##x))) - #endif - - #define __API_DEPRECATED_REP2(rep,x) __API_R(rep,x) - #define __API_DEPRECATED_REP3(rep,x,y) __API_R(rep,x) __API_R(rep,y) - #define __API_DEPRECATED_REP4(rep,x,y,z) __API_DEPRECATED_REP3(rep,x,y) __API_R(rep,z) - #define __API_DEPRECATED_REP5(rep,x,y,z,t) __API_DEPRECATED_REP4(rep,x,y,z) __API_R(rep,t) - #define __API_DEPRECATED_REP6(rep,x,y,z,t,b) __API_DEPRECATED_REP5(rep,x,y,z,t) __API_R(rep,b) - #define __API_DEPRECATED_REP7(rep,x,y,z,t,b,m) __API_DEPRECATED_REP6(rep,x,y,z,t,b) __API_R(rep,m) - #define __API_DEPRECATED_REP8(rep,x,y,z,t,b,m,d) __API_DEPRECATED_REP7(rep,x,y,z,t,b,m) __API_R(rep,d) - #define __API_DEPRECATED_REP_GET_MACRO(_1,_2,_3,_4,_5,_6,_7,_8,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))) - #else - #define __API_R_BEGIN(rep,x) _Pragma(__API_RANGE_STRINGIFY (clang attribute (__attribute__((availability(__API_DEPRECATED_PLATFORM_##x))), apply_to = __API_APPLY_TO))) - #endif - - #define __API_DEPRECATED_BEGIN_REP2(rep,a) __API_R_BEGIN(rep,a) - #define __API_DEPRECATED_BEGIN_REP3(rep,a,b) __API_R_BEGIN(rep,a) __API_R_BEGIN(rep,b) - #define __API_DEPRECATED_BEGIN_REP4(rep,a,b,c) __API_R_BEGIN(rep,a) __API_R_BEGIN(rep,b) __API_R_BEGIN(rep,c) - #define __API_DEPRECATED_BEGIN_REP5(rep,a,b,c,d) __API_R_BEGIN(rep,a) __API_R_BEGIN(rep,b) __API_R_BEGIN(rep,c) __API_R_BEGIN(rep,d) - #define __API_DEPRECATED_BEGIN_REP6(rep,a,b,c,d,e) __API_R_BEGIN(rep,a) __API_R_BEGIN(rep,b) __API_R_BEGIN(rep,c) __API_R_BEGIN(rep,d) __API_R_BEGIN(rep,e) - #define __API_DEPRECATED_BEGIN_REP7(rep,a,b,c,d,e,f) __API_R_BEGIN(rep,a) __API_R_BEGIN(rep,b) __API_R_BEGIN(rep,c) __API_R_BEGIN(rep,d) __API_R_BEGIN(rep,e) __API_R_BEGIN(rep,f) - #define __API_DEPRECATED_BEGIN_REP8(rep,a,b,c,d,e,f,g) __API_R_BEGIN(rep,a) __API_R_BEGIN(rep,b) __API_R_BEGIN(rep,c) __API_R_BEGIN(rep,d) __API_R_BEGIN(rep,e) __API_R_BEGIN(rep,f) __API_R_BEGIN(rep,g) - #define __API_DEPRECATED_BEGIN_REP_GET_MACRO(_1,_2,_3,_4,_5,_6,_7,_8,NAME,...) NAME - - /* - * API Unavailability - * Use to specify that an API is unavailable for a particular platform. - * - * Example: - * __API_UNAVAILABLE(macos) - * __API_UNAVAILABLE(watchos, tvos) - */ - #define __API_UNAVAILABLE_PLATFORM_macos macos,unavailable - #define __API_UNAVAILABLE_PLATFORM_macosx macosx,unavailable - #define __API_UNAVAILABLE_PLATFORM_ios ios,unavailable - #define __API_UNAVAILABLE_PLATFORM_watchos watchos,unavailable - #define __API_UNAVAILABLE_PLATFORM_tvos tvos,unavailable - - #define __API_UNAVAILABLE_PLATFORM_macCatalyst macCatalyst,unavailable - #define __API_UNAVAILABLE_PLATFORM_macCatalyst macCatalyst,unavailable - #ifndef __API_UNAVAILABLE_PLATFORM_uikitformac - #define __API_UNAVAILABLE_PLATFORM_uikitformac(x) uikitformac,unavailable - #endif - #define __API_UNAVAILABLE_PLATFORM_driverkit driverkit,unavailable - - #if defined(__has_attribute) - #if __has_attribute(availability) - #define __API_U(x) __attribute__((availability(__API_UNAVAILABLE_PLATFORM_##x))) - #else - #define __API_U(x) - #endif - #else - #define __API_U(x) - #endif - - #define __API_UNAVAILABLE1(x) __API_U(x) - #define __API_UNAVAILABLE2(x,y) __API_U(x) __API_U(y) - #define __API_UNAVAILABLE3(x,y,z) __API_UNAVAILABLE2(x,y) __API_U(z) - #define __API_UNAVAILABLE4(x,y,z,t) __API_UNAVAILABLE3(x,y,z) __API_U(t) - #define __API_UNAVAILABLE5(x,y,z,t,b) __API_UNAVAILABLE4(x,y,z,t) __API_U(b) - #define __API_UNAVAILABLE6(x,y,z,t,b,m) __API_UNAVAILABLE5(x,y,z,t,b) __API_U(m) - #define __API_UNAVAILABLE7(x,y,z,t,b,m,d) __API_UNAVAILABLE6(x,y,z,t,b,m) __API_U(d) - #define __API_UNAVAILABLE_GET_MACRO(_1,_2,_3,_4,_5,_6,_7,NAME,...) NAME - - #define __API_U_BEGIN(x) _Pragma(__API_RANGE_STRINGIFY (clang attribute (__attribute__((availability(__API_UNAVAILABLE_PLATFORM_##x))), apply_to = __API_APPLY_TO))) - - #define __API_UNAVAILABLE_BEGIN1(a) __API_U_BEGIN(a) - #define __API_UNAVAILABLE_BEGIN2(a,b) __API_U_BEGIN(a) __API_U_BEGIN(b) - #define __API_UNAVAILABLE_BEGIN3(a,b,c) __API_U_BEGIN(a) __API_U_BEGIN(b) __API_U_BEGIN(c) - #define __API_UNAVAILABLE_BEGIN4(a,b,c,d) __API_U_BEGIN(a) __API_U_BEGIN(b) __API_U_BEGIN(c) __API_U_BEGIN(d) - #define __API_UNAVAILABLE_BEGIN5(a,b,c,d,e) __API_U_BEGIN(a) __API_U_BEGIN(b) __API_U_BEGIN(c) __API_U_BEGIN(d) __API_U_BEGIN(e) - #define __API_UNAVAILABLE_BEGIN6(a,b,c,d,e,f) __API_U_BEGIN(a) __API_U_BEGIN(b) __API_U_BEGIN(c) __API_U_BEGIN(d) __API_U_BEGIN(e) __API_U_BEGIN(f) - #define __API_UNAVAILABLE_BEGIN7(a,b,c,d,e,f) __API_U_BEGIN(a) __API_U_BEGIN(b) __API_U_BEGIN(c) __API_U_BEGIN(d) __API_U_BEGIN(e) __API_U_BEGIN(f) __API_U_BEGIN(g) - #define __API_UNAVAILABLE_BEGIN_GET_MACRO(_1,_2,_3,_4,_5,_6,_7,NAME,...) NAME - #else - - /* - * Evaluate to nothing for compilers that don't support availability. - */ - - #define __API_AVAILABLE_GET_MACRO(...) - #define __API_AVAILABLE_BEGIN_GET_MACRO(...) - #define __API_DEPRECATED_MSG_GET_MACRO(...) - #define __API_DEPRECATED_REP_GET_MACRO(...) - #define __API_DEPRECATED_BEGIN_MSG_GET_MACRO(...) - #define __API_DEPRECATED_BEGIN_REP_GET_MACRO - #define __API_UNAVAILABLE_GET_MACRO(...) - #define __API_UNAVAILABLE_BEGIN_GET_MACRO(...) - #endif /* __has_attribute(availability) */ -#else - - /* - * Evaluate to nothing for compilers that don't support clang language extensions. - */ - - #define __API_AVAILABLE_GET_MACRO(...) - #define __API_AVAILABLE_BEGIN_GET_MACRO(...) - #define __API_DEPRECATED_MSG_GET_MACRO(...) - #define __API_DEPRECATED_REP_GET_MACRO(...) - #define __API_DEPRECATED_BEGIN_MSG_GET_MACRO(...) - #define __API_DEPRECATED_BEGIN_REP_GET_MACRO - #define __API_UNAVAILABLE_GET_MACRO(...) - #define __API_UNAVAILABLE_BEGIN_GET_MACRO(...) -#endif /* #if defined(__has_feature) && defined(__has_attribute) */ - -/* - * Swift compiler version - * Allows for project-agnostic "epochs" for frameworks imported into Swift via the Clang importer, like #if _compiler_version for Swift - * Example: - * - * #if __swift_compiler_version_at_least(800, 2, 20) - * - (nonnull NSString *)description; - * #else - * - (NSString *)description; - * #endif - */ - -#ifdef __SWIFT_COMPILER_VERSION - #define __swift_compiler_version_at_least_impl(X, Y, Z, a, b, ...) \ - __SWIFT_COMPILER_VERSION >= ((X * UINT64_C(1000) * 1000 * 1000) + (Z * 1000 * 1000) + (a * 1000) + b) - #define __swift_compiler_version_at_least(...) __swift_compiler_version_at_least_impl(__VA_ARGS__, 0, 0, 0, 0) -#else - #define __swift_compiler_version_at_least(...) 1 -#endif - -/* - * If __SPI_AVAILABLE has not been defined elsewhere, disable it. - */ - -#ifndef __SPI_AVAILABLE - #define __SPI_AVAILABLE(...) -#endif - -#endif /* __AVAILABILITY_INTERNAL__ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.11-any/AvailabilityVersions.h b/lib/libc/include/any-macos.11-any/AvailabilityVersions.h deleted file mode 100644 index 591e541d7f..0000000000 --- a/lib/libc/include/any-macos.11-any/AvailabilityVersions.h +++ /dev/null @@ -1,216 +0,0 @@ -/* - * Copyright (c) 2019 by 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 __AVAILABILITY_VERSIONS__ -#define __AVAILABILITY_VERSIONS__ - -#define __MAC_10_0 1000 -#define __MAC_10_1 1010 -#define __MAC_10_2 1020 -#define __MAC_10_3 1030 -#define __MAC_10_4 1040 -#define __MAC_10_5 1050 -#define __MAC_10_6 1060 -#define __MAC_10_7 1070 -#define __MAC_10_8 1080 -#define __MAC_10_9 1090 -#define __MAC_10_10 101000 -#define __MAC_10_10_2 101002 -#define __MAC_10_10_3 101003 -#define __MAC_10_11 101100 -#define __MAC_10_11_2 101102 -#define __MAC_10_11_3 101103 -#define __MAC_10_11_4 101104 -#define __MAC_10_12 101200 -#define __MAC_10_12_1 101201 -#define __MAC_10_12_2 101202 -#define __MAC_10_12_4 101204 -#define __MAC_10_13 101300 -#define __MAC_10_13_1 101301 -#define __MAC_10_13_2 101302 -#define __MAC_10_13_4 101304 -#define __MAC_10_14 101400 -#define __MAC_10_14_1 101401 -#define __MAC_10_14_4 101404 -#define __MAC_10_14_6 101406 -#define __MAC_10_15 101500 -#define __MAC_10_15_1 101501 -#define __MAC_10_15_4 101504 -#define __MAC_10_16 101600 -#define __MAC_11_0 110000 -#define __MAC_11_1 110100 -#define __MAC_11_3 110300 -/* __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 -#define __IPHONE_2_1 20100 -#define __IPHONE_2_2 20200 -#define __IPHONE_3_0 30000 -#define __IPHONE_3_1 30100 -#define __IPHONE_3_2 30200 -#define __IPHONE_4_0 40000 -#define __IPHONE_4_1 40100 -#define __IPHONE_4_2 40200 -#define __IPHONE_4_3 40300 -#define __IPHONE_5_0 50000 -#define __IPHONE_5_1 50100 -#define __IPHONE_6_0 60000 -#define __IPHONE_6_1 60100 -#define __IPHONE_7_0 70000 -#define __IPHONE_7_1 70100 -#define __IPHONE_8_0 80000 -#define __IPHONE_8_1 80100 -#define __IPHONE_8_2 80200 -#define __IPHONE_8_3 80300 -#define __IPHONE_8_4 80400 -#define __IPHONE_9_0 90000 -#define __IPHONE_9_1 90100 -#define __IPHONE_9_2 90200 -#define __IPHONE_9_3 90300 -#define __IPHONE_10_0 100000 -#define __IPHONE_10_1 100100 -#define __IPHONE_10_2 100200 -#define __IPHONE_10_3 100300 -#define __IPHONE_11_0 110000 -#define __IPHONE_11_1 110100 -#define __IPHONE_11_2 110200 -#define __IPHONE_11_3 110300 -#define __IPHONE_11_4 110400 -#define __IPHONE_12_0 120000 -#define __IPHONE_12_1 120100 -#define __IPHONE_12_2 120200 -#define __IPHONE_12_3 120300 -#define __IPHONE_12_4 120400 -#define __IPHONE_13_0 130000 -#define __IPHONE_13_1 130100 -#define __IPHONE_13_2 130200 -#define __IPHONE_13_3 130300 -#define __IPHONE_13_4 130400 -#define __IPHONE_13_5 130500 -#define __IPHONE_13_6 130600 -#define __IPHONE_13_7 130700 -#define __IPHONE_14_0 140000 -#define __IPHONE_14_1 140100 -#define __IPHONE_14_2 140200 -#define __IPHONE_14_3 140300 -#define __IPHONE_14_5 140500 -/* __IPHONE_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 -#define __TVOS_9_1 90100 -#define __TVOS_9_2 90200 -#define __TVOS_10_0 100000 -#define __TVOS_10_0_1 100001 -#define __TVOS_10_1 100100 -#define __TVOS_10_2 100200 -#define __TVOS_11_0 110000 -#define __TVOS_11_1 110100 -#define __TVOS_11_2 110200 -#define __TVOS_11_3 110300 -#define __TVOS_11_4 110400 -#define __TVOS_12_0 120000 -#define __TVOS_12_1 120100 -#define __TVOS_12_2 120200 -#define __TVOS_12_3 120300 -#define __TVOS_12_4 120400 -#define __TVOS_13_0 130000 -#define __TVOS_13_2 130200 -#define __TVOS_13_3 130300 -#define __TVOS_13_4 130400 -#define __TVOS_14_0 140000 -#define __TVOS_14_1 140100 -#define __TVOS_14_2 140200 -#define __TVOS_14_3 140300 -#define __TVOS_14_5 140500 - -#define __WATCHOS_1_0 10000 -#define __WATCHOS_2_0 20000 -#define __WATCHOS_2_1 20100 -#define __WATCHOS_2_2 20200 -#define __WATCHOS_3_0 30000 -#define __WATCHOS_3_1 30100 -#define __WATCHOS_3_1_1 30101 -#define __WATCHOS_3_2 30200 -#define __WATCHOS_4_0 40000 -#define __WATCHOS_4_1 40100 -#define __WATCHOS_4_2 40200 -#define __WATCHOS_4_3 40300 -#define __WATCHOS_5_0 50000 -#define __WATCHOS_5_1 50100 -#define __WATCHOS_5_2 50200 -#define __WATCHOS_5_3 50300 -#define __WATCHOS_6_0 60000 -#define __WATCHOS_6_1 60100 -#define __WATCHOS_6_2 60200 -#define __WATCHOS_7_0 70000 -#define __WATCHOS_7_1 70100 -#define __WATCHOS_7_2 70200 -#define __WATCHOS_7_3 70300 -#define __WATCHOS_7_4 70400 - -/* - * Set up standard Mac OS X versions - */ - -#if (!defined(_POSIX_C_SOURCE) && !defined(_XOPEN_SOURCE)) || defined(_DARWIN_C_SOURCE) - -#define MAC_OS_X_VERSION_10_0 1000 -#define MAC_OS_X_VERSION_10_1 1010 -#define MAC_OS_X_VERSION_10_2 1020 -#define MAC_OS_X_VERSION_10_3 1030 -#define MAC_OS_X_VERSION_10_4 1040 -#define MAC_OS_X_VERSION_10_5 1050 -#define MAC_OS_X_VERSION_10_6 1060 -#define MAC_OS_X_VERSION_10_7 1070 -#define MAC_OS_X_VERSION_10_8 1080 -#define MAC_OS_X_VERSION_10_9 1090 -#define MAC_OS_X_VERSION_10_10 101000 -#define MAC_OS_X_VERSION_10_10_2 101002 -#define MAC_OS_X_VERSION_10_10_3 101003 -#define MAC_OS_X_VERSION_10_11 101100 -#define MAC_OS_X_VERSION_10_11_2 101102 -#define MAC_OS_X_VERSION_10_11_3 101103 -#define MAC_OS_X_VERSION_10_11_4 101104 -#define MAC_OS_X_VERSION_10_12 101200 -#define MAC_OS_X_VERSION_10_12_1 101201 -#define MAC_OS_X_VERSION_10_12_2 101202 -#define MAC_OS_X_VERSION_10_12_4 101204 -#define MAC_OS_X_VERSION_10_13 101300 -#define MAC_OS_X_VERSION_10_13_1 101301 -#define MAC_OS_X_VERSION_10_13_2 101302 -#define MAC_OS_X_VERSION_10_13_4 101304 -#define MAC_OS_X_VERSION_10_14 101400 -#define MAC_OS_X_VERSION_10_14_1 101401 -#define MAC_OS_X_VERSION_10_14_4 101404 -#define MAC_OS_X_VERSION_10_14_6 101406 -#define MAC_OS_X_VERSION_10_15 101500 -#define MAC_OS_X_VERSION_10_15_1 101501 -#define MAC_OS_X_VERSION_10_16 101600 -#define MAC_OS_VERSION_11_0 110000 - -#endif /* #if (!defined(_POSIX_C_SOURCE) && !defined(_XOPEN_SOURCE)) || defined(_DARWIN_C_SOURCE) */ - -#define __DRIVERKIT_19_0 190000 -#define __DRIVERKIT_20_0 200000 - -#endif /* __AVAILABILITY_VERSIONS__ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.11-any/TargetConditionals.h b/lib/libc/include/any-macos.11-any/TargetConditionals.h deleted file mode 100644 index e0a993f0ec..0000000000 --- a/lib/libc/include/any-macos.11-any/TargetConditionals.h +++ /dev/null @@ -1,508 +0,0 @@ -/* - * Copyright (c) 2000-2014 by 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@ - */ - -/* - File: TargetConditionals.h - - Contains: Autoconfiguration of TARGET_ conditionals for Mac OS X and iPhone - - Note: TargetConditionals.h in 3.4 Universal Interfaces works - with all compilers. This header only recognizes compilers - known to run on Mac OS X. - -*/ - -#ifndef __TARGETCONDITIONALS__ -#define __TARGETCONDITIONALS__ - -/* - * - * TARGET_CPU_* - * These conditionals specify which microprocessor instruction set is being - * generated. At most one of these is true, the rest are false. - * - * TARGET_CPU_PPC - Compiler is generating PowerPC instructions for 32-bit mode - * TARGET_CPU_PPC64 - Compiler is generating PowerPC instructions for 64-bit mode - * TARGET_CPU_68K - Compiler is generating 680x0 instructions - * TARGET_CPU_X86 - Compiler is generating x86 instructions for 32-bit mode - * TARGET_CPU_X86_64 - Compiler is generating x86 instructions for 64-bit mode - * TARGET_CPU_ARM - Compiler is generating ARM instructions for 32-bit mode - * TARGET_CPU_ARM64 - Compiler is generating ARM instructions for 64-bit mode - * TARGET_CPU_MIPS - Compiler is generating MIPS instructions - * TARGET_CPU_SPARC - Compiler is generating Sparc instructions - * TARGET_CPU_ALPHA - Compiler is generating Dec Alpha instructions - * - * - * TARGET_OS_* - * These conditionals specify in which Operating System the generated code will - * run. Indention is used to show which conditionals are evolutionary subclasses. - * - * The MAC/WIN32/UNIX conditionals are mutually exclusive. - * The IOS/TV/WATCH conditionals are mutually exclusive. - * - * - * TARGET_OS_WIN32 - Generated code will run under 32-bit Windows - * TARGET_OS_UNIX - Generated code will run under some Unix (not OSX) - * TARGET_OS_MAC - Generated code will run under Mac OS X variant - * TARGET_OS_OSX - Generated code will run under OS X devices - * TARGET_OS_IPHONE - Generated code for firmware, devices, or simulator - * TARGET_OS_IOS - Generated code will run under iOS - * TARGET_OS_TV - Generated code will run under Apple TV OS - * TARGET_OS_WATCH - Generated code will run under Apple Watch OS - * TARGET_OS_BRIDGE - Generated code will run under Bridge devices - * TARGET_OS_MACCATALYST - Generated code will run under macOS - * TARGET_OS_SIMULATOR - Generated code will run under a simulator - * - * TARGET_OS_EMBEDDED - DEPRECATED: Use TARGET_OS_IPHONE and/or TARGET_OS_SIMULATOR instead - * TARGET_IPHONE_SIMULATOR - DEPRECATED: Same as TARGET_OS_SIMULATOR - * TARGET_OS_NANO - DEPRECATED: Same as TARGET_OS_WATCH - * - * +---------------------------------------------------------------------+ - * | TARGET_OS_MAC | - * | +---+ +-----------------------------------------------+ +---------+ | - * | | | | TARGET_OS_IPHONE | | | | - * | | | | +---------------+ +----+ +-------+ +--------+ | | | | - * | | | | | IOS | | | | | | | | | | | - * | |OSX| | |+-------------+| | TV | | WATCH | | BRIDGE | | |DRIVERKIT| | - * | | | | || MACCATALYST || | | | | | | | | | | - * | | | | |+-------------+| | | | | | | | | | | - * | | | | +---------------+ +----+ +-------+ +--------+ | | | | - * | +---+ +-----------------------------------------------+ +---------+ | - * +---------------------------------------------------------------------+ - * - * TARGET_RT_* - * These conditionals specify in which runtime the generated code will - * run. This is needed when the OS and CPU support more than one runtime - * (e.g. Mac OS X supports CFM and mach-o). - * - * TARGET_RT_LITTLE_ENDIAN - Generated code uses little endian format for integers - * TARGET_RT_BIG_ENDIAN - Generated code uses big endian format for integers - * TARGET_RT_64_BIT - Generated code uses 64-bit pointers - * TARGET_RT_MAC_CFM - TARGET_OS_MAC is true and CFM68K or PowerPC CFM (TVectors) are used - * TARGET_RT_MAC_MACHO - TARGET_OS_MAC is true and Mach-O/dlyd runtime is used - */ - - /* - * TARGET_OS conditionals can be enabled via clang preprocessor extensions: - * - * __is_target_arch - * __is_target_vendor - * __is_target_os - * __is_target_environment - * - * “-target=x86_64-apple-ios12-macabi” - * TARGET_OS_MAC=1 - * TARGET_OS_IPHONE=1 - * TARGET_OS_IOS=1 - * TARGET_OS_MACCATALYST=1 - * - * “-target=x86_64-apple-ios12-simulator” - * TARGET_OS_MAC=1 - * TARGET_OS_IPHONE=1 - * TARGET_OS_IOS=1 - * TARGET_OS_SIMULATOR=1 - * - * DYNAMIC_TARGETS_ENABLED indicates that the core TARGET_OS macros were enabled via clang preprocessor extensions. - * If this value is not set, the macro enablements will fall back to the static behavior. - * It is disabled by default. - */ - -#if defined(__has_builtin) - #if __has_builtin(__is_target_arch) - #if __has_builtin(__is_target_vendor) - #if __has_builtin(__is_target_os) - #if __has_builtin(__is_target_environment) - - /* “-target=x86_64-apple-ios12-macabi” */ - /* “-target=arm64-apple-ios12-macabi” */ - /* “-target=arm64e-apple-ios12-macabi” */ - #if (__is_target_arch(x86_64) || __is_target_arch(arm64) || __is_target_arch(arm64e)) && __is_target_vendor(apple) && __is_target_os(ios) && __is_target_environment(macabi) - #define TARGET_OS_OSX 0 - #define TARGET_OS_IPHONE 1 - #define TARGET_OS_IOS 1 - #define TARGET_OS_WATCH 0 - - #define TARGET_OS_TV 0 - #define TARGET_OS_SIMULATOR 0 - #define TARGET_OS_EMBEDDED 0 - #define TARGET_OS_RTKIT 0 - #define TARGET_OS_MACCATALYST 1 - #define TARGET_OS_MACCATALYST 1 - #ifndef TARGET_OS_UIKITFORMAC - #define TARGET_OS_UIKITFORMAC 1 - #endif - #define TARGET_OS_DRIVERKIT 0 - #define DYNAMIC_TARGETS_ENABLED 1 - #endif - - /* “-target=x86_64-apple-ios12-simulator” */ - #if __is_target_arch(x86_64) && __is_target_vendor(apple) && __is_target_os(ios) && __is_target_environment(simulator) - #define TARGET_OS_OSX 0 - #define TARGET_OS_IPHONE 1 - #define TARGET_OS_IOS 1 - #define TARGET_OS_WATCH 0 - - #define TARGET_OS_TV 0 - #define TARGET_OS_SIMULATOR 1 - #define TARGET_OS_EMBEDDED 0 - #define TARGET_OS_RTKIT 0 - #define TARGET_OS_MACCATALYST 0 - #define TARGET_OS_MACCATALYST 0 - #ifndef TARGET_OS_UIKITFORMAC - #define TARGET_OS_UIKITFORMAC 0 - #endif - #define TARGET_OS_DRIVERKIT 0 - #define DYNAMIC_TARGETS_ENABLED 1 - #endif - - /* -target=x86_64-apple-driverkit19.0 */ - /* -target=arm64-apple-driverkit19.0 */ - /* -target=arm64e-apple-driverkit19.0 */ - #if (__is_target_arch(x86_64) || __is_target_arch(arm64) || __is_target_arch(arm64e)) && __is_target_vendor(apple) && __is_target_os(driverkit) - #define TARGET_OS_OSX 0 - #define TARGET_OS_IPHONE 0 - #define TARGET_OS_IOS 0 - #define TARGET_OS_WATCH 0 - - #define TARGET_OS_TV 0 - #define TARGET_OS_SIMULATOR 0 - #define TARGET_OS_EMBEDDED 0 - #define TARGET_OS_RTKIT 0 - #define TARGET_OS_MACCATALYST 0 - #define TARGET_OS_MACCATALYST 0 - #ifndef TARGET_OS_UIKITFORMAC - #define TARGET_OS_UIKITFORMAC 0 - #endif - #define TARGET_OS_DRIVERKIT 1 - #define DYNAMIC_TARGETS_ENABLED 1 - #endif - - #endif /* #if __has_builtin(__is_target_environment) */ - #endif /* #if __has_builtin(__is_target_os) */ - #endif /* #if __has_builtin(__is_target_vendor) */ - #endif /* #if __has_builtin(__is_target_arch) */ -#endif /* #if defined(__has_builtin) */ - - -#ifndef DYNAMIC_TARGETS_ENABLED - #define DYNAMIC_TARGETS_ENABLED 0 -#endif /* DYNAMIC_TARGETS_ENABLED */ - -/* - * gcc based compiler used on Mac OS X - */ -#if defined(__GNUC__) && ( defined(__APPLE_CPP__) || defined(__APPLE_CC__) || defined(__MACOS_CLASSIC__) ) - #define TARGET_OS_MAC 1 - #define TARGET_OS_WIN32 0 - #define TARGET_OS_UNIX 0 - - #if !DYNAMIC_TARGETS_ENABLED - #define TARGET_OS_OSX 1 - #define TARGET_OS_IPHONE 0 - #define TARGET_OS_IOS 0 - #define TARGET_OS_WATCH 0 - - #define TARGET_OS_TV 0 - #define TARGET_OS_MACCATALYST 0 - #define TARGET_OS_MACCATALYST 0 - #ifndef TARGET_OS_UIKITFORMAC - #define TARGET_OS_UIKITFORMAC 0 - #endif - #define TARGET_OS_SIMULATOR 0 - #define TARGET_OS_EMBEDDED 0 - #define TARGET_OS_RTKIT 0 - #define TARGET_OS_DRIVERKIT 0 - #endif - - #define TARGET_IPHONE_SIMULATOR TARGET_OS_SIMULATOR /* deprecated */ - #define TARGET_OS_NANO TARGET_OS_WATCH /* deprecated */ - - #define TARGET_ABI_USES_IOS_VALUES (!TARGET_CPU_X86_64 || (TARGET_OS_IPHONE && !TARGET_OS_MACCATALYST)) - #if defined(__ppc__) - #define TARGET_CPU_PPC 1 - #define TARGET_CPU_PPC64 0 - #define TARGET_CPU_68K 0 - #define TARGET_CPU_X86 0 - #define TARGET_CPU_X86_64 0 - #define TARGET_CPU_ARM 0 - #define TARGET_CPU_ARM64 0 - #define TARGET_CPU_MIPS 0 - #define TARGET_CPU_SPARC 0 - #define TARGET_CPU_ALPHA 0 - #define TARGET_RT_LITTLE_ENDIAN 0 - #define TARGET_RT_BIG_ENDIAN 1 - #define TARGET_RT_64_BIT 0 - #ifdef __MACOS_CLASSIC__ - #define TARGET_RT_MAC_CFM 1 - #define TARGET_RT_MAC_MACHO 0 - #else - #define TARGET_RT_MAC_CFM 0 - #define TARGET_RT_MAC_MACHO 1 - #endif - #elif defined(__ppc64__) - #define TARGET_CPU_PPC 0 - #define TARGET_CPU_PPC64 1 - #define TARGET_CPU_68K 0 - #define TARGET_CPU_X86 0 - #define TARGET_CPU_X86_64 0 - #define TARGET_CPU_ARM 0 - #define TARGET_CPU_ARM64 0 - #define TARGET_CPU_MIPS 0 - #define TARGET_CPU_SPARC 0 - #define TARGET_CPU_ALPHA 0 - #define TARGET_RT_LITTLE_ENDIAN 0 - #define TARGET_RT_BIG_ENDIAN 1 - #define TARGET_RT_64_BIT 1 - #define TARGET_RT_MAC_CFM 0 - #define TARGET_RT_MAC_MACHO 1 - #elif defined(__i386__) - #define TARGET_CPU_PPC 0 - #define TARGET_CPU_PPC64 0 - #define TARGET_CPU_68K 0 - #define TARGET_CPU_X86 1 - #define TARGET_CPU_X86_64 0 - #define TARGET_CPU_ARM 0 - #define TARGET_CPU_ARM64 0 - #define TARGET_CPU_MIPS 0 - #define TARGET_CPU_SPARC 0 - #define TARGET_CPU_ALPHA 0 - #define TARGET_RT_MAC_CFM 0 - #define TARGET_RT_MAC_MACHO 1 - #define TARGET_RT_LITTLE_ENDIAN 1 - #define TARGET_RT_BIG_ENDIAN 0 - #define TARGET_RT_64_BIT 0 - #elif defined(__x86_64__) - #define TARGET_CPU_PPC 0 - #define TARGET_CPU_PPC64 0 - #define TARGET_CPU_68K 0 - #define TARGET_CPU_X86 0 - #define TARGET_CPU_X86_64 1 - #define TARGET_CPU_ARM 0 - #define TARGET_CPU_ARM64 0 - #define TARGET_CPU_MIPS 0 - #define TARGET_CPU_SPARC 0 - #define TARGET_CPU_ALPHA 0 - #define TARGET_RT_MAC_CFM 0 - #define TARGET_RT_MAC_MACHO 1 - #define TARGET_RT_LITTLE_ENDIAN 1 - #define TARGET_RT_BIG_ENDIAN 0 - #define TARGET_RT_64_BIT 1 - #elif defined(__arm__) - #define TARGET_CPU_PPC 0 - #define TARGET_CPU_PPC64 0 - #define TARGET_CPU_68K 0 - #define TARGET_CPU_X86 0 - #define TARGET_CPU_X86_64 0 - #define TARGET_CPU_ARM 1 - #define TARGET_CPU_ARM64 0 - #define TARGET_CPU_MIPS 0 - #define TARGET_CPU_SPARC 0 - #define TARGET_CPU_ALPHA 0 - #define TARGET_RT_MAC_CFM 0 - #define TARGET_RT_MAC_MACHO 1 - #define TARGET_RT_LITTLE_ENDIAN 1 - #define TARGET_RT_BIG_ENDIAN 0 - #define TARGET_RT_64_BIT 0 - #elif defined(__arm64__) - #define TARGET_CPU_PPC 0 - #define TARGET_CPU_PPC64 0 - #define TARGET_CPU_68K 0 - #define TARGET_CPU_X86 0 - #define TARGET_CPU_X86_64 0 - #define TARGET_CPU_ARM 0 - #define TARGET_CPU_ARM64 1 - #define TARGET_CPU_MIPS 0 - #define TARGET_CPU_SPARC 0 - #define TARGET_CPU_ALPHA 0 - #define TARGET_RT_MAC_CFM 0 - #define TARGET_RT_MAC_MACHO 1 - #define TARGET_RT_LITTLE_ENDIAN 1 - #define TARGET_RT_BIG_ENDIAN 0 - #if __LP64__ - #define TARGET_RT_64_BIT 1 - #else - #define TARGET_RT_64_BIT 0 - #endif - #else - #error unrecognized GNU C compiler - #endif - - - -/* - * CodeWarrior compiler from Metrowerks/Motorola - */ -#elif defined(__MWERKS__) - #define TARGET_OS_MAC 1 - #define TARGET_OS_WIN32 0 - #define TARGET_OS_UNIX 0 - #define TARGET_OS_EMBEDDED 0 - #if defined(__POWERPC__) - #define TARGET_CPU_PPC 1 - #define TARGET_CPU_PPC64 0 - #define TARGET_CPU_68K 0 - #define TARGET_CPU_X86 0 - #define TARGET_CPU_MIPS 0 - #define TARGET_CPU_SPARC 0 - #define TARGET_CPU_ALPHA 0 - #define TARGET_RT_LITTLE_ENDIAN 0 - #define TARGET_RT_BIG_ENDIAN 1 - #elif defined(__INTEL__) - #define TARGET_CPU_PPC 0 - #define TARGET_CPU_PPC64 0 - #define TARGET_CPU_68K 0 - #define TARGET_CPU_X86 1 - #define TARGET_CPU_MIPS 0 - #define TARGET_CPU_SPARC 0 - #define TARGET_CPU_ALPHA 0 - #define TARGET_RT_LITTLE_ENDIAN 1 - #define TARGET_RT_BIG_ENDIAN 0 - #else - #error unknown Metrowerks CPU type - #endif - #define TARGET_RT_64_BIT 0 - #ifdef __MACH__ - #define TARGET_RT_MAC_CFM 0 - #define TARGET_RT_MAC_MACHO 1 - #else - #define TARGET_RT_MAC_CFM 1 - #define TARGET_RT_MAC_MACHO 0 - #endif - -/* - * unknown compiler - */ -#else - #if defined(TARGET_CPU_PPC) && TARGET_CPU_PPC - #define TARGET_CPU_PPC64 0 - #define TARGET_CPU_68K 0 - #define TARGET_CPU_X86 0 - #define TARGET_CPU_X86_64 0 - #define TARGET_CPU_ARM 0 - #define TARGET_CPU_ARM64 0 - #define TARGET_CPU_MIPS 0 - #define TARGET_CPU_SPARC 0 - #define TARGET_CPU_ALPHA 0 - #elif defined(TARGET_CPU_PPC64) && TARGET_CPU_PPC64 - #define TARGET_CPU_PPC 0 - #define TARGET_CPU_68K 0 - #define TARGET_CPU_X86 0 - #define TARGET_CPU_X86_64 0 - #define TARGET_CPU_ARM 0 - #define TARGET_CPU_ARM64 0 - #define TARGET_CPU_MIPS 0 - #define TARGET_CPU_SPARC 0 - #define TARGET_CPU_ALPHA 0 - #elif defined(TARGET_CPU_X86) && TARGET_CPU_X86 - #define TARGET_CPU_PPC 0 - #define TARGET_CPU_PPC64 0 - #define TARGET_CPU_X86_64 0 - #define TARGET_CPU_68K 0 - #define TARGET_CPU_ARM 0 - #define TARGET_CPU_ARM64 0 - #define TARGET_CPU_MIPS 0 - #define TARGET_CPU_SPARC 0 - #define TARGET_CPU_ALPHA 0 - #elif defined(TARGET_CPU_X86_64) && TARGET_CPU_X86_64 - #define TARGET_CPU_PPC 0 - #define TARGET_CPU_PPC64 0 - #define TARGET_CPU_X86 0 - #define TARGET_CPU_68K 0 - #define TARGET_CPU_ARM 0 - #define TARGET_CPU_ARM64 0 - #define TARGET_CPU_MIPS 0 - #define TARGET_CPU_SPARC 0 - #define TARGET_CPU_ALPHA 0 - #elif defined(TARGET_CPU_ARM) && TARGET_CPU_ARM - #define TARGET_CPU_PPC 0 - #define TARGET_CPU_PPC64 0 - #define TARGET_CPU_X86 0 - #define TARGET_CPU_X86_64 0 - #define TARGET_CPU_68K 0 - #define TARGET_CPU_ARM64 0 - #define TARGET_CPU_MIPS 0 - #define TARGET_CPU_SPARC 0 - #define TARGET_CPU_ALPHA 0 - #elif defined(TARGET_CPU_ARM64) && TARGET_CPU_ARM64 - #define TARGET_CPU_PPC 0 - #define TARGET_CPU_PPC64 0 - #define TARGET_CPU_X86 0 - #define TARGET_CPU_X86_64 0 - #define TARGET_CPU_68K 0 - #define TARGET_CPU_ARM 0 - #define TARGET_CPU_MIPS 0 - #define TARGET_CPU_SPARC 0 - #define TARGET_CPU_ALPHA 0 - #else - /* - NOTE: If your compiler errors out here then support for your compiler - has not yet been added to TargetConditionals.h. - - TargetConditionals.h is designed to be plug-and-play. It auto detects - which compiler is being run and configures the TARGET_ conditionals - appropriately. - - The short term work around is to set the TARGET_CPU_ and TARGET_OS_ - on the command line to the compiler (e.g. -DTARGET_CPU_MIPS=1 -DTARGET_OS_UNIX=1) - - The long term solution is to add a new case to this file which - auto detects your compiler and sets up the TARGET_ conditionals. - Then submit the changes to Apple Computer. - */ - #error TargetConditionals.h: unknown compiler (see comment above) - #define TARGET_CPU_PPC 0 - #define TARGET_CPU_68K 0 - #define TARGET_CPU_X86 0 - #define TARGET_CPU_ARM 0 - #define TARGET_CPU_ARM64 0 - #define TARGET_CPU_MIPS 0 - #define TARGET_CPU_SPARC 0 - #define TARGET_CPU_ALPHA 0 - #endif - #define TARGET_OS_MAC 1 - #define TARGET_OS_WIN32 0 - #define TARGET_OS_UNIX 0 - #define TARGET_OS_EMBEDDED 0 - #if TARGET_CPU_PPC || TARGET_CPU_PPC64 - #define TARGET_RT_BIG_ENDIAN 1 - #define TARGET_RT_LITTLE_ENDIAN 0 - #else - #define TARGET_RT_BIG_ENDIAN 0 - #define TARGET_RT_LITTLE_ENDIAN 1 - #endif - #if TARGET_CPU_PPC64 || TARGET_CPU_X86_64 - #define TARGET_RT_64_BIT 1 - #else - #define TARGET_RT_64_BIT 0 - #endif - #ifdef __MACH__ - #define TARGET_RT_MAC_MACHO 1 - #define TARGET_RT_MAC_CFM 0 - #else - #define TARGET_RT_MAC_MACHO 0 - #define TARGET_RT_MAC_CFM 1 - #endif - -#endif - -#endif /* __TARGETCONDITIONALS__ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.11-any/assert.h b/lib/libc/include/any-macos.11-any/assert.h deleted file mode 100644 index e08d52cb28..0000000000 --- a/lib/libc/include/any-macos.11-any/assert.h +++ /dev/null @@ -1,111 +0,0 @@ -/*- - * Copyright (c) 1992, 1993 - * The Regents of the University of California. All rights reserved. - * (c) UNIX System Laboratories, Inc. - * All or some portions of this file are derived from material licensed - * to the University of California by American Telephone and Telegraph - * Co. or Unix System Laboratories, Inc. and are reproduced herein with - * the permission of UNIX System Laboratories, Inc. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)assert.h 8.2 (Berkeley) 1/21/94 - * $FreeBSD: src/include/assert.h,v 1.4 2002/03/23 17:24:53 imp Exp $ - */ - -#include -#ifdef __cplusplus -#include -#endif /* __cplusplus */ - -/* - * Unlike other ANSI header files, may usefully be included - * multiple times, with and without NDEBUG defined. - */ - -#undef assert -#undef __assert - -#ifdef NDEBUG -#define assert(e) ((void)0) -#else - -#ifndef __GNUC__ - -__BEGIN_DECLS -#ifndef __cplusplus -void abort(void) __dead2 __cold; -#endif /* !__cplusplus */ -int printf(const char * __restrict, ...); -__END_DECLS - -#define assert(e) \ - ((void) ((e) ? ((void)0) : __assert (#e, __FILE__, __LINE__))) -#define __assert(e, file, line) \ - ((void)printf ("%s:%d: failed assertion `%s'\n", file, line, e), abort()) - -#else /* __GNUC__ */ - -__BEGIN_DECLS -void __assert_rtn(const char *, const char *, int, const char *) __dead2 __cold __disable_tail_calls; -#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && ((__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__-0) < 1070) -void __eprintf(const char *, const char *, unsigned, const char *) __dead2 __cold; -#endif -__END_DECLS - -#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && ((__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__-0) < 1070) -#define __assert(e, file, line) \ - __eprintf ("%s:%d: failed assertion `%s'\n", file, line, e) -#else -/* 8462256: modified __assert_rtn() replaces deprecated __eprintf() */ -#define __assert(e, file, line) \ - __assert_rtn ((const char *)-1L, file, line, e) -#endif - -#if __DARWIN_UNIX03 -#define assert(e) \ - (__builtin_expect(!(e), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, #e) : (void)0) -#else /* !__DARWIN_UNIX03 */ -#define assert(e) \ - (__builtin_expect(!(e), 0) ? __assert (#e, __FILE__, __LINE__) : (void)0) -#endif /* __DARWIN_UNIX03 */ - -#endif /* __GNUC__ */ -#endif /* NDEBUG */ - -#ifndef _ASSERT_H_ -#define _ASSERT_H_ - -#ifndef __cplusplus -#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L -#define static_assert _Static_assert -#endif /* __STDC_VERSION__ */ -#endif /* !__cplusplus */ - -#endif /* _ASSERT_H_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.11-any/copyfile.h b/lib/libc/include/any-macos.11-any/copyfile.h deleted file mode 100644 index 50239ee191..0000000000 --- a/lib/libc/include/any-macos.11-any/copyfile.h +++ /dev/null @@ -1,133 +0,0 @@ -/* - * Copyright (c) 2004-2019 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 _COPYFILE_H_ /* version 0.1 */ -#define _COPYFILE_H_ - -/* - * This API facilitates the copying of files and their associated - * metadata. There are several open source projects that need - * modifications to support preserving extended attributes and ACLs - * and this API collapses several hundred lines of modifications into - * one or two calls. - */ - -/* private */ -#include -#include - -__BEGIN_DECLS -struct _copyfile_state; -typedef struct _copyfile_state * copyfile_state_t; -typedef uint32_t copyfile_flags_t; - -/* public */ - -/* receives: - * from path to source file system object - * to path to destination file system object - * state opaque blob for future extensibility - * Must be NULL in current implementation - * flags (described below) - * returns: - * int negative for error - */ - -int copyfile(const char *from, const char *to, copyfile_state_t state, copyfile_flags_t flags); -int fcopyfile(int from_fd, int to_fd, copyfile_state_t, copyfile_flags_t flags); - -int copyfile_state_free(copyfile_state_t); -copyfile_state_t copyfile_state_alloc(void); - - -int copyfile_state_get(copyfile_state_t s, uint32_t flag, void * dst); -int copyfile_state_set(copyfile_state_t s, uint32_t flag, const void * src); - -typedef int (*copyfile_callback_t)(int, int, copyfile_state_t, const char *, const char *, void *); - -#define COPYFILE_STATE_SRC_FD 1 -#define COPYFILE_STATE_SRC_FILENAME 2 -#define COPYFILE_STATE_DST_FD 3 -#define COPYFILE_STATE_DST_FILENAME 4 -#define COPYFILE_STATE_QUARANTINE 5 -#define COPYFILE_STATE_STATUS_CB 6 -#define COPYFILE_STATE_STATUS_CTX 7 -#define COPYFILE_STATE_COPIED 8 -#define COPYFILE_STATE_XATTRNAME 9 -#define COPYFILE_STATE_WAS_CLONED 10 - - -#define COPYFILE_DISABLE_VAR "COPYFILE_DISABLE" - -/* flags for copyfile */ - -#define COPYFILE_ACL (1<<0) -#define COPYFILE_STAT (1<<1) -#define COPYFILE_XATTR (1<<2) -#define COPYFILE_DATA (1<<3) - -#define COPYFILE_SECURITY (COPYFILE_STAT | COPYFILE_ACL) -#define COPYFILE_METADATA (COPYFILE_SECURITY | COPYFILE_XATTR) -#define COPYFILE_ALL (COPYFILE_METADATA | COPYFILE_DATA) - -#define COPYFILE_RECURSIVE (1<<15) /* Descend into hierarchies */ -#define COPYFILE_CHECK (1<<16) /* return flags for xattr or acls if set */ -#define COPYFILE_EXCL (1<<17) /* fail if destination exists */ -#define COPYFILE_NOFOLLOW_SRC (1<<18) /* don't follow if source is a symlink */ -#define COPYFILE_NOFOLLOW_DST (1<<19) /* don't follow if dst is a symlink */ -#define COPYFILE_MOVE (1<<20) /* unlink src after copy */ -#define COPYFILE_UNLINK (1<<21) /* unlink dst before copy */ -#define COPYFILE_NOFOLLOW (COPYFILE_NOFOLLOW_SRC | COPYFILE_NOFOLLOW_DST) - -#define COPYFILE_PACK (1<<22) -#define COPYFILE_UNPACK (1<<23) - -#define COPYFILE_CLONE (1<<24) -#define COPYFILE_CLONE_FORCE (1<<25) - -#define COPYFILE_RUN_IN_PLACE (1<<26) - -#define COPYFILE_DATA_SPARSE (1<<27) - -#define COPYFILE_PRESERVE_DST_TRACKED (1<<28) - -#define COPYFILE_VERBOSE (1<<30) - -#define COPYFILE_RECURSE_ERROR 0 -#define COPYFILE_RECURSE_FILE 1 -#define COPYFILE_RECURSE_DIR 2 -#define COPYFILE_RECURSE_DIR_CLEANUP 3 -#define COPYFILE_COPY_DATA 4 -#define COPYFILE_COPY_XATTR 5 - -#define COPYFILE_START 1 -#define COPYFILE_FINISH 2 -#define COPYFILE_ERR 3 -#define COPYFILE_PROGRESS 4 - -#define COPYFILE_CONTINUE 0 -#define COPYFILE_SKIP 1 -#define COPYFILE_QUIT 2 - -__END_DECLS - -#endif /* _COPYFILE_H_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.11-any/device/device_types.h b/lib/libc/include/any-macos.11-any/device/device_types.h deleted file mode 100644 index 2878666853..0000000000 --- a/lib/libc/include/any-macos.11-any/device/device_types.h +++ /dev/null @@ -1,118 +0,0 @@ -/* - * Copyright (c) 2000-2004 Apple Computer, 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@ - */ -/* - * @OSF_COPYRIGHT@ - */ -/* - * Mach Operating System - * Copyright (c) 1991,1990,1989 Carnegie Mellon University - * All Rights Reserved. - * - * Permission to use, copy, modify and distribute this software and its - * documentation is hereby granted, provided that both the copyright - * notice and this permission notice appear in all copies of the - * software, derivative works or modified versions, and any portions - * thereof, and that both notices appear in supporting documentation. - * - * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" - * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR - * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. - * - * Carnegie Mellon requests users of this software to return to - * - * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU - * School of Computer Science - * Carnegie Mellon University - * Pittsburgh PA 15213-3890 - * - * any improvements or extensions that they make and grant Carnegie Mellon - * the rights to redistribute these changes. - */ -/* - */ -/* - * Author: David B. Golub, Carnegie Mellon University - * Date: 3/89 - */ - -#ifndef DEVICE_TYPES_H -#define DEVICE_TYPES_H - -/* - * Types for device interface. - */ -#include -#include -#include -#include - - - -/* - * IO buffer - out-of-line array of characters. - */ -typedef char * io_buf_ptr_t; - -/* - * Some types for IOKit. - */ - -#ifdef IOKIT - -/* must match device_types.defs */ -typedef char io_name_t[128]; -typedef char io_string_t[512]; -typedef char io_string_inband_t[4096]; -typedef char io_struct_inband_t[4096]; - -#if __LP64__ -typedef uint64_t io_user_scalar_t; -typedef uint64_t io_user_reference_t; -typedef io_user_scalar_t io_scalar_inband_t[16]; -typedef io_user_reference_t io_async_ref_t[8]; -typedef io_user_scalar_t io_scalar_inband64_t[16]; -typedef io_user_reference_t io_async_ref64_t[8]; -#else -typedef int io_user_scalar_t; -typedef natural_t io_user_reference_t; -typedef io_user_scalar_t io_scalar_inband_t[16]; -typedef io_user_reference_t io_async_ref_t[8]; -typedef uint64_t io_scalar_inband64_t[16]; -typedef uint64_t io_async_ref64_t[8]; -#endif // __LP64__ - - -#ifndef __IOKIT_PORTS_DEFINED__ -#define __IOKIT_PORTS_DEFINED__ -typedef mach_port_t io_object_t; -#endif /* __IOKIT_PORTS_DEFINED__ */ - - -#endif /* IOKIT */ - -#endif /* DEVICE_TYPES_H */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.11-any/dispatch/base.h b/lib/libc/include/any-macos.11-any/dispatch/base.h deleted file mode 100644 index 86ed15d144..0000000000 --- a/lib/libc/include/any-macos.11-any/dispatch/base.h +++ /dev/null @@ -1,306 +0,0 @@ -/* - * Copyright (c) 2008-2012 Apple Inc. All rights reserved. - * - * @APPLE_APACHE_LICENSE_HEADER_START@ - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * @APPLE_APACHE_LICENSE_HEADER_END@ - */ - -#ifndef __DISPATCH_BASE__ -#define __DISPATCH_BASE__ - -#ifndef __DISPATCH_INDIRECT__ -#error "Please #include instead of this file directly." -#endif - -#ifndef __has_builtin -#define __has_builtin(x) 0 -#endif -#ifndef __has_include -#define __has_include(x) 0 -#endif -#ifndef __has_feature -#define __has_feature(x) 0 -#endif -#ifndef __has_attribute -#define __has_attribute(x) 0 -#endif -#ifndef __has_extension -#define __has_extension(x) 0 -#endif - -#if __GNUC__ -#define DISPATCH_NORETURN __attribute__((__noreturn__)) -#define DISPATCH_NOTHROW __attribute__((__nothrow__)) -#define DISPATCH_NONNULL1 __attribute__((__nonnull__(1))) -#define DISPATCH_NONNULL2 __attribute__((__nonnull__(2))) -#define DISPATCH_NONNULL3 __attribute__((__nonnull__(3))) -#define DISPATCH_NONNULL4 __attribute__((__nonnull__(4))) -#define DISPATCH_NONNULL5 __attribute__((__nonnull__(5))) -#define DISPATCH_NONNULL6 __attribute__((__nonnull__(6))) -#define DISPATCH_NONNULL7 __attribute__((__nonnull__(7))) -#if __clang__ && __clang_major__ < 3 -// rdar://problem/6857843 -#define DISPATCH_NONNULL_ALL -#else -#define DISPATCH_NONNULL_ALL __attribute__((__nonnull__)) -#endif -#define DISPATCH_SENTINEL __attribute__((__sentinel__)) -#define DISPATCH_PURE __attribute__((__pure__)) -#define DISPATCH_CONST __attribute__((__const__)) -#define DISPATCH_WARN_RESULT __attribute__((__warn_unused_result__)) -#define DISPATCH_MALLOC __attribute__((__malloc__)) -#define DISPATCH_ALWAYS_INLINE __attribute__((__always_inline__)) -#define DISPATCH_UNAVAILABLE __attribute__((__unavailable__)) -#define DISPATCH_UNAVAILABLE_MSG(msg) __attribute__((__unavailable__(msg))) -#elif defined(_MSC_VER) -#define DISPATCH_NORETURN __declspec(noreturn) -#define DISPATCH_NOTHROW __declspec(nothrow) -#define DISPATCH_NONNULL1 -#define DISPATCH_NONNULL2 -#define DISPATCH_NONNULL3 -#define DISPATCH_NONNULL4 -#define DISPATCH_NONNULL5 -#define DISPATCH_NONNULL6 -#define DISPATCH_NONNULL7 -#define DISPATCH_NONNULL_ALL -#define DISPATCH_SENTINEL -#define DISPATCH_PURE -#define DISPATCH_CONST -#if (_MSC_VER >= 1700) -#define DISPATCH_WARN_RESULT _Check_return_ -#else -#define DISPATCH_WARN_RESULT -#endif -#define DISPATCH_MALLOC -#define DISPATCH_ALWAYS_INLINE __forceinline -#define DISPATCH_UNAVAILABLE -#define DISPATCH_UNAVAILABLE_MSG(msg) -#else -/*! @parseOnly */ -#define DISPATCH_NORETURN -/*! @parseOnly */ -#define DISPATCH_NOTHROW -/*! @parseOnly */ -#define DISPATCH_NONNULL1 -/*! @parseOnly */ -#define DISPATCH_NONNULL2 -/*! @parseOnly */ -#define DISPATCH_NONNULL3 -/*! @parseOnly */ -#define DISPATCH_NONNULL4 -/*! @parseOnly */ -#define DISPATCH_NONNULL5 -/*! @parseOnly */ -#define DISPATCH_NONNULL6 -/*! @parseOnly */ -#define DISPATCH_NONNULL7 -/*! @parseOnly */ -#define DISPATCH_NONNULL_ALL -/*! @parseOnly */ -#define DISPATCH_SENTINEL -/*! @parseOnly */ -#define DISPATCH_PURE -/*! @parseOnly */ -#define DISPATCH_CONST -/*! @parseOnly */ -#define DISPATCH_WARN_RESULT -/*! @parseOnly */ -#define DISPATCH_MALLOC -/*! @parseOnly */ -#define DISPATCH_ALWAYS_INLINE -/*! @parseOnly */ -#define DISPATCH_UNAVAILABLE -/*! @parseOnly */ -#define DISPATCH_UNAVAILABLE_MSG(msg) -#endif - -#define DISPATCH_LINUX_UNAVAILABLE() - -#ifdef __FreeBSD__ -#define DISPATCH_FREEBSD_UNAVAILABLE() \ - DISPATCH_UNAVAILABLE_MSG( \ - "This interface is unavailable on FreeBSD systems") -#else -#define DISPATCH_FREEBSD_UNAVAILABLE() -#endif - -#ifndef DISPATCH_ALIAS_V2 -#if TARGET_OS_MAC -#define DISPATCH_ALIAS_V2(sym) __asm__("_" #sym "$V2") -#else -#define DISPATCH_ALIAS_V2(sym) -#endif -#endif - -#if defined(_WIN32) -#if defined(__cplusplus) -#define DISPATCH_EXPORT extern "C" __declspec(dllimport) -#else -#define DISPATCH_EXPORT extern __declspec(dllimport) -#endif -#elif __GNUC__ -#define DISPATCH_EXPORT extern __attribute__((visibility("default"))) -#else -#define DISPATCH_EXPORT extern -#endif - -#if __GNUC__ -#define DISPATCH_INLINE static __inline__ -#else -#define DISPATCH_INLINE static inline -#endif - -#if __GNUC__ -#define DISPATCH_EXPECT(x, v) __builtin_expect((x), (v)) -#define dispatch_compiler_barrier() __asm__ __volatile__("" ::: "memory") -#else -#define DISPATCH_EXPECT(x, v) (x) -#define dispatch_compiler_barrier() do { } while (0) -#endif - -#if __has_attribute(not_tail_called) -#define DISPATCH_NOT_TAIL_CALLED __attribute__((__not_tail_called__)) -#else -#define DISPATCH_NOT_TAIL_CALLED -#endif - -#if __has_builtin(__builtin_assume) -#define DISPATCH_COMPILER_CAN_ASSUME(expr) __builtin_assume(expr) -#else -#define DISPATCH_COMPILER_CAN_ASSUME(expr) ((void)(expr)) -#endif - -#if __has_attribute(noescape) -#define DISPATCH_NOESCAPE __attribute__((__noescape__)) -#else -#define DISPATCH_NOESCAPE -#endif - -#if __has_attribute(cold) -#define DISPATCH_COLD __attribute__((__cold__)) -#else -#define DISPATCH_COLD -#endif - -#if __has_feature(assume_nonnull) -#define DISPATCH_ASSUME_NONNULL_BEGIN _Pragma("clang assume_nonnull begin") -#define DISPATCH_ASSUME_NONNULL_END _Pragma("clang assume_nonnull end") -#else -#define DISPATCH_ASSUME_NONNULL_BEGIN -#define DISPATCH_ASSUME_NONNULL_END -#endif - -#if !__has_feature(nullability) -#ifndef _Nullable -#define _Nullable -#endif -#ifndef _Nonnull -#define _Nonnull -#endif -#ifndef _Null_unspecified -#define _Null_unspecified -#endif -#endif - -#ifndef DISPATCH_RETURNS_RETAINED_BLOCK -#if __has_attribute(ns_returns_retained) -#define DISPATCH_RETURNS_RETAINED_BLOCK __attribute__((__ns_returns_retained__)) -#else -#define DISPATCH_RETURNS_RETAINED_BLOCK -#endif -#endif - -#if __has_attribute(enum_extensibility) -#define __DISPATCH_ENUM_ATTR __attribute__((__enum_extensibility__(open))) -#define __DISPATCH_ENUM_ATTR_CLOSED __attribute__((__enum_extensibility__(closed))) -#else -#define __DISPATCH_ENUM_ATTR -#define __DISPATCH_ENUM_ATTR_CLOSED -#endif // __has_attribute(enum_extensibility) - -#if __has_attribute(flag_enum) -#define __DISPATCH_OPTIONS_ATTR __attribute__((__flag_enum__)) -#else -#define __DISPATCH_OPTIONS_ATTR -#endif // __has_attribute(flag_enum) - - -#if __has_feature(objc_fixed_enum) || __has_extension(cxx_strong_enums) || \ - __has_extension(cxx_fixed_enum) || defined(_WIN32) -#define DISPATCH_ENUM(name, type, ...) \ - typedef enum : type { __VA_ARGS__ } __DISPATCH_ENUM_ATTR name##_t -#define DISPATCH_OPTIONS(name, type, ...) \ - typedef enum : type { __VA_ARGS__ } __DISPATCH_OPTIONS_ATTR __DISPATCH_ENUM_ATTR name##_t -#else -#define DISPATCH_ENUM(name, type, ...) \ - enum { __VA_ARGS__ } __DISPATCH_ENUM_ATTR; typedef type name##_t -#define DISPATCH_OPTIONS(name, type, ...) \ - enum { __VA_ARGS__ } __DISPATCH_OPTIONS_ATTR __DISPATCH_ENUM_ATTR; typedef type name##_t -#endif // __has_feature(objc_fixed_enum) ... - - - -#if __has_feature(enumerator_attributes) -#define DISPATCH_ENUM_API_AVAILABLE(...) API_AVAILABLE(__VA_ARGS__) -#define DISPATCH_ENUM_API_DEPRECATED(...) API_DEPRECATED(__VA_ARGS__) -#define DISPATCH_ENUM_API_DEPRECATED_WITH_REPLACEMENT(...) \ - API_DEPRECATED_WITH_REPLACEMENT(__VA_ARGS__) -#else -#define DISPATCH_ENUM_API_AVAILABLE(...) -#define DISPATCH_ENUM_API_DEPRECATED(...) -#define DISPATCH_ENUM_API_DEPRECATED_WITH_REPLACEMENT(...) -#endif - -#ifdef __swift__ -#define DISPATCH_SWIFT3_OVERLAY 1 -#else // __swift__ -#define DISPATCH_SWIFT3_OVERLAY 0 -#endif // __swift__ - -#if __has_feature(attribute_availability_swift) -#define DISPATCH_SWIFT_UNAVAILABLE(_msg) \ - __attribute__((__availability__(swift, unavailable, message=_msg))) -#else -#define DISPATCH_SWIFT_UNAVAILABLE(_msg) -#endif - -#if DISPATCH_SWIFT3_OVERLAY -#define DISPATCH_SWIFT3_UNAVAILABLE(_msg) DISPATCH_SWIFT_UNAVAILABLE(_msg) -#else -#define DISPATCH_SWIFT3_UNAVAILABLE(_msg) -#endif - -#if __has_attribute(swift_private) -#define DISPATCH_REFINED_FOR_SWIFT __attribute__((__swift_private__)) -#else -#define DISPATCH_REFINED_FOR_SWIFT -#endif - -#if __has_attribute(swift_name) -#define DISPATCH_SWIFT_NAME(_name) __attribute__((__swift_name__(#_name))) -#else -#define DISPATCH_SWIFT_NAME(_name) -#endif - -#ifndef __cplusplus -#define DISPATCH_TRANSPARENT_UNION __attribute__((__transparent_union__)) -#else -#define DISPATCH_TRANSPARENT_UNION -#endif - -typedef void (*dispatch_function_t)(void *_Nullable); - -#endif \ No newline at end of file diff --git a/lib/libc/include/any-macos.11-any/dispatch/queue.h b/lib/libc/include/any-macos.11-any/dispatch/queue.h deleted file mode 100644 index f4f8ab673e..0000000000 --- a/lib/libc/include/any-macos.11-any/dispatch/queue.h +++ /dev/null @@ -1,1674 +0,0 @@ -/* - * Copyright (c) 2008-2014 Apple Inc. All rights reserved. - * - * @APPLE_APACHE_LICENSE_HEADER_START@ - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * @APPLE_APACHE_LICENSE_HEADER_END@ - */ - -#ifndef __DISPATCH_QUEUE__ -#define __DISPATCH_QUEUE__ - -#ifndef __DISPATCH_INDIRECT__ -#error "Please #include instead of this file directly." -#include // for HeaderDoc -#endif - -DISPATCH_ASSUME_NONNULL_BEGIN - -/*! - * @header - * - * Dispatch is an abstract model for expressing concurrency via simple but - * powerful API. - * - * At the core, dispatch provides serial FIFO queues to which blocks may be - * submitted. Blocks submitted to these dispatch queues are invoked on a pool - * of threads fully managed by the system. No guarantee is made regarding - * which thread a block will be invoked on; however, it is guaranteed that only - * one block submitted to the FIFO dispatch queue will be invoked at a time. - * - * When multiple queues have blocks to be processed, the system is free to - * allocate additional threads to invoke the blocks concurrently. When the - * queues become empty, these threads are automatically released. - */ - -/*! - * @typedef dispatch_queue_t - * - * @abstract - * Dispatch queues invoke workitems submitted to them. - * - * @discussion - * Dispatch queues come in many flavors, the most common one being the dispatch - * serial queue (See dispatch_queue_serial_t). - * - * The system manages a pool of threads which process dispatch queues and invoke - * workitems submitted to them. - * - * Conceptually a dispatch queue may have its own thread of execution, and - * interaction between queues is highly asynchronous. - * - * Dispatch queues are reference counted via calls to dispatch_retain() and - * dispatch_release(). Pending workitems submitted to a queue also hold a - * reference to the queue until they have finished. Once all references to a - * queue have been released, the queue will be deallocated by the system. - */ -DISPATCH_DECL(dispatch_queue); - -/*! - * @typedef dispatch_queue_global_t - * - * @abstract - * Dispatch global concurrent queues are an abstraction around the system thread - * pool which invokes workitems that are submitted to dispatch queues. - * - * @discussion - * Dispatch global concurrent queues provide buckets of priorities on top of the - * thread pool the system manages. The system will decide how many threads - * to allocate to this pool depending on demand and system load. In particular, - * the system tries to maintain a good level of concurrency for this resource, - * and will create new threads when too many existing worker threads block in - * system calls. - * - * The global concurrent queues are a shared resource and as such it is the - * responsiblity of every user of this resource to not submit an unbounded - * amount of work to this pool, especially work that may block, as this can - * cause the system to spawn very large numbers of threads (aka. thread - * explosion). - * - * Work items submitted to the global concurrent queues have no ordering - * guarantee with respect to the order of submission, and workitems submitted - * to these queues may be invoked concurrently. - * - * Dispatch global concurrent queues are well-known global objects that are - * returned by dispatch_get_global_queue(). These objects cannot be modified. - * Calls to dispatch_suspend(), dispatch_resume(), dispatch_set_context(), etc., - * will have no effect when used with queues of this type. - */ -DISPATCH_DECL_SUBCLASS(dispatch_queue_global, dispatch_queue); - -/*! - * @typedef dispatch_queue_serial_t - * - * @abstract - * Dispatch serial queues invoke workitems submitted to them serially in FIFO - * order. - * - * @discussion - * Dispatch serial queues are lightweight objects to which workitems may be - * submitted to be invoked in FIFO order. A serial queue will only invoke one - * workitem at a time, but independent serial queues may each invoke their work - * items concurrently with respect to each other. - * - * Serial queues can target each other (See dispatch_set_target_queue()). The - * serial queue at the bottom of a queue hierarchy provides an exclusion - * context: at most one workitem submitted to any of the queues in such - * a hiearchy will run at any given time. - * - * Such hierarchies provide a natural construct to organize an application - * subsystem around. - * - * Serial queues are created by passing a dispatch queue attribute derived from - * DISPATCH_QUEUE_SERIAL to dispatch_queue_create_with_target(). - */ -DISPATCH_DECL_SUBCLASS(dispatch_queue_serial, dispatch_queue); - -/*! - * @typedef dispatch_queue_main_t - * - * @abstract - * The type of the default queue that is bound to the main thread. - * - * @discussion - * The main queue is a serial queue (See dispatch_queue_serial_t) which is bound - * to the main thread of an application. - * - * In order to invoke workitems submitted to the main queue, the application - * must call dispatch_main(), NSApplicationMain(), or use a CFRunLoop on the - * main thread. - * - * The main queue is a well known global object that is made automatically on - * behalf of the main thread during process initialization and is returned by - * dispatch_get_main_queue(). This object cannot be modified. Calls to - * dispatch_suspend(), dispatch_resume(), dispatch_set_context(), etc., will - * have no effect when used on the main queue. - */ -DISPATCH_DECL_SUBCLASS(dispatch_queue_main, dispatch_queue_serial); - -/*! - * @typedef dispatch_queue_concurrent_t - * - * @abstract - * Dispatch concurrent queues invoke workitems submitted to them concurrently, - * and admit a notion of barrier workitems. - * - * @discussion - * Dispatch concurrent queues are lightweight objects to which regular and - * barrier workitems may be submited. Barrier workitems are invoked in - * exclusion of any other kind of workitem in FIFO order. - * - * Regular workitems can be invoked concurrently for the same concurrent queue, - * in any order. However, regular workitems will not be invoked before any - * barrier workitem submited ahead of them has been invoked. - * - * In other words, if a serial queue is equivalent to a mutex in the Dispatch - * world, a concurrent queue is equivalent to a reader-writer lock, where - * regular items are readers and barriers are writers. - * - * Concurrent queues are created by passing a dispatch queue attribute derived - * from DISPATCH_QUEUE_CONCURRENT to dispatch_queue_create_with_target(). - * - * Caveat: - * Dispatch concurrent queues at this time do not implement priority inversion - * avoidance when lower priority regular workitems (readers) are being invoked - * and are preventing a higher priority barrier (writer) from being invoked. - */ -DISPATCH_DECL_SUBCLASS(dispatch_queue_concurrent, dispatch_queue); - -__BEGIN_DECLS - -/*! - * @function dispatch_async - * - * @abstract - * Submits a block for asynchronous execution on a dispatch queue. - * - * @discussion - * The dispatch_async() function is the fundamental mechanism for submitting - * blocks to a dispatch queue. - * - * Calls to dispatch_async() always return immediately after the block has - * been submitted, and never wait for the block to be invoked. - * - * The target queue determines whether the block will be invoked serially or - * concurrently with respect to other blocks submitted to that same queue. - * Serial queues are processed concurrently with respect to each other. - * - * @param queue - * The target dispatch queue to which the block is submitted. - * The system will hold a reference on the target queue until the block - * has finished. - * The result of passing NULL in this parameter is undefined. - * - * @param block - * The block to submit to the target dispatch queue. This function performs - * Block_copy() and Block_release() on behalf of callers. - * The result of passing NULL in this parameter is undefined. - */ -#ifdef __BLOCKS__ -API_AVAILABLE(macos(10.6), ios(4.0)) -DISPATCH_EXPORT DISPATCH_NONNULL_ALL DISPATCH_NOTHROW -void -dispatch_async(dispatch_queue_t queue, dispatch_block_t block); -#endif - -/*! - * @function dispatch_async_f - * - * @abstract - * Submits a function for asynchronous execution on a dispatch queue. - * - * @discussion - * See dispatch_async() for details. - * - * @param queue - * The target dispatch queue to which the function is submitted. - * The system will hold a reference on the target queue until the function - * has returned. - * The result of passing NULL in this parameter is undefined. - * - * @param context - * The application-defined context parameter to pass to the function. - * - * @param work - * The application-defined function to invoke on the target queue. The first - * parameter passed to this function is the context provided to - * dispatch_async_f(). - * The result of passing NULL in this parameter is undefined. - */ -API_AVAILABLE(macos(10.6), ios(4.0)) -DISPATCH_EXPORT DISPATCH_NONNULL1 DISPATCH_NONNULL3 DISPATCH_NOTHROW -void -dispatch_async_f(dispatch_queue_t queue, - void *_Nullable context, dispatch_function_t work); - -/*! - * @function dispatch_sync - * - * @abstract - * Submits a block for synchronous execution on a dispatch queue. - * - * @discussion - * Submits a workitem to a dispatch queue like dispatch_async(), however - * dispatch_sync() will not return until the workitem has finished. - * - * Work items submitted to a queue with dispatch_sync() do not observe certain - * queue attributes of that queue when invoked (such as autorelease frequency - * and QOS class). - * - * Calls to dispatch_sync() targeting the current queue will result - * in dead-lock. Use of dispatch_sync() is also subject to the same - * multi-party dead-lock problems that may result from the use of a mutex. - * Use of dispatch_async() is preferred. - * - * Unlike dispatch_async(), no retain is performed on the target queue. Because - * calls to this function are synchronous, the dispatch_sync() "borrows" the - * reference of the caller. - * - * As an optimization, dispatch_sync() invokes the workitem on the thread which - * submitted the workitem, except when the passed queue is the main queue or - * a queue targetting it (See dispatch_queue_main_t, - * dispatch_set_target_queue()). - * - * @param queue - * The target dispatch queue to which the block is submitted. - * The result of passing NULL in this parameter is undefined. - * - * @param block - * The block to be invoked on the target dispatch queue. - * The result of passing NULL in this parameter is undefined. - */ -#ifdef __BLOCKS__ -API_AVAILABLE(macos(10.6), ios(4.0)) -DISPATCH_EXPORT DISPATCH_NONNULL_ALL DISPATCH_NOTHROW -void -dispatch_sync(dispatch_queue_t queue, DISPATCH_NOESCAPE dispatch_block_t block); -#endif - -/*! - * @function dispatch_sync_f - * - * @abstract - * Submits a function for synchronous execution on a dispatch queue. - * - * @discussion - * See dispatch_sync() for details. - * - * @param queue - * The target dispatch queue to which the function is submitted. - * The result of passing NULL in this parameter is undefined. - * - * @param context - * The application-defined context parameter to pass to the function. - * - * @param work - * The application-defined function to invoke on the target queue. The first - * parameter passed to this function is the context provided to - * dispatch_sync_f(). - * The result of passing NULL in this parameter is undefined. - */ -API_AVAILABLE(macos(10.6), ios(4.0)) -DISPATCH_EXPORT DISPATCH_NONNULL1 DISPATCH_NONNULL3 DISPATCH_NOTHROW -void -dispatch_sync_f(dispatch_queue_t queue, - void *_Nullable context, dispatch_function_t work); - -/*! - * @function dispatch_async_and_wait - * - * @abstract - * Submits a block for synchronous execution on a dispatch queue. - * - * @discussion - * Submits a workitem to a dispatch queue like dispatch_async(), however - * dispatch_async_and_wait() will not return until the workitem has finished. - * - * Like functions of the dispatch_sync family, dispatch_async_and_wait() is - * subject to dead-lock (See dispatch_sync() for details). - * - * However, dispatch_async_and_wait() differs from functions of the - * dispatch_sync family in two fundamental ways: how it respects queue - * attributes and how it chooses the execution context invoking the workitem. - * - * Differences with dispatch_sync() - * - * Work items submitted to a queue with dispatch_async_and_wait() observe all - * queue attributes of that queue when invoked (inluding autorelease frequency - * or QOS class). - * - * When the runtime has brought up a thread to invoke the asynchronous workitems - * already submitted to the specified queue, that servicing thread will also be - * used to execute synchronous work submitted to the queue with - * dispatch_async_and_wait(). - * - * However, if the runtime has not brought up a thread to service the specified - * queue (because it has no workitems enqueued, or only synchronous workitems), - * then dispatch_async_and_wait() will invoke the workitem on the calling thread, - * similar to the behaviour of functions in the dispatch_sync family. - * - * As an exception, if the queue the work is submitted to doesn't target - * a global concurrent queue (for example because it targets the main queue), - * then the workitem will never be invoked by the thread calling - * dispatch_async_and_wait(). - * - * In other words, dispatch_async_and_wait() is similar to submitting - * a dispatch_block_create()d workitem to a queue and then waiting on it, as - * shown in the code example below. However, dispatch_async_and_wait() is - * significantly more efficient when a new thread is not required to execute - * the workitem (as it will use the stack of the submitting thread instead of - * requiring heap allocations). - * - * - * dispatch_block_t b = dispatch_block_create(0, block); - * dispatch_async(queue, b); - * dispatch_block_wait(b, DISPATCH_TIME_FOREVER); - * Block_release(b); - * - * - * @param queue - * The target dispatch queue to which the block is submitted. - * The result of passing NULL in this parameter is undefined. - * - * @param block - * The block to be invoked on the target dispatch queue. - * The result of passing NULL in this parameter is undefined. - */ -#ifdef __BLOCKS__ -API_AVAILABLE(macos(10.14), ios(12.0), tvos(12.0), watchos(5.0)) -DISPATCH_EXPORT DISPATCH_NONNULL_ALL DISPATCH_NOTHROW -void -dispatch_async_and_wait(dispatch_queue_t queue, - DISPATCH_NOESCAPE dispatch_block_t block); -#endif - -/*! - * @function dispatch_async_and_wait_f - * - * @abstract - * Submits a function for synchronous execution on a dispatch queue. - * - * @discussion - * See dispatch_async_and_wait() for details. - * - * @param queue - * The target dispatch queue to which the function is submitted. - * The result of passing NULL in this parameter is undefined. - * - * @param context - * The application-defined context parameter to pass to the function. - * - * @param work - * The application-defined function to invoke on the target queue. The first - * parameter passed to this function is the context provided to - * dispatch_async_and_wait_f(). - * The result of passing NULL in this parameter is undefined. - */ -API_AVAILABLE(macos(10.14), ios(12.0), tvos(12.0), watchos(5.0)) -DISPATCH_EXPORT DISPATCH_NONNULL1 DISPATCH_NONNULL3 DISPATCH_NOTHROW -void -dispatch_async_and_wait_f(dispatch_queue_t queue, - void *_Nullable context, dispatch_function_t work); - - -#if defined(__APPLE__) && \ - (defined(__IPHONE_OS_VERSION_MIN_REQUIRED) && \ - __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_7_0) || \ - (defined(__MAC_OS_X_VERSION_MIN_REQUIRED) && \ - __MAC_OS_X_VERSION_MIN_REQUIRED < __MAC_10_9) -#define DISPATCH_APPLY_AUTO_AVAILABLE 0 -#define DISPATCH_APPLY_QUEUE_ARG_NULLABILITY _Nonnull -#else -#define DISPATCH_APPLY_AUTO_AVAILABLE 1 -#define DISPATCH_APPLY_QUEUE_ARG_NULLABILITY _Nullable -#endif - -/*! - * @constant DISPATCH_APPLY_AUTO - * - * @abstract - * Constant to pass to dispatch_apply() or dispatch_apply_f() to request that - * the system automatically use worker threads that match the configuration of - * the current thread as closely as possible. - * - * @discussion - * When submitting a block for parallel invocation, passing this constant as the - * queue argument will automatically use the global concurrent queue that - * matches the Quality of Service of the caller most closely. - * - * No assumptions should be made about which global concurrent queue will - * actually be used. - * - * Using this constant deploys backward to macOS 10.9, iOS 7.0 and any tvOS or - * watchOS version. - */ -#if DISPATCH_APPLY_AUTO_AVAILABLE -#define DISPATCH_APPLY_AUTO ((dispatch_queue_t _Nonnull)0) -#endif - -/*! - * @function dispatch_apply - * - * @abstract - * Submits a block to a dispatch queue for parallel invocation. - * - * @discussion - * Submits a block to a dispatch queue for parallel invocation. This function - * waits for the task block to complete before returning. If the specified queue - * is concurrent, the block may be invoked concurrently, and it must therefore - * be reentrant safe. - * - * Each invocation of the block will be passed the current index of iteration. - * - * @param iterations - * The number of iterations to perform. - * - * @param queue - * The dispatch queue to which the block is submitted. - * The preferred value to pass is DISPATCH_APPLY_AUTO to automatically use - * a queue appropriate for the calling thread. - * - * @param block - * The block to be invoked the specified number of iterations. - * The result of passing NULL in this parameter is undefined. - */ -#ifdef __BLOCKS__ -API_AVAILABLE(macos(10.6), ios(4.0)) -DISPATCH_EXPORT DISPATCH_NONNULL3 DISPATCH_NOTHROW -void -dispatch_apply(size_t iterations, - dispatch_queue_t DISPATCH_APPLY_QUEUE_ARG_NULLABILITY queue, - DISPATCH_NOESCAPE void (^block)(size_t)); -#endif - -/*! - * @function dispatch_apply_f - * - * @abstract - * Submits a function to a dispatch queue for parallel invocation. - * - * @discussion - * See dispatch_apply() for details. - * - * @param iterations - * The number of iterations to perform. - * - * @param queue - * The dispatch queue to which the function is submitted. - * The preferred value to pass is DISPATCH_APPLY_AUTO to automatically use - * a queue appropriate for the calling thread. - * - * @param context - * The application-defined context parameter to pass to the function. - * - * @param work - * The application-defined function to invoke on the specified queue. The first - * parameter passed to this function is the context provided to - * dispatch_apply_f(). The second parameter passed to this function is the - * current index of iteration. - * The result of passing NULL in this parameter is undefined. - */ -API_AVAILABLE(macos(10.6), ios(4.0)) -DISPATCH_EXPORT DISPATCH_NONNULL4 DISPATCH_NOTHROW -void -dispatch_apply_f(size_t iterations, - dispatch_queue_t DISPATCH_APPLY_QUEUE_ARG_NULLABILITY queue, - void *_Nullable context, void (*work)(void *_Nullable, size_t)); - -/*! - * @function dispatch_get_current_queue - * - * @abstract - * Returns the queue on which the currently executing block is running. - * - * @discussion - * Returns the queue on which the currently executing block is running. - * - * When dispatch_get_current_queue() is called outside of the context of a - * submitted block, it will return the default concurrent queue. - * - * Recommended for debugging and logging purposes only: - * The code must not make any assumptions about the queue returned, unless it - * is one of the global queues or a queue the code has itself created. - * The code must not assume that synchronous execution onto a queue is safe - * from deadlock if that queue is not the one returned by - * dispatch_get_current_queue(). - * - * When dispatch_get_current_queue() is called on the main thread, it may - * or may not return the same value as dispatch_get_main_queue(). Comparing - * the two is not a valid way to test whether code is executing on the - * main thread (see dispatch_assert_queue() and dispatch_assert_queue_not()). - * - * This function is deprecated and will be removed in a future release. - * - * @result - * Returns the current queue. - */ -API_DEPRECATED("unsupported interface", macos(10.6,10.9), ios(4.0,6.0)) -DISPATCH_EXPORT DISPATCH_PURE DISPATCH_WARN_RESULT DISPATCH_NOTHROW -dispatch_queue_t -dispatch_get_current_queue(void); - -API_AVAILABLE(macos(10.6), ios(4.0)) -DISPATCH_EXPORT -struct dispatch_queue_s _dispatch_main_q; - -/*! - * @function dispatch_get_main_queue - * - * @abstract - * Returns the default queue that is bound to the main thread. - * - * @discussion - * In order to invoke blocks submitted to the main queue, the application must - * call dispatch_main(), NSApplicationMain(), or use a CFRunLoop on the main - * thread. - * - * The main queue is meant to be used in application context to interact with - * the main thread and the main runloop. - * - * Because the main queue doesn't behave entirely like a regular serial queue, - * it may have unwanted side-effects when used in processes that are not UI apps - * (daemons). For such processes, the main queue should be avoided. - * - * @see dispatch_queue_main_t - * - * @result - * Returns the main queue. This queue is created automatically on behalf of - * the main thread before main() is called. - */ -DISPATCH_INLINE DISPATCH_ALWAYS_INLINE DISPATCH_CONST DISPATCH_NOTHROW -dispatch_queue_main_t -dispatch_get_main_queue(void) -{ - return DISPATCH_GLOBAL_OBJECT(dispatch_queue_main_t, _dispatch_main_q); -} - -/*! - * @typedef dispatch_queue_priority_t - * Type of dispatch_queue_priority - * - * @constant DISPATCH_QUEUE_PRIORITY_HIGH - * Items dispatched to the queue will run at high priority, - * i.e. the queue will be scheduled for execution before - * any default priority or low priority queue. - * - * @constant DISPATCH_QUEUE_PRIORITY_DEFAULT - * Items dispatched to the queue will run at the default - * priority, i.e. the queue will be scheduled for execution - * after all high priority queues have been scheduled, but - * before any low priority queues have been scheduled. - * - * @constant DISPATCH_QUEUE_PRIORITY_LOW - * Items dispatched to the queue will run at low priority, - * i.e. the queue will be scheduled for execution after all - * default priority and high priority queues have been - * scheduled. - * - * @constant DISPATCH_QUEUE_PRIORITY_BACKGROUND - * Items dispatched to the queue will run at background priority, i.e. the queue - * will be scheduled for execution after all higher priority queues have been - * scheduled and the system will run items on this queue on a thread with - * background status as per setpriority(2) (i.e. disk I/O is throttled and the - * thread's scheduling priority is set to lowest value). - */ -#define DISPATCH_QUEUE_PRIORITY_HIGH 2 -#define DISPATCH_QUEUE_PRIORITY_DEFAULT 0 -#define DISPATCH_QUEUE_PRIORITY_LOW (-2) -#define DISPATCH_QUEUE_PRIORITY_BACKGROUND INT16_MIN - -typedef long dispatch_queue_priority_t; - -/*! - * @function dispatch_get_global_queue - * - * @abstract - * Returns a well-known global concurrent queue of a given quality of service - * class. - * - * @discussion - * See dispatch_queue_global_t. - * - * @param identifier - * A quality of service class defined in qos_class_t or a priority defined in - * dispatch_queue_priority_t. - * - * It is recommended to use quality of service class values to identify the - * well-known global concurrent queues: - * - QOS_CLASS_USER_INTERACTIVE - * - QOS_CLASS_USER_INITIATED - * - QOS_CLASS_DEFAULT - * - QOS_CLASS_UTILITY - * - QOS_CLASS_BACKGROUND - * - * The global concurrent queues may still be identified by their priority, - * which map to the following QOS classes: - * - DISPATCH_QUEUE_PRIORITY_HIGH: QOS_CLASS_USER_INITIATED - * - DISPATCH_QUEUE_PRIORITY_DEFAULT: QOS_CLASS_DEFAULT - * - DISPATCH_QUEUE_PRIORITY_LOW: QOS_CLASS_UTILITY - * - DISPATCH_QUEUE_PRIORITY_BACKGROUND: QOS_CLASS_BACKGROUND - * - * @param flags - * Reserved for future use. Passing any value other than zero may result in - * a NULL return value. - * - * @result - * Returns the requested global queue or NULL if the requested global queue - * does not exist. - */ -API_AVAILABLE(macos(10.6), ios(4.0)) -DISPATCH_EXPORT DISPATCH_CONST DISPATCH_WARN_RESULT DISPATCH_NOTHROW -dispatch_queue_global_t -dispatch_get_global_queue(intptr_t identifier, uintptr_t flags); - -/*! - * @typedef dispatch_queue_attr_t - * - * @abstract - * Attribute for dispatch queues. - */ -DISPATCH_DECL(dispatch_queue_attr); - -/*! - * @const DISPATCH_QUEUE_SERIAL - * - * @discussion - * An attribute that can be used to create a dispatch queue that invokes blocks - * serially in FIFO order. - * - * See dispatch_queue_serial_t. - */ -#define DISPATCH_QUEUE_SERIAL NULL - -/*! - * @const DISPATCH_QUEUE_SERIAL_INACTIVE - * - * @discussion - * An attribute that can be used to create a dispatch queue that invokes blocks - * serially in FIFO order, and that is initially inactive. - * - * See dispatch_queue_attr_make_initially_inactive(). - */ -#define DISPATCH_QUEUE_SERIAL_INACTIVE \ - dispatch_queue_attr_make_initially_inactive(DISPATCH_QUEUE_SERIAL) - -/*! - * @const DISPATCH_QUEUE_CONCURRENT - * - * @discussion - * An attribute that can be used to create a dispatch queue that may invoke - * blocks concurrently and supports barrier blocks submitted with the dispatch - * barrier API. - * - * See dispatch_queue_concurrent_t. - */ -#define DISPATCH_QUEUE_CONCURRENT \ - DISPATCH_GLOBAL_OBJECT(dispatch_queue_attr_t, \ - _dispatch_queue_attr_concurrent) -API_AVAILABLE(macos(10.7), ios(4.3)) -DISPATCH_EXPORT -struct dispatch_queue_attr_s _dispatch_queue_attr_concurrent; - -/*! - * @const DISPATCH_QUEUE_CONCURRENT_INACTIVE - * - * @discussion - * An attribute that can be used to create a dispatch queue that may invoke - * blocks concurrently and supports barrier blocks submitted with the dispatch - * barrier API, and that is initially inactive. - * - * See dispatch_queue_attr_make_initially_inactive(). - */ -#define DISPATCH_QUEUE_CONCURRENT_INACTIVE \ - dispatch_queue_attr_make_initially_inactive(DISPATCH_QUEUE_CONCURRENT) - -/*! - * @function dispatch_queue_attr_make_initially_inactive - * - * @abstract - * Returns an attribute value which may be provided to dispatch_queue_create() - * or dispatch_queue_create_with_target(), in order to make the created queue - * initially inactive. - * - * @discussion - * Dispatch queues may be created in an inactive state. Queues in this state - * have to be activated before any blocks associated with them will be invoked. - * - * A queue in inactive state cannot be deallocated, dispatch_activate() must be - * called before the last reference to a queue created with this attribute is - * released. - * - * The target queue of a queue in inactive state can be changed using - * dispatch_set_target_queue(). Change of target queue is no longer permitted - * once an initially inactive queue has been activated. - * - * @param attr - * A queue attribute value to be combined with the initially inactive attribute. - * - * @return - * Returns an attribute value which may be provided to dispatch_queue_create() - * and dispatch_queue_create_with_target(). - * The new value combines the attributes specified by the 'attr' parameter with - * the initially inactive attribute. - */ -API_AVAILABLE(macos(10.12), ios(10.0), tvos(10.0), watchos(3.0)) -DISPATCH_EXPORT DISPATCH_WARN_RESULT DISPATCH_PURE DISPATCH_NOTHROW -dispatch_queue_attr_t -dispatch_queue_attr_make_initially_inactive( - dispatch_queue_attr_t _Nullable attr); - -/*! - * @const DISPATCH_QUEUE_SERIAL_WITH_AUTORELEASE_POOL - * - * @discussion - * A dispatch queue created with this attribute invokes blocks serially in FIFO - * order, and surrounds execution of any block submitted asynchronously to it - * with the equivalent of a individual Objective-C @autoreleasepool - * scope. - * - * See dispatch_queue_attr_make_with_autorelease_frequency(). - */ -#define DISPATCH_QUEUE_SERIAL_WITH_AUTORELEASE_POOL \ - dispatch_queue_attr_make_with_autorelease_frequency(\ - DISPATCH_QUEUE_SERIAL, DISPATCH_AUTORELEASE_FREQUENCY_WORK_ITEM) - -/*! - * @const DISPATCH_QUEUE_CONCURRENT_WITH_AUTORELEASE_POOL - * - * @discussion - * A dispatch queue created with this attribute may invokes blocks concurrently - * and supports barrier blocks submitted with the dispatch barrier API. It also - * surrounds execution of any block submitted asynchronously to it with the - * equivalent of a individual Objective-C @autoreleasepool - * - * See dispatch_queue_attr_make_with_autorelease_frequency(). - */ -#define DISPATCH_QUEUE_CONCURRENT_WITH_AUTORELEASE_POOL \ - dispatch_queue_attr_make_with_autorelease_frequency(\ - DISPATCH_QUEUE_CONCURRENT, DISPATCH_AUTORELEASE_FREQUENCY_WORK_ITEM) - -/*! - * @typedef dispatch_autorelease_frequency_t - * Values to pass to the dispatch_queue_attr_make_with_autorelease_frequency() - * function. - * - * @const DISPATCH_AUTORELEASE_FREQUENCY_INHERIT - * Dispatch queues with this autorelease frequency inherit the behavior from - * their target queue. This is the default behavior for manually created queues. - * - * @const DISPATCH_AUTORELEASE_FREQUENCY_WORK_ITEM - * Dispatch queues with this autorelease frequency push and pop an autorelease - * pool around the execution of every block that was submitted to it - * asynchronously. - * @see dispatch_queue_attr_make_with_autorelease_frequency(). - * - * @const DISPATCH_AUTORELEASE_FREQUENCY_NEVER - * Dispatch queues with this autorelease frequency never set up an individual - * autorelease pool around the execution of a block that is submitted to it - * asynchronously. This is the behavior of the global concurrent queues. - */ -DISPATCH_ENUM(dispatch_autorelease_frequency, unsigned long, - DISPATCH_AUTORELEASE_FREQUENCY_INHERIT DISPATCH_ENUM_API_AVAILABLE( - macos(10.12), ios(10.0), tvos(10.0), watchos(3.0)) = 0, - DISPATCH_AUTORELEASE_FREQUENCY_WORK_ITEM DISPATCH_ENUM_API_AVAILABLE( - macos(10.12), ios(10.0), tvos(10.0), watchos(3.0)) = 1, - DISPATCH_AUTORELEASE_FREQUENCY_NEVER DISPATCH_ENUM_API_AVAILABLE( - macos(10.12), ios(10.0), tvos(10.0), watchos(3.0)) = 2, -); - -/*! - * @function dispatch_queue_attr_make_with_autorelease_frequency - * - * @abstract - * Returns a dispatch queue attribute value with the autorelease frequency - * set to the specified value. - * - * @discussion - * When a queue uses the per-workitem autorelease frequency (either directly - * or inherithed from its target queue), any block submitted asynchronously to - * this queue (via dispatch_async(), dispatch_barrier_async(), - * dispatch_group_notify(), etc...) is executed as if surrounded by a individual - * Objective-C @autoreleasepool scope. - * - * Autorelease frequency has no effect on blocks that are submitted - * synchronously to a queue (via dispatch_sync(), dispatch_barrier_sync()). - * - * The global concurrent queues have the DISPATCH_AUTORELEASE_FREQUENCY_NEVER - * behavior. Manually created dispatch queues use - * DISPATCH_AUTORELEASE_FREQUENCY_INHERIT by default. - * - * Queues created with this attribute cannot change target queues after having - * been activated. See dispatch_set_target_queue() and dispatch_activate(). - * - * @param attr - * A queue attribute value to be combined with the specified autorelease - * frequency or NULL. - * - * @param frequency - * The requested autorelease frequency. - * - * @return - * Returns an attribute value which may be provided to dispatch_queue_create() - * or NULL if an invalid autorelease frequency was requested. - * This new value combines the attributes specified by the 'attr' parameter and - * the chosen autorelease frequency. - */ -API_AVAILABLE(macos(10.12), ios(10.0), tvos(10.0), watchos(3.0)) -DISPATCH_EXPORT DISPATCH_WARN_RESULT DISPATCH_PURE DISPATCH_NOTHROW -dispatch_queue_attr_t -dispatch_queue_attr_make_with_autorelease_frequency( - dispatch_queue_attr_t _Nullable attr, - dispatch_autorelease_frequency_t frequency); - -/*! - * @function dispatch_queue_attr_make_with_qos_class - * - * @abstract - * Returns an attribute value which may be provided to dispatch_queue_create() - * or dispatch_queue_create_with_target(), in order to assign a QOS class and - * relative priority to the queue. - * - * @discussion - * When specified in this manner, the QOS class and relative priority take - * precedence over those inherited from the dispatch queue's target queue (if - * any) as long that does not result in a lower QOS class and relative priority. - * - * The global queue priorities map to the following QOS classes: - * - DISPATCH_QUEUE_PRIORITY_HIGH: QOS_CLASS_USER_INITIATED - * - DISPATCH_QUEUE_PRIORITY_DEFAULT: QOS_CLASS_DEFAULT - * - DISPATCH_QUEUE_PRIORITY_LOW: QOS_CLASS_UTILITY - * - DISPATCH_QUEUE_PRIORITY_BACKGROUND: QOS_CLASS_BACKGROUND - * - * Example: - * - * dispatch_queue_t queue; - * dispatch_queue_attr_t attr; - * attr = dispatch_queue_attr_make_with_qos_class(DISPATCH_QUEUE_SERIAL, - * QOS_CLASS_UTILITY, 0); - * queue = dispatch_queue_create("com.example.myqueue", attr); - * - * - * The QOS class and relative priority set this way on a queue have no effect on - * blocks that are submitted synchronously to a queue (via dispatch_sync(), - * dispatch_barrier_sync()). - * - * @param attr - * A queue attribute value to be combined with the QOS class, or NULL. - * - * @param qos_class - * A QOS class value: - * - QOS_CLASS_USER_INTERACTIVE - * - QOS_CLASS_USER_INITIATED - * - QOS_CLASS_DEFAULT - * - QOS_CLASS_UTILITY - * - QOS_CLASS_BACKGROUND - * Passing any other value results in NULL being returned. - * - * @param relative_priority - * A relative priority within the QOS class. This value is a negative - * offset from the maximum supported scheduler priority for the given class. - * Passing a value greater than zero or less than QOS_MIN_RELATIVE_PRIORITY - * results in NULL being returned. - * - * @return - * Returns an attribute value which may be provided to dispatch_queue_create() - * and dispatch_queue_create_with_target(), or NULL if an invalid QOS class was - * requested. - * The new value combines the attributes specified by the 'attr' parameter and - * the new QOS class and relative priority. - */ -API_AVAILABLE(macos(10.10), ios(8.0)) -DISPATCH_EXPORT DISPATCH_WARN_RESULT DISPATCH_PURE DISPATCH_NOTHROW -dispatch_queue_attr_t -dispatch_queue_attr_make_with_qos_class(dispatch_queue_attr_t _Nullable attr, - dispatch_qos_class_t qos_class, int relative_priority); - -/*! - * @const DISPATCH_TARGET_QUEUE_DEFAULT - * @discussion Constant to pass to the dispatch_queue_create_with_target(), - * dispatch_set_target_queue() and dispatch_source_create() functions to - * indicate that the default target queue for the object type in question - * should be used. - */ -#define DISPATCH_TARGET_QUEUE_DEFAULT NULL - -/*! - * @function dispatch_queue_create_with_target - * - * @abstract - * Creates a new dispatch queue with a specified target queue. - * - * @discussion - * Dispatch queues created with the DISPATCH_QUEUE_SERIAL or a NULL attribute - * invoke blocks serially in FIFO order. - * - * Dispatch queues created with the DISPATCH_QUEUE_CONCURRENT attribute may - * invoke blocks concurrently (similarly to the global concurrent queues, but - * potentially with more overhead), and support barrier blocks submitted with - * the dispatch barrier API, which e.g. enables the implementation of efficient - * reader-writer schemes. - * - * When a dispatch queue is no longer needed, it should be released with - * dispatch_release(). Note that any pending blocks submitted asynchronously to - * a queue will hold a reference to that queue. Therefore a queue will not be - * deallocated until all pending blocks have finished. - * - * When using a dispatch queue attribute @a attr specifying a QoS class (derived - * from the result of dispatch_queue_attr_make_with_qos_class()), passing the - * result of dispatch_get_global_queue() in @a target will ignore the QoS class - * of that global queue and will use the global queue with the QoS class - * specified by attr instead. - * - * Queues created with dispatch_queue_create_with_target() cannot have their - * target queue changed, unless created inactive (See - * dispatch_queue_attr_make_initially_inactive()), in which case the target - * queue can be changed until the newly created queue is activated with - * dispatch_activate(). - * - * @param label - * A string label to attach to the queue. - * This parameter is optional and may be NULL. - * - * @param attr - * A predefined attribute such as DISPATCH_QUEUE_SERIAL, - * DISPATCH_QUEUE_CONCURRENT, or the result of a call to - * a dispatch_queue_attr_make_with_* function. - * - * @param target - * The target queue for the newly created queue. The target queue is retained. - * If this parameter is DISPATCH_TARGET_QUEUE_DEFAULT, sets the queue's target - * queue to the default target queue for the given queue type. - * - * @result - * The newly created dispatch queue. - */ -API_AVAILABLE(macos(10.12), ios(10.0), tvos(10.0), watchos(3.0)) -DISPATCH_EXPORT DISPATCH_MALLOC DISPATCH_RETURNS_RETAINED DISPATCH_WARN_RESULT -DISPATCH_NOTHROW -dispatch_queue_t -dispatch_queue_create_with_target(const char *_Nullable label, - dispatch_queue_attr_t _Nullable attr, dispatch_queue_t _Nullable target) - DISPATCH_ALIAS_V2(dispatch_queue_create_with_target); - -/*! - * @function dispatch_queue_create - * - * @abstract - * Creates a new dispatch queue to which blocks may be submitted. - * - * @discussion - * Dispatch queues created with the DISPATCH_QUEUE_SERIAL or a NULL attribute - * invoke blocks serially in FIFO order. - * - * Dispatch queues created with the DISPATCH_QUEUE_CONCURRENT attribute may - * invoke blocks concurrently (similarly to the global concurrent queues, but - * potentially with more overhead), and support barrier blocks submitted with - * the dispatch barrier API, which e.g. enables the implementation of efficient - * reader-writer schemes. - * - * When a dispatch queue is no longer needed, it should be released with - * dispatch_release(). Note that any pending blocks submitted asynchronously to - * a queue will hold a reference to that queue. Therefore a queue will not be - * deallocated until all pending blocks have finished. - * - * Passing the result of the dispatch_queue_attr_make_with_qos_class() function - * to the attr parameter of this function allows a quality of service class and - * relative priority to be specified for the newly created queue. - * The quality of service class so specified takes precedence over the quality - * of service class of the newly created dispatch queue's target queue (if any) - * as long that does not result in a lower QOS class and relative priority. - * - * When no quality of service class is specified, the target queue of a newly - * created dispatch queue is the default priority global concurrent queue. - * - * @param label - * A string label to attach to the queue. - * This parameter is optional and may be NULL. - * - * @param attr - * A predefined attribute such as DISPATCH_QUEUE_SERIAL, - * DISPATCH_QUEUE_CONCURRENT, or the result of a call to - * a dispatch_queue_attr_make_with_* function. - * - * @result - * The newly created dispatch queue. - */ -API_AVAILABLE(macos(10.6), ios(4.0)) -DISPATCH_EXPORT DISPATCH_MALLOC DISPATCH_RETURNS_RETAINED DISPATCH_WARN_RESULT -DISPATCH_NOTHROW -dispatch_queue_t -dispatch_queue_create(const char *_Nullable label, - dispatch_queue_attr_t _Nullable attr); - -/*! - * @const DISPATCH_CURRENT_QUEUE_LABEL - * @discussion Constant to pass to the dispatch_queue_get_label() function to - * retrieve the label of the current queue. - */ -#define DISPATCH_CURRENT_QUEUE_LABEL NULL - -/*! - * @function dispatch_queue_get_label - * - * @abstract - * Returns the label of the given queue, as specified when the queue was - * created, or the empty string if a NULL label was specified. - * - * Passing DISPATCH_CURRENT_QUEUE_LABEL will return the label of the current - * queue. - * - * @param queue - * The queue to query, or DISPATCH_CURRENT_QUEUE_LABEL. - * - * @result - * The label of the queue. - */ -API_AVAILABLE(macos(10.6), ios(4.0)) -DISPATCH_EXPORT DISPATCH_PURE DISPATCH_WARN_RESULT DISPATCH_NOTHROW -const char * -dispatch_queue_get_label(dispatch_queue_t _Nullable queue); - -/*! - * @function dispatch_queue_get_qos_class - * - * @abstract - * Returns the QOS class and relative priority of the given queue. - * - * @discussion - * If the given queue was created with an attribute value returned from - * dispatch_queue_attr_make_with_qos_class(), this function returns the QOS - * class and relative priority specified at that time; for any other attribute - * value it returns a QOS class of QOS_CLASS_UNSPECIFIED and a relative - * priority of 0. - * - * If the given queue is one of the global queues, this function returns its - * assigned QOS class value as documented under dispatch_get_global_queue() and - * a relative priority of 0; in the case of the main queue it returns the QOS - * value provided by qos_class_main() and a relative priority of 0. - * - * @param queue - * The queue to query. - * - * @param relative_priority_ptr - * A pointer to an int variable to be filled with the relative priority offset - * within the QOS class, or NULL. - * - * @return - * A QOS class value: - * - QOS_CLASS_USER_INTERACTIVE - * - QOS_CLASS_USER_INITIATED - * - QOS_CLASS_DEFAULT - * - QOS_CLASS_UTILITY - * - QOS_CLASS_BACKGROUND - * - QOS_CLASS_UNSPECIFIED - */ -API_AVAILABLE(macos(10.10), ios(8.0)) -DISPATCH_EXPORT DISPATCH_WARN_RESULT DISPATCH_NONNULL1 DISPATCH_NOTHROW -dispatch_qos_class_t -dispatch_queue_get_qos_class(dispatch_queue_t queue, - int *_Nullable relative_priority_ptr); - -/*! - * @function dispatch_set_target_queue - * - * @abstract - * Sets the target queue for the given object. - * - * @discussion - * An object's target queue is responsible for processing the object. - * - * When no quality of service class and relative priority is specified for a - * dispatch queue at the time of creation, a dispatch queue's quality of service - * class is inherited from its target queue. The dispatch_get_global_queue() - * function may be used to obtain a target queue of a specific quality of - * service class, however the use of dispatch_queue_attr_make_with_qos_class() - * is recommended instead. - * - * Blocks submitted to a serial queue whose target queue is another serial - * queue will not be invoked concurrently with blocks submitted to the target - * queue or to any other queue with that same target queue. - * - * The result of introducing a cycle into the hierarchy of target queues is - * undefined. - * - * A dispatch source's target queue specifies where its event handler and - * cancellation handler blocks will be submitted. - * - * A dispatch I/O channel's target queue specifies where where its I/O - * operations are executed. If the channel's target queue's priority is set to - * DISPATCH_QUEUE_PRIORITY_BACKGROUND, then the I/O operations performed by - * dispatch_io_read() or dispatch_io_write() on that queue will be - * throttled when there is I/O contention. - * - * For all other dispatch object types, the only function of the target queue - * is to determine where an object's finalizer function is invoked. - * - * In general, changing the target queue of an object is an asynchronous - * operation that doesn't take effect immediately, and doesn't affect blocks - * already associated with the specified object. - * - * However, if an object is inactive at the time dispatch_set_target_queue() is - * called, then the target queue change takes effect immediately, and will - * affect blocks already associated with the specified object. After an - * initially inactive object has been activated, calling - * dispatch_set_target_queue() results in an assertion and the process being - * terminated. - * - * If a dispatch queue is active and targeted by other dispatch objects, - * changing its target queue results in undefined behavior. - * - * @param object - * The object to modify. - * The result of passing NULL in this parameter is undefined. - * - * @param queue - * The new target queue for the object. The queue is retained, and the - * previous target queue, if any, is released. - * If queue is DISPATCH_TARGET_QUEUE_DEFAULT, set the object's target queue - * to the default target queue for the given object type. - */ -API_AVAILABLE(macos(10.6), ios(4.0)) -DISPATCH_EXPORT DISPATCH_NOTHROW -void -dispatch_set_target_queue(dispatch_object_t object, - dispatch_queue_t _Nullable queue); - -/*! - * @function dispatch_main - * - * @abstract - * Execute blocks submitted to the main queue. - * - * @discussion - * This function "parks" the main thread and waits for blocks to be submitted - * to the main queue. This function never returns. - * - * Applications that call NSApplicationMain() or CFRunLoopRun() on the - * main thread do not need to call dispatch_main(). - */ -API_AVAILABLE(macos(10.6), ios(4.0)) -DISPATCH_EXPORT DISPATCH_NOTHROW DISPATCH_NORETURN -void -dispatch_main(void); - -/*! - * @function dispatch_after - * - * @abstract - * Schedule a block for execution on a given queue at a specified time. - * - * @discussion - * Passing DISPATCH_TIME_NOW as the "when" parameter is supported, but not as - * optimal as calling dispatch_async() instead. Passing DISPATCH_TIME_FOREVER - * is undefined. - * - * @param when - * A temporal milestone returned by dispatch_time() or dispatch_walltime(). - * - * @param queue - * A queue to which the given block will be submitted at the specified time. - * The result of passing NULL in this parameter is undefined. - * - * @param block - * The block of code to execute. - * The result of passing NULL in this parameter is undefined. - */ -#ifdef __BLOCKS__ -API_AVAILABLE(macos(10.6), ios(4.0)) -DISPATCH_EXPORT DISPATCH_NONNULL2 DISPATCH_NONNULL3 DISPATCH_NOTHROW -void -dispatch_after(dispatch_time_t when, dispatch_queue_t queue, - dispatch_block_t block); -#endif - -/*! - * @function dispatch_after_f - * - * @abstract - * Schedule a function for execution on a given queue at a specified time. - * - * @discussion - * See dispatch_after() for details. - * - * @param when - * A temporal milestone returned by dispatch_time() or dispatch_walltime(). - * - * @param queue - * A queue to which the given function will be submitted at the specified time. - * The result of passing NULL in this parameter is undefined. - * - * @param context - * The application-defined context parameter to pass to the function. - * - * @param work - * The application-defined function to invoke on the target queue. The first - * parameter passed to this function is the context provided to - * dispatch_after_f(). - * The result of passing NULL in this parameter is undefined. - */ -API_AVAILABLE(macos(10.6), ios(4.0)) -DISPATCH_EXPORT DISPATCH_NONNULL2 DISPATCH_NONNULL4 DISPATCH_NOTHROW -void -dispatch_after_f(dispatch_time_t when, dispatch_queue_t queue, - void *_Nullable context, dispatch_function_t work); - -/*! - * @functiongroup Dispatch Barrier API - * The dispatch barrier API is a mechanism for submitting barrier blocks to a - * dispatch queue, analogous to the dispatch_async()/dispatch_sync() API. - * It enables the implementation of efficient reader/writer schemes. - * Barrier blocks only behave specially when submitted to queues created with - * the DISPATCH_QUEUE_CONCURRENT attribute; on such a queue, a barrier block - * will not run until all blocks submitted to the queue earlier have completed, - * and any blocks submitted to the queue after a barrier block will not run - * until the barrier block has completed. - * When submitted to a a global queue or to a queue not created with the - * DISPATCH_QUEUE_CONCURRENT attribute, barrier blocks behave identically to - * blocks submitted with the dispatch_async()/dispatch_sync() API. - */ - -/*! - * @function dispatch_barrier_async - * - * @abstract - * Submits a barrier block for asynchronous execution on a dispatch queue. - * - * @discussion - * Submits a block to a dispatch queue like dispatch_async(), but marks that - * block as a barrier (relevant only on DISPATCH_QUEUE_CONCURRENT queues). - * - * See dispatch_async() for details and "Dispatch Barrier API" for a description - * of the barrier semantics. - * - * @param queue - * The target dispatch queue to which the block is submitted. - * The system will hold a reference on the target queue until the block - * has finished. - * The result of passing NULL in this parameter is undefined. - * - * @param block - * The block to submit to the target dispatch queue. This function performs - * Block_copy() and Block_release() on behalf of callers. - * The result of passing NULL in this parameter is undefined. - */ -#ifdef __BLOCKS__ -API_AVAILABLE(macos(10.7), ios(4.3)) -DISPATCH_EXPORT DISPATCH_NONNULL_ALL DISPATCH_NOTHROW -void -dispatch_barrier_async(dispatch_queue_t queue, dispatch_block_t block); -#endif - -/*! - * @function dispatch_barrier_async_f - * - * @abstract - * Submits a barrier function for asynchronous execution on a dispatch queue. - * - * @discussion - * Submits a function to a dispatch queue like dispatch_async_f(), but marks - * that function as a barrier (relevant only on DISPATCH_QUEUE_CONCURRENT - * queues). - * - * See dispatch_async_f() for details and "Dispatch Barrier API" for a - * description of the barrier semantics. - * - * @param queue - * The target dispatch queue to which the function is submitted. - * The system will hold a reference on the target queue until the function - * has returned. - * The result of passing NULL in this parameter is undefined. - * - * @param context - * The application-defined context parameter to pass to the function. - * - * @param work - * The application-defined function to invoke on the target queue. The first - * parameter passed to this function is the context provided to - * dispatch_barrier_async_f(). - * The result of passing NULL in this parameter is undefined. - */ -API_AVAILABLE(macos(10.7), ios(4.3)) -DISPATCH_EXPORT DISPATCH_NONNULL1 DISPATCH_NONNULL3 DISPATCH_NOTHROW -void -dispatch_barrier_async_f(dispatch_queue_t queue, - void *_Nullable context, dispatch_function_t work); - -/*! - * @function dispatch_barrier_sync - * - * @abstract - * Submits a barrier block for synchronous execution on a dispatch queue. - * - * @discussion - * Submits a block to a dispatch queue like dispatch_sync(), but marks that - * block as a barrier (relevant only on DISPATCH_QUEUE_CONCURRENT queues). - * - * See dispatch_sync() for details and "Dispatch Barrier API" for a description - * of the barrier semantics. - * - * @param queue - * The target dispatch queue to which the block is submitted. - * The result of passing NULL in this parameter is undefined. - * - * @param block - * The block to be invoked on the target dispatch queue. - * The result of passing NULL in this parameter is undefined. - */ -#ifdef __BLOCKS__ -API_AVAILABLE(macos(10.7), ios(4.3)) -DISPATCH_EXPORT DISPATCH_NONNULL_ALL DISPATCH_NOTHROW -void -dispatch_barrier_sync(dispatch_queue_t queue, - DISPATCH_NOESCAPE dispatch_block_t block); -#endif - -/*! - * @function dispatch_barrier_sync_f - * - * @abstract - * Submits a barrier function for synchronous execution on a dispatch queue. - * - * @discussion - * Submits a function to a dispatch queue like dispatch_sync_f(), but marks that - * fuction as a barrier (relevant only on DISPATCH_QUEUE_CONCURRENT queues). - * - * See dispatch_sync_f() for details. - * - * @param queue - * The target dispatch queue to which the function is submitted. - * The result of passing NULL in this parameter is undefined. - * - * @param context - * The application-defined context parameter to pass to the function. - * - * @param work - * The application-defined function to invoke on the target queue. The first - * parameter passed to this function is the context provided to - * dispatch_barrier_sync_f(). - * The result of passing NULL in this parameter is undefined. - */ -API_AVAILABLE(macos(10.7), ios(4.3)) -DISPATCH_EXPORT DISPATCH_NONNULL1 DISPATCH_NONNULL3 DISPATCH_NOTHROW -void -dispatch_barrier_sync_f(dispatch_queue_t queue, - void *_Nullable context, dispatch_function_t work); - -/*! - * @function dispatch_barrier_async_and_wait - * - * @abstract - * Submits a block for synchronous execution on a dispatch queue. - * - * @discussion - * Submits a block to a dispatch queue like dispatch_async_and_wait(), but marks - * that block as a barrier (relevant only on DISPATCH_QUEUE_CONCURRENT - * queues). - * - * See "Dispatch Barrier API" for a description of the barrier semantics. - * - * @param queue - * The target dispatch queue to which the block is submitted. - * The result of passing NULL in this parameter is undefined. - * - * @param work - * The application-defined block to invoke on the target queue. - * The result of passing NULL in this parameter is undefined. - */ -#ifdef __BLOCKS__ -API_AVAILABLE(macos(10.14), ios(12.0), tvos(12.0), watchos(5.0)) -DISPATCH_EXPORT DISPATCH_NONNULL_ALL DISPATCH_NOTHROW -void -dispatch_barrier_async_and_wait(dispatch_queue_t queue, - DISPATCH_NOESCAPE dispatch_block_t block); -#endif - -/*! - * @function dispatch_barrier_async_and_wait_f - * - * @abstract - * Submits a function for synchronous execution on a dispatch queue. - * - * @discussion - * Submits a function to a dispatch queue like dispatch_async_and_wait_f(), but - * marks that function as a barrier (relevant only on DISPATCH_QUEUE_CONCURRENT - * queues). - * - * See "Dispatch Barrier API" for a description of the barrier semantics. - * - * @param queue - * The target dispatch queue to which the function is submitted. - * The result of passing NULL in this parameter is undefined. - * - * @param context - * The application-defined context parameter to pass to the function. - * - * @param work - * The application-defined function to invoke on the target queue. The first - * parameter passed to this function is the context provided to - * dispatch_barrier_async_and_wait_f(). - * The result of passing NULL in this parameter is undefined. - */ -API_AVAILABLE(macos(10.14), ios(12.0), tvos(12.0), watchos(5.0)) -DISPATCH_EXPORT DISPATCH_NONNULL1 DISPATCH_NONNULL3 DISPATCH_NOTHROW -void -dispatch_barrier_async_and_wait_f(dispatch_queue_t queue, - void *_Nullable context, dispatch_function_t work); - -/*! - * @functiongroup Dispatch queue-specific contexts - * This API allows different subsystems to associate context to a shared queue - * without risk of collision and to retrieve that context from blocks executing - * on that queue or any of its child queues in the target queue hierarchy. - */ - -/*! - * @function dispatch_queue_set_specific - * - * @abstract - * Associates a subsystem-specific context with a dispatch queue, for a key - * unique to the subsystem. - * - * @discussion - * The specified destructor will be invoked with the context on the default - * priority global concurrent queue when a new context is set for the same key, - * or after all references to the queue have been released. - * - * @param queue - * The dispatch queue to modify. - * The result of passing NULL in this parameter is undefined. - * - * @param key - * The key to set the context for, typically a pointer to a static variable - * specific to the subsystem. Keys are only compared as pointers and never - * dereferenced. Passing a string constant directly is not recommended. - * The NULL key is reserved and attempts to set a context for it are ignored. - * - * @param context - * The new subsystem-specific context for the object. This may be NULL. - * - * @param destructor - * The destructor function pointer. This may be NULL and is ignored if context - * is NULL. - */ -API_AVAILABLE(macos(10.7), ios(5.0)) -DISPATCH_EXPORT DISPATCH_NONNULL1 DISPATCH_NOTHROW -void -dispatch_queue_set_specific(dispatch_queue_t queue, const void *key, - void *_Nullable context, dispatch_function_t _Nullable destructor); - -/*! - * @function dispatch_queue_get_specific - * - * @abstract - * Returns the subsystem-specific context associated with a dispatch queue, for - * a key unique to the subsystem. - * - * @discussion - * Returns the context for the specified key if it has been set on the specified - * queue. - * - * @param queue - * The dispatch queue to query. - * The result of passing NULL in this parameter is undefined. - * - * @param key - * The key to get the context for, typically a pointer to a static variable - * specific to the subsystem. Keys are only compared as pointers and never - * dereferenced. Passing a string constant directly is not recommended. - * - * @result - * The context for the specified key or NULL if no context was found. - */ -API_AVAILABLE(macos(10.7), ios(5.0)) -DISPATCH_EXPORT DISPATCH_NONNULL1 DISPATCH_PURE DISPATCH_WARN_RESULT -DISPATCH_NOTHROW -void *_Nullable -dispatch_queue_get_specific(dispatch_queue_t queue, const void *key); - -/*! - * @function dispatch_get_specific - * - * @abstract - * Returns the current subsystem-specific context for a key unique to the - * subsystem. - * - * @discussion - * When called from a block executing on a queue, returns the context for the - * specified key if it has been set on the queue, otherwise returns the result - * of dispatch_get_specific() executed on the queue's target queue or NULL - * if the current queue is a global concurrent queue. - * - * @param key - * The key to get the context for, typically a pointer to a static variable - * specific to the subsystem. Keys are only compared as pointers and never - * dereferenced. Passing a string constant directly is not recommended. - * - * @result - * The context for the specified key or NULL if no context was found. - */ -API_AVAILABLE(macos(10.7), ios(5.0)) -DISPATCH_EXPORT DISPATCH_PURE DISPATCH_WARN_RESULT DISPATCH_NOTHROW -void *_Nullable -dispatch_get_specific(const void *key); - -/*! - * @functiongroup Dispatch assertion API - * - * This API asserts at runtime that code is executing in (or out of) the context - * of a given queue. It can be used to check that a block accessing a resource - * does so from the proper queue protecting the resource. It also can be used - * to verify that a block that could cause a deadlock if run on a given queue - * never executes on that queue. - */ - -/*! - * @function dispatch_assert_queue - * - * @abstract - * Verifies that the current block is executing on a given dispatch queue. - * - * @discussion - * Some code expects to be run on a specific dispatch queue. This function - * verifies that that expectation is true. - * - * If the currently executing block was submitted to the specified queue or to - * any queue targeting it (see dispatch_set_target_queue()), this function - * returns. - * - * If the currently executing block was submitted with a synchronous API - * (dispatch_sync(), dispatch_barrier_sync(), ...), the context of the - * submitting block is also evaluated (recursively). - * If a synchronously submitting block is found that was itself submitted to - * the specified queue or to any queue targeting it, this function returns. - * - * Otherwise this function asserts: it logs an explanation to the system log and - * terminates the application. - * - * Passing the result of dispatch_get_main_queue() to this function verifies - * that the current block was submitted to the main queue, or to a queue - * targeting it, or is running on the main thread (in any context). - * - * When dispatch_assert_queue() is called outside of the context of a - * submitted block (for example from the context of a thread created manually - * with pthread_create()) then this function will also assert and terminate - * the application. - * - * The variant dispatch_assert_queue_debug() is compiled out when the - * preprocessor macro NDEBUG is defined. (See also assert(3)). - * - * @param queue - * The dispatch queue that the current block is expected to run on. - * The result of passing NULL in this parameter is undefined. - */ -API_AVAILABLE(macos(10.12), ios(10.0), tvos(10.0), watchos(3.0)) -DISPATCH_EXPORT DISPATCH_NONNULL1 -void -dispatch_assert_queue(dispatch_queue_t queue) - DISPATCH_ALIAS_V2(dispatch_assert_queue); - -/*! - * @function dispatch_assert_queue_barrier - * - * @abstract - * Verifies that the current block is executing on a given dispatch queue, - * and that the block acts as a barrier on that queue. - * - * @discussion - * This behaves exactly like dispatch_assert_queue(), with the additional check - * that the current block acts as a barrier on the specified queue, which is - * always true if the specified queue is serial (see DISPATCH_BLOCK_BARRIER or - * dispatch_barrier_async() for details). - * - * The variant dispatch_assert_queue_barrier_debug() is compiled out when the - * preprocessor macro NDEBUG is defined. (See also assert()). - * - * @param queue - * The dispatch queue that the current block is expected to run as a barrier on. - * The result of passing NULL in this parameter is undefined. - */ -API_AVAILABLE(macos(10.12), ios(10.0), tvos(10.0), watchos(3.0)) -DISPATCH_EXPORT DISPATCH_NONNULL1 -void -dispatch_assert_queue_barrier(dispatch_queue_t queue); - -/*! - * @function dispatch_assert_queue_not - * - * @abstract - * Verifies that the current block is not executing on a given dispatch queue. - * - * @discussion - * This function is the equivalent of dispatch_assert_queue() with the test for - * equality inverted. That means that it will terminate the application when - * dispatch_assert_queue() would return, and vice-versa. See discussion there. - * - * The variant dispatch_assert_queue_not_debug() is compiled out when the - * preprocessor macro NDEBUG is defined. (See also assert(3)). - * - * @param queue - * The dispatch queue that the current block is expected not to run on. - * The result of passing NULL in this parameter is undefined. - */ -API_AVAILABLE(macos(10.12), ios(10.0), tvos(10.0), watchos(3.0)) -DISPATCH_EXPORT DISPATCH_NONNULL1 -void -dispatch_assert_queue_not(dispatch_queue_t queue) - DISPATCH_ALIAS_V2(dispatch_assert_queue_not); - -#ifdef NDEBUG -#define dispatch_assert_queue_debug(q) ((void)(0 && (q))) -#define dispatch_assert_queue_barrier_debug(q) ((void)(0 && (q))) -#define dispatch_assert_queue_not_debug(q) ((void)(0 && (q))) -#else -#define dispatch_assert_queue_debug(q) dispatch_assert_queue(q) -#define dispatch_assert_queue_barrier_debug(q) dispatch_assert_queue_barrier(q) -#define dispatch_assert_queue_not_debug(q) dispatch_assert_queue_not(q) -#endif - -__END_DECLS - -DISPATCH_ASSUME_NONNULL_END - -#endif \ No newline at end of file diff --git a/lib/libc/include/any-macos.11-any/execinfo.h b/lib/libc/include/any-macos.11-any/execinfo.h deleted file mode 100644 index 65d9d20486..0000000000 --- a/lib/libc/include/any-macos.11-any/execinfo.h +++ /dev/null @@ -1,63 +0,0 @@ -/* - * Copyright (c) 2007 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 _EXECINFO_H_ -#define _EXECINFO_H_ 1 - -#include -#include -#include -#include -#include -#include - -__BEGIN_DECLS - -int backtrace(void**,int) __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); - -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); - -struct image_offset { - /* - * The UUID of the image. - */ - uuid_t uuid; - - /* - * The offset is relative to the __TEXT section of the image. - */ - uint32_t offset; -}; - -API_AVAILABLE(macosx(10.14), ios(12.0), tvos(12.0), watchos(5.0)) -OS_EXPORT -void backtrace_image_offsets(void* const* array, - struct image_offset *image_offsets, int size); - -__END_DECLS - -#endif /* !_EXECINFO_H_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.11-any/gethostuuid.h b/lib/libc/include/any-macos.11-any/gethostuuid.h deleted file mode 100644 index cc7f473118..0000000000 --- a/lib/libc/include/any-macos.11-any/gethostuuid.h +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Copyright (c) 2013 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 __GETHOSTUUID_H -#define __GETHOSTUUID_H - -#include -#include -#include - -#if defined(__IPHONE_OS_VERSION_MIN_REQUIRED) && (__IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_7_0) -int gethostuuid(uuid_t, const struct timespec *) __OSX_AVAILABLE_BUT_DEPRECATED_MSG(__MAC_NA, __MAC_NA, __IPHONE_2_0, __IPHONE_5_0, "gethostuuid() is no longer supported"); -#else -int gethostuuid(uuid_t, const struct timespec *) __OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_NA); -#endif - -#endif /* __GETHOSTUUID_H */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.11-any/libkern/OSDebug.h b/lib/libc/include/any-macos.11-any/libkern/OSDebug.h deleted file mode 100644 index a465b46326..0000000000 --- a/lib/libc/include/any-macos.11-any/libkern/OSDebug.h +++ /dev/null @@ -1,69 +0,0 @@ -/* - * Copyright (c) 2000 Apple Computer, 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@ - */ -/* - * Copyright (c) 1999 Apple Computer, Inc. All rights reserved. - * - * HISTORY - * - */ - -#ifndef _OS_OSDEBBUG_H -#define _OS_OSDEBBUG_H - -#include -#include - -__BEGIN_DECLS - -extern int log_leaks; - -/* Use kernel_debug() to log a backtrace */ -extern void trace_backtrace(unsigned int debugid, unsigned int debugid2, unsigned long size, unsigned long data); -/* Report a message with a 4 entry backtrace - very slow */ -extern void OSReportWithBacktrace(const char *str, ...); -extern unsigned OSBacktrace(void **bt, unsigned maxAddrs); - -/* Simple dump of 20 backtrace entries */ -extern void OSPrintBacktrace(void); - -/*! @function OSKernelStackRemaining - * @abstract Returns bytes available below the current stack frame. - * @discussion Returns bytes available below the current stack frame. Safe for interrupt or thread context. - * @result Approximate byte count available. */ - -vm_offset_t OSKernelStackRemaining( void ); - -__END_DECLS - -#define TRACE_MACHLEAKS(a, b, c, d) \ -do { \ - if (__builtin_expect(!!log_leaks, 0)) \ - trace_backtrace(a,b,c,d); \ -} while(0) - -#endif /* !_OS_OSDEBBUG_H */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.11-any/libkern/OSKextLib.h b/lib/libc/include/any-macos.11-any/libkern/OSKextLib.h deleted file mode 100644 index 7b2e1c2da2..0000000000 --- a/lib/libc/include/any-macos.11-any/libkern/OSKextLib.h +++ /dev/null @@ -1,572 +0,0 @@ -/* - * Copyright (c) 2008 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 _LIBKERN_OSKEXTLIB_H -#define _LIBKERN_OSKEXTLIB_H - -#include -__BEGIN_DECLS - -#include -#include -#include -#include - -#include -#include - -/*! - * @header - * - * Declares functions, basic return values, and other constants - * related to kernel extensions (kexts). - */ - -#if PRAGMA_MARK -#pragma mark - -/********************************************************************/ -#pragma mark OSReturn Values for Kernel Extensions -/********************************************************************/ -#endif -/*! - * @group OSReturn Values for Kernel Extensions - * Many kext-related functions return these values, - * as well as those defined under - * @link //apple_ref/c/tdef/OSReturn OSReturn@/link - * and other variants of kern_return_t. - */ - - -#define sub_libkern_kext err_sub(2) -#define libkern_kext_err(code) (sys_libkern|sub_libkern_kext|(code)) - - -/*! - * @define kOSKextReturnInternalError - * @abstract An internal error in the kext library. - * Contrast with @link //apple_ref/c/econst/OSReturnError - * OSReturnError@/link. - */ -#define kOSKextReturnInternalError libkern_kext_err(0x1) - -/*! - * @define kOSKextReturnNoMemory - * @abstract Memory allocation failed. - */ -#define kOSKextReturnNoMemory libkern_kext_err(0x2) - -/*! - * @define kOSKextReturnNoResources - * @abstract Some resource other than memory (such as available load tags) - * is exhausted. - */ -#define kOSKextReturnNoResources libkern_kext_err(0x3) - -/*! - * @define kOSKextReturnNotPrivileged - * @abstract The caller lacks privileges to perform the requested operation. - */ -#define kOSKextReturnNotPrivileged libkern_kext_err(0x4) - -/*! - * @define kOSKextReturnInvalidArgument - * @abstract Invalid argument. - */ -#define kOSKextReturnInvalidArgument libkern_kext_err(0x5) - -/*! - * @define kOSKextReturnNotFound - * @abstract Search item not found. - */ -#define kOSKextReturnNotFound libkern_kext_err(0x6) - -/*! - * @define kOSKextReturnBadData - * @abstract Malformed data (not used for XML). - */ -#define kOSKextReturnBadData libkern_kext_err(0x7) - -/*! - * @define kOSKextReturnSerialization - * @abstract Error converting or (un)serializing URL, string, or XML. - */ -#define kOSKextReturnSerialization libkern_kext_err(0x8) - -/*! - * @define kOSKextReturnUnsupported - * @abstract Operation is no longer or not yet supported. - */ -#define kOSKextReturnUnsupported libkern_kext_err(0x9) - -/*! - * @define kOSKextReturnDisabled - * @abstract Operation is currently disabled. - */ -#define kOSKextReturnDisabled libkern_kext_err(0xa) - -/*! - * @define kOSKextReturnNotAKext - * @abstract Bundle is not a kernel extension. - */ -#define kOSKextReturnNotAKext libkern_kext_err(0xb) - -/*! - * @define kOSKextReturnValidation - * @abstract Validation failures encountered; check diagnostics for details. - */ -#define kOSKextReturnValidation libkern_kext_err(0xc) - -/*! - * @define kOSKextReturnAuthentication - * @abstract Authetication failures encountered; check diagnostics for details. - */ -#define kOSKextReturnAuthentication libkern_kext_err(0xd) - -/*! - * @define kOSKextReturnDependencies - * @abstract Dependency resolution failures encountered; check diagnostics for details. - */ -#define kOSKextReturnDependencies libkern_kext_err(0xe) - -/*! - * @define kOSKextReturnArchNotFound - * @abstract Kext does not contain code for the requested architecture. - */ -#define kOSKextReturnArchNotFound libkern_kext_err(0xf) - -/*! - * @define kOSKextReturnCache - * @abstract An error occurred processing a system kext cache. - */ -#define kOSKextReturnCache libkern_kext_err(0x10) - -/*! - * @define kOSKextReturnDeferred - * @abstract Operation has been posted asynchronously to user space (kernel only). - */ -#define kOSKextReturnDeferred libkern_kext_err(0x11) - -/*! - * @define kOSKextReturnBootLevel - * @abstract Kext not loadable or operation not allowed at current boot level. - */ -#define kOSKextReturnBootLevel libkern_kext_err(0x12) - -/*! - * @define kOSKextReturnNotLoadable - * @abstract Kext cannot be loaded; check diagnostics for details. - */ -#define kOSKextReturnNotLoadable libkern_kext_err(0x13) - -/*! - * @define kOSKextReturnLoadedVersionDiffers - * @abstract A different version (or executable UUID, or executable by checksum) - * of the requested kext is already loaded. - */ -#define kOSKextReturnLoadedVersionDiffers libkern_kext_err(0x14) - -/*! - * @define kOSKextReturnDependencyLoadError - * @abstract A load error occurred on a dependency of the kext being loaded. - */ -#define kOSKextReturnDependencyLoadError libkern_kext_err(0x15) - -/*! - * @define kOSKextReturnLinkError - * @abstract A link failure occured with this kext or a dependency. - */ -#define kOSKextReturnLinkError libkern_kext_err(0x16) - -/*! - * @define kOSKextReturnStartStopError - * @abstract The kext start or stop routine returned an error. - */ -#define kOSKextReturnStartStopError libkern_kext_err(0x17) - -/*! - * @define kOSKextReturnInUse - * @abstract The kext is currently in use or has outstanding references, - * and cannot be unloaded. - */ -#define kOSKextReturnInUse libkern_kext_err(0x18) - -/*! - * @define kOSKextReturnTimeout - * @abstract A kext request has timed out. - */ -#define kOSKextReturnTimeout libkern_kext_err(0x19) - -/*! - * @define kOSKextReturnStopping - * @abstract The kext is in the process of stopping; requests cannot be made. - */ -#define kOSKextReturnStopping libkern_kext_err(0x1a) - -/*! - * @define kOSKextReturnSystemPolicy - * @abstract The kext was prevented from loading due to system policy. - */ -#define kOSKextReturnSystemPolicy libkern_kext_err(0x1b) - -/*! - * @define kOSKextReturnKCLoadFailure - * @abstract Loading of the System KC failed - */ -#define kOSKextReturnKCLoadFailure libkern_kext_err(0x1c) - -/*! - * @define kOSKextReturnKCLoadFailureSystemKC - * @abstract Loading of the System KC failed - * - * This a sub-code of kOSKextReturnKCLoadFailure. It can be OR'd together - * with: kOSKextReturnKCLoadFailureAuxKC - * - * If both the System and Aux KCs fail to load, then the error code will be: - * libkern_kext_err(0x1f) - */ -#define kOSKextReturnKCLoadFailureSystemKC libkern_kext_err(0x1d) - -/*! - * @define kOSKextReturnKCLoadFailureAuxKC - * @abstract Loading of the Aux KC failed - * - * This a sub-code of kOSKextReturnKCLoadFailure. It can be OR'd together - * with: kOSKextReturnKCLoadFailureSystemKC - * - * If both the System and Aux KCs fail to load, then the error code will be: - * libkern_kext_err(0x1f) - */ -#define kOSKextReturnKCLoadFailureAuxKC libkern_kext_err(0x1e) - -/* next available error is: libkern_kext_err(0x20) */ - -#if PRAGMA_MARK -#pragma mark - -/********************************************************************/ -#pragma mark Kext/OSBundle Property List Keys -/********************************************************************/ -#endif -/*! - * @group Kext Property List Keys - * These constants cover CFBundle properties defined for kernel extensions. - * Because they are used in the kernel, if you want to use one with - * CFBundle APIs you'll need to wrap it in a CFSTR() macro. - */ - - -/*! - * @define kOSBundleCompatibleVersionKey - * @abstract A string giving the backwards-compatible version of a library kext - * in extended Mac OS 'vers' format (####.##.##s{1-255} where 's' - * is a build stage 'd', 'a', 'b', 'f' or 'fc'). - */ -#define kOSBundleCompatibleVersionKey "OSBundleCompatibleVersion" - -/*! - * @define kOSBundleEnableKextLoggingKey - * @abstract Set to true to have the kernel kext logging spec applied - * to the kext. - * See @link //apple_ref/c/econst/OSKextLogSpec - * OSKextLogSpec@/link. - */ -#define kOSBundleEnableKextLoggingKey "OSBundleEnableKextLogging" - -/*! - * @define kOSBundleIsInterfaceKey - * @abstract A boolean value indicating whether the kext executable - * contains only symbol references. - */ -#define kOSBundleIsInterfaceKey "OSBundleIsInterface" - -/*! - * @define kOSBundleLibrariesKey - * @abstract A dictionary listing link dependencies for this kext. - * Keys are bundle identifiers, values are version strings. - */ -#define kOSBundleLibrariesKey "OSBundleLibraries" - -/*! - * @define kOSBundleRequiredKey - * @abstract A string indicating in which kinds of startup this kext - * may need to load during early startup (before - * @link //apple_ref/doc/man/8/kextd kextcache(8)@/link). - * @discussion - * The value is one of: - *
    - *
  • @link kOSBundleRequiredRoot "OSBundleRequiredRoot"@/link
  • - *
  • @link kOSBundleRequiredLocalRoot "OSBundleRequiredLocalRoot"@/link
  • - *
  • @link kOSBundleRequiredNetworkRoot "OSBundleRequiredNetworkRoot"@/link
  • - *
  • @link kOSBundleRequiredSafeBoot "OSBundleRequiredSafeBoot"@/link
  • - *
  • @link kOSBundleRequiredConsole "OSBundleRequiredConsole"@/link
  • - *
- * - * Use this property judiciously. - * Every kext that declares a value other than "OSBundleRequiredSafeBoot" - * increases startup time, as the booter must read it into memory, - * or startup kext caches must include it. - */ -#define kOSBundleRequiredKey "OSBundleRequired" - -/*! - * @define kOSBundleRequireExplicitLoadKey - * @abstract A boolean value indicating whether the kext requires an - * explicit kextload in order to start/match. - */ -#define kOSBundleRequireExplicitLoadKey "OSBundleRequireExplicitLoad" - -/*! - * @define kOSBundleAllowUserLoadKey - * @abstract A boolean value indicating whether - * @link //apple_ref/doc/man/8/kextd kextcache(8)@/link - * will honor a non-root process's request to load a kext. - * @discussion - * See @link //apple_ref/doc/compositePage/c/func/KextManagerLoadKextWithURL - * KextManagerLoadKextWithURL@/link - * and @link //apple_ref/doc/compositePage/c/func/KextManagerLoadKextWithIdentifier - * KextManagerLoadKextWithIdentifier@/link. - */ -#define kOSBundleAllowUserLoadKey "OSBundleAllowUserLoad" - -/*! - * @define kOSBundleAllowUserTerminateKey - * @abstract A boolean value indicating whether the kextunload tool - * is allowed to issue IOService terminate to classes defined in this kext. - * @discussion A boolean value indicating whether the kextunload tool - * is allowed to issue IOService terminate to classes defined in this kext. - */ -#define kOSBundleAllowUserTerminateKey "OSBundleAllowUserTerminate" - -/*! - * @define kOSKernelResourceKey - * @abstract A boolean value indicating whether the kext represents a built-in - * component of the kernel. - */ -#define kOSKernelResourceKey "OSKernelResource" - -/*! - * @define kOSKextVariantOverrideKey - * @abstract A dictionary with target names as key and a target-specific variant - * name as value. - */ -#define kOSKextVariantOverrideKey "OSKextVariantOverride" - -/*! - * @define kIOKitPersonalitiesKey - * @abstract A dictionary of dictionaries used in matching for I/O Kit drivers. - */ -#define kIOKitPersonalitiesKey "IOKitPersonalities" - -/* - * @define kIOPersonalityPublisherKey - * @abstract Used in personalities sent to the I/O Kit, - * contains the CFBundleIdentifier of the kext - * that the personality originated in. - */ -#define kIOPersonalityPublisherKey "IOPersonalityPublisher" - -#if CONFIG_KEC_FIPS -/* - * @define kAppleTextHashesKey - * @abstract A dictionary conataining hashes for corecrypto kext. - */ -#define kAppleTextHashesKey "AppleTextHashes" -#endif - -/*! - * @define kOSMutableSegmentCopy - * @abstract A boolean value indicating whether the kext requires a copy of - * its mutable segments to be kept in memory, and then reset when the kext - * unloads. This should be used with caution as it will increase the - * amount of memory used by the kext. - */ -#define kOSMutableSegmentCopy "OSMutableSegmentCopy" - - -#if PRAGMA_MARK -/********************************************************************/ -#pragma mark Kext/OSBundle Property Deprecated Keys -/********************************************************************/ -#endif -/* - * @define kOSBundleDebugLevelKey - * @abstract - * Deprecated (used on some releases of Mac OS X prior to 10.6 Snow Leopard). - * Value is an integer from 1-6, corresponding to the verbose levels - * of kext tools on those releases. - * On 10.6 Snow Leopard, use @link OSKextEnableKextLogging - * OSKextEnableKextLogging@/link. - */ -#define kOSBundleDebugLevelKey "OSBundleDebugLevel" - -/*! - * @define kOSBundleSharedExecutableIdentifierKey - * @abstract Deprecated (used on some releases of Mac OS X - * prior to 10.6 Snow Leopard). - * Value is the bundle identifier of the pseudokext - * that contains an executable shared by this kext. - */ -#define kOSBundleSharedExecutableIdentifierKey "OSBundleSharedExecutableIdentifier" - - -#if PRAGMA_MARK -/********************************************************************/ -#pragma mark Kext/OSBundle Property List Values -/********************************************************************/ -#endif - -/*! - * @group Kext Property List Values - * These constants encompass established values - * for kernel extension bundle properties. - */ - -/*! - * @define kOSKextKernelIdentifier - * @abstract - * This is the CFBundleIdentifier user for the kernel itself. - */ -#define kOSKextKernelIdentifier "__kernel__" - -/*! - * @define kOSKextBundlePackageTypeKext - * @abstract - * The bundle type value for Kernel Extensions. - */ -#define kOSKextBundlePackageTypeKext "KEXT" - -/*! - * @define kOSKextBundlePackageTypeDriverKit - * @abstract - * The bundle type value for Driver Extensions. - */ -#define kOSKextBundlePackageTypeDriverKit "DEXT" - -/*! - * @define kOSBundleRequiredRoot - * @abstract - * This @link kOSBundleRequiredKey OSBundleRequired@/link - * value indicates that the kext may be needed to mount the root filesystem - * whether starting from a local or a network volume. - */ -#define kOSBundleRequiredRoot "Root" - -/*! - * @define kOSBundleRequiredLocalRoot - * @abstract - * This @link kOSBundleRequiredKey OSBundleRequired@/link - * value indicates that the kext may be needed to mount the root filesystem - * when starting from a local disk. - */ -#define kOSBundleRequiredLocalRoot "Local-Root" - -/*! - * @define kOSBundleRequiredNetworkRoot - * @abstract - * This @link kOSBundleRequiredKey OSBundleRequired@/link - * value indicates that the kext may be needed to mount the root filesystem - * when starting over a network connection. - */ -#define kOSBundleRequiredNetworkRoot "Network-Root" - -/*! - * @define kOSBundleRequiredSafeBoot - * @abstract - * This @link kOSBundleRequiredKey OSBundleRequired@/link - * value indicates that the kext can be loaded during a safe startup. - * This value does not normally cause the kext to be read by the booter - * or included in startup kext caches. - */ -#define kOSBundleRequiredSafeBoot "Safe Boot" - -/*! - * @define kOSBundleRequiredConsole - * @abstract - * This @link kOSBundleRequiredKey OSBundleRequired@/link - * value indicates that the kext may be needed for console access - * (specifically in a single-user startup when - * @link //apple_ref/doc/man/8/kextd kextd(8)@/link. - * does not run) - * and should be loaded during early startup. - */ -#define kOSBundleRequiredConsole "Console" - -/*! - * @define kOSBundleRequiredDriverKit - * @abstract - * This @link kOSBundleRequiredKey OSBundleRequired@/link - * value indicates that the driver extension's (DriverKit driver's) - * personalities must be present in the kernel at early boot (specifically - * before @link //apple_ref/doc/man/8/kextd kextd(8)@/link starts) - * in order to compete with kexts built into the prelinkedkernel. Note that - * kextd is still required to launch the user space driver binary. The IOKit - * matching will happen during early boot, and the actual driver launch - * will happen after kextd starts. - */ -#define kOSBundleRequiredDriverKit "DriverKit" - -#if PRAGMA_MARK -#pragma mark - -/********************************************************************/ -#pragma mark Kext Information -/********************************************************************/ -#endif -/*! - * @group Kext Information - * Types, constants, and macros providing a kext with information - * about itself. - */ - -/*! - * @typedef OSKextLoadTag - * - * @abstract - * A unique identifier assigned to a loaded instanace of a kext. - * - * @discussion - * If a kext is unloaded and later reloaded, the new instance - * has a different load tag. - * - * A kext can get its own load tag in the kmod_info_t - * structure passed into its module start routine, as the - * id field (cast to this type). - */ -typedef uint32_t OSKextLoadTag; - -/*! - * @define kOSKextInvalidLoadTag - * - * @abstract - * A load tag value that will never be used for a loaded kext; - * indicates kext not found. - */ -#define kOSKextInvalidLoadTag ((OSKextLoadTag)(-1)) - - -__END_DECLS - -#endif /* _LIBKERN_OSKEXTLIB_H */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.11-any/libproc.h b/lib/libc/include/any-macos.11-any/libproc.h deleted file mode 100644 index de2c766c28..0000000000 --- a/lib/libc/include/any-macos.11-any/libproc.h +++ /dev/null @@ -1,187 +0,0 @@ -/* - * Copyright (c) 2006, 2007, 2010 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 _LIBPROC_H_ -#define _LIBPROC_H_ - -#include -#include -#include -#include -#include -#include -#include -#include -#include /* for audit_token_t */ - -#include - -#include -#include - -/* - * This header file contains private interfaces to obtain process information. - * These interfaces are subject to change in future releases. - */ - -/*! - * @define PROC_LISTPIDSPATH_PATH_IS_VOLUME - * @discussion This flag indicates that all processes that hold open - * file references on the volume associated with the specified - * path should be returned. - */ -#define PROC_LISTPIDSPATH_PATH_IS_VOLUME 1 - - -/*! - * @define PROC_LISTPIDSPATH_EXCLUDE_EVTONLY - * @discussion This flag indicates that file references that were opened - * with the O_EVTONLY flag should be excluded from the matching - * criteria. - */ -#define PROC_LISTPIDSPATH_EXCLUDE_EVTONLY 2 - -__BEGIN_DECLS - - -/*! - * @function proc_listpidspath - * @discussion A function which will search through the current - * processes looking for open file references which match - * a specified path or volume. - * @param type types of processes to be searched (see proc_listpids) - * @param typeinfo adjunct information for type - * @param path file or volume path - * @param pathflags flags to control which files should be considered - * during the process search. - * @param buffer a C array of int-sized values to be filled with - * process identifiers that hold an open file reference - * matching the specified path or volume. Pass NULL to - * obtain the minimum buffer size needed to hold the - * currently active processes. - * @param buffersize the size (in bytes) of the provided buffer. - * @result the number of bytes of data returned in the provided buffer; - * -1 if an error was encountered; - */ -int proc_listpidspath(uint32_t type, - uint32_t typeinfo, - const char *path, - uint32_t pathflags, - void *buffer, - int buffersize) __OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_2_0); - -int proc_listpids(uint32_t type, uint32_t typeinfo, void *buffer, int buffersize) __OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_2_0); -int proc_listallpids(void * buffer, int buffersize) __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_4_1); -int proc_listpgrppids(pid_t pgrpid, void * buffer, int buffersize) __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_4_1); -int proc_listchildpids(pid_t ppid, void * buffer, int buffersize) __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_4_1); -int proc_pidinfo(int pid, int flavor, uint64_t arg, void *buffer, int buffersize) __OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_2_0); -int proc_pidfdinfo(int pid, int fd, int flavor, void * buffer, int buffersize) __OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_2_0); -int proc_pidfileportinfo(int pid, uint32_t fileport, int flavor, void *buffer, int buffersize) __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_4_3); -int proc_name(int pid, void * buffer, uint32_t buffersize) __OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_2_0); -int proc_regionfilename(int pid, uint64_t address, void * buffer, uint32_t buffersize) __OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_2_0); -int proc_kmsgbuf(void * buffer, uint32_t buffersize) __OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_2_0); -int proc_pidpath(int pid, void * buffer, uint32_t buffersize) __OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_2_0); -int proc_pidpath_audittoken(audit_token_t *audittoken, void * buffer, uint32_t buffersize) API_AVAILABLE(macos(11.0), ios(14.0), watchos(7.0), tvos(14.0)); -int proc_libversion(int *major, int * minor) __OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_2_0); - -/* - * Return resource usage information for the given pid, which can be a live process or a zombie. - * - * Returns 0 on success; or -1 on failure, with errno set to indicate the specific error. - */ -int proc_pid_rusage(int pid, int flavor, rusage_info_t *buffer) __OSX_AVAILABLE_STARTING(__MAC_10_9, __IPHONE_7_0); - -/* - * A process can use the following api to set its own process control - * state on resoure starvation. The argument can have one of the PROC_SETPC_XX values - */ -#define PROC_SETPC_NONE 0 -#define PROC_SETPC_THROTTLEMEM 1 -#define PROC_SETPC_SUSPEND 2 -#define PROC_SETPC_TERMINATE 3 - -int proc_setpcontrol(const int control) __OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_3_2); -int proc_setpcontrol(const int control); - -int proc_track_dirty(pid_t pid, uint32_t flags); -int proc_set_dirty(pid_t pid, bool dirty); -int proc_get_dirty(pid_t pid, uint32_t *flags); -int proc_clear_dirty(pid_t pid, uint32_t flags); - -int proc_terminate(pid_t pid, int *sig); - -/* - * NO_SMT means that on an SMT CPU, this thread must be scheduled alone, - * with the paired CPU idle. - * - * Set NO_SMT on the current proc (all existing and future threads) - * This attribute is inherited on fork and exec - */ -int proc_set_no_smt(void) __API_AVAILABLE(macos(11.0)); - -/* Set NO_SMT on the current thread */ -int proc_setthread_no_smt(void) __API_AVAILABLE(macos(11.0)); - -/* - * CPU Security Mitigation APIs - * - * Set CPU security mitigation on the current proc (all existing and future threads) - * This attribute is inherited on fork and exec - */ -int proc_set_csm(uint32_t flags) __API_AVAILABLE(macos(11.0)); - -/* Set CPU security mitigation on the current thread */ -int proc_setthread_csm(uint32_t flags) __API_AVAILABLE(macos(11.0)); - -/* - * flags for CPU Security Mitigation APIs - * PROC_CSM_ALL should be used in most cases, - * the individual flags are provided only for performance evaluation etc - */ -#define PROC_CSM_ALL 0x0001 /* Set all available mitigations */ -#define PROC_CSM_NOSMT 0x0002 /* Set NO_SMT - see above */ -#define PROC_CSM_TECS 0x0004 /* Execute VERW on every return to user mode */ - -#ifdef PRIVATE -#include -/* - * Enumerate potential userspace pointers embedded in kernel data structures. - * Currently inspects kqueues only. - * - * NOTE: returned "pointers" are opaque user-supplied values and thus not - * guaranteed to address valid objects or be pointers at all. - * - * Returns the number of pointers found (which may exceed buffersize), or -1 on - * failure and errno set appropriately. - */ -int proc_list_uptrs(pid_t pid, uint64_t *buffer, uint32_t buffersize); - -int proc_list_dynkqueueids(int pid, kqueue_id_t *buf, uint32_t bufsz); -int proc_piddynkqueueinfo(int pid, int flavor, kqueue_id_t kq_id, void *buffer, - int buffersize); -#endif /* PRIVATE */ - -int proc_udata_info(int pid, int flavor, void *buffer, int buffersize); - -__END_DECLS - -#endif /*_LIBPROC_H_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.11-any/mach-o/loader.h b/lib/libc/include/any-macos.11-any/mach-o/loader.h deleted file mode 100644 index d1520d52cb..0000000000 --- a/lib/libc/include/any-macos.11-any/mach-o/loader.h +++ /dev/null @@ -1,1601 +0,0 @@ -/* - * Copyright (c) 1999-2010 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 _MACHO_LOADER_H_ -#define _MACHO_LOADER_H_ - -/* - * This file describes the format of mach object files. - */ -#include - -/* - * is needed here for the cpu_type_t and cpu_subtype_t types - * and contains the constants for the possible values of these types. - */ -#include - -/* - * is needed here for the vm_prot_t type and contains the - * constants that are or'ed together for the possible values of this type. - */ -#include - -/* - * is expected to define the flavors of the thread - * states and the structures of those flavors for each machine. - */ -#include -#include - -/* - * The 32-bit mach header appears at the very beginning of the object file for - * 32-bit architectures. - */ -struct mach_header { - uint32_t magic; /* mach magic number identifier */ - cpu_type_t cputype; /* cpu specifier */ - cpu_subtype_t cpusubtype; /* machine specifier */ - uint32_t filetype; /* type of file */ - uint32_t ncmds; /* number of load commands */ - uint32_t sizeofcmds; /* the size of all the load commands */ - uint32_t flags; /* flags */ -}; - -/* Constant for the magic field of the mach_header (32-bit architectures) */ -#define MH_MAGIC 0xfeedface /* the mach magic number */ -#define MH_CIGAM 0xcefaedfe /* NXSwapInt(MH_MAGIC) */ - -/* - * The 64-bit mach header appears at the very beginning of object files for - * 64-bit architectures. - */ -struct mach_header_64 { - uint32_t magic; /* mach magic number identifier */ - cpu_type_t cputype; /* cpu specifier */ - cpu_subtype_t cpusubtype; /* machine specifier */ - uint32_t filetype; /* type of file */ - uint32_t ncmds; /* number of load commands */ - uint32_t sizeofcmds; /* the size of all the load commands */ - uint32_t flags; /* flags */ - uint32_t reserved; /* reserved */ -}; - -/* Constant for the magic field of the mach_header_64 (64-bit architectures) */ -#define MH_MAGIC_64 0xfeedfacf /* the 64-bit mach magic number */ -#define MH_CIGAM_64 0xcffaedfe /* NXSwapInt(MH_MAGIC_64) */ - -/* - * The layout of the file depends on the filetype. For all but the MH_OBJECT - * file type the segments are padded out and aligned on a segment alignment - * boundary for efficient demand pageing. The MH_EXECUTE, MH_FVMLIB, MH_DYLIB, - * MH_DYLINKER and MH_BUNDLE file types also have the headers included as part - * of their first segment. - * - * The file type MH_OBJECT is a compact format intended as output of the - * assembler and input (and possibly output) of the link editor (the .o - * format). All sections are in one unnamed segment with no segment padding. - * This format is used as an executable format when the file is so small the - * segment padding greatly increases its size. - * - * The file type MH_PRELOAD is an executable format intended for things that - * are not executed under the kernel (proms, stand alones, kernels, etc). The - * format can be executed under the kernel but may demand paged it and not - * preload it before execution. - * - * A core file is in MH_CORE format and can be any in an arbritray legal - * Mach-O file. - * - * Constants for the filetype field of the mach_header - */ -#define MH_OBJECT 0x1 /* relocatable object file */ -#define MH_EXECUTE 0x2 /* demand paged executable file */ -#define MH_FVMLIB 0x3 /* fixed VM shared library file */ -#define MH_CORE 0x4 /* core file */ -#define MH_PRELOAD 0x5 /* preloaded executable file */ -#define MH_DYLIB 0x6 /* dynamically bound shared library */ -#define MH_DYLINKER 0x7 /* dynamic link editor */ -#define MH_BUNDLE 0x8 /* dynamically bound bundle file */ -#define MH_DYLIB_STUB 0x9 /* shared library stub for static - linking only, no section contents */ -#define MH_DSYM 0xa /* companion file with only debug - sections */ -#define MH_KEXT_BUNDLE 0xb /* x86_64 kexts */ -#define MH_FILESET 0xc /* a file composed of other Mach-Os to - be run in the same userspace sharing - a single linkedit. */ - -/* Constants for the flags field of the mach_header */ -#define MH_NOUNDEFS 0x1 /* the object file has no undefined - references */ -#define MH_INCRLINK 0x2 /* the object file is the output of an - incremental link against a base file - and can't be link edited again */ -#define MH_DYLDLINK 0x4 /* the object file is input for the - dynamic linker and can't be staticly - link edited again */ -#define MH_BINDATLOAD 0x8 /* the object file's undefined - references are bound by the dynamic - linker when loaded. */ -#define MH_PREBOUND 0x10 /* the file has its dynamic undefined - references prebound. */ -#define MH_SPLIT_SEGS 0x20 /* the file has its read-only and - read-write segments split */ -#define MH_LAZY_INIT 0x40 /* the shared library init routine is - to be run lazily via catching memory - faults to its writeable segments - (obsolete) */ -#define MH_TWOLEVEL 0x80 /* the image is using two-level name - space bindings */ -#define MH_FORCE_FLAT 0x100 /* the executable is forcing all images - to use flat name space bindings */ -#define MH_NOMULTIDEFS 0x200 /* this umbrella guarantees no multiple - defintions of symbols in its - sub-images so the two-level namespace - hints can always be used. */ -#define MH_NOFIXPREBINDING 0x400 /* do not have dyld notify the - prebinding agent about this - executable */ -#define MH_PREBINDABLE 0x800 /* the binary is not prebound but can - have its prebinding redone. only used - when MH_PREBOUND is not set. */ -#define MH_ALLMODSBOUND 0x1000 /* indicates that this binary binds to - all two-level namespace modules of - its dependent libraries. only used - when MH_PREBINDABLE and MH_TWOLEVEL - are both set. */ -#define MH_SUBSECTIONS_VIA_SYMBOLS 0x2000/* safe to divide up the sections into - sub-sections via symbols for dead - code stripping */ -#define MH_CANONICAL 0x4000 /* the binary has been canonicalized - via the unprebind operation */ -#define MH_WEAK_DEFINES 0x8000 /* the final linked image contains - external weak symbols */ -#define MH_BINDS_TO_WEAK 0x10000 /* the final linked image uses - weak symbols */ - -#define MH_ALLOW_STACK_EXECUTION 0x20000/* When this bit is set, all stacks - in the task will be given stack - execution privilege. Only used in - MH_EXECUTE filetypes. */ -#define MH_ROOT_SAFE 0x40000 /* When this bit is set, the binary - declares it is safe for use in - processes with uid zero */ - -#define MH_SETUID_SAFE 0x80000 /* When this bit is set, the binary - declares it is safe for use in - processes when issetugid() is true */ - -#define MH_NO_REEXPORTED_DYLIBS 0x100000 /* When this bit is set on a dylib, - the static linker does not need to - examine dependent dylibs to see - if any are re-exported */ -#define MH_PIE 0x200000 /* When this bit is set, the OS will - load the main executable at a - random address. Only used in - MH_EXECUTE filetypes. */ -#define MH_DEAD_STRIPPABLE_DYLIB 0x400000 /* Only for use on dylibs. When - linking against a dylib that - has this bit set, the static linker - will automatically not create a - LC_LOAD_DYLIB load command to the - dylib if no symbols are being - referenced from the dylib. */ -#define MH_HAS_TLV_DESCRIPTORS 0x800000 /* Contains a section of type - S_THREAD_LOCAL_VARIABLES */ - -#define MH_NO_HEAP_EXECUTION 0x1000000 /* When this bit is set, the OS will - run the main executable with - a non-executable heap even on - platforms (e.g. i386) that don't - require it. Only used in MH_EXECUTE - filetypes. */ - -#define MH_APP_EXTENSION_SAFE 0x02000000 /* The code was linked for use in an - application extension. */ - -#define MH_NLIST_OUTOFSYNC_WITH_DYLDINFO 0x04000000 /* The external symbols - listed in the nlist symbol table do - not include all the symbols listed in - the dyld info. */ - -#define MH_SIM_SUPPORT 0x08000000 /* Allow LC_MIN_VERSION_MACOS and - LC_BUILD_VERSION load commands with - the platforms macOS, macCatalyst, - iOSSimulator, tvOSSimulator and - watchOSSimulator. */ - -#define MH_DYLIB_IN_CACHE 0x80000000 /* Only for use on dylibs. When this bit - is set, the dylib is part of the dyld - shared cache, rather than loose in - the filesystem. */ - -/* - * The load commands directly follow the mach_header. The total size of all - * of the commands is given by the sizeofcmds field in the mach_header. All - * load commands must have as their first two fields cmd and cmdsize. The cmd - * field is filled in with a constant for that command type. Each command type - * has a structure specifically for it. The cmdsize field is the size in bytes - * of the particular load command structure plus anything that follows it that - * is a part of the load command (i.e. section structures, strings, etc.). To - * advance to the next load command the cmdsize can be added to the offset or - * pointer of the current load command. The cmdsize for 32-bit architectures - * MUST be a multiple of 4 bytes and for 64-bit architectures MUST be a multiple - * of 8 bytes (these are forever the maximum alignment of any load commands). - * The padded bytes must be zero. All tables in the object file must also - * follow these rules so the file can be memory mapped. Otherwise the pointers - * to these tables will not work well or at all on some machines. With all - * padding zeroed like objects will compare byte for byte. - */ -struct load_command { - uint32_t cmd; /* type of load command */ - uint32_t cmdsize; /* total size of command in bytes */ -}; - -/* - * After MacOS X 10.1 when a new load command is added that is required to be - * understood by the dynamic linker for the image to execute properly the - * LC_REQ_DYLD bit will be or'ed into the load command constant. If the dynamic - * linker sees such a load command it it does not understand will issue a - * "unknown load command required for execution" error and refuse to use the - * image. Other load commands without this bit that are not understood will - * simply be ignored. - */ -#define LC_REQ_DYLD 0x80000000 - -/* Constants for the cmd field of all load commands, the type */ -#define LC_SEGMENT 0x1 /* segment of this file to be mapped */ -#define LC_SYMTAB 0x2 /* link-edit stab symbol table info */ -#define LC_SYMSEG 0x3 /* link-edit gdb symbol table info (obsolete) */ -#define LC_THREAD 0x4 /* thread */ -#define LC_UNIXTHREAD 0x5 /* unix thread (includes a stack) */ -#define LC_LOADFVMLIB 0x6 /* load a specified fixed VM shared library */ -#define LC_IDFVMLIB 0x7 /* fixed VM shared library identification */ -#define LC_IDENT 0x8 /* object identification info (obsolete) */ -#define LC_FVMFILE 0x9 /* fixed VM file inclusion (internal use) */ -#define LC_PREPAGE 0xa /* prepage command (internal use) */ -#define LC_DYSYMTAB 0xb /* dynamic link-edit symbol table info */ -#define LC_LOAD_DYLIB 0xc /* load a dynamically linked shared library */ -#define LC_ID_DYLIB 0xd /* dynamically linked shared lib ident */ -#define LC_LOAD_DYLINKER 0xe /* load a dynamic linker */ -#define LC_ID_DYLINKER 0xf /* dynamic linker identification */ -#define LC_PREBOUND_DYLIB 0x10 /* modules prebound for a dynamically */ - /* linked shared library */ -#define LC_ROUTINES 0x11 /* image routines */ -#define LC_SUB_FRAMEWORK 0x12 /* sub framework */ -#define LC_SUB_UMBRELLA 0x13 /* sub umbrella */ -#define LC_SUB_CLIENT 0x14 /* sub client */ -#define LC_SUB_LIBRARY 0x15 /* sub library */ -#define LC_TWOLEVEL_HINTS 0x16 /* two-level namespace lookup hints */ -#define LC_PREBIND_CKSUM 0x17 /* prebind checksum */ - -/* - * load a dynamically linked shared library that is allowed to be missing - * (all symbols are weak imported). - */ -#define LC_LOAD_WEAK_DYLIB (0x18 | LC_REQ_DYLD) - -#define LC_SEGMENT_64 0x19 /* 64-bit segment of this file to be - mapped */ -#define LC_ROUTINES_64 0x1a /* 64-bit image routines */ -#define LC_UUID 0x1b /* the uuid */ -#define LC_RPATH (0x1c | LC_REQ_DYLD) /* runpath additions */ -#define LC_CODE_SIGNATURE 0x1d /* local of code signature */ -#define LC_SEGMENT_SPLIT_INFO 0x1e /* local of info to split segments */ -#define LC_REEXPORT_DYLIB (0x1f | LC_REQ_DYLD) /* load and re-export dylib */ -#define LC_LAZY_LOAD_DYLIB 0x20 /* delay load of dylib until first use */ -#define LC_ENCRYPTION_INFO 0x21 /* encrypted segment information */ -#define LC_DYLD_INFO 0x22 /* compressed dyld information */ -#define LC_DYLD_INFO_ONLY (0x22|LC_REQ_DYLD) /* compressed dyld information only */ -#define LC_LOAD_UPWARD_DYLIB (0x23 | LC_REQ_DYLD) /* load upward dylib */ -#define LC_VERSION_MIN_MACOSX 0x24 /* build for MacOSX min OS version */ -#define LC_VERSION_MIN_IPHONEOS 0x25 /* build for iPhoneOS min OS version */ -#define LC_FUNCTION_STARTS 0x26 /* compressed table of function start addresses */ -#define LC_DYLD_ENVIRONMENT 0x27 /* string for dyld to treat - like environment variable */ -#define LC_MAIN (0x28|LC_REQ_DYLD) /* replacement for LC_UNIXTHREAD */ -#define LC_DATA_IN_CODE 0x29 /* table of non-instructions in __text */ -#define LC_SOURCE_VERSION 0x2A /* source version used to build binary */ -#define LC_DYLIB_CODE_SIGN_DRS 0x2B /* Code signing DRs copied from linked dylibs */ -#define LC_ENCRYPTION_INFO_64 0x2C /* 64-bit encrypted segment information */ -#define LC_LINKER_OPTION 0x2D /* linker options in MH_OBJECT files */ -#define LC_LINKER_OPTIMIZATION_HINT 0x2E /* optimization hints in MH_OBJECT files */ -#define LC_VERSION_MIN_TVOS 0x2F /* build for AppleTV min OS version */ -#define LC_VERSION_MIN_WATCHOS 0x30 /* build for Watch min OS version */ -#define LC_NOTE 0x31 /* arbitrary data included within a Mach-O file */ -#define LC_BUILD_VERSION 0x32 /* build for platform min OS version */ -#define LC_DYLD_EXPORTS_TRIE (0x33 | LC_REQ_DYLD) /* used with linkedit_data_command, payload is trie */ -#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 */ - -/* - * A variable length string in a load command is represented by an lc_str - * union. The strings are stored just after the load command structure and - * the offset is from the start of the load command structure. The size - * of the string is reflected in the cmdsize field of the load command. - * Once again any padded bytes to bring the cmdsize field to a multiple - * of 4 bytes must be zero. - */ -union lc_str { - uint32_t offset; /* offset to the string */ -#ifndef __LP64__ - char *ptr; /* pointer to the string */ -#endif -}; - -/* - * The segment load command indicates that a part of this file is to be - * mapped into the task's address space. The size of this segment in memory, - * vmsize, maybe equal to or larger than the amount to map from this file, - * filesize. The file is mapped starting at fileoff to the beginning of - * the segment in memory, vmaddr. The rest of the memory of the segment, - * if any, is allocated zero fill on demand. The segment's maximum virtual - * memory protection and initial virtual memory protection are specified - * by the maxprot and initprot fields. If the segment has sections then the - * section structures directly follow the segment command and their size is - * reflected in cmdsize. - */ -struct segment_command { /* for 32-bit architectures */ - uint32_t cmd; /* LC_SEGMENT */ - uint32_t cmdsize; /* includes sizeof section structs */ - char segname[16]; /* segment name */ - uint32_t vmaddr; /* memory address of this segment */ - uint32_t vmsize; /* memory size of this segment */ - uint32_t fileoff; /* file offset of this segment */ - uint32_t filesize; /* amount to map from the file */ - vm_prot_t maxprot; /* maximum VM protection */ - vm_prot_t initprot; /* initial VM protection */ - uint32_t nsects; /* number of sections in segment */ - uint32_t flags; /* flags */ -}; - -/* - * The 64-bit segment load command indicates that a part of this file is to be - * mapped into a 64-bit task's address space. If the 64-bit segment has - * sections then section_64 structures directly follow the 64-bit segment - * command and their size is reflected in cmdsize. - */ -struct segment_command_64 { /* for 64-bit architectures */ - uint32_t cmd; /* LC_SEGMENT_64 */ - uint32_t cmdsize; /* includes sizeof section_64 structs */ - char segname[16]; /* segment name */ - uint64_t vmaddr; /* memory address of this segment */ - uint64_t vmsize; /* memory size of this segment */ - uint64_t fileoff; /* file offset of this segment */ - uint64_t filesize; /* amount to map from the file */ - vm_prot_t maxprot; /* maximum VM protection */ - vm_prot_t initprot; /* initial VM protection */ - uint32_t nsects; /* number of sections in segment */ - uint32_t flags; /* flags */ -}; - -/* Constants for the flags field of the segment_command */ -#define SG_HIGHVM 0x1 /* the file contents for this segment is for - the high part of the VM space, the low part - is zero filled (for stacks in core files) */ -#define SG_FVMLIB 0x2 /* this segment is the VM that is allocated by - a fixed VM library, for overlap checking in - the link editor */ -#define SG_NORELOC 0x4 /* this segment has nothing that was relocated - in it and nothing relocated to it, that is - it maybe safely replaced without relocation*/ -#define SG_PROTECTED_VERSION_1 0x8 /* This segment is protected. If the - segment starts at file offset 0, the - first page of the segment is not - protected. All other pages of the - segment are protected. */ -#define SG_READ_ONLY 0x10 /* This segment is made read-only after fixups */ - - - -/* - * A segment is made up of zero or more sections. Non-MH_OBJECT files have - * all of their segments with the proper sections in each, and padded to the - * specified segment alignment when produced by the link editor. The first - * segment of a MH_EXECUTE and MH_FVMLIB format file contains the mach_header - * and load commands of the object file before its first section. The zero - * fill sections are always last in their segment (in all formats). This - * allows the zeroed segment padding to be mapped into memory where zero fill - * sections might be. The gigabyte zero fill sections, those with the section - * type S_GB_ZEROFILL, can only be in a segment with sections of this type. - * These segments are then placed after all other segments. - * - * The MH_OBJECT format has all of its sections in one segment for - * compactness. There is no padding to a specified segment boundary and the - * mach_header and load commands are not part of the segment. - * - * Sections with the same section name, sectname, going into the same segment, - * segname, are combined by the link editor. The resulting section is aligned - * to the maximum alignment of the combined sections and is the new section's - * alignment. The combined sections are aligned to their original alignment in - * the combined section. Any padded bytes to get the specified alignment are - * zeroed. - * - * The format of the relocation entries referenced by the reloff and nreloc - * fields of the section structure for mach object files is described in the - * header file . - */ -struct section { /* for 32-bit architectures */ - char sectname[16]; /* name of this section */ - char segname[16]; /* segment this section goes in */ - uint32_t addr; /* memory address of this section */ - uint32_t size; /* size in bytes of this section */ - uint32_t offset; /* file offset of this section */ - uint32_t align; /* section alignment (power of 2) */ - uint32_t reloff; /* file offset of relocation entries */ - uint32_t nreloc; /* number of relocation entries */ - uint32_t flags; /* flags (section type and attributes)*/ - uint32_t reserved1; /* reserved (for offset or index) */ - uint32_t reserved2; /* reserved (for count or sizeof) */ -}; - -struct section_64 { /* for 64-bit architectures */ - char sectname[16]; /* name of this section */ - char segname[16]; /* segment this section goes in */ - uint64_t addr; /* memory address of this section */ - uint64_t size; /* size in bytes of this section */ - uint32_t offset; /* file offset of this section */ - uint32_t align; /* section alignment (power of 2) */ - uint32_t reloff; /* file offset of relocation entries */ - uint32_t nreloc; /* number of relocation entries */ - uint32_t flags; /* flags (section type and attributes)*/ - uint32_t reserved1; /* reserved (for offset or index) */ - uint32_t reserved2; /* reserved (for count or sizeof) */ - uint32_t reserved3; /* reserved */ -}; - -/* - * The flags field of a section structure is separated into two parts a section - * type and section attributes. The section types are mutually exclusive (it - * can only have one type) but the section attributes are not (it may have more - * than one attribute). - */ -#define SECTION_TYPE 0x000000ff /* 256 section types */ -#define SECTION_ATTRIBUTES 0xffffff00 /* 24 section attributes */ - -/* Constants for the type of a section */ -#define S_REGULAR 0x0 /* regular section */ -#define S_ZEROFILL 0x1 /* zero fill on demand section */ -#define S_CSTRING_LITERALS 0x2 /* section with only literal C strings*/ -#define S_4BYTE_LITERALS 0x3 /* section with only 4 byte literals */ -#define S_8BYTE_LITERALS 0x4 /* section with only 8 byte literals */ -#define S_LITERAL_POINTERS 0x5 /* section with only pointers to */ - /* literals */ -/* - * For the two types of symbol pointers sections and the symbol stubs section - * they have indirect symbol table entries. For each of the entries in the - * section the indirect symbol table entries, in corresponding order in the - * indirect symbol table, start at the index stored in the reserved1 field - * of the section structure. Since the indirect symbol table entries - * correspond to the entries in the section the number of indirect symbol table - * entries is inferred from the size of the section divided by the size of the - * entries in the section. For symbol pointers sections the size of the entries - * in the section is 4 bytes and for symbol stubs sections the byte size of the - * stubs is stored in the reserved2 field of the section structure. - */ -#define S_NON_LAZY_SYMBOL_POINTERS 0x6 /* section with only non-lazy - symbol pointers */ -#define S_LAZY_SYMBOL_POINTERS 0x7 /* section with only lazy symbol - pointers */ -#define S_SYMBOL_STUBS 0x8 /* section with only symbol - stubs, byte size of stub in - the reserved2 field */ -#define S_MOD_INIT_FUNC_POINTERS 0x9 /* section with only function - pointers for initialization*/ -#define S_MOD_TERM_FUNC_POINTERS 0xa /* section with only function - pointers for termination */ -#define S_COALESCED 0xb /* section contains symbols that - are to be coalesced */ -#define S_GB_ZEROFILL 0xc /* zero fill on demand section - (that can be larger than 4 - gigabytes) */ -#define S_INTERPOSING 0xd /* section with only pairs of - function pointers for - interposing */ -#define S_16BYTE_LITERALS 0xe /* section with only 16 byte - literals */ -#define S_DTRACE_DOF 0xf /* section contains - DTrace Object Format */ -#define S_LAZY_DYLIB_SYMBOL_POINTERS 0x10 /* section with only lazy - symbol pointers to lazy - loaded dylibs */ -/* - * Section types to support thread local variables - */ -#define S_THREAD_LOCAL_REGULAR 0x11 /* template of initial - values for TLVs */ -#define S_THREAD_LOCAL_ZEROFILL 0x12 /* template of initial - values for TLVs */ -#define S_THREAD_LOCAL_VARIABLES 0x13 /* TLV descriptors */ -#define S_THREAD_LOCAL_VARIABLE_POINTERS 0x14 /* pointers to TLV - descriptors */ -#define S_THREAD_LOCAL_INIT_FUNCTION_POINTERS 0x15 /* functions to call - to initialize TLV - values */ -#define S_INIT_FUNC_OFFSETS 0x16 /* 32-bit offsets to - initializers */ - -/* - * Constants for the section attributes part of the flags field of a section - * structure. - */ -#define SECTION_ATTRIBUTES_USR 0xff000000 /* User setable attributes */ -#define S_ATTR_PURE_INSTRUCTIONS 0x80000000 /* section contains only true - machine instructions */ -#define S_ATTR_NO_TOC 0x40000000 /* section contains coalesced - symbols that are not to be - in a ranlib table of - contents */ -#define S_ATTR_STRIP_STATIC_SYMS 0x20000000 /* ok to strip static symbols - in this section in files - with the MH_DYLDLINK flag */ -#define S_ATTR_NO_DEAD_STRIP 0x10000000 /* no dead stripping */ -#define S_ATTR_LIVE_SUPPORT 0x08000000 /* blocks are live if they - reference live blocks */ -#define S_ATTR_SELF_MODIFYING_CODE 0x04000000 /* Used with i386 code stubs - written on by dyld */ -/* - * If a segment contains any sections marked with S_ATTR_DEBUG then all - * sections in that segment must have this attribute. No section other than - * a section marked with this attribute may reference the contents of this - * section. A section with this attribute may contain no symbols and must have - * a section type S_REGULAR. The static linker will not copy section contents - * from sections with this attribute into its output file. These sections - * generally contain DWARF debugging info. - */ -#define S_ATTR_DEBUG 0x02000000 /* a debug section */ -#define SECTION_ATTRIBUTES_SYS 0x00ffff00 /* system setable attributes */ -#define S_ATTR_SOME_INSTRUCTIONS 0x00000400 /* section contains some - machine instructions */ -#define S_ATTR_EXT_RELOC 0x00000200 /* section has external - relocation entries */ -#define S_ATTR_LOC_RELOC 0x00000100 /* section has local - relocation entries */ - - -/* - * The names of segments and sections in them are mostly meaningless to the - * link-editor. But there are few things to support traditional UNIX - * executables that require the link-editor and assembler to use some names - * agreed upon by convention. - * - * The initial protection of the "__TEXT" segment has write protection turned - * off (not writeable). - * - * The link-editor will allocate common symbols at the end of the "__common" - * section in the "__DATA" segment. It will create the section and segment - * if needed. - */ - -/* The currently known segment names and the section names in those segments */ - -#define SEG_PAGEZERO "__PAGEZERO" /* the pagezero segment which has no */ - /* protections and catches NULL */ - /* references for MH_EXECUTE files */ - - -#define SEG_TEXT "__TEXT" /* the tradition UNIX text segment */ -#define SECT_TEXT "__text" /* the real text part of the text */ - /* section no headers, and no padding */ -#define SECT_FVMLIB_INIT0 "__fvmlib_init0" /* the fvmlib initialization */ - /* section */ -#define SECT_FVMLIB_INIT1 "__fvmlib_init1" /* the section following the */ - /* fvmlib initialization */ - /* section */ - -#define SEG_DATA "__DATA" /* the tradition UNIX data segment */ -#define SECT_DATA "__data" /* the real initialized data section */ - /* no padding, no bss overlap */ -#define SECT_BSS "__bss" /* the real uninitialized data section*/ - /* no padding */ -#define SECT_COMMON "__common" /* the section common symbols are */ - /* allocated in by the link editor */ - -#define SEG_OBJC "__OBJC" /* objective-C runtime segment */ -#define SECT_OBJC_SYMBOLS "__symbol_table" /* symbol table */ -#define SECT_OBJC_MODULES "__module_info" /* module information */ -#define SECT_OBJC_STRINGS "__selector_strs" /* string table */ -#define SECT_OBJC_REFS "__selector_refs" /* string table */ - -#define SEG_ICON "__ICON" /* the icon segment */ -#define SECT_ICON_HEADER "__header" /* the icon headers */ -#define SECT_ICON_TIFF "__tiff" /* the icons in tiff format */ - -#define SEG_LINKEDIT "__LINKEDIT" /* the segment containing all structs */ - /* created and maintained by the link */ - /* editor. Created with -seglinkedit */ - /* option to ld(1) for MH_EXECUTE and */ - /* FVMLIB file types only */ - -#define SEG_UNIXSTACK "__UNIXSTACK" /* the unix stack segment */ - -#define SEG_IMPORT "__IMPORT" /* the segment for the self (dyld) */ - /* modifing code stubs that has read, */ - /* write and execute permissions */ - -/* - * Fixed virtual memory shared libraries are identified by two things. The - * target pathname (the name of the library as found for execution), and the - * minor version number. The address of where the headers are loaded is in - * header_addr. (THIS IS OBSOLETE and no longer supported). - */ -struct fvmlib { - union lc_str name; /* library's target pathname */ - uint32_t minor_version; /* library's minor version number */ - uint32_t header_addr; /* library's header address */ -}; - -/* - * A fixed virtual shared library (filetype == MH_FVMLIB in the mach header) - * contains a fvmlib_command (cmd == LC_IDFVMLIB) to identify the library. - * An object that uses a fixed virtual shared library also contains a - * fvmlib_command (cmd == LC_LOADFVMLIB) for each library it uses. - * (THIS IS OBSOLETE and no longer supported). - */ -struct fvmlib_command { - uint32_t cmd; /* LC_IDFVMLIB or LC_LOADFVMLIB */ - uint32_t cmdsize; /* includes pathname string */ - struct fvmlib fvmlib; /* the library identification */ -}; - -/* - * Dynamicly linked shared libraries are identified by two things. The - * pathname (the name of the library as found for execution), and the - * compatibility version number. The pathname must match and the compatibility - * number in the user of the library must be greater than or equal to the - * library being used. The time stamp is used to record the time a library was - * built and copied into user so it can be use to determined if the library used - * at runtime is exactly the same as used to built the program. - */ -struct dylib { - union lc_str name; /* library's path name */ - uint32_t timestamp; /* library's build time stamp */ - uint32_t current_version; /* library's current version number */ - uint32_t compatibility_version; /* library's compatibility vers number*/ -}; - -/* - * A dynamically linked shared library (filetype == MH_DYLIB in the mach header) - * contains a dylib_command (cmd == LC_ID_DYLIB) to identify the library. - * An object that uses a dynamically linked shared library also contains a - * dylib_command (cmd == LC_LOAD_DYLIB, LC_LOAD_WEAK_DYLIB, or - * LC_REEXPORT_DYLIB) for each library it uses. - */ -struct dylib_command { - uint32_t cmd; /* LC_ID_DYLIB, LC_LOAD_{,WEAK_}DYLIB, - LC_REEXPORT_DYLIB */ - uint32_t cmdsize; /* includes pathname string */ - struct dylib dylib; /* the library identification */ -}; - -/* - * A dynamically linked shared library may be a subframework of an umbrella - * framework. If so it will be linked with "-umbrella umbrella_name" where - * Where "umbrella_name" is the name of the umbrella framework. A subframework - * can only be linked against by its umbrella framework or other subframeworks - * that are part of the same umbrella framework. Otherwise the static link - * editor produces an error and states to link against the umbrella framework. - * The name of the umbrella framework for subframeworks is recorded in the - * following structure. - */ -struct sub_framework_command { - uint32_t cmd; /* LC_SUB_FRAMEWORK */ - uint32_t cmdsize; /* includes umbrella string */ - union lc_str umbrella; /* the umbrella framework name */ -}; - -/* - * For dynamically linked shared libraries that are subframework of an umbrella - * framework they can allow clients other than the umbrella framework or other - * subframeworks in the same umbrella framework. To do this the subframework - * is built with "-allowable_client client_name" and an LC_SUB_CLIENT load - * command is created for each -allowable_client flag. The client_name is - * usually a framework name. It can also be a name used for bundles clients - * where the bundle is built with "-client_name client_name". - */ -struct sub_client_command { - uint32_t cmd; /* LC_SUB_CLIENT */ - uint32_t cmdsize; /* includes client string */ - union lc_str client; /* the client name */ -}; - -/* - * A dynamically linked shared library may be a sub_umbrella of an umbrella - * framework. If so it will be linked with "-sub_umbrella umbrella_name" where - * Where "umbrella_name" is the name of the sub_umbrella framework. When - * staticly linking when -twolevel_namespace is in effect a twolevel namespace - * umbrella framework will only cause its subframeworks and those frameworks - * listed as sub_umbrella frameworks to be implicited linked in. Any other - * dependent dynamic libraries will not be linked it when -twolevel_namespace - * is in effect. The primary library recorded by the static linker when - * resolving a symbol in these libraries will be the umbrella framework. - * Zero or more sub_umbrella frameworks may be use by an umbrella framework. - * The name of a sub_umbrella framework is recorded in the following structure. - */ -struct sub_umbrella_command { - uint32_t cmd; /* LC_SUB_UMBRELLA */ - uint32_t cmdsize; /* includes sub_umbrella string */ - union lc_str sub_umbrella; /* the sub_umbrella framework name */ -}; - -/* - * A dynamically linked shared library may be a sub_library of another shared - * library. If so it will be linked with "-sub_library library_name" where - * Where "library_name" is the name of the sub_library shared library. When - * staticly linking when -twolevel_namespace is in effect a twolevel namespace - * shared library will only cause its subframeworks and those frameworks - * listed as sub_umbrella frameworks and libraries listed as sub_libraries to - * be implicited linked in. Any other dependent dynamic libraries will not be - * linked it when -twolevel_namespace is in effect. The primary library - * recorded by the static linker when resolving a symbol in these libraries - * will be the umbrella framework (or dynamic library). Zero or more sub_library - * shared libraries may be use by an umbrella framework or (or dynamic library). - * The name of a sub_library framework is recorded in the following structure. - * For example /usr/lib/libobjc_profile.A.dylib would be recorded as "libobjc". - */ -struct sub_library_command { - uint32_t cmd; /* LC_SUB_LIBRARY */ - uint32_t cmdsize; /* includes sub_library string */ - union lc_str sub_library; /* the sub_library name */ -}; - -/* - * A program (filetype == MH_EXECUTE) that is - * prebound to its dynamic libraries has one of these for each library that - * the static linker used in prebinding. It contains a bit vector for the - * modules in the library. The bits indicate which modules are bound (1) and - * which are not (0) from the library. The bit for module 0 is the low bit - * of the first byte. So the bit for the Nth module is: - * (linked_modules[N/8] >> N%8) & 1 - */ -struct prebound_dylib_command { - uint32_t cmd; /* LC_PREBOUND_DYLIB */ - uint32_t cmdsize; /* includes strings */ - union lc_str name; /* library's path name */ - uint32_t nmodules; /* number of modules in library */ - union lc_str linked_modules; /* bit vector of linked modules */ -}; - -/* - * A program that uses a dynamic linker contains a dylinker_command to identify - * the name of the dynamic linker (LC_LOAD_DYLINKER). And a dynamic linker - * contains a dylinker_command to identify the dynamic linker (LC_ID_DYLINKER). - * A file can have at most one of these. - * This struct is also used for the LC_DYLD_ENVIRONMENT load command and - * contains string for dyld to treat like environment variable. - */ -struct dylinker_command { - uint32_t cmd; /* LC_ID_DYLINKER, LC_LOAD_DYLINKER or - LC_DYLD_ENVIRONMENT */ - uint32_t cmdsize; /* includes pathname string */ - union lc_str name; /* dynamic linker's path name */ -}; - -/* - * Thread commands contain machine-specific data structures suitable for - * use in the thread state primitives. The machine specific data structures - * follow the struct thread_command as follows. - * Each flavor of machine specific data structure is preceded by an uint32_t - * constant for the flavor of that data structure, an uint32_t that is the - * count of uint32_t's of the size of the state data structure and then - * the state data structure follows. This triple may be repeated for many - * flavors. The constants for the flavors, counts and state data structure - * definitions are expected to be in the header file . - * These machine specific data structures sizes must be multiples of - * 4 bytes. The cmdsize reflects the total size of the thread_command - * and all of the sizes of the constants for the flavors, counts and state - * data structures. - * - * For executable objects that are unix processes there will be one - * thread_command (cmd == LC_UNIXTHREAD) created for it by the link-editor. - * This is the same as a LC_THREAD, except that a stack is automatically - * created (based on the shell's limit for the stack size). Command arguments - * and environment variables are copied onto that stack. - */ -struct thread_command { - uint32_t cmd; /* LC_THREAD or LC_UNIXTHREAD */ - uint32_t cmdsize; /* total size of this command */ - /* uint32_t flavor flavor of thread state */ - /* uint32_t count count of uint32_t's in thread state */ - /* struct XXX_thread_state state thread state for this flavor */ - /* ... */ -}; - -/* - * The routines command contains the address of the dynamic shared library - * initialization routine and an index into the module table for the module - * that defines the routine. Before any modules are used from the library the - * dynamic linker fully binds the module that defines the initialization routine - * and then calls it. This gets called before any module initialization - * routines (used for C++ static constructors) in the library. - */ -struct routines_command { /* for 32-bit architectures */ - uint32_t cmd; /* LC_ROUTINES */ - uint32_t cmdsize; /* total size of this command */ - uint32_t init_address; /* address of initialization routine */ - uint32_t init_module; /* index into the module table that */ - /* the init routine is defined in */ - uint32_t reserved1; - uint32_t reserved2; - uint32_t reserved3; - uint32_t reserved4; - uint32_t reserved5; - uint32_t reserved6; -}; - -/* - * The 64-bit routines command. Same use as above. - */ -struct routines_command_64 { /* for 64-bit architectures */ - uint32_t cmd; /* LC_ROUTINES_64 */ - uint32_t cmdsize; /* total size of this command */ - uint64_t init_address; /* address of initialization routine */ - uint64_t init_module; /* index into the module table that */ - /* the init routine is defined in */ - uint64_t reserved1; - uint64_t reserved2; - uint64_t reserved3; - uint64_t reserved4; - uint64_t reserved5; - uint64_t reserved6; -}; - -/* - * The symtab_command contains the offsets and sizes of the link-edit 4.3BSD - * "stab" style symbol table information as described in the header files - * and . - */ -struct symtab_command { - uint32_t cmd; /* LC_SYMTAB */ - uint32_t cmdsize; /* sizeof(struct symtab_command) */ - uint32_t symoff; /* symbol table offset */ - uint32_t nsyms; /* number of symbol table entries */ - uint32_t stroff; /* string table offset */ - uint32_t strsize; /* string table size in bytes */ -}; - -/* - * This is the second set of the symbolic information which is used to support - * the data structures for the dynamically link editor. - * - * The original set of symbolic information in the symtab_command which contains - * the symbol and string tables must also be present when this load command is - * present. When this load command is present the symbol table is organized - * into three groups of symbols: - * local symbols (static and debugging symbols) - grouped by module - * defined external symbols - grouped by module (sorted by name if not lib) - * undefined external symbols (sorted by name if MH_BINDATLOAD is not set, - * and in order the were seen by the static - * linker if MH_BINDATLOAD is set) - * In this load command there are offsets and counts to each of the three groups - * of symbols. - * - * This load command contains a the offsets and sizes of the following new - * symbolic information tables: - * table of contents - * module table - * reference symbol table - * indirect symbol table - * The first three tables above (the table of contents, module table and - * reference symbol table) are only present if the file is a dynamically linked - * shared library. For executable and object modules, which are files - * containing only one module, the information that would be in these three - * tables is determined as follows: - * table of contents - the defined external symbols are sorted by name - * module table - the file contains only one module so everything in the - * file is part of the module. - * reference symbol table - is the defined and undefined external symbols - * - * For dynamically linked shared library files this load command also contains - * offsets and sizes to the pool of relocation entries for all sections - * separated into two groups: - * external relocation entries - * local relocation entries - * For executable and object modules the relocation entries continue to hang - * off the section structures. - */ -struct dysymtab_command { - uint32_t cmd; /* LC_DYSYMTAB */ - uint32_t cmdsize; /* sizeof(struct dysymtab_command) */ - - /* - * The symbols indicated by symoff and nsyms of the LC_SYMTAB load command - * are grouped into the following three groups: - * local symbols (further grouped by the module they are from) - * defined external symbols (further grouped by the module they are from) - * undefined symbols - * - * The local symbols are used only for debugging. The dynamic binding - * process may have to use them to indicate to the debugger the local - * symbols for a module that is being bound. - * - * The last two groups are used by the dynamic binding process to do the - * binding (indirectly through the module table and the reference symbol - * table when this is a dynamically linked shared library file). - */ - uint32_t ilocalsym; /* index to local symbols */ - uint32_t nlocalsym; /* number of local symbols */ - - uint32_t iextdefsym;/* index to externally defined symbols */ - uint32_t nextdefsym;/* number of externally defined symbols */ - - uint32_t iundefsym; /* index to undefined symbols */ - uint32_t nundefsym; /* number of undefined symbols */ - - /* - * For the for the dynamic binding process to find which module a symbol - * is defined in the table of contents is used (analogous to the ranlib - * structure in an archive) which maps defined external symbols to modules - * they are defined in. This exists only in a dynamically linked shared - * library file. For executable and object modules the defined external - * symbols are sorted by name and is use as the table of contents. - */ - uint32_t tocoff; /* file offset to table of contents */ - uint32_t ntoc; /* number of entries in table of contents */ - - /* - * To support dynamic binding of "modules" (whole object files) the symbol - * table must reflect the modules that the file was created from. This is - * done by having a module table that has indexes and counts into the merged - * tables for each module. The module structure that these two entries - * refer to is described below. This exists only in a dynamically linked - * shared library file. For executable and object modules the file only - * contains one module so everything in the file belongs to the module. - */ - uint32_t modtaboff; /* file offset to module table */ - uint32_t nmodtab; /* number of module table entries */ - - /* - * To support dynamic module binding the module structure for each module - * indicates the external references (defined and undefined) each module - * makes. For each module there is an offset and a count into the - * reference symbol table for the symbols that the module references. - * This exists only in a dynamically linked shared library file. For - * executable and object modules the defined external symbols and the - * undefined external symbols indicates the external references. - */ - uint32_t extrefsymoff; /* offset to referenced symbol table */ - uint32_t nextrefsyms; /* number of referenced symbol table entries */ - - /* - * The sections that contain "symbol pointers" and "routine stubs" have - * indexes and (implied counts based on the size of the section and fixed - * size of the entry) into the "indirect symbol" table for each pointer - * and stub. For every section of these two types the index into the - * indirect symbol table is stored in the section header in the field - * reserved1. An indirect symbol table entry is simply a 32bit index into - * the symbol table to the symbol that the pointer or stub is referring to. - * The indirect symbol table is ordered to match the entries in the section. - */ - uint32_t indirectsymoff; /* file offset to the indirect symbol table */ - uint32_t nindirectsyms; /* number of indirect symbol table entries */ - - /* - * To support relocating an individual module in a library file quickly the - * external relocation entries for each module in the library need to be - * accessed efficiently. Since the relocation entries can't be accessed - * through the section headers for a library file they are separated into - * groups of local and external entries further grouped by module. In this - * case the presents of this load command who's extreloff, nextrel, - * locreloff and nlocrel fields are non-zero indicates that the relocation - * entries of non-merged sections are not referenced through the section - * structures (and the reloff and nreloc fields in the section headers are - * set to zero). - * - * Since the relocation entries are not accessed through the section headers - * this requires the r_address field to be something other than a section - * offset to identify the item to be relocated. In this case r_address is - * set to the offset from the vmaddr of the first LC_SEGMENT command. - * For MH_SPLIT_SEGS images r_address is set to the the offset from the - * vmaddr of the first read-write LC_SEGMENT command. - * - * The relocation entries are grouped by module and the module table - * entries have indexes and counts into them for the group of external - * relocation entries for that the module. - * - * For sections that are merged across modules there must not be any - * remaining external relocation entries for them (for merged sections - * remaining relocation entries must be local). - */ - uint32_t extreloff; /* offset to external relocation entries */ - uint32_t nextrel; /* number of external relocation entries */ - - /* - * All the local relocation entries are grouped together (they are not - * grouped by their module since they are only used if the object is moved - * from it staticly link edited address). - */ - uint32_t locreloff; /* offset to local relocation entries */ - uint32_t nlocrel; /* number of local relocation entries */ - -}; - -/* - * An indirect symbol table entry is simply a 32bit index into the symbol table - * to the symbol that the pointer or stub is refering to. Unless it is for a - * non-lazy symbol pointer section for a defined symbol which strip(1) as - * removed. In which case it has the value INDIRECT_SYMBOL_LOCAL. If the - * symbol was also absolute INDIRECT_SYMBOL_ABS is or'ed with that. - */ -#define INDIRECT_SYMBOL_LOCAL 0x80000000 -#define INDIRECT_SYMBOL_ABS 0x40000000 - - -/* a table of contents entry */ -struct dylib_table_of_contents { - uint32_t symbol_index; /* the defined external symbol - (index into the symbol table) */ - uint32_t module_index; /* index into the module table this symbol - is defined in */ -}; - -/* a module table entry */ -struct dylib_module { - uint32_t module_name; /* the module name (index into string table) */ - - uint32_t iextdefsym; /* index into externally defined symbols */ - uint32_t nextdefsym; /* number of externally defined symbols */ - uint32_t irefsym; /* index into reference symbol table */ - uint32_t nrefsym; /* number of reference symbol table entries */ - uint32_t ilocalsym; /* index into symbols for local symbols */ - uint32_t nlocalsym; /* number of local symbols */ - - uint32_t iextrel; /* index into external relocation entries */ - uint32_t nextrel; /* number of external relocation entries */ - - uint32_t iinit_iterm; /* low 16 bits are the index into the init - section, high 16 bits are the index into - the term section */ - uint32_t ninit_nterm; /* low 16 bits are the number of init section - entries, high 16 bits are the number of - term section entries */ - - uint32_t /* for this module address of the start of */ - objc_module_info_addr; /* the (__OBJC,__module_info) section */ - uint32_t /* for this module size of */ - objc_module_info_size; /* the (__OBJC,__module_info) section */ -}; - -/* a 64-bit module table entry */ -struct dylib_module_64 { - uint32_t module_name; /* the module name (index into string table) */ - - uint32_t iextdefsym; /* index into externally defined symbols */ - uint32_t nextdefsym; /* number of externally defined symbols */ - uint32_t irefsym; /* index into reference symbol table */ - uint32_t nrefsym; /* number of reference symbol table entries */ - uint32_t ilocalsym; /* index into symbols for local symbols */ - uint32_t nlocalsym; /* number of local symbols */ - - uint32_t iextrel; /* index into external relocation entries */ - uint32_t nextrel; /* number of external relocation entries */ - - uint32_t iinit_iterm; /* low 16 bits are the index into the init - section, high 16 bits are the index into - the term section */ - uint32_t ninit_nterm; /* low 16 bits are the number of init section - entries, high 16 bits are the number of - term section entries */ - - uint32_t /* for this module size of */ - objc_module_info_size; /* the (__OBJC,__module_info) section */ - uint64_t /* for this module address of the start of */ - objc_module_info_addr; /* the (__OBJC,__module_info) section */ -}; - -/* - * The entries in the reference symbol table are used when loading the module - * (both by the static and dynamic link editors) and if the module is unloaded - * or replaced. Therefore all external symbols (defined and undefined) are - * listed in the module's reference table. The flags describe the type of - * reference that is being made. The constants for the flags are defined in - * as they are also used for symbol table entries. - */ -struct dylib_reference { - uint32_t isym:24, /* index into the symbol table */ - flags:8; /* flags to indicate the type of reference */ -}; - -/* - * The twolevel_hints_command contains the offset and number of hints in the - * two-level namespace lookup hints table. - */ -struct twolevel_hints_command { - uint32_t cmd; /* LC_TWOLEVEL_HINTS */ - uint32_t cmdsize; /* sizeof(struct twolevel_hints_command) */ - uint32_t offset; /* offset to the hint table */ - uint32_t nhints; /* number of hints in the hint table */ -}; - -/* - * The entries in the two-level namespace lookup hints table are twolevel_hint - * structs. These provide hints to the dynamic link editor where to start - * looking for an undefined symbol in a two-level namespace image. The - * isub_image field is an index into the sub-images (sub-frameworks and - * sub-umbrellas list) that made up the two-level image that the undefined - * symbol was found in when it was built by the static link editor. If - * isub-image is 0 the the symbol is expected to be defined in library and not - * in the sub-images. If isub-image is non-zero it is an index into the array - * of sub-images for the umbrella with the first index in the sub-images being - * 1. The array of sub-images is the ordered list of sub-images of the umbrella - * that would be searched for a symbol that has the umbrella recorded as its - * primary library. The table of contents index is an index into the - * library's table of contents. This is used as the starting point of the - * binary search or a directed linear search. - */ -struct twolevel_hint { - uint32_t - isub_image:8, /* index into the sub images */ - itoc:24; /* index into the table of contents */ -}; - -/* - * The prebind_cksum_command contains the value of the original check sum for - * prebound files or zero. When a prebound file is first created or modified - * for other than updating its prebinding information the value of the check sum - * is set to zero. When the file has it prebinding re-done and if the value of - * the check sum is zero the original check sum is calculated and stored in - * cksum field of this load command in the output file. If when the prebinding - * is re-done and the cksum field is non-zero it is left unchanged from the - * input file. - */ -struct prebind_cksum_command { - uint32_t cmd; /* LC_PREBIND_CKSUM */ - uint32_t cmdsize; /* sizeof(struct prebind_cksum_command) */ - uint32_t cksum; /* the check sum or zero */ -}; - -/* - * The uuid load command contains a single 128-bit unique random number that - * identifies an object produced by the static link editor. - */ -struct uuid_command { - uint32_t cmd; /* LC_UUID */ - uint32_t cmdsize; /* sizeof(struct uuid_command) */ - uint8_t uuid[16]; /* the 128-bit uuid */ -}; - -/* - * The rpath_command contains a path which at runtime should be added to - * the current run path used to find @rpath prefixed dylibs. - */ -struct rpath_command { - uint32_t cmd; /* LC_RPATH */ - uint32_t cmdsize; /* includes string */ - union lc_str path; /* path to add to run path */ -}; - -/* - * The linkedit_data_command contains the offsets and sizes of a blob - * of data in the __LINKEDIT segment. - */ -struct linkedit_data_command { - uint32_t cmd; /* LC_CODE_SIGNATURE, LC_SEGMENT_SPLIT_INFO, - LC_FUNCTION_STARTS, LC_DATA_IN_CODE, - LC_DYLIB_CODE_SIGN_DRS, - LC_LINKER_OPTIMIZATION_HINT, - LC_DYLD_EXPORTS_TRIE, or - LC_DYLD_CHAINED_FIXUPS. */ - uint32_t cmdsize; /* sizeof(struct linkedit_data_command) */ - uint32_t dataoff; /* file offset of data in __LINKEDIT segment */ - uint32_t datasize; /* file size of data in __LINKEDIT segment */ -}; - -/* - * The encryption_info_command contains the file offset and size of an - * of an encrypted segment. - */ -struct encryption_info_command { - uint32_t cmd; /* LC_ENCRYPTION_INFO */ - uint32_t cmdsize; /* sizeof(struct encryption_info_command) */ - uint32_t cryptoff; /* file offset of encrypted range */ - uint32_t cryptsize; /* file size of encrypted range */ - uint32_t cryptid; /* which enryption system, - 0 means not-encrypted yet */ -}; - -/* - * The encryption_info_command_64 contains the file offset and size of an - * of an encrypted segment (for use in x86_64 targets). - */ -struct encryption_info_command_64 { - uint32_t cmd; /* LC_ENCRYPTION_INFO_64 */ - uint32_t cmdsize; /* sizeof(struct encryption_info_command_64) */ - uint32_t cryptoff; /* file offset of encrypted range */ - uint32_t cryptsize; /* file size of encrypted range */ - uint32_t cryptid; /* which enryption system, - 0 means not-encrypted yet */ - uint32_t pad; /* padding to make this struct's size a multiple - of 8 bytes */ -}; - -/* - * The version_min_command contains the min OS version on which this - * binary was built to run. - */ -struct version_min_command { - uint32_t cmd; /* LC_VERSION_MIN_MACOSX or - LC_VERSION_MIN_IPHONEOS or - LC_VERSION_MIN_WATCHOS or - LC_VERSION_MIN_TVOS */ - uint32_t cmdsize; /* sizeof(struct min_version_command) */ - uint32_t version; /* X.Y.Z is encoded in nibbles xxxx.yy.zz */ - uint32_t sdk; /* X.Y.Z is encoded in nibbles xxxx.yy.zz */ -}; - -/* - * The build_version_command contains the min OS version on which this - * binary was built to run for its platform. The list of known platforms and - * tool values following it. - */ -struct build_version_command { - uint32_t cmd; /* LC_BUILD_VERSION */ - uint32_t cmdsize; /* sizeof(struct build_version_command) plus */ - /* ntools * sizeof(struct build_tool_version) */ - uint32_t platform; /* platform */ - uint32_t minos; /* X.Y.Z is encoded in nibbles xxxx.yy.zz */ - uint32_t sdk; /* X.Y.Z is encoded in nibbles xxxx.yy.zz */ - uint32_t ntools; /* number of tool entries following this */ -}; - -struct build_tool_version { - uint32_t tool; /* enum for the tool */ - uint32_t version; /* version number of the tool */ -}; - -/* Known values for the platform field above. */ -#define PLATFORM_MACOS 1 -#define PLATFORM_IOS 2 -#define PLATFORM_TVOS 3 -#define PLATFORM_WATCHOS 4 -#define PLATFORM_BRIDGEOS 5 -#define PLATFORM_MACCATALYST 6 -#define PLATFORM_IOSSIMULATOR 7 -#define PLATFORM_TVOSSIMULATOR 8 -#define PLATFORM_WATCHOSSIMULATOR 9 -#define PLATFORM_DRIVERKIT 10 - -/* Known values for the tool field above. */ -#define TOOL_CLANG 1 -#define TOOL_SWIFT 2 -#define TOOL_LD 3 - -/* - * The dyld_info_command contains the file offsets and sizes of - * the new compressed form of the information dyld needs to - * load the image. This information is used by dyld on Mac OS X - * 10.6 and later. All information pointed to by this command - * is encoded using byte streams, so no endian swapping is needed - * to interpret it. - */ -struct dyld_info_command { - uint32_t cmd; /* LC_DYLD_INFO or LC_DYLD_INFO_ONLY */ - uint32_t cmdsize; /* sizeof(struct dyld_info_command) */ - - /* - * Dyld rebases an image whenever dyld loads it at an address different - * from its preferred address. The rebase information is a stream - * of byte sized opcodes whose symbolic names start with REBASE_OPCODE_. - * Conceptually the rebase information is a table of tuples: - * - * The opcodes are a compressed way to encode the table by only - * encoding when a column changes. In addition simple patterns - * like "every n'th offset for m times" can be encoded in a few - * bytes. - */ - uint32_t rebase_off; /* file offset to rebase info */ - uint32_t rebase_size; /* size of rebase info */ - - /* - * Dyld binds an image during the loading process, if the image - * requires any pointers to be initialized to symbols in other images. - * The bind information is a stream of byte sized - * opcodes whose symbolic names start with BIND_OPCODE_. - * Conceptually the bind information is a table of tuples: - * - * The opcodes are a compressed way to encode the table by only - * encoding when a column changes. In addition simple patterns - * like for runs of pointers initialzed to the same value can be - * encoded in a few bytes. - */ - uint32_t bind_off; /* file offset to binding info */ - uint32_t bind_size; /* size of binding info */ - - /* - * Some C++ programs require dyld to unique symbols so that all - * images in the process use the same copy of some code/data. - * This step is done after binding. The content of the weak_bind - * info is an opcode stream like the bind_info. But it is sorted - * alphabetically by symbol name. This enable dyld to walk - * all images with weak binding information in order and look - * for collisions. If there are no collisions, dyld does - * no updating. That means that some fixups are also encoded - * in the bind_info. For instance, all calls to "operator new" - * are first bound to libstdc++.dylib using the information - * in bind_info. Then if some image overrides operator new - * that is detected when the weak_bind information is processed - * and the call to operator new is then rebound. - */ - uint32_t weak_bind_off; /* file offset to weak binding info */ - uint32_t weak_bind_size; /* size of weak binding info */ - - /* - * Some uses of external symbols do not need to be bound immediately. - * Instead they can be lazily bound on first use. The lazy_bind - * are contains a stream of BIND opcodes to bind all lazy symbols. - * Normal use is that dyld ignores the lazy_bind section when - * loading an image. Instead the static linker arranged for the - * lazy pointer to initially point to a helper function which - * pushes the offset into the lazy_bind area for the symbol - * needing to be bound, then jumps to dyld which simply adds - * the offset to lazy_bind_off to get the information on what - * to bind. - */ - uint32_t lazy_bind_off; /* file offset to lazy binding info */ - uint32_t lazy_bind_size; /* size of lazy binding infs */ - - /* - * The symbols exported by a dylib are encoded in a trie. This - * is a compact representation that factors out common prefixes. - * It also reduces LINKEDIT pages in RAM because it encodes all - * information (name, address, flags) in one small, contiguous range. - * The export area is a stream of nodes. The first node sequentially - * is the start node for the trie. - * - * Nodes for a symbol start with a uleb128 that is the length of - * the exported symbol information for the string so far. - * If there is no exported symbol, the node starts with a zero byte. - * If there is exported info, it follows the length. - * - * First is a uleb128 containing flags. Normally, it is followed by - * a uleb128 encoded offset which is location of the content named - * by the symbol from the mach_header for the image. If the flags - * is EXPORT_SYMBOL_FLAGS_REEXPORT, then following the flags is - * a uleb128 encoded library ordinal, then a zero terminated - * UTF8 string. If the string is zero length, then the symbol - * is re-export from the specified dylib with the same name. - * If the flags is EXPORT_SYMBOL_FLAGS_STUB_AND_RESOLVER, then following - * the flags is two uleb128s: the stub offset and the resolver offset. - * The stub is used by non-lazy pointers. The resolver is used - * by lazy pointers and must be called to get the actual address to use. - * - * After the optional exported symbol information is a byte of - * how many edges (0-255) that this node has leaving it, - * followed by each edge. - * Each edge is a zero terminated UTF8 of the addition chars - * in the symbol, followed by a uleb128 offset for the node that - * edge points to. - * - */ - uint32_t export_off; /* file offset to lazy binding info */ - uint32_t export_size; /* size of lazy binding infs */ -}; - -/* - * The following are used to encode rebasing information - */ -#define REBASE_TYPE_POINTER 1 -#define REBASE_TYPE_TEXT_ABSOLUTE32 2 -#define REBASE_TYPE_TEXT_PCREL32 3 - -#define REBASE_OPCODE_MASK 0xF0 -#define REBASE_IMMEDIATE_MASK 0x0F -#define REBASE_OPCODE_DONE 0x00 -#define REBASE_OPCODE_SET_TYPE_IMM 0x10 -#define REBASE_OPCODE_SET_SEGMENT_AND_OFFSET_ULEB 0x20 -#define REBASE_OPCODE_ADD_ADDR_ULEB 0x30 -#define REBASE_OPCODE_ADD_ADDR_IMM_SCALED 0x40 -#define REBASE_OPCODE_DO_REBASE_IMM_TIMES 0x50 -#define REBASE_OPCODE_DO_REBASE_ULEB_TIMES 0x60 -#define REBASE_OPCODE_DO_REBASE_ADD_ADDR_ULEB 0x70 -#define REBASE_OPCODE_DO_REBASE_ULEB_TIMES_SKIPPING_ULEB 0x80 - - -/* - * The following are used to encode binding information - */ -#define BIND_TYPE_POINTER 1 -#define BIND_TYPE_TEXT_ABSOLUTE32 2 -#define BIND_TYPE_TEXT_PCREL32 3 - -#define BIND_SPECIAL_DYLIB_SELF 0 -#define BIND_SPECIAL_DYLIB_MAIN_EXECUTABLE -1 -#define BIND_SPECIAL_DYLIB_FLAT_LOOKUP -2 -#define BIND_SPECIAL_DYLIB_WEAK_LOOKUP -3 - -#define BIND_SYMBOL_FLAGS_WEAK_IMPORT 0x1 -#define BIND_SYMBOL_FLAGS_NON_WEAK_DEFINITION 0x8 - -#define BIND_OPCODE_MASK 0xF0 -#define BIND_IMMEDIATE_MASK 0x0F -#define BIND_OPCODE_DONE 0x00 -#define BIND_OPCODE_SET_DYLIB_ORDINAL_IMM 0x10 -#define BIND_OPCODE_SET_DYLIB_ORDINAL_ULEB 0x20 -#define BIND_OPCODE_SET_DYLIB_SPECIAL_IMM 0x30 -#define BIND_OPCODE_SET_SYMBOL_TRAILING_FLAGS_IMM 0x40 -#define BIND_OPCODE_SET_TYPE_IMM 0x50 -#define BIND_OPCODE_SET_ADDEND_SLEB 0x60 -#define BIND_OPCODE_SET_SEGMENT_AND_OFFSET_ULEB 0x70 -#define BIND_OPCODE_ADD_ADDR_ULEB 0x80 -#define BIND_OPCODE_DO_BIND 0x90 -#define BIND_OPCODE_DO_BIND_ADD_ADDR_ULEB 0xA0 -#define BIND_OPCODE_DO_BIND_ADD_ADDR_IMM_SCALED 0xB0 -#define BIND_OPCODE_DO_BIND_ULEB_TIMES_SKIPPING_ULEB 0xC0 -#define BIND_OPCODE_THREADED 0xD0 -#define BIND_SUBOPCODE_THREADED_SET_BIND_ORDINAL_TABLE_SIZE_ULEB 0x00 -#define BIND_SUBOPCODE_THREADED_APPLY 0x01 - - -/* - * The following are used on the flags byte of a terminal node - * in the export information. - */ -#define EXPORT_SYMBOL_FLAGS_KIND_MASK 0x03 -#define EXPORT_SYMBOL_FLAGS_KIND_REGULAR 0x00 -#define EXPORT_SYMBOL_FLAGS_KIND_THREAD_LOCAL 0x01 -#define EXPORT_SYMBOL_FLAGS_KIND_ABSOLUTE 0x02 -#define EXPORT_SYMBOL_FLAGS_WEAK_DEFINITION 0x04 -#define EXPORT_SYMBOL_FLAGS_REEXPORT 0x08 -#define EXPORT_SYMBOL_FLAGS_STUB_AND_RESOLVER 0x10 - -/* - * The linker_option_command contains linker options embedded in object files. - */ -struct linker_option_command { - uint32_t cmd; /* LC_LINKER_OPTION only used in MH_OBJECT filetypes */ - uint32_t cmdsize; - uint32_t count; /* number of strings */ - /* concatenation of zero terminated UTF8 strings. - Zero filled at end to align */ -}; - -/* - * The symseg_command contains the offset and size of the GNU style - * symbol table information as described in the header file . - * The symbol roots of the symbol segments must also be aligned properly - * in the file. So the requirement of keeping the offsets aligned to a - * multiple of a 4 bytes translates to the length field of the symbol - * roots also being a multiple of a long. Also the padding must again be - * zeroed. (THIS IS OBSOLETE and no longer supported). - */ -struct symseg_command { - uint32_t cmd; /* LC_SYMSEG */ - uint32_t cmdsize; /* sizeof(struct symseg_command) */ - uint32_t offset; /* symbol segment offset */ - uint32_t size; /* symbol segment size in bytes */ -}; - -/* - * The ident_command contains a free format string table following the - * ident_command structure. The strings are null terminated and the size of - * the command is padded out with zero bytes to a multiple of 4 bytes/ - * (THIS IS OBSOLETE and no longer supported). - */ -struct ident_command { - uint32_t cmd; /* LC_IDENT */ - uint32_t cmdsize; /* strings that follow this command */ -}; - -/* - * The fvmfile_command contains a reference to a file to be loaded at the - * specified virtual address. (Presently, this command is reserved for - * internal use. The kernel ignores this command when loading a program into - * memory). - */ -struct fvmfile_command { - uint32_t cmd; /* LC_FVMFILE */ - uint32_t cmdsize; /* includes pathname string */ - union lc_str name; /* files pathname */ - uint32_t header_addr; /* files virtual address */ -}; - - -/* - * The entry_point_command is a replacement for thread_command. - * It is used for main executables to specify the location (file offset) - * of main(). If -stack_size was used at link time, the stacksize - * field will contain the stack size need for the main thread. - */ -struct entry_point_command { - uint32_t cmd; /* LC_MAIN only used in MH_EXECUTE filetypes */ - uint32_t cmdsize; /* 24 */ - uint64_t entryoff; /* file (__TEXT) offset of main() */ - uint64_t stacksize;/* if not zero, initial stack size */ -}; - - -/* - * The source_version_command is an optional load command containing - * the version of the sources used to build the binary. - */ -struct source_version_command { - uint32_t cmd; /* LC_SOURCE_VERSION */ - uint32_t cmdsize; /* 16 */ - uint64_t version; /* A.B.C.D.E packed as a24.b10.c10.d10.e10 */ -}; - - -/* - * The LC_DATA_IN_CODE load commands uses a linkedit_data_command - * to point to an array of data_in_code_entry entries. Each entry - * describes a range of data in a code section. - */ -struct data_in_code_entry { - uint32_t offset; /* from mach_header to start of data range*/ - uint16_t length; /* number of bytes in data range */ - uint16_t kind; /* a DICE_KIND_* value */ -}; -#define DICE_KIND_DATA 0x0001 -#define DICE_KIND_JUMP_TABLE8 0x0002 -#define DICE_KIND_JUMP_TABLE16 0x0003 -#define DICE_KIND_JUMP_TABLE32 0x0004 -#define DICE_KIND_ABS_JUMP_TABLE32 0x0005 - - - -/* - * Sections of type S_THREAD_LOCAL_VARIABLES contain an array - * of tlv_descriptor structures. - */ -struct tlv_descriptor -{ - void* (*thunk)(struct tlv_descriptor*); - unsigned long key; - unsigned long offset; -}; - -/* - * LC_NOTE commands describe a region of arbitrary data included in a Mach-O - * file. Its initial use is to record extra data in MH_CORE files. - */ -struct note_command { - uint32_t cmd; /* LC_NOTE */ - uint32_t cmdsize; /* sizeof(struct note_command) */ - char data_owner[16]; /* owner name for this LC_NOTE */ - uint64_t offset; /* file offset of this data */ - uint64_t size; /* length of data region */ -}; - -/* - * LC_FILESET_ENTRY commands describe constituent Mach-O files that are part - * of a fileset. In one implementation, entries are dylibs with individual - * mach headers and repositionable text and data segments. Each entry is - * further described by its own mach header. - */ -struct fileset_entry_command { - uint32_t cmd; /* LC_FILESET_ENTRY */ - uint32_t cmdsize; /* includes entry_id string */ - uint64_t vmaddr; /* memory address of the entry */ - uint64_t fileoff; /* file offset of the entry */ - union lc_str entry_id; /* contained entry id */ - uint32_t reserved; /* reserved */ -}; - -/* - * These deprecated values may still be used within Apple but are mechanically - * removed from public API. The mechanical process may produce unusual results. - */ -#if (!defined(PLATFORM_MACCATALYST)) -#define PLATFORM_MACCATALYST PLATFORM_MACCATALYST -#endif - -#endif /* _MACHO_LOADER_H_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.11-any/mach/clock.h b/lib/libc/include/any-macos.11-any/mach/clock.h deleted file mode 100644 index ec293fc9c1..0000000000 --- a/lib/libc/include/any-macos.11-any/mach/clock.h +++ /dev/null @@ -1,245 +0,0 @@ -#ifndef _clock_user_ -#define _clock_user_ - -/* Module clock */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -/* BEGIN MIG_STRNCPY_ZEROFILL CODE */ - -#if defined(__has_include) -#if __has_include() -#ifndef USING_MIG_STRNCPY_ZEROFILL -#define USING_MIG_STRNCPY_ZEROFILL -#endif -#ifndef __MIG_STRNCPY_ZEROFILL_FORWARD_TYPE_DECLS__ -#define __MIG_STRNCPY_ZEROFILL_FORWARD_TYPE_DECLS__ -#ifdef __cplusplus -extern "C" { -#endif - extern int mig_strncpy_zerofill(char *dest, const char *src, int len) __attribute__((weak_import)); -#ifdef __cplusplus -} -#endif -#endif /* __MIG_STRNCPY_ZEROFILL_FORWARD_TYPE_DECLS__ */ -#endif /* __has_include() */ -#endif /* __has_include */ - -/* END MIG_STRNCPY_ZEROFILL CODE */ - - -#ifdef AUTOTEST -#ifndef FUNCTION_PTR_T -#define FUNCTION_PTR_T -typedef void (*function_ptr_t)(mach_port_t, char *, mach_msg_type_number_t); -typedef struct { - char *name; - function_ptr_t function; -} function_table_entry; -typedef function_table_entry *function_table_t; -#endif /* FUNCTION_PTR_T */ -#endif /* AUTOTEST */ - -#ifndef clock_MSG_COUNT -#define clock_MSG_COUNT 3 -#endif /* clock_MSG_COUNT */ - -#include -#include -#include -#include -#include - -#ifdef __BeforeMigUserHeader -__BeforeMigUserHeader -#endif /* __BeforeMigUserHeader */ - -#include -__BEGIN_DECLS - - -/* Routine clock_get_time */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t clock_get_time -( - clock_serv_t clock_serv, - mach_timespec_t *cur_time -); - -/* Routine clock_get_attributes */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t clock_get_attributes -( - clock_serv_t clock_serv, - clock_flavor_t flavor, - clock_attr_t clock_attr, - mach_msg_type_number_t *clock_attrCnt -); - -/* Routine clock_alarm */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t clock_alarm -( - clock_serv_t clock_serv, - alarm_type_t alarm_type, - mach_timespec_t alarm_time, - clock_reply_t alarm_port -); - -__END_DECLS - -/********************** Caution **************************/ -/* The following data types should be used to calculate */ -/* maximum message sizes only. The actual message may be */ -/* smaller, and the position of the arguments within the */ -/* message layout may vary from what is presented here. */ -/* For example, if any of the arguments are variable- */ -/* sized, and less than the maximum is sent, the data */ -/* will be packed tight in the actual message to reduce */ -/* the presence of holes. */ -/********************** Caution **************************/ - -/* typedefs for all requests */ - -#ifndef __Request__clock_subsystem__defined -#define __Request__clock_subsystem__defined - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - } __Request__clock_get_time_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - clock_flavor_t flavor; - mach_msg_type_number_t clock_attrCnt; - } __Request__clock_get_attributes_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t alarm_port; - /* end of the kernel processed data */ - NDR_record_t NDR; - alarm_type_t alarm_type; - mach_timespec_t alarm_time; - } __Request__clock_alarm_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif -#endif /* !__Request__clock_subsystem__defined */ - -/* union of all requests */ - -#ifndef __RequestUnion__clock_subsystem__defined -#define __RequestUnion__clock_subsystem__defined -union __RequestUnion__clock_subsystem { - __Request__clock_get_time_t Request_clock_get_time; - __Request__clock_get_attributes_t Request_clock_get_attributes; - __Request__clock_alarm_t Request_clock_alarm; -}; -#endif /* !__RequestUnion__clock_subsystem__defined */ -/* typedefs for all replies */ - -#ifndef __Reply__clock_subsystem__defined -#define __Reply__clock_subsystem__defined - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - mach_timespec_t cur_time; - } __Reply__clock_get_time_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - mach_msg_type_number_t clock_attrCnt; - int clock_attr[1]; - } __Reply__clock_get_attributes_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__clock_alarm_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif -#endif /* !__Reply__clock_subsystem__defined */ - -/* union of all replies */ - -#ifndef __ReplyUnion__clock_subsystem__defined -#define __ReplyUnion__clock_subsystem__defined -union __ReplyUnion__clock_subsystem { - __Reply__clock_get_time_t Reply_clock_get_time; - __Reply__clock_get_attributes_t Reply_clock_get_attributes; - __Reply__clock_alarm_t Reply_clock_alarm; -}; -#endif /* !__RequestUnion__clock_subsystem__defined */ - -#ifndef subsystem_to_name_map_clock -#define subsystem_to_name_map_clock \ - { "clock_get_time", 1000 },\ - { "clock_get_attributes", 1001 },\ - { "clock_alarm", 1002 } -#endif - -#ifdef __AfterMigUserHeader -__AfterMigUserHeader -#endif /* __AfterMigUserHeader */ - -#endif /* _clock_user_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.11-any/mach/clock_priv.h b/lib/libc/include/any-macos.11-any/mach/clock_priv.h deleted file mode 100644 index 0c9d11d9c6..0000000000 --- a/lib/libc/include/any-macos.11-any/mach/clock_priv.h +++ /dev/null @@ -1,199 +0,0 @@ -#ifndef _clock_priv_user_ -#define _clock_priv_user_ - -/* Module clock_priv */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -/* BEGIN MIG_STRNCPY_ZEROFILL CODE */ - -#if defined(__has_include) -#if __has_include() -#ifndef USING_MIG_STRNCPY_ZEROFILL -#define USING_MIG_STRNCPY_ZEROFILL -#endif -#ifndef __MIG_STRNCPY_ZEROFILL_FORWARD_TYPE_DECLS__ -#define __MIG_STRNCPY_ZEROFILL_FORWARD_TYPE_DECLS__ -#ifdef __cplusplus -extern "C" { -#endif - extern int mig_strncpy_zerofill(char *dest, const char *src, int len) __attribute__((weak_import)); -#ifdef __cplusplus -} -#endif -#endif /* __MIG_STRNCPY_ZEROFILL_FORWARD_TYPE_DECLS__ */ -#endif /* __has_include() */ -#endif /* __has_include */ - -/* END MIG_STRNCPY_ZEROFILL CODE */ - - -#ifdef AUTOTEST -#ifndef FUNCTION_PTR_T -#define FUNCTION_PTR_T -typedef void (*function_ptr_t)(mach_port_t, char *, mach_msg_type_number_t); -typedef struct { - char *name; - function_ptr_t function; -} function_table_entry; -typedef function_table_entry *function_table_t; -#endif /* FUNCTION_PTR_T */ -#endif /* AUTOTEST */ - -#ifndef clock_priv_MSG_COUNT -#define clock_priv_MSG_COUNT 2 -#endif /* clock_priv_MSG_COUNT */ - -#include -#include -#include -#include -#include - -#ifdef __BeforeMigUserHeader -__BeforeMigUserHeader -#endif /* __BeforeMigUserHeader */ - -#include -__BEGIN_DECLS - - -/* Routine clock_set_time */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t clock_set_time -( - clock_ctrl_t clock_ctrl, - mach_timespec_t new_time -); - -/* Routine clock_set_attributes */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t clock_set_attributes -( - clock_ctrl_t clock_ctrl, - clock_flavor_t flavor, - clock_attr_t clock_attr, - mach_msg_type_number_t clock_attrCnt -); - -__END_DECLS - -/********************** Caution **************************/ -/* The following data types should be used to calculate */ -/* maximum message sizes only. The actual message may be */ -/* smaller, and the position of the arguments within the */ -/* message layout may vary from what is presented here. */ -/* For example, if any of the arguments are variable- */ -/* sized, and less than the maximum is sent, the data */ -/* will be packed tight in the actual message to reduce */ -/* the presence of holes. */ -/********************** Caution **************************/ - -/* typedefs for all requests */ - -#ifndef __Request__clock_priv_subsystem__defined -#define __Request__clock_priv_subsystem__defined - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - mach_timespec_t new_time; - } __Request__clock_set_time_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - clock_flavor_t flavor; - mach_msg_type_number_t clock_attrCnt; - int clock_attr[1]; - } __Request__clock_set_attributes_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif -#endif /* !__Request__clock_priv_subsystem__defined */ - -/* union of all requests */ - -#ifndef __RequestUnion__clock_priv_subsystem__defined -#define __RequestUnion__clock_priv_subsystem__defined -union __RequestUnion__clock_priv_subsystem { - __Request__clock_set_time_t Request_clock_set_time; - __Request__clock_set_attributes_t Request_clock_set_attributes; -}; -#endif /* !__RequestUnion__clock_priv_subsystem__defined */ -/* typedefs for all replies */ - -#ifndef __Reply__clock_priv_subsystem__defined -#define __Reply__clock_priv_subsystem__defined - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__clock_set_time_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__clock_set_attributes_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif -#endif /* !__Reply__clock_priv_subsystem__defined */ - -/* union of all replies */ - -#ifndef __ReplyUnion__clock_priv_subsystem__defined -#define __ReplyUnion__clock_priv_subsystem__defined -union __ReplyUnion__clock_priv_subsystem { - __Reply__clock_set_time_t Reply_clock_set_time; - __Reply__clock_set_attributes_t Reply_clock_set_attributes; -}; -#endif /* !__RequestUnion__clock_priv_subsystem__defined */ - -#ifndef subsystem_to_name_map_clock_priv -#define subsystem_to_name_map_clock_priv \ - { "clock_set_time", 1200 },\ - { "clock_set_attributes", 1201 } -#endif - -#ifdef __AfterMigUserHeader -__AfterMigUserHeader -#endif /* __AfterMigUserHeader */ - -#endif /* _clock_priv_user_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.11-any/mach/exception_types.h b/lib/libc/include/any-macos.11-any/mach/exception_types.h deleted file mode 100644 index 12a12615f2..0000000000 --- a/lib/libc/include/any-macos.11-any/mach/exception_types.h +++ /dev/null @@ -1,206 +0,0 @@ -/* - * Copyright (c) 2000 Apple Computer, 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@ - */ -/* - * @OSF_COPYRIGHT@ - */ -/* - * Mach Operating System - * Copyright (c) 1991,1990,1989,1988,1987 Carnegie Mellon University - * All Rights Reserved. - * - * Permission to use, copy, modify and distribute this software and its - * documentation is hereby granted, provided that both the copyright - * notice and this permission notice appear in all copies of the - * software, derivative works or modified versions, and any portions - * thereof, and that both notices appear in supporting documentation. - * - * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" - * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR - * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. - * - * Carnegie Mellon requests users of this software to return to - * - * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU - * School of Computer Science - * Carnegie Mellon University - * Pittsburgh PA 15213-3890 - * - * any improvements or extensions that they make and grant Carnegie Mellon - * the rights to redistribute these changes. - */ -/* - */ - -#ifndef _MACH_EXCEPTION_TYPES_H_ -#define _MACH_EXCEPTION_TYPES_H_ - -#include - -/* - * Machine-independent exception definitions. - */ - -#define EXC_BAD_ACCESS 1 /* Could not access memory */ -/* Code contains kern_return_t describing error. */ -/* Subcode contains bad memory address. */ - -#define EXC_BAD_INSTRUCTION 2 /* Instruction failed */ -/* Illegal or undefined instruction or operand */ - -#define EXC_ARITHMETIC 3 /* Arithmetic exception */ -/* Exact nature of exception is in code field */ - -#define EXC_EMULATION 4 /* Emulation instruction */ -/* Emulation support instruction encountered */ -/* Details in code and subcode fields */ - -#define EXC_SOFTWARE 5 /* Software generated exception */ -/* Exact exception is in code field. */ -/* Codes 0 - 0xFFFF reserved to hardware */ -/* Codes 0x10000 - 0x1FFFF reserved for OS emulation (Unix) */ - -#define EXC_BREAKPOINT 6 /* Trace, breakpoint, etc. */ -/* Details in code field. */ - -#define EXC_SYSCALL 7 /* System calls. */ - -#define EXC_MACH_SYSCALL 8 /* Mach system calls. */ - -#define EXC_RPC_ALERT 9 /* RPC alert */ - -#define EXC_CRASH 10 /* Abnormal process exit */ - -#define EXC_RESOURCE 11 /* Hit resource consumption limit */ -/* Exact resource is in code field. */ - -#define EXC_GUARD 12 /* Violated guarded resource protections */ - -#define EXC_CORPSE_NOTIFY 13 /* Abnormal process exited to corpse state */ - -#define EXC_CORPSE_VARIANT_BIT 0x100 /* bit set for EXC_*_CORPSE variants of EXC_* */ - - -/* - * Machine-independent exception behaviors - */ - -# define EXCEPTION_DEFAULT 1 -/* Send a catch_exception_raise message including the identity. - */ - -# define EXCEPTION_STATE 2 -/* Send a catch_exception_raise_state message including the - * thread state. - */ - -# define EXCEPTION_STATE_IDENTITY 3 -/* Send a catch_exception_raise_state_identity message including - * the thread identity and state. - */ - -#define MACH_EXCEPTION_ERRORS 0x40000000 -/* include additional exception specific errors, not used yet. */ - -#define MACH_EXCEPTION_CODES 0x80000000 -/* Send 64-bit code and subcode in the exception header */ - -#define MACH_EXCEPTION_MASK (MACH_EXCEPTION_CODES | MACH_EXCEPTION_ERRORS) -/* - * Masks for exception definitions, above - * bit zero is unused, therefore 1 word = 31 exception types - */ - -#define EXC_MASK_BAD_ACCESS (1 << EXC_BAD_ACCESS) -#define EXC_MASK_BAD_INSTRUCTION (1 << EXC_BAD_INSTRUCTION) -#define EXC_MASK_ARITHMETIC (1 << EXC_ARITHMETIC) -#define EXC_MASK_EMULATION (1 << EXC_EMULATION) -#define EXC_MASK_SOFTWARE (1 << EXC_SOFTWARE) -#define EXC_MASK_BREAKPOINT (1 << EXC_BREAKPOINT) -#define EXC_MASK_SYSCALL (1 << EXC_SYSCALL) -#define EXC_MASK_MACH_SYSCALL (1 << EXC_MACH_SYSCALL) -#define EXC_MASK_RPC_ALERT (1 << EXC_RPC_ALERT) -#define EXC_MASK_CRASH (1 << EXC_CRASH) -#define EXC_MASK_RESOURCE (1 << EXC_RESOURCE) -#define EXC_MASK_GUARD (1 << EXC_GUARD) -#define EXC_MASK_CORPSE_NOTIFY (1 << EXC_CORPSE_NOTIFY) - -#define EXC_MASK_ALL (EXC_MASK_BAD_ACCESS | \ - EXC_MASK_BAD_INSTRUCTION | \ - EXC_MASK_ARITHMETIC | \ - EXC_MASK_EMULATION | \ - EXC_MASK_SOFTWARE | \ - EXC_MASK_BREAKPOINT | \ - EXC_MASK_SYSCALL | \ - EXC_MASK_MACH_SYSCALL | \ - EXC_MASK_RPC_ALERT | \ - EXC_MASK_RESOURCE | \ - EXC_MASK_GUARD | \ - EXC_MASK_MACHINE) - - -#define FIRST_EXCEPTION 1 /* ZERO is illegal */ - -/* - * Machine independent codes for EXC_SOFTWARE - * Codes 0x10000 - 0x1FFFF reserved for OS emulation (Unix) - * 0x10000 - 0x10002 in use for unix signals - * 0x20000 - 0x2FFFF reserved for MACF - */ -#define EXC_SOFT_SIGNAL 0x10003 /* Unix signal exceptions */ - -#define EXC_MACF_MIN 0x20000 /* MACF exceptions */ -#define EXC_MACF_MAX 0x2FFFF - -#ifndef ASSEMBLER - -#include -#include -#include -#include -/* - * Exported types - */ - -typedef int exception_type_t; -typedef integer_t exception_data_type_t; -typedef int64_t mach_exception_data_type_t; -typedef int exception_behavior_t; -typedef exception_data_type_t *exception_data_t; -typedef mach_exception_data_type_t *mach_exception_data_t; -typedef unsigned int exception_mask_t; -typedef exception_mask_t *exception_mask_array_t; -typedef exception_behavior_t *exception_behavior_array_t; -typedef thread_state_flavor_t *exception_flavor_array_t; -typedef mach_port_t *exception_port_array_t; -typedef ipc_info_port_t *exception_port_info_array_t; -typedef mach_exception_data_type_t mach_exception_code_t; -typedef mach_exception_data_type_t mach_exception_subcode_t; - -#endif /* ASSEMBLER */ - -#endif /* _MACH_EXCEPTION_TYPES_H_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.11-any/mach/host_priv.h b/lib/libc/include/any-macos.11-any/mach/host_priv.h deleted file mode 100644 index 9445ae5d93..0000000000 --- a/lib/libc/include/any-macos.11-any/mach/host_priv.h +++ /dev/null @@ -1,1163 +0,0 @@ -#ifndef _host_priv_user_ -#define _host_priv_user_ - -/* Module host_priv */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -/* BEGIN MIG_STRNCPY_ZEROFILL CODE */ - -#if defined(__has_include) -#if __has_include() -#ifndef USING_MIG_STRNCPY_ZEROFILL -#define USING_MIG_STRNCPY_ZEROFILL -#endif -#ifndef __MIG_STRNCPY_ZEROFILL_FORWARD_TYPE_DECLS__ -#define __MIG_STRNCPY_ZEROFILL_FORWARD_TYPE_DECLS__ -#ifdef __cplusplus -extern "C" { -#endif - extern int mig_strncpy_zerofill(char *dest, const char *src, int len) __attribute__((weak_import)); -#ifdef __cplusplus -} -#endif -#endif /* __MIG_STRNCPY_ZEROFILL_FORWARD_TYPE_DECLS__ */ -#endif /* __has_include() */ -#endif /* __has_include */ - -/* END MIG_STRNCPY_ZEROFILL CODE */ - - -#ifdef AUTOTEST -#ifndef FUNCTION_PTR_T -#define FUNCTION_PTR_T -typedef void (*function_ptr_t)(mach_port_t, char *, mach_msg_type_number_t); -typedef struct { - char *name; - function_ptr_t function; -} function_table_entry; -typedef function_table_entry *function_table_t; -#endif /* FUNCTION_PTR_T */ -#endif /* AUTOTEST */ - -#ifndef host_priv_MSG_COUNT -#define host_priv_MSG_COUNT 26 -#endif /* host_priv_MSG_COUNT */ - -#include -#include -#include -#include -#include -#include - -#ifdef __BeforeMigUserHeader -__BeforeMigUserHeader -#endif /* __BeforeMigUserHeader */ - -#include -__BEGIN_DECLS - - -/* Routine host_get_boot_info */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t host_get_boot_info -( - host_priv_t host_priv, - kernel_boot_info_t boot_info -); - -/* Routine host_reboot */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t host_reboot -( - host_priv_t host_priv, - int options -); - -/* Routine host_priv_statistics */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t host_priv_statistics -( - host_priv_t host_priv, - host_flavor_t flavor, - host_info_t host_info_out, - mach_msg_type_number_t *host_info_outCnt -); - -/* Routine host_default_memory_manager */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t host_default_memory_manager -( - host_priv_t host_priv, - memory_object_default_t *default_manager, - memory_object_cluster_size_t cluster_size -); - -/* Routine vm_wire */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t vm_wire -( - host_priv_t host_priv, - vm_map_t task, - vm_address_t address, - vm_size_t size, - vm_prot_t desired_access -); - -/* Routine thread_wire */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t thread_wire -( - host_priv_t host_priv, - thread_act_t thread, - boolean_t wired -); - -/* Routine vm_allocate_cpm */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t vm_allocate_cpm -( - host_priv_t host_priv, - vm_map_t task, - vm_address_t *address, - vm_size_t size, - int flags -); - -/* Routine host_processors */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t host_processors -( - host_priv_t host_priv, - processor_array_t *out_processor_list, - mach_msg_type_number_t *out_processor_listCnt -); - -/* Routine host_get_clock_control */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t host_get_clock_control -( - host_priv_t host_priv, - clock_id_t clock_id, - clock_ctrl_t *clock_ctrl -); - -/* Routine kmod_create */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t kmod_create -( - host_priv_t host_priv, - vm_address_t info, - kmod_t *module -); - -/* Routine kmod_destroy */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t kmod_destroy -( - host_priv_t host_priv, - kmod_t module -); - -/* Routine kmod_control */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t kmod_control -( - host_priv_t host_priv, - kmod_t module, - kmod_control_flavor_t flavor, - kmod_args_t *data, - mach_msg_type_number_t *dataCnt -); - -/* Routine host_get_special_port */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t host_get_special_port -( - host_priv_t host_priv, - int node, - int which, - mach_port_t *port -); - -/* Routine host_set_special_port */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t host_set_special_port -( - host_priv_t host_priv, - int which, - mach_port_t port -); - -/* Routine host_set_exception_ports */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t host_set_exception_ports -( - host_priv_t host_priv, - exception_mask_t exception_mask, - mach_port_t new_port, - exception_behavior_t behavior, - thread_state_flavor_t new_flavor -); - -/* Routine host_get_exception_ports */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t host_get_exception_ports -( - host_priv_t host_priv, - exception_mask_t exception_mask, - exception_mask_array_t masks, - mach_msg_type_number_t *masksCnt, - exception_handler_array_t old_handlers, - exception_behavior_array_t old_behaviors, - exception_flavor_array_t old_flavors -); - -/* Routine host_swap_exception_ports */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t host_swap_exception_ports -( - host_priv_t host_priv, - exception_mask_t exception_mask, - mach_port_t new_port, - exception_behavior_t behavior, - thread_state_flavor_t new_flavor, - exception_mask_array_t masks, - mach_msg_type_number_t *masksCnt, - exception_handler_array_t old_handlerss, - exception_behavior_array_t old_behaviors, - exception_flavor_array_t old_flavors -); - -/* Routine mach_vm_wire */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t mach_vm_wire -( - host_priv_t host_priv, - vm_map_t task, - mach_vm_address_t address, - mach_vm_size_t size, - vm_prot_t desired_access -); - -/* Routine host_processor_sets */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t host_processor_sets -( - host_priv_t host_priv, - processor_set_name_array_t *processor_sets, - mach_msg_type_number_t *processor_setsCnt -); - -/* Routine host_processor_set_priv */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t host_processor_set_priv -( - host_priv_t host_priv, - processor_set_name_t set_name, - processor_set_t *set -); - -/* Routine host_set_UNDServer */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t host_set_UNDServer -( - host_priv_t host, - UNDServerRef server -); - -/* Routine host_get_UNDServer */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t host_get_UNDServer -( - host_priv_t host, - UNDServerRef *server -); - -/* Routine kext_request */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t kext_request -( - host_priv_t host_priv, - uint32_t user_log_flags, - vm_offset_t request_data, - mach_msg_type_number_t request_dataCnt, - vm_offset_t *response_data, - mach_msg_type_number_t *response_dataCnt, - vm_offset_t *log_data, - mach_msg_type_number_t *log_dataCnt, - kern_return_t *op_result -); - -__END_DECLS - -/********************** Caution **************************/ -/* The following data types should be used to calculate */ -/* maximum message sizes only. The actual message may be */ -/* smaller, and the position of the arguments within the */ -/* message layout may vary from what is presented here. */ -/* For example, if any of the arguments are variable- */ -/* sized, and less than the maximum is sent, the data */ -/* will be packed tight in the actual message to reduce */ -/* the presence of holes. */ -/********************** Caution **************************/ - -/* typedefs for all requests */ - -#ifndef __Request__host_priv_subsystem__defined -#define __Request__host_priv_subsystem__defined - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - } __Request__host_get_boot_info_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - int options; - } __Request__host_reboot_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - host_flavor_t flavor; - mach_msg_type_number_t host_info_outCnt; - } __Request__host_priv_statistics_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t default_manager; - /* end of the kernel processed data */ - NDR_record_t NDR; - memory_object_cluster_size_t cluster_size; - } __Request__host_default_memory_manager_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t task; - /* end of the kernel processed data */ - NDR_record_t NDR; - vm_address_t address; - vm_size_t size; - vm_prot_t desired_access; - } __Request__vm_wire_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t thread; - /* end of the kernel processed data */ - NDR_record_t NDR; - boolean_t wired; - } __Request__thread_wire_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t task; - /* end of the kernel processed data */ - NDR_record_t NDR; - vm_address_t address; - vm_size_t size; - int flags; - } __Request__vm_allocate_cpm_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - } __Request__host_processors_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - clock_id_t clock_id; - } __Request__host_get_clock_control_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - vm_address_t info; - } __Request__kmod_create_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kmod_t module; - } __Request__kmod_destroy_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_ool_descriptor_t data; - /* end of the kernel processed data */ - NDR_record_t NDR; - kmod_t module; - kmod_control_flavor_t flavor; - mach_msg_type_number_t dataCnt; - } __Request__kmod_control_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - int node; - int which; - } __Request__host_get_special_port_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t port; - /* end of the kernel processed data */ - NDR_record_t NDR; - int which; - } __Request__host_set_special_port_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t new_port; - /* end of the kernel processed data */ - NDR_record_t NDR; - exception_mask_t exception_mask; - exception_behavior_t behavior; - thread_state_flavor_t new_flavor; - } __Request__host_set_exception_ports_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - exception_mask_t exception_mask; - } __Request__host_get_exception_ports_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t new_port; - /* end of the kernel processed data */ - NDR_record_t NDR; - exception_mask_t exception_mask; - exception_behavior_t behavior; - thread_state_flavor_t new_flavor; - } __Request__host_swap_exception_ports_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t task; - /* end of the kernel processed data */ - NDR_record_t NDR; - mach_vm_address_t address; - mach_vm_size_t size; - vm_prot_t desired_access; - } __Request__mach_vm_wire_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - } __Request__host_processor_sets_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t set_name; - /* end of the kernel processed data */ - } __Request__host_processor_set_priv_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t server; - /* end of the kernel processed data */ - } __Request__host_set_UNDServer_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - } __Request__host_get_UNDServer_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_ool_descriptor_t request_data; - /* end of the kernel processed data */ - NDR_record_t NDR; - uint32_t user_log_flags; - mach_msg_type_number_t request_dataCnt; - } __Request__kext_request_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif -#endif /* !__Request__host_priv_subsystem__defined */ - -/* union of all requests */ - -#ifndef __RequestUnion__host_priv_subsystem__defined -#define __RequestUnion__host_priv_subsystem__defined -union __RequestUnion__host_priv_subsystem { - __Request__host_get_boot_info_t Request_host_get_boot_info; - __Request__host_reboot_t Request_host_reboot; - __Request__host_priv_statistics_t Request_host_priv_statistics; - __Request__host_default_memory_manager_t Request_host_default_memory_manager; - __Request__vm_wire_t Request_vm_wire; - __Request__thread_wire_t Request_thread_wire; - __Request__vm_allocate_cpm_t Request_vm_allocate_cpm; - __Request__host_processors_t Request_host_processors; - __Request__host_get_clock_control_t Request_host_get_clock_control; - __Request__kmod_create_t Request_kmod_create; - __Request__kmod_destroy_t Request_kmod_destroy; - __Request__kmod_control_t Request_kmod_control; - __Request__host_get_special_port_t Request_host_get_special_port; - __Request__host_set_special_port_t Request_host_set_special_port; - __Request__host_set_exception_ports_t Request_host_set_exception_ports; - __Request__host_get_exception_ports_t Request_host_get_exception_ports; - __Request__host_swap_exception_ports_t Request_host_swap_exception_ports; - __Request__mach_vm_wire_t Request_mach_vm_wire; - __Request__host_processor_sets_t Request_host_processor_sets; - __Request__host_processor_set_priv_t Request_host_processor_set_priv; - __Request__host_set_UNDServer_t Request_host_set_UNDServer; - __Request__host_get_UNDServer_t Request_host_get_UNDServer; - __Request__kext_request_t Request_kext_request; -}; -#endif /* !__RequestUnion__host_priv_subsystem__defined */ -/* typedefs for all replies */ - -#ifndef __Reply__host_priv_subsystem__defined -#define __Reply__host_priv_subsystem__defined - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - mach_msg_type_number_t boot_infoOffset; /* MiG doesn't use it */ - mach_msg_type_number_t boot_infoCnt; - char boot_info[4096]; - } __Reply__host_get_boot_info_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__host_reboot_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - mach_msg_type_number_t host_info_outCnt; - integer_t host_info_out[68]; - } __Reply__host_priv_statistics_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t default_manager; - /* end of the kernel processed data */ - } __Reply__host_default_memory_manager_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__vm_wire_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__thread_wire_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - vm_address_t address; - } __Reply__vm_allocate_cpm_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_ool_ports_descriptor_t out_processor_list; - /* end of the kernel processed data */ - NDR_record_t NDR; - mach_msg_type_number_t out_processor_listCnt; - } __Reply__host_processors_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t clock_ctrl; - /* end of the kernel processed data */ - } __Reply__host_get_clock_control_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - kmod_t module; - } __Reply__kmod_create_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__kmod_destroy_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_ool_descriptor_t data; - /* end of the kernel processed data */ - NDR_record_t NDR; - mach_msg_type_number_t dataCnt; - } __Reply__kmod_control_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t port; - /* end of the kernel processed data */ - } __Reply__host_get_special_port_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__host_set_special_port_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__host_set_exception_ports_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t old_handlers[32]; - /* end of the kernel processed data */ - NDR_record_t NDR; - mach_msg_type_number_t masksCnt; - exception_mask_t masks[32]; - exception_behavior_t old_behaviors[32]; - thread_state_flavor_t old_flavors[32]; - } __Reply__host_get_exception_ports_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t old_handlerss[32]; - /* end of the kernel processed data */ - NDR_record_t NDR; - mach_msg_type_number_t masksCnt; - exception_mask_t masks[32]; - exception_behavior_t old_behaviors[32]; - thread_state_flavor_t old_flavors[32]; - } __Reply__host_swap_exception_ports_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__mach_vm_wire_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_ool_ports_descriptor_t processor_sets; - /* end of the kernel processed data */ - NDR_record_t NDR; - mach_msg_type_number_t processor_setsCnt; - } __Reply__host_processor_sets_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t set; - /* end of the kernel processed data */ - } __Reply__host_processor_set_priv_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__host_set_UNDServer_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t server; - /* end of the kernel processed data */ - } __Reply__host_get_UNDServer_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_ool_descriptor_t response_data; - mach_msg_ool_descriptor_t log_data; - /* end of the kernel processed data */ - NDR_record_t NDR; - mach_msg_type_number_t response_dataCnt; - mach_msg_type_number_t log_dataCnt; - kern_return_t op_result; - } __Reply__kext_request_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif -#endif /* !__Reply__host_priv_subsystem__defined */ - -/* union of all replies */ - -#ifndef __ReplyUnion__host_priv_subsystem__defined -#define __ReplyUnion__host_priv_subsystem__defined -union __ReplyUnion__host_priv_subsystem { - __Reply__host_get_boot_info_t Reply_host_get_boot_info; - __Reply__host_reboot_t Reply_host_reboot; - __Reply__host_priv_statistics_t Reply_host_priv_statistics; - __Reply__host_default_memory_manager_t Reply_host_default_memory_manager; - __Reply__vm_wire_t Reply_vm_wire; - __Reply__thread_wire_t Reply_thread_wire; - __Reply__vm_allocate_cpm_t Reply_vm_allocate_cpm; - __Reply__host_processors_t Reply_host_processors; - __Reply__host_get_clock_control_t Reply_host_get_clock_control; - __Reply__kmod_create_t Reply_kmod_create; - __Reply__kmod_destroy_t Reply_kmod_destroy; - __Reply__kmod_control_t Reply_kmod_control; - __Reply__host_get_special_port_t Reply_host_get_special_port; - __Reply__host_set_special_port_t Reply_host_set_special_port; - __Reply__host_set_exception_ports_t Reply_host_set_exception_ports; - __Reply__host_get_exception_ports_t Reply_host_get_exception_ports; - __Reply__host_swap_exception_ports_t Reply_host_swap_exception_ports; - __Reply__mach_vm_wire_t Reply_mach_vm_wire; - __Reply__host_processor_sets_t Reply_host_processor_sets; - __Reply__host_processor_set_priv_t Reply_host_processor_set_priv; - __Reply__host_set_UNDServer_t Reply_host_set_UNDServer; - __Reply__host_get_UNDServer_t Reply_host_get_UNDServer; - __Reply__kext_request_t Reply_kext_request; -}; -#endif /* !__RequestUnion__host_priv_subsystem__defined */ - -#ifndef subsystem_to_name_map_host_priv -#define subsystem_to_name_map_host_priv \ - { "host_get_boot_info", 400 },\ - { "host_reboot", 401 },\ - { "host_priv_statistics", 402 },\ - { "host_default_memory_manager", 403 },\ - { "vm_wire", 404 },\ - { "thread_wire", 405 },\ - { "vm_allocate_cpm", 406 },\ - { "host_processors", 407 },\ - { "host_get_clock_control", 408 },\ - { "kmod_create", 409 },\ - { "kmod_destroy", 410 },\ - { "kmod_control", 411 },\ - { "host_get_special_port", 412 },\ - { "host_set_special_port", 413 },\ - { "host_set_exception_ports", 414 },\ - { "host_get_exception_ports", 415 },\ - { "host_swap_exception_ports", 416 },\ - { "mach_vm_wire", 418 },\ - { "host_processor_sets", 419 },\ - { "host_processor_set_priv", 420 },\ - { "host_set_UNDServer", 423 },\ - { "host_get_UNDServer", 424 },\ - { "kext_request", 425 } -#endif - -#ifdef __AfterMigUserHeader -__AfterMigUserHeader -#endif /* __AfterMigUserHeader */ - -#endif /* _host_priv_user_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.11-any/mach/host_security.h b/lib/libc/include/any-macos.11-any/mach/host_security.h deleted file mode 100644 index 1c1b6d9144..0000000000 --- a/lib/libc/include/any-macos.11-any/mach/host_security.h +++ /dev/null @@ -1,221 +0,0 @@ -#ifndef _host_security_user_ -#define _host_security_user_ - -/* Module host_security */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -/* BEGIN MIG_STRNCPY_ZEROFILL CODE */ - -#if defined(__has_include) -#if __has_include() -#ifndef USING_MIG_STRNCPY_ZEROFILL -#define USING_MIG_STRNCPY_ZEROFILL -#endif -#ifndef __MIG_STRNCPY_ZEROFILL_FORWARD_TYPE_DECLS__ -#define __MIG_STRNCPY_ZEROFILL_FORWARD_TYPE_DECLS__ -#ifdef __cplusplus -extern "C" { -#endif - extern int mig_strncpy_zerofill(char *dest, const char *src, int len) __attribute__((weak_import)); -#ifdef __cplusplus -} -#endif -#endif /* __MIG_STRNCPY_ZEROFILL_FORWARD_TYPE_DECLS__ */ -#endif /* __has_include() */ -#endif /* __has_include */ - -/* END MIG_STRNCPY_ZEROFILL CODE */ - - -#ifdef AUTOTEST -#ifndef FUNCTION_PTR_T -#define FUNCTION_PTR_T -typedef void (*function_ptr_t)(mach_port_t, char *, mach_msg_type_number_t); -typedef struct { - char *name; - function_ptr_t function; -} function_table_entry; -typedef function_table_entry *function_table_t; -#endif /* FUNCTION_PTR_T */ -#endif /* AUTOTEST */ - -#ifndef host_security_MSG_COUNT -#define host_security_MSG_COUNT 2 -#endif /* host_security_MSG_COUNT */ - -#include -#include -#include -#include - -#ifdef __BeforeMigUserHeader -__BeforeMigUserHeader -#endif /* __BeforeMigUserHeader */ - -#include -__BEGIN_DECLS - - -/* Routine host_security_create_task_token */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t host_security_create_task_token -( - host_security_t host_security, - task_t parent_task, - security_token_t sec_token, - audit_token_t audit_token, - host_t host, - ledger_array_t ledgers, - mach_msg_type_number_t ledgersCnt, - boolean_t inherit_memory, - task_t *child_task -); - -/* Routine host_security_set_task_token */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t host_security_set_task_token -( - host_security_t host_security, - task_t target_task, - security_token_t sec_token, - audit_token_t audit_token, - host_t host -); - -__END_DECLS - -/********************** Caution **************************/ -/* The following data types should be used to calculate */ -/* maximum message sizes only. The actual message may be */ -/* smaller, and the position of the arguments within the */ -/* message layout may vary from what is presented here. */ -/* For example, if any of the arguments are variable- */ -/* sized, and less than the maximum is sent, the data */ -/* will be packed tight in the actual message to reduce */ -/* the presence of holes. */ -/********************** Caution **************************/ - -/* typedefs for all requests */ - -#ifndef __Request__host_security_subsystem__defined -#define __Request__host_security_subsystem__defined - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t parent_task; - mach_msg_port_descriptor_t host; - mach_msg_ool_ports_descriptor_t ledgers; - /* end of the kernel processed data */ - NDR_record_t NDR; - security_token_t sec_token; - audit_token_t audit_token; - mach_msg_type_number_t ledgersCnt; - boolean_t inherit_memory; - } __Request__host_security_create_task_token_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t target_task; - mach_msg_port_descriptor_t host; - /* end of the kernel processed data */ - NDR_record_t NDR; - security_token_t sec_token; - audit_token_t audit_token; - } __Request__host_security_set_task_token_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif -#endif /* !__Request__host_security_subsystem__defined */ - -/* union of all requests */ - -#ifndef __RequestUnion__host_security_subsystem__defined -#define __RequestUnion__host_security_subsystem__defined -union __RequestUnion__host_security_subsystem { - __Request__host_security_create_task_token_t Request_host_security_create_task_token; - __Request__host_security_set_task_token_t Request_host_security_set_task_token; -}; -#endif /* !__RequestUnion__host_security_subsystem__defined */ -/* typedefs for all replies */ - -#ifndef __Reply__host_security_subsystem__defined -#define __Reply__host_security_subsystem__defined - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t child_task; - /* end of the kernel processed data */ - } __Reply__host_security_create_task_token_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__host_security_set_task_token_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif -#endif /* !__Reply__host_security_subsystem__defined */ - -/* union of all replies */ - -#ifndef __ReplyUnion__host_security_subsystem__defined -#define __ReplyUnion__host_security_subsystem__defined -union __ReplyUnion__host_security_subsystem { - __Reply__host_security_create_task_token_t Reply_host_security_create_task_token; - __Reply__host_security_set_task_token_t Reply_host_security_set_task_token; -}; -#endif /* !__RequestUnion__host_security_subsystem__defined */ - -#ifndef subsystem_to_name_map_host_security -#define subsystem_to_name_map_host_security \ - { "host_security_create_task_token", 600 },\ - { "host_security_set_task_token", 601 } -#endif - -#ifdef __AfterMigUserHeader -__AfterMigUserHeader -#endif /* __AfterMigUserHeader */ - -#endif /* _host_security_user_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.11-any/mach/kern_return.h b/lib/libc/include/any-macos.11-any/mach/kern_return.h deleted file mode 100644 index 28f6e1b59f..0000000000 --- a/lib/libc/include/any-macos.11-any/mach/kern_return.h +++ /dev/null @@ -1,342 +0,0 @@ -/* - * Copyright (c) 2000 Apple Computer, 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@ - */ -/* - * @OSF_COPYRIGHT@ - */ -/* - * Mach Operating System - * Copyright (c) 1991,1990,1989,1988,1987 Carnegie Mellon University - * All Rights Reserved. - * - * Permission to use, copy, modify and distribute this software and its - * documentation is hereby granted, provided that both the copyright - * notice and this permission notice appear in all copies of the - * software, derivative works or modified versions, and any portions - * thereof, and that both notices appear in supporting documentation. - * - * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" - * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR - * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. - * - * Carnegie Mellon requests users of this software to return to - * - * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU - * School of Computer Science - * Carnegie Mellon University - * Pittsburgh PA 15213-3890 - * - * any improvements or extensions that they make and grant Carnegie Mellon - * the rights to redistribute these changes. - */ -/* - */ -/* - * File: h/kern_return.h - * Author: Avadis Tevanian, Jr. - * Date: 1985 - * - * Kernel return codes. - * - */ - -#ifndef _MACH_KERN_RETURN_H_ -#define _MACH_KERN_RETURN_H_ - -#include - -#define KERN_SUCCESS 0 - -#define KERN_INVALID_ADDRESS 1 -/* Specified address is not currently valid. - */ - -#define KERN_PROTECTION_FAILURE 2 -/* Specified memory is valid, but does not permit the - * required forms of access. - */ - -#define KERN_NO_SPACE 3 -/* The address range specified is already in use, or - * no address range of the size specified could be - * found. - */ - -#define KERN_INVALID_ARGUMENT 4 -/* The function requested was not applicable to this - * type of argument, or an argument is invalid - */ - -#define KERN_FAILURE 5 -/* The function could not be performed. A catch-all. - */ - -#define KERN_RESOURCE_SHORTAGE 6 -/* A system resource could not be allocated to fulfill - * this request. This failure may not be permanent. - */ - -#define KERN_NOT_RECEIVER 7 -/* The task in question does not hold receive rights - * for the port argument. - */ - -#define KERN_NO_ACCESS 8 -/* Bogus access restriction. - */ - -#define KERN_MEMORY_FAILURE 9 -/* During a page fault, the target address refers to a - * memory object that has been destroyed. This - * failure is permanent. - */ - -#define KERN_MEMORY_ERROR 10 -/* During a page fault, the memory object indicated - * that the data could not be returned. This failure - * may be temporary; future attempts to access this - * same data may succeed, as defined by the memory - * object. - */ - -#define KERN_ALREADY_IN_SET 11 -/* The receive right is already a member of the portset. - */ - -#define KERN_NOT_IN_SET 12 -/* The receive right is not a member of a port set. - */ - -#define KERN_NAME_EXISTS 13 -/* The name already denotes a right in the task. - */ - -#define KERN_ABORTED 14 -/* The operation was aborted. Ipc code will - * catch this and reflect it as a message error. - */ - -#define KERN_INVALID_NAME 15 -/* The name doesn't denote a right in the task. - */ - -#define KERN_INVALID_TASK 16 -/* Target task isn't an active task. - */ - -#define KERN_INVALID_RIGHT 17 -/* The name denotes a right, but not an appropriate right. - */ - -#define KERN_INVALID_VALUE 18 -/* A blatant range error. - */ - -#define KERN_UREFS_OVERFLOW 19 -/* Operation would overflow limit on user-references. - */ - -#define KERN_INVALID_CAPABILITY 20 -/* The supplied (port) capability is improper. - */ - -#define KERN_RIGHT_EXISTS 21 -/* The task already has send or receive rights - * for the port under another name. - */ - -#define KERN_INVALID_HOST 22 -/* Target host isn't actually a host. - */ - -#define KERN_MEMORY_PRESENT 23 -/* An attempt was made to supply "precious" data - * for memory that is already present in a - * memory object. - */ - -#define KERN_MEMORY_DATA_MOVED 24 -/* A page was requested of a memory manager via - * memory_object_data_request for an object using - * a MEMORY_OBJECT_COPY_CALL strategy, with the - * VM_PROT_WANTS_COPY flag being used to specify - * that the page desired is for a copy of the - * object, and the memory manager has detected - * the page was pushed into a copy of the object - * while the kernel was walking the shadow chain - * from the copy to the object. This error code - * is delivered via memory_object_data_error - * and is handled by the kernel (it forces the - * kernel to restart the fault). It will not be - * seen by users. - */ - -#define KERN_MEMORY_RESTART_COPY 25 -/* A strategic copy was attempted of an object - * upon which a quicker copy is now possible. - * The caller should retry the copy using - * vm_object_copy_quickly. This error code - * is seen only by the kernel. - */ - -#define KERN_INVALID_PROCESSOR_SET 26 -/* An argument applied to assert processor set privilege - * was not a processor set control port. - */ - -#define KERN_POLICY_LIMIT 27 -/* The specified scheduling attributes exceed the thread's - * limits. - */ - -#define KERN_INVALID_POLICY 28 -/* The specified scheduling policy is not currently - * enabled for the processor set. - */ - -#define KERN_INVALID_OBJECT 29 -/* The external memory manager failed to initialize the - * memory object. - */ - -#define KERN_ALREADY_WAITING 30 -/* A thread is attempting to wait for an event for which - * there is already a waiting thread. - */ - -#define KERN_DEFAULT_SET 31 -/* An attempt was made to destroy the default processor - * set. - */ - -#define KERN_EXCEPTION_PROTECTED 32 -/* An attempt was made to fetch an exception port that is - * protected, or to abort a thread while processing a - * protected exception. - */ - -#define KERN_INVALID_LEDGER 33 -/* A ledger was required but not supplied. - */ - -#define KERN_INVALID_MEMORY_CONTROL 34 -/* The port was not a memory cache control port. - */ - -#define KERN_INVALID_SECURITY 35 -/* An argument supplied to assert security privilege - * was not a host security port. - */ - -#define KERN_NOT_DEPRESSED 36 -/* thread_depress_abort was called on a thread which - * was not currently depressed. - */ - -#define KERN_TERMINATED 37 -/* Object has been terminated and is no longer available - */ - -#define KERN_LOCK_SET_DESTROYED 38 -/* Lock set has been destroyed and is no longer available. - */ - -#define KERN_LOCK_UNSTABLE 39 -/* The thread holding the lock terminated before releasing - * the lock - */ - -#define KERN_LOCK_OWNED 40 -/* The lock is already owned by another thread - */ - -#define KERN_LOCK_OWNED_SELF 41 -/* The lock is already owned by the calling thread - */ - -#define KERN_SEMAPHORE_DESTROYED 42 -/* Semaphore has been destroyed and is no longer available. - */ - -#define KERN_RPC_SERVER_TERMINATED 43 -/* Return from RPC indicating the target server was - * terminated before it successfully replied - */ - -#define KERN_RPC_TERMINATE_ORPHAN 44 -/* Terminate an orphaned activation. - */ - -#define KERN_RPC_CONTINUE_ORPHAN 45 -/* Allow an orphaned activation to continue executing. - */ - -#define KERN_NOT_SUPPORTED 46 -/* Empty thread activation (No thread linked to it) - */ - -#define KERN_NODE_DOWN 47 -/* Remote node down or inaccessible. - */ - -#define KERN_NOT_WAITING 48 -/* A signalled thread was not actually waiting. */ - -#define KERN_OPERATION_TIMED_OUT 49 -/* Some thread-oriented operation (semaphore_wait) timed out - */ - -#define KERN_CODESIGN_ERROR 50 -/* During a page fault, indicates that the page was rejected - * as a result of a signature check. - */ - -#define KERN_POLICY_STATIC 51 -/* The requested property cannot be changed at this time. - */ - -#define KERN_INSUFFICIENT_BUFFER_SIZE 52 -/* The provided buffer is of insufficient size for the requested data. - */ - -#define KERN_DENIED 53 -/* Denied by security policy - */ - -#define KERN_MISSING_KC 54 -/* The KC on which the function is operating is missing - */ - -#define KERN_INVALID_KC 55 -/* The KC on which the function is operating is invalid - */ - -#define KERN_RETURN_MAX 0x100 -/* Maximum return value allowable - */ - -#endif /* _MACH_KERN_RETURN_H_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.11-any/mach/lock_set.h b/lib/libc/include/any-macos.11-any/mach/lock_set.h deleted file mode 100644 index 752d7c2976..0000000000 --- a/lib/libc/include/any-macos.11-any/mach/lock_set.h +++ /dev/null @@ -1,350 +0,0 @@ -#ifndef _lock_set_user_ -#define _lock_set_user_ - -/* Module lock_set */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -/* BEGIN MIG_STRNCPY_ZEROFILL CODE */ - -#if defined(__has_include) -#if __has_include() -#ifndef USING_MIG_STRNCPY_ZEROFILL -#define USING_MIG_STRNCPY_ZEROFILL -#endif -#ifndef __MIG_STRNCPY_ZEROFILL_FORWARD_TYPE_DECLS__ -#define __MIG_STRNCPY_ZEROFILL_FORWARD_TYPE_DECLS__ -#ifdef __cplusplus -extern "C" { -#endif - extern int mig_strncpy_zerofill(char *dest, const char *src, int len) __attribute__((weak_import)); -#ifdef __cplusplus -} -#endif -#endif /* __MIG_STRNCPY_ZEROFILL_FORWARD_TYPE_DECLS__ */ -#endif /* __has_include() */ -#endif /* __has_include */ - -/* END MIG_STRNCPY_ZEROFILL CODE */ - - -#ifdef AUTOTEST -#ifndef FUNCTION_PTR_T -#define FUNCTION_PTR_T -typedef void (*function_ptr_t)(mach_port_t, char *, mach_msg_type_number_t); -typedef struct { - char *name; - function_ptr_t function; -} function_table_entry; -typedef function_table_entry *function_table_t; -#endif /* FUNCTION_PTR_T */ -#endif /* AUTOTEST */ - -#ifndef lock_set_MSG_COUNT -#define lock_set_MSG_COUNT 6 -#endif /* lock_set_MSG_COUNT */ - -#include -#include -#include -#include - -#ifdef __BeforeMigUserHeader -__BeforeMigUserHeader -#endif /* __BeforeMigUserHeader */ - -#include -__BEGIN_DECLS - - -/* Routine lock_acquire */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t lock_acquire -( - lock_set_t lock_set, - int lock_id -); - -/* Routine lock_release */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t lock_release -( - lock_set_t lock_set, - int lock_id -); - -/* Routine lock_try */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t lock_try -( - lock_set_t lock_set, - int lock_id -); - -/* Routine lock_make_stable */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t lock_make_stable -( - lock_set_t lock_set, - int lock_id -); - -/* Routine lock_handoff */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t lock_handoff -( - lock_set_t lock_set, - int lock_id -); - -/* Routine lock_handoff_accept */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t lock_handoff_accept -( - lock_set_t lock_set, - int lock_id -); - -__END_DECLS - -/********************** Caution **************************/ -/* The following data types should be used to calculate */ -/* maximum message sizes only. The actual message may be */ -/* smaller, and the position of the arguments within the */ -/* message layout may vary from what is presented here. */ -/* For example, if any of the arguments are variable- */ -/* sized, and less than the maximum is sent, the data */ -/* will be packed tight in the actual message to reduce */ -/* the presence of holes. */ -/********************** Caution **************************/ - -/* typedefs for all requests */ - -#ifndef __Request__lock_set_subsystem__defined -#define __Request__lock_set_subsystem__defined - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - int lock_id; - } __Request__lock_acquire_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - int lock_id; - } __Request__lock_release_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - int lock_id; - } __Request__lock_try_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - int lock_id; - } __Request__lock_make_stable_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - int lock_id; - } __Request__lock_handoff_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - int lock_id; - } __Request__lock_handoff_accept_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif -#endif /* !__Request__lock_set_subsystem__defined */ - -/* union of all requests */ - -#ifndef __RequestUnion__lock_set_subsystem__defined -#define __RequestUnion__lock_set_subsystem__defined -union __RequestUnion__lock_set_subsystem { - __Request__lock_acquire_t Request_lock_acquire; - __Request__lock_release_t Request_lock_release; - __Request__lock_try_t Request_lock_try; - __Request__lock_make_stable_t Request_lock_make_stable; - __Request__lock_handoff_t Request_lock_handoff; - __Request__lock_handoff_accept_t Request_lock_handoff_accept; -}; -#endif /* !__RequestUnion__lock_set_subsystem__defined */ -/* typedefs for all replies */ - -#ifndef __Reply__lock_set_subsystem__defined -#define __Reply__lock_set_subsystem__defined - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__lock_acquire_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__lock_release_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__lock_try_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__lock_make_stable_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__lock_handoff_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__lock_handoff_accept_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif -#endif /* !__Reply__lock_set_subsystem__defined */ - -/* union of all replies */ - -#ifndef __ReplyUnion__lock_set_subsystem__defined -#define __ReplyUnion__lock_set_subsystem__defined -union __ReplyUnion__lock_set_subsystem { - __Reply__lock_acquire_t Reply_lock_acquire; - __Reply__lock_release_t Reply_lock_release; - __Reply__lock_try_t Reply_lock_try; - __Reply__lock_make_stable_t Reply_lock_make_stable; - __Reply__lock_handoff_t Reply_lock_handoff; - __Reply__lock_handoff_accept_t Reply_lock_handoff_accept; -}; -#endif /* !__RequestUnion__lock_set_subsystem__defined */ - -#ifndef subsystem_to_name_map_lock_set -#define subsystem_to_name_map_lock_set \ - { "lock_acquire", 617000 },\ - { "lock_release", 617001 },\ - { "lock_try", 617002 },\ - { "lock_make_stable", 617003 },\ - { "lock_handoff", 617004 },\ - { "lock_handoff_accept", 617005 } -#endif - -#ifdef __AfterMigUserHeader -__AfterMigUserHeader -#endif /* __AfterMigUserHeader */ - -#endif /* _lock_set_user_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.11-any/mach/mach.h b/lib/libc/include/any-macos.11-any/mach/mach.h deleted file mode 100644 index 159fd67b99..0000000000 --- a/lib/libc/include/any-macos.11-any/mach/mach.h +++ /dev/null @@ -1,245 +0,0 @@ -/* - * Copyright (c) 1999-2014 Apple Computer, 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@ - */ -/* - * Mach Operating System - * Copyright (c) 1991,1990,1989 Carnegie Mellon University - * All Rights Reserved. - * - * Permission to use, copy, modify and distribute this software and its - * documentation is hereby granted, provided that both the copyright - * notice and this permission notice appear in all copies of the - * software, derivative works or modified versions, and any portions - * thereof, and that both notices appear in supporting documentation. - * - * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" - * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR - * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. - * - * Carnegie Mellon requests users of this software to return to - * - * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU - * School of Computer Science - * Carnegie Mellon University - * Pittsburgh PA 15213-3890 - * - * any improvements or extensions that they make and grant Carnegie Mellon - * the rights to redistribute these changes. - */ - -/* - * Includes all the types that a normal user - * of Mach programs should need - */ - -#ifndef _MACH_H_ -#define _MACH_H_ - -#define __MACH30__ -#define MACH_IPC_FLAVOR UNTYPED - -#include -#include -#include -#include -#include -#include -#include - -#include /* for compatibility only */ -#include - -#include -#include - -#include - -__BEGIN_DECLS -/* - * Standard prototypes - */ -extern void panic_init(mach_port_t); -extern void panic(const char *, ...); - -extern void safe_gets(char *, - char *, - int); - -extern void slot_name(cpu_type_t, - cpu_subtype_t, - char **, - char **); - -extern void mig_reply_setup(mach_msg_header_t *, - mach_msg_header_t *); - -__WATCHOS_PROHIBITED __TVOS_PROHIBITED -extern void mach_msg_destroy(mach_msg_header_t *); - -__WATCHOS_PROHIBITED __TVOS_PROHIBITED -extern mach_msg_return_t mach_msg_receive(mach_msg_header_t *); - -__WATCHOS_PROHIBITED __TVOS_PROHIBITED -extern mach_msg_return_t mach_msg_send(mach_msg_header_t *); - -__WATCHOS_PROHIBITED __TVOS_PROHIBITED -extern mach_msg_return_t mach_msg_server_once(boolean_t (*) - (mach_msg_header_t *, - mach_msg_header_t *), - mach_msg_size_t, - mach_port_t, - mach_msg_options_t); - -__WATCHOS_PROHIBITED __TVOS_PROHIBITED -extern mach_msg_return_t mach_msg_server(boolean_t (*) - (mach_msg_header_t *, - mach_msg_header_t *), - mach_msg_size_t, - mach_port_t, - mach_msg_options_t); - -__WATCHOS_PROHIBITED __TVOS_PROHIBITED -extern mach_msg_return_t mach_msg_server_importance(boolean_t (*) - (mach_msg_header_t *, - mach_msg_header_t *), - mach_msg_size_t, - mach_port_t, - mach_msg_options_t); - -/* - * Prototypes for compatibility - */ -extern kern_return_t clock_get_res(mach_port_t, - clock_res_t *); -extern kern_return_t clock_set_res(mach_port_t, - clock_res_t); - -extern kern_return_t clock_sleep(mach_port_t, - int, - mach_timespec_t, - mach_timespec_t *); - -/*! - * @group voucher_mach_msg Prototypes - */ - -#define VOUCHER_MACH_MSG_API_VERSION 20140205 - -/*! - * @typedef voucher_mach_msg_state_t - * - * @abstract - * Opaque object encapsulating state changed by voucher_mach_msg_adopt(). - */ -typedef struct voucher_mach_msg_state_s *voucher_mach_msg_state_t; - -/*! - * @const VOUCHER_MACH_MSG_STATE_UNCHANGED - * - * @discussion - * Constant indicating no state change occurred. - */ -#define VOUCHER_MACH_MSG_STATE_UNCHANGED ((voucher_mach_msg_state_t)~0ul) - -/*! - * @function voucher_mach_msg_set - * - * @abstract - * Change specified message header to contain current mach voucher with a - * COPY_SEND disposition. - * Does not change message if it already has non-zero MACH_MSGH_BITS_VOUCHER. - * - * @discussion - * Borrows reference to current thread voucher so message should be sent - * immediately (without intervening calls that might change that voucher). - * - * @param msg - * The message to modify. - * - * @result - * True if header was changed. - */ -extern boolean_t voucher_mach_msg_set(mach_msg_header_t *msg); - -/*! - * @function voucher_mach_msg_clear - * - * @abstract - * Removes changes made to specified message header by voucher_mach_msg_set() - * and any mach_msg() send operations (successful or not). - * If the message is not needed further, mach_msg_destroy() should be called - * instead. - * - * @discussion - * Not intended to be called if voucher_mach_msg_set() returned false. - * Releases reference to message mach voucher if an extra reference was - * acquired due to an unsuccessful send operation (pseudo-receive). - * - * @param msg - * The message to modify. - */ -extern void voucher_mach_msg_clear(mach_msg_header_t *msg); - -/*! - * @function voucher_mach_msg_adopt - * - * @abstract - * Adopt the voucher contained in the specified message on the current thread - * and return the previous thread voucher state. - * - * @discussion - * Ownership of the mach voucher in the message is transferred to the current - * thread and the message header voucher fields are cleared. - * - * @param msg - * The message to query and modify. - * - * @result - * The previous thread voucher state or VOUCHER_MACH_MSG_STATE_UNCHANGED if no - * state change occurred. - */ -extern voucher_mach_msg_state_t voucher_mach_msg_adopt(mach_msg_header_t *msg); - -/*! - * @function voucher_mach_msg_revert - * - * @abstract - * Restore thread voucher state previously modified by voucher_mach_msg_adopt(). - * - * @discussion - * Current thread voucher reference is released. - * No change to thread voucher state if passed VOUCHER_MACH_MSG_STATE_UNCHANGED. - * - * @param state - * The thread voucher state to restore. - */ - -extern void voucher_mach_msg_revert(voucher_mach_msg_state_t state); - -__END_DECLS - -#endif /* _MACH_H_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.11-any/mach/mach_host.h b/lib/libc/include/any-macos.11-any/mach/mach_host.h deleted file mode 100644 index a5b6d2cd84..0000000000 --- a/lib/libc/include/any-macos.11-any/mach/mach_host.h +++ /dev/null @@ -1,1295 +0,0 @@ -#ifndef _mach_host_user_ -#define _mach_host_user_ - -/* Module mach_host */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -/* BEGIN MIG_STRNCPY_ZEROFILL CODE */ - -#if defined(__has_include) -#if __has_include() -#ifndef USING_MIG_STRNCPY_ZEROFILL -#define USING_MIG_STRNCPY_ZEROFILL -#endif -#ifndef __MIG_STRNCPY_ZEROFILL_FORWARD_TYPE_DECLS__ -#define __MIG_STRNCPY_ZEROFILL_FORWARD_TYPE_DECLS__ -#ifdef __cplusplus -extern "C" { -#endif - extern int mig_strncpy_zerofill(char *dest, const char *src, int len) __attribute__((weak_import)); -#ifdef __cplusplus -} -#endif -#endif /* __MIG_STRNCPY_ZEROFILL_FORWARD_TYPE_DECLS__ */ -#endif /* __has_include() */ -#endif /* __has_include */ - -/* END MIG_STRNCPY_ZEROFILL CODE */ - - -#ifdef AUTOTEST -#ifndef FUNCTION_PTR_T -#define FUNCTION_PTR_T -typedef void (*function_ptr_t)(mach_port_t, char *, mach_msg_type_number_t); -typedef struct { - char *name; - function_ptr_t function; -} function_table_entry; -typedef function_table_entry *function_table_t; -#endif /* FUNCTION_PTR_T */ -#endif /* AUTOTEST */ - -#ifndef mach_host_MSG_COUNT -#define mach_host_MSG_COUNT 35 -#endif /* mach_host_MSG_COUNT */ - -#include -#include -#include -#include -#include -#include -#include - -#ifdef __BeforeMigUserHeader -__BeforeMigUserHeader -#endif /* __BeforeMigUserHeader */ - -#include -__BEGIN_DECLS - - -/* Routine host_info */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -__WATCHOS_PROHIBITED -__TVOS_PROHIBITED -kern_return_t host_info -( - host_t host, - host_flavor_t flavor, - host_info_t host_info_out, - mach_msg_type_number_t *host_info_outCnt -); - -/* Routine host_kernel_version */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t host_kernel_version -( - host_t host, - kernel_version_t kernel_version -); - -/* Routine _host_page_size */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t _host_page_size -( - host_t host, - vm_size_t *out_page_size -); - -/* Routine mach_memory_object_memory_entry */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t mach_memory_object_memory_entry -( - host_t host, - boolean_t internal, - vm_size_t size, - vm_prot_t permission, - memory_object_t pager, - mach_port_t *entry_handle -); - -/* Routine host_processor_info */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t host_processor_info -( - host_t host, - processor_flavor_t flavor, - natural_t *out_processor_count, - processor_info_array_t *out_processor_info, - mach_msg_type_number_t *out_processor_infoCnt -); - -/* Routine host_get_io_master */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t host_get_io_master -( - host_t host, - io_master_t *io_master -); - -/* Routine host_get_clock_service */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t host_get_clock_service -( - host_t host, - clock_id_t clock_id, - clock_serv_t *clock_serv -); - -/* Routine kmod_get_info */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t kmod_get_info -( - host_t host, - kmod_args_t *modules, - mach_msg_type_number_t *modulesCnt -); - -/* Routine host_virtual_physical_table_info */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t host_virtual_physical_table_info -( - host_t host, - hash_info_bucket_array_t *info, - mach_msg_type_number_t *infoCnt -); - -/* Routine processor_set_default */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t processor_set_default -( - host_t host, - processor_set_name_t *default_set -); - -/* Routine processor_set_create */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t processor_set_create -( - host_t host, - processor_set_t *new_set, - processor_set_name_t *new_name -); - -/* Routine mach_memory_object_memory_entry_64 */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t mach_memory_object_memory_entry_64 -( - host_t host, - boolean_t internal, - memory_object_size_t size, - vm_prot_t permission, - memory_object_t pager, - mach_port_t *entry_handle -); - -/* Routine host_statistics */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t host_statistics -( - host_t host_priv, - host_flavor_t flavor, - host_info_t host_info_out, - mach_msg_type_number_t *host_info_outCnt -); - -/* Routine host_request_notification */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -__WATCHOS_PROHIBITED -__TVOS_PROHIBITED -kern_return_t host_request_notification -( - host_t host, - host_flavor_t notify_type, - mach_port_t notify_port -); - -/* Routine host_lockgroup_info */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t host_lockgroup_info -( - host_t host, - lockgroup_info_array_t *lockgroup_info, - mach_msg_type_number_t *lockgroup_infoCnt -); - -/* Routine host_statistics64 */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t host_statistics64 -( - host_t host_priv, - host_flavor_t flavor, - host_info64_t host_info64_out, - mach_msg_type_number_t *host_info64_outCnt -); - -/* Routine mach_zone_info */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t mach_zone_info -( - host_priv_t host, - mach_zone_name_array_t *names, - mach_msg_type_number_t *namesCnt, - mach_zone_info_array_t *info, - mach_msg_type_number_t *infoCnt -); - -/* Routine host_create_mach_voucher */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -__WATCHOS_PROHIBITED -__TVOS_PROHIBITED -kern_return_t host_create_mach_voucher -( - host_t host, - mach_voucher_attr_raw_recipe_array_t recipes, - mach_msg_type_number_t recipesCnt, - ipc_voucher_t *voucher -); - -/* Routine host_register_mach_voucher_attr_manager */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -__WATCHOS_PROHIBITED -__TVOS_PROHIBITED -kern_return_t host_register_mach_voucher_attr_manager -( - host_t host, - mach_voucher_attr_manager_t attr_manager, - mach_voucher_attr_value_handle_t default_value, - mach_voucher_attr_key_t *new_key, - ipc_voucher_attr_control_t *new_attr_control -); - -/* Routine host_register_well_known_mach_voucher_attr_manager */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -__WATCHOS_PROHIBITED -__TVOS_PROHIBITED -kern_return_t host_register_well_known_mach_voucher_attr_manager -( - host_t host, - mach_voucher_attr_manager_t attr_manager, - mach_voucher_attr_value_handle_t default_value, - mach_voucher_attr_key_t key, - ipc_voucher_attr_control_t *new_attr_control -); - -/* Routine host_set_atm_diagnostic_flag */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -__WATCHOS_PROHIBITED -__TVOS_PROHIBITED -kern_return_t host_set_atm_diagnostic_flag -( - host_t host, - uint32_t diagnostic_flag -); - -/* Routine host_get_atm_diagnostic_flag */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -__WATCHOS_PROHIBITED -__TVOS_PROHIBITED -kern_return_t host_get_atm_diagnostic_flag -( - host_t host, - uint32_t *diagnostic_flag -); - -/* Routine mach_memory_info */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t mach_memory_info -( - host_priv_t host, - mach_zone_name_array_t *names, - mach_msg_type_number_t *namesCnt, - mach_zone_info_array_t *info, - mach_msg_type_number_t *infoCnt, - mach_memory_info_array_t *memory_info, - mach_msg_type_number_t *memory_infoCnt -); - -/* Routine host_set_multiuser_config_flags */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t host_set_multiuser_config_flags -( - host_priv_t host_priv, - uint32_t multiuser_flags -); - -/* Routine host_get_multiuser_config_flags */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t host_get_multiuser_config_flags -( - host_t host, - uint32_t *multiuser_flags -); - -/* Routine host_check_multiuser_mode */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t host_check_multiuser_mode -( - host_t host, - uint32_t *multiuser_mode -); - -/* Routine mach_zone_info_for_zone */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t mach_zone_info_for_zone -( - host_priv_t host, - mach_zone_name_t name, - mach_zone_info_t *info -); - -__END_DECLS - -/********************** Caution **************************/ -/* The following data types should be used to calculate */ -/* maximum message sizes only. The actual message may be */ -/* smaller, and the position of the arguments within the */ -/* message layout may vary from what is presented here. */ -/* For example, if any of the arguments are variable- */ -/* sized, and less than the maximum is sent, the data */ -/* will be packed tight in the actual message to reduce */ -/* the presence of holes. */ -/********************** Caution **************************/ - -/* typedefs for all requests */ - -#ifndef __Request__mach_host_subsystem__defined -#define __Request__mach_host_subsystem__defined - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - host_flavor_t flavor; - mach_msg_type_number_t host_info_outCnt; - } __Request__host_info_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - } __Request__host_kernel_version_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - } __Request___host_page_size_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t pager; - /* end of the kernel processed data */ - NDR_record_t NDR; - boolean_t internal; - vm_size_t size; - vm_prot_t permission; - } __Request__mach_memory_object_memory_entry_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - processor_flavor_t flavor; - } __Request__host_processor_info_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - } __Request__host_get_io_master_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - clock_id_t clock_id; - } __Request__host_get_clock_service_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - } __Request__kmod_get_info_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - } __Request__host_virtual_physical_table_info_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - } __Request__processor_set_default_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - } __Request__processor_set_create_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t pager; - /* end of the kernel processed data */ - NDR_record_t NDR; - boolean_t internal; - memory_object_size_t size; - vm_prot_t permission; - } __Request__mach_memory_object_memory_entry_64_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - host_flavor_t flavor; - mach_msg_type_number_t host_info_outCnt; - } __Request__host_statistics_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t notify_port; - /* end of the kernel processed data */ - NDR_record_t NDR; - host_flavor_t notify_type; - } __Request__host_request_notification_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - } __Request__host_lockgroup_info_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - host_flavor_t flavor; - mach_msg_type_number_t host_info64_outCnt; - } __Request__host_statistics64_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - } __Request__mach_zone_info_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - mach_msg_type_number_t recipesCnt; - uint8_t recipes[5120]; - } __Request__host_create_mach_voucher_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t attr_manager; - /* end of the kernel processed data */ - NDR_record_t NDR; - mach_voucher_attr_value_handle_t default_value; - } __Request__host_register_mach_voucher_attr_manager_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t attr_manager; - /* end of the kernel processed data */ - NDR_record_t NDR; - mach_voucher_attr_value_handle_t default_value; - mach_voucher_attr_key_t key; - } __Request__host_register_well_known_mach_voucher_attr_manager_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - uint32_t diagnostic_flag; - } __Request__host_set_atm_diagnostic_flag_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - } __Request__host_get_atm_diagnostic_flag_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - } __Request__mach_memory_info_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - uint32_t multiuser_flags; - } __Request__host_set_multiuser_config_flags_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - } __Request__host_get_multiuser_config_flags_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - } __Request__host_check_multiuser_mode_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - mach_zone_name_t name; - } __Request__mach_zone_info_for_zone_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif -#endif /* !__Request__mach_host_subsystem__defined */ - -/* union of all requests */ - -#ifndef __RequestUnion__mach_host_subsystem__defined -#define __RequestUnion__mach_host_subsystem__defined -union __RequestUnion__mach_host_subsystem { - __Request__host_info_t Request_host_info; - __Request__host_kernel_version_t Request_host_kernel_version; - __Request___host_page_size_t Request__host_page_size; - __Request__mach_memory_object_memory_entry_t Request_mach_memory_object_memory_entry; - __Request__host_processor_info_t Request_host_processor_info; - __Request__host_get_io_master_t Request_host_get_io_master; - __Request__host_get_clock_service_t Request_host_get_clock_service; - __Request__kmod_get_info_t Request_kmod_get_info; - __Request__host_virtual_physical_table_info_t Request_host_virtual_physical_table_info; - __Request__processor_set_default_t Request_processor_set_default; - __Request__processor_set_create_t Request_processor_set_create; - __Request__mach_memory_object_memory_entry_64_t Request_mach_memory_object_memory_entry_64; - __Request__host_statistics_t Request_host_statistics; - __Request__host_request_notification_t Request_host_request_notification; - __Request__host_lockgroup_info_t Request_host_lockgroup_info; - __Request__host_statistics64_t Request_host_statistics64; - __Request__mach_zone_info_t Request_mach_zone_info; - __Request__host_create_mach_voucher_t Request_host_create_mach_voucher; - __Request__host_register_mach_voucher_attr_manager_t Request_host_register_mach_voucher_attr_manager; - __Request__host_register_well_known_mach_voucher_attr_manager_t Request_host_register_well_known_mach_voucher_attr_manager; - __Request__host_set_atm_diagnostic_flag_t Request_host_set_atm_diagnostic_flag; - __Request__host_get_atm_diagnostic_flag_t Request_host_get_atm_diagnostic_flag; - __Request__mach_memory_info_t Request_mach_memory_info; - __Request__host_set_multiuser_config_flags_t Request_host_set_multiuser_config_flags; - __Request__host_get_multiuser_config_flags_t Request_host_get_multiuser_config_flags; - __Request__host_check_multiuser_mode_t Request_host_check_multiuser_mode; - __Request__mach_zone_info_for_zone_t Request_mach_zone_info_for_zone; -}; -#endif /* !__RequestUnion__mach_host_subsystem__defined */ -/* typedefs for all replies */ - -#ifndef __Reply__mach_host_subsystem__defined -#define __Reply__mach_host_subsystem__defined - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - mach_msg_type_number_t host_info_outCnt; - integer_t host_info_out[68]; - } __Reply__host_info_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - mach_msg_type_number_t kernel_versionOffset; /* MiG doesn't use it */ - mach_msg_type_number_t kernel_versionCnt; - char kernel_version[512]; - } __Reply__host_kernel_version_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - vm_size_t out_page_size; - } __Reply___host_page_size_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t entry_handle; - /* end of the kernel processed data */ - } __Reply__mach_memory_object_memory_entry_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_ool_descriptor_t out_processor_info; - /* end of the kernel processed data */ - NDR_record_t NDR; - natural_t out_processor_count; - mach_msg_type_number_t out_processor_infoCnt; - } __Reply__host_processor_info_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t io_master; - /* end of the kernel processed data */ - } __Reply__host_get_io_master_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t clock_serv; - /* end of the kernel processed data */ - } __Reply__host_get_clock_service_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_ool_descriptor_t modules; - /* end of the kernel processed data */ - NDR_record_t NDR; - mach_msg_type_number_t modulesCnt; - } __Reply__kmod_get_info_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_ool_descriptor_t info; - /* end of the kernel processed data */ - NDR_record_t NDR; - mach_msg_type_number_t infoCnt; - } __Reply__host_virtual_physical_table_info_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t default_set; - /* end of the kernel processed data */ - } __Reply__processor_set_default_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t new_set; - mach_msg_port_descriptor_t new_name; - /* end of the kernel processed data */ - } __Reply__processor_set_create_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t entry_handle; - /* end of the kernel processed data */ - } __Reply__mach_memory_object_memory_entry_64_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - mach_msg_type_number_t host_info_outCnt; - integer_t host_info_out[68]; - } __Reply__host_statistics_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__host_request_notification_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_ool_descriptor_t lockgroup_info; - /* end of the kernel processed data */ - NDR_record_t NDR; - mach_msg_type_number_t lockgroup_infoCnt; - } __Reply__host_lockgroup_info_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - mach_msg_type_number_t host_info64_outCnt; - integer_t host_info64_out[256]; - } __Reply__host_statistics64_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_ool_descriptor_t names; - mach_msg_ool_descriptor_t info; - /* end of the kernel processed data */ - NDR_record_t NDR; - mach_msg_type_number_t namesCnt; - mach_msg_type_number_t infoCnt; - } __Reply__mach_zone_info_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t voucher; - /* end of the kernel processed data */ - } __Reply__host_create_mach_voucher_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t new_attr_control; - /* end of the kernel processed data */ - NDR_record_t NDR; - mach_voucher_attr_key_t new_key; - } __Reply__host_register_mach_voucher_attr_manager_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t new_attr_control; - /* end of the kernel processed data */ - } __Reply__host_register_well_known_mach_voucher_attr_manager_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__host_set_atm_diagnostic_flag_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - uint32_t diagnostic_flag; - } __Reply__host_get_atm_diagnostic_flag_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_ool_descriptor_t names; - mach_msg_ool_descriptor_t info; - mach_msg_ool_descriptor_t memory_info; - /* end of the kernel processed data */ - NDR_record_t NDR; - mach_msg_type_number_t namesCnt; - mach_msg_type_number_t infoCnt; - mach_msg_type_number_t memory_infoCnt; - } __Reply__mach_memory_info_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__host_set_multiuser_config_flags_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - uint32_t multiuser_flags; - } __Reply__host_get_multiuser_config_flags_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - uint32_t multiuser_mode; - } __Reply__host_check_multiuser_mode_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - mach_zone_info_t info; - } __Reply__mach_zone_info_for_zone_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif -#endif /* !__Reply__mach_host_subsystem__defined */ - -/* union of all replies */ - -#ifndef __ReplyUnion__mach_host_subsystem__defined -#define __ReplyUnion__mach_host_subsystem__defined -union __ReplyUnion__mach_host_subsystem { - __Reply__host_info_t Reply_host_info; - __Reply__host_kernel_version_t Reply_host_kernel_version; - __Reply___host_page_size_t Reply__host_page_size; - __Reply__mach_memory_object_memory_entry_t Reply_mach_memory_object_memory_entry; - __Reply__host_processor_info_t Reply_host_processor_info; - __Reply__host_get_io_master_t Reply_host_get_io_master; - __Reply__host_get_clock_service_t Reply_host_get_clock_service; - __Reply__kmod_get_info_t Reply_kmod_get_info; - __Reply__host_virtual_physical_table_info_t Reply_host_virtual_physical_table_info; - __Reply__processor_set_default_t Reply_processor_set_default; - __Reply__processor_set_create_t Reply_processor_set_create; - __Reply__mach_memory_object_memory_entry_64_t Reply_mach_memory_object_memory_entry_64; - __Reply__host_statistics_t Reply_host_statistics; - __Reply__host_request_notification_t Reply_host_request_notification; - __Reply__host_lockgroup_info_t Reply_host_lockgroup_info; - __Reply__host_statistics64_t Reply_host_statistics64; - __Reply__mach_zone_info_t Reply_mach_zone_info; - __Reply__host_create_mach_voucher_t Reply_host_create_mach_voucher; - __Reply__host_register_mach_voucher_attr_manager_t Reply_host_register_mach_voucher_attr_manager; - __Reply__host_register_well_known_mach_voucher_attr_manager_t Reply_host_register_well_known_mach_voucher_attr_manager; - __Reply__host_set_atm_diagnostic_flag_t Reply_host_set_atm_diagnostic_flag; - __Reply__host_get_atm_diagnostic_flag_t Reply_host_get_atm_diagnostic_flag; - __Reply__mach_memory_info_t Reply_mach_memory_info; - __Reply__host_set_multiuser_config_flags_t Reply_host_set_multiuser_config_flags; - __Reply__host_get_multiuser_config_flags_t Reply_host_get_multiuser_config_flags; - __Reply__host_check_multiuser_mode_t Reply_host_check_multiuser_mode; - __Reply__mach_zone_info_for_zone_t Reply_mach_zone_info_for_zone; -}; -#endif /* !__RequestUnion__mach_host_subsystem__defined */ - -#ifndef subsystem_to_name_map_mach_host -#define subsystem_to_name_map_mach_host \ - { "host_info", 200 },\ - { "host_kernel_version", 201 },\ - { "_host_page_size", 202 },\ - { "mach_memory_object_memory_entry", 203 },\ - { "host_processor_info", 204 },\ - { "host_get_io_master", 205 },\ - { "host_get_clock_service", 206 },\ - { "kmod_get_info", 207 },\ - { "host_virtual_physical_table_info", 209 },\ - { "processor_set_default", 213 },\ - { "processor_set_create", 214 },\ - { "mach_memory_object_memory_entry_64", 215 },\ - { "host_statistics", 216 },\ - { "host_request_notification", 217 },\ - { "host_lockgroup_info", 218 },\ - { "host_statistics64", 219 },\ - { "mach_zone_info", 220 },\ - { "host_create_mach_voucher", 222 },\ - { "host_register_mach_voucher_attr_manager", 223 },\ - { "host_register_well_known_mach_voucher_attr_manager", 224 },\ - { "host_set_atm_diagnostic_flag", 225 },\ - { "host_get_atm_diagnostic_flag", 226 },\ - { "mach_memory_info", 227 },\ - { "host_set_multiuser_config_flags", 228 },\ - { "host_get_multiuser_config_flags", 229 },\ - { "host_check_multiuser_mode", 230 },\ - { "mach_zone_info_for_zone", 231 } -#endif - -#ifdef __AfterMigUserHeader -__AfterMigUserHeader -#endif /* __AfterMigUserHeader */ - -#endif /* _mach_host_user_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.11-any/mach/mach_init.h b/lib/libc/include/any-macos.11-any/mach/mach_init.h deleted file mode 100644 index a779363409..0000000000 --- a/lib/libc/include/any-macos.11-any/mach/mach_init.h +++ /dev/null @@ -1,116 +0,0 @@ -/* - * Copyright (c) 1999 Apple Computer, 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@ - */ -/* - * Mach Operating System - * Copyright (c) 1991,1990,1989,1988,1987,1986 Carnegie Mellon University - * All Rights Reserved. - * - * Permission to use, copy, modify and distribute this software and its - * documentation is hereby granted, provided that both the copyright - * notice and this permission notice appear in all copies of the - * software, derivative works or modified versions, and any portions - * thereof, and that both notices appear in supporting documentation. - * - * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" - * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR - * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. - * - * Carnegie Mellon requests users of this software to return to - * - * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU - * School of Computer Science - * Carnegie Mellon University - * Pittsburgh PA 15213-3890 - * - * any improvements or extensions that they make and grant Carnegie Mellon - * the rights to redistribute these changes. - */ - -/* - * Items provided by the Mach environment initialization. - */ - -#ifndef _MACH_INIT_ -#define _MACH_INIT_ 1 - -#include -#include -#include - -#include - -#ifndef KERNEL -#include -#endif - -/* - * Kernel-related ports; how a task/thread controls itself - */ - -__BEGIN_DECLS -extern mach_port_t mach_host_self(void); -extern mach_port_t mach_thread_self(void); -__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_; -#define mach_task_self() mach_task_self_ -#define current_task() mach_task_self() - -__END_DECLS -#include -__BEGIN_DECLS - -/* - * Other important ports in the Mach user environment - */ - -extern mach_port_t bootstrap_port; - -/* - * Where these ports occur in the "mach_ports_register" - * collection... only servers or the runtime library need know. - */ - -#define NAME_SERVER_SLOT 0 -#define ENVIRONMENT_SLOT 1 -#define SERVICE_SLOT 2 - -#define MACH_PORTS_SLOTS_USED 3 - -/* - * fprintf_stderr uses vprintf_stderr_func to produce - * error messages, this can be overridden by a user - * application to point to a user-specified output function - */ -extern int (*vprintf_stderr_func)(const char *format, va_list ap); - -__END_DECLS - -#endif /* _MACH_INIT_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.11-any/mach/mach_port.h b/lib/libc/include/any-macos.11-any/mach/mach_port.h deleted file mode 100644 index c0b2526016..0000000000 --- a/lib/libc/include/any-macos.11-any/mach/mach_port.h +++ /dev/null @@ -1,1808 +0,0 @@ -#ifndef _mach_port_user_ -#define _mach_port_user_ - -/* Module mach_port */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -/* BEGIN MIG_STRNCPY_ZEROFILL CODE */ - -#if defined(__has_include) -#if __has_include() -#ifndef USING_MIG_STRNCPY_ZEROFILL -#define USING_MIG_STRNCPY_ZEROFILL -#endif -#ifndef __MIG_STRNCPY_ZEROFILL_FORWARD_TYPE_DECLS__ -#define __MIG_STRNCPY_ZEROFILL_FORWARD_TYPE_DECLS__ -#ifdef __cplusplus -extern "C" { -#endif - extern int mig_strncpy_zerofill(char *dest, const char *src, int len) __attribute__((weak_import)); -#ifdef __cplusplus -} -#endif -#endif /* __MIG_STRNCPY_ZEROFILL_FORWARD_TYPE_DECLS__ */ -#endif /* __has_include() */ -#endif /* __has_include */ - -/* END MIG_STRNCPY_ZEROFILL CODE */ - - -#ifdef AUTOTEST -#ifndef FUNCTION_PTR_T -#define FUNCTION_PTR_T -typedef void (*function_ptr_t)(mach_port_t, char *, mach_msg_type_number_t); -typedef struct { - char *name; - function_ptr_t function; -} function_table_entry; -typedef function_table_entry *function_table_t; -#endif /* FUNCTION_PTR_T */ -#endif /* AUTOTEST */ - -#ifndef mach_port_MSG_COUNT -#define mach_port_MSG_COUNT 40 -#endif /* mach_port_MSG_COUNT */ - -#include -#include -#include -#include -#include - -#ifdef __BeforeMigUserHeader -__BeforeMigUserHeader -#endif /* __BeforeMigUserHeader */ - -#include -__BEGIN_DECLS - - -/* Routine mach_port_names */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t mach_port_names -( - ipc_space_t task, - mach_port_name_array_t *names, - mach_msg_type_number_t *namesCnt, - mach_port_type_array_t *types, - mach_msg_type_number_t *typesCnt -); - -/* Routine mach_port_type */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t mach_port_type -( - ipc_space_t task, - mach_port_name_t name, - mach_port_type_t *ptype -); - -/* Routine mach_port_rename */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t mach_port_rename -( - ipc_space_t task, - mach_port_name_t old_name, - mach_port_name_t new_name -); - -/* Routine mach_port_allocate_name */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -__WATCHOS_PROHIBITED -__TVOS_PROHIBITED -kern_return_t mach_port_allocate_name -( - ipc_space_t task, - mach_port_right_t right, - mach_port_name_t name -); - -/* Routine mach_port_allocate */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t mach_port_allocate -( - ipc_space_t task, - mach_port_right_t right, - mach_port_name_t *name -); - -/* Routine mach_port_destroy */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t mach_port_destroy -( - ipc_space_t task, - mach_port_name_t name -); - -/* Routine mach_port_deallocate */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t mach_port_deallocate -( - ipc_space_t task, - mach_port_name_t name -); - -/* Routine mach_port_get_refs */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t mach_port_get_refs -( - ipc_space_t task, - mach_port_name_t name, - mach_port_right_t right, - mach_port_urefs_t *refs -); - -/* Routine mach_port_mod_refs */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t mach_port_mod_refs -( - ipc_space_t task, - mach_port_name_t name, - mach_port_right_t right, - mach_port_delta_t delta -); - -/* Routine mach_port_peek */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t mach_port_peek -( - ipc_space_t task, - mach_port_name_t name, - mach_msg_trailer_type_t trailer_type, - mach_port_seqno_t *request_seqnop, - mach_msg_size_t *msg_sizep, - mach_msg_id_t *msg_idp, - mach_msg_trailer_info_t trailer_infop, - mach_msg_type_number_t *trailer_infopCnt -); - -/* Routine mach_port_set_mscount */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t mach_port_set_mscount -( - ipc_space_t task, - mach_port_name_t name, - mach_port_mscount_t mscount -); - -/* Routine mach_port_get_set_status */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t mach_port_get_set_status -( - ipc_space_read_t task, - mach_port_name_t name, - mach_port_name_array_t *members, - mach_msg_type_number_t *membersCnt -); - -/* Routine mach_port_move_member */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t mach_port_move_member -( - ipc_space_t task, - mach_port_name_t member, - mach_port_name_t after -); - -/* Routine mach_port_request_notification */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t mach_port_request_notification -( - ipc_space_t task, - mach_port_name_t name, - mach_msg_id_t msgid, - mach_port_mscount_t sync, - mach_port_t notify, - mach_msg_type_name_t notifyPoly, - mach_port_t *previous -); - -/* Routine mach_port_insert_right */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t mach_port_insert_right -( - ipc_space_t task, - mach_port_name_t name, - mach_port_t poly, - mach_msg_type_name_t polyPoly -); - -/* Routine mach_port_extract_right */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t mach_port_extract_right -( - ipc_space_t task, - mach_port_name_t name, - mach_msg_type_name_t msgt_name, - mach_port_t *poly, - mach_msg_type_name_t *polyPoly -); - -/* Routine mach_port_set_seqno */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t mach_port_set_seqno -( - ipc_space_t task, - mach_port_name_t name, - mach_port_seqno_t seqno -); - -/* Routine mach_port_get_attributes */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t mach_port_get_attributes -( - ipc_space_read_t task, - mach_port_name_t name, - mach_port_flavor_t flavor, - mach_port_info_t port_info_out, - mach_msg_type_number_t *port_info_outCnt -); - -/* Routine mach_port_set_attributes */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t mach_port_set_attributes -( - ipc_space_t task, - mach_port_name_t name, - mach_port_flavor_t flavor, - mach_port_info_t port_info, - mach_msg_type_number_t port_infoCnt -); - -/* Routine mach_port_allocate_qos */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t mach_port_allocate_qos -( - ipc_space_t task, - mach_port_right_t right, - mach_port_qos_t *qos, - mach_port_name_t *name -); - -/* Routine mach_port_allocate_full */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t mach_port_allocate_full -( - ipc_space_t task, - mach_port_right_t right, - mach_port_t proto, - mach_port_qos_t *qos, - mach_port_name_t *name -); - -/* Routine task_set_port_space */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -__WATCHOS_PROHIBITED -__TVOS_PROHIBITED -kern_return_t task_set_port_space -( - ipc_space_t task, - int table_entries -); - -/* Routine mach_port_get_srights */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t mach_port_get_srights -( - ipc_space_t task, - mach_port_name_t name, - mach_port_rights_t *srights -); - -/* Routine mach_port_space_info */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t mach_port_space_info -( - ipc_space_read_t space, - ipc_info_space_t *space_info, - ipc_info_name_array_t *table_info, - mach_msg_type_number_t *table_infoCnt, - ipc_info_tree_name_array_t *tree_info, - mach_msg_type_number_t *tree_infoCnt -); - -/* Routine mach_port_dnrequest_info */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t mach_port_dnrequest_info -( - ipc_space_t task, - mach_port_name_t name, - unsigned *dnr_total, - unsigned *dnr_used -); - -/* Routine mach_port_kernel_object */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t mach_port_kernel_object -( - ipc_space_read_t task, - mach_port_name_t name, - unsigned *object_type, - unsigned *object_addr -); - -/* Routine mach_port_insert_member */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t mach_port_insert_member -( - ipc_space_t task, - mach_port_name_t name, - mach_port_name_t pset -); - -/* Routine mach_port_extract_member */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t mach_port_extract_member -( - ipc_space_t task, - mach_port_name_t name, - mach_port_name_t pset -); - -/* Routine mach_port_get_context */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t mach_port_get_context -( - ipc_space_read_t task, - mach_port_name_t name, - mach_port_context_t *context -); - -/* Routine mach_port_set_context */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t mach_port_set_context -( - ipc_space_t task, - mach_port_name_t name, - mach_port_context_t context -); - -/* Routine mach_port_kobject */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t mach_port_kobject -( - ipc_space_read_t task, - mach_port_name_t name, - natural_t *object_type, - mach_vm_address_t *object_addr -); - -/* Routine mach_port_construct */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t mach_port_construct -( - ipc_space_t task, - mach_port_options_ptr_t options, - mach_port_context_t context, - mach_port_name_t *name -); - -/* Routine mach_port_destruct */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t mach_port_destruct -( - ipc_space_t task, - mach_port_name_t name, - mach_port_delta_t srdelta, - mach_port_context_t guard -); - -/* Routine mach_port_guard */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t mach_port_guard -( - ipc_space_t task, - mach_port_name_t name, - mach_port_context_t guard, - boolean_t strict -); - -/* Routine mach_port_unguard */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t mach_port_unguard -( - ipc_space_t task, - mach_port_name_t name, - mach_port_context_t guard -); - -/* Routine mach_port_space_basic_info */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t mach_port_space_basic_info -( - ipc_space_inspect_t task, - ipc_info_space_basic_t *basic_info -); - -/* Routine mach_port_guard_with_flags */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t mach_port_guard_with_flags -( - ipc_space_t task, - mach_port_name_t name, - mach_port_context_t guard, - uint64_t flags -); - -/* Routine mach_port_swap_guard */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t mach_port_swap_guard -( - ipc_space_t task, - mach_port_name_t name, - mach_port_context_t old_guard, - mach_port_context_t new_guard -); - -/* Routine mach_port_kobject_description */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t mach_port_kobject_description -( - ipc_space_read_t task, - mach_port_name_t name, - natural_t *object_type, - mach_vm_address_t *object_addr, - kobject_description_t description -); - -__END_DECLS - -/********************** Caution **************************/ -/* The following data types should be used to calculate */ -/* maximum message sizes only. The actual message may be */ -/* smaller, and the position of the arguments within the */ -/* message layout may vary from what is presented here. */ -/* For example, if any of the arguments are variable- */ -/* sized, and less than the maximum is sent, the data */ -/* will be packed tight in the actual message to reduce */ -/* the presence of holes. */ -/********************** Caution **************************/ - -/* typedefs for all requests */ - -#ifndef __Request__mach_port_subsystem__defined -#define __Request__mach_port_subsystem__defined - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - } __Request__mach_port_names_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - mach_port_name_t name; - } __Request__mach_port_type_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - mach_port_name_t old_name; - mach_port_name_t new_name; - } __Request__mach_port_rename_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - mach_port_right_t right; - mach_port_name_t name; - } __Request__mach_port_allocate_name_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - mach_port_right_t right; - } __Request__mach_port_allocate_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - mach_port_name_t name; - } __Request__mach_port_destroy_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - mach_port_name_t name; - } __Request__mach_port_deallocate_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - mach_port_name_t name; - mach_port_right_t right; - } __Request__mach_port_get_refs_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - mach_port_name_t name; - mach_port_right_t right; - mach_port_delta_t delta; - } __Request__mach_port_mod_refs_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - mach_port_name_t name; - mach_msg_trailer_type_t trailer_type; - mach_port_seqno_t request_seqnop; - mach_msg_type_number_t trailer_infopCnt; - } __Request__mach_port_peek_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - mach_port_name_t name; - mach_port_mscount_t mscount; - } __Request__mach_port_set_mscount_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - mach_port_name_t name; - } __Request__mach_port_get_set_status_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - mach_port_name_t member; - mach_port_name_t after; - } __Request__mach_port_move_member_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t notify; - /* end of the kernel processed data */ - NDR_record_t NDR; - mach_port_name_t name; - mach_msg_id_t msgid; - mach_port_mscount_t sync; - } __Request__mach_port_request_notification_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t poly; - /* end of the kernel processed data */ - NDR_record_t NDR; - mach_port_name_t name; - } __Request__mach_port_insert_right_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - mach_port_name_t name; - mach_msg_type_name_t msgt_name; - } __Request__mach_port_extract_right_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - mach_port_name_t name; - mach_port_seqno_t seqno; - } __Request__mach_port_set_seqno_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - mach_port_name_t name; - mach_port_flavor_t flavor; - mach_msg_type_number_t port_info_outCnt; - } __Request__mach_port_get_attributes_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - mach_port_name_t name; - mach_port_flavor_t flavor; - mach_msg_type_number_t port_infoCnt; - integer_t port_info[17]; - } __Request__mach_port_set_attributes_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - mach_port_right_t right; - mach_port_qos_t qos; - } __Request__mach_port_allocate_qos_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t proto; - /* end of the kernel processed data */ - NDR_record_t NDR; - mach_port_right_t right; - mach_port_qos_t qos; - mach_port_name_t name; - } __Request__mach_port_allocate_full_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - int table_entries; - } __Request__task_set_port_space_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - mach_port_name_t name; - } __Request__mach_port_get_srights_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - } __Request__mach_port_space_info_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - mach_port_name_t name; - } __Request__mach_port_dnrequest_info_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - mach_port_name_t name; - } __Request__mach_port_kernel_object_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - mach_port_name_t name; - mach_port_name_t pset; - } __Request__mach_port_insert_member_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - mach_port_name_t name; - mach_port_name_t pset; - } __Request__mach_port_extract_member_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - mach_port_name_t name; - } __Request__mach_port_get_context_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - mach_port_name_t name; - mach_port_context_t context; - } __Request__mach_port_set_context_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - mach_port_name_t name; - } __Request__mach_port_kobject_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_ool_descriptor_t options; - /* end of the kernel processed data */ - NDR_record_t NDR; - mach_port_context_t context; - } __Request__mach_port_construct_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - mach_port_name_t name; - mach_port_delta_t srdelta; - mach_port_context_t guard; - } __Request__mach_port_destruct_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - mach_port_name_t name; - mach_port_context_t guard; - boolean_t strict; - } __Request__mach_port_guard_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - mach_port_name_t name; - mach_port_context_t guard; - } __Request__mach_port_unguard_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - } __Request__mach_port_space_basic_info_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - mach_port_name_t name; - mach_port_context_t guard; - uint64_t flags; - } __Request__mach_port_guard_with_flags_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - mach_port_name_t name; - mach_port_context_t old_guard; - mach_port_context_t new_guard; - } __Request__mach_port_swap_guard_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - mach_port_name_t name; - } __Request__mach_port_kobject_description_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif -#endif /* !__Request__mach_port_subsystem__defined */ - -/* union of all requests */ - -#ifndef __RequestUnion__mach_port_subsystem__defined -#define __RequestUnion__mach_port_subsystem__defined -union __RequestUnion__mach_port_subsystem { - __Request__mach_port_names_t Request_mach_port_names; - __Request__mach_port_type_t Request_mach_port_type; - __Request__mach_port_rename_t Request_mach_port_rename; - __Request__mach_port_allocate_name_t Request_mach_port_allocate_name; - __Request__mach_port_allocate_t Request_mach_port_allocate; - __Request__mach_port_destroy_t Request_mach_port_destroy; - __Request__mach_port_deallocate_t Request_mach_port_deallocate; - __Request__mach_port_get_refs_t Request_mach_port_get_refs; - __Request__mach_port_mod_refs_t Request_mach_port_mod_refs; - __Request__mach_port_peek_t Request_mach_port_peek; - __Request__mach_port_set_mscount_t Request_mach_port_set_mscount; - __Request__mach_port_get_set_status_t Request_mach_port_get_set_status; - __Request__mach_port_move_member_t Request_mach_port_move_member; - __Request__mach_port_request_notification_t Request_mach_port_request_notification; - __Request__mach_port_insert_right_t Request_mach_port_insert_right; - __Request__mach_port_extract_right_t Request_mach_port_extract_right; - __Request__mach_port_set_seqno_t Request_mach_port_set_seqno; - __Request__mach_port_get_attributes_t Request_mach_port_get_attributes; - __Request__mach_port_set_attributes_t Request_mach_port_set_attributes; - __Request__mach_port_allocate_qos_t Request_mach_port_allocate_qos; - __Request__mach_port_allocate_full_t Request_mach_port_allocate_full; - __Request__task_set_port_space_t Request_task_set_port_space; - __Request__mach_port_get_srights_t Request_mach_port_get_srights; - __Request__mach_port_space_info_t Request_mach_port_space_info; - __Request__mach_port_dnrequest_info_t Request_mach_port_dnrequest_info; - __Request__mach_port_kernel_object_t Request_mach_port_kernel_object; - __Request__mach_port_insert_member_t Request_mach_port_insert_member; - __Request__mach_port_extract_member_t Request_mach_port_extract_member; - __Request__mach_port_get_context_t Request_mach_port_get_context; - __Request__mach_port_set_context_t Request_mach_port_set_context; - __Request__mach_port_kobject_t Request_mach_port_kobject; - __Request__mach_port_construct_t Request_mach_port_construct; - __Request__mach_port_destruct_t Request_mach_port_destruct; - __Request__mach_port_guard_t Request_mach_port_guard; - __Request__mach_port_unguard_t Request_mach_port_unguard; - __Request__mach_port_space_basic_info_t Request_mach_port_space_basic_info; - __Request__mach_port_guard_with_flags_t Request_mach_port_guard_with_flags; - __Request__mach_port_swap_guard_t Request_mach_port_swap_guard; - __Request__mach_port_kobject_description_t Request_mach_port_kobject_description; -}; -#endif /* !__RequestUnion__mach_port_subsystem__defined */ -/* typedefs for all replies */ - -#ifndef __Reply__mach_port_subsystem__defined -#define __Reply__mach_port_subsystem__defined - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_ool_descriptor_t names; - mach_msg_ool_descriptor_t types; - /* end of the kernel processed data */ - NDR_record_t NDR; - mach_msg_type_number_t namesCnt; - mach_msg_type_number_t typesCnt; - } __Reply__mach_port_names_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - mach_port_type_t ptype; - } __Reply__mach_port_type_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__mach_port_rename_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__mach_port_allocate_name_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - mach_port_name_t name; - } __Reply__mach_port_allocate_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__mach_port_destroy_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__mach_port_deallocate_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - mach_port_urefs_t refs; - } __Reply__mach_port_get_refs_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__mach_port_mod_refs_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - mach_port_seqno_t request_seqnop; - mach_msg_size_t msg_sizep; - mach_msg_id_t msg_idp; - mach_msg_type_number_t trailer_infopCnt; - char trailer_infop[68]; - } __Reply__mach_port_peek_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__mach_port_set_mscount_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_ool_descriptor_t members; - /* end of the kernel processed data */ - NDR_record_t NDR; - mach_msg_type_number_t membersCnt; - } __Reply__mach_port_get_set_status_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__mach_port_move_member_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t previous; - /* end of the kernel processed data */ - } __Reply__mach_port_request_notification_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__mach_port_insert_right_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t poly; - /* end of the kernel processed data */ - } __Reply__mach_port_extract_right_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__mach_port_set_seqno_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - mach_msg_type_number_t port_info_outCnt; - integer_t port_info_out[17]; - } __Reply__mach_port_get_attributes_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__mach_port_set_attributes_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - mach_port_qos_t qos; - mach_port_name_t name; - } __Reply__mach_port_allocate_qos_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - mach_port_qos_t qos; - mach_port_name_t name; - } __Reply__mach_port_allocate_full_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__task_set_port_space_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - mach_port_rights_t srights; - } __Reply__mach_port_get_srights_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_ool_descriptor_t table_info; - mach_msg_ool_descriptor_t tree_info; - /* end of the kernel processed data */ - NDR_record_t NDR; - ipc_info_space_t space_info; - mach_msg_type_number_t table_infoCnt; - mach_msg_type_number_t tree_infoCnt; - } __Reply__mach_port_space_info_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - unsigned dnr_total; - unsigned dnr_used; - } __Reply__mach_port_dnrequest_info_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - unsigned object_type; - unsigned object_addr; - } __Reply__mach_port_kernel_object_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__mach_port_insert_member_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__mach_port_extract_member_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - mach_port_context_t context; - } __Reply__mach_port_get_context_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__mach_port_set_context_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - natural_t object_type; - mach_vm_address_t object_addr; - } __Reply__mach_port_kobject_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - mach_port_name_t name; - } __Reply__mach_port_construct_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__mach_port_destruct_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__mach_port_guard_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__mach_port_unguard_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - ipc_info_space_basic_t basic_info; - } __Reply__mach_port_space_basic_info_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__mach_port_guard_with_flags_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__mach_port_swap_guard_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - natural_t object_type; - mach_vm_address_t object_addr; - mach_msg_type_number_t descriptionOffset; /* MiG doesn't use it */ - mach_msg_type_number_t descriptionCnt; - char description[512]; - } __Reply__mach_port_kobject_description_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif -#endif /* !__Reply__mach_port_subsystem__defined */ - -/* union of all replies */ - -#ifndef __ReplyUnion__mach_port_subsystem__defined -#define __ReplyUnion__mach_port_subsystem__defined -union __ReplyUnion__mach_port_subsystem { - __Reply__mach_port_names_t Reply_mach_port_names; - __Reply__mach_port_type_t Reply_mach_port_type; - __Reply__mach_port_rename_t Reply_mach_port_rename; - __Reply__mach_port_allocate_name_t Reply_mach_port_allocate_name; - __Reply__mach_port_allocate_t Reply_mach_port_allocate; - __Reply__mach_port_destroy_t Reply_mach_port_destroy; - __Reply__mach_port_deallocate_t Reply_mach_port_deallocate; - __Reply__mach_port_get_refs_t Reply_mach_port_get_refs; - __Reply__mach_port_mod_refs_t Reply_mach_port_mod_refs; - __Reply__mach_port_peek_t Reply_mach_port_peek; - __Reply__mach_port_set_mscount_t Reply_mach_port_set_mscount; - __Reply__mach_port_get_set_status_t Reply_mach_port_get_set_status; - __Reply__mach_port_move_member_t Reply_mach_port_move_member; - __Reply__mach_port_request_notification_t Reply_mach_port_request_notification; - __Reply__mach_port_insert_right_t Reply_mach_port_insert_right; - __Reply__mach_port_extract_right_t Reply_mach_port_extract_right; - __Reply__mach_port_set_seqno_t Reply_mach_port_set_seqno; - __Reply__mach_port_get_attributes_t Reply_mach_port_get_attributes; - __Reply__mach_port_set_attributes_t Reply_mach_port_set_attributes; - __Reply__mach_port_allocate_qos_t Reply_mach_port_allocate_qos; - __Reply__mach_port_allocate_full_t Reply_mach_port_allocate_full; - __Reply__task_set_port_space_t Reply_task_set_port_space; - __Reply__mach_port_get_srights_t Reply_mach_port_get_srights; - __Reply__mach_port_space_info_t Reply_mach_port_space_info; - __Reply__mach_port_dnrequest_info_t Reply_mach_port_dnrequest_info; - __Reply__mach_port_kernel_object_t Reply_mach_port_kernel_object; - __Reply__mach_port_insert_member_t Reply_mach_port_insert_member; - __Reply__mach_port_extract_member_t Reply_mach_port_extract_member; - __Reply__mach_port_get_context_t Reply_mach_port_get_context; - __Reply__mach_port_set_context_t Reply_mach_port_set_context; - __Reply__mach_port_kobject_t Reply_mach_port_kobject; - __Reply__mach_port_construct_t Reply_mach_port_construct; - __Reply__mach_port_destruct_t Reply_mach_port_destruct; - __Reply__mach_port_guard_t Reply_mach_port_guard; - __Reply__mach_port_unguard_t Reply_mach_port_unguard; - __Reply__mach_port_space_basic_info_t Reply_mach_port_space_basic_info; - __Reply__mach_port_guard_with_flags_t Reply_mach_port_guard_with_flags; - __Reply__mach_port_swap_guard_t Reply_mach_port_swap_guard; - __Reply__mach_port_kobject_description_t Reply_mach_port_kobject_description; -}; -#endif /* !__RequestUnion__mach_port_subsystem__defined */ - -#ifndef subsystem_to_name_map_mach_port -#define subsystem_to_name_map_mach_port \ - { "mach_port_names", 3200 },\ - { "mach_port_type", 3201 },\ - { "mach_port_rename", 3202 },\ - { "mach_port_allocate_name", 3203 },\ - { "mach_port_allocate", 3204 },\ - { "mach_port_destroy", 3205 },\ - { "mach_port_deallocate", 3206 },\ - { "mach_port_get_refs", 3207 },\ - { "mach_port_mod_refs", 3208 },\ - { "mach_port_peek", 3209 },\ - { "mach_port_set_mscount", 3210 },\ - { "mach_port_get_set_status", 3211 },\ - { "mach_port_move_member", 3212 },\ - { "mach_port_request_notification", 3213 },\ - { "mach_port_insert_right", 3214 },\ - { "mach_port_extract_right", 3215 },\ - { "mach_port_set_seqno", 3216 },\ - { "mach_port_get_attributes", 3217 },\ - { "mach_port_set_attributes", 3218 },\ - { "mach_port_allocate_qos", 3219 },\ - { "mach_port_allocate_full", 3220 },\ - { "task_set_port_space", 3221 },\ - { "mach_port_get_srights", 3222 },\ - { "mach_port_space_info", 3223 },\ - { "mach_port_dnrequest_info", 3224 },\ - { "mach_port_kernel_object", 3225 },\ - { "mach_port_insert_member", 3226 },\ - { "mach_port_extract_member", 3227 },\ - { "mach_port_get_context", 3228 },\ - { "mach_port_set_context", 3229 },\ - { "mach_port_kobject", 3230 },\ - { "mach_port_construct", 3231 },\ - { "mach_port_destruct", 3232 },\ - { "mach_port_guard", 3233 },\ - { "mach_port_unguard", 3234 },\ - { "mach_port_space_basic_info", 3235 },\ - { "mach_port_guard_with_flags", 3237 },\ - { "mach_port_swap_guard", 3238 },\ - { "mach_port_kobject_description", 3239 } -#endif - -#ifdef __AfterMigUserHeader -__AfterMigUserHeader -#endif /* __AfterMigUserHeader */ - -#endif /* _mach_port_user_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.11-any/mach/mach_types.h b/lib/libc/include/any-macos.11-any/mach/mach_types.h deleted file mode 100644 index 50e84225eb..0000000000 --- a/lib/libc/include/any-macos.11-any/mach/mach_types.h +++ /dev/null @@ -1,287 +0,0 @@ -/* - * Copyright (c) 2000-2018 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@ - */ -/* - * @OSF_COPYRIGHT@ - */ -/* - * Mach Operating System - * Copyright (c) 1991,1990,1989,1988 Carnegie Mellon University - * All Rights Reserved. - * - * Permission to use, copy, modify and distribute this software and its - * documentation is hereby granted, provided that both the copyright - * notice and this permission notice appear in all copies of the - * software, derivative works or modified versions, and any portions - * thereof, and that both notices appear in supporting documentation. - * - * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" - * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR - * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. - * - * Carnegie Mellon requests users of this software to return to - * - * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU - * School of Computer Science - * Carnegie Mellon University - * Pittsburgh PA 15213-3890 - * - * any improvements or extensions that they make and grant Carnegie Mellon - * the rights to redistribute these changes. - */ -/* - */ -/* - * NOTICE: This file was modified by SPARTA, Inc. in 2005 to introduce - * support for mandatory and extensible security protections. This notice - * is included in support of clause 2.2 (b) of the Apple Public License, - * Version 2.0. - */ -/* - * File: mach/mach_types.h - * Author: Avadis Tevanian, Jr., Michael Wayne Young - * Date: 1986 - * - * Mach external interface definitions. - * - */ - -#ifndef _MACH_MACH_TYPES_H_ -#define _MACH_MACH_TYPES_H_ - -#include - -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -/* - * If we are not in the kernel, then these will all be represented by - * ports at user-space. - */ -typedef mach_port_t task_t; -typedef mach_port_t task_name_t; -typedef mach_port_t task_policy_set_t; -typedef mach_port_t task_policy_get_t; -typedef mach_port_t task_inspect_t; -typedef mach_port_t task_read_t; -typedef mach_port_t task_suspension_token_t; -typedef mach_port_t thread_t; -typedef mach_port_t thread_act_t; -typedef mach_port_t thread_inspect_t; -typedef mach_port_t thread_read_t; -typedef mach_port_t ipc_space_t; -typedef mach_port_t ipc_space_read_t; -typedef mach_port_t ipc_space_inspect_t; -typedef mach_port_t coalition_t; -typedef mach_port_t host_t; -typedef mach_port_t host_priv_t; -typedef mach_port_t host_security_t; -typedef mach_port_t processor_t; -typedef mach_port_t processor_set_t; -typedef mach_port_t processor_set_control_t; -typedef mach_port_t semaphore_t; -typedef mach_port_t lock_set_t; -typedef mach_port_t ledger_t; -typedef mach_port_t alarm_t; -typedef mach_port_t clock_serv_t; -typedef mach_port_t clock_ctrl_t; -typedef mach_port_t arcade_register_t; -typedef mach_port_t ipc_eventlink_t; -typedef mach_port_t eventlink_port_pair_t[2]; -typedef mach_port_t suid_cred_t; -typedef mach_port_t task_id_token_t; - - -/* - * These aren't really unique types. They are just called - * out as unique types at one point in history. So we list - * them here for compatibility. - */ -typedef processor_set_t processor_set_name_t; - -/* - * These types are just hard-coded as ports - */ -typedef mach_port_t clock_reply_t; -typedef mach_port_t bootstrap_t; -typedef mach_port_t mem_entry_name_port_t; -typedef mach_port_t exception_handler_t; -typedef exception_handler_t *exception_handler_array_t; -typedef mach_port_t vm_task_entry_t; -typedef mach_port_t io_master_t; -typedef mach_port_t UNDServerRef; -typedef mach_port_t mach_eventlink_t; - -typedef ipc_info_port_t exception_handler_info_t; - -/* - * Mig doesn't translate the components of an array. - * For example, Mig won't use the thread_t translations - * to translate a thread_array_t argument. So, these definitions - * are not completely accurate at the moment for other kernel - * components. - */ -typedef task_t *task_array_t; -typedef thread_t *thread_array_t; -typedef processor_set_t *processor_set_array_t; -typedef processor_set_t *processor_set_name_array_t; -typedef processor_t *processor_array_t; -typedef thread_act_t *thread_act_array_t; -typedef ledger_t *ledger_array_t; - -/* - * However the real mach_types got declared, we also have to declare - * types with "port" in the name for compatability with the way OSF - * had declared the user interfaces at one point. Someday these should - * go away. - */ -typedef task_t task_port_t; -typedef task_array_t task_port_array_t; -typedef thread_t thread_port_t; -typedef thread_array_t thread_port_array_t; -typedef ipc_space_t ipc_space_port_t; -typedef host_t host_name_t; -typedef host_t host_name_port_t; -typedef processor_set_t processor_set_port_t; -typedef processor_set_t processor_set_name_port_t; -typedef processor_set_array_t processor_set_name_port_array_t; -typedef processor_set_t processor_set_control_port_t; -typedef processor_t processor_port_t; -typedef processor_array_t processor_port_array_t; -typedef thread_act_t thread_act_port_t; -typedef thread_act_array_t thread_act_port_array_t; -typedef semaphore_t semaphore_port_t; -typedef lock_set_t lock_set_port_t; -typedef ledger_t ledger_port_t; -typedef ledger_array_t ledger_port_array_t; -typedef alarm_t alarm_port_t; -typedef clock_serv_t clock_serv_port_t; -typedef clock_ctrl_t clock_ctrl_port_t; -typedef exception_handler_t exception_port_t; -typedef exception_handler_array_t exception_port_arrary_t; -typedef char vfs_path_t[4096]; -typedef char nspace_path_t[1024]; /* 1024 == PATH_MAX */ -typedef char suid_cred_path_t[1024]; -typedef uint32_t suid_cred_uid_t; - -#define TASK_NULL ((task_t) 0) -#define TASK_NAME_NULL ((task_name_t) 0) -#define TASK_INSPECT_NULL ((task_inspect_t) 0) -#define TASK_READ_NULL ((task_read_t) 0) -#define THREAD_NULL ((thread_t) 0) -#define THREAD_INSPECT_NULL ((thread_inspect_t) 0) -#define THREAD_READ_NULL ((thread_read_t) 0) -#define TID_NULL ((uint64_t) 0) -#define THR_ACT_NULL ((thread_act_t) 0) -#define IPC_SPACE_NULL ((ipc_space_t) 0) -#define IPC_SPACE_READ_NULL ((ipc_space_read_t) 0) -#define IPC_SPACE_INSPECT_NULL ((ipc_space_inspect_t) 0) -#define COALITION_NULL ((coalition_t) 0) -#define HOST_NULL ((host_t) 0) -#define HOST_PRIV_NULL ((host_priv_t) 0) -#define HOST_SECURITY_NULL ((host_security_t) 0) -#define PROCESSOR_SET_NULL ((processor_set_t) 0) -#define PROCESSOR_NULL ((processor_t) 0) -#define SEMAPHORE_NULL ((semaphore_t) 0) -#define LOCK_SET_NULL ((lock_set_t) 0) -#define LEDGER_NULL ((ledger_t) 0) -#define ALARM_NULL ((alarm_t) 0) -#define CLOCK_NULL ((clock_t) 0) -#define UND_SERVER_NULL ((UNDServerRef) 0) -#define ARCADE_REG_NULL ((arcade_register_t) 0) -#define MACH_EVENTLINK_NULL ((mach_eventlink_t) 0) -#define IPC_EVENTLINK_NULL ((ipc_eventlink_t) 0) -#define SUID_CRED_NULL ((suid_cred_t) 0) -#define TASK_ID_TOKEN_NULL ((task_id_token_t) 0) - -/* capability strictly _DECREASING_. - * not ordered the other way around because we want TASK_FLAVOR_CONTROL - * to be closest to the itk_lock. see task.h. - */ -typedef unsigned int mach_task_flavor_t; -#define TASK_FLAVOR_CONTROL 0 /* a task_t */ -#define TASK_FLAVOR_READ 1 /* a task_read_t */ -#define TASK_FLAVOR_INSPECT 2 /* a task_inspect_t */ -#define TASK_FLAVOR_NAME 3 /* a task_name_t */ - -/* capability strictly _DECREASING_ */ -typedef unsigned int mach_thread_flavor_t; -#define THREAD_FLAVOR_CONTROL 0 /* a thread_t */ -#define THREAD_FLAVOR_READ 1 /* a thread_read_t */ -#define THREAD_FLAVOR_INSPECT 2 /* a thread_inspect_t */ - -/* DEPRECATED */ -typedef natural_t ledger_item_t; -#define LEDGER_ITEM_INFINITY ((ledger_item_t) (~0)) - -typedef int64_t ledger_amount_t; -#define LEDGER_LIMIT_INFINITY ((ledger_amount_t)((1ULL << 63) - 1)) - -typedef mach_vm_offset_t *emulation_vector_t; -typedef char *user_subsystem_t; - -typedef char *labelstr_t; -/* - * Backwards compatibility, for those programs written - * before mach/{std,mach}_types.{defs,h} were set up. - */ -#include - -#endif /* _MACH_MACH_TYPES_H_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.11-any/mach/mach_voucher_types.h b/lib/libc/include/any-macos.11-any/mach/mach_voucher_types.h deleted file mode 100644 index b5b34d7e4c..0000000000 --- a/lib/libc/include/any-macos.11-any/mach/mach_voucher_types.h +++ /dev/null @@ -1,245 +0,0 @@ -/* - * Copyright (c) 2013 Apple Computer, 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 _MACH_VOUCHER_TYPES_H_ -#define _MACH_VOUCHER_TYPES_H_ - -#include -#include - -/* - * Mach Voucher - an immutable collection of attribute value handles. - * - * The mach voucher is such that it can be passed between processes - * as a Mach port send right (by convention in the mach_msg_header_t’s - * msgh_voucher field). - * - * You may construct a new mach voucher by passing a construction - * recipe to host_create_mach_voucher(). The construction recipe supports - * generic commands for copying, removing, and redeeming attribute value - * handles from previous vouchers, or running attribute-mananger-specific - * commands within the recipe. - * - * Once the set of attribute value handles is constructed and returned, - * that set will not change for the life of the voucher (just because the - * attribute value handle itself doesn't change, the value the handle refers - * to is free to change at will). - */ -typedef mach_port_t mach_voucher_t; -#define MACH_VOUCHER_NULL ((mach_voucher_t) 0) - -typedef mach_port_name_t mach_voucher_name_t; -#define MACH_VOUCHER_NAME_NULL ((mach_voucher_name_t) 0) - -typedef mach_voucher_name_t *mach_voucher_name_array_t; -#define MACH_VOUCHER_NAME_ARRAY_NULL ((mach_voucher_name_array_t) 0) - -/* - * This type changes appearance between user-space and kernel. It is - * a port at user-space and a reference to an ipc_voucher structure in-kernel. - */ -typedef mach_voucher_t ipc_voucher_t; -#define IPC_VOUCHER_NULL ((ipc_voucher_t) 0) - -/* - * mach_voucher_selector_t - A means of specifying which thread/task value to extract - - * the current voucher set at this level, or a voucher representing - * the full [layered] effective value for the task/thread. - */ -typedef uint32_t mach_voucher_selector_t; -#define MACH_VOUCHER_SELECTOR_CURRENT ((mach_voucher_selector_t)0) -#define MACH_VOUCHER_SELECTOR_EFFECTIVE ((mach_voucher_selector_t)1) - - -/* - * mach_voucher_attr_key_t - The key used to identify a particular managed resource or - * to select the specific resource manager’s data associated - * with a given voucher. - */ -typedef uint32_t mach_voucher_attr_key_t; -typedef mach_voucher_attr_key_t *mach_voucher_attr_key_array_t; - -#define MACH_VOUCHER_ATTR_KEY_ALL ((mach_voucher_attr_key_t)~0) -#define MACH_VOUCHER_ATTR_KEY_NONE ((mach_voucher_attr_key_t)0) - -/* other well-known-keys will be added here */ -#define MACH_VOUCHER_ATTR_KEY_ATM ((mach_voucher_attr_key_t)1) -#define MACH_VOUCHER_ATTR_KEY_IMPORTANCE ((mach_voucher_attr_key_t)2) -#define MACH_VOUCHER_ATTR_KEY_BANK ((mach_voucher_attr_key_t)3) -#define MACH_VOUCHER_ATTR_KEY_PTHPRIORITY ((mach_voucher_attr_key_t)4) - -#define MACH_VOUCHER_ATTR_KEY_USER_DATA ((mach_voucher_attr_key_t)7) -#define MACH_VOUCHER_ATTR_KEY_BITS MACH_VOUCHER_ATTR_KEY_USER_DATA /* deprecated */ -#define MACH_VOUCHER_ATTR_KEY_TEST ((mach_voucher_attr_key_t)8) - -#define MACH_VOUCHER_ATTR_KEY_NUM_WELL_KNOWN MACH_VOUCHER_ATTR_KEY_TEST - -/* - * mach_voucher_attr_content_t - * - * Data passed to a resource manager for modifying an attribute - * value or returned from the resource manager in response to a - * request to externalize the current value for that attribute. - */ -typedef uint8_t *mach_voucher_attr_content_t; -typedef uint32_t mach_voucher_attr_content_size_t; - -/* - * mach_voucher_attr_command_t - The private verbs implemented by each voucher - * attribute manager via mach_voucher_attr_command(). - */ -typedef uint32_t mach_voucher_attr_command_t; - -/* - * mach_voucher_attr_recipe_command_t - * - * The verbs used to create/morph a voucher attribute value. - * We define some system-wide commands here - related to creation, and transport of - * vouchers and attributes. Additional commands can be defined by, and supported by, - * individual attribute resource managers. - */ -typedef uint32_t mach_voucher_attr_recipe_command_t; -typedef mach_voucher_attr_recipe_command_t *mach_voucher_attr_recipe_command_array_t; - -#define MACH_VOUCHER_ATTR_NOOP ((mach_voucher_attr_recipe_command_t)0) -#define MACH_VOUCHER_ATTR_COPY ((mach_voucher_attr_recipe_command_t)1) -#define MACH_VOUCHER_ATTR_REMOVE ((mach_voucher_attr_recipe_command_t)2) -#define MACH_VOUCHER_ATTR_SET_VALUE_HANDLE ((mach_voucher_attr_recipe_command_t)3) -#define MACH_VOUCHER_ATTR_AUTO_REDEEM ((mach_voucher_attr_recipe_command_t)4) -#define MACH_VOUCHER_ATTR_SEND_PREPROCESS ((mach_voucher_attr_recipe_command_t)5) - -/* redeem is on its way out? */ -#define MACH_VOUCHER_ATTR_REDEEM ((mach_voucher_attr_recipe_command_t)10) - -/* recipe command(s) for importance attribute manager */ -#define MACH_VOUCHER_ATTR_IMPORTANCE_SELF ((mach_voucher_attr_recipe_command_t)200) - -/* recipe command(s) for bit-store attribute manager */ -#define MACH_VOUCHER_ATTR_USER_DATA_STORE ((mach_voucher_attr_recipe_command_t)211) -#define MACH_VOUCHER_ATTR_BITS_STORE MACH_VOUCHER_ATTR_USER_DATA_STORE /* deprecated */ - -/* recipe command(s) for test attribute manager */ -#define MACH_VOUCHER_ATTR_TEST_STORE MACH_VOUCHER_ATTR_USER_DATA_STORE - -/* - * mach_voucher_attr_recipe_t - * - * An element in a recipe list to create a voucher. - */ -#pragma pack(push, 1) - -typedef struct mach_voucher_attr_recipe_data { - mach_voucher_attr_key_t key; - mach_voucher_attr_recipe_command_t command; - mach_voucher_name_t previous_voucher; - mach_voucher_attr_content_size_t content_size; - uint8_t content[]; -} mach_voucher_attr_recipe_data_t; -typedef mach_voucher_attr_recipe_data_t *mach_voucher_attr_recipe_t; -typedef mach_msg_type_number_t mach_voucher_attr_recipe_size_t; - -/* Make the above palatable to MIG */ -typedef uint8_t *mach_voucher_attr_raw_recipe_t; -typedef mach_voucher_attr_raw_recipe_t mach_voucher_attr_raw_recipe_array_t; -typedef mach_msg_type_number_t mach_voucher_attr_raw_recipe_size_t; -typedef mach_msg_type_number_t mach_voucher_attr_raw_recipe_array_size_t; - -#define MACH_VOUCHER_ATTR_MAX_RAW_RECIPE_ARRAY_SIZE 5120 -#define MACH_VOUCHER_TRAP_STACK_LIMIT 256 - -#pragma pack(pop) - -/* - * VOUCHER ATTRIBUTE MANAGER Writer types - */ - -/* - * mach_voucher_attr_manager_t - * - * A handle through which the mach voucher mechanism communicates with the voucher - * attribute manager for a given attribute key. - */ -typedef mach_port_t mach_voucher_attr_manager_t; -#define MACH_VOUCHER_ATTR_MANAGER_NULL ((mach_voucher_attr_manager_t) 0) - -/* - * mach_voucher_attr_control_t - * - * A handle provided to the voucher attribute manager for a given attribute key - * through which it makes inquiries or control operations of the mach voucher mechanism. - */ -typedef mach_port_t mach_voucher_attr_control_t; -#define MACH_VOUCHER_ATTR_CONTROL_NULL ((mach_voucher_attr_control_t) 0) - -/* - * These types are different in-kernel vs user-space. They are ports in user-space, - * pointers to opaque structs in most of the kernel, and pointers to known struct - * types in the Mach portion of the kernel. - */ -typedef mach_port_t ipc_voucher_attr_manager_t; -typedef mach_port_t ipc_voucher_attr_control_t; -#define IPC_VOUCHER_ATTR_MANAGER_NULL ((ipc_voucher_attr_manager_t) 0) -#define IPC_VOUCHER_ATTR_CONTROL_NULL ((ipc_voucher_attr_control_t) 0) - -/* - * mach_voucher_attr_value_handle_t - * - * The private handle that the voucher attribute manager provides to - * the mach voucher mechanism to represent a given attr content/value. - */ -typedef uint64_t mach_voucher_attr_value_handle_t; -typedef mach_voucher_attr_value_handle_t *mach_voucher_attr_value_handle_array_t; - -typedef mach_msg_type_number_t mach_voucher_attr_value_handle_array_size_t; -#define MACH_VOUCHER_ATTR_VALUE_MAX_NESTED ((mach_voucher_attr_value_handle_array_size_t)4) - -typedef uint32_t mach_voucher_attr_value_reference_t; -typedef uint32_t mach_voucher_attr_value_flags_t; -#define MACH_VOUCHER_ATTR_VALUE_FLAGS_NONE ((mach_voucher_attr_value_flags_t)0) -#define MACH_VOUCHER_ATTR_VALUE_FLAGS_PERSIST ((mach_voucher_attr_value_flags_t)1) - -/* USE - TBD */ -typedef uint32_t mach_voucher_attr_control_flags_t; -#define MACH_VOUCHER_ATTR_CONTROL_FLAGS_NONE ((mach_voucher_attr_control_flags_t)0) - -/* - * Commands and types for the IPC Importance Attribute Manager - * - * These are the valid mach_voucher_attr_command() options with the - * MACH_VOUCHER_ATTR_KEY_IMPORTANCE key. - */ -#define MACH_VOUCHER_IMPORTANCE_ATTR_ADD_EXTERNAL 1 /* Add some number of external refs (not supported) */ -#define MACH_VOUCHER_IMPORTANCE_ATTR_DROP_EXTERNAL 2 /* Drop some number of external refs */ -typedef uint32_t mach_voucher_attr_importance_refs; - -/* - * Activity id Generation defines - */ -#define MACH_ACTIVITY_ID_COUNT_MAX 16 - -#endif /* _MACH_VOUCHER_TYPES_H_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.11-any/mach/machine.h b/lib/libc/include/any-macos.11-any/mach/machine.h deleted file mode 100644 index a6bbe15721..0000000000 --- a/lib/libc/include/any-macos.11-any/mach/machine.h +++ /dev/null @@ -1,409 +0,0 @@ -/* - * Copyright (c) 2007-2016 Apple, Inc. All rights reserved. - * Copyright (c) 2000 Apple Computer, 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@ - */ -/* - * Mach Operating System - * Copyright (c) 1991,1990,1989,1988,1987 Carnegie Mellon University - * All Rights Reserved. - * - * Permission to use, copy, modify and distribute this software and its - * documentation is hereby granted, provided that both the copyright - * notice and this permission notice appear in all copies of the - * software, derivative works or modified versions, and any portions - * thereof, and that both notices appear in supporting documentation. - * - * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" - * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR - * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. - * - * Carnegie Mellon requests users of this software to return to - * - * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU - * School of Computer Science - * Carnegie Mellon University - * Pittsburgh PA 15213-3890 - * - * any improvements or extensions that they make and grant Carnegie Mellon - * the rights to redistribute these changes. - */ -/* File: machine.h - * Author: Avadis Tevanian, Jr. - * Date: 1986 - * - * Machine independent machine abstraction. - */ - -#ifndef _MACH_MACHINE_H_ -#define _MACH_MACHINE_H_ - -#ifndef __ASSEMBLER__ - -#include -#include -#include - -typedef integer_t cpu_type_t; -typedef integer_t cpu_subtype_t; -typedef integer_t cpu_threadtype_t; - -#define CPU_STATE_MAX 4 - -#define CPU_STATE_USER 0 -#define CPU_STATE_SYSTEM 1 -#define CPU_STATE_IDLE 2 -#define CPU_STATE_NICE 3 - - - -/* - * Capability bits used in the definition of cpu_type. - */ -#define CPU_ARCH_MASK 0xff000000 /* mask for architecture bits */ -#define CPU_ARCH_ABI64 0x01000000 /* 64 bit ABI */ -#define CPU_ARCH_ABI64_32 0x02000000 /* ABI for 64-bit hardware with 32-bit types; LP32 */ - -/* - * Machine types known by all. - */ - -#define CPU_TYPE_ANY ((cpu_type_t) -1) - -#define CPU_TYPE_VAX ((cpu_type_t) 1) -/* skip ((cpu_type_t) 2) */ -/* skip ((cpu_type_t) 3) */ -/* skip ((cpu_type_t) 4) */ -/* skip ((cpu_type_t) 5) */ -#define CPU_TYPE_MC680x0 ((cpu_type_t) 6) -#define CPU_TYPE_X86 ((cpu_type_t) 7) -#define CPU_TYPE_I386 CPU_TYPE_X86 /* compatibility */ -#define CPU_TYPE_X86_64 (CPU_TYPE_X86 | CPU_ARCH_ABI64) - -/* skip CPU_TYPE_MIPS ((cpu_type_t) 8) */ -/* skip ((cpu_type_t) 9) */ -#define CPU_TYPE_MC98000 ((cpu_type_t) 10) -#define CPU_TYPE_HPPA ((cpu_type_t) 11) -#define CPU_TYPE_ARM ((cpu_type_t) 12) -#define CPU_TYPE_ARM64 (CPU_TYPE_ARM | CPU_ARCH_ABI64) -#define CPU_TYPE_ARM64_32 (CPU_TYPE_ARM | CPU_ARCH_ABI64_32) -#define CPU_TYPE_MC88000 ((cpu_type_t) 13) -#define CPU_TYPE_SPARC ((cpu_type_t) 14) -#define CPU_TYPE_I860 ((cpu_type_t) 15) -/* skip CPU_TYPE_ALPHA ((cpu_type_t) 16) */ -/* skip ((cpu_type_t) 17) */ -#define CPU_TYPE_POWERPC ((cpu_type_t) 18) -#define CPU_TYPE_POWERPC64 (CPU_TYPE_POWERPC | CPU_ARCH_ABI64) -/* skip ((cpu_type_t) 19) */ -/* skip ((cpu_type_t) 20 */ -/* skip ((cpu_type_t) 21 */ -/* skip ((cpu_type_t) 22 */ - -/* - * Machine subtypes (these are defined here, instead of in a machine - * dependent directory, so that any program can get all definitions - * regardless of where is it compiled). - */ - -/* - * Capability bits used in the definition of cpu_subtype. - */ -#define CPU_SUBTYPE_MASK 0xff000000 /* mask for feature flags */ -#define CPU_SUBTYPE_LIB64 0x80000000 /* 64 bit libraries */ -#define CPU_SUBTYPE_PTRAUTH_ABI 0x80000000 /* pointer authentication with versioned ABI */ - -/* - * When selecting a slice, ANY will pick the slice with the best - * grading for the selected cpu_type_t, unlike the "ALL" subtypes, - * which are the slices that can run on any hardware for that cpu type. - */ -#define CPU_SUBTYPE_ANY ((cpu_subtype_t) -1) - -/* - * Object files that are hand-crafted to run on any - * implementation of an architecture are tagged with - * CPU_SUBTYPE_MULTIPLE. This functions essentially the same as - * the "ALL" subtype of an architecture except that it allows us - * to easily find object files that may need to be modified - * whenever a new implementation of an architecture comes out. - * - * It is the responsibility of the implementor to make sure the - * software handles unsupported implementations elegantly. - */ -#define CPU_SUBTYPE_MULTIPLE ((cpu_subtype_t) -1) -#define CPU_SUBTYPE_LITTLE_ENDIAN ((cpu_subtype_t) 0) -#define CPU_SUBTYPE_BIG_ENDIAN ((cpu_subtype_t) 1) - -/* - * Machine threadtypes. - * This is none - not defined - for most machine types/subtypes. - */ -#define CPU_THREADTYPE_NONE ((cpu_threadtype_t) 0) - -/* - * VAX subtypes (these do *not* necessary conform to the actual cpu - * ID assigned by DEC available via the SID register). - */ - -#define CPU_SUBTYPE_VAX_ALL ((cpu_subtype_t) 0) -#define CPU_SUBTYPE_VAX780 ((cpu_subtype_t) 1) -#define CPU_SUBTYPE_VAX785 ((cpu_subtype_t) 2) -#define CPU_SUBTYPE_VAX750 ((cpu_subtype_t) 3) -#define CPU_SUBTYPE_VAX730 ((cpu_subtype_t) 4) -#define CPU_SUBTYPE_UVAXI ((cpu_subtype_t) 5) -#define CPU_SUBTYPE_UVAXII ((cpu_subtype_t) 6) -#define CPU_SUBTYPE_VAX8200 ((cpu_subtype_t) 7) -#define CPU_SUBTYPE_VAX8500 ((cpu_subtype_t) 8) -#define CPU_SUBTYPE_VAX8600 ((cpu_subtype_t) 9) -#define CPU_SUBTYPE_VAX8650 ((cpu_subtype_t) 10) -#define CPU_SUBTYPE_VAX8800 ((cpu_subtype_t) 11) -#define CPU_SUBTYPE_UVAXIII ((cpu_subtype_t) 12) - -/* - * 680x0 subtypes - * - * The subtype definitions here are unusual for historical reasons. - * NeXT used to consider 68030 code as generic 68000 code. For - * backwards compatability: - * - * CPU_SUBTYPE_MC68030 symbol has been preserved for source code - * compatability. - * - * CPU_SUBTYPE_MC680x0_ALL has been defined to be the same - * subtype as CPU_SUBTYPE_MC68030 for binary comatability. - * - * CPU_SUBTYPE_MC68030_ONLY has been added to allow new object - * files to be tagged as containing 68030-specific instructions. - */ - -#define CPU_SUBTYPE_MC680x0_ALL ((cpu_subtype_t) 1) -#define CPU_SUBTYPE_MC68030 ((cpu_subtype_t) 1) /* compat */ -#define CPU_SUBTYPE_MC68040 ((cpu_subtype_t) 2) -#define CPU_SUBTYPE_MC68030_ONLY ((cpu_subtype_t) 3) - -/* - * I386 subtypes - */ - -#define CPU_SUBTYPE_INTEL(f, m) ((cpu_subtype_t) (f) + ((m) << 4)) - -#define CPU_SUBTYPE_I386_ALL CPU_SUBTYPE_INTEL(3, 0) -#define CPU_SUBTYPE_386 CPU_SUBTYPE_INTEL(3, 0) -#define CPU_SUBTYPE_486 CPU_SUBTYPE_INTEL(4, 0) -#define CPU_SUBTYPE_486SX CPU_SUBTYPE_INTEL(4, 8) // 8 << 4 = 128 -#define CPU_SUBTYPE_586 CPU_SUBTYPE_INTEL(5, 0) -#define CPU_SUBTYPE_PENT CPU_SUBTYPE_INTEL(5, 0) -#define CPU_SUBTYPE_PENTPRO CPU_SUBTYPE_INTEL(6, 1) -#define CPU_SUBTYPE_PENTII_M3 CPU_SUBTYPE_INTEL(6, 3) -#define CPU_SUBTYPE_PENTII_M5 CPU_SUBTYPE_INTEL(6, 5) -#define CPU_SUBTYPE_CELERON CPU_SUBTYPE_INTEL(7, 6) -#define CPU_SUBTYPE_CELERON_MOBILE CPU_SUBTYPE_INTEL(7, 7) -#define CPU_SUBTYPE_PENTIUM_3 CPU_SUBTYPE_INTEL(8, 0) -#define CPU_SUBTYPE_PENTIUM_3_M CPU_SUBTYPE_INTEL(8, 1) -#define CPU_SUBTYPE_PENTIUM_3_XEON CPU_SUBTYPE_INTEL(8, 2) -#define CPU_SUBTYPE_PENTIUM_M CPU_SUBTYPE_INTEL(9, 0) -#define CPU_SUBTYPE_PENTIUM_4 CPU_SUBTYPE_INTEL(10, 0) -#define CPU_SUBTYPE_PENTIUM_4_M CPU_SUBTYPE_INTEL(10, 1) -#define CPU_SUBTYPE_ITANIUM CPU_SUBTYPE_INTEL(11, 0) -#define CPU_SUBTYPE_ITANIUM_2 CPU_SUBTYPE_INTEL(11, 1) -#define CPU_SUBTYPE_XEON CPU_SUBTYPE_INTEL(12, 0) -#define CPU_SUBTYPE_XEON_MP CPU_SUBTYPE_INTEL(12, 1) - -#define CPU_SUBTYPE_INTEL_FAMILY(x) ((x) & 15) -#define CPU_SUBTYPE_INTEL_FAMILY_MAX 15 - -#define CPU_SUBTYPE_INTEL_MODEL(x) ((x) >> 4) -#define CPU_SUBTYPE_INTEL_MODEL_ALL 0 - -/* - * X86 subtypes. - */ - -#define CPU_SUBTYPE_X86_ALL ((cpu_subtype_t)3) -#define CPU_SUBTYPE_X86_64_ALL ((cpu_subtype_t)3) -#define CPU_SUBTYPE_X86_ARCH1 ((cpu_subtype_t)4) -#define CPU_SUBTYPE_X86_64_H ((cpu_subtype_t)8) /* Haswell feature subset */ - - -#define CPU_THREADTYPE_INTEL_HTT ((cpu_threadtype_t) 1) - -/* - * Mips subtypes. - */ - -#define CPU_SUBTYPE_MIPS_ALL ((cpu_subtype_t) 0) -#define CPU_SUBTYPE_MIPS_R2300 ((cpu_subtype_t) 1) -#define CPU_SUBTYPE_MIPS_R2600 ((cpu_subtype_t) 2) -#define CPU_SUBTYPE_MIPS_R2800 ((cpu_subtype_t) 3) -#define CPU_SUBTYPE_MIPS_R2000a ((cpu_subtype_t) 4) /* pmax */ -#define CPU_SUBTYPE_MIPS_R2000 ((cpu_subtype_t) 5) -#define CPU_SUBTYPE_MIPS_R3000a ((cpu_subtype_t) 6) /* 3max */ -#define CPU_SUBTYPE_MIPS_R3000 ((cpu_subtype_t) 7) - -/* - * MC98000 (PowerPC) subtypes - */ -#define CPU_SUBTYPE_MC98000_ALL ((cpu_subtype_t) 0) -#define CPU_SUBTYPE_MC98601 ((cpu_subtype_t) 1) - -/* - * HPPA subtypes for Hewlett-Packard HP-PA family of - * risc processors. Port by NeXT to 700 series. - */ - -#define CPU_SUBTYPE_HPPA_ALL ((cpu_subtype_t) 0) -#define CPU_SUBTYPE_HPPA_7100 ((cpu_subtype_t) 0) /* compat */ -#define CPU_SUBTYPE_HPPA_7100LC ((cpu_subtype_t) 1) - -/* - * MC88000 subtypes. - */ -#define CPU_SUBTYPE_MC88000_ALL ((cpu_subtype_t) 0) -#define CPU_SUBTYPE_MC88100 ((cpu_subtype_t) 1) -#define CPU_SUBTYPE_MC88110 ((cpu_subtype_t) 2) - -/* - * SPARC subtypes - */ -#define CPU_SUBTYPE_SPARC_ALL ((cpu_subtype_t) 0) - -/* - * I860 subtypes - */ -#define CPU_SUBTYPE_I860_ALL ((cpu_subtype_t) 0) -#define CPU_SUBTYPE_I860_860 ((cpu_subtype_t) 1) - -/* - * PowerPC subtypes - */ -#define CPU_SUBTYPE_POWERPC_ALL ((cpu_subtype_t) 0) -#define CPU_SUBTYPE_POWERPC_601 ((cpu_subtype_t) 1) -#define CPU_SUBTYPE_POWERPC_602 ((cpu_subtype_t) 2) -#define CPU_SUBTYPE_POWERPC_603 ((cpu_subtype_t) 3) -#define CPU_SUBTYPE_POWERPC_603e ((cpu_subtype_t) 4) -#define CPU_SUBTYPE_POWERPC_603ev ((cpu_subtype_t) 5) -#define CPU_SUBTYPE_POWERPC_604 ((cpu_subtype_t) 6) -#define CPU_SUBTYPE_POWERPC_604e ((cpu_subtype_t) 7) -#define CPU_SUBTYPE_POWERPC_620 ((cpu_subtype_t) 8) -#define CPU_SUBTYPE_POWERPC_750 ((cpu_subtype_t) 9) -#define CPU_SUBTYPE_POWERPC_7400 ((cpu_subtype_t) 10) -#define CPU_SUBTYPE_POWERPC_7450 ((cpu_subtype_t) 11) -#define CPU_SUBTYPE_POWERPC_970 ((cpu_subtype_t) 100) - -/* - * ARM subtypes - */ -#define CPU_SUBTYPE_ARM_ALL ((cpu_subtype_t) 0) -#define CPU_SUBTYPE_ARM_V4T ((cpu_subtype_t) 5) -#define CPU_SUBTYPE_ARM_V6 ((cpu_subtype_t) 6) -#define CPU_SUBTYPE_ARM_V5TEJ ((cpu_subtype_t) 7) -#define CPU_SUBTYPE_ARM_XSCALE ((cpu_subtype_t) 8) -#define CPU_SUBTYPE_ARM_V7 ((cpu_subtype_t) 9) /* ARMv7-A and ARMv7-R */ -#define CPU_SUBTYPE_ARM_V7F ((cpu_subtype_t) 10) /* Cortex A9 */ -#define CPU_SUBTYPE_ARM_V7S ((cpu_subtype_t) 11) /* Swift */ -#define CPU_SUBTYPE_ARM_V7K ((cpu_subtype_t) 12) -#define CPU_SUBTYPE_ARM_V8 ((cpu_subtype_t) 13) -#define CPU_SUBTYPE_ARM_V6M ((cpu_subtype_t) 14) /* Not meant to be run under xnu */ -#define CPU_SUBTYPE_ARM_V7M ((cpu_subtype_t) 15) /* Not meant to be run under xnu */ -#define CPU_SUBTYPE_ARM_V7EM ((cpu_subtype_t) 16) /* Not meant to be run under xnu */ -#define CPU_SUBTYPE_ARM_V8M ((cpu_subtype_t) 17) /* Not meant to be run under xnu */ - -/* - * ARM64 subtypes - */ -#define CPU_SUBTYPE_ARM64_ALL ((cpu_subtype_t) 0) -#define CPU_SUBTYPE_ARM64_V8 ((cpu_subtype_t) 1) -#define CPU_SUBTYPE_ARM64E ((cpu_subtype_t) 2) - -/* CPU subtype feature flags for ptrauth on arm64e platforms */ -#define CPU_SUBTYPE_ARM64_PTR_AUTH_MASK 0x0f000000 -#define CPU_SUBTYPE_ARM64_PTR_AUTH_VERSION(x) (((x) & CPU_SUBTYPE_ARM64_PTR_AUTH_MASK) >> 24) - -/* - * ARM64_32 subtypes - */ -#define CPU_SUBTYPE_ARM64_32_ALL ((cpu_subtype_t) 0) -#define CPU_SUBTYPE_ARM64_32_V8 ((cpu_subtype_t) 1) - -#endif /* !__ASSEMBLER__ */ - -/* - * CPU families (sysctl hw.cpufamily) - * - * These are meant to identify the CPU's marketing name - an - * application can map these to (possibly) localized strings. - * NB: the encodings of the CPU families are intentionally arbitrary. - * There is no ordering, and you should never try to deduce whether - * or not some feature is available based on the family. - * Use feature flags (eg, hw.optional.altivec) to test for optional - * functionality. - */ -#define CPUFAMILY_UNKNOWN 0 -#define CPUFAMILY_POWERPC_G3 0xcee41549 -#define CPUFAMILY_POWERPC_G4 0x77c184ae -#define CPUFAMILY_POWERPC_G5 0xed76d8aa -#define CPUFAMILY_INTEL_6_13 0xaa33392b -#define CPUFAMILY_INTEL_PENRYN 0x78ea4fbc -#define CPUFAMILY_INTEL_NEHALEM 0x6b5a4cd2 -#define CPUFAMILY_INTEL_WESTMERE 0x573b5eec -#define CPUFAMILY_INTEL_SANDYBRIDGE 0x5490b78c -#define CPUFAMILY_INTEL_IVYBRIDGE 0x1f65e835 -#define CPUFAMILY_INTEL_HASWELL 0x10b282dc -#define CPUFAMILY_INTEL_BROADWELL 0x582ed09c -#define CPUFAMILY_INTEL_SKYLAKE 0x37fc219f -#define CPUFAMILY_INTEL_KABYLAKE 0x0f817246 -#define CPUFAMILY_INTEL_ICELAKE 0x38435547 -#define CPUFAMILY_INTEL_COMETLAKE 0x1cf8a03e -#define CPUFAMILY_ARM_9 0xe73283ae -#define CPUFAMILY_ARM_11 0x8ff620d8 -#define CPUFAMILY_ARM_XSCALE 0x53b005f5 -#define CPUFAMILY_ARM_12 0xbd1b0ae9 -#define CPUFAMILY_ARM_13 0x0cc90e64 -#define CPUFAMILY_ARM_14 0x96077ef1 -#define CPUFAMILY_ARM_15 0xa8511bca -#define CPUFAMILY_ARM_SWIFT 0x1e2d6381 -#define CPUFAMILY_ARM_CYCLONE 0x37a09642 -#define CPUFAMILY_ARM_TYPHOON 0x2c91a47e -#define CPUFAMILY_ARM_TWISTER 0x92fb37c8 -#define CPUFAMILY_ARM_HURRICANE 0x67ceee93 -#define CPUFAMILY_ARM_MONSOON_MISTRAL 0xe81e7ef6 -#define CPUFAMILY_ARM_VORTEX_TEMPEST 0x07d34b9f -#define CPUFAMILY_ARM_LIGHTNING_THUNDER 0x462504d2 -#define CPUFAMILY_ARM_FIRESTORM_ICESTORM 0x1b588bb3 - -#define CPUSUBFAMILY_UNKNOWN 0 -#define CPUSUBFAMILY_ARM_HP 1 -#define CPUSUBFAMILY_ARM_HG 2 -#define CPUSUBFAMILY_ARM_M 3 -#define CPUSUBFAMILY_ARM_HS 4 -#define CPUSUBFAMILY_ARM_HC_HD 5 - -/* The following synonyms are deprecated: */ -#define CPUFAMILY_INTEL_6_23 CPUFAMILY_INTEL_PENRYN -#define CPUFAMILY_INTEL_6_26 CPUFAMILY_INTEL_NEHALEM - - -#endif /* _MACH_MACHINE_H_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.11-any/mach/machine/thread_state.h b/lib/libc/include/any-macos.11-any/mach/machine/thread_state.h deleted file mode 100644 index 167b263c82..0000000000 --- a/lib/libc/include/any-macos.11-any/mach/machine/thread_state.h +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Copyright (c) 2000-2007 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 _MACH_MACHINE_THREAD_STATE_H_ -#define _MACH_MACHINE_THREAD_STATE_H_ - -#if defined (__i386__) || defined(__x86_64__) -#include "mach/i386/thread_state.h" -#elif defined (__arm__) || defined (__arm64__) -#include "mach/arm/thread_state.h" -#else -#error architecture not supported -#endif - -#endif /* _MACH_MACHINE_THREAD_STATE_H_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.11-any/mach/message.h b/lib/libc/include/any-macos.11-any/mach/message.h deleted file mode 100644 index 6cbd768500..0000000000 --- a/lib/libc/include/any-macos.11-any/mach/message.h +++ /dev/null @@ -1,908 +0,0 @@ -/* - * Copyright (c) 2000-2005 Apple Computer, 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@ - */ -/* - * @OSF_COPYRIGHT@ - */ -/* - * Mach Operating System - * Copyright (c) 1991,1990,1989,1988,1987 Carnegie Mellon University - * All Rights Reserved. - * - * Permission to use, copy, modify and distribute this software and its - * documentation is hereby granted, provided that both the copyright - * notice and this permission notice appear in all copies of the - * software, derivative works or modified versions, and any portions - * thereof, and that both notices appear in supporting documentation. - * - * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" - * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR - * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. - * - * Carnegie Mellon requests users of this software to return to - * - * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU - * School of Computer Science - * Carnegie Mellon University - * Pittsburgh PA 15213-3890 - * - * any improvements or extensions that they make and grant Carnegie Mellon - * the rights to redistribute these changes. - */ -/* - * NOTICE: This file was modified by McAfee Research in 2004 to introduce - * support for mandatory and extensible security protections. This notice - * is included in support of clause 2.2 (b) of the Apple Public License, - * Version 2.0. - * Copyright (c) 2005 SPARTA, Inc. - */ -/* - */ -/* - * File: mach/message.h - * - * Mach IPC message and primitive function definitions. - */ - -#ifndef _MACH_MESSAGE_H_ -#define _MACH_MESSAGE_H_ - -#include -#include -#include -#include -#include - -#include -#include -#include - -/* - * The timeout mechanism uses mach_msg_timeout_t values, - * passed by value. The timeout units are milliseconds. - * It is controlled with the MACH_SEND_TIMEOUT - * and MACH_RCV_TIMEOUT options. - */ - -typedef natural_t mach_msg_timeout_t; - -/* - * The value to be used when there is no timeout. - * (No MACH_SEND_TIMEOUT/MACH_RCV_TIMEOUT option.) - */ - -#define MACH_MSG_TIMEOUT_NONE ((mach_msg_timeout_t) 0) - -/* - * The kernel uses MACH_MSGH_BITS_COMPLEX as a hint. If it isn't on, it - * assumes the body of the message doesn't contain port rights or OOL - * data. The field is set in received messages. A user task must - * use caution in interpreting the body of a message if the bit isn't - * on, because the mach_msg_type's in the body might "lie" about the - * contents. If the bit isn't on, but the mach_msg_types - * in the body specify rights or OOL data, the behavior is undefined. - * (Ie, an error may or may not be produced.) - * - * The value of MACH_MSGH_BITS_REMOTE determines the interpretation - * of the msgh_remote_port field. It is handled like a msgt_name, - * but must result in a send or send-once type right. - * - * The value of MACH_MSGH_BITS_LOCAL determines the interpretation - * of the msgh_local_port field. It is handled like a msgt_name, - * and also must result in a send or send-once type right. - * - * The value of MACH_MSGH_BITS_VOUCHER determines the interpretation - * of the msgh_voucher_port field. It is handled like a msgt_name, - * but must result in a send right (and the msgh_voucher_port field - * must be the name of a send right to a Mach voucher kernel object. - * - * MACH_MSGH_BITS() combines two MACH_MSG_TYPE_* values, for the remote - * and local fields, into a single value suitable for msgh_bits. - * - * MACH_MSGH_BITS_CIRCULAR should be zero; is is used internally. - * - * The unused bits should be zero and are reserved for the kernel - * or for future interface expansion. - */ - -#define MACH_MSGH_BITS_ZERO 0x00000000 - -#define MACH_MSGH_BITS_REMOTE_MASK 0x0000001f -#define MACH_MSGH_BITS_LOCAL_MASK 0x00001f00 -#define MACH_MSGH_BITS_VOUCHER_MASK 0x001f0000 - -#define MACH_MSGH_BITS_PORTS_MASK \ - (MACH_MSGH_BITS_REMOTE_MASK | \ - MACH_MSGH_BITS_LOCAL_MASK | \ - MACH_MSGH_BITS_VOUCHER_MASK) - -#define MACH_MSGH_BITS_COMPLEX 0x80000000U /* message is complex */ - -#define MACH_MSGH_BITS_USER 0x801f1f1fU /* allowed bits user->kernel */ - -#define MACH_MSGH_BITS_RAISEIMP 0x20000000U /* importance raised due to msg */ -#define MACH_MSGH_BITS_DENAP MACH_MSGH_BITS_RAISEIMP - -#define MACH_MSGH_BITS_IMPHOLDASRT 0x10000000U /* assertion help, userland private */ -#define MACH_MSGH_BITS_DENAPHOLDASRT MACH_MSGH_BITS_IMPHOLDASRT - -#define MACH_MSGH_BITS_CIRCULAR 0x10000000U /* message circular, kernel private */ - -#define MACH_MSGH_BITS_USED 0xb01f1f1fU - -/* setter macros for the bits */ -#define MACH_MSGH_BITS(remote, local) /* legacy */ \ - ((remote) | ((local) << 8)) -#define MACH_MSGH_BITS_SET_PORTS(remote, local, voucher) \ - (((remote) & MACH_MSGH_BITS_REMOTE_MASK) | \ - (((local) << 8) & MACH_MSGH_BITS_LOCAL_MASK) | \ - (((voucher) << 16) & MACH_MSGH_BITS_VOUCHER_MASK)) -#define MACH_MSGH_BITS_SET(remote, local, voucher, other) \ - (MACH_MSGH_BITS_SET_PORTS((remote), (local), (voucher)) \ - | ((other) &~ MACH_MSGH_BITS_PORTS_MASK)) - -/* getter macros for pulling values out of the bits field */ -#define MACH_MSGH_BITS_REMOTE(bits) \ - ((bits) & MACH_MSGH_BITS_REMOTE_MASK) -#define MACH_MSGH_BITS_LOCAL(bits) \ - (((bits) & MACH_MSGH_BITS_LOCAL_MASK) >> 8) -#define MACH_MSGH_BITS_VOUCHER(bits) \ - (((bits) & MACH_MSGH_BITS_VOUCHER_MASK) >> 16) -#define MACH_MSGH_BITS_PORTS(bits) \ - ((bits) & MACH_MSGH_BITS_PORTS_MASK) -#define MACH_MSGH_BITS_OTHER(bits) \ - ((bits) &~ MACH_MSGH_BITS_PORTS_MASK) - -/* checking macros */ -#define MACH_MSGH_BITS_HAS_REMOTE(bits) \ - (MACH_MSGH_BITS_REMOTE(bits) != MACH_MSGH_BITS_ZERO) -#define MACH_MSGH_BITS_HAS_LOCAL(bits) \ - (MACH_MSGH_BITS_LOCAL(bits) != MACH_MSGH_BITS_ZERO) -#define MACH_MSGH_BITS_HAS_VOUCHER(bits) \ - (MACH_MSGH_BITS_VOUCHER(bits) != MACH_MSGH_BITS_ZERO) -#define MACH_MSGH_BITS_IS_COMPLEX(bits) \ - (((bits) & MACH_MSGH_BITS_COMPLEX) != MACH_MSGH_BITS_ZERO) - -/* importance checking macros */ -#define MACH_MSGH_BITS_RAISED_IMPORTANCE(bits) \ - (((bits) & MACH_MSGH_BITS_RAISEIMP) != MACH_MSGH_BITS_ZERO) -#define MACH_MSGH_BITS_HOLDS_IMPORTANCE_ASSERTION(bits) \ - (((bits) & MACH_MSGH_BITS_IMPHOLDASRT) != MACH_MSGH_BITS_ZERO) - -/* - * Every message starts with a message header. - * Following the message header, if the message is complex, are a count - * of type descriptors and the type descriptors themselves - * (mach_msg_descriptor_t). The size of the message must be specified in - * bytes, and includes the message header, descriptor count, descriptors, - * and inline data. - * - * The msgh_remote_port field specifies the destination of the message. - * It must specify a valid send or send-once right for a port. - * - * The msgh_local_port field specifies a "reply port". Normally, - * This field carries a send-once right that the receiver will use - * to reply to the message. It may carry the values MACH_PORT_NULL, - * MACH_PORT_DEAD, a send-once right, or a send right. - * - * The msgh_voucher_port field specifies a Mach voucher port. Only - * send rights to kernel-implemented Mach Voucher kernel objects in - * addition to MACH_PORT_NULL or MACH_PORT_DEAD may be passed. - * - * The msgh_id field is uninterpreted by the message primitives. - * It normally carries information specifying the format - * or meaning of the message. - */ - -typedef unsigned int mach_msg_bits_t; -typedef natural_t mach_msg_size_t; -typedef integer_t mach_msg_id_t; - -#define MACH_MSG_SIZE_NULL (mach_msg_size_t *) 0 - -typedef unsigned int mach_msg_priority_t; - -#define MACH_MSG_PRIORITY_UNSPECIFIED (mach_msg_priority_t) 0 - - -typedef unsigned int mach_msg_type_name_t; - -#define MACH_MSG_TYPE_MOVE_RECEIVE 16 /* Must hold receive right */ -#define MACH_MSG_TYPE_MOVE_SEND 17 /* Must hold send right(s) */ -#define MACH_MSG_TYPE_MOVE_SEND_ONCE 18 /* Must hold sendonce right */ -#define MACH_MSG_TYPE_COPY_SEND 19 /* Must hold send right(s) */ -#define MACH_MSG_TYPE_MAKE_SEND 20 /* Must hold receive right */ -#define MACH_MSG_TYPE_MAKE_SEND_ONCE 21 /* Must hold receive right */ -#define MACH_MSG_TYPE_COPY_RECEIVE 22 /* NOT VALID */ -#define MACH_MSG_TYPE_DISPOSE_RECEIVE 24 /* must hold receive right */ -#define MACH_MSG_TYPE_DISPOSE_SEND 25 /* must hold send right(s) */ -#define MACH_MSG_TYPE_DISPOSE_SEND_ONCE 26 /* must hold sendonce right */ - -typedef unsigned int mach_msg_copy_options_t; - -#define MACH_MSG_PHYSICAL_COPY 0 -#define MACH_MSG_VIRTUAL_COPY 1 -#define MACH_MSG_ALLOCATE 2 -#define MACH_MSG_OVERWRITE 3 /* deprecated */ -#ifdef MACH_KERNEL -#define MACH_MSG_KALLOC_COPY_T 4 -#endif /* MACH_KERNEL */ - -#define MACH_MSG_GUARD_FLAGS_NONE 0x0000 -#define MACH_MSG_GUARD_FLAGS_IMMOVABLE_RECEIVE 0x0001 /* Move the receive right and mark it as immovable */ -#define MACH_MSG_GUARD_FLAGS_UNGUARDED_ON_SEND 0x0002 /* Verify that the port is unguarded */ -#define MACH_MSG_GUARD_FLAGS_MASK 0x0003 /* Valid flag bits */ -typedef unsigned int mach_msg_guard_flags_t; - -/* - * In a complex mach message, the mach_msg_header_t is followed by - * a descriptor count, then an array of that number of descriptors - * (mach_msg_*_descriptor_t). The type field of mach_msg_type_descriptor_t - * (which any descriptor can be cast to) indicates the flavor of the - * descriptor. - * - * Note that in LP64, the various types of descriptors are no longer all - * the same size as mach_msg_descriptor_t, so the array cannot be indexed - * as expected. - */ - -typedef unsigned int mach_msg_descriptor_type_t; - -#define MACH_MSG_PORT_DESCRIPTOR 0 -#define MACH_MSG_OOL_DESCRIPTOR 1 -#define MACH_MSG_OOL_PORTS_DESCRIPTOR 2 -#define MACH_MSG_OOL_VOLATILE_DESCRIPTOR 3 -#define MACH_MSG_GUARDED_PORT_DESCRIPTOR 4 - -#pragma pack(push, 4) - -typedef struct{ - natural_t pad1; - mach_msg_size_t pad2; - unsigned int pad3 : 24; - mach_msg_descriptor_type_t type : 8; -} mach_msg_type_descriptor_t; - -typedef struct{ - mach_port_t name; -// Pad to 8 bytes everywhere except the K64 kernel where mach_port_t is 8 bytes - mach_msg_size_t pad1; - unsigned int pad2 : 16; - mach_msg_type_name_t disposition : 8; - mach_msg_descriptor_type_t type : 8; -} mach_msg_port_descriptor_t; - -typedef struct{ - uint32_t address; - mach_msg_size_t size; - boolean_t deallocate: 8; - mach_msg_copy_options_t copy: 8; - unsigned int pad1: 8; - mach_msg_descriptor_type_t type: 8; -} mach_msg_ool_descriptor32_t; - -typedef struct{ - uint64_t address; - boolean_t deallocate: 8; - mach_msg_copy_options_t copy: 8; - unsigned int pad1: 8; - mach_msg_descriptor_type_t type: 8; - mach_msg_size_t size; -} mach_msg_ool_descriptor64_t; - -typedef struct{ - void* address; -#if !defined(__LP64__) - mach_msg_size_t size; -#endif - boolean_t deallocate: 8; - mach_msg_copy_options_t copy: 8; - unsigned int pad1: 8; - mach_msg_descriptor_type_t type: 8; -#if defined(__LP64__) - mach_msg_size_t size; -#endif -} mach_msg_ool_descriptor_t; - -typedef struct{ - uint32_t address; - mach_msg_size_t count; - boolean_t deallocate: 8; - mach_msg_copy_options_t copy: 8; - mach_msg_type_name_t disposition : 8; - mach_msg_descriptor_type_t type : 8; -} mach_msg_ool_ports_descriptor32_t; - -typedef struct{ - uint64_t address; - boolean_t deallocate: 8; - mach_msg_copy_options_t copy: 8; - mach_msg_type_name_t disposition : 8; - mach_msg_descriptor_type_t type : 8; - mach_msg_size_t count; -} mach_msg_ool_ports_descriptor64_t; - -typedef struct{ - void* address; -#if !defined(__LP64__) - mach_msg_size_t count; -#endif - boolean_t deallocate: 8; - mach_msg_copy_options_t copy: 8; - mach_msg_type_name_t disposition : 8; - mach_msg_descriptor_type_t type : 8; -#if defined(__LP64__) - mach_msg_size_t count; -#endif -} mach_msg_ool_ports_descriptor_t; - -typedef struct{ - uint32_t context; - mach_port_name_t name; - mach_msg_guard_flags_t flags : 16; - mach_msg_type_name_t disposition : 8; - mach_msg_descriptor_type_t type : 8; -} mach_msg_guarded_port_descriptor32_t; - -typedef struct{ - uint64_t context; - mach_msg_guard_flags_t flags : 16; - mach_msg_type_name_t disposition : 8; - mach_msg_descriptor_type_t type : 8; - mach_port_name_t name; -} mach_msg_guarded_port_descriptor64_t; - -typedef struct{ - mach_port_context_t context; -#if !defined(__LP64__) - mach_port_name_t name; -#endif - mach_msg_guard_flags_t flags : 16; - mach_msg_type_name_t disposition : 8; - mach_msg_descriptor_type_t type : 8; -#if defined(__LP64__) - mach_port_name_t name; -#endif /* defined(__LP64__) */ -} mach_msg_guarded_port_descriptor_t; - -/* - * LP64support - This union definition is not really - * appropriate in LP64 mode because not all descriptors - * are of the same size in that environment. - */ -typedef union{ - mach_msg_port_descriptor_t port; - mach_msg_ool_descriptor_t out_of_line; - mach_msg_ool_ports_descriptor_t ool_ports; - mach_msg_type_descriptor_t type; - mach_msg_guarded_port_descriptor_t guarded_port; -} mach_msg_descriptor_t; - -typedef struct{ - mach_msg_size_t msgh_descriptor_count; -} mach_msg_body_t; - -#define MACH_MSG_BODY_NULL (mach_msg_body_t *) 0 -#define MACH_MSG_DESCRIPTOR_NULL (mach_msg_descriptor_t *) 0 - -typedef struct{ - mach_msg_bits_t msgh_bits; - mach_msg_size_t msgh_size; - mach_port_t msgh_remote_port; - mach_port_t msgh_local_port; - mach_port_name_t msgh_voucher_port; - mach_msg_id_t msgh_id; -} mach_msg_header_t; - -#define msgh_reserved msgh_voucher_port -#define MACH_MSG_NULL (mach_msg_header_t *) 0 - -typedef struct{ - mach_msg_header_t header; - mach_msg_body_t body; -} mach_msg_base_t; - -typedef unsigned int mach_msg_trailer_type_t; - -#define MACH_MSG_TRAILER_FORMAT_0 0 - -typedef unsigned int mach_msg_trailer_size_t; -typedef char *mach_msg_trailer_info_t; - -typedef struct{ - mach_msg_trailer_type_t msgh_trailer_type; - mach_msg_trailer_size_t msgh_trailer_size; -} mach_msg_trailer_t; - -/* - * The msgh_seqno field carries a sequence number - * associated with the received-from port. A port's - * sequence number is incremented every time a message - * is received from it and included in the received - * trailer to help put messages back in sequence if - * multiple threads receive and/or process received - * messages. - */ -typedef struct{ - mach_msg_trailer_type_t msgh_trailer_type; - mach_msg_trailer_size_t msgh_trailer_size; - mach_port_seqno_t msgh_seqno; -} mach_msg_seqno_trailer_t; - -typedef struct{ - unsigned int val[2]; -} security_token_t; - -typedef struct{ - mach_msg_trailer_type_t msgh_trailer_type; - mach_msg_trailer_size_t msgh_trailer_size; - mach_port_seqno_t msgh_seqno; - security_token_t msgh_sender; -} mach_msg_security_trailer_t; - -/* - * The audit token is an opaque token which identifies - * Mach tasks and senders of Mach messages as subjects - * to the BSM audit system. Only the appropriate BSM - * library routines should be used to interpret the - * contents of the audit token as the representation - * of the subject identity within the token may change - * over time. - */ -typedef struct{ - unsigned int val[8]; -} audit_token_t; - -typedef struct{ - mach_msg_trailer_type_t msgh_trailer_type; - mach_msg_trailer_size_t msgh_trailer_size; - mach_port_seqno_t msgh_seqno; - security_token_t msgh_sender; - audit_token_t msgh_audit; -} mach_msg_audit_trailer_t; - -typedef struct{ - mach_msg_trailer_type_t msgh_trailer_type; - mach_msg_trailer_size_t msgh_trailer_size; - mach_port_seqno_t msgh_seqno; - security_token_t msgh_sender; - audit_token_t msgh_audit; - mach_port_context_t msgh_context; -} mach_msg_context_trailer_t; - - - -typedef struct{ - mach_port_name_t sender; -} msg_labels_t; - -typedef int mach_msg_filter_id; -#define MACH_MSG_FILTER_POLICY_ALLOW (mach_msg_filter_id)0 - -/* - * Trailer type to pass MAC policy label info as a mach message trailer. - * - */ - -typedef struct{ - mach_msg_trailer_type_t msgh_trailer_type; - mach_msg_trailer_size_t msgh_trailer_size; - mach_port_seqno_t msgh_seqno; - security_token_t msgh_sender; - audit_token_t msgh_audit; - mach_port_context_t msgh_context; - mach_msg_filter_id msgh_ad; - msg_labels_t msgh_labels; -} mach_msg_mac_trailer_t; - - -#define MACH_MSG_TRAILER_MINIMUM_SIZE sizeof(mach_msg_trailer_t) - -/* - * These values can change from release to release - but clearly - * code cannot request additional trailer elements one was not - * compiled to understand. Therefore, it is safe to use this - * constant when the same module specified the receive options. - * Otherwise, you run the risk that the options requested by - * another module may exceed the local modules notion of - * MAX_TRAILER_SIZE. - */ - -typedef mach_msg_mac_trailer_t mach_msg_max_trailer_t; -#define MAX_TRAILER_SIZE ((mach_msg_size_t)sizeof(mach_msg_max_trailer_t)) - -/* - * Legacy requirements keep us from ever updating these defines (even - * when the format_0 trailers gain new option data fields in the future). - * Therefore, they shouldn't be used going forward. Instead, the sizes - * should be compared against the specific element size requested using - * REQUESTED_TRAILER_SIZE. - */ -typedef mach_msg_security_trailer_t mach_msg_format_0_trailer_t; - -/*typedef mach_msg_mac_trailer_t mach_msg_format_0_trailer_t; - */ - -#define MACH_MSG_TRAILER_FORMAT_0_SIZE sizeof(mach_msg_format_0_trailer_t) - -#define KERNEL_SECURITY_TOKEN_VALUE { {0, 1} } -extern const security_token_t KERNEL_SECURITY_TOKEN; - -#define KERNEL_AUDIT_TOKEN_VALUE { {0, 0, 0, 0, 0, 0, 0, 0} } -extern const audit_token_t KERNEL_AUDIT_TOKEN; - -typedef integer_t mach_msg_options_t; - -typedef struct{ - mach_msg_header_t header; -} mach_msg_empty_send_t; - -typedef struct{ - mach_msg_header_t header; - mach_msg_trailer_t trailer; -} mach_msg_empty_rcv_t; - -typedef union{ - mach_msg_empty_send_t send; - mach_msg_empty_rcv_t rcv; -} mach_msg_empty_t; - -#pragma pack(pop) - -/* utility to round the message size - will become machine dependent */ -#define round_msg(x) (((mach_msg_size_t)(x) + sizeof (natural_t) - 1) & \ - ~(sizeof (natural_t) - 1)) - - -/* - * There is no fixed upper bound to the size of Mach messages. - */ -#define MACH_MSG_SIZE_MAX ((mach_msg_size_t) ~0) - -#if defined(__APPLE_API_PRIVATE) -/* - * But architectural limits of a given implementation, or - * temporal conditions may cause unpredictable send failures - * for messages larger than MACH_MSG_SIZE_RELIABLE. - * - * In either case, waiting for memory is [currently] outside - * the scope of send timeout values provided to IPC. - */ -#define MACH_MSG_SIZE_RELIABLE ((mach_msg_size_t) 256 * 1024) -#endif -/* - * Compatibility definitions, for code written - * when there was a msgh_kind instead of msgh_seqno. - */ -#define MACH_MSGH_KIND_NORMAL 0x00000000 -#define MACH_MSGH_KIND_NOTIFICATION 0x00000001 -#define msgh_kind msgh_seqno -#define mach_msg_kind_t mach_port_seqno_t - -typedef natural_t mach_msg_type_size_t; -typedef natural_t mach_msg_type_number_t; - -/* - * Values received/carried in messages. Tells the receiver what - * sort of port right he now has. - * - * MACH_MSG_TYPE_PORT_NAME is used to transfer a port name - * which should remain uninterpreted by the kernel. (Port rights - * are not transferred, just the port name.) - */ - -#define MACH_MSG_TYPE_PORT_NONE 0 - -#define MACH_MSG_TYPE_PORT_NAME 15 -#define MACH_MSG_TYPE_PORT_RECEIVE MACH_MSG_TYPE_MOVE_RECEIVE -#define MACH_MSG_TYPE_PORT_SEND MACH_MSG_TYPE_MOVE_SEND -#define MACH_MSG_TYPE_PORT_SEND_ONCE MACH_MSG_TYPE_MOVE_SEND_ONCE - -#define MACH_MSG_TYPE_LAST 22 /* Last assigned */ - -/* - * A dummy value. Mostly used to indicate that the actual value - * will be filled in later, dynamically. - */ - -#define MACH_MSG_TYPE_POLYMORPHIC ((mach_msg_type_name_t) -1) - -/* - * Is a given item a port type? - */ - -#define MACH_MSG_TYPE_PORT_ANY(x) \ - (((x) >= MACH_MSG_TYPE_MOVE_RECEIVE) && \ - ((x) <= MACH_MSG_TYPE_MAKE_SEND_ONCE)) - -#define MACH_MSG_TYPE_PORT_ANY_SEND(x) \ - (((x) >= MACH_MSG_TYPE_MOVE_SEND) && \ - ((x) <= MACH_MSG_TYPE_MAKE_SEND_ONCE)) - -#define MACH_MSG_TYPE_PORT_ANY_RIGHT(x) \ - (((x) >= MACH_MSG_TYPE_MOVE_RECEIVE) && \ - ((x) <= MACH_MSG_TYPE_MOVE_SEND_ONCE)) - -typedef integer_t mach_msg_option_t; - -#define MACH_MSG_OPTION_NONE 0x00000000 - -#define MACH_SEND_MSG 0x00000001 -#define MACH_RCV_MSG 0x00000002 - -#define MACH_RCV_LARGE 0x00000004 /* report large message sizes */ -#define MACH_RCV_LARGE_IDENTITY 0x00000008 /* identify source of large messages */ - -#define MACH_SEND_TIMEOUT 0x00000010 /* timeout value applies to send */ -#define MACH_SEND_OVERRIDE 0x00000020 /* priority override for send */ -#define MACH_SEND_INTERRUPT 0x00000040 /* don't restart interrupted sends */ -#define MACH_SEND_NOTIFY 0x00000080 /* arm send-possible notify */ -#define MACH_SEND_ALWAYS 0x00010000 /* ignore qlimits - kernel only */ -#define MACH_SEND_TRAILER 0x00020000 /* sender-provided trailer */ -#define MACH_SEND_NOIMPORTANCE 0x00040000 /* msg won't carry importance */ -#define MACH_SEND_NODENAP MACH_SEND_NOIMPORTANCE -#define MACH_SEND_IMPORTANCE 0x00080000 /* msg carries importance - kernel only */ -#define MACH_SEND_SYNC_OVERRIDE 0x00100000 /* msg should do sync ipc override */ -#define MACH_SEND_PROPAGATE_QOS 0x00200000 /* IPC should propagate the caller's QoS */ -#define MACH_SEND_SYNC_USE_THRPRI MACH_SEND_PROPAGATE_QOS /* obsolete name */ -#define MACH_SEND_KERNEL 0x00400000 /* full send from kernel space - kernel only */ -#define MACH_SEND_SYNC_BOOTSTRAP_CHECKIN 0x00800000 /* special reply port should boost thread doing sync bootstrap checkin */ - -#define MACH_RCV_TIMEOUT 0x00000100 /* timeout value applies to receive */ -#define MACH_RCV_NOTIFY 0x00000000 /* legacy name (value was: 0x00000200) */ -#define MACH_RCV_INTERRUPT 0x00000400 /* don't restart interrupted receive */ -#define MACH_RCV_VOUCHER 0x00000800 /* willing to receive voucher port */ -#define MACH_RCV_OVERWRITE 0x00000000 /* scatter receive (deprecated) */ -#define MACH_RCV_GUARDED_DESC 0x00001000 /* Can receive new guarded descriptor */ -#define MACH_RCV_SYNC_WAIT 0x00004000 /* sync waiter waiting for rcv */ -#define MACH_RCV_SYNC_PEEK 0x00008000 /* sync waiter waiting to peek */ - -#define MACH_MSG_STRICT_REPLY 0x00000200 /* Enforce specific properties about the reply port, and - * the context in which a thread replies to a message. - * This flag must be passed on both the SEND and RCV */ - - -/* - * NOTE: a 0x00------ RCV mask implies to ask for - * a MACH_MSG_TRAILER_FORMAT_0 with 0 Elements, - * which is equivalent to a mach_msg_trailer_t. - * - * XXXMAC: unlike the rest of the MACH_RCV_* flags, MACH_RCV_TRAILER_LABELS - * needs its own private bit since we only calculate its fields when absolutely - * required. - */ -#define MACH_RCV_TRAILER_NULL 0 -#define MACH_RCV_TRAILER_SEQNO 1 -#define MACH_RCV_TRAILER_SENDER 2 -#define MACH_RCV_TRAILER_AUDIT 3 -#define MACH_RCV_TRAILER_CTX 4 -#define MACH_RCV_TRAILER_AV 7 -#define MACH_RCV_TRAILER_LABELS 8 - -#define MACH_RCV_TRAILER_TYPE(x) (((x) & 0xf) << 28) -#define MACH_RCV_TRAILER_ELEMENTS(x) (((x) & 0xf) << 24) -#define MACH_RCV_TRAILER_MASK ((0xf << 24)) - -#define GET_RCV_ELEMENTS(y) (((y) >> 24) & 0xf) - - -/* - * XXXMAC: note that in the case of MACH_RCV_TRAILER_LABELS, - * we just fall through to mach_msg_max_trailer_t. - * This is correct behavior since mach_msg_max_trailer_t is defined as - * mac_msg_mac_trailer_t which is used for the LABELS trailer. - * It also makes things work properly if MACH_RCV_TRAILER_LABELS is ORed - * with one of the other options. - */ - -#define REQUESTED_TRAILER_SIZE_NATIVE(y) \ - ((mach_msg_trailer_size_t) \ - ((GET_RCV_ELEMENTS(y) == MACH_RCV_TRAILER_NULL) ? \ - sizeof(mach_msg_trailer_t) : \ - ((GET_RCV_ELEMENTS(y) == MACH_RCV_TRAILER_SEQNO) ? \ - sizeof(mach_msg_seqno_trailer_t) : \ - ((GET_RCV_ELEMENTS(y) == MACH_RCV_TRAILER_SENDER) ? \ - sizeof(mach_msg_security_trailer_t) : \ - ((GET_RCV_ELEMENTS(y) == MACH_RCV_TRAILER_AUDIT) ? \ - sizeof(mach_msg_audit_trailer_t) : \ - ((GET_RCV_ELEMENTS(y) == MACH_RCV_TRAILER_CTX) ? \ - sizeof(mach_msg_context_trailer_t) : \ - ((GET_RCV_ELEMENTS(y) == MACH_RCV_TRAILER_AV) ? \ - sizeof(mach_msg_mac_trailer_t) : \ - sizeof(mach_msg_max_trailer_t)))))))) - - -#define REQUESTED_TRAILER_SIZE(y) REQUESTED_TRAILER_SIZE_NATIVE(y) - -/* - * Much code assumes that mach_msg_return_t == kern_return_t. - * This definition is useful for descriptive purposes. - * - * See for the format of error codes. - * IPC errors are system 4. Send errors are subsystem 0; - * receive errors are subsystem 1. The code field is always non-zero. - * The high bits of the code field communicate extra information - * for some error codes. MACH_MSG_MASK masks off these special bits. - */ - -typedef kern_return_t mach_msg_return_t; - -#define MACH_MSG_SUCCESS 0x00000000 - - -#define MACH_MSG_MASK 0x00003e00 -/* All special error code bits defined below. */ -#define MACH_MSG_IPC_SPACE 0x00002000 -/* No room in IPC name space for another capability name. */ -#define MACH_MSG_VM_SPACE 0x00001000 -/* No room in VM address space for out-of-line memory. */ -#define MACH_MSG_IPC_KERNEL 0x00000800 -/* Kernel resource shortage handling an IPC capability. */ -#define MACH_MSG_VM_KERNEL 0x00000400 -/* Kernel resource shortage handling out-of-line memory. */ - -#define MACH_SEND_IN_PROGRESS 0x10000001 -/* Thread is waiting to send. (Internal use only.) */ -#define MACH_SEND_INVALID_DATA 0x10000002 -/* Bogus in-line data. */ -#define MACH_SEND_INVALID_DEST 0x10000003 -/* Bogus destination port. */ -#define MACH_SEND_TIMED_OUT 0x10000004 -/* Message not sent before timeout expired. */ -#define MACH_SEND_INVALID_VOUCHER 0x10000005 -/* Bogus voucher port. */ -#define MACH_SEND_INTERRUPTED 0x10000007 -/* Software interrupt. */ -#define MACH_SEND_MSG_TOO_SMALL 0x10000008 -/* Data doesn't contain a complete message. */ -#define MACH_SEND_INVALID_REPLY 0x10000009 -/* Bogus reply port. */ -#define MACH_SEND_INVALID_RIGHT 0x1000000a -/* Bogus port rights in the message body. */ -#define MACH_SEND_INVALID_NOTIFY 0x1000000b -/* Bogus notify port argument. */ -#define MACH_SEND_INVALID_MEMORY 0x1000000c -/* Invalid out-of-line memory pointer. */ -#define MACH_SEND_NO_BUFFER 0x1000000d -/* No message buffer is available. */ -#define MACH_SEND_TOO_LARGE 0x1000000e -/* Send is too large for port */ -#define MACH_SEND_INVALID_TYPE 0x1000000f -/* Invalid msg-type specification. */ -#define MACH_SEND_INVALID_HEADER 0x10000010 -/* A field in the header had a bad value. */ -#define MACH_SEND_INVALID_TRAILER 0x10000011 -/* The trailer to be sent does not match kernel format. */ -#define MACH_SEND_INVALID_CONTEXT 0x10000012 -/* The sending thread context did not match the context on the dest port */ -#define MACH_SEND_INVALID_RT_OOL_SIZE 0x10000015 -/* compatibility: no longer a returned error */ -#define MACH_SEND_NO_GRANT_DEST 0x10000016 -/* The destination port doesn't accept ports in body */ -#define MACH_SEND_MSG_FILTERED 0x10000017 -/* Message send was rejected by message filter */ - -#define MACH_RCV_IN_PROGRESS 0x10004001 -/* Thread is waiting for receive. (Internal use only.) */ -#define MACH_RCV_INVALID_NAME 0x10004002 -/* Bogus name for receive port/port-set. */ -#define MACH_RCV_TIMED_OUT 0x10004003 -/* Didn't get a message within the timeout value. */ -#define MACH_RCV_TOO_LARGE 0x10004004 -/* Message buffer is not large enough for inline data. */ -#define MACH_RCV_INTERRUPTED 0x10004005 -/* Software interrupt. */ -#define MACH_RCV_PORT_CHANGED 0x10004006 -/* compatibility: no longer a returned error */ -#define MACH_RCV_INVALID_NOTIFY 0x10004007 -/* Bogus notify port argument. */ -#define MACH_RCV_INVALID_DATA 0x10004008 -/* Bogus message buffer for inline data. */ -#define MACH_RCV_PORT_DIED 0x10004009 -/* Port/set was sent away/died during receive. */ -#define MACH_RCV_IN_SET 0x1000400a -/* compatibility: no longer a returned error */ -#define MACH_RCV_HEADER_ERROR 0x1000400b -/* Error receiving message header. See special bits. */ -#define MACH_RCV_BODY_ERROR 0x1000400c -/* Error receiving message body. See special bits. */ -#define MACH_RCV_INVALID_TYPE 0x1000400d -/* Invalid msg-type specification in scatter list. */ -#define MACH_RCV_SCATTER_SMALL 0x1000400e -/* Out-of-line overwrite region is not large enough */ -#define MACH_RCV_INVALID_TRAILER 0x1000400f -/* trailer type or number of trailer elements not supported */ -#define MACH_RCV_IN_PROGRESS_TIMED 0x10004011 -/* Waiting for receive with timeout. (Internal use only.) */ -#define MACH_RCV_INVALID_REPLY 0x10004012 -/* invalid reply port used in a STRICT_REPLY message */ - - - -__BEGIN_DECLS - -/* - * Routine: mach_msg_overwrite - * Purpose: - * Send and/or receive a message. If the message operation - * is interrupted, and the user did not request an indication - * of that fact, then restart the appropriate parts of the - * operation silently (trap version does not restart). - * - * Distinct send and receive buffers may be specified. If - * no separate receive buffer is specified, the msg parameter - * will be used for both send and receive operations. - * - * In addition to a distinct receive buffer, that buffer may - * already contain scatter control information to direct the - * receiving of the message. - */ -__WATCHOS_PROHIBITED __TVOS_PROHIBITED -extern mach_msg_return_t mach_msg_overwrite( - mach_msg_header_t *msg, - mach_msg_option_t option, - mach_msg_size_t send_size, - mach_msg_size_t rcv_size, - mach_port_name_t rcv_name, - mach_msg_timeout_t timeout, - mach_port_name_t notify, - mach_msg_header_t *rcv_msg, - mach_msg_size_t rcv_limit); - - -/* - * Routine: mach_msg - * Purpose: - * Send and/or receive a message. If the message operation - * is interrupted, and the user did not request an indication - * of that fact, then restart the appropriate parts of the - * operation silently (trap version does not restart). - */ -__WATCHOS_PROHIBITED __TVOS_PROHIBITED -extern mach_msg_return_t mach_msg( - mach_msg_header_t *msg, - mach_msg_option_t option, - mach_msg_size_t send_size, - mach_msg_size_t rcv_size, - mach_port_name_t rcv_name, - mach_msg_timeout_t timeout, - mach_port_name_t notify); - -/* - * Routine: mach_voucher_deallocate - * Purpose: - * Deallocate a mach voucher created or received in a message. Drops - * one (send right) reference to the voucher. - */ -__WATCHOS_PROHIBITED __TVOS_PROHIBITED -extern kern_return_t mach_voucher_deallocate( - mach_port_name_t voucher); - - -__END_DECLS - -#endif /* _MACH_MESSAGE_H_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.11-any/mach/mig.h b/lib/libc/include/any-macos.11-any/mach/mig.h deleted file mode 100644 index aa7bcf7448..0000000000 --- a/lib/libc/include/any-macos.11-any/mach/mig.h +++ /dev/null @@ -1,180 +0,0 @@ -/* - * Copyright (c) 2000-2007 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@ - */ -/* - * @OSF_COPYRIGHT@ - */ - -/* - * Mach MIG Subsystem Interfaces - */ - -#ifndef _MACH_MIG_H_ -#define _MACH_MIG_H_ - -#include -#include -#include -#include - -#include - -#if defined(MACH_KERNEL) - -#if !defined(__MigTypeCheck) -/* Turn MIG type checking on by default for kernel */ -#define __MigTypeCheck 1 -#endif - -#define __MigKernelSpecificCode 1 -#define _MIG_KERNEL_SPECIFIC_CODE_ 1 - -#elif !defined(__MigTypeCheck) - -#if defined(TypeCheck) -/* use legacy setting (temporary) */ -#define __MigTypeCheck TypeCheck -#else -/* default MIG type checking on */ -#define __MigTypeCheck 1 -#endif - -#endif /* !defined(MACH_KERNEL) && !defined(__MigTypeCheck) */ - -/* - * Pack MIG message structs. - * This is an indicator of the need to view shared structs in a - * binary-compatible format - and MIG message structs are no different. - */ -#define __MigPackStructs 1 - -/* - * Definition for MIG-generated server stub routines. These routines - * unpack the request message, call the server procedure, and pack the - * reply message. - */ -typedef void (*mig_stub_routine_t) (mach_msg_header_t *InHeadP, - mach_msg_header_t *OutHeadP); - -typedef mig_stub_routine_t mig_routine_t; - -/* - * Definition for MIG-generated server routine. This routine takes a - * message, and returns the appropriate stub function for handling that - * message. - */ -typedef mig_routine_t (*mig_server_routine_t) (mach_msg_header_t *InHeadP); - -/* - * Generic definition for implementation routines. These routines do - * the real work associated with this request. This generic type is - * used for keeping the pointers in the subsystem array. - */ -typedef kern_return_t (*mig_impl_routine_t)(void); - -typedef mach_msg_type_descriptor_t routine_arg_descriptor; -typedef mach_msg_type_descriptor_t *routine_arg_descriptor_t; -typedef mach_msg_type_descriptor_t *mig_routine_arg_descriptor_t; - -#define MIG_ROUTINE_ARG_DESCRIPTOR_NULL ((mig_routine_arg_descriptor_t)0) - -struct routine_descriptor { - mig_impl_routine_t impl_routine; /* Server work func pointer */ - mig_stub_routine_t stub_routine; /* Unmarshalling func pointer */ - unsigned int argc; /* Number of argument words */ - unsigned int descr_count; /* Number complex descriptors */ - routine_arg_descriptor_t - arg_descr; /* pointer to descriptor array*/ - unsigned int max_reply_msg; /* Max size for reply msg */ -}; -typedef struct routine_descriptor *routine_descriptor_t; - -typedef struct routine_descriptor mig_routine_descriptor; -typedef mig_routine_descriptor *mig_routine_descriptor_t; - -#define MIG_ROUTINE_DESCRIPTOR_NULL ((mig_routine_descriptor_t)0) - -typedef struct mig_subsystem { - mig_server_routine_t server; /* pointer to demux routine */ - mach_msg_id_t start; /* Min routine number */ - mach_msg_id_t end; /* Max routine number + 1 */ - mach_msg_size_t maxsize; /* Max reply message size */ - vm_address_t reserved; /* reserved for MIG use */ - mig_routine_descriptor - routine[1]; /* Routine descriptor array */ -} *mig_subsystem_t; - -#define MIG_SUBSYSTEM_NULL ((mig_subsystem_t)0) - -typedef struct mig_symtab { - char *ms_routine_name; - int ms_routine_number; - void (*ms_routine)(void); /* Since the functions in the - * symbol table have unknown - * signatures, this is the best - * we can do... - */ -} mig_symtab_t; - -/* - * A compiler attribute for annotating all MIG server routines and other - * functions that should behave similarly. Allows the compiler to perform - * additional static bug-finding over them. - */ -#if __has_attribute(mig_server_routine) -#define MIG_SERVER_ROUTINE __attribute__((mig_server_routine)) -#else -#define MIG_SERVER_ROUTINE -#endif - - -__BEGIN_DECLS - -/* Client side reply port allocate */ -extern mach_port_t mig_get_reply_port(void); - -/* Client side reply port deallocate */ -extern void mig_dealloc_reply_port(mach_port_t reply_port); - -/* Client side reply port "deallocation" */ -extern void mig_put_reply_port(mach_port_t reply_port); - -/* Bounded string copy */ -extern int mig_strncpy(char *dest, const char *src, int len); -extern int mig_strncpy_zerofill(char *dest, const char *src, int len); - - -/* Allocate memory for out-of-line mig structures */ -extern void mig_allocate(vm_address_t *, vm_size_t); - -/* Deallocate memory used for out-of-line mig structures */ -extern void mig_deallocate(vm_address_t, vm_size_t); - - -__END_DECLS - -#endif /* _MACH_MIG_H_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.11-any/mach/port.h b/lib/libc/include/any-macos.11-any/mach/port.h deleted file mode 100644 index 2a1f6443fd..0000000000 --- a/lib/libc/include/any-macos.11-any/mach/port.h +++ /dev/null @@ -1,445 +0,0 @@ -/* - * Copyright (c) 2000-2006 Apple Computer, 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@ - */ -/* - * @OSF_COPYRIGHT@ - */ -/* - * Mach Operating System - * Copyright (c) 1991,1990,1989,1988,1987 Carnegie Mellon University - * All Rights Reserved. - * - * Permission to use, copy, modify and distribute this software and its - * documentation is hereby granted, provided that both the copyright - * notice and this permission notice appear in all copies of the - * software, derivative works or modified versions, and any portions - * thereof, and that both notices appear in supporting documentation. - * - * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" - * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR - * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. - * - * Carnegie Mellon requests users of this software to return to - * - * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU - * School of Computer Science - * Carnegie Mellon University - * Pittsburgh PA 15213-3890 - * - * any improvements or extensions that they make and grant Carnegie Mellon - * the rights to redistribute these changes. - */ -/* - * NOTICE: This file was modified by McAfee Research in 2004 to introduce - * support for mandatory and extensible security protections. This notice - * is included in support of clause 2.2 (b) of the Apple Public License, - * Version 2.0. - */ -/* - */ -/* - * File: mach/port.h - * - * Definition of a Mach port - * - * Mach ports are the endpoints to Mach-implemented communications - * channels (usually uni-directional message queues, but other types - * also exist). - * - * Unique collections of these endpoints are maintained for each - * Mach task. Each Mach port in the task's collection is given a - * [task-local] name to identify it - and the the various "rights" - * held by the task for that specific endpoint. - * - * This header defines the types used to identify these Mach ports - * and the various rights associated with them. For more info see: - * - * - manipulation of port rights in a given space - * - message queue [and port right passing] mechanism - * - */ - -#ifndef _MACH_PORT_H_ -#define _MACH_PORT_H_ - -#include -#include -#include -#include - -/* - * mach_port_name_t - the local identity for a Mach port - * - * The name is Mach port namespace specific. It is used to - * identify the rights held for that port by the task whose - * namespace is implied [or specifically provided]. - * - * Use of this type usually implies just a name - no rights. - * See mach_port_t for a type that implies a "named right." - * - */ - -typedef natural_t mach_port_name_t; -typedef mach_port_name_t *mach_port_name_array_t; - - -/* - * mach_port_t - a named port right - * - * In user-space, "rights" are represented by the name of the - * right in the Mach port namespace. Even so, this type is - * presented as a unique one to more clearly denote the presence - * of a right coming along with the name. - * - * Often, various rights for a port held in a single name space - * will coalesce and are, therefore, be identified by a single name - * [this is the case for send and receive rights]. But not - * always [send-once rights currently get a unique name for - * each right]. - * - */ - -#include -#include - - -typedef mach_port_t *mach_port_array_t; - -/* - * MACH_PORT_NULL is a legal value that can be carried in messages. - * It indicates the absence of any port or port rights. (A port - * argument keeps the message from being "simple", even if the - * value is MACH_PORT_NULL.) The value MACH_PORT_DEAD is also a legal - * value that can be carried in messages. It indicates - * that a port right was present, but it died. - */ - -#define MACH_PORT_NULL 0 /* intentional loose typing */ -#define MACH_PORT_DEAD ((mach_port_name_t) ~0) -#define MACH_PORT_VALID(name) \ - (((name) != MACH_PORT_NULL) && \ - ((name) != MACH_PORT_DEAD)) - - -/* - * For kernel-selected [assigned] port names, the name is - * comprised of two parts: a generation number and an index. - * This approach keeps the exact same name from being generated - * and reused too quickly [to catch right/reference counting bugs]. - * The dividing line between the constituent parts is exposed so - * that efficient "mach_port_name_t to data structure pointer" - * conversion implementation can be made. But it is possible - * for user-level code to assign their own names to Mach ports. - * These are not required to participate in this algorithm. So - * care should be taken before "assuming" this model. - * - */ - -#ifndef NO_PORT_GEN - -#define MACH_PORT_INDEX(name) ((name) >> 8) -#define MACH_PORT_GEN(name) (((name) & 0xff) << 24) -#define MACH_PORT_MAKE(index, gen) \ - (((index) << 8) | (gen) >> 24) - -#else /* NO_PORT_GEN */ - -#define MACH_PORT_INDEX(name) (name) -#define MACH_PORT_GEN(name) (0) -#define MACH_PORT_MAKE(index, gen) (index) - -#endif /* NO_PORT_GEN */ - - -/* - * These are the different rights a task may have for a port. - * The MACH_PORT_RIGHT_* definitions are used as arguments - * to mach_port_allocate, mach_port_get_refs, etc, to specify - * a particular right to act upon. The mach_port_names and - * mach_port_type calls return bitmasks using the MACH_PORT_TYPE_* - * definitions. This is because a single name may denote - * multiple rights. - */ - -typedef natural_t mach_port_right_t; - -#define MACH_PORT_RIGHT_SEND ((mach_port_right_t) 0) -#define MACH_PORT_RIGHT_RECEIVE ((mach_port_right_t) 1) -#define MACH_PORT_RIGHT_SEND_ONCE ((mach_port_right_t) 2) -#define MACH_PORT_RIGHT_PORT_SET ((mach_port_right_t) 3) -#define MACH_PORT_RIGHT_DEAD_NAME ((mach_port_right_t) 4) -#define MACH_PORT_RIGHT_LABELH ((mach_port_right_t) 5) /* obsolete right */ -#define MACH_PORT_RIGHT_NUMBER ((mach_port_right_t) 6) /* right not implemented */ - - -typedef natural_t mach_port_type_t; -typedef mach_port_type_t *mach_port_type_array_t; - -#define MACH_PORT_TYPE(right) \ - ((mach_port_type_t)(((mach_port_type_t) 1) \ - << ((right) + ((mach_port_right_t) 16)))) -#define MACH_PORT_TYPE_NONE ((mach_port_type_t) 0L) -#define MACH_PORT_TYPE_SEND MACH_PORT_TYPE(MACH_PORT_RIGHT_SEND) -#define MACH_PORT_TYPE_RECEIVE MACH_PORT_TYPE(MACH_PORT_RIGHT_RECEIVE) -#define MACH_PORT_TYPE_SEND_ONCE MACH_PORT_TYPE(MACH_PORT_RIGHT_SEND_ONCE) -#define MACH_PORT_TYPE_PORT_SET MACH_PORT_TYPE(MACH_PORT_RIGHT_PORT_SET) -#define MACH_PORT_TYPE_DEAD_NAME MACH_PORT_TYPE(MACH_PORT_RIGHT_DEAD_NAME) -#define MACH_PORT_TYPE_LABELH MACH_PORT_TYPE(MACH_PORT_RIGHT_LABELH) /* obsolete */ - - -/* Convenient combinations. */ - -#define MACH_PORT_TYPE_SEND_RECEIVE \ - (MACH_PORT_TYPE_SEND|MACH_PORT_TYPE_RECEIVE) -#define MACH_PORT_TYPE_SEND_RIGHTS \ - (MACH_PORT_TYPE_SEND|MACH_PORT_TYPE_SEND_ONCE) -#define MACH_PORT_TYPE_PORT_RIGHTS \ - (MACH_PORT_TYPE_SEND_RIGHTS|MACH_PORT_TYPE_RECEIVE) -#define MACH_PORT_TYPE_PORT_OR_DEAD \ - (MACH_PORT_TYPE_PORT_RIGHTS|MACH_PORT_TYPE_DEAD_NAME) -#define MACH_PORT_TYPE_ALL_RIGHTS \ - (MACH_PORT_TYPE_PORT_OR_DEAD|MACH_PORT_TYPE_PORT_SET) - -/* Dummy type bits that mach_port_type/mach_port_names can return. */ - -#define MACH_PORT_TYPE_DNREQUEST 0x80000000 -#define MACH_PORT_TYPE_SPREQUEST 0x40000000 -#define MACH_PORT_TYPE_SPREQUEST_DELAYED 0x20000000 - -/* User-references for capabilities. */ - -typedef natural_t mach_port_urefs_t; -typedef integer_t mach_port_delta_t; /* change in urefs */ - -/* Attributes of ports. (See mach_port_get_receive_status.) */ - -typedef natural_t mach_port_seqno_t; /* sequence number */ -typedef natural_t mach_port_mscount_t; /* make-send count */ -typedef natural_t mach_port_msgcount_t; /* number of msgs */ -typedef natural_t mach_port_rights_t; /* number of rights */ - -/* - * Are there outstanding send rights for a given port? - */ -#define MACH_PORT_SRIGHTS_NONE 0 /* no srights */ -#define MACH_PORT_SRIGHTS_PRESENT 1 /* srights */ -typedef unsigned int mach_port_srights_t; /* status of send rights */ - -typedef struct mach_port_status { - mach_port_rights_t mps_pset; /* count of containing port sets */ - mach_port_seqno_t mps_seqno; /* sequence number */ - mach_port_mscount_t mps_mscount; /* make-send count */ - mach_port_msgcount_t mps_qlimit; /* queue limit */ - mach_port_msgcount_t mps_msgcount; /* number in the queue */ - mach_port_rights_t mps_sorights; /* how many send-once rights */ - boolean_t mps_srights; /* do send rights exist? */ - boolean_t mps_pdrequest; /* port-deleted requested? */ - boolean_t mps_nsrequest; /* no-senders requested? */ - natural_t mps_flags; /* port flags */ -} mach_port_status_t; - -/* System-wide values for setting queue limits on a port */ -#define MACH_PORT_QLIMIT_ZERO (0) -#define MACH_PORT_QLIMIT_BASIC (5) -#define MACH_PORT_QLIMIT_SMALL (16) -#define MACH_PORT_QLIMIT_LARGE (1024) -#define MACH_PORT_QLIMIT_KERNEL (65534) -#define MACH_PORT_QLIMIT_MIN MACH_PORT_QLIMIT_ZERO -#define MACH_PORT_QLIMIT_DEFAULT MACH_PORT_QLIMIT_BASIC -#define MACH_PORT_QLIMIT_MAX MACH_PORT_QLIMIT_LARGE - -typedef struct mach_port_limits { - mach_port_msgcount_t mpl_qlimit; /* number of msgs */ -} mach_port_limits_t; - -/* Possible values for mps_flags (part of mach_port_status_t) */ -#define MACH_PORT_STATUS_FLAG_TEMPOWNER 0x01 -#define MACH_PORT_STATUS_FLAG_GUARDED 0x02 -#define MACH_PORT_STATUS_FLAG_STRICT_GUARD 0x04 -#define MACH_PORT_STATUS_FLAG_IMP_DONATION 0x08 -#define MACH_PORT_STATUS_FLAG_REVIVE 0x10 -#define MACH_PORT_STATUS_FLAG_TASKPTR 0x20 -#define MACH_PORT_STATUS_FLAG_GUARD_IMMOVABLE_RECEIVE 0x40 -#define MACH_PORT_STATUS_FLAG_NO_GRANT 0x80 - -typedef struct mach_port_info_ext { - mach_port_status_t mpie_status; - mach_port_msgcount_t mpie_boost_cnt; - uint32_t reserved[6]; -} mach_port_info_ext_t; - -typedef integer_t *mach_port_info_t; /* varying array of natural_t */ - -/* Flavors for mach_port_get/set_attributes() */ -typedef int mach_port_flavor_t; -#define MACH_PORT_LIMITS_INFO 1 /* uses mach_port_limits_t */ -#define MACH_PORT_RECEIVE_STATUS 2 /* uses mach_port_status_t */ -#define MACH_PORT_DNREQUESTS_SIZE 3 /* info is int */ -#define MACH_PORT_TEMPOWNER 4 /* indicates receive right will be reassigned to another task */ -#define MACH_PORT_IMPORTANCE_RECEIVER 5 /* indicates recieve right accepts priority donation */ -#define MACH_PORT_DENAP_RECEIVER 6 /* indicates receive right accepts de-nap donation */ -#define MACH_PORT_INFO_EXT 7 /* uses mach_port_info_ext_t */ - -#define MACH_PORT_LIMITS_INFO_COUNT ((natural_t) \ - (sizeof(mach_port_limits_t)/sizeof(natural_t))) -#define MACH_PORT_RECEIVE_STATUS_COUNT ((natural_t) \ - (sizeof(mach_port_status_t)/sizeof(natural_t))) -#define MACH_PORT_DNREQUESTS_SIZE_COUNT 1 -#define MACH_PORT_INFO_EXT_COUNT ((natural_t) \ - (sizeof(mach_port_info_ext_t)/sizeof(natural_t))) -/* - * Structure used to pass information about port allocation requests. - * Must be padded to 64-bits total length. - */ -typedef struct mach_port_qos { - unsigned int name:1; /* name given */ - unsigned int prealloc:1; /* prealloced message */ - boolean_t pad1:30; - natural_t len; -} mach_port_qos_t; - -/* Mach Port Guarding definitions */ - -/* - * Flags for mach_port_options (used for - * invocation of mach_port_construct). - * Indicates attributes to be set for the newly - * allocated port. - */ -#define MPO_CONTEXT_AS_GUARD 0x01 /* Add guard to the port */ -#define MPO_QLIMIT 0x02 /* Set qlimit for the port msg queue */ -#define MPO_TEMPOWNER 0x04 /* Set the tempowner bit of the port */ -#define MPO_IMPORTANCE_RECEIVER 0x08 /* Mark the port as importance receiver */ -#define MPO_INSERT_SEND_RIGHT 0x10 /* Insert a send right for the port */ -#define MPO_STRICT 0x20 /* Apply strict guarding for port */ -#define MPO_DENAP_RECEIVER 0x40 /* Mark the port as App de-nap receiver */ -#define MPO_IMMOVABLE_RECEIVE 0x80 /* Mark the port as immovable; protected by the guard context */ -#define MPO_FILTER_MSG 0x100 /* Allow message filtering */ -#define MPO_TG_BLOCK_TRACKING 0x200 /* Track blocking relationship for thread group during sync IPC */ - -/* - * Structure to define optional attributes for a newly - * constructed port. - */ -typedef struct mach_port_options { - uint32_t flags; /* Flags defining attributes for port */ - mach_port_limits_t mpl; /* Message queue limit for port */ - union { - uint64_t reserved[2]; /* Reserved */ - mach_port_name_t work_interval_port; /* Work interval port */ - }; -}mach_port_options_t; - -typedef mach_port_options_t *mach_port_options_ptr_t; - -/* - * EXC_GUARD represents a guard violation for both - * mach ports and file descriptors. GUARD_TYPE_ is used - * to differentiate among them. - */ -#define GUARD_TYPE_MACH_PORT 0x1 - -/* Reasons for exception for a guarded mach port */ -enum mach_port_guard_exception_codes { - kGUARD_EXC_DESTROY = 1u << 0, - kGUARD_EXC_MOD_REFS = 1u << 1, - kGUARD_EXC_SET_CONTEXT = 1u << 2, - 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, - /* 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_RCV_GUARDED_DESC = 1u << 20, /* should never be fatal; for development only */ - kGUARD_EXC_MOD_REFS_NON_FATAL = 1u << 21, - kGUARD_EXC_IMMOVABLE_NON_FATAL = 1u << 22, -}; - -#define MAX_FATAL_kGUARD_EXC_CODE (1u << 7) - -/* - * Mach port guard flags. - */ -#define MPG_FLAGS_NONE (0x00ull) - -/* - * These flags are used as bits in the subcode of kGUARD_EXC_STRICT_REPLY exceptions. - */ -#define MPG_FLAGS_STRICT_REPLY_INVALID_REPLY_DISP (0x01ull << 56) -#define MPG_FLAGS_STRICT_REPLY_INVALID_REPLY_PORT (0x02ull << 56) -#define MPG_FLAGS_STRICT_REPLY_INVALID_VOUCHER (0x04ull << 56) -#define MPG_FLAGS_STRICT_REPLY_NO_BANK_ATTR (0x08ull << 56) -#define MPG_FLAGS_STRICT_REPLY_MISMATCHED_PERSONA (0x10ull << 56) -#define MPG_FLAGS_STRICT_REPLY_MASK (0xffull << 56) - -/* - * These flags are used as bits in the subcode of kGUARD_EXC_MOD_REFS exceptions. - */ -#define MPG_FLAGS_MOD_REFS_PINNED_DEALLOC (0x01ull << 56) - -/* - * These flags are used as bits in the subcode of kGUARD_EXC_IMMOVABLE exceptions. - */ -#define MPG_FLAGS_IMMOVABLE_PINNED (0x01ull << 56) - -/* - * Flags for mach_port_guard_with_flags. These flags extend - * the attributes associated with a guarded port. - */ -#define MPG_STRICT 0x01 /* Apply strict guarding for a port */ -#define MPG_IMMOVABLE_RECEIVE 0x02 /* Receive right cannot be moved out of the space */ - -#if !__DARWIN_UNIX03 && !defined(_NO_PORT_T_FROM_MACH) -/* - * Mach 3.0 renamed everything to have mach_ in front of it. - * These types and macros are provided for backward compatibility - * but are deprecated. - */ -typedef mach_port_t port_t; -typedef mach_port_name_t port_name_t; -typedef mach_port_name_t *port_name_array_t; - -#define PORT_NULL ((port_t) 0) -#define PORT_DEAD ((port_t) ~0) -#define PORT_VALID(name) \ - ((port_t)(name) != PORT_NULL && (port_t)(name) != PORT_DEAD) - -#endif /* !__DARWIN_UNIX03 && !_NO_PORT_T_FROM_MACH */ - -#endif /* _MACH_PORT_H_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.11-any/mach/processor.h b/lib/libc/include/any-macos.11-any/mach/processor.h deleted file mode 100644 index 64cf6b97b3..0000000000 --- a/lib/libc/include/any-macos.11-any/mach/processor.h +++ /dev/null @@ -1,360 +0,0 @@ -#ifndef _processor_user_ -#define _processor_user_ - -/* Module processor */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -/* BEGIN MIG_STRNCPY_ZEROFILL CODE */ - -#if defined(__has_include) -#if __has_include() -#ifndef USING_MIG_STRNCPY_ZEROFILL -#define USING_MIG_STRNCPY_ZEROFILL -#endif -#ifndef __MIG_STRNCPY_ZEROFILL_FORWARD_TYPE_DECLS__ -#define __MIG_STRNCPY_ZEROFILL_FORWARD_TYPE_DECLS__ -#ifdef __cplusplus -extern "C" { -#endif - extern int mig_strncpy_zerofill(char *dest, const char *src, int len) __attribute__((weak_import)); -#ifdef __cplusplus -} -#endif -#endif /* __MIG_STRNCPY_ZEROFILL_FORWARD_TYPE_DECLS__ */ -#endif /* __has_include() */ -#endif /* __has_include */ - -/* END MIG_STRNCPY_ZEROFILL CODE */ - - -#ifdef AUTOTEST -#ifndef FUNCTION_PTR_T -#define FUNCTION_PTR_T -typedef void (*function_ptr_t)(mach_port_t, char *, mach_msg_type_number_t); -typedef struct { - char *name; - function_ptr_t function; -} function_table_entry; -typedef function_table_entry *function_table_t; -#endif /* FUNCTION_PTR_T */ -#endif /* AUTOTEST */ - -#ifndef processor_MSG_COUNT -#define processor_MSG_COUNT 6 -#endif /* processor_MSG_COUNT */ - -#include -#include -#include -#include - -#ifdef __BeforeMigUserHeader -__BeforeMigUserHeader -#endif /* __BeforeMigUserHeader */ - -#include -__BEGIN_DECLS - - -/* Routine processor_start */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t processor_start -( - processor_t processor -); - -/* Routine processor_exit */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t processor_exit -( - processor_t processor -); - -/* Routine processor_info */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t processor_info -( - processor_t processor, - processor_flavor_t flavor, - host_t *host, - processor_info_t processor_info_out, - mach_msg_type_number_t *processor_info_outCnt -); - -/* Routine processor_control */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t processor_control -( - processor_t processor, - processor_info_t processor_cmd, - mach_msg_type_number_t processor_cmdCnt -); - -/* Routine processor_assign */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t processor_assign -( - processor_t processor, - processor_set_t new_set, - boolean_t wait -); - -/* Routine processor_get_assignment */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t processor_get_assignment -( - processor_t processor, - processor_set_name_t *assigned_set -); - -__END_DECLS - -/********************** Caution **************************/ -/* The following data types should be used to calculate */ -/* maximum message sizes only. The actual message may be */ -/* smaller, and the position of the arguments within the */ -/* message layout may vary from what is presented here. */ -/* For example, if any of the arguments are variable- */ -/* sized, and less than the maximum is sent, the data */ -/* will be packed tight in the actual message to reduce */ -/* the presence of holes. */ -/********************** Caution **************************/ - -/* typedefs for all requests */ - -#ifndef __Request__processor_subsystem__defined -#define __Request__processor_subsystem__defined - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - } __Request__processor_start_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - } __Request__processor_exit_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - processor_flavor_t flavor; - mach_msg_type_number_t processor_info_outCnt; - } __Request__processor_info_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - mach_msg_type_number_t processor_cmdCnt; - integer_t processor_cmd[20]; - } __Request__processor_control_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t new_set; - /* end of the kernel processed data */ - NDR_record_t NDR; - boolean_t wait; - } __Request__processor_assign_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - } __Request__processor_get_assignment_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif -#endif /* !__Request__processor_subsystem__defined */ - -/* union of all requests */ - -#ifndef __RequestUnion__processor_subsystem__defined -#define __RequestUnion__processor_subsystem__defined -union __RequestUnion__processor_subsystem { - __Request__processor_start_t Request_processor_start; - __Request__processor_exit_t Request_processor_exit; - __Request__processor_info_t Request_processor_info; - __Request__processor_control_t Request_processor_control; - __Request__processor_assign_t Request_processor_assign; - __Request__processor_get_assignment_t Request_processor_get_assignment; -}; -#endif /* !__RequestUnion__processor_subsystem__defined */ -/* typedefs for all replies */ - -#ifndef __Reply__processor_subsystem__defined -#define __Reply__processor_subsystem__defined - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__processor_start_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__processor_exit_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t host; - /* end of the kernel processed data */ - NDR_record_t NDR; - mach_msg_type_number_t processor_info_outCnt; - integer_t processor_info_out[20]; - } __Reply__processor_info_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__processor_control_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__processor_assign_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t assigned_set; - /* end of the kernel processed data */ - } __Reply__processor_get_assignment_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif -#endif /* !__Reply__processor_subsystem__defined */ - -/* union of all replies */ - -#ifndef __ReplyUnion__processor_subsystem__defined -#define __ReplyUnion__processor_subsystem__defined -union __ReplyUnion__processor_subsystem { - __Reply__processor_start_t Reply_processor_start; - __Reply__processor_exit_t Reply_processor_exit; - __Reply__processor_info_t Reply_processor_info; - __Reply__processor_control_t Reply_processor_control; - __Reply__processor_assign_t Reply_processor_assign; - __Reply__processor_get_assignment_t Reply_processor_get_assignment; -}; -#endif /* !__RequestUnion__processor_subsystem__defined */ - -#ifndef subsystem_to_name_map_processor -#define subsystem_to_name_map_processor \ - { "processor_start", 3000 },\ - { "processor_exit", 3001 },\ - { "processor_info", 3002 },\ - { "processor_control", 3003 },\ - { "processor_assign", 3004 },\ - { "processor_get_assignment", 3005 } -#endif - -#ifdef __AfterMigUserHeader -__AfterMigUserHeader -#endif /* __AfterMigUserHeader */ - -#endif /* _processor_user_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.11-any/mach/processor_set.h b/lib/libc/include/any-macos.11-any/mach/processor_set.h deleted file mode 100644 index 9d748d01dc..0000000000 --- a/lib/libc/include/any-macos.11-any/mach/processor_set.h +++ /dev/null @@ -1,585 +0,0 @@ -#ifndef _processor_set_user_ -#define _processor_set_user_ - -/* Module processor_set */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -/* BEGIN MIG_STRNCPY_ZEROFILL CODE */ - -#if defined(__has_include) -#if __has_include() -#ifndef USING_MIG_STRNCPY_ZEROFILL -#define USING_MIG_STRNCPY_ZEROFILL -#endif -#ifndef __MIG_STRNCPY_ZEROFILL_FORWARD_TYPE_DECLS__ -#define __MIG_STRNCPY_ZEROFILL_FORWARD_TYPE_DECLS__ -#ifdef __cplusplus -extern "C" { -#endif - extern int mig_strncpy_zerofill(char *dest, const char *src, int len) __attribute__((weak_import)); -#ifdef __cplusplus -} -#endif -#endif /* __MIG_STRNCPY_ZEROFILL_FORWARD_TYPE_DECLS__ */ -#endif /* __has_include() */ -#endif /* __has_include */ - -/* END MIG_STRNCPY_ZEROFILL CODE */ - - -#ifdef AUTOTEST -#ifndef FUNCTION_PTR_T -#define FUNCTION_PTR_T -typedef void (*function_ptr_t)(mach_port_t, char *, mach_msg_type_number_t); -typedef struct { - char *name; - function_ptr_t function; -} function_table_entry; -typedef function_table_entry *function_table_t; -#endif /* FUNCTION_PTR_T */ -#endif /* AUTOTEST */ - -#ifndef processor_set_MSG_COUNT -#define processor_set_MSG_COUNT 11 -#endif /* processor_set_MSG_COUNT */ - -#include -#include -#include -#include - -#ifdef __BeforeMigUserHeader -__BeforeMigUserHeader -#endif /* __BeforeMigUserHeader */ - -#include -__BEGIN_DECLS - - -/* Routine processor_set_statistics */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t processor_set_statistics -( - processor_set_name_t pset, - processor_set_flavor_t flavor, - processor_set_info_t info_out, - mach_msg_type_number_t *info_outCnt -); - -/* Routine processor_set_destroy */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t processor_set_destroy -( - processor_set_t set -); - -/* Routine processor_set_max_priority */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t processor_set_max_priority -( - processor_set_t processor_set, - int max_priority, - boolean_t change_threads -); - -/* Routine processor_set_policy_enable */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t processor_set_policy_enable -( - processor_set_t processor_set, - int policy -); - -/* Routine processor_set_policy_disable */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t processor_set_policy_disable -( - processor_set_t processor_set, - int policy, - boolean_t change_threads -); - -/* Routine processor_set_tasks */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t processor_set_tasks -( - processor_set_t processor_set, - task_array_t *task_list, - mach_msg_type_number_t *task_listCnt -); - -/* Routine processor_set_threads */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t processor_set_threads -( - processor_set_t processor_set, - thread_act_array_t *thread_list, - mach_msg_type_number_t *thread_listCnt -); - -/* Routine processor_set_policy_control */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t processor_set_policy_control -( - processor_set_t pset, - processor_set_flavor_t flavor, - processor_set_info_t policy_info, - mach_msg_type_number_t policy_infoCnt, - boolean_t change -); - -/* Routine processor_set_stack_usage */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t processor_set_stack_usage -( - processor_set_t pset, - unsigned *ltotal, - vm_size_t *space, - vm_size_t *resident, - vm_size_t *maxusage, - vm_offset_t *maxstack -); - -/* Routine processor_set_info */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t processor_set_info -( - processor_set_name_t set_name, - int flavor, - host_t *host, - processor_set_info_t info_out, - mach_msg_type_number_t *info_outCnt -); - -/* Routine processor_set_tasks_with_flavor */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t processor_set_tasks_with_flavor -( - processor_set_t processor_set, - mach_task_flavor_t flavor, - task_array_t *task_list, - mach_msg_type_number_t *task_listCnt -); - -__END_DECLS - -/********************** Caution **************************/ -/* The following data types should be used to calculate */ -/* maximum message sizes only. The actual message may be */ -/* smaller, and the position of the arguments within the */ -/* message layout may vary from what is presented here. */ -/* For example, if any of the arguments are variable- */ -/* sized, and less than the maximum is sent, the data */ -/* will be packed tight in the actual message to reduce */ -/* the presence of holes. */ -/********************** Caution **************************/ - -/* typedefs for all requests */ - -#ifndef __Request__processor_set_subsystem__defined -#define __Request__processor_set_subsystem__defined - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - processor_set_flavor_t flavor; - mach_msg_type_number_t info_outCnt; - } __Request__processor_set_statistics_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - } __Request__processor_set_destroy_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - int max_priority; - boolean_t change_threads; - } __Request__processor_set_max_priority_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - int policy; - } __Request__processor_set_policy_enable_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - int policy; - boolean_t change_threads; - } __Request__processor_set_policy_disable_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - } __Request__processor_set_tasks_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - } __Request__processor_set_threads_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - processor_set_flavor_t flavor; - mach_msg_type_number_t policy_infoCnt; - integer_t policy_info[5]; - boolean_t change; - } __Request__processor_set_policy_control_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - } __Request__processor_set_stack_usage_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - int flavor; - mach_msg_type_number_t info_outCnt; - } __Request__processor_set_info_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - mach_task_flavor_t flavor; - } __Request__processor_set_tasks_with_flavor_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif -#endif /* !__Request__processor_set_subsystem__defined */ - -/* union of all requests */ - -#ifndef __RequestUnion__processor_set_subsystem__defined -#define __RequestUnion__processor_set_subsystem__defined -union __RequestUnion__processor_set_subsystem { - __Request__processor_set_statistics_t Request_processor_set_statistics; - __Request__processor_set_destroy_t Request_processor_set_destroy; - __Request__processor_set_max_priority_t Request_processor_set_max_priority; - __Request__processor_set_policy_enable_t Request_processor_set_policy_enable; - __Request__processor_set_policy_disable_t Request_processor_set_policy_disable; - __Request__processor_set_tasks_t Request_processor_set_tasks; - __Request__processor_set_threads_t Request_processor_set_threads; - __Request__processor_set_policy_control_t Request_processor_set_policy_control; - __Request__processor_set_stack_usage_t Request_processor_set_stack_usage; - __Request__processor_set_info_t Request_processor_set_info; - __Request__processor_set_tasks_with_flavor_t Request_processor_set_tasks_with_flavor; -}; -#endif /* !__RequestUnion__processor_set_subsystem__defined */ -/* typedefs for all replies */ - -#ifndef __Reply__processor_set_subsystem__defined -#define __Reply__processor_set_subsystem__defined - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - mach_msg_type_number_t info_outCnt; - integer_t info_out[5]; - } __Reply__processor_set_statistics_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__processor_set_destroy_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__processor_set_max_priority_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__processor_set_policy_enable_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__processor_set_policy_disable_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_ool_ports_descriptor_t task_list; - /* end of the kernel processed data */ - NDR_record_t NDR; - mach_msg_type_number_t task_listCnt; - } __Reply__processor_set_tasks_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_ool_ports_descriptor_t thread_list; - /* end of the kernel processed data */ - NDR_record_t NDR; - mach_msg_type_number_t thread_listCnt; - } __Reply__processor_set_threads_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__processor_set_policy_control_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - unsigned ltotal; - vm_size_t space; - vm_size_t resident; - vm_size_t maxusage; - vm_offset_t maxstack; - } __Reply__processor_set_stack_usage_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t host; - /* end of the kernel processed data */ - NDR_record_t NDR; - mach_msg_type_number_t info_outCnt; - integer_t info_out[5]; - } __Reply__processor_set_info_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_ool_ports_descriptor_t task_list; - /* end of the kernel processed data */ - NDR_record_t NDR; - mach_msg_type_number_t task_listCnt; - } __Reply__processor_set_tasks_with_flavor_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif -#endif /* !__Reply__processor_set_subsystem__defined */ - -/* union of all replies */ - -#ifndef __ReplyUnion__processor_set_subsystem__defined -#define __ReplyUnion__processor_set_subsystem__defined -union __ReplyUnion__processor_set_subsystem { - __Reply__processor_set_statistics_t Reply_processor_set_statistics; - __Reply__processor_set_destroy_t Reply_processor_set_destroy; - __Reply__processor_set_max_priority_t Reply_processor_set_max_priority; - __Reply__processor_set_policy_enable_t Reply_processor_set_policy_enable; - __Reply__processor_set_policy_disable_t Reply_processor_set_policy_disable; - __Reply__processor_set_tasks_t Reply_processor_set_tasks; - __Reply__processor_set_threads_t Reply_processor_set_threads; - __Reply__processor_set_policy_control_t Reply_processor_set_policy_control; - __Reply__processor_set_stack_usage_t Reply_processor_set_stack_usage; - __Reply__processor_set_info_t Reply_processor_set_info; - __Reply__processor_set_tasks_with_flavor_t Reply_processor_set_tasks_with_flavor; -}; -#endif /* !__RequestUnion__processor_set_subsystem__defined */ - -#ifndef subsystem_to_name_map_processor_set -#define subsystem_to_name_map_processor_set \ - { "processor_set_statistics", 4000 },\ - { "processor_set_destroy", 4001 },\ - { "processor_set_max_priority", 4002 },\ - { "processor_set_policy_enable", 4003 },\ - { "processor_set_policy_disable", 4004 },\ - { "processor_set_tasks", 4005 },\ - { "processor_set_threads", 4006 },\ - { "processor_set_policy_control", 4007 },\ - { "processor_set_stack_usage", 4008 },\ - { "processor_set_info", 4009 },\ - { "processor_set_tasks_with_flavor", 4010 } -#endif - -#ifdef __AfterMigUserHeader -__AfterMigUserHeader -#endif /* __AfterMigUserHeader */ - -#endif /* _processor_set_user_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.11-any/mach/sync_policy.h b/lib/libc/include/any-macos.11-any/mach/sync_policy.h deleted file mode 100644 index a4c477bf5d..0000000000 --- a/lib/libc/include/any-macos.11-any/mach/sync_policy.h +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Copyright (c) 2000-2002 Apple Computer, 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@ - */ -/* - * @OSF_COPYRIGHT@ - */ - -#ifndef _MACH_SYNC_POLICY_H_ -#define _MACH_SYNC_POLICY_H_ - -typedef int sync_policy_t; - -/* - * These options define the wait ordering of the synchronizers - */ -#define SYNC_POLICY_FIFO 0x0 -#define SYNC_POLICY_FIXED_PRIORITY 0x1 -#define SYNC_POLICY_REVERSED 0x2 -#define SYNC_POLICY_ORDER_MASK 0x3 -#define SYNC_POLICY_LIFO (SYNC_POLICY_FIFO|SYNC_POLICY_REVERSED) - - -#define SYNC_POLICY_MAX 0x7 - -#endif /* _MACH_SYNC_POLICY_H_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.11-any/mach/task.h b/lib/libc/include/any-macos.11-any/mach/task.h deleted file mode 100644 index 88648e8d32..0000000000 --- a/lib/libc/include/any-macos.11-any/mach/task.h +++ /dev/null @@ -1,2733 +0,0 @@ -#ifndef _task_user_ -#define _task_user_ - -/* Module task */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -/* BEGIN MIG_STRNCPY_ZEROFILL CODE */ - -#if defined(__has_include) -#if __has_include() -#ifndef USING_MIG_STRNCPY_ZEROFILL -#define USING_MIG_STRNCPY_ZEROFILL -#endif -#ifndef __MIG_STRNCPY_ZEROFILL_FORWARD_TYPE_DECLS__ -#define __MIG_STRNCPY_ZEROFILL_FORWARD_TYPE_DECLS__ -#ifdef __cplusplus -extern "C" { -#endif - extern int mig_strncpy_zerofill(char *dest, const char *src, int len) __attribute__((weak_import)); -#ifdef __cplusplus -} -#endif -#endif /* __MIG_STRNCPY_ZEROFILL_FORWARD_TYPE_DECLS__ */ -#endif /* __has_include() */ -#endif /* __has_include */ - -/* END MIG_STRNCPY_ZEROFILL CODE */ - - -#ifdef AUTOTEST -#ifndef FUNCTION_PTR_T -#define FUNCTION_PTR_T -typedef void (*function_ptr_t)(mach_port_t, char *, mach_msg_type_number_t); -typedef struct { - char *name; - function_ptr_t function; -} function_table_entry; -typedef function_table_entry *function_table_t; -#endif /* FUNCTION_PTR_T */ -#endif /* AUTOTEST */ - -#ifndef task_MSG_COUNT -#define task_MSG_COUNT 61 -#endif /* task_MSG_COUNT */ - -#include -#include -#include -#include -#include - -#ifdef __BeforeMigUserHeader -__BeforeMigUserHeader -#endif /* __BeforeMigUserHeader */ - -#include -__BEGIN_DECLS - - -/* Routine task_create */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t task_create -( - task_t target_task, - ledger_array_t ledgers, - mach_msg_type_number_t ledgersCnt, - boolean_t inherit_memory, - task_t *child_task -); - -/* Routine task_terminate */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t task_terminate -( - task_t target_task -); - -/* Routine task_threads */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t task_threads -( - task_inspect_t target_task, - thread_act_array_t *act_list, - mach_msg_type_number_t *act_listCnt -); - -/* Routine mach_ports_register */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -__WATCHOS_PROHIBITED -__TVOS_PROHIBITED -kern_return_t mach_ports_register -( - task_t target_task, - mach_port_array_t init_port_set, - mach_msg_type_number_t init_port_setCnt -); - -/* Routine mach_ports_lookup */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -__WATCHOS_PROHIBITED -__TVOS_PROHIBITED -kern_return_t mach_ports_lookup -( - task_t target_task, - mach_port_array_t *init_port_set, - mach_msg_type_number_t *init_port_setCnt -); - -/* Routine task_info */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t task_info -( - task_name_t target_task, - task_flavor_t flavor, - task_info_t task_info_out, - mach_msg_type_number_t *task_info_outCnt -); - -/* Routine task_set_info */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -__WATCHOS_PROHIBITED -__TVOS_PROHIBITED -kern_return_t task_set_info -( - task_t target_task, - task_flavor_t flavor, - task_info_t task_info_in, - mach_msg_type_number_t task_info_inCnt -); - -/* Routine task_suspend */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -__WATCHOS_PROHIBITED -__TVOS_PROHIBITED -kern_return_t task_suspend -( - task_read_t target_task -); - -/* Routine task_resume */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -__WATCHOS_PROHIBITED -__TVOS_PROHIBITED -kern_return_t task_resume -( - task_read_t target_task -); - -/* Routine task_get_special_port */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -__WATCHOS_PROHIBITED -__TVOS_PROHIBITED -kern_return_t task_get_special_port -( - task_inspect_t task, - int which_port, - mach_port_t *special_port -); - -/* Routine task_set_special_port */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -__WATCHOS_PROHIBITED -__TVOS_PROHIBITED -kern_return_t task_set_special_port -( - task_t task, - int which_port, - mach_port_t special_port -); - -/* Routine thread_create */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -__WATCHOS_PROHIBITED -__TVOS_PROHIBITED -kern_return_t thread_create -( - task_t parent_task, - thread_act_t *child_act -); - -/* Routine thread_create_running */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -__WATCHOS_PROHIBITED -__TVOS_PROHIBITED -kern_return_t thread_create_running -( - task_t parent_task, - thread_state_flavor_t flavor, - thread_state_t new_state, - mach_msg_type_number_t new_stateCnt, - thread_act_t *child_act -); - -/* Routine task_set_exception_ports */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -__WATCHOS_PROHIBITED -__TVOS_PROHIBITED -kern_return_t task_set_exception_ports -( - task_t task, - exception_mask_t exception_mask, - mach_port_t new_port, - exception_behavior_t behavior, - thread_state_flavor_t new_flavor -); - -/* Routine task_get_exception_ports */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -__WATCHOS_PROHIBITED -__TVOS_PROHIBITED -kern_return_t task_get_exception_ports -( - task_t task, - exception_mask_t exception_mask, - exception_mask_array_t masks, - mach_msg_type_number_t *masksCnt, - exception_handler_array_t old_handlers, - exception_behavior_array_t old_behaviors, - exception_flavor_array_t old_flavors -); - -/* Routine task_swap_exception_ports */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -__WATCHOS_PROHIBITED -__TVOS_PROHIBITED -kern_return_t task_swap_exception_ports -( - task_t task, - exception_mask_t exception_mask, - mach_port_t new_port, - exception_behavior_t behavior, - thread_state_flavor_t new_flavor, - exception_mask_array_t masks, - mach_msg_type_number_t *masksCnt, - exception_handler_array_t old_handlers, - exception_behavior_array_t old_behaviors, - exception_flavor_array_t old_flavors -); - -/* Routine lock_set_create */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t lock_set_create -( - task_t task, - lock_set_t *new_lock_set, - int n_ulocks, - int policy -); - -/* Routine lock_set_destroy */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t lock_set_destroy -( - task_t task, - lock_set_t lock_set -); - -/* Routine semaphore_create */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t semaphore_create -( - task_t task, - semaphore_t *semaphore, - int policy, - int value -); - -/* Routine semaphore_destroy */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t semaphore_destroy -( - task_t task, - semaphore_t semaphore -); - -/* Routine task_policy_set */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -__WATCHOS_PROHIBITED -__TVOS_PROHIBITED -kern_return_t task_policy_set -( - task_policy_set_t task, - task_policy_flavor_t flavor, - task_policy_t policy_info, - mach_msg_type_number_t policy_infoCnt -); - -/* Routine task_policy_get */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -__WATCHOS_PROHIBITED -__TVOS_PROHIBITED -kern_return_t task_policy_get -( - task_policy_get_t task, - task_policy_flavor_t flavor, - task_policy_t policy_info, - mach_msg_type_number_t *policy_infoCnt, - boolean_t *get_default -); - -/* Routine task_sample */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t task_sample -( - task_t task, - mach_port_t reply -); - -/* Routine task_policy */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t task_policy -( - task_t task, - policy_t policy, - policy_base_t base, - mach_msg_type_number_t baseCnt, - boolean_t set_limit, - boolean_t change -); - -/* Routine task_set_emulation */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t task_set_emulation -( - task_t target_port, - vm_address_t routine_entry_pt, - int routine_number -); - -/* Routine task_get_emulation_vector */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t task_get_emulation_vector -( - task_t task, - int *vector_start, - emulation_vector_t *emulation_vector, - mach_msg_type_number_t *emulation_vectorCnt -); - -/* Routine task_set_emulation_vector */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t task_set_emulation_vector -( - task_t task, - int vector_start, - emulation_vector_t emulation_vector, - mach_msg_type_number_t emulation_vectorCnt -); - -/* Routine task_set_ras_pc */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t task_set_ras_pc -( - task_t target_task, - vm_address_t basepc, - vm_address_t boundspc -); - -/* Routine task_zone_info */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -__WATCHOS_PROHIBITED -__TVOS_PROHIBITED -kern_return_t task_zone_info -( - task_inspect_t target_task, - mach_zone_name_array_t *names, - mach_msg_type_number_t *namesCnt, - task_zone_info_array_t *info, - mach_msg_type_number_t *infoCnt -); - -/* Routine task_assign */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t task_assign -( - task_t task, - processor_set_t new_set, - boolean_t assign_threads -); - -/* Routine task_assign_default */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t task_assign_default -( - task_t task, - boolean_t assign_threads -); - -/* Routine task_get_assignment */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t task_get_assignment -( - task_inspect_t task, - processor_set_name_t *assigned_set -); - -/* Routine task_set_policy */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t task_set_policy -( - task_t task, - processor_set_t pset, - policy_t policy, - policy_base_t base, - mach_msg_type_number_t baseCnt, - policy_limit_t limit, - mach_msg_type_number_t limitCnt, - boolean_t change -); - -/* Routine task_get_state */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -__WATCHOS_PROHIBITED -__TVOS_PROHIBITED -kern_return_t task_get_state -( - task_read_t task, - thread_state_flavor_t flavor, - thread_state_t old_state, - mach_msg_type_number_t *old_stateCnt -); - -/* Routine task_set_state */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -__WATCHOS_PROHIBITED -__TVOS_PROHIBITED -kern_return_t task_set_state -( - task_t task, - thread_state_flavor_t flavor, - thread_state_t new_state, - mach_msg_type_number_t new_stateCnt -); - -/* Routine task_set_phys_footprint_limit */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -__WATCHOS_PROHIBITED -__TVOS_PROHIBITED -kern_return_t task_set_phys_footprint_limit -( - task_t task, - int new_limit, - int *old_limit -); - -/* Routine task_suspend2 */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -__WATCHOS_PROHIBITED -__TVOS_PROHIBITED -kern_return_t task_suspend2 -( - task_read_t target_task, - task_suspension_token_t *suspend_token -); - -/* Routine task_resume2 */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -__WATCHOS_PROHIBITED -__TVOS_PROHIBITED -kern_return_t task_resume2 -( - task_suspension_token_t suspend_token -); - -/* Routine task_purgable_info */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t task_purgable_info -( - task_inspect_t task, - task_purgable_info_t *stats -); - -/* Routine task_get_mach_voucher */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -__WATCHOS_PROHIBITED -__TVOS_PROHIBITED -kern_return_t task_get_mach_voucher -( - task_read_t task, - mach_voucher_selector_t which, - ipc_voucher_t *voucher -); - -/* Routine task_set_mach_voucher */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -__WATCHOS_PROHIBITED -__TVOS_PROHIBITED -kern_return_t task_set_mach_voucher -( - task_t task, - ipc_voucher_t voucher -); - -/* Routine task_swap_mach_voucher */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -__WATCHOS_PROHIBITED -__TVOS_PROHIBITED -kern_return_t task_swap_mach_voucher -( - task_t task, - ipc_voucher_t new_voucher, - ipc_voucher_t *old_voucher -); - -/* Routine task_generate_corpse */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t task_generate_corpse -( - task_read_t task, - mach_port_t *corpse_task_port -); - -/* Routine task_map_corpse_info */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t task_map_corpse_info -( - task_t task, - task_read_t corspe_task, - vm_address_t *kcd_addr_begin, - uint32_t *kcd_size -); - -/* Routine task_register_dyld_image_infos */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t task_register_dyld_image_infos -( - task_t task, - dyld_kernel_image_info_array_t dyld_images, - mach_msg_type_number_t dyld_imagesCnt -); - -/* Routine task_unregister_dyld_image_infos */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t task_unregister_dyld_image_infos -( - task_t task, - dyld_kernel_image_info_array_t dyld_images, - mach_msg_type_number_t dyld_imagesCnt -); - -/* Routine task_get_dyld_image_infos */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t task_get_dyld_image_infos -( - task_read_t task, - dyld_kernel_image_info_array_t *dyld_images, - mach_msg_type_number_t *dyld_imagesCnt -); - -/* Routine task_register_dyld_shared_cache_image_info */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t task_register_dyld_shared_cache_image_info -( - task_t task, - dyld_kernel_image_info_t dyld_cache_image, - boolean_t no_cache, - boolean_t private_cache -); - -/* Routine task_register_dyld_set_dyld_state */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t task_register_dyld_set_dyld_state -( - task_t task, - uint8_t dyld_state -); - -/* Routine task_register_dyld_get_process_state */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t task_register_dyld_get_process_state -( - task_t task, - dyld_kernel_process_info_t *dyld_process_state -); - -/* Routine task_map_corpse_info_64 */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t task_map_corpse_info_64 -( - task_t task, - task_read_t corspe_task, - mach_vm_address_t *kcd_addr_begin, - mach_vm_size_t *kcd_size -); - -/* Routine task_inspect */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t task_inspect -( - task_inspect_t task, - task_inspect_flavor_t flavor, - task_inspect_info_t info_out, - mach_msg_type_number_t *info_outCnt -); - -/* Routine task_get_exc_guard_behavior */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t task_get_exc_guard_behavior -( - task_inspect_t task, - task_exc_guard_behavior_t *behavior -); - -/* Routine task_set_exc_guard_behavior */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t task_set_exc_guard_behavior -( - task_t task, - task_exc_guard_behavior_t behavior -); - -/* Routine task_create_suid_cred */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t task_create_suid_cred -( - task_t task, - suid_cred_path_t path, - suid_cred_uid_t uid, - suid_cred_t *delegation -); - -/* Routine task_dyld_process_info_notify_register */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t task_dyld_process_info_notify_register -( - task_read_t target_task, - mach_port_t notify -); - -/* Routine task_create_identity_token */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t task_create_identity_token -( - task_t task, - task_id_token_t *token -); - -/* Routine task_identity_token_get_task_port */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t task_identity_token_get_task_port -( - task_id_token_t token, - task_flavor_t flavor, - mach_port_t *task_port -); - -/* Routine task_dyld_process_info_notify_deregister */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t task_dyld_process_info_notify_deregister -( - task_read_t target_task, - mach_port_name_t notify -); - -/* Routine task_get_exception_ports_info */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t task_get_exception_ports_info -( - mach_port_t port, - exception_mask_t exception_mask, - exception_mask_array_t masks, - mach_msg_type_number_t *masksCnt, - exception_handler_info_array_t old_handlers_info, - exception_behavior_array_t old_behaviors, - exception_flavor_array_t old_flavors -); - -__END_DECLS - -/********************** Caution **************************/ -/* The following data types should be used to calculate */ -/* maximum message sizes only. The actual message may be */ -/* smaller, and the position of the arguments within the */ -/* message layout may vary from what is presented here. */ -/* For example, if any of the arguments are variable- */ -/* sized, and less than the maximum is sent, the data */ -/* will be packed tight in the actual message to reduce */ -/* the presence of holes. */ -/********************** Caution **************************/ - -/* typedefs for all requests */ - -#ifndef __Request__task_subsystem__defined -#define __Request__task_subsystem__defined - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_ool_ports_descriptor_t ledgers; - /* end of the kernel processed data */ - NDR_record_t NDR; - mach_msg_type_number_t ledgersCnt; - boolean_t inherit_memory; - } __Request__task_create_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - } __Request__task_terminate_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - } __Request__task_threads_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_ool_ports_descriptor_t init_port_set; - /* end of the kernel processed data */ - NDR_record_t NDR; - mach_msg_type_number_t init_port_setCnt; - } __Request__mach_ports_register_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - } __Request__mach_ports_lookup_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - task_flavor_t flavor; - mach_msg_type_number_t task_info_outCnt; - } __Request__task_info_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - task_flavor_t flavor; - mach_msg_type_number_t task_info_inCnt; - integer_t task_info_in[87]; - } __Request__task_set_info_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - } __Request__task_suspend_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - } __Request__task_resume_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - int which_port; - } __Request__task_get_special_port_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t special_port; - /* end of the kernel processed data */ - NDR_record_t NDR; - int which_port; - } __Request__task_set_special_port_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - } __Request__thread_create_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - thread_state_flavor_t flavor; - mach_msg_type_number_t new_stateCnt; - natural_t new_state[1296]; - } __Request__thread_create_running_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t new_port; - /* end of the kernel processed data */ - NDR_record_t NDR; - exception_mask_t exception_mask; - exception_behavior_t behavior; - thread_state_flavor_t new_flavor; - } __Request__task_set_exception_ports_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - exception_mask_t exception_mask; - } __Request__task_get_exception_ports_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t new_port; - /* end of the kernel processed data */ - NDR_record_t NDR; - exception_mask_t exception_mask; - exception_behavior_t behavior; - thread_state_flavor_t new_flavor; - } __Request__task_swap_exception_ports_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - int n_ulocks; - int policy; - } __Request__lock_set_create_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t lock_set; - /* end of the kernel processed data */ - } __Request__lock_set_destroy_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - int policy; - int value; - } __Request__semaphore_create_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t semaphore; - /* end of the kernel processed data */ - } __Request__semaphore_destroy_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - task_policy_flavor_t flavor; - mach_msg_type_number_t policy_infoCnt; - integer_t policy_info[16]; - } __Request__task_policy_set_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - task_policy_flavor_t flavor; - mach_msg_type_number_t policy_infoCnt; - boolean_t get_default; - } __Request__task_policy_get_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t reply; - /* end of the kernel processed data */ - } __Request__task_sample_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - policy_t policy; - mach_msg_type_number_t baseCnt; - integer_t base[5]; - boolean_t set_limit; - boolean_t change; - } __Request__task_policy_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - vm_address_t routine_entry_pt; - int routine_number; - } __Request__task_set_emulation_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - } __Request__task_get_emulation_vector_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_ool_descriptor_t emulation_vector; - /* end of the kernel processed data */ - NDR_record_t NDR; - int vector_start; - mach_msg_type_number_t emulation_vectorCnt; - } __Request__task_set_emulation_vector_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - vm_address_t basepc; - vm_address_t boundspc; - } __Request__task_set_ras_pc_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - } __Request__task_zone_info_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t new_set; - /* end of the kernel processed data */ - NDR_record_t NDR; - boolean_t assign_threads; - } __Request__task_assign_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - boolean_t assign_threads; - } __Request__task_assign_default_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - } __Request__task_get_assignment_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t pset; - /* end of the kernel processed data */ - NDR_record_t NDR; - policy_t policy; - mach_msg_type_number_t baseCnt; - integer_t base[5]; - mach_msg_type_number_t limitCnt; - integer_t limit[1]; - boolean_t change; - } __Request__task_set_policy_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - thread_state_flavor_t flavor; - mach_msg_type_number_t old_stateCnt; - } __Request__task_get_state_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - thread_state_flavor_t flavor; - mach_msg_type_number_t new_stateCnt; - natural_t new_state[1296]; - } __Request__task_set_state_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - int new_limit; - } __Request__task_set_phys_footprint_limit_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - } __Request__task_suspend2_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - } __Request__task_resume2_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - } __Request__task_purgable_info_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - mach_voucher_selector_t which; - } __Request__task_get_mach_voucher_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t voucher; - /* end of the kernel processed data */ - } __Request__task_set_mach_voucher_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t new_voucher; - mach_msg_port_descriptor_t old_voucher; - /* end of the kernel processed data */ - } __Request__task_swap_mach_voucher_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - } __Request__task_generate_corpse_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t corspe_task; - /* end of the kernel processed data */ - } __Request__task_map_corpse_info_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_ool_descriptor_t dyld_images; - /* end of the kernel processed data */ - NDR_record_t NDR; - mach_msg_type_number_t dyld_imagesCnt; - } __Request__task_register_dyld_image_infos_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_ool_descriptor_t dyld_images; - /* end of the kernel processed data */ - NDR_record_t NDR; - mach_msg_type_number_t dyld_imagesCnt; - } __Request__task_unregister_dyld_image_infos_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - } __Request__task_get_dyld_image_infos_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - dyld_kernel_image_info_t dyld_cache_image; - boolean_t no_cache; - boolean_t private_cache; - } __Request__task_register_dyld_shared_cache_image_info_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - uint8_t dyld_state; - char dyld_statePad[3]; - } __Request__task_register_dyld_set_dyld_state_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - } __Request__task_register_dyld_get_process_state_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t corspe_task; - /* end of the kernel processed data */ - } __Request__task_map_corpse_info_64_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - task_inspect_flavor_t flavor; - mach_msg_type_number_t info_outCnt; - } __Request__task_inspect_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - } __Request__task_get_exc_guard_behavior_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - task_exc_guard_behavior_t behavior; - } __Request__task_set_exc_guard_behavior_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - mach_msg_type_number_t pathOffset; /* MiG doesn't use it */ - mach_msg_type_number_t pathCnt; - char path[1024]; - suid_cred_uid_t uid; - } __Request__task_create_suid_cred_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t notify; - /* end of the kernel processed data */ - } __Request__task_dyld_process_info_notify_register_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - } __Request__task_create_identity_token_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - task_flavor_t flavor; - } __Request__task_identity_token_get_task_port_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - mach_port_name_t notify; - } __Request__task_dyld_process_info_notify_deregister_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - exception_mask_t exception_mask; - } __Request__task_get_exception_ports_info_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif -#endif /* !__Request__task_subsystem__defined */ - -/* union of all requests */ - -#ifndef __RequestUnion__task_subsystem__defined -#define __RequestUnion__task_subsystem__defined -union __RequestUnion__task_subsystem { - __Request__task_create_t Request_task_create; - __Request__task_terminate_t Request_task_terminate; - __Request__task_threads_t Request_task_threads; - __Request__mach_ports_register_t Request_mach_ports_register; - __Request__mach_ports_lookup_t Request_mach_ports_lookup; - __Request__task_info_t Request_task_info; - __Request__task_set_info_t Request_task_set_info; - __Request__task_suspend_t Request_task_suspend; - __Request__task_resume_t Request_task_resume; - __Request__task_get_special_port_t Request_task_get_special_port; - __Request__task_set_special_port_t Request_task_set_special_port; - __Request__thread_create_t Request_thread_create; - __Request__thread_create_running_t Request_thread_create_running; - __Request__task_set_exception_ports_t Request_task_set_exception_ports; - __Request__task_get_exception_ports_t Request_task_get_exception_ports; - __Request__task_swap_exception_ports_t Request_task_swap_exception_ports; - __Request__lock_set_create_t Request_lock_set_create; - __Request__lock_set_destroy_t Request_lock_set_destroy; - __Request__semaphore_create_t Request_semaphore_create; - __Request__semaphore_destroy_t Request_semaphore_destroy; - __Request__task_policy_set_t Request_task_policy_set; - __Request__task_policy_get_t Request_task_policy_get; - __Request__task_sample_t Request_task_sample; - __Request__task_policy_t Request_task_policy; - __Request__task_set_emulation_t Request_task_set_emulation; - __Request__task_get_emulation_vector_t Request_task_get_emulation_vector; - __Request__task_set_emulation_vector_t Request_task_set_emulation_vector; - __Request__task_set_ras_pc_t Request_task_set_ras_pc; - __Request__task_zone_info_t Request_task_zone_info; - __Request__task_assign_t Request_task_assign; - __Request__task_assign_default_t Request_task_assign_default; - __Request__task_get_assignment_t Request_task_get_assignment; - __Request__task_set_policy_t Request_task_set_policy; - __Request__task_get_state_t Request_task_get_state; - __Request__task_set_state_t Request_task_set_state; - __Request__task_set_phys_footprint_limit_t Request_task_set_phys_footprint_limit; - __Request__task_suspend2_t Request_task_suspend2; - __Request__task_resume2_t Request_task_resume2; - __Request__task_purgable_info_t Request_task_purgable_info; - __Request__task_get_mach_voucher_t Request_task_get_mach_voucher; - __Request__task_set_mach_voucher_t Request_task_set_mach_voucher; - __Request__task_swap_mach_voucher_t Request_task_swap_mach_voucher; - __Request__task_generate_corpse_t Request_task_generate_corpse; - __Request__task_map_corpse_info_t Request_task_map_corpse_info; - __Request__task_register_dyld_image_infos_t Request_task_register_dyld_image_infos; - __Request__task_unregister_dyld_image_infos_t Request_task_unregister_dyld_image_infos; - __Request__task_get_dyld_image_infos_t Request_task_get_dyld_image_infos; - __Request__task_register_dyld_shared_cache_image_info_t Request_task_register_dyld_shared_cache_image_info; - __Request__task_register_dyld_set_dyld_state_t Request_task_register_dyld_set_dyld_state; - __Request__task_register_dyld_get_process_state_t Request_task_register_dyld_get_process_state; - __Request__task_map_corpse_info_64_t Request_task_map_corpse_info_64; - __Request__task_inspect_t Request_task_inspect; - __Request__task_get_exc_guard_behavior_t Request_task_get_exc_guard_behavior; - __Request__task_set_exc_guard_behavior_t Request_task_set_exc_guard_behavior; - __Request__task_create_suid_cred_t Request_task_create_suid_cred; - __Request__task_dyld_process_info_notify_register_t Request_task_dyld_process_info_notify_register; - __Request__task_create_identity_token_t Request_task_create_identity_token; - __Request__task_identity_token_get_task_port_t Request_task_identity_token_get_task_port; - __Request__task_dyld_process_info_notify_deregister_t Request_task_dyld_process_info_notify_deregister; - __Request__task_get_exception_ports_info_t Request_task_get_exception_ports_info; -}; -#endif /* !__RequestUnion__task_subsystem__defined */ -/* typedefs for all replies */ - -#ifndef __Reply__task_subsystem__defined -#define __Reply__task_subsystem__defined - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t child_task; - /* end of the kernel processed data */ - } __Reply__task_create_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__task_terminate_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_ool_ports_descriptor_t act_list; - /* end of the kernel processed data */ - NDR_record_t NDR; - mach_msg_type_number_t act_listCnt; - } __Reply__task_threads_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__mach_ports_register_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_ool_ports_descriptor_t init_port_set; - /* end of the kernel processed data */ - NDR_record_t NDR; - mach_msg_type_number_t init_port_setCnt; - } __Reply__mach_ports_lookup_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - mach_msg_type_number_t task_info_outCnt; - integer_t task_info_out[87]; - } __Reply__task_info_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__task_set_info_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__task_suspend_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__task_resume_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t special_port; - /* end of the kernel processed data */ - } __Reply__task_get_special_port_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__task_set_special_port_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t child_act; - /* end of the kernel processed data */ - } __Reply__thread_create_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t child_act; - /* end of the kernel processed data */ - } __Reply__thread_create_running_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__task_set_exception_ports_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t old_handlers[32]; - /* end of the kernel processed data */ - NDR_record_t NDR; - mach_msg_type_number_t masksCnt; - exception_mask_t masks[32]; - exception_behavior_t old_behaviors[32]; - thread_state_flavor_t old_flavors[32]; - } __Reply__task_get_exception_ports_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t old_handlers[32]; - /* end of the kernel processed data */ - NDR_record_t NDR; - mach_msg_type_number_t masksCnt; - exception_mask_t masks[32]; - exception_behavior_t old_behaviors[32]; - thread_state_flavor_t old_flavors[32]; - } __Reply__task_swap_exception_ports_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t new_lock_set; - /* end of the kernel processed data */ - } __Reply__lock_set_create_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__lock_set_destroy_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t semaphore; - /* end of the kernel processed data */ - } __Reply__semaphore_create_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__semaphore_destroy_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__task_policy_set_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - mach_msg_type_number_t policy_infoCnt; - integer_t policy_info[16]; - boolean_t get_default; - } __Reply__task_policy_get_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__task_sample_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__task_policy_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__task_set_emulation_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_ool_descriptor_t emulation_vector; - /* end of the kernel processed data */ - NDR_record_t NDR; - int vector_start; - mach_msg_type_number_t emulation_vectorCnt; - } __Reply__task_get_emulation_vector_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__task_set_emulation_vector_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__task_set_ras_pc_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_ool_descriptor_t names; - mach_msg_ool_descriptor_t info; - /* end of the kernel processed data */ - NDR_record_t NDR; - mach_msg_type_number_t namesCnt; - mach_msg_type_number_t infoCnt; - } __Reply__task_zone_info_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__task_assign_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__task_assign_default_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t assigned_set; - /* end of the kernel processed data */ - } __Reply__task_get_assignment_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__task_set_policy_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - mach_msg_type_number_t old_stateCnt; - natural_t old_state[1296]; - } __Reply__task_get_state_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__task_set_state_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - int old_limit; - } __Reply__task_set_phys_footprint_limit_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t suspend_token; - /* end of the kernel processed data */ - } __Reply__task_suspend2_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__task_resume2_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - task_purgable_info_t stats; - } __Reply__task_purgable_info_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t voucher; - /* end of the kernel processed data */ - } __Reply__task_get_mach_voucher_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__task_set_mach_voucher_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t old_voucher; - /* end of the kernel processed data */ - } __Reply__task_swap_mach_voucher_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t corpse_task_port; - /* end of the kernel processed data */ - } __Reply__task_generate_corpse_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - vm_address_t kcd_addr_begin; - uint32_t kcd_size; - } __Reply__task_map_corpse_info_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__task_register_dyld_image_infos_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__task_unregister_dyld_image_infos_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_ool_descriptor_t dyld_images; - /* end of the kernel processed data */ - NDR_record_t NDR; - mach_msg_type_number_t dyld_imagesCnt; - } __Reply__task_get_dyld_image_infos_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__task_register_dyld_shared_cache_image_info_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__task_register_dyld_set_dyld_state_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - dyld_kernel_process_info_t dyld_process_state; - } __Reply__task_register_dyld_get_process_state_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - mach_vm_address_t kcd_addr_begin; - mach_vm_size_t kcd_size; - } __Reply__task_map_corpse_info_64_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - mach_msg_type_number_t info_outCnt; - integer_t info_out[4]; - } __Reply__task_inspect_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - task_exc_guard_behavior_t behavior; - } __Reply__task_get_exc_guard_behavior_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__task_set_exc_guard_behavior_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t delegation; - /* end of the kernel processed data */ - } __Reply__task_create_suid_cred_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__task_dyld_process_info_notify_register_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t token; - /* end of the kernel processed data */ - } __Reply__task_create_identity_token_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t task_port; - /* end of the kernel processed data */ - } __Reply__task_identity_token_get_task_port_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__task_dyld_process_info_notify_deregister_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - mach_msg_type_number_t masksCnt; - exception_mask_t masks[32]; - exception_handler_info_t old_handlers_info[32]; - exception_behavior_t old_behaviors[32]; - thread_state_flavor_t old_flavors[32]; - } __Reply__task_get_exception_ports_info_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif -#endif /* !__Reply__task_subsystem__defined */ - -/* union of all replies */ - -#ifndef __ReplyUnion__task_subsystem__defined -#define __ReplyUnion__task_subsystem__defined -union __ReplyUnion__task_subsystem { - __Reply__task_create_t Reply_task_create; - __Reply__task_terminate_t Reply_task_terminate; - __Reply__task_threads_t Reply_task_threads; - __Reply__mach_ports_register_t Reply_mach_ports_register; - __Reply__mach_ports_lookup_t Reply_mach_ports_lookup; - __Reply__task_info_t Reply_task_info; - __Reply__task_set_info_t Reply_task_set_info; - __Reply__task_suspend_t Reply_task_suspend; - __Reply__task_resume_t Reply_task_resume; - __Reply__task_get_special_port_t Reply_task_get_special_port; - __Reply__task_set_special_port_t Reply_task_set_special_port; - __Reply__thread_create_t Reply_thread_create; - __Reply__thread_create_running_t Reply_thread_create_running; - __Reply__task_set_exception_ports_t Reply_task_set_exception_ports; - __Reply__task_get_exception_ports_t Reply_task_get_exception_ports; - __Reply__task_swap_exception_ports_t Reply_task_swap_exception_ports; - __Reply__lock_set_create_t Reply_lock_set_create; - __Reply__lock_set_destroy_t Reply_lock_set_destroy; - __Reply__semaphore_create_t Reply_semaphore_create; - __Reply__semaphore_destroy_t Reply_semaphore_destroy; - __Reply__task_policy_set_t Reply_task_policy_set; - __Reply__task_policy_get_t Reply_task_policy_get; - __Reply__task_sample_t Reply_task_sample; - __Reply__task_policy_t Reply_task_policy; - __Reply__task_set_emulation_t Reply_task_set_emulation; - __Reply__task_get_emulation_vector_t Reply_task_get_emulation_vector; - __Reply__task_set_emulation_vector_t Reply_task_set_emulation_vector; - __Reply__task_set_ras_pc_t Reply_task_set_ras_pc; - __Reply__task_zone_info_t Reply_task_zone_info; - __Reply__task_assign_t Reply_task_assign; - __Reply__task_assign_default_t Reply_task_assign_default; - __Reply__task_get_assignment_t Reply_task_get_assignment; - __Reply__task_set_policy_t Reply_task_set_policy; - __Reply__task_get_state_t Reply_task_get_state; - __Reply__task_set_state_t Reply_task_set_state; - __Reply__task_set_phys_footprint_limit_t Reply_task_set_phys_footprint_limit; - __Reply__task_suspend2_t Reply_task_suspend2; - __Reply__task_resume2_t Reply_task_resume2; - __Reply__task_purgable_info_t Reply_task_purgable_info; - __Reply__task_get_mach_voucher_t Reply_task_get_mach_voucher; - __Reply__task_set_mach_voucher_t Reply_task_set_mach_voucher; - __Reply__task_swap_mach_voucher_t Reply_task_swap_mach_voucher; - __Reply__task_generate_corpse_t Reply_task_generate_corpse; - __Reply__task_map_corpse_info_t Reply_task_map_corpse_info; - __Reply__task_register_dyld_image_infos_t Reply_task_register_dyld_image_infos; - __Reply__task_unregister_dyld_image_infos_t Reply_task_unregister_dyld_image_infos; - __Reply__task_get_dyld_image_infos_t Reply_task_get_dyld_image_infos; - __Reply__task_register_dyld_shared_cache_image_info_t Reply_task_register_dyld_shared_cache_image_info; - __Reply__task_register_dyld_set_dyld_state_t Reply_task_register_dyld_set_dyld_state; - __Reply__task_register_dyld_get_process_state_t Reply_task_register_dyld_get_process_state; - __Reply__task_map_corpse_info_64_t Reply_task_map_corpse_info_64; - __Reply__task_inspect_t Reply_task_inspect; - __Reply__task_get_exc_guard_behavior_t Reply_task_get_exc_guard_behavior; - __Reply__task_set_exc_guard_behavior_t Reply_task_set_exc_guard_behavior; - __Reply__task_create_suid_cred_t Reply_task_create_suid_cred; - __Reply__task_dyld_process_info_notify_register_t Reply_task_dyld_process_info_notify_register; - __Reply__task_create_identity_token_t Reply_task_create_identity_token; - __Reply__task_identity_token_get_task_port_t Reply_task_identity_token_get_task_port; - __Reply__task_dyld_process_info_notify_deregister_t Reply_task_dyld_process_info_notify_deregister; - __Reply__task_get_exception_ports_info_t Reply_task_get_exception_ports_info; -}; -#endif /* !__RequestUnion__task_subsystem__defined */ - -#ifndef subsystem_to_name_map_task -#define subsystem_to_name_map_task \ - { "task_create", 3400 },\ - { "task_terminate", 3401 },\ - { "task_threads", 3402 },\ - { "mach_ports_register", 3403 },\ - { "mach_ports_lookup", 3404 },\ - { "task_info", 3405 },\ - { "task_set_info", 3406 },\ - { "task_suspend", 3407 },\ - { "task_resume", 3408 },\ - { "task_get_special_port", 3409 },\ - { "task_set_special_port", 3410 },\ - { "thread_create", 3411 },\ - { "thread_create_running", 3412 },\ - { "task_set_exception_ports", 3413 },\ - { "task_get_exception_ports", 3414 },\ - { "task_swap_exception_ports", 3415 },\ - { "lock_set_create", 3416 },\ - { "lock_set_destroy", 3417 },\ - { "semaphore_create", 3418 },\ - { "semaphore_destroy", 3419 },\ - { "task_policy_set", 3420 },\ - { "task_policy_get", 3421 },\ - { "task_sample", 3422 },\ - { "task_policy", 3423 },\ - { "task_set_emulation", 3424 },\ - { "task_get_emulation_vector", 3425 },\ - { "task_set_emulation_vector", 3426 },\ - { "task_set_ras_pc", 3427 },\ - { "task_zone_info", 3428 },\ - { "task_assign", 3429 },\ - { "task_assign_default", 3430 },\ - { "task_get_assignment", 3431 },\ - { "task_set_policy", 3432 },\ - { "task_get_state", 3433 },\ - { "task_set_state", 3434 },\ - { "task_set_phys_footprint_limit", 3435 },\ - { "task_suspend2", 3436 },\ - { "task_resume2", 3437 },\ - { "task_purgable_info", 3438 },\ - { "task_get_mach_voucher", 3439 },\ - { "task_set_mach_voucher", 3440 },\ - { "task_swap_mach_voucher", 3441 },\ - { "task_generate_corpse", 3442 },\ - { "task_map_corpse_info", 3443 },\ - { "task_register_dyld_image_infos", 3444 },\ - { "task_unregister_dyld_image_infos", 3445 },\ - { "task_get_dyld_image_infos", 3446 },\ - { "task_register_dyld_shared_cache_image_info", 3447 },\ - { "task_register_dyld_set_dyld_state", 3448 },\ - { "task_register_dyld_get_process_state", 3449 },\ - { "task_map_corpse_info_64", 3450 },\ - { "task_inspect", 3451 },\ - { "task_get_exc_guard_behavior", 3452 },\ - { "task_set_exc_guard_behavior", 3453 },\ - { "task_create_suid_cred", 3454 },\ - { "task_dyld_process_info_notify_register", 3456 },\ - { "task_create_identity_token", 3457 },\ - { "task_identity_token_get_task_port", 3458 },\ - { "task_dyld_process_info_notify_deregister", 3459 },\ - { "task_get_exception_ports_info", 3460 } -#endif - -#ifdef __AfterMigUserHeader -__AfterMigUserHeader -#endif /* __AfterMigUserHeader */ - -#endif /* _task_user_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.11-any/mach/task_info.h b/lib/libc/include/any-macos.11-any/mach/task_info.h deleted file mode 100644 index 6d8258ad72..0000000000 --- a/lib/libc/include/any-macos.11-any/mach/task_info.h +++ /dev/null @@ -1,524 +0,0 @@ -/* - * Copyright (c) 2000-2007, 2015 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@ - */ -/* - * @OSF_COPYRIGHT@ - */ -/* - * Mach Operating System - * Copyright (c) 1991,1990,1989,1988,1987 Carnegie Mellon University - * All Rights Reserved. - * - * Permission to use, copy, modify and distribute this software and its - * documentation is hereby granted, provided that both the copyright - * notice and this permission notice appear in all copies of the - * software, derivative works or modified versions, and any portions - * thereof, and that both notices appear in supporting documentation. - * - * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" - * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR - * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. - * - * Carnegie Mellon requests users of this software to return to - * - * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU - * School of Computer Science - * Carnegie Mellon University - * Pittsburgh PA 15213-3890 - * - * any improvements or extensions that they make and grant Carnegie Mellon - * the rights to redistribute these changes. - */ -/* - * Machine-independent task information structures and definitions. - * - * The definitions in this file are exported to the user. The kernel - * will translate its internal data structures to these structures - * as appropriate. - * - */ - -#ifndef _MACH_TASK_INFO_H_ -#define _MACH_TASK_INFO_H_ - -#include -#include -#include -#include -#include /* for vm_extmod_statistics_data_t */ -#include - -#include - -/* - * Generic information structure to allow for expansion. - */ -typedef natural_t task_flavor_t; -typedef integer_t *task_info_t; /* varying array of int */ - -/* Deprecated, use per structure _data_t's instead */ -#define TASK_INFO_MAX (1024) /* maximum array size */ -typedef integer_t task_info_data_t[TASK_INFO_MAX]; - -/* - * Currently defined information structures. - */ - -#pragma pack(push, 4) - -/* Don't use this, use MACH_TASK_BASIC_INFO instead */ -#define TASK_BASIC_INFO_32 4 /* basic information */ -#define TASK_BASIC2_INFO_32 6 - -struct task_basic_info_32 { - integer_t suspend_count; /* suspend count for task */ - natural_t virtual_size; /* virtual memory size (bytes) */ - natural_t resident_size; /* resident memory size (bytes) */ - time_value_t user_time; /* total user run time for - * terminated threads */ - time_value_t system_time; /* total system run time for - * terminated threads */ - policy_t policy; /* default policy for new threads */ -}; -typedef struct task_basic_info_32 task_basic_info_32_data_t; -typedef struct task_basic_info_32 *task_basic_info_32_t; -#define TASK_BASIC_INFO_32_COUNT \ - (sizeof(task_basic_info_32_data_t) / sizeof(natural_t)) - -/* Don't use this, use MACH_TASK_BASIC_INFO instead */ -struct task_basic_info_64 { - integer_t suspend_count; /* suspend count for task */ -#if defined(__arm__) || defined(__arm64__) - mach_vm_size_t virtual_size; /* virtual memory size (bytes) */ - mach_vm_size_t resident_size; /* resident memory size (bytes) */ -#else /* defined(__arm__) || defined(__arm64__) */ - mach_vm_size_t virtual_size; /* virtual memory size (bytes) */ - mach_vm_size_t resident_size; /* resident memory size (bytes) */ -#endif /* defined(__arm__) || defined(__arm64__) */ - time_value_t user_time; /* total user run time for - * terminated threads */ - time_value_t system_time; /* total system run time for - * terminated threads */ - policy_t policy; /* default policy for new threads */ -}; -typedef struct task_basic_info_64 task_basic_info_64_data_t; -typedef struct task_basic_info_64 *task_basic_info_64_t; - -#if defined(__arm__) || defined(__arm64__) - #if defined(__arm__) && defined(__IPHONE_OS_VERSION_MIN_REQUIRED) && (__IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_5_0) -/* - * Note: arm64 can't use the old flavor. If you somehow manage to, - * you can cope with the nonsense data yourself. - */ - #define TASK_BASIC_INFO_64 5 - #define TASK_BASIC_INFO_64_COUNT \ - (sizeof(task_basic_info_64_data_t) / sizeof(natural_t)) - - #else - - #define TASK_BASIC_INFO_64 TASK_BASIC_INFO_64_2 - #define TASK_BASIC_INFO_64_COUNT TASK_BASIC_INFO_64_2_COUNT - #endif -#else /* defined(__arm__) || defined(__arm64__) */ -#define TASK_BASIC_INFO_64 5 /* 64-bit capable basic info */ -#define TASK_BASIC_INFO_64_COUNT \ - (sizeof(task_basic_info_64_data_t) / sizeof(natural_t)) -#endif - - -/* localized structure - cannot be safely passed between tasks of differing sizes */ -/* Don't use this, use MACH_TASK_BASIC_INFO instead */ -struct task_basic_info { - integer_t suspend_count; /* suspend count for task */ - vm_size_t virtual_size; /* virtual memory size (bytes) */ - vm_size_t resident_size; /* resident memory size (bytes) */ - time_value_t user_time; /* total user run time for - * terminated threads */ - time_value_t system_time; /* total system run time for - * terminated threads */ - policy_t policy; /* default policy for new threads */ -}; - -typedef struct task_basic_info task_basic_info_data_t; -typedef struct task_basic_info *task_basic_info_t; -#define TASK_BASIC_INFO_COUNT \ - (sizeof(task_basic_info_data_t) / sizeof(natural_t)) -#if !defined(__LP64__) -#define TASK_BASIC_INFO TASK_BASIC_INFO_32 -#else -#define TASK_BASIC_INFO TASK_BASIC_INFO_64 -#endif - - - -#define TASK_EVENTS_INFO 2 /* various event counts */ - -struct task_events_info { - integer_t faults; /* number of page faults */ - integer_t pageins; /* number of actual pageins */ - integer_t cow_faults; /* number of copy-on-write faults */ - integer_t messages_sent; /* number of messages sent */ - integer_t messages_received; /* number of messages received */ - integer_t syscalls_mach; /* number of mach system calls */ - integer_t syscalls_unix; /* number of unix system calls */ - integer_t csw; /* number of context switches */ -}; -typedef struct task_events_info task_events_info_data_t; -typedef struct task_events_info *task_events_info_t; -#define TASK_EVENTS_INFO_COUNT ((mach_msg_type_number_t) \ - (sizeof(task_events_info_data_t) / sizeof(natural_t))) - -#define TASK_THREAD_TIMES_INFO 3 /* total times for live threads - - * only accurate if suspended */ - -struct task_thread_times_info { - time_value_t user_time; /* total user run time for - * live threads */ - time_value_t system_time; /* total system run time for - * live threads */ -}; - -typedef struct task_thread_times_info task_thread_times_info_data_t; -typedef struct task_thread_times_info *task_thread_times_info_t; -#define TASK_THREAD_TIMES_INFO_COUNT ((mach_msg_type_number_t) \ - (sizeof(task_thread_times_info_data_t) / sizeof(natural_t))) - -#define TASK_ABSOLUTETIME_INFO 1 - -struct task_absolutetime_info { - uint64_t total_user; - uint64_t total_system; - uint64_t threads_user; /* existing threads only */ - uint64_t threads_system; -}; - -typedef struct task_absolutetime_info task_absolutetime_info_data_t; -typedef struct task_absolutetime_info *task_absolutetime_info_t; -#define TASK_ABSOLUTETIME_INFO_COUNT ((mach_msg_type_number_t) \ - (sizeof (task_absolutetime_info_data_t) / sizeof (natural_t))) - -#define TASK_KERNELMEMORY_INFO 7 - -struct task_kernelmemory_info { - uint64_t total_palloc; /* private kernel mem alloc'ed */ - uint64_t total_pfree; /* private kernel mem freed */ - uint64_t total_salloc; /* shared kernel mem alloc'ed */ - uint64_t total_sfree; /* shared kernel mem freed */ -}; - -typedef struct task_kernelmemory_info task_kernelmemory_info_data_t; -typedef struct task_kernelmemory_info *task_kernelmemory_info_t; -#define TASK_KERNELMEMORY_INFO_COUNT ((mach_msg_type_number_t) \ - (sizeof (task_kernelmemory_info_data_t) / sizeof (natural_t))) - -#define TASK_SECURITY_TOKEN 13 -#define TASK_SECURITY_TOKEN_COUNT ((mach_msg_type_number_t) \ - (sizeof(security_token_t) / sizeof(natural_t))) - -#define TASK_AUDIT_TOKEN 15 -#define TASK_AUDIT_TOKEN_COUNT \ - (sizeof(audit_token_t) / sizeof(natural_t)) - - -#define TASK_AFFINITY_TAG_INFO 16 /* This is experimental. */ - -struct task_affinity_tag_info { - integer_t set_count; - integer_t min; - integer_t max; - integer_t task_count; -}; -typedef struct task_affinity_tag_info task_affinity_tag_info_data_t; -typedef struct task_affinity_tag_info *task_affinity_tag_info_t; -#define TASK_AFFINITY_TAG_INFO_COUNT \ - (sizeof(task_affinity_tag_info_data_t) / sizeof(natural_t)) - -#define TASK_DYLD_INFO 17 - -struct task_dyld_info { - mach_vm_address_t all_image_info_addr; - mach_vm_size_t all_image_info_size; - integer_t all_image_info_format; -}; -typedef struct task_dyld_info task_dyld_info_data_t; -typedef struct task_dyld_info *task_dyld_info_t; -#define TASK_DYLD_INFO_COUNT \ - (sizeof(task_dyld_info_data_t) / sizeof(natural_t)) -#define TASK_DYLD_ALL_IMAGE_INFO_32 0 /* format value */ -#define TASK_DYLD_ALL_IMAGE_INFO_64 1 /* format value */ - -#if defined(__arm__) || defined(__arm64__) - -/* Don't use this, use MACH_TASK_BASIC_INFO instead */ -/* Compatibility for old 32-bit mach_vm_*_t */ -#define TASK_BASIC_INFO_64_2 18 /* 64-bit capable basic info */ - -struct task_basic_info_64_2 { - integer_t suspend_count; /* suspend count for task */ - mach_vm_size_t virtual_size; /* virtual memory size (bytes) */ - mach_vm_size_t resident_size; /* resident memory size (bytes) */ - time_value_t user_time; /* total user run time for - * terminated threads */ - time_value_t system_time; /* total system run time for - * terminated threads */ - policy_t policy; /* default policy for new threads */ -}; -typedef struct task_basic_info_64_2 task_basic_info_64_2_data_t; -typedef struct task_basic_info_64_2 *task_basic_info_64_2_t; -#define TASK_BASIC_INFO_64_2_COUNT \ - (sizeof(task_basic_info_64_2_data_t) / sizeof(natural_t)) -#endif - -#define TASK_EXTMOD_INFO 19 - -struct task_extmod_info { - unsigned char task_uuid[16]; - vm_extmod_statistics_data_t extmod_statistics; -}; -typedef struct task_extmod_info task_extmod_info_data_t; -typedef struct task_extmod_info *task_extmod_info_t; -#define TASK_EXTMOD_INFO_COUNT \ - (sizeof(task_extmod_info_data_t) / sizeof(natural_t)) - - -#define MACH_TASK_BASIC_INFO 20 /* always 64-bit basic info */ -struct mach_task_basic_info { - mach_vm_size_t virtual_size; /* virtual memory size (bytes) */ - mach_vm_size_t resident_size; /* resident memory size (bytes) */ - mach_vm_size_t resident_size_max; /* maximum resident memory size (bytes) */ - time_value_t user_time; /* total user run time for - * terminated threads */ - time_value_t system_time; /* total system run time for - * terminated threads */ - policy_t policy; /* default policy for new threads */ - integer_t suspend_count; /* suspend count for task */ -}; -typedef struct mach_task_basic_info mach_task_basic_info_data_t; -typedef struct mach_task_basic_info *mach_task_basic_info_t; -#define MACH_TASK_BASIC_INFO_COUNT \ - (sizeof(mach_task_basic_info_data_t) / sizeof(natural_t)) - - -#define TASK_POWER_INFO 21 - -struct task_power_info { - uint64_t total_user; - uint64_t total_system; - uint64_t task_interrupt_wakeups; - uint64_t task_platform_idle_wakeups; - uint64_t task_timer_wakeups_bin_1; - uint64_t task_timer_wakeups_bin_2; -}; - -typedef struct task_power_info task_power_info_data_t; -typedef struct task_power_info *task_power_info_t; -#define TASK_POWER_INFO_COUNT ((mach_msg_type_number_t) \ - (sizeof (task_power_info_data_t) / sizeof (natural_t))) - - - -#define TASK_VM_INFO 22 -#define TASK_VM_INFO_PURGEABLE 23 -struct task_vm_info { - mach_vm_size_t virtual_size; /* virtual memory size (bytes) */ - integer_t region_count; /* number of memory regions */ - integer_t page_size; - mach_vm_size_t resident_size; /* resident memory size (bytes) */ - mach_vm_size_t resident_size_peak; /* peak resident size (bytes) */ - - mach_vm_size_t device; - mach_vm_size_t device_peak; - mach_vm_size_t internal; - mach_vm_size_t internal_peak; - mach_vm_size_t external; - mach_vm_size_t external_peak; - mach_vm_size_t reusable; - mach_vm_size_t reusable_peak; - mach_vm_size_t purgeable_volatile_pmap; - mach_vm_size_t purgeable_volatile_resident; - mach_vm_size_t purgeable_volatile_virtual; - mach_vm_size_t compressed; - mach_vm_size_t compressed_peak; - mach_vm_size_t compressed_lifetime; - - /* added for rev1 */ - mach_vm_size_t phys_footprint; - - /* added for rev2 */ - mach_vm_address_t min_address; - mach_vm_address_t max_address; - - /* added for rev3 */ - int64_t ledger_phys_footprint_peak; - int64_t ledger_purgeable_nonvolatile; - int64_t ledger_purgeable_novolatile_compressed; - int64_t ledger_purgeable_volatile; - int64_t ledger_purgeable_volatile_compressed; - int64_t ledger_tag_network_nonvolatile; - int64_t ledger_tag_network_nonvolatile_compressed; - int64_t ledger_tag_network_volatile; - int64_t ledger_tag_network_volatile_compressed; - int64_t ledger_tag_media_footprint; - int64_t ledger_tag_media_footprint_compressed; - int64_t ledger_tag_media_nofootprint; - int64_t ledger_tag_media_nofootprint_compressed; - int64_t ledger_tag_graphics_footprint; - int64_t ledger_tag_graphics_footprint_compressed; - int64_t ledger_tag_graphics_nofootprint; - int64_t ledger_tag_graphics_nofootprint_compressed; - int64_t ledger_tag_neural_footprint; - int64_t ledger_tag_neural_footprint_compressed; - int64_t ledger_tag_neural_nofootprint; - int64_t ledger_tag_neural_nofootprint_compressed; - - /* added for rev4 */ - uint64_t limit_bytes_remaining; - - /* added for rev5 */ - integer_t decompressions; -}; -typedef struct task_vm_info task_vm_info_data_t; -typedef struct task_vm_info *task_vm_info_t; -#define TASK_VM_INFO_COUNT ((mach_msg_type_number_t) \ - (sizeof (task_vm_info_data_t) / sizeof (natural_t))) -#define TASK_VM_INFO_REV5_COUNT TASK_VM_INFO_COUNT -#define TASK_VM_INFO_REV4_COUNT /* doesn't include decompressions */ \ - ((mach_msg_type_number_t) (TASK_VM_INFO_REV5_COUNT - 1)) -#define TASK_VM_INFO_REV3_COUNT /* doesn't include limit bytes */ \ - ((mach_msg_type_number_t) (TASK_VM_INFO_REV4_COUNT - 2)) -#define TASK_VM_INFO_REV2_COUNT /* doesn't include extra ledgers info */ \ - ((mach_msg_type_number_t) (TASK_VM_INFO_REV3_COUNT - 42)) -#define TASK_VM_INFO_REV1_COUNT /* doesn't include min and max address */ \ - ((mach_msg_type_number_t) (TASK_VM_INFO_REV2_COUNT - 4)) -#define TASK_VM_INFO_REV0_COUNT /* doesn't include phys_footprint */ \ - ((mach_msg_type_number_t) (TASK_VM_INFO_REV1_COUNT - 2)) - -typedef struct vm_purgeable_info task_purgable_info_t; - - -#define TASK_TRACE_MEMORY_INFO 24 /* no longer supported */ -struct task_trace_memory_info { - uint64_t user_memory_address; /* address of start of trace memory buffer */ - uint64_t buffer_size; /* size of buffer in bytes */ - uint64_t mailbox_array_size; /* size of mailbox area in bytes */ -}; -typedef struct task_trace_memory_info task_trace_memory_info_data_t; -typedef struct task_trace_memory_info * task_trace_memory_info_t; -#define TASK_TRACE_MEMORY_INFO_COUNT ((mach_msg_type_number_t) \ - (sizeof(task_trace_memory_info_data_t) / sizeof(natural_t))) - -#define TASK_WAIT_STATE_INFO 25 /* deprecated. */ -struct task_wait_state_info { - uint64_t total_wait_state_time; /* Time that all threads past and present have been in a wait state */ - uint64_t total_wait_sfi_state_time; /* Time that threads have been in SFI wait (should be a subset of total wait state time */ - uint32_t _reserved[4]; -}; -typedef struct task_wait_state_info task_wait_state_info_data_t; -typedef struct task_wait_state_info * task_wait_state_info_t; -#define TASK_WAIT_STATE_INFO_COUNT ((mach_msg_type_number_t) \ - (sizeof(task_wait_state_info_data_t) / sizeof(natural_t))) - -#define TASK_POWER_INFO_V2 26 - -typedef struct { - uint64_t task_gpu_utilisation; - uint64_t task_gpu_stat_reserved0; - uint64_t task_gpu_stat_reserved1; - uint64_t task_gpu_stat_reserved2; -} gpu_energy_data; - -typedef gpu_energy_data *gpu_energy_data_t; -struct task_power_info_v2 { - task_power_info_data_t cpu_energy; - gpu_energy_data gpu_energy; -#if defined(__arm__) || defined(__arm64__) - uint64_t task_energy; -#endif /* defined(__arm__) || defined(__arm64__) */ - uint64_t task_ptime; - uint64_t task_pset_switches; -}; - -typedef struct task_power_info_v2 task_power_info_v2_data_t; -typedef struct task_power_info_v2 *task_power_info_v2_t; -#define TASK_POWER_INFO_V2_COUNT_OLD \ - ((mach_msg_type_number_t) (sizeof (task_power_info_v2_data_t) - sizeof(uint64_t)*2) / sizeof (natural_t)) -#define TASK_POWER_INFO_V2_COUNT \ - ((mach_msg_type_number_t) (sizeof (task_power_info_v2_data_t) / sizeof (natural_t))) - -#define TASK_VM_INFO_PURGEABLE_ACCOUNT 27 /* Used for xnu purgeable vm unit tests */ - - -#define TASK_FLAGS_INFO 28 /* return t_flags field */ -struct task_flags_info { - uint32_t flags; /* task flags */ -}; -typedef struct task_flags_info task_flags_info_data_t; -typedef struct task_flags_info * task_flags_info_t; -#define TASK_FLAGS_INFO_COUNT ((mach_msg_type_number_t) \ - (sizeof(task_flags_info_data_t) / sizeof (natural_t))) - -#define TF_LP64 0x00000001 /* task has 64-bit addressing */ -#define TF_64B_DATA 0x00000002 /* task has 64-bit data registers */ - -#define TASK_DEBUG_INFO_INTERNAL 29 /* Used for kernel internal development tests. */ - - -/* - * Type to control EXC_GUARD delivery options for a task - * via task_get/set_exc_guard_behavior interface(s). - */ -typedef uint32_t task_exc_guard_behavior_t; - -/* EXC_GUARD optional delivery settings on a per-task basis */ -#define TASK_EXC_GUARD_VM_DELIVER 0x01 /* Deliver virtual memory EXC_GUARD exceptions */ -#define TASK_EXC_GUARD_VM_ONCE 0x02 /* Deliver them only once */ -#define TASK_EXC_GUARD_VM_CORPSE 0x04 /* Deliver them via a forked corpse */ -#define TASK_EXC_GUARD_VM_FATAL 0x08 /* Virtual Memory EXC_GUARD delivery is fatal */ -#define TASK_EXC_GUARD_VM_ALL 0x0f - -#define TASK_EXC_GUARD_MP_DELIVER 0x10 /* Deliver mach port EXC_GUARD exceptions */ -#define TASK_EXC_GUARD_MP_ONCE 0x20 /* Deliver them only once */ -#define TASK_EXC_GUARD_MP_CORPSE 0x40 /* Deliver them via a forked corpse */ -#define TASK_EXC_GUARD_MP_FATAL 0x80 /* mach port EXC_GUARD delivery is fatal */ -#define TASK_EXC_GUARD_MP_ALL 0xf0 - -#define TASK_EXC_GUARD_ALL 0xff /* All optional deliver settings */ - - -/* - * Obsolete interfaces. - */ - -#define TASK_SCHED_TIMESHARE_INFO 10 -#define TASK_SCHED_RR_INFO 11 -#define TASK_SCHED_FIFO_INFO 12 - -#define TASK_SCHED_INFO 14 - -#pragma pack(pop) - -#endif /* _MACH_TASK_INFO_H_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.11-any/mach/task_inspect.h b/lib/libc/include/any-macos.11-any/mach/task_inspect.h deleted file mode 100644 index 1ae3c6e5f1..0000000000 --- a/lib/libc/include/any-macos.11-any/mach/task_inspect.h +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Copyright (c) 2017 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 MACH_TASK_INSPECT_H -#define MACH_TASK_INSPECT_H - -/* - * XXX These interfaces are still in development -- they are subject to change - * without notice. - */ - -typedef natural_t task_inspect_flavor_t; - -enum task_inspect_flavor { - TASK_INSPECT_BASIC_COUNTS = 1, -}; - -struct task_inspect_basic_counts { - uint64_t instructions; - uint64_t cycles; -}; -#define TASK_INSPECT_BASIC_COUNTS_COUNT \ - (sizeof(struct task_inspect_basic_counts) / sizeof(natural_t)) -typedef struct task_inspect_basic_counts task_inspect_basic_counts_data_t; -typedef struct task_inspect_basic_counts *task_inspect_basic_counts_t; - -typedef integer_t *task_inspect_info_t; - -#endif /* !defined(MACH_TASK_INSPECT_H) */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.11-any/mach/task_special_ports.h b/lib/libc/include/any-macos.11-any/mach/task_special_ports.h deleted file mode 100644 index d80fba55b4..0000000000 --- a/lib/libc/include/any-macos.11-any/mach/task_special_ports.h +++ /dev/null @@ -1,135 +0,0 @@ -/* - * Copyright (c) 2000-2010 Apple Computer, 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@ - */ -/* - * @OSF_COPYRIGHT@ - */ -/* - * Mach Operating System - * Copyright (c) 1991,1990,1989,1988,1987 Carnegie Mellon University - * All Rights Reserved. - * - * Permission to use, copy, modify and distribute this software and its - * documentation is hereby granted, provided that both the copyright - * notice and this permission notice appear in all copies of the - * software, derivative works or modified versions, and any portions - * thereof, and that both notices appear in supporting documentation. - * - * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" - * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR - * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. - * - * Carnegie Mellon requests users of this software to return to - * - * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU - * School of Computer Science - * Carnegie Mellon University - * Pittsburgh PA 15213-3890 - * - * any improvements or extensions that they make and grant Carnegie Mellon - * the rights to redistribute these changes. - */ -/* - */ -/* - * File: mach/task_special_ports.h - * - * Defines codes for special_purpose task ports. These are NOT - * port identifiers - they are only used for the task_get_special_port - * and task_set_special_port routines. - * - */ - -#ifndef _MACH_TASK_SPECIAL_PORTS_H_ -#define _MACH_TASK_SPECIAL_PORTS_H_ - -typedef int task_special_port_t; - -#define TASK_KERNEL_PORT 1 /* The full task port for task. */ - -#define TASK_HOST_PORT 2 /* The host (priv) port for task. */ - -#define TASK_NAME_PORT 3 /* The name port for task. */ - -#define TASK_BOOTSTRAP_PORT 4 /* Bootstrap environment for task. */ - -#define TASK_INSPECT_PORT 5 /* The inspect port for task. */ - -#define TASK_READ_PORT 6 /* The read port for task. */ - -/* - * Evolving and likely to change. - */ - -#define TASK_SEATBELT_PORT 7 /* Seatbelt compiler/DEM port for task. */ - -/* PORT 8 was the GSSD TASK PORT which transformed to a host port */ - -#define TASK_ACCESS_PORT 9 /* Permission check for task_for_pid. */ - -#define TASK_DEBUG_CONTROL_PORT 10 /* debug control port */ - -#define TASK_RESOURCE_NOTIFY_PORT 11 /* overrides host special RN port */ - -#define TASK_MAX_SPECIAL_PORT TASK_RESOURCE_NOTIFY_PORT - -/* - * Definitions for ease of use - */ - -#define task_get_kernel_port(task, port) \ - (task_get_special_port((task), TASK_KERNEL_PORT, (port))) - -#define task_set_kernel_port(task, port) \ - (task_set_special_port((task), TASK_KERNEL_PORT, (port))) - -#define task_get_host_port(task, port) \ - (task_get_special_port((task), TASK_HOST_PORT, (port))) - -#define task_set_host_port(task, port) \ - (task_set_special_port((task), TASK_HOST_PORT, (port))) - -#define task_get_bootstrap_port(task, port) \ - (task_get_special_port((task), TASK_BOOTSTRAP_PORT, (port))) - -#define task_get_debug_control_port(task, port) \ - (task_get_special_port((task), TASK_DEBUG_CONTROL_PORT, (port))) - -#define task_set_bootstrap_port(task, port) \ - (task_set_special_port((task), TASK_BOOTSTRAP_PORT, (port))) - -#define task_get_task_access_port(task, port) \ - (task_get_special_port((task), TASK_ACCESS_PORT, (port))) - -#define task_set_task_access_port(task, port) \ - (task_set_special_port((task), TASK_ACCESS_PORT, (port))) - -#define task_set_task_debug_control_port(task, port) \ - (task_set_special_port((task), TASK_DEBUG_CONTROL_PORT, (port))) - - -#endif /* _MACH_TASK_SPECIAL_PORTS_H_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.11-any/mach/thread_act.h b/lib/libc/include/any-macos.11-any/mach/thread_act.h deleted file mode 100644 index 8264d64fcb..0000000000 --- a/lib/libc/include/any-macos.11-any/mach/thread_act.h +++ /dev/null @@ -1,1435 +0,0 @@ -#ifndef _thread_act_user_ -#define _thread_act_user_ - -/* Module thread_act */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -/* BEGIN MIG_STRNCPY_ZEROFILL CODE */ - -#if defined(__has_include) -#if __has_include() -#ifndef USING_MIG_STRNCPY_ZEROFILL -#define USING_MIG_STRNCPY_ZEROFILL -#endif -#ifndef __MIG_STRNCPY_ZEROFILL_FORWARD_TYPE_DECLS__ -#define __MIG_STRNCPY_ZEROFILL_FORWARD_TYPE_DECLS__ -#ifdef __cplusplus -extern "C" { -#endif - extern int mig_strncpy_zerofill(char *dest, const char *src, int len) __attribute__((weak_import)); -#ifdef __cplusplus -} -#endif -#endif /* __MIG_STRNCPY_ZEROFILL_FORWARD_TYPE_DECLS__ */ -#endif /* __has_include() */ -#endif /* __has_include */ - -/* END MIG_STRNCPY_ZEROFILL CODE */ - - -#ifdef AUTOTEST -#ifndef FUNCTION_PTR_T -#define FUNCTION_PTR_T -typedef void (*function_ptr_t)(mach_port_t, char *, mach_msg_type_number_t); -typedef struct { - char *name; - function_ptr_t function; -} function_table_entry; -typedef function_table_entry *function_table_t; -#endif /* FUNCTION_PTR_T */ -#endif /* AUTOTEST */ - -#ifndef thread_act_MSG_COUNT -#define thread_act_MSG_COUNT 31 -#endif /* thread_act_MSG_COUNT */ - -#include -#include -#include -#include - -#ifdef __BeforeMigUserHeader -__BeforeMigUserHeader -#endif /* __BeforeMigUserHeader */ - -#include -__BEGIN_DECLS - - -/* Routine thread_terminate */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -__WATCHOS_PROHIBITED -__TVOS_PROHIBITED -kern_return_t thread_terminate -( - thread_act_t target_act -); - -/* Routine act_get_state */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -__WATCHOS_PROHIBITED -__TVOS_PROHIBITED -kern_return_t act_get_state -( - thread_read_t target_act, - int flavor, - thread_state_t old_state, - mach_msg_type_number_t *old_stateCnt -); - -/* Routine act_set_state */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -__WATCHOS_PROHIBITED -__TVOS_PROHIBITED -kern_return_t act_set_state -( - thread_act_t target_act, - int flavor, - thread_state_t new_state, - mach_msg_type_number_t new_stateCnt -); - -/* Routine thread_get_state */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -__WATCHOS_PROHIBITED -kern_return_t thread_get_state -( - thread_read_t target_act, - thread_state_flavor_t flavor, - thread_state_t old_state, - mach_msg_type_number_t *old_stateCnt -); - -/* Routine thread_set_state */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -__WATCHOS_PROHIBITED -kern_return_t thread_set_state -( - thread_act_t target_act, - thread_state_flavor_t flavor, - thread_state_t new_state, - mach_msg_type_number_t new_stateCnt -); - -/* Routine thread_suspend */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -__WATCHOS_PROHIBITED -kern_return_t thread_suspend -( - thread_read_t target_act -); - -/* Routine thread_resume */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -__WATCHOS_PROHIBITED -kern_return_t thread_resume -( - thread_read_t target_act -); - -/* Routine thread_abort */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -__WATCHOS_PROHIBITED -kern_return_t thread_abort -( - thread_act_t target_act -); - -/* Routine thread_abort_safely */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -__WATCHOS_PROHIBITED -kern_return_t thread_abort_safely -( - thread_act_t target_act -); - -/* Routine thread_depress_abort */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -__WATCHOS_PROHIBITED -__TVOS_PROHIBITED -kern_return_t thread_depress_abort -( - thread_act_t thread -); - -/* Routine thread_get_special_port */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -__WATCHOS_PROHIBITED -__TVOS_PROHIBITED -kern_return_t thread_get_special_port -( - thread_inspect_t thr_act, - int which_port, - mach_port_t *special_port -); - -/* Routine thread_set_special_port */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -__WATCHOS_PROHIBITED -__TVOS_PROHIBITED -kern_return_t thread_set_special_port -( - thread_act_t thr_act, - int which_port, - mach_port_t special_port -); - -/* Routine thread_info */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t thread_info -( - thread_inspect_t target_act, - thread_flavor_t flavor, - thread_info_t thread_info_out, - mach_msg_type_number_t *thread_info_outCnt -); - -/* Routine thread_set_exception_ports */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -__WATCHOS_PROHIBITED -__TVOS_PROHIBITED -kern_return_t thread_set_exception_ports -( - thread_act_t thread, - exception_mask_t exception_mask, - mach_port_t new_port, - exception_behavior_t behavior, - thread_state_flavor_t new_flavor -); - -/* Routine thread_get_exception_ports */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -__WATCHOS_PROHIBITED -__TVOS_PROHIBITED -kern_return_t thread_get_exception_ports -( - thread_act_t thread, - exception_mask_t exception_mask, - exception_mask_array_t masks, - mach_msg_type_number_t *masksCnt, - exception_handler_array_t old_handlers, - exception_behavior_array_t old_behaviors, - exception_flavor_array_t old_flavors -); - -/* Routine thread_swap_exception_ports */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -__WATCHOS_PROHIBITED -__TVOS_PROHIBITED -kern_return_t thread_swap_exception_ports -( - thread_act_t thread, - exception_mask_t exception_mask, - mach_port_t new_port, - exception_behavior_t behavior, - thread_state_flavor_t new_flavor, - exception_mask_array_t masks, - mach_msg_type_number_t *masksCnt, - exception_handler_array_t old_handlers, - exception_behavior_array_t old_behaviors, - exception_flavor_array_t old_flavors -); - -/* Routine thread_policy */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t thread_policy -( - thread_act_t thr_act, - policy_t policy, - policy_base_t base, - mach_msg_type_number_t baseCnt, - boolean_t set_limit -); - -/* Routine thread_policy_set */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t thread_policy_set -( - thread_act_t thread, - thread_policy_flavor_t flavor, - thread_policy_t policy_info, - mach_msg_type_number_t policy_infoCnt -); - -/* Routine thread_policy_get */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t thread_policy_get -( - thread_inspect_t thread, - thread_policy_flavor_t flavor, - thread_policy_t policy_info, - mach_msg_type_number_t *policy_infoCnt, - boolean_t *get_default -); - -/* Routine thread_sample */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t thread_sample -( - thread_act_t thread, - mach_port_t reply -); - -/* Routine etap_trace_thread */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t etap_trace_thread -( - thread_act_t target_act, - boolean_t trace_status -); - -/* Routine thread_assign */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t thread_assign -( - thread_act_t thread, - processor_set_t new_set -); - -/* Routine thread_assign_default */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t thread_assign_default -( - thread_act_t thread -); - -/* Routine thread_get_assignment */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t thread_get_assignment -( - thread_inspect_t thread, - processor_set_name_t *assigned_set -); - -/* Routine thread_set_policy */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t thread_set_policy -( - thread_act_t thr_act, - processor_set_t pset, - policy_t policy, - policy_base_t base, - mach_msg_type_number_t baseCnt, - policy_limit_t limit, - mach_msg_type_number_t limitCnt -); - -/* Routine thread_get_mach_voucher */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -__WATCHOS_PROHIBITED -__TVOS_PROHIBITED -kern_return_t thread_get_mach_voucher -( - thread_read_t thr_act, - mach_voucher_selector_t which, - ipc_voucher_t *voucher -); - -/* Routine thread_set_mach_voucher */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -__WATCHOS_PROHIBITED -__TVOS_PROHIBITED -kern_return_t thread_set_mach_voucher -( - thread_act_t thr_act, - ipc_voucher_t voucher -); - -/* Routine thread_swap_mach_voucher */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -__WATCHOS_PROHIBITED -__TVOS_PROHIBITED -kern_return_t thread_swap_mach_voucher -( - thread_act_t thr_act, - ipc_voucher_t new_voucher, - ipc_voucher_t *old_voucher -); - -/* Routine thread_convert_thread_state */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t thread_convert_thread_state -( - thread_act_t thread, - int direction, - thread_state_flavor_t flavor, - thread_state_t in_state, - mach_msg_type_number_t in_stateCnt, - thread_state_t out_state, - mach_msg_type_number_t *out_stateCnt -); - -/* Routine thread_get_exception_ports_info */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t thread_get_exception_ports_info -( - mach_port_t port, - exception_mask_t exception_mask, - exception_mask_array_t masks, - mach_msg_type_number_t *masksCnt, - exception_handler_info_array_t old_handlers_info, - exception_behavior_array_t old_behaviors, - exception_flavor_array_t old_flavors -); - -__END_DECLS - -/********************** Caution **************************/ -/* The following data types should be used to calculate */ -/* maximum message sizes only. The actual message may be */ -/* smaller, and the position of the arguments within the */ -/* message layout may vary from what is presented here. */ -/* For example, if any of the arguments are variable- */ -/* sized, and less than the maximum is sent, the data */ -/* will be packed tight in the actual message to reduce */ -/* the presence of holes. */ -/********************** Caution **************************/ - -/* typedefs for all requests */ - -#ifndef __Request__thread_act_subsystem__defined -#define __Request__thread_act_subsystem__defined - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - } __Request__thread_terminate_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - int flavor; - mach_msg_type_number_t old_stateCnt; - } __Request__act_get_state_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - int flavor; - mach_msg_type_number_t new_stateCnt; - natural_t new_state[1296]; - } __Request__act_set_state_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - thread_state_flavor_t flavor; - mach_msg_type_number_t old_stateCnt; - } __Request__thread_get_state_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - thread_state_flavor_t flavor; - mach_msg_type_number_t new_stateCnt; - natural_t new_state[1296]; - } __Request__thread_set_state_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - } __Request__thread_suspend_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - } __Request__thread_resume_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - } __Request__thread_abort_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - } __Request__thread_abort_safely_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - } __Request__thread_depress_abort_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - int which_port; - } __Request__thread_get_special_port_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t special_port; - /* end of the kernel processed data */ - NDR_record_t NDR; - int which_port; - } __Request__thread_set_special_port_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - thread_flavor_t flavor; - mach_msg_type_number_t thread_info_outCnt; - } __Request__thread_info_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t new_port; - /* end of the kernel processed data */ - NDR_record_t NDR; - exception_mask_t exception_mask; - exception_behavior_t behavior; - thread_state_flavor_t new_flavor; - } __Request__thread_set_exception_ports_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - exception_mask_t exception_mask; - } __Request__thread_get_exception_ports_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t new_port; - /* end of the kernel processed data */ - NDR_record_t NDR; - exception_mask_t exception_mask; - exception_behavior_t behavior; - thread_state_flavor_t new_flavor; - } __Request__thread_swap_exception_ports_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - policy_t policy; - mach_msg_type_number_t baseCnt; - integer_t base[5]; - boolean_t set_limit; - } __Request__thread_policy_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - thread_policy_flavor_t flavor; - mach_msg_type_number_t policy_infoCnt; - integer_t policy_info[16]; - } __Request__thread_policy_set_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - thread_policy_flavor_t flavor; - mach_msg_type_number_t policy_infoCnt; - boolean_t get_default; - } __Request__thread_policy_get_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t reply; - /* end of the kernel processed data */ - } __Request__thread_sample_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - boolean_t trace_status; - } __Request__etap_trace_thread_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t new_set; - /* end of the kernel processed data */ - } __Request__thread_assign_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - } __Request__thread_assign_default_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - } __Request__thread_get_assignment_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t pset; - /* end of the kernel processed data */ - NDR_record_t NDR; - policy_t policy; - mach_msg_type_number_t baseCnt; - integer_t base[5]; - mach_msg_type_number_t limitCnt; - integer_t limit[1]; - } __Request__thread_set_policy_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - mach_voucher_selector_t which; - } __Request__thread_get_mach_voucher_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t voucher; - /* end of the kernel processed data */ - } __Request__thread_set_mach_voucher_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t new_voucher; - mach_msg_port_descriptor_t old_voucher; - /* end of the kernel processed data */ - } __Request__thread_swap_mach_voucher_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - int direction; - thread_state_flavor_t flavor; - mach_msg_type_number_t in_stateCnt; - natural_t in_state[1296]; - mach_msg_type_number_t out_stateCnt; - } __Request__thread_convert_thread_state_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - exception_mask_t exception_mask; - } __Request__thread_get_exception_ports_info_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif -#endif /* !__Request__thread_act_subsystem__defined */ - -/* union of all requests */ - -#ifndef __RequestUnion__thread_act_subsystem__defined -#define __RequestUnion__thread_act_subsystem__defined -union __RequestUnion__thread_act_subsystem { - __Request__thread_terminate_t Request_thread_terminate; - __Request__act_get_state_t Request_act_get_state; - __Request__act_set_state_t Request_act_set_state; - __Request__thread_get_state_t Request_thread_get_state; - __Request__thread_set_state_t Request_thread_set_state; - __Request__thread_suspend_t Request_thread_suspend; - __Request__thread_resume_t Request_thread_resume; - __Request__thread_abort_t Request_thread_abort; - __Request__thread_abort_safely_t Request_thread_abort_safely; - __Request__thread_depress_abort_t Request_thread_depress_abort; - __Request__thread_get_special_port_t Request_thread_get_special_port; - __Request__thread_set_special_port_t Request_thread_set_special_port; - __Request__thread_info_t Request_thread_info; - __Request__thread_set_exception_ports_t Request_thread_set_exception_ports; - __Request__thread_get_exception_ports_t Request_thread_get_exception_ports; - __Request__thread_swap_exception_ports_t Request_thread_swap_exception_ports; - __Request__thread_policy_t Request_thread_policy; - __Request__thread_policy_set_t Request_thread_policy_set; - __Request__thread_policy_get_t Request_thread_policy_get; - __Request__thread_sample_t Request_thread_sample; - __Request__etap_trace_thread_t Request_etap_trace_thread; - __Request__thread_assign_t Request_thread_assign; - __Request__thread_assign_default_t Request_thread_assign_default; - __Request__thread_get_assignment_t Request_thread_get_assignment; - __Request__thread_set_policy_t Request_thread_set_policy; - __Request__thread_get_mach_voucher_t Request_thread_get_mach_voucher; - __Request__thread_set_mach_voucher_t Request_thread_set_mach_voucher; - __Request__thread_swap_mach_voucher_t Request_thread_swap_mach_voucher; - __Request__thread_convert_thread_state_t Request_thread_convert_thread_state; - __Request__thread_get_exception_ports_info_t Request_thread_get_exception_ports_info; -}; -#endif /* !__RequestUnion__thread_act_subsystem__defined */ -/* typedefs for all replies */ - -#ifndef __Reply__thread_act_subsystem__defined -#define __Reply__thread_act_subsystem__defined - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__thread_terminate_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - mach_msg_type_number_t old_stateCnt; - natural_t old_state[1296]; - } __Reply__act_get_state_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__act_set_state_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - mach_msg_type_number_t old_stateCnt; - natural_t old_state[1296]; - } __Reply__thread_get_state_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__thread_set_state_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__thread_suspend_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__thread_resume_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__thread_abort_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__thread_abort_safely_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__thread_depress_abort_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t special_port; - /* end of the kernel processed data */ - } __Reply__thread_get_special_port_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__thread_set_special_port_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - mach_msg_type_number_t thread_info_outCnt; - integer_t thread_info_out[32]; - } __Reply__thread_info_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__thread_set_exception_ports_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t old_handlers[32]; - /* end of the kernel processed data */ - NDR_record_t NDR; - mach_msg_type_number_t masksCnt; - exception_mask_t masks[32]; - exception_behavior_t old_behaviors[32]; - thread_state_flavor_t old_flavors[32]; - } __Reply__thread_get_exception_ports_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t old_handlers[32]; - /* end of the kernel processed data */ - NDR_record_t NDR; - mach_msg_type_number_t masksCnt; - exception_mask_t masks[32]; - exception_behavior_t old_behaviors[32]; - thread_state_flavor_t old_flavors[32]; - } __Reply__thread_swap_exception_ports_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__thread_policy_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__thread_policy_set_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - mach_msg_type_number_t policy_infoCnt; - integer_t policy_info[16]; - boolean_t get_default; - } __Reply__thread_policy_get_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__thread_sample_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__etap_trace_thread_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__thread_assign_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__thread_assign_default_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t assigned_set; - /* end of the kernel processed data */ - } __Reply__thread_get_assignment_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__thread_set_policy_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t voucher; - /* end of the kernel processed data */ - } __Reply__thread_get_mach_voucher_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__thread_set_mach_voucher_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t old_voucher; - /* end of the kernel processed data */ - } __Reply__thread_swap_mach_voucher_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - mach_msg_type_number_t out_stateCnt; - natural_t out_state[1296]; - } __Reply__thread_convert_thread_state_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - mach_msg_type_number_t masksCnt; - exception_mask_t masks[32]; - exception_handler_info_t old_handlers_info[32]; - exception_behavior_t old_behaviors[32]; - thread_state_flavor_t old_flavors[32]; - } __Reply__thread_get_exception_ports_info_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif -#endif /* !__Reply__thread_act_subsystem__defined */ - -/* union of all replies */ - -#ifndef __ReplyUnion__thread_act_subsystem__defined -#define __ReplyUnion__thread_act_subsystem__defined -union __ReplyUnion__thread_act_subsystem { - __Reply__thread_terminate_t Reply_thread_terminate; - __Reply__act_get_state_t Reply_act_get_state; - __Reply__act_set_state_t Reply_act_set_state; - __Reply__thread_get_state_t Reply_thread_get_state; - __Reply__thread_set_state_t Reply_thread_set_state; - __Reply__thread_suspend_t Reply_thread_suspend; - __Reply__thread_resume_t Reply_thread_resume; - __Reply__thread_abort_t Reply_thread_abort; - __Reply__thread_abort_safely_t Reply_thread_abort_safely; - __Reply__thread_depress_abort_t Reply_thread_depress_abort; - __Reply__thread_get_special_port_t Reply_thread_get_special_port; - __Reply__thread_set_special_port_t Reply_thread_set_special_port; - __Reply__thread_info_t Reply_thread_info; - __Reply__thread_set_exception_ports_t Reply_thread_set_exception_ports; - __Reply__thread_get_exception_ports_t Reply_thread_get_exception_ports; - __Reply__thread_swap_exception_ports_t Reply_thread_swap_exception_ports; - __Reply__thread_policy_t Reply_thread_policy; - __Reply__thread_policy_set_t Reply_thread_policy_set; - __Reply__thread_policy_get_t Reply_thread_policy_get; - __Reply__thread_sample_t Reply_thread_sample; - __Reply__etap_trace_thread_t Reply_etap_trace_thread; - __Reply__thread_assign_t Reply_thread_assign; - __Reply__thread_assign_default_t Reply_thread_assign_default; - __Reply__thread_get_assignment_t Reply_thread_get_assignment; - __Reply__thread_set_policy_t Reply_thread_set_policy; - __Reply__thread_get_mach_voucher_t Reply_thread_get_mach_voucher; - __Reply__thread_set_mach_voucher_t Reply_thread_set_mach_voucher; - __Reply__thread_swap_mach_voucher_t Reply_thread_swap_mach_voucher; - __Reply__thread_convert_thread_state_t Reply_thread_convert_thread_state; - __Reply__thread_get_exception_ports_info_t Reply_thread_get_exception_ports_info; -}; -#endif /* !__RequestUnion__thread_act_subsystem__defined */ - -#ifndef subsystem_to_name_map_thread_act -#define subsystem_to_name_map_thread_act \ - { "thread_terminate", 3600 },\ - { "act_get_state", 3601 },\ - { "act_set_state", 3602 },\ - { "thread_get_state", 3603 },\ - { "thread_set_state", 3604 },\ - { "thread_suspend", 3605 },\ - { "thread_resume", 3606 },\ - { "thread_abort", 3607 },\ - { "thread_abort_safely", 3608 },\ - { "thread_depress_abort", 3609 },\ - { "thread_get_special_port", 3610 },\ - { "thread_set_special_port", 3611 },\ - { "thread_info", 3612 },\ - { "thread_set_exception_ports", 3613 },\ - { "thread_get_exception_ports", 3614 },\ - { "thread_swap_exception_ports", 3615 },\ - { "thread_policy", 3616 },\ - { "thread_policy_set", 3617 },\ - { "thread_policy_get", 3618 },\ - { "thread_sample", 3619 },\ - { "etap_trace_thread", 3620 },\ - { "thread_assign", 3621 },\ - { "thread_assign_default", 3622 },\ - { "thread_get_assignment", 3623 },\ - { "thread_set_policy", 3624 },\ - { "thread_get_mach_voucher", 3625 },\ - { "thread_set_mach_voucher", 3626 },\ - { "thread_swap_mach_voucher", 3627 },\ - { "thread_convert_thread_state", 3628 },\ - { "thread_get_exception_ports_info", 3630 } -#endif - -#ifdef __AfterMigUserHeader -__AfterMigUserHeader -#endif /* __AfterMigUserHeader */ - -#endif /* _thread_act_user_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.11-any/mach/thread_policy.h b/lib/libc/include/any-macos.11-any/mach/thread_policy.h deleted file mode 100644 index e15504cff4..0000000000 --- a/lib/libc/include/any-macos.11-any/mach/thread_policy.h +++ /dev/null @@ -1,266 +0,0 @@ -/* - * Copyright (c) 2000-2007 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 _MACH_THREAD_POLICY_H_ -#define _MACH_THREAD_POLICY_H_ - -#include - -/* - * These are the calls for accessing the policy parameters - * of a particular thread. - * - * The extra 'get_default' parameter to the second call is - * IN/OUT as follows: - * 1) if asserted on the way in it indicates that the default - * values should be returned, not the ones currently set, in - * this case 'get_default' will always be asserted on return; - * 2) if unasserted on the way in, the current settings are - * desired and if still unasserted on return, then the info - * returned reflects the current settings, otherwise if - * 'get_default' returns asserted, it means that there are no - * current settings due to other parameters taking precedence, - * and the default ones are being returned instead. - */ - -typedef natural_t thread_policy_flavor_t; -typedef integer_t *thread_policy_t; - -/* - * kern_return_t thread_policy_set( - * thread_t thread, - * thread_policy_flavor_t flavor, - * thread_policy_t policy_info, - * mach_msg_type_number_t count); - * - * kern_return_t thread_policy_get( - * thread_t thread, - * thread_policy_flavor_t flavor, - * thread_policy_t policy_info, - * mach_msg_type_number_t *count, - * boolean_t *get_default); - */ - -/* - * Defined flavors. - */ -/* - * THREAD_STANDARD_POLICY: - * - * This is the standard (fair) scheduling mode, assigned to new - * threads. The thread will be given processor time in a manner - * which apportions approximately equal share to long running - * computations. - * - * Parameters: - * [none] - */ - -#define THREAD_STANDARD_POLICY 1 - -struct thread_standard_policy { - natural_t no_data; -}; - -typedef struct thread_standard_policy thread_standard_policy_data_t; -typedef struct thread_standard_policy *thread_standard_policy_t; - -#define THREAD_STANDARD_POLICY_COUNT 0 - -/* - * THREAD_EXTENDED_POLICY: - * - * Extended form of THREAD_STANDARD_POLICY, which supplies a - * hint indicating whether this is a long running computation. - * - * Parameters: - * - * timeshare: TRUE (the default) results in identical scheduling - * behavior as THREAD_STANDARD_POLICY. - */ - -#define THREAD_EXTENDED_POLICY 1 - -struct thread_extended_policy { - boolean_t timeshare; -}; - -typedef struct thread_extended_policy thread_extended_policy_data_t; -typedef struct thread_extended_policy *thread_extended_policy_t; - -#define THREAD_EXTENDED_POLICY_COUNT ((mach_msg_type_number_t) \ - (sizeof (thread_extended_policy_data_t) / sizeof (integer_t))) - -/* - * THREAD_TIME_CONSTRAINT_POLICY: - * - * This scheduling mode is for threads which have real time - * constraints on their execution. - * - * Parameters: - * - * period: This is the nominal amount of time between separate - * processing arrivals, specified in absolute time units. A - * value of 0 indicates that there is no inherent periodicity in - * the computation. - * - * computation: This is the nominal amount of computation - * time needed during a separate processing arrival, specified - * in absolute time units. - * - * constraint: This is the maximum amount of real time that - * may elapse from the start of a separate processing arrival - * to the end of computation for logically correct functioning, - * specified in absolute time units. Must be (>= computation). - * Note that latency = (constraint - computation). - * - * preemptible: This indicates that the computation may be - * interrupted, subject to the constraint specified above. - */ - -#define THREAD_TIME_CONSTRAINT_POLICY 2 - -struct thread_time_constraint_policy { - uint32_t period; - uint32_t computation; - uint32_t constraint; - boolean_t preemptible; -}; - -typedef struct thread_time_constraint_policy \ - thread_time_constraint_policy_data_t; -typedef struct thread_time_constraint_policy \ - *thread_time_constraint_policy_t; - -#define THREAD_TIME_CONSTRAINT_POLICY_COUNT ((mach_msg_type_number_t) \ - (sizeof (thread_time_constraint_policy_data_t) / sizeof (integer_t))) - -/* - * THREAD_PRECEDENCE_POLICY: - * - * This may be used to indicate the relative value of the - * computation compared to the other threads in the task. - * - * Parameters: - * - * importance: The importance is specified as a signed value. - */ - -#define THREAD_PRECEDENCE_POLICY 3 - -struct thread_precedence_policy { - integer_t importance; -}; - -typedef struct thread_precedence_policy thread_precedence_policy_data_t; -typedef struct thread_precedence_policy *thread_precedence_policy_t; - -#define THREAD_PRECEDENCE_POLICY_COUNT ((mach_msg_type_number_t) \ - (sizeof (thread_precedence_policy_data_t) / sizeof (integer_t))) - -/* - * THREAD_AFFINITY_POLICY: - * - * This policy is experimental. - * This may be used to express affinity relationships - * between threads in the task. Threads with the same affinity tag will - * be scheduled to share an L2 cache if possible. That is, affinity tags - * are a hint to the scheduler for thread placement. - * - * The namespace of affinity tags is generally local to one task. However, - * a child task created after the assignment of affinity tags by its parent - * will share that namespace. In particular, a family of forked processes - * may be created with a shared affinity namespace. - * - * Parameters: - * tag: The affinity set identifier. - */ - -#define THREAD_AFFINITY_POLICY 4 - -struct thread_affinity_policy { - integer_t affinity_tag; -}; - -#define THREAD_AFFINITY_TAG_NULL 0 - -typedef struct thread_affinity_policy thread_affinity_policy_data_t; -typedef struct thread_affinity_policy *thread_affinity_policy_t; - -#define THREAD_AFFINITY_POLICY_COUNT ((mach_msg_type_number_t) \ - (sizeof (thread_affinity_policy_data_t) / sizeof (integer_t))) - -/* - * THREAD_BACKGROUND_POLICY: - */ - -#define THREAD_BACKGROUND_POLICY 5 - -struct thread_background_policy { - integer_t priority; -}; - -#define THREAD_BACKGROUND_POLICY_DARWIN_BG 0x1000 - -typedef struct thread_background_policy thread_background_policy_data_t; -typedef struct thread_background_policy *thread_background_policy_t; - -#define THREAD_BACKGROUND_POLICY_COUNT ((mach_msg_type_number_t) \ - (sizeof (thread_background_policy_data_t) / sizeof (integer_t))) - - -#define THREAD_LATENCY_QOS_POLICY 7 -typedef integer_t thread_latency_qos_t; - -struct thread_latency_qos_policy { - thread_latency_qos_t thread_latency_qos_tier; -}; - -typedef struct thread_latency_qos_policy thread_latency_qos_policy_data_t; -typedef struct thread_latency_qos_policy *thread_latency_qos_policy_t; - -#define THREAD_LATENCY_QOS_POLICY_COUNT ((mach_msg_type_number_t) \ - (sizeof (thread_latency_qos_policy_data_t) / sizeof (integer_t))) - -#define THREAD_THROUGHPUT_QOS_POLICY 8 -typedef integer_t thread_throughput_qos_t; - -struct thread_throughput_qos_policy { - thread_throughput_qos_t thread_throughput_qos_tier; -}; - -typedef struct thread_throughput_qos_policy thread_throughput_qos_policy_data_t; -typedef struct thread_throughput_qos_policy *thread_throughput_qos_policy_t; - -#define THREAD_THROUGHPUT_QOS_POLICY_COUNT ((mach_msg_type_number_t) \ - (sizeof (thread_throughput_qos_policy_data_t) / sizeof (integer_t))) - - - - -#endif /* _MACH_THREAD_POLICY_H_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.11-any/mach/thread_state.h b/lib/libc/include/any-macos.11-any/mach/thread_state.h deleted file mode 100644 index 33b38b8665..0000000000 --- a/lib/libc/include/any-macos.11-any/mach/thread_state.h +++ /dev/null @@ -1,63 +0,0 @@ -/* - * Copyright (c) 2015 Apple Computer, 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 _MACH_THREAD_STATE_H_ -#define _MACH_THREAD_STATE_H_ - -#include -#include - -#ifndef KERNEL -/* - * Gets all register values in the target thread with pointer-like contents. - * - * There is no guarantee that the returned values are valid pointers, but all - * valid pointers will be returned. The order and count of the provided - * register values is unspecified and may change; registers with values that - * are not valid pointers may be omitted, so the number of pointers returned - * may vary from call to call. - * - * sp is an out parameter that will contain the stack pointer. - * length is an in/out parameter for the length of the values array. - * values is an array of pointers. - * - * This may only be called on threads in the current task. If the current - * platform defines a stack red zone, the stack pointer returned will be - * adjusted to account for red zone. - * - * If length is insufficient, KERN_INSUFFICIENT_BUFFER_SIZE will be returned - * and length set to the amount of memory required. Callers MUST NOT assume - * that any particular size of buffer will be sufficient and should retry with - * an appropriately sized buffer upon this error. - */ -__API_AVAILABLE(macosx(10.14), ios(12.0), tvos(9.0), watchos(5.0)) -kern_return_t thread_get_register_pointer_values(thread_t thread, - uintptr_t *sp, size_t *length, uintptr_t *values); -#endif - -#endif /* _MACH_THREAD_STATE_H_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.11-any/mach/vm_map.h b/lib/libc/include/any-macos.11-any/mach/vm_map.h deleted file mode 100644 index 7906d76f63..0000000000 --- a/lib/libc/include/any-macos.11-any/mach/vm_map.h +++ /dev/null @@ -1,1503 +0,0 @@ -#ifndef _vm_map_user_ -#define _vm_map_user_ - -/* Module vm_map */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -/* BEGIN MIG_STRNCPY_ZEROFILL CODE */ - -#if defined(__has_include) -#if __has_include() -#ifndef USING_MIG_STRNCPY_ZEROFILL -#define USING_MIG_STRNCPY_ZEROFILL -#endif -#ifndef __MIG_STRNCPY_ZEROFILL_FORWARD_TYPE_DECLS__ -#define __MIG_STRNCPY_ZEROFILL_FORWARD_TYPE_DECLS__ -#ifdef __cplusplus -extern "C" { -#endif - extern int mig_strncpy_zerofill(char *dest, const char *src, int len) __attribute__((weak_import)); -#ifdef __cplusplus -} -#endif -#endif /* __MIG_STRNCPY_ZEROFILL_FORWARD_TYPE_DECLS__ */ -#endif /* __has_include() */ -#endif /* __has_include */ - -/* END MIG_STRNCPY_ZEROFILL CODE */ - - -#ifdef AUTOTEST -#ifndef FUNCTION_PTR_T -#define FUNCTION_PTR_T -typedef void (*function_ptr_t)(mach_port_t, char *, mach_msg_type_number_t); -typedef struct { - char *name; - function_ptr_t function; -} function_table_entry; -typedef function_table_entry *function_table_t; -#endif /* FUNCTION_PTR_T */ -#endif /* AUTOTEST */ - -#ifndef vm_map_MSG_COUNT -#define vm_map_MSG_COUNT 33 -#endif /* vm_map_MSG_COUNT */ - -#include -#include -#include -#include -#include - -#ifdef __BeforeMigUserHeader -__BeforeMigUserHeader -#endif /* __BeforeMigUserHeader */ - -#include -__BEGIN_DECLS - - -/* Routine vm_region */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t vm_region -( - vm_map_t target_task, - vm_address_t *address, - vm_size_t *size, - vm_region_flavor_t flavor, - vm_region_info_t info, - mach_msg_type_number_t *infoCnt, - mach_port_t *object_name -); - -/* Routine vm_allocate */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t vm_allocate -( - vm_map_t target_task, - vm_address_t *address, - vm_size_t size, - int flags -); - -/* Routine vm_deallocate */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t vm_deallocate -( - vm_map_t target_task, - vm_address_t address, - vm_size_t size -); - -/* Routine vm_protect */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t vm_protect -( - vm_map_t target_task, - vm_address_t address, - vm_size_t size, - boolean_t set_maximum, - vm_prot_t new_protection -); - -/* Routine vm_inherit */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t vm_inherit -( - vm_map_t target_task, - vm_address_t address, - vm_size_t size, - vm_inherit_t new_inheritance -); - -/* Routine vm_read */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t vm_read -( - vm_map_t target_task, - vm_address_t address, - vm_size_t size, - vm_offset_t *data, - mach_msg_type_number_t *dataCnt -); - -/* Routine vm_read_list */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t vm_read_list -( - vm_map_t target_task, - vm_read_entry_t data_list, - natural_t count -); - -/* Routine vm_write */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t vm_write -( - vm_map_t target_task, - vm_address_t address, - vm_offset_t data, - mach_msg_type_number_t dataCnt -); - -/* Routine vm_copy */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t vm_copy -( - vm_map_t target_task, - vm_address_t source_address, - vm_size_t size, - vm_address_t dest_address -); - -/* Routine vm_read_overwrite */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t vm_read_overwrite -( - vm_map_t target_task, - vm_address_t address, - vm_size_t size, - vm_address_t data, - vm_size_t *outsize -); - -/* Routine vm_msync */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t vm_msync -( - vm_map_t target_task, - vm_address_t address, - vm_size_t size, - vm_sync_t sync_flags -); - -/* Routine vm_behavior_set */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t vm_behavior_set -( - vm_map_t target_task, - vm_address_t address, - vm_size_t size, - vm_behavior_t new_behavior -); - -/* Routine vm_map */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t vm_map -( - vm_map_t target_task, - vm_address_t *address, - vm_size_t size, - vm_address_t mask, - int flags, - mem_entry_name_port_t object, - vm_offset_t offset, - boolean_t copy, - vm_prot_t cur_protection, - vm_prot_t max_protection, - vm_inherit_t inheritance -); - -/* Routine vm_machine_attribute */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t vm_machine_attribute -( - vm_map_t target_task, - vm_address_t address, - vm_size_t size, - vm_machine_attribute_t attribute, - vm_machine_attribute_val_t *value -); - -/* Routine vm_remap */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t vm_remap -( - vm_map_t target_task, - vm_address_t *target_address, - vm_size_t size, - vm_address_t mask, - int flags, - vm_map_t src_task, - vm_address_t src_address, - boolean_t copy, - vm_prot_t *cur_protection, - vm_prot_t *max_protection, - vm_inherit_t inheritance -); - -/* Routine task_wire */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -__WATCHOS_PROHIBITED -__TVOS_PROHIBITED -kern_return_t task_wire -( - vm_map_t target_task, - boolean_t must_wire -); - -/* Routine mach_make_memory_entry */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t mach_make_memory_entry -( - vm_map_t target_task, - vm_size_t *size, - vm_offset_t offset, - vm_prot_t permission, - mem_entry_name_port_t *object_handle, - mem_entry_name_port_t parent_entry -); - -/* Routine vm_map_page_query */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t vm_map_page_query -( - vm_map_t target_map, - vm_offset_t offset, - integer_t *disposition, - integer_t *ref_count -); - -/* Routine mach_vm_region_info */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t mach_vm_region_info -( - vm_map_t task, - vm_address_t address, - vm_info_region_t *region, - vm_info_object_array_t *objects, - mach_msg_type_number_t *objectsCnt -); - -/* Routine vm_mapped_pages_info */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t vm_mapped_pages_info -( - vm_map_t task, - page_address_array_t *pages, - mach_msg_type_number_t *pagesCnt -); - -/* Routine vm_region_recurse */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t vm_region_recurse -( - vm_map_t target_task, - vm_address_t *address, - vm_size_t *size, - natural_t *nesting_depth, - vm_region_recurse_info_t info, - mach_msg_type_number_t *infoCnt -); - -/* Routine vm_region_recurse_64 */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t vm_region_recurse_64 -( - vm_map_t target_task, - vm_address_t *address, - vm_size_t *size, - natural_t *nesting_depth, - vm_region_recurse_info_t info, - mach_msg_type_number_t *infoCnt -); - -/* Routine mach_vm_region_info_64 */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t mach_vm_region_info_64 -( - vm_map_t task, - vm_address_t address, - vm_info_region_64_t *region, - vm_info_object_array_t *objects, - mach_msg_type_number_t *objectsCnt -); - -/* Routine vm_region_64 */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t vm_region_64 -( - vm_map_t target_task, - vm_address_t *address, - vm_size_t *size, - vm_region_flavor_t flavor, - vm_region_info_t info, - mach_msg_type_number_t *infoCnt, - mach_port_t *object_name -); - -/* Routine mach_make_memory_entry_64 */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t mach_make_memory_entry_64 -( - vm_map_t target_task, - memory_object_size_t *size, - memory_object_offset_t offset, - vm_prot_t permission, - mach_port_t *object_handle, - mem_entry_name_port_t parent_entry -); - -/* Routine vm_map_64 */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t vm_map_64 -( - vm_map_t target_task, - vm_address_t *address, - vm_size_t size, - vm_address_t mask, - int flags, - mem_entry_name_port_t object, - memory_object_offset_t offset, - boolean_t copy, - vm_prot_t cur_protection, - vm_prot_t max_protection, - vm_inherit_t inheritance -); - -/* Routine vm_purgable_control */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t vm_purgable_control -( - vm_map_t target_task, - vm_address_t address, - vm_purgable_t control, - int *state -); - -/* Routine vm_map_exec_lockdown */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t vm_map_exec_lockdown -( - vm_map_t target_task -); - -/* Routine vm_remap_new */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t vm_remap_new -( - vm_map_t target_task, - vm_address_t *target_address, - vm_size_t size, - vm_address_t mask, - int flags, - vm_map_read_t src_task, - vm_address_t src_address, - boolean_t copy, - vm_prot_t *cur_protection, - vm_prot_t *max_protection, - vm_inherit_t inheritance -); - -__END_DECLS - -/********************** Caution **************************/ -/* The following data types should be used to calculate */ -/* maximum message sizes only. The actual message may be */ -/* smaller, and the position of the arguments within the */ -/* message layout may vary from what is presented here. */ -/* For example, if any of the arguments are variable- */ -/* sized, and less than the maximum is sent, the data */ -/* will be packed tight in the actual message to reduce */ -/* the presence of holes. */ -/********************** Caution **************************/ - -/* typedefs for all requests */ - -#ifndef __Request__vm_map_subsystem__defined -#define __Request__vm_map_subsystem__defined - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - vm_address_t address; - vm_region_flavor_t flavor; - mach_msg_type_number_t infoCnt; - } __Request__vm_region_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - vm_address_t address; - vm_size_t size; - int flags; - } __Request__vm_allocate_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - vm_address_t address; - vm_size_t size; - } __Request__vm_deallocate_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - vm_address_t address; - vm_size_t size; - boolean_t set_maximum; - vm_prot_t new_protection; - } __Request__vm_protect_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - vm_address_t address; - vm_size_t size; - vm_inherit_t new_inheritance; - } __Request__vm_inherit_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - vm_address_t address; - vm_size_t size; - } __Request__vm_read_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - vm_read_entry_t data_list; - natural_t count; - } __Request__vm_read_list_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_ool_descriptor_t data; - /* end of the kernel processed data */ - NDR_record_t NDR; - vm_address_t address; - mach_msg_type_number_t dataCnt; - } __Request__vm_write_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - vm_address_t source_address; - vm_size_t size; - vm_address_t dest_address; - } __Request__vm_copy_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - vm_address_t address; - vm_size_t size; - vm_address_t data; - } __Request__vm_read_overwrite_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - vm_address_t address; - vm_size_t size; - vm_sync_t sync_flags; - } __Request__vm_msync_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - vm_address_t address; - vm_size_t size; - vm_behavior_t new_behavior; - } __Request__vm_behavior_set_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t object; - /* end of the kernel processed data */ - NDR_record_t NDR; - vm_address_t address; - vm_size_t size; - vm_address_t mask; - int flags; - vm_offset_t offset; - boolean_t copy; - vm_prot_t cur_protection; - vm_prot_t max_protection; - vm_inherit_t inheritance; - } __Request__vm_map_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - vm_address_t address; - vm_size_t size; - vm_machine_attribute_t attribute; - vm_machine_attribute_val_t value; - } __Request__vm_machine_attribute_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t src_task; - /* end of the kernel processed data */ - NDR_record_t NDR; - vm_address_t target_address; - vm_size_t size; - vm_address_t mask; - int flags; - vm_address_t src_address; - boolean_t copy; - vm_inherit_t inheritance; - } __Request__vm_remap_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - boolean_t must_wire; - } __Request__task_wire_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t parent_entry; - /* end of the kernel processed data */ - NDR_record_t NDR; - vm_size_t size; - vm_offset_t offset; - vm_prot_t permission; - } __Request__mach_make_memory_entry_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - vm_offset_t offset; - } __Request__vm_map_page_query_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - vm_address_t address; - } __Request__mach_vm_region_info_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - } __Request__vm_mapped_pages_info_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - vm_address_t address; - natural_t nesting_depth; - mach_msg_type_number_t infoCnt; - } __Request__vm_region_recurse_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - vm_address_t address; - natural_t nesting_depth; - mach_msg_type_number_t infoCnt; - } __Request__vm_region_recurse_64_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - vm_address_t address; - } __Request__mach_vm_region_info_64_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - vm_address_t address; - vm_region_flavor_t flavor; - mach_msg_type_number_t infoCnt; - } __Request__vm_region_64_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t parent_entry; - /* end of the kernel processed data */ - NDR_record_t NDR; - memory_object_size_t size; - memory_object_offset_t offset; - vm_prot_t permission; - } __Request__mach_make_memory_entry_64_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t object; - /* end of the kernel processed data */ - NDR_record_t NDR; - vm_address_t address; - vm_size_t size; - vm_address_t mask; - int flags; - memory_object_offset_t offset; - boolean_t copy; - vm_prot_t cur_protection; - vm_prot_t max_protection; - vm_inherit_t inheritance; - } __Request__vm_map_64_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - vm_address_t address; - vm_purgable_t control; - int state; - } __Request__vm_purgable_control_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - } __Request__vm_map_exec_lockdown_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t src_task; - /* end of the kernel processed data */ - NDR_record_t NDR; - vm_address_t target_address; - vm_size_t size; - vm_address_t mask; - int flags; - vm_address_t src_address; - boolean_t copy; - vm_prot_t cur_protection; - vm_prot_t max_protection; - vm_inherit_t inheritance; - } __Request__vm_remap_new_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif -#endif /* !__Request__vm_map_subsystem__defined */ - -/* union of all requests */ - -#ifndef __RequestUnion__vm_map_subsystem__defined -#define __RequestUnion__vm_map_subsystem__defined -union __RequestUnion__vm_map_subsystem { - __Request__vm_region_t Request_vm_region; - __Request__vm_allocate_t Request_vm_allocate; - __Request__vm_deallocate_t Request_vm_deallocate; - __Request__vm_protect_t Request_vm_protect; - __Request__vm_inherit_t Request_vm_inherit; - __Request__vm_read_t Request_vm_read; - __Request__vm_read_list_t Request_vm_read_list; - __Request__vm_write_t Request_vm_write; - __Request__vm_copy_t Request_vm_copy; - __Request__vm_read_overwrite_t Request_vm_read_overwrite; - __Request__vm_msync_t Request_vm_msync; - __Request__vm_behavior_set_t Request_vm_behavior_set; - __Request__vm_map_t Request_vm_map; - __Request__vm_machine_attribute_t Request_vm_machine_attribute; - __Request__vm_remap_t Request_vm_remap; - __Request__task_wire_t Request_task_wire; - __Request__mach_make_memory_entry_t Request_mach_make_memory_entry; - __Request__vm_map_page_query_t Request_vm_map_page_query; - __Request__mach_vm_region_info_t Request_mach_vm_region_info; - __Request__vm_mapped_pages_info_t Request_vm_mapped_pages_info; - __Request__vm_region_recurse_t Request_vm_region_recurse; - __Request__vm_region_recurse_64_t Request_vm_region_recurse_64; - __Request__mach_vm_region_info_64_t Request_mach_vm_region_info_64; - __Request__vm_region_64_t Request_vm_region_64; - __Request__mach_make_memory_entry_64_t Request_mach_make_memory_entry_64; - __Request__vm_map_64_t Request_vm_map_64; - __Request__vm_purgable_control_t Request_vm_purgable_control; - __Request__vm_map_exec_lockdown_t Request_vm_map_exec_lockdown; - __Request__vm_remap_new_t Request_vm_remap_new; -}; -#endif /* !__RequestUnion__vm_map_subsystem__defined */ -/* typedefs for all replies */ - -#ifndef __Reply__vm_map_subsystem__defined -#define __Reply__vm_map_subsystem__defined - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t object_name; - /* end of the kernel processed data */ - NDR_record_t NDR; - vm_address_t address; - vm_size_t size; - mach_msg_type_number_t infoCnt; - int info[10]; - } __Reply__vm_region_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - vm_address_t address; - } __Reply__vm_allocate_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__vm_deallocate_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__vm_protect_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__vm_inherit_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_ool_descriptor_t data; - /* end of the kernel processed data */ - NDR_record_t NDR; - mach_msg_type_number_t dataCnt; - } __Reply__vm_read_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - vm_read_entry_t data_list; - } __Reply__vm_read_list_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__vm_write_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__vm_copy_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - vm_size_t outsize; - } __Reply__vm_read_overwrite_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__vm_msync_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__vm_behavior_set_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - vm_address_t address; - } __Reply__vm_map_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - vm_machine_attribute_val_t value; - } __Reply__vm_machine_attribute_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - vm_address_t target_address; - vm_prot_t cur_protection; - vm_prot_t max_protection; - } __Reply__vm_remap_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__task_wire_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t object_handle; - /* end of the kernel processed data */ - NDR_record_t NDR; - vm_size_t size; - } __Reply__mach_make_memory_entry_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - integer_t disposition; - integer_t ref_count; - } __Reply__vm_map_page_query_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_ool_descriptor_t objects; - /* end of the kernel processed data */ - NDR_record_t NDR; - vm_info_region_t region; - mach_msg_type_number_t objectsCnt; - } __Reply__mach_vm_region_info_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_ool_descriptor_t pages; - /* end of the kernel processed data */ - NDR_record_t NDR; - mach_msg_type_number_t pagesCnt; - } __Reply__vm_mapped_pages_info_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - vm_address_t address; - vm_size_t size; - natural_t nesting_depth; - mach_msg_type_number_t infoCnt; - int info[19]; - } __Reply__vm_region_recurse_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - vm_address_t address; - vm_size_t size; - natural_t nesting_depth; - mach_msg_type_number_t infoCnt; - int info[19]; - } __Reply__vm_region_recurse_64_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_ool_descriptor_t objects; - /* end of the kernel processed data */ - NDR_record_t NDR; - vm_info_region_64_t region; - mach_msg_type_number_t objectsCnt; - } __Reply__mach_vm_region_info_64_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t object_name; - /* end of the kernel processed data */ - NDR_record_t NDR; - vm_address_t address; - vm_size_t size; - mach_msg_type_number_t infoCnt; - int info[10]; - } __Reply__vm_region_64_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t object_handle; - /* end of the kernel processed data */ - NDR_record_t NDR; - memory_object_size_t size; - } __Reply__mach_make_memory_entry_64_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - vm_address_t address; - } __Reply__vm_map_64_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - int state; - } __Reply__vm_purgable_control_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__vm_map_exec_lockdown_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - vm_address_t target_address; - vm_prot_t cur_protection; - vm_prot_t max_protection; - } __Reply__vm_remap_new_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif -#endif /* !__Reply__vm_map_subsystem__defined */ - -/* union of all replies */ - -#ifndef __ReplyUnion__vm_map_subsystem__defined -#define __ReplyUnion__vm_map_subsystem__defined -union __ReplyUnion__vm_map_subsystem { - __Reply__vm_region_t Reply_vm_region; - __Reply__vm_allocate_t Reply_vm_allocate; - __Reply__vm_deallocate_t Reply_vm_deallocate; - __Reply__vm_protect_t Reply_vm_protect; - __Reply__vm_inherit_t Reply_vm_inherit; - __Reply__vm_read_t Reply_vm_read; - __Reply__vm_read_list_t Reply_vm_read_list; - __Reply__vm_write_t Reply_vm_write; - __Reply__vm_copy_t Reply_vm_copy; - __Reply__vm_read_overwrite_t Reply_vm_read_overwrite; - __Reply__vm_msync_t Reply_vm_msync; - __Reply__vm_behavior_set_t Reply_vm_behavior_set; - __Reply__vm_map_t Reply_vm_map; - __Reply__vm_machine_attribute_t Reply_vm_machine_attribute; - __Reply__vm_remap_t Reply_vm_remap; - __Reply__task_wire_t Reply_task_wire; - __Reply__mach_make_memory_entry_t Reply_mach_make_memory_entry; - __Reply__vm_map_page_query_t Reply_vm_map_page_query; - __Reply__mach_vm_region_info_t Reply_mach_vm_region_info; - __Reply__vm_mapped_pages_info_t Reply_vm_mapped_pages_info; - __Reply__vm_region_recurse_t Reply_vm_region_recurse; - __Reply__vm_region_recurse_64_t Reply_vm_region_recurse_64; - __Reply__mach_vm_region_info_64_t Reply_mach_vm_region_info_64; - __Reply__vm_region_64_t Reply_vm_region_64; - __Reply__mach_make_memory_entry_64_t Reply_mach_make_memory_entry_64; - __Reply__vm_map_64_t Reply_vm_map_64; - __Reply__vm_purgable_control_t Reply_vm_purgable_control; - __Reply__vm_map_exec_lockdown_t Reply_vm_map_exec_lockdown; - __Reply__vm_remap_new_t Reply_vm_remap_new; -}; -#endif /* !__RequestUnion__vm_map_subsystem__defined */ - -#ifndef subsystem_to_name_map_vm_map -#define subsystem_to_name_map_vm_map \ - { "vm_region", 3800 },\ - { "vm_allocate", 3801 },\ - { "vm_deallocate", 3802 },\ - { "vm_protect", 3803 },\ - { "vm_inherit", 3804 },\ - { "vm_read", 3805 },\ - { "vm_read_list", 3806 },\ - { "vm_write", 3807 },\ - { "vm_copy", 3808 },\ - { "vm_read_overwrite", 3809 },\ - { "vm_msync", 3810 },\ - { "vm_behavior_set", 3811 },\ - { "vm_map", 3812 },\ - { "vm_machine_attribute", 3813 },\ - { "vm_remap", 3814 },\ - { "task_wire", 3815 },\ - { "mach_make_memory_entry", 3816 },\ - { "vm_map_page_query", 3817 },\ - { "mach_vm_region_info", 3818 },\ - { "vm_mapped_pages_info", 3819 },\ - { "vm_region_recurse", 3821 },\ - { "vm_region_recurse_64", 3822 },\ - { "mach_vm_region_info_64", 3823 },\ - { "vm_region_64", 3824 },\ - { "mach_make_memory_entry_64", 3825 },\ - { "vm_map_64", 3826 },\ - { "vm_purgable_control", 3830 },\ - { "vm_map_exec_lockdown", 3831 },\ - { "vm_remap_new", 3832 } -#endif - -#ifdef __AfterMigUserHeader -__AfterMigUserHeader -#endif /* __AfterMigUserHeader */ - -#endif /* _vm_map_user_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.11-any/mach/vm_prot.h b/lib/libc/include/any-macos.11-any/mach/vm_prot.h deleted file mode 100644 index 08916dfa2a..0000000000 --- a/lib/libc/include/any-macos.11-any/mach/vm_prot.h +++ /dev/null @@ -1,153 +0,0 @@ -/* - * Copyright (c) 2000-2002 Apple Computer, 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@ - */ -/* - * @OSF_COPYRIGHT@ - */ -/* - * Mach Operating System - * Copyright (c) 1991,1990,1989,1988,1987 Carnegie Mellon University - * All Rights Reserved. - * - * Permission to use, copy, modify and distribute this software and its - * documentation is hereby granted, provided that both the copyright - * notice and this permission notice appear in all copies of the - * software, derivative works or modified versions, and any portions - * thereof, and that both notices appear in supporting documentation. - * - * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" - * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR - * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. - * - * Carnegie Mellon requests users of this software to return to - * - * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU - * School of Computer Science - * Carnegie Mellon University - * Pittsburgh PA 15213-3890 - * - * any improvements or extensions that they make and grant Carnegie Mellon - * the rights to redistribute these changes. - */ -/* - */ -/* - * File: mach/vm_prot.h - * Author: Avadis Tevanian, Jr., Michael Wayne Young - * - * Virtual memory protection definitions. - * - */ - -#ifndef _MACH_VM_PROT_H_ -#define _MACH_VM_PROT_H_ - -/* - * Types defined: - * - * vm_prot_t VM protection values. - */ - -typedef int vm_prot_t; - -/* - * Protection values, defined as bits within the vm_prot_t type - */ - -#define VM_PROT_NONE ((vm_prot_t) 0x00) - -#define VM_PROT_READ ((vm_prot_t) 0x01) /* read permission */ -#define VM_PROT_WRITE ((vm_prot_t) 0x02) /* write permission */ -#define VM_PROT_EXECUTE ((vm_prot_t) 0x04) /* execute permission */ - -/* - * The default protection for newly-created virtual memory - */ - -#define VM_PROT_DEFAULT (VM_PROT_READ|VM_PROT_WRITE) - -/* - * The maximum privileges possible, for parameter checking. - */ - -#define VM_PROT_ALL (VM_PROT_READ|VM_PROT_WRITE|VM_PROT_EXECUTE) - -/* - * An invalid protection value. - * Used only by memory_object_lock_request to indicate no change - * to page locks. Using -1 here is a bad idea because it - * looks like VM_PROT_ALL and then some. - */ - -#define VM_PROT_NO_CHANGE ((vm_prot_t) 0x08) - -/* - * When a caller finds that he cannot obtain write permission on a - * mapped entry, the following flag can be used. The entry will - * be made "needs copy" effectively copying the object (using COW), - * and write permission will be added to the maximum protections - * for the associated entry. - */ - -#define VM_PROT_COPY ((vm_prot_t) 0x10) - - -/* - * Another invalid protection value. - * Used only by memory_object_data_request upon an object - * which has specified a copy_call copy strategy. It is used - * when the kernel wants a page belonging to a copy of the - * object, and is only asking the object as a result of - * following a shadow chain. This solves the race between pages - * being pushed up by the memory manager and the kernel - * walking down the shadow chain. - */ - -#define VM_PROT_WANTS_COPY ((vm_prot_t) 0x10) - - -/* - * Another invalid protection value. - * Indicates that the other protection bits are to be applied as a mask - * against the actual protection bits of the map entry. - */ -#define VM_PROT_IS_MASK ((vm_prot_t) 0x40) - -/* - * Another invalid protection value to support execute-only protection. - * VM_PROT_STRIP_READ is a special marker that tells mprotect to not - * set VM_PROT_READ. We have to do it this way because existing code - * expects the system to set VM_PROT_READ if VM_PROT_EXECUTE is set. - * VM_PROT_EXECUTE_ONLY is just a convenience value to indicate that - * the memory should be executable and explicitly not readable. It will - * be ignored on platforms that do not support this type of protection. - */ -#define VM_PROT_STRIP_READ ((vm_prot_t) 0x80) -#define VM_PROT_EXECUTE_ONLY (VM_PROT_EXECUTE|VM_PROT_STRIP_READ) - - -#endif /* _MACH_VM_PROT_H_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.11-any/mach/vm_statistics.h b/lib/libc/include/any-macos.11-any/mach/vm_statistics.h deleted file mode 100644 index 8311e45005..0000000000 --- a/lib/libc/include/any-macos.11-any/mach/vm_statistics.h +++ /dev/null @@ -1,552 +0,0 @@ -/* - * Copyright (c) 2000-2020 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@ - */ -/* - * @OSF_COPYRIGHT@ - */ -/* - * Mach Operating System - * Copyright (c) 1991,1990,1989,1988,1987 Carnegie Mellon University - * All Rights Reserved. - * - * Permission to use, copy, modify and distribute this software and its - * documentation is hereby granted, provided that both the copyright - * notice and this permission notice appear in all copies of the - * software, derivative works or modified versions, and any portions - * thereof, and that both notices appear in supporting documentation. - * - * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" - * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR - * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. - * - * Carnegie Mellon requests users of this software to return to - * - * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU - * School of Computer Science - * Carnegie Mellon University - * Pittsburgh PA 15213-3890 - * - * any improvements or extensions that they make and grant Carnegie Mellon - * the rights to redistribute these changes. - */ -/* - */ -/* - * File: mach/vm_statistics.h - * Author: Avadis Tevanian, Jr., Michael Wayne Young, David Golub - * - * Virtual memory statistics structure. - * - */ - -#ifndef _MACH_VM_STATISTICS_H_ -#define _MACH_VM_STATISTICS_H_ - -#ifdef __cplusplus -extern "C" { -#endif - -#include -#include - -/* - * vm_statistics - * - * History: - * rev0 - original structure. - * rev1 - added purgable info (purgable_count and purges). - * rev2 - added speculative_count. - * - * Note: you cannot add any new fields to this structure. Add them below in - * vm_statistics64. - */ - -struct vm_statistics { - natural_t free_count; /* # of pages free */ - natural_t active_count; /* # of pages active */ - natural_t inactive_count; /* # of pages inactive */ - natural_t wire_count; /* # of pages wired down */ - natural_t zero_fill_count; /* # of zero fill pages */ - natural_t reactivations; /* # of pages reactivated */ - natural_t pageins; /* # of pageins */ - natural_t pageouts; /* # of pageouts */ - natural_t faults; /* # of faults */ - natural_t cow_faults; /* # of copy-on-writes */ - natural_t lookups; /* object cache lookups */ - natural_t hits; /* object cache hits */ - - /* added for rev1 */ - natural_t purgeable_count; /* # of pages purgeable */ - natural_t purges; /* # of pages purged */ - - /* added for rev2 */ - /* - * NB: speculative pages are already accounted for in "free_count", - * so "speculative_count" is the number of "free" pages that are - * used to hold data that was read speculatively from disk but - * haven't actually been used by anyone so far. - */ - natural_t speculative_count; /* # of pages speculative */ -}; - -/* Used by all architectures */ -typedef struct vm_statistics *vm_statistics_t; -typedef struct vm_statistics vm_statistics_data_t; - -/* - * vm_statistics64 - * - * History: - * rev0 - original structure. - * rev1 - added purgable info (purgable_count and purges). - * rev2 - added speculative_count. - * ---- - * rev3 - changed name to vm_statistics64. - * changed some fields in structure to 64-bit on - * arm, i386 and x86_64 architectures. - * rev4 - require 64-bit alignment for efficient access - * in the kernel. No change to reported data. - * - */ - -struct vm_statistics64 { - natural_t free_count; /* # of pages free */ - natural_t active_count; /* # of pages active */ - natural_t inactive_count; /* # of pages inactive */ - natural_t wire_count; /* # of pages wired down */ - uint64_t zero_fill_count; /* # of zero fill pages */ - uint64_t reactivations; /* # of pages reactivated */ - uint64_t pageins; /* # of pageins */ - uint64_t pageouts; /* # of pageouts */ - uint64_t faults; /* # of faults */ - uint64_t cow_faults; /* # of copy-on-writes */ - uint64_t lookups; /* object cache lookups */ - uint64_t hits; /* object cache hits */ - uint64_t purges; /* # of pages purged */ - natural_t purgeable_count; /* # of pages purgeable */ - /* - * NB: speculative pages are already accounted for in "free_count", - * so "speculative_count" is the number of "free" pages that are - * used to hold data that was read speculatively from disk but - * haven't actually been used by anyone so far. - */ - natural_t speculative_count; /* # of pages speculative */ - - /* added for rev1 */ - uint64_t decompressions; /* # of pages decompressed */ - uint64_t compressions; /* # of pages compressed */ - uint64_t swapins; /* # of pages swapped in (via compression segments) */ - uint64_t swapouts; /* # of pages swapped out (via compression segments) */ - natural_t compressor_page_count; /* # of pages used by the compressed pager to hold all the compressed data */ - natural_t throttled_count; /* # of pages throttled */ - natural_t external_page_count; /* # of pages that are file-backed (non-swap) */ - natural_t internal_page_count; /* # of pages that are anonymous */ - uint64_t total_uncompressed_pages_in_compressor; /* # of pages (uncompressed) held within the compressor. */ -} __attribute__((aligned(8))); - -typedef struct vm_statistics64 *vm_statistics64_t; -typedef struct vm_statistics64 vm_statistics64_data_t; - -kern_return_t vm_stats(void *info, unsigned int *count); - -/* - * VM_STATISTICS_TRUNCATE_TO_32_BIT - * - * This is used by host_statistics() to truncate and peg the 64-bit in-kernel values from - * vm_statistics64 to the 32-bit values of the older structure above (vm_statistics). - */ -#define VM_STATISTICS_TRUNCATE_TO_32_BIT(value) ((uint32_t)(((value) > UINT32_MAX ) ? UINT32_MAX : (value))) - -/* - * vm_extmod_statistics - * - * Structure to record modifications to a task by an - * external agent. - * - * History: - * rev0 - original structure. - */ - -struct vm_extmod_statistics { - int64_t task_for_pid_count; /* # of times task port was looked up */ - int64_t task_for_pid_caller_count; /* # of times this task called task_for_pid */ - int64_t thread_creation_count; /* # of threads created in task */ - int64_t thread_creation_caller_count; /* # of threads created by task */ - int64_t thread_set_state_count; /* # of register state sets in task */ - int64_t thread_set_state_caller_count; /* # of register state sets by task */ -} __attribute__((aligned(8))); - -typedef struct vm_extmod_statistics *vm_extmod_statistics_t; -typedef struct vm_extmod_statistics vm_extmod_statistics_data_t; - -typedef struct vm_purgeable_stat { - uint64_t count; - uint64_t size; -}vm_purgeable_stat_t; - -struct vm_purgeable_info { - vm_purgeable_stat_t fifo_data[8]; - vm_purgeable_stat_t obsolete_data; - vm_purgeable_stat_t lifo_data[8]; -}; - -typedef struct vm_purgeable_info *vm_purgeable_info_t; - -/* included for the vm_map_page_query call */ - -#define VM_PAGE_QUERY_PAGE_PRESENT 0x1 -#define VM_PAGE_QUERY_PAGE_FICTITIOUS 0x2 -#define VM_PAGE_QUERY_PAGE_REF 0x4 -#define VM_PAGE_QUERY_PAGE_DIRTY 0x8 -#define VM_PAGE_QUERY_PAGE_PAGED_OUT 0x10 -#define VM_PAGE_QUERY_PAGE_COPIED 0x20 -#define VM_PAGE_QUERY_PAGE_SPECULATIVE 0x40 -#define VM_PAGE_QUERY_PAGE_EXTERNAL 0x80 -#define VM_PAGE_QUERY_PAGE_CS_VALIDATED 0x100 -#define VM_PAGE_QUERY_PAGE_CS_TAINTED 0x200 -#define VM_PAGE_QUERY_PAGE_CS_NX 0x400 -#define VM_PAGE_QUERY_PAGE_REUSABLE 0x800 - - -/* - * VM allocation flags: - * - * VM_FLAGS_FIXED - * (really the absence of VM_FLAGS_ANYWHERE) - * Allocate new VM region at the specified virtual address, if possible. - * - * VM_FLAGS_ANYWHERE - * Allocate new VM region anywhere it would fit in the address space. - * - * VM_FLAGS_PURGABLE - * Create a purgable VM object for that new VM region. - * - * VM_FLAGS_4GB_CHUNK - * The new VM region will be chunked up into 4GB sized pieces. - * - * VM_FLAGS_NO_PMAP_CHECK - * (for DEBUG kernel config only, ignored for other configs) - * Do not check that there is no stale pmap mapping for the new VM region. - * This is useful for kernel memory allocations at bootstrap when building - * the initial kernel address space while some memory is already in use. - * - * VM_FLAGS_OVERWRITE - * The new VM region can replace existing VM regions if necessary - * (to be used in combination with VM_FLAGS_FIXED). - * - * VM_FLAGS_NO_CACHE - * Pages brought in to this VM region are placed on the speculative - * queue instead of the active queue. In other words, they are not - * cached so that they will be stolen first if memory runs low. - */ - -#define VM_FLAGS_FIXED 0x0000 -#define VM_FLAGS_ANYWHERE 0x0001 -#define VM_FLAGS_PURGABLE 0x0002 -#define VM_FLAGS_4GB_CHUNK 0x0004 -#define VM_FLAGS_RANDOM_ADDR 0x0008 -#define VM_FLAGS_NO_CACHE 0x0010 -#define VM_FLAGS_RESILIENT_CODESIGN 0x0020 -#define VM_FLAGS_RESILIENT_MEDIA 0x0040 -#define VM_FLAGS_PERMANENT 0x0080 -#define VM_FLAGS_OVERWRITE 0x4000 /* delete any existing mappings first */ -/* - * VM_FLAGS_SUPERPAGE_MASK - * 3 bits that specify whether large pages should be used instead of - * base pages (!=0), as well as the requested page size. - */ -#define VM_FLAGS_SUPERPAGE_MASK 0x70000 /* bits 0x10000, 0x20000, 0x40000 */ -#define VM_FLAGS_RETURN_DATA_ADDR 0x100000 /* Return address of target data, rather than base of page */ -#define VM_FLAGS_RETURN_4K_DATA_ADDR 0x800000 /* Return 4K aligned address of target data */ -#define VM_FLAGS_ALIAS_MASK 0xFF000000 -#define VM_GET_FLAGS_ALIAS(flags, alias) \ - (alias) = ((flags) & VM_FLAGS_ALIAS_MASK) >> 24 -#define VM_SET_FLAGS_ALIAS(flags, alias) \ - (flags) = (((flags) & ~VM_FLAGS_ALIAS_MASK) | \ - (((alias) & ~VM_FLAGS_ALIAS_MASK) << 24)) - -/* These are the flags that we accept from user-space */ -#define VM_FLAGS_USER_ALLOCATE (VM_FLAGS_FIXED | \ - VM_FLAGS_ANYWHERE | \ - VM_FLAGS_PURGABLE | \ - VM_FLAGS_4GB_CHUNK | \ - VM_FLAGS_RANDOM_ADDR | \ - VM_FLAGS_NO_CACHE | \ - VM_FLAGS_PERMANENT | \ - VM_FLAGS_OVERWRITE | \ - VM_FLAGS_SUPERPAGE_MASK | \ - VM_FLAGS_ALIAS_MASK) -#define VM_FLAGS_USER_MAP (VM_FLAGS_USER_ALLOCATE | \ - VM_FLAGS_RETURN_4K_DATA_ADDR | \ - VM_FLAGS_RETURN_DATA_ADDR) -#define VM_FLAGS_USER_REMAP (VM_FLAGS_FIXED | \ - VM_FLAGS_ANYWHERE | \ - VM_FLAGS_RANDOM_ADDR | \ - VM_FLAGS_OVERWRITE| \ - VM_FLAGS_RETURN_DATA_ADDR | \ - VM_FLAGS_RESILIENT_CODESIGN | \ - VM_FLAGS_RESILIENT_MEDIA) - -#define VM_FLAGS_SUPERPAGE_SHIFT 16 -#define SUPERPAGE_NONE 0 /* no superpages, if all bits are 0 */ -#define SUPERPAGE_SIZE_ANY 1 -#define VM_FLAGS_SUPERPAGE_NONE (SUPERPAGE_NONE << VM_FLAGS_SUPERPAGE_SHIFT) -#define VM_FLAGS_SUPERPAGE_SIZE_ANY (SUPERPAGE_SIZE_ANY << VM_FLAGS_SUPERPAGE_SHIFT) -#define SUPERPAGE_SIZE_2MB 2 -#define VM_FLAGS_SUPERPAGE_SIZE_2MB (SUPERPAGE_SIZE_2MB< -#include - -#include - -typedef vm_offset_t pointer_t; -typedef vm_offset_t vm_address_t; - -/* - * We use addr64_t for 64-bit addresses that are used on both - * 32 and 64-bit machines. On PPC, they are passed and returned as - * two adjacent 32-bit GPRs. We use addr64_t in places where - * common code must be useable both on 32 and 64-bit machines. - */ -typedef uint64_t addr64_t; /* Basic effective address */ - -/* - * We use reg64_t for addresses that are 32 bits on a 32-bit - * machine, and 64 bits on a 64-bit machine, but are always - * passed and returned in a single GPR on PPC. This type - * cannot be used in generic 32-bit c, since on a 64-bit - * machine the upper half of the register will be ignored - * by the c compiler in 32-bit mode. In c, we can only use the - * type in prototypes of functions that are written in and called - * from assembly language. This type is basically a comment. - */ -typedef uint32_t reg64_t; - -/* - * To minimize the use of 64-bit fields, we keep some physical - * addresses (that are page aligned) as 32-bit page numbers. - * This limits the physical address space to 16TB of RAM. - */ -typedef uint32_t ppnum_t; /* Physical page number */ -#define PPNUM_MAX UINT32_MAX - - - -typedef mach_port_t vm_map_t, vm_map_read_t, vm_map_inspect_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) - -/* - * Evolving definitions, likely to change. - */ - -typedef uint64_t vm_object_offset_t; -typedef uint64_t vm_object_size_t; - - - - -typedef mach_port_t upl_t; -typedef mach_port_t vm_named_entry_t; - - -#define UPL_NULL ((upl_t) 0) -#define VM_NAMED_ENTRY_NULL ((vm_named_entry_t) 0) - -#endif /* _MACH_VM_TYPES_H_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.11-any/mach_debug/mach_debug_types.h b/lib/libc/include/any-macos.11-any/mach_debug/mach_debug_types.h deleted file mode 100644 index a4a2f3d7c7..0000000000 --- a/lib/libc/include/any-macos.11-any/mach_debug/mach_debug_types.h +++ /dev/null @@ -1,95 +0,0 @@ -/* - * Copyright (c) 2000 Apple Computer, 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@ - */ -/* - * @OSF_COPYRIGHT@ - */ -/* - * Mach Operating System - * Copyright (c) 1991,1990,1989,1988 Carnegie Mellon University - * All Rights Reserved. - * - * Permission to use, copy, modify and distribute this software and its - * documentation is hereby granted, provided that both the copyright - * notice and this permission notice appear in all copies of the - * software, derivative works or modified versions, and any portions - * thereof, and that both notices appear in supporting documentation. - * - * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" - * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR - * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. - * - * Carnegie Mellon requests users of this software to return to - * - * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU - * School of Computer Science - * Carnegie Mellon University - * Pittsburgh PA 15213-3890 - * - * any improvements or extensions that they make and grant Carnegie Mellon - * the rights to redistribute these changes. - */ -/* - */ -/* - * Mach kernel debugging interface type declarations - */ - -#ifndef _MACH_DEBUG_MACH_DEBUG_TYPES_H_ -#define _MACH_DEBUG_MACH_DEBUG_TYPES_H_ - -#include -#include -#include -#include -#include -#include - -#define MACH_CORE_FILEHEADER_SIGNATURE 0x0063614d20646152ULL -#define MACH_CORE_FILEHEADER_MAXFILES 16 -#define MACH_CORE_FILEHEADER_NAMELEN 16 - -typedef char symtab_name_t[32]; - -struct mach_core_details { - uint64_t gzip_offset; - uint64_t gzip_length; - char core_name[MACH_CORE_FILEHEADER_NAMELEN]; -}; - -struct mach_core_fileheader { - uint64_t signature; - uint64_t log_offset; - uint64_t log_length; - uint64_t num_files; - struct mach_core_details files[MACH_CORE_FILEHEADER_MAXFILES]; -}; - -#define KOBJECT_DESCRIPTION_LENGTH 512 -typedef char kobject_description_t[KOBJECT_DESCRIPTION_LENGTH]; - -#endif /* _MACH_DEBUG_MACH_DEBUG_TYPES_H_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.11-any/machine/_mcontext.h b/lib/libc/include/any-macos.11-any/machine/_mcontext.h deleted file mode 100644 index 12965510fa..0000000000 --- a/lib/libc/include/any-macos.11-any/machine/_mcontext.h +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Copyright (c) 2003-2012 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@ - */ -#if defined (__i386__) || defined (__x86_64__) -#include "i386/_mcontext.h" -#elif defined (__arm__) || defined (__arm64__) -#include "arm/_mcontext.h" -#else -#error architecture not supported -#endif \ No newline at end of file diff --git a/lib/libc/include/any-macos.11-any/machine/_param.h b/lib/libc/include/any-macos.11-any/machine/_param.h deleted file mode 100644 index 5fdf54345f..0000000000 --- a/lib/libc/include/any-macos.11-any/machine/_param.h +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Copyright (c) 2004-2007 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@ - */ -#if defined (__i386__) || defined (__x86_64__) -#include -#elif defined (__arm__) || defined (__arm64__) -#include -#else -#error architecture not supported -#endif \ No newline at end of file diff --git a/lib/libc/include/any-macos.11-any/machine/limits.h b/lib/libc/include/any-macos.11-any/machine/limits.h deleted file mode 100644 index 7523f8806d..0000000000 --- a/lib/libc/include/any-macos.11-any/machine/limits.h +++ /dev/null @@ -1,11 +0,0 @@ -/* This is the `system' limits.h, independent of any particular - * compiler. GCC provides its own limits.h which can be found in - * /usr/lib/gcc, although it is not very informative. - * This file is public domain. */ -#if defined (__i386__) || defined(__x86_64__) -#include -#elif defined (__arm__) || defined (__arm64__) -#include -#else -#error architecture not supported -#endif \ No newline at end of file diff --git a/lib/libc/include/any-macos.11-any/malloc/malloc.h b/lib/libc/include/any-macos.11-any/malloc/malloc.h deleted file mode 100644 index 33013ccc54..0000000000 --- a/lib/libc/include/any-macos.11-any/malloc/malloc.h +++ /dev/null @@ -1,314 +0,0 @@ -/* - * Copyright (c) 1999 Apple Computer, Inc. All rights reserved. - * - * @APPLE_LICENSE_HEADER_START@ - * - * This file contains Original Code and/or Modifications of Original Code - * as defined in and that are subject to the Apple Public Source License - * Version 2.0 (the 'License'). You may not use this file except in - * compliance with the License. Please obtain a copy of the License at - * http://www.opensource.apple.com/apsl/ and read it before using this - * file. - * - * The Original Code and all software distributed under the License are - * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER - * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, - * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. - * Please see the License for the specific language governing rights and - * limitations under the License. - * - * @APPLE_LICENSE_HEADER_END@ - */ - -#ifndef _MALLOC_MALLOC_H_ -#define _MALLOC_MALLOC_H_ - -#include -#include -#include -#include - -#if __has_feature(ptrauth_calls) -#include - -// Zone function pointer, type-diversified but not address-diversified (because -// the zone can be copied). Process-independent because the zone structure may -// be in the shared library cache. -#define MALLOC_ZONE_FN_PTR(fn) __ptrauth(ptrauth_key_process_independent_code, \ - FALSE, ptrauth_string_discriminator("malloc_zone_fn." #fn)) fn - -// Introspection function pointer, address- and type-diversified. -// Process-independent because the malloc_introspection_t structure that contains -// these pointers may be in the shared library cache. -#define MALLOC_INTROSPECT_FN_PTR(fn) __ptrauth(ptrauth_key_process_independent_code, \ - TRUE, ptrauth_string_discriminator("malloc_introspect_fn." #fn)) fn - -// Pointer to the introspection pointer table, type-diversified but not -// address-diversified (because the zone can be copied). -// Process-independent because the table pointer may be in the shared library cache. -#define MALLOC_INTROSPECT_TBL_PTR(ptr) __ptrauth(ptrauth_key_process_independent_data,\ - FALSE, ptrauth_string_discriminator("malloc_introspect_tbl")) ptr - -#endif // __has_feature(ptrauth_calls) - -#ifndef MALLOC_ZONE_FN_PTR -#define MALLOC_ZONE_FN_PTR(fn) fn -#define MALLOC_INTROSPECT_FN_PTR(fn) fn -#define MALLOC_INTROSPECT_TBL_PTR(ptr) ptr -#endif // MALLOC_ZONE_FN_PTR - -__BEGIN_DECLS -/********* Type definitions ************/ - -typedef struct _malloc_zone_t { - /* Only zone implementors should depend on the layout of this structure; - Regular callers should use the access functions below */ - void *reserved1; /* RESERVED FOR CFAllocator DO NOT USE */ - void *reserved2; /* RESERVED FOR CFAllocator DO NOT USE */ - size_t (* MALLOC_ZONE_FN_PTR(size))(struct _malloc_zone_t *zone, const void *ptr); /* returns the size of a block or 0 if not in this zone; must be fast, especially for negative answers */ - void *(* MALLOC_ZONE_FN_PTR(malloc))(struct _malloc_zone_t *zone, size_t size); - void *(* MALLOC_ZONE_FN_PTR(calloc))(struct _malloc_zone_t *zone, size_t num_items, size_t size); /* same as malloc, but block returned is set to zero */ - void *(* MALLOC_ZONE_FN_PTR(valloc))(struct _malloc_zone_t *zone, size_t size); /* same as malloc, but block returned is set to zero and is guaranteed to be page aligned */ - void (* MALLOC_ZONE_FN_PTR(free))(struct _malloc_zone_t *zone, void *ptr); - void *(* MALLOC_ZONE_FN_PTR(realloc))(struct _malloc_zone_t *zone, void *ptr, size_t size); - void (* MALLOC_ZONE_FN_PTR(destroy))(struct _malloc_zone_t *zone); /* zone is destroyed and all memory reclaimed */ - const char *zone_name; - - /* Optional batch callbacks; these may be NULL */ - unsigned (* MALLOC_ZONE_FN_PTR(batch_malloc))(struct _malloc_zone_t *zone, size_t size, void **results, unsigned num_requested); /* given a size, returns pointers capable of holding that size; returns the number of pointers allocated (maybe 0 or less than num_requested) */ - void (* MALLOC_ZONE_FN_PTR(batch_free))(struct _malloc_zone_t *zone, void **to_be_freed, unsigned num_to_be_freed); /* frees all the pointers in to_be_freed; note that to_be_freed may be overwritten during the process */ - - struct malloc_introspection_t * MALLOC_INTROSPECT_TBL_PTR(introspect); - unsigned version; - - /* aligned memory allocation. The callback may be NULL. Present in version >= 5. */ - void *(* MALLOC_ZONE_FN_PTR(memalign))(struct _malloc_zone_t *zone, size_t alignment, size_t size); - - /* free a pointer known to be in zone and known to have the given size. The callback may be NULL. Present in version >= 6.*/ - void (* MALLOC_ZONE_FN_PTR(free_definite_size))(struct _malloc_zone_t *zone, void *ptr, size_t size); - - /* Empty out caches in the face of memory pressure. The callback may be NULL. Present in version >= 8. */ - size_t (* MALLOC_ZONE_FN_PTR(pressure_relief))(struct _malloc_zone_t *zone, size_t goal); - - /* - * Checks whether an address might belong to the zone. May be NULL. Present in version >= 10. - * False positives are allowed (e.g. the pointer was freed, or it's in zone space that has - * not yet been allocated. False negatives are not allowed. - */ - boolean_t (* MALLOC_ZONE_FN_PTR(claimed_address))(struct _malloc_zone_t *zone, void *ptr); -} malloc_zone_t; - -/********* Creation and destruction ************/ - -extern malloc_zone_t *malloc_default_zone(void); - /* The initial zone */ - -extern malloc_zone_t *malloc_create_zone(vm_size_t start_size, unsigned flags); - /* Creates a new zone with default behavior and registers it */ - -extern void malloc_destroy_zone(malloc_zone_t *zone); - /* Destroys zone and everything it allocated */ - -/********* Block creation and manipulation ************/ - -extern void *malloc_zone_malloc(malloc_zone_t *zone, size_t size) __alloc_size(2); - /* Allocates a new pointer of size size; zone must be non-NULL */ - -extern void *malloc_zone_calloc(malloc_zone_t *zone, size_t num_items, size_t size) __alloc_size(2,3); - /* Allocates a new pointer of size num_items * size; block is cleared; zone must be non-NULL */ - -extern void *malloc_zone_valloc(malloc_zone_t *zone, size_t size) __alloc_size(2); - /* Allocates a new pointer of size size; zone must be non-NULL; Pointer is guaranteed to be page-aligned and block is cleared */ - -extern void malloc_zone_free(malloc_zone_t *zone, void *ptr); - /* Frees pointer in zone; zone must be non-NULL */ - -extern void *malloc_zone_realloc(malloc_zone_t *zone, void *ptr, size_t size) __alloc_size(3); - /* Enlarges block if necessary; zone must be non-NULL */ - -extern malloc_zone_t *malloc_zone_from_ptr(const void *ptr); - /* Returns the zone for a pointer, or NULL if not in any zone. - The ptr must have been returned from a malloc or realloc call. */ - -extern size_t malloc_size(const void *ptr); - /* Returns size of given ptr */ - -extern size_t malloc_good_size(size_t size); - /* Returns number of bytes greater than or equal to size that can be allocated without padding */ - -extern void *malloc_zone_memalign(malloc_zone_t *zone, size_t alignment, size_t size) __alloc_size(3) __OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_3_0); - /* - * Allocates a new pointer of size size whose address is an exact multiple of alignment. - * alignment must be a power of two and at least as large as sizeof(void *). - * zone must be non-NULL. - */ - -/********* Batch methods ************/ - -extern unsigned malloc_zone_batch_malloc(malloc_zone_t *zone, size_t size, void **results, unsigned num_requested); - /* Allocates num blocks of the same size; Returns the number truly allocated (may be 0) */ - -extern void malloc_zone_batch_free(malloc_zone_t *zone, void **to_be_freed, unsigned num); - /* frees all the pointers in to_be_freed; note that to_be_freed may be overwritten during the process; This function will always free even if the zone has no batch callback */ - -/********* Functions for libcache ************/ - -extern malloc_zone_t *malloc_default_purgeable_zone(void) __OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_3_0); - /* Returns a pointer to the default purgeable_zone. */ - -extern void malloc_make_purgeable(void *ptr) __OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_3_0); - /* Make an allocation from the purgeable zone purgeable if possible. */ - -extern int malloc_make_nonpurgeable(void *ptr) __OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_3_0); - /* Makes an allocation from the purgeable zone nonpurgeable. - * Returns zero if the contents were not purged since the last - * call to malloc_make_purgeable, else returns non-zero. */ - -/********* Functions for zone implementors ************/ - -extern void malloc_zone_register(malloc_zone_t *zone); - /* Registers a custom malloc zone; Should typically be called after a - * malloc_zone_t has been filled in with custom methods by a client. See - * malloc_create_zone for creating additional malloc zones with the - * default allocation and free behavior. */ - -extern void malloc_zone_unregister(malloc_zone_t *zone); - /* De-registers a zone - Should typically be called before calling the zone destruction routine */ - -extern void malloc_set_zone_name(malloc_zone_t *zone, const char *name); - /* Sets the name of a zone */ - -extern const char *malloc_get_zone_name(malloc_zone_t *zone); - /* Returns the name of a zone */ - -size_t malloc_zone_pressure_relief(malloc_zone_t *zone, size_t goal) __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_4_3); - /* malloc_zone_pressure_relief() advises the malloc subsystem that the process is under memory pressure and - * that the subsystem should make its best effort towards releasing (i.e. munmap()-ing) "goal" bytes from "zone". - * If "goal" is passed as zero, the malloc subsystem will attempt to achieve maximal pressure relief in "zone". - * If "zone" is passed as NULL, all zones are examined for pressure relief opportunities. - * malloc_zone_pressure_relief() returns the number of bytes released. - */ - -typedef struct { - vm_address_t address; - vm_size_t size; -} vm_range_t; - -typedef struct malloc_statistics_t { - unsigned blocks_in_use; - size_t size_in_use; - size_t max_size_in_use; /* high water mark of touched memory */ - size_t size_allocated; /* reserved in memory */ -} malloc_statistics_t; - -typedef kern_return_t memory_reader_t(task_t remote_task, vm_address_t remote_address, vm_size_t size, void **local_memory); - /* given a task, "reads" the memory at the given address and size -local_memory: set to a contiguous chunk of memory; validity of local_memory is assumed to be limited (until next call) */ - -#define MALLOC_PTR_IN_USE_RANGE_TYPE 1 /* for allocated pointers */ -#define MALLOC_PTR_REGION_RANGE_TYPE 2 /* for region containing pointers */ -#define MALLOC_ADMIN_REGION_RANGE_TYPE 4 /* for region used internally */ -#define MALLOC_ZONE_SPECIFIC_FLAGS 0xff00 /* bits reserved for zone-specific purposes */ - -typedef void vm_range_recorder_t(task_t, void *, unsigned type, vm_range_t *, unsigned); - /* given a task and context, "records" the specified addresses */ - -/* Print function for the print_task() operation. */ -typedef void print_task_printer_t(const char *fmt, ...) __printflike(1,2); - -typedef struct malloc_introspection_t { - kern_return_t (* MALLOC_INTROSPECT_FN_PTR(enumerator))(task_t task, void *, unsigned type_mask, vm_address_t zone_address, memory_reader_t reader, vm_range_recorder_t recorder); /* enumerates all the malloc pointers in use */ - size_t (* MALLOC_INTROSPECT_FN_PTR(good_size))(malloc_zone_t *zone, size_t size); - boolean_t (* MALLOC_INTROSPECT_FN_PTR(check))(malloc_zone_t *zone); /* Consistency checker */ - void (* MALLOC_INTROSPECT_FN_PTR(print))(malloc_zone_t *zone, boolean_t verbose); /* Prints zone */ - void (* MALLOC_INTROSPECT_FN_PTR(log))(malloc_zone_t *zone, void *address); /* Enables logging of activity */ - void (* MALLOC_INTROSPECT_FN_PTR(force_lock))(malloc_zone_t *zone); /* Forces locking zone */ - void (* MALLOC_INTROSPECT_FN_PTR(force_unlock))(malloc_zone_t *zone); /* Forces unlocking zone */ - void (* MALLOC_INTROSPECT_FN_PTR(statistics))(malloc_zone_t *zone, malloc_statistics_t *stats); /* Fills statistics */ - boolean_t (* MALLOC_INTROSPECT_FN_PTR(zone_locked))(malloc_zone_t *zone); /* Are any zone locks held */ - - /* Discharge checking. Present in version >= 7. */ - boolean_t (* MALLOC_INTROSPECT_FN_PTR(enable_discharge_checking))(malloc_zone_t *zone); - void (* MALLOC_INTROSPECT_FN_PTR(disable_discharge_checking))(malloc_zone_t *zone); - void (* MALLOC_INTROSPECT_FN_PTR(discharge))(malloc_zone_t *zone, void *memory); -#ifdef __BLOCKS__ - void (* MALLOC_INTROSPECT_FN_PTR(enumerate_discharged_pointers))(malloc_zone_t *zone, void (^report_discharged)(void *memory, void *info)); - #else - void *enumerate_unavailable_without_blocks; -#endif /* __BLOCKS__ */ - void (* MALLOC_INTROSPECT_FN_PTR(reinit_lock))(malloc_zone_t *zone); /* Reinitialize zone locks, called only from atfork_child handler. Present in version >= 9. */ - void (* MALLOC_INTROSPECT_FN_PTR(print_task))(task_t task, unsigned level, vm_address_t zone_address, memory_reader_t reader, print_task_printer_t printer); /* debug print for another process. Present in version >= 11. */ - void (* MALLOC_INTROSPECT_FN_PTR(task_statistics))(task_t task, vm_address_t zone_address, memory_reader_t reader, malloc_statistics_t *stats); /* Present in version >= 12 */ -} malloc_introspection_t; - -// The value of "level" when passed to print_task() that corresponds to -// verbose passed to print() -#define MALLOC_VERBOSE_PRINT_LEVEL 2 - -extern void malloc_printf(const char *format, ...); - /* Convenience for logging errors and warnings; - No allocation is performed during execution of this function; - Only understands usual %p %d %s formats, and %y that expresses a number of bytes (5b,10KB,1MB...) - */ - -/********* Functions for performance tools ************/ - -extern kern_return_t malloc_get_all_zones(task_t task, memory_reader_t reader, vm_address_t **addresses, unsigned *count); - /* Fills addresses and count with the addresses of the zones in task; - Note that the validity of the addresses returned correspond to the validity of the memory returned by reader */ - -/********* Debug helpers ************/ - -extern void malloc_zone_print_ptr_info(void *ptr); - /* print to stdout if this pointer is in the malloc heap, free status, and size */ - -extern boolean_t malloc_zone_check(malloc_zone_t *zone); - /* Checks zone is well formed; if !zone, checks all zones */ - -extern void malloc_zone_print(malloc_zone_t *zone, boolean_t verbose); - /* Prints summary on zone; if !zone, prints all zones */ - -extern void malloc_zone_statistics(malloc_zone_t *zone, malloc_statistics_t *stats); - /* Fills statistics for zone; if !zone, sums up all zones */ - -extern void malloc_zone_log(malloc_zone_t *zone, void *address); - /* Controls logging of all activity; if !zone, for all zones; - If address==0 nothing is logged; - If address==-1 all activity is logged; - Else only the activity regarding address is logged */ - -struct mstats { - size_t bytes_total; - size_t chunks_used; - size_t bytes_used; - size_t chunks_free; - size_t bytes_free; -}; - -extern struct mstats mstats(void); - -extern boolean_t malloc_zone_enable_discharge_checking(malloc_zone_t *zone) __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_4_3); -/* Increment the discharge checking enabled counter for a zone. Returns true if the zone supports checking, false if it does not. */ - -extern void malloc_zone_disable_discharge_checking(malloc_zone_t *zone) __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_4_3); -/* Decrement the discharge checking enabled counter for a zone. */ - -extern void malloc_zone_discharge(malloc_zone_t *zone, void *memory) __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_4_3); -/* Register memory that the programmer expects to be freed soon. - zone may be NULL in which case the zone is determined using malloc_zone_from_ptr(). - If discharge checking is off for the zone this function is a no-op. */ - -#ifdef __BLOCKS__ -extern void malloc_zone_enumerate_discharged_pointers(malloc_zone_t *zone, void (^report_discharged)(void *memory, void *info)) __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_4_3); -/* Calls report_discharged for each block that was registered using malloc_zone_discharge() but has not yet been freed. - info is used to provide zone defined information about the memory block. - If zone is NULL then the enumeration covers all zones. */ -#else -extern void malloc_zone_enumerate_discharged_pointers(malloc_zone_t *zone, void *) __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_4_3); -#endif /* __BLOCKS__ */ - -__END_DECLS - -#endif /* _MALLOC_MALLOC_H_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.11-any/net/if.h b/lib/libc/include/any-macos.11-any/net/if.h deleted file mode 100644 index e77e7b8338..0000000000 --- a/lib/libc/include/any-macos.11-any/net/if.h +++ /dev/null @@ -1,442 +0,0 @@ -/* - * Copyright (c) 2000-2020 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@ - */ -/* - * Copyright (c) 1982, 1986, 1989, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)if.h 8.1 (Berkeley) 6/10/93 - */ - -#ifndef _NET_IF_H_ -#define _NET_IF_H_ - -#include -#include - -#define IF_NAMESIZE 16 - -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -#include -#ifdef __APPLE__ - -#include -#include -#include - -#endif - -struct if_clonereq { - int ifcr_total; /* total cloners (out) */ - int ifcr_count; /* room for this many in user buffer */ - char *ifcr_buffer; /* buffer for cloner names */ -}; - - -#define IFF_UP 0x1 /* interface is up */ -#define IFF_BROADCAST 0x2 /* broadcast address valid */ -#define IFF_DEBUG 0x4 /* turn on debugging */ -#define IFF_LOOPBACK 0x8 /* is a loopback net */ -#define IFF_POINTOPOINT 0x10 /* interface is point-to-point link */ -#define IFF_NOTRAILERS 0x20 /* obsolete: avoid use of trailers */ -#define IFF_RUNNING 0x40 /* resources allocated */ -#define IFF_NOARP 0x80 /* no address resolution protocol */ -#define IFF_PROMISC 0x100 /* receive all packets */ -#define IFF_ALLMULTI 0x200 /* receive all multicast packets */ -#define IFF_OACTIVE 0x400 /* transmission in progress */ -#define IFF_SIMPLEX 0x800 /* can't hear own transmissions */ -#define IFF_LINK0 0x1000 /* per link layer defined bit */ -#define IFF_LINK1 0x2000 /* per link layer defined bit */ -#define IFF_LINK2 0x4000 /* per link layer defined bit */ -#define IFF_ALTPHYS IFF_LINK2 /* use alternate physical connection */ -#define IFF_MULTICAST 0x8000 /* supports multicast */ - - - -/* - * Capabilities that interfaces can advertise. - * - * struct ifnet.if_capabilities - * contains the optional features & capabilities a particular interface - * supports (not only the driver but also the detected hw revision). - * Capabilities are defined by IFCAP_* below. - * struct ifnet.if_capenable - * contains the enabled (either by default or through ifconfig) optional - * features & capabilities on this interface. - * Capabilities are defined by IFCAP_* below. - * struct if_data.ifi_hwassist in IFNET_* form, defined in net/kpi_interface.h, - * contains the enabled optional features & capabilites that can be used - * individually per packet and are specified in the mbuf pkthdr.csum_flags - * field. IFCAP_* and IFNET_* do not match one to one and IFNET_* may be - * more detailed or differentiated than IFCAP_*. - * IFNET_* hwassist flags have corresponding CSUM_* in sys/mbuf.h - */ -#define IFCAP_RXCSUM 0x00001 /* can offload checksum on RX */ -#define IFCAP_TXCSUM 0x00002 /* can offload checksum on TX */ -#define IFCAP_VLAN_MTU 0x00004 /* VLAN-compatible MTU */ -#define IFCAP_VLAN_HWTAGGING 0x00008 /* hardware VLAN tag support */ -#define IFCAP_JUMBO_MTU 0x00010 /* 9000 byte MTU supported */ -#define IFCAP_TSO4 0x00020 /* can do TCP Segmentation Offload */ -#define IFCAP_TSO6 0x00040 /* can do TCP6 Segmentation Offload */ -#define IFCAP_LRO 0x00080 /* can do Large Receive Offload */ -#define IFCAP_AV 0x00100 /* can do 802.1 AV Bridging */ -#define IFCAP_TXSTATUS 0x00200 /* can return linklevel xmit status */ -#define IFCAP_SKYWALK 0x00400 /* Skywalk mode supported/enabled */ -#define IFCAP_HW_TIMESTAMP 0x00800 /* Time stamping in hardware */ -#define IFCAP_SW_TIMESTAMP 0x01000 /* Time stamping in software */ -#define IFCAP_CSUM_PARTIAL 0x02000 /* can offload partial checksum */ -#define IFCAP_CSUM_ZERO_INVERT 0x04000 /* can invert 0 to -0 (0xffff) */ - -#define IFCAP_HWCSUM (IFCAP_RXCSUM | IFCAP_TXCSUM) -#define IFCAP_TSO (IFCAP_TSO4 | IFCAP_TSO6) - -#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) - -#define IFQ_MAXLEN 128 -#define IFNET_SLOWHZ 1 /* granularity is 1 second */ -#define IFQ_TARGET_DELAY (10ULL * 1000 * 1000) /* 10 ms */ -#define IFQ_UPDATE_INTERVAL (100ULL * 1000 * 1000) /* 100 ms */ - -/* - * Message format for use in obtaining information about interfaces - * from sysctl and the routing socket - */ -struct if_msghdr { - unsigned short ifm_msglen; /* to skip non-understood messages */ - unsigned char ifm_version; /* future binary compatability */ - unsigned char ifm_type; /* message type */ - int ifm_addrs; /* like rtm_addrs */ - int ifm_flags; /* value of if_flags */ - unsigned short ifm_index; /* index for associated ifp */ - struct if_data ifm_data; /* statistics and other data about if */ -}; - -/* - * Message format for use in obtaining information about interface addresses - * from sysctl and the routing socket - */ -struct ifa_msghdr { - unsigned short ifam_msglen; /* to skip non-understood messages */ - unsigned char ifam_version; /* future binary compatability */ - unsigned char ifam_type; /* message type */ - int ifam_addrs; /* like rtm_addrs */ - int ifam_flags; /* value of ifa_flags */ - unsigned short ifam_index; /* index for associated ifp */ - int ifam_metric; /* value of ifa_metric */ -}; - -/* - * Message format for use in obtaining information about multicast addresses - * from the routing socket - */ -struct ifma_msghdr { - unsigned short ifmam_msglen; /* to skip non-understood messages */ - unsigned char ifmam_version; /* future binary compatability */ - unsigned char ifmam_type; /* message type */ - int ifmam_addrs; /* like rtm_addrs */ - int ifmam_flags; /* value of ifa_flags */ - unsigned short ifmam_index; /* index for associated ifp */ -}; - -/* - * Message format for use in obtaining information about interfaces - * from sysctl - */ -struct if_msghdr2 { - u_short ifm_msglen; /* to skip over non-understood messages */ - u_char ifm_version; /* future binary compatability */ - u_char ifm_type; /* message type */ - int ifm_addrs; /* like rtm_addrs */ - int ifm_flags; /* value of if_flags */ - u_short ifm_index; /* index for associated ifp */ - int ifm_snd_len; /* instantaneous length of send queue */ - int ifm_snd_maxlen; /* maximum length of send queue */ - int ifm_snd_drops; /* number of drops in send queue */ - int ifm_timer; /* time until if_watchdog called */ - struct if_data64 ifm_data; /* statistics and other data */ -}; - -/* - * Message format for use in obtaining information about multicast addresses - * from sysctl - */ -struct ifma_msghdr2 { - u_short ifmam_msglen; /* to skip over non-understood messages */ - u_char ifmam_version; /* future binary compatability */ - u_char ifmam_type; /* message type */ - int ifmam_addrs; /* like rtm_addrs */ - int ifmam_flags; /* value of ifa_flags */ - u_short ifmam_index; /* index for associated ifp */ - int32_t ifmam_refcount; -}; - -/* - * ifdevmtu: interface device mtu - * Used with SIOCGIFDEVMTU to get the current mtu in use by the device, - * as well as the minimum and maximum mtu allowed by the device. - */ -struct ifdevmtu { - int ifdm_current; - int ifdm_min; - int ifdm_max; -}; - -#pragma pack(4) - -/* - * ifkpi: interface kpi ioctl - * Used with SIOCSIFKPI and SIOCGIFKPI. - * - * ifk_module_id - From in the kernel, a value from kev_vendor_code_find. From - * user space, a value from SIOCGKEVVENDOR ioctl on a kernel event socket. - * ifk_type - The type. Types are specific to each module id. - * ifk_data - The data. ifk_ptr may be a 64bit pointer for 64 bit processes. - * - * Copying data between user space and kernel space is done using copyin - * and copyout. A process may be running in 64bit mode. In such a case, - * the pointer will be a 64bit pointer, not a 32bit pointer. The following - * sample is a safe way to copy the data in to the kernel from either a - * 32bit or 64bit process: - * - * user_addr_t tmp_ptr; - * if (IS_64BIT_PROCESS(current_proc())) { - * tmp_ptr = CAST_USER_ADDR_T(ifkpi.ifk_data.ifk_ptr64); - * } - * else { - * tmp_ptr = CAST_USER_ADDR_T(ifkpi.ifk_data.ifk_ptr); - * } - * error = copyin(tmp_ptr, allocated_dst_buffer, size of allocated_dst_buffer); - */ - -struct ifkpi { - unsigned int ifk_module_id; - unsigned int ifk_type; - union { - void *ifk_ptr; - int ifk_value; - } ifk_data; -}; - -/* Wake capabilities of a interface */ -#define IF_WAKE_ON_MAGIC_PACKET 0x01 - - -#pragma pack() - -/* - * Interface request structure used for socket - * ioctl's. All interface ioctl's must have parameter - * definitions which begin with ifr_name. The - * remainder may be interface specific. - */ -struct ifreq { -#ifndef IFNAMSIZ -#define IFNAMSIZ IF_NAMESIZE -#endif - char ifr_name[IFNAMSIZ]; /* if name, e.g. "en0" */ - union { - struct sockaddr ifru_addr; - struct sockaddr ifru_dstaddr; - struct sockaddr ifru_broadaddr; - short ifru_flags; - int ifru_metric; - int ifru_mtu; - int ifru_phys; - int ifru_media; - int ifru_intval; - caddr_t ifru_data; - struct ifdevmtu ifru_devmtu; - struct ifkpi ifru_kpi; - u_int32_t ifru_wake_flags; - u_int32_t ifru_route_refcnt; - int ifru_cap[2]; - u_int32_t ifru_functional_type; -#define IFRTYPE_FUNCTIONAL_UNKNOWN 0 -#define IFRTYPE_FUNCTIONAL_LOOPBACK 1 -#define IFRTYPE_FUNCTIONAL_WIRED 2 -#define IFRTYPE_FUNCTIONAL_WIFI_INFRA 3 -#define IFRTYPE_FUNCTIONAL_WIFI_AWDL 4 -#define IFRTYPE_FUNCTIONAL_CELLULAR 5 -#define IFRTYPE_FUNCTIONAL_INTCOPROC 6 -#define IFRTYPE_FUNCTIONAL_COMPANIONLINK 7 -#define IFRTYPE_FUNCTIONAL_LAST 7 - } ifr_ifru; -#define ifr_addr ifr_ifru.ifru_addr /* address */ -#define ifr_dstaddr ifr_ifru.ifru_dstaddr /* other end of p-to-p link */ -#define ifr_broadaddr ifr_ifru.ifru_broadaddr /* broadcast address */ -#ifdef __APPLE__ -#define ifr_flags ifr_ifru.ifru_flags /* flags */ -#else -#define ifr_flags ifr_ifru.ifru_flags[0] /* flags */ -#define ifr_prevflags ifr_ifru.ifru_flags[1] /* flags */ -#endif /* __APPLE__ */ -#define ifr_metric ifr_ifru.ifru_metric /* metric */ -#define ifr_mtu ifr_ifru.ifru_mtu /* mtu */ -#define ifr_phys ifr_ifru.ifru_phys /* physical wire */ -#define ifr_media ifr_ifru.ifru_media /* physical media */ -#define ifr_data ifr_ifru.ifru_data /* for use by interface */ -#define ifr_devmtu ifr_ifru.ifru_devmtu -#define ifr_intval ifr_ifru.ifru_intval /* integer value */ -#define ifr_kpi ifr_ifru.ifru_kpi -#define ifr_wake_flags ifr_ifru.ifru_wake_flags /* wake capabilities */ -#define ifr_route_refcnt ifr_ifru.ifru_route_refcnt /* route references count */ -#define ifr_reqcap ifr_ifru.ifru_cap[0] /* requested capabilities */ -#define ifr_curcap ifr_ifru.ifru_cap[1] /* current capabilities */ -}; - -#define _SIZEOF_ADDR_IFREQ(ifr) \ - ((ifr).ifr_addr.sa_len > sizeof (struct sockaddr) ? \ - (sizeof (struct ifreq) - sizeof (struct sockaddr) + \ - (ifr).ifr_addr.sa_len) : sizeof (struct ifreq)) - -struct ifaliasreq { - char ifra_name[IFNAMSIZ]; /* if name, e.g. "en0" */ - struct sockaddr ifra_addr; - struct sockaddr ifra_broadaddr; - struct sockaddr ifra_mask; -}; - -struct rslvmulti_req { - struct sockaddr *sa; - struct sockaddr **llsa; -}; - -#pragma pack(4) - -struct ifmediareq { - char ifm_name[IFNAMSIZ]; /* if name, e.g. "en0" */ - int ifm_current; /* current media options */ - int ifm_mask; /* don't care mask */ - int ifm_status; /* media status */ - int ifm_active; /* active options */ - int ifm_count; /* # entries in ifm_ulist array */ - int *ifm_ulist; /* media words */ -}; - -#pragma pack() - - - -#pragma pack(4) -struct ifdrv { - char ifd_name[IFNAMSIZ]; /* if name, e.g. "en0" */ - unsigned long ifd_cmd; - size_t ifd_len; /* length of ifd_data buffer */ - void *ifd_data; -}; -#pragma pack() - - -/* - * Structure used to retrieve aux status data from interfaces. - * Kernel suppliers to this interface should respect the formatting - * needed by ifconfig(8): each line starts with a TAB and ends with - * a newline. - */ - -#define IFSTATMAX 800 /* 10 lines of text */ -struct ifstat { - char ifs_name[IFNAMSIZ]; /* if name, e.g. "en0" */ - char ascii[IFSTATMAX + 1]; -}; - -/* - * Structure used in SIOCGIFCONF request. - * Used to retrieve interface configuration - * for machine (useful for programs which - * must know all networks accessible). - */ -#pragma pack(4) -struct ifconf { - int ifc_len; /* size of associated buffer */ - union { - caddr_t ifcu_buf; - struct ifreq *ifcu_req; - } ifc_ifcu; -}; -#pragma pack() -#define ifc_buf ifc_ifcu.ifcu_buf /* buffer address */ -#define ifc_req ifc_ifcu.ifcu_req /* array of structures returned */ - - -/* - * DLIL KEV_DL_PROTO_ATTACHED/DETACHED structure - */ -struct kev_dl_proto_data { - struct net_event_data link_data; - u_int32_t proto_family; - u_int32_t proto_remaining_count; -}; - - -#endif /* (_POSIX_C_SOURCE && !_DARWIN_C_SOURCE) */ - -struct if_nameindex { - unsigned int if_index; /* 1, 2, ... */ - char *if_name; /* null terminated name: "le0", ... */ -}; - -__BEGIN_DECLS -unsigned int if_nametoindex(const char *); -char *if_indextoname(unsigned int, char *); -struct if_nameindex *if_nameindex(void); -void if_freenameindex(struct if_nameindex *); -__END_DECLS - - -#endif /* !_NET_IF_H_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.11-any/net/if_var.h b/lib/libc/include/any-macos.11-any/net/if_var.h deleted file mode 100644 index 79e6a60368..0000000000 --- a/lib/libc/include/any-macos.11-any/net/if_var.h +++ /dev/null @@ -1,243 +0,0 @@ -/* - * Copyright (c) 2000-2020 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@ - */ -/* - * Copyright (c) 1982, 1986, 1989, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * From: @(#)if.h 8.1 (Berkeley) 6/10/93 - * $FreeBSD: src/sys/net/if_var.h,v 1.18.2.7 2001/07/24 19:10:18 brooks Exp $ - */ - -#ifndef _NET_IF_VAR_H_ -#define _NET_IF_VAR_H_ - -#include -#include -#include -#include -#include /* get TAILQ macros */ -#ifdef BSD_KERN_PRIVATE -#include -#include -#endif - - -#ifdef __APPLE__ -#define APPLE_IF_FAM_LOOPBACK 1 -#define APPLE_IF_FAM_ETHERNET 2 -#define APPLE_IF_FAM_SLIP 3 -#define APPLE_IF_FAM_TUN 4 -#define APPLE_IF_FAM_VLAN 5 -#define APPLE_IF_FAM_PPP 6 -#define APPLE_IF_FAM_PVC 7 -#define APPLE_IF_FAM_DISC 8 -#define APPLE_IF_FAM_MDECAP 9 -#define APPLE_IF_FAM_GIF 10 -#define APPLE_IF_FAM_FAITH 11 /* deprecated */ -#define APPLE_IF_FAM_STF 12 -#define APPLE_IF_FAM_FIREWIRE 13 -#define APPLE_IF_FAM_BOND 14 -#define APPLE_IF_FAM_CELLULAR 15 -#define APPLE_IF_FAM_6LOWPAN 16 -#define APPLE_IF_FAM_UTUN 17 -#define APPLE_IF_FAM_IPSEC 18 -#endif /* __APPLE__ */ - -/* - * 72 was chosen below because it is the size of a TCP/IP - * header (40) + the minimum mss (32). - */ -#define IF_MINMTU 72 -#define IF_MAXMTU 65535 - -/* - * Structures defining a network interface, providing a packet - * transport mechanism (ala level 0 of the PUP protocols). - * - * Each interface accepts output datagrams of a specified maximum - * length, and provides higher level routines with input datagrams - * received from its medium. - * - * Output occurs when the routine if_output is called, with three parameters: - * (*ifp->if_output)(ifp, m, dst, rt) - * Here m is the mbuf chain to be sent and dst is the destination address. - * The output routine encapsulates the supplied datagram if necessary, - * and then transmits it on its medium. - * - * On input, each interface unwraps the data received by it, and either - * places it on the input queue of a internetwork datagram routine - * and posts the associated software interrupt, or passes the datagram to a raw - * packet input routine. - * - * Routines exist for locating interfaces by their addresses - * or for locating a interface on a certain network, as well as more general - * routing and gateway routines maintaining information used to locate - * interfaces. These routines live in the files if.c and route.c - */ - -#define IFNAMSIZ 16 - -/* This belongs up in socket.h or socketvar.h, depending on how far the - * event bubbles up. - */ - -struct net_event_data { - u_int32_t if_family; - u_int32_t if_unit; - char if_name[IFNAMSIZ]; -}; - -#if defined(__LP64__) -#include -#define IF_DATA_TIMEVAL timeval32 -#else -#define IF_DATA_TIMEVAL timeval -#endif - -#pragma pack(4) - -/* - * Structure describing information about an interface - * which may be of interest to management entities. - */ -struct if_data { - /* generic interface information */ - u_char ifi_type; /* ethernet, tokenring, etc */ - u_char ifi_typelen; /* Length of frame type id */ - u_char ifi_physical; /* e.g., AUI, Thinnet, 10base-T, etc */ - u_char ifi_addrlen; /* media address length */ - u_char ifi_hdrlen; /* media header length */ - u_char ifi_recvquota; /* polling quota for receive intrs */ - u_char ifi_xmitquota; /* polling quota for xmit intrs */ - u_char ifi_unused1; /* for future use */ - u_int32_t ifi_mtu; /* maximum transmission unit */ - u_int32_t ifi_metric; /* routing metric (external only) */ - u_int32_t ifi_baudrate; /* linespeed */ - /* volatile statistics */ - u_int32_t ifi_ipackets; /* packets received on interface */ - u_int32_t ifi_ierrors; /* input errors on interface */ - u_int32_t ifi_opackets; /* packets sent on interface */ - u_int32_t ifi_oerrors; /* output errors on interface */ - u_int32_t ifi_collisions; /* collisions on csma interfaces */ - u_int32_t ifi_ibytes; /* total number of octets received */ - u_int32_t ifi_obytes; /* total number of octets sent */ - u_int32_t ifi_imcasts; /* packets received via multicast */ - u_int32_t ifi_omcasts; /* packets sent via multicast */ - u_int32_t ifi_iqdrops; /* dropped on input, this interface */ - u_int32_t ifi_noproto; /* destined for unsupported protocol */ - u_int32_t ifi_recvtiming; /* usec spent receiving when timing */ - u_int32_t ifi_xmittiming; /* usec spent xmitting when timing */ - struct IF_DATA_TIMEVAL ifi_lastchange; /* time of last administrative change */ - u_int32_t ifi_unused2; /* used to be the default_proto */ - u_int32_t ifi_hwassist; /* HW offload capabilities */ - u_int32_t ifi_reserved1; /* for future use */ - u_int32_t ifi_reserved2; /* for future use */ -}; - -/* - * Structure describing information about an interface - * which may be of interest to management entities. - */ -struct if_data64 { - /* generic interface information */ - u_char ifi_type; /* ethernet, tokenring, etc */ - u_char ifi_typelen; /* Length of frame type id */ - u_char ifi_physical; /* e.g., AUI, Thinnet, 10base-T, etc */ - u_char ifi_addrlen; /* media address length */ - u_char ifi_hdrlen; /* media header length */ - u_char ifi_recvquota; /* polling quota for receive intrs */ - u_char ifi_xmitquota; /* polling quota for xmit intrs */ - u_char ifi_unused1; /* for future use */ - u_int32_t ifi_mtu; /* maximum transmission unit */ - u_int32_t ifi_metric; /* routing metric (external only) */ - u_int64_t ifi_baudrate; /* linespeed */ - /* volatile statistics */ - u_int64_t ifi_ipackets; /* packets received on interface */ - u_int64_t ifi_ierrors; /* input errors on interface */ - u_int64_t ifi_opackets; /* packets sent on interface */ - u_int64_t ifi_oerrors; /* output errors on interface */ - u_int64_t ifi_collisions; /* collisions on csma interfaces */ - u_int64_t ifi_ibytes; /* total number of octets received */ - u_int64_t ifi_obytes; /* total number of octets sent */ - u_int64_t ifi_imcasts; /* packets received via multicast */ - u_int64_t ifi_omcasts; /* packets sent via multicast */ - u_int64_t ifi_iqdrops; /* dropped on input, this interface */ - u_int64_t ifi_noproto; /* destined for unsupported protocol */ - u_int32_t ifi_recvtiming; /* usec spent receiving when timing */ - u_int32_t ifi_xmittiming; /* usec spent xmitting when timing */ - struct IF_DATA_TIMEVAL ifi_lastchange; /* time of last administrative change */ -}; - - -#pragma pack() - -/* - * Structure defining a queue for a network interface. - */ -struct ifqueue { - void *ifq_head; - void *ifq_tail; - int ifq_len; - int ifq_maxlen; - int ifq_drops; -}; - - - - - - -#endif /* !_NET_IF_VAR_H_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.11-any/net/net_kev.h b/lib/libc/include/any-macos.11-any/net/net_kev.h deleted file mode 100644 index 0919e59ff2..0000000000 --- a/lib/libc/include/any-macos.11-any/net/net_kev.h +++ /dev/null @@ -1,98 +0,0 @@ -/* - * Copyright (c) 2016-2018 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 _NET_NETKEV_H_ -#define _NET_NETKEV_H_ - -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) - -/* Kernel event subclass identifiers for KEV_NETWORK_CLASS */ -#define KEV_INET_SUBCLASS 1 /* inet subclass */ -/* KEV_INET_SUBCLASS event codes */ -#define KEV_INET_NEW_ADDR 1 /* Userland configured IP address */ -#define KEV_INET_CHANGED_ADDR 2 /* Address changed event */ -#define KEV_INET_ADDR_DELETED 3 /* IPv6 address was deleted */ -#define KEV_INET_SIFDSTADDR 4 /* Dest. address was set */ -#define KEV_INET_SIFBRDADDR 5 /* Broadcast address was set */ -#define KEV_INET_SIFNETMASK 6 /* Netmask was set */ -#define KEV_INET_ARPCOLLISION 7 /* ARP collision detected */ -#ifdef __APPLE_API_PRIVATE -#define KEV_INET_PORTINUSE 8 /* use ken_in_portinuse */ -#endif -#define KEV_INET_ARPRTRFAILURE 9 /* ARP resolution failed for router */ -#define KEV_INET_ARPRTRALIVE 10 /* ARP resolution succeeded for router */ - -#define KEV_DL_SUBCLASS 2 /* Data Link subclass */ -/* - * Define Data-Link event subclass, and associated - * events. - */ -#define KEV_DL_SIFFLAGS 1 -#define KEV_DL_SIFMETRICS 2 -#define KEV_DL_SIFMTU 3 -#define KEV_DL_SIFPHYS 4 -#define KEV_DL_SIFMEDIA 5 -#define KEV_DL_SIFGENERIC 6 -#define KEV_DL_ADDMULTI 7 -#define KEV_DL_DELMULTI 8 -#define KEV_DL_IF_ATTACHED 9 -#define KEV_DL_IF_DETACHING 10 -#define KEV_DL_IF_DETACHED 11 -#define KEV_DL_LINK_OFF 12 -#define KEV_DL_LINK_ON 13 -#define KEV_DL_PROTO_ATTACHED 14 -#define KEV_DL_PROTO_DETACHED 15 -#define KEV_DL_LINK_ADDRESS_CHANGED 16 -#define KEV_DL_WAKEFLAGS_CHANGED 17 -#define KEV_DL_IF_IDLE_ROUTE_REFCNT 18 -#define KEV_DL_IFCAP_CHANGED 19 -#define KEV_DL_LINK_QUALITY_METRIC_CHANGED 20 -#define KEV_DL_NODE_PRESENCE 21 -#define KEV_DL_NODE_ABSENCE 22 -#define KEV_DL_MASTER_ELECTED 23 -#define KEV_DL_ISSUES 24 -#define KEV_DL_IFDELEGATE_CHANGED 25 -#define KEV_DL_AWDL_RESTRICTED 26 -#define KEV_DL_AWDL_UNRESTRICTED 27 -#define KEV_DL_RRC_STATE_CHANGED 28 -#define KEV_DL_QOS_MODE_CHANGED 29 -#define KEV_DL_LOW_POWER_MODE_CHANGED 30 - - -#define KEV_INET6_SUBCLASS 6 /* inet6 subclass */ -/* KEV_INET6_SUBCLASS event codes */ -#define KEV_INET6_NEW_USER_ADDR 1 /* Userland configured IPv6 address */ -#define KEV_INET6_CHANGED_ADDR 2 /* Address changed event (future) */ -#define KEV_INET6_ADDR_DELETED 3 /* IPv6 address was deleted */ -#define KEV_INET6_NEW_LL_ADDR 4 /* Autoconf LL address appeared */ -#define KEV_INET6_NEW_RTADV_ADDR 5 /* Autoconf address has appeared */ -#define KEV_INET6_DEFROUTER 6 /* Default router detected */ -#define KEV_INET6_REQUEST_NAT64_PREFIX 7 /* Asking for the NAT64-prefix */ - -#endif /* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */ -#endif /* _NET_NETKEV_H_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.11-any/net/route.h b/lib/libc/include/any-macos.11-any/net/route.h deleted file mode 100644 index af1813eb73..0000000000 --- a/lib/libc/include/any-macos.11-any/net/route.h +++ /dev/null @@ -1,258 +0,0 @@ -/* - * Copyright (c) 2000-2017 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@ - */ -/* - * Copyright (c) 1980, 1986, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)route.h 8.3 (Berkeley) 4/19/94 - * $FreeBSD: src/sys/net/route.h,v 1.36.2.1 2000/08/16 06:14:23 jayanth Exp $ - */ - -#ifndef _NET_ROUTE_H_ -#define _NET_ROUTE_H_ -#include -#include -#include -#include - -/* - * These numbers are used by reliable protocols for determining - * retransmission behavior and are included in the routing structure. - */ -struct rt_metrics { - u_int32_t rmx_locks; /* Kernel leaves these values alone */ - u_int32_t rmx_mtu; /* MTU for this path */ - u_int32_t rmx_hopcount; /* max hops expected */ - int32_t rmx_expire; /* lifetime for route, e.g. redirect */ - u_int32_t rmx_recvpipe; /* inbound delay-bandwidth product */ - u_int32_t rmx_sendpipe; /* outbound delay-bandwidth product */ - u_int32_t rmx_ssthresh; /* outbound gateway buffer limit */ - u_int32_t rmx_rtt; /* estimated round trip time */ - u_int32_t rmx_rttvar; /* estimated rtt variance */ - u_int32_t rmx_pksent; /* packets sent using this route */ - u_int32_t rmx_state; /* route state */ - u_int32_t rmx_filler[3]; /* will be used for TCP's peer-MSS cache */ -}; - -/* - * rmx_rtt and rmx_rttvar are stored as microseconds; - */ -#define RTM_RTTUNIT 1000000 /* units for rtt, rttvar, as units per sec */ - - - -#define RTF_UP 0x1 /* route usable */ -#define RTF_GATEWAY 0x2 /* destination is a gateway */ -#define RTF_HOST 0x4 /* host entry (net otherwise) */ -#define RTF_REJECT 0x8 /* host or net unreachable */ -#define RTF_DYNAMIC 0x10 /* created dynamically (by redirect) */ -#define RTF_MODIFIED 0x20 /* modified dynamically (by redirect) */ -#define RTF_DONE 0x40 /* message confirmed */ -#define RTF_DELCLONE 0x80 /* delete cloned route */ -#define RTF_CLONING 0x100 /* generate new routes on use */ -#define RTF_XRESOLVE 0x200 /* external daemon resolves name */ -#define RTF_LLINFO 0x400 /* DEPRECATED - exists ONLY for backward - * compatibility */ -#define RTF_LLDATA 0x400 /* used by apps to add/del L2 entries */ -#define RTF_STATIC 0x800 /* manually added */ -#define RTF_BLACKHOLE 0x1000 /* just discard pkts (during updates) */ -#define RTF_NOIFREF 0x2000 /* not eligible for RTF_IFREF */ -#define RTF_PROTO2 0x4000 /* protocol specific routing flag */ -#define RTF_PROTO1 0x8000 /* protocol specific routing flag */ - -#define RTF_PRCLONING 0x10000 /* protocol requires cloning */ -#define RTF_WASCLONED 0x20000 /* route generated through cloning */ -#define RTF_PROTO3 0x40000 /* protocol specific routing flag */ - /* 0x80000 unused */ -#define RTF_PINNED 0x100000 /* future use */ -#define RTF_LOCAL 0x200000 /* route represents a local address */ -#define RTF_BROADCAST 0x400000 /* route represents a bcast address */ -#define RTF_MULTICAST 0x800000 /* route represents a mcast address */ -#define RTF_IFSCOPE 0x1000000 /* has valid interface scope */ -#define RTF_CONDEMNED 0x2000000 /* defunct; no longer modifiable */ -#define RTF_IFREF 0x4000000 /* route holds a ref to interface */ -#define RTF_PROXY 0x8000000 /* proxying, no interface scope */ -#define RTF_ROUTER 0x10000000 /* host is a router */ -#define RTF_DEAD 0x20000000 /* Route entry is being freed */ -#define RTF_GLOBAL 0x40000000 /* route to destination of the global internet */ - /* 0x80000000 unassigned */ - -#define RTPRF_OURS RTF_PROTO3 /* set on routes we manage */ -#define RTF_BITS \ - "\020\1UP\2GATEWAY\3HOST\4REJECT\5DYNAMIC\6MODIFIED\7DONE" \ - "\10DELCLONE\11CLONING\12XRESOLVE\13LLINFO\14STATIC\15BLACKHOLE" \ - "\16NOIFREF\17PROTO2\20PROTO1\21PRCLONING\22WASCLONED\23PROTO3" \ - "\25PINNED\26LOCAL\27BROADCAST\30MULTICAST\31IFSCOPE\32CONDEMNED" \ - "\33IFREF\34PROXY\35ROUTER\37GLOBAL" - -#define IS_DIRECT_HOSTROUTE(rt) \ - (((rt)->rt_flags & (RTF_HOST | RTF_GATEWAY)) == RTF_HOST) -/* - * Routing statistics. - */ -struct rtstat { - short rts_badredirect; /* bogus redirect calls */ - short rts_dynamic; /* routes created by redirects */ - short rts_newgateway; /* routes modified by redirects */ - short rts_unreach; /* lookups which failed */ - short rts_wildcard; /* lookups satisfied by a wildcard */ - short rts_badrtgwroute; /* route to gateway is not direct */ -}; - -/* - * Structures for routing messages. - */ -struct rt_msghdr { - u_short rtm_msglen; /* to skip over non-understood messages */ - u_char rtm_version; /* future binary compatibility */ - u_char rtm_type; /* message type */ - u_short rtm_index; /* index for associated ifp */ - int rtm_flags; /* flags, incl. kern & message, e.g. DONE */ - int rtm_addrs; /* bitmask identifying sockaddrs in msg */ - pid_t rtm_pid; /* identify sender */ - int rtm_seq; /* for sender to identify action */ - int rtm_errno; /* why failed */ - int rtm_use; /* from rtentry */ - u_int32_t rtm_inits; /* which metrics we are initializing */ - struct rt_metrics rtm_rmx; /* metrics themselves */ -}; - -struct rt_msghdr2 { - u_short rtm_msglen; /* to skip over non-understood messages */ - u_char rtm_version; /* future binary compatibility */ - u_char rtm_type; /* message type */ - u_short rtm_index; /* index for associated ifp */ - int rtm_flags; /* flags, incl. kern & message, e.g. DONE */ - int rtm_addrs; /* bitmask identifying sockaddrs in msg */ - int32_t rtm_refcnt; /* reference count */ - int rtm_parentflags; /* flags of the parent route */ - int rtm_reserved; /* reserved field set to 0 */ - int rtm_use; /* from rtentry */ - u_int32_t rtm_inits; /* which metrics we are initializing */ - struct rt_metrics rtm_rmx; /* metrics themselves */ -}; - - -#define RTM_VERSION 5 /* Up the ante and ignore older versions */ - -/* - * Message types. - */ -#define RTM_ADD 0x1 /* Add Route */ -#define RTM_DELETE 0x2 /* Delete Route */ -#define RTM_CHANGE 0x3 /* Change Metrics or flags */ -#define RTM_GET 0x4 /* Report Metrics */ -#define RTM_LOSING 0x5 /* RTM_LOSING is no longer generated by xnu - * and is deprecated */ -#define RTM_REDIRECT 0x6 /* Told to use different route */ -#define RTM_MISS 0x7 /* Lookup failed on this address */ -#define RTM_LOCK 0x8 /* fix specified metrics */ -#define RTM_OLDADD 0x9 /* caused by SIOCADDRT */ -#define RTM_OLDDEL 0xa /* caused by SIOCDELRT */ -#define RTM_RESOLVE 0xb /* req to resolve dst to LL addr */ -#define RTM_NEWADDR 0xc /* address being added to iface */ -#define RTM_DELADDR 0xd /* address being removed from iface */ -#define RTM_IFINFO 0xe /* iface going up/down etc. */ -#define RTM_NEWMADDR 0xf /* mcast group membership being added to if */ -#define RTM_DELMADDR 0x10 /* mcast group membership being deleted */ -#define RTM_IFINFO2 0x12 /* */ -#define RTM_NEWMADDR2 0x13 /* */ -#define RTM_GET2 0x14 /* */ - -/* - * Bitmask values for rtm_inits and rmx_locks. - */ -#define RTV_MTU 0x1 /* init or lock _mtu */ -#define RTV_HOPCOUNT 0x2 /* init or lock _hopcount */ -#define RTV_EXPIRE 0x4 /* init or lock _expire */ -#define RTV_RPIPE 0x8 /* init or lock _recvpipe */ -#define RTV_SPIPE 0x10 /* init or lock _sendpipe */ -#define RTV_SSTHRESH 0x20 /* init or lock _ssthresh */ -#define RTV_RTT 0x40 /* init or lock _rtt */ -#define RTV_RTTVAR 0x80 /* init or lock _rttvar */ - -/* - * Bitmask values for rtm_addrs. - */ -#define RTA_DST 0x1 /* destination sockaddr present */ -#define RTA_GATEWAY 0x2 /* gateway sockaddr present */ -#define RTA_NETMASK 0x4 /* netmask sockaddr present */ -#define RTA_GENMASK 0x8 /* cloning mask sockaddr present */ -#define RTA_IFP 0x10 /* interface name sockaddr present */ -#define RTA_IFA 0x20 /* interface addr sockaddr present */ -#define RTA_AUTHOR 0x40 /* sockaddr for author of redirect */ -#define RTA_BRD 0x80 /* for NEWADDR, broadcast or p-p dest addr */ - -/* - * Index offsets for sockaddr array for alternate internal encoding. - */ -#define RTAX_DST 0 /* destination sockaddr present */ -#define RTAX_GATEWAY 1 /* gateway sockaddr present */ -#define RTAX_NETMASK 2 /* netmask sockaddr present */ -#define RTAX_GENMASK 3 /* cloning mask sockaddr present */ -#define RTAX_IFP 4 /* interface name sockaddr present */ -#define RTAX_IFA 5 /* interface addr sockaddr present */ -#define RTAX_AUTHOR 6 /* sockaddr for author of redirect */ -#define RTAX_BRD 7 /* for NEWADDR, broadcast or p-p dest addr */ -#define RTAX_MAX 8 /* size of array to allocate */ - -struct rt_addrinfo { - int rti_addrs; - struct sockaddr *rti_info[RTAX_MAX]; -}; - - -#endif /* _NET_ROUTE_H_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.11-any/netinet6/in6.h b/lib/libc/include/any-macos.11-any/netinet6/in6.h deleted file mode 100644 index b912e8dbe7..0000000000 --- a/lib/libc/include/any-macos.11-any/netinet6/in6.h +++ /dev/null @@ -1,681 +0,0 @@ -/* - * Copyright (c) 2008-2020 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@ - */ - -/* - * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of the project nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -/* - * Copyright (c) 1982, 1986, 1990, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)in.h 8.3 (Berkeley) 1/3/94 - */ - -#ifndef __KAME_NETINET_IN_H_INCLUDED_ -#error "do not include netinet6/in6.h directly, include netinet/in.h. " \ - " see RFC2553" -#endif - -#ifndef _NETINET6_IN6_H_ -#define _NETINET6_IN6_H_ -#include - -#include -#include - -/* - * Identification of the network protocol stack - * for *BSD-current/release: http://www.kame.net/dev/cvsweb.cgi/kame/COVERAGE - * has the table of implementation/integration differences. - */ -#define __KAME__ -#define __KAME_VERSION "2009/apple-darwin" - -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -/* - * Local port number conventions: - * - * Ports < IPPORT_RESERVED are reserved for privileged processes (e.g. root), - * unless a kernel is compiled with IPNOPRIVPORTS defined. - * - * When a user does a bind(2) or connect(2) with a port number of zero, - * a non-conflicting local port address is chosen. - * - * The default range is IPPORT_ANONMIN to IPPORT_ANONMAX, although - * that is settable by sysctl(3); net.inet.ip.anonportmin and - * net.inet.ip.anonportmax respectively. - * - * A user may set the IPPROTO_IP option IP_PORTRANGE to change this - * default assignment range. - * - * The value IP_PORTRANGE_DEFAULT causes the default behavior. - * - * The value IP_PORTRANGE_HIGH is the same as IP_PORTRANGE_DEFAULT, - * and exists only for FreeBSD compatibility purposes. - * - * The value IP_PORTRANGE_LOW changes the range to the "low" are - * that is (by convention) restricted to privileged processes. - * This convention is based on "vouchsafe" principles only. - * It is only secure if you trust the remote host to restrict these ports. - * The range is IPPORT_RESERVEDMIN to IPPORT_RESERVEDMAX. - */ - -#define IPV6PORT_RESERVED 1024 -#define IPV6PORT_ANONMIN 49152 -#define IPV6PORT_ANONMAX 65535 -#define IPV6PORT_RESERVEDMIN 600 -#define IPV6PORT_RESERVEDMAX (IPV6PORT_RESERVED-1) -#endif /* (_POSIX_C_SOURCE && !_DARWIN_C_SOURCE) */ - -/* - * IPv6 address - */ -typedef struct in6_addr { - union { - __uint8_t __u6_addr8[16]; - __uint16_t __u6_addr16[8]; - __uint32_t __u6_addr32[4]; - } __u6_addr; /* 128-bit IP6 address */ -} in6_addr_t; - -#define s6_addr __u6_addr.__u6_addr8 - -#define INET6_ADDRSTRLEN 46 - -/* - * Socket address for IPv6 - */ -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -#define SIN6_LEN -#endif /* (_POSIX_C_SOURCE && !_DARWIN_C_SOURCE) */ -struct sockaddr_in6 { - __uint8_t sin6_len; /* length of this struct(sa_family_t) */ - sa_family_t sin6_family; /* AF_INET6 (sa_family_t) */ - in_port_t sin6_port; /* Transport layer port # (in_port_t) */ - __uint32_t sin6_flowinfo; /* IP6 flow information */ - struct in6_addr sin6_addr; /* IP6 address */ - __uint32_t sin6_scope_id; /* scope zone index */ -}; - - - - - -/* - * Definition of some useful macros to handle IP6 addresses - */ -#define IN6ADDR_ANY_INIT \ - {{{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }}} -#define IN6ADDR_LOOPBACK_INIT \ - {{{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 }}} -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -#define IN6ADDR_NODELOCAL_ALLNODES_INIT \ - {{{ 0xff, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 }}} -#define IN6ADDR_INTFACELOCAL_ALLNODES_INIT \ - {{{ 0xff, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 }}} -#define IN6ADDR_LINKLOCAL_ALLNODES_INIT \ - {{{ 0xff, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 }}} -#define IN6ADDR_LINKLOCAL_ALLROUTERS_INIT \ - {{{ 0xff, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02 }}} -#define IN6ADDR_LINKLOCAL_ALLV2ROUTERS_INIT \ - {{{ 0xff, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16 }}} -#define IN6ADDR_V4MAPPED_INIT \ - {{{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00 }}} -#define IN6ADDR_MULTICAST_PREFIX IN6MASK8 -#endif /* (_POSIX_C_SOURCE && !_DARWIN_C_SOURCE) */ - -extern const struct in6_addr in6addr_any; -extern const struct in6_addr in6addr_loopback; -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -extern const struct in6_addr in6addr_nodelocal_allnodes; -extern const struct in6_addr in6addr_linklocal_allnodes; -extern const struct in6_addr in6addr_linklocal_allrouters; -extern const struct in6_addr in6addr_linklocal_allv2routers; -#endif /* (_POSIX_C_SOURCE && !_DARWIN_C_SOURCE) */ - -/* - * Equality - * NOTE: Some of kernel programming environment (for example, openbsd/sparc) - * does not supply memcmp(). For userland memcmp() is preferred as it is - * in ANSI standard. - */ -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -#define IN6_ARE_ADDR_EQUAL(a, b) \ - (memcmp(&(a)->s6_addr[0], &(b)->s6_addr[0], sizeof (struct in6_addr)) \ - == 0) -#endif /* (_POSIX_C_SOURCE && !_DARWIN_C_SOURCE) */ - - -/* - * Unspecified - */ -#define IN6_IS_ADDR_UNSPECIFIED(a) \ - ((*(const __uint32_t *)(const void *)(&(a)->s6_addr[0]) == 0) && \ - (*(const __uint32_t *)(const void *)(&(a)->s6_addr[4]) == 0) && \ - (*(const __uint32_t *)(const void *)(&(a)->s6_addr[8]) == 0) && \ - (*(const __uint32_t *)(const void *)(&(a)->s6_addr[12]) == 0)) - -/* - * Loopback - */ -#define IN6_IS_ADDR_LOOPBACK(a) \ - ((*(const __uint32_t *)(const void *)(&(a)->s6_addr[0]) == 0) && \ - (*(const __uint32_t *)(const void *)(&(a)->s6_addr[4]) == 0) && \ - (*(const __uint32_t *)(const void *)(&(a)->s6_addr[8]) == 0) && \ - (*(const __uint32_t *)(const void *)(&(a)->s6_addr[12]) == ntohl(1))) - -/* - * IPv4 compatible - */ -#define IN6_IS_ADDR_V4COMPAT(a) \ - ((*(const __uint32_t *)(const void *)(&(a)->s6_addr[0]) == 0) && \ - (*(const __uint32_t *)(const void *)(&(a)->s6_addr[4]) == 0) && \ - (*(const __uint32_t *)(const void *)(&(a)->s6_addr[8]) == 0) && \ - (*(const __uint32_t *)(const void *)(&(a)->s6_addr[12]) != 0) && \ - (*(const __uint32_t *)(const void *)(&(a)->s6_addr[12]) != ntohl(1))) - -/* - * Mapped - */ -#define IN6_IS_ADDR_V4MAPPED(a) \ - ((*(const __uint32_t *)(const void *)(&(a)->s6_addr[0]) == 0) && \ - (*(const __uint32_t *)(const void *)(&(a)->s6_addr[4]) == 0) && \ - (*(const __uint32_t *)(const void *)(&(a)->s6_addr[8]) == \ - ntohl(0x0000ffff))) - -/* - * 6to4 - */ -#define IN6_IS_ADDR_6TO4(x) (ntohs((x)->s6_addr16[0]) == 0x2002) - -/* - * KAME Scope Values - */ - -#define __IPV6_ADDR_SCOPE_NODELOCAL 0x01 -#define __IPV6_ADDR_SCOPE_INTFACELOCAL 0x01 -#define __IPV6_ADDR_SCOPE_LINKLOCAL 0x02 -#define __IPV6_ADDR_SCOPE_SITELOCAL 0x05 -#define __IPV6_ADDR_SCOPE_ORGLOCAL 0x08 /* just used in this file */ -#define __IPV6_ADDR_SCOPE_GLOBAL 0x0e - -/* - * Unicast Scope - * Note that we must check topmost 10 bits only, not 16 bits (see RFC2373). - */ -#define IN6_IS_ADDR_LINKLOCAL(a) \ - (((a)->s6_addr[0] == 0xfe) && (((a)->s6_addr[1] & 0xc0) == 0x80)) -#define IN6_IS_ADDR_SITELOCAL(a) \ - (((a)->s6_addr[0] == 0xfe) && (((a)->s6_addr[1] & 0xc0) == 0xc0)) - -/* - * Multicast - */ -#define IN6_IS_ADDR_MULTICAST(a) ((a)->s6_addr[0] == 0xff) - -#define IPV6_ADDR_MC_FLAGS(a) ((a)->s6_addr[1] & 0xf0) - -#define IPV6_ADDR_MC_FLAGS_TRANSIENT 0x10 -#define IPV6_ADDR_MC_FLAGS_PREFIX 0x20 -#define IPV6_ADDR_MC_FLAGS_UNICAST_BASED (IPV6_ADDR_MC_FLAGS_TRANSIENT | IPV6_ADDR_MC_FLAGS_PREFIX) - -#define IN6_IS_ADDR_UNICAST_BASED_MULTICAST(a) \ - (IN6_IS_ADDR_MULTICAST(a) && \ - (IPV6_ADDR_MC_FLAGS(a) == IPV6_ADDR_MC_FLAGS_UNICAST_BASED)) - -/* - * Unique Local IPv6 Unicast Addresses (per RFC 4193) - */ -#define IN6_IS_ADDR_UNIQUE_LOCAL(a) \ - (((a)->s6_addr[0] == 0xfc) || ((a)->s6_addr[0] == 0xfd)) - -#define __IPV6_ADDR_MC_SCOPE(a) ((a)->s6_addr[1] & 0x0f) - -/* - * Multicast Scope - */ -#define IN6_IS_ADDR_MC_NODELOCAL(a) \ - (IN6_IS_ADDR_MULTICAST(a) && \ - (__IPV6_ADDR_MC_SCOPE(a) == __IPV6_ADDR_SCOPE_NODELOCAL)) -#define IN6_IS_ADDR_MC_LINKLOCAL(a) \ - (IN6_IS_ADDR_MULTICAST(a) && \ - (IPV6_ADDR_MC_FLAGS(a) != IPV6_ADDR_MC_FLAGS_UNICAST_BASED) && \ - (__IPV6_ADDR_MC_SCOPE(a) == __IPV6_ADDR_SCOPE_LINKLOCAL)) -#define IN6_IS_ADDR_MC_SITELOCAL(a) \ - (IN6_IS_ADDR_MULTICAST(a) && \ - (__IPV6_ADDR_MC_SCOPE(a) == __IPV6_ADDR_SCOPE_SITELOCAL)) -#define IN6_IS_ADDR_MC_ORGLOCAL(a) \ - (IN6_IS_ADDR_MULTICAST(a) && \ - (__IPV6_ADDR_MC_SCOPE(a) == __IPV6_ADDR_SCOPE_ORGLOCAL)) -#define IN6_IS_ADDR_MC_GLOBAL(a) \ - (IN6_IS_ADDR_MULTICAST(a) && \ - (__IPV6_ADDR_MC_SCOPE(a) == __IPV6_ADDR_SCOPE_GLOBAL)) - - - - -/* - * Options for use with [gs]etsockopt at the IPV6 level. - * First word of comment is data type; bool is stored in int. - */ -/* no hdrincl */ -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -/* - * RFC 3542 define the following socket options in a manner incompatible - * with RFC 2292: - * IPV6_PKTINFO - * IPV6_HOPLIMIT - * IPV6_NEXTHOP - * IPV6_HOPOPTS - * IPV6_DSTOPTS - * IPV6_RTHDR - * - * To use the new IPv6 Sockets options introduced by RFC 3542 - * the constant __APPLE_USE_RFC_3542 must be defined before - * including - * - * To use the old IPv6 Sockets options from RFC 2292 - * the constant __APPLE_USE_RFC_2292 must be defined before - * including - * - * Note that eventually RFC 3542 is going to be the - * default and RFC 2292 will be obsolete. - */ - -#if defined(__APPLE_USE_RFC_3542) && defined(__APPLE_USE_RFC_2292) -#error "__APPLE_USE_RFC_3542 and __APPLE_USE_RFC_2292 cannot be both defined" -#endif - -#if 0 /* the followings are relic in IPv4 and hence are disabled */ -#define IPV6_OPTIONS 1 /* buf/ip6_opts; set/get IP6 options */ -#define IPV6_RECVOPTS 5 /* bool; receive all IP6 opts w/dgram */ -#define IPV6_RECVRETOPTS 6 /* bool; receive IP6 opts for response */ -#define IPV6_RECVDSTADDR 7 /* bool; receive IP6 dst addr w/dgram */ -#define IPV6_RETOPTS 8 /* ip6_opts; set/get IP6 options */ -#endif /* 0 */ -#define IPV6_SOCKOPT_RESERVED1 3 /* reserved for future use */ -#endif /* (_POSIX_C_SOURCE && !_DARWIN_C_SOURCE) */ -#define IPV6_UNICAST_HOPS 4 /* int; IP6 hops */ -#define IPV6_MULTICAST_IF 9 /* u_int; set/get IP6 multicast i/f */ -#define IPV6_MULTICAST_HOPS 10 /* int; set/get IP6 multicast hops */ -#define IPV6_MULTICAST_LOOP 11 /* u_int; set/get IP6 mcast loopback */ -#define IPV6_JOIN_GROUP 12 /* ip6_mreq; join a group membership */ -#define IPV6_LEAVE_GROUP 13 /* ip6_mreq; leave a group membership */ - -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -#define IPV6_PORTRANGE 14 /* int; range to choose for unspec port */ -#define ICMP6_FILTER 18 /* icmp6_filter; icmp6 filter */ -#define IPV6_2292PKTINFO 19 /* bool; send/recv if, src/dst addr */ -#define IPV6_2292HOPLIMIT 20 /* bool; hop limit */ -#define IPV6_2292NEXTHOP 21 /* bool; next hop addr */ -#define IPV6_2292HOPOPTS 22 /* bool; hop-by-hop option */ -#define IPV6_2292DSTOPTS 23 /* bool; destinaion option */ -#define IPV6_2292RTHDR 24 /* ip6_rthdr: routing header */ - -/* buf/cmsghdr; set/get IPv6 options [obsoleted by RFC3542] */ -#define IPV6_2292PKTOPTIONS 25 - -#ifdef __APPLE_USE_RFC_2292 -#define IPV6_PKTINFO IPV6_2292PKTINFO -#define IPV6_HOPLIMIT IPV6_2292HOPLIMIT -#define IPV6_NEXTHOP IPV6_2292NEXTHOP -#define IPV6_HOPOPTS IPV6_2292HOPOPTS -#define IPV6_DSTOPTS IPV6_2292DSTOPTS -#define IPV6_RTHDR IPV6_2292RTHDR -#define IPV6_PKTOPTIONS IPV6_2292PKTOPTIONS -#endif /* __APPLE_USE_RFC_2292 */ - -#define IPV6_CHECKSUM 26 /* int; checksum offset for raw socket */ -#endif /* (_POSIX_C_SOURCE && !_DARWIN_C_SOURCE) */ -#define IPV6_V6ONLY 27 /* bool; only bind INET6 at wildcard bind */ -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -#define IPV6_BINDV6ONLY IPV6_V6ONLY - - -#if 1 /* IPSEC */ -#define IPV6_IPSEC_POLICY 28 /* struct; get/set security policy */ -#endif /* 1 */ -#define IPV6_FAITH 29 /* deprecated */ - -#if 1 /* IPV6FIREWALL */ -#define IPV6_FW_ADD 30 /* add a firewall rule to chain */ -#define IPV6_FW_DEL 31 /* delete a firewall rule from chain */ -#define IPV6_FW_FLUSH 32 /* flush firewall rule chain */ -#define IPV6_FW_ZERO 33 /* clear single/all firewall counter(s) */ -#define IPV6_FW_GET 34 /* get entire firewall rule chain */ -#endif /* 1 */ - -/* - * APPLE: NOTE the value of those 2 options is kept unchanged from - * previous version of darwin/OS X for binary compatibility reasons - * and differ from FreeBSD (values 57 and 61). See below. - */ -#define IPV6_RECVTCLASS 35 /* bool; recv traffic class values */ -#define IPV6_TCLASS 36 /* int; send traffic class value */ - -#ifdef __APPLE_USE_RFC_3542 -/* new socket options introduced in RFC3542 */ -/* - * ip6_dest; send dst option before rthdr - * APPLE: Value purposely different than FreeBSD (35) to avoid - * collision with definition of IPV6_RECVTCLASS in previous - * darwin implementations - */ -#define IPV6_RTHDRDSTOPTS 57 - -/* - * bool; recv if, dst addr - * APPLE: Value purposely different than FreeBSD(36) to avoid - * collision with definition of IPV6_TCLASS in previous - * darwin implementations - */ -#define IPV6_RECVPKTINFO 61 - -#define IPV6_RECVHOPLIMIT 37 /* bool; recv hop limit */ -#define IPV6_RECVRTHDR 38 /* bool; recv routing header */ -#define IPV6_RECVHOPOPTS 39 /* bool; recv hop-by-hop option */ -#define IPV6_RECVDSTOPTS 40 /* bool; recv dst option after rthdr */ - -#define IPV6_USE_MIN_MTU 42 /* bool; send packets at the minimum MTU */ -#define IPV6_RECVPATHMTU 43 /* bool; notify an according MTU */ - -/* - * mtuinfo; get the current path MTU (sopt), 4 bytes int; - * MTU notification (cmsg) - */ -#define IPV6_PATHMTU 44 - -#if 0 /* obsoleted during 2292bis -> 3542 */ -/* no data; ND reachability confirm (cmsg only/not in of RFC3542) */ -#define IPV6_REACHCONF 45 -#endif -/* more new socket options introduced in RFC3542 */ -#define IPV6_3542PKTINFO 46 /* in6_pktinfo; send if, src addr */ -#define IPV6_3542HOPLIMIT 47 /* int; send hop limit */ -#define IPV6_3542NEXTHOP 48 /* sockaddr; next hop addr */ -#define IPV6_3542HOPOPTS 49 /* ip6_hbh; send hop-by-hop option */ -#define IPV6_3542DSTOPTS 50 /* ip6_dest; send dst option befor rthdr */ -#define IPV6_3542RTHDR 51 /* ip6_rthdr; send routing header */ - -#define IPV6_PKTINFO IPV6_3542PKTINFO -#define IPV6_HOPLIMIT IPV6_3542HOPLIMIT -#define IPV6_NEXTHOP IPV6_3542NEXTHOP -#define IPV6_HOPOPTS IPV6_3542HOPOPTS -#define IPV6_DSTOPTS IPV6_3542DSTOPTS -#define IPV6_RTHDR IPV6_3542RTHDR - -#define IPV6_AUTOFLOWLABEL 59 /* bool; attach flowlabel automagically */ - -#define IPV6_DONTFRAG 62 /* bool; disable IPv6 fragmentation */ - -/* int; prefer temporary addresses as the source address. */ -#define IPV6_PREFER_TEMPADDR 63 - -/* - * The following option is private; do not use it from user applications. - * It is deliberately defined to the same value as IP_MSFILTER. - */ -#define IPV6_MSFILTER 74 /* struct __msfilterreq; */ -#endif /* __APPLE_USE_RFC_3542 */ - -#define IPV6_BOUND_IF 125 /* int; set/get bound interface */ - - -/* to define items, should talk with KAME guys first, for *BSD compatibility */ - -#define IPV6_RTHDR_LOOSE 0 /* this hop need not be a neighbor. */ -#define IPV6_RTHDR_STRICT 1 /* this hop must be a neighbor. */ -#define IPV6_RTHDR_TYPE_0 0 /* IPv6 routing header type 0 */ - -/* - * Defaults and limits for options - */ -#define IPV6_DEFAULT_MULTICAST_HOPS 1 /* normally limit m'casts to 1 hop */ -#define IPV6_DEFAULT_MULTICAST_LOOP 1 /* normally hear sends if a member */ - -/* - * The im6o_membership vector for each socket is now dynamically allocated at - * run-time, bounded by USHRT_MAX, and is reallocated when needed, sized - * according to a power-of-two increment. - */ -#define IPV6_MIN_MEMBERSHIPS 31 -#define IPV6_MAX_MEMBERSHIPS 4095 - -/* - * Default resource limits for IPv6 multicast source filtering. - * These may be modified by sysctl. - */ -#define IPV6_MAX_GROUP_SRC_FILTER 512 /* sources per group */ -#define IPV6_MAX_SOCK_SRC_FILTER 128 /* sources per socket/group */ - -/* - * Argument structure for IPV6_JOIN_GROUP and IPV6_LEAVE_GROUP. - */ -struct ipv6_mreq { - struct in6_addr ipv6mr_multiaddr; - unsigned int ipv6mr_interface; -}; - -/* - * IPV6_2292PKTINFO: Packet information(RFC2292 sec 5) - */ -struct in6_pktinfo { - struct in6_addr ipi6_addr; /* src/dst IPv6 address */ - unsigned int ipi6_ifindex; /* send/recv interface index */ -}; - -/* - * Control structure for IPV6_RECVPATHMTU socket option. - */ -struct ip6_mtuinfo { - struct sockaddr_in6 ip6m_addr; /* or sockaddr_storage? */ - uint32_t ip6m_mtu; -}; - -/* - * Argument for IPV6_PORTRANGE: - * - which range to search when port is unspecified at bind() or connect() - */ -#define IPV6_PORTRANGE_DEFAULT 0 /* default range */ -#define IPV6_PORTRANGE_HIGH 1 /* "high" - request firewall bypass */ -#define IPV6_PORTRANGE_LOW 2 /* "low" - vouchsafe security */ - -/* - * Definitions for inet6 sysctl operations. - * - * Third level is protocol number. - * Fourth level is desired variable within that protocol. - */ -#define IPV6PROTO_MAXID (IPPROTO_PIM + 1) /* don't list to IPV6PROTO_MAX */ - -/* - * Names for IP sysctl objects - */ -#define IPV6CTL_FORWARDING 1 /* act as router */ -#define IPV6CTL_SENDREDIRECTS 2 /* may send redirects when forwarding */ -#define IPV6CTL_DEFHLIM 3 /* default Hop-Limit */ -#ifdef notyet -#define IPV6CTL_DEFMTU 4 /* default MTU */ -#endif -#define IPV6CTL_FORWSRCRT 5 /* forward source-routed dgrams */ -#define IPV6CTL_STATS 6 /* stats */ -#define IPV6CTL_MRTSTATS 7 /* multicast forwarding stats */ -#define IPV6CTL_MRTPROTO 8 /* multicast routing protocol */ -#define IPV6CTL_MAXFRAGPACKETS 9 /* max packets reassembly queue */ -#define IPV6CTL_SOURCECHECK 10 /* verify source route and intf */ -#define IPV6CTL_SOURCECHECK_LOGINT 11 /* minimume logging interval */ -#define IPV6CTL_ACCEPT_RTADV 12 -#define IPV6CTL_KEEPFAITH 13 /* deprecated */ -#define IPV6CTL_LOG_INTERVAL 14 -#define IPV6CTL_HDRNESTLIMIT 15 -#define IPV6CTL_DAD_COUNT 16 -#define IPV6CTL_AUTO_FLOWLABEL 17 -#define IPV6CTL_DEFMCASTHLIM 18 -#define IPV6CTL_GIF_HLIM 19 /* default HLIM for gif encap packet */ -#define IPV6CTL_KAME_VERSION 20 -#define IPV6CTL_USE_DEPRECATED 21 /* use deprec addr (RFC2462 5.5.4) */ -#define IPV6CTL_RR_PRUNE 22 /* walk timer for router renumbering */ -#if 0 /* obsolete */ -#define IPV6CTL_MAPPED_ADDR 23 -#endif -#define IPV6CTL_V6ONLY 24 -#define IPV6CTL_RTEXPIRE 25 /* cloned route expiration time */ -#define IPV6CTL_RTMINEXPIRE 26 /* min value for expiration time */ -#define IPV6CTL_RTMAXCACHE 27 /* trigger level for dynamic expire */ - -#define IPV6CTL_USETEMPADDR 32 /* use temporary addresses [RFC 4941] */ -#define IPV6CTL_TEMPPLTIME 33 /* preferred lifetime for tmpaddrs */ -#define IPV6CTL_TEMPVLTIME 34 /* valid lifetime for tmpaddrs */ -#define IPV6CTL_AUTO_LINKLOCAL 35 /* automatic link-local addr assign */ -#define IPV6CTL_RIP6STATS 36 /* raw_ip6 stats */ -#define IPV6CTL_PREFER_TEMPADDR 37 /* prefer temporary addr as src */ -#define IPV6CTL_ADDRCTLPOLICY 38 /* get/set address selection policy */ -#define IPV6CTL_USE_DEFAULTZONE 39 /* use default scope zone */ - -#define IPV6CTL_MAXFRAGS 41 /* max fragments */ -#define IPV6CTL_MCAST_PMTU 44 /* enable pMTU discovery for mcast? */ - -#define IPV6CTL_NEIGHBORGCTHRESH 46 -#define IPV6CTL_MAXIFPREFIXES 47 -#define IPV6CTL_MAXIFDEFROUTERS 48 -#define IPV6CTL_MAXDYNROUTES 49 -#define ICMPV6CTL_ND6_ONLINKNSRFC4861 50 - -/* New entries should be added here from current IPV6CTL_MAXID value. */ -/* to define items, should talk with KAME guys first, for *BSD compatibility */ -#define IPV6CTL_MAXID 51 - - - - - -__BEGIN_DECLS -struct cmsghdr; - -extern int inet6_option_space(int); -extern int inet6_option_init(void *, struct cmsghdr **, int); -extern int inet6_option_append(struct cmsghdr *, const __uint8_t *, int, int); -extern __uint8_t *inet6_option_alloc(struct cmsghdr *, int, int, int); -extern int inet6_option_next(const struct cmsghdr *, __uint8_t **); -extern int inet6_option_find(const struct cmsghdr *, __uint8_t **, int); - -extern size_t inet6_rthdr_space(int, int); -extern struct cmsghdr *inet6_rthdr_init(void *, int); -extern int inet6_rthdr_add(struct cmsghdr *, const struct in6_addr *, - unsigned int); -extern int inet6_rthdr_lasthop(struct cmsghdr *, unsigned int); -#if 0 /* not implemented yet */ -extern int inet6_rthdr_reverse(const struct cmsghdr *, struct cmsghdr *); -#endif -extern int inet6_rthdr_segments(const struct cmsghdr *); -extern struct in6_addr *inet6_rthdr_getaddr(struct cmsghdr *, int); -extern int inet6_rthdr_getflags(const struct cmsghdr *, int); - -extern int inet6_opt_init(void *, socklen_t); -extern int inet6_opt_append(void *, socklen_t, int, __uint8_t, socklen_t, - __uint8_t, void **); -extern int inet6_opt_finish(void *, socklen_t, int); -extern int inet6_opt_set_val(void *, int, void *, socklen_t); - -extern int inet6_opt_next(void *, socklen_t, int, __uint8_t *, socklen_t *, - void **); -extern int inet6_opt_find(void *, socklen_t, int, __uint8_t, socklen_t *, - void **); -extern int inet6_opt_get_val(void *, int, void *, socklen_t); -extern socklen_t inet6_rth_space(int, int); -extern void *inet6_rth_init(void *, socklen_t, int, int); -extern int inet6_rth_add(void *, const struct in6_addr *); -extern int inet6_rth_reverse(const void *, void *); -extern int inet6_rth_segments(const void *); -extern struct in6_addr *inet6_rth_getaddr(const void *, int); - -__END_DECLS -#endif /* PLATFORM_DriverKit */ -#endif /* !_NETINET6_IN6_H_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.11-any/objc/NSObjCRuntime.h b/lib/libc/include/any-macos.11-any/objc/NSObjCRuntime.h deleted file mode 100644 index c0d01f928e..0000000000 --- a/lib/libc/include/any-macos.11-any/objc/NSObjCRuntime.h +++ /dev/null @@ -1,33 +0,0 @@ -/* NSObjCRuntime.h - Copyright (c) 1994-2012, Apple Inc. All rights reserved. -*/ - -#ifndef _OBJC_NSOBJCRUNTIME_H_ -#define _OBJC_NSOBJCRUNTIME_H_ - -#include -#include - -#if __LP64__ || 0 || NS_BUILD_32_LIKE_64 -typedef long NSInteger; -typedef unsigned long NSUInteger; -#else -typedef int NSInteger; -typedef unsigned int NSUInteger; -#endif - -#define NSIntegerMax LONG_MAX -#define NSIntegerMin LONG_MIN -#define NSUIntegerMax ULONG_MAX - -#define NSINTEGER_DEFINED 1 - -#ifndef NS_DESIGNATED_INITIALIZER -#if __has_attribute(objc_designated_initializer) -#define NS_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer)) -#else -#define NS_DESIGNATED_INITIALIZER -#endif -#endif - -#endif \ No newline at end of file diff --git a/lib/libc/include/any-macos.11-any/objc/message.h b/lib/libc/include/any-macos.11-any/objc/message.h deleted file mode 100644 index 3c9a5e0d08..0000000000 --- a/lib/libc/include/any-macos.11-any/objc/message.h +++ /dev/null @@ -1,388 +0,0 @@ -/* - * Copyright (c) 1999-2007 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 _OBJC_MESSAGE_H -#define _OBJC_MESSAGE_H - -#include -#include - -#ifndef OBJC_SUPER -#define OBJC_SUPER - -/// Specifies the superclass of an instance. -struct objc_super { - /// Specifies an instance of a class. - __unsafe_unretained _Nonnull id receiver; - - /// Specifies the particular superclass of the instance to message. -#if !defined(__cplusplus) && !__OBJC2__ - /* For compatibility with old objc-runtime.h header */ - __unsafe_unretained _Nonnull Class class; -#else - __unsafe_unretained _Nonnull Class super_class; -#endif - /* super_class is the first class to search */ -}; -#endif - - -/* Basic Messaging Primitives - * - * On some architectures, use objc_msgSend_stret for some struct return types. - * On some architectures, use objc_msgSend_fpret for some float return types. - * On some architectures, use objc_msgSend_fp2ret for some float return types. - * - * These functions must be cast to an appropriate function pointer type - * before being called. - */ -#if !OBJC_OLD_DISPATCH_PROTOTYPES -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wincompatible-library-redeclaration" -OBJC_EXPORT void -objc_msgSend(void /* id self, SEL op, ... */ ) - OBJC_AVAILABLE(10.0, 2.0, 9.0, 1.0, 2.0); - -OBJC_EXPORT void -objc_msgSendSuper(void /* struct objc_super *super, SEL op, ... */ ) - OBJC_AVAILABLE(10.0, 2.0, 9.0, 1.0, 2.0); -#pragma clang diagnostic pop -#else -/** - * Sends a message with a simple return value to an instance of a class. - * - * @param self A pointer to the instance of the class that is to receive the message. - * @param op The selector of the method that handles the message. - * @param ... - * A variable argument list containing the arguments to the method. - * - * @return The return value of the method. - * - * @note When it encounters a method call, the compiler generates a call to one of the - * functions \c objc_msgSend, \c objc_msgSend_stret, \c objc_msgSendSuper, or \c objc_msgSendSuper_stret. - * Messages sent to an object’s superclass (using the \c super keyword) are sent using \c objc_msgSendSuper; - * other messages are sent using \c objc_msgSend. Methods that have data structures as return values - * are sent using \c objc_msgSendSuper_stret and \c objc_msgSend_stret. - */ -OBJC_EXPORT id _Nullable -objc_msgSend(id _Nullable self, SEL _Nonnull op, ...) - OBJC_AVAILABLE(10.0, 2.0, 9.0, 1.0, 2.0); -/** - * Sends a message with a simple return value to the superclass of an instance of a class. - * - * @param super A pointer to an \c objc_super data structure. Pass values identifying the - * context the message was sent to, including the instance of the class that is to receive the - * message and the superclass at which to start searching for the method implementation. - * @param op A pointer of type SEL. Pass the selector of the method that will handle the message. - * @param ... - * A variable argument list containing the arguments to the method. - * - * @return The return value of the method identified by \e op. - * - * @see objc_msgSend - */ -OBJC_EXPORT id _Nullable -objc_msgSendSuper(struct objc_super * _Nonnull super, SEL _Nonnull op, ...) - OBJC_AVAILABLE(10.0, 2.0, 9.0, 1.0, 2.0); -#endif - - -/* Struct-returning Messaging Primitives - * - * Use these functions to call methods that return structs on the stack. - * On some architectures, some structures are returned in registers. - * Consult your local function call ABI documentation for details. - * - * These functions must be cast to an appropriate function pointer type - * before being called. - */ -#if !OBJC_OLD_DISPATCH_PROTOTYPES -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wincompatible-library-redeclaration" -OBJC_EXPORT void -objc_msgSend_stret(void /* id self, SEL op, ... */ ) - OBJC_AVAILABLE(10.0, 2.0, 9.0, 1.0, 2.0) - OBJC_ARM64_UNAVAILABLE; - -OBJC_EXPORT void -objc_msgSendSuper_stret(void /* struct objc_super *super, SEL op, ... */ ) - OBJC_AVAILABLE(10.0, 2.0, 9.0, 1.0, 2.0) - OBJC_ARM64_UNAVAILABLE; -#pragma clang diagnostic pop -#else -/** - * Sends a message with a data-structure return value to an instance of a class. - * - * @see objc_msgSend - */ -OBJC_EXPORT void -objc_msgSend_stret(id _Nullable self, SEL _Nonnull op, ...) - OBJC_AVAILABLE(10.0, 2.0, 9.0, 1.0, 2.0) - OBJC_ARM64_UNAVAILABLE; - -/** - * Sends a message with a data-structure return value to the superclass of an instance of a class. - * - * @see objc_msgSendSuper - */ -OBJC_EXPORT void -objc_msgSendSuper_stret(struct objc_super * _Nonnull super, - SEL _Nonnull op, ...) - OBJC_AVAILABLE(10.0, 2.0, 9.0, 1.0, 2.0) - OBJC_ARM64_UNAVAILABLE; -#endif - - -/* Floating-point-returning Messaging Primitives - * - * Use these functions to call methods that return floating-point values - * on the stack. - * Consult your local function call ABI documentation for details. - * - * arm: objc_msgSend_fpret not used - * i386: objc_msgSend_fpret used for `float`, `double`, `long double`. - * x86-64: objc_msgSend_fpret used for `long double`. - * - * arm: objc_msgSend_fp2ret not used - * i386: objc_msgSend_fp2ret not used - * x86-64: objc_msgSend_fp2ret used for `_Complex long double`. - * - * These functions must be cast to an appropriate function pointer type - * before being called. - */ -#if !OBJC_OLD_DISPATCH_PROTOTYPES -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wincompatible-library-redeclaration" - -# if defined(__i386__) - -OBJC_EXPORT void -objc_msgSend_fpret(void /* id self, SEL op, ... */ ) - OBJC_AVAILABLE(10.4, 2.0, 9.0, 1.0, 2.0); - -# elif defined(__x86_64__) - -OBJC_EXPORT void -objc_msgSend_fpret(void /* id self, SEL op, ... */ ) - OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0); - -OBJC_EXPORT void -objc_msgSend_fp2ret(void /* id self, SEL op, ... */ ) - OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0); - -#pragma clang diagnostic pop -# endif - -// !OBJC_OLD_DISPATCH_PROTOTYPES -#else -// OBJC_OLD_DISPATCH_PROTOTYPES -# if defined(__i386__) - -/** - * Sends a message with a floating-point return value to an instance of a class. - * - * @see objc_msgSend - * @note On the i386 platform, the ABI for functions returning a floating-point value is - * incompatible with that for functions returning an integral type. On the i386 platform, therefore, - * you must use \c objc_msgSend_fpret for functions returning non-integral type. For \c float or - * \c long \c double return types, cast the function to an appropriate function pointer type first. - */ -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wincompatible-library-redeclaration" -OBJC_EXPORT double -objc_msgSend_fpret(id _Nullable self, SEL _Nonnull op, ...) - OBJC_AVAILABLE(10.4, 2.0, 9.0, 1.0, 2.0); -#pragma clang diagnostic pop - -/* Use objc_msgSendSuper() for fp-returning messages to super. */ -/* See also objc_msgSendv_fpret() below. */ - -# elif defined(__x86_64__) -/** - * Sends a message with a floating-point return value to an instance of a class. - * - * @see objc_msgSend - */ -OBJC_EXPORT long double -objc_msgSend_fpret(id _Nullable self, SEL _Nonnull op, ...) - OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0); - -# if __STDC_VERSION__ >= 199901L -OBJC_EXPORT _Complex long double -objc_msgSend_fp2ret(id _Nullable self, SEL _Nonnull op, ...) - OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0); -# else -OBJC_EXPORT void objc_msgSend_fp2ret(id _Nullable self, SEL _Nonnull op, ...) - OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0); -# endif - -/* Use objc_msgSendSuper() for fp-returning messages to super. */ -/* See also objc_msgSendv_fpret() below. */ - -# endif - -// OBJC_OLD_DISPATCH_PROTOTYPES -#endif - - -/* Direct Method Invocation Primitives - * Use these functions to call the implementation of a given Method. - * This is faster than calling method_getImplementation() and method_getName(). - * - * The receiver must not be nil. - * - * These functions must be cast to an appropriate function pointer type - * before being called. - */ -#if !OBJC_OLD_DISPATCH_PROTOTYPES -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wincompatible-library-redeclaration" -OBJC_EXPORT void -method_invoke(void /* id receiver, Method m, ... */ ) - OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0); - -OBJC_EXPORT void -method_invoke_stret(void /* id receiver, Method m, ... */ ) - OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0) - OBJC_ARM64_UNAVAILABLE; -#pragma clang diagnostic pop -#else -OBJC_EXPORT id _Nullable -method_invoke(id _Nullable receiver, Method _Nonnull m, ...) - OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0); - -OBJC_EXPORT void -method_invoke_stret(id _Nullable receiver, Method _Nonnull m, ...) - OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0) - OBJC_ARM64_UNAVAILABLE; -#endif - - -/* Message Forwarding Primitives - * Use these functions to forward a message as if the receiver did not - * respond to it. - * - * The receiver must not be nil. - * - * class_getMethodImplementation() may return (IMP)_objc_msgForward. - * class_getMethodImplementation_stret() may return (IMP)_objc_msgForward_stret - * - * These functions must be cast to an appropriate function pointer type - * before being called. - * - * Before Mac OS X 10.6, _objc_msgForward must not be called directly - * but may be compared to other IMP values. - */ -#if !OBJC_OLD_DISPATCH_PROTOTYPES -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wincompatible-library-redeclaration" -OBJC_EXPORT void -_objc_msgForward(void /* id receiver, SEL sel, ... */ ) - OBJC_AVAILABLE(10.0, 2.0, 9.0, 1.0, 2.0); - -OBJC_EXPORT void -_objc_msgForward_stret(void /* id receiver, SEL sel, ... */ ) - OBJC_AVAILABLE(10.6, 3.0, 9.0, 1.0, 2.0) - OBJC_ARM64_UNAVAILABLE; -#pragma clang diagnostic pop -#else -OBJC_EXPORT id _Nullable -_objc_msgForward(id _Nonnull receiver, SEL _Nonnull sel, ...) - OBJC_AVAILABLE(10.0, 2.0, 9.0, 1.0, 2.0); - -OBJC_EXPORT void -_objc_msgForward_stret(id _Nonnull receiver, SEL _Nonnull sel, ...) - OBJC_AVAILABLE(10.6, 3.0, 9.0, 1.0, 2.0) - OBJC_ARM64_UNAVAILABLE; -#endif - - -/* Variable-argument Messaging Primitives - * - * Use these functions to call methods with a list of arguments, such - * as the one passed to forward:: . - * - * The contents of the argument list are architecture-specific. - * Consult your local function call ABI documentation for details. - * - * These functions must be cast to an appropriate function pointer type - * before being called, except for objc_msgSendv_stret() which must not - * be cast to a struct-returning type. - */ - -typedef void* marg_list; - -OBJC_EXPORT id _Nullable -objc_msgSendv(id _Nullable self, SEL _Nonnull op, size_t arg_size, - marg_list _Nonnull arg_frame) - OBJC2_UNAVAILABLE; - -OBJC_EXPORT void -objc_msgSendv_stret(void * _Nonnull stretAddr, id _Nullable self, - SEL _Nonnull op, size_t arg_size, - marg_list _Nullable arg_frame) - OBJC2_UNAVAILABLE; -/* Note that objc_msgSendv_stret() does not return a structure type, - * and should not be cast to do so. This is unlike objc_msgSend_stret() - * and objc_msgSendSuper_stret(). - */ -#if defined(__i386__) -OBJC_EXPORT double -objc_msgSendv_fpret(id _Nullable self, SEL _Nonnull op, - unsigned arg_size, marg_list _Nullable arg_frame) - OBJC2_UNAVAILABLE; -#endif - - -/* The following marg_list macros are of marginal utility. They - * are included for compatibility with the old objc-class.h header. */ - -#if !__OBJC2__ - -#define marg_prearg_size 0 - -#define marg_malloc(margs, method) \ - do { \ - margs = (marg_list *)malloc (marg_prearg_size + ((7 + method_getSizeOfArguments(method)) & ~7)); \ - } while (0) - -#define marg_free(margs) \ - do { \ - free(margs); \ - } while (0) - -#define marg_adjustedOffset(method, offset) \ - (marg_prearg_size + offset) - -#define marg_getRef(margs, offset, type) \ - ( (type *)((char *)margs + marg_adjustedOffset(method,offset) ) ) - -#define marg_getValue(margs, offset, type) \ - ( *marg_getRef(margs, offset, type) ) - -#define marg_setValue(margs, offset, type, value) \ - ( marg_getValue(margs, offset, type) = (value) ) - -#endif - -#endif \ No newline at end of file diff --git a/lib/libc/include/any-macos.11-any/objc/objc-api.h b/lib/libc/include/any-macos.11-any/objc/objc-api.h deleted file mode 100644 index 7f905ae76c..0000000000 --- a/lib/libc/include/any-macos.11-any/objc/objc-api.h +++ /dev/null @@ -1,304 +0,0 @@ -/* - * Copyright (c) 1999-2006 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@ - */ -// Copyright 1988-1996 NeXT Software, Inc. - -#ifndef _OBJC_OBJC_API_H_ -#define _OBJC_OBJC_API_H_ - -#include -#include -#include -#include - -#ifndef __has_feature -# define __has_feature(x) 0 -#endif - -#ifndef __has_extension -# define __has_extension __has_feature -#endif - -#ifndef __has_attribute -# define __has_attribute(x) 0 -#endif - -#if !__has_feature(nullability) -# ifndef _Nullable -# define _Nullable -# endif -# ifndef _Nonnull -# define _Nonnull -# endif -# ifndef _Null_unspecified -# define _Null_unspecified -# endif -#endif - - - -/* - * OBJC_API_VERSION 0 or undef: Tiger and earlier API only - * OBJC_API_VERSION 2: Leopard and later API available - */ -#if !defined(OBJC_API_VERSION) -# if defined(__MAC_OS_X_VERSION_MIN_REQUIRED) && __MAC_OS_X_VERSION_MIN_REQUIRED < __MAC_10_5 -# define OBJC_API_VERSION 0 -# else -# define OBJC_API_VERSION 2 -# endif -#endif - - -/* - * OBJC_NO_GC 1: GC is not supported - * OBJC_NO_GC undef: GC is supported. This SDK no longer supports this mode. - * - * OBJC_NO_GC_API undef: Libraries must export any symbols that - * dual-mode code may links to. - * OBJC_NO_GC_API 1: Libraries need not export GC-related symbols. - */ -#if defined(__OBJC_GC__) -# error Objective-C garbage collection is not supported. -#elif TARGET_OS_OSX - /* GC is unsupported. GC API symbols are exported. */ -# define OBJC_NO_GC 1 -# undef OBJC_NO_GC_API -#else - /* GC is unsupported. GC API symbols are not exported. */ -# define OBJC_NO_GC 1 -# define OBJC_NO_GC_API 1 -#endif - - -/* NS_ENFORCE_NSOBJECT_DESIGNATED_INITIALIZER == 1 - * marks -[NSObject init] as a designated initializer. */ -#if !defined(NS_ENFORCE_NSOBJECT_DESIGNATED_INITIALIZER) -# define NS_ENFORCE_NSOBJECT_DESIGNATED_INITIALIZER 1 -#endif - -/* The arm64 ABI requires proper casting to ensure arguments are passed - * * correctly. */ -#if defined(__arm64__) && !__swift__ -# undef OBJC_OLD_DISPATCH_PROTOTYPES -# define OBJC_OLD_DISPATCH_PROTOTYPES 0 -#endif - -/* OBJC_OLD_DISPATCH_PROTOTYPES == 0 enforces the rule that the dispatch - * functions must be cast to an appropriate function pointer type. */ -#if !defined(OBJC_OLD_DISPATCH_PROTOTYPES) -# if __swift__ - // Existing Swift code expects IMP to be Comparable. - // Variadic IMP is comparable via OpaquePointer; non-variadic IMP isn't. -# define OBJC_OLD_DISPATCH_PROTOTYPES 1 -# else -# define OBJC_OLD_DISPATCH_PROTOTYPES 0 -# endif -#endif - - -/* OBJC_AVAILABLE: shorthand for all-OS availability */ - -# if !defined(OBJC_AVAILABLE) -# define OBJC_AVAILABLE(x, i, t, w, b) \ - __OSX_AVAILABLE(x) __IOS_AVAILABLE(i) __TVOS_AVAILABLE(t) \ - __WATCHOS_AVAILABLE(w) -# endif - - - -/* OBJC_OSX_DEPRECATED_OTHERS_UNAVAILABLE: Deprecated on OS X, - * unavailable everywhere else. */ - -# if !defined(OBJC_OSX_DEPRECATED_OTHERS_UNAVAILABLE) -# define OBJC_OSX_DEPRECATED_OTHERS_UNAVAILABLE(_start, _dep, _msg) \ - __OSX_DEPRECATED(_start, _dep, _msg) \ - __IOS_UNAVAILABLE __TVOS_UNAVAILABLE \ - __WATCHOS_UNAVAILABLE -# endif - - - -/* OBJC_OSX_AVAILABLE_OTHERS_UNAVAILABLE: Available on OS X, - * unavailable everywhere else. */ - -# if !defined(OBJC_OSX_AVAILABLE_OTHERS_UNAVAILABLE) -# define OBJC_OSX_AVAILABLE_OTHERS_UNAVAILABLE(vers) \ - __OSX_AVAILABLE(vers) \ - __IOS_UNAVAILABLE __TVOS_UNAVAILABLE \ - __WATCHOS_UNAVAILABLE -# endif - - - -/* OBJC_ISA_AVAILABILITY: `isa` will be deprecated or unavailable - * in the future */ -#if !defined(OBJC_ISA_AVAILABILITY) -# if __OBJC2__ -# define OBJC_ISA_AVAILABILITY __attribute__((deprecated)) -# else -# define OBJC_ISA_AVAILABILITY /* still available */ -# endif -#endif - - -/* OBJC2_UNAVAILABLE: unavailable in objc 2.0, deprecated in Leopard */ -#if !defined(OBJC2_UNAVAILABLE) -# if __OBJC2__ -# define OBJC2_UNAVAILABLE UNAVAILABLE_ATTRIBUTE -# else - /* plain C code also falls here, but this is close enough */ -# define OBJC2_UNAVAILABLE \ - __OSX_DEPRECATED(10.5, 10.5, "not available in __OBJC2__") \ - __IOS_DEPRECATED(2.0, 2.0, "not available in __OBJC2__") \ - __TVOS_UNAVAILABLE __WATCHOS_UNAVAILABLE -# endif -#endif - -/* OBJC_UNAVAILABLE: unavailable, with a message where supported */ -#if !defined(OBJC_UNAVAILABLE) -# if __has_extension(attribute_unavailable_with_message) -# define OBJC_UNAVAILABLE(_msg) __attribute__((unavailable(_msg))) -# else -# define OBJC_UNAVAILABLE(_msg) __attribute__((unavailable)) -# endif -#endif - -/* OBJC_DEPRECATED: deprecated, with a message where supported */ -#if !defined(OBJC_DEPRECATED) -# if __has_extension(attribute_deprecated_with_message) -# define OBJC_DEPRECATED(_msg) __attribute__((deprecated(_msg))) -# else -# define OBJC_DEPRECATED(_msg) __attribute__((deprecated)) -# endif -#endif - -/* OBJC_ARC_UNAVAILABLE: unavailable with -fobjc-arc */ -#if !defined(OBJC_ARC_UNAVAILABLE) -# if __has_feature(objc_arc) -# define OBJC_ARC_UNAVAILABLE OBJC_UNAVAILABLE("not available in automatic reference counting mode") -# else -# define OBJC_ARC_UNAVAILABLE -# endif -#endif - -/* OBJC_SWIFT_UNAVAILABLE: unavailable in Swift */ -#if !defined(OBJC_SWIFT_UNAVAILABLE) -# if __has_feature(attribute_availability_swift) -# define OBJC_SWIFT_UNAVAILABLE(_msg) __attribute__((availability(swift, unavailable, message=_msg))) -# else -# define OBJC_SWIFT_UNAVAILABLE(_msg) -# endif -#endif - -/* OBJC_ARM64_UNAVAILABLE: unavailable on arm64 (i.e. stret dispatch) */ -#if !defined(OBJC_ARM64_UNAVAILABLE) -# if defined(__arm64__) -# define OBJC_ARM64_UNAVAILABLE OBJC_UNAVAILABLE("not available in arm64") -# else -# define OBJC_ARM64_UNAVAILABLE -# endif -#endif - -/* OBJC_GC_UNAVAILABLE: unavailable with -fobjc-gc or -fobjc-gc-only */ -#if !defined(OBJC_GC_UNAVAILABLE) -# define OBJC_GC_UNAVAILABLE -#endif - -#if !defined(OBJC_EXTERN) -# if defined(__cplusplus) -# define OBJC_EXTERN extern "C" -# else -# define OBJC_EXTERN extern -# endif -#endif - -#if !defined(OBJC_VISIBLE) - -# define OBJC_VISIBLE __attribute__((visibility("default"))) - -#endif - -#if !defined(OBJC_EXPORT) -# define OBJC_EXPORT OBJC_EXTERN OBJC_VISIBLE -#endif - -#if !defined(OBJC_IMPORT) -# define OBJC_IMPORT extern -#endif - -#if !defined(OBJC_ROOT_CLASS) -# if __has_attribute(objc_root_class) -# define OBJC_ROOT_CLASS __attribute__((objc_root_class)) -# else -# define OBJC_ROOT_CLASS -# endif -#endif - -#ifndef __DARWIN_NULL -#define __DARWIN_NULL NULL -#endif - -#if !defined(OBJC_INLINE) -# define OBJC_INLINE __inline -#endif - -// Declares an enum type or option bits type as appropriate for each language. -#if (__cplusplus && __cplusplus >= 201103L && (__has_extension(cxx_strong_enums) || __has_feature(objc_fixed_enum))) || (!__cplusplus && __has_feature(objc_fixed_enum)) -#define OBJC_ENUM(_type, _name) enum _name : _type _name; enum _name : _type -#if (__cplusplus) -#define OBJC_OPTIONS(_type, _name) _type _name; enum : _type -#else -#define OBJC_OPTIONS(_type, _name) enum _name : _type _name; enum _name : _type -#endif -#else -#define OBJC_ENUM(_type, _name) _type _name; enum -#define OBJC_OPTIONS(_type, _name) _type _name; enum -#endif - -#if !defined(OBJC_RETURNS_RETAINED) -# if __OBJC__ && __has_attribute(ns_returns_retained) -# define OBJC_RETURNS_RETAINED __attribute__((ns_returns_retained)) -# else -# define OBJC_RETURNS_RETAINED -# endif -#endif - -/* OBJC_COLD: very rarely called, e.g. on error path */ -#if !defined(OBJC_COLD) -# if __OBJC__ && __has_attribute(cold) -# define OBJC_COLD __attribute__((cold)) -# else -# define OBJC_COLD -# endif -#endif - -/* OBJC_NORETURN: does not return normally, but may throw */ -#if !defined(OBJC_NORETURN) -# if __OBJC__ && __has_attribute(noreturn) -# define OBJC_NORETURN __attribute__((noreturn)) -# else -# define OBJC_NORETURN -# endif -#endif - -#endif \ No newline at end of file diff --git a/lib/libc/include/any-macos.11-any/objc/runtime.h b/lib/libc/include/any-macos.11-any/objc/runtime.h deleted file mode 100644 index 3e4440f632..0000000000 --- a/lib/libc/include/any-macos.11-any/objc/runtime.h +++ /dev/null @@ -1,2164 +0,0 @@ -/* - * Copyright (c) 1999-2007 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 _OBJC_RUNTIME_H -#define _OBJC_RUNTIME_H - -#include -#include -#include -#include -#include -#include - -#if TARGET_OS_MAC -#include -#endif - - -/* Types */ - -#if !OBJC_TYPES_DEFINED - -/// An opaque type that represents a method in a class definition. -typedef struct objc_method *Method; - -/// An opaque type that represents an instance variable. -typedef struct objc_ivar *Ivar; - -/// An opaque type that represents a category. -typedef struct objc_category *Category; - -/// An opaque type that represents an Objective-C declared property. -typedef struct objc_property *objc_property_t; - -struct objc_class { - Class _Nonnull isa OBJC_ISA_AVAILABILITY; - -#if !__OBJC2__ - Class _Nullable super_class OBJC2_UNAVAILABLE; - const char * _Nonnull name OBJC2_UNAVAILABLE; - long version OBJC2_UNAVAILABLE; - long info OBJC2_UNAVAILABLE; - long instance_size OBJC2_UNAVAILABLE; - struct objc_ivar_list * _Nullable ivars OBJC2_UNAVAILABLE; - struct objc_method_list * _Nullable * _Nullable methodLists OBJC2_UNAVAILABLE; - struct objc_cache * _Nonnull cache OBJC2_UNAVAILABLE; - struct objc_protocol_list * _Nullable protocols OBJC2_UNAVAILABLE; -#endif - -} OBJC2_UNAVAILABLE; -/* Use `Class` instead of `struct objc_class *` */ - -#endif - -#ifdef __OBJC__ -@class Protocol; -#else -typedef struct objc_object Protocol; -#endif - -/// Defines a method -struct objc_method_description { - SEL _Nullable name; /**< The name of the method */ - char * _Nullable types; /**< The types of the method arguments */ -}; - -/// Defines a property attribute -typedef struct { - const char * _Nonnull name; /**< The name of the attribute */ - const char * _Nonnull value; /**< The value of the attribute (usually empty) */ -} objc_property_attribute_t; - - -/* Functions */ - -/* Working with Instances */ - -/** - * Returns a copy of a given object. - * - * @param obj An Objective-C object. - * @param size The size of the object \e obj. - * - * @return A copy of \e obj. - */ -OBJC_EXPORT id _Nullable object_copy(id _Nullable obj, size_t size) - OBJC_AVAILABLE(10.0, 2.0, 9.0, 1.0, 2.0) - OBJC_ARC_UNAVAILABLE; - -/** - * Frees the memory occupied by a given object. - * - * @param obj An Objective-C object. - * - * @return nil - */ -OBJC_EXPORT id _Nullable -object_dispose(id _Nullable obj) - OBJC_AVAILABLE(10.0, 2.0, 9.0, 1.0, 2.0) - OBJC_ARC_UNAVAILABLE; - -/** - * Returns the class of an object. - * - * @param obj The object you want to inspect. - * - * @return The class object of which \e object is an instance, - * or \c Nil if \e object is \c nil. - */ -OBJC_EXPORT Class _Nullable -object_getClass(id _Nullable obj) - OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0); - -/** - * Sets the class of an object. - * - * @param obj The object to modify. - * @param cls A class object. - * - * @return The previous value of \e object's class, or \c Nil if \e object is \c nil. - */ -OBJC_EXPORT Class _Nullable -object_setClass(id _Nullable obj, Class _Nonnull cls) - OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0); - - -/** - * Returns whether an object is a class object. - * - * @param obj An Objective-C object. - * - * @return true if the object is a class or metaclass, false otherwise. - */ -OBJC_EXPORT BOOL -object_isClass(id _Nullable obj) - OBJC_AVAILABLE(10.10, 8.0, 9.0, 1.0, 2.0); - - -/** - * Reads the value of an instance variable in an object. - * - * @param obj The object containing the instance variable whose value you want to read. - * @param ivar The Ivar describing the instance variable whose value you want to read. - * - * @return The value of the instance variable specified by \e ivar, or \c nil if \e object is \c nil. - * - * @note \c object_getIvar is faster than \c object_getInstanceVariable if the Ivar - * for the instance variable is already known. - */ -OBJC_EXPORT id _Nullable -object_getIvar(id _Nullable obj, Ivar _Nonnull ivar) - OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0); - -/** - * Sets the value of an instance variable in an object. - * - * @param obj The object containing the instance variable whose value you want to set. - * @param ivar The Ivar describing the instance variable whose value you want to set. - * @param value The new value for the instance variable. - * - * @note Instance variables with known memory management (such as ARC strong and weak) - * use that memory management. Instance variables with unknown memory management - * are assigned as if they were unsafe_unretained. - * @note \c object_setIvar is faster than \c object_setInstanceVariable if the Ivar - * for the instance variable is already known. - */ -OBJC_EXPORT void -object_setIvar(id _Nullable obj, Ivar _Nonnull ivar, id _Nullable value) - OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0); - -/** - * Sets the value of an instance variable in an object. - * - * @param obj The object containing the instance variable whose value you want to set. - * @param ivar The Ivar describing the instance variable whose value you want to set. - * @param value The new value for the instance variable. - * - * @note Instance variables with known memory management (such as ARC strong and weak) - * use that memory management. Instance variables with unknown memory management - * are assigned as if they were strong. - * @note \c object_setIvar is faster than \c object_setInstanceVariable if the Ivar - * for the instance variable is already known. - */ -OBJC_EXPORT void -object_setIvarWithStrongDefault(id _Nullable obj, Ivar _Nonnull ivar, - id _Nullable value) - OBJC_AVAILABLE(10.12, 10.0, 10.0, 3.0, 2.0); - -/** - * Changes the value of an instance variable of a class instance. - * - * @param obj A pointer to an instance of a class. Pass the object containing - * the instance variable whose value you wish to modify. - * @param name A C string. Pass the name of the instance variable whose value you wish to modify. - * @param value The new value for the instance variable. - * - * @return A pointer to the \c Ivar data structure that defines the type and - * name of the instance variable specified by \e name. - * - * @note Instance variables with known memory management (such as ARC strong and weak) - * use that memory management. Instance variables with unknown memory management - * are assigned as if they were unsafe_unretained. - */ -OBJC_EXPORT Ivar _Nullable -object_setInstanceVariable(id _Nullable obj, const char * _Nonnull name, - void * _Nullable value) - OBJC_AVAILABLE(10.0, 2.0, 9.0, 1.0, 2.0) - OBJC_ARC_UNAVAILABLE; - -/** - * Changes the value of an instance variable of a class instance. - * - * @param obj A pointer to an instance of a class. Pass the object containing - * the instance variable whose value you wish to modify. - * @param name A C string. Pass the name of the instance variable whose value you wish to modify. - * @param value The new value for the instance variable. - * - * @return A pointer to the \c Ivar data structure that defines the type and - * name of the instance variable specified by \e name. - * - * @note Instance variables with known memory management (such as ARC strong and weak) - * use that memory management. Instance variables with unknown memory management - * are assigned as if they were strong. - */ -OBJC_EXPORT Ivar _Nullable -object_setInstanceVariableWithStrongDefault(id _Nullable obj, - const char * _Nonnull name, - void * _Nullable value) - OBJC_AVAILABLE(10.12, 10.0, 10.0, 3.0, 2.0) - OBJC_ARC_UNAVAILABLE; - -/** - * Obtains the value of an instance variable of a class instance. - * - * @param obj A pointer to an instance of a class. Pass the object containing - * the instance variable whose value you wish to obtain. - * @param name A C string. Pass the name of the instance variable whose value you wish to obtain. - * @param outValue On return, contains a pointer to the value of the instance variable. - * - * @return A pointer to the \c Ivar data structure that defines the type and name of - * the instance variable specified by \e name. - */ -OBJC_EXPORT Ivar _Nullable -object_getInstanceVariable(id _Nullable obj, const char * _Nonnull name, - void * _Nullable * _Nullable outValue) - OBJC_AVAILABLE(10.0, 2.0, 9.0, 1.0, 2.0) - OBJC_ARC_UNAVAILABLE; - - -/* Obtaining Class Definitions */ - -/** - * Returns the class definition of a specified class. - * - * @param name The name of the class to look up. - * - * @return The Class object for the named class, or \c nil - * if the class is not registered with the Objective-C runtime. - * - * @note \c objc_getClass is different from \c objc_lookUpClass in that if the class - * is not registered, \c objc_getClass calls the class handler callback and then checks - * a second time to see whether the class is registered. \c objc_lookUpClass does - * not call the class handler callback. - * - * @warning Earlier implementations of this function (prior to OS X v10.0) - * terminate the program if the class does not exist. - */ -OBJC_EXPORT Class _Nullable -objc_getClass(const char * _Nonnull name) - OBJC_AVAILABLE(10.0, 2.0, 9.0, 1.0, 2.0); - -/** - * Returns the metaclass definition of a specified class. - * - * @param name The name of the class to look up. - * - * @return The \c Class object for the metaclass of the named class, or \c nil if the class - * is not registered with the Objective-C runtime. - * - * @note If the definition for the named class is not registered, this function calls the class handler - * callback and then checks a second time to see if the class is registered. However, every class - * definition must have a valid metaclass definition, and so the metaclass definition is always returned, - * whether it’s valid or not. - */ -OBJC_EXPORT Class _Nullable -objc_getMetaClass(const char * _Nonnull name) - OBJC_AVAILABLE(10.0, 2.0, 9.0, 1.0, 2.0); - -/** - * Returns the class definition of a specified class. - * - * @param name The name of the class to look up. - * - * @return The Class object for the named class, or \c nil if the class - * is not registered with the Objective-C runtime. - * - * @note \c objc_getClass is different from this function in that if the class is not - * registered, \c objc_getClass calls the class handler callback and then checks a second - * time to see whether the class is registered. This function does not call the class handler callback. - */ -OBJC_EXPORT Class _Nullable -objc_lookUpClass(const char * _Nonnull name) - OBJC_AVAILABLE(10.0, 2.0, 9.0, 1.0, 2.0); - -/** - * Returns the class definition of a specified class. - * - * @param name The name of the class to look up. - * - * @return The Class object for the named class. - * - * @note This function is the same as \c objc_getClass, but kills the process if the class is not found. - * @note This function is used by ZeroLink, where failing to find a class would be a compile-time link error without ZeroLink. - */ -OBJC_EXPORT Class _Nonnull -objc_getRequiredClass(const char * _Nonnull name) - OBJC_AVAILABLE(10.0, 2.0, 9.0, 1.0, 2.0); - -/** - * Obtains the list of registered class definitions. - * - * @param buffer An array of \c Class values. On output, each \c Class value points to - * one class definition, up to either \e bufferCount or the total number of registered classes, - * whichever is less. You can pass \c NULL to obtain the total number of registered class - * definitions without actually retrieving any class definitions. - * @param bufferCount An integer value. Pass the number of pointers for which you have allocated space - * in \e buffer. On return, this function fills in only this number of elements. If this number is less - * than the number of registered classes, this function returns an arbitrary subset of the registered classes. - * - * @return An integer value indicating the total number of registered classes. - * - * @note The Objective-C runtime library automatically registers all the classes defined in your source code. - * You can create class definitions at runtime and register them with the \c objc_addClass function. - * - * @warning You cannot assume that class objects you get from this function are classes that inherit from \c NSObject, - * so you cannot safely call any methods on such classes without detecting that the method is implemented first. - */ -OBJC_EXPORT int -objc_getClassList(Class _Nonnull * _Nullable buffer, int bufferCount) - OBJC_AVAILABLE(10.0, 2.0, 9.0, 1.0, 2.0); - -/** - * Creates and returns a list of pointers to all registered class definitions. - * - * @param outCount An integer pointer used to store the number of classes returned by - * this function in the list. It can be \c nil. - * - * @return A nil terminated array of classes. It must be freed with \c free(). - * - * @see objc_getClassList - */ -OBJC_EXPORT Class _Nonnull * _Nullable -objc_copyClassList(unsigned int * _Nullable outCount) - OBJC_AVAILABLE(10.7, 3.1, 9.0, 1.0, 2.0); - - -/* Working with Classes */ - -/** - * Returns the name of a class. - * - * @param cls A class object. - * - * @return The name of the class, or the empty string if \e cls is \c Nil. - */ -OBJC_EXPORT const char * _Nonnull -class_getName(Class _Nullable cls) - OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0); - -/** - * Returns a Boolean value that indicates whether a class object is a metaclass. - * - * @param cls A class object. - * - * @return \c YES if \e cls is a metaclass, \c NO if \e cls is a non-meta class, - * \c NO if \e cls is \c Nil. - */ -OBJC_EXPORT BOOL -class_isMetaClass(Class _Nullable cls) - OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0); - -/** - * Returns the superclass of a class. - * - * @param cls A class object. - * - * @return The superclass of the class, or \c Nil if - * \e cls is a root class, or \c Nil if \e cls is \c Nil. - * - * @note You should usually use \c NSObject's \c superclass method instead of this function. - */ -OBJC_EXPORT Class _Nullable -class_getSuperclass(Class _Nullable cls) - OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0); - -/** - * Sets the superclass of a given class. - * - * @param cls The class whose superclass you want to set. - * @param newSuper The new superclass for cls. - * - * @return The old superclass for cls. - * - * @warning You should not use this function. - */ -OBJC_EXPORT Class _Nonnull -class_setSuperclass(Class _Nonnull cls, Class _Nonnull newSuper) - __OSX_DEPRECATED(10.5, 10.5, "not recommended") - __IOS_DEPRECATED(2.0, 2.0, "not recommended") - __TVOS_DEPRECATED(9.0, 9.0, "not recommended") - __WATCHOS_DEPRECATED(1.0, 1.0, "not recommended") - -; - -/** - * Returns the version number of a class definition. - * - * @param cls A pointer to a \c Class data structure. Pass - * the class definition for which you wish to obtain the version. - * - * @return An integer indicating the version number of the class definition. - * - * @see class_setVersion - */ -OBJC_EXPORT int -class_getVersion(Class _Nullable cls) - OBJC_AVAILABLE(10.0, 2.0, 9.0, 1.0, 2.0); - -/** - * Sets the version number of a class definition. - * - * @param cls A pointer to an Class data structure. - * Pass the class definition for which you wish to set the version. - * @param version An integer. Pass the new version number of the class definition. - * - * @note You can use the version number of the class definition to provide versioning of the - * interface that your class represents to other classes. This is especially useful for object - * serialization (that is, archiving of the object in a flattened form), where it is important to - * recognize changes to the layout of the instance variables in different class-definition versions. - * @note Classes derived from the Foundation framework \c NSObject class can set the class-definition - * version number using the \c setVersion: class method, which is implemented using the \c class_setVersion function. - */ -OBJC_EXPORT void -class_setVersion(Class _Nullable cls, int version) - OBJC_AVAILABLE(10.0, 2.0, 9.0, 1.0, 2.0); - -/** - * Returns the size of instances of a class. - * - * @param cls A class object. - * - * @return The size in bytes of instances of the class \e cls, or \c 0 if \e cls is \c Nil. - */ -OBJC_EXPORT size_t -class_getInstanceSize(Class _Nullable cls) - OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0); - -/** - * Returns the \c Ivar for a specified instance variable of a given class. - * - * @param cls The class whose instance variable you wish to obtain. - * @param name The name of the instance variable definition to obtain. - * - * @return A pointer to an \c Ivar data structure containing information about - * the instance variable specified by \e name. - */ -OBJC_EXPORT Ivar _Nullable -class_getInstanceVariable(Class _Nullable cls, const char * _Nonnull name) - OBJC_AVAILABLE(10.0, 2.0, 9.0, 1.0, 2.0); - -/** - * Returns the Ivar for a specified class variable of a given class. - * - * @param cls The class definition whose class variable you wish to obtain. - * @param name The name of the class variable definition to obtain. - * - * @return A pointer to an \c Ivar data structure containing information about the class variable specified by \e name. - */ -OBJC_EXPORT Ivar _Nullable -class_getClassVariable(Class _Nullable cls, const char * _Nonnull name) - OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0); - -/** - * Describes the instance variables declared by a class. - * - * @param cls The class to inspect. - * @param outCount On return, contains the length of the returned array. - * If outCount is NULL, the length is not returned. - * - * @return An array of pointers of type Ivar describing the instance variables declared by the class. - * Any instance variables declared by superclasses are not included. The array contains *outCount - * pointers followed by a NULL terminator. You must free the array with free(). - * - * If the class declares no instance variables, or cls is Nil, NULL is returned and *outCount is 0. - */ -OBJC_EXPORT Ivar _Nonnull * _Nullable -class_copyIvarList(Class _Nullable cls, unsigned int * _Nullable outCount) - OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0); - -/** - * Returns a specified instance method for a given class. - * - * @param cls The class you want to inspect. - * @param name The selector of the method you want to retrieve. - * - * @return The method that corresponds to the implementation of the selector specified by - * \e name for the class specified by \e cls, or \c NULL if the specified class or its - * superclasses do not contain an instance method with the specified selector. - * - * @note This function searches superclasses for implementations, whereas \c class_copyMethodList does not. - */ -OBJC_EXPORT Method _Nullable -class_getInstanceMethod(Class _Nullable cls, SEL _Nonnull name) - OBJC_AVAILABLE(10.0, 2.0, 9.0, 1.0, 2.0); - -/** - * Returns a pointer to the data structure describing a given class method for a given class. - * - * @param cls A pointer to a class definition. Pass the class that contains the method you want to retrieve. - * @param name A pointer of type \c SEL. Pass the selector of the method you want to retrieve. - * - * @return A pointer to the \c Method data structure that corresponds to the implementation of the - * selector specified by aSelector for the class specified by aClass, or NULL if the specified - * class or its superclasses do not contain an instance method with the specified selector. - * - * @note Note that this function searches superclasses for implementations, - * whereas \c class_copyMethodList does not. - */ -OBJC_EXPORT Method _Nullable -class_getClassMethod(Class _Nullable cls, SEL _Nonnull name) - OBJC_AVAILABLE(10.0, 2.0, 9.0, 1.0, 2.0); - -/** - * Returns the function pointer that would be called if a - * particular message were sent to an instance of a class. - * - * @param cls The class you want to inspect. - * @param name A selector. - * - * @return The function pointer that would be called if \c [object name] were called - * with an instance of the class, or \c NULL if \e cls is \c Nil. - * - * @note \c class_getMethodImplementation may be faster than \c method_getImplementation(class_getInstanceMethod(cls, name)). - * @note The function pointer returned may be a function internal to the runtime instead of - * an actual method implementation. For example, if instances of the class do not respond to - * the selector, the function pointer returned will be part of the runtime's message forwarding machinery. - */ -OBJC_EXPORT IMP _Nullable -class_getMethodImplementation(Class _Nullable cls, SEL _Nonnull name) - OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0); - -/** - * Returns the function pointer that would be called if a particular - * message were sent to an instance of a class. - * - * @param cls The class you want to inspect. - * @param name A selector. - * - * @return The function pointer that would be called if \c [object name] were called - * with an instance of the class, or \c NULL if \e cls is \c Nil. - */ -OBJC_EXPORT IMP _Nullable -class_getMethodImplementation_stret(Class _Nullable cls, SEL _Nonnull name) - OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0) - OBJC_ARM64_UNAVAILABLE; - -/** - * Returns a Boolean value that indicates whether instances of a class respond to a particular selector. - * - * @param cls The class you want to inspect. - * @param sel A selector. - * - * @return \c YES if instances of the class respond to the selector, otherwise \c NO. - * - * @note You should usually use \c NSObject's \c respondsToSelector: or \c instancesRespondToSelector: - * methods instead of this function. - */ -OBJC_EXPORT BOOL -class_respondsToSelector(Class _Nullable cls, SEL _Nonnull sel) - OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0); - -/** - * Describes the instance methods implemented by a class. - * - * @param cls The class you want to inspect. - * @param outCount On return, contains the length of the returned array. - * If outCount is NULL, the length is not returned. - * - * @return An array of pointers of type Method describing the instance methods - * implemented by the class—any instance methods implemented by superclasses are not included. - * The array contains *outCount pointers followed by a NULL terminator. You must free the array with free(). - * - * If cls implements no instance methods, or cls is Nil, returns NULL and *outCount is 0. - * - * @note To get the class methods of a class, use \c class_copyMethodList(object_getClass(cls), &count). - * @note To get the implementations of methods that may be implemented by superclasses, - * use \c class_getInstanceMethod or \c class_getClassMethod. - */ -OBJC_EXPORT Method _Nonnull * _Nullable -class_copyMethodList(Class _Nullable cls, unsigned int * _Nullable outCount) - OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0); - -/** - * Returns a Boolean value that indicates whether a class conforms to a given protocol. - * - * @param cls The class you want to inspect. - * @param protocol A protocol. - * - * @return YES if cls conforms to protocol, otherwise NO. - * - * @note You should usually use NSObject's conformsToProtocol: method instead of this function. - */ -OBJC_EXPORT BOOL -class_conformsToProtocol(Class _Nullable cls, Protocol * _Nullable protocol) - OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0); - -/** - * Describes the protocols adopted by a class. - * - * @param cls The class you want to inspect. - * @param outCount On return, contains the length of the returned array. - * If outCount is NULL, the length is not returned. - * - * @return An array of pointers of type Protocol* describing the protocols adopted - * by the class. Any protocols adopted by superclasses or other protocols are not included. - * The array contains *outCount pointers followed by a NULL terminator. You must free the array with free(). - * - * If cls adopts no protocols, or cls is Nil, returns NULL and *outCount is 0. - */ -OBJC_EXPORT Protocol * __unsafe_unretained _Nonnull * _Nullable -class_copyProtocolList(Class _Nullable cls, unsigned int * _Nullable outCount) - OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0); - -/** - * Returns a property with a given name of a given class. - * - * @param cls The class you want to inspect. - * @param name The name of the property you want to inspect. - * - * @return A pointer of type \c objc_property_t describing the property, or - * \c NULL if the class does not declare a property with that name, - * or \c NULL if \e cls is \c Nil. - */ -OBJC_EXPORT objc_property_t _Nullable -class_getProperty(Class _Nullable cls, const char * _Nonnull name) - OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0); - -/** - * Describes the properties declared by a class. - * - * @param cls The class you want to inspect. - * @param outCount On return, contains the length of the returned array. - * If \e outCount is \c NULL, the length is not returned. - * - * @return An array of pointers of type \c objc_property_t describing the properties - * declared by the class. Any properties declared by superclasses are not included. - * The array contains \c *outCount pointers followed by a \c NULL terminator. You must free the array with \c free(). - * - * If \e cls declares no properties, or \e cls is \c Nil, returns \c NULL and \c *outCount is \c 0. - */ -OBJC_EXPORT objc_property_t _Nonnull * _Nullable -class_copyPropertyList(Class _Nullable cls, unsigned int * _Nullable outCount) - OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0); - -/** - * Returns a description of the \c Ivar layout for a given class. - * - * @param cls The class to inspect. - * - * @return A description of the \c Ivar layout for \e cls. - */ -OBJC_EXPORT const uint8_t * _Nullable -class_getIvarLayout(Class _Nullable cls) - OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0); - -/** - * Returns a description of the layout of weak Ivars for a given class. - * - * @param cls The class to inspect. - * - * @return A description of the layout of the weak \c Ivars for \e cls. - */ -OBJC_EXPORT const uint8_t * _Nullable -class_getWeakIvarLayout(Class _Nullable cls) - OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0); - -/** - * Adds a new method to a class with a given name and implementation. - * - * @param cls The class to which to add a method. - * @param name A selector that specifies the name of the method being added. - * @param imp A function which is the implementation of the new method. The function must take at least two arguments—self and _cmd. - * @param types An array of characters that describe the types of the arguments to the method. - * - * @return YES if the method was added successfully, otherwise NO - * (for example, the class already contains a method implementation with that name). - * - * @note class_addMethod will add an override of a superclass's implementation, - * but will not replace an existing implementation in this class. - * To change an existing implementation, use method_setImplementation. - */ -OBJC_EXPORT BOOL -class_addMethod(Class _Nullable cls, SEL _Nonnull name, IMP _Nonnull imp, - const char * _Nullable types) - OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0); - -/** - * Replaces the implementation of a method for a given class. - * - * @param cls The class you want to modify. - * @param name A selector that identifies the method whose implementation you want to replace. - * @param imp The new implementation for the method identified by name for the class identified by cls. - * @param types An array of characters that describe the types of the arguments to the method. - * Since the function must take at least two arguments—self and _cmd, the second and third characters - * must be “@:” (the first character is the return type). - * - * @return The previous implementation of the method identified by \e name for the class identified by \e cls. - * - * @note This function behaves in two different ways: - * - If the method identified by \e name does not yet exist, it is added as if \c class_addMethod were called. - * The type encoding specified by \e types is used as given. - * - If the method identified by \e name does exist, its \c IMP is replaced as if \c method_setImplementation were called. - * The type encoding specified by \e types is ignored. - */ -OBJC_EXPORT IMP _Nullable -class_replaceMethod(Class _Nullable cls, SEL _Nonnull name, IMP _Nonnull imp, - const char * _Nullable types) - OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0); - -/** - * Adds a new instance variable to a class. - * - * @return YES if the instance variable was added successfully, otherwise NO - * (for example, the class already contains an instance variable with that name). - * - * @note This function may only be called after objc_allocateClassPair and before objc_registerClassPair. - * Adding an instance variable to an existing class is not supported. - * @note The class must not be a metaclass. Adding an instance variable to a metaclass is not supported. - * @note The instance variable's minimum alignment in bytes is 1< Type Encodings. - */ -OBJC_EXPORT const char * _Nullable -ivar_getTypeEncoding(Ivar _Nonnull v) - OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0); - -/** - * Returns the offset of an instance variable. - * - * @param v The instance variable you want to enquire about. - * - * @return The offset of \e v. - * - * @note For instance variables of type \c id or other object types, call \c object_getIvar - * and \c object_setIvar instead of using this offset to access the instance variable data directly. - */ -OBJC_EXPORT ptrdiff_t -ivar_getOffset(Ivar _Nonnull v) - OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0); - - -/* Working with Properties */ - -/** - * Returns the name of a property. - * - * @param property The property you want to inquire about. - * - * @return A C string containing the property's name. - */ -OBJC_EXPORT const char * _Nonnull -property_getName(objc_property_t _Nonnull property) - OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0); - -/** - * Returns the attribute string of a property. - * - * @param property A property. - * - * @return A C string containing the property's attributes. - * - * @note The format of the attribute string is described in Declared Properties in Objective-C Runtime Programming Guide. - */ -OBJC_EXPORT const char * _Nullable -property_getAttributes(objc_property_t _Nonnull property) - OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0); - -/** - * Returns an array of property attributes for a property. - * - * @param property The property whose attributes you want copied. - * @param outCount The number of attributes returned in the array. - * - * @return An array of property attributes; must be free'd() by the caller. - */ -OBJC_EXPORT objc_property_attribute_t * _Nullable -property_copyAttributeList(objc_property_t _Nonnull property, - unsigned int * _Nullable outCount) - OBJC_AVAILABLE(10.7, 4.3, 9.0, 1.0, 2.0); - -/** - * Returns the value of a property attribute given the attribute name. - * - * @param property The property whose attribute value you are interested in. - * @param attributeName C string representing the attribute name. - * - * @return The value string of the attribute \e attributeName if it exists in - * \e property, \c nil otherwise. - */ -OBJC_EXPORT char * _Nullable -property_copyAttributeValue(objc_property_t _Nonnull property, - const char * _Nonnull attributeName) - OBJC_AVAILABLE(10.7, 4.3, 9.0, 1.0, 2.0); - - -/* Working with Protocols */ - -/** - * Returns a specified protocol. - * - * @param name The name of a protocol. - * - * @return The protocol named \e name, or \c NULL if no protocol named \e name could be found. - * - * @note This function acquires the runtime lock. - */ -OBJC_EXPORT Protocol * _Nullable -objc_getProtocol(const char * _Nonnull name) - OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0); - -/** - * Returns an array of all the protocols known to the runtime. - * - * @param outCount Upon return, contains the number of protocols in the returned array. - * - * @return A C array of all the protocols known to the runtime. The array contains \c *outCount - * pointers followed by a \c NULL terminator. You must free the list with \c free(). - * - * @note This function acquires the runtime lock. - */ -OBJC_EXPORT Protocol * __unsafe_unretained _Nonnull * _Nullable -objc_copyProtocolList(unsigned int * _Nullable outCount) - OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0); - -/** - * Returns a Boolean value that indicates whether one protocol conforms to another protocol. - * - * @param proto A protocol. - * @param other A protocol. - * - * @return \c YES if \e proto conforms to \e other, otherwise \c NO. - * - * @note One protocol can incorporate other protocols using the same syntax - * that classes use to adopt a protocol: - * \code - * @protocol ProtocolName < protocol list > - * \endcode - * All the protocols listed between angle brackets are considered part of the ProtocolName protocol. - */ -OBJC_EXPORT BOOL -protocol_conformsToProtocol(Protocol * _Nullable proto, - Protocol * _Nullable other) - OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0); - -/** - * Returns a Boolean value that indicates whether two protocols are equal. - * - * @param proto A protocol. - * @param other A protocol. - * - * @return \c YES if \e proto is the same as \e other, otherwise \c NO. - */ -OBJC_EXPORT BOOL -protocol_isEqual(Protocol * _Nullable proto, Protocol * _Nullable other) - OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0); - -/** - * Returns the name of a protocol. - * - * @param proto A protocol. - * - * @return The name of the protocol \e p as a C string. - */ -OBJC_EXPORT const char * _Nonnull -protocol_getName(Protocol * _Nonnull proto) - OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0); - -/** - * Returns a method description structure for a specified method of a given protocol. - * - * @param proto A protocol. - * @param aSel A selector. - * @param isRequiredMethod A Boolean value that indicates whether aSel is a required method. - * @param isInstanceMethod A Boolean value that indicates whether aSel is an instance method. - * - * @return An \c objc_method_description structure that describes the method specified by \e aSel, - * \e isRequiredMethod, and \e isInstanceMethod for the protocol \e p. - * If the protocol does not contain the specified method, returns an \c objc_method_description structure - * with the value \c {NULL, \c NULL}. - * - * @note This function recursively searches any protocols that this protocol conforms to. - */ -OBJC_EXPORT struct objc_method_description -protocol_getMethodDescription(Protocol * _Nonnull proto, SEL _Nonnull aSel, - BOOL isRequiredMethod, BOOL isInstanceMethod) - OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0); - -/** - * Returns an array of method descriptions of methods meeting a given specification for a given protocol. - * - * @param proto A protocol. - * @param isRequiredMethod A Boolean value that indicates whether returned methods should - * be required methods (pass YES to specify required methods). - * @param isInstanceMethod A Boolean value that indicates whether returned methods should - * be instance methods (pass YES to specify instance methods). - * @param outCount Upon return, contains the number of method description structures in the returned array. - * - * @return A C array of \c objc_method_description structures containing the names and types of \e p's methods - * specified by \e isRequiredMethod and \e isInstanceMethod. The array contains \c *outCount pointers followed - * by a \c NULL terminator. You must free the list with \c free(). - * If the protocol declares no methods that meet the specification, \c NULL is returned and \c *outCount is 0. - * - * @note Methods in other protocols adopted by this protocol are not included. - */ -OBJC_EXPORT struct objc_method_description * _Nullable -protocol_copyMethodDescriptionList(Protocol * _Nonnull proto, - BOOL isRequiredMethod, - BOOL isInstanceMethod, - unsigned int * _Nullable outCount) - OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0); - -/** - * Returns the specified property of a given protocol. - * - * @param proto A protocol. - * @param name The name of a property. - * @param isRequiredProperty \c YES searches for a required property, \c NO searches for an optional property. - * @param isInstanceProperty \c YES searches for an instance property, \c NO searches for a class property. - * - * @return The property specified by \e name, \e isRequiredProperty, and \e isInstanceProperty for \e proto, - * or \c NULL if none of \e proto's properties meets the specification. - */ -OBJC_EXPORT objc_property_t _Nullable -protocol_getProperty(Protocol * _Nonnull proto, - const char * _Nonnull name, - BOOL isRequiredProperty, BOOL isInstanceProperty) - OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0); - -/** - * Returns an array of the required instance properties declared by a protocol. - * - * @note Identical to - * \code - * protocol_copyPropertyList2(proto, outCount, YES, YES); - * \endcode - */ -OBJC_EXPORT objc_property_t _Nonnull * _Nullable -protocol_copyPropertyList(Protocol * _Nonnull proto, - unsigned int * _Nullable outCount) - OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0); - -/** - * Returns an array of properties declared by a protocol. - * - * @param proto A protocol. - * @param outCount Upon return, contains the number of elements in the returned array. - * @param isRequiredProperty \c YES returns required properties, \c NO returns optional properties. - * @param isInstanceProperty \c YES returns instance properties, \c NO returns class properties. - * - * @return A C array of pointers of type \c objc_property_t describing the properties declared by \e proto. - * Any properties declared by other protocols adopted by this protocol are not included. The array contains - * \c *outCount pointers followed by a \c NULL terminator. You must free the array with \c free(). - * If the protocol declares no matching properties, \c NULL is returned and \c *outCount is \c 0. - */ -OBJC_EXPORT objc_property_t _Nonnull * _Nullable -protocol_copyPropertyList2(Protocol * _Nonnull proto, - unsigned int * _Nullable outCount, - BOOL isRequiredProperty, BOOL isInstanceProperty) - OBJC_AVAILABLE(10.12, 10.0, 10.0, 3.0, 2.0); - -/** - * Returns an array of the protocols adopted by a protocol. - * - * @param proto A protocol. - * @param outCount Upon return, contains the number of elements in the returned array. - * - * @return A C array of protocols adopted by \e proto. The array contains \e *outCount pointers - * followed by a \c NULL terminator. You must free the array with \c free(). - * If the protocol adopts no other protocols, \c NULL is returned and \c *outCount is \c 0. - */ -OBJC_EXPORT Protocol * __unsafe_unretained _Nonnull * _Nullable -protocol_copyProtocolList(Protocol * _Nonnull proto, - unsigned int * _Nullable outCount) - OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0); - -/** - * Creates a new protocol instance that cannot be used until registered with - * \c objc_registerProtocol() - * - * @param name The name of the protocol to create. - * - * @return The Protocol instance on success, \c nil if a protocol - * with the same name already exists. - * @note There is no dispose method for this. - */ -OBJC_EXPORT Protocol * _Nullable -objc_allocateProtocol(const char * _Nonnull name) - OBJC_AVAILABLE(10.7, 4.3, 9.0, 1.0, 2.0); - -/** - * Registers a newly constructed protocol with the runtime. The protocol - * will be ready for use and is immutable after this. - * - * @param proto The protocol you want to register. - */ -OBJC_EXPORT void -objc_registerProtocol(Protocol * _Nonnull proto) - OBJC_AVAILABLE(10.7, 4.3, 9.0, 1.0, 2.0); - -/** - * Adds a method to a protocol. The protocol must be under construction. - * - * @param proto The protocol to add a method to. - * @param name The name of the method to add. - * @param types A C string that represents the method signature. - * @param isRequiredMethod YES if the method is not an optional method. - * @param isInstanceMethod YES if the method is an instance method. - */ -OBJC_EXPORT void -protocol_addMethodDescription(Protocol * _Nonnull proto, SEL _Nonnull name, - const char * _Nullable types, - BOOL isRequiredMethod, BOOL isInstanceMethod) - OBJC_AVAILABLE(10.7, 4.3, 9.0, 1.0, 2.0); - -/** - * Adds an incorporated protocol to another protocol. The protocol being - * added to must still be under construction, while the additional protocol - * must be already constructed. - * - * @param proto The protocol you want to add to, it must be under construction. - * @param addition The protocol you want to incorporate into \e proto, it must be registered. - */ -OBJC_EXPORT void -protocol_addProtocol(Protocol * _Nonnull proto, Protocol * _Nonnull addition) - OBJC_AVAILABLE(10.7, 4.3, 9.0, 1.0, 2.0); - -/** - * Adds a property to a protocol. The protocol must be under construction. - * - * @param proto The protocol to add a property to. - * @param name The name of the property. - * @param attributes An array of property attributes. - * @param attributeCount The number of attributes in \e attributes. - * @param isRequiredProperty YES if the property (accessor methods) is not optional. - * @param isInstanceProperty YES if the property (accessor methods) are instance methods. - * This is the only case allowed fo a property, as a result, setting this to NO will - * not add the property to the protocol at all. - */ -OBJC_EXPORT void -protocol_addProperty(Protocol * _Nonnull proto, const char * _Nonnull name, - const objc_property_attribute_t * _Nullable attributes, - unsigned int attributeCount, - BOOL isRequiredProperty, BOOL isInstanceProperty) - OBJC_AVAILABLE(10.7, 4.3, 9.0, 1.0, 2.0); - - -/* Working with Libraries */ - -/** - * Returns the names of all the loaded Objective-C frameworks and dynamic - * libraries. - * - * @param outCount The number of names returned. - * - * @return An array of C strings of names. Must be free()'d by caller. - */ -OBJC_EXPORT const char * _Nonnull * _Nonnull -objc_copyImageNames(unsigned int * _Nullable outCount) - OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0); - -/** - * Returns the dynamic library name a class originated from. - * - * @param cls The class you are inquiring about. - * - * @return The name of the library containing this class. - */ -OBJC_EXPORT const char * _Nullable -class_getImageName(Class _Nullable cls) - OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0); - -/** - * Returns the names of all the classes within a library. - * - * @param image The library or framework you are inquiring about. - * @param outCount The number of class names returned. - * - * @return An array of C strings representing the class names. - */ -OBJC_EXPORT const char * _Nonnull * _Nullable -objc_copyClassNamesForImage(const char * _Nonnull image, - unsigned int * _Nullable outCount) - OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0); - - -/* Working with Selectors */ - -/** - * Returns the name of the method specified by a given selector. - * - * @param sel A pointer of type \c SEL. Pass the selector whose name you wish to determine. - * - * @return A C string indicating the name of the selector. - */ -OBJC_EXPORT const char * _Nonnull -sel_getName(SEL _Nonnull sel) - OBJC_AVAILABLE(10.0, 2.0, 9.0, 1.0, 2.0); - - -/** - * Registers a method with the Objective-C runtime system, maps the method - * name to a selector, and returns the selector value. - * - * @param str A pointer to a C string. Pass the name of the method you wish to register. - * - * @return A pointer of type SEL specifying the selector for the named method. - * - * @note You must register a method name with the Objective-C runtime system to obtain the - * method’s selector before you can add the method to a class definition. If the method name - * has already been registered, this function simply returns the selector. - */ -OBJC_EXPORT SEL _Nonnull -sel_registerName(const char * _Nonnull str) - OBJC_AVAILABLE(10.0, 2.0, 9.0, 1.0, 2.0); - -/** - * Returns a Boolean value that indicates whether two selectors are equal. - * - * @param lhs The selector to compare with rhs. - * @param rhs The selector to compare with lhs. - * - * @return \c YES if \e lhs and \e rhs are equal, otherwise \c NO. - * - * @note sel_isEqual is equivalent to ==. - */ -OBJC_EXPORT BOOL -sel_isEqual(SEL _Nonnull lhs, SEL _Nonnull rhs) - OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0); - - -/* Objective-C Language Features */ - -/** - * This function is inserted by the compiler when a mutation - * is detected during a foreach iteration. It gets called - * when a mutation occurs, and the enumerationMutationHandler - * is enacted if it is set up. A fatal error occurs if a handler is not set up. - * - * @param obj The object being mutated. - * - */ -OBJC_EXPORT void -objc_enumerationMutation(id _Nonnull obj) - OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0); - -/** - * Sets the current mutation handler. - * - * @param handler Function pointer to the new mutation handler. - */ -OBJC_EXPORT void -objc_setEnumerationMutationHandler(void (*_Nullable handler)(id _Nonnull )) - OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0); - -/** - * Set the function to be called by objc_msgForward. - * - * @param fwd Function to be jumped to by objc_msgForward. - * @param fwd_stret Function to be jumped to by objc_msgForward_stret. - * - * @see message.h::_objc_msgForward - */ -OBJC_EXPORT void -objc_setForwardHandler(void * _Nonnull fwd, void * _Nonnull fwd_stret) - OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0); - -/** - * Creates a pointer to a function that will call the block - * when the method is called. - * - * @param block The block that implements this method. Its signature should - * be: method_return_type ^(id self, method_args...). - * The selector is not available as a parameter to this block. - * The block is copied with \c Block_copy(). - * - * @return The IMP that calls this block. Must be disposed of with - * \c imp_removeBlock. - */ -OBJC_EXPORT IMP _Nonnull -imp_implementationWithBlock(id _Nonnull block) - OBJC_AVAILABLE(10.7, 4.3, 9.0, 1.0, 2.0); - -/** - * Return the block associated with an IMP that was created using - * \c imp_implementationWithBlock. - * - * @param anImp The IMP that calls this block. - * - * @return The block called by \e anImp. - */ -OBJC_EXPORT id _Nullable -imp_getBlock(IMP _Nonnull anImp) - OBJC_AVAILABLE(10.7, 4.3, 9.0, 1.0, 2.0); - -/** - * Disassociates a block from an IMP that was created using - * \c imp_implementationWithBlock and releases the copy of the - * block that was created. - * - * @param anImp An IMP that was created using \c imp_implementationWithBlock. - * - * @return YES if the block was released successfully, NO otherwise. - * (For example, the block might not have been used to create an IMP previously). - */ -OBJC_EXPORT BOOL -imp_removeBlock(IMP _Nonnull anImp) - OBJC_AVAILABLE(10.7, 4.3, 9.0, 1.0, 2.0); - -/** - * This loads the object referenced by a weak pointer and returns it, after - * retaining and autoreleasing the object to ensure that it stays alive - * long enough for the caller to use it. This function would be used - * anywhere a __weak variable is used in an expression. - * - * @param location The weak pointer address - * - * @return The object pointed to by \e location, or \c nil if \e *location is \c nil. - */ -OBJC_EXPORT id _Nullable -objc_loadWeak(id _Nullable * _Nonnull location) - OBJC_AVAILABLE(10.7, 5.0, 9.0, 1.0, 2.0); - -/** - * This function stores a new value into a __weak variable. It would - * be used anywhere a __weak variable is the target of an assignment. - * - * @param location The address of the weak pointer itself - * @param obj The new object this weak ptr should now point to - * - * @return The value stored into \e location, i.e. \e obj - */ -OBJC_EXPORT id _Nullable -objc_storeWeak(id _Nullable * _Nonnull location, id _Nullable obj) - OBJC_AVAILABLE(10.7, 5.0, 9.0, 1.0, 2.0); - - -/* Associative References */ - -/** - * Policies related to associative references. - * These are options to objc_setAssociatedObject() - */ -typedef OBJC_ENUM(uintptr_t, objc_AssociationPolicy) { - OBJC_ASSOCIATION_ASSIGN = 0, /**< Specifies a weak reference to the associated object. */ - OBJC_ASSOCIATION_RETAIN_NONATOMIC = 1, /**< Specifies a strong reference to the associated object. - * The association is not made atomically. */ - OBJC_ASSOCIATION_COPY_NONATOMIC = 3, /**< Specifies that the associated object is copied. - * The association is not made atomically. */ - OBJC_ASSOCIATION_RETAIN = 01401, /**< Specifies a strong reference to the associated object. - * The association is made atomically. */ - OBJC_ASSOCIATION_COPY = 01403 /**< Specifies that the associated object is copied. - * The association is made atomically. */ -}; - -/** - * Sets an associated value for a given object using a given key and association policy. - * - * @param object The source object for the association. - * @param key The key for the association. - * @param value The value to associate with the key key for object. Pass nil to clear an existing association. - * @param policy The policy for the association. For possible values, see “Associative Object Behaviors.” - * - * @see objc_setAssociatedObject - * @see objc_removeAssociatedObjects - */ -OBJC_EXPORT void -objc_setAssociatedObject(id _Nonnull object, const void * _Nonnull key, - id _Nullable value, objc_AssociationPolicy policy) - OBJC_AVAILABLE(10.6, 3.1, 9.0, 1.0, 2.0); - -/** - * Returns the value associated with a given object for a given key. - * - * @param object The source object for the association. - * @param key The key for the association. - * - * @return The value associated with the key \e key for \e object. - * - * @see objc_setAssociatedObject - */ -OBJC_EXPORT id _Nullable -objc_getAssociatedObject(id _Nonnull object, const void * _Nonnull key) - OBJC_AVAILABLE(10.6, 3.1, 9.0, 1.0, 2.0); - -/** - * Removes all associations for a given object. - * - * @param object An object that maintains associated objects. - * - * @note The main purpose of this function is to make it easy to return an object - * to a "pristine state”. You should not use this function for general removal of - * associations from objects, since it also removes associations that other clients - * may have added to the object. Typically you should use \c objc_setAssociatedObject - * with a nil value to clear an association. - * - * @see objc_setAssociatedObject - * @see objc_getAssociatedObject - */ -OBJC_EXPORT void -objc_removeAssociatedObjects(id _Nonnull object) - OBJC_AVAILABLE(10.6, 3.1, 9.0, 1.0, 2.0); - - -/* Hooks for Swift */ - -/** - * Function type for a hook that intercepts class_getImageName(). - * - * @param cls The class whose image name is being looked up. - * @param outImageName On return, the result of the image name lookup. - * @return YES if an image name for this class was found, NO otherwise. - * - * @see class_getImageName - * @see objc_setHook_getImageName - */ -typedef BOOL (*objc_hook_getImageName)(Class _Nonnull cls, const char * _Nullable * _Nonnull outImageName); - -/** - * Install a hook for class_getImageName(). - * - * @param newValue The hook function to install. - * @param outOldValue The address of a function pointer variable. On return, - * the old hook function is stored in the variable. - * - * @note The store to *outOldValue is thread-safe: the variable will be - * updated before class_getImageName() calls your new hook to read it, - * even if your new hook is called from another thread before this - * setter completes. - * @note The first hook in the chain is the native implementation of - * class_getImageName(). Your hook should call the previous hook for - * classes that you do not recognize. - * - * @see class_getImageName - * @see objc_hook_getImageName - */ -OBJC_EXPORT void objc_setHook_getImageName(objc_hook_getImageName _Nonnull newValue, - objc_hook_getImageName _Nullable * _Nonnull outOldValue) - OBJC_AVAILABLE(10.14, 12.0, 12.0, 5.0, 3.0); - -/** - * Function type for a hook that assists objc_getClass() and related functions. - * - * @param name The class name to look up. - * @param outClass On return, the result of the class lookup. - * @return YES if a class with this name was found, NO otherwise. - * - * @see objc_getClass - * @see objc_setHook_getClass - */ -typedef BOOL (*objc_hook_getClass)(const char * _Nonnull name, Class _Nullable * _Nonnull outClass); - -/** - * Install a hook for objc_getClass() and related functions. - * - * @param newValue The hook function to install. - * @param outOldValue The address of a function pointer variable. On return, - * the old hook function is stored in the variable. - * - * @note The store to *outOldValue is thread-safe: the variable will be - * updated before objc_getClass() calls your new hook to read it, - * even if your new hook is called from another thread before this - * setter completes. - * @note Your hook should call the previous hook for class names - * that you do not recognize. - * - * @see objc_getClass - * @see objc_hook_getClass - */ -#if !(TARGET_OS_OSX && __i386__) -#define OBJC_GETCLASSHOOK_DEFINED 1 -OBJC_EXPORT void objc_setHook_getClass(objc_hook_getClass _Nonnull newValue, - objc_hook_getClass _Nullable * _Nonnull outOldValue) - OBJC_AVAILABLE(10.14.4, 12.2, 12.2, 5.2, 3.2); -#endif - -/** - * Function type for a function that is called when an image is loaded. - * - * @param header The newly loaded header. - */ -struct mach_header; -typedef void (*objc_func_loadImage)(const struct mach_header * _Nonnull header); - -/** - * Add a function to be called when a new image is loaded. The function is - * called after ObjC has scanned and fixed up the image. It is called - * BEFORE +load methods are invoked. - * - * When adding a new function, that function is immediately called with all - * images that are currently loaded. It is then called as needed for images - * that are loaded afterwards. - * - * Note: the function is called with ObjC's internal runtime lock held. - * Be VERY careful with what the function does to avoid deadlocks or - * poor performance. - * - * @param func The function to add. - */ -#define OBJC_ADDLOADIMAGEFUNC_DEFINED 1 -OBJC_EXPORT void objc_addLoadImageFunc(objc_func_loadImage _Nonnull func) - OBJC_AVAILABLE(10.15, 13.0, 13.0, 6.0, 4.0); - -/** - * Function type for a hook that provides a name for lazily named classes. - * - * @param cls The class to generate a name for. - * @return The name of the class, or NULL if the name isn't known or can't me generated. - * - * @see objc_setHook_lazyClassNamer - */ -typedef const char * _Nullable (*objc_hook_lazyClassNamer)(_Nonnull Class cls); - -/** - * Install a hook to provide a name for lazily-named classes. - * - * @param newValue The hook function to install. - * @param outOldValue The address of a function pointer variable. On return, - * the old hook function is stored in the variable. - * - * @note The store to *outOldValue is thread-safe: the variable will be - * updated before objc_getClass() calls your new hook to read it, - * even if your new hook is called from another thread before this - * setter completes. - * @note Your hook must call the previous hook for class names - * that you do not recognize. - */ -#if !(TARGET_OS_OSX && __i386__) -#define OBJC_SETHOOK_LAZYCLASSNAMER_DEFINED 1 -OBJC_EXPORT -void objc_setHook_lazyClassNamer(_Nonnull objc_hook_lazyClassNamer newValue, - _Nonnull objc_hook_lazyClassNamer * _Nonnull oldOutValue) - OBJC_AVAILABLE(11.0, 14.0, 14.0, 7.0, 5.0); -#endif - -/** - * Callback from Objective-C to Swift to perform Swift class initialization. - */ -#if !(TARGET_OS_OSX && __i386__) -typedef Class _Nullable -(*_objc_swiftMetadataInitializer)(Class _Nonnull cls, void * _Nullable arg); -#endif - - -/** - * Perform Objective-C initialization of a Swift class. - * Do not call this function. It is provided for the Swift runtime's use only - * and will change without notice or mercy. - */ -#if !(TARGET_OS_OSX && __i386__) -#define OBJC_REALIZECLASSFROMSWIFT_DEFINED 1 -OBJC_EXPORT Class _Nullable -_objc_realizeClassFromSwift(Class _Nullable cls, void * _Nullable previously) - OBJC_AVAILABLE(10.14.4, 12.2, 12.2, 5.2, 3.2); -#endif - - -#define _C_ID '@' -#define _C_CLASS '#' -#define _C_SEL ':' -#define _C_CHR 'c' -#define _C_UCHR 'C' -#define _C_SHT 's' -#define _C_USHT 'S' -#define _C_INT 'i' -#define _C_UINT 'I' -#define _C_LNG 'l' -#define _C_ULNG 'L' -#define _C_LNG_LNG 'q' -#define _C_ULNG_LNG 'Q' -#define _C_FLT 'f' -#define _C_DBL 'd' -#define _C_BFLD 'b' -#define _C_BOOL 'B' -#define _C_VOID 'v' -#define _C_UNDEF '?' -#define _C_PTR '^' -#define _C_CHARPTR '*' -#define _C_ATOM '%' -#define _C_ARY_B '[' -#define _C_ARY_E ']' -#define _C_UNION_B '(' -#define _C_UNION_E ')' -#define _C_STRUCT_B '{' -#define _C_STRUCT_E '}' -#define _C_VECTOR '!' -#define _C_CONST 'r' - - -/* Obsolete types */ - -#if !__OBJC2__ - -#define CLS_GETINFO(cls,infomask) ((cls)->info & (infomask)) -#define CLS_SETINFO(cls,infomask) ((cls)->info |= (infomask)) - -// class is not a metaclass -#define CLS_CLASS 0x1 -// class is a metaclass -#define CLS_META 0x2 -// class's +initialize method has completed -#define CLS_INITIALIZED 0x4 -// class is posing -#define CLS_POSING 0x8 -// unused -#define CLS_MAPPED 0x10 -// class and subclasses need cache flush during image loading -#define CLS_FLUSH_CACHE 0x20 -// method cache should grow when full -#define CLS_GROW_CACHE 0x40 -// unused -#define CLS_NEED_BIND 0x80 -// methodLists is array of method lists -#define CLS_METHOD_ARRAY 0x100 -// the JavaBridge constructs classes with these markers -#define CLS_JAVA_HYBRID 0x200 -#define CLS_JAVA_CLASS 0x400 -// thread-safe +initialize -#define CLS_INITIALIZING 0x800 -// bundle unloading -#define CLS_FROM_BUNDLE 0x1000 -// C++ ivar support -#define CLS_HAS_CXX_STRUCTORS 0x2000 -// Lazy method list arrays -#define CLS_NO_METHOD_ARRAY 0x4000 -// +load implementation -#define CLS_HAS_LOAD_METHOD 0x8000 -// objc_allocateClassPair API -#define CLS_CONSTRUCTING 0x10000 -// class compiled with bigger class structure -#define CLS_EXT 0x20000 - - -struct objc_method_description_list { - int count; - struct objc_method_description list[1]; -}; - - -struct objc_protocol_list { - struct objc_protocol_list * _Nullable next; - long count; - __unsafe_unretained Protocol * _Nullable list[1]; -}; - - -struct objc_category { - char * _Nonnull category_name OBJC2_UNAVAILABLE; - char * _Nonnull class_name OBJC2_UNAVAILABLE; - struct objc_method_list * _Nullable instance_methods OBJC2_UNAVAILABLE; - struct objc_method_list * _Nullable class_methods OBJC2_UNAVAILABLE; - struct objc_protocol_list * _Nullable protocols OBJC2_UNAVAILABLE; -} OBJC2_UNAVAILABLE; - - -struct objc_ivar { - char * _Nullable ivar_name OBJC2_UNAVAILABLE; - char * _Nullable ivar_type OBJC2_UNAVAILABLE; - int ivar_offset OBJC2_UNAVAILABLE; -#ifdef __LP64__ - int space OBJC2_UNAVAILABLE; -#endif -} OBJC2_UNAVAILABLE; - -struct objc_ivar_list { - int ivar_count OBJC2_UNAVAILABLE; -#ifdef __LP64__ - int space OBJC2_UNAVAILABLE; -#endif - /* variable length structure */ - struct objc_ivar ivar_list[1] OBJC2_UNAVAILABLE; -} OBJC2_UNAVAILABLE; - - -struct objc_method { - SEL _Nonnull method_name OBJC2_UNAVAILABLE; - char * _Nullable method_types OBJC2_UNAVAILABLE; - IMP _Nonnull method_imp OBJC2_UNAVAILABLE; -} OBJC2_UNAVAILABLE; - -struct objc_method_list { - struct objc_method_list * _Nullable obsolete OBJC2_UNAVAILABLE; - - int method_count OBJC2_UNAVAILABLE; -#ifdef __LP64__ - int space OBJC2_UNAVAILABLE; -#endif - /* variable length structure */ - struct objc_method method_list[1] OBJC2_UNAVAILABLE; -} OBJC2_UNAVAILABLE; - - -typedef struct objc_symtab *Symtab OBJC2_UNAVAILABLE; - -struct objc_symtab { - unsigned long sel_ref_cnt OBJC2_UNAVAILABLE; - SEL _Nonnull * _Nullable refs OBJC2_UNAVAILABLE; - unsigned short cls_def_cnt OBJC2_UNAVAILABLE; - unsigned short cat_def_cnt OBJC2_UNAVAILABLE; - void * _Nullable defs[1] /* variable size */ OBJC2_UNAVAILABLE; -} OBJC2_UNAVAILABLE; - - -typedef struct objc_cache *Cache OBJC2_UNAVAILABLE; - -#define CACHE_BUCKET_NAME(B) ((B)->method_name) -#define CACHE_BUCKET_IMP(B) ((B)->method_imp) -#define CACHE_BUCKET_VALID(B) (B) -#ifndef __LP64__ -#define CACHE_HASH(sel, mask) (((uintptr_t)(sel)>>2) & (mask)) -#else -#define CACHE_HASH(sel, mask) (((unsigned int)((uintptr_t)(sel)>>3)) & (mask)) -#endif -struct objc_cache { - unsigned int mask /* total = mask + 1 */ OBJC2_UNAVAILABLE; - unsigned int occupied OBJC2_UNAVAILABLE; - Method _Nullable buckets[1] OBJC2_UNAVAILABLE; -}; - - -typedef struct objc_module *Module OBJC2_UNAVAILABLE; - -struct objc_module { - unsigned long version OBJC2_UNAVAILABLE; - unsigned long size OBJC2_UNAVAILABLE; - const char * _Nullable name OBJC2_UNAVAILABLE; - Symtab _Nullable symtab OBJC2_UNAVAILABLE; -} OBJC2_UNAVAILABLE; - -#else - -struct objc_method_list; - -#endif - - -/* Obsolete functions */ - -OBJC_EXPORT IMP _Nullable -class_lookupMethod(Class _Nullable cls, SEL _Nonnull sel) - __OSX_DEPRECATED(10.0, 10.5, "use class_getMethodImplementation instead") - __IOS_DEPRECATED(2.0, 2.0, "use class_getMethodImplementation instead") - __TVOS_DEPRECATED(9.0, 9.0, "use class_getMethodImplementation instead") - __WATCHOS_DEPRECATED(1.0, 1.0, "use class_getMethodImplementation instead") - -; -OBJC_EXPORT BOOL -class_respondsToMethod(Class _Nullable cls, SEL _Nonnull sel) - __OSX_DEPRECATED(10.0, 10.5, "use class_respondsToSelector instead") - __IOS_DEPRECATED(2.0, 2.0, "use class_respondsToSelector instead") - __TVOS_DEPRECATED(9.0, 9.0, "use class_respondsToSelector instead") - __WATCHOS_DEPRECATED(1.0, 1.0, "use class_respondsToSelector instead") - -; - -OBJC_EXPORT void -_objc_flush_caches(Class _Nullable cls) - __OSX_DEPRECATED(10.0, 10.5, "not recommended") - __IOS_DEPRECATED(2.0, 2.0, "not recommended") - __TVOS_DEPRECATED(9.0, 9.0, "not recommended") - __WATCHOS_DEPRECATED(1.0, 1.0, "not recommended") - -; - -OBJC_EXPORT id _Nullable -object_copyFromZone(id _Nullable anObject, size_t nBytes, void * _Nullable z) - OBJC_OSX_DEPRECATED_OTHERS_UNAVAILABLE(10.0, 10.5, "use object_copy instead"); - -OBJC_EXPORT id _Nullable -object_realloc(id _Nullable anObject, size_t nBytes) - OBJC2_UNAVAILABLE; - -OBJC_EXPORT id _Nullable -object_reallocFromZone(id _Nullable anObject, size_t nBytes, void * _Nullable z) - OBJC2_UNAVAILABLE; - -#define OBSOLETE_OBJC_GETCLASSES 1 -OBJC_EXPORT void * _Nonnull -objc_getClasses(void) - OBJC2_UNAVAILABLE; - -OBJC_EXPORT void -objc_addClass(Class _Nonnull myClass) - OBJC2_UNAVAILABLE; - -OBJC_EXPORT void -objc_setClassHandler(int (* _Nullable )(const char * _Nonnull)) - OBJC2_UNAVAILABLE; - -OBJC_EXPORT void -objc_setMultithreaded(BOOL flag) - OBJC2_UNAVAILABLE; - -OBJC_EXPORT id _Nullable -class_createInstanceFromZone(Class _Nullable, size_t idxIvars, - void * _Nullable z) - OBJC_OSX_DEPRECATED_OTHERS_UNAVAILABLE(10.0, 10.5, "use class_createInstance instead"); - -OBJC_EXPORT void -class_addMethods(Class _Nullable, struct objc_method_list * _Nonnull) - OBJC2_UNAVAILABLE; - -OBJC_EXPORT void -class_removeMethods(Class _Nullable, struct objc_method_list * _Nonnull) - OBJC2_UNAVAILABLE; - -OBJC_EXPORT void -_objc_resolve_categories_for_class(Class _Nonnull cls) - OBJC2_UNAVAILABLE; - -OBJC_EXPORT Class _Nonnull -class_poseAs(Class _Nonnull imposter, Class _Nonnull original) - OBJC2_UNAVAILABLE; - -OBJC_EXPORT unsigned int -method_getSizeOfArguments(Method _Nonnull m) - OBJC2_UNAVAILABLE; - -OBJC_EXPORT unsigned -method_getArgumentInfo(struct objc_method * _Nonnull m, int arg, - const char * _Nullable * _Nonnull type, - int * _Nonnull offset) - UNAVAILABLE_ATTRIBUTE // This function was accidentally deleted in 10.9. - OBJC2_UNAVAILABLE; - -OBJC_EXPORT Class _Nullable -objc_getOrigClass(const char * _Nonnull name) - OBJC2_UNAVAILABLE; - -#define OBJC_NEXT_METHOD_LIST 1 -OBJC_EXPORT struct objc_method_list * _Nullable -class_nextMethodList(Class _Nullable, void * _Nullable * _Nullable) - OBJC2_UNAVAILABLE; -// usage for nextMethodList -// -// void *iterator = 0; -// struct objc_method_list *mlist; -// while ( mlist = class_nextMethodList( cls, &iterator ) ) -// ; - -OBJC_EXPORT id _Nullable -(* _Nonnull _alloc)(Class _Nullable, size_t) - OBJC2_UNAVAILABLE; - -OBJC_EXPORT id _Nullable -(* _Nonnull _copy)(id _Nullable, size_t) - OBJC2_UNAVAILABLE; - -OBJC_EXPORT id _Nullable -(* _Nonnull _realloc)(id _Nullable, size_t) - OBJC2_UNAVAILABLE; - -OBJC_EXPORT id _Nullable -(* _Nonnull _dealloc)(id _Nullable) - OBJC2_UNAVAILABLE; - -OBJC_EXPORT id _Nullable -(* _Nonnull _zoneAlloc)(Class _Nullable, size_t, void * _Nullable) - OBJC2_UNAVAILABLE; - -OBJC_EXPORT id _Nullable -(* _Nonnull _zoneRealloc)(id _Nullable, size_t, void * _Nullable) - OBJC2_UNAVAILABLE; - -OBJC_EXPORT id _Nullable -(* _Nonnull _zoneCopy)(id _Nullable, size_t, void * _Nullable) - OBJC2_UNAVAILABLE; - -OBJC_EXPORT void -(* _Nonnull _error)(id _Nullable, const char * _Nonnull, va_list) - OBJC2_UNAVAILABLE; - -#endif \ No newline at end of file diff --git a/lib/libc/include/any-macos.11-any/os/base.h b/lib/libc/include/any-macos.11-any/os/base.h deleted file mode 100644 index a630138a10..0000000000 --- a/lib/libc/include/any-macos.11-any/os/base.h +++ /dev/null @@ -1,322 +0,0 @@ -/* - * Copyright (c) 2008-2020 Apple Inc. All rights reserved. - * - * @APPLE_APACHE_LICENSE_HEADER_START@ - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * @APPLE_APACHE_LICENSE_HEADER_END@ - */ - -#ifndef __OS_BASE__ -#define __OS_BASE__ - -#include - - -#ifndef __has_builtin -#define __has_builtin(x) 0 -#endif -#ifndef __has_include -#define __has_include(x) 0 -#endif -#ifndef __has_feature -#define __has_feature(x) 0 -#endif -#ifndef __has_attribute -#define __has_attribute(x) 0 -#endif -#ifndef __has_extension -#define __has_extension(x) 0 -#endif - -#undef OS_INLINE // -#if __GNUC__ -#define OS_NORETURN __attribute__((__noreturn__)) -#define OS_NOTHROW __attribute__((__nothrow__)) -#define OS_NONNULL1 __attribute__((__nonnull__(1))) -#define OS_NONNULL2 __attribute__((__nonnull__(2))) -#define OS_NONNULL3 __attribute__((__nonnull__(3))) -#define OS_NONNULL4 __attribute__((__nonnull__(4))) -#define OS_NONNULL5 __attribute__((__nonnull__(5))) -#define OS_NONNULL6 __attribute__((__nonnull__(6))) -#define OS_NONNULL7 __attribute__((__nonnull__(7))) -#define OS_NONNULL8 __attribute__((__nonnull__(8))) -#define OS_NONNULL9 __attribute__((__nonnull__(9))) -#define OS_NONNULL10 __attribute__((__nonnull__(10))) -#define OS_NONNULL11 __attribute__((__nonnull__(11))) -#define OS_NONNULL12 __attribute__((__nonnull__(12))) -#define OS_NONNULL13 __attribute__((__nonnull__(13))) -#define OS_NONNULL14 __attribute__((__nonnull__(14))) -#define OS_NONNULL15 __attribute__((__nonnull__(15))) -#define OS_NONNULL_ALL __attribute__((__nonnull__)) -#define OS_SENTINEL __attribute__((__sentinel__)) -#define OS_PURE __attribute__((__pure__)) -#define OS_CONST __attribute__((__const__)) -#define OS_WARN_RESULT __attribute__((__warn_unused_result__)) -#define OS_MALLOC __attribute__((__malloc__)) -#define OS_USED __attribute__((__used__)) -#define OS_UNUSED __attribute__((__unused__)) -#define OS_COLD __attribute__((__cold__)) -#define OS_WEAK __attribute__((__weak__)) -#define OS_WEAK_IMPORT __attribute__((__weak_import__)) -#define OS_NOINLINE __attribute__((__noinline__)) -#define OS_ALWAYS_INLINE __attribute__((__always_inline__)) -#define OS_TRANSPARENT_UNION __attribute__((__transparent_union__)) -#define OS_ALIGNED(n) __attribute__((__aligned__((n)))) -#define OS_FORMAT_PRINTF(x, y) __attribute__((__format__(printf,x,y))) -#define OS_EXPORT extern __attribute__((__visibility__("default"))) -#define OS_INLINE static __inline__ -#define OS_EXPECT(x, v) __builtin_expect((x), (v)) -#else -#define OS_NORETURN -#define OS_NOTHROW -#define OS_NONNULL1 -#define OS_NONNULL2 -#define OS_NONNULL3 -#define OS_NONNULL4 -#define OS_NONNULL5 -#define OS_NONNULL6 -#define OS_NONNULL7 -#define OS_NONNULL8 -#define OS_NONNULL9 -#define OS_NONNULL10 -#define OS_NONNULL11 -#define OS_NONNULL12 -#define OS_NONNULL13 -#define OS_NONNULL14 -#define OS_NONNULL15 -#define OS_NONNULL_ALL -#define OS_SENTINEL -#define OS_PURE -#define OS_CONST -#define OS_WARN_RESULT -#define OS_MALLOC -#define OS_USED -#define OS_UNUSED -#define OS_COLD -#define OS_WEAK -#define OS_WEAK_IMPORT -#define OS_NOINLINE -#define OS_ALWAYS_INLINE -#define OS_TRANSPARENT_UNION -#define OS_ALIGNED(n) -#define OS_FORMAT_PRINTF(x, y) -#define OS_EXPORT extern -#define OS_INLINE static inline -#define OS_EXPECT(x, v) (x) -#endif - -#if __has_attribute(noescape) -#define OS_NOESCAPE __attribute__((__noescape__)) -#else -#define OS_NOESCAPE -#endif - -#if defined(__cplusplus) && defined(__clang__) -#define OS_FALLTHROUGH [[clang::fallthrough]] -#elif __has_attribute(fallthrough) -#define OS_FALLTHROUGH __attribute__((__fallthrough__)) -#else -#define OS_FALLTHROUGH -#endif - -#if __has_feature(assume_nonnull) -#define OS_ASSUME_NONNULL_BEGIN _Pragma("clang assume_nonnull begin") -#define OS_ASSUME_NONNULL_END _Pragma("clang assume_nonnull end") -#else -#define OS_ASSUME_NONNULL_BEGIN -#define OS_ASSUME_NONNULL_END -#endif - -#if __has_builtin(__builtin_assume) -#define OS_COMPILER_CAN_ASSUME(expr) __builtin_assume(expr) -#else -#define OS_COMPILER_CAN_ASSUME(expr) ((void)(expr)) -#endif - -#if __has_extension(attribute_overloadable) -#define OS_OVERLOADABLE __attribute__((__overloadable__)) -#else -#define OS_OVERLOADABLE -#endif - -#if __has_attribute(enum_extensibility) -#define __OS_ENUM_ATTR __attribute__((enum_extensibility(open))) -#define __OS_ENUM_ATTR_CLOSED __attribute__((enum_extensibility(closed))) -#else -#define __OS_ENUM_ATTR -#define __OS_ENUM_ATTR_CLOSED -#endif // __has_attribute(enum_extensibility) - -#if __has_attribute(flag_enum) -/*! - * Compile with -Wflag-enum and -Wassign-enum to enforce at definition and - * assignment, respectively, i.e. -Wflag-enum prevents you from creating new - * enumeration values from illegal values within the enum definition, and - * -Wassign-enum prevents you from assigning illegal values to a variable of the - * enum type. - */ -#define __OS_OPTIONS_ATTR __attribute__((flag_enum)) -#else -#define __OS_OPTIONS_ATTR -#endif // __has_attribute(flag_enum) - -#if __has_feature(objc_fixed_enum) || __has_extension(cxx_fixed_enum) || \ - __has_extension(cxx_strong_enums) -#define OS_ENUM(_name, _type, ...) \ - typedef enum : _type { __VA_ARGS__ } _name##_t -#define OS_CLOSED_ENUM(_name, _type, ...) \ - typedef enum : _type { __VA_ARGS__ } __OS_ENUM_ATTR_CLOSED _name##_t -#define OS_OPTIONS(_name, _type, ...) \ - typedef enum : _type { __VA_ARGS__ } __OS_ENUM_ATTR __OS_OPTIONS_ATTR _name##_t -#define OS_CLOSED_OPTIONS(_name, _type, ...) \ - typedef enum : _type { __VA_ARGS__ } __OS_ENUM_ATTR_CLOSED __OS_OPTIONS_ATTR _name##_t -#else -/*! - * There is unfortunately no good way in plain C to have both fixed-type enums - * and enforcement for clang's enum_extensibility extensions. The primary goal - * of these macros is to allow you to define an enum and specify its width in a - * single statement, and for plain C that is accomplished by defining an - * anonymous enum and then separately typedef'ing the requested type name to the - * requested underlying integer type. So the type emitted actually has no - * relationship at all to the enum, and therefore while the compiler could - * enforce enum extensibility if you used the enum type, it cannot do so if you - * use the "_t" type resulting from this expression. - * - * But we still define a named enum type and decorate it appropriately for you, - * so if you really want the enum extensibility enforcement, you can use the - * enum type yourself, i.e. when compiling with a C compiler: - * - * OS_CLOSED_ENUM(my_type, uint64_t, - * FOO, - * BAR, - * BAZ, - * ); - * - * my_type_t mt = 98; // legal - * enum my_type emt = 98; // illegal - * - * But be aware that the underlying enum type's width is subject only to the C - * language's guarantees -- namely that it will be compatible with int, char, - * and unsigned char. It is not safe to rely on the size of this type. - * - * When compiling in ObjC or C++, both of the above assignments are illegal. - */ -#define __OS_ENUM_C_FALLBACK(_name, _type, ...) \ - typedef _type _name##_t; enum _name { __VA_ARGS__ } - -#define OS_ENUM(_name, _type, ...) \ - typedef _type _name##_t; enum { __VA_ARGS__ } -#define OS_CLOSED_ENUM(_name, _type, ...) \ - __OS_ENUM_C_FALLBACK(_name, _type, ## __VA_ARGS__) \ - __OS_ENUM_ATTR_CLOSED -#define OS_OPTIONS(_name, _type, ...) \ - __OS_ENUM_C_FALLBACK(_name, _type, ## __VA_ARGS__) \ - __OS_ENUM_ATTR __OS_OPTIONS_ATTR -#define OS_CLOSED_OPTIONS(_name, _type, ...) \ - __OS_ENUM_C_FALLBACK(_name, _type, ## __VA_ARGS__) \ - __OS_ENUM_ATTR_CLOSED __OS_OPTIONS_ATTR -#endif // __has_feature(objc_fixed_enum) || __has_extension(cxx_strong_enums) - -#if __has_feature(attribute_availability_swift) -// equivalent to __SWIFT_UNAVAILABLE from Availability.h -#define OS_SWIFT_UNAVAILABLE(_msg) \ - __attribute__((__availability__(swift, unavailable, message=_msg))) -#else -#define OS_SWIFT_UNAVAILABLE(_msg) -#endif - -#if __has_attribute(swift_private) -# define OS_REFINED_FOR_SWIFT __attribute__((__swift_private__)) -#else -# define OS_REFINED_FOR_SWIFT -#endif - -#if __has_attribute(swift_name) -# define OS_SWIFT_NAME(_name) __attribute__((__swift_name__(#_name))) -#else -# define OS_SWIFT_NAME(_name) -#endif - -#define __OS_STRINGIFY(s) #s -#define OS_STRINGIFY(s) __OS_STRINGIFY(s) -#define __OS_CONCAT(x, y) x ## y -#define OS_CONCAT(x, y) __OS_CONCAT(x, y) - -#ifdef __GNUC__ -#define os_prevent_tail_call_optimization() __asm__("") -#define os_is_compile_time_constant(expr) __builtin_constant_p(expr) -#define os_compiler_barrier() __asm__ __volatile__("" ::: "memory") -#else -#define os_prevent_tail_call_optimization() do { } while (0) -#define os_is_compile_time_constant(expr) 0 -#define os_compiler_barrier() do { } while (0) -#endif - -#if __has_attribute(not_tail_called) -#define OS_NOT_TAIL_CALLED __attribute__((__not_tail_called__)) -#else -#define OS_NOT_TAIL_CALLED -#endif - - -typedef void (*os_function_t)(void *_Nullable); - -#ifdef __BLOCKS__ -/*! - * @typedef os_block_t - * - * @abstract - * Generic type for a block taking no arguments and returning no value. - * - * @discussion - * When not building with Objective-C ARC, a block object allocated on or - * copied to the heap must be released with a -[release] message or the - * Block_release() function. - * - * The declaration of a block literal allocates storage on the stack. - * Therefore, this is an invalid construct: - * - * os_block_t block; - * if (x) { - * block = ^{ printf("true\n"); }; - * } else { - * block = ^{ printf("false\n"); }; - * } - * block(); // unsafe!!! - * - * - * What is happening behind the scenes: - * - * if (x) { - * struct Block __tmp_1 = ...; // setup details - * block = &__tmp_1; - * } else { - * struct Block __tmp_2 = ...; // setup details - * block = &__tmp_2; - * } - * - * - * As the example demonstrates, the address of a stack variable is escaping the - * scope in which it is allocated. That is a classic C bug. - * - * Instead, the block literal must be copied to the heap with the Block_copy() - * function or by sending it a -[copy] message. - */ -typedef void (^os_block_t)(void); -#endif - - - -#endif // __OS_BASE__ \ No newline at end of file diff --git a/lib/libc/include/any-macos.11-any/pthread.h b/lib/libc/include/any-macos.11-any/pthread.h deleted file mode 100644 index b9ffcbc983..0000000000 --- a/lib/libc/include/any-macos.11-any/pthread.h +++ /dev/null @@ -1,592 +0,0 @@ -/* - * Copyright (c) 2000-2012 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@ - */ -/* - * Copyright 1996 1995 by Open Software Foundation, Inc. 1997 1996 1995 1994 1993 1992 1991 - * All Rights Reserved - * - * Permission to use, copy, modify, and distribute this software and - * its documentation for any purpose and without fee is hereby granted, - * provided that the above copyright notice appears in all copies and - * that both the copyright notice and this permission notice appear in - * supporting documentation. - * - * OSF DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE - * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE. - * - * IN NO EVENT SHALL OSF BE LIABLE FOR ANY SPECIAL, INDIRECT, OR - * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM - * LOSS OF USE, DATA OR PROFITS, WHETHER IN ACTION OF CONTRACT, - * NEGLIGENCE, OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION - * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - * - */ -/* - * MkLinux - */ - -/* - * POSIX Threads - IEEE 1003.1c - */ - -#ifndef _PTHREAD_H -#define _PTHREAD_H - -#include <_types.h> -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include - -#if (!defined(_POSIX_C_SOURCE) && !defined(_XOPEN_SOURCE)) || defined(_DARWIN_C_SOURCE) || defined(__cplusplus) - -#include -#include - -#endif /* (!_POSIX_C_SOURCE && !_XOPEN_SOURCE) || _DARWIN_C_SOURCE || __cplusplus */ - -/* - * These symbols indicate which [optional] features are available - * They can be tested at compile time via '#ifdef XXX' - * The way to check for pthreads is like so: - - * #include - * #ifdef _POSIX_THREADS - * #include - * #endif - - */ - -/* These will be moved to unistd.h */ - -/* - * Note: These data structures are meant to be opaque. Only enough - * structure is exposed to support initializers. - * All of the typedefs will be moved to - */ - -#include -#include - -#if __has_feature(assume_nonnull) -_Pragma("clang assume_nonnull begin") -#endif -__BEGIN_DECLS -/* - * Threads - */ - - -/* - * Cancel cleanup handler management. Note, since these are implemented as macros, - * they *MUST* occur in matched pairs! - */ - -#define pthread_cleanup_push(func, val) \ - { \ - struct __darwin_pthread_handler_rec __handler; \ - pthread_t __self = pthread_self(); \ - __handler.__routine = func; \ - __handler.__arg = val; \ - __handler.__next = __self->__cleanup_stack; \ - __self->__cleanup_stack = &__handler; - -#define pthread_cleanup_pop(execute) \ - /* Note: 'handler' must be in this same lexical context! */ \ - __self->__cleanup_stack = __handler.__next; \ - if (execute) (__handler.__routine)(__handler.__arg); \ - } - -/* - * Thread attributes - */ - -#define PTHREAD_CREATE_JOINABLE 1 -#define PTHREAD_CREATE_DETACHED 2 - -#define PTHREAD_INHERIT_SCHED 1 -#define PTHREAD_EXPLICIT_SCHED 2 - -#define PTHREAD_CANCEL_ENABLE 0x01 /* Cancel takes place at next cancellation point */ -#define PTHREAD_CANCEL_DISABLE 0x00 /* Cancel postponed */ -#define PTHREAD_CANCEL_DEFERRED 0x02 /* Cancel waits until cancellation point */ -#define PTHREAD_CANCEL_ASYNCHRONOUS 0x00 /* Cancel occurs immediately */ - -/* Value returned from pthread_join() when a thread is canceled */ -#define PTHREAD_CANCELED ((void *) 1) - -/* We only support PTHREAD_SCOPE_SYSTEM */ -#define PTHREAD_SCOPE_SYSTEM 1 -#define PTHREAD_SCOPE_PROCESS 2 - -#define PTHREAD_PROCESS_SHARED 1 -#define PTHREAD_PROCESS_PRIVATE 2 - -/* - * Mutex protocol attributes - */ -#define PTHREAD_PRIO_NONE 0 -#define PTHREAD_PRIO_INHERIT 1 -#define PTHREAD_PRIO_PROTECT 2 - -/* - * Mutex type attributes - */ -#define PTHREAD_MUTEX_NORMAL 0 -#define PTHREAD_MUTEX_ERRORCHECK 1 -#define PTHREAD_MUTEX_RECURSIVE 2 -#define PTHREAD_MUTEX_DEFAULT PTHREAD_MUTEX_NORMAL - -/* - * Mutex policy attributes - */ -#define PTHREAD_MUTEX_POLICY_FAIRSHARE_NP 1 -#define PTHREAD_MUTEX_POLICY_FIRSTFIT_NP 3 - -/* - * RWLock variables - */ -#define PTHREAD_RWLOCK_INITIALIZER {_PTHREAD_RWLOCK_SIG_init, {0}} - -/* - * Mutex variables - */ -#define PTHREAD_MUTEX_INITIALIZER {_PTHREAD_MUTEX_SIG_init, {0}} - -/* */ -#if ((__MAC_OS_X_VERSION_MIN_REQUIRED && __MAC_OS_X_VERSION_MIN_REQUIRED >= 1070) || (__IPHONE_OS_VERSION_MIN_REQUIRED && __IPHONE_OS_VERSION_MIN_REQUIRED >= 50000)) || defined(__DRIVERKIT_VERSION_MIN_REQUIRED) -# if (!defined(_POSIX_C_SOURCE) && !defined(_XOPEN_SOURCE)) || defined(_DARWIN_C_SOURCE) -# define PTHREAD_ERRORCHECK_MUTEX_INITIALIZER {_PTHREAD_ERRORCHECK_MUTEX_SIG_init, {0}} -# define PTHREAD_RECURSIVE_MUTEX_INITIALIZER {_PTHREAD_RECURSIVE_MUTEX_SIG_init, {0}} -# endif /* (!_POSIX_C_SOURCE && !_XOPEN_SOURCE) || _DARWIN_C_SOURCE */ -#endif - -/* */ -#define _PTHREAD_SWIFT_IMPORTER_NULLABILITY_COMPAT \ - defined(SWIFT_CLASS_EXTRA) && (!defined(SWIFT_SDK_OVERLAY_PTHREAD_EPOCH) || (SWIFT_SDK_OVERLAY_PTHREAD_EPOCH < 1)) - -/* - * Condition variable attributes - */ - -/* - * Condition variables - */ - -#define PTHREAD_COND_INITIALIZER {_PTHREAD_COND_SIG_init, {0}} - -/* - * Initialization control (once) variables - */ - -#define PTHREAD_ONCE_INIT {_PTHREAD_ONCE_SIG_init, {0}} - -/* - * Prototypes for all PTHREAD interfaces - */ -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_atfork(void (* _Nullable)(void), void (* _Nullable)(void), - void (* _Nullable)(void)); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_attr_destroy(pthread_attr_t *); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_attr_getdetachstate(const pthread_attr_t *, int *); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_attr_getguardsize(const pthread_attr_t * __restrict, size_t * __restrict); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_attr_getinheritsched(const pthread_attr_t * __restrict, int * __restrict); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_attr_getschedparam(const pthread_attr_t * __restrict, - struct sched_param * __restrict); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_attr_getschedpolicy(const pthread_attr_t * __restrict, int * __restrict); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_attr_getscope(const pthread_attr_t * __restrict, int * __restrict); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_attr_getstack(const pthread_attr_t * __restrict, - void * _Nullable * _Nonnull __restrict, size_t * __restrict); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_attr_getstackaddr(const pthread_attr_t * __restrict, - void * _Nullable * _Nonnull __restrict); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_attr_getstacksize(const pthread_attr_t * __restrict, size_t * __restrict); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_attr_init(pthread_attr_t *); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_attr_setdetachstate(pthread_attr_t *, int); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_attr_setguardsize(pthread_attr_t *, size_t); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_attr_setinheritsched(pthread_attr_t *, int); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_attr_setschedparam(pthread_attr_t * __restrict, - const struct sched_param * __restrict); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_attr_setschedpolicy(pthread_attr_t *, int); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_attr_setscope(pthread_attr_t *, int); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_attr_setstack(pthread_attr_t *, void *, size_t); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_attr_setstackaddr(pthread_attr_t *, void *); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_attr_setstacksize(pthread_attr_t *, size_t); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_cancel(pthread_t) __DARWIN_ALIAS(pthread_cancel); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_cond_broadcast(pthread_cond_t *); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_cond_destroy(pthread_cond_t *); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_cond_init( - pthread_cond_t * __restrict, - const pthread_condattr_t * _Nullable __restrict) - __DARWIN_ALIAS(pthread_cond_init); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_cond_signal(pthread_cond_t *); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_cond_timedwait( - pthread_cond_t * __restrict, pthread_mutex_t * __restrict, - const struct timespec * _Nullable __restrict) - __DARWIN_ALIAS_C(pthread_cond_timedwait); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_cond_wait(pthread_cond_t * __restrict, - pthread_mutex_t * __restrict) __DARWIN_ALIAS_C(pthread_cond_wait); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_condattr_destroy(pthread_condattr_t *); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_condattr_init(pthread_condattr_t *); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_condattr_getpshared(const pthread_condattr_t * __restrict, - int * __restrict); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_condattr_setpshared(pthread_condattr_t *, int); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -#if !_PTHREAD_SWIFT_IMPORTER_NULLABILITY_COMPAT -int pthread_create(pthread_t _Nullable * _Nonnull __restrict, - const pthread_attr_t * _Nullable __restrict, - void * _Nullable (* _Nonnull)(void * _Nullable), - void * _Nullable __restrict); -#else -int pthread_create(pthread_t * __restrict, - const pthread_attr_t * _Nullable __restrict, - void *(* _Nonnull)(void *), void * _Nullable __restrict); -#endif // _PTHREAD_SWIFT_IMPORTER_NULLABILITY_COMPAT - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_detach(pthread_t); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_equal(pthread_t _Nullable, pthread_t _Nullable); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -void pthread_exit(void * _Nullable) __dead2; - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_getconcurrency(void); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_getschedparam(pthread_t , int * _Nullable __restrict, - struct sched_param * _Nullable __restrict); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -void* _Nullable pthread_getspecific(pthread_key_t); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_join(pthread_t , void * _Nullable * _Nullable) - __DARWIN_ALIAS_C(pthread_join); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_key_create(pthread_key_t *, void (* _Nullable)(void *)); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_key_delete(pthread_key_t); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_mutex_destroy(pthread_mutex_t *); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_mutex_getprioceiling(const pthread_mutex_t * __restrict, - int * __restrict); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_mutex_init(pthread_mutex_t * __restrict, - const pthread_mutexattr_t * _Nullable __restrict); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_mutex_lock(pthread_mutex_t *); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_mutex_setprioceiling(pthread_mutex_t * __restrict, int, - int * __restrict); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_mutex_trylock(pthread_mutex_t *); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_mutex_unlock(pthread_mutex_t *); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_mutexattr_destroy(pthread_mutexattr_t *) __DARWIN_ALIAS(pthread_mutexattr_destroy); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_mutexattr_getprioceiling(const pthread_mutexattr_t * __restrict, - int * __restrict); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_mutexattr_getprotocol(const pthread_mutexattr_t * __restrict, - int * __restrict); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_mutexattr_getpshared(const pthread_mutexattr_t * __restrict, - int * __restrict); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_mutexattr_gettype(const pthread_mutexattr_t * __restrict, - int * __restrict); - -__API_AVAILABLE(macos(10.13.4), ios(11.3), watchos(4.3), tvos(11.3)) -int pthread_mutexattr_getpolicy_np(const pthread_mutexattr_t * __restrict, - int * __restrict); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_mutexattr_init(pthread_mutexattr_t *); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_mutexattr_setprioceiling(pthread_mutexattr_t *, int); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_mutexattr_setprotocol(pthread_mutexattr_t *, int); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_mutexattr_setpshared(pthread_mutexattr_t *, int); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_mutexattr_settype(pthread_mutexattr_t *, int); - -__API_AVAILABLE(macos(10.7), ios(5.0)) -int pthread_mutexattr_setpolicy_np(pthread_mutexattr_t *, int); - -__SWIFT_UNAVAILABLE_MSG("Use lazily initialized globals instead") -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_once(pthread_once_t *, void (* _Nonnull)(void)); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_rwlock_destroy(pthread_rwlock_t * ) __DARWIN_ALIAS(pthread_rwlock_destroy); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_rwlock_init(pthread_rwlock_t * __restrict, - const pthread_rwlockattr_t * _Nullable __restrict) - __DARWIN_ALIAS(pthread_rwlock_init); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_rwlock_rdlock(pthread_rwlock_t *) __DARWIN_ALIAS(pthread_rwlock_rdlock); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_rwlock_tryrdlock(pthread_rwlock_t *) __DARWIN_ALIAS(pthread_rwlock_tryrdlock); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_rwlock_trywrlock(pthread_rwlock_t *) __DARWIN_ALIAS(pthread_rwlock_trywrlock); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_rwlock_wrlock(pthread_rwlock_t *) __DARWIN_ALIAS(pthread_rwlock_wrlock); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_rwlock_unlock(pthread_rwlock_t *) __DARWIN_ALIAS(pthread_rwlock_unlock); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_rwlockattr_destroy(pthread_rwlockattr_t *); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_rwlockattr_getpshared(const pthread_rwlockattr_t * __restrict, - int * __restrict); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_rwlockattr_init(pthread_rwlockattr_t *); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_rwlockattr_setpshared(pthread_rwlockattr_t *, int); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -pthread_t pthread_self(void); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_setcancelstate(int , int * _Nullable) - __DARWIN_ALIAS(pthread_setcancelstate); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_setcanceltype(int , int * _Nullable) - __DARWIN_ALIAS(pthread_setcanceltype); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_setconcurrency(int); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_setschedparam(pthread_t, int, const struct sched_param *); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_setspecific(pthread_key_t , const void * _Nullable); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -void pthread_testcancel(void) __DARWIN_ALIAS(pthread_testcancel); - -#if (!defined(_POSIX_C_SOURCE) && !defined(_XOPEN_SOURCE)) || defined(_DARWIN_C_SOURCE) || defined(__cplusplus) - -/* returns non-zero if pthread_create or cthread_fork have been called */ -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_is_threaded_np(void); - -__API_AVAILABLE(macos(10.6), ios(3.2)) -int pthread_threadid_np(pthread_t _Nullable,__uint64_t* _Nullable); - -/*SPI to set and get pthread name*/ -__API_AVAILABLE(macos(10.6), ios(3.2)) -int pthread_getname_np(pthread_t,char*,size_t); - -__API_AVAILABLE(macos(10.6), ios(3.2)) -int pthread_setname_np(const char*); - -/* returns non-zero if the current thread is the main thread */ -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_main_np(void); - -/* return the mach thread bound to the pthread */ -__API_AVAILABLE(macos(10.4), ios(2.0)) -mach_port_t pthread_mach_thread_np(pthread_t); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -size_t pthread_get_stacksize_np(pthread_t); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -void* pthread_get_stackaddr_np(pthread_t); - -/* Like pthread_cond_signal(), but only wake up the specified pthread */ -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_cond_signal_thread_np(pthread_cond_t *, pthread_t _Nullable); - -/* Like pthread_cond_timedwait, but use a relative timeout */ -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_cond_timedwait_relative_np(pthread_cond_t *, pthread_mutex_t *, - const struct timespec * _Nullable); - -/* Like pthread_create(), but leaves the thread suspended */ -__API_AVAILABLE(macos(10.4), ios(2.0)) -#if !_PTHREAD_SWIFT_IMPORTER_NULLABILITY_COMPAT -int pthread_create_suspended_np( - pthread_t _Nullable * _Nonnull, const pthread_attr_t * _Nullable, - void * _Nullable (* _Nonnull)(void * _Nullable), void * _Nullable); -#else -int pthread_create_suspended_np(pthread_t *, const pthread_attr_t * _Nullable, - void *(* _Nonnull)(void *), void * _Nullable); -#endif - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_kill(pthread_t, int); - -__API_AVAILABLE(macos(10.5), ios(2.0)) -_Nullable pthread_t pthread_from_mach_thread_np(mach_port_t); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_sigmask(int, const sigset_t * _Nullable, sigset_t * _Nullable) - __DARWIN_ALIAS(pthread_sigmask); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -void pthread_yield_np(void); - -__API_AVAILABLE(macos(11.0)) -__API_UNAVAILABLE(ios, tvos, watchos, driverkit) -void pthread_jit_write_protect_np(int enabled); - -__API_AVAILABLE(macos(11.0)) -__API_UNAVAILABLE(ios, tvos, watchos, driverkit) -int pthread_jit_write_protect_supported_np(void); - -/*! - * @function pthread_cpu_number_np - * - * @param cpu_number_out - * The CPU number that the thread was running on at the time of query. - * This cpu number is in the interval [0, ncpus) (from sysctlbyname("hw.ncpu")) - * - * @result - * This function returns 0 or the value of errno if an error occurred. - * - * @note - * Optimizations of per-CPU datastructures based on the result of this function - * still require synchronization since it is not guaranteed that the thread will - * still be on the same CPU by the time the function returns. - */ -__API_AVAILABLE(macos(11.0), ios(14.2), tvos(14.2), watchos(7.1)) -int -pthread_cpu_number_np(size_t *cpu_number_out); - -#endif /* (!_POSIX_C_SOURCE && !_XOPEN_SOURCE) || _DARWIN_C_SOURCE || __cplusplus */ -__END_DECLS -#if __has_feature(assume_nonnull) -_Pragma("clang assume_nonnull end") -#endif - -#endif /* _PTHREAD_H */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.11-any/simd/base.h b/lib/libc/include/any-macos.11-any/simd/base.h deleted file mode 100644 index fdc2e3c879..0000000000 --- a/lib/libc/include/any-macos.11-any/simd/base.h +++ /dev/null @@ -1,122 +0,0 @@ -/*! @header - * This header defines macros used in the implementation of - * types and functions. Even though they are exposed in a public header, - * the macros defined in this header are implementation details, and you - * should not use or rely on them. They may be changed or removed entirely - * in a future release. - * - * @copyright 2016-2017 Apple, Inc. All rights reserved. - * @unsorted */ - -#ifndef SIMD_BASE -#define SIMD_BASE - -/* Define __has_attribute and __has_include if they aren't available */ -# ifndef __has_attribute -# define __has_attribute(__x) 0 -# endif -# ifndef __has_include -# define __has_include(__x) 0 -# endif -# ifndef __has_feature -# define __has_feature(__x) 0 -# endif - -# if __has_attribute(__ext_vector_type__) && __has_attribute(__overloadable__) -# define SIMD_COMPILER_HAS_REQUIRED_FEATURES 1 -# else -/* Your compiler is missing one or more features that are hard requirements - * for any support. None of the types or functions defined by - * the simd headers will be available. */ -# define SIMD_COMPILER_HAS_REQUIRED_FEATURES 0 -# endif - -# if SIMD_COMPILER_HAS_REQUIRED_FEATURES -# if __has_include() -# include -/* A number of new features are added in newer releases; most of these are - * inline in the header, which makes them available even when targeting older - * OS versions. Those that make external calls, however, are only available - * when targeting the release in which they became available. Because of the - * way in which simd functions are overloaded, the usual weak-linking tricks - * do not work; these functions are simply unavailable when targeting older - * versions of the library. */ -# if __MAC_OS_X_VERSION_MIN_REQUIRED >= __MAC_10_13 || \ - __IPHONE_OS_VERSION_MIN_REQUIRED >= __IPHONE_11_0 || \ - __WATCH_OS_VERSION_MIN_REQUIRED >= __WATCHOS_4_0 || \ - __TV_OS_VERSION_MIN_REQUIRED >= __TVOS_11_0 || \ - __DRIVERKIT_VERSION_MIN_REQUIRED >= __DRIVERKIT_19_0 -# define SIMD_LIBRARY_VERSION 3 -# elif __MAC_OS_X_VERSION_MIN_REQUIRED >= __MAC_10_12 || \ - __IPHONE_OS_VERSION_MIN_REQUIRED >= __IPHONE_10_0 || \ - __WATCH_OS_VERSION_MIN_REQUIRED >= __WATCHOS_3_0 || \ - __TV_OS_VERSION_MIN_REQUIRED >= __TVOS_10_0 -# define SIMD_LIBRARY_VERSION 2 -# elif __MAC_OS_X_VERSION_MIN_REQUIRED >= __MAC_10_10 || \ - __IPHONE_OS_VERSION_MIN_REQUIRED >= __IPHONE_8_0 -# define SIMD_LIBRARY_VERSION 1 -# else -# define SIMD_LIBRARY_VERSION 0 -# endif -# else /* !__has_include() */ -# define SIMD_LIBRARY_VERSION 3 -# define __API_AVAILABLE(...) /* Nothing */ -# endif - -/* The simd types interoperate with the native simd intrinsic types for each - * architecture; the headers that define those types and operations are - * automatically included with simd.h */ -# if defined __ARM_NEON__ -# include -# elif defined __i386__ || defined __x86_64__ -# include -# endif - -/* Define a number of function attributes used by the simd functions. */ -# if __has_attribute(__always_inline__) -# define SIMD_INLINE __attribute__((__always_inline__)) -# else -# define SIMD_INLINE inline -# endif - -# if __has_attribute(__const__) -# define SIMD_CONST __attribute__((__const__)) -# else -# define SIMD_CONST /* nothing */ -# endif - -# if __has_attribute(__nodebug__) -# define SIMD_NODEBUG __attribute__((__nodebug__)) -# else -# define SIMD_NODEBUG /* nothing */ -# endif - -# if __has_attribute(__deprecated__) -# define SIMD_DEPRECATED(message) __attribute__((__deprecated__(message))) -# else -# define SIMD_DEPRECATED(message) /* nothing */ -# endif - -#define SIMD_OVERLOAD __attribute__((__overloadable__)) -#define SIMD_CPPFUNC SIMD_INLINE SIMD_CONST SIMD_NODEBUG -#define SIMD_CFUNC SIMD_CPPFUNC SIMD_OVERLOAD -#define SIMD_NOINLINE SIMD_CONST SIMD_NODEBUG SIMD_OVERLOAD -#define SIMD_NONCONST SIMD_INLINE SIMD_NODEBUG SIMD_OVERLOAD -#define __SIMD_INLINE__ SIMD_CPPFUNC -#define __SIMD_ATTRIBUTES__ SIMD_CFUNC -#define __SIMD_OVERLOAD__ SIMD_OVERLOAD - -#if defined __cplusplus -/*! @abstract A boolean scalar. */ -typedef bool simd_bool; -#else -/*! @abstract A boolean scalar. */ -typedef _Bool simd_bool; -#endif -/*! @abstract A boolean scalar. - * @discussion This type is deprecated; In C or Objective-C sources, use - * `_Bool` instead. In C++ sources, use `bool`. */ -typedef simd_bool __SIMD_BOOLEAN_TYPE__; - -# endif /* SIMD_COMPILER_HAS_REQUIRED_FEATURES */ -#endif /* defined SIMD_BASE */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.11-any/simd/common.h b/lib/libc/include/any-macos.11-any/simd/common.h deleted file mode 100644 index 5408c535fd..0000000000 --- a/lib/libc/include/any-macos.11-any/simd/common.h +++ /dev/null @@ -1,4458 +0,0 @@ -/*! @header - * The interfaces declared in this header provide "common" elementwise - * operations that are neither math nor logic functions. These are available - * only for floating-point vectors and scalars, except for min, max, abs, - * clamp, and the reduce operations, which also support integer vectors. - * - * simd_abs(x) Absolute value of x. Also available as fabs - * for floating-point vectors. If x is the - * smallest signed integer, x is returned. - * - * simd_max(x,y) Returns the maximum of x and y. Also available - * as fmax for floating-point vectors. - * - * simd_min(x,y) Returns the minimum of x and y. Also available - * as fmin for floating-point vectors. - * - * simd_clamp(x,min,max) x clamped to the range [min, max]. - * - * simd_sign(x) -1 if x is less than zero, 0 if x is zero or - * NaN, and +1 if x is greater than zero. - * - * simd_mix(x,y,t) If t is not in the range [0,1], the result is - * undefined. Otherwise the result is x+(y-x)*t, - * which linearly interpolates between x and y. - * - * simd_recip(x) An approximation to 1/x. If x is very near the - * limits of representable values, or is infinity - * or NaN, the result is undefined. There are - * two variants of this function: - * - * simd_precise_recip(x) - * - * and - * - * simd_fast_recip(x). - * - * The "precise" variant is accurate to a few ULPs, - * whereas the "fast" variant may have as little - * as 11 bits of accuracy in float and about 22 - * bits in double. - * - * The function simd_recip(x) resolves to - * simd_precise_recip(x) ordinarily, but to - * simd_fast_recip(x) when used in a translation - * unit compiled with -ffast-math (when - * -ffast-math is in effect, you may still use the - * precise version of this function by calling it - * explicitly by name). - * - * simd_rsqrt(x) An approximation to 1/sqrt(x). If x is - * infinity or NaN, the result is undefined. - * There are two variants of this function: - * - * simd_precise_rsqrt(x) - * - * and - * - * simd_fast_rsqrt(x). - * - * The "precise" variant is accurate to a few ULPs, - * whereas the "fast" variant may have as little - * as 11 bits of accuracy in float and about 22 - * bits in double. - * - * The function simd_rsqrt(x) resolves to - * simd_precise_rsqrt(x) ordinarily, but to - * simd_fast_rsqrt(x) when used in a translation - * unit compiled with -ffast-math (when - * -ffast-math is in effect, you may still use the - * precise version of this function by calling it - * explicitly by name). - * - * simd_fract(x) The "fractional part" of x, which lies strictly - * in the range [0, 0x1.fffffep-1]. - * - * simd_step(edge,x) 0 if x < edge, and 1 otherwise. - * - * simd_smoothstep(edge0,edge1,x) 0 if x <= edge0, 1 if x >= edge1, and - * a Hermite interpolation between 0 and 1 if - * edge0 < x < edge1. - * - * simd_reduce_add(x) Sum of the elements of x. - * - * simd_reduce_min(x) Minimum of the elements of x. - * - * simd_reduce_max(x) Maximum of the elements of x. - * - * simd_equal(x,y) True if and only if every lane of x is equal - * to the corresponding lane of y. - * - * The following common functions are available in the simd:: namespace: - * - * C++ Function Equivalent C Function - * -------------------------------------------------------------------- - * simd::abs(x) simd_abs(x) - * simd::max(x,y) simd_max(x,y) - * simd::min(x,y) simd_min(x,y) - * simd::clamp(x,min,max) simd_clamp(x,min,max) - * simd::sign(x) simd_sign(x) - * simd::mix(x,y,t) simd_mix(x,y,t) - * simd::recip(x) simd_recip(x) - * simd::rsqrt(x) simd_rsqrt(x) - * simd::fract(x) simd_fract(x) - * simd::step(edge,x) simd_step(edge,x) - * simd::smoothstep(e0,e1,x) simd_smoothstep(e0,e1,x) - * simd::reduce_add(x) simd_reduce_add(x) - * simd::reduce_max(x) simd_reduce_max(x) - * simd::reduce_min(x) simd_reduce_min(x) - * simd::equal(x,y) simd_equal(x,y) - * - * simd::precise::recip(x) simd_precise_recip(x) - * simd::precise::rsqrt(x) simd_precise_rsqrt(x) - * - * simd::fast::recip(x) simd_fast_recip(x) - * simd::fast::rsqrt(x) simd_fast_rsqrt(x) - * - * @copyright 2014-2017 Apple, Inc. All rights reserved. - * @unsorted */ - -#ifndef SIMD_COMMON_HEADER -#define SIMD_COMMON_HEADER - -#include -#if SIMD_COMPILER_HAS_REQUIRED_FEATURES -#include -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/*! @abstract The elementwise absolute value of x. */ -static inline SIMD_CFUNC simd_char2 simd_abs(simd_char2 x); -/*! @abstract The elementwise absolute value of x. */ -static inline SIMD_CFUNC simd_char3 simd_abs(simd_char3 x); -/*! @abstract The elementwise absolute value of x. */ -static inline SIMD_CFUNC simd_char4 simd_abs(simd_char4 x); -/*! @abstract The elementwise absolute value of x. */ -static inline SIMD_CFUNC simd_char8 simd_abs(simd_char8 x); -/*! @abstract The elementwise absolute value of x. */ -static inline SIMD_CFUNC simd_char16 simd_abs(simd_char16 x); -/*! @abstract The elementwise absolute value of x. */ -static inline SIMD_CFUNC simd_char32 simd_abs(simd_char32 x); -/*! @abstract The elementwise absolute value of x. */ -static inline SIMD_CFUNC simd_char64 simd_abs(simd_char64 x); -/*! @abstract The elementwise absolute value of x. */ -static inline SIMD_CFUNC simd_short2 simd_abs(simd_short2 x); -/*! @abstract The elementwise absolute value of x. */ -static inline SIMD_CFUNC simd_short3 simd_abs(simd_short3 x); -/*! @abstract The elementwise absolute value of x. */ -static inline SIMD_CFUNC simd_short4 simd_abs(simd_short4 x); -/*! @abstract The elementwise absolute value of x. */ -static inline SIMD_CFUNC simd_short8 simd_abs(simd_short8 x); -/*! @abstract The elementwise absolute value of x. */ -static inline SIMD_CFUNC simd_short16 simd_abs(simd_short16 x); -/*! @abstract The elementwise absolute value of x. */ -static inline SIMD_CFUNC simd_short32 simd_abs(simd_short32 x); -/*! @abstract The elementwise absolute value of x. */ -static inline SIMD_CFUNC simd_int2 simd_abs(simd_int2 x); -/*! @abstract The elementwise absolute value of x. */ -static inline SIMD_CFUNC simd_int3 simd_abs(simd_int3 x); -/*! @abstract The elementwise absolute value of x. */ -static inline SIMD_CFUNC simd_int4 simd_abs(simd_int4 x); -/*! @abstract The elementwise absolute value of x. */ -static inline SIMD_CFUNC simd_int8 simd_abs(simd_int8 x); -/*! @abstract The elementwise absolute value of x. */ -static inline SIMD_CFUNC simd_int16 simd_abs(simd_int16 x); -/*! @abstract The elementwise absolute value of x. */ -static inline SIMD_CFUNC simd_float2 simd_abs(simd_float2 x); -/*! @abstract The elementwise absolute value of x. */ -static inline SIMD_CFUNC simd_float3 simd_abs(simd_float3 x); -/*! @abstract The elementwise absolute value of x. */ -static inline SIMD_CFUNC simd_float4 simd_abs(simd_float4 x); -/*! @abstract The elementwise absolute value of x. */ -static inline SIMD_CFUNC simd_float8 simd_abs(simd_float8 x); -/*! @abstract The elementwise absolute value of x. */ -static inline SIMD_CFUNC simd_float16 simd_abs(simd_float16 x); -/*! @abstract The elementwise absolute value of x. */ -static inline SIMD_CFUNC simd_long2 simd_abs(simd_long2 x); -/*! @abstract The elementwise absolute value of x. */ -static inline SIMD_CFUNC simd_long3 simd_abs(simd_long3 x); -/*! @abstract The elementwise absolute value of x. */ -static inline SIMD_CFUNC simd_long4 simd_abs(simd_long4 x); -/*! @abstract The elementwise absolute value of x. */ -static inline SIMD_CFUNC simd_long8 simd_abs(simd_long8 x); -/*! @abstract The elementwise absolute value of x. */ -static inline SIMD_CFUNC simd_double2 simd_abs(simd_double2 x); -/*! @abstract The elementwise absolute value of x. */ -static inline SIMD_CFUNC simd_double3 simd_abs(simd_double3 x); -/*! @abstract The elementwise absolute value of x. */ -static inline SIMD_CFUNC simd_double4 simd_abs(simd_double4 x); -/*! @abstract The elementwise absolute value of x. */ -static inline SIMD_CFUNC simd_double8 simd_abs(simd_double8 x); -/*! @abstract The elementwise absolute value of x. - * @discussion Deprecated. Use simd_abs(x) instead. */ -#define vector_abs simd_abs - -/*! @abstract The elementwise maximum of x and y. */ -static inline SIMD_CFUNC simd_char2 simd_max(simd_char2 x, simd_char2 y); -/*! @abstract The elementwise maximum of x and y. */ -static inline SIMD_CFUNC simd_char3 simd_max(simd_char3 x, simd_char3 y); -/*! @abstract The elementwise maximum of x and y. */ -static inline SIMD_CFUNC simd_char4 simd_max(simd_char4 x, simd_char4 y); -/*! @abstract The elementwise maximum of x and y. */ -static inline SIMD_CFUNC simd_char8 simd_max(simd_char8 x, simd_char8 y); -/*! @abstract The elementwise maximum of x and y. */ -static inline SIMD_CFUNC simd_char16 simd_max(simd_char16 x, simd_char16 y); -/*! @abstract The elementwise maximum of x and y. */ -static inline SIMD_CFUNC simd_char32 simd_max(simd_char32 x, simd_char32 y); -/*! @abstract The elementwise maximum of x and y. */ -static inline SIMD_CFUNC simd_char64 simd_max(simd_char64 x, simd_char64 y); -/*! @abstract The elementwise maximum of x and y. */ -static inline SIMD_CFUNC simd_uchar2 simd_max(simd_uchar2 x, simd_uchar2 y); -/*! @abstract The elementwise maximum of x and y. */ -static inline SIMD_CFUNC simd_uchar3 simd_max(simd_uchar3 x, simd_uchar3 y); -/*! @abstract The elementwise maximum of x and y. */ -static inline SIMD_CFUNC simd_uchar4 simd_max(simd_uchar4 x, simd_uchar4 y); -/*! @abstract The elementwise maximum of x and y. */ -static inline SIMD_CFUNC simd_uchar8 simd_max(simd_uchar8 x, simd_uchar8 y); -/*! @abstract The elementwise maximum of x and y. */ -static inline SIMD_CFUNC simd_uchar16 simd_max(simd_uchar16 x, simd_uchar16 y); -/*! @abstract The elementwise maximum of x and y. */ -static inline SIMD_CFUNC simd_uchar32 simd_max(simd_uchar32 x, simd_uchar32 y); -/*! @abstract The elementwise maximum of x and y. */ -static inline SIMD_CFUNC simd_uchar64 simd_max(simd_uchar64 x, simd_uchar64 y); -/*! @abstract The elementwise maximum of x and y. */ -static inline SIMD_CFUNC simd_short2 simd_max(simd_short2 x, simd_short2 y); -/*! @abstract The elementwise maximum of x and y. */ -static inline SIMD_CFUNC simd_short3 simd_max(simd_short3 x, simd_short3 y); -/*! @abstract The elementwise maximum of x and y. */ -static inline SIMD_CFUNC simd_short4 simd_max(simd_short4 x, simd_short4 y); -/*! @abstract The elementwise maximum of x and y. */ -static inline SIMD_CFUNC simd_short8 simd_max(simd_short8 x, simd_short8 y); -/*! @abstract The elementwise maximum of x and y. */ -static inline SIMD_CFUNC simd_short16 simd_max(simd_short16 x, simd_short16 y); -/*! @abstract The elementwise maximum of x and y. */ -static inline SIMD_CFUNC simd_short32 simd_max(simd_short32 x, simd_short32 y); -/*! @abstract The elementwise maximum of x and y. */ -static inline SIMD_CFUNC simd_ushort2 simd_max(simd_ushort2 x, simd_ushort2 y); -/*! @abstract The elementwise maximum of x and y. */ -static inline SIMD_CFUNC simd_ushort3 simd_max(simd_ushort3 x, simd_ushort3 y); -/*! @abstract The elementwise maximum of x and y. */ -static inline SIMD_CFUNC simd_ushort4 simd_max(simd_ushort4 x, simd_ushort4 y); -/*! @abstract The elementwise maximum of x and y. */ -static inline SIMD_CFUNC simd_ushort8 simd_max(simd_ushort8 x, simd_ushort8 y); -/*! @abstract The elementwise maximum of x and y. */ -static inline SIMD_CFUNC simd_ushort16 simd_max(simd_ushort16 x, simd_ushort16 y); -/*! @abstract The elementwise maximum of x and y. */ -static inline SIMD_CFUNC simd_ushort32 simd_max(simd_ushort32 x, simd_ushort32 y); -/*! @abstract The elementwise maximum of x and y. */ -static inline SIMD_CFUNC simd_int2 simd_max(simd_int2 x, simd_int2 y); -/*! @abstract The elementwise maximum of x and y. */ -static inline SIMD_CFUNC simd_int3 simd_max(simd_int3 x, simd_int3 y); -/*! @abstract The elementwise maximum of x and y. */ -static inline SIMD_CFUNC simd_int4 simd_max(simd_int4 x, simd_int4 y); -/*! @abstract The elementwise maximum of x and y. */ -static inline SIMD_CFUNC simd_int8 simd_max(simd_int8 x, simd_int8 y); -/*! @abstract The elementwise maximum of x and y. */ -static inline SIMD_CFUNC simd_int16 simd_max(simd_int16 x, simd_int16 y); -/*! @abstract The elementwise maximum of x and y. */ -static inline SIMD_CFUNC simd_uint2 simd_max(simd_uint2 x, simd_uint2 y); -/*! @abstract The elementwise maximum of x and y. */ -static inline SIMD_CFUNC simd_uint3 simd_max(simd_uint3 x, simd_uint3 y); -/*! @abstract The elementwise maximum of x and y. */ -static inline SIMD_CFUNC simd_uint4 simd_max(simd_uint4 x, simd_uint4 y); -/*! @abstract The elementwise maximum of x and y. */ -static inline SIMD_CFUNC simd_uint8 simd_max(simd_uint8 x, simd_uint8 y); -/*! @abstract The elementwise maximum of x and y. */ -static inline SIMD_CFUNC simd_uint16 simd_max(simd_uint16 x, simd_uint16 y); -/*! @abstract The elementwise maximum of x and y. */ -static inline SIMD_CFUNC float simd_max(float x, float y); -/*! @abstract The elementwise maximum of x and y. */ -static inline SIMD_CFUNC simd_float2 simd_max(simd_float2 x, simd_float2 y); -/*! @abstract The elementwise maximum of x and y. */ -static inline SIMD_CFUNC simd_float3 simd_max(simd_float3 x, simd_float3 y); -/*! @abstract The elementwise maximum of x and y. */ -static inline SIMD_CFUNC simd_float4 simd_max(simd_float4 x, simd_float4 y); -/*! @abstract The elementwise maximum of x and y. */ -static inline SIMD_CFUNC simd_float8 simd_max(simd_float8 x, simd_float8 y); -/*! @abstract The elementwise maximum of x and y. */ -static inline SIMD_CFUNC simd_float16 simd_max(simd_float16 x, simd_float16 y); -/*! @abstract The elementwise maximum of x and y. */ -static inline SIMD_CFUNC simd_long2 simd_max(simd_long2 x, simd_long2 y); -/*! @abstract The elementwise maximum of x and y. */ -static inline SIMD_CFUNC simd_long3 simd_max(simd_long3 x, simd_long3 y); -/*! @abstract The elementwise maximum of x and y. */ -static inline SIMD_CFUNC simd_long4 simd_max(simd_long4 x, simd_long4 y); -/*! @abstract The elementwise maximum of x and y. */ -static inline SIMD_CFUNC simd_long8 simd_max(simd_long8 x, simd_long8 y); -/*! @abstract The elementwise maximum of x and y. */ -static inline SIMD_CFUNC simd_ulong2 simd_max(simd_ulong2 x, simd_ulong2 y); -/*! @abstract The elementwise maximum of x and y. */ -static inline SIMD_CFUNC simd_ulong3 simd_max(simd_ulong3 x, simd_ulong3 y); -/*! @abstract The elementwise maximum of x and y. */ -static inline SIMD_CFUNC simd_ulong4 simd_max(simd_ulong4 x, simd_ulong4 y); -/*! @abstract The elementwise maximum of x and y. */ -static inline SIMD_CFUNC simd_ulong8 simd_max(simd_ulong8 x, simd_ulong8 y); -/*! @abstract The elementwise maximum of x and y. */ -static inline SIMD_CFUNC double simd_max(double x, double y); -/*! @abstract The elementwise maximum of x and y. */ -static inline SIMD_CFUNC simd_double2 simd_max(simd_double2 x, simd_double2 y); -/*! @abstract The elementwise maximum of x and y. */ -static inline SIMD_CFUNC simd_double3 simd_max(simd_double3 x, simd_double3 y); -/*! @abstract The elementwise maximum of x and y. */ -static inline SIMD_CFUNC simd_double4 simd_max(simd_double4 x, simd_double4 y); -/*! @abstract The elementwise maximum of x and y. */ -static inline SIMD_CFUNC simd_double8 simd_max(simd_double8 x, simd_double8 y); -/*! @abstract The elementwise maximum of x and y. - * @discussion Deprecated. Use simd_max(x,y) instead. */ -#define vector_max simd_max - -/*! @abstract The elementwise minimum of x and y. */ -static inline SIMD_CFUNC simd_char2 simd_min(simd_char2 x, simd_char2 y); -/*! @abstract The elementwise minimum of x and y. */ -static inline SIMD_CFUNC simd_char3 simd_min(simd_char3 x, simd_char3 y); -/*! @abstract The elementwise minimum of x and y. */ -static inline SIMD_CFUNC simd_char4 simd_min(simd_char4 x, simd_char4 y); -/*! @abstract The elementwise minimum of x and y. */ -static inline SIMD_CFUNC simd_char8 simd_min(simd_char8 x, simd_char8 y); -/*! @abstract The elementwise minimum of x and y. */ -static inline SIMD_CFUNC simd_char16 simd_min(simd_char16 x, simd_char16 y); -/*! @abstract The elementwise minimum of x and y. */ -static inline SIMD_CFUNC simd_char32 simd_min(simd_char32 x, simd_char32 y); -/*! @abstract The elementwise minimum of x and y. */ -static inline SIMD_CFUNC simd_char64 simd_min(simd_char64 x, simd_char64 y); -/*! @abstract The elementwise minimum of x and y. */ -static inline SIMD_CFUNC simd_uchar2 simd_min(simd_uchar2 x, simd_uchar2 y); -/*! @abstract The elementwise minimum of x and y. */ -static inline SIMD_CFUNC simd_uchar3 simd_min(simd_uchar3 x, simd_uchar3 y); -/*! @abstract The elementwise minimum of x and y. */ -static inline SIMD_CFUNC simd_uchar4 simd_min(simd_uchar4 x, simd_uchar4 y); -/*! @abstract The elementwise minimum of x and y. */ -static inline SIMD_CFUNC simd_uchar8 simd_min(simd_uchar8 x, simd_uchar8 y); -/*! @abstract The elementwise minimum of x and y. */ -static inline SIMD_CFUNC simd_uchar16 simd_min(simd_uchar16 x, simd_uchar16 y); -/*! @abstract The elementwise minimum of x and y. */ -static inline SIMD_CFUNC simd_uchar32 simd_min(simd_uchar32 x, simd_uchar32 y); -/*! @abstract The elementwise minimum of x and y. */ -static inline SIMD_CFUNC simd_uchar64 simd_min(simd_uchar64 x, simd_uchar64 y); -/*! @abstract The elementwise minimum of x and y. */ -static inline SIMD_CFUNC simd_short2 simd_min(simd_short2 x, simd_short2 y); -/*! @abstract The elementwise minimum of x and y. */ -static inline SIMD_CFUNC simd_short3 simd_min(simd_short3 x, simd_short3 y); -/*! @abstract The elementwise minimum of x and y. */ -static inline SIMD_CFUNC simd_short4 simd_min(simd_short4 x, simd_short4 y); -/*! @abstract The elementwise minimum of x and y. */ -static inline SIMD_CFUNC simd_short8 simd_min(simd_short8 x, simd_short8 y); -/*! @abstract The elementwise minimum of x and y. */ -static inline SIMD_CFUNC simd_short16 simd_min(simd_short16 x, simd_short16 y); -/*! @abstract The elementwise minimum of x and y. */ -static inline SIMD_CFUNC simd_short32 simd_min(simd_short32 x, simd_short32 y); -/*! @abstract The elementwise minimum of x and y. */ -static inline SIMD_CFUNC simd_ushort2 simd_min(simd_ushort2 x, simd_ushort2 y); -/*! @abstract The elementwise minimum of x and y. */ -static inline SIMD_CFUNC simd_ushort3 simd_min(simd_ushort3 x, simd_ushort3 y); -/*! @abstract The elementwise minimum of x and y. */ -static inline SIMD_CFUNC simd_ushort4 simd_min(simd_ushort4 x, simd_ushort4 y); -/*! @abstract The elementwise minimum of x and y. */ -static inline SIMD_CFUNC simd_ushort8 simd_min(simd_ushort8 x, simd_ushort8 y); -/*! @abstract The elementwise minimum of x and y. */ -static inline SIMD_CFUNC simd_ushort16 simd_min(simd_ushort16 x, simd_ushort16 y); -/*! @abstract The elementwise minimum of x and y. */ -static inline SIMD_CFUNC simd_ushort32 simd_min(simd_ushort32 x, simd_ushort32 y); -/*! @abstract The elementwise minimum of x and y. */ -static inline SIMD_CFUNC simd_int2 simd_min(simd_int2 x, simd_int2 y); -/*! @abstract The elementwise minimum of x and y. */ -static inline SIMD_CFUNC simd_int3 simd_min(simd_int3 x, simd_int3 y); -/*! @abstract The elementwise minimum of x and y. */ -static inline SIMD_CFUNC simd_int4 simd_min(simd_int4 x, simd_int4 y); -/*! @abstract The elementwise minimum of x and y. */ -static inline SIMD_CFUNC simd_int8 simd_min(simd_int8 x, simd_int8 y); -/*! @abstract The elementwise minimum of x and y. */ -static inline SIMD_CFUNC simd_int16 simd_min(simd_int16 x, simd_int16 y); -/*! @abstract The elementwise minimum of x and y. */ -static inline SIMD_CFUNC simd_uint2 simd_min(simd_uint2 x, simd_uint2 y); -/*! @abstract The elementwise minimum of x and y. */ -static inline SIMD_CFUNC simd_uint3 simd_min(simd_uint3 x, simd_uint3 y); -/*! @abstract The elementwise minimum of x and y. */ -static inline SIMD_CFUNC simd_uint4 simd_min(simd_uint4 x, simd_uint4 y); -/*! @abstract The elementwise minimum of x and y. */ -static inline SIMD_CFUNC simd_uint8 simd_min(simd_uint8 x, simd_uint8 y); -/*! @abstract The elementwise minimum of x and y. */ -static inline SIMD_CFUNC simd_uint16 simd_min(simd_uint16 x, simd_uint16 y); -/*! @abstract The elementwise minimum of x and y. */ -static inline SIMD_CFUNC float simd_min(float x, float y); -/*! @abstract The elementwise minimum of x and y. */ -static inline SIMD_CFUNC simd_float2 simd_min(simd_float2 x, simd_float2 y); -/*! @abstract The elementwise minimum of x and y. */ -static inline SIMD_CFUNC simd_float3 simd_min(simd_float3 x, simd_float3 y); -/*! @abstract The elementwise minimum of x and y. */ -static inline SIMD_CFUNC simd_float4 simd_min(simd_float4 x, simd_float4 y); -/*! @abstract The elementwise minimum of x and y. */ -static inline SIMD_CFUNC simd_float8 simd_min(simd_float8 x, simd_float8 y); -/*! @abstract The elementwise minimum of x and y. */ -static inline SIMD_CFUNC simd_float16 simd_min(simd_float16 x, simd_float16 y); -/*! @abstract The elementwise minimum of x and y. */ -static inline SIMD_CFUNC simd_long2 simd_min(simd_long2 x, simd_long2 y); -/*! @abstract The elementwise minimum of x and y. */ -static inline SIMD_CFUNC simd_long3 simd_min(simd_long3 x, simd_long3 y); -/*! @abstract The elementwise minimum of x and y. */ -static inline SIMD_CFUNC simd_long4 simd_min(simd_long4 x, simd_long4 y); -/*! @abstract The elementwise minimum of x and y. */ -static inline SIMD_CFUNC simd_long8 simd_min(simd_long8 x, simd_long8 y); -/*! @abstract The elementwise minimum of x and y. */ -static inline SIMD_CFUNC simd_ulong2 simd_min(simd_ulong2 x, simd_ulong2 y); -/*! @abstract The elementwise minimum of x and y. */ -static inline SIMD_CFUNC simd_ulong3 simd_min(simd_ulong3 x, simd_ulong3 y); -/*! @abstract The elementwise minimum of x and y. */ -static inline SIMD_CFUNC simd_ulong4 simd_min(simd_ulong4 x, simd_ulong4 y); -/*! @abstract The elementwise minimum of x and y. */ -static inline SIMD_CFUNC simd_ulong8 simd_min(simd_ulong8 x, simd_ulong8 y); -/*! @abstract The elementwise minimum of x and y. */ -static inline SIMD_CFUNC double simd_min(double x, double y); -/*! @abstract The elementwise minimum of x and y. */ -static inline SIMD_CFUNC simd_double2 simd_min(simd_double2 x, simd_double2 y); -/*! @abstract The elementwise minimum of x and y. */ -static inline SIMD_CFUNC simd_double3 simd_min(simd_double3 x, simd_double3 y); -/*! @abstract The elementwise minimum of x and y. */ -static inline SIMD_CFUNC simd_double4 simd_min(simd_double4 x, simd_double4 y); -/*! @abstract The elementwise minimum of x and y. */ -static inline SIMD_CFUNC simd_double8 simd_min(simd_double8 x, simd_double8 y); -/*! @abstract The elementwise minimum of x and y. - * @discussion Deprecated. Use simd_min(x,y) instead. */ -#define vector_min simd_min - - -/*! @abstract x clamped to the range [min, max]. - * @discussion Note that if you want to clamp all lanes to the same range, - * you can use a scalar value for min and max. */ -static inline SIMD_CFUNC simd_char2 simd_clamp(simd_char2 x, simd_char2 min, simd_char2 max); -/*! @abstract x clamped to the range [min, max]. - * @discussion Note that if you want to clamp all lanes to the same range, - * you can use a scalar value for min and max. */ -static inline SIMD_CFUNC simd_char3 simd_clamp(simd_char3 x, simd_char3 min, simd_char3 max); -/*! @abstract x clamped to the range [min, max]. - * @discussion Note that if you want to clamp all lanes to the same range, - * you can use a scalar value for min and max. */ -static inline SIMD_CFUNC simd_char4 simd_clamp(simd_char4 x, simd_char4 min, simd_char4 max); -/*! @abstract x clamped to the range [min, max]. - * @discussion Note that if you want to clamp all lanes to the same range, - * you can use a scalar value for min and max. */ -static inline SIMD_CFUNC simd_char8 simd_clamp(simd_char8 x, simd_char8 min, simd_char8 max); -/*! @abstract x clamped to the range [min, max]. - * @discussion Note that if you want to clamp all lanes to the same range, - * you can use a scalar value for min and max. */ -static inline SIMD_CFUNC simd_char16 simd_clamp(simd_char16 x, simd_char16 min, simd_char16 max); -/*! @abstract x clamped to the range [min, max]. - * @discussion Note that if you want to clamp all lanes to the same range, - * you can use a scalar value for min and max. */ -static inline SIMD_CFUNC simd_char32 simd_clamp(simd_char32 x, simd_char32 min, simd_char32 max); -/*! @abstract x clamped to the range [min, max]. - * @discussion Note that if you want to clamp all lanes to the same range, - * you can use a scalar value for min and max. */ -static inline SIMD_CFUNC simd_char64 simd_clamp(simd_char64 x, simd_char64 min, simd_char64 max); -/*! @abstract x clamped to the range [min, max]. - * @discussion Note that if you want to clamp all lanes to the same range, - * you can use a scalar value for min and max. */ -static inline SIMD_CFUNC simd_uchar2 simd_clamp(simd_uchar2 x, simd_uchar2 min, simd_uchar2 max); -/*! @abstract x clamped to the range [min, max]. - * @discussion Note that if you want to clamp all lanes to the same range, - * you can use a scalar value for min and max. */ -static inline SIMD_CFUNC simd_uchar3 simd_clamp(simd_uchar3 x, simd_uchar3 min, simd_uchar3 max); -/*! @abstract x clamped to the range [min, max]. - * @discussion Note that if you want to clamp all lanes to the same range, - * you can use a scalar value for min and max. */ -static inline SIMD_CFUNC simd_uchar4 simd_clamp(simd_uchar4 x, simd_uchar4 min, simd_uchar4 max); -/*! @abstract x clamped to the range [min, max]. - * @discussion Note that if you want to clamp all lanes to the same range, - * you can use a scalar value for min and max. */ -static inline SIMD_CFUNC simd_uchar8 simd_clamp(simd_uchar8 x, simd_uchar8 min, simd_uchar8 max); -/*! @abstract x clamped to the range [min, max]. - * @discussion Note that if you want to clamp all lanes to the same range, - * you can use a scalar value for min and max. */ -static inline SIMD_CFUNC simd_uchar16 simd_clamp(simd_uchar16 x, simd_uchar16 min, simd_uchar16 max); -/*! @abstract x clamped to the range [min, max]. - * @discussion Note that if you want to clamp all lanes to the same range, - * you can use a scalar value for min and max. */ -static inline SIMD_CFUNC simd_uchar32 simd_clamp(simd_uchar32 x, simd_uchar32 min, simd_uchar32 max); -/*! @abstract x clamped to the range [min, max]. - * @discussion Note that if you want to clamp all lanes to the same range, - * you can use a scalar value for min and max. */ -static inline SIMD_CFUNC simd_uchar64 simd_clamp(simd_uchar64 x, simd_uchar64 min, simd_uchar64 max); -/*! @abstract x clamped to the range [min, max]. - * @discussion Note that if you want to clamp all lanes to the same range, - * you can use a scalar value for min and max. */ -static inline SIMD_CFUNC simd_short2 simd_clamp(simd_short2 x, simd_short2 min, simd_short2 max); -/*! @abstract x clamped to the range [min, max]. - * @discussion Note that if you want to clamp all lanes to the same range, - * you can use a scalar value for min and max. */ -static inline SIMD_CFUNC simd_short3 simd_clamp(simd_short3 x, simd_short3 min, simd_short3 max); -/*! @abstract x clamped to the range [min, max]. - * @discussion Note that if you want to clamp all lanes to the same range, - * you can use a scalar value for min and max. */ -static inline SIMD_CFUNC simd_short4 simd_clamp(simd_short4 x, simd_short4 min, simd_short4 max); -/*! @abstract x clamped to the range [min, max]. - * @discussion Note that if you want to clamp all lanes to the same range, - * you can use a scalar value for min and max. */ -static inline SIMD_CFUNC simd_short8 simd_clamp(simd_short8 x, simd_short8 min, simd_short8 max); -/*! @abstract x clamped to the range [min, max]. - * @discussion Note that if you want to clamp all lanes to the same range, - * you can use a scalar value for min and max. */ -static inline SIMD_CFUNC simd_short16 simd_clamp(simd_short16 x, simd_short16 min, simd_short16 max); -/*! @abstract x clamped to the range [min, max]. - * @discussion Note that if you want to clamp all lanes to the same range, - * you can use a scalar value for min and max. */ -static inline SIMD_CFUNC simd_short32 simd_clamp(simd_short32 x, simd_short32 min, simd_short32 max); -/*! @abstract x clamped to the range [min, max]. - * @discussion Note that if you want to clamp all lanes to the same range, - * you can use a scalar value for min and max. */ -static inline SIMD_CFUNC simd_ushort2 simd_clamp(simd_ushort2 x, simd_ushort2 min, simd_ushort2 max); -/*! @abstract x clamped to the range [min, max]. - * @discussion Note that if you want to clamp all lanes to the same range, - * you can use a scalar value for min and max. */ -static inline SIMD_CFUNC simd_ushort3 simd_clamp(simd_ushort3 x, simd_ushort3 min, simd_ushort3 max); -/*! @abstract x clamped to the range [min, max]. - * @discussion Note that if you want to clamp all lanes to the same range, - * you can use a scalar value for min and max. */ -static inline SIMD_CFUNC simd_ushort4 simd_clamp(simd_ushort4 x, simd_ushort4 min, simd_ushort4 max); -/*! @abstract x clamped to the range [min, max]. - * @discussion Note that if you want to clamp all lanes to the same range, - * you can use a scalar value for min and max. */ -static inline SIMD_CFUNC simd_ushort8 simd_clamp(simd_ushort8 x, simd_ushort8 min, simd_ushort8 max); -/*! @abstract x clamped to the range [min, max]. - * @discussion Note that if you want to clamp all lanes to the same range, - * you can use a scalar value for min and max. */ -static inline SIMD_CFUNC simd_ushort16 simd_clamp(simd_ushort16 x, simd_ushort16 min, simd_ushort16 max); -/*! @abstract x clamped to the range [min, max]. - * @discussion Note that if you want to clamp all lanes to the same range, - * you can use a scalar value for min and max. */ -static inline SIMD_CFUNC simd_ushort32 simd_clamp(simd_ushort32 x, simd_ushort32 min, simd_ushort32 max); -/*! @abstract x clamped to the range [min, max]. - * @discussion Note that if you want to clamp all lanes to the same range, - * you can use a scalar value for min and max. */ -static inline SIMD_CFUNC simd_int2 simd_clamp(simd_int2 x, simd_int2 min, simd_int2 max); -/*! @abstract x clamped to the range [min, max]. - * @discussion Note that if you want to clamp all lanes to the same range, - * you can use a scalar value for min and max. */ -static inline SIMD_CFUNC simd_int3 simd_clamp(simd_int3 x, simd_int3 min, simd_int3 max); -/*! @abstract x clamped to the range [min, max]. - * @discussion Note that if you want to clamp all lanes to the same range, - * you can use a scalar value for min and max. */ -static inline SIMD_CFUNC simd_int4 simd_clamp(simd_int4 x, simd_int4 min, simd_int4 max); -/*! @abstract x clamped to the range [min, max]. - * @discussion Note that if you want to clamp all lanes to the same range, - * you can use a scalar value for min and max. */ -static inline SIMD_CFUNC simd_int8 simd_clamp(simd_int8 x, simd_int8 min, simd_int8 max); -/*! @abstract x clamped to the range [min, max]. - * @discussion Note that if you want to clamp all lanes to the same range, - * you can use a scalar value for min and max. */ -static inline SIMD_CFUNC simd_int16 simd_clamp(simd_int16 x, simd_int16 min, simd_int16 max); -/*! @abstract x clamped to the range [min, max]. - * @discussion Note that if you want to clamp all lanes to the same range, - * you can use a scalar value for min and max. */ -static inline SIMD_CFUNC simd_uint2 simd_clamp(simd_uint2 x, simd_uint2 min, simd_uint2 max); -/*! @abstract x clamped to the range [min, max]. - * @discussion Note that if you want to clamp all lanes to the same range, - * you can use a scalar value for min and max. */ -static inline SIMD_CFUNC simd_uint3 simd_clamp(simd_uint3 x, simd_uint3 min, simd_uint3 max); -/*! @abstract x clamped to the range [min, max]. - * @discussion Note that if you want to clamp all lanes to the same range, - * you can use a scalar value for min and max. */ -static inline SIMD_CFUNC simd_uint4 simd_clamp(simd_uint4 x, simd_uint4 min, simd_uint4 max); -/*! @abstract x clamped to the range [min, max]. - * @discussion Note that if you want to clamp all lanes to the same range, - * you can use a scalar value for min and max. */ -static inline SIMD_CFUNC simd_uint8 simd_clamp(simd_uint8 x, simd_uint8 min, simd_uint8 max); -/*! @abstract x clamped to the range [min, max]. - * @discussion Note that if you want to clamp all lanes to the same range, - * you can use a scalar value for min and max. */ -static inline SIMD_CFUNC simd_uint16 simd_clamp(simd_uint16 x, simd_uint16 min, simd_uint16 max); -/*! @abstract x clamped to the range [min, max]. - * @discussion Note that if you want to clamp all lanes to the same range, - * you can use a scalar value for min and max. */ -static inline SIMD_CFUNC float simd_clamp(float x, float min, float max); -/*! @abstract x clamped to the range [min, max]. - * @discussion Note that if you want to clamp all lanes to the same range, - * you can use a scalar value for min and max. */ -static inline SIMD_CFUNC simd_float2 simd_clamp(simd_float2 x, simd_float2 min, simd_float2 max); -/*! @abstract x clamped to the range [min, max]. - * @discussion Note that if you want to clamp all lanes to the same range, - * you can use a scalar value for min and max. */ -static inline SIMD_CFUNC simd_float3 simd_clamp(simd_float3 x, simd_float3 min, simd_float3 max); -/*! @abstract x clamped to the range [min, max]. - * @discussion Note that if you want to clamp all lanes to the same range, - * you can use a scalar value for min and max. */ -static inline SIMD_CFUNC simd_float4 simd_clamp(simd_float4 x, simd_float4 min, simd_float4 max); -/*! @abstract x clamped to the range [min, max]. - * @discussion Note that if you want to clamp all lanes to the same range, - * you can use a scalar value for min and max. */ -static inline SIMD_CFUNC simd_float8 simd_clamp(simd_float8 x, simd_float8 min, simd_float8 max); -/*! @abstract x clamped to the range [min, max]. - * @discussion Note that if you want to clamp all lanes to the same range, - * you can use a scalar value for min and max. */ -static inline SIMD_CFUNC simd_float16 simd_clamp(simd_float16 x, simd_float16 min, simd_float16 max); -/*! @abstract x clamped to the range [min, max]. - * @discussion Note that if you want to clamp all lanes to the same range, - * you can use a scalar value for min and max. */ -static inline SIMD_CFUNC simd_long2 simd_clamp(simd_long2 x, simd_long2 min, simd_long2 max); -/*! @abstract x clamped to the range [min, max]. - * @discussion Note that if you want to clamp all lanes to the same range, - * you can use a scalar value for min and max. */ -static inline SIMD_CFUNC simd_long3 simd_clamp(simd_long3 x, simd_long3 min, simd_long3 max); -/*! @abstract x clamped to the range [min, max]. - * @discussion Note that if you want to clamp all lanes to the same range, - * you can use a scalar value for min and max. */ -static inline SIMD_CFUNC simd_long4 simd_clamp(simd_long4 x, simd_long4 min, simd_long4 max); -/*! @abstract x clamped to the range [min, max]. - * @discussion Note that if you want to clamp all lanes to the same range, - * you can use a scalar value for min and max. */ -static inline SIMD_CFUNC simd_long8 simd_clamp(simd_long8 x, simd_long8 min, simd_long8 max); -/*! @abstract x clamped to the range [min, max]. - * @discussion Note that if you want to clamp all lanes to the same range, - * you can use a scalar value for min and max. */ -static inline SIMD_CFUNC simd_ulong2 simd_clamp(simd_ulong2 x, simd_ulong2 min, simd_ulong2 max); -/*! @abstract x clamped to the range [min, max]. - * @discussion Note that if you want to clamp all lanes to the same range, - * you can use a scalar value for min and max. */ -static inline SIMD_CFUNC simd_ulong3 simd_clamp(simd_ulong3 x, simd_ulong3 min, simd_ulong3 max); -/*! @abstract x clamped to the range [min, max]. - * @discussion Note that if you want to clamp all lanes to the same range, - * you can use a scalar value for min and max. */ -static inline SIMD_CFUNC simd_ulong4 simd_clamp(simd_ulong4 x, simd_ulong4 min, simd_ulong4 max); -/*! @abstract x clamped to the range [min, max]. - * @discussion Note that if you want to clamp all lanes to the same range, - * you can use a scalar value for min and max. */ -static inline SIMD_CFUNC simd_ulong8 simd_clamp(simd_ulong8 x, simd_ulong8 min, simd_ulong8 max); -/*! @abstract x clamped to the range [min, max]. - * @discussion Note that if you want to clamp all lanes to the same range, - * you can use a scalar value for min and max. */ -static inline SIMD_CFUNC double simd_clamp(double x, double min, double max); -/*! @abstract x clamped to the range [min, max]. - * @discussion Note that if you want to clamp all lanes to the same range, - * you can use a scalar value for min and max. */ -static inline SIMD_CFUNC simd_double2 simd_clamp(simd_double2 x, simd_double2 min, simd_double2 max); -/*! @abstract x clamped to the range [min, max]. - * @discussion Note that if you want to clamp all lanes to the same range, - * you can use a scalar value for min and max. */ -static inline SIMD_CFUNC simd_double3 simd_clamp(simd_double3 x, simd_double3 min, simd_double3 max); -/*! @abstract x clamped to the range [min, max]. - * @discussion Note that if you want to clamp all lanes to the same range, - * you can use a scalar value for min and max. */ -static inline SIMD_CFUNC simd_double4 simd_clamp(simd_double4 x, simd_double4 min, simd_double4 max); -/*! @abstract x clamped to the range [min, max]. - * @discussion Note that if you want to clamp all lanes to the same range, - * you can use a scalar value for min and max. */ -static inline SIMD_CFUNC simd_double8 simd_clamp(simd_double8 x, simd_double8 min, simd_double8 max); -/*! @abstract x clamped to the range [min, max]. - * @discussion Deprecated. Use simd_clamp(x,min,max) instead. */ -#define vector_clamp simd_clamp - -/*! @abstract -1 if x is negative, +1 if x is positive, and 0 otherwise. */ -static inline SIMD_CFUNC float simd_sign(float x); -/*! @abstract -1 if x is negative, +1 if x is positive, and 0 otherwise. */ -static inline SIMD_CFUNC simd_float2 simd_sign(simd_float2 x); -/*! @abstract -1 if x is negative, +1 if x is positive, and 0 otherwise. */ -static inline SIMD_CFUNC simd_float3 simd_sign(simd_float3 x); -/*! @abstract -1 if x is negative, +1 if x is positive, and 0 otherwise. */ -static inline SIMD_CFUNC simd_float4 simd_sign(simd_float4 x); -/*! @abstract -1 if x is negative, +1 if x is positive, and 0 otherwise. */ -static inline SIMD_CFUNC simd_float8 simd_sign(simd_float8 x); -/*! @abstract -1 if x is negative, +1 if x is positive, and 0 otherwise. */ -static inline SIMD_CFUNC simd_float16 simd_sign(simd_float16 x); -/*! @abstract -1 if x is negative, +1 if x is positive, and 0 otherwise. */ -static inline SIMD_CFUNC double simd_sign(double x); -/*! @abstract -1 if x is negative, +1 if x is positive, and 0 otherwise. */ -static inline SIMD_CFUNC simd_double2 simd_sign(simd_double2 x); -/*! @abstract -1 if x is negative, +1 if x is positive, and 0 otherwise. */ -static inline SIMD_CFUNC simd_double3 simd_sign(simd_double3 x); -/*! @abstract -1 if x is negative, +1 if x is positive, and 0 otherwise. */ -static inline SIMD_CFUNC simd_double4 simd_sign(simd_double4 x); -/*! @abstract -1 if x is negative, +1 if x is positive, and 0 otherwise. */ -static inline SIMD_CFUNC simd_double8 simd_sign(simd_double8 x); -/*! @abstract -1 if x is negative, +1 if x is positive, and 0 otherwise. - * @discussion Deprecated. Use simd_sign(x) instead. */ -#define vector_sign simd_sign - -/*! @abstract Linearly interpolates between x and y, taking the value x when - * t=0 and y when t=1 */ -static inline SIMD_CFUNC float simd_mix(float x, float y, float t); -/*! @abstract Linearly interpolates between x and y, taking the value x when - * t=0 and y when t=1 */ -static inline SIMD_CFUNC simd_float2 simd_mix(simd_float2 x, simd_float2 y, simd_float2 t); -/*! @abstract Linearly interpolates between x and y, taking the value x when - * t=0 and y when t=1 */ -static inline SIMD_CFUNC simd_float3 simd_mix(simd_float3 x, simd_float3 y, simd_float3 t); -/*! @abstract Linearly interpolates between x and y, taking the value x when - * t=0 and y when t=1 */ -static inline SIMD_CFUNC simd_float4 simd_mix(simd_float4 x, simd_float4 y, simd_float4 t); -/*! @abstract Linearly interpolates between x and y, taking the value x when - * t=0 and y when t=1 */ -static inline SIMD_CFUNC simd_float8 simd_mix(simd_float8 x, simd_float8 y, simd_float8 t); -/*! @abstract Linearly interpolates between x and y, taking the value x when - * t=0 and y when t=1 */ -static inline SIMD_CFUNC simd_float16 simd_mix(simd_float16 x, simd_float16 y, simd_float16 t); -/*! @abstract Linearly interpolates between x and y, taking the value x when - * t=0 and y when t=1 */ -static inline SIMD_CFUNC double simd_mix(double x, double y, double t); -/*! @abstract Linearly interpolates between x and y, taking the value x when - * t=0 and y when t=1 */ -static inline SIMD_CFUNC simd_double2 simd_mix(simd_double2 x, simd_double2 y, simd_double2 t); -/*! @abstract Linearly interpolates between x and y, taking the value x when - * t=0 and y when t=1 */ -static inline SIMD_CFUNC simd_double3 simd_mix(simd_double3 x, simd_double3 y, simd_double3 t); -/*! @abstract Linearly interpolates between x and y, taking the value x when - * t=0 and y when t=1 */ -static inline SIMD_CFUNC simd_double4 simd_mix(simd_double4 x, simd_double4 y, simd_double4 t); -/*! @abstract Linearly interpolates between x and y, taking the value x when - * t=0 and y when t=1 */ -static inline SIMD_CFUNC simd_double8 simd_mix(simd_double8 x, simd_double8 y, simd_double8 t); -/*! @abstract Linearly interpolates between x and y, taking the value x when - * t=0 and y when t=1 - * @discussion Deprecated. Use simd_mix(x, y, t) instead. */ -#define vector_mix simd_mix - -/*! @abstract A good approximation to 1/x. - * @discussion If x is very close to the limits of representation, the - * result may overflow or underflow; otherwise this function is accurate to - * a few units in the last place (ULPs). */ -static inline SIMD_CFUNC float simd_precise_recip(float x); -/*! @abstract A good approximation to 1/x. - * @discussion If x is very close to the limits of representation, the - * result may overflow or underflow; otherwise this function is accurate to - * a few units in the last place (ULPs). */ -static inline SIMD_CFUNC simd_float2 simd_precise_recip(simd_float2 x); -/*! @abstract A good approximation to 1/x. - * @discussion If x is very close to the limits of representation, the - * result may overflow or underflow; otherwise this function is accurate to - * a few units in the last place (ULPs). */ -static inline SIMD_CFUNC simd_float3 simd_precise_recip(simd_float3 x); -/*! @abstract A good approximation to 1/x. - * @discussion If x is very close to the limits of representation, the - * result may overflow or underflow; otherwise this function is accurate to - * a few units in the last place (ULPs). */ -static inline SIMD_CFUNC simd_float4 simd_precise_recip(simd_float4 x); -/*! @abstract A good approximation to 1/x. - * @discussion If x is very close to the limits of representation, the - * result may overflow or underflow; otherwise this function is accurate to - * a few units in the last place (ULPs). */ -static inline SIMD_CFUNC simd_float8 simd_precise_recip(simd_float8 x); -/*! @abstract A good approximation to 1/x. - * @discussion If x is very close to the limits of representation, the - * result may overflow or underflow; otherwise this function is accurate to - * a few units in the last place (ULPs). */ -static inline SIMD_CFUNC simd_float16 simd_precise_recip(simd_float16 x); -/*! @abstract A good approximation to 1/x. - * @discussion If x is very close to the limits of representation, the - * result may overflow or underflow; otherwise this function is accurate to - * a few units in the last place (ULPs). */ -static inline SIMD_CFUNC double simd_precise_recip(double x); -/*! @abstract A good approximation to 1/x. - * @discussion If x is very close to the limits of representation, the - * result may overflow or underflow; otherwise this function is accurate to - * a few units in the last place (ULPs). */ -static inline SIMD_CFUNC simd_double2 simd_precise_recip(simd_double2 x); -/*! @abstract A good approximation to 1/x. - * @discussion If x is very close to the limits of representation, the - * result may overflow or underflow; otherwise this function is accurate to - * a few units in the last place (ULPs). */ -static inline SIMD_CFUNC simd_double3 simd_precise_recip(simd_double3 x); -/*! @abstract A good approximation to 1/x. - * @discussion If x is very close to the limits of representation, the - * result may overflow or underflow; otherwise this function is accurate to - * a few units in the last place (ULPs). */ -static inline SIMD_CFUNC simd_double4 simd_precise_recip(simd_double4 x); -/*! @abstract A good approximation to 1/x. - * @discussion If x is very close to the limits of representation, the - * result may overflow or underflow; otherwise this function is accurate to - * a few units in the last place (ULPs). */ -static inline SIMD_CFUNC simd_double8 simd_precise_recip(simd_double8 x); -/*! @abstract A good approximation to 1/x. - * @discussion Deprecated. Use simd_precise_recip(x) instead. */ -#define vector_precise_recip simd_precise_recip - -/*! @abstract A fast approximation to 1/x. - * @discussion If x is very close to the limits of representation, the - * result may overflow or underflow; otherwise this function is accurate to - * at least 11 bits for float and 22 bits for double. */ -static inline SIMD_CFUNC float simd_fast_recip(float x); -/*! @abstract A fast approximation to 1/x. - * @discussion If x is very close to the limits of representation, the - * result may overflow or underflow; otherwise this function is accurate to - * at least 11 bits for float and 22 bits for double. */ -static inline SIMD_CFUNC simd_float2 simd_fast_recip(simd_float2 x); -/*! @abstract A fast approximation to 1/x. - * @discussion If x is very close to the limits of representation, the - * result may overflow or underflow; otherwise this function is accurate to - * at least 11 bits for float and 22 bits for double. */ -static inline SIMD_CFUNC simd_float3 simd_fast_recip(simd_float3 x); -/*! @abstract A fast approximation to 1/x. - * @discussion If x is very close to the limits of representation, the - * result may overflow or underflow; otherwise this function is accurate to - * at least 11 bits for float and 22 bits for double. */ -static inline SIMD_CFUNC simd_float4 simd_fast_recip(simd_float4 x); -/*! @abstract A fast approximation to 1/x. - * @discussion If x is very close to the limits of representation, the - * result may overflow or underflow; otherwise this function is accurate to - * at least 11 bits for float and 22 bits for double. */ -static inline SIMD_CFUNC simd_float8 simd_fast_recip(simd_float8 x); -/*! @abstract A fast approximation to 1/x. - * @discussion If x is very close to the limits of representation, the - * result may overflow or underflow; otherwise this function is accurate to - * at least 11 bits for float and 22 bits for double. */ -static inline SIMD_CFUNC simd_float16 simd_fast_recip(simd_float16 x); -/*! @abstract A fast approximation to 1/x. - * @discussion If x is very close to the limits of representation, the - * result may overflow or underflow; otherwise this function is accurate to - * at least 11 bits for float and 22 bits for double. */ -static inline SIMD_CFUNC double simd_fast_recip(double x); -/*! @abstract A fast approximation to 1/x. - * @discussion If x is very close to the limits of representation, the - * result may overflow or underflow; otherwise this function is accurate to - * at least 11 bits for float and 22 bits for double. */ -static inline SIMD_CFUNC simd_double2 simd_fast_recip(simd_double2 x); -/*! @abstract A fast approximation to 1/x. - * @discussion If x is very close to the limits of representation, the - * result may overflow or underflow; otherwise this function is accurate to - * at least 11 bits for float and 22 bits for double. */ -static inline SIMD_CFUNC simd_double3 simd_fast_recip(simd_double3 x); -/*! @abstract A fast approximation to 1/x. - * @discussion If x is very close to the limits of representation, the - * result may overflow or underflow; otherwise this function is accurate to - * at least 11 bits for float and 22 bits for double. */ -static inline SIMD_CFUNC simd_double4 simd_fast_recip(simd_double4 x); -/*! @abstract A fast approximation to 1/x. - * @discussion If x is very close to the limits of representation, the - * result may overflow or underflow; otherwise this function is accurate to - * at least 11 bits for float and 22 bits for double. */ -static inline SIMD_CFUNC simd_double8 simd_fast_recip(simd_double8 x); -/*! @abstract A fast approximation to 1/x. - * @discussion Deprecated. Use simd_fast_recip(x) instead. */ -#define vector_fast_recip simd_fast_recip - -/*! @abstract An approximation to 1/x. - * @discussion If x is very close to the limits of representation, the - * result may overflow or underflow. This function maps to - * simd_fast_recip(x) if -ffast-math is specified, and to - * simd_precise_recip(x) otherwise. */ -static inline SIMD_CFUNC float simd_recip(float x); -/*! @abstract An approximation to 1/x. - * @discussion If x is very close to the limits of representation, the - * result may overflow or underflow. This function maps to - * simd_fast_recip(x) if -ffast-math is specified, and to - * simd_precise_recip(x) otherwise. */ -static inline SIMD_CFUNC simd_float2 simd_recip(simd_float2 x); -/*! @abstract An approximation to 1/x. - * @discussion If x is very close to the limits of representation, the - * result may overflow or underflow. This function maps to - * simd_fast_recip(x) if -ffast-math is specified, and to - * simd_precise_recip(x) otherwise. */ -static inline SIMD_CFUNC simd_float3 simd_recip(simd_float3 x); -/*! @abstract An approximation to 1/x. - * @discussion If x is very close to the limits of representation, the - * result may overflow or underflow. This function maps to - * simd_fast_recip(x) if -ffast-math is specified, and to - * simd_precise_recip(x) otherwise. */ -static inline SIMD_CFUNC simd_float4 simd_recip(simd_float4 x); -/*! @abstract An approximation to 1/x. - * @discussion If x is very close to the limits of representation, the - * result may overflow or underflow. This function maps to - * simd_fast_recip(x) if -ffast-math is specified, and to - * simd_precise_recip(x) otherwise. */ -static inline SIMD_CFUNC simd_float8 simd_recip(simd_float8 x); -/*! @abstract An approximation to 1/x. - * @discussion If x is very close to the limits of representation, the - * result may overflow or underflow. This function maps to - * simd_fast_recip(x) if -ffast-math is specified, and to - * simd_precise_recip(x) otherwise. */ -static inline SIMD_CFUNC simd_float16 simd_recip(simd_float16 x); -/*! @abstract An approximation to 1/x. - * @discussion If x is very close to the limits of representation, the - * result may overflow or underflow. This function maps to - * simd_fast_recip(x) if -ffast-math is specified, and to - * simd_precise_recip(x) otherwise. */ -static inline SIMD_CFUNC double simd_recip(double x); -/*! @abstract An approximation to 1/x. - * @discussion If x is very close to the limits of representation, the - * result may overflow or underflow. This function maps to - * simd_fast_recip(x) if -ffast-math is specified, and to - * simd_precise_recip(x) otherwise. */ -static inline SIMD_CFUNC simd_double2 simd_recip(simd_double2 x); -/*! @abstract An approximation to 1/x. - * @discussion If x is very close to the limits of representation, the - * result may overflow or underflow. This function maps to - * simd_fast_recip(x) if -ffast-math is specified, and to - * simd_precise_recip(x) otherwise. */ -static inline SIMD_CFUNC simd_double3 simd_recip(simd_double3 x); -/*! @abstract An approximation to 1/x. - * @discussion If x is very close to the limits of representation, the - * result may overflow or underflow. This function maps to - * simd_fast_recip(x) if -ffast-math is specified, and to - * simd_precise_recip(x) otherwise. */ -static inline SIMD_CFUNC simd_double4 simd_recip(simd_double4 x); -/*! @abstract An approximation to 1/x. - * @discussion If x is very close to the limits of representation, the - * result may overflow or underflow. This function maps to - * simd_fast_recip(x) if -ffast-math is specified, and to - * simd_precise_recip(x) otherwise. */ -static inline SIMD_CFUNC simd_double8 simd_recip(simd_double8 x); -/*! @abstract An approximation to 1/x. - * @discussion Deprecated. Use simd_recip(x) instead. */ -#define vector_recip simd_recip - -/*! @abstract A good approximation to 1/sqrt(x). - * @discussion This function is accurate to a few units in the last place - * (ULPs). */ -static inline SIMD_CFUNC float simd_precise_rsqrt(float x); -/*! @abstract A good approximation to 1/sqrt(x). - * @discussion This function is accurate to a few units in the last place - * (ULPs). */ -static inline SIMD_CFUNC simd_float2 simd_precise_rsqrt(simd_float2 x); -/*! @abstract A good approximation to 1/sqrt(x). - * @discussion This function is accurate to a few units in the last place - * (ULPs). */ -static inline SIMD_CFUNC simd_float3 simd_precise_rsqrt(simd_float3 x); -/*! @abstract A good approximation to 1/sqrt(x). - * @discussion This function is accurate to a few units in the last place - * (ULPs). */ -static inline SIMD_CFUNC simd_float4 simd_precise_rsqrt(simd_float4 x); -/*! @abstract A good approximation to 1/sqrt(x). - * @discussion This function is accurate to a few units in the last place - * (ULPs). */ -static inline SIMD_CFUNC simd_float8 simd_precise_rsqrt(simd_float8 x); -/*! @abstract A good approximation to 1/sqrt(x). - * @discussion This function is accurate to a few units in the last place - * (ULPs). */ -static inline SIMD_CFUNC simd_float16 simd_precise_rsqrt(simd_float16 x); -/*! @abstract A good approximation to 1/sqrt(x). - * @discussion This function is accurate to a few units in the last place - * (ULPs). */ -static inline SIMD_CFUNC double simd_precise_rsqrt(double x); -/*! @abstract A good approximation to 1/sqrt(x). - * @discussion This function is accurate to a few units in the last place - * (ULPs). */ -static inline SIMD_CFUNC simd_double2 simd_precise_rsqrt(simd_double2 x); -/*! @abstract A good approximation to 1/sqrt(x). - * @discussion This function is accurate to a few units in the last place - * (ULPs). */ -static inline SIMD_CFUNC simd_double3 simd_precise_rsqrt(simd_double3 x); -/*! @abstract A good approximation to 1/sqrt(x). - * @discussion This function is accurate to a few units in the last place - * (ULPs). */ -static inline SIMD_CFUNC simd_double4 simd_precise_rsqrt(simd_double4 x); -/*! @abstract A good approximation to 1/sqrt(x). - * @discussion This function is accurate to a few units in the last place - * (ULPs). */ -static inline SIMD_CFUNC simd_double8 simd_precise_rsqrt(simd_double8 x); -/*! @abstract A good approximation to 1/sqrt(x). - * @discussion Deprecated. Use simd_precise_rsqrt(x) instead. */ -#define vector_precise_rsqrt simd_precise_rsqrt - -/*! @abstract A fast approximation to 1/sqrt(x). - * @discussion This function is accurate to at least 11 bits for float and - * 22 bits for double. */ -static inline SIMD_CFUNC float simd_fast_rsqrt(float x); -/*! @abstract A fast approximation to 1/sqrt(x). - * @discussion This function is accurate to at least 11 bits for float and - * 22 bits for double. */ -static inline SIMD_CFUNC simd_float2 simd_fast_rsqrt(simd_float2 x); -/*! @abstract A fast approximation to 1/sqrt(x). - * @discussion This function is accurate to at least 11 bits for float and - * 22 bits for double. */ -static inline SIMD_CFUNC simd_float3 simd_fast_rsqrt(simd_float3 x); -/*! @abstract A fast approximation to 1/sqrt(x). - * @discussion This function is accurate to at least 11 bits for float and - * 22 bits for double. */ -static inline SIMD_CFUNC simd_float4 simd_fast_rsqrt(simd_float4 x); -/*! @abstract A fast approximation to 1/sqrt(x). - * @discussion This function is accurate to at least 11 bits for float and - * 22 bits for double. */ -static inline SIMD_CFUNC simd_float8 simd_fast_rsqrt(simd_float8 x); -/*! @abstract A fast approximation to 1/sqrt(x). - * @discussion This function is accurate to at least 11 bits for float and - * 22 bits for double. */ -static inline SIMD_CFUNC simd_float16 simd_fast_rsqrt(simd_float16 x); -/*! @abstract A fast approximation to 1/sqrt(x). - * @discussion This function is accurate to at least 11 bits for float and - * 22 bits for double. */ -static inline SIMD_CFUNC double simd_fast_rsqrt(double x); -/*! @abstract A fast approximation to 1/sqrt(x). - * @discussion This function is accurate to at least 11 bits for float and - * 22 bits for double. */ -static inline SIMD_CFUNC simd_double2 simd_fast_rsqrt(simd_double2 x); -/*! @abstract A fast approximation to 1/sqrt(x). - * @discussion This function is accurate to at least 11 bits for float and - * 22 bits for double. */ -static inline SIMD_CFUNC simd_double3 simd_fast_rsqrt(simd_double3 x); -/*! @abstract A fast approximation to 1/sqrt(x). - * @discussion This function is accurate to at least 11 bits for float and - * 22 bits for double. */ -static inline SIMD_CFUNC simd_double4 simd_fast_rsqrt(simd_double4 x); -/*! @abstract A fast approximation to 1/sqrt(x). - * @discussion This function is accurate to at least 11 bits for float and - * 22 bits for double. */ -static inline SIMD_CFUNC simd_double8 simd_fast_rsqrt(simd_double8 x); -/*! @abstract A fast approximation to 1/sqrt(x). - * @discussion Deprecated. Use simd_fast_rsqrt(x) instead. */ -#define vector_fast_rsqrt simd_fast_rsqrt - -/*! @abstract An approximation to 1/sqrt(x). - * @discussion This function maps to simd_fast_recip(x) if -ffast-math is - * specified, and to simd_precise_recip(x) otherwise. */ -static inline SIMD_CFUNC float simd_rsqrt(float x); -/*! @abstract An approximation to 1/sqrt(x). - * @discussion This function maps to simd_fast_recip(x) if -ffast-math is - * specified, and to simd_precise_recip(x) otherwise. */ -static inline SIMD_CFUNC simd_float2 simd_rsqrt(simd_float2 x); -/*! @abstract An approximation to 1/sqrt(x). - * @discussion This function maps to simd_fast_recip(x) if -ffast-math is - * specified, and to simd_precise_recip(x) otherwise. */ -static inline SIMD_CFUNC simd_float3 simd_rsqrt(simd_float3 x); -/*! @abstract An approximation to 1/sqrt(x). - * @discussion This function maps to simd_fast_recip(x) if -ffast-math is - * specified, and to simd_precise_recip(x) otherwise. */ -static inline SIMD_CFUNC simd_float4 simd_rsqrt(simd_float4 x); -/*! @abstract An approximation to 1/sqrt(x). - * @discussion This function maps to simd_fast_recip(x) if -ffast-math is - * specified, and to simd_precise_recip(x) otherwise. */ -static inline SIMD_CFUNC simd_float8 simd_rsqrt(simd_float8 x); -/*! @abstract An approximation to 1/sqrt(x). - * @discussion This function maps to simd_fast_recip(x) if -ffast-math is - * specified, and to simd_precise_recip(x) otherwise. */ -static inline SIMD_CFUNC simd_float16 simd_rsqrt(simd_float16 x); -/*! @abstract An approximation to 1/sqrt(x). - * @discussion This function maps to simd_fast_recip(x) if -ffast-math is - * specified, and to simd_precise_recip(x) otherwise. */ -static inline SIMD_CFUNC double simd_rsqrt(double x); -/*! @abstract An approximation to 1/sqrt(x). - * @discussion This function maps to simd_fast_recip(x) if -ffast-math is - * specified, and to simd_precise_recip(x) otherwise. */ -static inline SIMD_CFUNC simd_double2 simd_rsqrt(simd_double2 x); -/*! @abstract An approximation to 1/sqrt(x). - * @discussion This function maps to simd_fast_recip(x) if -ffast-math is - * specified, and to simd_precise_recip(x) otherwise. */ -static inline SIMD_CFUNC simd_double3 simd_rsqrt(simd_double3 x); -/*! @abstract An approximation to 1/sqrt(x). - * @discussion This function maps to simd_fast_recip(x) if -ffast-math is - * specified, and to simd_precise_recip(x) otherwise. */ -static inline SIMD_CFUNC simd_double4 simd_rsqrt(simd_double4 x); -/*! @abstract An approximation to 1/sqrt(x). - * @discussion This function maps to simd_fast_recip(x) if -ffast-math is - * specified, and to simd_precise_recip(x) otherwise. */ -static inline SIMD_CFUNC simd_double8 simd_rsqrt(simd_double8 x); -/*! @abstract An approximation to 1/sqrt(x). - * @discussion Deprecated. Use simd_rsqrt(x) instead. */ -#define vector_rsqrt simd_rsqrt - -/*! @abstract The "fractional part" of x, lying in the range [0, 1). - * @discussion floor(x) + fract(x) is *approximately* equal to x. If x is - * positive and finite, then the two values are exactly equal. */ -static inline SIMD_CFUNC float simd_fract(float x); -/*! @abstract The "fractional part" of x, lying in the range [0, 1). - * @discussion floor(x) + fract(x) is *approximately* equal to x. If x is - * positive and finite, then the two values are exactly equal. */ -static inline SIMD_CFUNC simd_float2 simd_fract(simd_float2 x); -/*! @abstract The "fractional part" of x, lying in the range [0, 1). - * @discussion floor(x) + fract(x) is *approximately* equal to x. If x is - * positive and finite, then the two values are exactly equal. */ -static inline SIMD_CFUNC simd_float3 simd_fract(simd_float3 x); -/*! @abstract The "fractional part" of x, lying in the range [0, 1). - * @discussion floor(x) + fract(x) is *approximately* equal to x. If x is - * positive and finite, then the two values are exactly equal. */ -static inline SIMD_CFUNC simd_float4 simd_fract(simd_float4 x); -/*! @abstract The "fractional part" of x, lying in the range [0, 1). - * @discussion floor(x) + fract(x) is *approximately* equal to x. If x is - * positive and finite, then the two values are exactly equal. */ -static inline SIMD_CFUNC simd_float8 simd_fract(simd_float8 x); -/*! @abstract The "fractional part" of x, lying in the range [0, 1). - * @discussion floor(x) + fract(x) is *approximately* equal to x. If x is - * positive and finite, then the two values are exactly equal. */ -static inline SIMD_CFUNC simd_float16 simd_fract(simd_float16 x); -/*! @abstract The "fractional part" of x, lying in the range [0, 1). - * @discussion floor(x) + fract(x) is *approximately* equal to x. If x is - * positive and finite, then the two values are exactly equal. */ -static inline SIMD_CFUNC double simd_fract(double x); -/*! @abstract The "fractional part" of x, lying in the range [0, 1). - * @discussion floor(x) + fract(x) is *approximately* equal to x. If x is - * positive and finite, then the two values are exactly equal. */ -static inline SIMD_CFUNC simd_double2 simd_fract(simd_double2 x); -/*! @abstract The "fractional part" of x, lying in the range [0, 1). - * @discussion floor(x) + fract(x) is *approximately* equal to x. If x is - * positive and finite, then the two values are exactly equal. */ -static inline SIMD_CFUNC simd_double3 simd_fract(simd_double3 x); -/*! @abstract The "fractional part" of x, lying in the range [0, 1). - * @discussion floor(x) + fract(x) is *approximately* equal to x. If x is - * positive and finite, then the two values are exactly equal. */ -static inline SIMD_CFUNC simd_double4 simd_fract(simd_double4 x); -/*! @abstract The "fractional part" of x, lying in the range [0, 1). - * @discussion floor(x) + fract(x) is *approximately* equal to x. If x is - * positive and finite, then the two values are exactly equal. */ -static inline SIMD_CFUNC simd_double8 simd_fract(simd_double8 x); -/*! @abstract The "fractional part" of x, lying in the range [0, 1). - * @discussion Deprecated. Use simd_fract(x) instead. */ -#define vector_fract simd_fract - -/*! @abstract 0 if x < edge, and 1 otherwise. - * @discussion Use a scalar value for edge if you want to apply the same - * threshold to all lanes. */ -static inline SIMD_CFUNC float simd_step(float edge, float x); -/*! @abstract 0 if x < edge, and 1 otherwise. - * @discussion Use a scalar value for edge if you want to apply the same - * threshold to all lanes. */ -static inline SIMD_CFUNC simd_float2 simd_step(simd_float2 edge, simd_float2 x); -/*! @abstract 0 if x < edge, and 1 otherwise. - * @discussion Use a scalar value for edge if you want to apply the same - * threshold to all lanes. */ -static inline SIMD_CFUNC simd_float3 simd_step(simd_float3 edge, simd_float3 x); -/*! @abstract 0 if x < edge, and 1 otherwise. - * @discussion Use a scalar value for edge if you want to apply the same - * threshold to all lanes. */ -static inline SIMD_CFUNC simd_float4 simd_step(simd_float4 edge, simd_float4 x); -/*! @abstract 0 if x < edge, and 1 otherwise. - * @discussion Use a scalar value for edge if you want to apply the same - * threshold to all lanes. */ -static inline SIMD_CFUNC simd_float8 simd_step(simd_float8 edge, simd_float8 x); -/*! @abstract 0 if x < edge, and 1 otherwise. - * @discussion Use a scalar value for edge if you want to apply the same - * threshold to all lanes. */ -static inline SIMD_CFUNC simd_float16 simd_step(simd_float16 edge, simd_float16 x); -/*! @abstract 0 if x < edge, and 1 otherwise. - * @discussion Use a scalar value for edge if you want to apply the same - * threshold to all lanes. */ -static inline SIMD_CFUNC double simd_step(double edge, double x); -/*! @abstract 0 if x < edge, and 1 otherwise. - * @discussion Use a scalar value for edge if you want to apply the same - * threshold to all lanes. */ -static inline SIMD_CFUNC simd_double2 simd_step(simd_double2 edge, simd_double2 x); -/*! @abstract 0 if x < edge, and 1 otherwise. - * @discussion Use a scalar value for edge if you want to apply the same - * threshold to all lanes. */ -static inline SIMD_CFUNC simd_double3 simd_step(simd_double3 edge, simd_double3 x); -/*! @abstract 0 if x < edge, and 1 otherwise. - * @discussion Use a scalar value for edge if you want to apply the same - * threshold to all lanes. */ -static inline SIMD_CFUNC simd_double4 simd_step(simd_double4 edge, simd_double4 x); -/*! @abstract 0 if x < edge, and 1 otherwise. - * @discussion Use a scalar value for edge if you want to apply the same - * threshold to all lanes. */ -static inline SIMD_CFUNC simd_double8 simd_step(simd_double8 edge, simd_double8 x); -/*! @abstract 0 if x < edge, and 1 otherwise. - * @discussion Deprecated. Use simd_step(edge, x) instead. */ -#define vector_step simd_step - -/*! @abstract Interpolates smoothly between 0 at edge0 and 1 at edge1 - * @discussion You can use a scalar value for edge0 and edge1 if you want - * to clamp all lanes at the same points. */ -static inline SIMD_CFUNC float simd_smoothstep(float edge0, float edge1, float x); -/*! @abstract Interpolates smoothly between 0 at edge0 and 1 at edge1 - * @discussion You can use a scalar value for edge0 and edge1 if you want - * to clamp all lanes at the same points. */ -static inline SIMD_CFUNC simd_float2 simd_smoothstep(simd_float2 edge0, simd_float2 edge1, simd_float2 x); -/*! @abstract Interpolates smoothly between 0 at edge0 and 1 at edge1 - * @discussion You can use a scalar value for edge0 and edge1 if you want - * to clamp all lanes at the same points. */ -static inline SIMD_CFUNC simd_float3 simd_smoothstep(simd_float3 edge0, simd_float3 edge1, simd_float3 x); -/*! @abstract Interpolates smoothly between 0 at edge0 and 1 at edge1 - * @discussion You can use a scalar value for edge0 and edge1 if you want - * to clamp all lanes at the same points. */ -static inline SIMD_CFUNC simd_float4 simd_smoothstep(simd_float4 edge0, simd_float4 edge1, simd_float4 x); -/*! @abstract Interpolates smoothly between 0 at edge0 and 1 at edge1 - * @discussion You can use a scalar value for edge0 and edge1 if you want - * to clamp all lanes at the same points. */ -static inline SIMD_CFUNC simd_float8 simd_smoothstep(simd_float8 edge0, simd_float8 edge1, simd_float8 x); -/*! @abstract Interpolates smoothly between 0 at edge0 and 1 at edge1 - * @discussion You can use a scalar value for edge0 and edge1 if you want - * to clamp all lanes at the same points. */ -static inline SIMD_CFUNC simd_float16 simd_smoothstep(simd_float16 edge0, simd_float16 edge1, simd_float16 x); -/*! @abstract Interpolates smoothly between 0 at edge0 and 1 at edge1 - * @discussion You can use a scalar value for edge0 and edge1 if you want - * to clamp all lanes at the same points. */ -static inline SIMD_CFUNC double simd_smoothstep(double edge0, double edge1, double x); -/*! @abstract Interpolates smoothly between 0 at edge0 and 1 at edge1 - * @discussion You can use a scalar value for edge0 and edge1 if you want - * to clamp all lanes at the same points. */ -static inline SIMD_CFUNC simd_double2 simd_smoothstep(simd_double2 edge0, simd_double2 edge1, simd_double2 x); -/*! @abstract Interpolates smoothly between 0 at edge0 and 1 at edge1 - * @discussion You can use a scalar value for edge0 and edge1 if you want - * to clamp all lanes at the same points. */ -static inline SIMD_CFUNC simd_double3 simd_smoothstep(simd_double3 edge0, simd_double3 edge1, simd_double3 x); -/*! @abstract Interpolates smoothly between 0 at edge0 and 1 at edge1 - * @discussion You can use a scalar value for edge0 and edge1 if you want - * to clamp all lanes at the same points. */ -static inline SIMD_CFUNC simd_double4 simd_smoothstep(simd_double4 edge0, simd_double4 edge1, simd_double4 x); -/*! @abstract Interpolates smoothly between 0 at edge0 and 1 at edge1 - * @discussion You can use a scalar value for edge0 and edge1 if you want - * to clamp all lanes at the same points. */ -static inline SIMD_CFUNC simd_double8 simd_smoothstep(simd_double8 edge0, simd_double8 edge1, simd_double8 x); -/*! @abstract Interpolates smoothly between 0 at edge0 and 1 at edge1 - * @discussion Deprecated. Use simd_smoothstep(edge0, edge1, x) instead. */ -#define vector_smoothstep simd_smoothstep - -/*! @abstract Sum of elements in x. - * @discussion This computation may overflow; especial for 8-bit types you - * may need to convert to a wider type before reducing. */ -static inline SIMD_CFUNC char simd_reduce_add(simd_char2 x); -/*! @abstract Sum of elements in x. - * @discussion This computation may overflow; especial for 8-bit types you - * may need to convert to a wider type before reducing. */ -static inline SIMD_CFUNC char simd_reduce_add(simd_char3 x); -/*! @abstract Sum of elements in x. - * @discussion This computation may overflow; especial for 8-bit types you - * may need to convert to a wider type before reducing. */ -static inline SIMD_CFUNC char simd_reduce_add(simd_char4 x); -/*! @abstract Sum of elements in x. - * @discussion This computation may overflow; especial for 8-bit types you - * may need to convert to a wider type before reducing. */ -static inline SIMD_CFUNC char simd_reduce_add(simd_char8 x); -/*! @abstract Sum of elements in x. - * @discussion This computation may overflow; especial for 8-bit types you - * may need to convert to a wider type before reducing. */ -static inline SIMD_CFUNC char simd_reduce_add(simd_char16 x); -/*! @abstract Sum of elements in x. - * @discussion This computation may overflow; especial for 8-bit types you - * may need to convert to a wider type before reducing. */ -static inline SIMD_CFUNC char simd_reduce_add(simd_char32 x); -/*! @abstract Sum of elements in x. - * @discussion This computation may overflow; especial for 8-bit types you - * may need to convert to a wider type before reducing. */ -static inline SIMD_CFUNC char simd_reduce_add(simd_char64 x); -/*! @abstract Sum of elements in x. - * @discussion This computation may overflow; especial for 8-bit types you - * may need to convert to a wider type before reducing. */ -static inline SIMD_CFUNC unsigned char simd_reduce_add(simd_uchar2 x); -/*! @abstract Sum of elements in x. - * @discussion This computation may overflow; especial for 8-bit types you - * may need to convert to a wider type before reducing. */ -static inline SIMD_CFUNC unsigned char simd_reduce_add(simd_uchar3 x); -/*! @abstract Sum of elements in x. - * @discussion This computation may overflow; especial for 8-bit types you - * may need to convert to a wider type before reducing. */ -static inline SIMD_CFUNC unsigned char simd_reduce_add(simd_uchar4 x); -/*! @abstract Sum of elements in x. - * @discussion This computation may overflow; especial for 8-bit types you - * may need to convert to a wider type before reducing. */ -static inline SIMD_CFUNC unsigned char simd_reduce_add(simd_uchar8 x); -/*! @abstract Sum of elements in x. - * @discussion This computation may overflow; especial for 8-bit types you - * may need to convert to a wider type before reducing. */ -static inline SIMD_CFUNC unsigned char simd_reduce_add(simd_uchar16 x); -/*! @abstract Sum of elements in x. - * @discussion This computation may overflow; especial for 8-bit types you - * may need to convert to a wider type before reducing. */ -static inline SIMD_CFUNC unsigned char simd_reduce_add(simd_uchar32 x); -/*! @abstract Sum of elements in x. - * @discussion This computation may overflow; especial for 8-bit types you - * may need to convert to a wider type before reducing. */ -static inline SIMD_CFUNC unsigned char simd_reduce_add(simd_uchar64 x); -/*! @abstract Sum of elements in x. - * @discussion This computation may overflow; especial for 8-bit types you - * may need to convert to a wider type before reducing. */ -static inline SIMD_CFUNC short simd_reduce_add(simd_short2 x); -/*! @abstract Sum of elements in x. - * @discussion This computation may overflow; especial for 8-bit types you - * may need to convert to a wider type before reducing. */ -static inline SIMD_CFUNC short simd_reduce_add(simd_short3 x); -/*! @abstract Sum of elements in x. - * @discussion This computation may overflow; especial for 8-bit types you - * may need to convert to a wider type before reducing. */ -static inline SIMD_CFUNC short simd_reduce_add(simd_short4 x); -/*! @abstract Sum of elements in x. - * @discussion This computation may overflow; especial for 8-bit types you - * may need to convert to a wider type before reducing. */ -static inline SIMD_CFUNC short simd_reduce_add(simd_short8 x); -/*! @abstract Sum of elements in x. - * @discussion This computation may overflow; especial for 8-bit types you - * may need to convert to a wider type before reducing. */ -static inline SIMD_CFUNC short simd_reduce_add(simd_short16 x); -/*! @abstract Sum of elements in x. - * @discussion This computation may overflow; especial for 8-bit types you - * may need to convert to a wider type before reducing. */ -static inline SIMD_CFUNC short simd_reduce_add(simd_short32 x); -/*! @abstract Sum of elements in x. - * @discussion This computation may overflow; especial for 8-bit types you - * may need to convert to a wider type before reducing. */ -static inline SIMD_CFUNC unsigned short simd_reduce_add(simd_ushort2 x); -/*! @abstract Sum of elements in x. - * @discussion This computation may overflow; especial for 8-bit types you - * may need to convert to a wider type before reducing. */ -static inline SIMD_CFUNC unsigned short simd_reduce_add(simd_ushort3 x); -/*! @abstract Sum of elements in x. - * @discussion This computation may overflow; especial for 8-bit types you - * may need to convert to a wider type before reducing. */ -static inline SIMD_CFUNC unsigned short simd_reduce_add(simd_ushort4 x); -/*! @abstract Sum of elements in x. - * @discussion This computation may overflow; especial for 8-bit types you - * may need to convert to a wider type before reducing. */ -static inline SIMD_CFUNC unsigned short simd_reduce_add(simd_ushort8 x); -/*! @abstract Sum of elements in x. - * @discussion This computation may overflow; especial for 8-bit types you - * may need to convert to a wider type before reducing. */ -static inline SIMD_CFUNC unsigned short simd_reduce_add(simd_ushort16 x); -/*! @abstract Sum of elements in x. - * @discussion This computation may overflow; especial for 8-bit types you - * may need to convert to a wider type before reducing. */ -static inline SIMD_CFUNC unsigned short simd_reduce_add(simd_ushort32 x); -/*! @abstract Sum of elements in x. - * @discussion This computation may overflow; especial for 8-bit types you - * may need to convert to a wider type before reducing. */ -static inline SIMD_CFUNC int simd_reduce_add(simd_int2 x); -/*! @abstract Sum of elements in x. - * @discussion This computation may overflow; especial for 8-bit types you - * may need to convert to a wider type before reducing. */ -static inline SIMD_CFUNC int simd_reduce_add(simd_int3 x); -/*! @abstract Sum of elements in x. - * @discussion This computation may overflow; especial for 8-bit types you - * may need to convert to a wider type before reducing. */ -static inline SIMD_CFUNC int simd_reduce_add(simd_int4 x); -/*! @abstract Sum of elements in x. - * @discussion This computation may overflow; especial for 8-bit types you - * may need to convert to a wider type before reducing. */ -static inline SIMD_CFUNC int simd_reduce_add(simd_int8 x); -/*! @abstract Sum of elements in x. - * @discussion This computation may overflow; especial for 8-bit types you - * may need to convert to a wider type before reducing. */ -static inline SIMD_CFUNC int simd_reduce_add(simd_int16 x); -/*! @abstract Sum of elements in x. - * @discussion This computation may overflow; especial for 8-bit types you - * may need to convert to a wider type before reducing. */ -static inline SIMD_CFUNC unsigned int simd_reduce_add(simd_uint2 x); -/*! @abstract Sum of elements in x. - * @discussion This computation may overflow; especial for 8-bit types you - * may need to convert to a wider type before reducing. */ -static inline SIMD_CFUNC unsigned int simd_reduce_add(simd_uint3 x); -/*! @abstract Sum of elements in x. - * @discussion This computation may overflow; especial for 8-bit types you - * may need to convert to a wider type before reducing. */ -static inline SIMD_CFUNC unsigned int simd_reduce_add(simd_uint4 x); -/*! @abstract Sum of elements in x. - * @discussion This computation may overflow; especial for 8-bit types you - * may need to convert to a wider type before reducing. */ -static inline SIMD_CFUNC unsigned int simd_reduce_add(simd_uint8 x); -/*! @abstract Sum of elements in x. - * @discussion This computation may overflow; especial for 8-bit types you - * may need to convert to a wider type before reducing. */ -static inline SIMD_CFUNC unsigned int simd_reduce_add(simd_uint16 x); -/*! @abstract Sum of elements in x. - * @discussion This computation may overflow; especial for 8-bit types you - * may need to convert to a wider type before reducing. */ -static inline SIMD_CFUNC float simd_reduce_add(simd_float2 x); -/*! @abstract Sum of elements in x. - * @discussion This computation may overflow; especial for 8-bit types you - * may need to convert to a wider type before reducing. */ -static inline SIMD_CFUNC float simd_reduce_add(simd_float3 x); -/*! @abstract Sum of elements in x. - * @discussion This computation may overflow; especial for 8-bit types you - * may need to convert to a wider type before reducing. */ -static inline SIMD_CFUNC float simd_reduce_add(simd_float4 x); -/*! @abstract Sum of elements in x. - * @discussion This computation may overflow; especial for 8-bit types you - * may need to convert to a wider type before reducing. */ -static inline SIMD_CFUNC float simd_reduce_add(simd_float8 x); -/*! @abstract Sum of elements in x. - * @discussion This computation may overflow; especial for 8-bit types you - * may need to convert to a wider type before reducing. */ -static inline SIMD_CFUNC float simd_reduce_add(simd_float16 x); -/*! @abstract Sum of elements in x. - * @discussion This computation may overflow; especial for 8-bit types you - * may need to convert to a wider type before reducing. */ -static inline SIMD_CFUNC simd_long1 simd_reduce_add(simd_long2 x); -/*! @abstract Sum of elements in x. - * @discussion This computation may overflow; especial for 8-bit types you - * may need to convert to a wider type before reducing. */ -static inline SIMD_CFUNC simd_long1 simd_reduce_add(simd_long3 x); -/*! @abstract Sum of elements in x. - * @discussion This computation may overflow; especial for 8-bit types you - * may need to convert to a wider type before reducing. */ -static inline SIMD_CFUNC simd_long1 simd_reduce_add(simd_long4 x); -/*! @abstract Sum of elements in x. - * @discussion This computation may overflow; especial for 8-bit types you - * may need to convert to a wider type before reducing. */ -static inline SIMD_CFUNC simd_long1 simd_reduce_add(simd_long8 x); -/*! @abstract Sum of elements in x. - * @discussion This computation may overflow; especial for 8-bit types you - * may need to convert to a wider type before reducing. */ -static inline SIMD_CFUNC simd_ulong1 simd_reduce_add(simd_ulong2 x); -/*! @abstract Sum of elements in x. - * @discussion This computation may overflow; especial for 8-bit types you - * may need to convert to a wider type before reducing. */ -static inline SIMD_CFUNC simd_ulong1 simd_reduce_add(simd_ulong3 x); -/*! @abstract Sum of elements in x. - * @discussion This computation may overflow; especial for 8-bit types you - * may need to convert to a wider type before reducing. */ -static inline SIMD_CFUNC simd_ulong1 simd_reduce_add(simd_ulong4 x); -/*! @abstract Sum of elements in x. - * @discussion This computation may overflow; especial for 8-bit types you - * may need to convert to a wider type before reducing. */ -static inline SIMD_CFUNC simd_ulong1 simd_reduce_add(simd_ulong8 x); -/*! @abstract Sum of elements in x. - * @discussion This computation may overflow; especial for 8-bit types you - * may need to convert to a wider type before reducing. */ -static inline SIMD_CFUNC double simd_reduce_add(simd_double2 x); -/*! @abstract Sum of elements in x. - * @discussion This computation may overflow; especial for 8-bit types you - * may need to convert to a wider type before reducing. */ -static inline SIMD_CFUNC double simd_reduce_add(simd_double3 x); -/*! @abstract Sum of elements in x. - * @discussion This computation may overflow; especial for 8-bit types you - * may need to convert to a wider type before reducing. */ -static inline SIMD_CFUNC double simd_reduce_add(simd_double4 x); -/*! @abstract Sum of elements in x. - * @discussion This computation may overflow; especial for 8-bit types you - * may need to convert to a wider type before reducing. */ -static inline SIMD_CFUNC double simd_reduce_add(simd_double8 x); -/*! @abstract Sum of elements in x. - * @discussion Deprecated. Use simd_add(x) instead. */ -#define vector_reduce_add simd_reduce_add - -/*! @abstract Minimum of elements in x. */ -static inline SIMD_CFUNC char simd_reduce_min(simd_char2 x); -/*! @abstract Minimum of elements in x. */ -static inline SIMD_CFUNC char simd_reduce_min(simd_char3 x); -/*! @abstract Minimum of elements in x. */ -static inline SIMD_CFUNC char simd_reduce_min(simd_char4 x); -/*! @abstract Minimum of elements in x. */ -static inline SIMD_CFUNC char simd_reduce_min(simd_char8 x); -/*! @abstract Minimum of elements in x. */ -static inline SIMD_CFUNC char simd_reduce_min(simd_char16 x); -/*! @abstract Minimum of elements in x. */ -static inline SIMD_CFUNC char simd_reduce_min(simd_char32 x); -/*! @abstract Minimum of elements in x. */ -static inline SIMD_CFUNC char simd_reduce_min(simd_char64 x); -/*! @abstract Minimum of elements in x. */ -static inline SIMD_CFUNC unsigned char simd_reduce_min(simd_uchar2 x); -/*! @abstract Minimum of elements in x. */ -static inline SIMD_CFUNC unsigned char simd_reduce_min(simd_uchar3 x); -/*! @abstract Minimum of elements in x. */ -static inline SIMD_CFUNC unsigned char simd_reduce_min(simd_uchar4 x); -/*! @abstract Minimum of elements in x. */ -static inline SIMD_CFUNC unsigned char simd_reduce_min(simd_uchar8 x); -/*! @abstract Minimum of elements in x. */ -static inline SIMD_CFUNC unsigned char simd_reduce_min(simd_uchar16 x); -/*! @abstract Minimum of elements in x. */ -static inline SIMD_CFUNC unsigned char simd_reduce_min(simd_uchar32 x); -/*! @abstract Minimum of elements in x. */ -static inline SIMD_CFUNC unsigned char simd_reduce_min(simd_uchar64 x); -/*! @abstract Minimum of elements in x. */ -static inline SIMD_CFUNC short simd_reduce_min(simd_short2 x); -/*! @abstract Minimum of elements in x. */ -static inline SIMD_CFUNC short simd_reduce_min(simd_short3 x); -/*! @abstract Minimum of elements in x. */ -static inline SIMD_CFUNC short simd_reduce_min(simd_short4 x); -/*! @abstract Minimum of elements in x. */ -static inline SIMD_CFUNC short simd_reduce_min(simd_short8 x); -/*! @abstract Minimum of elements in x. */ -static inline SIMD_CFUNC short simd_reduce_min(simd_short16 x); -/*! @abstract Minimum of elements in x. */ -static inline SIMD_CFUNC short simd_reduce_min(simd_short32 x); -/*! @abstract Minimum of elements in x. */ -static inline SIMD_CFUNC unsigned short simd_reduce_min(simd_ushort2 x); -/*! @abstract Minimum of elements in x. */ -static inline SIMD_CFUNC unsigned short simd_reduce_min(simd_ushort3 x); -/*! @abstract Minimum of elements in x. */ -static inline SIMD_CFUNC unsigned short simd_reduce_min(simd_ushort4 x); -/*! @abstract Minimum of elements in x. */ -static inline SIMD_CFUNC unsigned short simd_reduce_min(simd_ushort8 x); -/*! @abstract Minimum of elements in x. */ -static inline SIMD_CFUNC unsigned short simd_reduce_min(simd_ushort16 x); -/*! @abstract Minimum of elements in x. */ -static inline SIMD_CFUNC unsigned short simd_reduce_min(simd_ushort32 x); -/*! @abstract Minimum of elements in x. */ -static inline SIMD_CFUNC int simd_reduce_min(simd_int2 x); -/*! @abstract Minimum of elements in x. */ -static inline SIMD_CFUNC int simd_reduce_min(simd_int3 x); -/*! @abstract Minimum of elements in x. */ -static inline SIMD_CFUNC int simd_reduce_min(simd_int4 x); -/*! @abstract Minimum of elements in x. */ -static inline SIMD_CFUNC int simd_reduce_min(simd_int8 x); -/*! @abstract Minimum of elements in x. */ -static inline SIMD_CFUNC int simd_reduce_min(simd_int16 x); -/*! @abstract Minimum of elements in x. */ -static inline SIMD_CFUNC unsigned int simd_reduce_min(simd_uint2 x); -/*! @abstract Minimum of elements in x. */ -static inline SIMD_CFUNC unsigned int simd_reduce_min(simd_uint3 x); -/*! @abstract Minimum of elements in x. */ -static inline SIMD_CFUNC unsigned int simd_reduce_min(simd_uint4 x); -/*! @abstract Minimum of elements in x. */ -static inline SIMD_CFUNC unsigned int simd_reduce_min(simd_uint8 x); -/*! @abstract Minimum of elements in x. */ -static inline SIMD_CFUNC unsigned int simd_reduce_min(simd_uint16 x); -/*! @abstract Minimum of elements in x. */ -static inline SIMD_CFUNC float simd_reduce_min(simd_float2 x); -/*! @abstract Minimum of elements in x. */ -static inline SIMD_CFUNC float simd_reduce_min(simd_float3 x); -/*! @abstract Minimum of elements in x. */ -static inline SIMD_CFUNC float simd_reduce_min(simd_float4 x); -/*! @abstract Minimum of elements in x. */ -static inline SIMD_CFUNC float simd_reduce_min(simd_float8 x); -/*! @abstract Minimum of elements in x. */ -static inline SIMD_CFUNC float simd_reduce_min(simd_float16 x); -/*! @abstract Minimum of elements in x. */ -static inline SIMD_CFUNC simd_long1 simd_reduce_min(simd_long2 x); -/*! @abstract Minimum of elements in x. */ -static inline SIMD_CFUNC simd_long1 simd_reduce_min(simd_long3 x); -/*! @abstract Minimum of elements in x. */ -static inline SIMD_CFUNC simd_long1 simd_reduce_min(simd_long4 x); -/*! @abstract Minimum of elements in x. */ -static inline SIMD_CFUNC simd_long1 simd_reduce_min(simd_long8 x); -/*! @abstract Minimum of elements in x. */ -static inline SIMD_CFUNC simd_ulong1 simd_reduce_min(simd_ulong2 x); -/*! @abstract Minimum of elements in x. */ -static inline SIMD_CFUNC simd_ulong1 simd_reduce_min(simd_ulong3 x); -/*! @abstract Minimum of elements in x. */ -static inline SIMD_CFUNC simd_ulong1 simd_reduce_min(simd_ulong4 x); -/*! @abstract Minimum of elements in x. */ -static inline SIMD_CFUNC simd_ulong1 simd_reduce_min(simd_ulong8 x); -/*! @abstract Minimum of elements in x. */ -static inline SIMD_CFUNC double simd_reduce_min(simd_double2 x); -/*! @abstract Minimum of elements in x. */ -static inline SIMD_CFUNC double simd_reduce_min(simd_double3 x); -/*! @abstract Minimum of elements in x. */ -static inline SIMD_CFUNC double simd_reduce_min(simd_double4 x); -/*! @abstract Minimum of elements in x. */ -static inline SIMD_CFUNC double simd_reduce_min(simd_double8 x); -/*! @abstract Minimum of elements in x. - * @discussion Deprecated. Use simd_min(x) instead. */ -#define vector_reduce_min simd_reduce_min - -/*! @abstract Maximum of elements in x. */ -static inline SIMD_CFUNC char simd_reduce_max(simd_char2 x); -/*! @abstract Maximum of elements in x. */ -static inline SIMD_CFUNC char simd_reduce_max(simd_char3 x); -/*! @abstract Maximum of elements in x. */ -static inline SIMD_CFUNC char simd_reduce_max(simd_char4 x); -/*! @abstract Maximum of elements in x. */ -static inline SIMD_CFUNC char simd_reduce_max(simd_char8 x); -/*! @abstract Maximum of elements in x. */ -static inline SIMD_CFUNC char simd_reduce_max(simd_char16 x); -/*! @abstract Maximum of elements in x. */ -static inline SIMD_CFUNC char simd_reduce_max(simd_char32 x); -/*! @abstract Maximum of elements in x. */ -static inline SIMD_CFUNC char simd_reduce_max(simd_char64 x); -/*! @abstract Maximum of elements in x. */ -static inline SIMD_CFUNC unsigned char simd_reduce_max(simd_uchar2 x); -/*! @abstract Maximum of elements in x. */ -static inline SIMD_CFUNC unsigned char simd_reduce_max(simd_uchar3 x); -/*! @abstract Maximum of elements in x. */ -static inline SIMD_CFUNC unsigned char simd_reduce_max(simd_uchar4 x); -/*! @abstract Maximum of elements in x. */ -static inline SIMD_CFUNC unsigned char simd_reduce_max(simd_uchar8 x); -/*! @abstract Maximum of elements in x. */ -static inline SIMD_CFUNC unsigned char simd_reduce_max(simd_uchar16 x); -/*! @abstract Maximum of elements in x. */ -static inline SIMD_CFUNC unsigned char simd_reduce_max(simd_uchar32 x); -/*! @abstract Maximum of elements in x. */ -static inline SIMD_CFUNC unsigned char simd_reduce_max(simd_uchar64 x); -/*! @abstract Maximum of elements in x. */ -static inline SIMD_CFUNC short simd_reduce_max(simd_short2 x); -/*! @abstract Maximum of elements in x. */ -static inline SIMD_CFUNC short simd_reduce_max(simd_short3 x); -/*! @abstract Maximum of elements in x. */ -static inline SIMD_CFUNC short simd_reduce_max(simd_short4 x); -/*! @abstract Maximum of elements in x. */ -static inline SIMD_CFUNC short simd_reduce_max(simd_short8 x); -/*! @abstract Maximum of elements in x. */ -static inline SIMD_CFUNC short simd_reduce_max(simd_short16 x); -/*! @abstract Maximum of elements in x. */ -static inline SIMD_CFUNC short simd_reduce_max(simd_short32 x); -/*! @abstract Maximum of elements in x. */ -static inline SIMD_CFUNC unsigned short simd_reduce_max(simd_ushort2 x); -/*! @abstract Maximum of elements in x. */ -static inline SIMD_CFUNC unsigned short simd_reduce_max(simd_ushort3 x); -/*! @abstract Maximum of elements in x. */ -static inline SIMD_CFUNC unsigned short simd_reduce_max(simd_ushort4 x); -/*! @abstract Maximum of elements in x. */ -static inline SIMD_CFUNC unsigned short simd_reduce_max(simd_ushort8 x); -/*! @abstract Maximum of elements in x. */ -static inline SIMD_CFUNC unsigned short simd_reduce_max(simd_ushort16 x); -/*! @abstract Maximum of elements in x. */ -static inline SIMD_CFUNC unsigned short simd_reduce_max(simd_ushort32 x); -/*! @abstract Maximum of elements in x. */ -static inline SIMD_CFUNC int simd_reduce_max(simd_int2 x); -/*! @abstract Maximum of elements in x. */ -static inline SIMD_CFUNC int simd_reduce_max(simd_int3 x); -/*! @abstract Maximum of elements in x. */ -static inline SIMD_CFUNC int simd_reduce_max(simd_int4 x); -/*! @abstract Maximum of elements in x. */ -static inline SIMD_CFUNC int simd_reduce_max(simd_int8 x); -/*! @abstract Maximum of elements in x. */ -static inline SIMD_CFUNC int simd_reduce_max(simd_int16 x); -/*! @abstract Maximum of elements in x. */ -static inline SIMD_CFUNC unsigned int simd_reduce_max(simd_uint2 x); -/*! @abstract Maximum of elements in x. */ -static inline SIMD_CFUNC unsigned int simd_reduce_max(simd_uint3 x); -/*! @abstract Maximum of elements in x. */ -static inline SIMD_CFUNC unsigned int simd_reduce_max(simd_uint4 x); -/*! @abstract Maximum of elements in x. */ -static inline SIMD_CFUNC unsigned int simd_reduce_max(simd_uint8 x); -/*! @abstract Maximum of elements in x. */ -static inline SIMD_CFUNC unsigned int simd_reduce_max(simd_uint16 x); -/*! @abstract Maximum of elements in x. */ -static inline SIMD_CFUNC float simd_reduce_max(simd_float2 x); -/*! @abstract Maximum of elements in x. */ -static inline SIMD_CFUNC float simd_reduce_max(simd_float3 x); -/*! @abstract Maximum of elements in x. */ -static inline SIMD_CFUNC float simd_reduce_max(simd_float4 x); -/*! @abstract Maximum of elements in x. */ -static inline SIMD_CFUNC float simd_reduce_max(simd_float8 x); -/*! @abstract Maximum of elements in x. */ -static inline SIMD_CFUNC float simd_reduce_max(simd_float16 x); -/*! @abstract Maximum of elements in x. */ -static inline SIMD_CFUNC simd_long1 simd_reduce_max(simd_long2 x); -/*! @abstract Maximum of elements in x. */ -static inline SIMD_CFUNC simd_long1 simd_reduce_max(simd_long3 x); -/*! @abstract Maximum of elements in x. */ -static inline SIMD_CFUNC simd_long1 simd_reduce_max(simd_long4 x); -/*! @abstract Maximum of elements in x. */ -static inline SIMD_CFUNC simd_long1 simd_reduce_max(simd_long8 x); -/*! @abstract Maximum of elements in x. */ -static inline SIMD_CFUNC simd_ulong1 simd_reduce_max(simd_ulong2 x); -/*! @abstract Maximum of elements in x. */ -static inline SIMD_CFUNC simd_ulong1 simd_reduce_max(simd_ulong3 x); -/*! @abstract Maximum of elements in x. */ -static inline SIMD_CFUNC simd_ulong1 simd_reduce_max(simd_ulong4 x); -/*! @abstract Maximum of elements in x. */ -static inline SIMD_CFUNC simd_ulong1 simd_reduce_max(simd_ulong8 x); -/*! @abstract Maximum of elements in x. */ -static inline SIMD_CFUNC double simd_reduce_max(simd_double2 x); -/*! @abstract Maximum of elements in x. */ -static inline SIMD_CFUNC double simd_reduce_max(simd_double3 x); -/*! @abstract Maximum of elements in x. */ -static inline SIMD_CFUNC double simd_reduce_max(simd_double4 x); -/*! @abstract Maximum of elements in x. */ -static inline SIMD_CFUNC double simd_reduce_max(simd_double8 x); -/*! @abstract Maximum of elements in x. - * @discussion Deprecated. Use simd_max(x) instead. */ -#define vector_reduce_max simd_reduce_max - -/*! @abstract True if and only if each lane of x is equal to the - * corresponding lane of y. */ -static inline SIMD_CFUNC simd_bool simd_equal(simd_char2 x, simd_char2 y) { - return simd_all(x == y); -} -/*! @abstract True if and only if each lane of x is equal to the - * corresponding lane of y. */ -static inline SIMD_CFUNC simd_bool simd_equal(simd_char3 x, simd_char3 y) { - return simd_all(x == y); -} -/*! @abstract True if and only if each lane of x is equal to the - * corresponding lane of y. */ -static inline SIMD_CFUNC simd_bool simd_equal(simd_char4 x, simd_char4 y) { - return simd_all(x == y); -} -/*! @abstract True if and only if each lane of x is equal to the - * corresponding lane of y. */ -static inline SIMD_CFUNC simd_bool simd_equal(simd_char8 x, simd_char8 y) { - return simd_all(x == y); -} -/*! @abstract True if and only if each lane of x is equal to the - * corresponding lane of y. */ -static inline SIMD_CFUNC simd_bool simd_equal(simd_char16 x, simd_char16 y) { - return simd_all(x == y); -} -/*! @abstract True if and only if each lane of x is equal to the - * corresponding lane of y. */ -static inline SIMD_CFUNC simd_bool simd_equal(simd_char32 x, simd_char32 y) { - return simd_all(x == y); -} -/*! @abstract True if and only if each lane of x is equal to the - * corresponding lane of y. */ -static inline SIMD_CFUNC simd_bool simd_equal(simd_char64 x, simd_char64 y) { - return simd_all(x == y); -} -/*! @abstract True if and only if each lane of x is equal to the - * corresponding lane of y. */ -static inline SIMD_CFUNC simd_bool simd_equal(simd_uchar2 x, simd_uchar2 y) { - return simd_all(x == y); -} -/*! @abstract True if and only if each lane of x is equal to the - * corresponding lane of y. */ -static inline SIMD_CFUNC simd_bool simd_equal(simd_uchar3 x, simd_uchar3 y) { - return simd_all(x == y); -} -/*! @abstract True if and only if each lane of x is equal to the - * corresponding lane of y. */ -static inline SIMD_CFUNC simd_bool simd_equal(simd_uchar4 x, simd_uchar4 y) { - return simd_all(x == y); -} -/*! @abstract True if and only if each lane of x is equal to the - * corresponding lane of y. */ -static inline SIMD_CFUNC simd_bool simd_equal(simd_uchar8 x, simd_uchar8 y) { - return simd_all(x == y); -} -/*! @abstract True if and only if each lane of x is equal to the - * corresponding lane of y. */ -static inline SIMD_CFUNC simd_bool simd_equal(simd_uchar16 x, simd_uchar16 y) { - return simd_all(x == y); -} -/*! @abstract True if and only if each lane of x is equal to the - * corresponding lane of y. */ -static inline SIMD_CFUNC simd_bool simd_equal(simd_uchar32 x, simd_uchar32 y) { - return simd_all(x == y); -} -/*! @abstract True if and only if each lane of x is equal to the - * corresponding lane of y. */ -static inline SIMD_CFUNC simd_bool simd_equal(simd_uchar64 x, simd_uchar64 y) { - return simd_all(x == y); -} -/*! @abstract True if and only if each lane of x is equal to the - * corresponding lane of y. */ -static inline SIMD_CFUNC simd_bool simd_equal(simd_short2 x, simd_short2 y) { - return simd_all(x == y); -} -/*! @abstract True if and only if each lane of x is equal to the - * corresponding lane of y. */ -static inline SIMD_CFUNC simd_bool simd_equal(simd_short3 x, simd_short3 y) { - return simd_all(x == y); -} -/*! @abstract True if and only if each lane of x is equal to the - * corresponding lane of y. */ -static inline SIMD_CFUNC simd_bool simd_equal(simd_short4 x, simd_short4 y) { - return simd_all(x == y); -} -/*! @abstract True if and only if each lane of x is equal to the - * corresponding lane of y. */ -static inline SIMD_CFUNC simd_bool simd_equal(simd_short8 x, simd_short8 y) { - return simd_all(x == y); -} -/*! @abstract True if and only if each lane of x is equal to the - * corresponding lane of y. */ -static inline SIMD_CFUNC simd_bool simd_equal(simd_short16 x, simd_short16 y) { - return simd_all(x == y); -} -/*! @abstract True if and only if each lane of x is equal to the - * corresponding lane of y. */ -static inline SIMD_CFUNC simd_bool simd_equal(simd_short32 x, simd_short32 y) { - return simd_all(x == y); -} -/*! @abstract True if and only if each lane of x is equal to the - * corresponding lane of y. */ -static inline SIMD_CFUNC simd_bool simd_equal(simd_ushort2 x, simd_ushort2 y) { - return simd_all(x == y); -} -/*! @abstract True if and only if each lane of x is equal to the - * corresponding lane of y. */ -static inline SIMD_CFUNC simd_bool simd_equal(simd_ushort3 x, simd_ushort3 y) { - return simd_all(x == y); -} -/*! @abstract True if and only if each lane of x is equal to the - * corresponding lane of y. */ -static inline SIMD_CFUNC simd_bool simd_equal(simd_ushort4 x, simd_ushort4 y) { - return simd_all(x == y); -} -/*! @abstract True if and only if each lane of x is equal to the - * corresponding lane of y. */ -static inline SIMD_CFUNC simd_bool simd_equal(simd_ushort8 x, simd_ushort8 y) { - return simd_all(x == y); -} -/*! @abstract True if and only if each lane of x is equal to the - * corresponding lane of y. */ -static inline SIMD_CFUNC simd_bool simd_equal(simd_ushort16 x, simd_ushort16 y) { - return simd_all(x == y); -} -/*! @abstract True if and only if each lane of x is equal to the - * corresponding lane of y. */ -static inline SIMD_CFUNC simd_bool simd_equal(simd_ushort32 x, simd_ushort32 y) { - return simd_all(x == y); -} -/*! @abstract True if and only if each lane of x is equal to the - * corresponding lane of y. */ -static inline SIMD_CFUNC simd_bool simd_equal(simd_int2 x, simd_int2 y) { - return simd_all(x == y); -} -/*! @abstract True if and only if each lane of x is equal to the - * corresponding lane of y. */ -static inline SIMD_CFUNC simd_bool simd_equal(simd_int3 x, simd_int3 y) { - return simd_all(x == y); -} -/*! @abstract True if and only if each lane of x is equal to the - * corresponding lane of y. */ -static inline SIMD_CFUNC simd_bool simd_equal(simd_int4 x, simd_int4 y) { - return simd_all(x == y); -} -/*! @abstract True if and only if each lane of x is equal to the - * corresponding lane of y. */ -static inline SIMD_CFUNC simd_bool simd_equal(simd_int8 x, simd_int8 y) { - return simd_all(x == y); -} -/*! @abstract True if and only if each lane of x is equal to the - * corresponding lane of y. */ -static inline SIMD_CFUNC simd_bool simd_equal(simd_int16 x, simd_int16 y) { - return simd_all(x == y); -} -/*! @abstract True if and only if each lane of x is equal to the - * corresponding lane of y. */ -static inline SIMD_CFUNC simd_bool simd_equal(simd_uint2 x, simd_uint2 y) { - return simd_all(x == y); -} -/*! @abstract True if and only if each lane of x is equal to the - * corresponding lane of y. */ -static inline SIMD_CFUNC simd_bool simd_equal(simd_uint3 x, simd_uint3 y) { - return simd_all(x == y); -} -/*! @abstract True if and only if each lane of x is equal to the - * corresponding lane of y. */ -static inline SIMD_CFUNC simd_bool simd_equal(simd_uint4 x, simd_uint4 y) { - return simd_all(x == y); -} -/*! @abstract True if and only if each lane of x is equal to the - * corresponding lane of y. */ -static inline SIMD_CFUNC simd_bool simd_equal(simd_uint8 x, simd_uint8 y) { - return simd_all(x == y); -} -/*! @abstract True if and only if each lane of x is equal to the - * corresponding lane of y. */ -static inline SIMD_CFUNC simd_bool simd_equal(simd_uint16 x, simd_uint16 y) { - return simd_all(x == y); -} -/*! @abstract True if and only if each lane of x is equal to the - * corresponding lane of y. */ -static inline SIMD_CFUNC simd_bool simd_equal(simd_float2 x, simd_float2 y) { - return simd_all(x == y); -} -/*! @abstract True if and only if each lane of x is equal to the - * corresponding lane of y. */ -static inline SIMD_CFUNC simd_bool simd_equal(simd_float3 x, simd_float3 y) { - return simd_all(x == y); -} -/*! @abstract True if and only if each lane of x is equal to the - * corresponding lane of y. */ -static inline SIMD_CFUNC simd_bool simd_equal(simd_float4 x, simd_float4 y) { - return simd_all(x == y); -} -/*! @abstract True if and only if each lane of x is equal to the - * corresponding lane of y. */ -static inline SIMD_CFUNC simd_bool simd_equal(simd_float8 x, simd_float8 y) { - return simd_all(x == y); -} -/*! @abstract True if and only if each lane of x is equal to the - * corresponding lane of y. */ -static inline SIMD_CFUNC simd_bool simd_equal(simd_float16 x, simd_float16 y) { - return simd_all(x == y); -} -/*! @abstract True if and only if each lane of x is equal to the - * corresponding lane of y. */ -static inline SIMD_CFUNC simd_bool simd_equal(simd_long2 x, simd_long2 y) { - return simd_all(x == y); -} -/*! @abstract True if and only if each lane of x is equal to the - * corresponding lane of y. */ -static inline SIMD_CFUNC simd_bool simd_equal(simd_long3 x, simd_long3 y) { - return simd_all(x == y); -} -/*! @abstract True if and only if each lane of x is equal to the - * corresponding lane of y. */ -static inline SIMD_CFUNC simd_bool simd_equal(simd_long4 x, simd_long4 y) { - return simd_all(x == y); -} -/*! @abstract True if and only if each lane of x is equal to the - * corresponding lane of y. */ -static inline SIMD_CFUNC simd_bool simd_equal(simd_long8 x, simd_long8 y) { - return simd_all(x == y); -} -/*! @abstract True if and only if each lane of x is equal to the - * corresponding lane of y. */ -static inline SIMD_CFUNC simd_bool simd_equal(simd_ulong2 x, simd_ulong2 y) { - return simd_all(x == y); -} -/*! @abstract True if and only if each lane of x is equal to the - * corresponding lane of y. */ -static inline SIMD_CFUNC simd_bool simd_equal(simd_ulong3 x, simd_ulong3 y) { - return simd_all(x == y); -} -/*! @abstract True if and only if each lane of x is equal to the - * corresponding lane of y. */ -static inline SIMD_CFUNC simd_bool simd_equal(simd_ulong4 x, simd_ulong4 y) { - return simd_all(x == y); -} -/*! @abstract True if and only if each lane of x is equal to the - * corresponding lane of y. */ -static inline SIMD_CFUNC simd_bool simd_equal(simd_ulong8 x, simd_ulong8 y) { - return simd_all(x == y); -} -/*! @abstract True if and only if each lane of x is equal to the - * corresponding lane of y. */ -static inline SIMD_CFUNC simd_bool simd_equal(simd_double2 x, simd_double2 y) { - return simd_all(x == y); -} -/*! @abstract True if and only if each lane of x is equal to the - * corresponding lane of y. */ -static inline SIMD_CFUNC simd_bool simd_equal(simd_double3 x, simd_double3 y) { - return simd_all(x == y); -} -/*! @abstract True if and only if each lane of x is equal to the - * corresponding lane of y. */ -static inline SIMD_CFUNC simd_bool simd_equal(simd_double4 x, simd_double4 y) { - return simd_all(x == y); -} -/*! @abstract True if and only if each lane of x is equal to the - * corresponding lane of y. */ -static inline SIMD_CFUNC simd_bool simd_equal(simd_double8 x, simd_double8 y) { - return simd_all(x == y); -} - -#ifdef __cplusplus -} /* extern "C" */ - -namespace simd { - /*! @abstract The lanewise absolute value of x. */ - template static SIMD_CPPFUNC typeN abs(const typeN x) { return ::simd_abs(x); } - /*! @abstract The lanewise maximum of x and y. */ - template static SIMD_CPPFUNC typeN max(const typeN x, const typeN y) { return ::simd_max(x,y); } - /*! @abstract The lanewise minimum of x and y. */ - template static SIMD_CPPFUNC typeN min(const typeN x, const typeN y) { return ::simd_min(x,y); } - /*! @abstract x clamped to the interval [min, max]. */ - template static SIMD_CPPFUNC typeN clamp(const typeN x, const typeN min, const typeN max) { return ::simd_clamp(x,min,max); } - /*! @abstract -1 if x < 0, +1 if x > 0, and 0 otherwise. */ - template static SIMD_CPPFUNC fptypeN sign(const fptypeN x) { return ::simd_sign(x); } - /*! @abstract Linearly interpolates between x and y, taking the value x when t=0 and y when t=1 */ - template static SIMD_CPPFUNC fptypeN mix(const fptypeN x, const fptypeN y, const fptypeN t) { return ::simd_mix(x,y,t); } - /*! @abstract An approximation to 1/x. */ - template static SIMD_CPPFUNC fptypeN recip(const fptypeN x) { return simd_recip(x); } - /*! @abstract An approximation to 1/sqrt(x). */ - template static SIMD_CPPFUNC fptypeN rsqrt(const fptypeN x) { return simd_rsqrt(x); } - /*! @abstract The "fracional part" of x, in the range [0,1). */ - template static SIMD_CPPFUNC fptypeN fract(const fptypeN x) { return ::simd_fract(x); } - /*! @abstract 0 if x < edge, 1 otherwise. */ - template static SIMD_CPPFUNC fptypeN step(const fptypeN edge, const fptypeN x) { return ::simd_step(edge,x); } - /*! @abstract smoothly interpolates from 0 at edge0 to 1 at edge1. */ - template static SIMD_CPPFUNC fptypeN smoothstep(const fptypeN edge0, const fptypeN edge1, const fptypeN x) { return ::simd_smoothstep(edge0,edge1,x); } - /*! @abstract True if and only if each lane of x is equal to the - * corresponding lane of y. - * - * @discussion This isn't operator== because that's already defined by - * the compiler to return a lane mask. */ - template static SIMD_CPPFUNC simd_bool equal(const fptypeN x, const fptypeN y) { return ::simd_equal(x, y); } -#if __cpp_decltype_auto - /* If you are targeting an earlier version of the C++ standard that lacks - decltype_auto support, you may use the C-style simd_reduce_* functions - instead. */ - /*! @abstract The sum of the elements in x. May overflow. */ - template static SIMD_CPPFUNC auto reduce_add(typeN x) { return ::simd_reduce_add(x); } - /*! @abstract The least element in x. */ - template static SIMD_CPPFUNC auto reduce_min(typeN x) { return ::simd_reduce_min(x); } - /*! @abstract The greatest element in x. */ - template static SIMD_CPPFUNC auto reduce_max(typeN x) { return ::simd_reduce_max(x); } -#endif - namespace precise { - /*! @abstract An approximation to 1/x. */ - template static SIMD_CPPFUNC fptypeN recip(const fptypeN x) { return ::simd_precise_recip(x); } - /*! @abstract An approximation to 1/sqrt(x). */ - template static SIMD_CPPFUNC fptypeN rsqrt(const fptypeN x) { return ::simd_precise_rsqrt(x); } - } - namespace fast { - /*! @abstract An approximation to 1/x. */ - template static SIMD_CPPFUNC fptypeN recip(const fptypeN x) { return ::simd_fast_recip(x); } - /*! @abstract An approximation to 1/sqrt(x). */ - template static SIMD_CPPFUNC fptypeN rsqrt(const fptypeN x) { return ::simd_fast_rsqrt(x); } - } -} - -extern "C" { -#endif /* __cplusplus */ - -#pragma mark - Implementation - -static inline SIMD_CFUNC simd_char2 simd_abs(simd_char2 x) { - return simd_make_char2(simd_abs(simd_make_char8_undef(x))); -} - -static inline SIMD_CFUNC simd_char3 simd_abs(simd_char3 x) { - return simd_make_char3(simd_abs(simd_make_char8_undef(x))); -} - -static inline SIMD_CFUNC simd_char4 simd_abs(simd_char4 x) { - return simd_make_char4(simd_abs(simd_make_char8_undef(x))); -} - -static inline SIMD_CFUNC simd_char8 simd_abs(simd_char8 x) { -#if defined __arm__ || defined __arm64__ - return vabs_s8(x); -#else - return simd_make_char8(simd_abs(simd_make_char16_undef(x))); -#endif -} - -static inline SIMD_CFUNC simd_char16 simd_abs(simd_char16 x) { -#if defined __arm__ || defined __arm64__ - return vabsq_s8(x); -#elif defined __SSE4_1__ - return (simd_char16) _mm_abs_epi8((__m128i)x); -#else - simd_char16 mask = x >> 7; return (x ^ mask) - mask; -#endif -} - -static inline SIMD_CFUNC simd_char32 simd_abs(simd_char32 x) { -#if defined __AVX2__ - return _mm256_abs_epi8(x); -#else - return simd_make_char32(simd_abs(x.lo), simd_abs(x.hi)); -#endif -} - -static inline SIMD_CFUNC simd_char64 simd_abs(simd_char64 x) { -#if defined __AVX512BW__ - return _mm512_abs_epi8(x); -#else - return simd_make_char64(simd_abs(x.lo), simd_abs(x.hi)); -#endif -} - -static inline SIMD_CFUNC simd_short2 simd_abs(simd_short2 x) { - return simd_make_short2(simd_abs(simd_make_short4_undef(x))); -} - -static inline SIMD_CFUNC simd_short3 simd_abs(simd_short3 x) { - return simd_make_short3(simd_abs(simd_make_short4_undef(x))); -} - -static inline SIMD_CFUNC simd_short4 simd_abs(simd_short4 x) { -#if defined __arm__ || defined __arm64__ - return vabs_s16(x); -#else - return simd_make_short4(simd_abs(simd_make_short8_undef(x))); -#endif -} - -static inline SIMD_CFUNC simd_short8 simd_abs(simd_short8 x) { -#if defined __arm__ || defined __arm64__ - return vabsq_s16(x); -#elif defined __SSE4_1__ - return (simd_short8) _mm_abs_epi16((__m128i)x); -#else - simd_short8 mask = x >> 15; return (x ^ mask) - mask; -#endif -} - -static inline SIMD_CFUNC simd_short16 simd_abs(simd_short16 x) { -#if defined __AVX2__ - return _mm256_abs_epi16(x); -#else - return simd_make_short16(simd_abs(x.lo), simd_abs(x.hi)); -#endif -} - -static inline SIMD_CFUNC simd_short32 simd_abs(simd_short32 x) { -#if defined __AVX512BW__ - return _mm512_abs_epi16(x); -#else - return simd_make_short32(simd_abs(x.lo), simd_abs(x.hi)); -#endif -} - -static inline SIMD_CFUNC simd_int2 simd_abs(simd_int2 x) { -#if defined __arm__ || defined __arm64__ - return vabs_s32(x); -#else - return simd_make_int2(simd_abs(simd_make_int4_undef(x))); -#endif -} - -static inline SIMD_CFUNC simd_int3 simd_abs(simd_int3 x) { - return simd_make_int3(simd_abs(simd_make_int4_undef(x))); -} - -static inline SIMD_CFUNC simd_int4 simd_abs(simd_int4 x) { -#if defined __arm__ || defined __arm64__ - return vabsq_s32(x); -#elif defined __SSE4_1__ - return (simd_int4) _mm_abs_epi32((__m128i)x); -#else - simd_int4 mask = x >> 31; return (x ^ mask) - mask; -#endif -} - -static inline SIMD_CFUNC simd_int8 simd_abs(simd_int8 x) { -#if defined __AVX2__ - return _mm256_abs_epi32(x); -#else - return simd_make_int8(simd_abs(x.lo), simd_abs(x.hi)); -#endif -} - -static inline SIMD_CFUNC simd_int16 simd_abs(simd_int16 x) { -#if defined __AVX512F__ - return _mm512_abs_epi32(x); -#else - return simd_make_int16(simd_abs(x.lo), simd_abs(x.hi)); -#endif -} - -static inline SIMD_CFUNC simd_float2 simd_abs(simd_float2 x) { - return __tg_fabs(x); -} - -static inline SIMD_CFUNC simd_float3 simd_abs(simd_float3 x) { - return __tg_fabs(x); -} - -static inline SIMD_CFUNC simd_float4 simd_abs(simd_float4 x) { - return __tg_fabs(x); -} - -static inline SIMD_CFUNC simd_float8 simd_abs(simd_float8 x) { - return __tg_fabs(x); -} - -static inline SIMD_CFUNC simd_float16 simd_abs(simd_float16 x) { - return __tg_fabs(x); -} - -static inline SIMD_CFUNC simd_long2 simd_abs(simd_long2 x) { -#if defined __arm64__ - return vabsq_s64(x); -#elif defined __SSE4_1__ - return (simd_long2) _mm_abs_epi64((__m128i)x); -#else - simd_long2 mask = x >> 63; return (x ^ mask) - mask; -#endif -} - -static inline SIMD_CFUNC simd_long3 simd_abs(simd_long3 x) { - return simd_make_long3(simd_abs(simd_make_long4_undef(x))); -} - -static inline SIMD_CFUNC simd_long4 simd_abs(simd_long4 x) { -#if defined __AVX2__ - return _mm256_abs_epi64(x); -#else - return simd_make_long4(simd_abs(x.lo), simd_abs(x.hi)); -#endif -} - -static inline SIMD_CFUNC simd_long8 simd_abs(simd_long8 x) { -#if defined __AVX512F__ - return _mm512_abs_epi64(x); -#else - return simd_make_long8(simd_abs(x.lo), simd_abs(x.hi)); -#endif -} - -static inline SIMD_CFUNC simd_double2 simd_abs(simd_double2 x) { - return __tg_fabs(x); -} - -static inline SIMD_CFUNC simd_double3 simd_abs(simd_double3 x) { - return __tg_fabs(x); -} - -static inline SIMD_CFUNC simd_double4 simd_abs(simd_double4 x) { - return __tg_fabs(x); -} - -static inline SIMD_CFUNC simd_double8 simd_abs(simd_double8 x) { - return __tg_fabs(x); -} - -static inline SIMD_CFUNC simd_char2 simd_min(simd_char2 x, simd_char2 y) { - return simd_make_char2(simd_min(simd_make_char8_undef(x), simd_make_char8_undef(y))); -} - -static inline SIMD_CFUNC simd_char3 simd_min(simd_char3 x, simd_char3 y) { - return simd_make_char3(simd_min(simd_make_char8_undef(x), simd_make_char8_undef(y))); -} - -static inline SIMD_CFUNC simd_char4 simd_min(simd_char4 x, simd_char4 y) { - return simd_make_char4(simd_min(simd_make_char8_undef(x), simd_make_char8_undef(y))); -} - -static inline SIMD_CFUNC simd_char8 simd_min(simd_char8 x, simd_char8 y) { -#if defined __arm__ || defined __arm64__ - return vmin_s8(x, y); -#else - return simd_make_char8(simd_min(simd_make_char16_undef(x), simd_make_char16_undef(y))); -#endif - -} - -static inline SIMD_CFUNC simd_char16 simd_min(simd_char16 x, simd_char16 y) { -#if defined __arm__ || defined __arm64__ - return vminq_s8(x, y); -#elif defined __SSE4_1__ - return (simd_char16) _mm_min_epi8((__m128i)x, (__m128i)y); -#else - return simd_bitselect(x, y, y < x); -#endif -} - -static inline SIMD_CFUNC simd_char32 simd_min(simd_char32 x, simd_char32 y) { -#if defined __AVX2__ - return _mm256_min_epi8(x, y); -#else - return simd_bitselect(x, y, y < x); -#endif -} - -static inline SIMD_CFUNC simd_char64 simd_min(simd_char64 x, simd_char64 y) { -#if defined __AVX512BW__ - return _mm512_min_epi8(x, y); -#else - return simd_bitselect(x, y, y < x); -#endif -} - -static inline SIMD_CFUNC simd_uchar2 simd_min(simd_uchar2 x, simd_uchar2 y) { - return simd_make_uchar2(simd_min(simd_make_uchar8_undef(x), simd_make_uchar8_undef(y))); -} - -static inline SIMD_CFUNC simd_uchar3 simd_min(simd_uchar3 x, simd_uchar3 y) { - return simd_make_uchar3(simd_min(simd_make_uchar8_undef(x), simd_make_uchar8_undef(y))); -} - -static inline SIMD_CFUNC simd_uchar4 simd_min(simd_uchar4 x, simd_uchar4 y) { - return simd_make_uchar4(simd_min(simd_make_uchar8_undef(x), simd_make_uchar8_undef(y))); -} - -static inline SIMD_CFUNC simd_uchar8 simd_min(simd_uchar8 x, simd_uchar8 y) { -#if defined __arm__ || defined __arm64__ - return vmin_u8(x, y); -#else - return simd_make_uchar8(simd_min(simd_make_uchar16_undef(x), simd_make_uchar16_undef(y))); -#endif - -} - -static inline SIMD_CFUNC simd_uchar16 simd_min(simd_uchar16 x, simd_uchar16 y) { -#if defined __arm__ || defined __arm64__ - return vminq_u8(x, y); -#elif defined __SSE4_1__ - return (simd_uchar16) _mm_min_epu8((__m128i)x, (__m128i)y); -#else - return simd_bitselect(x, y, y < x); -#endif -} - -static inline SIMD_CFUNC simd_uchar32 simd_min(simd_uchar32 x, simd_uchar32 y) { -#if defined __AVX2__ - return _mm256_min_epu8(x, y); -#else - return simd_bitselect(x, y, y < x); -#endif -} - -static inline SIMD_CFUNC simd_uchar64 simd_min(simd_uchar64 x, simd_uchar64 y) { -#if defined __AVX512BW__ - return _mm512_min_epu8(x, y); -#else - return simd_bitselect(x, y, y < x); -#endif -} - -static inline SIMD_CFUNC simd_short2 simd_min(simd_short2 x, simd_short2 y) { - return simd_make_short2(simd_min(simd_make_short4_undef(x), simd_make_short4_undef(y))); -} - -static inline SIMD_CFUNC simd_short3 simd_min(simd_short3 x, simd_short3 y) { - return simd_make_short3(simd_min(simd_make_short4_undef(x), simd_make_short4_undef(y))); -} - -static inline SIMD_CFUNC simd_short4 simd_min(simd_short4 x, simd_short4 y) { -#if defined __arm__ || defined __arm64__ - return vmin_s16(x, y); -#else - return simd_make_short4(simd_min(simd_make_short8_undef(x), simd_make_short8_undef(y))); -#endif - -} - -static inline SIMD_CFUNC simd_short8 simd_min(simd_short8 x, simd_short8 y) { -#if defined __arm__ || defined __arm64__ - return vminq_s16(x, y); -#elif defined __SSE4_1__ - return (simd_short8) _mm_min_epi16((__m128i)x, (__m128i)y); -#else - return simd_bitselect(x, y, y < x); -#endif -} - -static inline SIMD_CFUNC simd_short16 simd_min(simd_short16 x, simd_short16 y) { -#if defined __AVX2__ - return _mm256_min_epi16(x, y); -#else - return simd_bitselect(x, y, y < x); -#endif -} - -static inline SIMD_CFUNC simd_short32 simd_min(simd_short32 x, simd_short32 y) { -#if defined __AVX512BW__ - return _mm512_min_epi16(x, y); -#else - return simd_bitselect(x, y, y < x); -#endif -} - -static inline SIMD_CFUNC simd_ushort2 simd_min(simd_ushort2 x, simd_ushort2 y) { - return simd_make_ushort2(simd_min(simd_make_ushort4_undef(x), simd_make_ushort4_undef(y))); -} - -static inline SIMD_CFUNC simd_ushort3 simd_min(simd_ushort3 x, simd_ushort3 y) { - return simd_make_ushort3(simd_min(simd_make_ushort4_undef(x), simd_make_ushort4_undef(y))); -} - -static inline SIMD_CFUNC simd_ushort4 simd_min(simd_ushort4 x, simd_ushort4 y) { -#if defined __arm__ || defined __arm64__ - return vmin_u16(x, y); -#else - return simd_make_ushort4(simd_min(simd_make_ushort8_undef(x), simd_make_ushort8_undef(y))); -#endif - -} - -static inline SIMD_CFUNC simd_ushort8 simd_min(simd_ushort8 x, simd_ushort8 y) { -#if defined __arm__ || defined __arm64__ - return vminq_u16(x, y); -#elif defined __SSE4_1__ - return (simd_ushort8) _mm_min_epu16((__m128i)x, (__m128i)y); -#else - return simd_bitselect(x, y, y < x); -#endif -} - -static inline SIMD_CFUNC simd_ushort16 simd_min(simd_ushort16 x, simd_ushort16 y) { -#if defined __AVX2__ - return _mm256_min_epu16(x, y); -#else - return simd_bitselect(x, y, y < x); -#endif -} - -static inline SIMD_CFUNC simd_ushort32 simd_min(simd_ushort32 x, simd_ushort32 y) { -#if defined __AVX512BW__ - return _mm512_min_epu16(x, y); -#else - return simd_bitselect(x, y, y < x); -#endif -} - -static inline SIMD_CFUNC simd_int2 simd_min(simd_int2 x, simd_int2 y) { -#if defined __arm__ || defined __arm64__ - return vmin_s32(x, y); -#else - return simd_make_int2(simd_min(simd_make_int4_undef(x), simd_make_int4_undef(y))); -#endif - -} - -static inline SIMD_CFUNC simd_int3 simd_min(simd_int3 x, simd_int3 y) { - return simd_make_int3(simd_min(simd_make_int4_undef(x), simd_make_int4_undef(y))); -} - -static inline SIMD_CFUNC simd_int4 simd_min(simd_int4 x, simd_int4 y) { -#if defined __arm__ || defined __arm64__ - return vminq_s32(x, y); -#elif defined __SSE4_1__ - return (simd_int4) _mm_min_epi32((__m128i)x, (__m128i)y); -#else - return simd_bitselect(x, y, y < x); -#endif -} - -static inline SIMD_CFUNC simd_int8 simd_min(simd_int8 x, simd_int8 y) { -#if defined __AVX2__ - return _mm256_min_epi32(x, y); -#else - return simd_bitselect(x, y, y < x); -#endif -} - -static inline SIMD_CFUNC simd_int16 simd_min(simd_int16 x, simd_int16 y) { -#if defined __AVX512F__ - return _mm512_min_epi32(x, y); -#else - return simd_bitselect(x, y, y < x); -#endif -} - -static inline SIMD_CFUNC simd_uint2 simd_min(simd_uint2 x, simd_uint2 y) { -#if defined __arm__ || defined __arm64__ - return vmin_u32(x, y); -#else - return simd_make_uint2(simd_min(simd_make_uint4_undef(x), simd_make_uint4_undef(y))); -#endif - -} - -static inline SIMD_CFUNC simd_uint3 simd_min(simd_uint3 x, simd_uint3 y) { - return simd_make_uint3(simd_min(simd_make_uint4_undef(x), simd_make_uint4_undef(y))); -} - -static inline SIMD_CFUNC simd_uint4 simd_min(simd_uint4 x, simd_uint4 y) { -#if defined __arm__ || defined __arm64__ - return vminq_u32(x, y); -#elif defined __SSE4_1__ - return (simd_uint4) _mm_min_epu32((__m128i)x, (__m128i)y); -#else - return simd_bitselect(x, y, y < x); -#endif -} - -static inline SIMD_CFUNC simd_uint8 simd_min(simd_uint8 x, simd_uint8 y) { -#if defined __AVX2__ - return _mm256_min_epu32(x, y); -#else - return simd_bitselect(x, y, y < x); -#endif -} - -static inline SIMD_CFUNC simd_uint16 simd_min(simd_uint16 x, simd_uint16 y) { -#if defined __AVX512F__ - return _mm512_min_epu32(x, y); -#else - return simd_bitselect(x, y, y < x); -#endif -} - -static inline SIMD_CFUNC float simd_min(float x, float y) { - return __tg_fmin(x,y); -} - -static inline SIMD_CFUNC simd_float2 simd_min(simd_float2 x, simd_float2 y) { - return __tg_fmin(x,y); -} - -static inline SIMD_CFUNC simd_float3 simd_min(simd_float3 x, simd_float3 y) { - return __tg_fmin(x,y); -} - -static inline SIMD_CFUNC simd_float4 simd_min(simd_float4 x, simd_float4 y) { - return __tg_fmin(x,y); -} - -static inline SIMD_CFUNC simd_float8 simd_min(simd_float8 x, simd_float8 y) { - return __tg_fmin(x,y); -} - -static inline SIMD_CFUNC simd_float16 simd_min(simd_float16 x, simd_float16 y) { - return __tg_fmin(x,y); -} - -static inline SIMD_CFUNC simd_long2 simd_min(simd_long2 x, simd_long2 y) { -#if defined __AVX512VL__ - return _mm_min_epi64(x, y); -#else - return simd_bitselect(x, y, y < x); -#endif -} - -static inline SIMD_CFUNC simd_long3 simd_min(simd_long3 x, simd_long3 y) { - return simd_make_long3(simd_min(simd_make_long4_undef(x), simd_make_long4_undef(y))); -} - -static inline SIMD_CFUNC simd_long4 simd_min(simd_long4 x, simd_long4 y) { -#if defined __AVX512VL__ - return _mm256_min_epi64(x, y); -#else - return simd_bitselect(x, y, y < x); -#endif -} - -static inline SIMD_CFUNC simd_long8 simd_min(simd_long8 x, simd_long8 y) { -#if defined __AVX512F__ - return _mm512_min_epi64(x, y); -#else - return simd_bitselect(x, y, y < x); -#endif -} - -static inline SIMD_CFUNC simd_ulong2 simd_min(simd_ulong2 x, simd_ulong2 y) { -#if defined __AVX512VL__ - return _mm_min_epu64(x, y); -#else - return simd_bitselect(x, y, y < x); -#endif -} - -static inline SIMD_CFUNC simd_ulong3 simd_min(simd_ulong3 x, simd_ulong3 y) { - return simd_make_ulong3(simd_min(simd_make_ulong4_undef(x), simd_make_ulong4_undef(y))); -} - -static inline SIMD_CFUNC simd_ulong4 simd_min(simd_ulong4 x, simd_ulong4 y) { -#if defined __AVX512VL__ - return _mm256_min_epu64(x, y); -#else - return simd_bitselect(x, y, y < x); -#endif -} - -static inline SIMD_CFUNC simd_ulong8 simd_min(simd_ulong8 x, simd_ulong8 y) { -#if defined __AVX512F__ - return _mm512_min_epu64(x, y); -#else - return simd_bitselect(x, y, y < x); -#endif -} - -static inline SIMD_CFUNC double simd_min(double x, double y) { - return __tg_fmin(x,y); -} - -static inline SIMD_CFUNC simd_double2 simd_min(simd_double2 x, simd_double2 y) { - return __tg_fmin(x,y); -} - -static inline SIMD_CFUNC simd_double3 simd_min(simd_double3 x, simd_double3 y) { - return __tg_fmin(x,y); -} - -static inline SIMD_CFUNC simd_double4 simd_min(simd_double4 x, simd_double4 y) { - return __tg_fmin(x,y); -} - -static inline SIMD_CFUNC simd_double8 simd_min(simd_double8 x, simd_double8 y) { - return __tg_fmin(x,y); -} - -static inline SIMD_CFUNC simd_char2 simd_max(simd_char2 x, simd_char2 y) { - return simd_make_char2(simd_max(simd_make_char8_undef(x), simd_make_char8_undef(y))); -} - -static inline SIMD_CFUNC simd_char3 simd_max(simd_char3 x, simd_char3 y) { - return simd_make_char3(simd_max(simd_make_char8_undef(x), simd_make_char8_undef(y))); -} - -static inline SIMD_CFUNC simd_char4 simd_max(simd_char4 x, simd_char4 y) { - return simd_make_char4(simd_max(simd_make_char8_undef(x), simd_make_char8_undef(y))); -} - -static inline SIMD_CFUNC simd_char8 simd_max(simd_char8 x, simd_char8 y) { -#if defined __arm__ || defined __arm64__ - return vmax_s8(x, y); -#else - return simd_make_char8(simd_max(simd_make_char16_undef(x), simd_make_char16_undef(y))); -#endif - -} - -static inline SIMD_CFUNC simd_char16 simd_max(simd_char16 x, simd_char16 y) { -#if defined __arm__ || defined __arm64__ - return vmaxq_s8(x, y); -#elif defined __SSE4_1__ - return (simd_char16) _mm_max_epi8((__m128i)x, (__m128i)y); -#else - return simd_bitselect(x, y, x < y); -#endif -} - -static inline SIMD_CFUNC simd_char32 simd_max(simd_char32 x, simd_char32 y) { -#if defined __AVX2__ - return _mm256_max_epi8(x, y); -#else - return simd_bitselect(x, y, x < y); -#endif -} - -static inline SIMD_CFUNC simd_char64 simd_max(simd_char64 x, simd_char64 y) { -#if defined __AVX512BW__ - return _mm512_max_epi8(x, y); -#else - return simd_bitselect(x, y, x < y); -#endif -} - -static inline SIMD_CFUNC simd_uchar2 simd_max(simd_uchar2 x, simd_uchar2 y) { - return simd_make_uchar2(simd_max(simd_make_uchar8_undef(x), simd_make_uchar8_undef(y))); -} - -static inline SIMD_CFUNC simd_uchar3 simd_max(simd_uchar3 x, simd_uchar3 y) { - return simd_make_uchar3(simd_max(simd_make_uchar8_undef(x), simd_make_uchar8_undef(y))); -} - -static inline SIMD_CFUNC simd_uchar4 simd_max(simd_uchar4 x, simd_uchar4 y) { - return simd_make_uchar4(simd_max(simd_make_uchar8_undef(x), simd_make_uchar8_undef(y))); -} - -static inline SIMD_CFUNC simd_uchar8 simd_max(simd_uchar8 x, simd_uchar8 y) { -#if defined __arm__ || defined __arm64__ - return vmax_u8(x, y); -#else - return simd_make_uchar8(simd_max(simd_make_uchar16_undef(x), simd_make_uchar16_undef(y))); -#endif - -} - -static inline SIMD_CFUNC simd_uchar16 simd_max(simd_uchar16 x, simd_uchar16 y) { -#if defined __arm__ || defined __arm64__ - return vmaxq_u8(x, y); -#elif defined __SSE4_1__ - return (simd_uchar16) _mm_max_epu8((__m128i)x, (__m128i)y); -#else - return simd_bitselect(x, y, x < y); -#endif -} - -static inline SIMD_CFUNC simd_uchar32 simd_max(simd_uchar32 x, simd_uchar32 y) { -#if defined __AVX2__ - return _mm256_max_epu8(x, y); -#else - return simd_bitselect(x, y, x < y); -#endif -} - -static inline SIMD_CFUNC simd_uchar64 simd_max(simd_uchar64 x, simd_uchar64 y) { -#if defined __AVX512BW__ - return _mm512_max_epu8(x, y); -#else - return simd_bitselect(x, y, x < y); -#endif -} - -static inline SIMD_CFUNC simd_short2 simd_max(simd_short2 x, simd_short2 y) { - return simd_make_short2(simd_max(simd_make_short4_undef(x), simd_make_short4_undef(y))); -} - -static inline SIMD_CFUNC simd_short3 simd_max(simd_short3 x, simd_short3 y) { - return simd_make_short3(simd_max(simd_make_short4_undef(x), simd_make_short4_undef(y))); -} - -static inline SIMD_CFUNC simd_short4 simd_max(simd_short4 x, simd_short4 y) { -#if defined __arm__ || defined __arm64__ - return vmax_s16(x, y); -#else - return simd_make_short4(simd_max(simd_make_short8_undef(x), simd_make_short8_undef(y))); -#endif - -} - -static inline SIMD_CFUNC simd_short8 simd_max(simd_short8 x, simd_short8 y) { -#if defined __arm__ || defined __arm64__ - return vmaxq_s16(x, y); -#elif defined __SSE4_1__ - return (simd_short8) _mm_max_epi16((__m128i)x, (__m128i)y); -#else - return simd_bitselect(x, y, x < y); -#endif -} - -static inline SIMD_CFUNC simd_short16 simd_max(simd_short16 x, simd_short16 y) { -#if defined __AVX2__ - return _mm256_max_epi16(x, y); -#else - return simd_bitselect(x, y, x < y); -#endif -} - -static inline SIMD_CFUNC simd_short32 simd_max(simd_short32 x, simd_short32 y) { -#if defined __AVX512BW__ - return _mm512_max_epi16(x, y); -#else - return simd_bitselect(x, y, x < y); -#endif -} - -static inline SIMD_CFUNC simd_ushort2 simd_max(simd_ushort2 x, simd_ushort2 y) { - return simd_make_ushort2(simd_max(simd_make_ushort4_undef(x), simd_make_ushort4_undef(y))); -} - -static inline SIMD_CFUNC simd_ushort3 simd_max(simd_ushort3 x, simd_ushort3 y) { - return simd_make_ushort3(simd_max(simd_make_ushort4_undef(x), simd_make_ushort4_undef(y))); -} - -static inline SIMD_CFUNC simd_ushort4 simd_max(simd_ushort4 x, simd_ushort4 y) { -#if defined __arm__ || defined __arm64__ - return vmax_u16(x, y); -#else - return simd_make_ushort4(simd_max(simd_make_ushort8_undef(x), simd_make_ushort8_undef(y))); -#endif - -} - -static inline SIMD_CFUNC simd_ushort8 simd_max(simd_ushort8 x, simd_ushort8 y) { -#if defined __arm__ || defined __arm64__ - return vmaxq_u16(x, y); -#elif defined __SSE4_1__ - return (simd_ushort8) _mm_max_epu16((__m128i)x, (__m128i)y); -#else - return simd_bitselect(x, y, x < y); -#endif -} - -static inline SIMD_CFUNC simd_ushort16 simd_max(simd_ushort16 x, simd_ushort16 y) { -#if defined __AVX2__ - return _mm256_max_epu16(x, y); -#else - return simd_bitselect(x, y, x < y); -#endif -} - -static inline SIMD_CFUNC simd_ushort32 simd_max(simd_ushort32 x, simd_ushort32 y) { -#if defined __AVX512BW__ - return _mm512_max_epu16(x, y); -#else - return simd_bitselect(x, y, x < y); -#endif -} - -static inline SIMD_CFUNC simd_int2 simd_max(simd_int2 x, simd_int2 y) { -#if defined __arm__ || defined __arm64__ - return vmax_s32(x, y); -#else - return simd_make_int2(simd_max(simd_make_int4_undef(x), simd_make_int4_undef(y))); -#endif - -} - -static inline SIMD_CFUNC simd_int3 simd_max(simd_int3 x, simd_int3 y) { - return simd_make_int3(simd_max(simd_make_int4_undef(x), simd_make_int4_undef(y))); -} - -static inline SIMD_CFUNC simd_int4 simd_max(simd_int4 x, simd_int4 y) { -#if defined __arm__ || defined __arm64__ - return vmaxq_s32(x, y); -#elif defined __SSE4_1__ - return (simd_int4) _mm_max_epi32((__m128i)x, (__m128i)y); -#else - return simd_bitselect(x, y, x < y); -#endif -} - -static inline SIMD_CFUNC simd_int8 simd_max(simd_int8 x, simd_int8 y) { -#if defined __AVX2__ - return _mm256_max_epi32(x, y); -#else - return simd_bitselect(x, y, x < y); -#endif -} - -static inline SIMD_CFUNC simd_int16 simd_max(simd_int16 x, simd_int16 y) { -#if defined __AVX512F__ - return _mm512_max_epi32(x, y); -#else - return simd_bitselect(x, y, x < y); -#endif -} - -static inline SIMD_CFUNC simd_uint2 simd_max(simd_uint2 x, simd_uint2 y) { -#if defined __arm__ || defined __arm64__ - return vmax_u32(x, y); -#else - return simd_make_uint2(simd_max(simd_make_uint4_undef(x), simd_make_uint4_undef(y))); -#endif - -} - -static inline SIMD_CFUNC simd_uint3 simd_max(simd_uint3 x, simd_uint3 y) { - return simd_make_uint3(simd_max(simd_make_uint4_undef(x), simd_make_uint4_undef(y))); -} - -static inline SIMD_CFUNC simd_uint4 simd_max(simd_uint4 x, simd_uint4 y) { -#if defined __arm__ || defined __arm64__ - return vmaxq_u32(x, y); -#elif defined __SSE4_1__ - return (simd_uint4) _mm_max_epu32((__m128i)x, (__m128i)y); -#else - return simd_bitselect(x, y, x < y); -#endif -} - -static inline SIMD_CFUNC simd_uint8 simd_max(simd_uint8 x, simd_uint8 y) { -#if defined __AVX2__ - return _mm256_max_epu32(x, y); -#else - return simd_bitselect(x, y, x < y); -#endif -} - -static inline SIMD_CFUNC simd_uint16 simd_max(simd_uint16 x, simd_uint16 y) { -#if defined __AVX512F__ - return _mm512_max_epu32(x, y); -#else - return simd_bitselect(x, y, x < y); -#endif -} - -static inline SIMD_CFUNC float simd_max(float x, float y) { - return __tg_fmax(x,y); -} - -static inline SIMD_CFUNC simd_float2 simd_max(simd_float2 x, simd_float2 y) { - return __tg_fmax(x,y); -} - -static inline SIMD_CFUNC simd_float3 simd_max(simd_float3 x, simd_float3 y) { - return __tg_fmax(x,y); -} - -static inline SIMD_CFUNC simd_float4 simd_max(simd_float4 x, simd_float4 y) { - return __tg_fmax(x,y); -} - -static inline SIMD_CFUNC simd_float8 simd_max(simd_float8 x, simd_float8 y) { - return __tg_fmax(x,y); -} - -static inline SIMD_CFUNC simd_float16 simd_max(simd_float16 x, simd_float16 y) { - return __tg_fmax(x,y); -} - -static inline SIMD_CFUNC simd_long2 simd_max(simd_long2 x, simd_long2 y) { -#if defined __AVX512VL__ - return _mm_max_epi64(x, y); -#else - return simd_bitselect(x, y, x < y); -#endif -} - -static inline SIMD_CFUNC simd_long3 simd_max(simd_long3 x, simd_long3 y) { - return simd_make_long3(simd_max(simd_make_long4_undef(x), simd_make_long4_undef(y))); -} - -static inline SIMD_CFUNC simd_long4 simd_max(simd_long4 x, simd_long4 y) { -#if defined __AVX512VL__ - return _mm256_max_epi64(x, y); -#else - return simd_bitselect(x, y, x < y); -#endif -} - -static inline SIMD_CFUNC simd_long8 simd_max(simd_long8 x, simd_long8 y) { -#if defined __AVX512F__ - return _mm512_max_epi64(x, y); -#else - return simd_bitselect(x, y, x < y); -#endif -} - -static inline SIMD_CFUNC simd_ulong2 simd_max(simd_ulong2 x, simd_ulong2 y) { -#if defined __AVX512VL__ - return _mm_max_epu64(x, y); -#else - return simd_bitselect(x, y, x < y); -#endif -} - -static inline SIMD_CFUNC simd_ulong3 simd_max(simd_ulong3 x, simd_ulong3 y) { - return simd_make_ulong3(simd_max(simd_make_ulong4_undef(x), simd_make_ulong4_undef(y))); -} - -static inline SIMD_CFUNC simd_ulong4 simd_max(simd_ulong4 x, simd_ulong4 y) { -#if defined __AVX512VL__ - return _mm256_max_epu64(x, y); -#else - return simd_bitselect(x, y, x < y); -#endif -} - -static inline SIMD_CFUNC simd_ulong8 simd_max(simd_ulong8 x, simd_ulong8 y) { -#if defined __AVX512F__ - return _mm512_max_epu64(x, y); -#else - return simd_bitselect(x, y, x < y); -#endif -} - -static inline SIMD_CFUNC double simd_max(double x, double y) { - return __tg_fmax(x,y); -} - -static inline SIMD_CFUNC simd_double2 simd_max(simd_double2 x, simd_double2 y) { - return __tg_fmax(x,y); -} - -static inline SIMD_CFUNC simd_double3 simd_max(simd_double3 x, simd_double3 y) { - return __tg_fmax(x,y); -} - -static inline SIMD_CFUNC simd_double4 simd_max(simd_double4 x, simd_double4 y) { - return __tg_fmax(x,y); -} - -static inline SIMD_CFUNC simd_double8 simd_max(simd_double8 x, simd_double8 y) { - return __tg_fmax(x,y); -} - -static inline SIMD_CFUNC simd_char2 simd_clamp(simd_char2 x, simd_char2 min, simd_char2 max) { - return simd_min(simd_max(x, min), max); -} - -static inline SIMD_CFUNC simd_char3 simd_clamp(simd_char3 x, simd_char3 min, simd_char3 max) { - return simd_min(simd_max(x, min), max); -} - -static inline SIMD_CFUNC simd_char4 simd_clamp(simd_char4 x, simd_char4 min, simd_char4 max) { - return simd_min(simd_max(x, min), max); -} - -static inline SIMD_CFUNC simd_char8 simd_clamp(simd_char8 x, simd_char8 min, simd_char8 max) { - return simd_min(simd_max(x, min), max); -} - -static inline SIMD_CFUNC simd_char16 simd_clamp(simd_char16 x, simd_char16 min, simd_char16 max) { - return simd_min(simd_max(x, min), max); -} - -static inline SIMD_CFUNC simd_char32 simd_clamp(simd_char32 x, simd_char32 min, simd_char32 max) { - return simd_min(simd_max(x, min), max); -} - -static inline SIMD_CFUNC simd_char64 simd_clamp(simd_char64 x, simd_char64 min, simd_char64 max) { - return simd_min(simd_max(x, min), max); -} - -static inline SIMD_CFUNC simd_uchar2 simd_clamp(simd_uchar2 x, simd_uchar2 min, simd_uchar2 max) { - return simd_min(simd_max(x, min), max); -} - -static inline SIMD_CFUNC simd_uchar3 simd_clamp(simd_uchar3 x, simd_uchar3 min, simd_uchar3 max) { - return simd_min(simd_max(x, min), max); -} - -static inline SIMD_CFUNC simd_uchar4 simd_clamp(simd_uchar4 x, simd_uchar4 min, simd_uchar4 max) { - return simd_min(simd_max(x, min), max); -} - -static inline SIMD_CFUNC simd_uchar8 simd_clamp(simd_uchar8 x, simd_uchar8 min, simd_uchar8 max) { - return simd_min(simd_max(x, min), max); -} - -static inline SIMD_CFUNC simd_uchar16 simd_clamp(simd_uchar16 x, simd_uchar16 min, simd_uchar16 max) { - return simd_min(simd_max(x, min), max); -} - -static inline SIMD_CFUNC simd_uchar32 simd_clamp(simd_uchar32 x, simd_uchar32 min, simd_uchar32 max) { - return simd_min(simd_max(x, min), max); -} - -static inline SIMD_CFUNC simd_uchar64 simd_clamp(simd_uchar64 x, simd_uchar64 min, simd_uchar64 max) { - return simd_min(simd_max(x, min), max); -} - -static inline SIMD_CFUNC simd_short2 simd_clamp(simd_short2 x, simd_short2 min, simd_short2 max) { - return simd_min(simd_max(x, min), max); -} - -static inline SIMD_CFUNC simd_short3 simd_clamp(simd_short3 x, simd_short3 min, simd_short3 max) { - return simd_min(simd_max(x, min), max); -} - -static inline SIMD_CFUNC simd_short4 simd_clamp(simd_short4 x, simd_short4 min, simd_short4 max) { - return simd_min(simd_max(x, min), max); -} - -static inline SIMD_CFUNC simd_short8 simd_clamp(simd_short8 x, simd_short8 min, simd_short8 max) { - return simd_min(simd_max(x, min), max); -} - -static inline SIMD_CFUNC simd_short16 simd_clamp(simd_short16 x, simd_short16 min, simd_short16 max) { - return simd_min(simd_max(x, min), max); -} - -static inline SIMD_CFUNC simd_short32 simd_clamp(simd_short32 x, simd_short32 min, simd_short32 max) { - return simd_min(simd_max(x, min), max); -} - -static inline SIMD_CFUNC simd_ushort2 simd_clamp(simd_ushort2 x, simd_ushort2 min, simd_ushort2 max) { - return simd_min(simd_max(x, min), max); -} - -static inline SIMD_CFUNC simd_ushort3 simd_clamp(simd_ushort3 x, simd_ushort3 min, simd_ushort3 max) { - return simd_min(simd_max(x, min), max); -} - -static inline SIMD_CFUNC simd_ushort4 simd_clamp(simd_ushort4 x, simd_ushort4 min, simd_ushort4 max) { - return simd_min(simd_max(x, min), max); -} - -static inline SIMD_CFUNC simd_ushort8 simd_clamp(simd_ushort8 x, simd_ushort8 min, simd_ushort8 max) { - return simd_min(simd_max(x, min), max); -} - -static inline SIMD_CFUNC simd_ushort16 simd_clamp(simd_ushort16 x, simd_ushort16 min, simd_ushort16 max) { - return simd_min(simd_max(x, min), max); -} - -static inline SIMD_CFUNC simd_ushort32 simd_clamp(simd_ushort32 x, simd_ushort32 min, simd_ushort32 max) { - return simd_min(simd_max(x, min), max); -} - -static inline SIMD_CFUNC simd_int2 simd_clamp(simd_int2 x, simd_int2 min, simd_int2 max) { - return simd_min(simd_max(x, min), max); -} - -static inline SIMD_CFUNC simd_int3 simd_clamp(simd_int3 x, simd_int3 min, simd_int3 max) { - return simd_min(simd_max(x, min), max); -} - -static inline SIMD_CFUNC simd_int4 simd_clamp(simd_int4 x, simd_int4 min, simd_int4 max) { - return simd_min(simd_max(x, min), max); -} - -static inline SIMD_CFUNC simd_int8 simd_clamp(simd_int8 x, simd_int8 min, simd_int8 max) { - return simd_min(simd_max(x, min), max); -} - -static inline SIMD_CFUNC simd_int16 simd_clamp(simd_int16 x, simd_int16 min, simd_int16 max) { - return simd_min(simd_max(x, min), max); -} - -static inline SIMD_CFUNC simd_uint2 simd_clamp(simd_uint2 x, simd_uint2 min, simd_uint2 max) { - return simd_min(simd_max(x, min), max); -} - -static inline SIMD_CFUNC simd_uint3 simd_clamp(simd_uint3 x, simd_uint3 min, simd_uint3 max) { - return simd_min(simd_max(x, min), max); -} - -static inline SIMD_CFUNC simd_uint4 simd_clamp(simd_uint4 x, simd_uint4 min, simd_uint4 max) { - return simd_min(simd_max(x, min), max); -} - -static inline SIMD_CFUNC simd_uint8 simd_clamp(simd_uint8 x, simd_uint8 min, simd_uint8 max) { - return simd_min(simd_max(x, min), max); -} - -static inline SIMD_CFUNC simd_uint16 simd_clamp(simd_uint16 x, simd_uint16 min, simd_uint16 max) { - return simd_min(simd_max(x, min), max); -} - -static inline SIMD_CFUNC float simd_clamp(float x, float min, float max) { - return simd_min(simd_max(x, min), max); -} - -static inline SIMD_CFUNC simd_float2 simd_clamp(simd_float2 x, simd_float2 min, simd_float2 max) { - return simd_min(simd_max(x, min), max); -} - -static inline SIMD_CFUNC simd_float3 simd_clamp(simd_float3 x, simd_float3 min, simd_float3 max) { - return simd_min(simd_max(x, min), max); -} - -static inline SIMD_CFUNC simd_float4 simd_clamp(simd_float4 x, simd_float4 min, simd_float4 max) { - return simd_min(simd_max(x, min), max); -} - -static inline SIMD_CFUNC simd_float8 simd_clamp(simd_float8 x, simd_float8 min, simd_float8 max) { - return simd_min(simd_max(x, min), max); -} - -static inline SIMD_CFUNC simd_float16 simd_clamp(simd_float16 x, simd_float16 min, simd_float16 max) { - return simd_min(simd_max(x, min), max); -} - -static inline SIMD_CFUNC simd_long2 simd_clamp(simd_long2 x, simd_long2 min, simd_long2 max) { - return simd_min(simd_max(x, min), max); -} - -static inline SIMD_CFUNC simd_long3 simd_clamp(simd_long3 x, simd_long3 min, simd_long3 max) { - return simd_min(simd_max(x, min), max); -} - -static inline SIMD_CFUNC simd_long4 simd_clamp(simd_long4 x, simd_long4 min, simd_long4 max) { - return simd_min(simd_max(x, min), max); -} - -static inline SIMD_CFUNC simd_long8 simd_clamp(simd_long8 x, simd_long8 min, simd_long8 max) { - return simd_min(simd_max(x, min), max); -} - -static inline SIMD_CFUNC simd_ulong2 simd_clamp(simd_ulong2 x, simd_ulong2 min, simd_ulong2 max) { - return simd_min(simd_max(x, min), max); -} - -static inline SIMD_CFUNC simd_ulong3 simd_clamp(simd_ulong3 x, simd_ulong3 min, simd_ulong3 max) { - return simd_min(simd_max(x, min), max); -} - -static inline SIMD_CFUNC simd_ulong4 simd_clamp(simd_ulong4 x, simd_ulong4 min, simd_ulong4 max) { - return simd_min(simd_max(x, min), max); -} - -static inline SIMD_CFUNC simd_ulong8 simd_clamp(simd_ulong8 x, simd_ulong8 min, simd_ulong8 max) { - return simd_min(simd_max(x, min), max); -} - -static inline SIMD_CFUNC double simd_clamp(double x, double min, double max) { - return simd_min(simd_max(x, min), max); -} - -static inline SIMD_CFUNC simd_double2 simd_clamp(simd_double2 x, simd_double2 min, simd_double2 max) { - return simd_min(simd_max(x, min), max); -} - -static inline SIMD_CFUNC simd_double3 simd_clamp(simd_double3 x, simd_double3 min, simd_double3 max) { - return simd_min(simd_max(x, min), max); -} - -static inline SIMD_CFUNC simd_double4 simd_clamp(simd_double4 x, simd_double4 min, simd_double4 max) { - return simd_min(simd_max(x, min), max); -} - -static inline SIMD_CFUNC simd_double8 simd_clamp(simd_double8 x, simd_double8 min, simd_double8 max) { - return simd_min(simd_max(x, min), max); -} - - -static inline SIMD_CFUNC float simd_sign(float x) { - return (x == 0 | x != x) ? 0 : copysign(1,x); -} - -static inline SIMD_CFUNC simd_float2 simd_sign(simd_float2 x) { - return simd_bitselect(__tg_copysign(1,x), 0, x == 0 | x != x); -} - -static inline SIMD_CFUNC simd_float3 simd_sign(simd_float3 x) { - return simd_bitselect(__tg_copysign(1,x), 0, x == 0 | x != x); -} - -static inline SIMD_CFUNC simd_float4 simd_sign(simd_float4 x) { - return simd_bitselect(__tg_copysign(1,x), 0, x == 0 | x != x); -} - -static inline SIMD_CFUNC simd_float8 simd_sign(simd_float8 x) { - return simd_bitselect(__tg_copysign(1,x), 0, x == 0 | x != x); -} - -static inline SIMD_CFUNC simd_float16 simd_sign(simd_float16 x) { - return simd_bitselect(__tg_copysign(1,x), 0, x == 0 | x != x); -} - -static inline SIMD_CFUNC double simd_sign(double x) { - return (x == 0 | x != x) ? 0 : copysign(1,x); -} - -static inline SIMD_CFUNC simd_double2 simd_sign(simd_double2 x) { - return simd_bitselect(__tg_copysign(1,x), 0, x == 0 | x != x); -} - -static inline SIMD_CFUNC simd_double3 simd_sign(simd_double3 x) { - return simd_bitselect(__tg_copysign(1,x), 0, x == 0 | x != x); -} - -static inline SIMD_CFUNC simd_double4 simd_sign(simd_double4 x) { - return simd_bitselect(__tg_copysign(1,x), 0, x == 0 | x != x); -} - -static inline SIMD_CFUNC simd_double8 simd_sign(simd_double8 x) { - return simd_bitselect(__tg_copysign(1,x), 0, x == 0 | x != x); -} - -static inline SIMD_CFUNC float simd_mix(float x, float y, float t) { - return x + t*(y - x); -} - -static inline SIMD_CFUNC simd_float2 simd_mix(simd_float2 x, simd_float2 y, simd_float2 t) { - return x + t*(y - x); -} - -static inline SIMD_CFUNC simd_float3 simd_mix(simd_float3 x, simd_float3 y, simd_float3 t) { - return x + t*(y - x); -} - -static inline SIMD_CFUNC simd_float4 simd_mix(simd_float4 x, simd_float4 y, simd_float4 t) { - return x + t*(y - x); -} - -static inline SIMD_CFUNC simd_float8 simd_mix(simd_float8 x, simd_float8 y, simd_float8 t) { - return x + t*(y - x); -} - -static inline SIMD_CFUNC simd_float16 simd_mix(simd_float16 x, simd_float16 y, simd_float16 t) { - return x + t*(y - x); -} - -static inline SIMD_CFUNC double simd_mix(double x, double y, double t) { - return x + t*(y - x); -} - -static inline SIMD_CFUNC simd_double2 simd_mix(simd_double2 x, simd_double2 y, simd_double2 t) { - return x + t*(y - x); -} - -static inline SIMD_CFUNC simd_double3 simd_mix(simd_double3 x, simd_double3 y, simd_double3 t) { - return x + t*(y - x); -} - -static inline SIMD_CFUNC simd_double4 simd_mix(simd_double4 x, simd_double4 y, simd_double4 t) { - return x + t*(y - x); -} - -static inline SIMD_CFUNC simd_double8 simd_mix(simd_double8 x, simd_double8 y, simd_double8 t) { - return x + t*(y - x); -} - -static inline SIMD_CFUNC float simd_recip(float x) { -#if __FAST_MATH__ - return simd_fast_recip(x); -#else - return simd_precise_recip(x); -#endif -} - -static inline SIMD_CFUNC simd_float2 simd_recip(simd_float2 x) { -#if __FAST_MATH__ - return simd_fast_recip(x); -#else - return simd_precise_recip(x); -#endif -} - -static inline SIMD_CFUNC simd_float3 simd_recip(simd_float3 x) { -#if __FAST_MATH__ - return simd_fast_recip(x); -#else - return simd_precise_recip(x); -#endif -} - -static inline SIMD_CFUNC simd_float4 simd_recip(simd_float4 x) { -#if __FAST_MATH__ - return simd_fast_recip(x); -#else - return simd_precise_recip(x); -#endif -} - -static inline SIMD_CFUNC simd_float8 simd_recip(simd_float8 x) { -#if __FAST_MATH__ - return simd_fast_recip(x); -#else - return simd_precise_recip(x); -#endif -} - -static inline SIMD_CFUNC simd_float16 simd_recip(simd_float16 x) { -#if __FAST_MATH__ - return simd_fast_recip(x); -#else - return simd_precise_recip(x); -#endif -} - -static inline SIMD_CFUNC double simd_recip(double x) { -#if __FAST_MATH__ - return simd_fast_recip(x); -#else - return simd_precise_recip(x); -#endif -} - -static inline SIMD_CFUNC simd_double2 simd_recip(simd_double2 x) { -#if __FAST_MATH__ - return simd_fast_recip(x); -#else - return simd_precise_recip(x); -#endif -} - -static inline SIMD_CFUNC simd_double3 simd_recip(simd_double3 x) { -#if __FAST_MATH__ - return simd_fast_recip(x); -#else - return simd_precise_recip(x); -#endif -} - -static inline SIMD_CFUNC simd_double4 simd_recip(simd_double4 x) { -#if __FAST_MATH__ - return simd_fast_recip(x); -#else - return simd_precise_recip(x); -#endif -} - -static inline SIMD_CFUNC simd_double8 simd_recip(simd_double8 x) { -#if __FAST_MATH__ - return simd_fast_recip(x); -#else - return simd_precise_recip(x); -#endif -} - -static inline SIMD_CFUNC float simd_fast_recip(float x) { -#if defined __AVX512VL__ - simd_float4 x4 = simd_make_float4(x); - return ((simd_float4)_mm_rcp14_ss(x4, x4)).x; -#elif defined __SSE__ - return ((simd_float4)_mm_rcp_ss(simd_make_float4(x))).x; -#elif defined __ARM_NEON__ - return simd_fast_recip(simd_make_float2_undef(x)).x; -#else - return simd_precise_recip(x); -#endif -} - -static inline SIMD_CFUNC simd_float2 simd_fast_recip(simd_float2 x) { -#if defined __SSE__ - return simd_make_float2(simd_fast_recip(simd_make_float4_undef(x))); -#elif defined __ARM_NEON__ - simd_float2 r = vrecpe_f32(x); - return r * vrecps_f32(x, r); -#else - return simd_precise_recip(x); -#endif -} - -static inline SIMD_CFUNC simd_float3 simd_fast_recip(simd_float3 x) { - return simd_make_float3(simd_fast_recip(simd_make_float4_undef(x))); -} - -static inline SIMD_CFUNC simd_float4 simd_fast_recip(simd_float4 x) { -#if defined __AVX512VL__ - return _mm_rcp14_ps(x); -#elif defined __SSE__ - return _mm_rcp_ps(x); -#elif defined __ARM_NEON__ - simd_float4 r = vrecpeq_f32(x); - return r * vrecpsq_f32(x, r); -#else - return simd_precise_recip(x); -#endif -} - -static inline SIMD_CFUNC simd_float8 simd_fast_recip(simd_float8 x) { -#if defined __AVX512VL__ - return _mm256_rcp14_ps(x); -#elif defined __AVX__ - return _mm256_rcp_ps(x); -#else - return simd_make_float8(simd_fast_recip(x.lo), simd_fast_recip(x.hi)); -#endif -} - -static inline SIMD_CFUNC simd_float16 simd_fast_recip(simd_float16 x) { -#if defined __AVX512F__ - return _mm512_rcp14_ps(x); -#else - return simd_make_float16(simd_fast_recip(x.lo), simd_fast_recip(x.hi)); -#endif -} - -static inline SIMD_CFUNC double simd_fast_recip(double x) { - return simd_precise_recip(x); -} - -static inline SIMD_CFUNC simd_double2 simd_fast_recip(simd_double2 x) { - return simd_precise_recip(x); -} - -static inline SIMD_CFUNC simd_double3 simd_fast_recip(simd_double3 x) { - return simd_precise_recip(x); -} - -static inline SIMD_CFUNC simd_double4 simd_fast_recip(simd_double4 x) { - return simd_precise_recip(x); -} - -static inline SIMD_CFUNC simd_double8 simd_fast_recip(simd_double8 x) { - return simd_precise_recip(x); -} - -static inline SIMD_CFUNC float simd_precise_recip(float x) { -#if defined __SSE__ - float r = simd_fast_recip(x); - return r*(2 - (x == 0 ? -INFINITY : x)*r); -#elif defined __ARM_NEON__ - return simd_precise_recip(simd_make_float2_undef(x)).x; -#else - return 1/x; -#endif -} - -static inline SIMD_CFUNC simd_float2 simd_precise_recip(simd_float2 x) { -#if defined __SSE__ - return simd_make_float2(simd_precise_recip(simd_make_float4_undef(x))); -#elif defined __ARM_NEON__ - simd_float2 r = simd_fast_recip(x); - return r*vrecps_f32(x, r); -#else - return 1/x; -#endif -} - -static inline SIMD_CFUNC simd_float3 simd_precise_recip(simd_float3 x) { - return simd_make_float3(simd_precise_recip(simd_make_float4_undef(x))); -} - -static inline SIMD_CFUNC simd_float4 simd_precise_recip(simd_float4 x) { -#if defined __SSE__ - simd_float4 r = simd_fast_recip(x); - return r*(2 - simd_bitselect(x, -INFINITY, x == 0)*r); -#elif defined __ARM_NEON__ - simd_float4 r = simd_fast_recip(x); - return r*vrecpsq_f32(x, r); -#else - return 1/x; -#endif -} - -static inline SIMD_CFUNC simd_float8 simd_precise_recip(simd_float8 x) { -#if defined __AVX__ - simd_float8 r = simd_fast_recip(x); - return r*(2 - simd_bitselect(x, -INFINITY, x == 0)*r); -#else - return simd_make_float8(simd_precise_recip(x.lo), simd_precise_recip(x.hi)); -#endif -} - -static inline SIMD_CFUNC simd_float16 simd_precise_recip(simd_float16 x) { -#if defined __AVX512F__ - simd_float16 r = simd_fast_recip(x); - return r*(2 - simd_bitselect(x, -INFINITY, x == 0)*r); -#else - return simd_make_float16(simd_precise_recip(x.lo), simd_precise_recip(x.hi)); -#endif -} - -static inline SIMD_CFUNC double simd_precise_recip(double x) { - return 1/x; -} - -static inline SIMD_CFUNC simd_double2 simd_precise_recip(simd_double2 x) { - return 1/x; -} - -static inline SIMD_CFUNC simd_double3 simd_precise_recip(simd_double3 x) { - return 1/x; -} - -static inline SIMD_CFUNC simd_double4 simd_precise_recip(simd_double4 x) { - return 1/x; -} - -static inline SIMD_CFUNC simd_double8 simd_precise_recip(simd_double8 x) { - return 1/x; -} - -static inline SIMD_CFUNC float simd_rsqrt(float x) { -#if __FAST_MATH__ - return simd_fast_rsqrt(x); -#else - return simd_precise_rsqrt(x); -#endif -} - -static inline SIMD_CFUNC simd_float2 simd_rsqrt(simd_float2 x) { -#if __FAST_MATH__ - return simd_fast_rsqrt(x); -#else - return simd_precise_rsqrt(x); -#endif -} - -static inline SIMD_CFUNC simd_float3 simd_rsqrt(simd_float3 x) { -#if __FAST_MATH__ - return simd_fast_rsqrt(x); -#else - return simd_precise_rsqrt(x); -#endif -} - -static inline SIMD_CFUNC simd_float4 simd_rsqrt(simd_float4 x) { -#if __FAST_MATH__ - return simd_fast_rsqrt(x); -#else - return simd_precise_rsqrt(x); -#endif -} - -static inline SIMD_CFUNC simd_float8 simd_rsqrt(simd_float8 x) { -#if __FAST_MATH__ - return simd_fast_rsqrt(x); -#else - return simd_precise_rsqrt(x); -#endif -} - -static inline SIMD_CFUNC simd_float16 simd_rsqrt(simd_float16 x) { -#if __FAST_MATH__ - return simd_fast_rsqrt(x); -#else - return simd_precise_rsqrt(x); -#endif -} - -static inline SIMD_CFUNC double simd_rsqrt(double x) { -#if __FAST_MATH__ - return simd_fast_rsqrt(x); -#else - return simd_precise_rsqrt(x); -#endif -} - -static inline SIMD_CFUNC simd_double2 simd_rsqrt(simd_double2 x) { -#if __FAST_MATH__ - return simd_fast_rsqrt(x); -#else - return simd_precise_rsqrt(x); -#endif -} - -static inline SIMD_CFUNC simd_double3 simd_rsqrt(simd_double3 x) { -#if __FAST_MATH__ - return simd_fast_rsqrt(x); -#else - return simd_precise_rsqrt(x); -#endif -} - -static inline SIMD_CFUNC simd_double4 simd_rsqrt(simd_double4 x) { -#if __FAST_MATH__ - return simd_fast_rsqrt(x); -#else - return simd_precise_rsqrt(x); -#endif -} - -static inline SIMD_CFUNC simd_double8 simd_rsqrt(simd_double8 x) { -#if __FAST_MATH__ - return simd_fast_rsqrt(x); -#else - return simd_precise_rsqrt(x); -#endif -} - -static inline SIMD_CFUNC float simd_fast_rsqrt(float x) { -#if defined __AVX512VL__ - simd_float4 x4 = simd_make_float4(x); - return ((simd_float4)_mm_rsqrt14_ss(x4, x4)).x; -#elif defined __SSE__ - return ((simd_float4)_mm_rsqrt_ss(simd_make_float4(x))).x; -#elif defined __ARM_NEON__ - return simd_fast_rsqrt(simd_make_float2_undef(x)).x; -#else - return simd_precise_rsqrt(x); -#endif -} - -static inline SIMD_CFUNC simd_float2 simd_fast_rsqrt(simd_float2 x) { -#if defined __SSE__ - return simd_make_float2(simd_fast_rsqrt(simd_make_float4_undef(x))); -#elif defined __ARM_NEON__ - simd_float2 r = vrsqrte_f32(x); - return r * vrsqrts_f32(x, r*r); -#else - return simd_precise_rsqrt(x); -#endif -} - -static inline SIMD_CFUNC simd_float3 simd_fast_rsqrt(simd_float3 x) { - return simd_make_float3(simd_fast_rsqrt(simd_make_float4_undef(x))); -} - -static inline SIMD_CFUNC simd_float4 simd_fast_rsqrt(simd_float4 x) { -#if defined __AVX512VL__ - return _mm_rsqrt14_ps(x); -#elif defined __SSE__ - return _mm_rsqrt_ps(x); -#elif defined __ARM_NEON__ - simd_float4 r = vrsqrteq_f32(x); - return r * vrsqrtsq_f32(x, r*r); -#else - return simd_precise_rsqrt(x); -#endif -} - -static inline SIMD_CFUNC simd_float8 simd_fast_rsqrt(simd_float8 x) { -#if defined __AVX512VL__ - return _mm256_rsqrt14_ps(x); -#elif defined __AVX__ - return _mm256_rsqrt_ps(x); -#else - return simd_make_float8(simd_fast_rsqrt(x.lo), simd_fast_rsqrt(x.hi)); -#endif -} - -static inline SIMD_CFUNC simd_float16 simd_fast_rsqrt(simd_float16 x) { -#if defined __AVX512F__ - return _mm512_rsqrt14_ps(x); -#else - return simd_make_float16(simd_fast_rsqrt(x.lo), simd_fast_rsqrt(x.hi)); -#endif -} - -static inline SIMD_CFUNC double simd_fast_rsqrt(double x) { - return simd_precise_rsqrt(x); -} - -static inline SIMD_CFUNC simd_double2 simd_fast_rsqrt(simd_double2 x) { - return simd_precise_rsqrt(x); -} - -static inline SIMD_CFUNC simd_double3 simd_fast_rsqrt(simd_double3 x) { - return simd_precise_rsqrt(x); -} - -static inline SIMD_CFUNC simd_double4 simd_fast_rsqrt(simd_double4 x) { - return simd_precise_rsqrt(x); -} - -static inline SIMD_CFUNC simd_double8 simd_fast_rsqrt(simd_double8 x) { - return simd_precise_rsqrt(x); -} - -static inline SIMD_CFUNC float simd_precise_rsqrt(float x) { -#if defined __SSE__ - float r = simd_fast_rsqrt(x); - return r*(1.5f - 0.5f*(r == INFINITY ? -INFINITY : x)*r*r); -#elif defined __ARM_NEON__ - return simd_precise_rsqrt(simd_make_float2_undef(x)).x; -#else - return 1/sqrt(x); -#endif -} - -static inline SIMD_CFUNC simd_float2 simd_precise_rsqrt(simd_float2 x) { -#if defined __SSE__ - return simd_make_float2(simd_precise_rsqrt(simd_make_float4_undef(x))); -#elif defined __ARM_NEON__ - simd_float2 r = simd_fast_rsqrt(x); - return r*vrsqrts_f32(x, r*r); -#else - return 1/__tg_sqrt(x); -#endif -} - -static inline SIMD_CFUNC simd_float3 simd_precise_rsqrt(simd_float3 x) { - return simd_make_float3(simd_precise_rsqrt(simd_make_float4_undef(x))); -} - -static inline SIMD_CFUNC simd_float4 simd_precise_rsqrt(simd_float4 x) { -#if defined __SSE__ - simd_float4 r = simd_fast_rsqrt(x); - return r*(1.5 - 0.5*simd_bitselect(x, -INFINITY, r == INFINITY)*r*r); -#elif defined __ARM_NEON__ - simd_float4 r = simd_fast_rsqrt(x); - return r*vrsqrtsq_f32(x, r*r); -#else - return 1/__tg_sqrt(x); -#endif -} - -static inline SIMD_CFUNC simd_float8 simd_precise_rsqrt(simd_float8 x) { -#if defined __AVX__ - simd_float8 r = simd_fast_rsqrt(x); - return r*(1.5 - 0.5*simd_bitselect(x, -INFINITY, r == INFINITY)*r*r); -#else - return simd_make_float8(simd_precise_rsqrt(x.lo), simd_precise_rsqrt(x.hi)); -#endif -} - -static inline SIMD_CFUNC simd_float16 simd_precise_rsqrt(simd_float16 x) { -#if defined __AVX512F__ - simd_float16 r = simd_fast_rsqrt(x); - return r*(1.5 - 0.5*simd_bitselect(x, -INFINITY, r == INFINITY)*r*r); -#else - return simd_make_float16(simd_precise_rsqrt(x.lo), simd_precise_rsqrt(x.hi)); -#endif -} - -static inline SIMD_CFUNC double simd_precise_rsqrt(double x) { - return 1/sqrt(x); -} - -static inline SIMD_CFUNC simd_double2 simd_precise_rsqrt(simd_double2 x) { - return 1/__tg_sqrt(x); -} - -static inline SIMD_CFUNC simd_double3 simd_precise_rsqrt(simd_double3 x) { - return 1/__tg_sqrt(x); -} - -static inline SIMD_CFUNC simd_double4 simd_precise_rsqrt(simd_double4 x) { - return 1/__tg_sqrt(x); -} - -static inline SIMD_CFUNC simd_double8 simd_precise_rsqrt(simd_double8 x) { - return 1/__tg_sqrt(x); -} - -static inline SIMD_CFUNC float simd_fract(float x) { - return fmin(x - floor(x), 0x1.fffffep-1f); -} - -static inline SIMD_CFUNC simd_float2 simd_fract(simd_float2 x) { - return __tg_fmin(x - __tg_floor(x), 0x1.fffffep-1f); -} - -static inline SIMD_CFUNC simd_float3 simd_fract(simd_float3 x) { - return __tg_fmin(x - __tg_floor(x), 0x1.fffffep-1f); -} - -static inline SIMD_CFUNC simd_float4 simd_fract(simd_float4 x) { - return __tg_fmin(x - __tg_floor(x), 0x1.fffffep-1f); -} - -static inline SIMD_CFUNC simd_float8 simd_fract(simd_float8 x) { - return __tg_fmin(x - __tg_floor(x), 0x1.fffffep-1f); -} - -static inline SIMD_CFUNC simd_float16 simd_fract(simd_float16 x) { - return __tg_fmin(x - __tg_floor(x), 0x1.fffffep-1f); -} - -static inline SIMD_CFUNC double simd_fract(double x) { - return fmin(x - floor(x), 0x1.fffffffffffffp-1); -} - -static inline SIMD_CFUNC simd_double2 simd_fract(simd_double2 x) { - return __tg_fmin(x - __tg_floor(x), 0x1.fffffffffffffp-1); -} - -static inline SIMD_CFUNC simd_double3 simd_fract(simd_double3 x) { - return __tg_fmin(x - __tg_floor(x), 0x1.fffffffffffffp-1); -} - -static inline SIMD_CFUNC simd_double4 simd_fract(simd_double4 x) { - return __tg_fmin(x - __tg_floor(x), 0x1.fffffffffffffp-1); -} - -static inline SIMD_CFUNC simd_double8 simd_fract(simd_double8 x) { - return __tg_fmin(x - __tg_floor(x), 0x1.fffffffffffffp-1); -} - -static inline SIMD_CFUNC float simd_step(float edge, float x) { - return !(x < edge); -} - -static inline SIMD_CFUNC simd_float2 simd_step(simd_float2 edge, simd_float2 x) { - return simd_bitselect((simd_float2)1, 0, x < edge); -} - -static inline SIMD_CFUNC simd_float3 simd_step(simd_float3 edge, simd_float3 x) { - return simd_bitselect((simd_float3)1, 0, x < edge); -} - -static inline SIMD_CFUNC simd_float4 simd_step(simd_float4 edge, simd_float4 x) { - return simd_bitselect((simd_float4)1, 0, x < edge); -} - -static inline SIMD_CFUNC simd_float8 simd_step(simd_float8 edge, simd_float8 x) { - return simd_bitselect((simd_float8)1, 0, x < edge); -} - -static inline SIMD_CFUNC simd_float16 simd_step(simd_float16 edge, simd_float16 x) { - return simd_bitselect((simd_float16)1, 0, x < edge); -} - -static inline SIMD_CFUNC double simd_step(double edge, double x) { - return !(x < edge); -} - -static inline SIMD_CFUNC simd_double2 simd_step(simd_double2 edge, simd_double2 x) { - return simd_bitselect((simd_double2)1, 0, x < edge); -} - -static inline SIMD_CFUNC simd_double3 simd_step(simd_double3 edge, simd_double3 x) { - return simd_bitselect((simd_double3)1, 0, x < edge); -} - -static inline SIMD_CFUNC simd_double4 simd_step(simd_double4 edge, simd_double4 x) { - return simd_bitselect((simd_double4)1, 0, x < edge); -} - -static inline SIMD_CFUNC simd_double8 simd_step(simd_double8 edge, simd_double8 x) { - return simd_bitselect((simd_double8)1, 0, x < edge); -} - -static inline SIMD_CFUNC float simd_smoothstep(float edge0, float edge1, float x) { - float t = simd_clamp((x - edge0)/(edge1 - edge0), 0, 1); - return t*t*(3 - 2*t); -} - -static inline SIMD_CFUNC simd_float2 simd_smoothstep(simd_float2 edge0, simd_float2 edge1, simd_float2 x) { - simd_float2 t = simd_clamp((x - edge0)/(edge1 - edge0), 0, 1); - return t*t*(3 - 2*t); -} - -static inline SIMD_CFUNC simd_float3 simd_smoothstep(simd_float3 edge0, simd_float3 edge1, simd_float3 x) { - simd_float3 t = simd_clamp((x - edge0)/(edge1 - edge0), 0, 1); - return t*t*(3 - 2*t); -} - -static inline SIMD_CFUNC simd_float4 simd_smoothstep(simd_float4 edge0, simd_float4 edge1, simd_float4 x) { - simd_float4 t = simd_clamp((x - edge0)/(edge1 - edge0), 0, 1); - return t*t*(3 - 2*t); -} - -static inline SIMD_CFUNC simd_float8 simd_smoothstep(simd_float8 edge0, simd_float8 edge1, simd_float8 x) { - simd_float8 t = simd_clamp((x - edge0)/(edge1 - edge0), 0, 1); - return t*t*(3 - 2*t); -} - -static inline SIMD_CFUNC simd_float16 simd_smoothstep(simd_float16 edge0, simd_float16 edge1, simd_float16 x) { - simd_float16 t = simd_clamp((x - edge0)/(edge1 - edge0), 0, 1); - return t*t*(3 - 2*t); -} - -static inline SIMD_CFUNC double simd_smoothstep(double edge0, double edge1, double x) { - double t = simd_clamp((x - edge0)/(edge1 - edge0), 0, 1); - return t*t*(3 - 2*t); -} - -static inline SIMD_CFUNC simd_double2 simd_smoothstep(simd_double2 edge0, simd_double2 edge1, simd_double2 x) { - simd_double2 t = simd_clamp((x - edge0)/(edge1 - edge0), 0, 1); - return t*t*(3 - 2*t); -} - -static inline SIMD_CFUNC simd_double3 simd_smoothstep(simd_double3 edge0, simd_double3 edge1, simd_double3 x) { - simd_double3 t = simd_clamp((x - edge0)/(edge1 - edge0), 0, 1); - return t*t*(3 - 2*t); -} - -static inline SIMD_CFUNC simd_double4 simd_smoothstep(simd_double4 edge0, simd_double4 edge1, simd_double4 x) { - simd_double4 t = simd_clamp((x - edge0)/(edge1 - edge0), 0, 1); - return t*t*(3 - 2*t); -} - -static inline SIMD_CFUNC simd_double8 simd_smoothstep(simd_double8 edge0, simd_double8 edge1, simd_double8 x) { - simd_double8 t = simd_clamp((x - edge0)/(edge1 - edge0), 0, 1); - return t*t*(3 - 2*t); -} - -static inline SIMD_CFUNC char simd_reduce_add(simd_char2 x) { - return x.x + x.y; -} - -static inline SIMD_CFUNC char simd_reduce_add(simd_char3 x) { - return x.x + x.y + x.z; -} - -static inline SIMD_CFUNC char simd_reduce_add(simd_char4 x) { - return simd_reduce_add(x.lo + x.hi); -} - -static inline SIMD_CFUNC char simd_reduce_add(simd_char8 x) { - return simd_reduce_add(x.lo + x.hi); -} - -static inline SIMD_CFUNC char simd_reduce_add(simd_char16 x) { - return simd_reduce_add(x.lo + x.hi); -} - -static inline SIMD_CFUNC char simd_reduce_add(simd_char32 x) { - return simd_reduce_add(x.lo + x.hi); -} - -static inline SIMD_CFUNC char simd_reduce_add(simd_char64 x) { - return simd_reduce_add(x.lo + x.hi); -} - -static inline SIMD_CFUNC unsigned char simd_reduce_add(simd_uchar2 x) { - return x.x + x.y; -} - -static inline SIMD_CFUNC unsigned char simd_reduce_add(simd_uchar3 x) { - return x.x + x.y + x.z; -} - -static inline SIMD_CFUNC unsigned char simd_reduce_add(simd_uchar4 x) { - return simd_reduce_add(x.lo + x.hi); -} - -static inline SIMD_CFUNC unsigned char simd_reduce_add(simd_uchar8 x) { - return simd_reduce_add(x.lo + x.hi); -} - -static inline SIMD_CFUNC unsigned char simd_reduce_add(simd_uchar16 x) { - return simd_reduce_add(x.lo + x.hi); -} - -static inline SIMD_CFUNC unsigned char simd_reduce_add(simd_uchar32 x) { - return simd_reduce_add(x.lo + x.hi); -} - -static inline SIMD_CFUNC unsigned char simd_reduce_add(simd_uchar64 x) { - return simd_reduce_add(x.lo + x.hi); -} - -static inline SIMD_CFUNC short simd_reduce_add(simd_short2 x) { - return x.x + x.y; -} - -static inline SIMD_CFUNC short simd_reduce_add(simd_short3 x) { - return x.x + x.y + x.z; -} - -static inline SIMD_CFUNC short simd_reduce_add(simd_short4 x) { - return simd_reduce_add(x.lo + x.hi); -} - -static inline SIMD_CFUNC short simd_reduce_add(simd_short8 x) { - return simd_reduce_add(x.lo + x.hi); -} - -static inline SIMD_CFUNC short simd_reduce_add(simd_short16 x) { - return simd_reduce_add(x.lo + x.hi); -} - -static inline SIMD_CFUNC short simd_reduce_add(simd_short32 x) { - return simd_reduce_add(x.lo + x.hi); -} - -static inline SIMD_CFUNC unsigned short simd_reduce_add(simd_ushort2 x) { - return x.x + x.y; -} - -static inline SIMD_CFUNC unsigned short simd_reduce_add(simd_ushort3 x) { - return x.x + x.y + x.z; -} - -static inline SIMD_CFUNC unsigned short simd_reduce_add(simd_ushort4 x) { - return simd_reduce_add(x.lo + x.hi); -} - -static inline SIMD_CFUNC unsigned short simd_reduce_add(simd_ushort8 x) { - return simd_reduce_add(x.lo + x.hi); -} - -static inline SIMD_CFUNC unsigned short simd_reduce_add(simd_ushort16 x) { - return simd_reduce_add(x.lo + x.hi); -} - -static inline SIMD_CFUNC unsigned short simd_reduce_add(simd_ushort32 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; -} - -static inline SIMD_CFUNC int simd_reduce_add(simd_int3 x) { - return x.x + x.y + x.z; -} - -static inline SIMD_CFUNC int simd_reduce_add(simd_int4 x) { - return simd_reduce_add(x.lo + x.hi); -} - -static inline SIMD_CFUNC int simd_reduce_add(simd_int8 x) { - return simd_reduce_add(x.lo + x.hi); -} - -static inline SIMD_CFUNC int simd_reduce_add(simd_int16 x) { - return simd_reduce_add(x.lo + x.hi); -} - -static inline SIMD_CFUNC unsigned int simd_reduce_add(simd_uint2 x) { - return x.x + x.y; -} - -static inline SIMD_CFUNC unsigned int simd_reduce_add(simd_uint3 x) { - return x.x + x.y + x.z; -} - -static inline SIMD_CFUNC unsigned int simd_reduce_add(simd_uint4 x) { - return simd_reduce_add(x.lo + x.hi); -} - -static inline SIMD_CFUNC unsigned int simd_reduce_add(simd_uint8 x) { - return simd_reduce_add(x.lo + x.hi); -} - -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; -} - -static inline SIMD_CFUNC simd_long1 simd_reduce_add(simd_long3 x) { - return x.x + x.y + x.z; -} - -static inline SIMD_CFUNC simd_long1 simd_reduce_add(simd_long4 x) { - return simd_reduce_add(x.lo + x.hi); -} - -static inline SIMD_CFUNC simd_long1 simd_reduce_add(simd_long8 x) { - return simd_reduce_add(x.lo + x.hi); -} - -static inline SIMD_CFUNC simd_ulong1 simd_reduce_add(simd_ulong2 x) { - return x.x + x.y; -} - -static inline SIMD_CFUNC simd_ulong1 simd_reduce_add(simd_ulong3 x) { - return x.x + x.y + x.z; -} - -static inline SIMD_CFUNC simd_ulong1 simd_reduce_add(simd_ulong4 x) { - return simd_reduce_add(x.lo + x.hi); -} - -static inline SIMD_CFUNC simd_ulong1 simd_reduce_add(simd_ulong8 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; -} - -static inline SIMD_CFUNC double simd_reduce_add(simd_double3 x) { - return x.x + x.y + x.z; -} - -static inline SIMD_CFUNC double simd_reduce_add(simd_double4 x) { - return simd_reduce_add(x.lo + x.hi); -} - -static inline SIMD_CFUNC double simd_reduce_add(simd_double8 x) { - return simd_reduce_add(x.lo + x.hi); -} - -static inline SIMD_CFUNC char simd_reduce_min(simd_char2 x) { - return x.y < x.x ? x.y : x.x; -} - -static inline SIMD_CFUNC char simd_reduce_min(simd_char3 x) { - char t = x.z < x.x ? x.z : x.x; - return x.y < t ? x.y : t; -} - -static inline SIMD_CFUNC char simd_reduce_min(simd_char4 x) { - return simd_reduce_min(simd_min(x.lo, x.hi)); -} - -static inline SIMD_CFUNC char simd_reduce_min(simd_char8 x) { - return simd_reduce_min(simd_min(x.lo, x.hi)); -} - -static inline SIMD_CFUNC char simd_reduce_min(simd_char16 x) { - return simd_reduce_min(simd_min(x.lo, x.hi)); -} - -static inline SIMD_CFUNC char simd_reduce_min(simd_char32 x) { - return simd_reduce_min(simd_min(x.lo, x.hi)); -} - -static inline SIMD_CFUNC char simd_reduce_min(simd_char64 x) { - return simd_reduce_min(simd_min(x.lo, x.hi)); -} - -static inline SIMD_CFUNC unsigned char simd_reduce_min(simd_uchar2 x) { - return x.y < x.x ? x.y : x.x; -} - -static inline SIMD_CFUNC unsigned char simd_reduce_min(simd_uchar3 x) { - unsigned char t = x.z < x.x ? x.z : x.x; - return x.y < t ? x.y : t; -} - -static inline SIMD_CFUNC unsigned char simd_reduce_min(simd_uchar4 x) { - return simd_reduce_min(simd_min(x.lo, x.hi)); -} - -static inline SIMD_CFUNC unsigned char simd_reduce_min(simd_uchar8 x) { - return simd_reduce_min(simd_min(x.lo, x.hi)); -} - -static inline SIMD_CFUNC unsigned char simd_reduce_min(simd_uchar16 x) { - return simd_reduce_min(simd_min(x.lo, x.hi)); -} - -static inline SIMD_CFUNC unsigned char simd_reduce_min(simd_uchar32 x) { - return simd_reduce_min(simd_min(x.lo, x.hi)); -} - -static inline SIMD_CFUNC unsigned char simd_reduce_min(simd_uchar64 x) { - return simd_reduce_min(simd_min(x.lo, x.hi)); -} - -static inline SIMD_CFUNC short simd_reduce_min(simd_short2 x) { - return x.y < x.x ? x.y : x.x; -} - -static inline SIMD_CFUNC short simd_reduce_min(simd_short3 x) { - short t = x.z < x.x ? x.z : x.x; - return x.y < t ? x.y : t; -} - -static inline SIMD_CFUNC short simd_reduce_min(simd_short4 x) { - return simd_reduce_min(simd_min(x.lo, x.hi)); -} - -static inline SIMD_CFUNC short simd_reduce_min(simd_short8 x) { - return simd_reduce_min(simd_min(x.lo, x.hi)); -} - -static inline SIMD_CFUNC short simd_reduce_min(simd_short16 x) { - return simd_reduce_min(simd_min(x.lo, x.hi)); -} - -static inline SIMD_CFUNC short simd_reduce_min(simd_short32 x) { - return simd_reduce_min(simd_min(x.lo, x.hi)); -} - -static inline SIMD_CFUNC unsigned short simd_reduce_min(simd_ushort2 x) { - return x.y < x.x ? x.y : x.x; -} - -static inline SIMD_CFUNC unsigned short simd_reduce_min(simd_ushort3 x) { - unsigned short t = x.z < x.x ? x.z : x.x; - return x.y < t ? x.y : t; -} - -static inline SIMD_CFUNC unsigned short simd_reduce_min(simd_ushort4 x) { - return simd_reduce_min(simd_min(x.lo, x.hi)); -} - -static inline SIMD_CFUNC unsigned short simd_reduce_min(simd_ushort8 x) { - return simd_reduce_min(simd_min(x.lo, x.hi)); -} - -static inline SIMD_CFUNC unsigned short simd_reduce_min(simd_ushort16 x) { - return simd_reduce_min(simd_min(x.lo, x.hi)); -} - -static inline SIMD_CFUNC unsigned short simd_reduce_min(simd_ushort32 x) { - return simd_reduce_min(simd_min(x.lo, x.hi)); -} - -static inline SIMD_CFUNC int simd_reduce_min(simd_int2 x) { - return x.y < x.x ? x.y : x.x; -} - -static inline SIMD_CFUNC int simd_reduce_min(simd_int3 x) { - int t = x.z < x.x ? x.z : x.x; - return x.y < t ? x.y : t; -} - -static inline SIMD_CFUNC int simd_reduce_min(simd_int4 x) { - return simd_reduce_min(simd_min(x.lo, x.hi)); -} - -static inline SIMD_CFUNC int simd_reduce_min(simd_int8 x) { - return simd_reduce_min(simd_min(x.lo, x.hi)); -} - -static inline SIMD_CFUNC int simd_reduce_min(simd_int16 x) { - return simd_reduce_min(simd_min(x.lo, x.hi)); -} - -static inline SIMD_CFUNC unsigned int simd_reduce_min(simd_uint2 x) { - return x.y < x.x ? x.y : x.x; -} - -static inline SIMD_CFUNC unsigned int simd_reduce_min(simd_uint3 x) { - unsigned int t = x.z < x.x ? x.z : x.x; - return x.y < t ? x.y : t; -} - -static inline SIMD_CFUNC unsigned int simd_reduce_min(simd_uint4 x) { - return simd_reduce_min(simd_min(x.lo, x.hi)); -} - -static inline SIMD_CFUNC unsigned int simd_reduce_min(simd_uint8 x) { - return simd_reduce_min(simd_min(x.lo, x.hi)); -} - -static inline SIMD_CFUNC unsigned int simd_reduce_min(simd_uint16 x) { - return simd_reduce_min(simd_min(x.lo, x.hi)); -} - -static inline SIMD_CFUNC float simd_reduce_min(simd_float2 x) { - return fmin(x.x, x.y); -} - -static inline SIMD_CFUNC float simd_reduce_min(simd_float3 x) { - return fmin(fmin(x.x, x.z), x.y); -} - -static inline SIMD_CFUNC float simd_reduce_min(simd_float4 x) { - return simd_reduce_min(simd_min(x.lo, x.hi)); -} - -static inline SIMD_CFUNC float simd_reduce_min(simd_float8 x) { - return simd_reduce_min(simd_min(x.lo, x.hi)); -} - -static inline SIMD_CFUNC float simd_reduce_min(simd_float16 x) { - return simd_reduce_min(simd_min(x.lo, x.hi)); -} - -static inline SIMD_CFUNC simd_long1 simd_reduce_min(simd_long2 x) { - return x.y < x.x ? x.y : x.x; -} - -static inline SIMD_CFUNC simd_long1 simd_reduce_min(simd_long3 x) { - simd_long1 t = x.z < x.x ? x.z : x.x; - return x.y < t ? x.y : t; -} - -static inline SIMD_CFUNC simd_long1 simd_reduce_min(simd_long4 x) { - return simd_reduce_min(simd_min(x.lo, x.hi)); -} - -static inline SIMD_CFUNC simd_long1 simd_reduce_min(simd_long8 x) { - return simd_reduce_min(simd_min(x.lo, x.hi)); -} - -static inline SIMD_CFUNC simd_ulong1 simd_reduce_min(simd_ulong2 x) { - return x.y < x.x ? x.y : x.x; -} - -static inline SIMD_CFUNC simd_ulong1 simd_reduce_min(simd_ulong3 x) { - simd_ulong1 t = x.z < x.x ? x.z : x.x; - return x.y < t ? x.y : t; -} - -static inline SIMD_CFUNC simd_ulong1 simd_reduce_min(simd_ulong4 x) { - return simd_reduce_min(simd_min(x.lo, x.hi)); -} - -static inline SIMD_CFUNC simd_ulong1 simd_reduce_min(simd_ulong8 x) { - return simd_reduce_min(simd_min(x.lo, x.hi)); -} - -static inline SIMD_CFUNC double simd_reduce_min(simd_double2 x) { - return fmin(x.x, x.y); -} - -static inline SIMD_CFUNC double simd_reduce_min(simd_double3 x) { - return fmin(fmin(x.x, x.z), x.y); -} - -static inline SIMD_CFUNC double simd_reduce_min(simd_double4 x) { - return simd_reduce_min(simd_min(x.lo, x.hi)); -} - -static inline SIMD_CFUNC double simd_reduce_min(simd_double8 x) { - return simd_reduce_min(simd_min(x.lo, x.hi)); -} - -static inline SIMD_CFUNC char simd_reduce_max(simd_char2 x) { - return x.y > x.x ? x.y : x.x; -} - -static inline SIMD_CFUNC char simd_reduce_max(simd_char3 x) { - char t = x.z > x.x ? x.z : x.x; - return x.y > t ? x.y : t; -} - -static inline SIMD_CFUNC char simd_reduce_max(simd_char4 x) { - return simd_reduce_max(simd_max(x.lo, x.hi)); -} - -static inline SIMD_CFUNC char simd_reduce_max(simd_char8 x) { - return simd_reduce_max(simd_max(x.lo, x.hi)); -} - -static inline SIMD_CFUNC char simd_reduce_max(simd_char16 x) { - return simd_reduce_max(simd_max(x.lo, x.hi)); -} - -static inline SIMD_CFUNC char simd_reduce_max(simd_char32 x) { - return simd_reduce_max(simd_max(x.lo, x.hi)); -} - -static inline SIMD_CFUNC char simd_reduce_max(simd_char64 x) { - return simd_reduce_max(simd_max(x.lo, x.hi)); -} - -static inline SIMD_CFUNC unsigned char simd_reduce_max(simd_uchar2 x) { - return x.y > x.x ? x.y : x.x; -} - -static inline SIMD_CFUNC unsigned char simd_reduce_max(simd_uchar3 x) { - unsigned char t = x.z > x.x ? x.z : x.x; - return x.y > t ? x.y : t; -} - -static inline SIMD_CFUNC unsigned char simd_reduce_max(simd_uchar4 x) { - return simd_reduce_max(simd_max(x.lo, x.hi)); -} - -static inline SIMD_CFUNC unsigned char simd_reduce_max(simd_uchar8 x) { - return simd_reduce_max(simd_max(x.lo, x.hi)); -} - -static inline SIMD_CFUNC unsigned char simd_reduce_max(simd_uchar16 x) { - return simd_reduce_max(simd_max(x.lo, x.hi)); -} - -static inline SIMD_CFUNC unsigned char simd_reduce_max(simd_uchar32 x) { - return simd_reduce_max(simd_max(x.lo, x.hi)); -} - -static inline SIMD_CFUNC unsigned char simd_reduce_max(simd_uchar64 x) { - return simd_reduce_max(simd_max(x.lo, x.hi)); -} - -static inline SIMD_CFUNC short simd_reduce_max(simd_short2 x) { - return x.y > x.x ? x.y : x.x; -} - -static inline SIMD_CFUNC short simd_reduce_max(simd_short3 x) { - short t = x.z > x.x ? x.z : x.x; - return x.y > t ? x.y : t; -} - -static inline SIMD_CFUNC short simd_reduce_max(simd_short4 x) { - return simd_reduce_max(simd_max(x.lo, x.hi)); -} - -static inline SIMD_CFUNC short simd_reduce_max(simd_short8 x) { - return simd_reduce_max(simd_max(x.lo, x.hi)); -} - -static inline SIMD_CFUNC short simd_reduce_max(simd_short16 x) { - return simd_reduce_max(simd_max(x.lo, x.hi)); -} - -static inline SIMD_CFUNC short simd_reduce_max(simd_short32 x) { - return simd_reduce_max(simd_max(x.lo, x.hi)); -} - -static inline SIMD_CFUNC unsigned short simd_reduce_max(simd_ushort2 x) { - return x.y > x.x ? x.y : x.x; -} - -static inline SIMD_CFUNC unsigned short simd_reduce_max(simd_ushort3 x) { - unsigned short t = x.z > x.x ? x.z : x.x; - return x.y > t ? x.y : t; -} - -static inline SIMD_CFUNC unsigned short simd_reduce_max(simd_ushort4 x) { - return simd_reduce_max(simd_max(x.lo, x.hi)); -} - -static inline SIMD_CFUNC unsigned short simd_reduce_max(simd_ushort8 x) { - return simd_reduce_max(simd_max(x.lo, x.hi)); -} - -static inline SIMD_CFUNC unsigned short simd_reduce_max(simd_ushort16 x) { - return simd_reduce_max(simd_max(x.lo, x.hi)); -} - -static inline SIMD_CFUNC unsigned short simd_reduce_max(simd_ushort32 x) { - return simd_reduce_max(simd_max(x.lo, x.hi)); -} - -static inline SIMD_CFUNC int simd_reduce_max(simd_int2 x) { - return x.y > x.x ? x.y : x.x; -} - -static inline SIMD_CFUNC int simd_reduce_max(simd_int3 x) { - int t = x.z > x.x ? x.z : x.x; - return x.y > t ? x.y : t; -} - -static inline SIMD_CFUNC int simd_reduce_max(simd_int4 x) { - return simd_reduce_max(simd_max(x.lo, x.hi)); -} - -static inline SIMD_CFUNC int simd_reduce_max(simd_int8 x) { - return simd_reduce_max(simd_max(x.lo, x.hi)); -} - -static inline SIMD_CFUNC int simd_reduce_max(simd_int16 x) { - return simd_reduce_max(simd_max(x.lo, x.hi)); -} - -static inline SIMD_CFUNC unsigned int simd_reduce_max(simd_uint2 x) { - return x.y > x.x ? x.y : x.x; -} - -static inline SIMD_CFUNC unsigned int simd_reduce_max(simd_uint3 x) { - unsigned int t = x.z > x.x ? x.z : x.x; - return x.y > t ? x.y : t; -} - -static inline SIMD_CFUNC unsigned int simd_reduce_max(simd_uint4 x) { - return simd_reduce_max(simd_max(x.lo, x.hi)); -} - -static inline SIMD_CFUNC unsigned int simd_reduce_max(simd_uint8 x) { - return simd_reduce_max(simd_max(x.lo, x.hi)); -} - -static inline SIMD_CFUNC unsigned int simd_reduce_max(simd_uint16 x) { - return simd_reduce_max(simd_max(x.lo, x.hi)); -} - -static inline SIMD_CFUNC float simd_reduce_max(simd_float2 x) { - return fmax(x.x, x.y); -} - -static inline SIMD_CFUNC float simd_reduce_max(simd_float3 x) { - return fmax(fmax(x.x, x.z), x.y); -} - -static inline SIMD_CFUNC float simd_reduce_max(simd_float4 x) { - return simd_reduce_max(simd_max(x.lo, x.hi)); -} - -static inline SIMD_CFUNC float simd_reduce_max(simd_float8 x) { - return simd_reduce_max(simd_max(x.lo, x.hi)); -} - -static inline SIMD_CFUNC float simd_reduce_max(simd_float16 x) { - return simd_reduce_max(simd_max(x.lo, x.hi)); -} - -static inline SIMD_CFUNC simd_long1 simd_reduce_max(simd_long2 x) { - return x.y > x.x ? x.y : x.x; -} - -static inline SIMD_CFUNC simd_long1 simd_reduce_max(simd_long3 x) { - simd_long1 t = x.z > x.x ? x.z : x.x; - return x.y > t ? x.y : t; -} - -static inline SIMD_CFUNC simd_long1 simd_reduce_max(simd_long4 x) { - return simd_reduce_max(simd_max(x.lo, x.hi)); -} - -static inline SIMD_CFUNC simd_long1 simd_reduce_max(simd_long8 x) { - return simd_reduce_max(simd_max(x.lo, x.hi)); -} - -static inline SIMD_CFUNC simd_ulong1 simd_reduce_max(simd_ulong2 x) { - return x.y > x.x ? x.y : x.x; -} - -static inline SIMD_CFUNC simd_ulong1 simd_reduce_max(simd_ulong3 x) { - simd_ulong1 t = x.z > x.x ? x.z : x.x; - return x.y > t ? x.y : t; -} - -static inline SIMD_CFUNC simd_ulong1 simd_reduce_max(simd_ulong4 x) { - return simd_reduce_max(simd_max(x.lo, x.hi)); -} - -static inline SIMD_CFUNC simd_ulong1 simd_reduce_max(simd_ulong8 x) { - return simd_reduce_max(simd_max(x.lo, x.hi)); -} - -static inline SIMD_CFUNC double simd_reduce_max(simd_double2 x) { - return fmax(x.x, x.y); -} - -static inline SIMD_CFUNC double simd_reduce_max(simd_double3 x) { - return fmax(fmax(x.x, x.z), x.y); -} - -static inline SIMD_CFUNC double simd_reduce_max(simd_double4 x) { - return simd_reduce_max(simd_max(x.lo, x.hi)); -} - -static inline SIMD_CFUNC double simd_reduce_max(simd_double8 x) { - return simd_reduce_max(simd_max(x.lo, x.hi)); -} - -#ifdef __cplusplus -} -#endif -#endif /* SIMD_COMPILER_HAS_REQUIRED_FEATURES */ -#endif /* SIMD_COMMON_HEADER */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.11-any/simd/conversion.h b/lib/libc/include/any-macos.11-any/simd/conversion.h deleted file mode 100644 index 6379afde05..0000000000 --- a/lib/libc/include/any-macos.11-any/simd/conversion.h +++ /dev/null @@ -1,1966 +0,0 @@ -/* Copyright (c) 2014-2017 Apple, Inc. All rights reserved. - * - * The interfaces declared in this header provide conversions between vector - * types. The following functions are available: - * - * simd_char(x) simd_uchar(x) - * simd_short(x) simd_ushort(x) - * simd_int(x) simd_uint(x) - * simd_long(x) simd_ulong(x) - * simd_float(x) - * simd_double(x) - * - * Each of these functions converts x to a vector whose elements have the - * type named by the function, with the same number of elements as x. Unlike - * a vector cast, these functions convert the elements to the new element - * type. These conversions behave exactly as C scalar conversions, except - * that conversions from integer vector types to signed integer vector types - * are guaranteed to wrap modulo 2^N (where N is the number of bits in an - * element of the result type). - * - * For integer vector types, saturating conversions are also available: - * - * simd_char_sat(x) simd_uchar_sat(x) - * simd_short_sat(x) simd_ushort_sat(x) - * simd_int_sat(x) simd_uint_sat(x) - * simd_long_sat(x) simd_ulong_sat(x) - * - * These conversions clamp x to the representable range of the result type - * before converting. - * - * Unlike most vector operations in , there are no abbreviated C++ - * names for these functions in the simd:: namespace. - */ - -#ifndef __SIMD_CONVERSION_HEADER__ -#define __SIMD_CONVERSION_HEADER__ - -#include -#if SIMD_COMPILER_HAS_REQUIRED_FEATURES -#include -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -static simd_char2 SIMD_CFUNC simd_char(simd_char2 __x); -static simd_char3 SIMD_CFUNC simd_char(simd_char3 __x); -static simd_char4 SIMD_CFUNC simd_char(simd_char4 __x); -static simd_char8 SIMD_CFUNC simd_char(simd_char8 __x); -static simd_char16 SIMD_CFUNC simd_char(simd_char16 __x); -static simd_char32 SIMD_CFUNC simd_char(simd_char32 __x); -static simd_char2 SIMD_CFUNC simd_char(simd_uchar2 __x); -static simd_char3 SIMD_CFUNC simd_char(simd_uchar3 __x); -static simd_char4 SIMD_CFUNC simd_char(simd_uchar4 __x); -static simd_char8 SIMD_CFUNC simd_char(simd_uchar8 __x); -static simd_char16 SIMD_CFUNC simd_char(simd_uchar16 __x); -static simd_char32 SIMD_CFUNC simd_char(simd_uchar32 __x); -static simd_char2 SIMD_CFUNC simd_char(simd_short2 __x); -static simd_char3 SIMD_CFUNC simd_char(simd_short3 __x); -static simd_char4 SIMD_CFUNC simd_char(simd_short4 __x); -static simd_char8 SIMD_CFUNC simd_char(simd_short8 __x); -static simd_char16 SIMD_CFUNC simd_char(simd_short16 __x); -static simd_char32 SIMD_CFUNC simd_char(simd_short32 __x); -static simd_char2 SIMD_CFUNC simd_char(simd_ushort2 __x); -static simd_char3 SIMD_CFUNC simd_char(simd_ushort3 __x); -static simd_char4 SIMD_CFUNC simd_char(simd_ushort4 __x); -static simd_char8 SIMD_CFUNC simd_char(simd_ushort8 __x); -static simd_char16 SIMD_CFUNC simd_char(simd_ushort16 __x); -static simd_char32 SIMD_CFUNC simd_char(simd_ushort32 __x); -static simd_char2 SIMD_CFUNC simd_char(simd_int2 __x); -static simd_char3 SIMD_CFUNC simd_char(simd_int3 __x); -static simd_char4 SIMD_CFUNC simd_char(simd_int4 __x); -static simd_char8 SIMD_CFUNC simd_char(simd_int8 __x); -static simd_char16 SIMD_CFUNC simd_char(simd_int16 __x); -static simd_char2 SIMD_CFUNC simd_char(simd_uint2 __x); -static simd_char3 SIMD_CFUNC simd_char(simd_uint3 __x); -static simd_char4 SIMD_CFUNC simd_char(simd_uint4 __x); -static simd_char8 SIMD_CFUNC simd_char(simd_uint8 __x); -static simd_char16 SIMD_CFUNC simd_char(simd_uint16 __x); -static simd_char2 SIMD_CFUNC simd_char(simd_float2 __x); -static simd_char3 SIMD_CFUNC simd_char(simd_float3 __x); -static simd_char4 SIMD_CFUNC simd_char(simd_float4 __x); -static simd_char8 SIMD_CFUNC simd_char(simd_float8 __x); -static simd_char16 SIMD_CFUNC simd_char(simd_float16 __x); -static simd_char2 SIMD_CFUNC simd_char(simd_long2 __x); -static simd_char3 SIMD_CFUNC simd_char(simd_long3 __x); -static simd_char4 SIMD_CFUNC simd_char(simd_long4 __x); -static simd_char8 SIMD_CFUNC simd_char(simd_long8 __x); -static simd_char2 SIMD_CFUNC simd_char(simd_ulong2 __x); -static simd_char3 SIMD_CFUNC simd_char(simd_ulong3 __x); -static simd_char4 SIMD_CFUNC simd_char(simd_ulong4 __x); -static simd_char8 SIMD_CFUNC simd_char(simd_ulong8 __x); -static simd_char2 SIMD_CFUNC simd_char(simd_double2 __x); -static simd_char3 SIMD_CFUNC simd_char(simd_double3 __x); -static simd_char4 SIMD_CFUNC simd_char(simd_double4 __x); -static simd_char8 SIMD_CFUNC simd_char(simd_double8 __x); -static simd_char2 SIMD_CFUNC simd_char_sat(simd_char2 __x); -static simd_char3 SIMD_CFUNC simd_char_sat(simd_char3 __x); -static simd_char4 SIMD_CFUNC simd_char_sat(simd_char4 __x); -static simd_char8 SIMD_CFUNC simd_char_sat(simd_char8 __x); -static simd_char16 SIMD_CFUNC simd_char_sat(simd_char16 __x); -static simd_char32 SIMD_CFUNC simd_char_sat(simd_char32 __x); -static simd_char2 SIMD_CFUNC simd_char_sat(simd_short2 __x); -static simd_char3 SIMD_CFUNC simd_char_sat(simd_short3 __x); -static simd_char4 SIMD_CFUNC simd_char_sat(simd_short4 __x); -static simd_char8 SIMD_CFUNC simd_char_sat(simd_short8 __x); -static simd_char16 SIMD_CFUNC simd_char_sat(simd_short16 __x); -static simd_char32 SIMD_CFUNC simd_char_sat(simd_short32 __x); -static simd_char2 SIMD_CFUNC simd_char_sat(simd_int2 __x); -static simd_char3 SIMD_CFUNC simd_char_sat(simd_int3 __x); -static simd_char4 SIMD_CFUNC simd_char_sat(simd_int4 __x); -static simd_char8 SIMD_CFUNC simd_char_sat(simd_int8 __x); -static simd_char16 SIMD_CFUNC simd_char_sat(simd_int16 __x); -static simd_char2 SIMD_CFUNC simd_char_sat(simd_float2 __x); -static simd_char3 SIMD_CFUNC simd_char_sat(simd_float3 __x); -static simd_char4 SIMD_CFUNC simd_char_sat(simd_float4 __x); -static simd_char8 SIMD_CFUNC simd_char_sat(simd_float8 __x); -static simd_char16 SIMD_CFUNC simd_char_sat(simd_float16 __x); -static simd_char2 SIMD_CFUNC simd_char_sat(simd_long2 __x); -static simd_char3 SIMD_CFUNC simd_char_sat(simd_long3 __x); -static simd_char4 SIMD_CFUNC simd_char_sat(simd_long4 __x); -static simd_char8 SIMD_CFUNC simd_char_sat(simd_long8 __x); -static simd_char2 SIMD_CFUNC simd_char_sat(simd_double2 __x); -static simd_char3 SIMD_CFUNC simd_char_sat(simd_double3 __x); -static simd_char4 SIMD_CFUNC simd_char_sat(simd_double4 __x); -static simd_char8 SIMD_CFUNC simd_char_sat(simd_double8 __x); -static simd_char2 SIMD_CFUNC simd_char_sat(simd_uchar2 __x); -static simd_char3 SIMD_CFUNC simd_char_sat(simd_uchar3 __x); -static simd_char4 SIMD_CFUNC simd_char_sat(simd_uchar4 __x); -static simd_char8 SIMD_CFUNC simd_char_sat(simd_uchar8 __x); -static simd_char16 SIMD_CFUNC simd_char_sat(simd_uchar16 __x); -static simd_char32 SIMD_CFUNC simd_char_sat(simd_uchar32 __x); -static simd_char2 SIMD_CFUNC simd_char_sat(simd_ushort2 __x); -static simd_char3 SIMD_CFUNC simd_char_sat(simd_ushort3 __x); -static simd_char4 SIMD_CFUNC simd_char_sat(simd_ushort4 __x); -static simd_char8 SIMD_CFUNC simd_char_sat(simd_ushort8 __x); -static simd_char16 SIMD_CFUNC simd_char_sat(simd_ushort16 __x); -static simd_char32 SIMD_CFUNC simd_char_sat(simd_ushort32 __x); -static simd_char2 SIMD_CFUNC simd_char_sat(simd_uint2 __x); -static simd_char3 SIMD_CFUNC simd_char_sat(simd_uint3 __x); -static simd_char4 SIMD_CFUNC simd_char_sat(simd_uint4 __x); -static simd_char8 SIMD_CFUNC simd_char_sat(simd_uint8 __x); -static simd_char16 SIMD_CFUNC simd_char_sat(simd_uint16 __x); -static simd_char2 SIMD_CFUNC simd_char_sat(simd_ulong2 __x); -static simd_char3 SIMD_CFUNC simd_char_sat(simd_ulong3 __x); -static simd_char4 SIMD_CFUNC simd_char_sat(simd_ulong4 __x); -static simd_char8 SIMD_CFUNC simd_char_sat(simd_ulong8 __x); -#define vector_char simd_char -#define vector_char_sat simd_char_sat - -static simd_uchar2 SIMD_CFUNC simd_uchar(simd_char2 __x); -static simd_uchar3 SIMD_CFUNC simd_uchar(simd_char3 __x); -static simd_uchar4 SIMD_CFUNC simd_uchar(simd_char4 __x); -static simd_uchar8 SIMD_CFUNC simd_uchar(simd_char8 __x); -static simd_uchar16 SIMD_CFUNC simd_uchar(simd_char16 __x); -static simd_uchar32 SIMD_CFUNC simd_uchar(simd_char32 __x); -static simd_uchar2 SIMD_CFUNC simd_uchar(simd_uchar2 __x); -static simd_uchar3 SIMD_CFUNC simd_uchar(simd_uchar3 __x); -static simd_uchar4 SIMD_CFUNC simd_uchar(simd_uchar4 __x); -static simd_uchar8 SIMD_CFUNC simd_uchar(simd_uchar8 __x); -static simd_uchar16 SIMD_CFUNC simd_uchar(simd_uchar16 __x); -static simd_uchar32 SIMD_CFUNC simd_uchar(simd_uchar32 __x); -static simd_uchar2 SIMD_CFUNC simd_uchar(simd_short2 __x); -static simd_uchar3 SIMD_CFUNC simd_uchar(simd_short3 __x); -static simd_uchar4 SIMD_CFUNC simd_uchar(simd_short4 __x); -static simd_uchar8 SIMD_CFUNC simd_uchar(simd_short8 __x); -static simd_uchar16 SIMD_CFUNC simd_uchar(simd_short16 __x); -static simd_uchar32 SIMD_CFUNC simd_uchar(simd_short32 __x); -static simd_uchar2 SIMD_CFUNC simd_uchar(simd_ushort2 __x); -static simd_uchar3 SIMD_CFUNC simd_uchar(simd_ushort3 __x); -static simd_uchar4 SIMD_CFUNC simd_uchar(simd_ushort4 __x); -static simd_uchar8 SIMD_CFUNC simd_uchar(simd_ushort8 __x); -static simd_uchar16 SIMD_CFUNC simd_uchar(simd_ushort16 __x); -static simd_uchar32 SIMD_CFUNC simd_uchar(simd_ushort32 __x); -static simd_uchar2 SIMD_CFUNC simd_uchar(simd_int2 __x); -static simd_uchar3 SIMD_CFUNC simd_uchar(simd_int3 __x); -static simd_uchar4 SIMD_CFUNC simd_uchar(simd_int4 __x); -static simd_uchar8 SIMD_CFUNC simd_uchar(simd_int8 __x); -static simd_uchar16 SIMD_CFUNC simd_uchar(simd_int16 __x); -static simd_uchar2 SIMD_CFUNC simd_uchar(simd_uint2 __x); -static simd_uchar3 SIMD_CFUNC simd_uchar(simd_uint3 __x); -static simd_uchar4 SIMD_CFUNC simd_uchar(simd_uint4 __x); -static simd_uchar8 SIMD_CFUNC simd_uchar(simd_uint8 __x); -static simd_uchar16 SIMD_CFUNC simd_uchar(simd_uint16 __x); -static simd_uchar2 SIMD_CFUNC simd_uchar(simd_float2 __x); -static simd_uchar3 SIMD_CFUNC simd_uchar(simd_float3 __x); -static simd_uchar4 SIMD_CFUNC simd_uchar(simd_float4 __x); -static simd_uchar8 SIMD_CFUNC simd_uchar(simd_float8 __x); -static simd_uchar16 SIMD_CFUNC simd_uchar(simd_float16 __x); -static simd_uchar2 SIMD_CFUNC simd_uchar(simd_long2 __x); -static simd_uchar3 SIMD_CFUNC simd_uchar(simd_long3 __x); -static simd_uchar4 SIMD_CFUNC simd_uchar(simd_long4 __x); -static simd_uchar8 SIMD_CFUNC simd_uchar(simd_long8 __x); -static simd_uchar2 SIMD_CFUNC simd_uchar(simd_ulong2 __x); -static simd_uchar3 SIMD_CFUNC simd_uchar(simd_ulong3 __x); -static simd_uchar4 SIMD_CFUNC simd_uchar(simd_ulong4 __x); -static simd_uchar8 SIMD_CFUNC simd_uchar(simd_ulong8 __x); -static simd_uchar2 SIMD_CFUNC simd_uchar(simd_double2 __x); -static simd_uchar3 SIMD_CFUNC simd_uchar(simd_double3 __x); -static simd_uchar4 SIMD_CFUNC simd_uchar(simd_double4 __x); -static simd_uchar8 SIMD_CFUNC simd_uchar(simd_double8 __x); -static simd_uchar2 SIMD_CFUNC simd_uchar_sat(simd_char2 __x); -static simd_uchar3 SIMD_CFUNC simd_uchar_sat(simd_char3 __x); -static simd_uchar4 SIMD_CFUNC simd_uchar_sat(simd_char4 __x); -static simd_uchar8 SIMD_CFUNC simd_uchar_sat(simd_char8 __x); -static simd_uchar16 SIMD_CFUNC simd_uchar_sat(simd_char16 __x); -static simd_uchar32 SIMD_CFUNC simd_uchar_sat(simd_char32 __x); -static simd_uchar2 SIMD_CFUNC simd_uchar_sat(simd_short2 __x); -static simd_uchar3 SIMD_CFUNC simd_uchar_sat(simd_short3 __x); -static simd_uchar4 SIMD_CFUNC simd_uchar_sat(simd_short4 __x); -static simd_uchar8 SIMD_CFUNC simd_uchar_sat(simd_short8 __x); -static simd_uchar16 SIMD_CFUNC simd_uchar_sat(simd_short16 __x); -static simd_uchar32 SIMD_CFUNC simd_uchar_sat(simd_short32 __x); -static simd_uchar2 SIMD_CFUNC simd_uchar_sat(simd_int2 __x); -static simd_uchar3 SIMD_CFUNC simd_uchar_sat(simd_int3 __x); -static simd_uchar4 SIMD_CFUNC simd_uchar_sat(simd_int4 __x); -static simd_uchar8 SIMD_CFUNC simd_uchar_sat(simd_int8 __x); -static simd_uchar16 SIMD_CFUNC simd_uchar_sat(simd_int16 __x); -static simd_uchar2 SIMD_CFUNC simd_uchar_sat(simd_float2 __x); -static simd_uchar3 SIMD_CFUNC simd_uchar_sat(simd_float3 __x); -static simd_uchar4 SIMD_CFUNC simd_uchar_sat(simd_float4 __x); -static simd_uchar8 SIMD_CFUNC simd_uchar_sat(simd_float8 __x); -static simd_uchar16 SIMD_CFUNC simd_uchar_sat(simd_float16 __x); -static simd_uchar2 SIMD_CFUNC simd_uchar_sat(simd_long2 __x); -static simd_uchar3 SIMD_CFUNC simd_uchar_sat(simd_long3 __x); -static simd_uchar4 SIMD_CFUNC simd_uchar_sat(simd_long4 __x); -static simd_uchar8 SIMD_CFUNC simd_uchar_sat(simd_long8 __x); -static simd_uchar2 SIMD_CFUNC simd_uchar_sat(simd_double2 __x); -static simd_uchar3 SIMD_CFUNC simd_uchar_sat(simd_double3 __x); -static simd_uchar4 SIMD_CFUNC simd_uchar_sat(simd_double4 __x); -static simd_uchar8 SIMD_CFUNC simd_uchar_sat(simd_double8 __x); -static simd_uchar2 SIMD_CFUNC simd_uchar_sat(simd_uchar2 __x); -static simd_uchar3 SIMD_CFUNC simd_uchar_sat(simd_uchar3 __x); -static simd_uchar4 SIMD_CFUNC simd_uchar_sat(simd_uchar4 __x); -static simd_uchar8 SIMD_CFUNC simd_uchar_sat(simd_uchar8 __x); -static simd_uchar16 SIMD_CFUNC simd_uchar_sat(simd_uchar16 __x); -static simd_uchar32 SIMD_CFUNC simd_uchar_sat(simd_uchar32 __x); -static simd_uchar2 SIMD_CFUNC simd_uchar_sat(simd_ushort2 __x); -static simd_uchar3 SIMD_CFUNC simd_uchar_sat(simd_ushort3 __x); -static simd_uchar4 SIMD_CFUNC simd_uchar_sat(simd_ushort4 __x); -static simd_uchar8 SIMD_CFUNC simd_uchar_sat(simd_ushort8 __x); -static simd_uchar16 SIMD_CFUNC simd_uchar_sat(simd_ushort16 __x); -static simd_uchar32 SIMD_CFUNC simd_uchar_sat(simd_ushort32 __x); -static simd_uchar2 SIMD_CFUNC simd_uchar_sat(simd_uint2 __x); -static simd_uchar3 SIMD_CFUNC simd_uchar_sat(simd_uint3 __x); -static simd_uchar4 SIMD_CFUNC simd_uchar_sat(simd_uint4 __x); -static simd_uchar8 SIMD_CFUNC simd_uchar_sat(simd_uint8 __x); -static simd_uchar16 SIMD_CFUNC simd_uchar_sat(simd_uint16 __x); -static simd_uchar2 SIMD_CFUNC simd_uchar_sat(simd_ulong2 __x); -static simd_uchar3 SIMD_CFUNC simd_uchar_sat(simd_ulong3 __x); -static simd_uchar4 SIMD_CFUNC simd_uchar_sat(simd_ulong4 __x); -static simd_uchar8 SIMD_CFUNC simd_uchar_sat(simd_ulong8 __x); -#define vector_uchar simd_uchar -#define vector_uchar_sat simd_uchar_sat - -static simd_short2 SIMD_CFUNC simd_short(simd_char2 __x); -static simd_short3 SIMD_CFUNC simd_short(simd_char3 __x); -static simd_short4 SIMD_CFUNC simd_short(simd_char4 __x); -static simd_short8 SIMD_CFUNC simd_short(simd_char8 __x); -static simd_short16 SIMD_CFUNC simd_short(simd_char16 __x); -static simd_short32 SIMD_CFUNC simd_short(simd_char32 __x); -static simd_short2 SIMD_CFUNC simd_short(simd_uchar2 __x); -static simd_short3 SIMD_CFUNC simd_short(simd_uchar3 __x); -static simd_short4 SIMD_CFUNC simd_short(simd_uchar4 __x); -static simd_short8 SIMD_CFUNC simd_short(simd_uchar8 __x); -static simd_short16 SIMD_CFUNC simd_short(simd_uchar16 __x); -static simd_short32 SIMD_CFUNC simd_short(simd_uchar32 __x); -static simd_short2 SIMD_CFUNC simd_short(simd_short2 __x); -static simd_short3 SIMD_CFUNC simd_short(simd_short3 __x); -static simd_short4 SIMD_CFUNC simd_short(simd_short4 __x); -static simd_short8 SIMD_CFUNC simd_short(simd_short8 __x); -static simd_short16 SIMD_CFUNC simd_short(simd_short16 __x); -static simd_short32 SIMD_CFUNC simd_short(simd_short32 __x); -static simd_short2 SIMD_CFUNC simd_short(simd_ushort2 __x); -static simd_short3 SIMD_CFUNC simd_short(simd_ushort3 __x); -static simd_short4 SIMD_CFUNC simd_short(simd_ushort4 __x); -static simd_short8 SIMD_CFUNC simd_short(simd_ushort8 __x); -static simd_short16 SIMD_CFUNC simd_short(simd_ushort16 __x); -static simd_short32 SIMD_CFUNC simd_short(simd_ushort32 __x); -static simd_short2 SIMD_CFUNC simd_short(simd_int2 __x); -static simd_short3 SIMD_CFUNC simd_short(simd_int3 __x); -static simd_short4 SIMD_CFUNC simd_short(simd_int4 __x); -static simd_short8 SIMD_CFUNC simd_short(simd_int8 __x); -static simd_short16 SIMD_CFUNC simd_short(simd_int16 __x); -static simd_short2 SIMD_CFUNC simd_short(simd_uint2 __x); -static simd_short3 SIMD_CFUNC simd_short(simd_uint3 __x); -static simd_short4 SIMD_CFUNC simd_short(simd_uint4 __x); -static simd_short8 SIMD_CFUNC simd_short(simd_uint8 __x); -static simd_short16 SIMD_CFUNC simd_short(simd_uint16 __x); -static simd_short2 SIMD_CFUNC simd_short(simd_float2 __x); -static simd_short3 SIMD_CFUNC simd_short(simd_float3 __x); -static simd_short4 SIMD_CFUNC simd_short(simd_float4 __x); -static simd_short8 SIMD_CFUNC simd_short(simd_float8 __x); -static simd_short16 SIMD_CFUNC simd_short(simd_float16 __x); -static simd_short2 SIMD_CFUNC simd_short(simd_long2 __x); -static simd_short3 SIMD_CFUNC simd_short(simd_long3 __x); -static simd_short4 SIMD_CFUNC simd_short(simd_long4 __x); -static simd_short8 SIMD_CFUNC simd_short(simd_long8 __x); -static simd_short2 SIMD_CFUNC simd_short(simd_ulong2 __x); -static simd_short3 SIMD_CFUNC simd_short(simd_ulong3 __x); -static simd_short4 SIMD_CFUNC simd_short(simd_ulong4 __x); -static simd_short8 SIMD_CFUNC simd_short(simd_ulong8 __x); -static simd_short2 SIMD_CFUNC simd_short(simd_double2 __x); -static simd_short3 SIMD_CFUNC simd_short(simd_double3 __x); -static simd_short4 SIMD_CFUNC simd_short(simd_double4 __x); -static simd_short8 SIMD_CFUNC simd_short(simd_double8 __x); -static simd_short2 SIMD_CFUNC simd_short_sat(simd_char2 __x); -static simd_short3 SIMD_CFUNC simd_short_sat(simd_char3 __x); -static simd_short4 SIMD_CFUNC simd_short_sat(simd_char4 __x); -static simd_short8 SIMD_CFUNC simd_short_sat(simd_char8 __x); -static simd_short16 SIMD_CFUNC simd_short_sat(simd_char16 __x); -static simd_short32 SIMD_CFUNC simd_short_sat(simd_char32 __x); -static simd_short2 SIMD_CFUNC simd_short_sat(simd_short2 __x); -static simd_short3 SIMD_CFUNC simd_short_sat(simd_short3 __x); -static simd_short4 SIMD_CFUNC simd_short_sat(simd_short4 __x); -static simd_short8 SIMD_CFUNC simd_short_sat(simd_short8 __x); -static simd_short16 SIMD_CFUNC simd_short_sat(simd_short16 __x); -static simd_short32 SIMD_CFUNC simd_short_sat(simd_short32 __x); -static simd_short2 SIMD_CFUNC simd_short_sat(simd_int2 __x); -static simd_short3 SIMD_CFUNC simd_short_sat(simd_int3 __x); -static simd_short4 SIMD_CFUNC simd_short_sat(simd_int4 __x); -static simd_short8 SIMD_CFUNC simd_short_sat(simd_int8 __x); -static simd_short16 SIMD_CFUNC simd_short_sat(simd_int16 __x); -static simd_short2 SIMD_CFUNC simd_short_sat(simd_float2 __x); -static simd_short3 SIMD_CFUNC simd_short_sat(simd_float3 __x); -static simd_short4 SIMD_CFUNC simd_short_sat(simd_float4 __x); -static simd_short8 SIMD_CFUNC simd_short_sat(simd_float8 __x); -static simd_short16 SIMD_CFUNC simd_short_sat(simd_float16 __x); -static simd_short2 SIMD_CFUNC simd_short_sat(simd_long2 __x); -static simd_short3 SIMD_CFUNC simd_short_sat(simd_long3 __x); -static simd_short4 SIMD_CFUNC simd_short_sat(simd_long4 __x); -static simd_short8 SIMD_CFUNC simd_short_sat(simd_long8 __x); -static simd_short2 SIMD_CFUNC simd_short_sat(simd_double2 __x); -static simd_short3 SIMD_CFUNC simd_short_sat(simd_double3 __x); -static simd_short4 SIMD_CFUNC simd_short_sat(simd_double4 __x); -static simd_short8 SIMD_CFUNC simd_short_sat(simd_double8 __x); -static simd_short2 SIMD_CFUNC simd_short_sat(simd_uchar2 __x); -static simd_short3 SIMD_CFUNC simd_short_sat(simd_uchar3 __x); -static simd_short4 SIMD_CFUNC simd_short_sat(simd_uchar4 __x); -static simd_short8 SIMD_CFUNC simd_short_sat(simd_uchar8 __x); -static simd_short16 SIMD_CFUNC simd_short_sat(simd_uchar16 __x); -static simd_short32 SIMD_CFUNC simd_short_sat(simd_uchar32 __x); -static simd_short2 SIMD_CFUNC simd_short_sat(simd_ushort2 __x); -static simd_short3 SIMD_CFUNC simd_short_sat(simd_ushort3 __x); -static simd_short4 SIMD_CFUNC simd_short_sat(simd_ushort4 __x); -static simd_short8 SIMD_CFUNC simd_short_sat(simd_ushort8 __x); -static simd_short16 SIMD_CFUNC simd_short_sat(simd_ushort16 __x); -static simd_short32 SIMD_CFUNC simd_short_sat(simd_ushort32 __x); -static simd_short2 SIMD_CFUNC simd_short_sat(simd_uint2 __x); -static simd_short3 SIMD_CFUNC simd_short_sat(simd_uint3 __x); -static simd_short4 SIMD_CFUNC simd_short_sat(simd_uint4 __x); -static simd_short8 SIMD_CFUNC simd_short_sat(simd_uint8 __x); -static simd_short16 SIMD_CFUNC simd_short_sat(simd_uint16 __x); -static simd_short2 SIMD_CFUNC simd_short_sat(simd_ulong2 __x); -static simd_short3 SIMD_CFUNC simd_short_sat(simd_ulong3 __x); -static simd_short4 SIMD_CFUNC simd_short_sat(simd_ulong4 __x); -static simd_short8 SIMD_CFUNC simd_short_sat(simd_ulong8 __x); -#define vector_short simd_short -#define vector_short_sat simd_short_sat - -static simd_ushort2 SIMD_CFUNC simd_ushort(simd_char2 __x); -static simd_ushort3 SIMD_CFUNC simd_ushort(simd_char3 __x); -static simd_ushort4 SIMD_CFUNC simd_ushort(simd_char4 __x); -static simd_ushort8 SIMD_CFUNC simd_ushort(simd_char8 __x); -static simd_ushort16 SIMD_CFUNC simd_ushort(simd_char16 __x); -static simd_ushort32 SIMD_CFUNC simd_ushort(simd_char32 __x); -static simd_ushort2 SIMD_CFUNC simd_ushort(simd_uchar2 __x); -static simd_ushort3 SIMD_CFUNC simd_ushort(simd_uchar3 __x); -static simd_ushort4 SIMD_CFUNC simd_ushort(simd_uchar4 __x); -static simd_ushort8 SIMD_CFUNC simd_ushort(simd_uchar8 __x); -static simd_ushort16 SIMD_CFUNC simd_ushort(simd_uchar16 __x); -static simd_ushort32 SIMD_CFUNC simd_ushort(simd_uchar32 __x); -static simd_ushort2 SIMD_CFUNC simd_ushort(simd_short2 __x); -static simd_ushort3 SIMD_CFUNC simd_ushort(simd_short3 __x); -static simd_ushort4 SIMD_CFUNC simd_ushort(simd_short4 __x); -static simd_ushort8 SIMD_CFUNC simd_ushort(simd_short8 __x); -static simd_ushort16 SIMD_CFUNC simd_ushort(simd_short16 __x); -static simd_ushort32 SIMD_CFUNC simd_ushort(simd_short32 __x); -static simd_ushort2 SIMD_CFUNC simd_ushort(simd_ushort2 __x); -static simd_ushort3 SIMD_CFUNC simd_ushort(simd_ushort3 __x); -static simd_ushort4 SIMD_CFUNC simd_ushort(simd_ushort4 __x); -static simd_ushort8 SIMD_CFUNC simd_ushort(simd_ushort8 __x); -static simd_ushort16 SIMD_CFUNC simd_ushort(simd_ushort16 __x); -static simd_ushort32 SIMD_CFUNC simd_ushort(simd_ushort32 __x); -static simd_ushort2 SIMD_CFUNC simd_ushort(simd_int2 __x); -static simd_ushort3 SIMD_CFUNC simd_ushort(simd_int3 __x); -static simd_ushort4 SIMD_CFUNC simd_ushort(simd_int4 __x); -static simd_ushort8 SIMD_CFUNC simd_ushort(simd_int8 __x); -static simd_ushort16 SIMD_CFUNC simd_ushort(simd_int16 __x); -static simd_ushort2 SIMD_CFUNC simd_ushort(simd_uint2 __x); -static simd_ushort3 SIMD_CFUNC simd_ushort(simd_uint3 __x); -static simd_ushort4 SIMD_CFUNC simd_ushort(simd_uint4 __x); -static simd_ushort8 SIMD_CFUNC simd_ushort(simd_uint8 __x); -static simd_ushort16 SIMD_CFUNC simd_ushort(simd_uint16 __x); -static simd_ushort2 SIMD_CFUNC simd_ushort(simd_float2 __x); -static simd_ushort3 SIMD_CFUNC simd_ushort(simd_float3 __x); -static simd_ushort4 SIMD_CFUNC simd_ushort(simd_float4 __x); -static simd_ushort8 SIMD_CFUNC simd_ushort(simd_float8 __x); -static simd_ushort16 SIMD_CFUNC simd_ushort(simd_float16 __x); -static simd_ushort2 SIMD_CFUNC simd_ushort(simd_long2 __x); -static simd_ushort3 SIMD_CFUNC simd_ushort(simd_long3 __x); -static simd_ushort4 SIMD_CFUNC simd_ushort(simd_long4 __x); -static simd_ushort8 SIMD_CFUNC simd_ushort(simd_long8 __x); -static simd_ushort2 SIMD_CFUNC simd_ushort(simd_ulong2 __x); -static simd_ushort3 SIMD_CFUNC simd_ushort(simd_ulong3 __x); -static simd_ushort4 SIMD_CFUNC simd_ushort(simd_ulong4 __x); -static simd_ushort8 SIMD_CFUNC simd_ushort(simd_ulong8 __x); -static simd_ushort2 SIMD_CFUNC simd_ushort(simd_double2 __x); -static simd_ushort3 SIMD_CFUNC simd_ushort(simd_double3 __x); -static simd_ushort4 SIMD_CFUNC simd_ushort(simd_double4 __x); -static simd_ushort8 SIMD_CFUNC simd_ushort(simd_double8 __x); -static simd_ushort2 SIMD_CFUNC simd_ushort_sat(simd_char2 __x); -static simd_ushort3 SIMD_CFUNC simd_ushort_sat(simd_char3 __x); -static simd_ushort4 SIMD_CFUNC simd_ushort_sat(simd_char4 __x); -static simd_ushort8 SIMD_CFUNC simd_ushort_sat(simd_char8 __x); -static simd_ushort16 SIMD_CFUNC simd_ushort_sat(simd_char16 __x); -static simd_ushort32 SIMD_CFUNC simd_ushort_sat(simd_char32 __x); -static simd_ushort2 SIMD_CFUNC simd_ushort_sat(simd_short2 __x); -static simd_ushort3 SIMD_CFUNC simd_ushort_sat(simd_short3 __x); -static simd_ushort4 SIMD_CFUNC simd_ushort_sat(simd_short4 __x); -static simd_ushort8 SIMD_CFUNC simd_ushort_sat(simd_short8 __x); -static simd_ushort16 SIMD_CFUNC simd_ushort_sat(simd_short16 __x); -static simd_ushort32 SIMD_CFUNC simd_ushort_sat(simd_short32 __x); -static simd_ushort2 SIMD_CFUNC simd_ushort_sat(simd_int2 __x); -static simd_ushort3 SIMD_CFUNC simd_ushort_sat(simd_int3 __x); -static simd_ushort4 SIMD_CFUNC simd_ushort_sat(simd_int4 __x); -static simd_ushort8 SIMD_CFUNC simd_ushort_sat(simd_int8 __x); -static simd_ushort16 SIMD_CFUNC simd_ushort_sat(simd_int16 __x); -static simd_ushort2 SIMD_CFUNC simd_ushort_sat(simd_float2 __x); -static simd_ushort3 SIMD_CFUNC simd_ushort_sat(simd_float3 __x); -static simd_ushort4 SIMD_CFUNC simd_ushort_sat(simd_float4 __x); -static simd_ushort8 SIMD_CFUNC simd_ushort_sat(simd_float8 __x); -static simd_ushort16 SIMD_CFUNC simd_ushort_sat(simd_float16 __x); -static simd_ushort2 SIMD_CFUNC simd_ushort_sat(simd_long2 __x); -static simd_ushort3 SIMD_CFUNC simd_ushort_sat(simd_long3 __x); -static simd_ushort4 SIMD_CFUNC simd_ushort_sat(simd_long4 __x); -static simd_ushort8 SIMD_CFUNC simd_ushort_sat(simd_long8 __x); -static simd_ushort2 SIMD_CFUNC simd_ushort_sat(simd_double2 __x); -static simd_ushort3 SIMD_CFUNC simd_ushort_sat(simd_double3 __x); -static simd_ushort4 SIMD_CFUNC simd_ushort_sat(simd_double4 __x); -static simd_ushort8 SIMD_CFUNC simd_ushort_sat(simd_double8 __x); -static simd_ushort2 SIMD_CFUNC simd_ushort_sat(simd_uchar2 __x); -static simd_ushort3 SIMD_CFUNC simd_ushort_sat(simd_uchar3 __x); -static simd_ushort4 SIMD_CFUNC simd_ushort_sat(simd_uchar4 __x); -static simd_ushort8 SIMD_CFUNC simd_ushort_sat(simd_uchar8 __x); -static simd_ushort16 SIMD_CFUNC simd_ushort_sat(simd_uchar16 __x); -static simd_ushort32 SIMD_CFUNC simd_ushort_sat(simd_uchar32 __x); -static simd_ushort2 SIMD_CFUNC simd_ushort_sat(simd_ushort2 __x); -static simd_ushort3 SIMD_CFUNC simd_ushort_sat(simd_ushort3 __x); -static simd_ushort4 SIMD_CFUNC simd_ushort_sat(simd_ushort4 __x); -static simd_ushort8 SIMD_CFUNC simd_ushort_sat(simd_ushort8 __x); -static simd_ushort16 SIMD_CFUNC simd_ushort_sat(simd_ushort16 __x); -static simd_ushort32 SIMD_CFUNC simd_ushort_sat(simd_ushort32 __x); -static simd_ushort2 SIMD_CFUNC simd_ushort_sat(simd_uint2 __x); -static simd_ushort3 SIMD_CFUNC simd_ushort_sat(simd_uint3 __x); -static simd_ushort4 SIMD_CFUNC simd_ushort_sat(simd_uint4 __x); -static simd_ushort8 SIMD_CFUNC simd_ushort_sat(simd_uint8 __x); -static simd_ushort16 SIMD_CFUNC simd_ushort_sat(simd_uint16 __x); -static simd_ushort2 SIMD_CFUNC simd_ushort_sat(simd_ulong2 __x); -static simd_ushort3 SIMD_CFUNC simd_ushort_sat(simd_ulong3 __x); -static simd_ushort4 SIMD_CFUNC simd_ushort_sat(simd_ulong4 __x); -static simd_ushort8 SIMD_CFUNC simd_ushort_sat(simd_ulong8 __x); -#define vector_ushort simd_ushort -#define vector_ushort_sat simd_ushort_sat - -static simd_int2 SIMD_CFUNC simd_int(simd_char2 __x); -static simd_int3 SIMD_CFUNC simd_int(simd_char3 __x); -static simd_int4 SIMD_CFUNC simd_int(simd_char4 __x); -static simd_int8 SIMD_CFUNC simd_int(simd_char8 __x); -static simd_int16 SIMD_CFUNC simd_int(simd_char16 __x); -static simd_int2 SIMD_CFUNC simd_int(simd_uchar2 __x); -static simd_int3 SIMD_CFUNC simd_int(simd_uchar3 __x); -static simd_int4 SIMD_CFUNC simd_int(simd_uchar4 __x); -static simd_int8 SIMD_CFUNC simd_int(simd_uchar8 __x); -static simd_int16 SIMD_CFUNC simd_int(simd_uchar16 __x); -static simd_int2 SIMD_CFUNC simd_int(simd_short2 __x); -static simd_int3 SIMD_CFUNC simd_int(simd_short3 __x); -static simd_int4 SIMD_CFUNC simd_int(simd_short4 __x); -static simd_int8 SIMD_CFUNC simd_int(simd_short8 __x); -static simd_int16 SIMD_CFUNC simd_int(simd_short16 __x); -static simd_int2 SIMD_CFUNC simd_int(simd_ushort2 __x); -static simd_int3 SIMD_CFUNC simd_int(simd_ushort3 __x); -static simd_int4 SIMD_CFUNC simd_int(simd_ushort4 __x); -static simd_int8 SIMD_CFUNC simd_int(simd_ushort8 __x); -static simd_int16 SIMD_CFUNC simd_int(simd_ushort16 __x); -static simd_int2 SIMD_CFUNC simd_int(simd_int2 __x); -static simd_int3 SIMD_CFUNC simd_int(simd_int3 __x); -static simd_int4 SIMD_CFUNC simd_int(simd_int4 __x); -static simd_int8 SIMD_CFUNC simd_int(simd_int8 __x); -static simd_int16 SIMD_CFUNC simd_int(simd_int16 __x); -static simd_int2 SIMD_CFUNC simd_int(simd_uint2 __x); -static simd_int3 SIMD_CFUNC simd_int(simd_uint3 __x); -static simd_int4 SIMD_CFUNC simd_int(simd_uint4 __x); -static simd_int8 SIMD_CFUNC simd_int(simd_uint8 __x); -static simd_int16 SIMD_CFUNC simd_int(simd_uint16 __x); -static simd_int2 SIMD_CFUNC simd_int(simd_float2 __x); -static simd_int3 SIMD_CFUNC simd_int(simd_float3 __x); -static simd_int4 SIMD_CFUNC simd_int(simd_float4 __x); -static simd_int8 SIMD_CFUNC simd_int(simd_float8 __x); -static simd_int16 SIMD_CFUNC simd_int(simd_float16 __x); -static simd_int2 SIMD_CFUNC simd_int(simd_long2 __x); -static simd_int3 SIMD_CFUNC simd_int(simd_long3 __x); -static simd_int4 SIMD_CFUNC simd_int(simd_long4 __x); -static simd_int8 SIMD_CFUNC simd_int(simd_long8 __x); -static simd_int2 SIMD_CFUNC simd_int(simd_ulong2 __x); -static simd_int3 SIMD_CFUNC simd_int(simd_ulong3 __x); -static simd_int4 SIMD_CFUNC simd_int(simd_ulong4 __x); -static simd_int8 SIMD_CFUNC simd_int(simd_ulong8 __x); -static simd_int2 SIMD_CFUNC simd_int(simd_double2 __x); -static simd_int3 SIMD_CFUNC simd_int(simd_double3 __x); -static simd_int4 SIMD_CFUNC simd_int(simd_double4 __x); -static simd_int8 SIMD_CFUNC simd_int(simd_double8 __x); -static simd_int2 SIMD_CFUNC simd_int_sat(simd_char2 __x); -static simd_int3 SIMD_CFUNC simd_int_sat(simd_char3 __x); -static simd_int4 SIMD_CFUNC simd_int_sat(simd_char4 __x); -static simd_int8 SIMD_CFUNC simd_int_sat(simd_char8 __x); -static simd_int16 SIMD_CFUNC simd_int_sat(simd_char16 __x); -static simd_int2 SIMD_CFUNC simd_int_sat(simd_short2 __x); -static simd_int3 SIMD_CFUNC simd_int_sat(simd_short3 __x); -static simd_int4 SIMD_CFUNC simd_int_sat(simd_short4 __x); -static simd_int8 SIMD_CFUNC simd_int_sat(simd_short8 __x); -static simd_int16 SIMD_CFUNC simd_int_sat(simd_short16 __x); -static simd_int2 SIMD_CFUNC simd_int_sat(simd_int2 __x); -static simd_int3 SIMD_CFUNC simd_int_sat(simd_int3 __x); -static simd_int4 SIMD_CFUNC simd_int_sat(simd_int4 __x); -static simd_int8 SIMD_CFUNC simd_int_sat(simd_int8 __x); -static simd_int16 SIMD_CFUNC simd_int_sat(simd_int16 __x); -static simd_int2 SIMD_CFUNC simd_int_sat(simd_float2 __x); -static simd_int3 SIMD_CFUNC simd_int_sat(simd_float3 __x); -static simd_int4 SIMD_CFUNC simd_int_sat(simd_float4 __x); -static simd_int8 SIMD_CFUNC simd_int_sat(simd_float8 __x); -static simd_int16 SIMD_CFUNC simd_int_sat(simd_float16 __x); -static simd_int2 SIMD_CFUNC simd_int_sat(simd_long2 __x); -static simd_int3 SIMD_CFUNC simd_int_sat(simd_long3 __x); -static simd_int4 SIMD_CFUNC simd_int_sat(simd_long4 __x); -static simd_int8 SIMD_CFUNC simd_int_sat(simd_long8 __x); -static simd_int2 SIMD_CFUNC simd_int_sat(simd_double2 __x); -static simd_int3 SIMD_CFUNC simd_int_sat(simd_double3 __x); -static simd_int4 SIMD_CFUNC simd_int_sat(simd_double4 __x); -static simd_int8 SIMD_CFUNC simd_int_sat(simd_double8 __x); -static simd_int2 SIMD_CFUNC simd_int_sat(simd_uchar2 __x); -static simd_int3 SIMD_CFUNC simd_int_sat(simd_uchar3 __x); -static simd_int4 SIMD_CFUNC simd_int_sat(simd_uchar4 __x); -static simd_int8 SIMD_CFUNC simd_int_sat(simd_uchar8 __x); -static simd_int16 SIMD_CFUNC simd_int_sat(simd_uchar16 __x); -static simd_int2 SIMD_CFUNC simd_int_sat(simd_ushort2 __x); -static simd_int3 SIMD_CFUNC simd_int_sat(simd_ushort3 __x); -static simd_int4 SIMD_CFUNC simd_int_sat(simd_ushort4 __x); -static simd_int8 SIMD_CFUNC simd_int_sat(simd_ushort8 __x); -static simd_int16 SIMD_CFUNC simd_int_sat(simd_ushort16 __x); -static simd_int2 SIMD_CFUNC simd_int_sat(simd_uint2 __x); -static simd_int3 SIMD_CFUNC simd_int_sat(simd_uint3 __x); -static simd_int4 SIMD_CFUNC simd_int_sat(simd_uint4 __x); -static simd_int8 SIMD_CFUNC simd_int_sat(simd_uint8 __x); -static simd_int16 SIMD_CFUNC simd_int_sat(simd_uint16 __x); -static simd_int2 SIMD_CFUNC simd_int_sat(simd_ulong2 __x); -static simd_int3 SIMD_CFUNC simd_int_sat(simd_ulong3 __x); -static simd_int4 SIMD_CFUNC simd_int_sat(simd_ulong4 __x); -static simd_int8 SIMD_CFUNC simd_int_sat(simd_ulong8 __x); -static simd_int2 SIMD_CFUNC simd_int_rte(simd_float2 __x); -static simd_int3 SIMD_CFUNC simd_int_rte(simd_float3 __x); -static simd_int4 SIMD_CFUNC simd_int_rte(simd_float4 __x); -static simd_int8 SIMD_CFUNC simd_int_rte(simd_float8 __x); -static simd_int16 SIMD_CFUNC simd_int_rte(simd_float16 __x); -#define vector_int simd_int -#define vector_int_sat simd_int_sat - -static simd_uint2 SIMD_CFUNC simd_uint(simd_char2 __x); -static simd_uint3 SIMD_CFUNC simd_uint(simd_char3 __x); -static simd_uint4 SIMD_CFUNC simd_uint(simd_char4 __x); -static simd_uint8 SIMD_CFUNC simd_uint(simd_char8 __x); -static simd_uint16 SIMD_CFUNC simd_uint(simd_char16 __x); -static simd_uint2 SIMD_CFUNC simd_uint(simd_uchar2 __x); -static simd_uint3 SIMD_CFUNC simd_uint(simd_uchar3 __x); -static simd_uint4 SIMD_CFUNC simd_uint(simd_uchar4 __x); -static simd_uint8 SIMD_CFUNC simd_uint(simd_uchar8 __x); -static simd_uint16 SIMD_CFUNC simd_uint(simd_uchar16 __x); -static simd_uint2 SIMD_CFUNC simd_uint(simd_short2 __x); -static simd_uint3 SIMD_CFUNC simd_uint(simd_short3 __x); -static simd_uint4 SIMD_CFUNC simd_uint(simd_short4 __x); -static simd_uint8 SIMD_CFUNC simd_uint(simd_short8 __x); -static simd_uint16 SIMD_CFUNC simd_uint(simd_short16 __x); -static simd_uint2 SIMD_CFUNC simd_uint(simd_ushort2 __x); -static simd_uint3 SIMD_CFUNC simd_uint(simd_ushort3 __x); -static simd_uint4 SIMD_CFUNC simd_uint(simd_ushort4 __x); -static simd_uint8 SIMD_CFUNC simd_uint(simd_ushort8 __x); -static simd_uint16 SIMD_CFUNC simd_uint(simd_ushort16 __x); -static simd_uint2 SIMD_CFUNC simd_uint(simd_int2 __x); -static simd_uint3 SIMD_CFUNC simd_uint(simd_int3 __x); -static simd_uint4 SIMD_CFUNC simd_uint(simd_int4 __x); -static simd_uint8 SIMD_CFUNC simd_uint(simd_int8 __x); -static simd_uint16 SIMD_CFUNC simd_uint(simd_int16 __x); -static simd_uint2 SIMD_CFUNC simd_uint(simd_uint2 __x); -static simd_uint3 SIMD_CFUNC simd_uint(simd_uint3 __x); -static simd_uint4 SIMD_CFUNC simd_uint(simd_uint4 __x); -static simd_uint8 SIMD_CFUNC simd_uint(simd_uint8 __x); -static simd_uint16 SIMD_CFUNC simd_uint(simd_uint16 __x); -static simd_uint2 SIMD_CFUNC simd_uint(simd_float2 __x); -static simd_uint3 SIMD_CFUNC simd_uint(simd_float3 __x); -static simd_uint4 SIMD_CFUNC simd_uint(simd_float4 __x); -static simd_uint8 SIMD_CFUNC simd_uint(simd_float8 __x); -static simd_uint16 SIMD_CFUNC simd_uint(simd_float16 __x); -static simd_uint2 SIMD_CFUNC simd_uint(simd_long2 __x); -static simd_uint3 SIMD_CFUNC simd_uint(simd_long3 __x); -static simd_uint4 SIMD_CFUNC simd_uint(simd_long4 __x); -static simd_uint8 SIMD_CFUNC simd_uint(simd_long8 __x); -static simd_uint2 SIMD_CFUNC simd_uint(simd_ulong2 __x); -static simd_uint3 SIMD_CFUNC simd_uint(simd_ulong3 __x); -static simd_uint4 SIMD_CFUNC simd_uint(simd_ulong4 __x); -static simd_uint8 SIMD_CFUNC simd_uint(simd_ulong8 __x); -static simd_uint2 SIMD_CFUNC simd_uint(simd_double2 __x); -static simd_uint3 SIMD_CFUNC simd_uint(simd_double3 __x); -static simd_uint4 SIMD_CFUNC simd_uint(simd_double4 __x); -static simd_uint8 SIMD_CFUNC simd_uint(simd_double8 __x); -static simd_uint2 SIMD_CFUNC simd_uint_sat(simd_char2 __x); -static simd_uint3 SIMD_CFUNC simd_uint_sat(simd_char3 __x); -static simd_uint4 SIMD_CFUNC simd_uint_sat(simd_char4 __x); -static simd_uint8 SIMD_CFUNC simd_uint_sat(simd_char8 __x); -static simd_uint16 SIMD_CFUNC simd_uint_sat(simd_char16 __x); -static simd_uint2 SIMD_CFUNC simd_uint_sat(simd_short2 __x); -static simd_uint3 SIMD_CFUNC simd_uint_sat(simd_short3 __x); -static simd_uint4 SIMD_CFUNC simd_uint_sat(simd_short4 __x); -static simd_uint8 SIMD_CFUNC simd_uint_sat(simd_short8 __x); -static simd_uint16 SIMD_CFUNC simd_uint_sat(simd_short16 __x); -static simd_uint2 SIMD_CFUNC simd_uint_sat(simd_int2 __x); -static simd_uint3 SIMD_CFUNC simd_uint_sat(simd_int3 __x); -static simd_uint4 SIMD_CFUNC simd_uint_sat(simd_int4 __x); -static simd_uint8 SIMD_CFUNC simd_uint_sat(simd_int8 __x); -static simd_uint16 SIMD_CFUNC simd_uint_sat(simd_int16 __x); -static simd_uint2 SIMD_CFUNC simd_uint_sat(simd_float2 __x); -static simd_uint3 SIMD_CFUNC simd_uint_sat(simd_float3 __x); -static simd_uint4 SIMD_CFUNC simd_uint_sat(simd_float4 __x); -static simd_uint8 SIMD_CFUNC simd_uint_sat(simd_float8 __x); -static simd_uint16 SIMD_CFUNC simd_uint_sat(simd_float16 __x); -static simd_uint2 SIMD_CFUNC simd_uint_sat(simd_long2 __x); -static simd_uint3 SIMD_CFUNC simd_uint_sat(simd_long3 __x); -static simd_uint4 SIMD_CFUNC simd_uint_sat(simd_long4 __x); -static simd_uint8 SIMD_CFUNC simd_uint_sat(simd_long8 __x); -static simd_uint2 SIMD_CFUNC simd_uint_sat(simd_double2 __x); -static simd_uint3 SIMD_CFUNC simd_uint_sat(simd_double3 __x); -static simd_uint4 SIMD_CFUNC simd_uint_sat(simd_double4 __x); -static simd_uint8 SIMD_CFUNC simd_uint_sat(simd_double8 __x); -static simd_uint2 SIMD_CFUNC simd_uint_sat(simd_uchar2 __x); -static simd_uint3 SIMD_CFUNC simd_uint_sat(simd_uchar3 __x); -static simd_uint4 SIMD_CFUNC simd_uint_sat(simd_uchar4 __x); -static simd_uint8 SIMD_CFUNC simd_uint_sat(simd_uchar8 __x); -static simd_uint16 SIMD_CFUNC simd_uint_sat(simd_uchar16 __x); -static simd_uint2 SIMD_CFUNC simd_uint_sat(simd_ushort2 __x); -static simd_uint3 SIMD_CFUNC simd_uint_sat(simd_ushort3 __x); -static simd_uint4 SIMD_CFUNC simd_uint_sat(simd_ushort4 __x); -static simd_uint8 SIMD_CFUNC simd_uint_sat(simd_ushort8 __x); -static simd_uint16 SIMD_CFUNC simd_uint_sat(simd_ushort16 __x); -static simd_uint2 SIMD_CFUNC simd_uint_sat(simd_uint2 __x); -static simd_uint3 SIMD_CFUNC simd_uint_sat(simd_uint3 __x); -static simd_uint4 SIMD_CFUNC simd_uint_sat(simd_uint4 __x); -static simd_uint8 SIMD_CFUNC simd_uint_sat(simd_uint8 __x); -static simd_uint16 SIMD_CFUNC simd_uint_sat(simd_uint16 __x); -static simd_uint2 SIMD_CFUNC simd_uint_sat(simd_ulong2 __x); -static simd_uint3 SIMD_CFUNC simd_uint_sat(simd_ulong3 __x); -static simd_uint4 SIMD_CFUNC simd_uint_sat(simd_ulong4 __x); -static simd_uint8 SIMD_CFUNC simd_uint_sat(simd_ulong8 __x); -#define vector_uint simd_uint -#define vector_uint_sat simd_uint_sat - -static simd_float2 SIMD_CFUNC simd_float(simd_char2 __x); -static simd_float3 SIMD_CFUNC simd_float(simd_char3 __x); -static simd_float4 SIMD_CFUNC simd_float(simd_char4 __x); -static simd_float8 SIMD_CFUNC simd_float(simd_char8 __x); -static simd_float16 SIMD_CFUNC simd_float(simd_char16 __x); -static simd_float2 SIMD_CFUNC simd_float(simd_uchar2 __x); -static simd_float3 SIMD_CFUNC simd_float(simd_uchar3 __x); -static simd_float4 SIMD_CFUNC simd_float(simd_uchar4 __x); -static simd_float8 SIMD_CFUNC simd_float(simd_uchar8 __x); -static simd_float16 SIMD_CFUNC simd_float(simd_uchar16 __x); -static simd_float2 SIMD_CFUNC simd_float(simd_short2 __x); -static simd_float3 SIMD_CFUNC simd_float(simd_short3 __x); -static simd_float4 SIMD_CFUNC simd_float(simd_short4 __x); -static simd_float8 SIMD_CFUNC simd_float(simd_short8 __x); -static simd_float16 SIMD_CFUNC simd_float(simd_short16 __x); -static simd_float2 SIMD_CFUNC simd_float(simd_ushort2 __x); -static simd_float3 SIMD_CFUNC simd_float(simd_ushort3 __x); -static simd_float4 SIMD_CFUNC simd_float(simd_ushort4 __x); -static simd_float8 SIMD_CFUNC simd_float(simd_ushort8 __x); -static simd_float16 SIMD_CFUNC simd_float(simd_ushort16 __x); -static simd_float2 SIMD_CFUNC simd_float(simd_int2 __x); -static simd_float3 SIMD_CFUNC simd_float(simd_int3 __x); -static simd_float4 SIMD_CFUNC simd_float(simd_int4 __x); -static simd_float8 SIMD_CFUNC simd_float(simd_int8 __x); -static simd_float16 SIMD_CFUNC simd_float(simd_int16 __x); -static simd_float2 SIMD_CFUNC simd_float(simd_uint2 __x); -static simd_float3 SIMD_CFUNC simd_float(simd_uint3 __x); -static simd_float4 SIMD_CFUNC simd_float(simd_uint4 __x); -static simd_float8 SIMD_CFUNC simd_float(simd_uint8 __x); -static simd_float16 SIMD_CFUNC simd_float(simd_uint16 __x); -static simd_float2 SIMD_CFUNC simd_float(simd_float2 __x); -static simd_float3 SIMD_CFUNC simd_float(simd_float3 __x); -static simd_float4 SIMD_CFUNC simd_float(simd_float4 __x); -static simd_float8 SIMD_CFUNC simd_float(simd_float8 __x); -static simd_float16 SIMD_CFUNC simd_float(simd_float16 __x); -static simd_float2 SIMD_CFUNC simd_float(simd_long2 __x); -static simd_float3 SIMD_CFUNC simd_float(simd_long3 __x); -static simd_float4 SIMD_CFUNC simd_float(simd_long4 __x); -static simd_float8 SIMD_CFUNC simd_float(simd_long8 __x); -static simd_float2 SIMD_CFUNC simd_float(simd_ulong2 __x); -static simd_float3 SIMD_CFUNC simd_float(simd_ulong3 __x); -static simd_float4 SIMD_CFUNC simd_float(simd_ulong4 __x); -static simd_float8 SIMD_CFUNC simd_float(simd_ulong8 __x); -static simd_float2 SIMD_CFUNC simd_float(simd_double2 __x); -static simd_float3 SIMD_CFUNC simd_float(simd_double3 __x); -static simd_float4 SIMD_CFUNC simd_float(simd_double4 __x); -static simd_float8 SIMD_CFUNC simd_float(simd_double8 __x); -#define vector_float simd_float - -static simd_long2 SIMD_CFUNC simd_long(simd_char2 __x); -static simd_long3 SIMD_CFUNC simd_long(simd_char3 __x); -static simd_long4 SIMD_CFUNC simd_long(simd_char4 __x); -static simd_long8 SIMD_CFUNC simd_long(simd_char8 __x); -static simd_long2 SIMD_CFUNC simd_long(simd_uchar2 __x); -static simd_long3 SIMD_CFUNC simd_long(simd_uchar3 __x); -static simd_long4 SIMD_CFUNC simd_long(simd_uchar4 __x); -static simd_long8 SIMD_CFUNC simd_long(simd_uchar8 __x); -static simd_long2 SIMD_CFUNC simd_long(simd_short2 __x); -static simd_long3 SIMD_CFUNC simd_long(simd_short3 __x); -static simd_long4 SIMD_CFUNC simd_long(simd_short4 __x); -static simd_long8 SIMD_CFUNC simd_long(simd_short8 __x); -static simd_long2 SIMD_CFUNC simd_long(simd_ushort2 __x); -static simd_long3 SIMD_CFUNC simd_long(simd_ushort3 __x); -static simd_long4 SIMD_CFUNC simd_long(simd_ushort4 __x); -static simd_long8 SIMD_CFUNC simd_long(simd_ushort8 __x); -static simd_long2 SIMD_CFUNC simd_long(simd_int2 __x); -static simd_long3 SIMD_CFUNC simd_long(simd_int3 __x); -static simd_long4 SIMD_CFUNC simd_long(simd_int4 __x); -static simd_long8 SIMD_CFUNC simd_long(simd_int8 __x); -static simd_long2 SIMD_CFUNC simd_long(simd_uint2 __x); -static simd_long3 SIMD_CFUNC simd_long(simd_uint3 __x); -static simd_long4 SIMD_CFUNC simd_long(simd_uint4 __x); -static simd_long8 SIMD_CFUNC simd_long(simd_uint8 __x); -static simd_long2 SIMD_CFUNC simd_long(simd_float2 __x); -static simd_long3 SIMD_CFUNC simd_long(simd_float3 __x); -static simd_long4 SIMD_CFUNC simd_long(simd_float4 __x); -static simd_long8 SIMD_CFUNC simd_long(simd_float8 __x); -static simd_long2 SIMD_CFUNC simd_long(simd_long2 __x); -static simd_long3 SIMD_CFUNC simd_long(simd_long3 __x); -static simd_long4 SIMD_CFUNC simd_long(simd_long4 __x); -static simd_long8 SIMD_CFUNC simd_long(simd_long8 __x); -static simd_long2 SIMD_CFUNC simd_long(simd_ulong2 __x); -static simd_long3 SIMD_CFUNC simd_long(simd_ulong3 __x); -static simd_long4 SIMD_CFUNC simd_long(simd_ulong4 __x); -static simd_long8 SIMD_CFUNC simd_long(simd_ulong8 __x); -static simd_long2 SIMD_CFUNC simd_long(simd_double2 __x); -static simd_long3 SIMD_CFUNC simd_long(simd_double3 __x); -static simd_long4 SIMD_CFUNC simd_long(simd_double4 __x); -static simd_long8 SIMD_CFUNC simd_long(simd_double8 __x); -static simd_long2 SIMD_CFUNC simd_long_sat(simd_char2 __x); -static simd_long3 SIMD_CFUNC simd_long_sat(simd_char3 __x); -static simd_long4 SIMD_CFUNC simd_long_sat(simd_char4 __x); -static simd_long8 SIMD_CFUNC simd_long_sat(simd_char8 __x); -static simd_long2 SIMD_CFUNC simd_long_sat(simd_short2 __x); -static simd_long3 SIMD_CFUNC simd_long_sat(simd_short3 __x); -static simd_long4 SIMD_CFUNC simd_long_sat(simd_short4 __x); -static simd_long8 SIMD_CFUNC simd_long_sat(simd_short8 __x); -static simd_long2 SIMD_CFUNC simd_long_sat(simd_int2 __x); -static simd_long3 SIMD_CFUNC simd_long_sat(simd_int3 __x); -static simd_long4 SIMD_CFUNC simd_long_sat(simd_int4 __x); -static simd_long8 SIMD_CFUNC simd_long_sat(simd_int8 __x); -static simd_long2 SIMD_CFUNC simd_long_sat(simd_float2 __x); -static simd_long3 SIMD_CFUNC simd_long_sat(simd_float3 __x); -static simd_long4 SIMD_CFUNC simd_long_sat(simd_float4 __x); -static simd_long8 SIMD_CFUNC simd_long_sat(simd_float8 __x); -static simd_long2 SIMD_CFUNC simd_long_sat(simd_long2 __x); -static simd_long3 SIMD_CFUNC simd_long_sat(simd_long3 __x); -static simd_long4 SIMD_CFUNC simd_long_sat(simd_long4 __x); -static simd_long8 SIMD_CFUNC simd_long_sat(simd_long8 __x); -static simd_long2 SIMD_CFUNC simd_long_sat(simd_double2 __x); -static simd_long3 SIMD_CFUNC simd_long_sat(simd_double3 __x); -static simd_long4 SIMD_CFUNC simd_long_sat(simd_double4 __x); -static simd_long8 SIMD_CFUNC simd_long_sat(simd_double8 __x); -static simd_long2 SIMD_CFUNC simd_long_sat(simd_uchar2 __x); -static simd_long3 SIMD_CFUNC simd_long_sat(simd_uchar3 __x); -static simd_long4 SIMD_CFUNC simd_long_sat(simd_uchar4 __x); -static simd_long8 SIMD_CFUNC simd_long_sat(simd_uchar8 __x); -static simd_long2 SIMD_CFUNC simd_long_sat(simd_ushort2 __x); -static simd_long3 SIMD_CFUNC simd_long_sat(simd_ushort3 __x); -static simd_long4 SIMD_CFUNC simd_long_sat(simd_ushort4 __x); -static simd_long8 SIMD_CFUNC simd_long_sat(simd_ushort8 __x); -static simd_long2 SIMD_CFUNC simd_long_sat(simd_uint2 __x); -static simd_long3 SIMD_CFUNC simd_long_sat(simd_uint3 __x); -static simd_long4 SIMD_CFUNC simd_long_sat(simd_uint4 __x); -static simd_long8 SIMD_CFUNC simd_long_sat(simd_uint8 __x); -static simd_long2 SIMD_CFUNC simd_long_sat(simd_ulong2 __x); -static simd_long3 SIMD_CFUNC simd_long_sat(simd_ulong3 __x); -static simd_long4 SIMD_CFUNC simd_long_sat(simd_ulong4 __x); -static simd_long8 SIMD_CFUNC simd_long_sat(simd_ulong8 __x); -static simd_long2 SIMD_CFUNC simd_long_rte(simd_double2 __x); -static simd_long3 SIMD_CFUNC simd_long_rte(simd_double3 __x); -static simd_long4 SIMD_CFUNC simd_long_rte(simd_double4 __x); -static simd_long8 SIMD_CFUNC simd_long_rte(simd_double8 __x); -#define vector_long simd_long -#define vector_long_sat simd_long_sat - -static simd_ulong2 SIMD_CFUNC simd_ulong(simd_char2 __x); -static simd_ulong3 SIMD_CFUNC simd_ulong(simd_char3 __x); -static simd_ulong4 SIMD_CFUNC simd_ulong(simd_char4 __x); -static simd_ulong8 SIMD_CFUNC simd_ulong(simd_char8 __x); -static simd_ulong2 SIMD_CFUNC simd_ulong(simd_uchar2 __x); -static simd_ulong3 SIMD_CFUNC simd_ulong(simd_uchar3 __x); -static simd_ulong4 SIMD_CFUNC simd_ulong(simd_uchar4 __x); -static simd_ulong8 SIMD_CFUNC simd_ulong(simd_uchar8 __x); -static simd_ulong2 SIMD_CFUNC simd_ulong(simd_short2 __x); -static simd_ulong3 SIMD_CFUNC simd_ulong(simd_short3 __x); -static simd_ulong4 SIMD_CFUNC simd_ulong(simd_short4 __x); -static simd_ulong8 SIMD_CFUNC simd_ulong(simd_short8 __x); -static simd_ulong2 SIMD_CFUNC simd_ulong(simd_ushort2 __x); -static simd_ulong3 SIMD_CFUNC simd_ulong(simd_ushort3 __x); -static simd_ulong4 SIMD_CFUNC simd_ulong(simd_ushort4 __x); -static simd_ulong8 SIMD_CFUNC simd_ulong(simd_ushort8 __x); -static simd_ulong2 SIMD_CFUNC simd_ulong(simd_int2 __x); -static simd_ulong3 SIMD_CFUNC simd_ulong(simd_int3 __x); -static simd_ulong4 SIMD_CFUNC simd_ulong(simd_int4 __x); -static simd_ulong8 SIMD_CFUNC simd_ulong(simd_int8 __x); -static simd_ulong2 SIMD_CFUNC simd_ulong(simd_uint2 __x); -static simd_ulong3 SIMD_CFUNC simd_ulong(simd_uint3 __x); -static simd_ulong4 SIMD_CFUNC simd_ulong(simd_uint4 __x); -static simd_ulong8 SIMD_CFUNC simd_ulong(simd_uint8 __x); -static simd_ulong2 SIMD_CFUNC simd_ulong(simd_float2 __x); -static simd_ulong3 SIMD_CFUNC simd_ulong(simd_float3 __x); -static simd_ulong4 SIMD_CFUNC simd_ulong(simd_float4 __x); -static simd_ulong8 SIMD_CFUNC simd_ulong(simd_float8 __x); -static simd_ulong2 SIMD_CFUNC simd_ulong(simd_long2 __x); -static simd_ulong3 SIMD_CFUNC simd_ulong(simd_long3 __x); -static simd_ulong4 SIMD_CFUNC simd_ulong(simd_long4 __x); -static simd_ulong8 SIMD_CFUNC simd_ulong(simd_long8 __x); -static simd_ulong2 SIMD_CFUNC simd_ulong(simd_ulong2 __x); -static simd_ulong3 SIMD_CFUNC simd_ulong(simd_ulong3 __x); -static simd_ulong4 SIMD_CFUNC simd_ulong(simd_ulong4 __x); -static simd_ulong8 SIMD_CFUNC simd_ulong(simd_ulong8 __x); -static simd_ulong2 SIMD_CFUNC simd_ulong(simd_double2 __x); -static simd_ulong3 SIMD_CFUNC simd_ulong(simd_double3 __x); -static simd_ulong4 SIMD_CFUNC simd_ulong(simd_double4 __x); -static simd_ulong8 SIMD_CFUNC simd_ulong(simd_double8 __x); -static simd_ulong2 SIMD_CFUNC simd_ulong_sat(simd_char2 __x); -static simd_ulong3 SIMD_CFUNC simd_ulong_sat(simd_char3 __x); -static simd_ulong4 SIMD_CFUNC simd_ulong_sat(simd_char4 __x); -static simd_ulong8 SIMD_CFUNC simd_ulong_sat(simd_char8 __x); -static simd_ulong2 SIMD_CFUNC simd_ulong_sat(simd_short2 __x); -static simd_ulong3 SIMD_CFUNC simd_ulong_sat(simd_short3 __x); -static simd_ulong4 SIMD_CFUNC simd_ulong_sat(simd_short4 __x); -static simd_ulong8 SIMD_CFUNC simd_ulong_sat(simd_short8 __x); -static simd_ulong2 SIMD_CFUNC simd_ulong_sat(simd_int2 __x); -static simd_ulong3 SIMD_CFUNC simd_ulong_sat(simd_int3 __x); -static simd_ulong4 SIMD_CFUNC simd_ulong_sat(simd_int4 __x); -static simd_ulong8 SIMD_CFUNC simd_ulong_sat(simd_int8 __x); -static simd_ulong2 SIMD_CFUNC simd_ulong_sat(simd_float2 __x); -static simd_ulong3 SIMD_CFUNC simd_ulong_sat(simd_float3 __x); -static simd_ulong4 SIMD_CFUNC simd_ulong_sat(simd_float4 __x); -static simd_ulong8 SIMD_CFUNC simd_ulong_sat(simd_float8 __x); -static simd_ulong2 SIMD_CFUNC simd_ulong_sat(simd_long2 __x); -static simd_ulong3 SIMD_CFUNC simd_ulong_sat(simd_long3 __x); -static simd_ulong4 SIMD_CFUNC simd_ulong_sat(simd_long4 __x); -static simd_ulong8 SIMD_CFUNC simd_ulong_sat(simd_long8 __x); -static simd_ulong2 SIMD_CFUNC simd_ulong_sat(simd_double2 __x); -static simd_ulong3 SIMD_CFUNC simd_ulong_sat(simd_double3 __x); -static simd_ulong4 SIMD_CFUNC simd_ulong_sat(simd_double4 __x); -static simd_ulong8 SIMD_CFUNC simd_ulong_sat(simd_double8 __x); -static simd_ulong2 SIMD_CFUNC simd_ulong_sat(simd_uchar2 __x); -static simd_ulong3 SIMD_CFUNC simd_ulong_sat(simd_uchar3 __x); -static simd_ulong4 SIMD_CFUNC simd_ulong_sat(simd_uchar4 __x); -static simd_ulong8 SIMD_CFUNC simd_ulong_sat(simd_uchar8 __x); -static simd_ulong2 SIMD_CFUNC simd_ulong_sat(simd_ushort2 __x); -static simd_ulong3 SIMD_CFUNC simd_ulong_sat(simd_ushort3 __x); -static simd_ulong4 SIMD_CFUNC simd_ulong_sat(simd_ushort4 __x); -static simd_ulong8 SIMD_CFUNC simd_ulong_sat(simd_ushort8 __x); -static simd_ulong2 SIMD_CFUNC simd_ulong_sat(simd_uint2 __x); -static simd_ulong3 SIMD_CFUNC simd_ulong_sat(simd_uint3 __x); -static simd_ulong4 SIMD_CFUNC simd_ulong_sat(simd_uint4 __x); -static simd_ulong8 SIMD_CFUNC simd_ulong_sat(simd_uint8 __x); -static simd_ulong2 SIMD_CFUNC simd_ulong_sat(simd_ulong2 __x); -static simd_ulong3 SIMD_CFUNC simd_ulong_sat(simd_ulong3 __x); -static simd_ulong4 SIMD_CFUNC simd_ulong_sat(simd_ulong4 __x); -static simd_ulong8 SIMD_CFUNC simd_ulong_sat(simd_ulong8 __x); -#define vector_ulong simd_ulong -#define vector_ulong_sat simd_ulong_sat - -static simd_double2 SIMD_CFUNC simd_double(simd_char2 __x); -static simd_double3 SIMD_CFUNC simd_double(simd_char3 __x); -static simd_double4 SIMD_CFUNC simd_double(simd_char4 __x); -static simd_double8 SIMD_CFUNC simd_double(simd_char8 __x); -static simd_double2 SIMD_CFUNC simd_double(simd_uchar2 __x); -static simd_double3 SIMD_CFUNC simd_double(simd_uchar3 __x); -static simd_double4 SIMD_CFUNC simd_double(simd_uchar4 __x); -static simd_double8 SIMD_CFUNC simd_double(simd_uchar8 __x); -static simd_double2 SIMD_CFUNC simd_double(simd_short2 __x); -static simd_double3 SIMD_CFUNC simd_double(simd_short3 __x); -static simd_double4 SIMD_CFUNC simd_double(simd_short4 __x); -static simd_double8 SIMD_CFUNC simd_double(simd_short8 __x); -static simd_double2 SIMD_CFUNC simd_double(simd_ushort2 __x); -static simd_double3 SIMD_CFUNC simd_double(simd_ushort3 __x); -static simd_double4 SIMD_CFUNC simd_double(simd_ushort4 __x); -static simd_double8 SIMD_CFUNC simd_double(simd_ushort8 __x); -static simd_double2 SIMD_CFUNC simd_double(simd_int2 __x); -static simd_double3 SIMD_CFUNC simd_double(simd_int3 __x); -static simd_double4 SIMD_CFUNC simd_double(simd_int4 __x); -static simd_double8 SIMD_CFUNC simd_double(simd_int8 __x); -static simd_double2 SIMD_CFUNC simd_double(simd_uint2 __x); -static simd_double3 SIMD_CFUNC simd_double(simd_uint3 __x); -static simd_double4 SIMD_CFUNC simd_double(simd_uint4 __x); -static simd_double8 SIMD_CFUNC simd_double(simd_uint8 __x); -static simd_double2 SIMD_CFUNC simd_double(simd_float2 __x); -static simd_double3 SIMD_CFUNC simd_double(simd_float3 __x); -static simd_double4 SIMD_CFUNC simd_double(simd_float4 __x); -static simd_double8 SIMD_CFUNC simd_double(simd_float8 __x); -static simd_double2 SIMD_CFUNC simd_double(simd_long2 __x); -static simd_double3 SIMD_CFUNC simd_double(simd_long3 __x); -static simd_double4 SIMD_CFUNC simd_double(simd_long4 __x); -static simd_double8 SIMD_CFUNC simd_double(simd_long8 __x); -static simd_double2 SIMD_CFUNC simd_double(simd_ulong2 __x); -static simd_double3 SIMD_CFUNC simd_double(simd_ulong3 __x); -static simd_double4 SIMD_CFUNC simd_double(simd_ulong4 __x); -static simd_double8 SIMD_CFUNC simd_double(simd_ulong8 __x); -static simd_double2 SIMD_CFUNC simd_double(simd_double2 __x); -static simd_double3 SIMD_CFUNC simd_double(simd_double3 __x); -static simd_double4 SIMD_CFUNC simd_double(simd_double4 __x); -static simd_double8 SIMD_CFUNC simd_double(simd_double8 __x); -#define vector_double simd_double - -static simd_char2 SIMD_CFUNC vector2(char __x, char __y) { return ( simd_char2){__x, __y}; } -static simd_uchar2 SIMD_CFUNC vector2(unsigned char __x, unsigned char __y) { return ( simd_uchar2){__x, __y}; } -static simd_short2 SIMD_CFUNC vector2(short __x, short __y) { return ( simd_short2){__x, __y}; } -static simd_ushort2 SIMD_CFUNC vector2(unsigned short __x, unsigned short __y) { return (simd_ushort2){__x, __y}; } -static simd_int2 SIMD_CFUNC vector2(int __x, int __y) { return ( simd_int2){__x, __y}; } -static simd_uint2 SIMD_CFUNC vector2(unsigned int __x, unsigned int __y) { return ( simd_uint2){__x, __y}; } -static simd_float2 SIMD_CFUNC vector2(float __x, float __y) { return ( simd_float2){__x, __y}; } -static simd_long2 SIMD_CFUNC vector2(simd_long1 __x, simd_long1 __y) { return ( simd_long2){__x, __y}; } -static simd_ulong2 SIMD_CFUNC vector2(simd_ulong1 __x, simd_ulong1 __y) { return ( simd_ulong2){__x, __y}; } -static simd_double2 SIMD_CFUNC vector2(double __x, double __y) { return (simd_double2){__x, __y}; } - -static simd_char3 SIMD_CFUNC vector3(char __x, char __y, char __z) { return ( simd_char3){__x, __y, __z}; } -static simd_uchar3 SIMD_CFUNC vector3(unsigned char __x, unsigned char __y, unsigned char __z) { return ( simd_uchar3){__x, __y, __z}; } -static simd_short3 SIMD_CFUNC vector3(short __x, short __y, short __z) { return ( simd_short3){__x, __y, __z}; } -static simd_ushort3 SIMD_CFUNC vector3(unsigned short __x, unsigned short __y, unsigned short __z) { return (simd_ushort3){__x, __y, __z}; } -static simd_int3 SIMD_CFUNC vector3(int __x, int __y, int __z) { return ( simd_int3){__x, __y, __z}; } -static simd_uint3 SIMD_CFUNC vector3(unsigned int __x, unsigned int __y, unsigned int __z) { return ( simd_uint3){__x, __y, __z}; } -static simd_float3 SIMD_CFUNC vector3(float __x, float __y, float __z) { return ( simd_float3){__x, __y, __z}; } -static simd_long3 SIMD_CFUNC vector3(simd_long1 __x, simd_long1 __y, simd_long1 __z) { return ( simd_long3){__x, __y, __z}; } -static simd_ulong3 SIMD_CFUNC vector3(simd_ulong1 __x, simd_ulong1 __y, simd_ulong1 __z) { return ( simd_ulong3){__x, __y, __z}; } -static simd_double3 SIMD_CFUNC vector3(double __x, double __y, double __z) { return (simd_double3){__x, __y, __z}; } - -static simd_char3 SIMD_CFUNC vector3(simd_char2 __xy, char __z) { simd_char3 __r; __r.xy = __xy; __r.z = __z; return __r; } -static simd_uchar3 SIMD_CFUNC vector3(simd_uchar2 __xy, unsigned char __z) { simd_uchar3 __r; __r.xy = __xy; __r.z = __z; return __r; } -static simd_short3 SIMD_CFUNC vector3(simd_short2 __xy, short __z) { simd_short3 __r; __r.xy = __xy; __r.z = __z; return __r; } -static simd_ushort3 SIMD_CFUNC vector3(simd_ushort2 __xy, unsigned short __z) { simd_ushort3 __r; __r.xy = __xy; __r.z = __z; return __r; } -static simd_int3 SIMD_CFUNC vector3(simd_int2 __xy, int __z) { simd_int3 __r; __r.xy = __xy; __r.z = __z; return __r; } -static simd_uint3 SIMD_CFUNC vector3(simd_uint2 __xy, unsigned int __z) { simd_uint3 __r; __r.xy = __xy; __r.z = __z; return __r; } -static simd_float3 SIMD_CFUNC vector3(simd_float2 __xy, float __z) { simd_float3 __r; __r.xy = __xy; __r.z = __z; return __r; } -static simd_long3 SIMD_CFUNC vector3(simd_long2 __xy, simd_long1 __z) { simd_long3 __r; __r.xy = __xy; __r.z = __z; return __r; } -static simd_ulong3 SIMD_CFUNC vector3(simd_ulong2 __xy, simd_ulong1 __z) { simd_ulong3 __r; __r.xy = __xy; __r.z = __z; return __r; } -static simd_double3 SIMD_CFUNC vector3(simd_double2 __xy, double __z) { simd_double3 __r; __r.xy = __xy; __r.z = __z; return __r; } - -static simd_char4 SIMD_CFUNC vector4(char __x, char __y, char __z, char __w) { return ( simd_char4){__x, __y, __z, __w}; } -static simd_uchar4 SIMD_CFUNC vector4(unsigned char __x, unsigned char __y, unsigned char __z, unsigned char __w) { return ( simd_uchar4){__x, __y, __z, __w}; } -static simd_short4 SIMD_CFUNC vector4(short __x, short __y, short __z, short __w) { return ( simd_short4){__x, __y, __z, __w}; } -static simd_ushort4 SIMD_CFUNC vector4(unsigned short __x, unsigned short __y, unsigned short __z, unsigned short __w) { return (simd_ushort4){__x, __y, __z, __w}; } -static simd_int4 SIMD_CFUNC vector4(int __x, int __y, int __z, int __w) { return ( simd_int4){__x, __y, __z, __w}; } -static simd_uint4 SIMD_CFUNC vector4(unsigned int __x, unsigned int __y, unsigned int __z, unsigned int __w) { return ( simd_uint4){__x, __y, __z, __w}; } -static simd_float4 SIMD_CFUNC vector4(float __x, float __y, float __z, float __w) { return ( simd_float4){__x, __y, __z, __w}; } -static simd_long4 SIMD_CFUNC vector4(simd_long1 __x, simd_long1 __y, simd_long1 __z, simd_long1 __w) { return ( simd_long4){__x, __y, __z, __w}; } -static simd_ulong4 SIMD_CFUNC vector4(simd_ulong1 __x, simd_ulong1 __y, simd_ulong1 __z, simd_ulong1 __w) { return ( simd_ulong4){__x, __y, __z, __w}; } -static simd_double4 SIMD_CFUNC vector4(double __x, double __y, double __z, double __w) { return (simd_double4){__x, __y, __z, __w}; } - -static simd_char4 SIMD_CFUNC vector4(simd_char2 __xy, simd_char2 __zw) { simd_char4 __r; __r.xy = __xy; __r.zw = __zw; return __r; } -static simd_uchar4 SIMD_CFUNC vector4(simd_uchar2 __xy, simd_uchar2 __zw) { simd_uchar4 __r; __r.xy = __xy; __r.zw = __zw; return __r; } -static simd_short4 SIMD_CFUNC vector4(simd_short2 __xy, simd_short2 __zw) { simd_short4 __r; __r.xy = __xy; __r.zw = __zw; return __r; } -static simd_ushort4 SIMD_CFUNC vector4(simd_ushort2 __xy, simd_ushort2 __zw) { simd_ushort4 __r; __r.xy = __xy; __r.zw = __zw; return __r; } -static simd_int4 SIMD_CFUNC vector4(simd_int2 __xy, simd_int2 __zw) { simd_int4 __r; __r.xy = __xy; __r.zw = __zw; return __r; } -static simd_uint4 SIMD_CFUNC vector4(simd_uint2 __xy, simd_uint2 __zw) { simd_uint4 __r; __r.xy = __xy; __r.zw = __zw; return __r; } -static simd_float4 SIMD_CFUNC vector4(simd_float2 __xy, simd_float2 __zw) { simd_float4 __r; __r.xy = __xy; __r.zw = __zw; return __r; } -static simd_long4 SIMD_CFUNC vector4(simd_long2 __xy, simd_long2 __zw) { simd_long4 __r; __r.xy = __xy; __r.zw = __zw; return __r; } -static simd_ulong4 SIMD_CFUNC vector4(simd_ulong2 __xy, simd_ulong2 __zw) { simd_ulong4 __r; __r.xy = __xy; __r.zw = __zw; return __r; } -static simd_double4 SIMD_CFUNC vector4(simd_double2 __xy, simd_double2 __zw) { simd_double4 __r; __r.xy = __xy; __r.zw = __zw; return __r; } - -static simd_char4 SIMD_CFUNC vector4(simd_char3 __xyz, char __w) { simd_char4 __r; __r.xyz = __xyz; __r.w = __w; return __r; } -static simd_uchar4 SIMD_CFUNC vector4(simd_uchar3 __xyz, unsigned char __w) { simd_uchar4 __r; __r.xyz = __xyz; __r.w = __w; return __r; } -static simd_short4 SIMD_CFUNC vector4(simd_short3 __xyz, short __w) { simd_short4 __r; __r.xyz = __xyz; __r.w = __w; return __r; } -static simd_ushort4 SIMD_CFUNC vector4(simd_ushort3 __xyz, unsigned short __w) { simd_ushort4 __r; __r.xyz = __xyz; __r.w = __w; return __r; } -static simd_int4 SIMD_CFUNC vector4(simd_int3 __xyz, int __w) { simd_int4 __r; __r.xyz = __xyz; __r.w = __w; return __r; } -static simd_uint4 SIMD_CFUNC vector4(simd_uint3 __xyz, unsigned int __w) { simd_uint4 __r; __r.xyz = __xyz; __r.w = __w; return __r; } -static simd_float4 SIMD_CFUNC vector4(simd_float3 __xyz, float __w) { simd_float4 __r; __r.xyz = __xyz; __r.w = __w; return __r; } -static simd_long4 SIMD_CFUNC vector4(simd_long3 __xyz, simd_long1 __w) { simd_long4 __r; __r.xyz = __xyz; __r.w = __w; return __r; } -static simd_ulong4 SIMD_CFUNC vector4(simd_ulong3 __xyz, simd_ulong1 __w) { simd_ulong4 __r; __r.xyz = __xyz; __r.w = __w; return __r; } -static simd_double4 SIMD_CFUNC vector4(simd_double3 __xyz, double __w) { simd_double4 __r; __r.xyz = __xyz; __r.w = __w; return __r; } - -static simd_char8 SIMD_CFUNC vector8(simd_char4 __lo, simd_char4 __hi) { simd_char8 __r; __r.lo = __lo; __r.hi = __hi; return __r; } -static simd_uchar8 SIMD_CFUNC vector8(simd_uchar4 __lo, simd_uchar4 __hi) { simd_uchar8 __r; __r.lo = __lo; __r.hi = __hi; return __r; } -static simd_short8 SIMD_CFUNC vector8(simd_short4 __lo, simd_short4 __hi) { simd_short8 __r; __r.lo = __lo; __r.hi = __hi; return __r; } -static simd_ushort8 SIMD_CFUNC vector8(simd_ushort4 __lo, simd_ushort4 __hi) { simd_ushort8 __r; __r.lo = __lo; __r.hi = __hi; return __r; } -static simd_int8 SIMD_CFUNC vector8(simd_int4 __lo, simd_int4 __hi) { simd_int8 __r; __r.lo = __lo; __r.hi = __hi; return __r; } -static simd_uint8 SIMD_CFUNC vector8(simd_uint4 __lo, simd_uint4 __hi) { simd_uint8 __r; __r.lo = __lo; __r.hi = __hi; return __r; } -static simd_float8 SIMD_CFUNC vector8(simd_float4 __lo, simd_float4 __hi) { simd_float8 __r; __r.lo = __lo; __r.hi = __hi; return __r; } -static simd_long8 SIMD_CFUNC vector8(simd_long4 __lo, simd_long4 __hi) { simd_long8 __r; __r.lo = __lo; __r.hi = __hi; return __r; } -static simd_ulong8 SIMD_CFUNC vector8(simd_ulong4 __lo, simd_ulong4 __hi) { simd_ulong8 __r; __r.lo = __lo; __r.hi = __hi; return __r; } -static simd_double8 SIMD_CFUNC vector8(simd_double4 __lo, simd_double4 __hi) { simd_double8 __r; __r.lo = __lo; __r.hi = __hi; return __r; } - -static simd_char16 SIMD_CFUNC vector16(simd_char8 __lo, simd_char8 __hi) { simd_char16 __r; __r.lo = __lo; __r.hi = __hi; return __r; } -static simd_uchar16 SIMD_CFUNC vector16(simd_uchar8 __lo, simd_uchar8 __hi) { simd_uchar16 __r; __r.lo = __lo; __r.hi = __hi; return __r; } -static simd_short16 SIMD_CFUNC vector16(simd_short8 __lo, simd_short8 __hi) { simd_short16 __r; __r.lo = __lo; __r.hi = __hi; return __r; } -static simd_ushort16 SIMD_CFUNC vector16(simd_ushort8 __lo, simd_ushort8 __hi) { simd_ushort16 __r; __r.lo = __lo; __r.hi = __hi; return __r; } -static simd_int16 SIMD_CFUNC vector16(simd_int8 __lo, simd_int8 __hi) { simd_int16 __r; __r.lo = __lo; __r.hi = __hi; return __r; } -static simd_uint16 SIMD_CFUNC vector16(simd_uint8 __lo, simd_uint8 __hi) { simd_uint16 __r; __r.lo = __lo; __r.hi = __hi; return __r; } -static simd_float16 SIMD_CFUNC vector16(simd_float8 __lo, simd_float8 __hi) { simd_float16 __r; __r.lo = __lo; __r.hi = __hi; return __r; } - -static simd_char32 SIMD_CFUNC vector32(simd_char16 __lo, simd_char16 __hi) { simd_char32 __r; __r.lo = __lo; __r.hi = __hi; return __r; } -static simd_uchar32 SIMD_CFUNC vector32(simd_uchar16 __lo, simd_uchar16 __hi) { simd_uchar32 __r; __r.lo = __lo; __r.hi = __hi; return __r; } -static simd_short32 SIMD_CFUNC vector32(simd_short16 __lo, simd_short16 __hi) { simd_short32 __r; __r.lo = __lo; __r.hi = __hi; return __r; } -static simd_ushort32 SIMD_CFUNC vector32(simd_ushort16 __lo, simd_ushort16 __hi) { simd_ushort32 __r; __r.lo = __lo; __r.hi = __hi; return __r; } - -#pragma mark - Implementation - -static simd_char2 SIMD_CFUNC simd_char(simd_char2 __x) { return __x; } -static simd_char3 SIMD_CFUNC simd_char(simd_char3 __x) { return __x; } -static simd_char4 SIMD_CFUNC simd_char(simd_char4 __x) { return __x; } -static simd_char8 SIMD_CFUNC simd_char(simd_char8 __x) { return __x; } -static simd_char16 SIMD_CFUNC simd_char(simd_char16 __x) { return __x; } -static simd_char32 SIMD_CFUNC simd_char(simd_char32 __x) { return __x; } -static simd_char2 SIMD_CFUNC simd_char(simd_uchar2 __x) { return (simd_char2)__x; } -static simd_char3 SIMD_CFUNC simd_char(simd_uchar3 __x) { return (simd_char3)__x; } -static simd_char4 SIMD_CFUNC simd_char(simd_uchar4 __x) { return (simd_char4)__x; } -static simd_char8 SIMD_CFUNC simd_char(simd_uchar8 __x) { return (simd_char8)__x; } -static simd_char16 SIMD_CFUNC simd_char(simd_uchar16 __x) { return (simd_char16)__x; } -static simd_char32 SIMD_CFUNC simd_char(simd_uchar32 __x) { return (simd_char32)__x; } -static simd_char2 SIMD_CFUNC simd_char(simd_short2 __x) { return __builtin_convertvector(__x & 0xff, simd_char2); } -static simd_char3 SIMD_CFUNC simd_char(simd_short3 __x) { return __builtin_convertvector(__x & 0xff, simd_char3); } -static simd_char4 SIMD_CFUNC simd_char(simd_short4 __x) { return __builtin_convertvector(__x & 0xff, simd_char4); } -static simd_char8 SIMD_CFUNC simd_char(simd_short8 __x) { return __builtin_convertvector(__x & 0xff, simd_char8); } -static simd_char16 SIMD_CFUNC simd_char(simd_short16 __x) { return __builtin_convertvector(__x & 0xff, simd_char16); } -static simd_char32 SIMD_CFUNC simd_char(simd_short32 __x) { return __builtin_convertvector(__x & 0xff, simd_char32); } -static simd_char2 SIMD_CFUNC simd_char(simd_ushort2 __x) { return simd_char(simd_short(__x)); } -static simd_char3 SIMD_CFUNC simd_char(simd_ushort3 __x) { return simd_char(simd_short(__x)); } -static simd_char4 SIMD_CFUNC simd_char(simd_ushort4 __x) { return simd_char(simd_short(__x)); } -static simd_char8 SIMD_CFUNC simd_char(simd_ushort8 __x) { return simd_char(simd_short(__x)); } -static simd_char16 SIMD_CFUNC simd_char(simd_ushort16 __x) { return simd_char(simd_short(__x)); } -static simd_char32 SIMD_CFUNC simd_char(simd_ushort32 __x) { return simd_char(simd_short(__x)); } -static simd_char2 SIMD_CFUNC simd_char(simd_int2 __x) { return simd_char(simd_short(__x)); } -static simd_char3 SIMD_CFUNC simd_char(simd_int3 __x) { return simd_char(simd_short(__x)); } -static simd_char4 SIMD_CFUNC simd_char(simd_int4 __x) { return simd_char(simd_short(__x)); } -static simd_char8 SIMD_CFUNC simd_char(simd_int8 __x) { return simd_char(simd_short(__x)); } -static simd_char16 SIMD_CFUNC simd_char(simd_int16 __x) { return simd_char(simd_short(__x)); } -static simd_char2 SIMD_CFUNC simd_char(simd_uint2 __x) { return simd_char(simd_short(__x)); } -static simd_char3 SIMD_CFUNC simd_char(simd_uint3 __x) { return simd_char(simd_short(__x)); } -static simd_char4 SIMD_CFUNC simd_char(simd_uint4 __x) { return simd_char(simd_short(__x)); } -static simd_char8 SIMD_CFUNC simd_char(simd_uint8 __x) { return simd_char(simd_short(__x)); } -static simd_char16 SIMD_CFUNC simd_char(simd_uint16 __x) { return simd_char(simd_short(__x)); } -static simd_char2 SIMD_CFUNC simd_char(simd_float2 __x) { return simd_char(simd_short(__x)); } -static simd_char3 SIMD_CFUNC simd_char(simd_float3 __x) { return simd_char(simd_short(__x)); } -static simd_char4 SIMD_CFUNC simd_char(simd_float4 __x) { return simd_char(simd_short(__x)); } -static simd_char8 SIMD_CFUNC simd_char(simd_float8 __x) { return simd_char(simd_short(__x)); } -static simd_char16 SIMD_CFUNC simd_char(simd_float16 __x) { return simd_char(simd_short(__x)); } -static simd_char2 SIMD_CFUNC simd_char(simd_long2 __x) { return simd_char(simd_short(__x)); } -static simd_char3 SIMD_CFUNC simd_char(simd_long3 __x) { return simd_char(simd_short(__x)); } -static simd_char4 SIMD_CFUNC simd_char(simd_long4 __x) { return simd_char(simd_short(__x)); } -static simd_char8 SIMD_CFUNC simd_char(simd_long8 __x) { return simd_char(simd_short(__x)); } -static simd_char2 SIMD_CFUNC simd_char(simd_ulong2 __x) { return simd_char(simd_short(__x)); } -static simd_char3 SIMD_CFUNC simd_char(simd_ulong3 __x) { return simd_char(simd_short(__x)); } -static simd_char4 SIMD_CFUNC simd_char(simd_ulong4 __x) { return simd_char(simd_short(__x)); } -static simd_char8 SIMD_CFUNC simd_char(simd_ulong8 __x) { return simd_char(simd_short(__x)); } -static simd_char2 SIMD_CFUNC simd_char(simd_double2 __x) { return simd_char(simd_short(__x)); } -static simd_char3 SIMD_CFUNC simd_char(simd_double3 __x) { return simd_char(simd_short(__x)); } -static simd_char4 SIMD_CFUNC simd_char(simd_double4 __x) { return simd_char(simd_short(__x)); } -static simd_char8 SIMD_CFUNC simd_char(simd_double8 __x) { return simd_char(simd_short(__x)); } - -static simd_char2 SIMD_CFUNC simd_char_sat(simd_char2 __x) { return __x; } -static simd_char3 SIMD_CFUNC simd_char_sat(simd_char3 __x) { return __x; } -static simd_char4 SIMD_CFUNC simd_char_sat(simd_char4 __x) { return __x; } -static simd_char8 SIMD_CFUNC simd_char_sat(simd_char8 __x) { return __x; } -static simd_char16 SIMD_CFUNC simd_char_sat(simd_char16 __x) { return __x; } -static simd_char32 SIMD_CFUNC simd_char_sat(simd_char32 __x) { return __x; } -static simd_char2 SIMD_CFUNC simd_char_sat(simd_short2 __x) { return simd_char(simd_clamp(__x,-0x80,0x7f)); } -static simd_char3 SIMD_CFUNC simd_char_sat(simd_short3 __x) { return simd_char(simd_clamp(__x,-0x80,0x7f)); } -static simd_char4 SIMD_CFUNC simd_char_sat(simd_short4 __x) { return simd_char(simd_clamp(__x,-0x80,0x7f)); } -static simd_char8 SIMD_CFUNC simd_char_sat(simd_short8 __x) { return simd_char(simd_clamp(__x,-0x80,0x7f)); } -static simd_char16 SIMD_CFUNC simd_char_sat(simd_short16 __x) { return simd_char(simd_clamp(__x,-0x80,0x7f)); } -static simd_char32 SIMD_CFUNC simd_char_sat(simd_short32 __x) { return simd_char(simd_clamp(__x,-0x80,0x7f)); } -static simd_char2 SIMD_CFUNC simd_char_sat(simd_int2 __x) { return simd_char(simd_clamp(__x,-0x80,0x7f)); } -static simd_char3 SIMD_CFUNC simd_char_sat(simd_int3 __x) { return simd_char(simd_clamp(__x,-0x80,0x7f)); } -static simd_char4 SIMD_CFUNC simd_char_sat(simd_int4 __x) { return simd_char(simd_clamp(__x,-0x80,0x7f)); } -static simd_char8 SIMD_CFUNC simd_char_sat(simd_int8 __x) { return simd_char(simd_clamp(__x,-0x80,0x7f)); } -static simd_char16 SIMD_CFUNC simd_char_sat(simd_int16 __x) { return simd_char(simd_clamp(__x,-0x80,0x7f)); } -static simd_char2 SIMD_CFUNC simd_char_sat(simd_float2 __x) { return simd_char(simd_clamp(__x,-0x80,0x7f)); } -static simd_char3 SIMD_CFUNC simd_char_sat(simd_float3 __x) { return simd_char(simd_clamp(__x,-0x80,0x7f)); } -static simd_char4 SIMD_CFUNC simd_char_sat(simd_float4 __x) { return simd_char(simd_clamp(__x,-0x80,0x7f)); } -static simd_char8 SIMD_CFUNC simd_char_sat(simd_float8 __x) { return simd_char(simd_clamp(__x,-0x80,0x7f)); } -static simd_char16 SIMD_CFUNC simd_char_sat(simd_float16 __x) { return simd_char(simd_clamp(__x,-0x80,0x7f)); } -static simd_char2 SIMD_CFUNC simd_char_sat(simd_long2 __x) { return simd_char(simd_clamp(__x,-0x80,0x7f)); } -static simd_char3 SIMD_CFUNC simd_char_sat(simd_long3 __x) { return simd_char(simd_clamp(__x,-0x80,0x7f)); } -static simd_char4 SIMD_CFUNC simd_char_sat(simd_long4 __x) { return simd_char(simd_clamp(__x,-0x80,0x7f)); } -static simd_char8 SIMD_CFUNC simd_char_sat(simd_long8 __x) { return simd_char(simd_clamp(__x,-0x80,0x7f)); } -static simd_char2 SIMD_CFUNC simd_char_sat(simd_double2 __x) { return simd_char(simd_clamp(__x,-0x80,0x7f)); } -static simd_char3 SIMD_CFUNC simd_char_sat(simd_double3 __x) { return simd_char(simd_clamp(__x,-0x80,0x7f)); } -static simd_char4 SIMD_CFUNC simd_char_sat(simd_double4 __x) { return simd_char(simd_clamp(__x,-0x80,0x7f)); } -static simd_char8 SIMD_CFUNC simd_char_sat(simd_double8 __x) { return simd_char(simd_clamp(__x,-0x80,0x7f)); } -static simd_char2 SIMD_CFUNC simd_char_sat(simd_uchar2 __x) { return simd_char(simd_min(__x,0x7f)); } -static simd_char3 SIMD_CFUNC simd_char_sat(simd_uchar3 __x) { return simd_char(simd_min(__x,0x7f)); } -static simd_char4 SIMD_CFUNC simd_char_sat(simd_uchar4 __x) { return simd_char(simd_min(__x,0x7f)); } -static simd_char8 SIMD_CFUNC simd_char_sat(simd_uchar8 __x) { return simd_char(simd_min(__x,0x7f)); } -static simd_char16 SIMD_CFUNC simd_char_sat(simd_uchar16 __x) { return simd_char(simd_min(__x,0x7f)); } -static simd_char32 SIMD_CFUNC simd_char_sat(simd_uchar32 __x) { return simd_char(simd_min(__x,0x7f)); } -static simd_char2 SIMD_CFUNC simd_char_sat(simd_ushort2 __x) { return simd_char(simd_min(__x,0x7f)); } -static simd_char3 SIMD_CFUNC simd_char_sat(simd_ushort3 __x) { return simd_char(simd_min(__x,0x7f)); } -static simd_char4 SIMD_CFUNC simd_char_sat(simd_ushort4 __x) { return simd_char(simd_min(__x,0x7f)); } -static simd_char8 SIMD_CFUNC simd_char_sat(simd_ushort8 __x) { return simd_char(simd_min(__x,0x7f)); } -static simd_char16 SIMD_CFUNC simd_char_sat(simd_ushort16 __x) { return simd_char(simd_min(__x,0x7f)); } -static simd_char32 SIMD_CFUNC simd_char_sat(simd_ushort32 __x) { return simd_char(simd_min(__x,0x7f)); } -static simd_char2 SIMD_CFUNC simd_char_sat(simd_uint2 __x) { return simd_char(simd_min(__x,0x7f)); } -static simd_char3 SIMD_CFUNC simd_char_sat(simd_uint3 __x) { return simd_char(simd_min(__x,0x7f)); } -static simd_char4 SIMD_CFUNC simd_char_sat(simd_uint4 __x) { return simd_char(simd_min(__x,0x7f)); } -static simd_char8 SIMD_CFUNC simd_char_sat(simd_uint8 __x) { return simd_char(simd_min(__x,0x7f)); } -static simd_char16 SIMD_CFUNC simd_char_sat(simd_uint16 __x) { return simd_char(simd_min(__x,0x7f)); } -static simd_char2 SIMD_CFUNC simd_char_sat(simd_ulong2 __x) { return simd_char(simd_min(__x,0x7f)); } -static simd_char3 SIMD_CFUNC simd_char_sat(simd_ulong3 __x) { return simd_char(simd_min(__x,0x7f)); } -static simd_char4 SIMD_CFUNC simd_char_sat(simd_ulong4 __x) { return simd_char(simd_min(__x,0x7f)); } -static simd_char8 SIMD_CFUNC simd_char_sat(simd_ulong8 __x) { return simd_char(simd_min(__x,0x7f)); } - - -static simd_uchar2 SIMD_CFUNC simd_uchar(simd_char2 __x) { return (simd_uchar2)__x; } -static simd_uchar3 SIMD_CFUNC simd_uchar(simd_char3 __x) { return (simd_uchar3)__x; } -static simd_uchar4 SIMD_CFUNC simd_uchar(simd_char4 __x) { return (simd_uchar4)__x; } -static simd_uchar8 SIMD_CFUNC simd_uchar(simd_char8 __x) { return (simd_uchar8)__x; } -static simd_uchar16 SIMD_CFUNC simd_uchar(simd_char16 __x) { return (simd_uchar16)__x; } -static simd_uchar32 SIMD_CFUNC simd_uchar(simd_char32 __x) { return (simd_uchar32)__x; } -static simd_uchar2 SIMD_CFUNC simd_uchar(simd_uchar2 __x) { return __x; } -static simd_uchar3 SIMD_CFUNC simd_uchar(simd_uchar3 __x) { return __x; } -static simd_uchar4 SIMD_CFUNC simd_uchar(simd_uchar4 __x) { return __x; } -static simd_uchar8 SIMD_CFUNC simd_uchar(simd_uchar8 __x) { return __x; } -static simd_uchar16 SIMD_CFUNC simd_uchar(simd_uchar16 __x) { return __x; } -static simd_uchar32 SIMD_CFUNC simd_uchar(simd_uchar32 __x) { return __x; } -static simd_uchar2 SIMD_CFUNC simd_uchar(simd_short2 __x) { return simd_uchar(simd_char(__x)); } -static simd_uchar3 SIMD_CFUNC simd_uchar(simd_short3 __x) { return simd_uchar(simd_char(__x)); } -static simd_uchar4 SIMD_CFUNC simd_uchar(simd_short4 __x) { return simd_uchar(simd_char(__x)); } -static simd_uchar8 SIMD_CFUNC simd_uchar(simd_short8 __x) { return simd_uchar(simd_char(__x)); } -static simd_uchar16 SIMD_CFUNC simd_uchar(simd_short16 __x) { return simd_uchar(simd_char(__x)); } -static simd_uchar32 SIMD_CFUNC simd_uchar(simd_short32 __x) { return simd_uchar(simd_char(__x)); } -static simd_uchar2 SIMD_CFUNC simd_uchar(simd_ushort2 __x) { return simd_uchar(simd_char(__x)); } -static simd_uchar3 SIMD_CFUNC simd_uchar(simd_ushort3 __x) { return simd_uchar(simd_char(__x)); } -static simd_uchar4 SIMD_CFUNC simd_uchar(simd_ushort4 __x) { return simd_uchar(simd_char(__x)); } -static simd_uchar8 SIMD_CFUNC simd_uchar(simd_ushort8 __x) { return simd_uchar(simd_char(__x)); } -static simd_uchar16 SIMD_CFUNC simd_uchar(simd_ushort16 __x) { return simd_uchar(simd_char(__x)); } -static simd_uchar32 SIMD_CFUNC simd_uchar(simd_ushort32 __x) { return simd_uchar(simd_char(__x)); } -static simd_uchar2 SIMD_CFUNC simd_uchar(simd_int2 __x) { return simd_uchar(simd_char(__x)); } -static simd_uchar3 SIMD_CFUNC simd_uchar(simd_int3 __x) { return simd_uchar(simd_char(__x)); } -static simd_uchar4 SIMD_CFUNC simd_uchar(simd_int4 __x) { return simd_uchar(simd_char(__x)); } -static simd_uchar8 SIMD_CFUNC simd_uchar(simd_int8 __x) { return simd_uchar(simd_char(__x)); } -static simd_uchar16 SIMD_CFUNC simd_uchar(simd_int16 __x) { return simd_uchar(simd_char(__x)); } -static simd_uchar2 SIMD_CFUNC simd_uchar(simd_uint2 __x) { return simd_uchar(simd_char(__x)); } -static simd_uchar3 SIMD_CFUNC simd_uchar(simd_uint3 __x) { return simd_uchar(simd_char(__x)); } -static simd_uchar4 SIMD_CFUNC simd_uchar(simd_uint4 __x) { return simd_uchar(simd_char(__x)); } -static simd_uchar8 SIMD_CFUNC simd_uchar(simd_uint8 __x) { return simd_uchar(simd_char(__x)); } -static simd_uchar16 SIMD_CFUNC simd_uchar(simd_uint16 __x) { return simd_uchar(simd_char(__x)); } -static simd_uchar2 SIMD_CFUNC simd_uchar(simd_float2 __x) { return simd_uchar(simd_char(__x)); } -static simd_uchar3 SIMD_CFUNC simd_uchar(simd_float3 __x) { return simd_uchar(simd_char(__x)); } -static simd_uchar4 SIMD_CFUNC simd_uchar(simd_float4 __x) { return simd_uchar(simd_char(__x)); } -static simd_uchar8 SIMD_CFUNC simd_uchar(simd_float8 __x) { return simd_uchar(simd_char(__x)); } -static simd_uchar16 SIMD_CFUNC simd_uchar(simd_float16 __x) { return simd_uchar(simd_char(__x)); } -static simd_uchar2 SIMD_CFUNC simd_uchar(simd_long2 __x) { return simd_uchar(simd_char(__x)); } -static simd_uchar3 SIMD_CFUNC simd_uchar(simd_long3 __x) { return simd_uchar(simd_char(__x)); } -static simd_uchar4 SIMD_CFUNC simd_uchar(simd_long4 __x) { return simd_uchar(simd_char(__x)); } -static simd_uchar8 SIMD_CFUNC simd_uchar(simd_long8 __x) { return simd_uchar(simd_char(__x)); } -static simd_uchar2 SIMD_CFUNC simd_uchar(simd_ulong2 __x) { return simd_uchar(simd_char(__x)); } -static simd_uchar3 SIMD_CFUNC simd_uchar(simd_ulong3 __x) { return simd_uchar(simd_char(__x)); } -static simd_uchar4 SIMD_CFUNC simd_uchar(simd_ulong4 __x) { return simd_uchar(simd_char(__x)); } -static simd_uchar8 SIMD_CFUNC simd_uchar(simd_ulong8 __x) { return simd_uchar(simd_char(__x)); } -static simd_uchar2 SIMD_CFUNC simd_uchar(simd_double2 __x) { return simd_uchar(simd_char(__x)); } -static simd_uchar3 SIMD_CFUNC simd_uchar(simd_double3 __x) { return simd_uchar(simd_char(__x)); } -static simd_uchar4 SIMD_CFUNC simd_uchar(simd_double4 __x) { return simd_uchar(simd_char(__x)); } -static simd_uchar8 SIMD_CFUNC simd_uchar(simd_double8 __x) { return simd_uchar(simd_char(__x)); } - -static simd_uchar2 SIMD_CFUNC simd_uchar_sat(simd_char2 __x) { return simd_uchar(simd_max(0,__x)); } -static simd_uchar3 SIMD_CFUNC simd_uchar_sat(simd_char3 __x) { return simd_uchar(simd_max(0,__x)); } -static simd_uchar4 SIMD_CFUNC simd_uchar_sat(simd_char4 __x) { return simd_uchar(simd_max(0,__x)); } -static simd_uchar8 SIMD_CFUNC simd_uchar_sat(simd_char8 __x) { return simd_uchar(simd_max(0,__x)); } -static simd_uchar16 SIMD_CFUNC simd_uchar_sat(simd_char16 __x) { return simd_uchar(simd_max(0,__x)); } -static simd_uchar32 SIMD_CFUNC simd_uchar_sat(simd_char32 __x) { return simd_uchar(simd_max(0,__x)); } -static simd_uchar2 SIMD_CFUNC simd_uchar_sat(simd_short2 __x) { return simd_uchar(simd_clamp(__x,0,0xff)); } -static simd_uchar3 SIMD_CFUNC simd_uchar_sat(simd_short3 __x) { return simd_uchar(simd_clamp(__x,0,0xff)); } -static simd_uchar4 SIMD_CFUNC simd_uchar_sat(simd_short4 __x) { return simd_uchar(simd_clamp(__x,0,0xff)); } -static simd_uchar8 SIMD_CFUNC simd_uchar_sat(simd_short8 __x) { return simd_uchar(simd_clamp(__x,0,0xff)); } -static simd_uchar16 SIMD_CFUNC simd_uchar_sat(simd_short16 __x) { return simd_uchar(simd_clamp(__x,0,0xff)); } -static simd_uchar32 SIMD_CFUNC simd_uchar_sat(simd_short32 __x) { return simd_uchar(simd_clamp(__x,0,0xff)); } -static simd_uchar2 SIMD_CFUNC simd_uchar_sat(simd_int2 __x) { return simd_uchar(simd_clamp(__x,0,0xff)); } -static simd_uchar3 SIMD_CFUNC simd_uchar_sat(simd_int3 __x) { return simd_uchar(simd_clamp(__x,0,0xff)); } -static simd_uchar4 SIMD_CFUNC simd_uchar_sat(simd_int4 __x) { return simd_uchar(simd_clamp(__x,0,0xff)); } -static simd_uchar8 SIMD_CFUNC simd_uchar_sat(simd_int8 __x) { return simd_uchar(simd_clamp(__x,0,0xff)); } -static simd_uchar16 SIMD_CFUNC simd_uchar_sat(simd_int16 __x) { return simd_uchar(simd_clamp(__x,0,0xff)); } -static simd_uchar2 SIMD_CFUNC simd_uchar_sat(simd_float2 __x) { return simd_uchar(simd_clamp(__x,0,0xff)); } -static simd_uchar3 SIMD_CFUNC simd_uchar_sat(simd_float3 __x) { return simd_uchar(simd_clamp(__x,0,0xff)); } -static simd_uchar4 SIMD_CFUNC simd_uchar_sat(simd_float4 __x) { return simd_uchar(simd_clamp(__x,0,0xff)); } -static simd_uchar8 SIMD_CFUNC simd_uchar_sat(simd_float8 __x) { return simd_uchar(simd_clamp(__x,0,0xff)); } -static simd_uchar16 SIMD_CFUNC simd_uchar_sat(simd_float16 __x) { return simd_uchar(simd_clamp(__x,0,0xff)); } -static simd_uchar2 SIMD_CFUNC simd_uchar_sat(simd_long2 __x) { return simd_uchar(simd_clamp(__x,0,0xff)); } -static simd_uchar3 SIMD_CFUNC simd_uchar_sat(simd_long3 __x) { return simd_uchar(simd_clamp(__x,0,0xff)); } -static simd_uchar4 SIMD_CFUNC simd_uchar_sat(simd_long4 __x) { return simd_uchar(simd_clamp(__x,0,0xff)); } -static simd_uchar8 SIMD_CFUNC simd_uchar_sat(simd_long8 __x) { return simd_uchar(simd_clamp(__x,0,0xff)); } -static simd_uchar2 SIMD_CFUNC simd_uchar_sat(simd_double2 __x) { return simd_uchar(simd_clamp(__x,0,0xff)); } -static simd_uchar3 SIMD_CFUNC simd_uchar_sat(simd_double3 __x) { return simd_uchar(simd_clamp(__x,0,0xff)); } -static simd_uchar4 SIMD_CFUNC simd_uchar_sat(simd_double4 __x) { return simd_uchar(simd_clamp(__x,0,0xff)); } -static simd_uchar8 SIMD_CFUNC simd_uchar_sat(simd_double8 __x) { return simd_uchar(simd_clamp(__x,0,0xff)); } -static simd_uchar2 SIMD_CFUNC simd_uchar_sat(simd_uchar2 __x) { return __x; } -static simd_uchar3 SIMD_CFUNC simd_uchar_sat(simd_uchar3 __x) { return __x; } -static simd_uchar4 SIMD_CFUNC simd_uchar_sat(simd_uchar4 __x) { return __x; } -static simd_uchar8 SIMD_CFUNC simd_uchar_sat(simd_uchar8 __x) { return __x; } -static simd_uchar16 SIMD_CFUNC simd_uchar_sat(simd_uchar16 __x) { return __x; } -static simd_uchar32 SIMD_CFUNC simd_uchar_sat(simd_uchar32 __x) { return __x; } -static simd_uchar2 SIMD_CFUNC simd_uchar_sat(simd_ushort2 __x) { return simd_uchar(simd_min(__x,0xff)); } -static simd_uchar3 SIMD_CFUNC simd_uchar_sat(simd_ushort3 __x) { return simd_uchar(simd_min(__x,0xff)); } -static simd_uchar4 SIMD_CFUNC simd_uchar_sat(simd_ushort4 __x) { return simd_uchar(simd_min(__x,0xff)); } -static simd_uchar8 SIMD_CFUNC simd_uchar_sat(simd_ushort8 __x) { return simd_uchar(simd_min(__x,0xff)); } -static simd_uchar16 SIMD_CFUNC simd_uchar_sat(simd_ushort16 __x) { return simd_uchar(simd_min(__x,0xff)); } -static simd_uchar32 SIMD_CFUNC simd_uchar_sat(simd_ushort32 __x) { return simd_uchar(simd_min(__x,0xff)); } -static simd_uchar2 SIMD_CFUNC simd_uchar_sat(simd_uint2 __x) { return simd_uchar(simd_min(__x,0xff)); } -static simd_uchar3 SIMD_CFUNC simd_uchar_sat(simd_uint3 __x) { return simd_uchar(simd_min(__x,0xff)); } -static simd_uchar4 SIMD_CFUNC simd_uchar_sat(simd_uint4 __x) { return simd_uchar(simd_min(__x,0xff)); } -static simd_uchar8 SIMD_CFUNC simd_uchar_sat(simd_uint8 __x) { return simd_uchar(simd_min(__x,0xff)); } -static simd_uchar16 SIMD_CFUNC simd_uchar_sat(simd_uint16 __x) { return simd_uchar(simd_min(__x,0xff)); } -static simd_uchar2 SIMD_CFUNC simd_uchar_sat(simd_ulong2 __x) { return simd_uchar(simd_min(__x,0xff)); } -static simd_uchar3 SIMD_CFUNC simd_uchar_sat(simd_ulong3 __x) { return simd_uchar(simd_min(__x,0xff)); } -static simd_uchar4 SIMD_CFUNC simd_uchar_sat(simd_ulong4 __x) { return simd_uchar(simd_min(__x,0xff)); } -static simd_uchar8 SIMD_CFUNC simd_uchar_sat(simd_ulong8 __x) { return simd_uchar(simd_min(__x,0xff)); } - - -static simd_short2 SIMD_CFUNC simd_short(simd_char2 __x) { return __builtin_convertvector(__x, simd_short2); } -static simd_short3 SIMD_CFUNC simd_short(simd_char3 __x) { return __builtin_convertvector(__x, simd_short3); } -static simd_short4 SIMD_CFUNC simd_short(simd_char4 __x) { return __builtin_convertvector(__x, simd_short4); } -static simd_short8 SIMD_CFUNC simd_short(simd_char8 __x) { return __builtin_convertvector(__x, simd_short8); } -static simd_short16 SIMD_CFUNC simd_short(simd_char16 __x) { return __builtin_convertvector(__x, simd_short16); } -static simd_short32 SIMD_CFUNC simd_short(simd_char32 __x) { return __builtin_convertvector(__x, simd_short32); } -static simd_short2 SIMD_CFUNC simd_short(simd_uchar2 __x) { return __builtin_convertvector(__x, simd_short2); } -static simd_short3 SIMD_CFUNC simd_short(simd_uchar3 __x) { return __builtin_convertvector(__x, simd_short3); } -static simd_short4 SIMD_CFUNC simd_short(simd_uchar4 __x) { return __builtin_convertvector(__x, simd_short4); } -static simd_short8 SIMD_CFUNC simd_short(simd_uchar8 __x) { return __builtin_convertvector(__x, simd_short8); } -static simd_short16 SIMD_CFUNC simd_short(simd_uchar16 __x) { return __builtin_convertvector(__x, simd_short16); } -static simd_short32 SIMD_CFUNC simd_short(simd_uchar32 __x) { return __builtin_convertvector(__x, simd_short32); } -static simd_short2 SIMD_CFUNC simd_short(simd_short2 __x) { return __x; } -static simd_short3 SIMD_CFUNC simd_short(simd_short3 __x) { return __x; } -static simd_short4 SIMD_CFUNC simd_short(simd_short4 __x) { return __x; } -static simd_short8 SIMD_CFUNC simd_short(simd_short8 __x) { return __x; } -static simd_short16 SIMD_CFUNC simd_short(simd_short16 __x) { return __x; } -static simd_short32 SIMD_CFUNC simd_short(simd_short32 __x) { return __x; } -static simd_short2 SIMD_CFUNC simd_short(simd_ushort2 __x) { return (simd_short2)__x; } -static simd_short3 SIMD_CFUNC simd_short(simd_ushort3 __x) { return (simd_short3)__x; } -static simd_short4 SIMD_CFUNC simd_short(simd_ushort4 __x) { return (simd_short4)__x; } -static simd_short8 SIMD_CFUNC simd_short(simd_ushort8 __x) { return (simd_short8)__x; } -static simd_short16 SIMD_CFUNC simd_short(simd_ushort16 __x) { return (simd_short16)__x; } -static simd_short32 SIMD_CFUNC simd_short(simd_ushort32 __x) { return (simd_short32)__x; } -static simd_short2 SIMD_CFUNC simd_short(simd_int2 __x) { return __builtin_convertvector(__x & 0xffff, simd_short2); } -static simd_short3 SIMD_CFUNC simd_short(simd_int3 __x) { return __builtin_convertvector(__x & 0xffff, simd_short3); } -static simd_short4 SIMD_CFUNC simd_short(simd_int4 __x) { return __builtin_convertvector(__x & 0xffff, simd_short4); } -static simd_short8 SIMD_CFUNC simd_short(simd_int8 __x) { return __builtin_convertvector(__x & 0xffff, simd_short8); } -static simd_short16 SIMD_CFUNC simd_short(simd_int16 __x) { return __builtin_convertvector(__x & 0xffff, simd_short16); } -static simd_short2 SIMD_CFUNC simd_short(simd_uint2 __x) { return simd_short(simd_int(__x)); } -static simd_short3 SIMD_CFUNC simd_short(simd_uint3 __x) { return simd_short(simd_int(__x)); } -static simd_short4 SIMD_CFUNC simd_short(simd_uint4 __x) { return simd_short(simd_int(__x)); } -static simd_short8 SIMD_CFUNC simd_short(simd_uint8 __x) { return simd_short(simd_int(__x)); } -static simd_short16 SIMD_CFUNC simd_short(simd_uint16 __x) { return simd_short(simd_int(__x)); } -static simd_short2 SIMD_CFUNC simd_short(simd_float2 __x) { return simd_short(simd_int(__x)); } -static simd_short3 SIMD_CFUNC simd_short(simd_float3 __x) { return simd_short(simd_int(__x)); } -static simd_short4 SIMD_CFUNC simd_short(simd_float4 __x) { return simd_short(simd_int(__x)); } -static simd_short8 SIMD_CFUNC simd_short(simd_float8 __x) { return simd_short(simd_int(__x)); } -static simd_short16 SIMD_CFUNC simd_short(simd_float16 __x) { return simd_short(simd_int(__x)); } -static simd_short2 SIMD_CFUNC simd_short(simd_long2 __x) { return simd_short(simd_int(__x)); } -static simd_short3 SIMD_CFUNC simd_short(simd_long3 __x) { return simd_short(simd_int(__x)); } -static simd_short4 SIMD_CFUNC simd_short(simd_long4 __x) { return simd_short(simd_int(__x)); } -static simd_short8 SIMD_CFUNC simd_short(simd_long8 __x) { return simd_short(simd_int(__x)); } -static simd_short2 SIMD_CFUNC simd_short(simd_ulong2 __x) { return simd_short(simd_int(__x)); } -static simd_short3 SIMD_CFUNC simd_short(simd_ulong3 __x) { return simd_short(simd_int(__x)); } -static simd_short4 SIMD_CFUNC simd_short(simd_ulong4 __x) { return simd_short(simd_int(__x)); } -static simd_short8 SIMD_CFUNC simd_short(simd_ulong8 __x) { return simd_short(simd_int(__x)); } -static simd_short2 SIMD_CFUNC simd_short(simd_double2 __x) { return simd_short(simd_int(__x)); } -static simd_short3 SIMD_CFUNC simd_short(simd_double3 __x) { return simd_short(simd_int(__x)); } -static simd_short4 SIMD_CFUNC simd_short(simd_double4 __x) { return simd_short(simd_int(__x)); } -static simd_short8 SIMD_CFUNC simd_short(simd_double8 __x) { return simd_short(simd_int(__x)); } - -static simd_short2 SIMD_CFUNC simd_short_sat(simd_char2 __x) { return simd_short(__x); } -static simd_short3 SIMD_CFUNC simd_short_sat(simd_char3 __x) { return simd_short(__x); } -static simd_short4 SIMD_CFUNC simd_short_sat(simd_char4 __x) { return simd_short(__x); } -static simd_short8 SIMD_CFUNC simd_short_sat(simd_char8 __x) { return simd_short(__x); } -static simd_short16 SIMD_CFUNC simd_short_sat(simd_char16 __x) { return simd_short(__x); } -static simd_short32 SIMD_CFUNC simd_short_sat(simd_char32 __x) { return simd_short(__x); } -static simd_short2 SIMD_CFUNC simd_short_sat(simd_short2 __x) { return __x; } -static simd_short3 SIMD_CFUNC simd_short_sat(simd_short3 __x) { return __x; } -static simd_short4 SIMD_CFUNC simd_short_sat(simd_short4 __x) { return __x; } -static simd_short8 SIMD_CFUNC simd_short_sat(simd_short8 __x) { return __x; } -static simd_short16 SIMD_CFUNC simd_short_sat(simd_short16 __x) { return __x; } -static simd_short32 SIMD_CFUNC simd_short_sat(simd_short32 __x) { return __x; } -static simd_short2 SIMD_CFUNC simd_short_sat(simd_int2 __x) { return simd_short(simd_clamp(__x,-0x8000,0x7fff)); } -static simd_short3 SIMD_CFUNC simd_short_sat(simd_int3 __x) { return simd_short(simd_clamp(__x,-0x8000,0x7fff)); } -static simd_short4 SIMD_CFUNC simd_short_sat(simd_int4 __x) { return simd_short(simd_clamp(__x,-0x8000,0x7fff)); } -static simd_short8 SIMD_CFUNC simd_short_sat(simd_int8 __x) { return simd_short(simd_clamp(__x,-0x8000,0x7fff)); } -static simd_short16 SIMD_CFUNC simd_short_sat(simd_int16 __x) { return simd_short(simd_clamp(__x,-0x8000,0x7fff)); } -static simd_short2 SIMD_CFUNC simd_short_sat(simd_float2 __x) { return simd_short(simd_clamp(__x,-0x8000,0x7fff)); } -static simd_short3 SIMD_CFUNC simd_short_sat(simd_float3 __x) { return simd_short(simd_clamp(__x,-0x8000,0x7fff)); } -static simd_short4 SIMD_CFUNC simd_short_sat(simd_float4 __x) { return simd_short(simd_clamp(__x,-0x8000,0x7fff)); } -static simd_short8 SIMD_CFUNC simd_short_sat(simd_float8 __x) { return simd_short(simd_clamp(__x,-0x8000,0x7fff)); } -static simd_short16 SIMD_CFUNC simd_short_sat(simd_float16 __x) { return simd_short(simd_clamp(__x,-0x8000,0x7fff)); } -static simd_short2 SIMD_CFUNC simd_short_sat(simd_long2 __x) { return simd_short(simd_clamp(__x,-0x8000,0x7fff)); } -static simd_short3 SIMD_CFUNC simd_short_sat(simd_long3 __x) { return simd_short(simd_clamp(__x,-0x8000,0x7fff)); } -static simd_short4 SIMD_CFUNC simd_short_sat(simd_long4 __x) { return simd_short(simd_clamp(__x,-0x8000,0x7fff)); } -static simd_short8 SIMD_CFUNC simd_short_sat(simd_long8 __x) { return simd_short(simd_clamp(__x,-0x8000,0x7fff)); } -static simd_short2 SIMD_CFUNC simd_short_sat(simd_double2 __x) { return simd_short(simd_clamp(__x,-0x8000,0x7fff)); } -static simd_short3 SIMD_CFUNC simd_short_sat(simd_double3 __x) { return simd_short(simd_clamp(__x,-0x8000,0x7fff)); } -static simd_short4 SIMD_CFUNC simd_short_sat(simd_double4 __x) { return simd_short(simd_clamp(__x,-0x8000,0x7fff)); } -static simd_short8 SIMD_CFUNC simd_short_sat(simd_double8 __x) { return simd_short(simd_clamp(__x,-0x8000,0x7fff)); } -static simd_short2 SIMD_CFUNC simd_short_sat(simd_uchar2 __x) { return simd_short(__x); } -static simd_short3 SIMD_CFUNC simd_short_sat(simd_uchar3 __x) { return simd_short(__x); } -static simd_short4 SIMD_CFUNC simd_short_sat(simd_uchar4 __x) { return simd_short(__x); } -static simd_short8 SIMD_CFUNC simd_short_sat(simd_uchar8 __x) { return simd_short(__x); } -static simd_short16 SIMD_CFUNC simd_short_sat(simd_uchar16 __x) { return simd_short(__x); } -static simd_short32 SIMD_CFUNC simd_short_sat(simd_uchar32 __x) { return simd_short(__x); } -static simd_short2 SIMD_CFUNC simd_short_sat(simd_ushort2 __x) { return simd_short(simd_min(__x,0x7fff)); } -static simd_short3 SIMD_CFUNC simd_short_sat(simd_ushort3 __x) { return simd_short(simd_min(__x,0x7fff)); } -static simd_short4 SIMD_CFUNC simd_short_sat(simd_ushort4 __x) { return simd_short(simd_min(__x,0x7fff)); } -static simd_short8 SIMD_CFUNC simd_short_sat(simd_ushort8 __x) { return simd_short(simd_min(__x,0x7fff)); } -static simd_short16 SIMD_CFUNC simd_short_sat(simd_ushort16 __x) { return simd_short(simd_min(__x,0x7fff)); } -static simd_short32 SIMD_CFUNC simd_short_sat(simd_ushort32 __x) { return simd_short(simd_min(__x,0x7fff)); } -static simd_short2 SIMD_CFUNC simd_short_sat(simd_uint2 __x) { return simd_short(simd_min(__x,0x7fff)); } -static simd_short3 SIMD_CFUNC simd_short_sat(simd_uint3 __x) { return simd_short(simd_min(__x,0x7fff)); } -static simd_short4 SIMD_CFUNC simd_short_sat(simd_uint4 __x) { return simd_short(simd_min(__x,0x7fff)); } -static simd_short8 SIMD_CFUNC simd_short_sat(simd_uint8 __x) { return simd_short(simd_min(__x,0x7fff)); } -static simd_short16 SIMD_CFUNC simd_short_sat(simd_uint16 __x) { return simd_short(simd_min(__x,0x7fff)); } -static simd_short2 SIMD_CFUNC simd_short_sat(simd_ulong2 __x) { return simd_short(simd_min(__x,0x7fff)); } -static simd_short3 SIMD_CFUNC simd_short_sat(simd_ulong3 __x) { return simd_short(simd_min(__x,0x7fff)); } -static simd_short4 SIMD_CFUNC simd_short_sat(simd_ulong4 __x) { return simd_short(simd_min(__x,0x7fff)); } -static simd_short8 SIMD_CFUNC simd_short_sat(simd_ulong8 __x) { return simd_short(simd_min(__x,0x7fff)); } - - -static simd_ushort2 SIMD_CFUNC simd_ushort(simd_char2 __x) { return simd_ushort(simd_short(__x)); } -static simd_ushort3 SIMD_CFUNC simd_ushort(simd_char3 __x) { return simd_ushort(simd_short(__x)); } -static simd_ushort4 SIMD_CFUNC simd_ushort(simd_char4 __x) { return simd_ushort(simd_short(__x)); } -static simd_ushort8 SIMD_CFUNC simd_ushort(simd_char8 __x) { return simd_ushort(simd_short(__x)); } -static simd_ushort16 SIMD_CFUNC simd_ushort(simd_char16 __x) { return simd_ushort(simd_short(__x)); } -static simd_ushort32 SIMD_CFUNC simd_ushort(simd_char32 __x) { return simd_ushort(simd_short(__x)); } -static simd_ushort2 SIMD_CFUNC simd_ushort(simd_uchar2 __x) { return simd_ushort(simd_short(__x)); } -static simd_ushort3 SIMD_CFUNC simd_ushort(simd_uchar3 __x) { return simd_ushort(simd_short(__x)); } -static simd_ushort4 SIMD_CFUNC simd_ushort(simd_uchar4 __x) { return simd_ushort(simd_short(__x)); } -static simd_ushort8 SIMD_CFUNC simd_ushort(simd_uchar8 __x) { return simd_ushort(simd_short(__x)); } -static simd_ushort16 SIMD_CFUNC simd_ushort(simd_uchar16 __x) { return simd_ushort(simd_short(__x)); } -static simd_ushort32 SIMD_CFUNC simd_ushort(simd_uchar32 __x) { return simd_ushort(simd_short(__x)); } -static simd_ushort2 SIMD_CFUNC simd_ushort(simd_short2 __x) { return (simd_ushort2)__x; } -static simd_ushort3 SIMD_CFUNC simd_ushort(simd_short3 __x) { return (simd_ushort3)__x; } -static simd_ushort4 SIMD_CFUNC simd_ushort(simd_short4 __x) { return (simd_ushort4)__x; } -static simd_ushort8 SIMD_CFUNC simd_ushort(simd_short8 __x) { return (simd_ushort8)__x; } -static simd_ushort16 SIMD_CFUNC simd_ushort(simd_short16 __x) { return (simd_ushort16)__x; } -static simd_ushort32 SIMD_CFUNC simd_ushort(simd_short32 __x) { return (simd_ushort32)__x; } -static simd_ushort2 SIMD_CFUNC simd_ushort(simd_ushort2 __x) { return __x; } -static simd_ushort3 SIMD_CFUNC simd_ushort(simd_ushort3 __x) { return __x; } -static simd_ushort4 SIMD_CFUNC simd_ushort(simd_ushort4 __x) { return __x; } -static simd_ushort8 SIMD_CFUNC simd_ushort(simd_ushort8 __x) { return __x; } -static simd_ushort16 SIMD_CFUNC simd_ushort(simd_ushort16 __x) { return __x; } -static simd_ushort32 SIMD_CFUNC simd_ushort(simd_ushort32 __x) { return __x; } -static simd_ushort2 SIMD_CFUNC simd_ushort(simd_int2 __x) { return simd_ushort(simd_short(__x)); } -static simd_ushort3 SIMD_CFUNC simd_ushort(simd_int3 __x) { return simd_ushort(simd_short(__x)); } -static simd_ushort4 SIMD_CFUNC simd_ushort(simd_int4 __x) { return simd_ushort(simd_short(__x)); } -static simd_ushort8 SIMD_CFUNC simd_ushort(simd_int8 __x) { return simd_ushort(simd_short(__x)); } -static simd_ushort16 SIMD_CFUNC simd_ushort(simd_int16 __x) { return simd_ushort(simd_short(__x)); } -static simd_ushort2 SIMD_CFUNC simd_ushort(simd_uint2 __x) { return simd_ushort(simd_short(__x)); } -static simd_ushort3 SIMD_CFUNC simd_ushort(simd_uint3 __x) { return simd_ushort(simd_short(__x)); } -static simd_ushort4 SIMD_CFUNC simd_ushort(simd_uint4 __x) { return simd_ushort(simd_short(__x)); } -static simd_ushort8 SIMD_CFUNC simd_ushort(simd_uint8 __x) { return simd_ushort(simd_short(__x)); } -static simd_ushort16 SIMD_CFUNC simd_ushort(simd_uint16 __x) { return simd_ushort(simd_short(__x)); } -static simd_ushort2 SIMD_CFUNC simd_ushort(simd_float2 __x) { return simd_ushort(simd_short(__x)); } -static simd_ushort3 SIMD_CFUNC simd_ushort(simd_float3 __x) { return simd_ushort(simd_short(__x)); } -static simd_ushort4 SIMD_CFUNC simd_ushort(simd_float4 __x) { return simd_ushort(simd_short(__x)); } -static simd_ushort8 SIMD_CFUNC simd_ushort(simd_float8 __x) { return simd_ushort(simd_short(__x)); } -static simd_ushort16 SIMD_CFUNC simd_ushort(simd_float16 __x) { return simd_ushort(simd_short(__x)); } -static simd_ushort2 SIMD_CFUNC simd_ushort(simd_long2 __x) { return simd_ushort(simd_short(__x)); } -static simd_ushort3 SIMD_CFUNC simd_ushort(simd_long3 __x) { return simd_ushort(simd_short(__x)); } -static simd_ushort4 SIMD_CFUNC simd_ushort(simd_long4 __x) { return simd_ushort(simd_short(__x)); } -static simd_ushort8 SIMD_CFUNC simd_ushort(simd_long8 __x) { return simd_ushort(simd_short(__x)); } -static simd_ushort2 SIMD_CFUNC simd_ushort(simd_ulong2 __x) { return simd_ushort(simd_short(__x)); } -static simd_ushort3 SIMD_CFUNC simd_ushort(simd_ulong3 __x) { return simd_ushort(simd_short(__x)); } -static simd_ushort4 SIMD_CFUNC simd_ushort(simd_ulong4 __x) { return simd_ushort(simd_short(__x)); } -static simd_ushort8 SIMD_CFUNC simd_ushort(simd_ulong8 __x) { return simd_ushort(simd_short(__x)); } -static simd_ushort2 SIMD_CFUNC simd_ushort(simd_double2 __x) { return simd_ushort(simd_short(__x)); } -static simd_ushort3 SIMD_CFUNC simd_ushort(simd_double3 __x) { return simd_ushort(simd_short(__x)); } -static simd_ushort4 SIMD_CFUNC simd_ushort(simd_double4 __x) { return simd_ushort(simd_short(__x)); } -static simd_ushort8 SIMD_CFUNC simd_ushort(simd_double8 __x) { return simd_ushort(simd_short(__x)); } - -static simd_ushort2 SIMD_CFUNC simd_ushort_sat(simd_char2 __x) { return simd_ushort(simd_max(__x, 0)); } -static simd_ushort3 SIMD_CFUNC simd_ushort_sat(simd_char3 __x) { return simd_ushort(simd_max(__x, 0)); } -static simd_ushort4 SIMD_CFUNC simd_ushort_sat(simd_char4 __x) { return simd_ushort(simd_max(__x, 0)); } -static simd_ushort8 SIMD_CFUNC simd_ushort_sat(simd_char8 __x) { return simd_ushort(simd_max(__x, 0)); } -static simd_ushort16 SIMD_CFUNC simd_ushort_sat(simd_char16 __x) { return simd_ushort(simd_max(__x, 0)); } -static simd_ushort32 SIMD_CFUNC simd_ushort_sat(simd_char32 __x) { return simd_ushort(simd_max(__x, 0)); } -static simd_ushort2 SIMD_CFUNC simd_ushort_sat(simd_short2 __x) { return simd_ushort(simd_max(__x, 0)); } -static simd_ushort3 SIMD_CFUNC simd_ushort_sat(simd_short3 __x) { return simd_ushort(simd_max(__x, 0)); } -static simd_ushort4 SIMD_CFUNC simd_ushort_sat(simd_short4 __x) { return simd_ushort(simd_max(__x, 0)); } -static simd_ushort8 SIMD_CFUNC simd_ushort_sat(simd_short8 __x) { return simd_ushort(simd_max(__x, 0)); } -static simd_ushort16 SIMD_CFUNC simd_ushort_sat(simd_short16 __x) { return simd_ushort(simd_max(__x, 0)); } -static simd_ushort32 SIMD_CFUNC simd_ushort_sat(simd_short32 __x) { return simd_ushort(simd_max(__x, 0)); } -static simd_ushort2 SIMD_CFUNC simd_ushort_sat(simd_int2 __x) { return simd_ushort(simd_clamp(__x, 0, 0xffff)); } -static simd_ushort3 SIMD_CFUNC simd_ushort_sat(simd_int3 __x) { return simd_ushort(simd_clamp(__x, 0, 0xffff)); } -static simd_ushort4 SIMD_CFUNC simd_ushort_sat(simd_int4 __x) { return simd_ushort(simd_clamp(__x, 0, 0xffff)); } -static simd_ushort8 SIMD_CFUNC simd_ushort_sat(simd_int8 __x) { return simd_ushort(simd_clamp(__x, 0, 0xffff)); } -static simd_ushort16 SIMD_CFUNC simd_ushort_sat(simd_int16 __x) { return simd_ushort(simd_clamp(__x, 0, 0xffff)); } -static simd_ushort2 SIMD_CFUNC simd_ushort_sat(simd_float2 __x) { return simd_ushort(simd_clamp(__x, 0, 0xffff)); } -static simd_ushort3 SIMD_CFUNC simd_ushort_sat(simd_float3 __x) { return simd_ushort(simd_clamp(__x, 0, 0xffff)); } -static simd_ushort4 SIMD_CFUNC simd_ushort_sat(simd_float4 __x) { return simd_ushort(simd_clamp(__x, 0, 0xffff)); } -static simd_ushort8 SIMD_CFUNC simd_ushort_sat(simd_float8 __x) { return simd_ushort(simd_clamp(__x, 0, 0xffff)); } -static simd_ushort16 SIMD_CFUNC simd_ushort_sat(simd_float16 __x) { return simd_ushort(simd_clamp(__x, 0, 0xffff)); } -static simd_ushort2 SIMD_CFUNC simd_ushort_sat(simd_long2 __x) { return simd_ushort(simd_clamp(__x, 0, 0xffff)); } -static simd_ushort3 SIMD_CFUNC simd_ushort_sat(simd_long3 __x) { return simd_ushort(simd_clamp(__x, 0, 0xffff)); } -static simd_ushort4 SIMD_CFUNC simd_ushort_sat(simd_long4 __x) { return simd_ushort(simd_clamp(__x, 0, 0xffff)); } -static simd_ushort8 SIMD_CFUNC simd_ushort_sat(simd_long8 __x) { return simd_ushort(simd_clamp(__x, 0, 0xffff)); } -static simd_ushort2 SIMD_CFUNC simd_ushort_sat(simd_double2 __x) { return simd_ushort(simd_clamp(__x, 0, 0xffff)); } -static simd_ushort3 SIMD_CFUNC simd_ushort_sat(simd_double3 __x) { return simd_ushort(simd_clamp(__x, 0, 0xffff)); } -static simd_ushort4 SIMD_CFUNC simd_ushort_sat(simd_double4 __x) { return simd_ushort(simd_clamp(__x, 0, 0xffff)); } -static simd_ushort8 SIMD_CFUNC simd_ushort_sat(simd_double8 __x) { return simd_ushort(simd_clamp(__x, 0, 0xffff)); } -static simd_ushort2 SIMD_CFUNC simd_ushort_sat(simd_uchar2 __x) { return simd_ushort(__x); } -static simd_ushort3 SIMD_CFUNC simd_ushort_sat(simd_uchar3 __x) { return simd_ushort(__x); } -static simd_ushort4 SIMD_CFUNC simd_ushort_sat(simd_uchar4 __x) { return simd_ushort(__x); } -static simd_ushort8 SIMD_CFUNC simd_ushort_sat(simd_uchar8 __x) { return simd_ushort(__x); } -static simd_ushort16 SIMD_CFUNC simd_ushort_sat(simd_uchar16 __x) { return simd_ushort(__x); } -static simd_ushort32 SIMD_CFUNC simd_ushort_sat(simd_uchar32 __x) { return simd_ushort(__x); } -static simd_ushort2 SIMD_CFUNC simd_ushort_sat(simd_ushort2 __x) { return __x; } -static simd_ushort3 SIMD_CFUNC simd_ushort_sat(simd_ushort3 __x) { return __x; } -static simd_ushort4 SIMD_CFUNC simd_ushort_sat(simd_ushort4 __x) { return __x; } -static simd_ushort8 SIMD_CFUNC simd_ushort_sat(simd_ushort8 __x) { return __x; } -static simd_ushort16 SIMD_CFUNC simd_ushort_sat(simd_ushort16 __x) { return __x; } -static simd_ushort32 SIMD_CFUNC simd_ushort_sat(simd_ushort32 __x) { return __x; } -static simd_ushort2 SIMD_CFUNC simd_ushort_sat(simd_uint2 __x) { return simd_ushort(simd_min(__x, 0xffff)); } -static simd_ushort3 SIMD_CFUNC simd_ushort_sat(simd_uint3 __x) { return simd_ushort(simd_min(__x, 0xffff)); } -static simd_ushort4 SIMD_CFUNC simd_ushort_sat(simd_uint4 __x) { return simd_ushort(simd_min(__x, 0xffff)); } -static simd_ushort8 SIMD_CFUNC simd_ushort_sat(simd_uint8 __x) { return simd_ushort(simd_min(__x, 0xffff)); } -static simd_ushort16 SIMD_CFUNC simd_ushort_sat(simd_uint16 __x) { return simd_ushort(simd_min(__x, 0xffff)); } -static simd_ushort2 SIMD_CFUNC simd_ushort_sat(simd_ulong2 __x) { return simd_ushort(simd_min(__x, 0xffff)); } -static simd_ushort3 SIMD_CFUNC simd_ushort_sat(simd_ulong3 __x) { return simd_ushort(simd_min(__x, 0xffff)); } -static simd_ushort4 SIMD_CFUNC simd_ushort_sat(simd_ulong4 __x) { return simd_ushort(simd_min(__x, 0xffff)); } -static simd_ushort8 SIMD_CFUNC simd_ushort_sat(simd_ulong8 __x) { return simd_ushort(simd_min(__x, 0xffff)); } - - -static simd_int2 SIMD_CFUNC simd_int(simd_char2 __x) { return __builtin_convertvector(__x, simd_int2); } -static simd_int3 SIMD_CFUNC simd_int(simd_char3 __x) { return __builtin_convertvector(__x, simd_int3); } -static simd_int4 SIMD_CFUNC simd_int(simd_char4 __x) { return __builtin_convertvector(__x, simd_int4); } -static simd_int8 SIMD_CFUNC simd_int(simd_char8 __x) { return __builtin_convertvector(__x, simd_int8); } -static simd_int16 SIMD_CFUNC simd_int(simd_char16 __x) { return __builtin_convertvector(__x, simd_int16); } -static simd_int2 SIMD_CFUNC simd_int(simd_uchar2 __x) { return __builtin_convertvector(__x, simd_int2); } -static simd_int3 SIMD_CFUNC simd_int(simd_uchar3 __x) { return __builtin_convertvector(__x, simd_int3); } -static simd_int4 SIMD_CFUNC simd_int(simd_uchar4 __x) { return __builtin_convertvector(__x, simd_int4); } -static simd_int8 SIMD_CFUNC simd_int(simd_uchar8 __x) { return __builtin_convertvector(__x, simd_int8); } -static simd_int16 SIMD_CFUNC simd_int(simd_uchar16 __x) { return __builtin_convertvector(__x, simd_int16); } -static simd_int2 SIMD_CFUNC simd_int(simd_short2 __x) { return __builtin_convertvector(__x, simd_int2); } -static simd_int3 SIMD_CFUNC simd_int(simd_short3 __x) { return __builtin_convertvector(__x, simd_int3); } -static simd_int4 SIMD_CFUNC simd_int(simd_short4 __x) { return __builtin_convertvector(__x, simd_int4); } -static simd_int8 SIMD_CFUNC simd_int(simd_short8 __x) { return __builtin_convertvector(__x, simd_int8); } -static simd_int16 SIMD_CFUNC simd_int(simd_short16 __x) { return __builtin_convertvector(__x, simd_int16); } -static simd_int2 SIMD_CFUNC simd_int(simd_ushort2 __x) { return __builtin_convertvector(__x, simd_int2); } -static simd_int3 SIMD_CFUNC simd_int(simd_ushort3 __x) { return __builtin_convertvector(__x, simd_int3); } -static simd_int4 SIMD_CFUNC simd_int(simd_ushort4 __x) { return __builtin_convertvector(__x, simd_int4); } -static simd_int8 SIMD_CFUNC simd_int(simd_ushort8 __x) { return __builtin_convertvector(__x, simd_int8); } -static simd_int16 SIMD_CFUNC simd_int(simd_ushort16 __x) { return __builtin_convertvector(__x, simd_int16); } -static simd_int2 SIMD_CFUNC simd_int(simd_int2 __x) { return __x; } -static simd_int3 SIMD_CFUNC simd_int(simd_int3 __x) { return __x; } -static simd_int4 SIMD_CFUNC simd_int(simd_int4 __x) { return __x; } -static simd_int8 SIMD_CFUNC simd_int(simd_int8 __x) { return __x; } -static simd_int16 SIMD_CFUNC simd_int(simd_int16 __x) { return __x; } -static simd_int2 SIMD_CFUNC simd_int(simd_uint2 __x) { return (simd_int2)__x; } -static simd_int3 SIMD_CFUNC simd_int(simd_uint3 __x) { return (simd_int3)__x; } -static simd_int4 SIMD_CFUNC simd_int(simd_uint4 __x) { return (simd_int4)__x; } -static simd_int8 SIMD_CFUNC simd_int(simd_uint8 __x) { return (simd_int8)__x; } -static simd_int16 SIMD_CFUNC simd_int(simd_uint16 __x) { return (simd_int16)__x; } -static simd_int2 SIMD_CFUNC simd_int(simd_float2 __x) { return __builtin_convertvector(__x, simd_int2); } -static simd_int3 SIMD_CFUNC simd_int(simd_float3 __x) { return __builtin_convertvector(__x, simd_int3); } -static simd_int4 SIMD_CFUNC simd_int(simd_float4 __x) { return __builtin_convertvector(__x, simd_int4); } -static simd_int8 SIMD_CFUNC simd_int(simd_float8 __x) { return __builtin_convertvector(__x, simd_int8); } -static simd_int16 SIMD_CFUNC simd_int(simd_float16 __x) { return __builtin_convertvector(__x, simd_int16); } -static simd_int2 SIMD_CFUNC simd_int(simd_long2 __x) { return __builtin_convertvector(__x & 0xffffffff, simd_int2); } -static simd_int3 SIMD_CFUNC simd_int(simd_long3 __x) { return __builtin_convertvector(__x & 0xffffffff, simd_int3); } -static simd_int4 SIMD_CFUNC simd_int(simd_long4 __x) { return __builtin_convertvector(__x & 0xffffffff, simd_int4); } -static simd_int8 SIMD_CFUNC simd_int(simd_long8 __x) { return __builtin_convertvector(__x & 0xffffffff, simd_int8); } -static simd_int2 SIMD_CFUNC simd_int(simd_ulong2 __x) { return simd_int(simd_long(__x)); } -static simd_int3 SIMD_CFUNC simd_int(simd_ulong3 __x) { return simd_int(simd_long(__x)); } -static simd_int4 SIMD_CFUNC simd_int(simd_ulong4 __x) { return simd_int(simd_long(__x)); } -static simd_int8 SIMD_CFUNC simd_int(simd_ulong8 __x) { return simd_int(simd_long(__x)); } -static simd_int2 SIMD_CFUNC simd_int(simd_double2 __x) { return __builtin_convertvector(__x, simd_int2); } -static simd_int3 SIMD_CFUNC simd_int(simd_double3 __x) { return __builtin_convertvector(__x, simd_int3); } -static simd_int4 SIMD_CFUNC simd_int(simd_double4 __x) { return __builtin_convertvector(__x, simd_int4); } -static simd_int8 SIMD_CFUNC simd_int(simd_double8 __x) { return __builtin_convertvector(__x, simd_int8); } - -static simd_int2 SIMD_CFUNC simd_int_sat(simd_char2 __x) { return simd_int(__x); } -static simd_int3 SIMD_CFUNC simd_int_sat(simd_char3 __x) { return simd_int(__x); } -static simd_int4 SIMD_CFUNC simd_int_sat(simd_char4 __x) { return simd_int(__x); } -static simd_int8 SIMD_CFUNC simd_int_sat(simd_char8 __x) { return simd_int(__x); } -static simd_int16 SIMD_CFUNC simd_int_sat(simd_char16 __x) { return simd_int(__x); } -static simd_int2 SIMD_CFUNC simd_int_sat(simd_short2 __x) { return simd_int(__x); } -static simd_int3 SIMD_CFUNC simd_int_sat(simd_short3 __x) { return simd_int(__x); } -static simd_int4 SIMD_CFUNC simd_int_sat(simd_short4 __x) { return simd_int(__x); } -static simd_int8 SIMD_CFUNC simd_int_sat(simd_short8 __x) { return simd_int(__x); } -static simd_int16 SIMD_CFUNC simd_int_sat(simd_short16 __x) { return simd_int(__x); } -static simd_int2 SIMD_CFUNC simd_int_sat(simd_int2 __x) { return __x; } -static simd_int3 SIMD_CFUNC simd_int_sat(simd_int3 __x) { return __x; } -static simd_int4 SIMD_CFUNC simd_int_sat(simd_int4 __x) { return __x; } -static simd_int8 SIMD_CFUNC simd_int_sat(simd_int8 __x) { return __x; } -static simd_int16 SIMD_CFUNC simd_int_sat(simd_int16 __x) { return __x; } -static simd_int2 SIMD_CFUNC simd_int_sat(simd_float2 __x) { return simd_bitselect(simd_int(simd_max(__x,-0x1.0p31f)), 0x7fffffff, __x >= 0x1.0p31f); } -static simd_int3 SIMD_CFUNC simd_int_sat(simd_float3 __x) { return simd_bitselect(simd_int(simd_max(__x,-0x1.0p31f)), 0x7fffffff, __x >= 0x1.0p31f); } -static simd_int4 SIMD_CFUNC simd_int_sat(simd_float4 __x) { return simd_bitselect(simd_int(simd_max(__x,-0x1.0p31f)), 0x7fffffff, __x >= 0x1.0p31f); } -static simd_int8 SIMD_CFUNC simd_int_sat(simd_float8 __x) { return simd_bitselect(simd_int(simd_max(__x,-0x1.0p31f)), 0x7fffffff, __x >= 0x1.0p31f); } -static simd_int16 SIMD_CFUNC simd_int_sat(simd_float16 __x) { return simd_bitselect(simd_int(simd_max(__x,-0x1.0p31f)), 0x7fffffff, __x >= 0x1.0p31f); } -static simd_int2 SIMD_CFUNC simd_int_sat(simd_long2 __x) { return simd_int(simd_clamp(__x,-0x80000000LL,0x7fffffffLL)); } -static simd_int3 SIMD_CFUNC simd_int_sat(simd_long3 __x) { return simd_int(simd_clamp(__x,-0x80000000LL,0x7fffffffLL)); } -static simd_int4 SIMD_CFUNC simd_int_sat(simd_long4 __x) { return simd_int(simd_clamp(__x,-0x80000000LL,0x7fffffffLL)); } -static simd_int8 SIMD_CFUNC simd_int_sat(simd_long8 __x) { return simd_int(simd_clamp(__x,-0x80000000LL,0x7fffffffLL)); } -static simd_int2 SIMD_CFUNC simd_int_sat(simd_double2 __x) { return simd_int(simd_clamp(__x,-0x1.0p31,0x1.fffffffcp30)); } -static simd_int3 SIMD_CFUNC simd_int_sat(simd_double3 __x) { return simd_int(simd_clamp(__x,-0x1.0p31,0x1.fffffffcp30)); } -static simd_int4 SIMD_CFUNC simd_int_sat(simd_double4 __x) { return simd_int(simd_clamp(__x,-0x1.0p31,0x1.fffffffcp30)); } -static simd_int8 SIMD_CFUNC simd_int_sat(simd_double8 __x) { return simd_int(simd_clamp(__x,-0x1.0p31,0x1.fffffffcp30)); } -static simd_int2 SIMD_CFUNC simd_int_sat(simd_uchar2 __x) { return simd_int(__x); } -static simd_int3 SIMD_CFUNC simd_int_sat(simd_uchar3 __x) { return simd_int(__x); } -static simd_int4 SIMD_CFUNC simd_int_sat(simd_uchar4 __x) { return simd_int(__x); } -static simd_int8 SIMD_CFUNC simd_int_sat(simd_uchar8 __x) { return simd_int(__x); } -static simd_int16 SIMD_CFUNC simd_int_sat(simd_uchar16 __x) { return simd_int(__x); } -static simd_int2 SIMD_CFUNC simd_int_sat(simd_ushort2 __x) { return simd_int(__x); } -static simd_int3 SIMD_CFUNC simd_int_sat(simd_ushort3 __x) { return simd_int(__x); } -static simd_int4 SIMD_CFUNC simd_int_sat(simd_ushort4 __x) { return simd_int(__x); } -static simd_int8 SIMD_CFUNC simd_int_sat(simd_ushort8 __x) { return simd_int(__x); } -static simd_int16 SIMD_CFUNC simd_int_sat(simd_ushort16 __x) { return simd_int(__x); } -static simd_int2 SIMD_CFUNC simd_int_sat(simd_uint2 __x) { return simd_int(simd_min(__x,0x7fffffff)); } -static simd_int3 SIMD_CFUNC simd_int_sat(simd_uint3 __x) { return simd_int(simd_min(__x,0x7fffffff)); } -static simd_int4 SIMD_CFUNC simd_int_sat(simd_uint4 __x) { return simd_int(simd_min(__x,0x7fffffff)); } -static simd_int8 SIMD_CFUNC simd_int_sat(simd_uint8 __x) { return simd_int(simd_min(__x,0x7fffffff)); } -static simd_int16 SIMD_CFUNC simd_int_sat(simd_uint16 __x) { return simd_int(simd_min(__x,0x7fffffff)); } -static simd_int2 SIMD_CFUNC simd_int_sat(simd_ulong2 __x) { return simd_int(simd_min(__x,0x7fffffff)); } -static simd_int3 SIMD_CFUNC simd_int_sat(simd_ulong3 __x) { return simd_int(simd_min(__x,0x7fffffff)); } -static simd_int4 SIMD_CFUNC simd_int_sat(simd_ulong4 __x) { return simd_int(simd_min(__x,0x7fffffff)); } -static simd_int8 SIMD_CFUNC simd_int_sat(simd_ulong8 __x) { return simd_int(simd_min(__x,0x7fffffff)); } - -static simd_int2 SIMD_CFUNC simd_int_rte(simd_float2 __x) { -#if defined __arm64__ - return vcvtn_s32_f32(__x); -#else - return simd_make_int2(simd_int_rte(simd_make_float4_undef(__x))); -#endif -} - -static simd_int3 SIMD_CFUNC simd_int_rte(simd_float3 __x) { - return simd_make_int3(simd_int_rte(simd_make_float4_undef(__x))); -} - -static simd_int4 SIMD_CFUNC simd_int_rte(simd_float4 __x) { -#if defined __SSE2__ - return _mm_cvtps_epi32(__x); -#elif defined __arm64__ - return vcvtnq_s32_f32(__x); -#else - simd_float4 magic = __tg_copysign(0x1.0p23, __x); - simd_int4 x_is_small = __tg_fabs(__x) < 0x1.0p23; - return __builtin_convertvector(simd_bitselect(__x, (__x + magic) - magic, x_is_small & 0x7fffffff), simd_int4); -#endif -} - -static simd_int8 SIMD_CFUNC simd_int_rte(simd_float8 __x) { -#if defined __AVX__ - return _mm256_cvtps_epi32(__x); -#else - return simd_make_int8(simd_int_rte(__x.lo), simd_int_rte(__x.hi)); -#endif -} - -static simd_int16 SIMD_CFUNC simd_int_rte(simd_float16 __x) { -#if defined __AVX512F__ - return _mm512_cvt_roundps_epi32(__x, _MM_FROUND_RINT); -#else - return simd_make_int16(simd_int_rte(__x.lo), simd_int_rte(__x.hi)); -#endif -} - -static simd_uint2 SIMD_CFUNC simd_uint(simd_char2 __x) { return simd_uint(simd_int(__x)); } -static simd_uint3 SIMD_CFUNC simd_uint(simd_char3 __x) { return simd_uint(simd_int(__x)); } -static simd_uint4 SIMD_CFUNC simd_uint(simd_char4 __x) { return simd_uint(simd_int(__x)); } -static simd_uint8 SIMD_CFUNC simd_uint(simd_char8 __x) { return simd_uint(simd_int(__x)); } -static simd_uint16 SIMD_CFUNC simd_uint(simd_char16 __x) { return simd_uint(simd_int(__x)); } -static simd_uint2 SIMD_CFUNC simd_uint(simd_uchar2 __x) { return simd_uint(simd_int(__x)); } -static simd_uint3 SIMD_CFUNC simd_uint(simd_uchar3 __x) { return simd_uint(simd_int(__x)); } -static simd_uint4 SIMD_CFUNC simd_uint(simd_uchar4 __x) { return simd_uint(simd_int(__x)); } -static simd_uint8 SIMD_CFUNC simd_uint(simd_uchar8 __x) { return simd_uint(simd_int(__x)); } -static simd_uint16 SIMD_CFUNC simd_uint(simd_uchar16 __x) { return simd_uint(simd_int(__x)); } -static simd_uint2 SIMD_CFUNC simd_uint(simd_short2 __x) { return simd_uint(simd_int(__x)); } -static simd_uint3 SIMD_CFUNC simd_uint(simd_short3 __x) { return simd_uint(simd_int(__x)); } -static simd_uint4 SIMD_CFUNC simd_uint(simd_short4 __x) { return simd_uint(simd_int(__x)); } -static simd_uint8 SIMD_CFUNC simd_uint(simd_short8 __x) { return simd_uint(simd_int(__x)); } -static simd_uint16 SIMD_CFUNC simd_uint(simd_short16 __x) { return simd_uint(simd_int(__x)); } -static simd_uint2 SIMD_CFUNC simd_uint(simd_ushort2 __x) { return simd_uint(simd_int(__x)); } -static simd_uint3 SIMD_CFUNC simd_uint(simd_ushort3 __x) { return simd_uint(simd_int(__x)); } -static simd_uint4 SIMD_CFUNC simd_uint(simd_ushort4 __x) { return simd_uint(simd_int(__x)); } -static simd_uint8 SIMD_CFUNC simd_uint(simd_ushort8 __x) { return simd_uint(simd_int(__x)); } -static simd_uint16 SIMD_CFUNC simd_uint(simd_ushort16 __x) { return simd_uint(simd_int(__x)); } -static simd_uint2 SIMD_CFUNC simd_uint(simd_int2 __x) { return (simd_uint2)__x; } -static simd_uint3 SIMD_CFUNC simd_uint(simd_int3 __x) { return (simd_uint3)__x; } -static simd_uint4 SIMD_CFUNC simd_uint(simd_int4 __x) { return (simd_uint4)__x; } -static simd_uint8 SIMD_CFUNC simd_uint(simd_int8 __x) { return (simd_uint8)__x; } -static simd_uint16 SIMD_CFUNC simd_uint(simd_int16 __x) { return (simd_uint16)__x; } -static simd_uint2 SIMD_CFUNC simd_uint(simd_uint2 __x) { return __x; } -static simd_uint3 SIMD_CFUNC simd_uint(simd_uint3 __x) { return __x; } -static simd_uint4 SIMD_CFUNC simd_uint(simd_uint4 __x) { return __x; } -static simd_uint8 SIMD_CFUNC simd_uint(simd_uint8 __x) { return __x; } -static simd_uint16 SIMD_CFUNC simd_uint(simd_uint16 __x) { return __x; } -static simd_uint2 SIMD_CFUNC simd_uint(simd_float2 __x) { simd_int2 __big = __x > 0x1.0p31f; return simd_uint(simd_int(__x - simd_bitselect((simd_float2)0,0x1.0p31f,__big))) + simd_bitselect((simd_uint2)0,0x80000000,__big); } -static simd_uint3 SIMD_CFUNC simd_uint(simd_float3 __x) { simd_int3 __big = __x > 0x1.0p31f; return simd_uint(simd_int(__x - simd_bitselect((simd_float3)0,0x1.0p31f,__big))) + simd_bitselect((simd_uint3)0,0x80000000,__big); } -static simd_uint4 SIMD_CFUNC simd_uint(simd_float4 __x) { simd_int4 __big = __x > 0x1.0p31f; return simd_uint(simd_int(__x - simd_bitselect((simd_float4)0,0x1.0p31f,__big))) + simd_bitselect((simd_uint4)0,0x80000000,__big); } -static simd_uint8 SIMD_CFUNC simd_uint(simd_float8 __x) { simd_int8 __big = __x > 0x1.0p31f; return simd_uint(simd_int(__x - simd_bitselect((simd_float8)0,0x1.0p31f,__big))) + simd_bitselect((simd_uint8)0,0x80000000,__big); } -static simd_uint16 SIMD_CFUNC simd_uint(simd_float16 __x) { simd_int16 __big = __x > 0x1.0p31f; return simd_uint(simd_int(__x - simd_bitselect((simd_float16)0,0x1.0p31f,__big))) + simd_bitselect((simd_uint16)0,0x80000000,__big); } -static simd_uint2 SIMD_CFUNC simd_uint(simd_long2 __x) { return simd_uint(simd_int(__x)); } -static simd_uint3 SIMD_CFUNC simd_uint(simd_long3 __x) { return simd_uint(simd_int(__x)); } -static simd_uint4 SIMD_CFUNC simd_uint(simd_long4 __x) { return simd_uint(simd_int(__x)); } -static simd_uint8 SIMD_CFUNC simd_uint(simd_long8 __x) { return simd_uint(simd_int(__x)); } -static simd_uint2 SIMD_CFUNC simd_uint(simd_ulong2 __x) { return simd_uint(simd_int(__x)); } -static simd_uint3 SIMD_CFUNC simd_uint(simd_ulong3 __x) { return simd_uint(simd_int(__x)); } -static simd_uint4 SIMD_CFUNC simd_uint(simd_ulong4 __x) { return simd_uint(simd_int(__x)); } -static simd_uint8 SIMD_CFUNC simd_uint(simd_ulong8 __x) { return simd_uint(simd_int(__x)); } -static simd_uint2 SIMD_CFUNC simd_uint(simd_double2 __x) { simd_long2 __big = __x > 0x1.fffffffcp30; return simd_uint(simd_int(__x - simd_bitselect((simd_double2)0,0x1.0p31,__big))) + simd_bitselect((simd_uint2)0,0x80000000,simd_int(__big)); } -static simd_uint3 SIMD_CFUNC simd_uint(simd_double3 __x) { simd_long3 __big = __x > 0x1.fffffffcp30; return simd_uint(simd_int(__x - simd_bitselect((simd_double3)0,0x1.0p31,__big))) + simd_bitselect((simd_uint3)0,0x80000000,simd_int(__big)); } -static simd_uint4 SIMD_CFUNC simd_uint(simd_double4 __x) { simd_long4 __big = __x > 0x1.fffffffcp30; return simd_uint(simd_int(__x - simd_bitselect((simd_double4)0,0x1.0p31,__big))) + simd_bitselect((simd_uint4)0,0x80000000,simd_int(__big)); } -static simd_uint8 SIMD_CFUNC simd_uint(simd_double8 __x) { simd_long8 __big = __x > 0x1.fffffffcp30; return simd_uint(simd_int(__x - simd_bitselect((simd_double8)0,0x1.0p31,__big))) + simd_bitselect((simd_uint8)0,0x80000000,simd_int(__big)); } - -static simd_uint2 SIMD_CFUNC simd_uint_sat(simd_char2 __x) { return simd_uint(simd_max(__x,0)); } -static simd_uint3 SIMD_CFUNC simd_uint_sat(simd_char3 __x) { return simd_uint(simd_max(__x,0)); } -static simd_uint4 SIMD_CFUNC simd_uint_sat(simd_char4 __x) { return simd_uint(simd_max(__x,0)); } -static simd_uint8 SIMD_CFUNC simd_uint_sat(simd_char8 __x) { return simd_uint(simd_max(__x,0)); } -static simd_uint16 SIMD_CFUNC simd_uint_sat(simd_char16 __x) { return simd_uint(simd_max(__x,0)); } -static simd_uint2 SIMD_CFUNC simd_uint_sat(simd_short2 __x) { return simd_uint(simd_max(__x,0)); } -static simd_uint3 SIMD_CFUNC simd_uint_sat(simd_short3 __x) { return simd_uint(simd_max(__x,0)); } -static simd_uint4 SIMD_CFUNC simd_uint_sat(simd_short4 __x) { return simd_uint(simd_max(__x,0)); } -static simd_uint8 SIMD_CFUNC simd_uint_sat(simd_short8 __x) { return simd_uint(simd_max(__x,0)); } -static simd_uint16 SIMD_CFUNC simd_uint_sat(simd_short16 __x) { return simd_uint(simd_max(__x,0)); } -static simd_uint2 SIMD_CFUNC simd_uint_sat(simd_int2 __x) { return simd_uint(simd_max(__x,0)); } -static simd_uint3 SIMD_CFUNC simd_uint_sat(simd_int3 __x) { return simd_uint(simd_max(__x,0)); } -static simd_uint4 SIMD_CFUNC simd_uint_sat(simd_int4 __x) { return simd_uint(simd_max(__x,0)); } -static simd_uint8 SIMD_CFUNC simd_uint_sat(simd_int8 __x) { return simd_uint(simd_max(__x,0)); } -static simd_uint16 SIMD_CFUNC simd_uint_sat(simd_int16 __x) { return simd_uint(simd_max(__x,0)); } -static simd_uint2 SIMD_CFUNC simd_uint_sat(simd_float2 __x) { return simd_bitselect(simd_uint(simd_max(__x,0)), 0xffffffff, __x >= 0x1.0p32f); } -static simd_uint3 SIMD_CFUNC simd_uint_sat(simd_float3 __x) { return simd_bitselect(simd_uint(simd_max(__x,0)), 0xffffffff, __x >= 0x1.0p32f); } -static simd_uint4 SIMD_CFUNC simd_uint_sat(simd_float4 __x) { return simd_bitselect(simd_uint(simd_max(__x,0)), 0xffffffff, __x >= 0x1.0p32f); } -static simd_uint8 SIMD_CFUNC simd_uint_sat(simd_float8 __x) { return simd_bitselect(simd_uint(simd_max(__x,0)), 0xffffffff, __x >= 0x1.0p32f); } -static simd_uint16 SIMD_CFUNC simd_uint_sat(simd_float16 __x) { return simd_bitselect(simd_uint(simd_max(__x,0)), 0xffffffff, __x >= 0x1.0p32f); } -static simd_uint2 SIMD_CFUNC simd_uint_sat(simd_long2 __x) { return simd_uint(simd_clamp(__x,0,0xffffffff)); } -static simd_uint3 SIMD_CFUNC simd_uint_sat(simd_long3 __x) { return simd_uint(simd_clamp(__x,0,0xffffffff)); } -static simd_uint4 SIMD_CFUNC simd_uint_sat(simd_long4 __x) { return simd_uint(simd_clamp(__x,0,0xffffffff)); } -static simd_uint8 SIMD_CFUNC simd_uint_sat(simd_long8 __x) { return simd_uint(simd_clamp(__x,0,0xffffffff)); } -static simd_uint2 SIMD_CFUNC simd_uint_sat(simd_double2 __x) { return simd_uint(simd_clamp(__x,0,0xffffffff)); } -static simd_uint3 SIMD_CFUNC simd_uint_sat(simd_double3 __x) { return simd_uint(simd_clamp(__x,0,0xffffffff)); } -static simd_uint4 SIMD_CFUNC simd_uint_sat(simd_double4 __x) { return simd_uint(simd_clamp(__x,0,0xffffffff)); } -static simd_uint8 SIMD_CFUNC simd_uint_sat(simd_double8 __x) { return simd_uint(simd_clamp(__x,0,0xffffffff)); } -static simd_uint2 SIMD_CFUNC simd_uint_sat(simd_uchar2 __x) { return simd_uint(__x); } -static simd_uint3 SIMD_CFUNC simd_uint_sat(simd_uchar3 __x) { return simd_uint(__x); } -static simd_uint4 SIMD_CFUNC simd_uint_sat(simd_uchar4 __x) { return simd_uint(__x); } -static simd_uint8 SIMD_CFUNC simd_uint_sat(simd_uchar8 __x) { return simd_uint(__x); } -static simd_uint16 SIMD_CFUNC simd_uint_sat(simd_uchar16 __x) { return simd_uint(__x); } -static simd_uint2 SIMD_CFUNC simd_uint_sat(simd_ushort2 __x) { return simd_uint(__x); } -static simd_uint3 SIMD_CFUNC simd_uint_sat(simd_ushort3 __x) { return simd_uint(__x); } -static simd_uint4 SIMD_CFUNC simd_uint_sat(simd_ushort4 __x) { return simd_uint(__x); } -static simd_uint8 SIMD_CFUNC simd_uint_sat(simd_ushort8 __x) { return simd_uint(__x); } -static simd_uint16 SIMD_CFUNC simd_uint_sat(simd_ushort16 __x) { return simd_uint(__x); } -static simd_uint2 SIMD_CFUNC simd_uint_sat(simd_uint2 __x) { return __x; } -static simd_uint3 SIMD_CFUNC simd_uint_sat(simd_uint3 __x) { return __x; } -static simd_uint4 SIMD_CFUNC simd_uint_sat(simd_uint4 __x) { return __x; } -static simd_uint8 SIMD_CFUNC simd_uint_sat(simd_uint8 __x) { return __x; } -static simd_uint16 SIMD_CFUNC simd_uint_sat(simd_uint16 __x) { return __x; } -static simd_uint2 SIMD_CFUNC simd_uint_sat(simd_ulong2 __x) { return simd_uint(simd_clamp(__x,0,0xffffffff)); } -static simd_uint3 SIMD_CFUNC simd_uint_sat(simd_ulong3 __x) { return simd_uint(simd_clamp(__x,0,0xffffffff)); } -static simd_uint4 SIMD_CFUNC simd_uint_sat(simd_ulong4 __x) { return simd_uint(simd_clamp(__x,0,0xffffffff)); } -static simd_uint8 SIMD_CFUNC simd_uint_sat(simd_ulong8 __x) { return simd_uint(simd_clamp(__x,0,0xffffffff)); } - - -static simd_float2 SIMD_CFUNC simd_float(simd_char2 __x) { return (simd_float2)(simd_int(__x) + 0x4b400000) - 0x1.8p23f; } -static simd_float3 SIMD_CFUNC simd_float(simd_char3 __x) { return (simd_float3)(simd_int(__x) + 0x4b400000) - 0x1.8p23f; } -static simd_float4 SIMD_CFUNC simd_float(simd_char4 __x) { return (simd_float4)(simd_int(__x) + 0x4b400000) - 0x1.8p23f; } -static simd_float8 SIMD_CFUNC simd_float(simd_char8 __x) { return (simd_float8)(simd_int(__x) + 0x4b400000) - 0x1.8p23f; } -static simd_float16 SIMD_CFUNC simd_float(simd_char16 __x) { return (simd_float16)(simd_int(__x) + 0x4b400000) - 0x1.8p23f; } -static simd_float2 SIMD_CFUNC simd_float(simd_uchar2 __x) { return (simd_float2)(simd_int(__x) + 0x4b400000) - 0x1.8p23f; } -static simd_float3 SIMD_CFUNC simd_float(simd_uchar3 __x) { return (simd_float3)(simd_int(__x) + 0x4b400000) - 0x1.8p23f; } -static simd_float4 SIMD_CFUNC simd_float(simd_uchar4 __x) { return (simd_float4)(simd_int(__x) + 0x4b400000) - 0x1.8p23f; } -static simd_float8 SIMD_CFUNC simd_float(simd_uchar8 __x) { return (simd_float8)(simd_int(__x) + 0x4b400000) - 0x1.8p23f; } -static simd_float16 SIMD_CFUNC simd_float(simd_uchar16 __x) { return (simd_float16)(simd_int(__x) + 0x4b400000) - 0x1.8p23f; } -static simd_float2 SIMD_CFUNC simd_float(simd_short2 __x) { return (simd_float2)(simd_int(__x) + 0x4b400000) - 0x1.8p23f; } -static simd_float3 SIMD_CFUNC simd_float(simd_short3 __x) { return (simd_float3)(simd_int(__x) + 0x4b400000) - 0x1.8p23f; } -static simd_float4 SIMD_CFUNC simd_float(simd_short4 __x) { return (simd_float4)(simd_int(__x) + 0x4b400000) - 0x1.8p23f; } -static simd_float8 SIMD_CFUNC simd_float(simd_short8 __x) { return (simd_float8)(simd_int(__x) + 0x4b400000) - 0x1.8p23f; } -static simd_float16 SIMD_CFUNC simd_float(simd_short16 __x) { return (simd_float16)(simd_int(__x) + 0x4b400000) - 0x1.8p23f; } -static simd_float2 SIMD_CFUNC simd_float(simd_ushort2 __x) { return (simd_float2)(simd_int(__x) + 0x4b400000) - 0x1.8p23f; } -static simd_float3 SIMD_CFUNC simd_float(simd_ushort3 __x) { return (simd_float3)(simd_int(__x) + 0x4b400000) - 0x1.8p23f; } -static simd_float4 SIMD_CFUNC simd_float(simd_ushort4 __x) { return (simd_float4)(simd_int(__x) + 0x4b400000) - 0x1.8p23f; } -static simd_float8 SIMD_CFUNC simd_float(simd_ushort8 __x) { return (simd_float8)(simd_int(__x) + 0x4b400000) - 0x1.8p23f; } -static simd_float16 SIMD_CFUNC simd_float(simd_ushort16 __x) { return (simd_float16)(simd_int(__x) + 0x4b400000) - 0x1.8p23f; } -static simd_float2 SIMD_CFUNC simd_float(simd_int2 __x) { return __builtin_convertvector(__x,simd_float2); } -static simd_float3 SIMD_CFUNC simd_float(simd_int3 __x) { return __builtin_convertvector(__x,simd_float3); } -static simd_float4 SIMD_CFUNC simd_float(simd_int4 __x) { return __builtin_convertvector(__x,simd_float4); } -static simd_float8 SIMD_CFUNC simd_float(simd_int8 __x) { return __builtin_convertvector(__x,simd_float8); } -static simd_float16 SIMD_CFUNC simd_float(simd_int16 __x) { return __builtin_convertvector(__x,simd_float16); } -static simd_float2 SIMD_CFUNC simd_float(simd_uint2 __x) { return __builtin_convertvector(__x,simd_float2); } -static simd_float3 SIMD_CFUNC simd_float(simd_uint3 __x) { return __builtin_convertvector(__x,simd_float3); } -static simd_float4 SIMD_CFUNC simd_float(simd_uint4 __x) { return __builtin_convertvector(__x,simd_float4); } -static simd_float8 SIMD_CFUNC simd_float(simd_uint8 __x) { return __builtin_convertvector(__x,simd_float8); } -static simd_float16 SIMD_CFUNC simd_float(simd_uint16 __x) { return __builtin_convertvector(__x,simd_float16); } -static simd_float2 SIMD_CFUNC simd_float(simd_float2 __x) { return __x; } -static simd_float3 SIMD_CFUNC simd_float(simd_float3 __x) { return __x; } -static simd_float4 SIMD_CFUNC simd_float(simd_float4 __x) { return __x; } -static simd_float8 SIMD_CFUNC simd_float(simd_float8 __x) { return __x; } -static simd_float16 SIMD_CFUNC simd_float(simd_float16 __x) { return __x; } -static simd_float2 SIMD_CFUNC simd_float(simd_long2 __x) { return __builtin_convertvector(__x,simd_float2); } -static simd_float3 SIMD_CFUNC simd_float(simd_long3 __x) { return __builtin_convertvector(__x,simd_float3); } -static simd_float4 SIMD_CFUNC simd_float(simd_long4 __x) { return __builtin_convertvector(__x,simd_float4); } -static simd_float8 SIMD_CFUNC simd_float(simd_long8 __x) { return __builtin_convertvector(__x,simd_float8); } -static simd_float2 SIMD_CFUNC simd_float(simd_ulong2 __x) { return __builtin_convertvector(__x,simd_float2); } -static simd_float3 SIMD_CFUNC simd_float(simd_ulong3 __x) { return __builtin_convertvector(__x,simd_float3); } -static simd_float4 SIMD_CFUNC simd_float(simd_ulong4 __x) { return __builtin_convertvector(__x,simd_float4); } -static simd_float8 SIMD_CFUNC simd_float(simd_ulong8 __x) { return __builtin_convertvector(__x,simd_float8); } -static simd_float2 SIMD_CFUNC simd_float(simd_double2 __x) { return __builtin_convertvector(__x,simd_float2); } -static simd_float3 SIMD_CFUNC simd_float(simd_double3 __x) { return __builtin_convertvector(__x,simd_float3); } -static simd_float4 SIMD_CFUNC simd_float(simd_double4 __x) { return __builtin_convertvector(__x,simd_float4); } -static simd_float8 SIMD_CFUNC simd_float(simd_double8 __x) { return __builtin_convertvector(__x,simd_float8); } - - -static simd_long2 SIMD_CFUNC simd_long(simd_char2 __x) { return __builtin_convertvector(__x,simd_long2); } -static simd_long3 SIMD_CFUNC simd_long(simd_char3 __x) { return __builtin_convertvector(__x,simd_long3); } -static simd_long4 SIMD_CFUNC simd_long(simd_char4 __x) { return __builtin_convertvector(__x,simd_long4); } -static simd_long8 SIMD_CFUNC simd_long(simd_char8 __x) { return __builtin_convertvector(__x,simd_long8); } -static simd_long2 SIMD_CFUNC simd_long(simd_uchar2 __x) { return __builtin_convertvector(__x,simd_long2); } -static simd_long3 SIMD_CFUNC simd_long(simd_uchar3 __x) { return __builtin_convertvector(__x,simd_long3); } -static simd_long4 SIMD_CFUNC simd_long(simd_uchar4 __x) { return __builtin_convertvector(__x,simd_long4); } -static simd_long8 SIMD_CFUNC simd_long(simd_uchar8 __x) { return __builtin_convertvector(__x,simd_long8); } -static simd_long2 SIMD_CFUNC simd_long(simd_short2 __x) { return __builtin_convertvector(__x,simd_long2); } -static simd_long3 SIMD_CFUNC simd_long(simd_short3 __x) { return __builtin_convertvector(__x,simd_long3); } -static simd_long4 SIMD_CFUNC simd_long(simd_short4 __x) { return __builtin_convertvector(__x,simd_long4); } -static simd_long8 SIMD_CFUNC simd_long(simd_short8 __x) { return __builtin_convertvector(__x,simd_long8); } -static simd_long2 SIMD_CFUNC simd_long(simd_ushort2 __x) { return __builtin_convertvector(__x,simd_long2); } -static simd_long3 SIMD_CFUNC simd_long(simd_ushort3 __x) { return __builtin_convertvector(__x,simd_long3); } -static simd_long4 SIMD_CFUNC simd_long(simd_ushort4 __x) { return __builtin_convertvector(__x,simd_long4); } -static simd_long8 SIMD_CFUNC simd_long(simd_ushort8 __x) { return __builtin_convertvector(__x,simd_long8); } -static simd_long2 SIMD_CFUNC simd_long(simd_int2 __x) { return __builtin_convertvector(__x,simd_long2); } -static simd_long3 SIMD_CFUNC simd_long(simd_int3 __x) { return __builtin_convertvector(__x,simd_long3); } -static simd_long4 SIMD_CFUNC simd_long(simd_int4 __x) { return __builtin_convertvector(__x,simd_long4); } -static simd_long8 SIMD_CFUNC simd_long(simd_int8 __x) { return __builtin_convertvector(__x,simd_long8); } -static simd_long2 SIMD_CFUNC simd_long(simd_uint2 __x) { return __builtin_convertvector(__x,simd_long2); } -static simd_long3 SIMD_CFUNC simd_long(simd_uint3 __x) { return __builtin_convertvector(__x,simd_long3); } -static simd_long4 SIMD_CFUNC simd_long(simd_uint4 __x) { return __builtin_convertvector(__x,simd_long4); } -static simd_long8 SIMD_CFUNC simd_long(simd_uint8 __x) { return __builtin_convertvector(__x,simd_long8); } -static simd_long2 SIMD_CFUNC simd_long(simd_float2 __x) { return __builtin_convertvector(__x,simd_long2); } -static simd_long3 SIMD_CFUNC simd_long(simd_float3 __x) { return __builtin_convertvector(__x,simd_long3); } -static simd_long4 SIMD_CFUNC simd_long(simd_float4 __x) { return __builtin_convertvector(__x,simd_long4); } -static simd_long8 SIMD_CFUNC simd_long(simd_float8 __x) { return __builtin_convertvector(__x,simd_long8); } -static simd_long2 SIMD_CFUNC simd_long(simd_long2 __x) { return __x; } -static simd_long3 SIMD_CFUNC simd_long(simd_long3 __x) { return __x; } -static simd_long4 SIMD_CFUNC simd_long(simd_long4 __x) { return __x; } -static simd_long8 SIMD_CFUNC simd_long(simd_long8 __x) { return __x; } -static simd_long2 SIMD_CFUNC simd_long(simd_ulong2 __x) { return (simd_long2)__x; } -static simd_long3 SIMD_CFUNC simd_long(simd_ulong3 __x) { return (simd_long3)__x; } -static simd_long4 SIMD_CFUNC simd_long(simd_ulong4 __x) { return (simd_long4)__x; } -static simd_long8 SIMD_CFUNC simd_long(simd_ulong8 __x) { return (simd_long8)__x; } -static simd_long2 SIMD_CFUNC simd_long(simd_double2 __x) { return __builtin_convertvector(__x,simd_long2); } -static simd_long3 SIMD_CFUNC simd_long(simd_double3 __x) { return __builtin_convertvector(__x,simd_long3); } -static simd_long4 SIMD_CFUNC simd_long(simd_double4 __x) { return __builtin_convertvector(__x,simd_long4); } -static simd_long8 SIMD_CFUNC simd_long(simd_double8 __x) { return __builtin_convertvector(__x,simd_long8); } - -static simd_long2 SIMD_CFUNC simd_long_sat(simd_char2 __x) { return simd_long(__x); } -static simd_long3 SIMD_CFUNC simd_long_sat(simd_char3 __x) { return simd_long(__x); } -static simd_long4 SIMD_CFUNC simd_long_sat(simd_char4 __x) { return simd_long(__x); } -static simd_long8 SIMD_CFUNC simd_long_sat(simd_char8 __x) { return simd_long(__x); } -static simd_long2 SIMD_CFUNC simd_long_sat(simd_short2 __x) { return simd_long(__x); } -static simd_long3 SIMD_CFUNC simd_long_sat(simd_short3 __x) { return simd_long(__x); } -static simd_long4 SIMD_CFUNC simd_long_sat(simd_short4 __x) { return simd_long(__x); } -static simd_long8 SIMD_CFUNC simd_long_sat(simd_short8 __x) { return simd_long(__x); } -static simd_long2 SIMD_CFUNC simd_long_sat(simd_int2 __x) { return simd_long(__x); } -static simd_long3 SIMD_CFUNC simd_long_sat(simd_int3 __x) { return simd_long(__x); } -static simd_long4 SIMD_CFUNC simd_long_sat(simd_int4 __x) { return simd_long(__x); } -static simd_long8 SIMD_CFUNC simd_long_sat(simd_int8 __x) { return simd_long(__x); } -static simd_long2 SIMD_CFUNC simd_long_sat(simd_float2 __x) { return simd_bitselect(simd_long(simd_max(__x,-0x1.0p63f)), 0x7fffffffffffffff, simd_long(__x >= 0x1.0p63f)); } -static simd_long3 SIMD_CFUNC simd_long_sat(simd_float3 __x) { return simd_bitselect(simd_long(simd_max(__x,-0x1.0p63f)), 0x7fffffffffffffff, simd_long(__x >= 0x1.0p63f)); } -static simd_long4 SIMD_CFUNC simd_long_sat(simd_float4 __x) { return simd_bitselect(simd_long(simd_max(__x,-0x1.0p63f)), 0x7fffffffffffffff, simd_long(__x >= 0x1.0p63f)); } -static simd_long8 SIMD_CFUNC simd_long_sat(simd_float8 __x) { return simd_bitselect(simd_long(simd_max(__x,-0x1.0p63f)), 0x7fffffffffffffff, simd_long(__x >= 0x1.0p63f)); } -static simd_long2 SIMD_CFUNC simd_long_sat(simd_long2 __x) { return __x; } -static simd_long3 SIMD_CFUNC simd_long_sat(simd_long3 __x) { return __x; } -static simd_long4 SIMD_CFUNC simd_long_sat(simd_long4 __x) { return __x; } -static simd_long8 SIMD_CFUNC simd_long_sat(simd_long8 __x) { return __x; } -static simd_long2 SIMD_CFUNC simd_long_sat(simd_double2 __x) { return simd_bitselect(simd_long(simd_max(__x,-0x1.0p63)), 0x7fffffffffffffff, __x >= 0x1.0p63); } -static simd_long3 SIMD_CFUNC simd_long_sat(simd_double3 __x) { return simd_bitselect(simd_long(simd_max(__x,-0x1.0p63)), 0x7fffffffffffffff, __x >= 0x1.0p63); } -static simd_long4 SIMD_CFUNC simd_long_sat(simd_double4 __x) { return simd_bitselect(simd_long(simd_max(__x,-0x1.0p63)), 0x7fffffffffffffff, __x >= 0x1.0p63); } -static simd_long8 SIMD_CFUNC simd_long_sat(simd_double8 __x) { return simd_bitselect(simd_long(simd_max(__x,-0x1.0p63)), 0x7fffffffffffffff, __x >= 0x1.0p63); } -static simd_long2 SIMD_CFUNC simd_long_sat(simd_uchar2 __x) { return simd_long(__x); } -static simd_long3 SIMD_CFUNC simd_long_sat(simd_uchar3 __x) { return simd_long(__x); } -static simd_long4 SIMD_CFUNC simd_long_sat(simd_uchar4 __x) { return simd_long(__x); } -static simd_long8 SIMD_CFUNC simd_long_sat(simd_uchar8 __x) { return simd_long(__x); } -static simd_long2 SIMD_CFUNC simd_long_sat(simd_ushort2 __x) { return simd_long(__x); } -static simd_long3 SIMD_CFUNC simd_long_sat(simd_ushort3 __x) { return simd_long(__x); } -static simd_long4 SIMD_CFUNC simd_long_sat(simd_ushort4 __x) { return simd_long(__x); } -static simd_long8 SIMD_CFUNC simd_long_sat(simd_ushort8 __x) { return simd_long(__x); } -static simd_long2 SIMD_CFUNC simd_long_sat(simd_uint2 __x) { return simd_long(__x); } -static simd_long3 SIMD_CFUNC simd_long_sat(simd_uint3 __x) { return simd_long(__x); } -static simd_long4 SIMD_CFUNC simd_long_sat(simd_uint4 __x) { return simd_long(__x); } -static simd_long8 SIMD_CFUNC simd_long_sat(simd_uint8 __x) { return simd_long(__x); } -static simd_long2 SIMD_CFUNC simd_long_sat(simd_ulong2 __x) { return simd_long(simd_min(__x,0x7fffffffffffffff)); } -static simd_long3 SIMD_CFUNC simd_long_sat(simd_ulong3 __x) { return simd_long(simd_min(__x,0x7fffffffffffffff)); } -static simd_long4 SIMD_CFUNC simd_long_sat(simd_ulong4 __x) { return simd_long(simd_min(__x,0x7fffffffffffffff)); } -static simd_long8 SIMD_CFUNC simd_long_sat(simd_ulong8 __x) { return simd_long(simd_min(__x,0x7fffffffffffffff)); } - -static simd_long2 SIMD_CFUNC simd_long_rte(simd_double2 __x) { -#if defined __AVX512F__ - return _mm_cvtpd_epi64(__x); -#elif defined __arm64__ - return vcvtnq_s64_f64(__x); -#else - simd_double2 magic = __tg_copysign(0x1.0p52, __x); - simd_long2 x_is_small = __tg_fabs(__x) < 0x1.0p52; - return __builtin_convertvector(simd_bitselect(__x, (__x + magic) - magic, x_is_small & 0x7fffffffffffffff), simd_long2); -#endif -} - -static simd_long3 SIMD_CFUNC simd_long_rte(simd_double3 __x) { - return simd_make_long3(simd_long_rte(simd_make_double4_undef(__x))); -} - -static simd_long4 SIMD_CFUNC simd_long_rte(simd_double4 __x) { -#if defined __AVX512F__ - return _mm256_cvtpd_epi64(__x); -#else - return simd_make_long4(simd_long_rte(__x.lo), simd_long_rte(__x.hi)); -#endif -} - -static simd_long8 SIMD_CFUNC simd_long_rte(simd_double8 __x) { -#if defined __AVX512F__ - return _mm512_cvt_roundpd_epi64(__x, _MM_FROUND_RINT); -#else - return simd_make_long8(simd_long_rte(__x.lo), simd_long_rte(__x.hi)); -#endif -} - - -static simd_ulong2 SIMD_CFUNC simd_ulong(simd_char2 __x) { return simd_ulong(simd_long(__x)); } -static simd_ulong3 SIMD_CFUNC simd_ulong(simd_char3 __x) { return simd_ulong(simd_long(__x)); } -static simd_ulong4 SIMD_CFUNC simd_ulong(simd_char4 __x) { return simd_ulong(simd_long(__x)); } -static simd_ulong8 SIMD_CFUNC simd_ulong(simd_char8 __x) { return simd_ulong(simd_long(__x)); } -static simd_ulong2 SIMD_CFUNC simd_ulong(simd_uchar2 __x) { return simd_ulong(simd_long(__x)); } -static simd_ulong3 SIMD_CFUNC simd_ulong(simd_uchar3 __x) { return simd_ulong(simd_long(__x)); } -static simd_ulong4 SIMD_CFUNC simd_ulong(simd_uchar4 __x) { return simd_ulong(simd_long(__x)); } -static simd_ulong8 SIMD_CFUNC simd_ulong(simd_uchar8 __x) { return simd_ulong(simd_long(__x)); } -static simd_ulong2 SIMD_CFUNC simd_ulong(simd_short2 __x) { return simd_ulong(simd_long(__x)); } -static simd_ulong3 SIMD_CFUNC simd_ulong(simd_short3 __x) { return simd_ulong(simd_long(__x)); } -static simd_ulong4 SIMD_CFUNC simd_ulong(simd_short4 __x) { return simd_ulong(simd_long(__x)); } -static simd_ulong8 SIMD_CFUNC simd_ulong(simd_short8 __x) { return simd_ulong(simd_long(__x)); } -static simd_ulong2 SIMD_CFUNC simd_ulong(simd_ushort2 __x) { return simd_ulong(simd_long(__x)); } -static simd_ulong3 SIMD_CFUNC simd_ulong(simd_ushort3 __x) { return simd_ulong(simd_long(__x)); } -static simd_ulong4 SIMD_CFUNC simd_ulong(simd_ushort4 __x) { return simd_ulong(simd_long(__x)); } -static simd_ulong8 SIMD_CFUNC simd_ulong(simd_ushort8 __x) { return simd_ulong(simd_long(__x)); } -static simd_ulong2 SIMD_CFUNC simd_ulong(simd_int2 __x) { return simd_ulong(simd_long(__x)); } -static simd_ulong3 SIMD_CFUNC simd_ulong(simd_int3 __x) { return simd_ulong(simd_long(__x)); } -static simd_ulong4 SIMD_CFUNC simd_ulong(simd_int4 __x) { return simd_ulong(simd_long(__x)); } -static simd_ulong8 SIMD_CFUNC simd_ulong(simd_int8 __x) { return simd_ulong(simd_long(__x)); } -static simd_ulong2 SIMD_CFUNC simd_ulong(simd_uint2 __x) { return simd_ulong(simd_long(__x)); } -static simd_ulong3 SIMD_CFUNC simd_ulong(simd_uint3 __x) { return simd_ulong(simd_long(__x)); } -static simd_ulong4 SIMD_CFUNC simd_ulong(simd_uint4 __x) { return simd_ulong(simd_long(__x)); } -static simd_ulong8 SIMD_CFUNC simd_ulong(simd_uint8 __x) { return simd_ulong(simd_long(__x)); } -static simd_ulong2 SIMD_CFUNC simd_ulong(simd_float2 __x) { simd_int2 __big = __x >= 0x1.0p63f; return simd_ulong(simd_long(__x - simd_bitselect((simd_float2)0,0x1.0p63f,__big))) + simd_bitselect((simd_ulong2)0,0x8000000000000000,simd_long(__big)); } -static simd_ulong3 SIMD_CFUNC simd_ulong(simd_float3 __x) { simd_int3 __big = __x >= 0x1.0p63f; return simd_ulong(simd_long(__x - simd_bitselect((simd_float3)0,0x1.0p63f,__big))) + simd_bitselect((simd_ulong3)0,0x8000000000000000,simd_long(__big)); } -static simd_ulong4 SIMD_CFUNC simd_ulong(simd_float4 __x) { simd_int4 __big = __x >= 0x1.0p63f; return simd_ulong(simd_long(__x - simd_bitselect((simd_float4)0,0x1.0p63f,__big))) + simd_bitselect((simd_ulong4)0,0x8000000000000000,simd_long(__big)); } -static simd_ulong8 SIMD_CFUNC simd_ulong(simd_float8 __x) { simd_int8 __big = __x >= 0x1.0p63f; return simd_ulong(simd_long(__x - simd_bitselect((simd_float8)0,0x1.0p63f,__big))) + simd_bitselect((simd_ulong8)0,0x8000000000000000,simd_long(__big)); } -static simd_ulong2 SIMD_CFUNC simd_ulong(simd_long2 __x) { return (simd_ulong2)__x; } -static simd_ulong3 SIMD_CFUNC simd_ulong(simd_long3 __x) { return (simd_ulong3)__x; } -static simd_ulong4 SIMD_CFUNC simd_ulong(simd_long4 __x) { return (simd_ulong4)__x; } -static simd_ulong8 SIMD_CFUNC simd_ulong(simd_long8 __x) { return (simd_ulong8)__x; } -static simd_ulong2 SIMD_CFUNC simd_ulong(simd_ulong2 __x) { return __x; } -static simd_ulong3 SIMD_CFUNC simd_ulong(simd_ulong3 __x) { return __x; } -static simd_ulong4 SIMD_CFUNC simd_ulong(simd_ulong4 __x) { return __x; } -static simd_ulong8 SIMD_CFUNC simd_ulong(simd_ulong8 __x) { return __x; } -static simd_ulong2 SIMD_CFUNC simd_ulong(simd_double2 __x) { simd_long2 __big = __x >= 0x1.0p63; return simd_ulong(simd_long(__x - simd_bitselect((simd_double2)0,0x1.0p63,__big))) + simd_bitselect((simd_ulong2)0,0x8000000000000000,__big); } -static simd_ulong3 SIMD_CFUNC simd_ulong(simd_double3 __x) { simd_long3 __big = __x >= 0x1.0p63; return simd_ulong(simd_long(__x - simd_bitselect((simd_double3)0,0x1.0p63,__big))) + simd_bitselect((simd_ulong3)0,0x8000000000000000,__big); } -static simd_ulong4 SIMD_CFUNC simd_ulong(simd_double4 __x) { simd_long4 __big = __x >= 0x1.0p63; return simd_ulong(simd_long(__x - simd_bitselect((simd_double4)0,0x1.0p63,__big))) + simd_bitselect((simd_ulong4)0,0x8000000000000000,__big); } -static simd_ulong8 SIMD_CFUNC simd_ulong(simd_double8 __x) { simd_long8 __big = __x >= 0x1.0p63; return simd_ulong(simd_long(__x - simd_bitselect((simd_double8)0,0x1.0p63,__big))) + simd_bitselect((simd_ulong8)0,0x8000000000000000,__big); } - -static simd_ulong2 SIMD_CFUNC simd_ulong_sat(simd_char2 __x) { return simd_ulong(simd_max(__x,0)); } -static simd_ulong3 SIMD_CFUNC simd_ulong_sat(simd_char3 __x) { return simd_ulong(simd_max(__x,0)); } -static simd_ulong4 SIMD_CFUNC simd_ulong_sat(simd_char4 __x) { return simd_ulong(simd_max(__x,0)); } -static simd_ulong8 SIMD_CFUNC simd_ulong_sat(simd_char8 __x) { return simd_ulong(simd_max(__x,0)); } -static simd_ulong2 SIMD_CFUNC simd_ulong_sat(simd_short2 __x) { return simd_ulong(simd_max(__x,0)); } -static simd_ulong3 SIMD_CFUNC simd_ulong_sat(simd_short3 __x) { return simd_ulong(simd_max(__x,0)); } -static simd_ulong4 SIMD_CFUNC simd_ulong_sat(simd_short4 __x) { return simd_ulong(simd_max(__x,0)); } -static simd_ulong8 SIMD_CFUNC simd_ulong_sat(simd_short8 __x) { return simd_ulong(simd_max(__x,0)); } -static simd_ulong2 SIMD_CFUNC simd_ulong_sat(simd_int2 __x) { return simd_ulong(simd_max(__x,0)); } -static simd_ulong3 SIMD_CFUNC simd_ulong_sat(simd_int3 __x) { return simd_ulong(simd_max(__x,0)); } -static simd_ulong4 SIMD_CFUNC simd_ulong_sat(simd_int4 __x) { return simd_ulong(simd_max(__x,0)); } -static simd_ulong8 SIMD_CFUNC simd_ulong_sat(simd_int8 __x) { return simd_ulong(simd_max(__x,0)); } -static simd_ulong2 SIMD_CFUNC simd_ulong_sat(simd_float2 __x) { return simd_bitselect(simd_ulong(simd_max(__x,0.f)), 0xffffffffffffffff, simd_long(__x >= 0x1.0p64f)); } -static simd_ulong3 SIMD_CFUNC simd_ulong_sat(simd_float3 __x) { return simd_bitselect(simd_ulong(simd_max(__x,0.f)), 0xffffffffffffffff, simd_long(__x >= 0x1.0p64f)); } -static simd_ulong4 SIMD_CFUNC simd_ulong_sat(simd_float4 __x) { return simd_bitselect(simd_ulong(simd_max(__x,0.f)), 0xffffffffffffffff, simd_long(__x >= 0x1.0p64f)); } -static simd_ulong8 SIMD_CFUNC simd_ulong_sat(simd_float8 __x) { return simd_bitselect(simd_ulong(simd_max(__x,0.f)), 0xffffffffffffffff, simd_long(__x >= 0x1.0p64f)); } -static simd_ulong2 SIMD_CFUNC simd_ulong_sat(simd_long2 __x) { return simd_ulong(simd_max(__x,0)); } -static simd_ulong3 SIMD_CFUNC simd_ulong_sat(simd_long3 __x) { return simd_ulong(simd_max(__x,0)); } -static simd_ulong4 SIMD_CFUNC simd_ulong_sat(simd_long4 __x) { return simd_ulong(simd_max(__x,0)); } -static simd_ulong8 SIMD_CFUNC simd_ulong_sat(simd_long8 __x) { return simd_ulong(simd_max(__x,0)); } -static simd_ulong2 SIMD_CFUNC simd_ulong_sat(simd_double2 __x) { return simd_bitselect(simd_ulong(simd_max(__x,0.0)), 0xffffffffffffffff, __x >= 0x1.0p64); } -static simd_ulong3 SIMD_CFUNC simd_ulong_sat(simd_double3 __x) { return simd_bitselect(simd_ulong(simd_max(__x,0.0)), 0xffffffffffffffff, __x >= 0x1.0p64); } -static simd_ulong4 SIMD_CFUNC simd_ulong_sat(simd_double4 __x) { return simd_bitselect(simd_ulong(simd_max(__x,0.0)), 0xffffffffffffffff, __x >= 0x1.0p64); } -static simd_ulong8 SIMD_CFUNC simd_ulong_sat(simd_double8 __x) { return simd_bitselect(simd_ulong(simd_max(__x,0.0)), 0xffffffffffffffff, __x >= 0x1.0p64); } -static simd_ulong2 SIMD_CFUNC simd_ulong_sat(simd_uchar2 __x) { return simd_ulong(__x); } -static simd_ulong3 SIMD_CFUNC simd_ulong_sat(simd_uchar3 __x) { return simd_ulong(__x); } -static simd_ulong4 SIMD_CFUNC simd_ulong_sat(simd_uchar4 __x) { return simd_ulong(__x); } -static simd_ulong8 SIMD_CFUNC simd_ulong_sat(simd_uchar8 __x) { return simd_ulong(__x); } -static simd_ulong2 SIMD_CFUNC simd_ulong_sat(simd_ushort2 __x) { return simd_ulong(__x); } -static simd_ulong3 SIMD_CFUNC simd_ulong_sat(simd_ushort3 __x) { return simd_ulong(__x); } -static simd_ulong4 SIMD_CFUNC simd_ulong_sat(simd_ushort4 __x) { return simd_ulong(__x); } -static simd_ulong8 SIMD_CFUNC simd_ulong_sat(simd_ushort8 __x) { return simd_ulong(__x); } -static simd_ulong2 SIMD_CFUNC simd_ulong_sat(simd_uint2 __x) { return simd_ulong(__x); } -static simd_ulong3 SIMD_CFUNC simd_ulong_sat(simd_uint3 __x) { return simd_ulong(__x); } -static simd_ulong4 SIMD_CFUNC simd_ulong_sat(simd_uint4 __x) { return simd_ulong(__x); } -static simd_ulong8 SIMD_CFUNC simd_ulong_sat(simd_uint8 __x) { return simd_ulong(__x); } -static simd_ulong2 SIMD_CFUNC simd_ulong_sat(simd_ulong2 __x) { return __x; } -static simd_ulong3 SIMD_CFUNC simd_ulong_sat(simd_ulong3 __x) { return __x; } -static simd_ulong4 SIMD_CFUNC simd_ulong_sat(simd_ulong4 __x) { return __x; } -static simd_ulong8 SIMD_CFUNC simd_ulong_sat(simd_ulong8 __x) { return __x; } - - -static simd_double2 SIMD_CFUNC simd_double(simd_char2 __x) { return simd_double(simd_int(__x)); } -static simd_double3 SIMD_CFUNC simd_double(simd_char3 __x) { return simd_double(simd_int(__x)); } -static simd_double4 SIMD_CFUNC simd_double(simd_char4 __x) { return simd_double(simd_int(__x)); } -static simd_double8 SIMD_CFUNC simd_double(simd_char8 __x) { return simd_double(simd_int(__x)); } -static simd_double2 SIMD_CFUNC simd_double(simd_uchar2 __x) { return simd_double(simd_int(__x)); } -static simd_double3 SIMD_CFUNC simd_double(simd_uchar3 __x) { return simd_double(simd_int(__x)); } -static simd_double4 SIMD_CFUNC simd_double(simd_uchar4 __x) { return simd_double(simd_int(__x)); } -static simd_double8 SIMD_CFUNC simd_double(simd_uchar8 __x) { return simd_double(simd_int(__x)); } -static simd_double2 SIMD_CFUNC simd_double(simd_short2 __x) { return simd_double(simd_int(__x)); } -static simd_double3 SIMD_CFUNC simd_double(simd_short3 __x) { return simd_double(simd_int(__x)); } -static simd_double4 SIMD_CFUNC simd_double(simd_short4 __x) { return simd_double(simd_int(__x)); } -static simd_double8 SIMD_CFUNC simd_double(simd_short8 __x) { return simd_double(simd_int(__x)); } -static simd_double2 SIMD_CFUNC simd_double(simd_ushort2 __x) { return simd_double(simd_int(__x)); } -static simd_double3 SIMD_CFUNC simd_double(simd_ushort3 __x) { return simd_double(simd_int(__x)); } -static simd_double4 SIMD_CFUNC simd_double(simd_ushort4 __x) { return simd_double(simd_int(__x)); } -static simd_double8 SIMD_CFUNC simd_double(simd_ushort8 __x) { return simd_double(simd_int(__x)); } -static simd_double2 SIMD_CFUNC simd_double(simd_int2 __x) { return __builtin_convertvector(__x, simd_double2); } -static simd_double3 SIMD_CFUNC simd_double(simd_int3 __x) { return __builtin_convertvector(__x, simd_double3); } -static simd_double4 SIMD_CFUNC simd_double(simd_int4 __x) { return __builtin_convertvector(__x, simd_double4); } -static simd_double8 SIMD_CFUNC simd_double(simd_int8 __x) { return __builtin_convertvector(__x, simd_double8); } -static simd_double2 SIMD_CFUNC simd_double(simd_uint2 __x) { return __builtin_convertvector(__x, simd_double2); } -static simd_double3 SIMD_CFUNC simd_double(simd_uint3 __x) { return __builtin_convertvector(__x, simd_double3); } -static simd_double4 SIMD_CFUNC simd_double(simd_uint4 __x) { return __builtin_convertvector(__x, simd_double4); } -static simd_double8 SIMD_CFUNC simd_double(simd_uint8 __x) { return __builtin_convertvector(__x, simd_double8); } -static simd_double2 SIMD_CFUNC simd_double(simd_float2 __x) { return __builtin_convertvector(__x, simd_double2); } -static simd_double3 SIMD_CFUNC simd_double(simd_float3 __x) { return __builtin_convertvector(__x, simd_double3); } -static simd_double4 SIMD_CFUNC simd_double(simd_float4 __x) { return __builtin_convertvector(__x, simd_double4); } -static simd_double8 SIMD_CFUNC simd_double(simd_float8 __x) { return __builtin_convertvector(__x, simd_double8); } -static simd_double2 SIMD_CFUNC simd_double(simd_long2 __x) { return __builtin_convertvector(__x, simd_double2); } -static simd_double3 SIMD_CFUNC simd_double(simd_long3 __x) { return __builtin_convertvector(__x, simd_double3); } -static simd_double4 SIMD_CFUNC simd_double(simd_long4 __x) { return __builtin_convertvector(__x, simd_double4); } -static simd_double8 SIMD_CFUNC simd_double(simd_long8 __x) { return __builtin_convertvector(__x, simd_double8); } -static simd_double2 SIMD_CFUNC simd_double(simd_ulong2 __x) { return __builtin_convertvector(__x, simd_double2); } -static simd_double3 SIMD_CFUNC simd_double(simd_ulong3 __x) { return __builtin_convertvector(__x, simd_double3); } -static simd_double4 SIMD_CFUNC simd_double(simd_ulong4 __x) { return __builtin_convertvector(__x, simd_double4); } -static simd_double8 SIMD_CFUNC simd_double(simd_ulong8 __x) { return __builtin_convertvector(__x, simd_double8); } -static simd_double2 SIMD_CFUNC simd_double(simd_double2 __x) { return __builtin_convertvector(__x, simd_double2); } -static simd_double3 SIMD_CFUNC simd_double(simd_double3 __x) { return __builtin_convertvector(__x, simd_double3); } -static simd_double4 SIMD_CFUNC simd_double(simd_double4 __x) { return __builtin_convertvector(__x, simd_double4); } -static simd_double8 SIMD_CFUNC simd_double(simd_double8 __x) { return __builtin_convertvector(__x, simd_double8); } - - -#ifdef __cplusplus -} -#endif -#endif // SIMD_COMPILER_HAS_REQUIRED_FEATURES -#endif // __SIMD_CONVERSION_HEADER__ \ No newline at end of file diff --git a/lib/libc/include/any-macos.11-any/simd/math.h b/lib/libc/include/any-macos.11-any/simd/math.h deleted file mode 100644 index 4d5c654f69..0000000000 --- a/lib/libc/include/any-macos.11-any/simd/math.h +++ /dev/null @@ -1,5380 +0,0 @@ -/*! @header - * The interfaces declared in this header provide elementwise math operations - * on vectors; each lane of the result vector depends only on the data in the - * corresponding lane of the argument(s) to the function. - * - * You should not use the C functions declared in this header directly (these - * are functions with names like `__tg_cos(x)`). These are merely - * implementation details of overloading; instead of calling - * `__tg_cos(x)`, call `cos(x)`. If you are writing C++, use `simd::cos(x)`. - * - * Note that while these vector functions are relatively recent additions, - * scalar fallback is provided for all of them, so they are available even - * when targeting older OS versions. - * - * The following functions are available: - * - * C name C++ name Notes - * ---------------------------------------------------------------------- - * acos(x) simd::acos(x) - * asin(x) simd::asin(x) - * atan(x) simd::atan(x) - * atan2(y,x) simd::atan2(y,x) The argument order matches the scalar - * atan2 function, which gives the angle - * of a line with slope y/x. - * cos(x) simd::cos(x) - * sin(x) simd::sin(x) - * tan(x) simd::tan(x) - * - * cospi(x) simd::cospi(x) Returns cos(pi*x), sin(pi*x), tan(pi*x) - * sinpi(x) simd::sinpi(x) more efficiently and accurately than - * tanpi(x) simd::tanpi(x) would otherwise be possible - * - * acosh(x) simd::acosh(x) - * asinh(x) simd::asinh(x) - * atanh(x) simd::atanh(x) - * - * cosh(x) simd::cosh(x) - * sinh(x) simd::sinh(x) - * tanh(x) simd::tanh(x) - * - * exp(x) simd::exp(x) - * exp2(x) simd::exp2(x) - * exp10(x) simd::exp10(x) More efficient that pow(10,x). - * expm1(x) simd::expm1(x) exp(x)-1, accurate even for tiny x. - * - * log(x) simd::log(x) - * log2(x) simd::log2(x) - * log10(x) simd::log10(x) - * log1p(x) simd::log1p(x) log(1+x), accurate even for tiny x. - * - * fabs(x) simd::fabs(x) - * cbrt(x) simd::cbrt(x) - * sqrt(x) simd::sqrt(x) - * pow(x,y) simd::pow(x,y) - * copysign(x,y) simd::copysign(x,y) - * hypot(x,y) simd::hypot(x,y) sqrt(x*x + y*y), computed without - * overflow.1 - * erf(x) simd::erf(x) - * erfc(x) simd::erfc(x) - * tgamma(x) simd::tgamma(x) - * - * fmod(x,y) simd::fmod(x,y) - * remainder(x,y) simd::remainder(x,y) - * - * ceil(x) simd::ceil(x) - * floor(x) simd::floor(x) - * rint(x) simd::rint(x) - * round(x) simd::round(x) - * trunc(x) simd::trunc(x) - * - * fdim(x,y) simd::fdim(x,y) - * fmax(x,y) simd::fmax(x,y) When one argument to fmin or fmax is - * fmin(x,y) simd::fmin(x,y) constant, use it as the *second* (y) - * argument to get better codegen on some - * architectures. E.g., write fmin(x,2) - * instead of fmin(2,x). - * fma(x,y,z) simd::fma(x,y,z) Fast on arm64 and when targeting AVX2 - * and later; may be quite expensive on - * older hardware. - * simd_muladd(x,y,z) simd::muladd(x,y,z) - * - * @copyright 2014-2017 Apple, Inc. All rights reserved. - * @unsorted */ - -#ifndef SIMD_MATH_HEADER -#define SIMD_MATH_HEADER - -#include -#if SIMD_COMPILER_HAS_REQUIRED_FEATURES -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif -/*! @abstract Do not call this function; instead use `acos` in C and - * Objective-C, and `simd::acos` in C++. */ -static inline SIMD_CFUNC simd_float2 __tg_acos(simd_float2 x); -/*! @abstract Do not call this function; instead use `acos` in C and - * Objective-C, and `simd::acos` in C++. */ -static inline SIMD_CFUNC simd_float3 __tg_acos(simd_float3 x); -/*! @abstract Do not call this function; instead use `acos` in C and - * Objective-C, and `simd::acos` in C++. */ -static inline SIMD_CFUNC simd_float4 __tg_acos(simd_float4 x); -/*! @abstract Do not call this function; instead use `acos` in C and - * Objective-C, and `simd::acos` in C++. */ -static inline SIMD_CFUNC simd_float8 __tg_acos(simd_float8 x); -/*! @abstract Do not call this function; instead use `acos` in C and - * Objective-C, and `simd::acos` in C++. */ -static inline SIMD_CFUNC simd_float16 __tg_acos(simd_float16 x); -/*! @abstract Do not call this function; instead use `acos` in C and - * Objective-C, and `simd::acos` in C++. */ -static inline SIMD_CFUNC simd_double2 __tg_acos(simd_double2 x); -/*! @abstract Do not call this function; instead use `acos` in C and - * Objective-C, and `simd::acos` in C++. */ -static inline SIMD_CFUNC simd_double3 __tg_acos(simd_double3 x); -/*! @abstract Do not call this function; instead use `acos` in C and - * Objective-C, and `simd::acos` in C++. */ -static inline SIMD_CFUNC simd_double4 __tg_acos(simd_double4 x); -/*! @abstract Do not call this function; instead use `acos` in C and - * Objective-C, and `simd::acos` in C++. */ -static inline SIMD_CFUNC simd_double8 __tg_acos(simd_double8 x); - -/*! @abstract Do not call this function; instead use `asin` in C and - * Objective-C, and `simd::asin` in C++. */ -static inline SIMD_CFUNC simd_float2 __tg_asin(simd_float2 x); -/*! @abstract Do not call this function; instead use `asin` in C and - * Objective-C, and `simd::asin` in C++. */ -static inline SIMD_CFUNC simd_float3 __tg_asin(simd_float3 x); -/*! @abstract Do not call this function; instead use `asin` in C and - * Objective-C, and `simd::asin` in C++. */ -static inline SIMD_CFUNC simd_float4 __tg_asin(simd_float4 x); -/*! @abstract Do not call this function; instead use `asin` in C and - * Objective-C, and `simd::asin` in C++. */ -static inline SIMD_CFUNC simd_float8 __tg_asin(simd_float8 x); -/*! @abstract Do not call this function; instead use `asin` in C and - * Objective-C, and `simd::asin` in C++. */ -static inline SIMD_CFUNC simd_float16 __tg_asin(simd_float16 x); -/*! @abstract Do not call this function; instead use `asin` in C and - * Objective-C, and `simd::asin` in C++. */ -static inline SIMD_CFUNC simd_double2 __tg_asin(simd_double2 x); -/*! @abstract Do not call this function; instead use `asin` in C and - * Objective-C, and `simd::asin` in C++. */ -static inline SIMD_CFUNC simd_double3 __tg_asin(simd_double3 x); -/*! @abstract Do not call this function; instead use `asin` in C and - * Objective-C, and `simd::asin` in C++. */ -static inline SIMD_CFUNC simd_double4 __tg_asin(simd_double4 x); -/*! @abstract Do not call this function; instead use `asin` in C and - * Objective-C, and `simd::asin` in C++. */ -static inline SIMD_CFUNC simd_double8 __tg_asin(simd_double8 x); - -/*! @abstract Do not call this function; instead use `atan` in C and - * Objective-C, and `simd::atan` in C++. */ -static inline SIMD_CFUNC simd_float2 __tg_atan(simd_float2 x); -/*! @abstract Do not call this function; instead use `atan` in C and - * Objective-C, and `simd::atan` in C++. */ -static inline SIMD_CFUNC simd_float3 __tg_atan(simd_float3 x); -/*! @abstract Do not call this function; instead use `atan` in C and - * Objective-C, and `simd::atan` in C++. */ -static inline SIMD_CFUNC simd_float4 __tg_atan(simd_float4 x); -/*! @abstract Do not call this function; instead use `atan` in C and - * Objective-C, and `simd::atan` in C++. */ -static inline SIMD_CFUNC simd_float8 __tg_atan(simd_float8 x); -/*! @abstract Do not call this function; instead use `atan` in C and - * Objective-C, and `simd::atan` in C++. */ -static inline SIMD_CFUNC simd_float16 __tg_atan(simd_float16 x); -/*! @abstract Do not call this function; instead use `atan` in C and - * Objective-C, and `simd::atan` in C++. */ -static inline SIMD_CFUNC simd_double2 __tg_atan(simd_double2 x); -/*! @abstract Do not call this function; instead use `atan` in C and - * Objective-C, and `simd::atan` in C++. */ -static inline SIMD_CFUNC simd_double3 __tg_atan(simd_double3 x); -/*! @abstract Do not call this function; instead use `atan` in C and - * Objective-C, and `simd::atan` in C++. */ -static inline SIMD_CFUNC simd_double4 __tg_atan(simd_double4 x); -/*! @abstract Do not call this function; instead use `atan` in C and - * Objective-C, and `simd::atan` in C++. */ -static inline SIMD_CFUNC simd_double8 __tg_atan(simd_double8 x); - -/*! @abstract Do not call this function; instead use `cos` in C and - * Objective-C, and `simd::cos` in C++. */ -static inline SIMD_CFUNC simd_float2 __tg_cos(simd_float2 x); -/*! @abstract Do not call this function; instead use `cos` in C and - * Objective-C, and `simd::cos` in C++. */ -static inline SIMD_CFUNC simd_float3 __tg_cos(simd_float3 x); -/*! @abstract Do not call this function; instead use `cos` in C and - * Objective-C, and `simd::cos` in C++. */ -static inline SIMD_CFUNC simd_float4 __tg_cos(simd_float4 x); -/*! @abstract Do not call this function; instead use `cos` in C and - * Objective-C, and `simd::cos` in C++. */ -static inline SIMD_CFUNC simd_float8 __tg_cos(simd_float8 x); -/*! @abstract Do not call this function; instead use `cos` in C and - * Objective-C, and `simd::cos` in C++. */ -static inline SIMD_CFUNC simd_float16 __tg_cos(simd_float16 x); -/*! @abstract Do not call this function; instead use `cos` in C and - * Objective-C, and `simd::cos` in C++. */ -static inline SIMD_CFUNC simd_double2 __tg_cos(simd_double2 x); -/*! @abstract Do not call this function; instead use `cos` in C and - * Objective-C, and `simd::cos` in C++. */ -static inline SIMD_CFUNC simd_double3 __tg_cos(simd_double3 x); -/*! @abstract Do not call this function; instead use `cos` in C and - * Objective-C, and `simd::cos` in C++. */ -static inline SIMD_CFUNC simd_double4 __tg_cos(simd_double4 x); -/*! @abstract Do not call this function; instead use `cos` in C and - * Objective-C, and `simd::cos` in C++. */ -static inline SIMD_CFUNC simd_double8 __tg_cos(simd_double8 x); - -/*! @abstract Do not call this function; instead use `sin` in C and - * Objective-C, and `simd::sin` in C++. */ -static inline SIMD_CFUNC simd_float2 __tg_sin(simd_float2 x); -/*! @abstract Do not call this function; instead use `sin` in C and - * Objective-C, and `simd::sin` in C++. */ -static inline SIMD_CFUNC simd_float3 __tg_sin(simd_float3 x); -/*! @abstract Do not call this function; instead use `sin` in C and - * Objective-C, and `simd::sin` in C++. */ -static inline SIMD_CFUNC simd_float4 __tg_sin(simd_float4 x); -/*! @abstract Do not call this function; instead use `sin` in C and - * Objective-C, and `simd::sin` in C++. */ -static inline SIMD_CFUNC simd_float8 __tg_sin(simd_float8 x); -/*! @abstract Do not call this function; instead use `sin` in C and - * Objective-C, and `simd::sin` in C++. */ -static inline SIMD_CFUNC simd_float16 __tg_sin(simd_float16 x); -/*! @abstract Do not call this function; instead use `sin` in C and - * Objective-C, and `simd::sin` in C++. */ -static inline SIMD_CFUNC simd_double2 __tg_sin(simd_double2 x); -/*! @abstract Do not call this function; instead use `sin` in C and - * Objective-C, and `simd::sin` in C++. */ -static inline SIMD_CFUNC simd_double3 __tg_sin(simd_double3 x); -/*! @abstract Do not call this function; instead use `sin` in C and - * Objective-C, and `simd::sin` in C++. */ -static inline SIMD_CFUNC simd_double4 __tg_sin(simd_double4 x); -/*! @abstract Do not call this function; instead use `sin` in C and - * Objective-C, and `simd::sin` in C++. */ -static inline SIMD_CFUNC simd_double8 __tg_sin(simd_double8 x); - -/*! @abstract Do not call this function; instead use `tan` in C and - * Objective-C, and `simd::tan` in C++. */ -static inline SIMD_CFUNC simd_float2 __tg_tan(simd_float2 x); -/*! @abstract Do not call this function; instead use `tan` in C and - * Objective-C, and `simd::tan` in C++. */ -static inline SIMD_CFUNC simd_float3 __tg_tan(simd_float3 x); -/*! @abstract Do not call this function; instead use `tan` in C and - * Objective-C, and `simd::tan` in C++. */ -static inline SIMD_CFUNC simd_float4 __tg_tan(simd_float4 x); -/*! @abstract Do not call this function; instead use `tan` in C and - * Objective-C, and `simd::tan` in C++. */ -static inline SIMD_CFUNC simd_float8 __tg_tan(simd_float8 x); -/*! @abstract Do not call this function; instead use `tan` in C and - * Objective-C, and `simd::tan` in C++. */ -static inline SIMD_CFUNC simd_float16 __tg_tan(simd_float16 x); -/*! @abstract Do not call this function; instead use `tan` in C and - * Objective-C, and `simd::tan` in C++. */ -static inline SIMD_CFUNC simd_double2 __tg_tan(simd_double2 x); -/*! @abstract Do not call this function; instead use `tan` in C and - * Objective-C, and `simd::tan` in C++. */ -static inline SIMD_CFUNC simd_double3 __tg_tan(simd_double3 x); -/*! @abstract Do not call this function; instead use `tan` in C and - * Objective-C, and `simd::tan` in C++. */ -static inline SIMD_CFUNC simd_double4 __tg_tan(simd_double4 x); -/*! @abstract Do not call this function; instead use `tan` in C and - * Objective-C, and `simd::tan` in C++. */ -static inline SIMD_CFUNC simd_double8 __tg_tan(simd_double8 x); - -#if SIMD_LIBRARY_VERSION >= 1 -/*! @abstract Do not call this function; instead use `cospi` in C and - * Objective-C, and `simd::cospi` in C++. */ -static inline SIMD_CFUNC simd_float2 __tg_cospi(simd_float2 x); -/*! @abstract Do not call this function; instead use `cospi` in C and - * Objective-C, and `simd::cospi` in C++. */ -static inline SIMD_CFUNC simd_float3 __tg_cospi(simd_float3 x); -/*! @abstract Do not call this function; instead use `cospi` in C and - * Objective-C, and `simd::cospi` in C++. */ -static inline SIMD_CFUNC simd_float4 __tg_cospi(simd_float4 x); -/*! @abstract Do not call this function; instead use `cospi` in C and - * Objective-C, and `simd::cospi` in C++. */ -static inline SIMD_CFUNC simd_float8 __tg_cospi(simd_float8 x); -/*! @abstract Do not call this function; instead use `cospi` in C and - * Objective-C, and `simd::cospi` in C++. */ -static inline SIMD_CFUNC simd_float16 __tg_cospi(simd_float16 x); -/*! @abstract Do not call this function; instead use `cospi` in C and - * Objective-C, and `simd::cospi` in C++. */ -static inline SIMD_CFUNC simd_double2 __tg_cospi(simd_double2 x); -/*! @abstract Do not call this function; instead use `cospi` in C and - * Objective-C, and `simd::cospi` in C++. */ -static inline SIMD_CFUNC simd_double3 __tg_cospi(simd_double3 x); -/*! @abstract Do not call this function; instead use `cospi` in C and - * Objective-C, and `simd::cospi` in C++. */ -static inline SIMD_CFUNC simd_double4 __tg_cospi(simd_double4 x); -/*! @abstract Do not call this function; instead use `cospi` in C and - * Objective-C, and `simd::cospi` in C++. */ -static inline SIMD_CFUNC simd_double8 __tg_cospi(simd_double8 x); -#endif - -#if SIMD_LIBRARY_VERSION >= 1 -/*! @abstract Do not call this function; instead use `sinpi` in C and - * Objective-C, and `simd::sinpi` in C++. */ -static inline SIMD_CFUNC simd_float2 __tg_sinpi(simd_float2 x); -/*! @abstract Do not call this function; instead use `sinpi` in C and - * Objective-C, and `simd::sinpi` in C++. */ -static inline SIMD_CFUNC simd_float3 __tg_sinpi(simd_float3 x); -/*! @abstract Do not call this function; instead use `sinpi` in C and - * Objective-C, and `simd::sinpi` in C++. */ -static inline SIMD_CFUNC simd_float4 __tg_sinpi(simd_float4 x); -/*! @abstract Do not call this function; instead use `sinpi` in C and - * Objective-C, and `simd::sinpi` in C++. */ -static inline SIMD_CFUNC simd_float8 __tg_sinpi(simd_float8 x); -/*! @abstract Do not call this function; instead use `sinpi` in C and - * Objective-C, and `simd::sinpi` in C++. */ -static inline SIMD_CFUNC simd_float16 __tg_sinpi(simd_float16 x); -/*! @abstract Do not call this function; instead use `sinpi` in C and - * Objective-C, and `simd::sinpi` in C++. */ -static inline SIMD_CFUNC simd_double2 __tg_sinpi(simd_double2 x); -/*! @abstract Do not call this function; instead use `sinpi` in C and - * Objective-C, and `simd::sinpi` in C++. */ -static inline SIMD_CFUNC simd_double3 __tg_sinpi(simd_double3 x); -/*! @abstract Do not call this function; instead use `sinpi` in C and - * Objective-C, and `simd::sinpi` in C++. */ -static inline SIMD_CFUNC simd_double4 __tg_sinpi(simd_double4 x); -/*! @abstract Do not call this function; instead use `sinpi` in C and - * Objective-C, and `simd::sinpi` in C++. */ -static inline SIMD_CFUNC simd_double8 __tg_sinpi(simd_double8 x); -#endif - -#if SIMD_LIBRARY_VERSION >= 1 -/*! @abstract Do not call this function; instead use `tanpi` in C and - * Objective-C, and `simd::tanpi` in C++. */ -static inline SIMD_CFUNC simd_float2 __tg_tanpi(simd_float2 x); -/*! @abstract Do not call this function; instead use `tanpi` in C and - * Objective-C, and `simd::tanpi` in C++. */ -static inline SIMD_CFUNC simd_float3 __tg_tanpi(simd_float3 x); -/*! @abstract Do not call this function; instead use `tanpi` in C and - * Objective-C, and `simd::tanpi` in C++. */ -static inline SIMD_CFUNC simd_float4 __tg_tanpi(simd_float4 x); -/*! @abstract Do not call this function; instead use `tanpi` in C and - * Objective-C, and `simd::tanpi` in C++. */ -static inline SIMD_CFUNC simd_float8 __tg_tanpi(simd_float8 x); -/*! @abstract Do not call this function; instead use `tanpi` in C and - * Objective-C, and `simd::tanpi` in C++. */ -static inline SIMD_CFUNC simd_float16 __tg_tanpi(simd_float16 x); -/*! @abstract Do not call this function; instead use `tanpi` in C and - * Objective-C, and `simd::tanpi` in C++. */ -static inline SIMD_CFUNC simd_double2 __tg_tanpi(simd_double2 x); -/*! @abstract Do not call this function; instead use `tanpi` in C and - * Objective-C, and `simd::tanpi` in C++. */ -static inline SIMD_CFUNC simd_double3 __tg_tanpi(simd_double3 x); -/*! @abstract Do not call this function; instead use `tanpi` in C and - * Objective-C, and `simd::tanpi` in C++. */ -static inline SIMD_CFUNC simd_double4 __tg_tanpi(simd_double4 x); -/*! @abstract Do not call this function; instead use `tanpi` in C and - * Objective-C, and `simd::tanpi` in C++. */ -static inline SIMD_CFUNC simd_double8 __tg_tanpi(simd_double8 x); -#endif - -/*! @abstract Do not call this function; instead use `acosh` in C and - * Objective-C, and `simd::acosh` in C++. */ -static inline SIMD_CFUNC simd_float2 __tg_acosh(simd_float2 x); -/*! @abstract Do not call this function; instead use `acosh` in C and - * Objective-C, and `simd::acosh` in C++. */ -static inline SIMD_CFUNC simd_float3 __tg_acosh(simd_float3 x); -/*! @abstract Do not call this function; instead use `acosh` in C and - * Objective-C, and `simd::acosh` in C++. */ -static inline SIMD_CFUNC simd_float4 __tg_acosh(simd_float4 x); -/*! @abstract Do not call this function; instead use `acosh` in C and - * Objective-C, and `simd::acosh` in C++. */ -static inline SIMD_CFUNC simd_float8 __tg_acosh(simd_float8 x); -/*! @abstract Do not call this function; instead use `acosh` in C and - * Objective-C, and `simd::acosh` in C++. */ -static inline SIMD_CFUNC simd_float16 __tg_acosh(simd_float16 x); -/*! @abstract Do not call this function; instead use `acosh` in C and - * Objective-C, and `simd::acosh` in C++. */ -static inline SIMD_CFUNC simd_double2 __tg_acosh(simd_double2 x); -/*! @abstract Do not call this function; instead use `acosh` in C and - * Objective-C, and `simd::acosh` in C++. */ -static inline SIMD_CFUNC simd_double3 __tg_acosh(simd_double3 x); -/*! @abstract Do not call this function; instead use `acosh` in C and - * Objective-C, and `simd::acosh` in C++. */ -static inline SIMD_CFUNC simd_double4 __tg_acosh(simd_double4 x); -/*! @abstract Do not call this function; instead use `acosh` in C and - * Objective-C, and `simd::acosh` in C++. */ -static inline SIMD_CFUNC simd_double8 __tg_acosh(simd_double8 x); - -/*! @abstract Do not call this function; instead use `asinh` in C and - * Objective-C, and `simd::asinh` in C++. */ -static inline SIMD_CFUNC simd_float2 __tg_asinh(simd_float2 x); -/*! @abstract Do not call this function; instead use `asinh` in C and - * Objective-C, and `simd::asinh` in C++. */ -static inline SIMD_CFUNC simd_float3 __tg_asinh(simd_float3 x); -/*! @abstract Do not call this function; instead use `asinh` in C and - * Objective-C, and `simd::asinh` in C++. */ -static inline SIMD_CFUNC simd_float4 __tg_asinh(simd_float4 x); -/*! @abstract Do not call this function; instead use `asinh` in C and - * Objective-C, and `simd::asinh` in C++. */ -static inline SIMD_CFUNC simd_float8 __tg_asinh(simd_float8 x); -/*! @abstract Do not call this function; instead use `asinh` in C and - * Objective-C, and `simd::asinh` in C++. */ -static inline SIMD_CFUNC simd_float16 __tg_asinh(simd_float16 x); -/*! @abstract Do not call this function; instead use `asinh` in C and - * Objective-C, and `simd::asinh` in C++. */ -static inline SIMD_CFUNC simd_double2 __tg_asinh(simd_double2 x); -/*! @abstract Do not call this function; instead use `asinh` in C and - * Objective-C, and `simd::asinh` in C++. */ -static inline SIMD_CFUNC simd_double3 __tg_asinh(simd_double3 x); -/*! @abstract Do not call this function; instead use `asinh` in C and - * Objective-C, and `simd::asinh` in C++. */ -static inline SIMD_CFUNC simd_double4 __tg_asinh(simd_double4 x); -/*! @abstract Do not call this function; instead use `asinh` in C and - * Objective-C, and `simd::asinh` in C++. */ -static inline SIMD_CFUNC simd_double8 __tg_asinh(simd_double8 x); - -/*! @abstract Do not call this function; instead use `atanh` in C and - * Objective-C, and `simd::atanh` in C++. */ -static inline SIMD_CFUNC simd_float2 __tg_atanh(simd_float2 x); -/*! @abstract Do not call this function; instead use `atanh` in C and - * Objective-C, and `simd::atanh` in C++. */ -static inline SIMD_CFUNC simd_float3 __tg_atanh(simd_float3 x); -/*! @abstract Do not call this function; instead use `atanh` in C and - * Objective-C, and `simd::atanh` in C++. */ -static inline SIMD_CFUNC simd_float4 __tg_atanh(simd_float4 x); -/*! @abstract Do not call this function; instead use `atanh` in C and - * Objective-C, and `simd::atanh` in C++. */ -static inline SIMD_CFUNC simd_float8 __tg_atanh(simd_float8 x); -/*! @abstract Do not call this function; instead use `atanh` in C and - * Objective-C, and `simd::atanh` in C++. */ -static inline SIMD_CFUNC simd_float16 __tg_atanh(simd_float16 x); -/*! @abstract Do not call this function; instead use `atanh` in C and - * Objective-C, and `simd::atanh` in C++. */ -static inline SIMD_CFUNC simd_double2 __tg_atanh(simd_double2 x); -/*! @abstract Do not call this function; instead use `atanh` in C and - * Objective-C, and `simd::atanh` in C++. */ -static inline SIMD_CFUNC simd_double3 __tg_atanh(simd_double3 x); -/*! @abstract Do not call this function; instead use `atanh` in C and - * Objective-C, and `simd::atanh` in C++. */ -static inline SIMD_CFUNC simd_double4 __tg_atanh(simd_double4 x); -/*! @abstract Do not call this function; instead use `atanh` in C and - * Objective-C, and `simd::atanh` in C++. */ -static inline SIMD_CFUNC simd_double8 __tg_atanh(simd_double8 x); - -/*! @abstract Do not call this function; instead use `cosh` in C and - * Objective-C, and `simd::cosh` in C++. */ -static inline SIMD_CFUNC simd_float2 __tg_cosh(simd_float2 x); -/*! @abstract Do not call this function; instead use `cosh` in C and - * Objective-C, and `simd::cosh` in C++. */ -static inline SIMD_CFUNC simd_float3 __tg_cosh(simd_float3 x); -/*! @abstract Do not call this function; instead use `cosh` in C and - * Objective-C, and `simd::cosh` in C++. */ -static inline SIMD_CFUNC simd_float4 __tg_cosh(simd_float4 x); -/*! @abstract Do not call this function; instead use `cosh` in C and - * Objective-C, and `simd::cosh` in C++. */ -static inline SIMD_CFUNC simd_float8 __tg_cosh(simd_float8 x); -/*! @abstract Do not call this function; instead use `cosh` in C and - * Objective-C, and `simd::cosh` in C++. */ -static inline SIMD_CFUNC simd_float16 __tg_cosh(simd_float16 x); -/*! @abstract Do not call this function; instead use `cosh` in C and - * Objective-C, and `simd::cosh` in C++. */ -static inline SIMD_CFUNC simd_double2 __tg_cosh(simd_double2 x); -/*! @abstract Do not call this function; instead use `cosh` in C and - * Objective-C, and `simd::cosh` in C++. */ -static inline SIMD_CFUNC simd_double3 __tg_cosh(simd_double3 x); -/*! @abstract Do not call this function; instead use `cosh` in C and - * Objective-C, and `simd::cosh` in C++. */ -static inline SIMD_CFUNC simd_double4 __tg_cosh(simd_double4 x); -/*! @abstract Do not call this function; instead use `cosh` in C and - * Objective-C, and `simd::cosh` in C++. */ -static inline SIMD_CFUNC simd_double8 __tg_cosh(simd_double8 x); - -/*! @abstract Do not call this function; instead use `sinh` in C and - * Objective-C, and `simd::sinh` in C++. */ -static inline SIMD_CFUNC simd_float2 __tg_sinh(simd_float2 x); -/*! @abstract Do not call this function; instead use `sinh` in C and - * Objective-C, and `simd::sinh` in C++. */ -static inline SIMD_CFUNC simd_float3 __tg_sinh(simd_float3 x); -/*! @abstract Do not call this function; instead use `sinh` in C and - * Objective-C, and `simd::sinh` in C++. */ -static inline SIMD_CFUNC simd_float4 __tg_sinh(simd_float4 x); -/*! @abstract Do not call this function; instead use `sinh` in C and - * Objective-C, and `simd::sinh` in C++. */ -static inline SIMD_CFUNC simd_float8 __tg_sinh(simd_float8 x); -/*! @abstract Do not call this function; instead use `sinh` in C and - * Objective-C, and `simd::sinh` in C++. */ -static inline SIMD_CFUNC simd_float16 __tg_sinh(simd_float16 x); -/*! @abstract Do not call this function; instead use `sinh` in C and - * Objective-C, and `simd::sinh` in C++. */ -static inline SIMD_CFUNC simd_double2 __tg_sinh(simd_double2 x); -/*! @abstract Do not call this function; instead use `sinh` in C and - * Objective-C, and `simd::sinh` in C++. */ -static inline SIMD_CFUNC simd_double3 __tg_sinh(simd_double3 x); -/*! @abstract Do not call this function; instead use `sinh` in C and - * Objective-C, and `simd::sinh` in C++. */ -static inline SIMD_CFUNC simd_double4 __tg_sinh(simd_double4 x); -/*! @abstract Do not call this function; instead use `sinh` in C and - * Objective-C, and `simd::sinh` in C++. */ -static inline SIMD_CFUNC simd_double8 __tg_sinh(simd_double8 x); - -/*! @abstract Do not call this function; instead use `tanh` in C and - * Objective-C, and `simd::tanh` in C++. */ -static inline SIMD_CFUNC simd_float2 __tg_tanh(simd_float2 x); -/*! @abstract Do not call this function; instead use `tanh` in C and - * Objective-C, and `simd::tanh` in C++. */ -static inline SIMD_CFUNC simd_float3 __tg_tanh(simd_float3 x); -/*! @abstract Do not call this function; instead use `tanh` in C and - * Objective-C, and `simd::tanh` in C++. */ -static inline SIMD_CFUNC simd_float4 __tg_tanh(simd_float4 x); -/*! @abstract Do not call this function; instead use `tanh` in C and - * Objective-C, and `simd::tanh` in C++. */ -static inline SIMD_CFUNC simd_float8 __tg_tanh(simd_float8 x); -/*! @abstract Do not call this function; instead use `tanh` in C and - * Objective-C, and `simd::tanh` in C++. */ -static inline SIMD_CFUNC simd_float16 __tg_tanh(simd_float16 x); -/*! @abstract Do not call this function; instead use `tanh` in C and - * Objective-C, and `simd::tanh` in C++. */ -static inline SIMD_CFUNC simd_double2 __tg_tanh(simd_double2 x); -/*! @abstract Do not call this function; instead use `tanh` in C and - * Objective-C, and `simd::tanh` in C++. */ -static inline SIMD_CFUNC simd_double3 __tg_tanh(simd_double3 x); -/*! @abstract Do not call this function; instead use `tanh` in C and - * Objective-C, and `simd::tanh` in C++. */ -static inline SIMD_CFUNC simd_double4 __tg_tanh(simd_double4 x); -/*! @abstract Do not call this function; instead use `tanh` in C and - * Objective-C, and `simd::tanh` in C++. */ -static inline SIMD_CFUNC simd_double8 __tg_tanh(simd_double8 x); - -/*! @abstract Do not call this function; instead use `exp` in C and - * Objective-C, and `simd::exp` in C++. */ -static inline SIMD_CFUNC simd_float2 __tg_exp(simd_float2 x); -/*! @abstract Do not call this function; instead use `exp` in C and - * Objective-C, and `simd::exp` in C++. */ -static inline SIMD_CFUNC simd_float3 __tg_exp(simd_float3 x); -/*! @abstract Do not call this function; instead use `exp` in C and - * Objective-C, and `simd::exp` in C++. */ -static inline SIMD_CFUNC simd_float4 __tg_exp(simd_float4 x); -/*! @abstract Do not call this function; instead use `exp` in C and - * Objective-C, and `simd::exp` in C++. */ -static inline SIMD_CFUNC simd_float8 __tg_exp(simd_float8 x); -/*! @abstract Do not call this function; instead use `exp` in C and - * Objective-C, and `simd::exp` in C++. */ -static inline SIMD_CFUNC simd_float16 __tg_exp(simd_float16 x); -/*! @abstract Do not call this function; instead use `exp` in C and - * Objective-C, and `simd::exp` in C++. */ -static inline SIMD_CFUNC simd_double2 __tg_exp(simd_double2 x); -/*! @abstract Do not call this function; instead use `exp` in C and - * Objective-C, and `simd::exp` in C++. */ -static inline SIMD_CFUNC simd_double3 __tg_exp(simd_double3 x); -/*! @abstract Do not call this function; instead use `exp` in C and - * Objective-C, and `simd::exp` in C++. */ -static inline SIMD_CFUNC simd_double4 __tg_exp(simd_double4 x); -/*! @abstract Do not call this function; instead use `exp` in C and - * Objective-C, and `simd::exp` in C++. */ -static inline SIMD_CFUNC simd_double8 __tg_exp(simd_double8 x); - -/*! @abstract Do not call this function; instead use `exp2` in C and - * Objective-C, and `simd::exp2` in C++. */ -static inline SIMD_CFUNC simd_float2 __tg_exp2(simd_float2 x); -/*! @abstract Do not call this function; instead use `exp2` in C and - * Objective-C, and `simd::exp2` in C++. */ -static inline SIMD_CFUNC simd_float3 __tg_exp2(simd_float3 x); -/*! @abstract Do not call this function; instead use `exp2` in C and - * Objective-C, and `simd::exp2` in C++. */ -static inline SIMD_CFUNC simd_float4 __tg_exp2(simd_float4 x); -/*! @abstract Do not call this function; instead use `exp2` in C and - * Objective-C, and `simd::exp2` in C++. */ -static inline SIMD_CFUNC simd_float8 __tg_exp2(simd_float8 x); -/*! @abstract Do not call this function; instead use `exp2` in C and - * Objective-C, and `simd::exp2` in C++. */ -static inline SIMD_CFUNC simd_float16 __tg_exp2(simd_float16 x); -/*! @abstract Do not call this function; instead use `exp2` in C and - * Objective-C, and `simd::exp2` in C++. */ -static inline SIMD_CFUNC simd_double2 __tg_exp2(simd_double2 x); -/*! @abstract Do not call this function; instead use `exp2` in C and - * Objective-C, and `simd::exp2` in C++. */ -static inline SIMD_CFUNC simd_double3 __tg_exp2(simd_double3 x); -/*! @abstract Do not call this function; instead use `exp2` in C and - * Objective-C, and `simd::exp2` in C++. */ -static inline SIMD_CFUNC simd_double4 __tg_exp2(simd_double4 x); -/*! @abstract Do not call this function; instead use `exp2` in C and - * Objective-C, and `simd::exp2` in C++. */ -static inline SIMD_CFUNC simd_double8 __tg_exp2(simd_double8 x); - -#if SIMD_LIBRARY_VERSION >= 1 -/*! @abstract Do not call this function; instead use `exp10` in C and - * Objective-C, and `simd::exp10` in C++. */ -static inline SIMD_CFUNC simd_float2 __tg_exp10(simd_float2 x); -/*! @abstract Do not call this function; instead use `exp10` in C and - * Objective-C, and `simd::exp10` in C++. */ -static inline SIMD_CFUNC simd_float3 __tg_exp10(simd_float3 x); -/*! @abstract Do not call this function; instead use `exp10` in C and - * Objective-C, and `simd::exp10` in C++. */ -static inline SIMD_CFUNC simd_float4 __tg_exp10(simd_float4 x); -/*! @abstract Do not call this function; instead use `exp10` in C and - * Objective-C, and `simd::exp10` in C++. */ -static inline SIMD_CFUNC simd_float8 __tg_exp10(simd_float8 x); -/*! @abstract Do not call this function; instead use `exp10` in C and - * Objective-C, and `simd::exp10` in C++. */ -static inline SIMD_CFUNC simd_float16 __tg_exp10(simd_float16 x); -/*! @abstract Do not call this function; instead use `exp10` in C and - * Objective-C, and `simd::exp10` in C++. */ -static inline SIMD_CFUNC simd_double2 __tg_exp10(simd_double2 x); -/*! @abstract Do not call this function; instead use `exp10` in C and - * Objective-C, and `simd::exp10` in C++. */ -static inline SIMD_CFUNC simd_double3 __tg_exp10(simd_double3 x); -/*! @abstract Do not call this function; instead use `exp10` in C and - * Objective-C, and `simd::exp10` in C++. */ -static inline SIMD_CFUNC simd_double4 __tg_exp10(simd_double4 x); -/*! @abstract Do not call this function; instead use `exp10` in C and - * Objective-C, and `simd::exp10` in C++. */ -static inline SIMD_CFUNC simd_double8 __tg_exp10(simd_double8 x); -#endif - -/*! @abstract Do not call this function; instead use `expm1` in C and - * Objective-C, and `simd::expm1` in C++. */ -static inline SIMD_CFUNC simd_float2 __tg_expm1(simd_float2 x); -/*! @abstract Do not call this function; instead use `expm1` in C and - * Objective-C, and `simd::expm1` in C++. */ -static inline SIMD_CFUNC simd_float3 __tg_expm1(simd_float3 x); -/*! @abstract Do not call this function; instead use `expm1` in C and - * Objective-C, and `simd::expm1` in C++. */ -static inline SIMD_CFUNC simd_float4 __tg_expm1(simd_float4 x); -/*! @abstract Do not call this function; instead use `expm1` in C and - * Objective-C, and `simd::expm1` in C++. */ -static inline SIMD_CFUNC simd_float8 __tg_expm1(simd_float8 x); -/*! @abstract Do not call this function; instead use `expm1` in C and - * Objective-C, and `simd::expm1` in C++. */ -static inline SIMD_CFUNC simd_float16 __tg_expm1(simd_float16 x); -/*! @abstract Do not call this function; instead use `expm1` in C and - * Objective-C, and `simd::expm1` in C++. */ -static inline SIMD_CFUNC simd_double2 __tg_expm1(simd_double2 x); -/*! @abstract Do not call this function; instead use `expm1` in C and - * Objective-C, and `simd::expm1` in C++. */ -static inline SIMD_CFUNC simd_double3 __tg_expm1(simd_double3 x); -/*! @abstract Do not call this function; instead use `expm1` in C and - * Objective-C, and `simd::expm1` in C++. */ -static inline SIMD_CFUNC simd_double4 __tg_expm1(simd_double4 x); -/*! @abstract Do not call this function; instead use `expm1` in C and - * Objective-C, and `simd::expm1` in C++. */ -static inline SIMD_CFUNC simd_double8 __tg_expm1(simd_double8 x); - -/*! @abstract Do not call this function; instead use `log` in C and - * Objective-C, and `simd::log` in C++. */ -static inline SIMD_CFUNC simd_float2 __tg_log(simd_float2 x); -/*! @abstract Do not call this function; instead use `log` in C and - * Objective-C, and `simd::log` in C++. */ -static inline SIMD_CFUNC simd_float3 __tg_log(simd_float3 x); -/*! @abstract Do not call this function; instead use `log` in C and - * Objective-C, and `simd::log` in C++. */ -static inline SIMD_CFUNC simd_float4 __tg_log(simd_float4 x); -/*! @abstract Do not call this function; instead use `log` in C and - * Objective-C, and `simd::log` in C++. */ -static inline SIMD_CFUNC simd_float8 __tg_log(simd_float8 x); -/*! @abstract Do not call this function; instead use `log` in C and - * Objective-C, and `simd::log` in C++. */ -static inline SIMD_CFUNC simd_float16 __tg_log(simd_float16 x); -/*! @abstract Do not call this function; instead use `log` in C and - * Objective-C, and `simd::log` in C++. */ -static inline SIMD_CFUNC simd_double2 __tg_log(simd_double2 x); -/*! @abstract Do not call this function; instead use `log` in C and - * Objective-C, and `simd::log` in C++. */ -static inline SIMD_CFUNC simd_double3 __tg_log(simd_double3 x); -/*! @abstract Do not call this function; instead use `log` in C and - * Objective-C, and `simd::log` in C++. */ -static inline SIMD_CFUNC simd_double4 __tg_log(simd_double4 x); -/*! @abstract Do not call this function; instead use `log` in C and - * Objective-C, and `simd::log` in C++. */ -static inline SIMD_CFUNC simd_double8 __tg_log(simd_double8 x); - -/*! @abstract Do not call this function; instead use `log2` in C and - * Objective-C, and `simd::log2` in C++. */ -static inline SIMD_CFUNC simd_float2 __tg_log2(simd_float2 x); -/*! @abstract Do not call this function; instead use `log2` in C and - * Objective-C, and `simd::log2` in C++. */ -static inline SIMD_CFUNC simd_float3 __tg_log2(simd_float3 x); -/*! @abstract Do not call this function; instead use `log2` in C and - * Objective-C, and `simd::log2` in C++. */ -static inline SIMD_CFUNC simd_float4 __tg_log2(simd_float4 x); -/*! @abstract Do not call this function; instead use `log2` in C and - * Objective-C, and `simd::log2` in C++. */ -static inline SIMD_CFUNC simd_float8 __tg_log2(simd_float8 x); -/*! @abstract Do not call this function; instead use `log2` in C and - * Objective-C, and `simd::log2` in C++. */ -static inline SIMD_CFUNC simd_float16 __tg_log2(simd_float16 x); -/*! @abstract Do not call this function; instead use `log2` in C and - * Objective-C, and `simd::log2` in C++. */ -static inline SIMD_CFUNC simd_double2 __tg_log2(simd_double2 x); -/*! @abstract Do not call this function; instead use `log2` in C and - * Objective-C, and `simd::log2` in C++. */ -static inline SIMD_CFUNC simd_double3 __tg_log2(simd_double3 x); -/*! @abstract Do not call this function; instead use `log2` in C and - * Objective-C, and `simd::log2` in C++. */ -static inline SIMD_CFUNC simd_double4 __tg_log2(simd_double4 x); -/*! @abstract Do not call this function; instead use `log2` in C and - * Objective-C, and `simd::log2` in C++. */ -static inline SIMD_CFUNC simd_double8 __tg_log2(simd_double8 x); - -/*! @abstract Do not call this function; instead use `log10` in C and - * Objective-C, and `simd::log10` in C++. */ -static inline SIMD_CFUNC simd_float2 __tg_log10(simd_float2 x); -/*! @abstract Do not call this function; instead use `log10` in C and - * Objective-C, and `simd::log10` in C++. */ -static inline SIMD_CFUNC simd_float3 __tg_log10(simd_float3 x); -/*! @abstract Do not call this function; instead use `log10` in C and - * Objective-C, and `simd::log10` in C++. */ -static inline SIMD_CFUNC simd_float4 __tg_log10(simd_float4 x); -/*! @abstract Do not call this function; instead use `log10` in C and - * Objective-C, and `simd::log10` in C++. */ -static inline SIMD_CFUNC simd_float8 __tg_log10(simd_float8 x); -/*! @abstract Do not call this function; instead use `log10` in C and - * Objective-C, and `simd::log10` in C++. */ -static inline SIMD_CFUNC simd_float16 __tg_log10(simd_float16 x); -/*! @abstract Do not call this function; instead use `log10` in C and - * Objective-C, and `simd::log10` in C++. */ -static inline SIMD_CFUNC simd_double2 __tg_log10(simd_double2 x); -/*! @abstract Do not call this function; instead use `log10` in C and - * Objective-C, and `simd::log10` in C++. */ -static inline SIMD_CFUNC simd_double3 __tg_log10(simd_double3 x); -/*! @abstract Do not call this function; instead use `log10` in C and - * Objective-C, and `simd::log10` in C++. */ -static inline SIMD_CFUNC simd_double4 __tg_log10(simd_double4 x); -/*! @abstract Do not call this function; instead use `log10` in C and - * Objective-C, and `simd::log10` in C++. */ -static inline SIMD_CFUNC simd_double8 __tg_log10(simd_double8 x); - -/*! @abstract Do not call this function; instead use `log1p` in C and - * Objective-C, and `simd::log1p` in C++. */ -static inline SIMD_CFUNC simd_float2 __tg_log1p(simd_float2 x); -/*! @abstract Do not call this function; instead use `log1p` in C and - * Objective-C, and `simd::log1p` in C++. */ -static inline SIMD_CFUNC simd_float3 __tg_log1p(simd_float3 x); -/*! @abstract Do not call this function; instead use `log1p` in C and - * Objective-C, and `simd::log1p` in C++. */ -static inline SIMD_CFUNC simd_float4 __tg_log1p(simd_float4 x); -/*! @abstract Do not call this function; instead use `log1p` in C and - * Objective-C, and `simd::log1p` in C++. */ -static inline SIMD_CFUNC simd_float8 __tg_log1p(simd_float8 x); -/*! @abstract Do not call this function; instead use `log1p` in C and - * Objective-C, and `simd::log1p` in C++. */ -static inline SIMD_CFUNC simd_float16 __tg_log1p(simd_float16 x); -/*! @abstract Do not call this function; instead use `log1p` in C and - * Objective-C, and `simd::log1p` in C++. */ -static inline SIMD_CFUNC simd_double2 __tg_log1p(simd_double2 x); -/*! @abstract Do not call this function; instead use `log1p` in C and - * Objective-C, and `simd::log1p` in C++. */ -static inline SIMD_CFUNC simd_double3 __tg_log1p(simd_double3 x); -/*! @abstract Do not call this function; instead use `log1p` in C and - * Objective-C, and `simd::log1p` in C++. */ -static inline SIMD_CFUNC simd_double4 __tg_log1p(simd_double4 x); -/*! @abstract Do not call this function; instead use `log1p` in C and - * Objective-C, and `simd::log1p` in C++. */ -static inline SIMD_CFUNC simd_double8 __tg_log1p(simd_double8 x); - -/*! @abstract Do not call this function; instead use `fabs` in C and - * Objective-C, and `simd::fabs` in C++. */ -static inline SIMD_CFUNC simd_float2 __tg_fabs(simd_float2 x); -/*! @abstract Do not call this function; instead use `fabs` in C and - * Objective-C, and `simd::fabs` in C++. */ -static inline SIMD_CFUNC simd_float3 __tg_fabs(simd_float3 x); -/*! @abstract Do not call this function; instead use `fabs` in C and - * Objective-C, and `simd::fabs` in C++. */ -static inline SIMD_CFUNC simd_float4 __tg_fabs(simd_float4 x); -/*! @abstract Do not call this function; instead use `fabs` in C and - * Objective-C, and `simd::fabs` in C++. */ -static inline SIMD_CFUNC simd_float8 __tg_fabs(simd_float8 x); -/*! @abstract Do not call this function; instead use `fabs` in C and - * Objective-C, and `simd::fabs` in C++. */ -static inline SIMD_CFUNC simd_float16 __tg_fabs(simd_float16 x); -/*! @abstract Do not call this function; instead use `fabs` in C and - * Objective-C, and `simd::fabs` in C++. */ -static inline SIMD_CFUNC simd_double2 __tg_fabs(simd_double2 x); -/*! @abstract Do not call this function; instead use `fabs` in C and - * Objective-C, and `simd::fabs` in C++. */ -static inline SIMD_CFUNC simd_double3 __tg_fabs(simd_double3 x); -/*! @abstract Do not call this function; instead use `fabs` in C and - * Objective-C, and `simd::fabs` in C++. */ -static inline SIMD_CFUNC simd_double4 __tg_fabs(simd_double4 x); -/*! @abstract Do not call this function; instead use `fabs` in C and - * Objective-C, and `simd::fabs` in C++. */ -static inline SIMD_CFUNC simd_double8 __tg_fabs(simd_double8 x); - -/*! @abstract Do not call this function; instead use `cbrt` in C and - * Objective-C, and `simd::cbrt` in C++. */ -static inline SIMD_CFUNC simd_float2 __tg_cbrt(simd_float2 x); -/*! @abstract Do not call this function; instead use `cbrt` in C and - * Objective-C, and `simd::cbrt` in C++. */ -static inline SIMD_CFUNC simd_float3 __tg_cbrt(simd_float3 x); -/*! @abstract Do not call this function; instead use `cbrt` in C and - * Objective-C, and `simd::cbrt` in C++. */ -static inline SIMD_CFUNC simd_float4 __tg_cbrt(simd_float4 x); -/*! @abstract Do not call this function; instead use `cbrt` in C and - * Objective-C, and `simd::cbrt` in C++. */ -static inline SIMD_CFUNC simd_float8 __tg_cbrt(simd_float8 x); -/*! @abstract Do not call this function; instead use `cbrt` in C and - * Objective-C, and `simd::cbrt` in C++. */ -static inline SIMD_CFUNC simd_float16 __tg_cbrt(simd_float16 x); -/*! @abstract Do not call this function; instead use `cbrt` in C and - * Objective-C, and `simd::cbrt` in C++. */ -static inline SIMD_CFUNC simd_double2 __tg_cbrt(simd_double2 x); -/*! @abstract Do not call this function; instead use `cbrt` in C and - * Objective-C, and `simd::cbrt` in C++. */ -static inline SIMD_CFUNC simd_double3 __tg_cbrt(simd_double3 x); -/*! @abstract Do not call this function; instead use `cbrt` in C and - * Objective-C, and `simd::cbrt` in C++. */ -static inline SIMD_CFUNC simd_double4 __tg_cbrt(simd_double4 x); -/*! @abstract Do not call this function; instead use `cbrt` in C and - * Objective-C, and `simd::cbrt` in C++. */ -static inline SIMD_CFUNC simd_double8 __tg_cbrt(simd_double8 x); - -/*! @abstract Do not call this function; instead use `sqrt` in C and - * Objective-C, and `simd::sqrt` in C++. */ -static inline SIMD_CFUNC simd_float2 __tg_sqrt(simd_float2 x); -/*! @abstract Do not call this function; instead use `sqrt` in C and - * Objective-C, and `simd::sqrt` in C++. */ -static inline SIMD_CFUNC simd_float3 __tg_sqrt(simd_float3 x); -/*! @abstract Do not call this function; instead use `sqrt` in C and - * Objective-C, and `simd::sqrt` in C++. */ -static inline SIMD_CFUNC simd_float4 __tg_sqrt(simd_float4 x); -/*! @abstract Do not call this function; instead use `sqrt` in C and - * Objective-C, and `simd::sqrt` in C++. */ -static inline SIMD_CFUNC simd_float8 __tg_sqrt(simd_float8 x); -/*! @abstract Do not call this function; instead use `sqrt` in C and - * Objective-C, and `simd::sqrt` in C++. */ -static inline SIMD_CFUNC simd_float16 __tg_sqrt(simd_float16 x); -/*! @abstract Do not call this function; instead use `sqrt` in C and - * Objective-C, and `simd::sqrt` in C++. */ -static inline SIMD_CFUNC simd_double2 __tg_sqrt(simd_double2 x); -/*! @abstract Do not call this function; instead use `sqrt` in C and - * Objective-C, and `simd::sqrt` in C++. */ -static inline SIMD_CFUNC simd_double3 __tg_sqrt(simd_double3 x); -/*! @abstract Do not call this function; instead use `sqrt` in C and - * Objective-C, and `simd::sqrt` in C++. */ -static inline SIMD_CFUNC simd_double4 __tg_sqrt(simd_double4 x); -/*! @abstract Do not call this function; instead use `sqrt` in C and - * Objective-C, and `simd::sqrt` in C++. */ -static inline SIMD_CFUNC simd_double8 __tg_sqrt(simd_double8 x); - -/*! @abstract Do not call this function; instead use `erf` in C and - * Objective-C, and `simd::erf` in C++. */ -static inline SIMD_CFUNC simd_float2 __tg_erf(simd_float2 x); -/*! @abstract Do not call this function; instead use `erf` in C and - * Objective-C, and `simd::erf` in C++. */ -static inline SIMD_CFUNC simd_float3 __tg_erf(simd_float3 x); -/*! @abstract Do not call this function; instead use `erf` in C and - * Objective-C, and `simd::erf` in C++. */ -static inline SIMD_CFUNC simd_float4 __tg_erf(simd_float4 x); -/*! @abstract Do not call this function; instead use `erf` in C and - * Objective-C, and `simd::erf` in C++. */ -static inline SIMD_CFUNC simd_float8 __tg_erf(simd_float8 x); -/*! @abstract Do not call this function; instead use `erf` in C and - * Objective-C, and `simd::erf` in C++. */ -static inline SIMD_CFUNC simd_float16 __tg_erf(simd_float16 x); -/*! @abstract Do not call this function; instead use `erf` in C and - * Objective-C, and `simd::erf` in C++. */ -static inline SIMD_CFUNC simd_double2 __tg_erf(simd_double2 x); -/*! @abstract Do not call this function; instead use `erf` in C and - * Objective-C, and `simd::erf` in C++. */ -static inline SIMD_CFUNC simd_double3 __tg_erf(simd_double3 x); -/*! @abstract Do not call this function; instead use `erf` in C and - * Objective-C, and `simd::erf` in C++. */ -static inline SIMD_CFUNC simd_double4 __tg_erf(simd_double4 x); -/*! @abstract Do not call this function; instead use `erf` in C and - * Objective-C, and `simd::erf` in C++. */ -static inline SIMD_CFUNC simd_double8 __tg_erf(simd_double8 x); - -/*! @abstract Do not call this function; instead use `erfc` in C and - * Objective-C, and `simd::erfc` in C++. */ -static inline SIMD_CFUNC simd_float2 __tg_erfc(simd_float2 x); -/*! @abstract Do not call this function; instead use `erfc` in C and - * Objective-C, and `simd::erfc` in C++. */ -static inline SIMD_CFUNC simd_float3 __tg_erfc(simd_float3 x); -/*! @abstract Do not call this function; instead use `erfc` in C and - * Objective-C, and `simd::erfc` in C++. */ -static inline SIMD_CFUNC simd_float4 __tg_erfc(simd_float4 x); -/*! @abstract Do not call this function; instead use `erfc` in C and - * Objective-C, and `simd::erfc` in C++. */ -static inline SIMD_CFUNC simd_float8 __tg_erfc(simd_float8 x); -/*! @abstract Do not call this function; instead use `erfc` in C and - * Objective-C, and `simd::erfc` in C++. */ -static inline SIMD_CFUNC simd_float16 __tg_erfc(simd_float16 x); -/*! @abstract Do not call this function; instead use `erfc` in C and - * Objective-C, and `simd::erfc` in C++. */ -static inline SIMD_CFUNC simd_double2 __tg_erfc(simd_double2 x); -/*! @abstract Do not call this function; instead use `erfc` in C and - * Objective-C, and `simd::erfc` in C++. */ -static inline SIMD_CFUNC simd_double3 __tg_erfc(simd_double3 x); -/*! @abstract Do not call this function; instead use `erfc` in C and - * Objective-C, and `simd::erfc` in C++. */ -static inline SIMD_CFUNC simd_double4 __tg_erfc(simd_double4 x); -/*! @abstract Do not call this function; instead use `erfc` in C and - * Objective-C, and `simd::erfc` in C++. */ -static inline SIMD_CFUNC simd_double8 __tg_erfc(simd_double8 x); - -/*! @abstract Do not call this function; instead use `tgamma` in C and - * Objective-C, and `simd::tgamma` in C++. */ -static inline SIMD_CFUNC simd_float2 __tg_tgamma(simd_float2 x); -/*! @abstract Do not call this function; instead use `tgamma` in C and - * Objective-C, and `simd::tgamma` in C++. */ -static inline SIMD_CFUNC simd_float3 __tg_tgamma(simd_float3 x); -/*! @abstract Do not call this function; instead use `tgamma` in C and - * Objective-C, and `simd::tgamma` in C++. */ -static inline SIMD_CFUNC simd_float4 __tg_tgamma(simd_float4 x); -/*! @abstract Do not call this function; instead use `tgamma` in C and - * Objective-C, and `simd::tgamma` in C++. */ -static inline SIMD_CFUNC simd_float8 __tg_tgamma(simd_float8 x); -/*! @abstract Do not call this function; instead use `tgamma` in C and - * Objective-C, and `simd::tgamma` in C++. */ -static inline SIMD_CFUNC simd_float16 __tg_tgamma(simd_float16 x); -/*! @abstract Do not call this function; instead use `tgamma` in C and - * Objective-C, and `simd::tgamma` in C++. */ -static inline SIMD_CFUNC simd_double2 __tg_tgamma(simd_double2 x); -/*! @abstract Do not call this function; instead use `tgamma` in C and - * Objective-C, and `simd::tgamma` in C++. */ -static inline SIMD_CFUNC simd_double3 __tg_tgamma(simd_double3 x); -/*! @abstract Do not call this function; instead use `tgamma` in C and - * Objective-C, and `simd::tgamma` in C++. */ -static inline SIMD_CFUNC simd_double4 __tg_tgamma(simd_double4 x); -/*! @abstract Do not call this function; instead use `tgamma` in C and - * Objective-C, and `simd::tgamma` in C++. */ -static inline SIMD_CFUNC simd_double8 __tg_tgamma(simd_double8 x); - -/*! @abstract Do not call this function; instead use `ceil` in C and - * Objective-C, and `simd::ceil` in C++. */ -static inline SIMD_CFUNC simd_float2 __tg_ceil(simd_float2 x); -/*! @abstract Do not call this function; instead use `ceil` in C and - * Objective-C, and `simd::ceil` in C++. */ -static inline SIMD_CFUNC simd_float3 __tg_ceil(simd_float3 x); -/*! @abstract Do not call this function; instead use `ceil` in C and - * Objective-C, and `simd::ceil` in C++. */ -static inline SIMD_CFUNC simd_float4 __tg_ceil(simd_float4 x); -/*! @abstract Do not call this function; instead use `ceil` in C and - * Objective-C, and `simd::ceil` in C++. */ -static inline SIMD_CFUNC simd_float8 __tg_ceil(simd_float8 x); -/*! @abstract Do not call this function; instead use `ceil` in C and - * Objective-C, and `simd::ceil` in C++. */ -static inline SIMD_CFUNC simd_float16 __tg_ceil(simd_float16 x); -/*! @abstract Do not call this function; instead use `ceil` in C and - * Objective-C, and `simd::ceil` in C++. */ -static inline SIMD_CFUNC simd_double2 __tg_ceil(simd_double2 x); -/*! @abstract Do not call this function; instead use `ceil` in C and - * Objective-C, and `simd::ceil` in C++. */ -static inline SIMD_CFUNC simd_double3 __tg_ceil(simd_double3 x); -/*! @abstract Do not call this function; instead use `ceil` in C and - * Objective-C, and `simd::ceil` in C++. */ -static inline SIMD_CFUNC simd_double4 __tg_ceil(simd_double4 x); -/*! @abstract Do not call this function; instead use `ceil` in C and - * Objective-C, and `simd::ceil` in C++. */ -static inline SIMD_CFUNC simd_double8 __tg_ceil(simd_double8 x); - -/*! @abstract Do not call this function; instead use `floor` in C and - * Objective-C, and `simd::floor` in C++. */ -static inline SIMD_CFUNC simd_float2 __tg_floor(simd_float2 x); -/*! @abstract Do not call this function; instead use `floor` in C and - * Objective-C, and `simd::floor` in C++. */ -static inline SIMD_CFUNC simd_float3 __tg_floor(simd_float3 x); -/*! @abstract Do not call this function; instead use `floor` in C and - * Objective-C, and `simd::floor` in C++. */ -static inline SIMD_CFUNC simd_float4 __tg_floor(simd_float4 x); -/*! @abstract Do not call this function; instead use `floor` in C and - * Objective-C, and `simd::floor` in C++. */ -static inline SIMD_CFUNC simd_float8 __tg_floor(simd_float8 x); -/*! @abstract Do not call this function; instead use `floor` in C and - * Objective-C, and `simd::floor` in C++. */ -static inline SIMD_CFUNC simd_float16 __tg_floor(simd_float16 x); -/*! @abstract Do not call this function; instead use `floor` in C and - * Objective-C, and `simd::floor` in C++. */ -static inline SIMD_CFUNC simd_double2 __tg_floor(simd_double2 x); -/*! @abstract Do not call this function; instead use `floor` in C and - * Objective-C, and `simd::floor` in C++. */ -static inline SIMD_CFUNC simd_double3 __tg_floor(simd_double3 x); -/*! @abstract Do not call this function; instead use `floor` in C and - * Objective-C, and `simd::floor` in C++. */ -static inline SIMD_CFUNC simd_double4 __tg_floor(simd_double4 x); -/*! @abstract Do not call this function; instead use `floor` in C and - * Objective-C, and `simd::floor` in C++. */ -static inline SIMD_CFUNC simd_double8 __tg_floor(simd_double8 x); - -/*! @abstract Do not call this function; instead use `rint` in C and - * Objective-C, and `simd::rint` in C++. */ -static inline SIMD_CFUNC simd_float2 __tg_rint(simd_float2 x); -/*! @abstract Do not call this function; instead use `rint` in C and - * Objective-C, and `simd::rint` in C++. */ -static inline SIMD_CFUNC simd_float3 __tg_rint(simd_float3 x); -/*! @abstract Do not call this function; instead use `rint` in C and - * Objective-C, and `simd::rint` in C++. */ -static inline SIMD_CFUNC simd_float4 __tg_rint(simd_float4 x); -/*! @abstract Do not call this function; instead use `rint` in C and - * Objective-C, and `simd::rint` in C++. */ -static inline SIMD_CFUNC simd_float8 __tg_rint(simd_float8 x); -/*! @abstract Do not call this function; instead use `rint` in C and - * Objective-C, and `simd::rint` in C++. */ -static inline SIMD_CFUNC simd_float16 __tg_rint(simd_float16 x); -/*! @abstract Do not call this function; instead use `rint` in C and - * Objective-C, and `simd::rint` in C++. */ -static inline SIMD_CFUNC simd_double2 __tg_rint(simd_double2 x); -/*! @abstract Do not call this function; instead use `rint` in C and - * Objective-C, and `simd::rint` in C++. */ -static inline SIMD_CFUNC simd_double3 __tg_rint(simd_double3 x); -/*! @abstract Do not call this function; instead use `rint` in C and - * Objective-C, and `simd::rint` in C++. */ -static inline SIMD_CFUNC simd_double4 __tg_rint(simd_double4 x); -/*! @abstract Do not call this function; instead use `rint` in C and - * Objective-C, and `simd::rint` in C++. */ -static inline SIMD_CFUNC simd_double8 __tg_rint(simd_double8 x); - -/*! @abstract Do not call this function; instead use `round` in C and - * Objective-C, and `simd::round` in C++. */ -static inline SIMD_CFUNC simd_float2 __tg_round(simd_float2 x); -/*! @abstract Do not call this function; instead use `round` in C and - * Objective-C, and `simd::round` in C++. */ -static inline SIMD_CFUNC simd_float3 __tg_round(simd_float3 x); -/*! @abstract Do not call this function; instead use `round` in C and - * Objective-C, and `simd::round` in C++. */ -static inline SIMD_CFUNC simd_float4 __tg_round(simd_float4 x); -/*! @abstract Do not call this function; instead use `round` in C and - * Objective-C, and `simd::round` in C++. */ -static inline SIMD_CFUNC simd_float8 __tg_round(simd_float8 x); -/*! @abstract Do not call this function; instead use `round` in C and - * Objective-C, and `simd::round` in C++. */ -static inline SIMD_CFUNC simd_float16 __tg_round(simd_float16 x); -/*! @abstract Do not call this function; instead use `round` in C and - * Objective-C, and `simd::round` in C++. */ -static inline SIMD_CFUNC simd_double2 __tg_round(simd_double2 x); -/*! @abstract Do not call this function; instead use `round` in C and - * Objective-C, and `simd::round` in C++. */ -static inline SIMD_CFUNC simd_double3 __tg_round(simd_double3 x); -/*! @abstract Do not call this function; instead use `round` in C and - * Objective-C, and `simd::round` in C++. */ -static inline SIMD_CFUNC simd_double4 __tg_round(simd_double4 x); -/*! @abstract Do not call this function; instead use `round` in C and - * Objective-C, and `simd::round` in C++. */ -static inline SIMD_CFUNC simd_double8 __tg_round(simd_double8 x); - -/*! @abstract Do not call this function; instead use `trunc` in C and - * Objective-C, and `simd::trunc` in C++. */ -static inline SIMD_CFUNC simd_float2 __tg_trunc(simd_float2 x); -/*! @abstract Do not call this function; instead use `trunc` in C and - * Objective-C, and `simd::trunc` in C++. */ -static inline SIMD_CFUNC simd_float3 __tg_trunc(simd_float3 x); -/*! @abstract Do not call this function; instead use `trunc` in C and - * Objective-C, and `simd::trunc` in C++. */ -static inline SIMD_CFUNC simd_float4 __tg_trunc(simd_float4 x); -/*! @abstract Do not call this function; instead use `trunc` in C and - * Objective-C, and `simd::trunc` in C++. */ -static inline SIMD_CFUNC simd_float8 __tg_trunc(simd_float8 x); -/*! @abstract Do not call this function; instead use `trunc` in C and - * Objective-C, and `simd::trunc` in C++. */ -static inline SIMD_CFUNC simd_float16 __tg_trunc(simd_float16 x); -/*! @abstract Do not call this function; instead use `trunc` in C and - * Objective-C, and `simd::trunc` in C++. */ -static inline SIMD_CFUNC simd_double2 __tg_trunc(simd_double2 x); -/*! @abstract Do not call this function; instead use `trunc` in C and - * Objective-C, and `simd::trunc` in C++. */ -static inline SIMD_CFUNC simd_double3 __tg_trunc(simd_double3 x); -/*! @abstract Do not call this function; instead use `trunc` in C and - * Objective-C, and `simd::trunc` in C++. */ -static inline SIMD_CFUNC simd_double4 __tg_trunc(simd_double4 x); -/*! @abstract Do not call this function; instead use `trunc` in C and - * Objective-C, and `simd::trunc` in C++. */ -static inline SIMD_CFUNC simd_double8 __tg_trunc(simd_double8 x); - - -/*! @abstract Do not call this function; instead use `atan2` in C and - * Objective-C, and `simd::atan2` in C++. */ -static inline SIMD_CFUNC simd_float2 __tg_atan2(simd_float2 y, simd_float2 x); -/*! @abstract Do not call this function; instead use `atan2` in C and - * Objective-C, and `simd::atan2` in C++. */ -static inline SIMD_CFUNC simd_float3 __tg_atan2(simd_float3 y, simd_float3 x); -/*! @abstract Do not call this function; instead use `atan2` in C and - * Objective-C, and `simd::atan2` in C++. */ -static inline SIMD_CFUNC simd_float4 __tg_atan2(simd_float4 y, simd_float4 x); -/*! @abstract Do not call this function; instead use `atan2` in C and - * Objective-C, and `simd::atan2` in C++. */ -static inline SIMD_CFUNC simd_float8 __tg_atan2(simd_float8 y, simd_float8 x); -/*! @abstract Do not call this function; instead use `atan2` in C and - * Objective-C, and `simd::atan2` in C++. */ -static inline SIMD_CFUNC simd_float16 __tg_atan2(simd_float16 y, simd_float16 x); -/*! @abstract Do not call this function; instead use `atan2` in C and - * Objective-C, and `simd::atan2` in C++. */ -static inline SIMD_CFUNC simd_double2 __tg_atan2(simd_double2 y, simd_double2 x); -/*! @abstract Do not call this function; instead use `atan2` in C and - * Objective-C, and `simd::atan2` in C++. */ -static inline SIMD_CFUNC simd_double3 __tg_atan2(simd_double3 y, simd_double3 x); -/*! @abstract Do not call this function; instead use `atan2` in C and - * Objective-C, and `simd::atan2` in C++. */ -static inline SIMD_CFUNC simd_double4 __tg_atan2(simd_double4 y, simd_double4 x); -/*! @abstract Do not call this function; instead use `atan2` in C and - * Objective-C, and `simd::atan2` in C++. */ -static inline SIMD_CFUNC simd_double8 __tg_atan2(simd_double8 y, simd_double8 x); - -/*! @abstract Do not call this function; instead use `hypot` in C and - * Objective-C, and `simd::hypot` in C++. */ -static inline SIMD_CFUNC simd_float2 __tg_hypot(simd_float2 x, simd_float2 y); -/*! @abstract Do not call this function; instead use `hypot` in C and - * Objective-C, and `simd::hypot` in C++. */ -static inline SIMD_CFUNC simd_float3 __tg_hypot(simd_float3 x, simd_float3 y); -/*! @abstract Do not call this function; instead use `hypot` in C and - * Objective-C, and `simd::hypot` in C++. */ -static inline SIMD_CFUNC simd_float4 __tg_hypot(simd_float4 x, simd_float4 y); -/*! @abstract Do not call this function; instead use `hypot` in C and - * Objective-C, and `simd::hypot` in C++. */ -static inline SIMD_CFUNC simd_float8 __tg_hypot(simd_float8 x, simd_float8 y); -/*! @abstract Do not call this function; instead use `hypot` in C and - * Objective-C, and `simd::hypot` in C++. */ -static inline SIMD_CFUNC simd_float16 __tg_hypot(simd_float16 x, simd_float16 y); -/*! @abstract Do not call this function; instead use `hypot` in C and - * Objective-C, and `simd::hypot` in C++. */ -static inline SIMD_CFUNC simd_double2 __tg_hypot(simd_double2 x, simd_double2 y); -/*! @abstract Do not call this function; instead use `hypot` in C and - * Objective-C, and `simd::hypot` in C++. */ -static inline SIMD_CFUNC simd_double3 __tg_hypot(simd_double3 x, simd_double3 y); -/*! @abstract Do not call this function; instead use `hypot` in C and - * Objective-C, and `simd::hypot` in C++. */ -static inline SIMD_CFUNC simd_double4 __tg_hypot(simd_double4 x, simd_double4 y); -/*! @abstract Do not call this function; instead use `hypot` in C and - * Objective-C, and `simd::hypot` in C++. */ -static inline SIMD_CFUNC simd_double8 __tg_hypot(simd_double8 x, simd_double8 y); - -/*! @abstract Do not call this function; instead use `pow` in C and - * Objective-C, and `simd::pow` in C++. */ -static inline SIMD_CFUNC simd_float2 __tg_pow(simd_float2 x, simd_float2 y); -/*! @abstract Do not call this function; instead use `pow` in C and - * Objective-C, and `simd::pow` in C++. */ -static inline SIMD_CFUNC simd_float3 __tg_pow(simd_float3 x, simd_float3 y); -/*! @abstract Do not call this function; instead use `pow` in C and - * Objective-C, and `simd::pow` in C++. */ -static inline SIMD_CFUNC simd_float4 __tg_pow(simd_float4 x, simd_float4 y); -/*! @abstract Do not call this function; instead use `pow` in C and - * Objective-C, and `simd::pow` in C++. */ -static inline SIMD_CFUNC simd_float8 __tg_pow(simd_float8 x, simd_float8 y); -/*! @abstract Do not call this function; instead use `pow` in C and - * Objective-C, and `simd::pow` in C++. */ -static inline SIMD_CFUNC simd_float16 __tg_pow(simd_float16 x, simd_float16 y); -/*! @abstract Do not call this function; instead use `pow` in C and - * Objective-C, and `simd::pow` in C++. */ -static inline SIMD_CFUNC simd_double2 __tg_pow(simd_double2 x, simd_double2 y); -/*! @abstract Do not call this function; instead use `pow` in C and - * Objective-C, and `simd::pow` in C++. */ -static inline SIMD_CFUNC simd_double3 __tg_pow(simd_double3 x, simd_double3 y); -/*! @abstract Do not call this function; instead use `pow` in C and - * Objective-C, and `simd::pow` in C++. */ -static inline SIMD_CFUNC simd_double4 __tg_pow(simd_double4 x, simd_double4 y); -/*! @abstract Do not call this function; instead use `pow` in C and - * Objective-C, and `simd::pow` in C++. */ -static inline SIMD_CFUNC simd_double8 __tg_pow(simd_double8 x, simd_double8 y); - -/*! @abstract Do not call this function; instead use `fmod` in C and - * Objective-C, and `simd::fmod` in C++. */ -static inline SIMD_CFUNC simd_float2 __tg_fmod(simd_float2 x, simd_float2 y); -/*! @abstract Do not call this function; instead use `fmod` in C and - * Objective-C, and `simd::fmod` in C++. */ -static inline SIMD_CFUNC simd_float3 __tg_fmod(simd_float3 x, simd_float3 y); -/*! @abstract Do not call this function; instead use `fmod` in C and - * Objective-C, and `simd::fmod` in C++. */ -static inline SIMD_CFUNC simd_float4 __tg_fmod(simd_float4 x, simd_float4 y); -/*! @abstract Do not call this function; instead use `fmod` in C and - * Objective-C, and `simd::fmod` in C++. */ -static inline SIMD_CFUNC simd_float8 __tg_fmod(simd_float8 x, simd_float8 y); -/*! @abstract Do not call this function; instead use `fmod` in C and - * Objective-C, and `simd::fmod` in C++. */ -static inline SIMD_CFUNC simd_float16 __tg_fmod(simd_float16 x, simd_float16 y); -/*! @abstract Do not call this function; instead use `fmod` in C and - * Objective-C, and `simd::fmod` in C++. */ -static inline SIMD_CFUNC simd_double2 __tg_fmod(simd_double2 x, simd_double2 y); -/*! @abstract Do not call this function; instead use `fmod` in C and - * Objective-C, and `simd::fmod` in C++. */ -static inline SIMD_CFUNC simd_double3 __tg_fmod(simd_double3 x, simd_double3 y); -/*! @abstract Do not call this function; instead use `fmod` in C and - * Objective-C, and `simd::fmod` in C++. */ -static inline SIMD_CFUNC simd_double4 __tg_fmod(simd_double4 x, simd_double4 y); -/*! @abstract Do not call this function; instead use `fmod` in C and - * Objective-C, and `simd::fmod` in C++. */ -static inline SIMD_CFUNC simd_double8 __tg_fmod(simd_double8 x, simd_double8 y); - -/*! @abstract Do not call this function; instead use `remainder` in C and - * Objective-C, and `simd::remainder` in C++. */ -static inline SIMD_CFUNC simd_float2 __tg_remainder(simd_float2 x, simd_float2 y); -/*! @abstract Do not call this function; instead use `remainder` in C and - * Objective-C, and `simd::remainder` in C++. */ -static inline SIMD_CFUNC simd_float3 __tg_remainder(simd_float3 x, simd_float3 y); -/*! @abstract Do not call this function; instead use `remainder` in C and - * Objective-C, and `simd::remainder` in C++. */ -static inline SIMD_CFUNC simd_float4 __tg_remainder(simd_float4 x, simd_float4 y); -/*! @abstract Do not call this function; instead use `remainder` in C and - * Objective-C, and `simd::remainder` in C++. */ -static inline SIMD_CFUNC simd_float8 __tg_remainder(simd_float8 x, simd_float8 y); -/*! @abstract Do not call this function; instead use `remainder` in C and - * Objective-C, and `simd::remainder` in C++. */ -static inline SIMD_CFUNC simd_float16 __tg_remainder(simd_float16 x, simd_float16 y); -/*! @abstract Do not call this function; instead use `remainder` in C and - * Objective-C, and `simd::remainder` in C++. */ -static inline SIMD_CFUNC simd_double2 __tg_remainder(simd_double2 x, simd_double2 y); -/*! @abstract Do not call this function; instead use `remainder` in C and - * Objective-C, and `simd::remainder` in C++. */ -static inline SIMD_CFUNC simd_double3 __tg_remainder(simd_double3 x, simd_double3 y); -/*! @abstract Do not call this function; instead use `remainder` in C and - * Objective-C, and `simd::remainder` in C++. */ -static inline SIMD_CFUNC simd_double4 __tg_remainder(simd_double4 x, simd_double4 y); -/*! @abstract Do not call this function; instead use `remainder` in C and - * Objective-C, and `simd::remainder` in C++. */ -static inline SIMD_CFUNC simd_double8 __tg_remainder(simd_double8 x, simd_double8 y); - -/*! @abstract Do not call this function; instead use `copysign` in C and - * Objective-C, and `simd::copysign` in C++. */ -static inline SIMD_CFUNC simd_float2 __tg_copysign(simd_float2 x, simd_float2 y); -/*! @abstract Do not call this function; instead use `copysign` in C and - * Objective-C, and `simd::copysign` in C++. */ -static inline SIMD_CFUNC simd_float3 __tg_copysign(simd_float3 x, simd_float3 y); -/*! @abstract Do not call this function; instead use `copysign` in C and - * Objective-C, and `simd::copysign` in C++. */ -static inline SIMD_CFUNC simd_float4 __tg_copysign(simd_float4 x, simd_float4 y); -/*! @abstract Do not call this function; instead use `copysign` in C and - * Objective-C, and `simd::copysign` in C++. */ -static inline SIMD_CFUNC simd_float8 __tg_copysign(simd_float8 x, simd_float8 y); -/*! @abstract Do not call this function; instead use `copysign` in C and - * Objective-C, and `simd::copysign` in C++. */ -static inline SIMD_CFUNC simd_float16 __tg_copysign(simd_float16 x, simd_float16 y); -/*! @abstract Do not call this function; instead use `copysign` in C and - * Objective-C, and `simd::copysign` in C++. */ -static inline SIMD_CFUNC simd_double2 __tg_copysign(simd_double2 x, simd_double2 y); -/*! @abstract Do not call this function; instead use `copysign` in C and - * Objective-C, and `simd::copysign` in C++. */ -static inline SIMD_CFUNC simd_double3 __tg_copysign(simd_double3 x, simd_double3 y); -/*! @abstract Do not call this function; instead use `copysign` in C and - * Objective-C, and `simd::copysign` in C++. */ -static inline SIMD_CFUNC simd_double4 __tg_copysign(simd_double4 x, simd_double4 y); -/*! @abstract Do not call this function; instead use `copysign` in C and - * Objective-C, and `simd::copysign` in C++. */ -static inline SIMD_CFUNC simd_double8 __tg_copysign(simd_double8 x, simd_double8 y); - -/*! @abstract Do not call this function; instead use `nextafter` in C and - * Objective-C, and `simd::nextafter` in C++. */ -static inline SIMD_CFUNC simd_float2 __tg_nextafter(simd_float2 x, simd_float2 y); -/*! @abstract Do not call this function; instead use `nextafter` in C and - * Objective-C, and `simd::nextafter` in C++. */ -static inline SIMD_CFUNC simd_float3 __tg_nextafter(simd_float3 x, simd_float3 y); -/*! @abstract Do not call this function; instead use `nextafter` in C and - * Objective-C, and `simd::nextafter` in C++. */ -static inline SIMD_CFUNC simd_float4 __tg_nextafter(simd_float4 x, simd_float4 y); -/*! @abstract Do not call this function; instead use `nextafter` in C and - * Objective-C, and `simd::nextafter` in C++. */ -static inline SIMD_CFUNC simd_float8 __tg_nextafter(simd_float8 x, simd_float8 y); -/*! @abstract Do not call this function; instead use `nextafter` in C and - * Objective-C, and `simd::nextafter` in C++. */ -static inline SIMD_CFUNC simd_float16 __tg_nextafter(simd_float16 x, simd_float16 y); -/*! @abstract Do not call this function; instead use `nextafter` in C and - * Objective-C, and `simd::nextafter` in C++. */ -static inline SIMD_CFUNC simd_double2 __tg_nextafter(simd_double2 x, simd_double2 y); -/*! @abstract Do not call this function; instead use `nextafter` in C and - * Objective-C, and `simd::nextafter` in C++. */ -static inline SIMD_CFUNC simd_double3 __tg_nextafter(simd_double3 x, simd_double3 y); -/*! @abstract Do not call this function; instead use `nextafter` in C and - * Objective-C, and `simd::nextafter` in C++. */ -static inline SIMD_CFUNC simd_double4 __tg_nextafter(simd_double4 x, simd_double4 y); -/*! @abstract Do not call this function; instead use `nextafter` in C and - * Objective-C, and `simd::nextafter` in C++. */ -static inline SIMD_CFUNC simd_double8 __tg_nextafter(simd_double8 x, simd_double8 y); - -/*! @abstract Do not call this function; instead use `fdim` in C and - * Objective-C, and `simd::fdim` in C++. */ -static inline SIMD_CFUNC simd_float2 __tg_fdim(simd_float2 x, simd_float2 y); -/*! @abstract Do not call this function; instead use `fdim` in C and - * Objective-C, and `simd::fdim` in C++. */ -static inline SIMD_CFUNC simd_float3 __tg_fdim(simd_float3 x, simd_float3 y); -/*! @abstract Do not call this function; instead use `fdim` in C and - * Objective-C, and `simd::fdim` in C++. */ -static inline SIMD_CFUNC simd_float4 __tg_fdim(simd_float4 x, simd_float4 y); -/*! @abstract Do not call this function; instead use `fdim` in C and - * Objective-C, and `simd::fdim` in C++. */ -static inline SIMD_CFUNC simd_float8 __tg_fdim(simd_float8 x, simd_float8 y); -/*! @abstract Do not call this function; instead use `fdim` in C and - * Objective-C, and `simd::fdim` in C++. */ -static inline SIMD_CFUNC simd_float16 __tg_fdim(simd_float16 x, simd_float16 y); -/*! @abstract Do not call this function; instead use `fdim` in C and - * Objective-C, and `simd::fdim` in C++. */ -static inline SIMD_CFUNC simd_double2 __tg_fdim(simd_double2 x, simd_double2 y); -/*! @abstract Do not call this function; instead use `fdim` in C and - * Objective-C, and `simd::fdim` in C++. */ -static inline SIMD_CFUNC simd_double3 __tg_fdim(simd_double3 x, simd_double3 y); -/*! @abstract Do not call this function; instead use `fdim` in C and - * Objective-C, and `simd::fdim` in C++. */ -static inline SIMD_CFUNC simd_double4 __tg_fdim(simd_double4 x, simd_double4 y); -/*! @abstract Do not call this function; instead use `fdim` in C and - * Objective-C, and `simd::fdim` in C++. */ -static inline SIMD_CFUNC simd_double8 __tg_fdim(simd_double8 x, simd_double8 y); - -/*! @abstract Do not call this function; instead use `fmax` in C and - * Objective-C, and `simd::fmax` in C++. */ -static inline SIMD_CFUNC simd_float2 __tg_fmax(simd_float2 x, simd_float2 y); -/*! @abstract Do not call this function; instead use `fmax` in C and - * Objective-C, and `simd::fmax` in C++. */ -static inline SIMD_CFUNC simd_float3 __tg_fmax(simd_float3 x, simd_float3 y); -/*! @abstract Do not call this function; instead use `fmax` in C and - * Objective-C, and `simd::fmax` in C++. */ -static inline SIMD_CFUNC simd_float4 __tg_fmax(simd_float4 x, simd_float4 y); -/*! @abstract Do not call this function; instead use `fmax` in C and - * Objective-C, and `simd::fmax` in C++. */ -static inline SIMD_CFUNC simd_float8 __tg_fmax(simd_float8 x, simd_float8 y); -/*! @abstract Do not call this function; instead use `fmax` in C and - * Objective-C, and `simd::fmax` in C++. */ -static inline SIMD_CFUNC simd_float16 __tg_fmax(simd_float16 x, simd_float16 y); -/*! @abstract Do not call this function; instead use `fmax` in C and - * Objective-C, and `simd::fmax` in C++. */ -static inline SIMD_CFUNC simd_double2 __tg_fmax(simd_double2 x, simd_double2 y); -/*! @abstract Do not call this function; instead use `fmax` in C and - * Objective-C, and `simd::fmax` in C++. */ -static inline SIMD_CFUNC simd_double3 __tg_fmax(simd_double3 x, simd_double3 y); -/*! @abstract Do not call this function; instead use `fmax` in C and - * Objective-C, and `simd::fmax` in C++. */ -static inline SIMD_CFUNC simd_double4 __tg_fmax(simd_double4 x, simd_double4 y); -/*! @abstract Do not call this function; instead use `fmax` in C and - * Objective-C, and `simd::fmax` in C++. */ -static inline SIMD_CFUNC simd_double8 __tg_fmax(simd_double8 x, simd_double8 y); - -/*! @abstract Do not call this function; instead use `fmin` in C and - * Objective-C, and `simd::fmin` in C++. */ -static inline SIMD_CFUNC simd_float2 __tg_fmin(simd_float2 x, simd_float2 y); -/*! @abstract Do not call this function; instead use `fmin` in C and - * Objective-C, and `simd::fmin` in C++. */ -static inline SIMD_CFUNC simd_float3 __tg_fmin(simd_float3 x, simd_float3 y); -/*! @abstract Do not call this function; instead use `fmin` in C and - * Objective-C, and `simd::fmin` in C++. */ -static inline SIMD_CFUNC simd_float4 __tg_fmin(simd_float4 x, simd_float4 y); -/*! @abstract Do not call this function; instead use `fmin` in C and - * Objective-C, and `simd::fmin` in C++. */ -static inline SIMD_CFUNC simd_float8 __tg_fmin(simd_float8 x, simd_float8 y); -/*! @abstract Do not call this function; instead use `fmin` in C and - * Objective-C, and `simd::fmin` in C++. */ -static inline SIMD_CFUNC simd_float16 __tg_fmin(simd_float16 x, simd_float16 y); -/*! @abstract Do not call this function; instead use `fmin` in C and - * Objective-C, and `simd::fmin` in C++. */ -static inline SIMD_CFUNC simd_double2 __tg_fmin(simd_double2 x, simd_double2 y); -/*! @abstract Do not call this function; instead use `fmin` in C and - * Objective-C, and `simd::fmin` in C++. */ -static inline SIMD_CFUNC simd_double3 __tg_fmin(simd_double3 x, simd_double3 y); -/*! @abstract Do not call this function; instead use `fmin` in C and - * Objective-C, and `simd::fmin` in C++. */ -static inline SIMD_CFUNC simd_double4 __tg_fmin(simd_double4 x, simd_double4 y); -/*! @abstract Do not call this function; instead use `fmin` in C and - * Objective-C, and `simd::fmin` in C++. */ -static inline SIMD_CFUNC simd_double8 __tg_fmin(simd_double8 x, simd_double8 y); - - -/*! @abstract Do not call this function; instead use `fma` in C and Objective-C, - * and `simd::fma` in C++. */ -static inline SIMD_CFUNC simd_float2 __tg_fma(simd_float2 x, simd_float2 y, simd_float2 z); -/*! @abstract Do not call this function; instead use `fma` in C and Objective-C, - * and `simd::fma` in C++. */ -static inline SIMD_CFUNC simd_float3 __tg_fma(simd_float3 x, simd_float3 y, simd_float3 z); -/*! @abstract Do not call this function; instead use `fma` in C and Objective-C, - * and `simd::fma` in C++. */ -static inline SIMD_CFUNC simd_float4 __tg_fma(simd_float4 x, simd_float4 y, simd_float4 z); -/*! @abstract Do not call this function; instead use `fma` in C and Objective-C, - * and `simd::fma` in C++. */ -static inline SIMD_CFUNC simd_float8 __tg_fma(simd_float8 x, simd_float8 y, simd_float8 z); -/*! @abstract Do not call this function; instead use `fma` in C and Objective-C, - * and `simd::fma` in C++. */ -static inline SIMD_CFUNC simd_float16 __tg_fma(simd_float16 x, simd_float16 y, simd_float16 z); -/*! @abstract Do not call this function; instead use `fma` in C and Objective-C, - * and `simd::fma` in C++. */ -static inline SIMD_CFUNC simd_double2 __tg_fma(simd_double2 x, simd_double2 y, simd_double2 z); -/*! @abstract Do not call this function; instead use `fma` in C and Objective-C, - * and `simd::fma` in C++. */ -static inline SIMD_CFUNC simd_double3 __tg_fma(simd_double3 x, simd_double3 y, simd_double3 z); -/*! @abstract Do not call this function; instead use `fma` in C and Objective-C, - * and `simd::fma` in C++. */ -static inline SIMD_CFUNC simd_double4 __tg_fma(simd_double4 x, simd_double4 y, simd_double4 z); -/*! @abstract Do not call this function; instead use `fma` in C and Objective-C, - * and `simd::fma` in C++. */ -static inline SIMD_CFUNC simd_double8 __tg_fma(simd_double8 x, simd_double8 y, simd_double8 z); - -/*! @abstract Computes accum + x*y by the most efficient means available; - * either a fused multiply add or separate multiply and add instructions. */ -static inline SIMD_CFUNC float simd_muladd(float x, float y, float z); -/*! @abstract Computes accum + x*y by the most efficient means available; - * either a fused multiply add or separate multiply and add instructions. */ -static inline SIMD_CFUNC simd_float2 simd_muladd(simd_float2 x, simd_float2 y, simd_float2 z); -/*! @abstract Computes accum + x*y by the most efficient means available; - * either a fused multiply add or separate multiply and add instructions. */ -static inline SIMD_CFUNC simd_float3 simd_muladd(simd_float3 x, simd_float3 y, simd_float3 z); -/*! @abstract Computes accum + x*y by the most efficient means available; - * either a fused multiply add or separate multiply and add instructions. */ -static inline SIMD_CFUNC simd_float4 simd_muladd(simd_float4 x, simd_float4 y, simd_float4 z); -/*! @abstract Computes accum + x*y by the most efficient means available; - * either a fused multiply add or separate multiply and add instructions. */ -static inline SIMD_CFUNC simd_float8 simd_muladd(simd_float8 x, simd_float8 y, simd_float8 z); -/*! @abstract Computes accum + x*y by the most efficient means available; - * either a fused multiply add or separate multiply and add instructions. */ -static inline SIMD_CFUNC simd_float16 simd_muladd(simd_float16 x, simd_float16 y, simd_float16 z); -/*! @abstract Computes accum + x*y by the most efficient means available; - * either a fused multiply add or separate multiply and add instructions. */ -static inline SIMD_CFUNC double simd_muladd(double x, double y, double z); -/*! @abstract Computes accum + x*y by the most efficient means available; - * either a fused multiply add or separate multiply and add instructions. */ -static inline SIMD_CFUNC simd_double2 simd_muladd(simd_double2 x, simd_double2 y, simd_double2 z); -/*! @abstract Computes accum + x*y by the most efficient means available; - * either a fused multiply add or separate multiply and add instructions. */ -static inline SIMD_CFUNC simd_double3 simd_muladd(simd_double3 x, simd_double3 y, simd_double3 z); -/*! @abstract Computes accum + x*y by the most efficient means available; - * either a fused multiply add or separate multiply and add instructions. */ -static inline SIMD_CFUNC simd_double4 simd_muladd(simd_double4 x, simd_double4 y, simd_double4 z); -/*! @abstract Computes accum + x*y by the most efficient means available; - * either a fused multiply add or separate multiply and add instructions. */ -static inline SIMD_CFUNC simd_double8 simd_muladd(simd_double8 x, simd_double8 y, simd_double8 z); - -#ifdef __cplusplus -} /* extern "C" */ - -#include -/*! @abstract Do not call this function directly; use simd::acos instead. */ -static SIMD_CPPFUNC float __tg_acos(float x) { return ::acos(x); } -/*! @abstract Do not call this function directly; use simd::acos instead. */ -static SIMD_CPPFUNC double __tg_acos(double x) { return ::acos(x); } -/*! @abstract Do not call this function directly; use simd::asin instead. */ -static SIMD_CPPFUNC float __tg_asin(float x) { return ::asin(x); } -/*! @abstract Do not call this function directly; use simd::asin instead. */ -static SIMD_CPPFUNC double __tg_asin(double x) { return ::asin(x); } -/*! @abstract Do not call this function directly; use simd::atan instead. */ -static SIMD_CPPFUNC float __tg_atan(float x) { return ::atan(x); } -/*! @abstract Do not call this function directly; use simd::atan instead. */ -static SIMD_CPPFUNC double __tg_atan(double x) { return ::atan(x); } -/*! @abstract Do not call this function directly; use simd::cos instead. */ -static SIMD_CPPFUNC float __tg_cos(float x) { return ::cos(x); } -/*! @abstract Do not call this function directly; use simd::cos instead. */ -static SIMD_CPPFUNC double __tg_cos(double x) { return ::cos(x); } -/*! @abstract Do not call this function directly; use simd::sin instead. */ -static SIMD_CPPFUNC float __tg_sin(float x) { return ::sin(x); } -/*! @abstract Do not call this function directly; use simd::sin instead. */ -static SIMD_CPPFUNC double __tg_sin(double x) { return ::sin(x); } -/*! @abstract Do not call this function directly; use simd::tan instead. */ -static SIMD_CPPFUNC float __tg_tan(float x) { return ::tan(x); } -/*! @abstract Do not call this function directly; use simd::tan instead. */ -static SIMD_CPPFUNC double __tg_tan(double x) { return ::tan(x); } -/*! @abstract Do not call this function directly; use simd::cospi instead. */ -static SIMD_CPPFUNC float __tg_cospi(float x) { return ::__cospi(x); } -/*! @abstract Do not call this function directly; use simd::cospi instead. */ -static SIMD_CPPFUNC double __tg_cospi(double x) { return ::__cospi(x); } -/*! @abstract Do not call this function directly; use simd::sinpi instead. */ -static SIMD_CPPFUNC float __tg_sinpi(float x) { return ::__sinpi(x); } -/*! @abstract Do not call this function directly; use simd::sinpi instead. */ -static SIMD_CPPFUNC double __tg_sinpi(double x) { return ::__sinpi(x); } -/*! @abstract Do not call this function directly; use simd::tanpi instead. */ -static SIMD_CPPFUNC float __tg_tanpi(float x) { return ::__tanpi(x); } -/*! @abstract Do not call this function directly; use simd::tanpi instead. */ -static SIMD_CPPFUNC double __tg_tanpi(double x) { return ::__tanpi(x); } -/*! @abstract Do not call this function directly; use simd::acosh instead. */ -static SIMD_CPPFUNC float __tg_acosh(float x) { return ::acosh(x); } -/*! @abstract Do not call this function directly; use simd::acosh instead. */ -static SIMD_CPPFUNC double __tg_acosh(double x) { return ::acosh(x); } -/*! @abstract Do not call this function directly; use simd::asinh instead. */ -static SIMD_CPPFUNC float __tg_asinh(float x) { return ::asinh(x); } -/*! @abstract Do not call this function directly; use simd::asinh instead. */ -static SIMD_CPPFUNC double __tg_asinh(double x) { return ::asinh(x); } -/*! @abstract Do not call this function directly; use simd::atanh instead. */ -static SIMD_CPPFUNC float __tg_atanh(float x) { return ::atanh(x); } -/*! @abstract Do not call this function directly; use simd::atanh instead. */ -static SIMD_CPPFUNC double __tg_atanh(double x) { return ::atanh(x); } -/*! @abstract Do not call this function directly; use simd::cosh instead. */ -static SIMD_CPPFUNC float __tg_cosh(float x) { return ::cosh(x); } -/*! @abstract Do not call this function directly; use simd::cosh instead. */ -static SIMD_CPPFUNC double __tg_cosh(double x) { return ::cosh(x); } -/*! @abstract Do not call this function directly; use simd::sinh instead. */ -static SIMD_CPPFUNC float __tg_sinh(float x) { return ::sinh(x); } -/*! @abstract Do not call this function directly; use simd::sinh instead. */ -static SIMD_CPPFUNC double __tg_sinh(double x) { return ::sinh(x); } -/*! @abstract Do not call this function directly; use simd::tanh instead. */ -static SIMD_CPPFUNC float __tg_tanh(float x) { return ::tanh(x); } -/*! @abstract Do not call this function directly; use simd::tanh instead. */ -static SIMD_CPPFUNC double __tg_tanh(double x) { return ::tanh(x); } -/*! @abstract Do not call this function directly; use simd::exp instead. */ -static SIMD_CPPFUNC float __tg_exp(float x) { return ::exp(x); } -/*! @abstract Do not call this function directly; use simd::exp instead. */ -static SIMD_CPPFUNC double __tg_exp(double x) { return ::exp(x); } -/*! @abstract Do not call this function directly; use simd::exp2 instead. */ -static SIMD_CPPFUNC float __tg_exp2(float x) { return ::exp2(x); } -/*! @abstract Do not call this function directly; use simd::exp2 instead. */ -static SIMD_CPPFUNC double __tg_exp2(double x) { return ::exp2(x); } -/*! @abstract Do not call this function directly; use simd::exp10 instead. */ -static SIMD_CPPFUNC float __tg_exp10(float x) { return ::__exp10(x); } -/*! @abstract Do not call this function directly; use simd::exp10 instead. */ -static SIMD_CPPFUNC double __tg_exp10(double x) { return ::__exp10(x); } -/*! @abstract Do not call this function directly; use simd::expm1 instead. */ -static SIMD_CPPFUNC float __tg_expm1(float x) { return ::expm1(x); } -/*! @abstract Do not call this function directly; use simd::expm1 instead. */ -static SIMD_CPPFUNC double __tg_expm1(double x) { return ::expm1(x); } -/*! @abstract Do not call this function directly; use simd::log instead. */ -static SIMD_CPPFUNC float __tg_log(float x) { return ::log(x); } -/*! @abstract Do not call this function directly; use simd::log instead. */ -static SIMD_CPPFUNC double __tg_log(double x) { return ::log(x); } -/*! @abstract Do not call this function directly; use simd::log2 instead. */ -static SIMD_CPPFUNC float __tg_log2(float x) { return ::log2(x); } -/*! @abstract Do not call this function directly; use simd::log2 instead. */ -static SIMD_CPPFUNC double __tg_log2(double x) { return ::log2(x); } -/*! @abstract Do not call this function directly; use simd::log10 instead. */ -static SIMD_CPPFUNC float __tg_log10(float x) { return ::log10(x); } -/*! @abstract Do not call this function directly; use simd::log10 instead. */ -static SIMD_CPPFUNC double __tg_log10(double x) { return ::log10(x); } -/*! @abstract Do not call this function directly; use simd::log1p instead. */ -static SIMD_CPPFUNC float __tg_log1p(float x) { return ::log1p(x); } -/*! @abstract Do not call this function directly; use simd::log1p instead. */ -static SIMD_CPPFUNC double __tg_log1p(double x) { return ::log1p(x); } -/*! @abstract Do not call this function directly; use simd::fabs instead. */ -static SIMD_CPPFUNC float __tg_fabs(float x) { return ::fabs(x); } -/*! @abstract Do not call this function directly; use simd::fabs instead. */ -static SIMD_CPPFUNC double __tg_fabs(double x) { return ::fabs(x); } -/*! @abstract Do not call this function directly; use simd::cbrt instead. */ -static SIMD_CPPFUNC float __tg_cbrt(float x) { return ::cbrt(x); } -/*! @abstract Do not call this function directly; use simd::cbrt instead. */ -static SIMD_CPPFUNC double __tg_cbrt(double x) { return ::cbrt(x); } -/*! @abstract Do not call this function directly; use simd::sqrt instead. */ -static SIMD_CPPFUNC float __tg_sqrt(float x) { return ::sqrt(x); } -/*! @abstract Do not call this function directly; use simd::sqrt instead. */ -static SIMD_CPPFUNC double __tg_sqrt(double x) { return ::sqrt(x); } -/*! @abstract Do not call this function directly; use simd::erf instead. */ -static SIMD_CPPFUNC float __tg_erf(float x) { return ::erf(x); } -/*! @abstract Do not call this function directly; use simd::erf instead. */ -static SIMD_CPPFUNC double __tg_erf(double x) { return ::erf(x); } -/*! @abstract Do not call this function directly; use simd::erfc instead. */ -static SIMD_CPPFUNC float __tg_erfc(float x) { return ::erfc(x); } -/*! @abstract Do not call this function directly; use simd::erfc instead. */ -static SIMD_CPPFUNC double __tg_erfc(double x) { return ::erfc(x); } -/*! @abstract Do not call this function directly; use simd::tgamma instead. */ -static SIMD_CPPFUNC float __tg_tgamma(float x) { return ::tgamma(x); } -/*! @abstract Do not call this function directly; use simd::tgamma instead. */ -static SIMD_CPPFUNC double __tg_tgamma(double x) { return ::tgamma(x); } -/*! @abstract Do not call this function directly; use simd::ceil instead. */ -static SIMD_CPPFUNC float __tg_ceil(float x) { return ::ceil(x); } -/*! @abstract Do not call this function directly; use simd::ceil instead. */ -static SIMD_CPPFUNC double __tg_ceil(double x) { return ::ceil(x); } -/*! @abstract Do not call this function directly; use simd::floor instead. */ -static SIMD_CPPFUNC float __tg_floor(float x) { return ::floor(x); } -/*! @abstract Do not call this function directly; use simd::floor instead. */ -static SIMD_CPPFUNC double __tg_floor(double x) { return ::floor(x); } -/*! @abstract Do not call this function directly; use simd::rint instead. */ -static SIMD_CPPFUNC float __tg_rint(float x) { return ::rint(x); } -/*! @abstract Do not call this function directly; use simd::rint instead. */ -static SIMD_CPPFUNC double __tg_rint(double x) { return ::rint(x); } -/*! @abstract Do not call this function directly; use simd::round instead. */ -static SIMD_CPPFUNC float __tg_round(float x) { return ::round(x); } -/*! @abstract Do not call this function directly; use simd::round instead. */ -static SIMD_CPPFUNC double __tg_round(double x) { return ::round(x); } -/*! @abstract Do not call this function directly; use simd::trunc instead. */ -static SIMD_CPPFUNC float __tg_trunc(float x) { return ::trunc(x); } -/*! @abstract Do not call this function directly; use simd::trunc instead. */ -static SIMD_CPPFUNC double __tg_trunc(double x) { return ::trunc(x); } -/*! @abstract Do not call this function directly; use simd::atan2 instead. */ -static SIMD_CPPFUNC float __tg_atan2(float x, float y) { return ::atan2(x, y); } -/*! @abstract Do not call this function directly; use simd::atan2 instead. */ -static SIMD_CPPFUNC double __tg_atan2(double x, float y) { return ::atan2(x, y); } -/*! @abstract Do not call this function directly; use simd::hypot instead. */ -static SIMD_CPPFUNC float __tg_hypot(float x, float y) { return ::hypot(x, y); } -/*! @abstract Do not call this function directly; use simd::hypot instead. */ -static SIMD_CPPFUNC double __tg_hypot(double x, float y) { return ::hypot(x, y); } -/*! @abstract Do not call this function directly; use simd::pow instead. */ -static SIMD_CPPFUNC float __tg_pow(float x, float y) { return ::pow(x, y); } -/*! @abstract Do not call this function directly; use simd::pow instead. */ -static SIMD_CPPFUNC double __tg_pow(double x, float y) { return ::pow(x, y); } -/*! @abstract Do not call this function directly; use simd::fmod instead. */ -static SIMD_CPPFUNC float __tg_fmod(float x, float y) { return ::fmod(x, y); } -/*! @abstract Do not call this function directly; use simd::fmod instead. */ -static SIMD_CPPFUNC double __tg_fmod(double x, float y) { return ::fmod(x, y); } -/*! @abstract Do not call this function directly; use simd::remainder - * instead. */ -static SIMD_CPPFUNC float __tg_remainder(float x, float y) { return ::remainder(x, y); } -/*! @abstract Do not call this function directly; use simd::remainder - * instead. */ -static SIMD_CPPFUNC double __tg_remainder(double x, float y) { return ::remainder(x, y); } -/*! @abstract Do not call this function directly; use simd::copysign - * instead. */ -static SIMD_CPPFUNC float __tg_copysign(float x, float y) { return ::copysign(x, y); } -/*! @abstract Do not call this function directly; use simd::copysign - * instead. */ -static SIMD_CPPFUNC double __tg_copysign(double x, float y) { return ::copysign(x, y); } -/*! @abstract Do not call this function directly; use simd::nextafter - * instead. */ -static SIMD_CPPFUNC float __tg_nextafter(float x, float y) { return ::nextafter(x, y); } -/*! @abstract Do not call this function directly; use simd::nextafter - * instead. */ -static SIMD_CPPFUNC double __tg_nextafter(double x, float y) { return ::nextafter(x, y); } -/*! @abstract Do not call this function directly; use simd::fdim instead. */ -static SIMD_CPPFUNC float __tg_fdim(float x, float y) { return ::fdim(x, y); } -/*! @abstract Do not call this function directly; use simd::fdim instead. */ -static SIMD_CPPFUNC double __tg_fdim(double x, float y) { return ::fdim(x, y); } -/*! @abstract Do not call this function directly; use simd::fmax instead. */ -static SIMD_CPPFUNC float __tg_fmax(float x, float y) { return ::fmax(x, y); } -/*! @abstract Do not call this function directly; use simd::fmax instead. */ -static SIMD_CPPFUNC double __tg_fmax(double x, float y) { return ::fmax(x, y); } -/*! @abstract Do not call this function directly; use simd::fmin instead. */ -static SIMD_CPPFUNC float __tg_fmin(float x, float y) { return ::fmin(x, y); } -/*! @abstract Do not call this function directly; use simd::fmin instead. */ -static SIMD_CPPFUNC double __tg_fmin(double x, float y) { return ::fmin(x, y); } -/*! @abstract Do not call this function directly; use simd::fma instead. */ -static SIMD_CPPFUNC float __tg_fma(float x, float y, float z) { return ::fma(x, y, z); } -/*! @abstract Do not call this function directly; use simd::fma instead. */ -static SIMD_CPPFUNC double __tg_fma(double x, double y, double z) { return ::fma(x, y, z); } - -namespace simd { -/*! @abstract Generalizes the function acos to operate on vectors of - * floats and doubles. */ - template - static SIMD_CPPFUNC fptypeN acos(fptypeN x) { return ::__tg_acos(x); } - -/*! @abstract Generalizes the function asin to operate on vectors of - * floats and doubles. */ - template - static SIMD_CPPFUNC fptypeN asin(fptypeN x) { return ::__tg_asin(x); } - -/*! @abstract Generalizes the function atan to operate on vectors of - * floats and doubles. */ - template - static SIMD_CPPFUNC fptypeN atan(fptypeN x) { return ::__tg_atan(x); } - -/*! @abstract Generalizes the function cos to operate on vectors of - * floats and doubles. */ - template - static SIMD_CPPFUNC fptypeN cos(fptypeN x) { return ::__tg_cos(x); } - -/*! @abstract Generalizes the function sin to operate on vectors of - * floats and doubles. */ - template - static SIMD_CPPFUNC fptypeN sin(fptypeN x) { return ::__tg_sin(x); } - -/*! @abstract Generalizes the function tan to operate on vectors of - * floats and doubles. */ - template - static SIMD_CPPFUNC fptypeN tan(fptypeN x) { return ::__tg_tan(x); } - -#if SIMD_LIBRARY_VERSION >= 1 -/*! @abstract Generalizes the function cospi to operate on vectors - * of floats and doubles. */ - template - static SIMD_CPPFUNC fptypeN cospi(fptypeN x) { return ::__tg_cospi(x); } -#endif - -#if SIMD_LIBRARY_VERSION >= 1 -/*! @abstract Generalizes the function sinpi to operate on vectors - * of floats and doubles. */ - template - static SIMD_CPPFUNC fptypeN sinpi(fptypeN x) { return ::__tg_sinpi(x); } -#endif - -#if SIMD_LIBRARY_VERSION >= 1 -/*! @abstract Generalizes the function tanpi to operate on vectors - * of floats and doubles. */ - template - static SIMD_CPPFUNC fptypeN tanpi(fptypeN x) { return ::__tg_tanpi(x); } -#endif - -/*! @abstract Generalizes the function acosh to operate on vectors - * of floats and doubles. */ - template - static SIMD_CPPFUNC fptypeN acosh(fptypeN x) { return ::__tg_acosh(x); } - -/*! @abstract Generalizes the function asinh to operate on vectors - * of floats and doubles. */ - template - static SIMD_CPPFUNC fptypeN asinh(fptypeN x) { return ::__tg_asinh(x); } - -/*! @abstract Generalizes the function atanh to operate on vectors - * of floats and doubles. */ - template - static SIMD_CPPFUNC fptypeN atanh(fptypeN x) { return ::__tg_atanh(x); } - -/*! @abstract Generalizes the function cosh to operate on vectors of - * floats and doubles. */ - template - static SIMD_CPPFUNC fptypeN cosh(fptypeN x) { return ::__tg_cosh(x); } - -/*! @abstract Generalizes the function sinh to operate on vectors of - * floats and doubles. */ - template - static SIMD_CPPFUNC fptypeN sinh(fptypeN x) { return ::__tg_sinh(x); } - -/*! @abstract Generalizes the function tanh to operate on vectors of - * floats and doubles. */ - template - static SIMD_CPPFUNC fptypeN tanh(fptypeN x) { return ::__tg_tanh(x); } - -/*! @abstract Generalizes the function exp to operate on vectors of - * floats and doubles. */ - template - static SIMD_CPPFUNC fptypeN exp(fptypeN x) { return ::__tg_exp(x); } - -/*! @abstract Generalizes the function exp2 to operate on vectors of - * floats and doubles. */ - template - static SIMD_CPPFUNC fptypeN exp2(fptypeN x) { return ::__tg_exp2(x); } - -#if SIMD_LIBRARY_VERSION >= 1 -/*! @abstract Generalizes the function exp10 to operate on vectors - * of floats and doubles. */ - template - static SIMD_CPPFUNC fptypeN exp10(fptypeN x) { return ::__tg_exp10(x); } -#endif - -/*! @abstract Generalizes the function expm1 to operate on vectors - * of floats and doubles. */ - template - static SIMD_CPPFUNC fptypeN expm1(fptypeN x) { return ::__tg_expm1(x); } - -/*! @abstract Generalizes the function log to operate on vectors of - * floats and doubles. */ - template - static SIMD_CPPFUNC fptypeN log(fptypeN x) { return ::__tg_log(x); } - -/*! @abstract Generalizes the function log2 to operate on vectors of - * floats and doubles. */ - template - static SIMD_CPPFUNC fptypeN log2(fptypeN x) { return ::__tg_log2(x); } - -/*! @abstract Generalizes the function log10 to operate on vectors - * of floats and doubles. */ - template - static SIMD_CPPFUNC fptypeN log10(fptypeN x) { return ::__tg_log10(x); } - -/*! @abstract Generalizes the function log1p to operate on vectors - * of floats and doubles. */ - template - static SIMD_CPPFUNC fptypeN log1p(fptypeN x) { return ::__tg_log1p(x); } - -/*! @abstract Generalizes the function fabs to operate on vectors of - * floats and doubles. */ - template - static SIMD_CPPFUNC fptypeN fabs(fptypeN x) { return ::__tg_fabs(x); } - -/*! @abstract Generalizes the function cbrt to operate on vectors of - * floats and doubles. */ - template - static SIMD_CPPFUNC fptypeN cbrt(fptypeN x) { return ::__tg_cbrt(x); } - -/*! @abstract Generalizes the function sqrt to operate on vectors of - * floats and doubles. */ - template - static SIMD_CPPFUNC fptypeN sqrt(fptypeN x) { return ::__tg_sqrt(x); } - -/*! @abstract Generalizes the function erf to operate on vectors of - * floats and doubles. */ - template - static SIMD_CPPFUNC fptypeN erf(fptypeN x) { return ::__tg_erf(x); } - -/*! @abstract Generalizes the function erfc to operate on vectors of - * floats and doubles. */ - template - static SIMD_CPPFUNC fptypeN erfc(fptypeN x) { return ::__tg_erfc(x); } - -/*! @abstract Generalizes the function tgamma to operate on vectors - * of floats and doubles. */ - template - static SIMD_CPPFUNC fptypeN tgamma(fptypeN x) { return ::__tg_tgamma(x); } - -/*! @abstract Generalizes the function ceil to operate on vectors of - * floats and doubles. */ - template - static SIMD_CPPFUNC fptypeN ceil(fptypeN x) { return ::__tg_ceil(x); } - -/*! @abstract Generalizes the function floor to operate on vectors - * of floats and doubles. */ - template - static SIMD_CPPFUNC fptypeN floor(fptypeN x) { return ::__tg_floor(x); } - -/*! @abstract Generalizes the function rint to operate on vectors of - * floats and doubles. */ - template - static SIMD_CPPFUNC fptypeN rint(fptypeN x) { return ::__tg_rint(x); } - -/*! @abstract Generalizes the function round to operate on vectors - * of floats and doubles. */ - template - static SIMD_CPPFUNC fptypeN round(fptypeN x) { return ::__tg_round(x); } - -/*! @abstract Generalizes the function trunc to operate on vectors - * of floats and doubles. */ - template - static SIMD_CPPFUNC fptypeN trunc(fptypeN x) { return ::__tg_trunc(x); } - -/*! @abstract Generalizes the function atan2 to operate on vectors - * of floats and doubles. */ - template - static SIMD_CPPFUNC fptypeN atan2(fptypeN y, fptypeN x) { return ::__tg_atan2(y, x); } - -/*! @abstract Generalizes the function hypot to operate on vectors - * of floats and doubles. */ - template - static SIMD_CPPFUNC fptypeN hypot(fptypeN x, fptypeN y) { return ::__tg_hypot(x, y); } - -/*! @abstract Generalizes the function pow to operate on vectors of - * floats and doubles. */ - template - static SIMD_CPPFUNC fptypeN pow(fptypeN x, fptypeN y) { return ::__tg_pow(x, y); } - -/*! @abstract Generalizes the function fmod to operate on vectors of - * floats and doubles. */ - template - static SIMD_CPPFUNC fptypeN fmod(fptypeN x, fptypeN y) { return ::__tg_fmod(x, y); } - -/*! @abstract Generalizes the function remainder to operate on - * vectors of floats and doubles. */ - template - static SIMD_CPPFUNC fptypeN remainder(fptypeN x, fptypeN y) { return ::__tg_remainder(x, y); } - -/*! @abstract Generalizes the function copysign to operate on - * vectors of floats and doubles. */ - template - static SIMD_CPPFUNC fptypeN copysign(fptypeN x, fptypeN y) { return ::__tg_copysign(x, y); } - -/*! @abstract Generalizes the function nextafter to operate on - * vectors of floats and doubles. */ - template - static SIMD_CPPFUNC fptypeN nextafter(fptypeN x, fptypeN y) { return ::__tg_nextafter(x, y); } - -/*! @abstract Generalizes the function fdim to operate on vectors of - * floats and doubles. */ - template - static SIMD_CPPFUNC fptypeN fdim(fptypeN x, fptypeN y) { return ::__tg_fdim(x, y); } - -/*! @abstract Generalizes the function fmax to operate on vectors of - * floats and doubles. */ - template - static SIMD_CPPFUNC fptypeN fmax(fptypeN x, fptypeN y) { return ::__tg_fmax(x, y); } - -/*! @abstract Generalizes the function fmin to operate on vectors of - * floats and doubles. */ - template - static SIMD_CPPFUNC fptypeN fmin(fptypeN x, fptypeN y) { return ::__tg_fmin(x, y); } - -/*! @abstract Generalizes the function fma to operate on vectors of - * floats and doubles. */ - template - static SIMD_CPPFUNC fptypeN fma(fptypeN x, fptypeN y, fptypeN z) { return ::__tg_fma(x, y, z); } - -/*! @abstract Computes x*y + z by the most efficient means available; either - * a fused multiply add or separate multiply and add. */ - template - static SIMD_CPPFUNC fptypeN muladd(fptypeN x, fptypeN y, fptypeN z) { return ::simd_muladd(x, y, z); } -}; - -extern "C" { -#else -#include -/* C and Objective-C, we need some infrastructure to piggyback on tgmath.h */ -static SIMD_OVERLOAD simd_float2 __tg_promote(simd_float2); -static SIMD_OVERLOAD simd_float3 __tg_promote(simd_float3); -static SIMD_OVERLOAD simd_float4 __tg_promote(simd_float4); -static SIMD_OVERLOAD simd_float8 __tg_promote(simd_float8); -static SIMD_OVERLOAD simd_float16 __tg_promote(simd_float16); -static SIMD_OVERLOAD simd_double2 __tg_promote(simd_double2); -static SIMD_OVERLOAD simd_double3 __tg_promote(simd_double3); -static SIMD_OVERLOAD simd_double4 __tg_promote(simd_double4); -static SIMD_OVERLOAD simd_double8 __tg_promote(simd_double8); - -/* Apple extensions to , added in macOS 10.9 and iOS 7.0 */ -#if __MAC_OS_X_VERSION_MIN_REQUIRED >= __MAC_10_9 || \ - __IPHONE_OS_VERSION_MIN_REQUIRED >= __IPHONE_7_0 || \ - __DRIVERKIT_VERSION_MIN_REQUIRED >= __DRIVERKIT_19_0 -static inline SIMD_CFUNC float __tg_cospi(float x) { return __cospif(x); } -static inline SIMD_CFUNC double __tg_cospi(double x) { return __cospi(x); } -#undef cospi -/*! @abstract `cospi(x)` computes `cos(pi * x)` without intermediate rounding. - * - * @discussion Both faster and more accurate than multiplying by `pi` and then - * calling `cos`. Defined for `float` and `double` as well as vectors of - * floats and doubles as provided by ``. */ -#define cospi(__x) __tg_cospi(__tg_promote1((__x))(__x)) - -static inline SIMD_CFUNC float __tg_sinpi(float x) { return __sinpif(x); } -static inline SIMD_CFUNC double __tg_sinpi(double x) { return __sinpi(x); } -#undef sinpi -/*! @abstract `sinpi(x)` computes `sin(pi * x)` without intermediate rounding. - * - * @discussion Both faster and more accurate than multiplying by `pi` and then - * calling `sin`. Defined for `float` and `double` as well as vectors - * of floats and doubles as provided by ``. */ -#define sinpi(__x) __tg_sinpi(__tg_promote1((__x))(__x)) - -static inline SIMD_CFUNC float __tg_tanpi(float x) { return __tanpif(x); } -static inline SIMD_CFUNC double __tg_tanpi(double x) { return __tanpi(x); } -#undef tanpi -/*! @abstract `tanpi(x)` computes `tan(pi * x)` without intermediate rounding. - * - * @discussion Both faster and more accurate than multiplying by `pi` and then - * calling `tan`. Defined for `float` and `double` as well as vectors of - * floats and doubles as provided by ``. */ -#define tanpi(__x) __tg_tanpi(__tg_promote1((__x))(__x)) - -static inline SIMD_CFUNC float __tg_exp10(float x) { return __exp10f(x); } -static inline SIMD_CFUNC double __tg_exp10(double x) { return __exp10(x); } -#undef exp10 -/*! @abstract `exp10(x)` computes `10**x` more efficiently and accurately - * than `pow(10, x)`. - * - * @discussion Defined for `float` and `double` as well as vectors of floats - * and doubles as provided by ``. */ -#define exp10(__x) __tg_exp10(__tg_promote1((__x))(__x)) -#endif - - -#endif /* !__cplusplus */ - -#pragma mark - fabs implementation -static inline SIMD_CFUNC simd_float2 __tg_fabs(simd_float2 x) { return simd_bitselect(0.0, x, 0x7fffffff); } -static inline SIMD_CFUNC simd_float3 __tg_fabs(simd_float3 x) { return simd_bitselect(0.0, x, 0x7fffffff); } -static inline SIMD_CFUNC simd_float4 __tg_fabs(simd_float4 x) { return simd_bitselect(0.0, x, 0x7fffffff); } -static inline SIMD_CFUNC simd_float8 __tg_fabs(simd_float8 x) { return simd_bitselect(0.0, x, 0x7fffffff); } -static inline SIMD_CFUNC simd_float16 __tg_fabs(simd_float16 x) { return simd_bitselect(0.0, x, 0x7fffffff); } -static inline SIMD_CFUNC simd_double2 __tg_fabs(simd_double2 x) { return simd_bitselect(0.0, x, 0x7fffffffffffffffL); } -static inline SIMD_CFUNC simd_double3 __tg_fabs(simd_double3 x) { return simd_bitselect(0.0, x, 0x7fffffffffffffffL); } -static inline SIMD_CFUNC simd_double4 __tg_fabs(simd_double4 x) { return simd_bitselect(0.0, x, 0x7fffffffffffffffL); } -static inline SIMD_CFUNC simd_double8 __tg_fabs(simd_double8 x) { return simd_bitselect(0.0, x, 0x7fffffffffffffffL); } - -#pragma mark - fmin, fmax implementation -static SIMD_CFUNC simd_float2 __tg_fmin(simd_float2 x, simd_float2 y) { -#if defined __SSE2__ - return simd_make_float2(__tg_fmin(simd_make_float4_undef(x), simd_make_float4_undef(y))); -#elif defined __arm64__ - return vminnm_f32(x, y); -#elif defined __arm__ && __FINITE_MATH_ONLY__ - return vmin_f32(x, y); -#else - return simd_bitselect(y, x, (x <= y) | (y != y)); -#endif -} - -static SIMD_CFUNC simd_float3 __tg_fmin(simd_float3 x, simd_float3 y) { - return simd_make_float3(__tg_fmin(simd_make_float4_undef(x), simd_make_float4_undef(y))); -} - -static SIMD_CFUNC simd_float4 __tg_fmin(simd_float4 x, simd_float4 y) { -#if defined __AVX512DQ__ && defined __AVX512VL__ && !__FINITE_MATH_ONLY__ - return _mm_range_ps(x, y, 4); -#elif defined __SSE2__ && __FINITE_MATH_ONLY__ - return _mm_min_ps(x, y); -#elif defined __SSE2__ - return simd_bitselect(_mm_min_ps(x, y), x, y != y); -#elif defined __arm64__ - return vminnmq_f32(x, y); -#elif defined __arm__ && __FINITE_MATH_ONLY__ - return vminq_f32(x, y); -#else - return simd_bitselect(y, x, (x <= y) | (y != y)); -#endif -} - -static SIMD_CFUNC simd_float8 __tg_fmin(simd_float8 x, simd_float8 y) { -#if defined __AVX512DQ__ && defined __AVX512VL__ && !__FINITE_MATH_ONLY__ - return _mm256_range_ps(x, y, 4); -#elif defined __AVX__ && __FINITE_MATH_ONLY__ - return _mm256_min_ps(x, y); -#elif defined __AVX__ - return simd_bitselect(_mm256_min_ps(x, y), x, y != y); -#else - return simd_make_float8(__tg_fmin(x.lo, y.lo), __tg_fmin(x.hi, y.hi)); -#endif -} - -static SIMD_CFUNC simd_float16 __tg_fmin(simd_float16 x, simd_float16 y) { -#if defined __x86_64__ && defined __AVX512DQ__ && !__FINITE_MATH_ONLY__ - return _mm512_range_ps(x, y, 4); -#elif defined __x86_64__ && defined __AVX512F__ && __FINITE_MATH_ONLY__ - return _mm512_min_ps(x, y); -#elif defined __x86_64__ && defined __AVX512F__ - return simd_bitselect(_mm512_min_ps(x, y), x, y != y); -#else - return simd_make_float16(__tg_fmin(x.lo, y.lo), __tg_fmin(x.hi, y.hi)); -#endif -} - -static SIMD_CFUNC simd_double2 __tg_fmin(simd_double2 x, simd_double2 y) { -#if defined __AVX512DQ__ && defined __AVX512VL__ - return _mm_range_pd(x, y, 4); -#elif defined __SSE2__ && __FINITE_MATH_ONLY__ - return _mm_min_pd(x, y); -#elif defined __SSE2__ - return simd_bitselect(_mm_min_pd(x, y), x, y != y); -#elif defined __arm64__ - return vminnmq_f64(x, y); -#else - return simd_bitselect(y, x, (x <= y) | (y != y)); -#endif -} - -static SIMD_CFUNC simd_double3 __tg_fmin(simd_double3 x, simd_double3 y) { - return simd_make_double3(__tg_fmin(simd_make_double4_undef(x), simd_make_double4_undef(y))); -} - -static SIMD_CFUNC simd_double4 __tg_fmin(simd_double4 x, simd_double4 y) { -#if defined __AVX512DQ__ && defined __AVX512VL__ - return _mm256_range_pd(x, y, 4); -#elif defined __AVX__ && __FINITE_MATH_ONLY__ - return _mm256_min_pd(x, y); -#elif defined __AVX__ - return simd_bitselect(_mm256_min_pd(x, y), x, y != y); -#else - return simd_make_double4(__tg_fmin(x.lo, y.lo), __tg_fmin(x.hi, y.hi)); -#endif -} - -static SIMD_CFUNC simd_double8 __tg_fmin(simd_double8 x, simd_double8 y) { -#if defined __x86_64__ && defined __AVX512DQ__ - return _mm512_range_pd(x, y, 4); -#elif defined __x86_64__ && defined __AVX512F__ && __FINITE_MATH_ONLY__ - return _mm512_min_pd(x, y); -#elif defined __x86_64__ && defined __AVX512F__ - return simd_bitselect(_mm512_min_pd(x, y), x, y != y); -#else - return simd_make_double8(__tg_fmin(x.lo, y.lo), __tg_fmin(x.hi, y.hi)); -#endif -} - -static SIMD_CFUNC simd_float2 __tg_fmax(simd_float2 x, simd_float2 y) { -#if defined __SSE2__ - return simd_make_float2(__tg_fmax(simd_make_float4_undef(x), simd_make_float4_undef(y))); -#elif defined __arm64__ - return vmaxnm_f32(x, y); -#elif defined __arm__ && __FINITE_MATH_ONLY__ - return vmax_f32(x, y); -#else - return simd_bitselect(y, x, (x >= y) | (y != y)); -#endif -} - -static SIMD_CFUNC simd_float3 __tg_fmax(simd_float3 x, simd_float3 y) { - return simd_make_float3(__tg_fmax(simd_make_float4_undef(x), simd_make_float4_undef(y))); -} - -static SIMD_CFUNC simd_float4 __tg_fmax(simd_float4 x, simd_float4 y) { -#if defined __AVX512DQ__ && defined __AVX512VL__ && !__FINITE_MATH_ONLY__ - return _mm_range_ps(x, y, 5); -#elif defined __SSE2__ && __FINITE_MATH_ONLY__ - return _mm_max_ps(x, y); -#elif defined __SSE2__ - return simd_bitselect(_mm_max_ps(x, y), x, y != y); -#elif defined __arm64__ - return vmaxnmq_f32(x, y); -#elif defined __arm__ && __FINITE_MATH_ONLY__ - return vmaxq_f32(x, y); -#else - return simd_bitselect(y, x, (x >= y) | (y != y)); -#endif -} - -static SIMD_CFUNC simd_float8 __tg_fmax(simd_float8 x, simd_float8 y) { -#if defined __AVX512DQ__ && defined __AVX512VL__ && !__FINITE_MATH_ONLY__ - return _mm256_range_ps(x, y, 5); -#elif defined __AVX__ && __FINITE_MATH_ONLY__ - return _mm256_max_ps(x, y); -#elif defined __AVX__ - return simd_bitselect(_mm256_max_ps(x, y), x, y != y); -#else - return simd_make_float8(__tg_fmax(x.lo, y.lo), __tg_fmax(x.hi, y.hi)); -#endif -} - -static SIMD_CFUNC simd_float16 __tg_fmax(simd_float16 x, simd_float16 y) { -#if defined __x86_64__ && defined __AVX512DQ__ && !__FINITE_MATH_ONLY__ - return _mm512_range_ps(x, y, 5); -#elif defined __x86_64__ && defined __AVX512F__ && __FINITE_MATH_ONLY__ - return _mm512_max_ps(x, y); -#elif defined __x86_64__ && defined __AVX512F__ - return simd_bitselect(_mm512_max_ps(x, y), x, y != y); -#else - return simd_make_float16(__tg_fmax(x.lo, y.lo), __tg_fmax(x.hi, y.hi)); -#endif -} - -static SIMD_CFUNC simd_double2 __tg_fmax(simd_double2 x, simd_double2 y) { -#if defined __AVX512DQ__ && defined __AVX512VL__ - return _mm_range_pd(x, y, 5); -#elif defined __SSE2__ && __FINITE_MATH_ONLY__ - return _mm_max_pd(x, y); -#elif defined __SSE2__ - return simd_bitselect(_mm_max_pd(x, y), x, y != y); -#elif defined __arm64__ - return vmaxnmq_f64(x, y); -#else - return simd_bitselect(y, x, (x >= y) | (y != y)); -#endif -} - -static SIMD_CFUNC simd_double3 __tg_fmax(simd_double3 x, simd_double3 y) { - return simd_make_double3(__tg_fmax(simd_make_double4_undef(x), simd_make_double4_undef(y))); -} - -static SIMD_CFUNC simd_double4 __tg_fmax(simd_double4 x, simd_double4 y) { -#if defined __AVX512DQ__ && defined __AVX512VL__ - return _mm256_range_pd(x, y, 5); -#elif defined __AVX__ && __FINITE_MATH_ONLY__ - return _mm256_max_pd(x, y); -#elif defined __AVX__ - return simd_bitselect(_mm256_max_pd(x, y), x, y != y); -#else - return simd_make_double4(__tg_fmax(x.lo, y.lo), __tg_fmax(x.hi, y.hi)); -#endif -} - -static SIMD_CFUNC simd_double8 __tg_fmax(simd_double8 x, simd_double8 y) { -#if defined __x86_64__ && defined __AVX512DQ__ - return _mm512_range_pd(x, y, 5); -#elif defined __x86_64__ && defined __AVX512F__ && __FINITE_MATH_ONLY__ - return _mm512_max_pd(x, y); -#elif defined __x86_64__ && defined __AVX512F__ - return simd_bitselect(_mm512_max_pd(x, y), x, y != y); -#else - return simd_make_double8(__tg_fmax(x.lo, y.lo), __tg_fmax(x.hi, y.hi)); -#endif -} - -#pragma mark - copysign implementation -static inline SIMD_CFUNC simd_float2 __tg_copysign(simd_float2 x, simd_float2 y) { return simd_bitselect(y, x, 0x7fffffff); } -static inline SIMD_CFUNC simd_float3 __tg_copysign(simd_float3 x, simd_float3 y) { return simd_bitselect(y, x, 0x7fffffff); } -static inline SIMD_CFUNC simd_float4 __tg_copysign(simd_float4 x, simd_float4 y) { return simd_bitselect(y, x, 0x7fffffff); } -static inline SIMD_CFUNC simd_float8 __tg_copysign(simd_float8 x, simd_float8 y) { return simd_bitselect(y, x, 0x7fffffff); } -static inline SIMD_CFUNC simd_float16 __tg_copysign(simd_float16 x, simd_float16 y) { return simd_bitselect(y, x, 0x7fffffff); } -static inline SIMD_CFUNC simd_double2 __tg_copysign(simd_double2 x, simd_double2 y) { return simd_bitselect(y, x, 0x7fffffffffffffffL); } -static inline SIMD_CFUNC simd_double3 __tg_copysign(simd_double3 x, simd_double3 y) { return simd_bitselect(y, x, 0x7fffffffffffffffL); } -static inline SIMD_CFUNC simd_double4 __tg_copysign(simd_double4 x, simd_double4 y) { return simd_bitselect(y, x, 0x7fffffffffffffffL); } -static inline SIMD_CFUNC simd_double8 __tg_copysign(simd_double8 x, simd_double8 y) { return simd_bitselect(y, x, 0x7fffffffffffffffL); } - -#pragma mark - sqrt implementation -static SIMD_CFUNC simd_float2 __tg_sqrt(simd_float2 x) { -#if defined __SSE2__ - return simd_make_float2(__tg_sqrt(simd_make_float4_undef(x))); -#elif defined __arm64__ - return vsqrt_f32(x); -#else - return simd_make_float2(sqrt(x.x), sqrt(x.y)); -#endif -} - -static SIMD_CFUNC simd_float3 __tg_sqrt(simd_float3 x) { - return simd_make_float3(__tg_sqrt(simd_make_float4_undef(x))); -} - -static SIMD_CFUNC simd_float4 __tg_sqrt(simd_float4 x) { -#if defined __SSE2__ - return _mm_sqrt_ps(x); -#elif defined __arm64__ - return vsqrtq_f32(x); -#else - return simd_make_float4(__tg_sqrt(x.lo), __tg_sqrt(x.hi)); -#endif -} - -static SIMD_CFUNC simd_float8 __tg_sqrt(simd_float8 x) { -#if defined __AVX__ - return _mm256_sqrt_ps(x); -#else - return simd_make_float8(__tg_sqrt(x.lo), __tg_sqrt(x.hi)); -#endif -} - -static SIMD_CFUNC simd_float16 __tg_sqrt(simd_float16 x) { -#if defined __x86_64__ && defined __AVX512F__ - return _mm512_sqrt_ps(x); -#else - return simd_make_float16(__tg_sqrt(x.lo), __tg_sqrt(x.hi)); -#endif -} - -static SIMD_CFUNC simd_double2 __tg_sqrt(simd_double2 x) { -#if defined __SSE2__ - return _mm_sqrt_pd(x); -#elif defined __arm64__ - return vsqrtq_f64(x); -#else - return simd_make_double2(sqrt(x.x), sqrt(x.y)); -#endif -} - -static SIMD_CFUNC simd_double3 __tg_sqrt(simd_double3 x) { - return simd_make_double3(__tg_sqrt(simd_make_double4_undef(x))); -} - -static SIMD_CFUNC simd_double4 __tg_sqrt(simd_double4 x) { -#if defined __AVX__ - return _mm256_sqrt_pd(x); -#else - return simd_make_double4(__tg_sqrt(x.lo), __tg_sqrt(x.hi)); -#endif -} - -static SIMD_CFUNC simd_double8 __tg_sqrt(simd_double8 x) { -#if defined __x86_64__ && defined __AVX512F__ - return _mm512_sqrt_pd(x); -#else - return simd_make_double8(__tg_sqrt(x.lo), __tg_sqrt(x.hi)); -#endif -} - -#pragma mark - ceil, floor, rint, trunc implementation -static SIMD_CFUNC simd_float2 __tg_ceil(simd_float2 x) { -#if defined __arm64__ - return vrndp_f32(x); -#else - return simd_make_float2(__tg_ceil(simd_make_float4_undef(x))); -#endif -} - -static SIMD_CFUNC simd_float3 __tg_ceil(simd_float3 x) { - return simd_make_float3(__tg_ceil(simd_make_float4_undef(x))); -} - -#if defined __arm__ && SIMD_LIBRARY_VERSION >= 3 -extern simd_float4 _simd_ceil_f4(simd_float4 x); -#endif - -static SIMD_CFUNC simd_float4 __tg_ceil(simd_float4 x) { -#if defined __SSE4_1__ - return _mm_round_ps(x, _MM_FROUND_TO_POS_INF | _MM_FROUND_NO_EXC); -#elif defined __arm64__ - return vrndpq_f32(x); -#elif defined __arm__ && SIMD_LIBRARY_VERSION >= 3 - return _simd_ceil_f4(x); -#else - simd_float4 truncated = __tg_trunc(x); - simd_float4 adjust = simd_bitselect((simd_float4)0, 1, truncated < x); - return __tg_copysign(truncated + adjust, x); -#endif -} - -static SIMD_CFUNC simd_float8 __tg_ceil(simd_float8 x) { -#if defined __AVX__ - return _mm256_round_ps(x, _MM_FROUND_TO_POS_INF | _MM_FROUND_NO_EXC); -#else - return simd_make_float8(__tg_ceil(x.lo), __tg_ceil(x.hi)); -#endif -} - -static SIMD_CFUNC simd_float16 __tg_ceil(simd_float16 x) { -#if defined __x86_64__ && defined __AVX512F__ - return _mm512_roundscale_ps(x, _MM_FROUND_TO_POS_INF | _MM_FROUND_NO_EXC); -#else - return simd_make_float16(__tg_ceil(x.lo), __tg_ceil(x.hi)); -#endif -} - -#if defined __arm__ && SIMD_LIBRARY_VERSION >= 3 -extern simd_double2 _simd_ceil_d2(simd_double2 x); -#endif - -static SIMD_CFUNC simd_double2 __tg_ceil(simd_double2 x) { -#if defined __SSE4_1__ - return _mm_round_pd(x, _MM_FROUND_TO_POS_INF | _MM_FROUND_NO_EXC); -#elif defined __arm64__ - return vrndpq_f64(x); -#elif defined __arm__ && SIMD_LIBRARY_VERSION >= 3 - return _simd_ceil_d2(x); -#else - simd_double2 truncated = __tg_trunc(x); - simd_double2 adjust = simd_bitselect((simd_double2)0, 1, truncated < x); - return __tg_copysign(truncated + adjust, x); -#endif -} - -static SIMD_CFUNC simd_double3 __tg_ceil(simd_double3 x) { - return simd_make_double3(__tg_ceil(simd_make_double4_undef(x))); -} - -static SIMD_CFUNC simd_double4 __tg_ceil(simd_double4 x) { -#if defined __AVX__ - return _mm256_round_pd(x, _MM_FROUND_TO_POS_INF | _MM_FROUND_NO_EXC); -#else - return simd_make_double4(__tg_ceil(x.lo), __tg_ceil(x.hi)); -#endif -} - -static SIMD_CFUNC simd_double8 __tg_ceil(simd_double8 x) { -#if defined __x86_64__ && defined __AVX512F__ - return _mm512_roundscale_pd(x, _MM_FROUND_TO_POS_INF | _MM_FROUND_NO_EXC); -#else - return simd_make_double8(__tg_ceil(x.lo), __tg_ceil(x.hi)); -#endif -} - -static SIMD_CFUNC simd_float2 __tg_floor(simd_float2 x) { -#if defined __arm64__ - return vrndm_f32(x); -#else - return simd_make_float2(__tg_floor(simd_make_float4_undef(x))); -#endif -} - -static SIMD_CFUNC simd_float3 __tg_floor(simd_float3 x) { - return simd_make_float3(__tg_floor(simd_make_float4_undef(x))); -} - -#if defined __arm__ && SIMD_LIBRARY_VERSION >= 3 -extern simd_float4 _simd_floor_f4(simd_float4 x); -#endif - -static SIMD_CFUNC simd_float4 __tg_floor(simd_float4 x) { -#if defined __SSE4_1__ - return _mm_round_ps(x, _MM_FROUND_TO_NEG_INF | _MM_FROUND_NO_EXC); -#elif defined __arm64__ - return vrndmq_f32(x); -#elif defined __arm__ && SIMD_LIBRARY_VERSION >= 3 - return _simd_floor_f4(x); -#else - simd_float4 truncated = __tg_trunc(x); - simd_float4 adjust = simd_bitselect((simd_float4)0, 1, truncated > x); - return truncated - adjust; -#endif -} - -static SIMD_CFUNC simd_float8 __tg_floor(simd_float8 x) { -#if defined __AVX__ - return _mm256_round_ps(x, _MM_FROUND_TO_NEG_INF | _MM_FROUND_NO_EXC); -#else - return simd_make_float8(__tg_floor(x.lo), __tg_floor(x.hi)); -#endif -} - -static SIMD_CFUNC simd_float16 __tg_floor(simd_float16 x) { -#if defined __x86_64__ && defined __AVX512F__ - return _mm512_roundscale_ps(x, _MM_FROUND_TO_NEG_INF | _MM_FROUND_NO_EXC); -#else - return simd_make_float16(__tg_floor(x.lo), __tg_floor(x.hi)); -#endif -} - -#if defined __arm__ && SIMD_LIBRARY_VERSION >= 3 -extern simd_double2 _simd_floor_d2(simd_double2 x); -#endif - -static SIMD_CFUNC simd_double2 __tg_floor(simd_double2 x) { -#if defined __SSE4_1__ - return _mm_round_pd(x, _MM_FROUND_TO_NEG_INF | _MM_FROUND_NO_EXC); -#elif defined __arm64__ - return vrndmq_f64(x); -#elif defined __arm__ && SIMD_LIBRARY_VERSION >= 3 - return _simd_floor_d2(x); -#else - simd_double2 truncated = __tg_trunc(x); - simd_double2 adjust = simd_bitselect((simd_double2)0, 1, truncated > x); - return truncated - adjust; -#endif -} - -static SIMD_CFUNC simd_double3 __tg_floor(simd_double3 x) { - return simd_make_double3(__tg_floor(simd_make_double4_undef(x))); -} - -static SIMD_CFUNC simd_double4 __tg_floor(simd_double4 x) { -#if defined __AVX__ - return _mm256_round_pd(x, _MM_FROUND_TO_NEG_INF | _MM_FROUND_NO_EXC); -#else - return simd_make_double4(__tg_floor(x.lo), __tg_floor(x.hi)); -#endif -} - -static SIMD_CFUNC simd_double8 __tg_floor(simd_double8 x) { -#if defined __x86_64__ && defined __AVX512F__ - return _mm512_roundscale_pd(x, _MM_FROUND_TO_NEG_INF | _MM_FROUND_NO_EXC); -#else - return simd_make_double8(__tg_floor(x.lo), __tg_floor(x.hi)); -#endif -} - -static SIMD_CFUNC simd_float2 __tg_rint(simd_float2 x) { -#if defined __arm64__ - return vrndx_f32(x); -#else - return simd_make_float2(__tg_rint(simd_make_float4_undef(x))); -#endif -} - -static SIMD_CFUNC simd_float3 __tg_rint(simd_float3 x) { - return simd_make_float3(__tg_rint(simd_make_float4_undef(x))); -} - -#if defined __arm__ && SIMD_LIBRARY_VERSION >= 3 -extern simd_float4 _simd_rint_f4(simd_float4 x); -#endif - -static SIMD_CFUNC simd_float4 __tg_rint(simd_float4 x) { -#if defined __SSE4_1__ - return _mm_round_ps(x, _MM_FROUND_RINT); -#elif defined __arm64__ - return vrndxq_f32(x); -#elif defined __arm__ && SIMD_LIBRARY_VERSION >= 3 - return _simd_rint_f4(x); -#else - simd_float4 magic = __tg_copysign(0x1.0p23, x); - simd_int4 x_is_small = __tg_fabs(x) < 0x1.0p23; - return simd_bitselect(x, (x + magic) - magic, x_is_small & 0x7fffffff); -#endif -} - -static SIMD_CFUNC simd_float8 __tg_rint(simd_float8 x) { -#if defined __AVX__ - return _mm256_round_ps(x, _MM_FROUND_RINT); -#else - return simd_make_float8(__tg_rint(x.lo), __tg_rint(x.hi)); -#endif -} - -static SIMD_CFUNC simd_float16 __tg_rint(simd_float16 x) { -#if defined __x86_64__ && defined __AVX512F__ - return _mm512_roundscale_ps(x, _MM_FROUND_RINT); -#else - return simd_make_float16(__tg_rint(x.lo), __tg_rint(x.hi)); -#endif -} - -#if defined __arm__ && SIMD_LIBRARY_VERSION >= 3 -extern simd_double2 _simd_rint_d2(simd_double2 x); -#endif - -static SIMD_CFUNC simd_double2 __tg_rint(simd_double2 x) { -#if defined __SSE4_1__ - return _mm_round_pd(x, _MM_FROUND_RINT); -#elif defined __arm64__ - return vrndxq_f64(x); -#elif defined __arm__ && SIMD_LIBRARY_VERSION >= 3 - return _simd_rint_d2(x); -#else - simd_double2 magic = __tg_copysign(0x1.0p52, x); - simd_long2 x_is_small = __tg_fabs(x) < 0x1.0p52; - return simd_bitselect(x, (x + magic) - magic, x_is_small & 0x7fffffffffffffff); -#endif -} - -static SIMD_CFUNC simd_double3 __tg_rint(simd_double3 x) { - return simd_make_double3(__tg_rint(simd_make_double4_undef(x))); -} - -static SIMD_CFUNC simd_double4 __tg_rint(simd_double4 x) { -#if defined __AVX__ - return _mm256_round_pd(x, _MM_FROUND_RINT); -#else - return simd_make_double4(__tg_rint(x.lo), __tg_rint(x.hi)); -#endif -} - -static SIMD_CFUNC simd_double8 __tg_rint(simd_double8 x) { -#if defined __x86_64__ && defined __AVX512F__ - return _mm512_roundscale_pd(x, _MM_FROUND_RINT); -#else - return simd_make_double8(__tg_rint(x.lo), __tg_rint(x.hi)); -#endif -} - -static SIMD_CFUNC simd_float2 __tg_trunc(simd_float2 x) { -#if defined __arm64__ - return vrnd_f32(x); -#else - return simd_make_float2(__tg_trunc(simd_make_float4_undef(x))); -#endif -} - -static SIMD_CFUNC simd_float3 __tg_trunc(simd_float3 x) { - return simd_make_float3(__tg_trunc(simd_make_float4_undef(x))); -} - -#if defined __arm__ && SIMD_LIBRARY_VERSION >= 3 -extern simd_float4 _simd_trunc_f4(simd_float4 x); -#endif - -static SIMD_CFUNC simd_float4 __tg_trunc(simd_float4 x) { -#if defined __SSE4_1__ - return _mm_round_ps(x, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -#elif defined __arm64__ - return vrndq_f32(x); -#elif defined __arm__ && SIMD_LIBRARY_VERSION >= 3 - return _simd_trunc_f4(x); -#else - simd_float4 binade = simd_bitselect(0, x, 0x7f800000); - simd_int4 mask = (simd_int4)__tg_fmin(-2*binade + 1, -0); - simd_float4 result = simd_bitselect(0, x, mask); - return simd_bitselect(x, result, binade < 0x1.0p23); -#endif -} - -static SIMD_CFUNC simd_float8 __tg_trunc(simd_float8 x) { -#if defined __AVX__ - return _mm256_round_ps(x, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -#else - return simd_make_float8(__tg_trunc(x.lo), __tg_trunc(x.hi)); -#endif -} - -static SIMD_CFUNC simd_float16 __tg_trunc(simd_float16 x) { -#if defined __x86_64__ && defined __AVX512F__ - return _mm512_roundscale_ps(x, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -#else - return simd_make_float16(__tg_trunc(x.lo), __tg_trunc(x.hi)); -#endif -} - -#if defined __arm__ && SIMD_LIBRARY_VERSION >= 3 -extern simd_double2 _simd_trunc_d2(simd_double2 x); -#endif - -static SIMD_CFUNC simd_double2 __tg_trunc(simd_double2 x) { -#if defined __SSE4_1__ - return _mm_round_pd(x, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -#elif defined __arm64__ - return vrndq_f64(x); -#elif defined __arm__ && SIMD_LIBRARY_VERSION >= 3 - return _simd_trunc_d2(x); -#else - simd_double2 binade = simd_bitselect(0, x, 0x7ff0000000000000); - simd_long2 mask = (simd_long2)__tg_fmin(-2*binade + 1, -0); - simd_double2 result = simd_bitselect(0, x, mask); - return simd_bitselect(x, result, binade < 0x1.0p52); -#endif -} - -static SIMD_CFUNC simd_double3 __tg_trunc(simd_double3 x) { - return simd_make_double3(__tg_trunc(simd_make_double4_undef(x))); -} - -static SIMD_CFUNC simd_double4 __tg_trunc(simd_double4 x) { -#if defined __AVX__ - return _mm256_round_pd(x, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -#else - return simd_make_double4(__tg_trunc(x.lo), __tg_trunc(x.hi)); -#endif -} - -static SIMD_CFUNC simd_double8 __tg_trunc(simd_double8 x) { -#if defined __x86_64__ && defined __AVX512F__ - return _mm512_roundscale_pd(x, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -#else - return simd_make_double8(__tg_trunc(x.lo), __tg_trunc(x.hi)); -#endif -} - -#pragma mark - sine, cosine implementation -static inline SIMD_CFUNC simd_float2 __tg_sin(simd_float2 x) { - return simd_make_float2(__tg_sin(simd_make_float4(x))); -} - -static inline SIMD_CFUNC simd_float3 __tg_sin(simd_float3 x) { - return simd_make_float3(__tg_sin(simd_make_float4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_float4 _simd_sin_f4(simd_float4 x); -static inline SIMD_CFUNC simd_float4 __tg_sin(simd_float4 x) { - return _simd_sin_f4(x); -} -#elif SIMD_LIBRARY_VERSION == 1 -extern simd_float4 __sin_f4(simd_float4 x); -static inline SIMD_CFUNC simd_float4 __tg_sin(simd_float4 x) { - return __sin_f4(x); -} -#else -static inline SIMD_CFUNC simd_float4 __tg_sin(simd_float4 x) { - return simd_make_float4(sin(x.x), sin(x.y), sin(x.z), sin(x.w)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_float8 _simd_sin_f8(simd_float8 x); -static inline SIMD_CFUNC simd_float8 __tg_sin(simd_float8 x) { - return _simd_sin_f8(x); -} -#else -static inline SIMD_CFUNC simd_float8 __tg_sin(simd_float8 x) { - return simd_make_float8(__tg_sin(x.lo), __tg_sin(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_float16 _simd_sin_f16(simd_float16 x); -static inline SIMD_CFUNC simd_float16 __tg_sin(simd_float16 x) { - return _simd_sin_f16(x); -} -#else -static inline SIMD_CFUNC simd_float16 __tg_sin(simd_float16 x) { - return simd_make_float16(__tg_sin(x.lo), __tg_sin(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_double2 _simd_sin_d2(simd_double2 x); -static inline SIMD_CFUNC simd_double2 __tg_sin(simd_double2 x) { - return _simd_sin_d2(x); -} -#elif SIMD_LIBRARY_VERSION == 1 -extern simd_double2 __sin_d2(simd_double2 x); -static inline SIMD_CFUNC simd_double2 __tg_sin(simd_double2 x) { - return __sin_d2(x); -} -#else -static inline SIMD_CFUNC simd_double2 __tg_sin(simd_double2 x) { - return simd_make_double2(sin(x.x), sin(x.y)); -} -#endif - -static inline SIMD_CFUNC simd_double3 __tg_sin(simd_double3 x) { - return simd_make_double3(__tg_sin(simd_make_double4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_double4 _simd_sin_d4(simd_double4 x); -static inline SIMD_CFUNC simd_double4 __tg_sin(simd_double4 x) { - return _simd_sin_d4(x); -} -#else -static inline SIMD_CFUNC simd_double4 __tg_sin(simd_double4 x) { - return simd_make_double4(__tg_sin(x.lo), __tg_sin(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_double8 _simd_sin_d8(simd_double8 x); -static inline SIMD_CFUNC simd_double8 __tg_sin(simd_double8 x) { - return _simd_sin_d8(x); -} -#else -static inline SIMD_CFUNC simd_double8 __tg_sin(simd_double8 x) { - return simd_make_double8(__tg_sin(x.lo), __tg_sin(x.hi)); -} -#endif - -static inline SIMD_CFUNC simd_float2 __tg_cos(simd_float2 x) { - return simd_make_float2(__tg_cos(simd_make_float4(x))); -} - -static inline SIMD_CFUNC simd_float3 __tg_cos(simd_float3 x) { - return simd_make_float3(__tg_cos(simd_make_float4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_float4 _simd_cos_f4(simd_float4 x); -static inline SIMD_CFUNC simd_float4 __tg_cos(simd_float4 x) { - return _simd_cos_f4(x); -} -#elif SIMD_LIBRARY_VERSION == 1 -extern simd_float4 __cos_f4(simd_float4 x); -static inline SIMD_CFUNC simd_float4 __tg_cos(simd_float4 x) { - return __cos_f4(x); -} -#else -static inline SIMD_CFUNC simd_float4 __tg_cos(simd_float4 x) { - return simd_make_float4(cos(x.x), cos(x.y), cos(x.z), cos(x.w)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_float8 _simd_cos_f8(simd_float8 x); -static inline SIMD_CFUNC simd_float8 __tg_cos(simd_float8 x) { - return _simd_cos_f8(x); -} -#else -static inline SIMD_CFUNC simd_float8 __tg_cos(simd_float8 x) { - return simd_make_float8(__tg_cos(x.lo), __tg_cos(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_float16 _simd_cos_f16(simd_float16 x); -static inline SIMD_CFUNC simd_float16 __tg_cos(simd_float16 x) { - return _simd_cos_f16(x); -} -#else -static inline SIMD_CFUNC simd_float16 __tg_cos(simd_float16 x) { - return simd_make_float16(__tg_cos(x.lo), __tg_cos(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_double2 _simd_cos_d2(simd_double2 x); -static inline SIMD_CFUNC simd_double2 __tg_cos(simd_double2 x) { - return _simd_cos_d2(x); -} -#elif SIMD_LIBRARY_VERSION == 1 -extern simd_double2 __cos_d2(simd_double2 x); -static inline SIMD_CFUNC simd_double2 __tg_cos(simd_double2 x) { - return __cos_d2(x); -} -#else -static inline SIMD_CFUNC simd_double2 __tg_cos(simd_double2 x) { - return simd_make_double2(cos(x.x), cos(x.y)); -} -#endif - -static inline SIMD_CFUNC simd_double3 __tg_cos(simd_double3 x) { - return simd_make_double3(__tg_cos(simd_make_double4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_double4 _simd_cos_d4(simd_double4 x); -static inline SIMD_CFUNC simd_double4 __tg_cos(simd_double4 x) { - return _simd_cos_d4(x); -} -#else -static inline SIMD_CFUNC simd_double4 __tg_cos(simd_double4 x) { - return simd_make_double4(__tg_cos(x.lo), __tg_cos(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_double8 _simd_cos_d8(simd_double8 x); -static inline SIMD_CFUNC simd_double8 __tg_cos(simd_double8 x) { - return _simd_cos_d8(x); -} -#else -static inline SIMD_CFUNC simd_double8 __tg_cos(simd_double8 x) { - return simd_make_double8(__tg_cos(x.lo), __tg_cos(x.hi)); -} -#endif - - -#pragma mark - acos implementation -static inline SIMD_CFUNC simd_float2 __tg_acos(simd_float2 x) { - return simd_make_float2(__tg_acos(simd_make_float4(x))); -} - -static inline SIMD_CFUNC simd_float3 __tg_acos(simd_float3 x) { - return simd_make_float3(__tg_acos(simd_make_float4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_float4 _simd_acos_f4(simd_float4 x); -static inline SIMD_CFUNC simd_float4 __tg_acos(simd_float4 x) { - return _simd_acos_f4(x); -} -#else -static inline SIMD_CFUNC simd_float4 __tg_acos(simd_float4 x) { - return simd_make_float4(acos(x.x), acos(x.y), acos(x.z), acos(x.w)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_float8 _simd_acos_f8(simd_float8 x); -static inline SIMD_CFUNC simd_float8 __tg_acos(simd_float8 x) { - return _simd_acos_f8(x); -} -#else -static inline SIMD_CFUNC simd_float8 __tg_acos(simd_float8 x) { - return simd_make_float8(__tg_acos(x.lo), __tg_acos(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_float16 _simd_acos_f16(simd_float16 x); -static inline SIMD_CFUNC simd_float16 __tg_acos(simd_float16 x) { - return _simd_acos_f16(x); -} -#else -static inline SIMD_CFUNC simd_float16 __tg_acos(simd_float16 x) { - return simd_make_float16(__tg_acos(x.lo), __tg_acos(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_double2 _simd_acos_d2(simd_double2 x); -static inline SIMD_CFUNC simd_double2 __tg_acos(simd_double2 x) { - return _simd_acos_d2(x); -} -#else -static inline SIMD_CFUNC simd_double2 __tg_acos(simd_double2 x) { - return simd_make_double2(acos(x.x), acos(x.y)); -} -#endif - -static inline SIMD_CFUNC simd_double3 __tg_acos(simd_double3 x) { - return simd_make_double3(__tg_acos(simd_make_double4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_double4 _simd_acos_d4(simd_double4 x); -static inline SIMD_CFUNC simd_double4 __tg_acos(simd_double4 x) { - return _simd_acos_d4(x); -} -#else -static inline SIMD_CFUNC simd_double4 __tg_acos(simd_double4 x) { - return simd_make_double4(__tg_acos(x.lo), __tg_acos(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_double8 _simd_acos_d8(simd_double8 x); -static inline SIMD_CFUNC simd_double8 __tg_acos(simd_double8 x) { - return _simd_acos_d8(x); -} -#else -static inline SIMD_CFUNC simd_double8 __tg_acos(simd_double8 x) { - return simd_make_double8(__tg_acos(x.lo), __tg_acos(x.hi)); -} -#endif - -#pragma mark - asin implementation -static inline SIMD_CFUNC simd_float2 __tg_asin(simd_float2 x) { - return simd_make_float2(__tg_asin(simd_make_float4(x))); -} - -static inline SIMD_CFUNC simd_float3 __tg_asin(simd_float3 x) { - return simd_make_float3(__tg_asin(simd_make_float4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_float4 _simd_asin_f4(simd_float4 x); -static inline SIMD_CFUNC simd_float4 __tg_asin(simd_float4 x) { - return _simd_asin_f4(x); -} -#else -static inline SIMD_CFUNC simd_float4 __tg_asin(simd_float4 x) { - return simd_make_float4(asin(x.x), asin(x.y), asin(x.z), asin(x.w)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_float8 _simd_asin_f8(simd_float8 x); -static inline SIMD_CFUNC simd_float8 __tg_asin(simd_float8 x) { - return _simd_asin_f8(x); -} -#else -static inline SIMD_CFUNC simd_float8 __tg_asin(simd_float8 x) { - return simd_make_float8(__tg_asin(x.lo), __tg_asin(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_float16 _simd_asin_f16(simd_float16 x); -static inline SIMD_CFUNC simd_float16 __tg_asin(simd_float16 x) { - return _simd_asin_f16(x); -} -#else -static inline SIMD_CFUNC simd_float16 __tg_asin(simd_float16 x) { - return simd_make_float16(__tg_asin(x.lo), __tg_asin(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_double2 _simd_asin_d2(simd_double2 x); -static inline SIMD_CFUNC simd_double2 __tg_asin(simd_double2 x) { - return _simd_asin_d2(x); -} -#else -static inline SIMD_CFUNC simd_double2 __tg_asin(simd_double2 x) { - return simd_make_double2(asin(x.x), asin(x.y)); -} -#endif - -static inline SIMD_CFUNC simd_double3 __tg_asin(simd_double3 x) { - return simd_make_double3(__tg_asin(simd_make_double4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_double4 _simd_asin_d4(simd_double4 x); -static inline SIMD_CFUNC simd_double4 __tg_asin(simd_double4 x) { - return _simd_asin_d4(x); -} -#else -static inline SIMD_CFUNC simd_double4 __tg_asin(simd_double4 x) { - return simd_make_double4(__tg_asin(x.lo), __tg_asin(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_double8 _simd_asin_d8(simd_double8 x); -static inline SIMD_CFUNC simd_double8 __tg_asin(simd_double8 x) { - return _simd_asin_d8(x); -} -#else -static inline SIMD_CFUNC simd_double8 __tg_asin(simd_double8 x) { - return simd_make_double8(__tg_asin(x.lo), __tg_asin(x.hi)); -} -#endif - -#pragma mark - atan implementation -static inline SIMD_CFUNC simd_float2 __tg_atan(simd_float2 x) { - return simd_make_float2(__tg_atan(simd_make_float4(x))); -} - -static inline SIMD_CFUNC simd_float3 __tg_atan(simd_float3 x) { - return simd_make_float3(__tg_atan(simd_make_float4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_float4 _simd_atan_f4(simd_float4 x); -static inline SIMD_CFUNC simd_float4 __tg_atan(simd_float4 x) { - return _simd_atan_f4(x); -} -#else -static inline SIMD_CFUNC simd_float4 __tg_atan(simd_float4 x) { - return simd_make_float4(atan(x.x), atan(x.y), atan(x.z), atan(x.w)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_float8 _simd_atan_f8(simd_float8 x); -static inline SIMD_CFUNC simd_float8 __tg_atan(simd_float8 x) { - return _simd_atan_f8(x); -} -#else -static inline SIMD_CFUNC simd_float8 __tg_atan(simd_float8 x) { - return simd_make_float8(__tg_atan(x.lo), __tg_atan(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_float16 _simd_atan_f16(simd_float16 x); -static inline SIMD_CFUNC simd_float16 __tg_atan(simd_float16 x) { - return _simd_atan_f16(x); -} -#else -static inline SIMD_CFUNC simd_float16 __tg_atan(simd_float16 x) { - return simd_make_float16(__tg_atan(x.lo), __tg_atan(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_double2 _simd_atan_d2(simd_double2 x); -static inline SIMD_CFUNC simd_double2 __tg_atan(simd_double2 x) { - return _simd_atan_d2(x); -} -#else -static inline SIMD_CFUNC simd_double2 __tg_atan(simd_double2 x) { - return simd_make_double2(atan(x.x), atan(x.y)); -} -#endif - -static inline SIMD_CFUNC simd_double3 __tg_atan(simd_double3 x) { - return simd_make_double3(__tg_atan(simd_make_double4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_double4 _simd_atan_d4(simd_double4 x); -static inline SIMD_CFUNC simd_double4 __tg_atan(simd_double4 x) { - return _simd_atan_d4(x); -} -#else -static inline SIMD_CFUNC simd_double4 __tg_atan(simd_double4 x) { - return simd_make_double4(__tg_atan(x.lo), __tg_atan(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_double8 _simd_atan_d8(simd_double8 x); -static inline SIMD_CFUNC simd_double8 __tg_atan(simd_double8 x) { - return _simd_atan_d8(x); -} -#else -static inline SIMD_CFUNC simd_double8 __tg_atan(simd_double8 x) { - return simd_make_double8(__tg_atan(x.lo), __tg_atan(x.hi)); -} -#endif - -#pragma mark - tan implementation -static inline SIMD_CFUNC simd_float2 __tg_tan(simd_float2 x) { - return simd_make_float2(__tg_tan(simd_make_float4(x))); -} - -static inline SIMD_CFUNC simd_float3 __tg_tan(simd_float3 x) { - return simd_make_float3(__tg_tan(simd_make_float4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_float4 _simd_tan_f4(simd_float4 x); -static inline SIMD_CFUNC simd_float4 __tg_tan(simd_float4 x) { - return _simd_tan_f4(x); -} -#else -static inline SIMD_CFUNC simd_float4 __tg_tan(simd_float4 x) { - return simd_make_float4(tan(x.x), tan(x.y), tan(x.z), tan(x.w)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_float8 _simd_tan_f8(simd_float8 x); -static inline SIMD_CFUNC simd_float8 __tg_tan(simd_float8 x) { - return _simd_tan_f8(x); -} -#else -static inline SIMD_CFUNC simd_float8 __tg_tan(simd_float8 x) { - return simd_make_float8(__tg_tan(x.lo), __tg_tan(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_float16 _simd_tan_f16(simd_float16 x); -static inline SIMD_CFUNC simd_float16 __tg_tan(simd_float16 x) { - return _simd_tan_f16(x); -} -#else -static inline SIMD_CFUNC simd_float16 __tg_tan(simd_float16 x) { - return simd_make_float16(__tg_tan(x.lo), __tg_tan(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_double2 _simd_tan_d2(simd_double2 x); -static inline SIMD_CFUNC simd_double2 __tg_tan(simd_double2 x) { - return _simd_tan_d2(x); -} -#else -static inline SIMD_CFUNC simd_double2 __tg_tan(simd_double2 x) { - return simd_make_double2(tan(x.x), tan(x.y)); -} -#endif - -static inline SIMD_CFUNC simd_double3 __tg_tan(simd_double3 x) { - return simd_make_double3(__tg_tan(simd_make_double4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_double4 _simd_tan_d4(simd_double4 x); -static inline SIMD_CFUNC simd_double4 __tg_tan(simd_double4 x) { - return _simd_tan_d4(x); -} -#else -static inline SIMD_CFUNC simd_double4 __tg_tan(simd_double4 x) { - return simd_make_double4(__tg_tan(x.lo), __tg_tan(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_double8 _simd_tan_d8(simd_double8 x); -static inline SIMD_CFUNC simd_double8 __tg_tan(simd_double8 x) { - return _simd_tan_d8(x); -} -#else -static inline SIMD_CFUNC simd_double8 __tg_tan(simd_double8 x) { - return simd_make_double8(__tg_tan(x.lo), __tg_tan(x.hi)); -} -#endif - -#pragma mark - cospi implementation -#if SIMD_LIBRARY_VERSION >= 1 -static inline SIMD_CFUNC simd_float2 __tg_cospi(simd_float2 x) { - return simd_make_float2(__tg_cospi(simd_make_float4(x))); -} - -static inline SIMD_CFUNC simd_float3 __tg_cospi(simd_float3 x) { - return simd_make_float3(__tg_cospi(simd_make_float4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_float4 _simd_cospi_f4(simd_float4 x); -static inline SIMD_CFUNC simd_float4 __tg_cospi(simd_float4 x) { - return _simd_cospi_f4(x); -} -#else -static inline SIMD_CFUNC simd_float4 __tg_cospi(simd_float4 x) { - return simd_make_float4(__cospi(x.x), __cospi(x.y), __cospi(x.z), __cospi(x.w)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_float8 _simd_cospi_f8(simd_float8 x); -static inline SIMD_CFUNC simd_float8 __tg_cospi(simd_float8 x) { - return _simd_cospi_f8(x); -} -#else -static inline SIMD_CFUNC simd_float8 __tg_cospi(simd_float8 x) { - return simd_make_float8(__tg_cospi(x.lo), __tg_cospi(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_float16 _simd_cospi_f16(simd_float16 x); -static inline SIMD_CFUNC simd_float16 __tg_cospi(simd_float16 x) { - return _simd_cospi_f16(x); -} -#else -static inline SIMD_CFUNC simd_float16 __tg_cospi(simd_float16 x) { - return simd_make_float16(__tg_cospi(x.lo), __tg_cospi(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_double2 _simd_cospi_d2(simd_double2 x); -static inline SIMD_CFUNC simd_double2 __tg_cospi(simd_double2 x) { - return _simd_cospi_d2(x); -} -#else -static inline SIMD_CFUNC simd_double2 __tg_cospi(simd_double2 x) { - return simd_make_double2(__cospi(x.x), __cospi(x.y)); -} -#endif - -static inline SIMD_CFUNC simd_double3 __tg_cospi(simd_double3 x) { - return simd_make_double3(__tg_cospi(simd_make_double4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_double4 _simd_cospi_d4(simd_double4 x); -static inline SIMD_CFUNC simd_double4 __tg_cospi(simd_double4 x) { - return _simd_cospi_d4(x); -} -#else -static inline SIMD_CFUNC simd_double4 __tg_cospi(simd_double4 x) { - return simd_make_double4(__tg_cospi(x.lo), __tg_cospi(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_double8 _simd_cospi_d8(simd_double8 x); -static inline SIMD_CFUNC simd_double8 __tg_cospi(simd_double8 x) { - return _simd_cospi_d8(x); -} -#else -static inline SIMD_CFUNC simd_double8 __tg_cospi(simd_double8 x) { - return simd_make_double8(__tg_cospi(x.lo), __tg_cospi(x.hi)); -} -#endif - -#endif /* SIMD_LIBRARY_VERSION */ -#pragma mark - sinpi implementation -#if SIMD_LIBRARY_VERSION >= 1 -static inline SIMD_CFUNC simd_float2 __tg_sinpi(simd_float2 x) { - return simd_make_float2(__tg_sinpi(simd_make_float4(x))); -} - -static inline SIMD_CFUNC simd_float3 __tg_sinpi(simd_float3 x) { - return simd_make_float3(__tg_sinpi(simd_make_float4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_float4 _simd_sinpi_f4(simd_float4 x); -static inline SIMD_CFUNC simd_float4 __tg_sinpi(simd_float4 x) { - return _simd_sinpi_f4(x); -} -#else -static inline SIMD_CFUNC simd_float4 __tg_sinpi(simd_float4 x) { - return simd_make_float4(__sinpi(x.x), __sinpi(x.y), __sinpi(x.z), __sinpi(x.w)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_float8 _simd_sinpi_f8(simd_float8 x); -static inline SIMD_CFUNC simd_float8 __tg_sinpi(simd_float8 x) { - return _simd_sinpi_f8(x); -} -#else -static inline SIMD_CFUNC simd_float8 __tg_sinpi(simd_float8 x) { - return simd_make_float8(__tg_sinpi(x.lo), __tg_sinpi(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_float16 _simd_sinpi_f16(simd_float16 x); -static inline SIMD_CFUNC simd_float16 __tg_sinpi(simd_float16 x) { - return _simd_sinpi_f16(x); -} -#else -static inline SIMD_CFUNC simd_float16 __tg_sinpi(simd_float16 x) { - return simd_make_float16(__tg_sinpi(x.lo), __tg_sinpi(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_double2 _simd_sinpi_d2(simd_double2 x); -static inline SIMD_CFUNC simd_double2 __tg_sinpi(simd_double2 x) { - return _simd_sinpi_d2(x); -} -#else -static inline SIMD_CFUNC simd_double2 __tg_sinpi(simd_double2 x) { - return simd_make_double2(__sinpi(x.x), __sinpi(x.y)); -} -#endif - -static inline SIMD_CFUNC simd_double3 __tg_sinpi(simd_double3 x) { - return simd_make_double3(__tg_sinpi(simd_make_double4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_double4 _simd_sinpi_d4(simd_double4 x); -static inline SIMD_CFUNC simd_double4 __tg_sinpi(simd_double4 x) { - return _simd_sinpi_d4(x); -} -#else -static inline SIMD_CFUNC simd_double4 __tg_sinpi(simd_double4 x) { - return simd_make_double4(__tg_sinpi(x.lo), __tg_sinpi(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_double8 _simd_sinpi_d8(simd_double8 x); -static inline SIMD_CFUNC simd_double8 __tg_sinpi(simd_double8 x) { - return _simd_sinpi_d8(x); -} -#else -static inline SIMD_CFUNC simd_double8 __tg_sinpi(simd_double8 x) { - return simd_make_double8(__tg_sinpi(x.lo), __tg_sinpi(x.hi)); -} -#endif - -#endif /* SIMD_LIBRARY_VERSION */ -#pragma mark - tanpi implementation -#if SIMD_LIBRARY_VERSION >= 1 -static inline SIMD_CFUNC simd_float2 __tg_tanpi(simd_float2 x) { - return simd_make_float2(__tg_tanpi(simd_make_float4(x))); -} - -static inline SIMD_CFUNC simd_float3 __tg_tanpi(simd_float3 x) { - return simd_make_float3(__tg_tanpi(simd_make_float4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_float4 _simd_tanpi_f4(simd_float4 x); -static inline SIMD_CFUNC simd_float4 __tg_tanpi(simd_float4 x) { - return _simd_tanpi_f4(x); -} -#else -static inline SIMD_CFUNC simd_float4 __tg_tanpi(simd_float4 x) { - return simd_make_float4(__tanpi(x.x), __tanpi(x.y), __tanpi(x.z), __tanpi(x.w)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_float8 _simd_tanpi_f8(simd_float8 x); -static inline SIMD_CFUNC simd_float8 __tg_tanpi(simd_float8 x) { - return _simd_tanpi_f8(x); -} -#else -static inline SIMD_CFUNC simd_float8 __tg_tanpi(simd_float8 x) { - return simd_make_float8(__tg_tanpi(x.lo), __tg_tanpi(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_float16 _simd_tanpi_f16(simd_float16 x); -static inline SIMD_CFUNC simd_float16 __tg_tanpi(simd_float16 x) { - return _simd_tanpi_f16(x); -} -#else -static inline SIMD_CFUNC simd_float16 __tg_tanpi(simd_float16 x) { - return simd_make_float16(__tg_tanpi(x.lo), __tg_tanpi(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_double2 _simd_tanpi_d2(simd_double2 x); -static inline SIMD_CFUNC simd_double2 __tg_tanpi(simd_double2 x) { - return _simd_tanpi_d2(x); -} -#else -static inline SIMD_CFUNC simd_double2 __tg_tanpi(simd_double2 x) { - return simd_make_double2(__tanpi(x.x), __tanpi(x.y)); -} -#endif - -static inline SIMD_CFUNC simd_double3 __tg_tanpi(simd_double3 x) { - return simd_make_double3(__tg_tanpi(simd_make_double4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_double4 _simd_tanpi_d4(simd_double4 x); -static inline SIMD_CFUNC simd_double4 __tg_tanpi(simd_double4 x) { - return _simd_tanpi_d4(x); -} -#else -static inline SIMD_CFUNC simd_double4 __tg_tanpi(simd_double4 x) { - return simd_make_double4(__tg_tanpi(x.lo), __tg_tanpi(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_double8 _simd_tanpi_d8(simd_double8 x); -static inline SIMD_CFUNC simd_double8 __tg_tanpi(simd_double8 x) { - return _simd_tanpi_d8(x); -} -#else -static inline SIMD_CFUNC simd_double8 __tg_tanpi(simd_double8 x) { - return simd_make_double8(__tg_tanpi(x.lo), __tg_tanpi(x.hi)); -} -#endif - -#endif /* SIMD_LIBRARY_VERSION */ -#pragma mark - acosh implementation -static inline SIMD_CFUNC simd_float2 __tg_acosh(simd_float2 x) { - return simd_make_float2(__tg_acosh(simd_make_float4(x))); -} - -static inline SIMD_CFUNC simd_float3 __tg_acosh(simd_float3 x) { - return simd_make_float3(__tg_acosh(simd_make_float4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_float4 _simd_acosh_f4(simd_float4 x); -static inline SIMD_CFUNC simd_float4 __tg_acosh(simd_float4 x) { - return _simd_acosh_f4(x); -} -#else -static inline SIMD_CFUNC simd_float4 __tg_acosh(simd_float4 x) { - return simd_make_float4(acosh(x.x), acosh(x.y), acosh(x.z), acosh(x.w)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_float8 _simd_acosh_f8(simd_float8 x); -static inline SIMD_CFUNC simd_float8 __tg_acosh(simd_float8 x) { - return _simd_acosh_f8(x); -} -#else -static inline SIMD_CFUNC simd_float8 __tg_acosh(simd_float8 x) { - return simd_make_float8(__tg_acosh(x.lo), __tg_acosh(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_float16 _simd_acosh_f16(simd_float16 x); -static inline SIMD_CFUNC simd_float16 __tg_acosh(simd_float16 x) { - return _simd_acosh_f16(x); -} -#else -static inline SIMD_CFUNC simd_float16 __tg_acosh(simd_float16 x) { - return simd_make_float16(__tg_acosh(x.lo), __tg_acosh(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_double2 _simd_acosh_d2(simd_double2 x); -static inline SIMD_CFUNC simd_double2 __tg_acosh(simd_double2 x) { - return _simd_acosh_d2(x); -} -#else -static inline SIMD_CFUNC simd_double2 __tg_acosh(simd_double2 x) { - return simd_make_double2(acosh(x.x), acosh(x.y)); -} -#endif - -static inline SIMD_CFUNC simd_double3 __tg_acosh(simd_double3 x) { - return simd_make_double3(__tg_acosh(simd_make_double4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_double4 _simd_acosh_d4(simd_double4 x); -static inline SIMD_CFUNC simd_double4 __tg_acosh(simd_double4 x) { - return _simd_acosh_d4(x); -} -#else -static inline SIMD_CFUNC simd_double4 __tg_acosh(simd_double4 x) { - return simd_make_double4(__tg_acosh(x.lo), __tg_acosh(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_double8 _simd_acosh_d8(simd_double8 x); -static inline SIMD_CFUNC simd_double8 __tg_acosh(simd_double8 x) { - return _simd_acosh_d8(x); -} -#else -static inline SIMD_CFUNC simd_double8 __tg_acosh(simd_double8 x) { - return simd_make_double8(__tg_acosh(x.lo), __tg_acosh(x.hi)); -} -#endif - -#pragma mark - asinh implementation -static inline SIMD_CFUNC simd_float2 __tg_asinh(simd_float2 x) { - return simd_make_float2(__tg_asinh(simd_make_float4(x))); -} - -static inline SIMD_CFUNC simd_float3 __tg_asinh(simd_float3 x) { - return simd_make_float3(__tg_asinh(simd_make_float4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_float4 _simd_asinh_f4(simd_float4 x); -static inline SIMD_CFUNC simd_float4 __tg_asinh(simd_float4 x) { - return _simd_asinh_f4(x); -} -#else -static inline SIMD_CFUNC simd_float4 __tg_asinh(simd_float4 x) { - return simd_make_float4(asinh(x.x), asinh(x.y), asinh(x.z), asinh(x.w)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_float8 _simd_asinh_f8(simd_float8 x); -static inline SIMD_CFUNC simd_float8 __tg_asinh(simd_float8 x) { - return _simd_asinh_f8(x); -} -#else -static inline SIMD_CFUNC simd_float8 __tg_asinh(simd_float8 x) { - return simd_make_float8(__tg_asinh(x.lo), __tg_asinh(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_float16 _simd_asinh_f16(simd_float16 x); -static inline SIMD_CFUNC simd_float16 __tg_asinh(simd_float16 x) { - return _simd_asinh_f16(x); -} -#else -static inline SIMD_CFUNC simd_float16 __tg_asinh(simd_float16 x) { - return simd_make_float16(__tg_asinh(x.lo), __tg_asinh(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_double2 _simd_asinh_d2(simd_double2 x); -static inline SIMD_CFUNC simd_double2 __tg_asinh(simd_double2 x) { - return _simd_asinh_d2(x); -} -#else -static inline SIMD_CFUNC simd_double2 __tg_asinh(simd_double2 x) { - return simd_make_double2(asinh(x.x), asinh(x.y)); -} -#endif - -static inline SIMD_CFUNC simd_double3 __tg_asinh(simd_double3 x) { - return simd_make_double3(__tg_asinh(simd_make_double4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_double4 _simd_asinh_d4(simd_double4 x); -static inline SIMD_CFUNC simd_double4 __tg_asinh(simd_double4 x) { - return _simd_asinh_d4(x); -} -#else -static inline SIMD_CFUNC simd_double4 __tg_asinh(simd_double4 x) { - return simd_make_double4(__tg_asinh(x.lo), __tg_asinh(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_double8 _simd_asinh_d8(simd_double8 x); -static inline SIMD_CFUNC simd_double8 __tg_asinh(simd_double8 x) { - return _simd_asinh_d8(x); -} -#else -static inline SIMD_CFUNC simd_double8 __tg_asinh(simd_double8 x) { - return simd_make_double8(__tg_asinh(x.lo), __tg_asinh(x.hi)); -} -#endif - -#pragma mark - atanh implementation -static inline SIMD_CFUNC simd_float2 __tg_atanh(simd_float2 x) { - return simd_make_float2(__tg_atanh(simd_make_float4(x))); -} - -static inline SIMD_CFUNC simd_float3 __tg_atanh(simd_float3 x) { - return simd_make_float3(__tg_atanh(simd_make_float4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_float4 _simd_atanh_f4(simd_float4 x); -static inline SIMD_CFUNC simd_float4 __tg_atanh(simd_float4 x) { - return _simd_atanh_f4(x); -} -#else -static inline SIMD_CFUNC simd_float4 __tg_atanh(simd_float4 x) { - return simd_make_float4(atanh(x.x), atanh(x.y), atanh(x.z), atanh(x.w)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_float8 _simd_atanh_f8(simd_float8 x); -static inline SIMD_CFUNC simd_float8 __tg_atanh(simd_float8 x) { - return _simd_atanh_f8(x); -} -#else -static inline SIMD_CFUNC simd_float8 __tg_atanh(simd_float8 x) { - return simd_make_float8(__tg_atanh(x.lo), __tg_atanh(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_float16 _simd_atanh_f16(simd_float16 x); -static inline SIMD_CFUNC simd_float16 __tg_atanh(simd_float16 x) { - return _simd_atanh_f16(x); -} -#else -static inline SIMD_CFUNC simd_float16 __tg_atanh(simd_float16 x) { - return simd_make_float16(__tg_atanh(x.lo), __tg_atanh(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_double2 _simd_atanh_d2(simd_double2 x); -static inline SIMD_CFUNC simd_double2 __tg_atanh(simd_double2 x) { - return _simd_atanh_d2(x); -} -#else -static inline SIMD_CFUNC simd_double2 __tg_atanh(simd_double2 x) { - return simd_make_double2(atanh(x.x), atanh(x.y)); -} -#endif - -static inline SIMD_CFUNC simd_double3 __tg_atanh(simd_double3 x) { - return simd_make_double3(__tg_atanh(simd_make_double4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_double4 _simd_atanh_d4(simd_double4 x); -static inline SIMD_CFUNC simd_double4 __tg_atanh(simd_double4 x) { - return _simd_atanh_d4(x); -} -#else -static inline SIMD_CFUNC simd_double4 __tg_atanh(simd_double4 x) { - return simd_make_double4(__tg_atanh(x.lo), __tg_atanh(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_double8 _simd_atanh_d8(simd_double8 x); -static inline SIMD_CFUNC simd_double8 __tg_atanh(simd_double8 x) { - return _simd_atanh_d8(x); -} -#else -static inline SIMD_CFUNC simd_double8 __tg_atanh(simd_double8 x) { - return simd_make_double8(__tg_atanh(x.lo), __tg_atanh(x.hi)); -} -#endif - -#pragma mark - cosh implementation -static inline SIMD_CFUNC simd_float2 __tg_cosh(simd_float2 x) { - return simd_make_float2(__tg_cosh(simd_make_float4(x))); -} - -static inline SIMD_CFUNC simd_float3 __tg_cosh(simd_float3 x) { - return simd_make_float3(__tg_cosh(simd_make_float4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_float4 _simd_cosh_f4(simd_float4 x); -static inline SIMD_CFUNC simd_float4 __tg_cosh(simd_float4 x) { - return _simd_cosh_f4(x); -} -#else -static inline SIMD_CFUNC simd_float4 __tg_cosh(simd_float4 x) { - return simd_make_float4(cosh(x.x), cosh(x.y), cosh(x.z), cosh(x.w)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_float8 _simd_cosh_f8(simd_float8 x); -static inline SIMD_CFUNC simd_float8 __tg_cosh(simd_float8 x) { - return _simd_cosh_f8(x); -} -#else -static inline SIMD_CFUNC simd_float8 __tg_cosh(simd_float8 x) { - return simd_make_float8(__tg_cosh(x.lo), __tg_cosh(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_float16 _simd_cosh_f16(simd_float16 x); -static inline SIMD_CFUNC simd_float16 __tg_cosh(simd_float16 x) { - return _simd_cosh_f16(x); -} -#else -static inline SIMD_CFUNC simd_float16 __tg_cosh(simd_float16 x) { - return simd_make_float16(__tg_cosh(x.lo), __tg_cosh(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_double2 _simd_cosh_d2(simd_double2 x); -static inline SIMD_CFUNC simd_double2 __tg_cosh(simd_double2 x) { - return _simd_cosh_d2(x); -} -#else -static inline SIMD_CFUNC simd_double2 __tg_cosh(simd_double2 x) { - return simd_make_double2(cosh(x.x), cosh(x.y)); -} -#endif - -static inline SIMD_CFUNC simd_double3 __tg_cosh(simd_double3 x) { - return simd_make_double3(__tg_cosh(simd_make_double4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_double4 _simd_cosh_d4(simd_double4 x); -static inline SIMD_CFUNC simd_double4 __tg_cosh(simd_double4 x) { - return _simd_cosh_d4(x); -} -#else -static inline SIMD_CFUNC simd_double4 __tg_cosh(simd_double4 x) { - return simd_make_double4(__tg_cosh(x.lo), __tg_cosh(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_double8 _simd_cosh_d8(simd_double8 x); -static inline SIMD_CFUNC simd_double8 __tg_cosh(simd_double8 x) { - return _simd_cosh_d8(x); -} -#else -static inline SIMD_CFUNC simd_double8 __tg_cosh(simd_double8 x) { - return simd_make_double8(__tg_cosh(x.lo), __tg_cosh(x.hi)); -} -#endif - -#pragma mark - sinh implementation -static inline SIMD_CFUNC simd_float2 __tg_sinh(simd_float2 x) { - return simd_make_float2(__tg_sinh(simd_make_float4(x))); -} - -static inline SIMD_CFUNC simd_float3 __tg_sinh(simd_float3 x) { - return simd_make_float3(__tg_sinh(simd_make_float4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_float4 _simd_sinh_f4(simd_float4 x); -static inline SIMD_CFUNC simd_float4 __tg_sinh(simd_float4 x) { - return _simd_sinh_f4(x); -} -#else -static inline SIMD_CFUNC simd_float4 __tg_sinh(simd_float4 x) { - return simd_make_float4(sinh(x.x), sinh(x.y), sinh(x.z), sinh(x.w)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_float8 _simd_sinh_f8(simd_float8 x); -static inline SIMD_CFUNC simd_float8 __tg_sinh(simd_float8 x) { - return _simd_sinh_f8(x); -} -#else -static inline SIMD_CFUNC simd_float8 __tg_sinh(simd_float8 x) { - return simd_make_float8(__tg_sinh(x.lo), __tg_sinh(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_float16 _simd_sinh_f16(simd_float16 x); -static inline SIMD_CFUNC simd_float16 __tg_sinh(simd_float16 x) { - return _simd_sinh_f16(x); -} -#else -static inline SIMD_CFUNC simd_float16 __tg_sinh(simd_float16 x) { - return simd_make_float16(__tg_sinh(x.lo), __tg_sinh(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_double2 _simd_sinh_d2(simd_double2 x); -static inline SIMD_CFUNC simd_double2 __tg_sinh(simd_double2 x) { - return _simd_sinh_d2(x); -} -#else -static inline SIMD_CFUNC simd_double2 __tg_sinh(simd_double2 x) { - return simd_make_double2(sinh(x.x), sinh(x.y)); -} -#endif - -static inline SIMD_CFUNC simd_double3 __tg_sinh(simd_double3 x) { - return simd_make_double3(__tg_sinh(simd_make_double4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_double4 _simd_sinh_d4(simd_double4 x); -static inline SIMD_CFUNC simd_double4 __tg_sinh(simd_double4 x) { - return _simd_sinh_d4(x); -} -#else -static inline SIMD_CFUNC simd_double4 __tg_sinh(simd_double4 x) { - return simd_make_double4(__tg_sinh(x.lo), __tg_sinh(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_double8 _simd_sinh_d8(simd_double8 x); -static inline SIMD_CFUNC simd_double8 __tg_sinh(simd_double8 x) { - return _simd_sinh_d8(x); -} -#else -static inline SIMD_CFUNC simd_double8 __tg_sinh(simd_double8 x) { - return simd_make_double8(__tg_sinh(x.lo), __tg_sinh(x.hi)); -} -#endif - -#pragma mark - tanh implementation -static inline SIMD_CFUNC simd_float2 __tg_tanh(simd_float2 x) { - return simd_make_float2(__tg_tanh(simd_make_float4(x))); -} - -static inline SIMD_CFUNC simd_float3 __tg_tanh(simd_float3 x) { - return simd_make_float3(__tg_tanh(simd_make_float4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_float4 _simd_tanh_f4(simd_float4 x); -static inline SIMD_CFUNC simd_float4 __tg_tanh(simd_float4 x) { - return _simd_tanh_f4(x); -} -#else -static inline SIMD_CFUNC simd_float4 __tg_tanh(simd_float4 x) { - return simd_make_float4(tanh(x.x), tanh(x.y), tanh(x.z), tanh(x.w)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_float8 _simd_tanh_f8(simd_float8 x); -static inline SIMD_CFUNC simd_float8 __tg_tanh(simd_float8 x) { - return _simd_tanh_f8(x); -} -#else -static inline SIMD_CFUNC simd_float8 __tg_tanh(simd_float8 x) { - return simd_make_float8(__tg_tanh(x.lo), __tg_tanh(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_float16 _simd_tanh_f16(simd_float16 x); -static inline SIMD_CFUNC simd_float16 __tg_tanh(simd_float16 x) { - return _simd_tanh_f16(x); -} -#else -static inline SIMD_CFUNC simd_float16 __tg_tanh(simd_float16 x) { - return simd_make_float16(__tg_tanh(x.lo), __tg_tanh(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_double2 _simd_tanh_d2(simd_double2 x); -static inline SIMD_CFUNC simd_double2 __tg_tanh(simd_double2 x) { - return _simd_tanh_d2(x); -} -#else -static inline SIMD_CFUNC simd_double2 __tg_tanh(simd_double2 x) { - return simd_make_double2(tanh(x.x), tanh(x.y)); -} -#endif - -static inline SIMD_CFUNC simd_double3 __tg_tanh(simd_double3 x) { - return simd_make_double3(__tg_tanh(simd_make_double4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_double4 _simd_tanh_d4(simd_double4 x); -static inline SIMD_CFUNC simd_double4 __tg_tanh(simd_double4 x) { - return _simd_tanh_d4(x); -} -#else -static inline SIMD_CFUNC simd_double4 __tg_tanh(simd_double4 x) { - return simd_make_double4(__tg_tanh(x.lo), __tg_tanh(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_double8 _simd_tanh_d8(simd_double8 x); -static inline SIMD_CFUNC simd_double8 __tg_tanh(simd_double8 x) { - return _simd_tanh_d8(x); -} -#else -static inline SIMD_CFUNC simd_double8 __tg_tanh(simd_double8 x) { - return simd_make_double8(__tg_tanh(x.lo), __tg_tanh(x.hi)); -} -#endif - -#pragma mark - exp implementation -static inline SIMD_CFUNC simd_float2 __tg_exp(simd_float2 x) { - return simd_make_float2(__tg_exp(simd_make_float4(x))); -} - -static inline SIMD_CFUNC simd_float3 __tg_exp(simd_float3 x) { - return simd_make_float3(__tg_exp(simd_make_float4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_float4 _simd_exp_f4(simd_float4 x); -static inline SIMD_CFUNC simd_float4 __tg_exp(simd_float4 x) { - return _simd_exp_f4(x); -} -#else -static inline SIMD_CFUNC simd_float4 __tg_exp(simd_float4 x) { - return simd_make_float4(exp(x.x), exp(x.y), exp(x.z), exp(x.w)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_float8 _simd_exp_f8(simd_float8 x); -static inline SIMD_CFUNC simd_float8 __tg_exp(simd_float8 x) { - return _simd_exp_f8(x); -} -#else -static inline SIMD_CFUNC simd_float8 __tg_exp(simd_float8 x) { - return simd_make_float8(__tg_exp(x.lo), __tg_exp(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_float16 _simd_exp_f16(simd_float16 x); -static inline SIMD_CFUNC simd_float16 __tg_exp(simd_float16 x) { - return _simd_exp_f16(x); -} -#else -static inline SIMD_CFUNC simd_float16 __tg_exp(simd_float16 x) { - return simd_make_float16(__tg_exp(x.lo), __tg_exp(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_double2 _simd_exp_d2(simd_double2 x); -static inline SIMD_CFUNC simd_double2 __tg_exp(simd_double2 x) { - return _simd_exp_d2(x); -} -#else -static inline SIMD_CFUNC simd_double2 __tg_exp(simd_double2 x) { - return simd_make_double2(exp(x.x), exp(x.y)); -} -#endif - -static inline SIMD_CFUNC simd_double3 __tg_exp(simd_double3 x) { - return simd_make_double3(__tg_exp(simd_make_double4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_double4 _simd_exp_d4(simd_double4 x); -static inline SIMD_CFUNC simd_double4 __tg_exp(simd_double4 x) { - return _simd_exp_d4(x); -} -#else -static inline SIMD_CFUNC simd_double4 __tg_exp(simd_double4 x) { - return simd_make_double4(__tg_exp(x.lo), __tg_exp(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_double8 _simd_exp_d8(simd_double8 x); -static inline SIMD_CFUNC simd_double8 __tg_exp(simd_double8 x) { - return _simd_exp_d8(x); -} -#else -static inline SIMD_CFUNC simd_double8 __tg_exp(simd_double8 x) { - return simd_make_double8(__tg_exp(x.lo), __tg_exp(x.hi)); -} -#endif - -#pragma mark - exp2 implementation -static inline SIMD_CFUNC simd_float2 __tg_exp2(simd_float2 x) { - return simd_make_float2(__tg_exp2(simd_make_float4(x))); -} - -static inline SIMD_CFUNC simd_float3 __tg_exp2(simd_float3 x) { - return simd_make_float3(__tg_exp2(simd_make_float4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_float4 _simd_exp2_f4(simd_float4 x); -static inline SIMD_CFUNC simd_float4 __tg_exp2(simd_float4 x) { - return _simd_exp2_f4(x); -} -#else -static inline SIMD_CFUNC simd_float4 __tg_exp2(simd_float4 x) { - return simd_make_float4(exp2(x.x), exp2(x.y), exp2(x.z), exp2(x.w)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_float8 _simd_exp2_f8(simd_float8 x); -static inline SIMD_CFUNC simd_float8 __tg_exp2(simd_float8 x) { - return _simd_exp2_f8(x); -} -#else -static inline SIMD_CFUNC simd_float8 __tg_exp2(simd_float8 x) { - return simd_make_float8(__tg_exp2(x.lo), __tg_exp2(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_float16 _simd_exp2_f16(simd_float16 x); -static inline SIMD_CFUNC simd_float16 __tg_exp2(simd_float16 x) { - return _simd_exp2_f16(x); -} -#else -static inline SIMD_CFUNC simd_float16 __tg_exp2(simd_float16 x) { - return simd_make_float16(__tg_exp2(x.lo), __tg_exp2(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_double2 _simd_exp2_d2(simd_double2 x); -static inline SIMD_CFUNC simd_double2 __tg_exp2(simd_double2 x) { - return _simd_exp2_d2(x); -} -#else -static inline SIMD_CFUNC simd_double2 __tg_exp2(simd_double2 x) { - return simd_make_double2(exp2(x.x), exp2(x.y)); -} -#endif - -static inline SIMD_CFUNC simd_double3 __tg_exp2(simd_double3 x) { - return simd_make_double3(__tg_exp2(simd_make_double4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_double4 _simd_exp2_d4(simd_double4 x); -static inline SIMD_CFUNC simd_double4 __tg_exp2(simd_double4 x) { - return _simd_exp2_d4(x); -} -#else -static inline SIMD_CFUNC simd_double4 __tg_exp2(simd_double4 x) { - return simd_make_double4(__tg_exp2(x.lo), __tg_exp2(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_double8 _simd_exp2_d8(simd_double8 x); -static inline SIMD_CFUNC simd_double8 __tg_exp2(simd_double8 x) { - return _simd_exp2_d8(x); -} -#else -static inline SIMD_CFUNC simd_double8 __tg_exp2(simd_double8 x) { - return simd_make_double8(__tg_exp2(x.lo), __tg_exp2(x.hi)); -} -#endif - -#pragma mark - exp10 implementation -#if SIMD_LIBRARY_VERSION >= 1 -static inline SIMD_CFUNC simd_float2 __tg_exp10(simd_float2 x) { - return simd_make_float2(__tg_exp10(simd_make_float4(x))); -} - -static inline SIMD_CFUNC simd_float3 __tg_exp10(simd_float3 x) { - return simd_make_float3(__tg_exp10(simd_make_float4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_float4 _simd_exp10_f4(simd_float4 x); -static inline SIMD_CFUNC simd_float4 __tg_exp10(simd_float4 x) { - return _simd_exp10_f4(x); -} -#else -static inline SIMD_CFUNC simd_float4 __tg_exp10(simd_float4 x) { - return simd_make_float4(__exp10(x.x), __exp10(x.y), __exp10(x.z), __exp10(x.w)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_float8 _simd_exp10_f8(simd_float8 x); -static inline SIMD_CFUNC simd_float8 __tg_exp10(simd_float8 x) { - return _simd_exp10_f8(x); -} -#else -static inline SIMD_CFUNC simd_float8 __tg_exp10(simd_float8 x) { - return simd_make_float8(__tg_exp10(x.lo), __tg_exp10(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_float16 _simd_exp10_f16(simd_float16 x); -static inline SIMD_CFUNC simd_float16 __tg_exp10(simd_float16 x) { - return _simd_exp10_f16(x); -} -#else -static inline SIMD_CFUNC simd_float16 __tg_exp10(simd_float16 x) { - return simd_make_float16(__tg_exp10(x.lo), __tg_exp10(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_double2 _simd_exp10_d2(simd_double2 x); -static inline SIMD_CFUNC simd_double2 __tg_exp10(simd_double2 x) { - return _simd_exp10_d2(x); -} -#else -static inline SIMD_CFUNC simd_double2 __tg_exp10(simd_double2 x) { - return simd_make_double2(__exp10(x.x), __exp10(x.y)); -} -#endif - -static inline SIMD_CFUNC simd_double3 __tg_exp10(simd_double3 x) { - return simd_make_double3(__tg_exp10(simd_make_double4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_double4 _simd_exp10_d4(simd_double4 x); -static inline SIMD_CFUNC simd_double4 __tg_exp10(simd_double4 x) { - return _simd_exp10_d4(x); -} -#else -static inline SIMD_CFUNC simd_double4 __tg_exp10(simd_double4 x) { - return simd_make_double4(__tg_exp10(x.lo), __tg_exp10(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_double8 _simd_exp10_d8(simd_double8 x); -static inline SIMD_CFUNC simd_double8 __tg_exp10(simd_double8 x) { - return _simd_exp10_d8(x); -} -#else -static inline SIMD_CFUNC simd_double8 __tg_exp10(simd_double8 x) { - return simd_make_double8(__tg_exp10(x.lo), __tg_exp10(x.hi)); -} -#endif - -#endif /* SIMD_LIBRARY_VERSION */ -#pragma mark - expm1 implementation -static inline SIMD_CFUNC simd_float2 __tg_expm1(simd_float2 x) { - return simd_make_float2(__tg_expm1(simd_make_float4(x))); -} - -static inline SIMD_CFUNC simd_float3 __tg_expm1(simd_float3 x) { - return simd_make_float3(__tg_expm1(simd_make_float4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_float4 _simd_expm1_f4(simd_float4 x); -static inline SIMD_CFUNC simd_float4 __tg_expm1(simd_float4 x) { - return _simd_expm1_f4(x); -} -#else -static inline SIMD_CFUNC simd_float4 __tg_expm1(simd_float4 x) { - return simd_make_float4(expm1(x.x), expm1(x.y), expm1(x.z), expm1(x.w)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_float8 _simd_expm1_f8(simd_float8 x); -static inline SIMD_CFUNC simd_float8 __tg_expm1(simd_float8 x) { - return _simd_expm1_f8(x); -} -#else -static inline SIMD_CFUNC simd_float8 __tg_expm1(simd_float8 x) { - return simd_make_float8(__tg_expm1(x.lo), __tg_expm1(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_float16 _simd_expm1_f16(simd_float16 x); -static inline SIMD_CFUNC simd_float16 __tg_expm1(simd_float16 x) { - return _simd_expm1_f16(x); -} -#else -static inline SIMD_CFUNC simd_float16 __tg_expm1(simd_float16 x) { - return simd_make_float16(__tg_expm1(x.lo), __tg_expm1(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_double2 _simd_expm1_d2(simd_double2 x); -static inline SIMD_CFUNC simd_double2 __tg_expm1(simd_double2 x) { - return _simd_expm1_d2(x); -} -#else -static inline SIMD_CFUNC simd_double2 __tg_expm1(simd_double2 x) { - return simd_make_double2(expm1(x.x), expm1(x.y)); -} -#endif - -static inline SIMD_CFUNC simd_double3 __tg_expm1(simd_double3 x) { - return simd_make_double3(__tg_expm1(simd_make_double4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_double4 _simd_expm1_d4(simd_double4 x); -static inline SIMD_CFUNC simd_double4 __tg_expm1(simd_double4 x) { - return _simd_expm1_d4(x); -} -#else -static inline SIMD_CFUNC simd_double4 __tg_expm1(simd_double4 x) { - return simd_make_double4(__tg_expm1(x.lo), __tg_expm1(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_double8 _simd_expm1_d8(simd_double8 x); -static inline SIMD_CFUNC simd_double8 __tg_expm1(simd_double8 x) { - return _simd_expm1_d8(x); -} -#else -static inline SIMD_CFUNC simd_double8 __tg_expm1(simd_double8 x) { - return simd_make_double8(__tg_expm1(x.lo), __tg_expm1(x.hi)); -} -#endif - -#pragma mark - log implementation -static inline SIMD_CFUNC simd_float2 __tg_log(simd_float2 x) { - return simd_make_float2(__tg_log(simd_make_float4(x))); -} - -static inline SIMD_CFUNC simd_float3 __tg_log(simd_float3 x) { - return simd_make_float3(__tg_log(simd_make_float4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_float4 _simd_log_f4(simd_float4 x); -static inline SIMD_CFUNC simd_float4 __tg_log(simd_float4 x) { - return _simd_log_f4(x); -} -#else -static inline SIMD_CFUNC simd_float4 __tg_log(simd_float4 x) { - return simd_make_float4(log(x.x), log(x.y), log(x.z), log(x.w)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_float8 _simd_log_f8(simd_float8 x); -static inline SIMD_CFUNC simd_float8 __tg_log(simd_float8 x) { - return _simd_log_f8(x); -} -#else -static inline SIMD_CFUNC simd_float8 __tg_log(simd_float8 x) { - return simd_make_float8(__tg_log(x.lo), __tg_log(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_float16 _simd_log_f16(simd_float16 x); -static inline SIMD_CFUNC simd_float16 __tg_log(simd_float16 x) { - return _simd_log_f16(x); -} -#else -static inline SIMD_CFUNC simd_float16 __tg_log(simd_float16 x) { - return simd_make_float16(__tg_log(x.lo), __tg_log(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_double2 _simd_log_d2(simd_double2 x); -static inline SIMD_CFUNC simd_double2 __tg_log(simd_double2 x) { - return _simd_log_d2(x); -} -#else -static inline SIMD_CFUNC simd_double2 __tg_log(simd_double2 x) { - return simd_make_double2(log(x.x), log(x.y)); -} -#endif - -static inline SIMD_CFUNC simd_double3 __tg_log(simd_double3 x) { - return simd_make_double3(__tg_log(simd_make_double4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_double4 _simd_log_d4(simd_double4 x); -static inline SIMD_CFUNC simd_double4 __tg_log(simd_double4 x) { - return _simd_log_d4(x); -} -#else -static inline SIMD_CFUNC simd_double4 __tg_log(simd_double4 x) { - return simd_make_double4(__tg_log(x.lo), __tg_log(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_double8 _simd_log_d8(simd_double8 x); -static inline SIMD_CFUNC simd_double8 __tg_log(simd_double8 x) { - return _simd_log_d8(x); -} -#else -static inline SIMD_CFUNC simd_double8 __tg_log(simd_double8 x) { - return simd_make_double8(__tg_log(x.lo), __tg_log(x.hi)); -} -#endif - -#pragma mark - log2 implementation -static inline SIMD_CFUNC simd_float2 __tg_log2(simd_float2 x) { - return simd_make_float2(__tg_log2(simd_make_float4(x))); -} - -static inline SIMD_CFUNC simd_float3 __tg_log2(simd_float3 x) { - return simd_make_float3(__tg_log2(simd_make_float4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_float4 _simd_log2_f4(simd_float4 x); -static inline SIMD_CFUNC simd_float4 __tg_log2(simd_float4 x) { - return _simd_log2_f4(x); -} -#else -static inline SIMD_CFUNC simd_float4 __tg_log2(simd_float4 x) { - return simd_make_float4(log2(x.x), log2(x.y), log2(x.z), log2(x.w)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_float8 _simd_log2_f8(simd_float8 x); -static inline SIMD_CFUNC simd_float8 __tg_log2(simd_float8 x) { - return _simd_log2_f8(x); -} -#else -static inline SIMD_CFUNC simd_float8 __tg_log2(simd_float8 x) { - return simd_make_float8(__tg_log2(x.lo), __tg_log2(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_float16 _simd_log2_f16(simd_float16 x); -static inline SIMD_CFUNC simd_float16 __tg_log2(simd_float16 x) { - return _simd_log2_f16(x); -} -#else -static inline SIMD_CFUNC simd_float16 __tg_log2(simd_float16 x) { - return simd_make_float16(__tg_log2(x.lo), __tg_log2(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_double2 _simd_log2_d2(simd_double2 x); -static inline SIMD_CFUNC simd_double2 __tg_log2(simd_double2 x) { - return _simd_log2_d2(x); -} -#else -static inline SIMD_CFUNC simd_double2 __tg_log2(simd_double2 x) { - return simd_make_double2(log2(x.x), log2(x.y)); -} -#endif - -static inline SIMD_CFUNC simd_double3 __tg_log2(simd_double3 x) { - return simd_make_double3(__tg_log2(simd_make_double4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_double4 _simd_log2_d4(simd_double4 x); -static inline SIMD_CFUNC simd_double4 __tg_log2(simd_double4 x) { - return _simd_log2_d4(x); -} -#else -static inline SIMD_CFUNC simd_double4 __tg_log2(simd_double4 x) { - return simd_make_double4(__tg_log2(x.lo), __tg_log2(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_double8 _simd_log2_d8(simd_double8 x); -static inline SIMD_CFUNC simd_double8 __tg_log2(simd_double8 x) { - return _simd_log2_d8(x); -} -#else -static inline SIMD_CFUNC simd_double8 __tg_log2(simd_double8 x) { - return simd_make_double8(__tg_log2(x.lo), __tg_log2(x.hi)); -} -#endif - -#pragma mark - log10 implementation -static inline SIMD_CFUNC simd_float2 __tg_log10(simd_float2 x) { - return simd_make_float2(__tg_log10(simd_make_float4(x))); -} - -static inline SIMD_CFUNC simd_float3 __tg_log10(simd_float3 x) { - return simd_make_float3(__tg_log10(simd_make_float4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_float4 _simd_log10_f4(simd_float4 x); -static inline SIMD_CFUNC simd_float4 __tg_log10(simd_float4 x) { - return _simd_log10_f4(x); -} -#else -static inline SIMD_CFUNC simd_float4 __tg_log10(simd_float4 x) { - return simd_make_float4(log10(x.x), log10(x.y), log10(x.z), log10(x.w)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_float8 _simd_log10_f8(simd_float8 x); -static inline SIMD_CFUNC simd_float8 __tg_log10(simd_float8 x) { - return _simd_log10_f8(x); -} -#else -static inline SIMD_CFUNC simd_float8 __tg_log10(simd_float8 x) { - return simd_make_float8(__tg_log10(x.lo), __tg_log10(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_float16 _simd_log10_f16(simd_float16 x); -static inline SIMD_CFUNC simd_float16 __tg_log10(simd_float16 x) { - return _simd_log10_f16(x); -} -#else -static inline SIMD_CFUNC simd_float16 __tg_log10(simd_float16 x) { - return simd_make_float16(__tg_log10(x.lo), __tg_log10(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_double2 _simd_log10_d2(simd_double2 x); -static inline SIMD_CFUNC simd_double2 __tg_log10(simd_double2 x) { - return _simd_log10_d2(x); -} -#else -static inline SIMD_CFUNC simd_double2 __tg_log10(simd_double2 x) { - return simd_make_double2(log10(x.x), log10(x.y)); -} -#endif - -static inline SIMD_CFUNC simd_double3 __tg_log10(simd_double3 x) { - return simd_make_double3(__tg_log10(simd_make_double4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_double4 _simd_log10_d4(simd_double4 x); -static inline SIMD_CFUNC simd_double4 __tg_log10(simd_double4 x) { - return _simd_log10_d4(x); -} -#else -static inline SIMD_CFUNC simd_double4 __tg_log10(simd_double4 x) { - return simd_make_double4(__tg_log10(x.lo), __tg_log10(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_double8 _simd_log10_d8(simd_double8 x); -static inline SIMD_CFUNC simd_double8 __tg_log10(simd_double8 x) { - return _simd_log10_d8(x); -} -#else -static inline SIMD_CFUNC simd_double8 __tg_log10(simd_double8 x) { - return simd_make_double8(__tg_log10(x.lo), __tg_log10(x.hi)); -} -#endif - -#pragma mark - log1p implementation -static inline SIMD_CFUNC simd_float2 __tg_log1p(simd_float2 x) { - return simd_make_float2(__tg_log1p(simd_make_float4(x))); -} - -static inline SIMD_CFUNC simd_float3 __tg_log1p(simd_float3 x) { - return simd_make_float3(__tg_log1p(simd_make_float4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_float4 _simd_log1p_f4(simd_float4 x); -static inline SIMD_CFUNC simd_float4 __tg_log1p(simd_float4 x) { - return _simd_log1p_f4(x); -} -#else -static inline SIMD_CFUNC simd_float4 __tg_log1p(simd_float4 x) { - return simd_make_float4(log1p(x.x), log1p(x.y), log1p(x.z), log1p(x.w)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_float8 _simd_log1p_f8(simd_float8 x); -static inline SIMD_CFUNC simd_float8 __tg_log1p(simd_float8 x) { - return _simd_log1p_f8(x); -} -#else -static inline SIMD_CFUNC simd_float8 __tg_log1p(simd_float8 x) { - return simd_make_float8(__tg_log1p(x.lo), __tg_log1p(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_float16 _simd_log1p_f16(simd_float16 x); -static inline SIMD_CFUNC simd_float16 __tg_log1p(simd_float16 x) { - return _simd_log1p_f16(x); -} -#else -static inline SIMD_CFUNC simd_float16 __tg_log1p(simd_float16 x) { - return simd_make_float16(__tg_log1p(x.lo), __tg_log1p(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_double2 _simd_log1p_d2(simd_double2 x); -static inline SIMD_CFUNC simd_double2 __tg_log1p(simd_double2 x) { - return _simd_log1p_d2(x); -} -#else -static inline SIMD_CFUNC simd_double2 __tg_log1p(simd_double2 x) { - return simd_make_double2(log1p(x.x), log1p(x.y)); -} -#endif - -static inline SIMD_CFUNC simd_double3 __tg_log1p(simd_double3 x) { - return simd_make_double3(__tg_log1p(simd_make_double4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_double4 _simd_log1p_d4(simd_double4 x); -static inline SIMD_CFUNC simd_double4 __tg_log1p(simd_double4 x) { - return _simd_log1p_d4(x); -} -#else -static inline SIMD_CFUNC simd_double4 __tg_log1p(simd_double4 x) { - return simd_make_double4(__tg_log1p(x.lo), __tg_log1p(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_double8 _simd_log1p_d8(simd_double8 x); -static inline SIMD_CFUNC simd_double8 __tg_log1p(simd_double8 x) { - return _simd_log1p_d8(x); -} -#else -static inline SIMD_CFUNC simd_double8 __tg_log1p(simd_double8 x) { - return simd_make_double8(__tg_log1p(x.lo), __tg_log1p(x.hi)); -} -#endif - -#pragma mark - cbrt implementation -static inline SIMD_CFUNC simd_float2 __tg_cbrt(simd_float2 x) { - return simd_make_float2(__tg_cbrt(simd_make_float4(x))); -} - -static inline SIMD_CFUNC simd_float3 __tg_cbrt(simd_float3 x) { - return simd_make_float3(__tg_cbrt(simd_make_float4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_float4 _simd_cbrt_f4(simd_float4 x); -static inline SIMD_CFUNC simd_float4 __tg_cbrt(simd_float4 x) { - return _simd_cbrt_f4(x); -} -#else -static inline SIMD_CFUNC simd_float4 __tg_cbrt(simd_float4 x) { - return simd_make_float4(cbrt(x.x), cbrt(x.y), cbrt(x.z), cbrt(x.w)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_float8 _simd_cbrt_f8(simd_float8 x); -static inline SIMD_CFUNC simd_float8 __tg_cbrt(simd_float8 x) { - return _simd_cbrt_f8(x); -} -#else -static inline SIMD_CFUNC simd_float8 __tg_cbrt(simd_float8 x) { - return simd_make_float8(__tg_cbrt(x.lo), __tg_cbrt(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_float16 _simd_cbrt_f16(simd_float16 x); -static inline SIMD_CFUNC simd_float16 __tg_cbrt(simd_float16 x) { - return _simd_cbrt_f16(x); -} -#else -static inline SIMD_CFUNC simd_float16 __tg_cbrt(simd_float16 x) { - return simd_make_float16(__tg_cbrt(x.lo), __tg_cbrt(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_double2 _simd_cbrt_d2(simd_double2 x); -static inline SIMD_CFUNC simd_double2 __tg_cbrt(simd_double2 x) { - return _simd_cbrt_d2(x); -} -#else -static inline SIMD_CFUNC simd_double2 __tg_cbrt(simd_double2 x) { - return simd_make_double2(cbrt(x.x), cbrt(x.y)); -} -#endif - -static inline SIMD_CFUNC simd_double3 __tg_cbrt(simd_double3 x) { - return simd_make_double3(__tg_cbrt(simd_make_double4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_double4 _simd_cbrt_d4(simd_double4 x); -static inline SIMD_CFUNC simd_double4 __tg_cbrt(simd_double4 x) { - return _simd_cbrt_d4(x); -} -#else -static inline SIMD_CFUNC simd_double4 __tg_cbrt(simd_double4 x) { - return simd_make_double4(__tg_cbrt(x.lo), __tg_cbrt(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_double8 _simd_cbrt_d8(simd_double8 x); -static inline SIMD_CFUNC simd_double8 __tg_cbrt(simd_double8 x) { - return _simd_cbrt_d8(x); -} -#else -static inline SIMD_CFUNC simd_double8 __tg_cbrt(simd_double8 x) { - return simd_make_double8(__tg_cbrt(x.lo), __tg_cbrt(x.hi)); -} -#endif - -#pragma mark - erf implementation -static inline SIMD_CFUNC simd_float2 __tg_erf(simd_float2 x) { - return simd_make_float2(__tg_erf(simd_make_float4(x))); -} - -static inline SIMD_CFUNC simd_float3 __tg_erf(simd_float3 x) { - return simd_make_float3(__tg_erf(simd_make_float4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_float4 _simd_erf_f4(simd_float4 x); -static inline SIMD_CFUNC simd_float4 __tg_erf(simd_float4 x) { - return _simd_erf_f4(x); -} -#else -static inline SIMD_CFUNC simd_float4 __tg_erf(simd_float4 x) { - return simd_make_float4(erf(x.x), erf(x.y), erf(x.z), erf(x.w)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_float8 _simd_erf_f8(simd_float8 x); -static inline SIMD_CFUNC simd_float8 __tg_erf(simd_float8 x) { - return _simd_erf_f8(x); -} -#else -static inline SIMD_CFUNC simd_float8 __tg_erf(simd_float8 x) { - return simd_make_float8(__tg_erf(x.lo), __tg_erf(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_float16 _simd_erf_f16(simd_float16 x); -static inline SIMD_CFUNC simd_float16 __tg_erf(simd_float16 x) { - return _simd_erf_f16(x); -} -#else -static inline SIMD_CFUNC simd_float16 __tg_erf(simd_float16 x) { - return simd_make_float16(__tg_erf(x.lo), __tg_erf(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_double2 _simd_erf_d2(simd_double2 x); -static inline SIMD_CFUNC simd_double2 __tg_erf(simd_double2 x) { - return _simd_erf_d2(x); -} -#else -static inline SIMD_CFUNC simd_double2 __tg_erf(simd_double2 x) { - return simd_make_double2(erf(x.x), erf(x.y)); -} -#endif - -static inline SIMD_CFUNC simd_double3 __tg_erf(simd_double3 x) { - return simd_make_double3(__tg_erf(simd_make_double4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_double4 _simd_erf_d4(simd_double4 x); -static inline SIMD_CFUNC simd_double4 __tg_erf(simd_double4 x) { - return _simd_erf_d4(x); -} -#else -static inline SIMD_CFUNC simd_double4 __tg_erf(simd_double4 x) { - return simd_make_double4(__tg_erf(x.lo), __tg_erf(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_double8 _simd_erf_d8(simd_double8 x); -static inline SIMD_CFUNC simd_double8 __tg_erf(simd_double8 x) { - return _simd_erf_d8(x); -} -#else -static inline SIMD_CFUNC simd_double8 __tg_erf(simd_double8 x) { - return simd_make_double8(__tg_erf(x.lo), __tg_erf(x.hi)); -} -#endif - -#pragma mark - erfc implementation -static inline SIMD_CFUNC simd_float2 __tg_erfc(simd_float2 x) { - return simd_make_float2(__tg_erfc(simd_make_float4(x))); -} - -static inline SIMD_CFUNC simd_float3 __tg_erfc(simd_float3 x) { - return simd_make_float3(__tg_erfc(simd_make_float4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_float4 _simd_erfc_f4(simd_float4 x); -static inline SIMD_CFUNC simd_float4 __tg_erfc(simd_float4 x) { - return _simd_erfc_f4(x); -} -#else -static inline SIMD_CFUNC simd_float4 __tg_erfc(simd_float4 x) { - return simd_make_float4(erfc(x.x), erfc(x.y), erfc(x.z), erfc(x.w)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_float8 _simd_erfc_f8(simd_float8 x); -static inline SIMD_CFUNC simd_float8 __tg_erfc(simd_float8 x) { - return _simd_erfc_f8(x); -} -#else -static inline SIMD_CFUNC simd_float8 __tg_erfc(simd_float8 x) { - return simd_make_float8(__tg_erfc(x.lo), __tg_erfc(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_float16 _simd_erfc_f16(simd_float16 x); -static inline SIMD_CFUNC simd_float16 __tg_erfc(simd_float16 x) { - return _simd_erfc_f16(x); -} -#else -static inline SIMD_CFUNC simd_float16 __tg_erfc(simd_float16 x) { - return simd_make_float16(__tg_erfc(x.lo), __tg_erfc(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_double2 _simd_erfc_d2(simd_double2 x); -static inline SIMD_CFUNC simd_double2 __tg_erfc(simd_double2 x) { - return _simd_erfc_d2(x); -} -#else -static inline SIMD_CFUNC simd_double2 __tg_erfc(simd_double2 x) { - return simd_make_double2(erfc(x.x), erfc(x.y)); -} -#endif - -static inline SIMD_CFUNC simd_double3 __tg_erfc(simd_double3 x) { - return simd_make_double3(__tg_erfc(simd_make_double4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_double4 _simd_erfc_d4(simd_double4 x); -static inline SIMD_CFUNC simd_double4 __tg_erfc(simd_double4 x) { - return _simd_erfc_d4(x); -} -#else -static inline SIMD_CFUNC simd_double4 __tg_erfc(simd_double4 x) { - return simd_make_double4(__tg_erfc(x.lo), __tg_erfc(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_double8 _simd_erfc_d8(simd_double8 x); -static inline SIMD_CFUNC simd_double8 __tg_erfc(simd_double8 x) { - return _simd_erfc_d8(x); -} -#else -static inline SIMD_CFUNC simd_double8 __tg_erfc(simd_double8 x) { - return simd_make_double8(__tg_erfc(x.lo), __tg_erfc(x.hi)); -} -#endif - -#pragma mark - tgamma implementation -static inline SIMD_CFUNC simd_float2 __tg_tgamma(simd_float2 x) { - return simd_make_float2(__tg_tgamma(simd_make_float4(x))); -} - -static inline SIMD_CFUNC simd_float3 __tg_tgamma(simd_float3 x) { - return simd_make_float3(__tg_tgamma(simd_make_float4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_float4 _simd_tgamma_f4(simd_float4 x); -static inline SIMD_CFUNC simd_float4 __tg_tgamma(simd_float4 x) { - return _simd_tgamma_f4(x); -} -#else -static inline SIMD_CFUNC simd_float4 __tg_tgamma(simd_float4 x) { - return simd_make_float4(tgamma(x.x), tgamma(x.y), tgamma(x.z), tgamma(x.w)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_float8 _simd_tgamma_f8(simd_float8 x); -static inline SIMD_CFUNC simd_float8 __tg_tgamma(simd_float8 x) { - return _simd_tgamma_f8(x); -} -#else -static inline SIMD_CFUNC simd_float8 __tg_tgamma(simd_float8 x) { - return simd_make_float8(__tg_tgamma(x.lo), __tg_tgamma(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_float16 _simd_tgamma_f16(simd_float16 x); -static inline SIMD_CFUNC simd_float16 __tg_tgamma(simd_float16 x) { - return _simd_tgamma_f16(x); -} -#else -static inline SIMD_CFUNC simd_float16 __tg_tgamma(simd_float16 x) { - return simd_make_float16(__tg_tgamma(x.lo), __tg_tgamma(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_double2 _simd_tgamma_d2(simd_double2 x); -static inline SIMD_CFUNC simd_double2 __tg_tgamma(simd_double2 x) { - return _simd_tgamma_d2(x); -} -#else -static inline SIMD_CFUNC simd_double2 __tg_tgamma(simd_double2 x) { - return simd_make_double2(tgamma(x.x), tgamma(x.y)); -} -#endif - -static inline SIMD_CFUNC simd_double3 __tg_tgamma(simd_double3 x) { - return simd_make_double3(__tg_tgamma(simd_make_double4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_double4 _simd_tgamma_d4(simd_double4 x); -static inline SIMD_CFUNC simd_double4 __tg_tgamma(simd_double4 x) { - return _simd_tgamma_d4(x); -} -#else -static inline SIMD_CFUNC simd_double4 __tg_tgamma(simd_double4 x) { - return simd_make_double4(__tg_tgamma(x.lo), __tg_tgamma(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_double8 _simd_tgamma_d8(simd_double8 x); -static inline SIMD_CFUNC simd_double8 __tg_tgamma(simd_double8 x) { - return _simd_tgamma_d8(x); -} -#else -static inline SIMD_CFUNC simd_double8 __tg_tgamma(simd_double8 x) { - return simd_make_double8(__tg_tgamma(x.lo), __tg_tgamma(x.hi)); -} -#endif - -#pragma mark - round implementation -static inline SIMD_CFUNC simd_float2 __tg_round(simd_float2 x) { - return simd_make_float2(__tg_round(simd_make_float4(x))); -} - -static inline SIMD_CFUNC simd_float3 __tg_round(simd_float3 x) { - return simd_make_float3(__tg_round(simd_make_float4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_float4 _simd_round_f4(simd_float4 x); -static inline SIMD_CFUNC simd_float4 __tg_round(simd_float4 x) { -#if defined __arm64__ - return vrndaq_f32(x); -#else - return _simd_round_f4(x); -#endif -} -#else -static inline SIMD_CFUNC simd_float4 __tg_round(simd_float4 x) { - return simd_make_float4(round(x.x), round(x.y), round(x.z), round(x.w)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_float8 _simd_round_f8(simd_float8 x); -static inline SIMD_CFUNC simd_float8 __tg_round(simd_float8 x) { - return _simd_round_f8(x); -} -#else -static inline SIMD_CFUNC simd_float8 __tg_round(simd_float8 x) { - return simd_make_float8(__tg_round(x.lo), __tg_round(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_float16 _simd_round_f16(simd_float16 x); -static inline SIMD_CFUNC simd_float16 __tg_round(simd_float16 x) { - return _simd_round_f16(x); -} -#else -static inline SIMD_CFUNC simd_float16 __tg_round(simd_float16 x) { - return simd_make_float16(__tg_round(x.lo), __tg_round(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_double2 _simd_round_d2(simd_double2 x); -static inline SIMD_CFUNC simd_double2 __tg_round(simd_double2 x) { -#if defined __arm64__ - return vrndaq_f64(x); -#else - return _simd_round_d2(x); -#endif -} -#else -static inline SIMD_CFUNC simd_double2 __tg_round(simd_double2 x) { - return simd_make_double2(round(x.x), round(x.y)); -} -#endif - -static inline SIMD_CFUNC simd_double3 __tg_round(simd_double3 x) { - return simd_make_double3(__tg_round(simd_make_double4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_double4 _simd_round_d4(simd_double4 x); -static inline SIMD_CFUNC simd_double4 __tg_round(simd_double4 x) { - return _simd_round_d4(x); -} -#else -static inline SIMD_CFUNC simd_double4 __tg_round(simd_double4 x) { - return simd_make_double4(__tg_round(x.lo), __tg_round(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_double8 _simd_round_d8(simd_double8 x); -static inline SIMD_CFUNC simd_double8 __tg_round(simd_double8 x) { - return _simd_round_d8(x); -} -#else -static inline SIMD_CFUNC simd_double8 __tg_round(simd_double8 x) { - return simd_make_double8(__tg_round(x.lo), __tg_round(x.hi)); -} -#endif - -#pragma mark - atan2 implementation -static inline SIMD_CFUNC simd_float2 __tg_atan2(simd_float2 y, simd_float2 x) { - return simd_make_float2(__tg_atan2(simd_make_float4(y), simd_make_float4(x))); -} - -static inline SIMD_CFUNC simd_float3 __tg_atan2(simd_float3 y, simd_float3 x) { - return simd_make_float3(__tg_atan2(simd_make_float4(y), simd_make_float4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_float4 _simd_atan2_f4(simd_float4 y, simd_float4 x); -static inline SIMD_CFUNC simd_float4 __tg_atan2(simd_float4 y, simd_float4 x) { - return _simd_atan2_f4(y, x); -} -#else -static inline SIMD_CFUNC simd_float4 __tg_atan2(simd_float4 y, simd_float4 x) { - return simd_make_float4(atan2(y.x, x.x), atan2(y.y, x.y), atan2(y.z, x.z), atan2(y.w, x.w)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_float8 _simd_atan2_f8(simd_float8 y, simd_float8 x); -static inline SIMD_CFUNC simd_float8 __tg_atan2(simd_float8 y, simd_float8 x) { - return _simd_atan2_f8(y, x); -} -#else -static inline SIMD_CFUNC simd_float8 __tg_atan2(simd_float8 y, simd_float8 x) { - return simd_make_float8(__tg_atan2(y.lo, x.lo), __tg_atan2(y.hi, x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_float16 _simd_atan2_f16(simd_float16 y, simd_float16 x); -static inline SIMD_CFUNC simd_float16 __tg_atan2(simd_float16 y, simd_float16 x) { - return _simd_atan2_f16(y, x); -} -#else -static inline SIMD_CFUNC simd_float16 __tg_atan2(simd_float16 y, simd_float16 x) { - return simd_make_float16(__tg_atan2(y.lo, x.lo), __tg_atan2(y.hi, x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_double2 _simd_atan2_d2(simd_double2 y, simd_double2 x); -static inline SIMD_CFUNC simd_double2 __tg_atan2(simd_double2 y, simd_double2 x) { - return _simd_atan2_d2(y, x); -} -#else -static inline SIMD_CFUNC simd_double2 __tg_atan2(simd_double2 y, simd_double2 x) { - return simd_make_double2(atan2(y.x, x.x), atan2(y.y, x.y)); -} -#endif - -static inline SIMD_CFUNC simd_double3 __tg_atan2(simd_double3 y, simd_double3 x) { - return simd_make_double3(__tg_atan2(simd_make_double4(y), simd_make_double4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_double4 _simd_atan2_d4(simd_double4 y, simd_double4 x); -static inline SIMD_CFUNC simd_double4 __tg_atan2(simd_double4 y, simd_double4 x) { - return _simd_atan2_d4(y, x); -} -#else -static inline SIMD_CFUNC simd_double4 __tg_atan2(simd_double4 y, simd_double4 x) { - return simd_make_double4(__tg_atan2(y.lo, x.lo), __tg_atan2(y.hi, x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_double8 _simd_atan2_d8(simd_double8 y, simd_double8 x); -static inline SIMD_CFUNC simd_double8 __tg_atan2(simd_double8 y, simd_double8 x) { - return _simd_atan2_d8(y, x); -} -#else -static inline SIMD_CFUNC simd_double8 __tg_atan2(simd_double8 y, simd_double8 x) { - return simd_make_double8(__tg_atan2(y.lo, x.lo), __tg_atan2(y.hi, x.hi)); -} -#endif - -#pragma mark - hypot implementation -static inline SIMD_CFUNC simd_float2 __tg_hypot(simd_float2 x, simd_float2 y) { - return simd_make_float2(__tg_hypot(simd_make_float4(x), simd_make_float4(y))); -} - -static inline SIMD_CFUNC simd_float3 __tg_hypot(simd_float3 x, simd_float3 y) { - return simd_make_float3(__tg_hypot(simd_make_float4(x), simd_make_float4(y))); -} - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_float4 _simd_hypot_f4(simd_float4 x, simd_float4 y); -static inline SIMD_CFUNC simd_float4 __tg_hypot(simd_float4 x, simd_float4 y) { - return _simd_hypot_f4(x, y); -} -#else -static inline SIMD_CFUNC simd_float4 __tg_hypot(simd_float4 x, simd_float4 y) { - return simd_make_float4(hypot(x.x, y.x), hypot(x.y, y.y), hypot(x.z, y.z), hypot(x.w, y.w)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_float8 _simd_hypot_f8(simd_float8 x, simd_float8 y); -static inline SIMD_CFUNC simd_float8 __tg_hypot(simd_float8 x, simd_float8 y) { - return _simd_hypot_f8(x, y); -} -#else -static inline SIMD_CFUNC simd_float8 __tg_hypot(simd_float8 x, simd_float8 y) { - return simd_make_float8(__tg_hypot(x.lo, y.lo), __tg_hypot(x.hi, y.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_float16 _simd_hypot_f16(simd_float16 x, simd_float16 y); -static inline SIMD_CFUNC simd_float16 __tg_hypot(simd_float16 x, simd_float16 y) { - return _simd_hypot_f16(x, y); -} -#else -static inline SIMD_CFUNC simd_float16 __tg_hypot(simd_float16 x, simd_float16 y) { - return simd_make_float16(__tg_hypot(x.lo, y.lo), __tg_hypot(x.hi, y.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_double2 _simd_hypot_d2(simd_double2 x, simd_double2 y); -static inline SIMD_CFUNC simd_double2 __tg_hypot(simd_double2 x, simd_double2 y) { - return _simd_hypot_d2(x, y); -} -#else -static inline SIMD_CFUNC simd_double2 __tg_hypot(simd_double2 x, simd_double2 y) { - return simd_make_double2(hypot(x.x, y.x), hypot(x.y, y.y)); -} -#endif - -static inline SIMD_CFUNC simd_double3 __tg_hypot(simd_double3 x, simd_double3 y) { - return simd_make_double3(__tg_hypot(simd_make_double4(x), simd_make_double4(y))); -} - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_double4 _simd_hypot_d4(simd_double4 x, simd_double4 y); -static inline SIMD_CFUNC simd_double4 __tg_hypot(simd_double4 x, simd_double4 y) { - return _simd_hypot_d4(x, y); -} -#else -static inline SIMD_CFUNC simd_double4 __tg_hypot(simd_double4 x, simd_double4 y) { - return simd_make_double4(__tg_hypot(x.lo, y.lo), __tg_hypot(x.hi, y.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_double8 _simd_hypot_d8(simd_double8 x, simd_double8 y); -static inline SIMD_CFUNC simd_double8 __tg_hypot(simd_double8 x, simd_double8 y) { - return _simd_hypot_d8(x, y); -} -#else -static inline SIMD_CFUNC simd_double8 __tg_hypot(simd_double8 x, simd_double8 y) { - return simd_make_double8(__tg_hypot(x.lo, y.lo), __tg_hypot(x.hi, y.hi)); -} -#endif - -#pragma mark - pow implementation -static inline SIMD_CFUNC simd_float2 __tg_pow(simd_float2 x, simd_float2 y) { - return simd_make_float2(__tg_pow(simd_make_float4(x), simd_make_float4(y))); -} - -static inline SIMD_CFUNC simd_float3 __tg_pow(simd_float3 x, simd_float3 y) { - return simd_make_float3(__tg_pow(simd_make_float4(x), simd_make_float4(y))); -} - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_float4 _simd_pow_f4(simd_float4 x, simd_float4 y); -static inline SIMD_CFUNC simd_float4 __tg_pow(simd_float4 x, simd_float4 y) { - return _simd_pow_f4(x, y); -} -#else -static inline SIMD_CFUNC simd_float4 __tg_pow(simd_float4 x, simd_float4 y) { - return simd_make_float4(pow(x.x, y.x), pow(x.y, y.y), pow(x.z, y.z), pow(x.w, y.w)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_float8 _simd_pow_f8(simd_float8 x, simd_float8 y); -static inline SIMD_CFUNC simd_float8 __tg_pow(simd_float8 x, simd_float8 y) { - return _simd_pow_f8(x, y); -} -#else -static inline SIMD_CFUNC simd_float8 __tg_pow(simd_float8 x, simd_float8 y) { - return simd_make_float8(__tg_pow(x.lo, y.lo), __tg_pow(x.hi, y.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_float16 _simd_pow_f16(simd_float16 x, simd_float16 y); -static inline SIMD_CFUNC simd_float16 __tg_pow(simd_float16 x, simd_float16 y) { - return _simd_pow_f16(x, y); -} -#else -static inline SIMD_CFUNC simd_float16 __tg_pow(simd_float16 x, simd_float16 y) { - return simd_make_float16(__tg_pow(x.lo, y.lo), __tg_pow(x.hi, y.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_double2 _simd_pow_d2(simd_double2 x, simd_double2 y); -static inline SIMD_CFUNC simd_double2 __tg_pow(simd_double2 x, simd_double2 y) { - return _simd_pow_d2(x, y); -} -#else -static inline SIMD_CFUNC simd_double2 __tg_pow(simd_double2 x, simd_double2 y) { - return simd_make_double2(pow(x.x, y.x), pow(x.y, y.y)); -} -#endif - -static inline SIMD_CFUNC simd_double3 __tg_pow(simd_double3 x, simd_double3 y) { - return simd_make_double3(__tg_pow(simd_make_double4(x), simd_make_double4(y))); -} - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_double4 _simd_pow_d4(simd_double4 x, simd_double4 y); -static inline SIMD_CFUNC simd_double4 __tg_pow(simd_double4 x, simd_double4 y) { - return _simd_pow_d4(x, y); -} -#else -static inline SIMD_CFUNC simd_double4 __tg_pow(simd_double4 x, simd_double4 y) { - return simd_make_double4(__tg_pow(x.lo, y.lo), __tg_pow(x.hi, y.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_double8 _simd_pow_d8(simd_double8 x, simd_double8 y); -static inline SIMD_CFUNC simd_double8 __tg_pow(simd_double8 x, simd_double8 y) { - return _simd_pow_d8(x, y); -} -#else -static inline SIMD_CFUNC simd_double8 __tg_pow(simd_double8 x, simd_double8 y) { - return simd_make_double8(__tg_pow(x.lo, y.lo), __tg_pow(x.hi, y.hi)); -} -#endif - -#pragma mark - fmod implementation -static inline SIMD_CFUNC simd_float2 __tg_fmod(simd_float2 x, simd_float2 y) { - return simd_make_float2(__tg_fmod(simd_make_float4(x), simd_make_float4(y))); -} - -static inline SIMD_CFUNC simd_float3 __tg_fmod(simd_float3 x, simd_float3 y) { - return simd_make_float3(__tg_fmod(simd_make_float4(x), simd_make_float4(y))); -} - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_float4 _simd_fmod_f4(simd_float4 x, simd_float4 y); -static inline SIMD_CFUNC simd_float4 __tg_fmod(simd_float4 x, simd_float4 y) { - return _simd_fmod_f4(x, y); -} -#else -static inline SIMD_CFUNC simd_float4 __tg_fmod(simd_float4 x, simd_float4 y) { - return simd_make_float4(fmod(x.x, y.x), fmod(x.y, y.y), fmod(x.z, y.z), fmod(x.w, y.w)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_float8 _simd_fmod_f8(simd_float8 x, simd_float8 y); -static inline SIMD_CFUNC simd_float8 __tg_fmod(simd_float8 x, simd_float8 y) { - return _simd_fmod_f8(x, y); -} -#else -static inline SIMD_CFUNC simd_float8 __tg_fmod(simd_float8 x, simd_float8 y) { - return simd_make_float8(__tg_fmod(x.lo, y.lo), __tg_fmod(x.hi, y.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_float16 _simd_fmod_f16(simd_float16 x, simd_float16 y); -static inline SIMD_CFUNC simd_float16 __tg_fmod(simd_float16 x, simd_float16 y) { - return _simd_fmod_f16(x, y); -} -#else -static inline SIMD_CFUNC simd_float16 __tg_fmod(simd_float16 x, simd_float16 y) { - return simd_make_float16(__tg_fmod(x.lo, y.lo), __tg_fmod(x.hi, y.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_double2 _simd_fmod_d2(simd_double2 x, simd_double2 y); -static inline SIMD_CFUNC simd_double2 __tg_fmod(simd_double2 x, simd_double2 y) { - return _simd_fmod_d2(x, y); -} -#else -static inline SIMD_CFUNC simd_double2 __tg_fmod(simd_double2 x, simd_double2 y) { - return simd_make_double2(fmod(x.x, y.x), fmod(x.y, y.y)); -} -#endif - -static inline SIMD_CFUNC simd_double3 __tg_fmod(simd_double3 x, simd_double3 y) { - return simd_make_double3(__tg_fmod(simd_make_double4(x), simd_make_double4(y))); -} - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_double4 _simd_fmod_d4(simd_double4 x, simd_double4 y); -static inline SIMD_CFUNC simd_double4 __tg_fmod(simd_double4 x, simd_double4 y) { - return _simd_fmod_d4(x, y); -} -#else -static inline SIMD_CFUNC simd_double4 __tg_fmod(simd_double4 x, simd_double4 y) { - return simd_make_double4(__tg_fmod(x.lo, y.lo), __tg_fmod(x.hi, y.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_double8 _simd_fmod_d8(simd_double8 x, simd_double8 y); -static inline SIMD_CFUNC simd_double8 __tg_fmod(simd_double8 x, simd_double8 y) { - return _simd_fmod_d8(x, y); -} -#else -static inline SIMD_CFUNC simd_double8 __tg_fmod(simd_double8 x, simd_double8 y) { - return simd_make_double8(__tg_fmod(x.lo, y.lo), __tg_fmod(x.hi, y.hi)); -} -#endif - -#pragma mark - remainder implementation -static inline SIMD_CFUNC simd_float2 __tg_remainder(simd_float2 x, simd_float2 y) { - return simd_make_float2(__tg_remainder(simd_make_float4(x), simd_make_float4(y))); -} - -static inline SIMD_CFUNC simd_float3 __tg_remainder(simd_float3 x, simd_float3 y) { - return simd_make_float3(__tg_remainder(simd_make_float4(x), simd_make_float4(y))); -} - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_float4 _simd_remainder_f4(simd_float4 x, simd_float4 y); -static inline SIMD_CFUNC simd_float4 __tg_remainder(simd_float4 x, simd_float4 y) { - return _simd_remainder_f4(x, y); -} -#else -static inline SIMD_CFUNC simd_float4 __tg_remainder(simd_float4 x, simd_float4 y) { - return simd_make_float4(remainder(x.x, y.x), remainder(x.y, y.y), remainder(x.z, y.z), remainder(x.w, y.w)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_float8 _simd_remainder_f8(simd_float8 x, simd_float8 y); -static inline SIMD_CFUNC simd_float8 __tg_remainder(simd_float8 x, simd_float8 y) { - return _simd_remainder_f8(x, y); -} -#else -static inline SIMD_CFUNC simd_float8 __tg_remainder(simd_float8 x, simd_float8 y) { - return simd_make_float8(__tg_remainder(x.lo, y.lo), __tg_remainder(x.hi, y.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_float16 _simd_remainder_f16(simd_float16 x, simd_float16 y); -static inline SIMD_CFUNC simd_float16 __tg_remainder(simd_float16 x, simd_float16 y) { - return _simd_remainder_f16(x, y); -} -#else -static inline SIMD_CFUNC simd_float16 __tg_remainder(simd_float16 x, simd_float16 y) { - return simd_make_float16(__tg_remainder(x.lo, y.lo), __tg_remainder(x.hi, y.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_double2 _simd_remainder_d2(simd_double2 x, simd_double2 y); -static inline SIMD_CFUNC simd_double2 __tg_remainder(simd_double2 x, simd_double2 y) { - return _simd_remainder_d2(x, y); -} -#else -static inline SIMD_CFUNC simd_double2 __tg_remainder(simd_double2 x, simd_double2 y) { - return simd_make_double2(remainder(x.x, y.x), remainder(x.y, y.y)); -} -#endif - -static inline SIMD_CFUNC simd_double3 __tg_remainder(simd_double3 x, simd_double3 y) { - return simd_make_double3(__tg_remainder(simd_make_double4(x), simd_make_double4(y))); -} - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_double4 _simd_remainder_d4(simd_double4 x, simd_double4 y); -static inline SIMD_CFUNC simd_double4 __tg_remainder(simd_double4 x, simd_double4 y) { - return _simd_remainder_d4(x, y); -} -#else -static inline SIMD_CFUNC simd_double4 __tg_remainder(simd_double4 x, simd_double4 y) { - return simd_make_double4(__tg_remainder(x.lo, y.lo), __tg_remainder(x.hi, y.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_double8 _simd_remainder_d8(simd_double8 x, simd_double8 y); -static inline SIMD_CFUNC simd_double8 __tg_remainder(simd_double8 x, simd_double8 y) { - return _simd_remainder_d8(x, y); -} -#else -static inline SIMD_CFUNC simd_double8 __tg_remainder(simd_double8 x, simd_double8 y) { - return simd_make_double8(__tg_remainder(x.lo, y.lo), __tg_remainder(x.hi, y.hi)); -} -#endif - -#pragma mark - nextafter implementation -static inline SIMD_CFUNC simd_float2 __tg_nextafter(simd_float2 x, simd_float2 y) { - return simd_make_float2(__tg_nextafter(simd_make_float4(x), simd_make_float4(y))); -} - -static inline SIMD_CFUNC simd_float3 __tg_nextafter(simd_float3 x, simd_float3 y) { - return simd_make_float3(__tg_nextafter(simd_make_float4(x), simd_make_float4(y))); -} - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_float4 _simd_nextafter_f4(simd_float4 x, simd_float4 y); -static inline SIMD_CFUNC simd_float4 __tg_nextafter(simd_float4 x, simd_float4 y) { - return _simd_nextafter_f4(x, y); -} -#else -static inline SIMD_CFUNC simd_float4 __tg_nextafter(simd_float4 x, simd_float4 y) { - return simd_make_float4(nextafter(x.x, y.x), nextafter(x.y, y.y), nextafter(x.z, y.z), nextafter(x.w, y.w)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_float8 _simd_nextafter_f8(simd_float8 x, simd_float8 y); -static inline SIMD_CFUNC simd_float8 __tg_nextafter(simd_float8 x, simd_float8 y) { - return _simd_nextafter_f8(x, y); -} -#else -static inline SIMD_CFUNC simd_float8 __tg_nextafter(simd_float8 x, simd_float8 y) { - return simd_make_float8(__tg_nextafter(x.lo, y.lo), __tg_nextafter(x.hi, y.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_float16 _simd_nextafter_f16(simd_float16 x, simd_float16 y); -static inline SIMD_CFUNC simd_float16 __tg_nextafter(simd_float16 x, simd_float16 y) { - return _simd_nextafter_f16(x, y); -} -#else -static inline SIMD_CFUNC simd_float16 __tg_nextafter(simd_float16 x, simd_float16 y) { - return simd_make_float16(__tg_nextafter(x.lo, y.lo), __tg_nextafter(x.hi, y.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_double2 _simd_nextafter_d2(simd_double2 x, simd_double2 y); -static inline SIMD_CFUNC simd_double2 __tg_nextafter(simd_double2 x, simd_double2 y) { - return _simd_nextafter_d2(x, y); -} -#else -static inline SIMD_CFUNC simd_double2 __tg_nextafter(simd_double2 x, simd_double2 y) { - return simd_make_double2(nextafter(x.x, y.x), nextafter(x.y, y.y)); -} -#endif - -static inline SIMD_CFUNC simd_double3 __tg_nextafter(simd_double3 x, simd_double3 y) { - return simd_make_double3(__tg_nextafter(simd_make_double4(x), simd_make_double4(y))); -} - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_double4 _simd_nextafter_d4(simd_double4 x, simd_double4 y); -static inline SIMD_CFUNC simd_double4 __tg_nextafter(simd_double4 x, simd_double4 y) { - return _simd_nextafter_d4(x, y); -} -#else -static inline SIMD_CFUNC simd_double4 __tg_nextafter(simd_double4 x, simd_double4 y) { - return simd_make_double4(__tg_nextafter(x.lo, y.lo), __tg_nextafter(x.hi, y.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_double8 _simd_nextafter_d8(simd_double8 x, simd_double8 y); -static inline SIMD_CFUNC simd_double8 __tg_nextafter(simd_double8 x, simd_double8 y) { - return _simd_nextafter_d8(x, y); -} -#else -static inline SIMD_CFUNC simd_double8 __tg_nextafter(simd_double8 x, simd_double8 y) { - return simd_make_double8(__tg_nextafter(x.lo, y.lo), __tg_nextafter(x.hi, y.hi)); -} -#endif - -static inline SIMD_CFUNC simd_float2 __tg_fdim(simd_float2 x, simd_float2 y) { return simd_bitselect(x-y, 0, x= 3 -extern simd_float4 _simd_fma_f4(simd_float4 x, simd_float4 y, simd_float4 z); -#endif -static inline SIMD_CFUNC simd_float4 __tg_fma(simd_float4 x, simd_float4 y, simd_float4 z) { -#if defined __arm64__ || defined __ARM_VFPV4__ - return vfmaq_f32(z, x, y); -#elif (defined __i386__ || defined __x86_64__) && defined __FMA__ - return _mm_fmadd_ps(x, y, z); -#elif SIMD_LIBRARY_VERSION >= 3 - return _simd_fma_f4(x, y, z); -#else - return simd_make_float4(fma(x.x, y.x, z.x), fma(x.y, y.y, z.y), fma(x.z, y.z, z.z), fma(x.w, y.w, z.w)); -#endif -} - -static inline SIMD_CFUNC simd_float8 __tg_fma(simd_float8 x, simd_float8 y, simd_float8 z) { -#if (defined __i386__ || defined __x86_64__) && defined __FMA__ - return _mm256_fmadd_ps(x, y, z); -#else - return simd_make_float8(__tg_fma(x.lo, y.lo, z.lo), __tg_fma(x.hi, y.hi, z.hi)); -#endif -} - -static inline SIMD_CFUNC simd_float16 __tg_fma(simd_float16 x, simd_float16 y, simd_float16 z) { -#if defined __x86_64__ && defined __AVX512F__ - return _mm512_fmadd_ps(x, y, z); -#else - return simd_make_float16(__tg_fma(x.lo, y.lo, z.lo), __tg_fma(x.hi, y.hi, z.hi)); -#endif -} - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_double2 _simd_fma_d2(simd_double2 x, simd_double2 y, simd_double2 z); -#endif -static inline SIMD_CFUNC simd_double2 __tg_fma(simd_double2 x, simd_double2 y, simd_double2 z) { -#if defined __arm64__ - return vfmaq_f64(z, x, y); -#elif (defined __i386__ || defined __x86_64__) && defined __FMA__ - return _mm_fmadd_pd(x, y, z); -#elif SIMD_LIBRARY_VERSION >= 3 - return _simd_fma_d2(x, y, z); -#else - return simd_make_double2(fma(x.x, y.x, z.x), fma(x.y, y.y, z.y)); -#endif -} - -static inline SIMD_CFUNC simd_double3 __tg_fma(simd_double3 x, simd_double3 y, simd_double3 z) { - return simd_make_double3(__tg_fma(simd_make_double4(x), simd_make_double4(y), simd_make_double4(z))); -} - -static inline SIMD_CFUNC simd_double4 __tg_fma(simd_double4 x, simd_double4 y, simd_double4 z) { -#if (defined __i386__ || defined __x86_64__) && defined __FMA__ - return _mm256_fmadd_pd(x, y, z); -#else - return simd_make_double4(__tg_fma(x.lo, y.lo, z.lo), __tg_fma(x.hi, y.hi, z.hi)); -#endif -} - -static inline SIMD_CFUNC simd_double8 __tg_fma(simd_double8 x, simd_double8 y, simd_double8 z) { -#if defined __x86_64__ && defined __AVX512F__ - return _mm512_fmadd_pd(x, y, z); -#else - return simd_make_double8(__tg_fma(x.lo, y.lo, z.lo), __tg_fma(x.hi, y.hi, z.hi)); -#endif -} - -static inline SIMD_CFUNC float simd_muladd(float x, float y, float z) { -#pragma STDC FP_CONTRACT ON - return x*y + z; -} -static inline SIMD_CFUNC simd_float2 simd_muladd(simd_float2 x, simd_float2 y, simd_float2 z) { -#pragma STDC FP_CONTRACT ON - return x*y + z; -} -static inline SIMD_CFUNC simd_float3 simd_muladd(simd_float3 x, simd_float3 y, simd_float3 z) { -#pragma STDC FP_CONTRACT ON - return x*y + z; -} -static inline SIMD_CFUNC simd_float4 simd_muladd(simd_float4 x, simd_float4 y, simd_float4 z) { -#pragma STDC FP_CONTRACT ON - return x*y + z; -} -static inline SIMD_CFUNC simd_float8 simd_muladd(simd_float8 x, simd_float8 y, simd_float8 z) { -#pragma STDC FP_CONTRACT ON - return x*y + z; -} -static inline SIMD_CFUNC simd_float16 simd_muladd(simd_float16 x, simd_float16 y, simd_float16 z) { -#pragma STDC FP_CONTRACT ON - return x*y + z; -} -static inline SIMD_CFUNC double simd_muladd(double x, double y, double z) { -#pragma STDC FP_CONTRACT ON - return x*y + z; -} -static inline SIMD_CFUNC simd_double2 simd_muladd(simd_double2 x, simd_double2 y, simd_double2 z) { -#pragma STDC FP_CONTRACT ON - return x*y + z; -} -static inline SIMD_CFUNC simd_double3 simd_muladd(simd_double3 x, simd_double3 y, simd_double3 z) { -#pragma STDC FP_CONTRACT ON - return x*y + z; -} -static inline SIMD_CFUNC simd_double4 simd_muladd(simd_double4 x, simd_double4 y, simd_double4 z) { -#pragma STDC FP_CONTRACT ON - return x*y + z; -} -static inline SIMD_CFUNC simd_double8 simd_muladd(simd_double8 x, simd_double8 y, simd_double8 z) { -#pragma STDC FP_CONTRACT ON - return x*y + z; -} -#ifdef __cplusplus -} /* extern "C" */ -#endif -#endif /* SIMD_COMPILER_HAS_REQUIRED_FEATURES */ -#endif /* SIMD_MATH_HEADER */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.11-any/simd/matrix.h b/lib/libc/include/any-macos.11-any/simd/matrix.h deleted file mode 100644 index a62384e133..0000000000 --- a/lib/libc/include/any-macos.11-any/simd/matrix.h +++ /dev/null @@ -1,1786 +0,0 @@ -/* Copyright (c) 2014-2017 Apple, Inc. All rights reserved. - * - * Function Result - * ------------------------------------------------------------------ - * - * simd_diagonal_matrix(x) A square matrix with the vector x - * as its diagonal. - * - * simd_matrix(c0, c1, ... ) A matrix with the specified vectors - * as columns. - * - * simd_matrix_from_rows(r0, r1, ... ) A matrix with the specified vectors - * as rows. - * - * simd_mul(a,x) Scalar product a*x. - * - * simd_linear_combination(a,x,b,y) a*x + b*y. - * - * simd_add(x,y) Macro wrapping linear_combination - * to compute x + y. - * - * simd_sub(x,y) Macro wrapping linear_combination - * to compute x - y. - * - * simd_transpose(x) Transpose of the matrix x. - * - * simd_inverse(x) Inverse of x if x is non-singular. If - * x is singular, the result is undefined. - * - * simd_mul(x,y) If x is a matrix, returns the matrix - * product x*y, where y is either a matrix - * or a column vector. If x is a vector, - * returns the product x*y where x is - * interpreted as a row vector. - * - * simd_equal(x,y) Returns true if and only if every - * element of x is exactly equal to the - * corresponding element of y. - * - * simd_almost_equal_elements(x,y,tol) - * Returns true if and only if for each - * entry xij in x, the corresponding - * element yij in y satisfies - * |xij - yij| <= tol. - * - * simd_almost_equal_elements_relative(x,y,tol) - * Returns true if and only if for each - * entry xij in x, the corresponding - * element yij in y satisfies - * |xij - yij| <= tol*|xij|. - * - * The header also defines a few useful global matrix objects: - * matrix_identity_floatNxM and matrix_identity_doubleNxM, may be used to get - * an identity matrix of the specified size. - * - * In C++, we are able to use namespacing to make the functions more concise; - * we also overload some common arithmetic operators to work with the matrix - * types: - * - * C++ Function Equivalent C Function - * -------------------------------------------------------------------- - * simd::inverse simd_inverse - * simd::transpose simd_transpose - * operator+ simd_add - * operator- simd_sub - * operator+= N/A - * operator-= N/A - * operator* simd_mul or simd_mul - * operator*= simd_mul or simd_mul - * operator== simd_equal - * operator!= !simd_equal - * simd::almost_equal_elements simd_almost_equal_elements - * simd::almost_equal_elements_relative simd_almost_equal_elements_relative - * - * provides constructors for C++ matrix types. - */ - -#ifndef SIMD_MATRIX_HEADER -#define SIMD_MATRIX_HEADER - -#include -#if SIMD_COMPILER_HAS_REQUIRED_FEATURES -#include -#include -#include -#include - -#ifdef __cplusplus - extern "C" { -#endif - -extern const simd_float2x2 matrix_identity_float2x2 __API_AVAILABLE(macos(10.10), ios(8.0), watchos(2.0), tvos(9.0)); -extern const simd_float3x3 matrix_identity_float3x3 __API_AVAILABLE(macos(10.10), ios(8.0), watchos(2.0), tvos(9.0)); -extern const simd_float4x4 matrix_identity_float4x4 __API_AVAILABLE(macos(10.10), ios(8.0), watchos(2.0), tvos(9.0)); -extern const simd_double2x2 matrix_identity_double2x2 __API_AVAILABLE(macos(10.10), ios(8.0), watchos(2.0), tvos(9.0)); -extern const simd_double3x3 matrix_identity_double3x3 __API_AVAILABLE(macos(10.10), ios(8.0), watchos(2.0), tvos(9.0)); -extern const simd_double4x4 matrix_identity_double4x4 __API_AVAILABLE(macos(10.10), ios(8.0), watchos(2.0), tvos(9.0)); - -static simd_float2x2 SIMD_CFUNC simd_diagonal_matrix(simd_float2 __x); -static simd_float3x3 SIMD_CFUNC simd_diagonal_matrix(simd_float3 __x); -static simd_float4x4 SIMD_CFUNC simd_diagonal_matrix(simd_float4 __x); -static simd_double2x2 SIMD_CFUNC simd_diagonal_matrix(simd_double2 __x); -static simd_double3x3 SIMD_CFUNC simd_diagonal_matrix(simd_double3 __x); -static simd_double4x4 SIMD_CFUNC simd_diagonal_matrix(simd_double4 __x); -#define matrix_from_diagonal simd_diagonal_matrix - -static simd_float2x2 SIMD_CFUNC simd_matrix(simd_float2 col0, simd_float2 col1); -static simd_float3x2 SIMD_CFUNC simd_matrix(simd_float2 col0, simd_float2 col1, simd_float2 col2); -static simd_float4x2 SIMD_CFUNC simd_matrix(simd_float2 col0, simd_float2 col1, simd_float2 col2, simd_float2 col3); -static simd_float2x3 SIMD_CFUNC simd_matrix(simd_float3 col0, simd_float3 col1); -static simd_float3x3 SIMD_CFUNC simd_matrix(simd_float3 col0, simd_float3 col1, simd_float3 col2); -static simd_float4x3 SIMD_CFUNC simd_matrix(simd_float3 col0, simd_float3 col1, simd_float3 col2, simd_float3 col3); -static simd_float2x4 SIMD_CFUNC simd_matrix(simd_float4 col0, simd_float4 col1); -static simd_float3x4 SIMD_CFUNC simd_matrix(simd_float4 col0, simd_float4 col1, simd_float4 col2); -static simd_float4x4 SIMD_CFUNC simd_matrix(simd_float4 col0, simd_float4 col1, simd_float4 col2, simd_float4 col3); -static simd_double2x2 SIMD_CFUNC simd_matrix(simd_double2 col0, simd_double2 col1); -static simd_double3x2 SIMD_CFUNC simd_matrix(simd_double2 col0, simd_double2 col1, simd_double2 col2); -static simd_double4x2 SIMD_CFUNC simd_matrix(simd_double2 col0, simd_double2 col1, simd_double2 col2, simd_double2 col3); -static simd_double2x3 SIMD_CFUNC simd_matrix(simd_double3 col0, simd_double3 col1); -static simd_double3x3 SIMD_CFUNC simd_matrix(simd_double3 col0, simd_double3 col1, simd_double3 col2); -static simd_double4x3 SIMD_CFUNC simd_matrix(simd_double3 col0, simd_double3 col1, simd_double3 col2, simd_double3 col3); -static simd_double2x4 SIMD_CFUNC simd_matrix(simd_double4 col0, simd_double4 col1); -static simd_double3x4 SIMD_CFUNC simd_matrix(simd_double4 col0, simd_double4 col1, simd_double4 col2); -static simd_double4x4 SIMD_CFUNC simd_matrix(simd_double4 col0, simd_double4 col1, simd_double4 col2, simd_double4 col3); -#define matrix_from_columns simd_matrix - -static simd_float2x2 SIMD_CFUNC simd_matrix_from_rows(simd_float2 row0, simd_float2 row1); -static simd_float2x3 SIMD_CFUNC simd_matrix_from_rows(simd_float2 row0, simd_float2 row1, simd_float2 row2); -static simd_float2x4 SIMD_CFUNC simd_matrix_from_rows(simd_float2 row0, simd_float2 row1, simd_float2 row2, simd_float2 row3); -static simd_float3x2 SIMD_CFUNC simd_matrix_from_rows(simd_float3 row0, simd_float3 row1); -static simd_float3x3 SIMD_CFUNC simd_matrix_from_rows(simd_float3 row0, simd_float3 row1, simd_float3 row2); -static simd_float3x4 SIMD_CFUNC simd_matrix_from_rows(simd_float3 row0, simd_float3 row1, simd_float3 row2, simd_float3 row3); -static simd_float4x2 SIMD_CFUNC simd_matrix_from_rows(simd_float4 row0, simd_float4 row1); -static simd_float4x3 SIMD_CFUNC simd_matrix_from_rows(simd_float4 row0, simd_float4 row1, simd_float4 row2); -static simd_float4x4 SIMD_CFUNC simd_matrix_from_rows(simd_float4 row0, simd_float4 row1, simd_float4 row2, simd_float4 row3); -static simd_double2x2 SIMD_CFUNC simd_matrix_from_rows(simd_double2 row0, simd_double2 row1); -static simd_double2x3 SIMD_CFUNC simd_matrix_from_rows(simd_double2 row0, simd_double2 row1, simd_double2 row2); -static simd_double2x4 SIMD_CFUNC simd_matrix_from_rows(simd_double2 row0, simd_double2 row1, simd_double2 row2, simd_double2 row3); -static simd_double3x2 SIMD_CFUNC simd_matrix_from_rows(simd_double3 row0, simd_double3 row1); -static simd_double3x3 SIMD_CFUNC simd_matrix_from_rows(simd_double3 row0, simd_double3 row1, simd_double3 row2); -static simd_double3x4 SIMD_CFUNC simd_matrix_from_rows(simd_double3 row0, simd_double3 row1, simd_double3 row2, simd_double3 row3); -static simd_double4x2 SIMD_CFUNC simd_matrix_from_rows(simd_double4 row0, simd_double4 row1); -static simd_double4x3 SIMD_CFUNC simd_matrix_from_rows(simd_double4 row0, simd_double4 row1, simd_double4 row2); -static simd_double4x4 SIMD_CFUNC simd_matrix_from_rows(simd_double4 row0, simd_double4 row1, simd_double4 row2, simd_double4 row3); -#define matrix_from_rows simd_matrix_from_rows - -static simd_float3x3 SIMD_NOINLINE simd_matrix3x3(simd_quatf q); -static simd_float4x4 SIMD_NOINLINE simd_matrix4x4(simd_quatf q); -static simd_double3x3 SIMD_NOINLINE simd_matrix3x3(simd_quatd q); -static simd_double4x4 SIMD_NOINLINE simd_matrix4x4(simd_quatd q); - -static simd_float2x2 SIMD_CFUNC simd_mul(float __a, simd_float2x2 __x); -static simd_float3x2 SIMD_CFUNC simd_mul(float __a, simd_float3x2 __x); -static simd_float4x2 SIMD_CFUNC simd_mul(float __a, simd_float4x2 __x); -static simd_float2x3 SIMD_CFUNC simd_mul(float __a, simd_float2x3 __x); -static simd_float3x3 SIMD_CFUNC simd_mul(float __a, simd_float3x3 __x); -static simd_float4x3 SIMD_CFUNC simd_mul(float __a, simd_float4x3 __x); -static simd_float2x4 SIMD_CFUNC simd_mul(float __a, simd_float2x4 __x); -static simd_float3x4 SIMD_CFUNC simd_mul(float __a, simd_float3x4 __x); -static simd_float4x4 SIMD_CFUNC simd_mul(float __a, simd_float4x4 __x); -static simd_double2x2 SIMD_CFUNC simd_mul(double __a, simd_double2x2 __x); -static simd_double3x2 SIMD_CFUNC simd_mul(double __a, simd_double3x2 __x); -static simd_double4x2 SIMD_CFUNC simd_mul(double __a, simd_double4x2 __x); -static simd_double2x3 SIMD_CFUNC simd_mul(double __a, simd_double2x3 __x); -static simd_double3x3 SIMD_CFUNC simd_mul(double __a, simd_double3x3 __x); -static simd_double4x3 SIMD_CFUNC simd_mul(double __a, simd_double4x3 __x); -static simd_double2x4 SIMD_CFUNC simd_mul(double __a, simd_double2x4 __x); -static simd_double3x4 SIMD_CFUNC simd_mul(double __a, simd_double3x4 __x); -static simd_double4x4 SIMD_CFUNC simd_mul(double __a, simd_double4x4 __x); - -static simd_float2x2 SIMD_CFUNC simd_linear_combination(float __a, simd_float2x2 __x, float __b, simd_float2x2 __y); -static simd_float3x2 SIMD_CFUNC simd_linear_combination(float __a, simd_float3x2 __x, float __b, simd_float3x2 __y); -static simd_float4x2 SIMD_CFUNC simd_linear_combination(float __a, simd_float4x2 __x, float __b, simd_float4x2 __y); -static simd_float2x3 SIMD_CFUNC simd_linear_combination(float __a, simd_float2x3 __x, float __b, simd_float2x3 __y); -static simd_float3x3 SIMD_CFUNC simd_linear_combination(float __a, simd_float3x3 __x, float __b, simd_float3x3 __y); -static simd_float4x3 SIMD_CFUNC simd_linear_combination(float __a, simd_float4x3 __x, float __b, simd_float4x3 __y); -static simd_float2x4 SIMD_CFUNC simd_linear_combination(float __a, simd_float2x4 __x, float __b, simd_float2x4 __y); -static simd_float3x4 SIMD_CFUNC simd_linear_combination(float __a, simd_float3x4 __x, float __b, simd_float3x4 __y); -static simd_float4x4 SIMD_CFUNC simd_linear_combination(float __a, simd_float4x4 __x, float __b, simd_float4x4 __y); -static simd_double2x2 SIMD_CFUNC simd_linear_combination(double __a, simd_double2x2 __x, double __b, simd_double2x2 __y); -static simd_double3x2 SIMD_CFUNC simd_linear_combination(double __a, simd_double3x2 __x, double __b, simd_double3x2 __y); -static simd_double4x2 SIMD_CFUNC simd_linear_combination(double __a, simd_double4x2 __x, double __b, simd_double4x2 __y); -static simd_double2x3 SIMD_CFUNC simd_linear_combination(double __a, simd_double2x3 __x, double __b, simd_double2x3 __y); -static simd_double3x3 SIMD_CFUNC simd_linear_combination(double __a, simd_double3x3 __x, double __b, simd_double3x3 __y); -static simd_double4x3 SIMD_CFUNC simd_linear_combination(double __a, simd_double4x3 __x, double __b, simd_double4x3 __y); -static simd_double2x4 SIMD_CFUNC simd_linear_combination(double __a, simd_double2x4 __x, double __b, simd_double2x4 __y); -static simd_double3x4 SIMD_CFUNC simd_linear_combination(double __a, simd_double3x4 __x, double __b, simd_double3x4 __y); -static simd_double4x4 SIMD_CFUNC simd_linear_combination(double __a, simd_double4x4 __x, double __b, simd_double4x4 __y); -#define matrix_linear_combination simd_linear_combination - -static simd_float2x2 SIMD_CFUNC simd_add(simd_float2x2 __x, simd_float2x2 __y); -static simd_float3x2 SIMD_CFUNC simd_add(simd_float3x2 __x, simd_float3x2 __y); -static simd_float4x2 SIMD_CFUNC simd_add(simd_float4x2 __x, simd_float4x2 __y); -static simd_float2x3 SIMD_CFUNC simd_add(simd_float2x3 __x, simd_float2x3 __y); -static simd_float3x3 SIMD_CFUNC simd_add(simd_float3x3 __x, simd_float3x3 __y); -static simd_float4x3 SIMD_CFUNC simd_add(simd_float4x3 __x, simd_float4x3 __y); -static simd_float2x4 SIMD_CFUNC simd_add(simd_float2x4 __x, simd_float2x4 __y); -static simd_float3x4 SIMD_CFUNC simd_add(simd_float3x4 __x, simd_float3x4 __y); -static simd_float4x4 SIMD_CFUNC simd_add(simd_float4x4 __x, simd_float4x4 __y); -static simd_double2x2 SIMD_CFUNC simd_add(simd_double2x2 __x, simd_double2x2 __y); -static simd_double3x2 SIMD_CFUNC simd_add(simd_double3x2 __x, simd_double3x2 __y); -static simd_double4x2 SIMD_CFUNC simd_add(simd_double4x2 __x, simd_double4x2 __y); -static simd_double2x3 SIMD_CFUNC simd_add(simd_double2x3 __x, simd_double2x3 __y); -static simd_double3x3 SIMD_CFUNC simd_add(simd_double3x3 __x, simd_double3x3 __y); -static simd_double4x3 SIMD_CFUNC simd_add(simd_double4x3 __x, simd_double4x3 __y); -static simd_double2x4 SIMD_CFUNC simd_add(simd_double2x4 __x, simd_double2x4 __y); -static simd_double3x4 SIMD_CFUNC simd_add(simd_double3x4 __x, simd_double3x4 __y); -static simd_double4x4 SIMD_CFUNC simd_add(simd_double4x4 __x, simd_double4x4 __y); -#define matrix_add simd_add - -static simd_float2x2 SIMD_CFUNC simd_sub(simd_float2x2 __x, simd_float2x2 __y); -static simd_float3x2 SIMD_CFUNC simd_sub(simd_float3x2 __x, simd_float3x2 __y); -static simd_float4x2 SIMD_CFUNC simd_sub(simd_float4x2 __x, simd_float4x2 __y); -static simd_float2x3 SIMD_CFUNC simd_sub(simd_float2x3 __x, simd_float2x3 __y); -static simd_float3x3 SIMD_CFUNC simd_sub(simd_float3x3 __x, simd_float3x3 __y); -static simd_float4x3 SIMD_CFUNC simd_sub(simd_float4x3 __x, simd_float4x3 __y); -static simd_float2x4 SIMD_CFUNC simd_sub(simd_float2x4 __x, simd_float2x4 __y); -static simd_float3x4 SIMD_CFUNC simd_sub(simd_float3x4 __x, simd_float3x4 __y); -static simd_float4x4 SIMD_CFUNC simd_sub(simd_float4x4 __x, simd_float4x4 __y); -static simd_double2x2 SIMD_CFUNC simd_sub(simd_double2x2 __x, simd_double2x2 __y); -static simd_double3x2 SIMD_CFUNC simd_sub(simd_double3x2 __x, simd_double3x2 __y); -static simd_double4x2 SIMD_CFUNC simd_sub(simd_double4x2 __x, simd_double4x2 __y); -static simd_double2x3 SIMD_CFUNC simd_sub(simd_double2x3 __x, simd_double2x3 __y); -static simd_double3x3 SIMD_CFUNC simd_sub(simd_double3x3 __x, simd_double3x3 __y); -static simd_double4x3 SIMD_CFUNC simd_sub(simd_double4x3 __x, simd_double4x3 __y); -static simd_double2x4 SIMD_CFUNC simd_sub(simd_double2x4 __x, simd_double2x4 __y); -static simd_double3x4 SIMD_CFUNC simd_sub(simd_double3x4 __x, simd_double3x4 __y); -static simd_double4x4 SIMD_CFUNC simd_sub(simd_double4x4 __x, simd_double4x4 __y); -#define matrix_sub simd_sub - -static simd_float2x2 SIMD_CFUNC simd_transpose(simd_float2x2 __x); -static simd_float2x3 SIMD_CFUNC simd_transpose(simd_float3x2 __x); -static simd_float2x4 SIMD_CFUNC simd_transpose(simd_float4x2 __x); -static simd_float3x2 SIMD_CFUNC simd_transpose(simd_float2x3 __x); -static simd_float3x3 SIMD_CFUNC simd_transpose(simd_float3x3 __x); -static simd_float3x4 SIMD_CFUNC simd_transpose(simd_float4x3 __x); -static simd_float4x2 SIMD_CFUNC simd_transpose(simd_float2x4 __x); -static simd_float4x3 SIMD_CFUNC simd_transpose(simd_float3x4 __x); -static simd_float4x4 SIMD_CFUNC simd_transpose(simd_float4x4 __x); -static simd_double2x2 SIMD_CFUNC simd_transpose(simd_double2x2 __x); -static simd_double2x3 SIMD_CFUNC simd_transpose(simd_double3x2 __x); -static simd_double2x4 SIMD_CFUNC simd_transpose(simd_double4x2 __x); -static simd_double3x2 SIMD_CFUNC simd_transpose(simd_double2x3 __x); -static simd_double3x3 SIMD_CFUNC simd_transpose(simd_double3x3 __x); -static simd_double3x4 SIMD_CFUNC simd_transpose(simd_double4x3 __x); -static simd_double4x2 SIMD_CFUNC simd_transpose(simd_double2x4 __x); -static simd_double4x3 SIMD_CFUNC simd_transpose(simd_double3x4 __x); -static simd_double4x4 SIMD_CFUNC simd_transpose(simd_double4x4 __x); -#define matrix_transpose simd_transpose - -static float SIMD_CFUNC simd_determinant(simd_float2x2 __x); -static float SIMD_CFUNC simd_determinant(simd_float3x3 __x); -static float SIMD_CFUNC simd_determinant(simd_float4x4 __x); -static double SIMD_CFUNC simd_determinant(simd_double2x2 __x); -static double SIMD_CFUNC simd_determinant(simd_double3x3 __x); -static double SIMD_CFUNC simd_determinant(simd_double4x4 __x); -#define matrix_determinant simd_determinant - -static simd_float2x2 SIMD_CFUNC simd_inverse(simd_float2x2 __x) __API_AVAILABLE(macos(10.10), ios(8.0), watchos(2.0), tvos(9.0)); -static simd_float3x3 SIMD_CFUNC simd_inverse(simd_float3x3 __x) __API_AVAILABLE(macos(10.10), ios(8.0), watchos(2.0), tvos(9.0)); -static simd_float4x4 SIMD_CFUNC simd_inverse(simd_float4x4 __x) __API_AVAILABLE(macos(10.10), ios(8.0), watchos(2.0), tvos(9.0)); -static simd_double2x2 SIMD_CFUNC simd_inverse(simd_double2x2 __x) __API_AVAILABLE(macos(10.10), ios(8.0), watchos(2.0), tvos(9.0)); -static simd_double3x3 SIMD_CFUNC simd_inverse(simd_double3x3 __x) __API_AVAILABLE(macos(10.10), ios(8.0), watchos(2.0), tvos(9.0)); -static simd_double4x4 SIMD_CFUNC simd_inverse(simd_double4x4 __x) __API_AVAILABLE(macos(10.10), ios(8.0), watchos(2.0), tvos(9.0)); -#define matrix_invert simd_inverse - -static simd_float2 SIMD_CFUNC simd_mul(simd_float2x2 __x, simd_float2 __y); -static simd_float2 SIMD_CFUNC simd_mul(simd_float3x2 __x, simd_float3 __y); -static simd_float2 SIMD_CFUNC simd_mul(simd_float4x2 __x, simd_float4 __y); -static simd_float3 SIMD_CFUNC simd_mul(simd_float2x3 __x, simd_float2 __y); -static simd_float3 SIMD_CFUNC simd_mul(simd_float3x3 __x, simd_float3 __y); -static simd_float3 SIMD_CFUNC simd_mul(simd_float4x3 __x, simd_float4 __y); -static simd_float4 SIMD_CFUNC simd_mul(simd_float2x4 __x, simd_float2 __y); -static simd_float4 SIMD_CFUNC simd_mul(simd_float3x4 __x, simd_float3 __y); -static simd_float4 SIMD_CFUNC simd_mul(simd_float4x4 __x, simd_float4 __y); -static simd_double2 SIMD_CFUNC simd_mul(simd_double2x2 __x, simd_double2 __y); -static simd_double2 SIMD_CFUNC simd_mul(simd_double3x2 __x, simd_double3 __y); -static simd_double2 SIMD_CFUNC simd_mul(simd_double4x2 __x, simd_double4 __y); -static simd_double3 SIMD_CFUNC simd_mul(simd_double2x3 __x, simd_double2 __y); -static simd_double3 SIMD_CFUNC simd_mul(simd_double3x3 __x, simd_double3 __y); -static simd_double3 SIMD_CFUNC simd_mul(simd_double4x3 __x, simd_double4 __y); -static simd_double4 SIMD_CFUNC simd_mul(simd_double2x4 __x, simd_double2 __y); -static simd_double4 SIMD_CFUNC simd_mul(simd_double3x4 __x, simd_double3 __y); -static simd_double4 SIMD_CFUNC simd_mul(simd_double4x4 __x, simd_double4 __y); -static simd_float2 SIMD_CFUNC simd_mul(simd_float2 __x, simd_float2x2 __y); -static simd_float3 SIMD_CFUNC simd_mul(simd_float2 __x, simd_float3x2 __y); -static simd_float4 SIMD_CFUNC simd_mul(simd_float2 __x, simd_float4x2 __y); -static simd_float2 SIMD_CFUNC simd_mul(simd_float3 __x, simd_float2x3 __y); -static simd_float3 SIMD_CFUNC simd_mul(simd_float3 __x, simd_float3x3 __y); -static simd_float4 SIMD_CFUNC simd_mul(simd_float3 __x, simd_float4x3 __y); -static simd_float2 SIMD_CFUNC simd_mul(simd_float4 __x, simd_float2x4 __y); -static simd_float3 SIMD_CFUNC simd_mul(simd_float4 __x, simd_float3x4 __y); -static simd_float4 SIMD_CFUNC simd_mul(simd_float4 __x, simd_float4x4 __y); -static simd_double2 SIMD_CFUNC simd_mul(simd_double2 __x, simd_double2x2 __y); -static simd_double3 SIMD_CFUNC simd_mul(simd_double2 __x, simd_double3x2 __y); -static simd_double4 SIMD_CFUNC simd_mul(simd_double2 __x, simd_double4x2 __y); -static simd_double2 SIMD_CFUNC simd_mul(simd_double3 __x, simd_double2x3 __y); -static simd_double3 SIMD_CFUNC simd_mul(simd_double3 __x, simd_double3x3 __y); -static simd_double4 SIMD_CFUNC simd_mul(simd_double3 __x, simd_double4x3 __y); -static simd_double2 SIMD_CFUNC simd_mul(simd_double4 __x, simd_double2x4 __y); -static simd_double3 SIMD_CFUNC simd_mul(simd_double4 __x, simd_double3x4 __y); -static simd_double4 SIMD_CFUNC simd_mul(simd_double4 __x, simd_double4x4 __y); -static simd_float2x2 SIMD_CFUNC simd_mul(simd_float2x2 __x, simd_float2x2 __y); -static simd_float3x2 SIMD_CFUNC simd_mul(simd_float2x2 __x, simd_float3x2 __y); -static simd_float4x2 SIMD_CFUNC simd_mul(simd_float2x2 __x, simd_float4x2 __y); -static simd_float2x3 SIMD_CFUNC simd_mul(simd_float2x3 __x, simd_float2x2 __y); -static simd_float3x3 SIMD_CFUNC simd_mul(simd_float2x3 __x, simd_float3x2 __y); -static simd_float4x3 SIMD_CFUNC simd_mul(simd_float2x3 __x, simd_float4x2 __y); -static simd_float2x4 SIMD_CFUNC simd_mul(simd_float2x4 __x, simd_float2x2 __y); -static simd_float3x4 SIMD_CFUNC simd_mul(simd_float2x4 __x, simd_float3x2 __y); -static simd_float4x4 SIMD_CFUNC simd_mul(simd_float2x4 __x, simd_float4x2 __y); -static simd_double2x2 SIMD_CFUNC simd_mul(simd_double2x2 __x, simd_double2x2 __y); -static simd_double3x2 SIMD_CFUNC simd_mul(simd_double2x2 __x, simd_double3x2 __y); -static simd_double4x2 SIMD_CFUNC simd_mul(simd_double2x2 __x, simd_double4x2 __y); -static simd_double2x3 SIMD_CFUNC simd_mul(simd_double2x3 __x, simd_double2x2 __y); -static simd_double3x3 SIMD_CFUNC simd_mul(simd_double2x3 __x, simd_double3x2 __y); -static simd_double4x3 SIMD_CFUNC simd_mul(simd_double2x3 __x, simd_double4x2 __y); -static simd_double2x4 SIMD_CFUNC simd_mul(simd_double2x4 __x, simd_double2x2 __y); -static simd_double3x4 SIMD_CFUNC simd_mul(simd_double2x4 __x, simd_double3x2 __y); -static simd_double4x4 SIMD_CFUNC simd_mul(simd_double2x4 __x, simd_double4x2 __y); -static simd_float2x2 SIMD_CFUNC simd_mul(simd_float3x2 __x, simd_float2x3 __y); -static simd_float3x2 SIMD_CFUNC simd_mul(simd_float3x2 __x, simd_float3x3 __y); -static simd_float4x2 SIMD_CFUNC simd_mul(simd_float3x2 __x, simd_float4x3 __y); -static simd_float2x3 SIMD_CFUNC simd_mul(simd_float3x3 __x, simd_float2x3 __y); -static simd_float3x3 SIMD_CFUNC simd_mul(simd_float3x3 __x, simd_float3x3 __y); -static simd_float4x3 SIMD_CFUNC simd_mul(simd_float3x3 __x, simd_float4x3 __y); -static simd_float2x4 SIMD_CFUNC simd_mul(simd_float3x4 __x, simd_float2x3 __y); -static simd_float3x4 SIMD_CFUNC simd_mul(simd_float3x4 __x, simd_float3x3 __y); -static simd_float4x4 SIMD_CFUNC simd_mul(simd_float3x4 __x, simd_float4x3 __y); -static simd_double2x2 SIMD_CFUNC simd_mul(simd_double3x2 __x, simd_double2x3 __y); -static simd_double3x2 SIMD_CFUNC simd_mul(simd_double3x2 __x, simd_double3x3 __y); -static simd_double4x2 SIMD_CFUNC simd_mul(simd_double3x2 __x, simd_double4x3 __y); -static simd_double2x3 SIMD_CFUNC simd_mul(simd_double3x3 __x, simd_double2x3 __y); -static simd_double3x3 SIMD_CFUNC simd_mul(simd_double3x3 __x, simd_double3x3 __y); -static simd_double4x3 SIMD_CFUNC simd_mul(simd_double3x3 __x, simd_double4x3 __y); -static simd_double2x4 SIMD_CFUNC simd_mul(simd_double3x4 __x, simd_double2x3 __y); -static simd_double3x4 SIMD_CFUNC simd_mul(simd_double3x4 __x, simd_double3x3 __y); -static simd_double4x4 SIMD_CFUNC simd_mul(simd_double3x4 __x, simd_double4x3 __y); -static simd_float2x2 SIMD_CFUNC simd_mul(simd_float4x2 __x, simd_float2x4 __y); -static simd_float3x2 SIMD_CFUNC simd_mul(simd_float4x2 __x, simd_float3x4 __y); -static simd_float4x2 SIMD_CFUNC simd_mul(simd_float4x2 __x, simd_float4x4 __y); -static simd_float2x3 SIMD_CFUNC simd_mul(simd_float4x3 __x, simd_float2x4 __y); -static simd_float3x3 SIMD_CFUNC simd_mul(simd_float4x3 __x, simd_float3x4 __y); -static simd_float4x3 SIMD_CFUNC simd_mul(simd_float4x3 __x, simd_float4x4 __y); -static simd_float2x4 SIMD_CFUNC simd_mul(simd_float4x4 __x, simd_float2x4 __y); -static simd_float3x4 SIMD_CFUNC simd_mul(simd_float4x4 __x, simd_float3x4 __y); -static simd_float4x4 SIMD_CFUNC simd_mul(simd_float4x4 __x, simd_float4x4 __y); -static simd_double2x2 SIMD_CFUNC simd_mul(simd_double4x2 __x, simd_double2x4 __y); -static simd_double3x2 SIMD_CFUNC simd_mul(simd_double4x2 __x, simd_double3x4 __y); -static simd_double4x2 SIMD_CFUNC simd_mul(simd_double4x2 __x, simd_double4x4 __y); -static simd_double2x3 SIMD_CFUNC simd_mul(simd_double4x3 __x, simd_double2x4 __y); -static simd_double3x3 SIMD_CFUNC simd_mul(simd_double4x3 __x, simd_double3x4 __y); -static simd_double4x3 SIMD_CFUNC simd_mul(simd_double4x3 __x, simd_double4x4 __y); -static simd_double2x4 SIMD_CFUNC simd_mul(simd_double4x4 __x, simd_double2x4 __y); -static simd_double3x4 SIMD_CFUNC simd_mul(simd_double4x4 __x, simd_double3x4 __y); -static simd_double4x4 SIMD_CFUNC simd_mul(simd_double4x4 __x, simd_double4x4 __y); - -static simd_bool SIMD_CFUNC simd_equal(simd_float2x2 __x, simd_float2x2 __y); -static simd_bool SIMD_CFUNC simd_equal(simd_float2x3 __x, simd_float2x3 __y); -static simd_bool SIMD_CFUNC simd_equal(simd_float2x4 __x, simd_float2x4 __y); -static simd_bool SIMD_CFUNC simd_equal(simd_float3x2 __x, simd_float3x2 __y); -static simd_bool SIMD_CFUNC simd_equal(simd_float3x3 __x, simd_float3x3 __y); -static simd_bool SIMD_CFUNC simd_equal(simd_float3x4 __x, simd_float3x4 __y); -static simd_bool SIMD_CFUNC simd_equal(simd_float4x2 __x, simd_float4x2 __y); -static simd_bool SIMD_CFUNC simd_equal(simd_float4x3 __x, simd_float4x3 __y); -static simd_bool SIMD_CFUNC simd_equal(simd_float4x4 __x, simd_float4x4 __y); -static simd_bool SIMD_CFUNC simd_equal(simd_double2x2 __x, simd_double2x2 __y); -static simd_bool SIMD_CFUNC simd_equal(simd_double2x3 __x, simd_double2x3 __y); -static simd_bool SIMD_CFUNC simd_equal(simd_double2x4 __x, simd_double2x4 __y); -static simd_bool SIMD_CFUNC simd_equal(simd_double3x2 __x, simd_double3x2 __y); -static simd_bool SIMD_CFUNC simd_equal(simd_double3x3 __x, simd_double3x3 __y); -static simd_bool SIMD_CFUNC simd_equal(simd_double3x4 __x, simd_double3x4 __y); -static simd_bool SIMD_CFUNC simd_equal(simd_double4x2 __x, simd_double4x2 __y); -static simd_bool SIMD_CFUNC simd_equal(simd_double4x3 __x, simd_double4x3 __y); -static simd_bool SIMD_CFUNC simd_equal(simd_double4x4 __x, simd_double4x4 __y); -#define matrix_equal simd_equal - -static simd_bool SIMD_CFUNC simd_almost_equal_elements(simd_float2x2 __x, simd_float2x2 __y, float __tol); -static simd_bool SIMD_CFUNC simd_almost_equal_elements(simd_float2x3 __x, simd_float2x3 __y, float __tol); -static simd_bool SIMD_CFUNC simd_almost_equal_elements(simd_float2x4 __x, simd_float2x4 __y, float __tol); -static simd_bool SIMD_CFUNC simd_almost_equal_elements(simd_float3x2 __x, simd_float3x2 __y, float __tol); -static simd_bool SIMD_CFUNC simd_almost_equal_elements(simd_float3x3 __x, simd_float3x3 __y, float __tol); -static simd_bool SIMD_CFUNC simd_almost_equal_elements(simd_float3x4 __x, simd_float3x4 __y, float __tol); -static simd_bool SIMD_CFUNC simd_almost_equal_elements(simd_float4x2 __x, simd_float4x2 __y, float __tol); -static simd_bool SIMD_CFUNC simd_almost_equal_elements(simd_float4x3 __x, simd_float4x3 __y, float __tol); -static simd_bool SIMD_CFUNC simd_almost_equal_elements(simd_float4x4 __x, simd_float4x4 __y, float __tol); -static simd_bool SIMD_CFUNC simd_almost_equal_elements(simd_double2x2 __x, simd_double2x2 __y, double __tol); -static simd_bool SIMD_CFUNC simd_almost_equal_elements(simd_double2x3 __x, simd_double2x3 __y, double __tol); -static simd_bool SIMD_CFUNC simd_almost_equal_elements(simd_double2x4 __x, simd_double2x4 __y, double __tol); -static simd_bool SIMD_CFUNC simd_almost_equal_elements(simd_double3x2 __x, simd_double3x2 __y, double __tol); -static simd_bool SIMD_CFUNC simd_almost_equal_elements(simd_double3x3 __x, simd_double3x3 __y, double __tol); -static simd_bool SIMD_CFUNC simd_almost_equal_elements(simd_double3x4 __x, simd_double3x4 __y, double __tol); -static simd_bool SIMD_CFUNC simd_almost_equal_elements(simd_double4x2 __x, simd_double4x2 __y, double __tol); -static simd_bool SIMD_CFUNC simd_almost_equal_elements(simd_double4x3 __x, simd_double4x3 __y, double __tol); -static simd_bool SIMD_CFUNC simd_almost_equal_elements(simd_double4x4 __x, simd_double4x4 __y, double __tol); -#define matrix_almost_equal_elements simd_almost_equal_elements - -static simd_bool SIMD_CFUNC simd_almost_equal_elements_relative(simd_float2x2 __x, simd_float2x2 __y, float __tol); -static simd_bool SIMD_CFUNC simd_almost_equal_elements_relative(simd_float2x3 __x, simd_float2x3 __y, float __tol); -static simd_bool SIMD_CFUNC simd_almost_equal_elements_relative(simd_float2x4 __x, simd_float2x4 __y, float __tol); -static simd_bool SIMD_CFUNC simd_almost_equal_elements_relative(simd_float3x2 __x, simd_float3x2 __y, float __tol); -static simd_bool SIMD_CFUNC simd_almost_equal_elements_relative(simd_float3x3 __x, simd_float3x3 __y, float __tol); -static simd_bool SIMD_CFUNC simd_almost_equal_elements_relative(simd_float3x4 __x, simd_float3x4 __y, float __tol); -static simd_bool SIMD_CFUNC simd_almost_equal_elements_relative(simd_float4x2 __x, simd_float4x2 __y, float __tol); -static simd_bool SIMD_CFUNC simd_almost_equal_elements_relative(simd_float4x3 __x, simd_float4x3 __y, float __tol); -static simd_bool SIMD_CFUNC simd_almost_equal_elements_relative(simd_float4x4 __x, simd_float4x4 __y, float __tol); -static simd_bool SIMD_CFUNC simd_almost_equal_elements_relative(simd_double2x2 __x, simd_double2x2 __y, double __tol); -static simd_bool SIMD_CFUNC simd_almost_equal_elements_relative(simd_double2x3 __x, simd_double2x3 __y, double __tol); -static simd_bool SIMD_CFUNC simd_almost_equal_elements_relative(simd_double2x4 __x, simd_double2x4 __y, double __tol); -static simd_bool SIMD_CFUNC simd_almost_equal_elements_relative(simd_double3x2 __x, simd_double3x2 __y, double __tol); -static simd_bool SIMD_CFUNC simd_almost_equal_elements_relative(simd_double3x3 __x, simd_double3x3 __y, double __tol); -static simd_bool SIMD_CFUNC simd_almost_equal_elements_relative(simd_double3x4 __x, simd_double3x4 __y, double __tol); -static simd_bool SIMD_CFUNC simd_almost_equal_elements_relative(simd_double4x2 __x, simd_double4x2 __y, double __tol); -static simd_bool SIMD_CFUNC simd_almost_equal_elements_relative(simd_double4x3 __x, simd_double4x3 __y, double __tol); -static simd_bool SIMD_CFUNC simd_almost_equal_elements_relative(simd_double4x4 __x, simd_double4x4 __y, double __tol); -#define matrix_almost_equal_elements_relative simd_almost_equal_elements_relative - -#ifdef __cplusplus -} /* extern "C" */ - -namespace simd { - static SIMD_CPPFUNC float2x2 operator+(const float2x2 x, const float2x2 y) { return float2x2(::simd_linear_combination(1, x, 1, y)); } - static SIMD_CPPFUNC float2x3 operator+(const float2x3 x, const float2x3 y) { return float2x3(::simd_linear_combination(1, x, 1, y)); } - static SIMD_CPPFUNC float2x4 operator+(const float2x4 x, const float2x4 y) { return float2x4(::simd_linear_combination(1, x, 1, y)); } - static SIMD_CPPFUNC float3x2 operator+(const float3x2 x, const float3x2 y) { return float3x2(::simd_linear_combination(1, x, 1, y)); } - static SIMD_CPPFUNC float3x3 operator+(const float3x3 x, const float3x3 y) { return float3x3(::simd_linear_combination(1, x, 1, y)); } - static SIMD_CPPFUNC float3x4 operator+(const float3x4 x, const float3x4 y) { return float3x4(::simd_linear_combination(1, x, 1, y)); } - static SIMD_CPPFUNC float4x2 operator+(const float4x2 x, const float4x2 y) { return float4x2(::simd_linear_combination(1, x, 1, y)); } - static SIMD_CPPFUNC float4x3 operator+(const float4x3 x, const float4x3 y) { return float4x3(::simd_linear_combination(1, x, 1, y)); } - static SIMD_CPPFUNC float4x4 operator+(const float4x4 x, const float4x4 y) { return float4x4(::simd_linear_combination(1, x, 1, y)); } - - static SIMD_CPPFUNC float2x2 operator-(const float2x2 x, const float2x2 y) { return float2x2(::simd_linear_combination(1, x, -1, y)); } - static SIMD_CPPFUNC float2x3 operator-(const float2x3 x, const float2x3 y) { return float2x3(::simd_linear_combination(1, x, -1, y)); } - static SIMD_CPPFUNC float2x4 operator-(const float2x4 x, const float2x4 y) { return float2x4(::simd_linear_combination(1, x, -1, y)); } - static SIMD_CPPFUNC float3x2 operator-(const float3x2 x, const float3x2 y) { return float3x2(::simd_linear_combination(1, x, -1, y)); } - static SIMD_CPPFUNC float3x3 operator-(const float3x3 x, const float3x3 y) { return float3x3(::simd_linear_combination(1, x, -1, y)); } - static SIMD_CPPFUNC float3x4 operator-(const float3x4 x, const float3x4 y) { return float3x4(::simd_linear_combination(1, x, -1, y)); } - static SIMD_CPPFUNC float4x2 operator-(const float4x2 x, const float4x2 y) { return float4x2(::simd_linear_combination(1, x, -1, y)); } - static SIMD_CPPFUNC float4x3 operator-(const float4x3 x, const float4x3 y) { return float4x3(::simd_linear_combination(1, x, -1, y)); } - static SIMD_CPPFUNC float4x4 operator-(const float4x4 x, const float4x4 y) { return float4x4(::simd_linear_combination(1, x, -1, y)); } - - static SIMD_CPPFUNC float2x2& operator+=(float2x2& x, const float2x2 y) { x = x + y; return x; } - static SIMD_CPPFUNC float2x3& operator+=(float2x3& x, const float2x3 y) { x = x + y; return x; } - static SIMD_CPPFUNC float2x4& operator+=(float2x4& x, const float2x4 y) { x = x + y; return x; } - static SIMD_CPPFUNC float3x2& operator+=(float3x2& x, const float3x2 y) { x = x + y; return x; } - static SIMD_CPPFUNC float3x3& operator+=(float3x3& x, const float3x3 y) { x = x + y; return x; } - static SIMD_CPPFUNC float3x4& operator+=(float3x4& x, const float3x4 y) { x = x + y; return x; } - static SIMD_CPPFUNC float4x2& operator+=(float4x2& x, const float4x2 y) { x = x + y; return x; } - static SIMD_CPPFUNC float4x3& operator+=(float4x3& x, const float4x3 y) { x = x + y; return x; } - static SIMD_CPPFUNC float4x4& operator+=(float4x4& x, const float4x4 y) { x = x + y; return x; } - - static SIMD_CPPFUNC float2x2& operator-=(float2x2& x, const float2x2 y) { x = x - y; return x; } - static SIMD_CPPFUNC float2x3& operator-=(float2x3& x, const float2x3 y) { x = x - y; return x; } - static SIMD_CPPFUNC float2x4& operator-=(float2x4& x, const float2x4 y) { x = x - y; return x; } - static SIMD_CPPFUNC float3x2& operator-=(float3x2& x, const float3x2 y) { x = x - y; return x; } - static SIMD_CPPFUNC float3x3& operator-=(float3x3& x, const float3x3 y) { x = x - y; return x; } - static SIMD_CPPFUNC float3x4& operator-=(float3x4& x, const float3x4 y) { x = x - y; return x; } - static SIMD_CPPFUNC float4x2& operator-=(float4x2& x, const float4x2 y) { x = x - y; return x; } - static SIMD_CPPFUNC float4x3& operator-=(float4x3& x, const float4x3 y) { x = x - y; return x; } - static SIMD_CPPFUNC float4x4& operator-=(float4x4& x, const float4x4 y) { x = x - y; return x; } - - static SIMD_CPPFUNC float2x2 transpose(const float2x2 x) { return ::simd_transpose(x); } - static SIMD_CPPFUNC float2x3 transpose(const float3x2 x) { return ::simd_transpose(x); } - static SIMD_CPPFUNC float2x4 transpose(const float4x2 x) { return ::simd_transpose(x); } - static SIMD_CPPFUNC float3x2 transpose(const float2x3 x) { return ::simd_transpose(x); } - static SIMD_CPPFUNC float3x3 transpose(const float3x3 x) { return ::simd_transpose(x); } - static SIMD_CPPFUNC float3x4 transpose(const float4x3 x) { return ::simd_transpose(x); } - static SIMD_CPPFUNC float4x2 transpose(const float2x4 x) { return ::simd_transpose(x); } - static SIMD_CPPFUNC float4x3 transpose(const float3x4 x) { return ::simd_transpose(x); } - static SIMD_CPPFUNC float4x4 transpose(const float4x4 x) { return ::simd_transpose(x); } - - static SIMD_CPPFUNC float determinant(const float2x2 x) { return ::simd_determinant(x); } - static SIMD_CPPFUNC float determinant(const float3x3 x) { return ::simd_determinant(x); } - static SIMD_CPPFUNC float determinant(const float4x4 x) { return ::simd_determinant(x); } - -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wgcc-compat" - static SIMD_CPPFUNC float2x2 inverse(const float2x2 x) __API_AVAILABLE(macos(10.10), ios(8.0), watchos(2.0), tvos(9.0)) { return ::simd_inverse(x); } - static SIMD_CPPFUNC float3x3 inverse(const float3x3 x) __API_AVAILABLE(macos(10.10), ios(8.0), watchos(2.0), tvos(9.0)) { return ::simd_inverse(x); } - static SIMD_CPPFUNC float4x4 inverse(const float4x4 x) __API_AVAILABLE(macos(10.10), ios(8.0), watchos(2.0), tvos(9.0)) { return ::simd_inverse(x); } -#pragma clang diagnostic pop - - static SIMD_CPPFUNC float2x2 operator*(const float a, const float2x2 x) { return ::simd_mul(a, x); } - static SIMD_CPPFUNC float2x3 operator*(const float a, const float2x3 x) { return ::simd_mul(a, x); } - static SIMD_CPPFUNC float2x4 operator*(const float a, const float2x4 x) { return ::simd_mul(a, x); } - static SIMD_CPPFUNC float3x2 operator*(const float a, const float3x2 x) { return ::simd_mul(a, x); } - static SIMD_CPPFUNC float3x3 operator*(const float a, const float3x3 x) { return ::simd_mul(a, x); } - static SIMD_CPPFUNC float3x4 operator*(const float a, const float3x4 x) { return ::simd_mul(a, x); } - static SIMD_CPPFUNC float4x2 operator*(const float a, const float4x2 x) { return ::simd_mul(a, x); } - static SIMD_CPPFUNC float4x3 operator*(const float a, const float4x3 x) { return ::simd_mul(a, x); } - static SIMD_CPPFUNC float4x4 operator*(const float a, const float4x4 x) { return ::simd_mul(a, x); } - static SIMD_CPPFUNC float2x2 operator*(const float2x2 x, const float a) { return ::simd_mul(a, x); } - static SIMD_CPPFUNC float2x3 operator*(const float2x3 x, const float a) { return ::simd_mul(a, x); } - static SIMD_CPPFUNC float2x4 operator*(const float2x4 x, const float a) { return ::simd_mul(a, x); } - static SIMD_CPPFUNC float3x2 operator*(const float3x2 x, const float a) { return ::simd_mul(a, x); } - static SIMD_CPPFUNC float3x3 operator*(const float3x3 x, const float a) { return ::simd_mul(a, x); } - static SIMD_CPPFUNC float3x4 operator*(const float3x4 x, const float a) { return ::simd_mul(a, x); } - static SIMD_CPPFUNC float4x2 operator*(const float4x2 x, const float a) { return ::simd_mul(a, x); } - static SIMD_CPPFUNC float4x3 operator*(const float4x3 x, const float a) { return ::simd_mul(a, x); } - static SIMD_CPPFUNC float4x4 operator*(const float4x4 x, const float a) { return ::simd_mul(a, x); } - static SIMD_CPPFUNC float2x2& operator*=(float2x2& x, const float a) { x = ::simd_mul(a, x); return x; } - static SIMD_CPPFUNC float2x3& operator*=(float2x3& x, const float a) { x = ::simd_mul(a, x); return x; } - static SIMD_CPPFUNC float2x4& operator*=(float2x4& x, const float a) { x = ::simd_mul(a, x); return x; } - static SIMD_CPPFUNC float3x2& operator*=(float3x2& x, const float a) { x = ::simd_mul(a, x); return x; } - static SIMD_CPPFUNC float3x3& operator*=(float3x3& x, const float a) { x = ::simd_mul(a, x); return x; } - static SIMD_CPPFUNC float3x4& operator*=(float3x4& x, const float a) { x = ::simd_mul(a, x); return x; } - static SIMD_CPPFUNC float4x2& operator*=(float4x2& x, const float a) { x = ::simd_mul(a, x); return x; } - static SIMD_CPPFUNC float4x3& operator*=(float4x3& x, const float a) { x = ::simd_mul(a, x); return x; } - static SIMD_CPPFUNC float4x4& operator*=(float4x4& x, const float a) { x = ::simd_mul(a, x); return x; } - - static SIMD_CPPFUNC float2 operator*(const float2 x, const float2x2 y) { return ::simd_mul(x, y); } - static SIMD_CPPFUNC float3 operator*(const float2 x, const float3x2 y) { return ::simd_mul(x, y); } - static SIMD_CPPFUNC float4 operator*(const float2 x, const float4x2 y) { return ::simd_mul(x, y); } - static SIMD_CPPFUNC float2 operator*(const float3 x, const float2x3 y) { return ::simd_mul(x, y); } - static SIMD_CPPFUNC float3 operator*(const float3 x, const float3x3 y) { return ::simd_mul(x, y); } - static SIMD_CPPFUNC float4 operator*(const float3 x, const float4x3 y) { return ::simd_mul(x, y); } - static SIMD_CPPFUNC float2 operator*(const float4 x, const float2x4 y) { return ::simd_mul(x, y); } - static SIMD_CPPFUNC float3 operator*(const float4 x, const float3x4 y) { return ::simd_mul(x, y); } - static SIMD_CPPFUNC float4 operator*(const float4 x, const float4x4 y) { return ::simd_mul(x, y); } - static SIMD_CPPFUNC float2 operator*(const float2x2 x, const float2 y) { return ::simd_mul(x, y); } - static SIMD_CPPFUNC float2 operator*(const float3x2 x, const float3 y) { return ::simd_mul(x, y); } - static SIMD_CPPFUNC float2 operator*(const float4x2 x, const float4 y) { return ::simd_mul(x, y); } - static SIMD_CPPFUNC float3 operator*(const float2x3 x, const float2 y) { return ::simd_mul(x, y); } - static SIMD_CPPFUNC float3 operator*(const float3x3 x, const float3 y) { return ::simd_mul(x, y); } - static SIMD_CPPFUNC float3 operator*(const float4x3 x, const float4 y) { return ::simd_mul(x, y); } - static SIMD_CPPFUNC float4 operator*(const float2x4 x, const float2 y) { return ::simd_mul(x, y); } - static SIMD_CPPFUNC float4 operator*(const float3x4 x, const float3 y) { return ::simd_mul(x, y); } - static SIMD_CPPFUNC float4 operator*(const float4x4 x, const float4 y) { return ::simd_mul(x, y); } - static SIMD_CPPFUNC float2& operator*=(float2& x, const float2x2 y) { x = ::simd_mul(x, y); return x; } - static SIMD_CPPFUNC float3& operator*=(float3& x, const float3x3 y) { x = ::simd_mul(x, y); return x; } - static SIMD_CPPFUNC float4& operator*=(float4& x, const float4x4 y) { x = ::simd_mul(x, y); return x; } - - static SIMD_CPPFUNC float2x2 operator*(const float2x2 x, const float2x2 y) { return ::simd_mul(x, y); } - static SIMD_CPPFUNC float3x2 operator*(const float2x2 x, const float3x2 y) { return ::simd_mul(x, y); } - static SIMD_CPPFUNC float4x2 operator*(const float2x2 x, const float4x2 y) { return ::simd_mul(x, y); } - static SIMD_CPPFUNC float2x3 operator*(const float2x3 x, const float2x2 y) { return ::simd_mul(x, y); } - static SIMD_CPPFUNC float3x3 operator*(const float2x3 x, const float3x2 y) { return ::simd_mul(x, y); } - static SIMD_CPPFUNC float4x3 operator*(const float2x3 x, const float4x2 y) { return ::simd_mul(x, y); } - static SIMD_CPPFUNC float2x4 operator*(const float2x4 x, const float2x2 y) { return ::simd_mul(x, y); } - static SIMD_CPPFUNC float3x4 operator*(const float2x4 x, const float3x2 y) { return ::simd_mul(x, y); } - static SIMD_CPPFUNC float4x4 operator*(const float2x4 x, const float4x2 y) { return ::simd_mul(x, y); } - static SIMD_CPPFUNC float2x2 operator*(const float3x2 x, const float2x3 y) { return ::simd_mul(x, y); } - static SIMD_CPPFUNC float3x2 operator*(const float3x2 x, const float3x3 y) { return ::simd_mul(x, y); } - static SIMD_CPPFUNC float4x2 operator*(const float3x2 x, const float4x3 y) { return ::simd_mul(x, y); } - static SIMD_CPPFUNC float2x3 operator*(const float3x3 x, const float2x3 y) { return ::simd_mul(x, y); } - static SIMD_CPPFUNC float3x3 operator*(const float3x3 x, const float3x3 y) { return ::simd_mul(x, y); } - static SIMD_CPPFUNC float4x3 operator*(const float3x3 x, const float4x3 y) { return ::simd_mul(x, y); } - static SIMD_CPPFUNC float2x4 operator*(const float3x4 x, const float2x3 y) { return ::simd_mul(x, y); } - static SIMD_CPPFUNC float3x4 operator*(const float3x4 x, const float3x3 y) { return ::simd_mul(x, y); } - static SIMD_CPPFUNC float4x4 operator*(const float3x4 x, const float4x3 y) { return ::simd_mul(x, y); } - static SIMD_CPPFUNC float2x2 operator*(const float4x2 x, const float2x4 y) { return ::simd_mul(x, y); } - static SIMD_CPPFUNC float3x2 operator*(const float4x2 x, const float3x4 y) { return ::simd_mul(x, y); } - static SIMD_CPPFUNC float4x2 operator*(const float4x2 x, const float4x4 y) { return ::simd_mul(x, y); } - static SIMD_CPPFUNC float2x3 operator*(const float4x3 x, const float2x4 y) { return ::simd_mul(x, y); } - static SIMD_CPPFUNC float3x3 operator*(const float4x3 x, const float3x4 y) { return ::simd_mul(x, y); } - static SIMD_CPPFUNC float4x3 operator*(const float4x3 x, const float4x4 y) { return ::simd_mul(x, y); } - static SIMD_CPPFUNC float2x4 operator*(const float4x4 x, const float2x4 y) { return ::simd_mul(x, y); } - static SIMD_CPPFUNC float3x4 operator*(const float4x4 x, const float3x4 y) { return ::simd_mul(x, y); } - static SIMD_CPPFUNC float4x4 operator*(const float4x4 x, const float4x4 y) { return ::simd_mul(x, y); } - static SIMD_CPPFUNC float2x2& operator*=(float2x2& x, const float2x2 y) { x = ::simd_mul(x, y); return x; } - static SIMD_CPPFUNC float2x3& operator*=(float2x3& x, const float2x2 y) { x = ::simd_mul(x, y); return x; } - static SIMD_CPPFUNC float2x4& operator*=(float2x4& x, const float2x2 y) { x = ::simd_mul(x, y); return x; } - static SIMD_CPPFUNC float3x2& operator*=(float3x2& x, const float3x3 y) { x = ::simd_mul(x, y); return x; } - static SIMD_CPPFUNC float3x3& operator*=(float3x3& x, const float3x3 y) { x = ::simd_mul(x, y); return x; } - static SIMD_CPPFUNC float3x4& operator*=(float3x4& x, const float3x3 y) { x = ::simd_mul(x, y); return x; } - static SIMD_CPPFUNC float4x2& operator*=(float4x2& x, const float4x4 y) { x = ::simd_mul(x, y); return x; } - static SIMD_CPPFUNC float4x3& operator*=(float4x3& x, const float4x4 y) { x = ::simd_mul(x, y); return x; } - static SIMD_CPPFUNC float4x4& operator*=(float4x4& x, const float4x4 y) { x = ::simd_mul(x, y); return x; } - - static SIMD_CPPFUNC bool operator==(const float2x2& x, const float2x2& y) { return ::simd_equal(x, y); } - static SIMD_CPPFUNC bool operator==(const float2x3& x, const float2x3& y) { return ::simd_equal(x, y); } - static SIMD_CPPFUNC bool operator==(const float2x4& x, const float2x4& y) { return ::simd_equal(x, y); } - static SIMD_CPPFUNC bool operator==(const float3x2& x, const float3x2& y) { return ::simd_equal(x, y); } - static SIMD_CPPFUNC bool operator==(const float3x3& x, const float3x3& y) { return ::simd_equal(x, y); } - static SIMD_CPPFUNC bool operator==(const float3x4& x, const float3x4& y) { return ::simd_equal(x, y); } - static SIMD_CPPFUNC bool operator==(const float4x2& x, const float4x2& y) { return ::simd_equal(x, y); } - static SIMD_CPPFUNC bool operator==(const float4x3& x, const float4x3& y) { return ::simd_equal(x, y); } - static SIMD_CPPFUNC bool operator==(const float4x4& x, const float4x4& y) { return ::simd_equal(x, y); } - - static SIMD_CPPFUNC bool operator!=(const float2x2& x, const float2x2& y) { return !(x == y); } - static SIMD_CPPFUNC bool operator!=(const float2x3& x, const float2x3& y) { return !(x == y); } - static SIMD_CPPFUNC bool operator!=(const float2x4& x, const float2x4& y) { return !(x == y); } - static SIMD_CPPFUNC bool operator!=(const float3x2& x, const float3x2& y) { return !(x == y); } - static SIMD_CPPFUNC bool operator!=(const float3x3& x, const float3x3& y) { return !(x == y); } - static SIMD_CPPFUNC bool operator!=(const float3x4& x, const float3x4& y) { return !(x == y); } - static SIMD_CPPFUNC bool operator!=(const float4x2& x, const float4x2& y) { return !(x == y); } - static SIMD_CPPFUNC bool operator!=(const float4x3& x, const float4x3& y) { return !(x == y); } - static SIMD_CPPFUNC bool operator!=(const float4x4& x, const float4x4& y) { return !(x == y); } - - static SIMD_CPPFUNC bool almost_equal_elements(const float2x2 x, const float2x2 y, const float tol) { return ::simd_almost_equal_elements(x, y, tol); } - static SIMD_CPPFUNC bool almost_equal_elements(const float2x3 x, const float2x3 y, const float tol) { return ::simd_almost_equal_elements(x, y, tol); } - static SIMD_CPPFUNC bool almost_equal_elements(const float2x4 x, const float2x4 y, const float tol) { return ::simd_almost_equal_elements(x, y, tol); } - static SIMD_CPPFUNC bool almost_equal_elements(const float3x2 x, const float3x2 y, const float tol) { return ::simd_almost_equal_elements(x, y, tol); } - static SIMD_CPPFUNC bool almost_equal_elements(const float3x3 x, const float3x3 y, const float tol) { return ::simd_almost_equal_elements(x, y, tol); } - static SIMD_CPPFUNC bool almost_equal_elements(const float3x4 x, const float3x4 y, const float tol) { return ::simd_almost_equal_elements(x, y, tol); } - static SIMD_CPPFUNC bool almost_equal_elements(const float4x2 x, const float4x2 y, const float tol) { return ::simd_almost_equal_elements(x, y, tol); } - static SIMD_CPPFUNC bool almost_equal_elements(const float4x3 x, const float4x3 y, const float tol) { return ::simd_almost_equal_elements(x, y, tol); } - static SIMD_CPPFUNC bool almost_equal_elements(const float4x4 x, const float4x4 y, const float tol) { return ::simd_almost_equal_elements(x, y, tol); } - - static SIMD_CPPFUNC bool almost_equal_elements_relative(const float2x2 x, const float2x2 y, const float tol) { return ::simd_almost_equal_elements_relative(x, y, tol); } - static SIMD_CPPFUNC bool almost_equal_elements_relative(const float2x3 x, const float2x3 y, const float tol) { return ::simd_almost_equal_elements_relative(x, y, tol); } - static SIMD_CPPFUNC bool almost_equal_elements_relative(const float2x4 x, const float2x4 y, const float tol) { return ::simd_almost_equal_elements_relative(x, y, tol); } - static SIMD_CPPFUNC bool almost_equal_elements_relative(const float3x2 x, const float3x2 y, const float tol) { return ::simd_almost_equal_elements_relative(x, y, tol); } - static SIMD_CPPFUNC bool almost_equal_elements_relative(const float3x3 x, const float3x3 y, const float tol) { return ::simd_almost_equal_elements_relative(x, y, tol); } - static SIMD_CPPFUNC bool almost_equal_elements_relative(const float3x4 x, const float3x4 y, const float tol) { return ::simd_almost_equal_elements_relative(x, y, tol); } - static SIMD_CPPFUNC bool almost_equal_elements_relative(const float4x2 x, const float4x2 y, const float tol) { return ::simd_almost_equal_elements_relative(x, y, tol); } - static SIMD_CPPFUNC bool almost_equal_elements_relative(const float4x3 x, const float4x3 y, const float tol) { return ::simd_almost_equal_elements_relative(x, y, tol); } - static SIMD_CPPFUNC bool almost_equal_elements_relative(const float4x4 x, const float4x4 y, const float tol) { return ::simd_almost_equal_elements_relative(x, y, tol); } - - static SIMD_CPPFUNC double2x2 operator+(const double2x2 x, const double2x2 y) { return double2x2(::simd_linear_combination(1, x, 1, y)); } - static SIMD_CPPFUNC double2x3 operator+(const double2x3 x, const double2x3 y) { return double2x3(::simd_linear_combination(1, x, 1, y)); } - static SIMD_CPPFUNC double2x4 operator+(const double2x4 x, const double2x4 y) { return double2x4(::simd_linear_combination(1, x, 1, y)); } - static SIMD_CPPFUNC double3x2 operator+(const double3x2 x, const double3x2 y) { return double3x2(::simd_linear_combination(1, x, 1, y)); } - static SIMD_CPPFUNC double3x3 operator+(const double3x3 x, const double3x3 y) { return double3x3(::simd_linear_combination(1, x, 1, y)); } - static SIMD_CPPFUNC double3x4 operator+(const double3x4 x, const double3x4 y) { return double3x4(::simd_linear_combination(1, x, 1, y)); } - static SIMD_CPPFUNC double4x2 operator+(const double4x2 x, const double4x2 y) { return double4x2(::simd_linear_combination(1, x, 1, y)); } - static SIMD_CPPFUNC double4x3 operator+(const double4x3 x, const double4x3 y) { return double4x3(::simd_linear_combination(1, x, 1, y)); } - static SIMD_CPPFUNC double4x4 operator+(const double4x4 x, const double4x4 y) { return double4x4(::simd_linear_combination(1, x, 1, y)); } - - static SIMD_CPPFUNC double2x2 operator-(const double2x2 x, const double2x2 y) { return double2x2(::simd_linear_combination(1, x, -1, y)); } - static SIMD_CPPFUNC double2x3 operator-(const double2x3 x, const double2x3 y) { return double2x3(::simd_linear_combination(1, x, -1, y)); } - static SIMD_CPPFUNC double2x4 operator-(const double2x4 x, const double2x4 y) { return double2x4(::simd_linear_combination(1, x, -1, y)); } - static SIMD_CPPFUNC double3x2 operator-(const double3x2 x, const double3x2 y) { return double3x2(::simd_linear_combination(1, x, -1, y)); } - static SIMD_CPPFUNC double3x3 operator-(const double3x3 x, const double3x3 y) { return double3x3(::simd_linear_combination(1, x, -1, y)); } - static SIMD_CPPFUNC double3x4 operator-(const double3x4 x, const double3x4 y) { return double3x4(::simd_linear_combination(1, x, -1, y)); } - static SIMD_CPPFUNC double4x2 operator-(const double4x2 x, const double4x2 y) { return double4x2(::simd_linear_combination(1, x, -1, y)); } - static SIMD_CPPFUNC double4x3 operator-(const double4x3 x, const double4x3 y) { return double4x3(::simd_linear_combination(1, x, -1, y)); } - static SIMD_CPPFUNC double4x4 operator-(const double4x4 x, const double4x4 y) { return double4x4(::simd_linear_combination(1, x, -1, y)); } - - static SIMD_CPPFUNC double2x2& operator+=(double2x2& x, const double2x2 y) { x = x + y; return x; } - static SIMD_CPPFUNC double2x3& operator+=(double2x3& x, const double2x3 y) { x = x + y; return x; } - static SIMD_CPPFUNC double2x4& operator+=(double2x4& x, const double2x4 y) { x = x + y; return x; } - static SIMD_CPPFUNC double3x2& operator+=(double3x2& x, const double3x2 y) { x = x + y; return x; } - static SIMD_CPPFUNC double3x3& operator+=(double3x3& x, const double3x3 y) { x = x + y; return x; } - static SIMD_CPPFUNC double3x4& operator+=(double3x4& x, const double3x4 y) { x = x + y; return x; } - static SIMD_CPPFUNC double4x2& operator+=(double4x2& x, const double4x2 y) { x = x + y; return x; } - static SIMD_CPPFUNC double4x3& operator+=(double4x3& x, const double4x3 y) { x = x + y; return x; } - static SIMD_CPPFUNC double4x4& operator+=(double4x4& x, const double4x4 y) { x = x + y; return x; } - - static SIMD_CPPFUNC double2x2& operator-=(double2x2& x, const double2x2 y) { x = x - y; return x; } - static SIMD_CPPFUNC double2x3& operator-=(double2x3& x, const double2x3 y) { x = x - y; return x; } - static SIMD_CPPFUNC double2x4& operator-=(double2x4& x, const double2x4 y) { x = x - y; return x; } - static SIMD_CPPFUNC double3x2& operator-=(double3x2& x, const double3x2 y) { x = x - y; return x; } - static SIMD_CPPFUNC double3x3& operator-=(double3x3& x, const double3x3 y) { x = x - y; return x; } - static SIMD_CPPFUNC double3x4& operator-=(double3x4& x, const double3x4 y) { x = x - y; return x; } - static SIMD_CPPFUNC double4x2& operator-=(double4x2& x, const double4x2 y) { x = x - y; return x; } - static SIMD_CPPFUNC double4x3& operator-=(double4x3& x, const double4x3 y) { x = x - y; return x; } - static SIMD_CPPFUNC double4x4& operator-=(double4x4& x, const double4x4 y) { x = x - y; return x; } - - static SIMD_CPPFUNC double2x2 transpose(const double2x2 x) { return ::simd_transpose(x); } - static SIMD_CPPFUNC double2x3 transpose(const double3x2 x) { return ::simd_transpose(x); } - static SIMD_CPPFUNC double2x4 transpose(const double4x2 x) { return ::simd_transpose(x); } - static SIMD_CPPFUNC double3x2 transpose(const double2x3 x) { return ::simd_transpose(x); } - static SIMD_CPPFUNC double3x3 transpose(const double3x3 x) { return ::simd_transpose(x); } - static SIMD_CPPFUNC double3x4 transpose(const double4x3 x) { return ::simd_transpose(x); } - static SIMD_CPPFUNC double4x2 transpose(const double2x4 x) { return ::simd_transpose(x); } - static SIMD_CPPFUNC double4x3 transpose(const double3x4 x) { return ::simd_transpose(x); } - static SIMD_CPPFUNC double4x4 transpose(const double4x4 x) { return ::simd_transpose(x); } - - static SIMD_CPPFUNC double determinant(const double2x2 x) { return ::simd_determinant(x); } - static SIMD_CPPFUNC double determinant(const double3x3 x) { return ::simd_determinant(x); } - static SIMD_CPPFUNC double determinant(const double4x4 x) { return ::simd_determinant(x); } - -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wgcc-compat" - static SIMD_CPPFUNC double2x2 inverse(const double2x2 x) __API_AVAILABLE(macos(10.10), ios(8.0), watchos(2.0), tvos(9.0)) { return ::simd_inverse(x); } - static SIMD_CPPFUNC double3x3 inverse(const double3x3 x) __API_AVAILABLE(macos(10.10), ios(8.0), watchos(2.0), tvos(9.0)) { return ::simd_inverse(x); } - static SIMD_CPPFUNC double4x4 inverse(const double4x4 x) __API_AVAILABLE(macos(10.10), ios(8.0), watchos(2.0), tvos(9.0)) { return ::simd_inverse(x); } -#pragma clang diagnostic pop - - static SIMD_CPPFUNC double2x2 operator*(const double a, const double2x2 x) { return ::simd_mul(a, x); } - static SIMD_CPPFUNC double2x3 operator*(const double a, const double2x3 x) { return ::simd_mul(a, x); } - static SIMD_CPPFUNC double2x4 operator*(const double a, const double2x4 x) { return ::simd_mul(a, x); } - static SIMD_CPPFUNC double3x2 operator*(const double a, const double3x2 x) { return ::simd_mul(a, x); } - static SIMD_CPPFUNC double3x3 operator*(const double a, const double3x3 x) { return ::simd_mul(a, x); } - static SIMD_CPPFUNC double3x4 operator*(const double a, const double3x4 x) { return ::simd_mul(a, x); } - static SIMD_CPPFUNC double4x2 operator*(const double a, const double4x2 x) { return ::simd_mul(a, x); } - static SIMD_CPPFUNC double4x3 operator*(const double a, const double4x3 x) { return ::simd_mul(a, x); } - static SIMD_CPPFUNC double4x4 operator*(const double a, const double4x4 x) { return ::simd_mul(a, x); } - static SIMD_CPPFUNC double2x2 operator*(const double2x2 x, const double a) { return ::simd_mul(a, x); } - static SIMD_CPPFUNC double2x3 operator*(const double2x3 x, const double a) { return ::simd_mul(a, x); } - static SIMD_CPPFUNC double2x4 operator*(const double2x4 x, const double a) { return ::simd_mul(a, x); } - static SIMD_CPPFUNC double3x2 operator*(const double3x2 x, const double a) { return ::simd_mul(a, x); } - static SIMD_CPPFUNC double3x3 operator*(const double3x3 x, const double a) { return ::simd_mul(a, x); } - static SIMD_CPPFUNC double3x4 operator*(const double3x4 x, const double a) { return ::simd_mul(a, x); } - static SIMD_CPPFUNC double4x2 operator*(const double4x2 x, const double a) { return ::simd_mul(a, x); } - static SIMD_CPPFUNC double4x3 operator*(const double4x3 x, const double a) { return ::simd_mul(a, x); } - static SIMD_CPPFUNC double4x4 operator*(const double4x4 x, const double a) { return ::simd_mul(a, x); } - static SIMD_CPPFUNC double2x2& operator*=(double2x2& x, const double a) { x = ::simd_mul(a, x); return x; } - static SIMD_CPPFUNC double2x3& operator*=(double2x3& x, const double a) { x = ::simd_mul(a, x); return x; } - static SIMD_CPPFUNC double2x4& operator*=(double2x4& x, const double a) { x = ::simd_mul(a, x); return x; } - static SIMD_CPPFUNC double3x2& operator*=(double3x2& x, const double a) { x = ::simd_mul(a, x); return x; } - static SIMD_CPPFUNC double3x3& operator*=(double3x3& x, const double a) { x = ::simd_mul(a, x); return x; } - static SIMD_CPPFUNC double3x4& operator*=(double3x4& x, const double a) { x = ::simd_mul(a, x); return x; } - static SIMD_CPPFUNC double4x2& operator*=(double4x2& x, const double a) { x = ::simd_mul(a, x); return x; } - static SIMD_CPPFUNC double4x3& operator*=(double4x3& x, const double a) { x = ::simd_mul(a, x); return x; } - static SIMD_CPPFUNC double4x4& operator*=(double4x4& x, const double a) { x = ::simd_mul(a, x); return x; } - - static SIMD_CPPFUNC double2 operator*(const double2 x, const double2x2 y) { return ::simd_mul(x, y); } - static SIMD_CPPFUNC double3 operator*(const double2 x, const double3x2 y) { return ::simd_mul(x, y); } - static SIMD_CPPFUNC double4 operator*(const double2 x, const double4x2 y) { return ::simd_mul(x, y); } - static SIMD_CPPFUNC double2 operator*(const double3 x, const double2x3 y) { return ::simd_mul(x, y); } - static SIMD_CPPFUNC double3 operator*(const double3 x, const double3x3 y) { return ::simd_mul(x, y); } - static SIMD_CPPFUNC double4 operator*(const double3 x, const double4x3 y) { return ::simd_mul(x, y); } - static SIMD_CPPFUNC double2 operator*(const double4 x, const double2x4 y) { return ::simd_mul(x, y); } - static SIMD_CPPFUNC double3 operator*(const double4 x, const double3x4 y) { return ::simd_mul(x, y); } - static SIMD_CPPFUNC double4 operator*(const double4 x, const double4x4 y) { return ::simd_mul(x, y); } - static SIMD_CPPFUNC double2 operator*(const double2x2 x, const double2 y) { return ::simd_mul(x, y); } - static SIMD_CPPFUNC double2 operator*(const double3x2 x, const double3 y) { return ::simd_mul(x, y); } - static SIMD_CPPFUNC double2 operator*(const double4x2 x, const double4 y) { return ::simd_mul(x, y); } - static SIMD_CPPFUNC double3 operator*(const double2x3 x, const double2 y) { return ::simd_mul(x, y); } - static SIMD_CPPFUNC double3 operator*(const double3x3 x, const double3 y) { return ::simd_mul(x, y); } - static SIMD_CPPFUNC double3 operator*(const double4x3 x, const double4 y) { return ::simd_mul(x, y); } - static SIMD_CPPFUNC double4 operator*(const double2x4 x, const double2 y) { return ::simd_mul(x, y); } - static SIMD_CPPFUNC double4 operator*(const double3x4 x, const double3 y) { return ::simd_mul(x, y); } - static SIMD_CPPFUNC double4 operator*(const double4x4 x, const double4 y) { return ::simd_mul(x, y); } - static SIMD_CPPFUNC double2& operator*=(double2& x, const double2x2 y) { x = ::simd_mul(x, y); return x; } - static SIMD_CPPFUNC double3& operator*=(double3& x, const double3x3 y) { x = ::simd_mul(x, y); return x; } - static SIMD_CPPFUNC double4& operator*=(double4& x, const double4x4 y) { x = ::simd_mul(x, y); return x; } - - static SIMD_CPPFUNC double2x2 operator*(const double2x2 x, const double2x2 y) { return ::simd_mul(x, y); } - static SIMD_CPPFUNC double3x2 operator*(const double2x2 x, const double3x2 y) { return ::simd_mul(x, y); } - static SIMD_CPPFUNC double4x2 operator*(const double2x2 x, const double4x2 y) { return ::simd_mul(x, y); } - static SIMD_CPPFUNC double2x3 operator*(const double2x3 x, const double2x2 y) { return ::simd_mul(x, y); } - static SIMD_CPPFUNC double3x3 operator*(const double2x3 x, const double3x2 y) { return ::simd_mul(x, y); } - static SIMD_CPPFUNC double4x3 operator*(const double2x3 x, const double4x2 y) { return ::simd_mul(x, y); } - static SIMD_CPPFUNC double2x4 operator*(const double2x4 x, const double2x2 y) { return ::simd_mul(x, y); } - static SIMD_CPPFUNC double3x4 operator*(const double2x4 x, const double3x2 y) { return ::simd_mul(x, y); } - static SIMD_CPPFUNC double4x4 operator*(const double2x4 x, const double4x2 y) { return ::simd_mul(x, y); } - static SIMD_CPPFUNC double2x2 operator*(const double3x2 x, const double2x3 y) { return ::simd_mul(x, y); } - static SIMD_CPPFUNC double3x2 operator*(const double3x2 x, const double3x3 y) { return ::simd_mul(x, y); } - static SIMD_CPPFUNC double4x2 operator*(const double3x2 x, const double4x3 y) { return ::simd_mul(x, y); } - static SIMD_CPPFUNC double2x3 operator*(const double3x3 x, const double2x3 y) { return ::simd_mul(x, y); } - static SIMD_CPPFUNC double3x3 operator*(const double3x3 x, const double3x3 y) { return ::simd_mul(x, y); } - static SIMD_CPPFUNC double4x3 operator*(const double3x3 x, const double4x3 y) { return ::simd_mul(x, y); } - static SIMD_CPPFUNC double2x4 operator*(const double3x4 x, const double2x3 y) { return ::simd_mul(x, y); } - static SIMD_CPPFUNC double3x4 operator*(const double3x4 x, const double3x3 y) { return ::simd_mul(x, y); } - static SIMD_CPPFUNC double4x4 operator*(const double3x4 x, const double4x3 y) { return ::simd_mul(x, y); } - static SIMD_CPPFUNC double2x2 operator*(const double4x2 x, const double2x4 y) { return ::simd_mul(x, y); } - static SIMD_CPPFUNC double3x2 operator*(const double4x2 x, const double3x4 y) { return ::simd_mul(x, y); } - static SIMD_CPPFUNC double4x2 operator*(const double4x2 x, const double4x4 y) { return ::simd_mul(x, y); } - static SIMD_CPPFUNC double2x3 operator*(const double4x3 x, const double2x4 y) { return ::simd_mul(x, y); } - static SIMD_CPPFUNC double3x3 operator*(const double4x3 x, const double3x4 y) { return ::simd_mul(x, y); } - static SIMD_CPPFUNC double4x3 operator*(const double4x3 x, const double4x4 y) { return ::simd_mul(x, y); } - static SIMD_CPPFUNC double2x4 operator*(const double4x4 x, const double2x4 y) { return ::simd_mul(x, y); } - static SIMD_CPPFUNC double3x4 operator*(const double4x4 x, const double3x4 y) { return ::simd_mul(x, y); } - static SIMD_CPPFUNC double4x4 operator*(const double4x4 x, const double4x4 y) { return ::simd_mul(x, y); } - static SIMD_CPPFUNC double2x2& operator*=(double2x2& x, const double2x2 y) { x = ::simd_mul(x, y); return x; } - static SIMD_CPPFUNC double2x3& operator*=(double2x3& x, const double2x2 y) { x = ::simd_mul(x, y); return x; } - static SIMD_CPPFUNC double2x4& operator*=(double2x4& x, const double2x2 y) { x = ::simd_mul(x, y); return x; } - static SIMD_CPPFUNC double3x2& operator*=(double3x2& x, const double3x3 y) { x = ::simd_mul(x, y); return x; } - static SIMD_CPPFUNC double3x3& operator*=(double3x3& x, const double3x3 y) { x = ::simd_mul(x, y); return x; } - static SIMD_CPPFUNC double3x4& operator*=(double3x4& x, const double3x3 y) { x = ::simd_mul(x, y); return x; } - static SIMD_CPPFUNC double4x2& operator*=(double4x2& x, const double4x4 y) { x = ::simd_mul(x, y); return x; } - static SIMD_CPPFUNC double4x3& operator*=(double4x3& x, const double4x4 y) { x = ::simd_mul(x, y); return x; } - static SIMD_CPPFUNC double4x4& operator*=(double4x4& x, const double4x4 y) { x = ::simd_mul(x, y); return x; } - - static SIMD_CPPFUNC bool operator==(const double2x2& x, const double2x2& y) { return ::simd_equal(x, y); } - static SIMD_CPPFUNC bool operator==(const double2x3& x, const double2x3& y) { return ::simd_equal(x, y); } - static SIMD_CPPFUNC bool operator==(const double2x4& x, const double2x4& y) { return ::simd_equal(x, y); } - static SIMD_CPPFUNC bool operator==(const double3x2& x, const double3x2& y) { return ::simd_equal(x, y); } - static SIMD_CPPFUNC bool operator==(const double3x3& x, const double3x3& y) { return ::simd_equal(x, y); } - static SIMD_CPPFUNC bool operator==(const double3x4& x, const double3x4& y) { return ::simd_equal(x, y); } - static SIMD_CPPFUNC bool operator==(const double4x2& x, const double4x2& y) { return ::simd_equal(x, y); } - static SIMD_CPPFUNC bool operator==(const double4x3& x, const double4x3& y) { return ::simd_equal(x, y); } - static SIMD_CPPFUNC bool operator==(const double4x4& x, const double4x4& y) { return ::simd_equal(x, y); } - - static SIMD_CPPFUNC bool operator!=(const double2x2& x, const double2x2& y) { return !(x == y); } - static SIMD_CPPFUNC bool operator!=(const double2x3& x, const double2x3& y) { return !(x == y); } - static SIMD_CPPFUNC bool operator!=(const double2x4& x, const double2x4& y) { return !(x == y); } - static SIMD_CPPFUNC bool operator!=(const double3x2& x, const double3x2& y) { return !(x == y); } - static SIMD_CPPFUNC bool operator!=(const double3x3& x, const double3x3& y) { return !(x == y); } - static SIMD_CPPFUNC bool operator!=(const double3x4& x, const double3x4& y) { return !(x == y); } - static SIMD_CPPFUNC bool operator!=(const double4x2& x, const double4x2& y) { return !(x == y); } - static SIMD_CPPFUNC bool operator!=(const double4x3& x, const double4x3& y) { return !(x == y); } - static SIMD_CPPFUNC bool operator!=(const double4x4& x, const double4x4& y) { return !(x == y); } - - static SIMD_CPPFUNC bool almost_equal_elements(const double2x2 x, const double2x2 y, const double tol) { return ::simd_almost_equal_elements(x, y, tol); } - static SIMD_CPPFUNC bool almost_equal_elements(const double2x3 x, const double2x3 y, const double tol) { return ::simd_almost_equal_elements(x, y, tol); } - static SIMD_CPPFUNC bool almost_equal_elements(const double2x4 x, const double2x4 y, const double tol) { return ::simd_almost_equal_elements(x, y, tol); } - static SIMD_CPPFUNC bool almost_equal_elements(const double3x2 x, const double3x2 y, const double tol) { return ::simd_almost_equal_elements(x, y, tol); } - static SIMD_CPPFUNC bool almost_equal_elements(const double3x3 x, const double3x3 y, const double tol) { return ::simd_almost_equal_elements(x, y, tol); } - static SIMD_CPPFUNC bool almost_equal_elements(const double3x4 x, const double3x4 y, const double tol) { return ::simd_almost_equal_elements(x, y, tol); } - static SIMD_CPPFUNC bool almost_equal_elements(const double4x2 x, const double4x2 y, const double tol) { return ::simd_almost_equal_elements(x, y, tol); } - static SIMD_CPPFUNC bool almost_equal_elements(const double4x3 x, const double4x3 y, const double tol) { return ::simd_almost_equal_elements(x, y, tol); } - static SIMD_CPPFUNC bool almost_equal_elements(const double4x4 x, const double4x4 y, const double tol) { return ::simd_almost_equal_elements(x, y, tol); } - - static SIMD_CPPFUNC bool almost_equal_elements_relative(const double2x2 x, const double2x2 y, const double tol) { return ::simd_almost_equal_elements_relative(x, y, tol); } - static SIMD_CPPFUNC bool almost_equal_elements_relative(const double2x3 x, const double2x3 y, const double tol) { return ::simd_almost_equal_elements_relative(x, y, tol); } - static SIMD_CPPFUNC bool almost_equal_elements_relative(const double2x4 x, const double2x4 y, const double tol) { return ::simd_almost_equal_elements_relative(x, y, tol); } - static SIMD_CPPFUNC bool almost_equal_elements_relative(const double3x2 x, const double3x2 y, const double tol) { return ::simd_almost_equal_elements_relative(x, y, tol); } - static SIMD_CPPFUNC bool almost_equal_elements_relative(const double3x3 x, const double3x3 y, const double tol) { return ::simd_almost_equal_elements_relative(x, y, tol); } - static SIMD_CPPFUNC bool almost_equal_elements_relative(const double3x4 x, const double3x4 y, const double tol) { return ::simd_almost_equal_elements_relative(x, y, tol); } - static SIMD_CPPFUNC bool almost_equal_elements_relative(const double4x2 x, const double4x2 y, const double tol) { return ::simd_almost_equal_elements_relative(x, y, tol); } - static SIMD_CPPFUNC bool almost_equal_elements_relative(const double4x3 x, const double4x3 y, const double tol) { return ::simd_almost_equal_elements_relative(x, y, tol); } - static SIMD_CPPFUNC bool almost_equal_elements_relative(const double4x4 x, const double4x4 y, const double tol) { return ::simd_almost_equal_elements_relative(x, y, tol); } -} - -extern "C" { -#endif /* __cplusplus */ - -#pragma mark - Implementation - -static simd_float2x2 SIMD_CFUNC simd_diagonal_matrix(simd_float2 __x) { simd_float2x2 __r = { .columns[0] = {__x.x,0}, .columns[1] = {0,__x.y} }; return __r; } -static simd_double2x2 SIMD_CFUNC simd_diagonal_matrix(simd_double2 __x) { simd_double2x2 __r = { .columns[0] = {__x.x,0}, .columns[1] = {0,__x.y} }; return __r; } -static simd_float3x3 SIMD_CFUNC simd_diagonal_matrix(simd_float3 __x) { simd_float3x3 __r = { .columns[0] = {__x.x,0,0}, .columns[1] = {0,__x.y,0}, .columns[2] = {0,0,__x.z} }; return __r; } -static simd_double3x3 SIMD_CFUNC simd_diagonal_matrix(simd_double3 __x) { simd_double3x3 __r = { .columns[0] = {__x.x,0,0}, .columns[1] = {0,__x.y,0}, .columns[2] = {0,0,__x.z} }; return __r; } -static simd_float4x4 SIMD_CFUNC simd_diagonal_matrix(simd_float4 __x) { simd_float4x4 __r = { .columns[0] = {__x.x,0,0,0}, .columns[1] = {0,__x.y,0,0}, .columns[2] = {0,0,__x.z,0}, .columns[3] = {0,0,0,__x.w} }; return __r; } -static simd_double4x4 SIMD_CFUNC simd_diagonal_matrix(simd_double4 __x) { simd_double4x4 __r = { .columns[0] = {__x.x,0,0,0}, .columns[1] = {0,__x.y,0,0}, .columns[2] = {0,0,__x.z,0}, .columns[3] = {0,0,0,__x.w} }; return __r; } - -static simd_float2x2 SIMD_CFUNC simd_matrix(simd_float2 col0, simd_float2 col1) { simd_float2x2 __r = { .columns[0] = col0, .columns[1] = col1 }; return __r; } -static simd_float2x3 SIMD_CFUNC simd_matrix(simd_float3 col0, simd_float3 col1) { simd_float2x3 __r = { .columns[0] = col0, .columns[1] = col1 }; return __r; } -static simd_float2x4 SIMD_CFUNC simd_matrix(simd_float4 col0, simd_float4 col1) { simd_float2x4 __r = { .columns[0] = col0, .columns[1] = col1 }; return __r; } -static simd_double2x2 SIMD_CFUNC simd_matrix(simd_double2 col0, simd_double2 col1) { simd_double2x2 __r = { .columns[0] = col0, .columns[1] = col1 }; return __r; } -static simd_double2x3 SIMD_CFUNC simd_matrix(simd_double3 col0, simd_double3 col1) { simd_double2x3 __r = { .columns[0] = col0, .columns[1] = col1 }; return __r; } -static simd_double2x4 SIMD_CFUNC simd_matrix(simd_double4 col0, simd_double4 col1) { simd_double2x4 __r = { .columns[0] = col0, .columns[1] = col1 }; return __r; } -static simd_float3x2 SIMD_CFUNC simd_matrix(simd_float2 col0, simd_float2 col1, simd_float2 col2) { simd_float3x2 __r = { .columns[0] = col0, .columns[1] = col1, .columns[2] = col2 }; return __r; } -static simd_float3x3 SIMD_CFUNC simd_matrix(simd_float3 col0, simd_float3 col1, simd_float3 col2) { simd_float3x3 __r = { .columns[0] = col0, .columns[1] = col1, .columns[2] = col2 }; return __r; } -static simd_float3x4 SIMD_CFUNC simd_matrix(simd_float4 col0, simd_float4 col1, simd_float4 col2) { simd_float3x4 __r = { .columns[0] = col0, .columns[1] = col1, .columns[2] = col2 }; return __r; } -static simd_double3x2 SIMD_CFUNC simd_matrix(simd_double2 col0, simd_double2 col1, simd_double2 col2) { simd_double3x2 __r = { .columns[0] = col0, .columns[1] = col1, .columns[2] = col2 }; return __r; } -static simd_double3x3 SIMD_CFUNC simd_matrix(simd_double3 col0, simd_double3 col1, simd_double3 col2) { simd_double3x3 __r = { .columns[0] = col0, .columns[1] = col1, .columns[2] = col2 }; return __r; } -static simd_double3x4 SIMD_CFUNC simd_matrix(simd_double4 col0, simd_double4 col1, simd_double4 col2) { simd_double3x4 __r = { .columns[0] = col0, .columns[1] = col1, .columns[2] = col2 }; return __r; } -static simd_float4x2 SIMD_CFUNC simd_matrix(simd_float2 col0, simd_float2 col1, simd_float2 col2, simd_float2 col3) { simd_float4x2 __r = { .columns[0] = col0, .columns[1] = col1, .columns[2] = col2, .columns[3] = col3 }; return __r; } -static simd_float4x3 SIMD_CFUNC simd_matrix(simd_float3 col0, simd_float3 col1, simd_float3 col2, simd_float3 col3) { simd_float4x3 __r = { .columns[0] = col0, .columns[1] = col1, .columns[2] = col2, .columns[3] = col3 }; return __r; } -static simd_float4x4 SIMD_CFUNC simd_matrix(simd_float4 col0, simd_float4 col1, simd_float4 col2, simd_float4 col3) { simd_float4x4 __r = { .columns[0] = col0, .columns[1] = col1, .columns[2] = col2, .columns[3] = col3 }; return __r; } -static simd_double4x2 SIMD_CFUNC simd_matrix(simd_double2 col0, simd_double2 col1, simd_double2 col2, simd_double2 col3) { simd_double4x2 __r = { .columns[0] = col0, .columns[1] = col1, .columns[2] = col2, .columns[3] = col3 }; return __r; } -static simd_double4x3 SIMD_CFUNC simd_matrix(simd_double3 col0, simd_double3 col1, simd_double3 col2, simd_double3 col3) { simd_double4x3 __r = { .columns[0] = col0, .columns[1] = col1, .columns[2] = col2, .columns[3] = col3 }; return __r; } -static simd_double4x4 SIMD_CFUNC simd_matrix(simd_double4 col0, simd_double4 col1, simd_double4 col2, simd_double4 col3) { simd_double4x4 __r = { .columns[0] = col0, .columns[1] = col1, .columns[2] = col2, .columns[3] = col3 }; return __r; } - -static simd_float2x2 SIMD_CFUNC simd_matrix_from_rows(simd_float2 row0, simd_float2 row1) { return simd_transpose(simd_matrix(row0, row1)); } -static simd_float3x2 SIMD_CFUNC simd_matrix_from_rows(simd_float3 row0, simd_float3 row1) { return simd_transpose(simd_matrix(row0, row1)); } -static simd_float4x2 SIMD_CFUNC simd_matrix_from_rows(simd_float4 row0, simd_float4 row1) { return simd_transpose(simd_matrix(row0, row1)); } -static simd_double2x2 SIMD_CFUNC simd_matrix_from_rows(simd_double2 row0, simd_double2 row1) { return simd_transpose(simd_matrix(row0, row1)); } -static simd_double3x2 SIMD_CFUNC simd_matrix_from_rows(simd_double3 row0, simd_double3 row1) { return simd_transpose(simd_matrix(row0, row1)); } -static simd_double4x2 SIMD_CFUNC simd_matrix_from_rows(simd_double4 row0, simd_double4 row1) { return simd_transpose(simd_matrix(row0, row1)); } -static simd_float2x3 SIMD_CFUNC simd_matrix_from_rows(simd_float2 row0, simd_float2 row1, simd_float2 row2) { return simd_transpose(simd_matrix(row0, row1, row2)); } -static simd_float3x3 SIMD_CFUNC simd_matrix_from_rows(simd_float3 row0, simd_float3 row1, simd_float3 row2) { return simd_transpose(simd_matrix(row0, row1, row2)); } -static simd_float4x3 SIMD_CFUNC simd_matrix_from_rows(simd_float4 row0, simd_float4 row1, simd_float4 row2) { return simd_transpose(simd_matrix(row0, row1, row2)); } -static simd_double2x3 SIMD_CFUNC simd_matrix_from_rows(simd_double2 row0, simd_double2 row1, simd_double2 row2) { return simd_transpose(simd_matrix(row0, row1, row2)); } -static simd_double3x3 SIMD_CFUNC simd_matrix_from_rows(simd_double3 row0, simd_double3 row1, simd_double3 row2) { return simd_transpose(simd_matrix(row0, row1, row2)); } -static simd_double4x3 SIMD_CFUNC simd_matrix_from_rows(simd_double4 row0, simd_double4 row1, simd_double4 row2) { return simd_transpose(simd_matrix(row0, row1, row2)); } -static simd_float2x4 SIMD_CFUNC simd_matrix_from_rows(simd_float2 row0, simd_float2 row1, simd_float2 row2, simd_float2 row3) { return simd_transpose(simd_matrix(row0, row1, row2, row3)); } -static simd_float3x4 SIMD_CFUNC simd_matrix_from_rows(simd_float3 row0, simd_float3 row1, simd_float3 row2, simd_float3 row3) { return simd_transpose(simd_matrix(row0, row1, row2, row3)); } -static simd_float4x4 SIMD_CFUNC simd_matrix_from_rows(simd_float4 row0, simd_float4 row1, simd_float4 row2, simd_float4 row3) { return simd_transpose(simd_matrix(row0, row1, row2, row3)); } -static simd_double2x4 SIMD_CFUNC simd_matrix_from_rows(simd_double2 row0, simd_double2 row1, simd_double2 row2, simd_double2 row3) { return simd_transpose(simd_matrix(row0, row1, row2, row3)); } -static simd_double3x4 SIMD_CFUNC simd_matrix_from_rows(simd_double3 row0, simd_double3 row1, simd_double3 row2, simd_double3 row3) { return simd_transpose(simd_matrix(row0, row1, row2, row3)); } -static simd_double4x4 SIMD_CFUNC simd_matrix_from_rows(simd_double4 row0, simd_double4 row1, simd_double4 row2, simd_double4 row3) { return simd_transpose(simd_matrix(row0, row1, row2, row3)); } - -static simd_float3x3 SIMD_NOINLINE simd_matrix3x3(simd_quatf q) { - simd_float4x4 r = simd_matrix4x4(q); - return (simd_float3x3){ r.columns[0].xyz, r.columns[1].xyz, r.columns[2].xyz }; -} - -static simd_float4x4 SIMD_NOINLINE simd_matrix4x4(simd_quatf q) { - simd_float4 v = q.vector; - simd_float4x4 r = { - .columns[0] = { 1 - 2*(v.y*v.y + v.z*v.z), - 2*(v.x*v.y + v.z*v.w), - 2*(v.x*v.z - v.y*v.w), 0 }, - .columns[1] = { 2*(v.x*v.y - v.z*v.w), - 1 - 2*(v.z*v.z + v.x*v.x), - 2*(v.y*v.z + v.x*v.w), 0 }, - .columns[2] = { 2*(v.z*v.x + v.y*v.w), - 2*(v.y*v.z - v.x*v.w), - 1 - 2*(v.y*v.y + v.x*v.x), 0 }, - .columns[3] = { 0, 0, 0, 1 } - }; - return r; -} - -static simd_double3x3 SIMD_NOINLINE simd_matrix3x3(simd_quatd q) { - simd_double4x4 r = simd_matrix4x4(q); - return (simd_double3x3){ r.columns[0].xyz, r.columns[1].xyz, r.columns[2].xyz }; -} - -static simd_double4x4 SIMD_NOINLINE simd_matrix4x4(simd_quatd q) { - simd_double4 v = q.vector; - simd_double4x4 r = { - .columns[0] = { 1 - 2*(v.y*v.y + v.z*v.z), - 2*(v.x*v.y + v.z*v.w), - 2*(v.x*v.z - v.y*v.w), 0 }, - .columns[1] = { 2*(v.x*v.y - v.z*v.w), - 1 - 2*(v.z*v.z + v.x*v.x), - 2*(v.y*v.z + v.x*v.w), 0 }, - .columns[2] = { 2*(v.z*v.x + v.y*v.w), - 2*(v.y*v.z - v.x*v.w), - 1 - 2*(v.y*v.y + v.x*v.x), 0 }, - .columns[3] = { 0, 0, 0, 1 } - }; - return r; -} - -static simd_float2x2 SIMD_CFUNC matrix_scale(float __a, simd_float2x2 __x) { __x.columns[0] *= __a; __x.columns[1] *= __a; return __x; } -static simd_float3x2 SIMD_CFUNC matrix_scale(float __a, simd_float3x2 __x) { __x.columns[0] *= __a; __x.columns[1] *= __a; __x.columns[2] *= __a; return __x; } -static simd_float4x2 SIMD_CFUNC matrix_scale(float __a, simd_float4x2 __x) { __x.columns[0] *= __a; __x.columns[1] *= __a; __x.columns[2] *= __a; __x.columns[3] *= __a; return __x; } -static simd_float2x3 SIMD_CFUNC matrix_scale(float __a, simd_float2x3 __x) { __x.columns[0] *= __a; __x.columns[1] *= __a; return __x; } -static simd_float3x3 SIMD_CFUNC matrix_scale(float __a, simd_float3x3 __x) { __x.columns[0] *= __a; __x.columns[1] *= __a; __x.columns[2] *= __a; return __x; } -static simd_float4x3 SIMD_CFUNC matrix_scale(float __a, simd_float4x3 __x) { __x.columns[0] *= __a; __x.columns[1] *= __a; __x.columns[2] *= __a; __x.columns[3] *= __a; return __x; } -static simd_float2x4 SIMD_CFUNC matrix_scale(float __a, simd_float2x4 __x) { __x.columns[0] *= __a; __x.columns[1] *= __a; return __x; } -static simd_float3x4 SIMD_CFUNC matrix_scale(float __a, simd_float3x4 __x) { __x.columns[0] *= __a; __x.columns[1] *= __a; __x.columns[2] *= __a; return __x; } -static simd_float4x4 SIMD_CFUNC matrix_scale(float __a, simd_float4x4 __x) { __x.columns[0] *= __a; __x.columns[1] *= __a; __x.columns[2] *= __a; __x.columns[3] *= __a; return __x; } -static simd_double2x2 SIMD_CFUNC matrix_scale(double __a, simd_double2x2 __x) { __x.columns[0] *= __a; __x.columns[1] *= __a; return __x; } -static simd_double3x2 SIMD_CFUNC matrix_scale(double __a, simd_double3x2 __x) { __x.columns[0] *= __a; __x.columns[1] *= __a; __x.columns[2] *= __a; return __x; } -static simd_double4x2 SIMD_CFUNC matrix_scale(double __a, simd_double4x2 __x) { __x.columns[0] *= __a; __x.columns[1] *= __a; __x.columns[2] *= __a; __x.columns[3] *= __a; return __x; } -static simd_double2x3 SIMD_CFUNC matrix_scale(double __a, simd_double2x3 __x) { __x.columns[0] *= __a; __x.columns[1] *= __a; return __x; } -static simd_double3x3 SIMD_CFUNC matrix_scale(double __a, simd_double3x3 __x) { __x.columns[0] *= __a; __x.columns[1] *= __a; __x.columns[2] *= __a; return __x; } -static simd_double4x3 SIMD_CFUNC matrix_scale(double __a, simd_double4x3 __x) { __x.columns[0] *= __a; __x.columns[1] *= __a; __x.columns[2] *= __a; __x.columns[3] *= __a; return __x; } -static simd_double2x4 SIMD_CFUNC matrix_scale(double __a, simd_double2x4 __x) { __x.columns[0] *= __a; __x.columns[1] *= __a; return __x; } -static simd_double3x4 SIMD_CFUNC matrix_scale(double __a, simd_double3x4 __x) { __x.columns[0] *= __a; __x.columns[1] *= __a; __x.columns[2] *= __a; return __x; } -static simd_double4x4 SIMD_CFUNC matrix_scale(double __a, simd_double4x4 __x) { __x.columns[0] *= __a; __x.columns[1] *= __a; __x.columns[2] *= __a; __x.columns[3] *= __a; return __x; } - -static simd_float2x2 SIMD_CFUNC simd_mul(float __a, simd_float2x2 __x) { __x.columns[0] *= __a; __x.columns[1] *= __a; return __x; } -static simd_float3x2 SIMD_CFUNC simd_mul(float __a, simd_float3x2 __x) { __x.columns[0] *= __a; __x.columns[1] *= __a; __x.columns[2] *= __a; return __x; } -static simd_float4x2 SIMD_CFUNC simd_mul(float __a, simd_float4x2 __x) { __x.columns[0] *= __a; __x.columns[1] *= __a; __x.columns[2] *= __a; __x.columns[3] *= __a; return __x; } -static simd_float2x3 SIMD_CFUNC simd_mul(float __a, simd_float2x3 __x) { __x.columns[0] *= __a; __x.columns[1] *= __a; return __x; } -static simd_float3x3 SIMD_CFUNC simd_mul(float __a, simd_float3x3 __x) { __x.columns[0] *= __a; __x.columns[1] *= __a; __x.columns[2] *= __a; return __x; } -static simd_float4x3 SIMD_CFUNC simd_mul(float __a, simd_float4x3 __x) { __x.columns[0] *= __a; __x.columns[1] *= __a; __x.columns[2] *= __a; __x.columns[3] *= __a; return __x; } -static simd_float2x4 SIMD_CFUNC simd_mul(float __a, simd_float2x4 __x) { __x.columns[0] *= __a; __x.columns[1] *= __a; return __x; } -static simd_float3x4 SIMD_CFUNC simd_mul(float __a, simd_float3x4 __x) { __x.columns[0] *= __a; __x.columns[1] *= __a; __x.columns[2] *= __a; return __x; } -static simd_float4x4 SIMD_CFUNC simd_mul(float __a, simd_float4x4 __x) { __x.columns[0] *= __a; __x.columns[1] *= __a; __x.columns[2] *= __a; __x.columns[3] *= __a; return __x; } -static simd_double2x2 SIMD_CFUNC simd_mul(double __a, simd_double2x2 __x) { __x.columns[0] *= __a; __x.columns[1] *= __a; return __x; } -static simd_double3x2 SIMD_CFUNC simd_mul(double __a, simd_double3x2 __x) { __x.columns[0] *= __a; __x.columns[1] *= __a; __x.columns[2] *= __a; return __x; } -static simd_double4x2 SIMD_CFUNC simd_mul(double __a, simd_double4x2 __x) { __x.columns[0] *= __a; __x.columns[1] *= __a; __x.columns[2] *= __a; __x.columns[3] *= __a; return __x; } -static simd_double2x3 SIMD_CFUNC simd_mul(double __a, simd_double2x3 __x) { __x.columns[0] *= __a; __x.columns[1] *= __a; return __x; } -static simd_double3x3 SIMD_CFUNC simd_mul(double __a, simd_double3x3 __x) { __x.columns[0] *= __a; __x.columns[1] *= __a; __x.columns[2] *= __a; return __x; } -static simd_double4x3 SIMD_CFUNC simd_mul(double __a, simd_double4x3 __x) { __x.columns[0] *= __a; __x.columns[1] *= __a; __x.columns[2] *= __a; __x.columns[3] *= __a; return __x; } -static simd_double2x4 SIMD_CFUNC simd_mul(double __a, simd_double2x4 __x) { __x.columns[0] *= __a; __x.columns[1] *= __a; return __x; } -static simd_double3x4 SIMD_CFUNC simd_mul(double __a, simd_double3x4 __x) { __x.columns[0] *= __a; __x.columns[1] *= __a; __x.columns[2] *= __a; return __x; } -static simd_double4x4 SIMD_CFUNC simd_mul(double __a, simd_double4x4 __x) { __x.columns[0] *= __a; __x.columns[1] *= __a; __x.columns[2] *= __a; __x.columns[3] *= __a; return __x; } - -static simd_float2x2 SIMD_CFUNC simd_linear_combination(float __a, simd_float2x2 __x, float __b, simd_float2x2 __y) { - __x.columns[0] = __a*__x.columns[0] + __b*__y.columns[0]; - __x.columns[1] = __a*__x.columns[1] + __b*__y.columns[1]; - return __x; -} -static simd_float3x2 SIMD_CFUNC simd_linear_combination(float __a, simd_float3x2 __x, float __b, simd_float3x2 __y) { - __x.columns[0] = __a*__x.columns[0] + __b*__y.columns[0]; - __x.columns[1] = __a*__x.columns[1] + __b*__y.columns[1]; - __x.columns[2] = __a*__x.columns[2] + __b*__y.columns[2]; - return __x; -} -static simd_float4x2 SIMD_CFUNC simd_linear_combination(float __a, simd_float4x2 __x, float __b, simd_float4x2 __y) { - __x.columns[0] = __a*__x.columns[0] + __b*__y.columns[0]; - __x.columns[1] = __a*__x.columns[1] + __b*__y.columns[1]; - __x.columns[2] = __a*__x.columns[2] + __b*__y.columns[2]; - __x.columns[3] = __a*__x.columns[3] + __b*__y.columns[3]; - return __x; -} -static simd_float2x3 SIMD_CFUNC simd_linear_combination(float __a, simd_float2x3 __x, float __b, simd_float2x3 __y) { - __x.columns[0] = __a*__x.columns[0] + __b*__y.columns[0]; - __x.columns[1] = __a*__x.columns[1] + __b*__y.columns[1]; - return __x; -} -static simd_float3x3 SIMD_CFUNC simd_linear_combination(float __a, simd_float3x3 __x, float __b, simd_float3x3 __y) { - __x.columns[0] = __a*__x.columns[0] + __b*__y.columns[0]; - __x.columns[1] = __a*__x.columns[1] + __b*__y.columns[1]; - __x.columns[2] = __a*__x.columns[2] + __b*__y.columns[2]; - return __x; -} -static simd_float4x3 SIMD_CFUNC simd_linear_combination(float __a, simd_float4x3 __x, float __b, simd_float4x3 __y) { - __x.columns[0] = __a*__x.columns[0] + __b*__y.columns[0]; - __x.columns[1] = __a*__x.columns[1] + __b*__y.columns[1]; - __x.columns[2] = __a*__x.columns[2] + __b*__y.columns[2]; - __x.columns[3] = __a*__x.columns[3] + __b*__y.columns[3]; - return __x; -} -static simd_float2x4 SIMD_CFUNC simd_linear_combination(float __a, simd_float2x4 __x, float __b, simd_float2x4 __y) { - __x.columns[0] = __a*__x.columns[0] + __b*__y.columns[0]; - __x.columns[1] = __a*__x.columns[1] + __b*__y.columns[1]; - return __x; -} -static simd_float3x4 SIMD_CFUNC simd_linear_combination(float __a, simd_float3x4 __x, float __b, simd_float3x4 __y) { - __x.columns[0] = __a*__x.columns[0] + __b*__y.columns[0]; - __x.columns[1] = __a*__x.columns[1] + __b*__y.columns[1]; - __x.columns[2] = __a*__x.columns[2] + __b*__y.columns[2]; - return __x; -} -static simd_float4x4 SIMD_CFUNC simd_linear_combination(float __a, simd_float4x4 __x, float __b, simd_float4x4 __y) { - __x.columns[0] = __a*__x.columns[0] + __b*__y.columns[0]; - __x.columns[1] = __a*__x.columns[1] + __b*__y.columns[1]; - __x.columns[2] = __a*__x.columns[2] + __b*__y.columns[2]; - __x.columns[3] = __a*__x.columns[3] + __b*__y.columns[3]; - return __x; -} -static simd_double2x2 SIMD_CFUNC simd_linear_combination(double __a, simd_double2x2 __x, double __b, simd_double2x2 __y) { - __x.columns[0] = __a*__x.columns[0] + __b*__y.columns[0]; - __x.columns[1] = __a*__x.columns[1] + __b*__y.columns[1]; - return __x; -} -static simd_double3x2 SIMD_CFUNC simd_linear_combination(double __a, simd_double3x2 __x, double __b, simd_double3x2 __y) { - __x.columns[0] = __a*__x.columns[0] + __b*__y.columns[0]; - __x.columns[1] = __a*__x.columns[1] + __b*__y.columns[1]; - __x.columns[2] = __a*__x.columns[2] + __b*__y.columns[2]; - return __x; -} -static simd_double4x2 SIMD_CFUNC simd_linear_combination(double __a, simd_double4x2 __x, double __b, simd_double4x2 __y) { - __x.columns[0] = __a*__x.columns[0] + __b*__y.columns[0]; - __x.columns[1] = __a*__x.columns[1] + __b*__y.columns[1]; - __x.columns[2] = __a*__x.columns[2] + __b*__y.columns[2]; - __x.columns[3] = __a*__x.columns[3] + __b*__y.columns[3]; - return __x; -} -static simd_double2x3 SIMD_CFUNC simd_linear_combination(double __a, simd_double2x3 __x, double __b, simd_double2x3 __y) { - __x.columns[0] = __a*__x.columns[0] + __b*__y.columns[0]; - __x.columns[1] = __a*__x.columns[1] + __b*__y.columns[1]; - return __x; -} -static simd_double3x3 SIMD_CFUNC simd_linear_combination(double __a, simd_double3x3 __x, double __b, simd_double3x3 __y) { - __x.columns[0] = __a*__x.columns[0] + __b*__y.columns[0]; - __x.columns[1] = __a*__x.columns[1] + __b*__y.columns[1]; - __x.columns[2] = __a*__x.columns[2] + __b*__y.columns[2]; - return __x; -} -static simd_double4x3 SIMD_CFUNC simd_linear_combination(double __a, simd_double4x3 __x, double __b, simd_double4x3 __y) { - __x.columns[0] = __a*__x.columns[0] + __b*__y.columns[0]; - __x.columns[1] = __a*__x.columns[1] + __b*__y.columns[1]; - __x.columns[2] = __a*__x.columns[2] + __b*__y.columns[2]; - __x.columns[3] = __a*__x.columns[3] + __b*__y.columns[3]; - return __x; -} -static simd_double2x4 SIMD_CFUNC simd_linear_combination(double __a, simd_double2x4 __x, double __b, simd_double2x4 __y) { - __x.columns[0] = __a*__x.columns[0] + __b*__y.columns[0]; - __x.columns[1] = __a*__x.columns[1] + __b*__y.columns[1]; - return __x; -} -static simd_double3x4 SIMD_CFUNC simd_linear_combination(double __a, simd_double3x4 __x, double __b, simd_double3x4 __y) { - __x.columns[0] = __a*__x.columns[0] + __b*__y.columns[0]; - __x.columns[1] = __a*__x.columns[1] + __b*__y.columns[1]; - __x.columns[2] = __a*__x.columns[2] + __b*__y.columns[2]; - return __x; -} -static simd_double4x4 SIMD_CFUNC simd_linear_combination(double __a, simd_double4x4 __x, double __b, simd_double4x4 __y) { - __x.columns[0] = __a*__x.columns[0] + __b*__y.columns[0]; - __x.columns[1] = __a*__x.columns[1] + __b*__y.columns[1]; - __x.columns[2] = __a*__x.columns[2] + __b*__y.columns[2]; - __x.columns[3] = __a*__x.columns[3] + __b*__y.columns[3]; - return __x; -} - -static simd_float2x2 SIMD_CFUNC simd_add(simd_float2x2 __x, simd_float2x2 __y) { return simd_linear_combination(1, __x, 1, __y); } -static simd_float3x2 SIMD_CFUNC simd_add(simd_float3x2 __x, simd_float3x2 __y) { return simd_linear_combination(1, __x, 1, __y); } -static simd_float4x2 SIMD_CFUNC simd_add(simd_float4x2 __x, simd_float4x2 __y) { return simd_linear_combination(1, __x, 1, __y); } -static simd_float2x3 SIMD_CFUNC simd_add(simd_float2x3 __x, simd_float2x3 __y) { return simd_linear_combination(1, __x, 1, __y); } -static simd_float3x3 SIMD_CFUNC simd_add(simd_float3x3 __x, simd_float3x3 __y) { return simd_linear_combination(1, __x, 1, __y); } -static simd_float4x3 SIMD_CFUNC simd_add(simd_float4x3 __x, simd_float4x3 __y) { return simd_linear_combination(1, __x, 1, __y); } -static simd_float2x4 SIMD_CFUNC simd_add(simd_float2x4 __x, simd_float2x4 __y) { return simd_linear_combination(1, __x, 1, __y); } -static simd_float3x4 SIMD_CFUNC simd_add(simd_float3x4 __x, simd_float3x4 __y) { return simd_linear_combination(1, __x, 1, __y); } -static simd_float4x4 SIMD_CFUNC simd_add(simd_float4x4 __x, simd_float4x4 __y) { return simd_linear_combination(1, __x, 1, __y); } -static simd_double2x2 SIMD_CFUNC simd_add(simd_double2x2 __x, simd_double2x2 __y) { return simd_linear_combination(1, __x, 1, __y); } -static simd_double3x2 SIMD_CFUNC simd_add(simd_double3x2 __x, simd_double3x2 __y) { return simd_linear_combination(1, __x, 1, __y); } -static simd_double4x2 SIMD_CFUNC simd_add(simd_double4x2 __x, simd_double4x2 __y) { return simd_linear_combination(1, __x, 1, __y); } -static simd_double2x3 SIMD_CFUNC simd_add(simd_double2x3 __x, simd_double2x3 __y) { return simd_linear_combination(1, __x, 1, __y); } -static simd_double3x3 SIMD_CFUNC simd_add(simd_double3x3 __x, simd_double3x3 __y) { return simd_linear_combination(1, __x, 1, __y); } -static simd_double4x3 SIMD_CFUNC simd_add(simd_double4x3 __x, simd_double4x3 __y) { return simd_linear_combination(1, __x, 1, __y); } -static simd_double2x4 SIMD_CFUNC simd_add(simd_double2x4 __x, simd_double2x4 __y) { return simd_linear_combination(1, __x, 1, __y); } -static simd_double3x4 SIMD_CFUNC simd_add(simd_double3x4 __x, simd_double3x4 __y) { return simd_linear_combination(1, __x, 1, __y); } -static simd_double4x4 SIMD_CFUNC simd_add(simd_double4x4 __x, simd_double4x4 __y) { return simd_linear_combination(1, __x, 1, __y); } - -static simd_float2x2 SIMD_CFUNC simd_sub(simd_float2x2 __x, simd_float2x2 __y) { return simd_linear_combination(1, __x, -1, __y); } -static simd_float3x2 SIMD_CFUNC simd_sub(simd_float3x2 __x, simd_float3x2 __y) { return simd_linear_combination(1, __x, -1, __y); } -static simd_float4x2 SIMD_CFUNC simd_sub(simd_float4x2 __x, simd_float4x2 __y) { return simd_linear_combination(1, __x, -1, __y); } -static simd_float2x3 SIMD_CFUNC simd_sub(simd_float2x3 __x, simd_float2x3 __y) { return simd_linear_combination(1, __x, -1, __y); } -static simd_float3x3 SIMD_CFUNC simd_sub(simd_float3x3 __x, simd_float3x3 __y) { return simd_linear_combination(1, __x, -1, __y); } -static simd_float4x3 SIMD_CFUNC simd_sub(simd_float4x3 __x, simd_float4x3 __y) { return simd_linear_combination(1, __x, -1, __y); } -static simd_float2x4 SIMD_CFUNC simd_sub(simd_float2x4 __x, simd_float2x4 __y) { return simd_linear_combination(1, __x, -1, __y); } -static simd_float3x4 SIMD_CFUNC simd_sub(simd_float3x4 __x, simd_float3x4 __y) { return simd_linear_combination(1, __x, -1, __y); } -static simd_float4x4 SIMD_CFUNC simd_sub(simd_float4x4 __x, simd_float4x4 __y) { return simd_linear_combination(1, __x, -1, __y); } -static simd_double2x2 SIMD_CFUNC simd_sub(simd_double2x2 __x, simd_double2x2 __y) { return simd_linear_combination(1, __x, -1, __y); } -static simd_double3x2 SIMD_CFUNC simd_sub(simd_double3x2 __x, simd_double3x2 __y) { return simd_linear_combination(1, __x, -1, __y); } -static simd_double4x2 SIMD_CFUNC simd_sub(simd_double4x2 __x, simd_double4x2 __y) { return simd_linear_combination(1, __x, -1, __y); } -static simd_double2x3 SIMD_CFUNC simd_sub(simd_double2x3 __x, simd_double2x3 __y) { return simd_linear_combination(1, __x, -1, __y); } -static simd_double3x3 SIMD_CFUNC simd_sub(simd_double3x3 __x, simd_double3x3 __y) { return simd_linear_combination(1, __x, -1, __y); } -static simd_double4x3 SIMD_CFUNC simd_sub(simd_double4x3 __x, simd_double4x3 __y) { return simd_linear_combination(1, __x, -1, __y); } -static simd_double2x4 SIMD_CFUNC simd_sub(simd_double2x4 __x, simd_double2x4 __y) { return simd_linear_combination(1, __x, -1, __y); } -static simd_double3x4 SIMD_CFUNC simd_sub(simd_double3x4 __x, simd_double3x4 __y) { return simd_linear_combination(1, __x, -1, __y); } -static simd_double4x4 SIMD_CFUNC simd_sub(simd_double4x4 __x, simd_double4x4 __y) { return simd_linear_combination(1, __x, -1, __y); } - -static simd_float2x2 SIMD_CFUNC simd_transpose(simd_float2x2 __x) { -#if defined __SSE__ - simd_float4 __x0, __x1; - __x0.xy = __x.columns[0]; - __x1.xy = __x.columns[1]; - simd_float4 __r01 = _mm_unpacklo_ps(__x0, __x1); - return simd_matrix(__r01.lo, __r01.hi); -#else - return simd_matrix((simd_float2){__x.columns[0][0], __x.columns[1][0]}, - (simd_float2){__x.columns[0][1], __x.columns[1][1]}); -#endif -} - -static simd_float3x2 SIMD_CFUNC simd_transpose(simd_float2x3 __x) { -#if defined __SSE__ - simd_float4 __x0, __x1; - __x0.xyz = __x.columns[0]; - __x1.xyz = __x.columns[1]; - simd_float4 __r01 = _mm_unpacklo_ps(__x0, __x1); - simd_float4 __r2x = _mm_unpackhi_ps(__x0, __x1); - return simd_matrix(__r01.lo, __r01.hi, __r2x.lo); -#else - return simd_matrix((simd_float2){__x.columns[0][0], __x.columns[1][0]}, - (simd_float2){__x.columns[0][1], __x.columns[1][1]}, - (simd_float2){__x.columns[0][2], __x.columns[1][2]}); -#endif -} - -static simd_float4x2 SIMD_CFUNC simd_transpose(simd_float2x4 __x) { -#if defined __SSE__ - simd_float4 __r01 = _mm_unpacklo_ps(__x.columns[0], __x.columns[1]); - simd_float4 __r23 = _mm_unpackhi_ps(__x.columns[0], __x.columns[1]); - return simd_matrix(__r01.lo, __r01.hi, __r23.lo, __r23.hi); -#else - return simd_matrix((simd_float2){__x.columns[0][0], __x.columns[1][0]}, - (simd_float2){__x.columns[0][1], __x.columns[1][1]}, - (simd_float2){__x.columns[0][2], __x.columns[1][2]}, - (simd_float2){__x.columns[0][3], __x.columns[1][3]}); -#endif -} - -static simd_float2x3 SIMD_CFUNC simd_transpose(simd_float3x2 __x) { -#if defined __SSE__ - simd_float4 __x0, __x1, __x2; - __x0.xy = __x.columns[0]; - __x1.xy = __x.columns[1]; - __x2.xy = __x.columns[2]; - simd_float4 __t = _mm_unpacklo_ps(__x0, __x1); - simd_float4 __r0 = _mm_shuffle_ps(__t,__x2,0xc4); - simd_float4 __r1 = _mm_shuffle_ps(__t,__x2,0xde); - return simd_matrix(__r0.xyz, __r1.xyz); -#else - return simd_matrix((simd_float3){__x.columns[0][0], __x.columns[1][0], __x.columns[2][0]}, - (simd_float3){__x.columns[0][1], __x.columns[1][1], __x.columns[2][1]}); -#endif -} - -static simd_float3x3 SIMD_CFUNC simd_transpose(simd_float3x3 __x) { -#if defined __SSE__ - simd_float4 __x0, __x1, __x2; - __x0.xyz = __x.columns[0]; - __x1.xyz = __x.columns[1]; - __x2.xyz = __x.columns[2]; - simd_float4 __t0 = _mm_unpacklo_ps(__x0, __x1); - simd_float4 __t1 = _mm_unpackhi_ps(__x0, __x1); - simd_float4 __r0 = __t0; __r0.hi = __x2.lo; - simd_float4 __r1 = _mm_shuffle_ps(__t0, __x2, 0xde); - simd_float4 __r2 = __x2; __r2.lo = __t1.lo; - return simd_matrix(__r0.xyz, __r1.xyz, __r2.xyz); -#else - return simd_matrix((simd_float3){__x.columns[0][0], __x.columns[1][0], __x.columns[2][0]}, - (simd_float3){__x.columns[0][1], __x.columns[1][1], __x.columns[2][1]}, - (simd_float3){__x.columns[0][2], __x.columns[1][2], __x.columns[2][2]}); -#endif -} - -static simd_float4x3 SIMD_CFUNC simd_transpose(simd_float3x4 __x) { -#if defined __SSE__ - simd_float4 __t0 = _mm_unpacklo_ps(__x.columns[0],__x.columns[1]); /* 00 10 01 11 */ - simd_float4 __t1 = _mm_unpackhi_ps(__x.columns[0],__x.columns[1]); /* 02 12 03 13 */ - simd_float4 __r0 = __t0; __r0.hi = __x.columns[2].lo; - simd_float4 __r1 = _mm_shuffle_ps(__t0, __x.columns[2], 0xde); - simd_float4 __r2 = __x.columns[2]; __r2.lo = __t1.lo; - simd_float4 __r3 = _mm_shuffle_ps(__t1, __x.columns[2], 0xfe); - return simd_matrix(__r0.xyz, __r1.xyz, __r2.xyz, __r3.xyz); -#else - return simd_matrix((simd_float3){__x.columns[0][0], __x.columns[1][0], __x.columns[2][0]}, - (simd_float3){__x.columns[0][1], __x.columns[1][1], __x.columns[2][1]}, - (simd_float3){__x.columns[0][2], __x.columns[1][2], __x.columns[2][2]}, - (simd_float3){__x.columns[0][3], __x.columns[1][3], __x.columns[2][3]}); -#endif -} - -static simd_float2x4 SIMD_CFUNC simd_transpose(simd_float4x2 __x) { -#if defined __SSE__ - simd_float4 __x0, __x1, __x2, __x3; - __x0.xy = __x.columns[0]; - __x1.xy = __x.columns[1]; - __x2.xy = __x.columns[2]; - __x3.xy = __x.columns[3]; - simd_float4 __t0 = _mm_unpacklo_ps(__x0,__x2); - simd_float4 __t1 = _mm_unpacklo_ps(__x1,__x3); - simd_float4 __r0 = _mm_unpacklo_ps(__t0,__t1); - simd_float4 __r1 = _mm_unpackhi_ps(__t0,__t1); - return simd_matrix(__r0,__r1); -#else - return simd_matrix((simd_float4){__x.columns[0][0], __x.columns[1][0], __x.columns[2][0], __x.columns[3][0]}, - (simd_float4){__x.columns[0][1], __x.columns[1][1], __x.columns[2][1], __x.columns[3][1]}); -#endif -} - -static simd_float3x4 SIMD_CFUNC simd_transpose(simd_float4x3 __x) { -#if defined __SSE__ - simd_float4 __x0, __x1, __x2, __x3; - __x0.xyz = __x.columns[0]; - __x1.xyz = __x.columns[1]; - __x2.xyz = __x.columns[2]; - __x3.xyz = __x.columns[3]; - simd_float4 __t0 = _mm_unpacklo_ps(__x0,__x2); - simd_float4 __t1 = _mm_unpackhi_ps(__x0,__x2); - simd_float4 __t2 = _mm_unpacklo_ps(__x1,__x3); - simd_float4 __t3 = _mm_unpackhi_ps(__x1,__x3); - simd_float4 __r0 = _mm_unpacklo_ps(__t0,__t2); - simd_float4 __r1 = _mm_unpackhi_ps(__t0,__t2); - simd_float4 __r2 = _mm_unpacklo_ps(__t1,__t3); - return simd_matrix(__r0,__r1,__r2); -#else - return simd_matrix((simd_float4){__x.columns[0][0], __x.columns[1][0], __x.columns[2][0], __x.columns[3][0]}, - (simd_float4){__x.columns[0][1], __x.columns[1][1], __x.columns[2][1], __x.columns[3][1]}, - (simd_float4){__x.columns[0][2], __x.columns[1][2], __x.columns[2][2], __x.columns[3][2]}); -#endif -} - -static simd_float4x4 SIMD_CFUNC simd_transpose(simd_float4x4 __x) { -#if defined __SSE__ - simd_float4 __t0 = _mm_unpacklo_ps(__x.columns[0],__x.columns[2]); - simd_float4 __t1 = _mm_unpackhi_ps(__x.columns[0],__x.columns[2]); - simd_float4 __t2 = _mm_unpacklo_ps(__x.columns[1],__x.columns[3]); - simd_float4 __t3 = _mm_unpackhi_ps(__x.columns[1],__x.columns[3]); - simd_float4 __r0 = _mm_unpacklo_ps(__t0,__t2); - simd_float4 __r1 = _mm_unpackhi_ps(__t0,__t2); - simd_float4 __r2 = _mm_unpacklo_ps(__t1,__t3); - simd_float4 __r3 = _mm_unpackhi_ps(__t1,__t3); - return simd_matrix(__r0,__r1,__r2,__r3); -#else - return simd_matrix((simd_float4){__x.columns[0][0], __x.columns[1][0], __x.columns[2][0], __x.columns[3][0]}, - (simd_float4){__x.columns[0][1], __x.columns[1][1], __x.columns[2][1], __x.columns[3][1]}, - (simd_float4){__x.columns[0][2], __x.columns[1][2], __x.columns[2][2], __x.columns[3][2]}, - (simd_float4){__x.columns[0][3], __x.columns[1][3], __x.columns[2][3], __x.columns[3][3]}); -#endif -} - -static simd_double2x2 SIMD_CFUNC simd_transpose(simd_double2x2 __x) { - return simd_matrix((simd_double2){__x.columns[0][0], __x.columns[1][0]}, - (simd_double2){__x.columns[0][1], __x.columns[1][1]}); -} - -static simd_double3x2 SIMD_CFUNC simd_transpose(simd_double2x3 __x) { - return simd_matrix((simd_double2){__x.columns[0][0], __x.columns[1][0]}, - (simd_double2){__x.columns[0][1], __x.columns[1][1]}, - (simd_double2){__x.columns[0][2], __x.columns[1][2]}); -} - -static simd_double4x2 SIMD_CFUNC simd_transpose(simd_double2x4 __x) { - return simd_matrix((simd_double2){__x.columns[0][0], __x.columns[1][0]}, - (simd_double2){__x.columns[0][1], __x.columns[1][1]}, - (simd_double2){__x.columns[0][2], __x.columns[1][2]}, - (simd_double2){__x.columns[0][3], __x.columns[1][3]}); -} - -static simd_double2x3 SIMD_CFUNC simd_transpose(simd_double3x2 __x) { - return simd_matrix((simd_double3){__x.columns[0][0], __x.columns[1][0], __x.columns[2][0]}, - (simd_double3){__x.columns[0][1], __x.columns[1][1], __x.columns[2][1]}); -} - -static simd_double3x3 SIMD_CFUNC simd_transpose(simd_double3x3 __x) { - return simd_matrix((simd_double3){__x.columns[0][0], __x.columns[1][0], __x.columns[2][0]}, - (simd_double3){__x.columns[0][1], __x.columns[1][1], __x.columns[2][1]}, - (simd_double3){__x.columns[0][2], __x.columns[1][2], __x.columns[2][2]}); -} - -static simd_double4x3 SIMD_CFUNC simd_transpose(simd_double3x4 __x) { - return simd_matrix((simd_double3){__x.columns[0][0], __x.columns[1][0], __x.columns[2][0]}, - (simd_double3){__x.columns[0][1], __x.columns[1][1], __x.columns[2][1]}, - (simd_double3){__x.columns[0][2], __x.columns[1][2], __x.columns[2][2]}, - (simd_double3){__x.columns[0][3], __x.columns[1][3], __x.columns[2][3]}); -} - -static simd_double2x4 SIMD_CFUNC simd_transpose(simd_double4x2 __x) { - return simd_matrix((simd_double4){__x.columns[0][0], __x.columns[1][0], __x.columns[2][0], __x.columns[3][0]}, - (simd_double4){__x.columns[0][1], __x.columns[1][1], __x.columns[2][1], __x.columns[3][1]}); -} - -static simd_double3x4 SIMD_CFUNC simd_transpose(simd_double4x3 __x) { - return simd_matrix((simd_double4){__x.columns[0][0], __x.columns[1][0], __x.columns[2][0], __x.columns[3][0]}, - (simd_double4){__x.columns[0][1], __x.columns[1][1], __x.columns[2][1], __x.columns[3][1]}, - (simd_double4){__x.columns[0][2], __x.columns[1][2], __x.columns[2][2], __x.columns[3][2]}); -} - -static simd_double4x4 SIMD_CFUNC simd_transpose(simd_double4x4 __x) { - return simd_matrix((simd_double4){__x.columns[0][0], __x.columns[1][0], __x.columns[2][0], __x.columns[3][0]}, - (simd_double4){__x.columns[0][1], __x.columns[1][1], __x.columns[2][1], __x.columns[3][1]}, - (simd_double4){__x.columns[0][2], __x.columns[1][2], __x.columns[2][2], __x.columns[3][2]}, - (simd_double4){__x.columns[0][3], __x.columns[1][3], __x.columns[2][3], __x.columns[3][3]}); -} - -static simd_float3 SIMD_CFUNC __rotate1( simd_float3 __x) { return __builtin_shufflevector(__x,__x,1,2,0); } -static simd_float3 SIMD_CFUNC __rotate2( simd_float3 __x) { return __builtin_shufflevector(__x,__x,2,0,1); } -static simd_float4 SIMD_CFUNC __rotate1( simd_float4 __x) { return __builtin_shufflevector(__x,__x,1,2,3,0); } -static simd_float4 SIMD_CFUNC __rotate2( simd_float4 __x) { return __builtin_shufflevector(__x,__x,2,3,0,1); } -static simd_float4 SIMD_CFUNC __rotate3( simd_float4 __x) { return __builtin_shufflevector(__x,__x,3,0,1,2); } -static simd_double3 SIMD_CFUNC __rotate1(simd_double3 __x) { return __builtin_shufflevector(__x,__x,1,2,0); } -static simd_double3 SIMD_CFUNC __rotate2(simd_double3 __x) { return __builtin_shufflevector(__x,__x,2,0,1); } -static simd_double4 SIMD_CFUNC __rotate1(simd_double4 __x) { return __builtin_shufflevector(__x,__x,1,2,3,0); } -static simd_double4 SIMD_CFUNC __rotate2(simd_double4 __x) { return __builtin_shufflevector(__x,__x,2,3,0,1); } -static simd_double4 SIMD_CFUNC __rotate3(simd_double4 __x) { return __builtin_shufflevector(__x,__x,3,0,1,2); } - -static float SIMD_CFUNC simd_determinant( simd_float2x2 __x) { return __x.columns[0][0]*__x.columns[1][1] - __x.columns[0][1]*__x.columns[1][0]; } -static double SIMD_CFUNC simd_determinant(simd_double2x2 __x) { return __x.columns[0][0]*__x.columns[1][1] - __x.columns[0][1]*__x.columns[1][0]; } -static float SIMD_CFUNC simd_determinant( simd_float3x3 __x) { return simd_reduce_add(__x.columns[0]*(__rotate1(__x.columns[1])*__rotate2(__x.columns[2]) - __rotate2(__x.columns[1])*__rotate1(__x.columns[2]))); } -static double SIMD_CFUNC simd_determinant(simd_double3x3 __x) { return simd_reduce_add(__x.columns[0]*(__rotate1(__x.columns[1])*__rotate2(__x.columns[2]) - __rotate2(__x.columns[1])*__rotate1(__x.columns[2]))); } -static float SIMD_CFUNC simd_determinant( simd_float4x4 __x) { - simd_float4 codet = __x.columns[0]*(__rotate1(__x.columns[1])*(__rotate2(__x.columns[2])*__rotate3(__x.columns[3])-__rotate3(__x.columns[2])*__rotate2(__x.columns[3])) + - __rotate2(__x.columns[1])*(__rotate3(__x.columns[2])*__rotate1(__x.columns[3])-__rotate1(__x.columns[2])*__rotate3(__x.columns[3])) + - __rotate3(__x.columns[1])*(__rotate1(__x.columns[2])*__rotate2(__x.columns[3])-__rotate2(__x.columns[2])*__rotate1(__x.columns[3]))); - return simd_reduce_add(codet.even - codet.odd); -} -static double SIMD_CFUNC simd_determinant(simd_double4x4 __x) { - simd_double4 codet = __x.columns[0]*(__rotate1(__x.columns[1])*(__rotate2(__x.columns[2])*__rotate3(__x.columns[3])-__rotate3(__x.columns[2])*__rotate2(__x.columns[3])) + - __rotate2(__x.columns[1])*(__rotate3(__x.columns[2])*__rotate1(__x.columns[3])-__rotate1(__x.columns[2])*__rotate3(__x.columns[3])) + - __rotate3(__x.columns[1])*(__rotate1(__x.columns[2])*__rotate2(__x.columns[3])-__rotate2(__x.columns[2])*__rotate1(__x.columns[3]))); - return simd_reduce_add(codet.even - codet.odd); -} - -static simd_float2x2 SIMD_CFUNC simd_inverse( simd_float2x2 __x) { return __invert_f2(__x); } -static simd_float3x3 SIMD_CFUNC simd_inverse( simd_float3x3 __x) { return __invert_f3(__x); } -static simd_float4x4 SIMD_CFUNC simd_inverse( simd_float4x4 __x) { return __invert_f4(__x); } -static simd_double2x2 SIMD_CFUNC simd_inverse(simd_double2x2 __x) { return __invert_d2(__x); } -static simd_double3x3 SIMD_CFUNC simd_inverse(simd_double3x3 __x) { return __invert_d3(__x); } -static simd_double4x4 SIMD_CFUNC simd_inverse(simd_double4x4 __x) { return __invert_d4(__x); } - -static simd_float2 SIMD_CFUNC simd_mul( simd_float2x2 __x, simd_float2 __y) { simd_float2 __r = __x.columns[0]*__y[0]; __r = simd_muladd( __x.columns[1], __y[1],__r); return __r; } -static simd_float3 SIMD_CFUNC simd_mul( simd_float2x3 __x, simd_float2 __y) { simd_float3 __r = __x.columns[0]*__y[0]; __r = simd_muladd( __x.columns[1], __y[1],__r); return __r; } -static simd_float4 SIMD_CFUNC simd_mul( simd_float2x4 __x, simd_float2 __y) { simd_float4 __r = __x.columns[0]*__y[0]; __r = simd_muladd( __x.columns[1], __y[1],__r); return __r; } -static simd_float2 SIMD_CFUNC simd_mul( simd_float3x2 __x, simd_float3 __y) { simd_float2 __r = __x.columns[0]*__y[0]; __r = simd_muladd( __x.columns[1], __y[1],__r); __r = simd_muladd( __x.columns[2], __y[2],__r); return __r; } -static simd_float3 SIMD_CFUNC simd_mul( simd_float3x3 __x, simd_float3 __y) { simd_float3 __r = __x.columns[0]*__y[0]; __r = simd_muladd( __x.columns[1], __y[1],__r); __r = simd_muladd( __x.columns[2], __y[2],__r); return __r; } -static simd_float4 SIMD_CFUNC simd_mul( simd_float3x4 __x, simd_float3 __y) { simd_float4 __r = __x.columns[0]*__y[0]; __r = simd_muladd( __x.columns[1], __y[1],__r); __r = simd_muladd( __x.columns[2], __y[2],__r); return __r; } -static simd_float2 SIMD_CFUNC simd_mul( simd_float4x2 __x, simd_float4 __y) { simd_float2 __r = __x.columns[0]*__y[0]; __r = simd_muladd( __x.columns[1], __y[1],__r); __r = simd_muladd( __x.columns[2], __y[2],__r); __r = simd_muladd( __x.columns[3], __y[3],__r); return __r; } -static simd_float3 SIMD_CFUNC simd_mul( simd_float4x3 __x, simd_float4 __y) { simd_float3 __r = __x.columns[0]*__y[0]; __r = simd_muladd( __x.columns[1], __y[1],__r); __r = simd_muladd( __x.columns[2], __y[2],__r); __r = simd_muladd( __x.columns[3], __y[3],__r); return __r; } -static simd_float4 SIMD_CFUNC simd_mul( simd_float4x4 __x, simd_float4 __y) { simd_float4 __r = __x.columns[0]*__y[0]; __r = simd_muladd( __x.columns[1], __y[1],__r); __r = simd_muladd( __x.columns[2], __y[2],__r); __r = simd_muladd( __x.columns[3], __y[3],__r); return __r; } -static simd_double2 SIMD_CFUNC simd_mul(simd_double2x2 __x, simd_double2 __y) { simd_double2 __r = __x.columns[0]*__y[0]; __r = simd_muladd( __x.columns[1], __y[1],__r); return __r; } -static simd_double3 SIMD_CFUNC simd_mul(simd_double2x3 __x, simd_double2 __y) { simd_double3 __r = __x.columns[0]*__y[0]; __r = simd_muladd( __x.columns[1], __y[1],__r); return __r; } -static simd_double4 SIMD_CFUNC simd_mul(simd_double2x4 __x, simd_double2 __y) { simd_double4 __r = __x.columns[0]*__y[0]; __r = simd_muladd( __x.columns[1], __y[1],__r); return __r; } -static simd_double2 SIMD_CFUNC simd_mul(simd_double3x2 __x, simd_double3 __y) { simd_double2 __r = __x.columns[0]*__y[0]; __r = simd_muladd( __x.columns[1], __y[1],__r); __r = simd_muladd( __x.columns[2], __y[2],__r); return __r; } -static simd_double3 SIMD_CFUNC simd_mul(simd_double3x3 __x, simd_double3 __y) { simd_double3 __r = __x.columns[0]*__y[0]; __r = simd_muladd( __x.columns[1], __y[1],__r); __r = simd_muladd( __x.columns[2], __y[2],__r); return __r; } -static simd_double4 SIMD_CFUNC simd_mul(simd_double3x4 __x, simd_double3 __y) { simd_double4 __r = __x.columns[0]*__y[0]; __r = simd_muladd( __x.columns[1], __y[1],__r); __r = simd_muladd( __x.columns[2], __y[2],__r); return __r; } -static simd_double2 SIMD_CFUNC simd_mul(simd_double4x2 __x, simd_double4 __y) { simd_double2 __r = __x.columns[0]*__y[0]; __r = simd_muladd( __x.columns[1], __y[1],__r); __r = simd_muladd( __x.columns[2], __y[2],__r); __r = simd_muladd( __x.columns[3], __y[3],__r); return __r; } -static simd_double3 SIMD_CFUNC simd_mul(simd_double4x3 __x, simd_double4 __y) { simd_double3 __r = __x.columns[0]*__y[0]; __r = simd_muladd( __x.columns[1], __y[1],__r); __r = simd_muladd( __x.columns[2], __y[2],__r); __r = simd_muladd( __x.columns[3], __y[3],__r); return __r; } -static simd_double4 SIMD_CFUNC simd_mul(simd_double4x4 __x, simd_double4 __y) { simd_double4 __r = __x.columns[0]*__y[0]; __r = simd_muladd( __x.columns[1], __y[1],__r); __r = simd_muladd( __x.columns[2], __y[2],__r); __r = simd_muladd( __x.columns[3], __y[3],__r); return __r; } - -static simd_float2 SIMD_CFUNC simd_mul( simd_float2 __x, simd_float2x2 __y) { return simd_mul(simd_transpose(__y), __x); } -static simd_float3 SIMD_CFUNC simd_mul( simd_float2 __x, simd_float3x2 __y) { return simd_mul(simd_transpose(__y), __x); } -static simd_float4 SIMD_CFUNC simd_mul( simd_float2 __x, simd_float4x2 __y) { return simd_mul(simd_transpose(__y), __x); } -static simd_float2 SIMD_CFUNC simd_mul( simd_float3 __x, simd_float2x3 __y) { return simd_mul(simd_transpose(__y), __x); } -static simd_float3 SIMD_CFUNC simd_mul( simd_float3 __x, simd_float3x3 __y) { return simd_mul(simd_transpose(__y), __x); } -static simd_float4 SIMD_CFUNC simd_mul( simd_float3 __x, simd_float4x3 __y) { return simd_mul(simd_transpose(__y), __x); } -static simd_float2 SIMD_CFUNC simd_mul( simd_float4 __x, simd_float2x4 __y) { return simd_mul(simd_transpose(__y), __x); } -static simd_float3 SIMD_CFUNC simd_mul( simd_float4 __x, simd_float3x4 __y) { return simd_mul(simd_transpose(__y), __x); } -static simd_float4 SIMD_CFUNC simd_mul( simd_float4 __x, simd_float4x4 __y) { return simd_mul(simd_transpose(__y), __x); } -static simd_double2 SIMD_CFUNC simd_mul(simd_double2 __x, simd_double2x2 __y) { return simd_mul(simd_transpose(__y), __x); } -static simd_double3 SIMD_CFUNC simd_mul(simd_double2 __x, simd_double3x2 __y) { return simd_mul(simd_transpose(__y), __x); } -static simd_double4 SIMD_CFUNC simd_mul(simd_double2 __x, simd_double4x2 __y) { return simd_mul(simd_transpose(__y), __x); } -static simd_double2 SIMD_CFUNC simd_mul(simd_double3 __x, simd_double2x3 __y) { return simd_mul(simd_transpose(__y), __x); } -static simd_double3 SIMD_CFUNC simd_mul(simd_double3 __x, simd_double3x3 __y) { return simd_mul(simd_transpose(__y), __x); } -static simd_double4 SIMD_CFUNC simd_mul(simd_double3 __x, simd_double4x3 __y) { return simd_mul(simd_transpose(__y), __x); } -static simd_double2 SIMD_CFUNC simd_mul(simd_double4 __x, simd_double2x4 __y) { return simd_mul(simd_transpose(__y), __x); } -static simd_double3 SIMD_CFUNC simd_mul(simd_double4 __x, simd_double3x4 __y) { return simd_mul(simd_transpose(__y), __x); } -static simd_double4 SIMD_CFUNC simd_mul(simd_double4 __x, simd_double4x4 __y) { return simd_mul(simd_transpose(__y), __x); } - -static simd_float2x2 SIMD_CFUNC simd_mul( simd_float2x2 __x, simd_float2x2 __y) { simd_float2x2 __r; for (int i=0; i<2; ++i) __r.columns[i] = simd_mul(__x, __y.columns[i]); return __r; } -static simd_double2x2 SIMD_CFUNC simd_mul(simd_double2x2 __x, simd_double2x2 __y) { simd_double2x2 __r; for (int i=0; i<2; ++i) __r.columns[i] = simd_mul(__x, __y.columns[i]); return __r; } -static simd_float2x3 SIMD_CFUNC simd_mul( simd_float2x3 __x, simd_float2x2 __y) { simd_float2x3 __r; for (int i=0; i<2; ++i) __r.columns[i] = simd_mul(__x, __y.columns[i]); return __r; } -static simd_double2x3 SIMD_CFUNC simd_mul(simd_double2x3 __x, simd_double2x2 __y) { simd_double2x3 __r; for (int i=0; i<2; ++i) __r.columns[i] = simd_mul(__x, __y.columns[i]); return __r; } -static simd_float2x4 SIMD_CFUNC simd_mul( simd_float2x4 __x, simd_float2x2 __y) { simd_float2x4 __r; for (int i=0; i<2; ++i) __r.columns[i] = simd_mul(__x, __y.columns[i]); return __r; } -static simd_double2x4 SIMD_CFUNC simd_mul(simd_double2x4 __x, simd_double2x2 __y) { simd_double2x4 __r; for (int i=0; i<2; ++i) __r.columns[i] = simd_mul(__x, __y.columns[i]); return __r; } -static simd_float2x2 SIMD_CFUNC simd_mul( simd_float3x2 __x, simd_float2x3 __y) { simd_float2x2 __r; for (int i=0; i<2; ++i) __r.columns[i] = simd_mul(__x, __y.columns[i]); return __r; } -static simd_double2x2 SIMD_CFUNC simd_mul(simd_double3x2 __x, simd_double2x3 __y) { simd_double2x2 __r; for (int i=0; i<2; ++i) __r.columns[i] = simd_mul(__x, __y.columns[i]); return __r; } -static simd_float2x3 SIMD_CFUNC simd_mul( simd_float3x3 __x, simd_float2x3 __y) { simd_float2x3 __r; for (int i=0; i<2; ++i) __r.columns[i] = simd_mul(__x, __y.columns[i]); return __r; } -static simd_double2x3 SIMD_CFUNC simd_mul(simd_double3x3 __x, simd_double2x3 __y) { simd_double2x3 __r; for (int i=0; i<2; ++i) __r.columns[i] = simd_mul(__x, __y.columns[i]); return __r; } -static simd_float2x4 SIMD_CFUNC simd_mul( simd_float3x4 __x, simd_float2x3 __y) { simd_float2x4 __r; for (int i=0; i<2; ++i) __r.columns[i] = simd_mul(__x, __y.columns[i]); return __r; } -static simd_double2x4 SIMD_CFUNC simd_mul(simd_double3x4 __x, simd_double2x3 __y) { simd_double2x4 __r; for (int i=0; i<2; ++i) __r.columns[i] = simd_mul(__x, __y.columns[i]); return __r; } -static simd_float2x2 SIMD_CFUNC simd_mul( simd_float4x2 __x, simd_float2x4 __y) { simd_float2x2 __r; for (int i=0; i<2; ++i) __r.columns[i] = simd_mul(__x, __y.columns[i]); return __r; } -static simd_double2x2 SIMD_CFUNC simd_mul(simd_double4x2 __x, simd_double2x4 __y) { simd_double2x2 __r; for (int i=0; i<2; ++i) __r.columns[i] = simd_mul(__x, __y.columns[i]); return __r; } -static simd_float2x3 SIMD_CFUNC simd_mul( simd_float4x3 __x, simd_float2x4 __y) { simd_float2x3 __r; for (int i=0; i<2; ++i) __r.columns[i] = simd_mul(__x, __y.columns[i]); return __r; } -static simd_double2x3 SIMD_CFUNC simd_mul(simd_double4x3 __x, simd_double2x4 __y) { simd_double2x3 __r; for (int i=0; i<2; ++i) __r.columns[i] = simd_mul(__x, __y.columns[i]); return __r; } -static simd_float2x4 SIMD_CFUNC simd_mul( simd_float4x4 __x, simd_float2x4 __y) { simd_float2x4 __r; for (int i=0; i<2; ++i) __r.columns[i] = simd_mul(__x, __y.columns[i]); return __r; } -static simd_double2x4 SIMD_CFUNC simd_mul(simd_double4x4 __x, simd_double2x4 __y) { simd_double2x4 __r; for (int i=0; i<2; ++i) __r.columns[i] = simd_mul(__x, __y.columns[i]); return __r; } - -static simd_float3x2 SIMD_CFUNC simd_mul( simd_float2x2 __x, simd_float3x2 __y) { simd_float3x2 __r; for (int i=0; i<3; ++i) __r.columns[i] = simd_mul(__x, __y.columns[i]); return __r; } -static simd_double3x2 SIMD_CFUNC simd_mul(simd_double2x2 __x, simd_double3x2 __y) { simd_double3x2 __r; for (int i=0; i<3; ++i) __r.columns[i] = simd_mul(__x, __y.columns[i]); return __r; } -static simd_float3x3 SIMD_CFUNC simd_mul( simd_float2x3 __x, simd_float3x2 __y) { simd_float3x3 __r; for (int i=0; i<3; ++i) __r.columns[i] = simd_mul(__x, __y.columns[i]); return __r; } -static simd_double3x3 SIMD_CFUNC simd_mul(simd_double2x3 __x, simd_double3x2 __y) { simd_double3x3 __r; for (int i=0; i<3; ++i) __r.columns[i] = simd_mul(__x, __y.columns[i]); return __r; } -static simd_float3x4 SIMD_CFUNC simd_mul( simd_float2x4 __x, simd_float3x2 __y) { simd_float3x4 __r; for (int i=0; i<3; ++i) __r.columns[i] = simd_mul(__x, __y.columns[i]); return __r; } -static simd_double3x4 SIMD_CFUNC simd_mul(simd_double2x4 __x, simd_double3x2 __y) { simd_double3x4 __r; for (int i=0; i<3; ++i) __r.columns[i] = simd_mul(__x, __y.columns[i]); return __r; } -static simd_float3x2 SIMD_CFUNC simd_mul( simd_float3x2 __x, simd_float3x3 __y) { simd_float3x2 __r; for (int i=0; i<3; ++i) __r.columns[i] = simd_mul(__x, __y.columns[i]); return __r; } -static simd_double3x2 SIMD_CFUNC simd_mul(simd_double3x2 __x, simd_double3x3 __y) { simd_double3x2 __r; for (int i=0; i<3; ++i) __r.columns[i] = simd_mul(__x, __y.columns[i]); return __r; } -static simd_float3x3 SIMD_CFUNC simd_mul( simd_float3x3 __x, simd_float3x3 __y) { simd_float3x3 __r; for (int i=0; i<3; ++i) __r.columns[i] = simd_mul(__x, __y.columns[i]); return __r; } -static simd_double3x3 SIMD_CFUNC simd_mul(simd_double3x3 __x, simd_double3x3 __y) { simd_double3x3 __r; for (int i=0; i<3; ++i) __r.columns[i] = simd_mul(__x, __y.columns[i]); return __r; } -static simd_float3x4 SIMD_CFUNC simd_mul( simd_float3x4 __x, simd_float3x3 __y) { simd_float3x4 __r; for (int i=0; i<3; ++i) __r.columns[i] = simd_mul(__x, __y.columns[i]); return __r; } -static simd_double3x4 SIMD_CFUNC simd_mul(simd_double3x4 __x, simd_double3x3 __y) { simd_double3x4 __r; for (int i=0; i<3; ++i) __r.columns[i] = simd_mul(__x, __y.columns[i]); return __r; } -static simd_float3x2 SIMD_CFUNC simd_mul( simd_float4x2 __x, simd_float3x4 __y) { simd_float3x2 __r; for (int i=0; i<3; ++i) __r.columns[i] = simd_mul(__x, __y.columns[i]); return __r; } -static simd_double3x2 SIMD_CFUNC simd_mul(simd_double4x2 __x, simd_double3x4 __y) { simd_double3x2 __r; for (int i=0; i<3; ++i) __r.columns[i] = simd_mul(__x, __y.columns[i]); return __r; } -static simd_float3x3 SIMD_CFUNC simd_mul( simd_float4x3 __x, simd_float3x4 __y) { simd_float3x3 __r; for (int i=0; i<3; ++i) __r.columns[i] = simd_mul(__x, __y.columns[i]); return __r; } -static simd_double3x3 SIMD_CFUNC simd_mul(simd_double4x3 __x, simd_double3x4 __y) { simd_double3x3 __r; for (int i=0; i<3; ++i) __r.columns[i] = simd_mul(__x, __y.columns[i]); return __r; } -static simd_float3x4 SIMD_CFUNC simd_mul( simd_float4x4 __x, simd_float3x4 __y) { simd_float3x4 __r; for (int i=0; i<3; ++i) __r.columns[i] = simd_mul(__x, __y.columns[i]); return __r; } -static simd_double3x4 SIMD_CFUNC simd_mul(simd_double4x4 __x, simd_double3x4 __y) { simd_double3x4 __r; for (int i=0; i<3; ++i) __r.columns[i] = simd_mul(__x, __y.columns[i]); return __r; } - -static simd_float4x2 SIMD_CFUNC simd_mul( simd_float2x2 __x, simd_float4x2 __y) { simd_float4x2 __r; for (int i=0; i<4; ++i) __r.columns[i] = simd_mul(__x, __y.columns[i]); return __r; } -static simd_double4x2 SIMD_CFUNC simd_mul(simd_double2x2 __x, simd_double4x2 __y) { simd_double4x2 __r; for (int i=0; i<4; ++i) __r.columns[i] = simd_mul(__x, __y.columns[i]); return __r; } -static simd_float4x3 SIMD_CFUNC simd_mul( simd_float2x3 __x, simd_float4x2 __y) { simd_float4x3 __r; for (int i=0; i<4; ++i) __r.columns[i] = simd_mul(__x, __y.columns[i]); return __r; } -static simd_double4x3 SIMD_CFUNC simd_mul(simd_double2x3 __x, simd_double4x2 __y) { simd_double4x3 __r; for (int i=0; i<4; ++i) __r.columns[i] = simd_mul(__x, __y.columns[i]); return __r; } -static simd_float4x4 SIMD_CFUNC simd_mul( simd_float2x4 __x, simd_float4x2 __y) { simd_float4x4 __r; for (int i=0; i<4; ++i) __r.columns[i] = simd_mul(__x, __y.columns[i]); return __r; } -static simd_double4x4 SIMD_CFUNC simd_mul(simd_double2x4 __x, simd_double4x2 __y) { simd_double4x4 __r; for (int i=0; i<4; ++i) __r.columns[i] = simd_mul(__x, __y.columns[i]); return __r; } -static simd_float4x2 SIMD_CFUNC simd_mul( simd_float3x2 __x, simd_float4x3 __y) { simd_float4x2 __r; for (int i=0; i<4; ++i) __r.columns[i] = simd_mul(__x, __y.columns[i]); return __r; } -static simd_double4x2 SIMD_CFUNC simd_mul(simd_double3x2 __x, simd_double4x3 __y) { simd_double4x2 __r; for (int i=0; i<4; ++i) __r.columns[i] = simd_mul(__x, __y.columns[i]); return __r; } -static simd_float4x3 SIMD_CFUNC simd_mul( simd_float3x3 __x, simd_float4x3 __y) { simd_float4x3 __r; for (int i=0; i<4; ++i) __r.columns[i] = simd_mul(__x, __y.columns[i]); return __r; } -static simd_double4x3 SIMD_CFUNC simd_mul(simd_double3x3 __x, simd_double4x3 __y) { simd_double4x3 __r; for (int i=0; i<4; ++i) __r.columns[i] = simd_mul(__x, __y.columns[i]); return __r; } -static simd_float4x4 SIMD_CFUNC simd_mul( simd_float3x4 __x, simd_float4x3 __y) { simd_float4x4 __r; for (int i=0; i<4; ++i) __r.columns[i] = simd_mul(__x, __y.columns[i]); return __r; } -static simd_double4x4 SIMD_CFUNC simd_mul(simd_double3x4 __x, simd_double4x3 __y) { simd_double4x4 __r; for (int i=0; i<4; ++i) __r.columns[i] = simd_mul(__x, __y.columns[i]); return __r; } -static simd_float4x2 SIMD_CFUNC simd_mul( simd_float4x2 __x, simd_float4x4 __y) { simd_float4x2 __r; for (int i=0; i<4; ++i) __r.columns[i] = simd_mul(__x, __y.columns[i]); return __r; } -static simd_double4x2 SIMD_CFUNC simd_mul(simd_double4x2 __x, simd_double4x4 __y) { simd_double4x2 __r; for (int i=0; i<4; ++i) __r.columns[i] = simd_mul(__x, __y.columns[i]); return __r; } -static simd_float4x3 SIMD_CFUNC simd_mul( simd_float4x3 __x, simd_float4x4 __y) { simd_float4x3 __r; for (int i=0; i<4; ++i) __r.columns[i] = simd_mul(__x, __y.columns[i]); return __r; } -static simd_double4x3 SIMD_CFUNC simd_mul(simd_double4x3 __x, simd_double4x4 __y) { simd_double4x3 __r; for (int i=0; i<4; ++i) __r.columns[i] = simd_mul(__x, __y.columns[i]); return __r; } -static simd_float4x4 SIMD_CFUNC simd_mul( simd_float4x4 __x, simd_float4x4 __y) { simd_float4x4 __r; for (int i=0; i<4; ++i) __r.columns[i] = simd_mul(__x, __y.columns[i]); return __r; } -static simd_double4x4 SIMD_CFUNC simd_mul(simd_double4x4 __x, simd_double4x4 __y) { simd_double4x4 __r; for (int i=0; i<4; ++i) __r.columns[i] = simd_mul(__x, __y.columns[i]); return __r; } - -static simd_float2 SIMD_CFUNC matrix_multiply( simd_float2x2 __x, simd_float2 __y) { return simd_mul(__x, __y); } -static simd_float3 SIMD_CFUNC matrix_multiply( simd_float2x3 __x, simd_float2 __y) { return simd_mul(__x, __y); } -static simd_float4 SIMD_CFUNC matrix_multiply( simd_float2x4 __x, simd_float2 __y) { return simd_mul(__x, __y); } -static simd_float2 SIMD_CFUNC matrix_multiply( simd_float3x2 __x, simd_float3 __y) { return simd_mul(__x, __y); } -static simd_float3 SIMD_CFUNC matrix_multiply( simd_float3x3 __x, simd_float3 __y) { return simd_mul(__x, __y); } -static simd_float4 SIMD_CFUNC matrix_multiply( simd_float3x4 __x, simd_float3 __y) { return simd_mul(__x, __y); } -static simd_float2 SIMD_CFUNC matrix_multiply( simd_float4x2 __x, simd_float4 __y) { return simd_mul(__x, __y); } -static simd_float3 SIMD_CFUNC matrix_multiply( simd_float4x3 __x, simd_float4 __y) { return simd_mul(__x, __y); } -static simd_float4 SIMD_CFUNC matrix_multiply( simd_float4x4 __x, simd_float4 __y) { return simd_mul(__x, __y); } -static simd_double2 SIMD_CFUNC matrix_multiply(simd_double2x2 __x, simd_double2 __y) { return simd_mul(__x, __y); } -static simd_double3 SIMD_CFUNC matrix_multiply(simd_double2x3 __x, simd_double2 __y) { return simd_mul(__x, __y); } -static simd_double4 SIMD_CFUNC matrix_multiply(simd_double2x4 __x, simd_double2 __y) { return simd_mul(__x, __y); } -static simd_double2 SIMD_CFUNC matrix_multiply(simd_double3x2 __x, simd_double3 __y) { return simd_mul(__x, __y); } -static simd_double3 SIMD_CFUNC matrix_multiply(simd_double3x3 __x, simd_double3 __y) { return simd_mul(__x, __y); } -static simd_double4 SIMD_CFUNC matrix_multiply(simd_double3x4 __x, simd_double3 __y) { return simd_mul(__x, __y); } -static simd_double2 SIMD_CFUNC matrix_multiply(simd_double4x2 __x, simd_double4 __y) { return simd_mul(__x, __y); } -static simd_double3 SIMD_CFUNC matrix_multiply(simd_double4x3 __x, simd_double4 __y) { return simd_mul(__x, __y); } -static simd_double4 SIMD_CFUNC matrix_multiply(simd_double4x4 __x, simd_double4 __y) { return simd_mul(__x, __y); } - -static simd_float2 SIMD_CFUNC matrix_multiply( simd_float2 __x, simd_float2x2 __y) { return simd_mul(__x, __y); } -static simd_float3 SIMD_CFUNC matrix_multiply( simd_float2 __x, simd_float3x2 __y) { return simd_mul(__x, __y); } -static simd_float4 SIMD_CFUNC matrix_multiply( simd_float2 __x, simd_float4x2 __y) { return simd_mul(__x, __y); } -static simd_float2 SIMD_CFUNC matrix_multiply( simd_float3 __x, simd_float2x3 __y) { return simd_mul(__x, __y); } -static simd_float3 SIMD_CFUNC matrix_multiply( simd_float3 __x, simd_float3x3 __y) { return simd_mul(__x, __y); } -static simd_float4 SIMD_CFUNC matrix_multiply( simd_float3 __x, simd_float4x3 __y) { return simd_mul(__x, __y); } -static simd_float2 SIMD_CFUNC matrix_multiply( simd_float4 __x, simd_float2x4 __y) { return simd_mul(__x, __y); } -static simd_float3 SIMD_CFUNC matrix_multiply( simd_float4 __x, simd_float3x4 __y) { return simd_mul(__x, __y); } -static simd_float4 SIMD_CFUNC matrix_multiply( simd_float4 __x, simd_float4x4 __y) { return simd_mul(__x, __y); } -static simd_double2 SIMD_CFUNC matrix_multiply(simd_double2 __x, simd_double2x2 __y) { return simd_mul(__x, __y); } -static simd_double3 SIMD_CFUNC matrix_multiply(simd_double2 __x, simd_double3x2 __y) { return simd_mul(__x, __y); } -static simd_double4 SIMD_CFUNC matrix_multiply(simd_double2 __x, simd_double4x2 __y) { return simd_mul(__x, __y); } -static simd_double2 SIMD_CFUNC matrix_multiply(simd_double3 __x, simd_double2x3 __y) { return simd_mul(__x, __y); } -static simd_double3 SIMD_CFUNC matrix_multiply(simd_double3 __x, simd_double3x3 __y) { return simd_mul(__x, __y); } -static simd_double4 SIMD_CFUNC matrix_multiply(simd_double3 __x, simd_double4x3 __y) { return simd_mul(__x, __y); } -static simd_double2 SIMD_CFUNC matrix_multiply(simd_double4 __x, simd_double2x4 __y) { return simd_mul(__x, __y); } -static simd_double3 SIMD_CFUNC matrix_multiply(simd_double4 __x, simd_double3x4 __y) { return simd_mul(__x, __y); } -static simd_double4 SIMD_CFUNC matrix_multiply(simd_double4 __x, simd_double4x4 __y) { return simd_mul(__x, __y); } - -static simd_float2x2 SIMD_CFUNC matrix_multiply( simd_float2x2 __x, simd_float2x2 __y) { return simd_mul(__x, __y); } -static simd_double2x2 SIMD_CFUNC matrix_multiply(simd_double2x2 __x, simd_double2x2 __y) { return simd_mul(__x, __y); } -static simd_float2x3 SIMD_CFUNC matrix_multiply( simd_float2x3 __x, simd_float2x2 __y) { return simd_mul(__x, __y); } -static simd_double2x3 SIMD_CFUNC matrix_multiply(simd_double2x3 __x, simd_double2x2 __y) { return simd_mul(__x, __y); } -static simd_float2x4 SIMD_CFUNC matrix_multiply( simd_float2x4 __x, simd_float2x2 __y) { return simd_mul(__x, __y); } -static simd_double2x4 SIMD_CFUNC matrix_multiply(simd_double2x4 __x, simd_double2x2 __y) { return simd_mul(__x, __y); } -static simd_float2x2 SIMD_CFUNC matrix_multiply( simd_float3x2 __x, simd_float2x3 __y) { return simd_mul(__x, __y); } -static simd_double2x2 SIMD_CFUNC matrix_multiply(simd_double3x2 __x, simd_double2x3 __y) { return simd_mul(__x, __y); } -static simd_float2x3 SIMD_CFUNC matrix_multiply( simd_float3x3 __x, simd_float2x3 __y) { return simd_mul(__x, __y); } -static simd_double2x3 SIMD_CFUNC matrix_multiply(simd_double3x3 __x, simd_double2x3 __y) { return simd_mul(__x, __y); } -static simd_float2x4 SIMD_CFUNC matrix_multiply( simd_float3x4 __x, simd_float2x3 __y) { return simd_mul(__x, __y); } -static simd_double2x4 SIMD_CFUNC matrix_multiply(simd_double3x4 __x, simd_double2x3 __y) { return simd_mul(__x, __y); } -static simd_float2x2 SIMD_CFUNC matrix_multiply( simd_float4x2 __x, simd_float2x4 __y) { return simd_mul(__x, __y); } -static simd_double2x2 SIMD_CFUNC matrix_multiply(simd_double4x2 __x, simd_double2x4 __y) { return simd_mul(__x, __y); } -static simd_float2x3 SIMD_CFUNC matrix_multiply( simd_float4x3 __x, simd_float2x4 __y) { return simd_mul(__x, __y); } -static simd_double2x3 SIMD_CFUNC matrix_multiply(simd_double4x3 __x, simd_double2x4 __y) { return simd_mul(__x, __y); } -static simd_float2x4 SIMD_CFUNC matrix_multiply( simd_float4x4 __x, simd_float2x4 __y) { return simd_mul(__x, __y); } -static simd_double2x4 SIMD_CFUNC matrix_multiply(simd_double4x4 __x, simd_double2x4 __y) { return simd_mul(__x, __y); } - -static simd_float3x2 SIMD_CFUNC matrix_multiply( simd_float2x2 __x, simd_float3x2 __y) { return simd_mul(__x, __y); } -static simd_double3x2 SIMD_CFUNC matrix_multiply(simd_double2x2 __x, simd_double3x2 __y) { return simd_mul(__x, __y); } -static simd_float3x3 SIMD_CFUNC matrix_multiply( simd_float2x3 __x, simd_float3x2 __y) { return simd_mul(__x, __y); } -static simd_double3x3 SIMD_CFUNC matrix_multiply(simd_double2x3 __x, simd_double3x2 __y) { return simd_mul(__x, __y); } -static simd_float3x4 SIMD_CFUNC matrix_multiply( simd_float2x4 __x, simd_float3x2 __y) { return simd_mul(__x, __y); } -static simd_double3x4 SIMD_CFUNC matrix_multiply(simd_double2x4 __x, simd_double3x2 __y) { return simd_mul(__x, __y); } -static simd_float3x2 SIMD_CFUNC matrix_multiply( simd_float3x2 __x, simd_float3x3 __y) { return simd_mul(__x, __y); } -static simd_double3x2 SIMD_CFUNC matrix_multiply(simd_double3x2 __x, simd_double3x3 __y) { return simd_mul(__x, __y); } -static simd_float3x3 SIMD_CFUNC matrix_multiply( simd_float3x3 __x, simd_float3x3 __y) { return simd_mul(__x, __y); } -static simd_double3x3 SIMD_CFUNC matrix_multiply(simd_double3x3 __x, simd_double3x3 __y) { return simd_mul(__x, __y); } -static simd_float3x4 SIMD_CFUNC matrix_multiply( simd_float3x4 __x, simd_float3x3 __y) { return simd_mul(__x, __y); } -static simd_double3x4 SIMD_CFUNC matrix_multiply(simd_double3x4 __x, simd_double3x3 __y) { return simd_mul(__x, __y); } -static simd_float3x2 SIMD_CFUNC matrix_multiply( simd_float4x2 __x, simd_float3x4 __y) { return simd_mul(__x, __y); } -static simd_double3x2 SIMD_CFUNC matrix_multiply(simd_double4x2 __x, simd_double3x4 __y) { return simd_mul(__x, __y); } -static simd_float3x3 SIMD_CFUNC matrix_multiply( simd_float4x3 __x, simd_float3x4 __y) { return simd_mul(__x, __y); } -static simd_double3x3 SIMD_CFUNC matrix_multiply(simd_double4x3 __x, simd_double3x4 __y) { return simd_mul(__x, __y); } -static simd_float3x4 SIMD_CFUNC matrix_multiply( simd_float4x4 __x, simd_float3x4 __y) { return simd_mul(__x, __y); } -static simd_double3x4 SIMD_CFUNC matrix_multiply(simd_double4x4 __x, simd_double3x4 __y) { return simd_mul(__x, __y); } - -static simd_float4x2 SIMD_CFUNC matrix_multiply( simd_float2x2 __x, simd_float4x2 __y) { return simd_mul(__x, __y); } -static simd_double4x2 SIMD_CFUNC matrix_multiply(simd_double2x2 __x, simd_double4x2 __y) { return simd_mul(__x, __y); } -static simd_float4x3 SIMD_CFUNC matrix_multiply( simd_float2x3 __x, simd_float4x2 __y) { return simd_mul(__x, __y); } -static simd_double4x3 SIMD_CFUNC matrix_multiply(simd_double2x3 __x, simd_double4x2 __y) { return simd_mul(__x, __y); } -static simd_float4x4 SIMD_CFUNC matrix_multiply( simd_float2x4 __x, simd_float4x2 __y) { return simd_mul(__x, __y); } -static simd_double4x4 SIMD_CFUNC matrix_multiply(simd_double2x4 __x, simd_double4x2 __y) { return simd_mul(__x, __y); } -static simd_float4x2 SIMD_CFUNC matrix_multiply( simd_float3x2 __x, simd_float4x3 __y) { return simd_mul(__x, __y); } -static simd_double4x2 SIMD_CFUNC matrix_multiply(simd_double3x2 __x, simd_double4x3 __y) { return simd_mul(__x, __y); } -static simd_float4x3 SIMD_CFUNC matrix_multiply( simd_float3x3 __x, simd_float4x3 __y) { return simd_mul(__x, __y); } -static simd_double4x3 SIMD_CFUNC matrix_multiply(simd_double3x3 __x, simd_double4x3 __y) { return simd_mul(__x, __y); } -static simd_float4x4 SIMD_CFUNC matrix_multiply( simd_float3x4 __x, simd_float4x3 __y) { return simd_mul(__x, __y); } -static simd_double4x4 SIMD_CFUNC matrix_multiply(simd_double3x4 __x, simd_double4x3 __y) { return simd_mul(__x, __y); } -static simd_float4x2 SIMD_CFUNC matrix_multiply( simd_float4x2 __x, simd_float4x4 __y) { return simd_mul(__x, __y); } -static simd_double4x2 SIMD_CFUNC matrix_multiply(simd_double4x2 __x, simd_double4x4 __y) { return simd_mul(__x, __y); } -static simd_float4x3 SIMD_CFUNC matrix_multiply( simd_float4x3 __x, simd_float4x4 __y) { return simd_mul(__x, __y); } -static simd_double4x3 SIMD_CFUNC matrix_multiply(simd_double4x3 __x, simd_double4x4 __y) { return simd_mul(__x, __y); } -static simd_float4x4 SIMD_CFUNC matrix_multiply( simd_float4x4 __x, simd_float4x4 __y) { return simd_mul(__x, __y); } -static simd_double4x4 SIMD_CFUNC matrix_multiply(simd_double4x4 __x, simd_double4x4 __y) { return simd_mul(__x, __y); } - -static simd_bool SIMD_CFUNC simd_equal(simd_float2x2 __x, simd_float2x2 __y) { - return simd_all((__x.columns[0] == __y.columns[0]) & - (__x.columns[1] == __y.columns[1])); -} -static simd_bool SIMD_CFUNC simd_equal(simd_float2x3 __x, simd_float2x3 __y) { - return simd_all((__x.columns[0] == __y.columns[0]) & - (__x.columns[1] == __y.columns[1])); -} -static simd_bool SIMD_CFUNC simd_equal(simd_float2x4 __x, simd_float2x4 __y) { - return simd_all((__x.columns[0] == __y.columns[0]) & - (__x.columns[1] == __y.columns[1])); -} -static simd_bool SIMD_CFUNC simd_equal(simd_float3x2 __x, simd_float3x2 __y) { - return simd_all((__x.columns[0] == __y.columns[0]) & - (__x.columns[1] == __y.columns[1]) & - (__x.columns[2] == __y.columns[2])); -} -static simd_bool SIMD_CFUNC simd_equal(simd_float3x3 __x, simd_float3x3 __y) { - return simd_all((__x.columns[0] == __y.columns[0]) & - (__x.columns[1] == __y.columns[1]) & - (__x.columns[2] == __y.columns[2])); -} -static simd_bool SIMD_CFUNC simd_equal(simd_float3x4 __x, simd_float3x4 __y) { - return simd_all((__x.columns[0] == __y.columns[0]) & - (__x.columns[1] == __y.columns[1]) & - (__x.columns[2] == __y.columns[2])); -} -static simd_bool SIMD_CFUNC simd_equal(simd_float4x2 __x, simd_float4x2 __y) { - return simd_all((__x.columns[0] == __y.columns[0]) & - (__x.columns[1] == __y.columns[1]) & - (__x.columns[2] == __y.columns[2]) & - (__x.columns[3] == __y.columns[3])); -} -static simd_bool SIMD_CFUNC simd_equal(simd_float4x3 __x, simd_float4x3 __y) { - return simd_all((__x.columns[0] == __y.columns[0]) & - (__x.columns[1] == __y.columns[1]) & - (__x.columns[2] == __y.columns[2]) & - (__x.columns[3] == __y.columns[3])); -} -static simd_bool SIMD_CFUNC simd_equal(simd_float4x4 __x, simd_float4x4 __y) { - return simd_all((__x.columns[0] == __y.columns[0]) & - (__x.columns[1] == __y.columns[1]) & - (__x.columns[2] == __y.columns[2]) & - (__x.columns[3] == __y.columns[3])); -} -static simd_bool SIMD_CFUNC simd_equal(simd_double2x2 __x, simd_double2x2 __y) { - return simd_all((__x.columns[0] == __y.columns[0]) & - (__x.columns[1] == __y.columns[1])); -} -static simd_bool SIMD_CFUNC simd_equal(simd_double2x3 __x, simd_double2x3 __y) { - return simd_all((__x.columns[0] == __y.columns[0]) & - (__x.columns[1] == __y.columns[1])); -} -static simd_bool SIMD_CFUNC simd_equal(simd_double2x4 __x, simd_double2x4 __y) { - return simd_all((__x.columns[0] == __y.columns[0]) & - (__x.columns[1] == __y.columns[1])); -} -static simd_bool SIMD_CFUNC simd_equal(simd_double3x2 __x, simd_double3x2 __y) { - return simd_all((__x.columns[0] == __y.columns[0]) & - (__x.columns[1] == __y.columns[1]) & - (__x.columns[2] == __y.columns[2])); -} -static simd_bool SIMD_CFUNC simd_equal(simd_double3x3 __x, simd_double3x3 __y) { - return simd_all((__x.columns[0] == __y.columns[0]) & - (__x.columns[1] == __y.columns[1]) & - (__x.columns[2] == __y.columns[2])); -} -static simd_bool SIMD_CFUNC simd_equal(simd_double3x4 __x, simd_double3x4 __y) { - return simd_all((__x.columns[0] == __y.columns[0]) & - (__x.columns[1] == __y.columns[1]) & - (__x.columns[2] == __y.columns[2])); -} -static simd_bool SIMD_CFUNC simd_equal(simd_double4x2 __x, simd_double4x2 __y) { - return simd_all((__x.columns[0] == __y.columns[0]) & - (__x.columns[1] == __y.columns[1]) & - (__x.columns[2] == __y.columns[2]) & - (__x.columns[3] == __y.columns[3])); -} -static simd_bool SIMD_CFUNC simd_equal(simd_double4x3 __x, simd_double4x3 __y) { - return simd_all((__x.columns[0] == __y.columns[0]) & - (__x.columns[1] == __y.columns[1]) & - (__x.columns[2] == __y.columns[2]) & - (__x.columns[3] == __y.columns[3])); -} -static simd_bool SIMD_CFUNC simd_equal(simd_double4x4 __x, simd_double4x4 __y) { - return simd_all((__x.columns[0] == __y.columns[0]) & - (__x.columns[1] == __y.columns[1]) & - (__x.columns[2] == __y.columns[2]) & - (__x.columns[3] == __y.columns[3])); -} - -static simd_bool SIMD_CFUNC simd_almost_equal_elements(simd_float2x2 __x, simd_float2x2 __y, float __tol) { - return simd_all((__tg_fabs(__x.columns[0] - __y.columns[0]) <= __tol) & - (__tg_fabs(__x.columns[1] - __y.columns[1]) <= __tol)); -} -static simd_bool SIMD_CFUNC simd_almost_equal_elements(simd_float2x3 __x, simd_float2x3 __y, float __tol) { - return simd_all((__tg_fabs(__x.columns[0] - __y.columns[0]) <= __tol) & - (__tg_fabs(__x.columns[1] - __y.columns[1]) <= __tol)); -} -static simd_bool SIMD_CFUNC simd_almost_equal_elements(simd_float2x4 __x, simd_float2x4 __y, float __tol) { - return simd_all((__tg_fabs(__x.columns[0] - __y.columns[0]) <= __tol) & - (__tg_fabs(__x.columns[1] - __y.columns[1]) <= __tol)); -} -static simd_bool SIMD_CFUNC simd_almost_equal_elements(simd_float3x2 __x, simd_float3x2 __y, float __tol) { - return simd_all((__tg_fabs(__x.columns[0] - __y.columns[0]) <= __tol) & - (__tg_fabs(__x.columns[1] - __y.columns[1]) <= __tol) & - (__tg_fabs(__x.columns[2] - __y.columns[2]) <= __tol)); -} -static simd_bool SIMD_CFUNC simd_almost_equal_elements(simd_float3x3 __x, simd_float3x3 __y, float __tol) { - return simd_all((__tg_fabs(__x.columns[0] - __y.columns[0]) <= __tol) & - (__tg_fabs(__x.columns[1] - __y.columns[1]) <= __tol) & - (__tg_fabs(__x.columns[2] - __y.columns[2]) <= __tol)); -} -static simd_bool SIMD_CFUNC simd_almost_equal_elements(simd_float3x4 __x, simd_float3x4 __y, float __tol) { - return simd_all((__tg_fabs(__x.columns[0] - __y.columns[0]) <= __tol) & - (__tg_fabs(__x.columns[1] - __y.columns[1]) <= __tol) & - (__tg_fabs(__x.columns[2] - __y.columns[2]) <= __tol)); -} -static simd_bool SIMD_CFUNC simd_almost_equal_elements(simd_float4x2 __x, simd_float4x2 __y, float __tol) { - return simd_all((__tg_fabs(__x.columns[0] - __y.columns[0]) <= __tol) & - (__tg_fabs(__x.columns[1] - __y.columns[1]) <= __tol) & - (__tg_fabs(__x.columns[2] - __y.columns[2]) <= __tol) & - (__tg_fabs(__x.columns[3] - __y.columns[3]) <= __tol)); -} -static simd_bool SIMD_CFUNC simd_almost_equal_elements(simd_float4x3 __x, simd_float4x3 __y, float __tol) { - return simd_all((__tg_fabs(__x.columns[0] - __y.columns[0]) <= __tol) & - (__tg_fabs(__x.columns[1] - __y.columns[1]) <= __tol) & - (__tg_fabs(__x.columns[2] - __y.columns[2]) <= __tol) & - (__tg_fabs(__x.columns[3] - __y.columns[3]) <= __tol)); -} -static simd_bool SIMD_CFUNC simd_almost_equal_elements(simd_float4x4 __x, simd_float4x4 __y, float __tol) { - return simd_all((__tg_fabs(__x.columns[0] - __y.columns[0]) <= __tol) & - (__tg_fabs(__x.columns[1] - __y.columns[1]) <= __tol) & - (__tg_fabs(__x.columns[2] - __y.columns[2]) <= __tol) & - (__tg_fabs(__x.columns[3] - __y.columns[3]) <= __tol)); -} -static simd_bool SIMD_CFUNC simd_almost_equal_elements(simd_double2x2 __x, simd_double2x2 __y, double __tol) { - return simd_all((__tg_fabs(__x.columns[0] - __y.columns[0]) <= __tol) & - (__tg_fabs(__x.columns[1] - __y.columns[1]) <= __tol)); -} -static simd_bool SIMD_CFUNC simd_almost_equal_elements(simd_double2x3 __x, simd_double2x3 __y, double __tol) { - return simd_all((__tg_fabs(__x.columns[0] - __y.columns[0]) <= __tol) & - (__tg_fabs(__x.columns[1] - __y.columns[1]) <= __tol)); -} -static simd_bool SIMD_CFUNC simd_almost_equal_elements(simd_double2x4 __x, simd_double2x4 __y, double __tol) { - return simd_all((__tg_fabs(__x.columns[0] - __y.columns[0]) <= __tol) & - (__tg_fabs(__x.columns[1] - __y.columns[1]) <= __tol)); -} -static simd_bool SIMD_CFUNC simd_almost_equal_elements(simd_double3x2 __x, simd_double3x2 __y, double __tol) { - return simd_all((__tg_fabs(__x.columns[0] - __y.columns[0]) <= __tol) & - (__tg_fabs(__x.columns[1] - __y.columns[1]) <= __tol) & - (__tg_fabs(__x.columns[2] - __y.columns[2]) <= __tol)); -} -static simd_bool SIMD_CFUNC simd_almost_equal_elements(simd_double3x3 __x, simd_double3x3 __y, double __tol) { - return simd_all((__tg_fabs(__x.columns[0] - __y.columns[0]) <= __tol) & - (__tg_fabs(__x.columns[1] - __y.columns[1]) <= __tol) & - (__tg_fabs(__x.columns[2] - __y.columns[2]) <= __tol)); -} -static simd_bool SIMD_CFUNC simd_almost_equal_elements(simd_double3x4 __x, simd_double3x4 __y, double __tol) { - return simd_all((__tg_fabs(__x.columns[0] - __y.columns[0]) <= __tol) & - (__tg_fabs(__x.columns[1] - __y.columns[1]) <= __tol) & - (__tg_fabs(__x.columns[2] - __y.columns[2]) <= __tol)); -} -static simd_bool SIMD_CFUNC simd_almost_equal_elements(simd_double4x2 __x, simd_double4x2 __y, double __tol) { - return simd_all((__tg_fabs(__x.columns[0] - __y.columns[0]) <= __tol) & - (__tg_fabs(__x.columns[1] - __y.columns[1]) <= __tol) & - (__tg_fabs(__x.columns[2] - __y.columns[2]) <= __tol) & - (__tg_fabs(__x.columns[3] - __y.columns[3]) <= __tol)); -} -static simd_bool SIMD_CFUNC simd_almost_equal_elements(simd_double4x3 __x, simd_double4x3 __y, double __tol) { - return simd_all((__tg_fabs(__x.columns[0] - __y.columns[0]) <= __tol) & - (__tg_fabs(__x.columns[1] - __y.columns[1]) <= __tol) & - (__tg_fabs(__x.columns[2] - __y.columns[2]) <= __tol) & - (__tg_fabs(__x.columns[3] - __y.columns[3]) <= __tol)); -} -static simd_bool SIMD_CFUNC simd_almost_equal_elements(simd_double4x4 __x, simd_double4x4 __y, double __tol) { - return simd_all((__tg_fabs(__x.columns[0] - __y.columns[0]) <= __tol) & - (__tg_fabs(__x.columns[1] - __y.columns[1]) <= __tol) & - (__tg_fabs(__x.columns[2] - __y.columns[2]) <= __tol) & - (__tg_fabs(__x.columns[3] - __y.columns[3]) <= __tol)); -} - -static simd_bool SIMD_CFUNC simd_almost_equal_elements_relative(simd_float2x2 __x, simd_float2x2 __y, float __tol) { - return simd_all((__tg_fabs(__x.columns[0] - __y.columns[0]) <= __tol*__tg_fabs(__x.columns[0])) & - (__tg_fabs(__x.columns[1] - __y.columns[1]) <= __tol*__tg_fabs(__x.columns[1]))); -} -static simd_bool SIMD_CFUNC simd_almost_equal_elements_relative(simd_float2x3 __x, simd_float2x3 __y, float __tol) { - return simd_all((__tg_fabs(__x.columns[0] - __y.columns[0]) <= __tol*__tg_fabs(__x.columns[0])) & - (__tg_fabs(__x.columns[1] - __y.columns[1]) <= __tol*__tg_fabs(__x.columns[1]))); -} -static simd_bool SIMD_CFUNC simd_almost_equal_elements_relative(simd_float2x4 __x, simd_float2x4 __y, float __tol) { - return simd_all((__tg_fabs(__x.columns[0] - __y.columns[0]) <= __tol*__tg_fabs(__x.columns[0])) & - (__tg_fabs(__x.columns[1] - __y.columns[1]) <= __tol*__tg_fabs(__x.columns[1]))); -} -static simd_bool SIMD_CFUNC simd_almost_equal_elements_relative(simd_float3x2 __x, simd_float3x2 __y, float __tol) { - return simd_all((__tg_fabs(__x.columns[0] - __y.columns[0]) <= __tol*__tg_fabs(__x.columns[0])) & - (__tg_fabs(__x.columns[1] - __y.columns[1]) <= __tol*__tg_fabs(__x.columns[1])) & - (__tg_fabs(__x.columns[2] - __y.columns[2]) <= __tol*__tg_fabs(__x.columns[2]))); -} -static simd_bool SIMD_CFUNC simd_almost_equal_elements_relative(simd_float3x3 __x, simd_float3x3 __y, float __tol) { - return simd_all((__tg_fabs(__x.columns[0] - __y.columns[0]) <= __tol*__tg_fabs(__x.columns[0])) & - (__tg_fabs(__x.columns[1] - __y.columns[1]) <= __tol*__tg_fabs(__x.columns[1])) & - (__tg_fabs(__x.columns[2] - __y.columns[2]) <= __tol*__tg_fabs(__x.columns[2]))); -} -static simd_bool SIMD_CFUNC simd_almost_equal_elements_relative(simd_float3x4 __x, simd_float3x4 __y, float __tol) { - return simd_all((__tg_fabs(__x.columns[0] - __y.columns[0]) <= __tol*__tg_fabs(__x.columns[0])) & - (__tg_fabs(__x.columns[1] - __y.columns[1]) <= __tol*__tg_fabs(__x.columns[1])) & - (__tg_fabs(__x.columns[2] - __y.columns[2]) <= __tol*__tg_fabs(__x.columns[2]))); -} -static simd_bool SIMD_CFUNC simd_almost_equal_elements_relative(simd_float4x2 __x, simd_float4x2 __y, float __tol) { - return simd_all((__tg_fabs(__x.columns[0] - __y.columns[0]) <= __tol*__tg_fabs(__x.columns[0])) & - (__tg_fabs(__x.columns[1] - __y.columns[1]) <= __tol*__tg_fabs(__x.columns[1])) & - (__tg_fabs(__x.columns[2] - __y.columns[2]) <= __tol*__tg_fabs(__x.columns[2])) & - (__tg_fabs(__x.columns[3] - __y.columns[3]) <= __tol*__tg_fabs(__x.columns[3]))); -} -static simd_bool SIMD_CFUNC simd_almost_equal_elements_relative(simd_float4x3 __x, simd_float4x3 __y, float __tol) { - return simd_all((__tg_fabs(__x.columns[0] - __y.columns[0]) <= __tol*__tg_fabs(__x.columns[0])) & - (__tg_fabs(__x.columns[1] - __y.columns[1]) <= __tol*__tg_fabs(__x.columns[1])) & - (__tg_fabs(__x.columns[2] - __y.columns[2]) <= __tol*__tg_fabs(__x.columns[2])) & - (__tg_fabs(__x.columns[3] - __y.columns[3]) <= __tol*__tg_fabs(__x.columns[3]))); -} -static simd_bool SIMD_CFUNC simd_almost_equal_elements_relative(simd_float4x4 __x, simd_float4x4 __y, float __tol) { - return simd_all((__tg_fabs(__x.columns[0] - __y.columns[0]) <= __tol*__tg_fabs(__x.columns[0])) & - (__tg_fabs(__x.columns[1] - __y.columns[1]) <= __tol*__tg_fabs(__x.columns[1])) & - (__tg_fabs(__x.columns[2] - __y.columns[2]) <= __tol*__tg_fabs(__x.columns[2])) & - (__tg_fabs(__x.columns[3] - __y.columns[3]) <= __tol*__tg_fabs(__x.columns[3]))); -} -static simd_bool SIMD_CFUNC simd_almost_equal_elements_relative(simd_double2x2 __x, simd_double2x2 __y, double __tol) { - return simd_all((__tg_fabs(__x.columns[0] - __y.columns[0]) <= __tol*__tg_fabs(__x.columns[0])) & - (__tg_fabs(__x.columns[1] - __y.columns[1]) <= __tol*__tg_fabs(__x.columns[1]))); -} -static simd_bool SIMD_CFUNC simd_almost_equal_elements_relative(simd_double2x3 __x, simd_double2x3 __y, double __tol) { - return simd_all((__tg_fabs(__x.columns[0] - __y.columns[0]) <= __tol*__tg_fabs(__x.columns[0])) & - (__tg_fabs(__x.columns[1] - __y.columns[1]) <= __tol*__tg_fabs(__x.columns[1]))); -} -static simd_bool SIMD_CFUNC simd_almost_equal_elements_relative(simd_double2x4 __x, simd_double2x4 __y, double __tol) { - return simd_all((__tg_fabs(__x.columns[0] - __y.columns[0]) <= __tol*__tg_fabs(__x.columns[0])) & - (__tg_fabs(__x.columns[1] - __y.columns[1]) <= __tol*__tg_fabs(__x.columns[1]))); -} -static simd_bool SIMD_CFUNC simd_almost_equal_elements_relative(simd_double3x2 __x, simd_double3x2 __y, double __tol) { - return simd_all((__tg_fabs(__x.columns[0] - __y.columns[0]) <= __tol*__tg_fabs(__x.columns[0])) & - (__tg_fabs(__x.columns[1] - __y.columns[1]) <= __tol*__tg_fabs(__x.columns[1])) & - (__tg_fabs(__x.columns[2] - __y.columns[2]) <= __tol*__tg_fabs(__x.columns[2]))); -} -static simd_bool SIMD_CFUNC simd_almost_equal_elements_relative(simd_double3x3 __x, simd_double3x3 __y, double __tol) { - return simd_all((__tg_fabs(__x.columns[0] - __y.columns[0]) <= __tol*__tg_fabs(__x.columns[0])) & - (__tg_fabs(__x.columns[1] - __y.columns[1]) <= __tol*__tg_fabs(__x.columns[1])) & - (__tg_fabs(__x.columns[2] - __y.columns[2]) <= __tol*__tg_fabs(__x.columns[2]))); -} -static simd_bool SIMD_CFUNC simd_almost_equal_elements_relative(simd_double3x4 __x, simd_double3x4 __y, double __tol) { - return simd_all((__tg_fabs(__x.columns[0] - __y.columns[0]) <= __tol*__tg_fabs(__x.columns[0])) & - (__tg_fabs(__x.columns[1] - __y.columns[1]) <= __tol*__tg_fabs(__x.columns[1])) & - (__tg_fabs(__x.columns[2] - __y.columns[2]) <= __tol*__tg_fabs(__x.columns[2]))); -} -static simd_bool SIMD_CFUNC simd_almost_equal_elements_relative(simd_double4x2 __x, simd_double4x2 __y, double __tol) { - return simd_all((__tg_fabs(__x.columns[0] - __y.columns[0]) <= __tol*__tg_fabs(__x.columns[0])) & - (__tg_fabs(__x.columns[1] - __y.columns[1]) <= __tol*__tg_fabs(__x.columns[1])) & - (__tg_fabs(__x.columns[2] - __y.columns[2]) <= __tol*__tg_fabs(__x.columns[2])) & - (__tg_fabs(__x.columns[3] - __y.columns[3]) <= __tol*__tg_fabs(__x.columns[3]))); -} -static simd_bool SIMD_CFUNC simd_almost_equal_elements_relative(simd_double4x3 __x, simd_double4x3 __y, double __tol) { - return simd_all((__tg_fabs(__x.columns[0] - __y.columns[0]) <= __tol*__tg_fabs(__x.columns[0])) & - (__tg_fabs(__x.columns[1] - __y.columns[1]) <= __tol*__tg_fabs(__x.columns[1])) & - (__tg_fabs(__x.columns[2] - __y.columns[2]) <= __tol*__tg_fabs(__x.columns[2])) & - (__tg_fabs(__x.columns[3] - __y.columns[3]) <= __tol*__tg_fabs(__x.columns[3]))); -} -static simd_bool SIMD_CFUNC simd_almost_equal_elements_relative(simd_double4x4 __x, simd_double4x4 __y, double __tol) { - return simd_all((__tg_fabs(__x.columns[0] - __y.columns[0]) <= __tol*__tg_fabs(__x.columns[0])) & - (__tg_fabs(__x.columns[1] - __y.columns[1]) <= __tol*__tg_fabs(__x.columns[1])) & - (__tg_fabs(__x.columns[2] - __y.columns[2]) <= __tol*__tg_fabs(__x.columns[2])) & - (__tg_fabs(__x.columns[3] - __y.columns[3]) <= __tol*__tg_fabs(__x.columns[3]))); -} - -#ifdef __cplusplus -} -#endif -#endif /* SIMD_COMPILER_HAS_REQUIRED_FEATURES */ -#endif /* __SIMD_HEADER__ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.11-any/simd/matrix_types.h b/lib/libc/include/any-macos.11-any/simd/matrix_types.h deleted file mode 100644 index 904df687a6..0000000000 --- a/lib/libc/include/any-macos.11-any/simd/matrix_types.h +++ /dev/null @@ -1,264 +0,0 @@ -/* Copyright (c) 2014-2017 Apple, Inc. All rights reserved. - * - * This header defines nine matrix types for each of float and double, which - * are intended for use together with the vector types defined in - * . - * - * For compatibility with common graphics libraries, these matrices are stored - * in column-major order, and implemented as arrays of column vectors. - * Column-major storage order may seem a little strange if you aren't used to - * it, but for most usage the memory layout of the matrices shouldn't matter - * at all; instead you should think of matrices as abstract mathematical - * objects that you use to perform arithmetic without worrying about the - * details of the underlying representation. - * - * WARNING: vectors of length three are internally represented as length four - * vectors with one element of padding (for alignment purposes). This means - * that when a floatNx3 or doubleNx3 is viewed as a vector, it appears to - * have 4*N elements instead of the expected 3*N (with one padding element - * at the end of each column). The matrix elements are laid out in memory - * as follows: - * - * { 0, 1, 2, x, 3, 4, 5, x, ... } - * - * (where the scalar indices used above indicate the conceptual column- - * major storage order). If you aren't monkeying around with the internal - * storage details of matrices, you don't need to worry about this at all. - * Consider this yet another good reason to avoid doing so. */ - -#ifndef SIMD_MATRIX_TYPES_HEADER -#define SIMD_MATRIX_TYPES_HEADER - -#include -#if SIMD_COMPILER_HAS_REQUIRED_FEATURES - -/* Matrix types available in C, Objective-C, and C++ */ -typedef simd_float2x2 matrix_float2x2; -typedef simd_float3x2 matrix_float3x2; -typedef simd_float4x2 matrix_float4x2; - -typedef simd_float2x3 matrix_float2x3; -typedef simd_float3x3 matrix_float3x3; -typedef simd_float4x3 matrix_float4x3; - -typedef simd_float2x4 matrix_float2x4; -typedef simd_float3x4 matrix_float3x4; -typedef simd_float4x4 matrix_float4x4; - -typedef simd_double2x2 matrix_double2x2; -typedef simd_double3x2 matrix_double3x2; -typedef simd_double4x2 matrix_double4x2; - -typedef simd_double2x3 matrix_double2x3; -typedef simd_double3x3 matrix_double3x3; -typedef simd_double4x3 matrix_double4x3; - -typedef simd_double2x4 matrix_double2x4; -typedef simd_double3x4 matrix_double3x4; -typedef simd_double4x4 matrix_double4x4; - -#ifdef __cplusplus -#if defined SIMD_MATRIX_HEADER -static simd_float3x3 SIMD_NOINLINE simd_matrix3x3(simd_quatf q); -static simd_float4x4 SIMD_NOINLINE simd_matrix4x4(simd_quatf q); -static simd_double3x3 SIMD_NOINLINE simd_matrix3x3(simd_quatd q); -static simd_double4x4 SIMD_NOINLINE simd_matrix4x4(simd_quatd q); -#endif - -namespace simd { - - struct float2x2 : ::simd_float2x2 { - float2x2() { columns[0] = 0; columns[1] = 0; } -#if __has_feature(cxx_delegating_constructors) - float2x2(float diagonal) : float2x2((float2)diagonal) { } -#endif - float2x2(float2 v) { columns[0] = (float2){v.x,0}; columns[1] = (float2){0,v.y}; } - float2x2(float2 c0, float2 c1) { columns[0] = c0; columns[1] = c1; } - float2x2(::simd_float2x2 m) : ::simd_float2x2(m) { } - }; - - struct float3x2 : ::simd_float3x2 { - float3x2() { columns[0] = 0; columns[1] = 0; columns[2] = 0; } -#if __has_feature(cxx_delegating_constructors) - float3x2(float diagonal) : float3x2((float2)diagonal) { } -#endif - float3x2(float2 v) { columns[0] = (float2){v.x,0}; columns[1] = (float2){0,v.y}; columns[2] = 0; } - float3x2(float2 c0, float2 c1, float2 c2) { columns[0] = c0; columns[1] = c1; columns[2] = c2; } - float3x2(::simd_float3x2 m) : ::simd_float3x2(m) { } - }; - - struct float4x2 : ::simd_float4x2 { - float4x2() { columns[0] = 0; columns[1] = 0; columns[2] = 0; columns[3] = 0; } -#if __has_feature(cxx_delegating_constructors) - float4x2(float diagonal) : float4x2((float2)diagonal) { } -#endif - float4x2(float2 v) { columns[0] = (float2){v.x,0}; columns[1] = (float2){0,v.y}; columns[2] = 0; columns[3] = 0; } - float4x2(float2 c0, float2 c1, float2 c2, float2 c3) { columns[0] = c0; columns[1] = c1; columns[2] = c2; columns[3] = c3; } - float4x2(::simd_float4x2 m) : ::simd_float4x2(m) { } - }; - - struct float2x3 : ::simd_float2x3 { - float2x3() { columns[0] = 0; columns[1] = 0; } -#if __has_feature(cxx_delegating_constructors) - float2x3(float diagonal) : float2x3((float2)diagonal) { } -#endif - float2x3(float2 v) { columns[0] = (float3){v.x,0,0}; columns[1] = (float3){0,v.y,0}; } - float2x3(float3 c0, float3 c1) { columns[0] = c0; columns[1] = c1; } - float2x3(::simd_float2x3 m) : ::simd_float2x3(m) { } - }; - - struct float3x3 : ::simd_float3x3 { - float3x3() { columns[0] = 0; columns[1] = 0; columns[2] = 0; } -#if __has_feature(cxx_delegating_constructors) - float3x3(float diagonal) : float3x3((float3)diagonal) { } -#endif - float3x3(float3 v) { columns[0] = (float3){v.x,0,0}; columns[1] = (float3){0,v.y,0}; columns[2] = (float3){0,0,v.z}; } - float3x3(float3 c0, float3 c1, float3 c2) { columns[0] = c0; columns[1] = c1; columns[2] = c2; } - float3x3(::simd_float3x3 m) : ::simd_float3x3(m) { } -#if defined SIMD_MATRIX_HEADER - float3x3(::simd_quatf q) : ::simd_float3x3(::simd_matrix3x3(q)) { } -#endif - }; - - struct float4x3 : ::simd_float4x3 { - float4x3() { columns[0] = 0; columns[1] = 0; columns[2] = 0; columns[3] = 0; } -#if __has_feature(cxx_delegating_constructors) - float4x3(float diagonal) : float4x3((float3)diagonal) { } -#endif - float4x3(float3 v) { columns[0] = (float3){v.x,0,0}; columns[1] = (float3){0,v.y,0}; columns[2] = (float3){0,0,v.z}; columns[3] = 0; } - float4x3(float3 c0, float3 c1, float3 c2, float3 c3) { columns[0] = c0; columns[1] = c1; columns[2] = c2; columns[3] = c3; } - float4x3(::simd_float4x3 m) : ::simd_float4x3(m) { } - }; - - struct float2x4 : ::simd_float2x4 { - float2x4() { columns[0] = 0; columns[1] = 0; } -#if __has_feature(cxx_delegating_constructors) - float2x4(float diagonal) : float2x4((float2)diagonal) { } -#endif - float2x4(float2 v) { columns[0] = (float4){v.x,0,0,0}; columns[1] = (float4){0,v.y,0,0}; } - float2x4(float4 c0, float4 c1) { columns[0] = c0; columns[1] = c1; } - float2x4(::simd_float2x4 m) : ::simd_float2x4(m) { } - }; - - struct float3x4 : ::simd_float3x4 { - float3x4() { columns[0] = 0; columns[1] = 0; columns[2] = 0; } -#if __has_feature(cxx_delegating_constructors) - float3x4(float diagonal) : float3x4((float3)diagonal) { } -#endif - float3x4(float3 v) { columns[0] = (float4){v.x,0,0,0}; columns[1] = (float4){0,v.y,0,0}; columns[2] = (float4){0,0,v.z,0}; } - float3x4(float4 c0, float4 c1, float4 c2) { columns[0] = c0; columns[1] = c1; columns[2] = c2; } - float3x4(::simd_float3x4 m) : ::simd_float3x4(m) { } - }; - - struct float4x4 : ::simd_float4x4 { - float4x4() { columns[0] = 0; columns[1] = 0; columns[2] = 0; columns[3] = 0; } -#if __has_feature(cxx_delegating_constructors) - float4x4(float diagonal) : float4x4((float4)diagonal) { } -#endif - float4x4(float4 v) { columns[0] = (float4){v.x,0,0,0}; columns[1] = (float4){0,v.y,0,0}; columns[2] = (float4){0,0,v.z,0}; columns[3] = (float4){0,0,0,v.w}; } - float4x4(float4 c0, float4 c1, float4 c2, float4 c3) { columns[0] = c0; columns[1] = c1; columns[2] = c2; columns[3] = c3; } - float4x4(::simd_float4x4 m) : ::simd_float4x4(m) { } -#if defined SIMD_MATRIX_HEADER - float4x4(::simd_quatf q) : ::simd_float4x4(::simd_matrix4x4(q)) { } -#endif - }; - - struct double2x2 : ::simd_double2x2 { - double2x2() { columns[0] = 0; columns[1] = 0; } -#if __has_feature(cxx_delegating_constructors) - double2x2(double diagonal) : double2x2((double2)diagonal) { } -#endif - double2x2(double2 v) { columns[0] = (double2){v.x,0}; columns[1] = (double2){0,v.y}; } - double2x2(double2 c0, double2 c1) { columns[0] = c0; columns[1] = c1; } - double2x2(::simd_double2x2 m) : ::simd_double2x2(m) { } - }; - - struct double3x2 : ::simd_double3x2 { - double3x2() { columns[0] = 0; columns[1] = 0; columns[2] = 0; } -#if __has_feature(cxx_delegating_constructors) - double3x2(double diagonal) : double3x2((double2)diagonal) { } -#endif - double3x2(double2 v) { columns[0] = (double2){v.x,0}; columns[1] = (double2){0,v.y}; columns[2] = 0; } - double3x2(double2 c0, double2 c1, double2 c2) { columns[0] = c0; columns[1] = c1; columns[2] = c2; } - double3x2(::simd_double3x2 m) : ::simd_double3x2(m) { } - }; - - struct double4x2 : ::simd_double4x2 { - double4x2() { columns[0] = 0; columns[1] = 0; columns[2] = 0; columns[3] = 0; } -#if __has_feature(cxx_delegating_constructors) - double4x2(double diagonal) : double4x2((double2)diagonal) { } -#endif - double4x2(double2 v) { columns[0] = (double2){v.x,0}; columns[1] = (double2){0,v.y}; columns[2] = 0; columns[3] = 0; } - double4x2(double2 c0, double2 c1, double2 c2, double2 c3) { columns[0] = c0; columns[1] = c1; columns[2] = c2; columns[3] = c3; } - double4x2(::simd_double4x2 m) : ::simd_double4x2(m) { } - }; - - struct double2x3 : ::simd_double2x3 { - double2x3() { columns[0] = 0; columns[1] = 0; } -#if __has_feature(cxx_delegating_constructors) - double2x3(double diagonal) : double2x3((double2)diagonal) { } -#endif - double2x3(double2 v) { columns[0] = (double3){v.x,0,0}; columns[1] = (double3){0,v.y,0}; } - double2x3(double3 c0, double3 c1) { columns[0] = c0; columns[1] = c1; } - double2x3(::simd_double2x3 m) : ::simd_double2x3(m) { } - }; - - struct double3x3 : ::simd_double3x3 { - double3x3() { columns[0] = 0; columns[1] = 0; columns[2] = 0; } -#if __has_feature(cxx_delegating_constructors) - double3x3(double diagonal) : double3x3((double3)diagonal) { } -#endif - double3x3(double3 v) { columns[0] = (double3){v.x,0,0}; columns[1] = (double3){0,v.y,0}; columns[2] = (double3){0,0,v.z}; } - double3x3(double3 c0, double3 c1, double3 c2) { columns[0] = c0; columns[1] = c1; columns[2] = c2; } - double3x3(::simd_double3x3 m) : ::simd_double3x3(m) { } -#if defined SIMD_MATRIX_HEADER - double3x3(::simd_quatd q) : ::simd_double3x3(::simd_matrix3x3(q)) { } -#endif - }; - - struct double4x3 : ::simd_double4x3 { - double4x3() { columns[0] = 0; columns[1] = 0; columns[2] = 0; columns[3] = 0; } -#if __has_feature(cxx_delegating_constructors) - double4x3(double diagonal) : double4x3((double3)diagonal) { } -#endif - double4x3(double3 v) { columns[0] = (double3){v.x,0,0}; columns[1] = (double3){0,v.y,0}; columns[2] = (double3){0,0,v.z}; columns[3] = 0; } - double4x3(double3 c0, double3 c1, double3 c2, double3 c3) { columns[0] = c0; columns[1] = c1; columns[2] = c2; columns[3] = c3; } - double4x3(::simd_double4x3 m) : ::simd_double4x3(m) { } - }; - - struct double2x4 : ::simd_double2x4 { - double2x4() { columns[0] = 0; columns[1] = 0; } -#if __has_feature(cxx_delegating_constructors) - double2x4(double diagonal) : double2x4((double2)diagonal) { } -#endif - double2x4(double2 v) { columns[0] = (double4){v.x,0,0,0}; columns[1] = (double4){0,v.y,0,0}; } - double2x4(double4 c0, double4 c1) { columns[0] = c0; columns[1] = c1; } - double2x4(::simd_double2x4 m) : ::simd_double2x4(m) { } - }; - - struct double3x4 : ::simd_double3x4 { - double3x4() { columns[0] = 0; columns[1] = 0; columns[2] = 0; } -#if __has_feature(cxx_delegating_constructors) - double3x4(double diagonal) : double3x4((double3)diagonal) { } -#endif - double3x4(double3 v) { columns[0] = (double4){v.x,0,0,0}; columns[1] = (double4){0,v.y,0,0}; columns[2] = (double4){0,0,v.z,0}; } - double3x4(double4 c0, double4 c1, double4 c2) { columns[0] = c0; columns[1] = c1; columns[2] = c2; } - double3x4(::simd_double3x4 m) : ::simd_double3x4(m) { } - }; - - struct double4x4 : ::simd_double4x4 { - double4x4() { columns[0] = 0; columns[1] = 0; columns[2] = 0; columns[3] = 0; } -#if __has_feature(cxx_delegating_constructors) - double4x4(double diagonal) : double4x4((double4)diagonal) { } -#endif - double4x4(double4 v) { columns[0] = (double4){v.x,0,0,0}; columns[1] = (double4){0,v.y,0,0}; columns[2] = (double4){0,0,v.z,0}; columns[3] = (double4){0,0,0,v.w}; } - double4x4(double4 c0, double4 c1, double4 c2, double4 c3) { columns[0] = c0; columns[1] = c1; columns[2] = c2; columns[3] = c3; } - double4x4(::simd_double4x4 m) : ::simd_double4x4(m) { } -#if defined SIMD_MATRIX_HEADER - double4x4(::simd_quatd q) : ::simd_double4x4(::simd_matrix4x4(q)) { } -#endif - }; -} -#endif /* __cplusplus */ -#endif /* SIMD_COMPILER_HAS_REQUIRED_FEATURES */ -#endif /* SIMD_MATRIX_TYPES_HEADER */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.11-any/simd/quaternion.h b/lib/libc/include/any-macos.11-any/simd/quaternion.h deleted file mode 100644 index b7c5e2909d..0000000000 --- a/lib/libc/include/any-macos.11-any/simd/quaternion.h +++ /dev/null @@ -1,1194 +0,0 @@ -/*! @header - * This header defines functions for constructing and using quaternions. - * @copyright 2015-2016 Apple, Inc. All rights reserved. - * @unsorted */ - -#ifndef SIMD_QUATERNIONS -#define SIMD_QUATERNIONS - -#include -#if SIMD_COMPILER_HAS_REQUIRED_FEATURES -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* MARK: - C and Objective-C float interfaces */ - -/*! @abstract Constructs a quaternion from four scalar values. - * - * @param ix The first component of the imaginary (vector) part. - * @param iy The second component of the imaginary (vector) part. - * @param iz The third component of the imaginary (vector) part. - * - * @param r The real (scalar) part. */ -static inline SIMD_CFUNC simd_quatf simd_quaternion(float ix, float iy, float iz, float r) { - return (simd_quatf){ { ix, iy, iz, r } }; -} - -/*! @abstract Constructs a quaternion from an array of four scalars. - * - * @discussion Note that the imaginary part of the quaternion comes from - * array elements 0, 1, and 2, and the real part comes from element 3. */ -static inline SIMD_NONCONST simd_quatf simd_quaternion(const float xyzr[4]) { - return (simd_quatf){ *(const simd_packed_float4 *)xyzr }; -} - -/*! @abstract Constructs a quaternion from a four-element vector. - * - * @discussion Note that the imaginary (vector) part of the quaternion comes - * from lanes 0, 1, and 2 of the vector, and the real (scalar) part comes from - * lane 3. */ -static inline SIMD_CFUNC simd_quatf simd_quaternion(simd_float4 xyzr) { - return (simd_quatf){ xyzr }; -} - -/*! @abstract Constructs a quaternion that rotates by `angle` radians about - * `axis`. */ -static inline SIMD_CFUNC simd_quatf simd_quaternion(float angle, simd_float3 axis); - -/*! @abstract Construct a quaternion that rotates from one vector to another. - * - * @param from A normalized three-element vector. - * @param to A normalized three-element vector. - * - * @discussion The rotation axis is `simd_cross(from, to)`. If `from` and - * `to` point in opposite directions (to within machine precision), an - * arbitrary rotation axis is chosen, and the angle is pi radians. */ -static SIMD_NOINLINE simd_quatf simd_quaternion(simd_float3 from, simd_float3 to); - -/*! @abstract Construct a quaternion from a 3x3 rotation `matrix`. - * - * @discussion If `matrix` is not orthogonal with determinant 1, the result - * is undefined. */ -static SIMD_NOINLINE simd_quatf simd_quaternion(simd_float3x3 matrix); - -/*! @abstract Construct a quaternion from a 4x4 rotation `matrix`. - * - * @discussion The last row and column of the matrix are ignored. This - * function is equivalent to calling simd_quaternion with the upper-left 3x3 - * submatrix . */ -static SIMD_NOINLINE simd_quatf simd_quaternion(simd_float4x4 matrix); - -/*! @abstract The real (scalar) part of the quaternion `q`. */ -static inline SIMD_CFUNC float simd_real(simd_quatf q) { - return q.vector.w; -} - -/*! @abstract The imaginary (vector) part of the quaternion `q`. */ -static inline SIMD_CFUNC simd_float3 simd_imag(simd_quatf q) { - return q.vector.xyz; -} - -/*! @abstract The angle (in radians) of rotation represented by `q`. */ -static inline SIMD_CFUNC float simd_angle(simd_quatf q); - -/*! @abstract The normalized axis (a 3-element vector) around which the - * action of the quaternion `q` rotates. */ -static inline SIMD_CFUNC simd_float3 simd_axis(simd_quatf q); - -/*! @abstract The sum of the quaternions `p` and `q`. */ -static inline SIMD_CFUNC simd_quatf simd_add(simd_quatf p, simd_quatf q); - -/*! @abstract The difference of the quaternions `p` and `q`. */ -static inline SIMD_CFUNC simd_quatf simd_sub(simd_quatf p, simd_quatf q); - -/*! @abstract The product of the quaternions `p` and `q`. */ -static inline SIMD_CFUNC simd_quatf simd_mul(simd_quatf p, simd_quatf q); - -/*! @abstract The quaternion `q` scaled by the real value `a`. */ -static inline SIMD_CFUNC simd_quatf simd_mul(simd_quatf q, float a); - -/*! @abstract The quaternion `q` scaled by the real value `a`. */ -static inline SIMD_CFUNC simd_quatf simd_mul(float a, simd_quatf q); - -/*! @abstract The conjugate of the quaternion `q`. */ -static inline SIMD_CFUNC simd_quatf simd_conjugate(simd_quatf q); - -/*! @abstract The (multiplicative) inverse of the quaternion `q`. */ -static inline SIMD_CFUNC simd_quatf simd_inverse(simd_quatf q); - -/*! @abstract The negation (additive inverse) of the quaternion `q`. */ -static inline SIMD_CFUNC simd_quatf simd_negate(simd_quatf q); - -/*! @abstract The dot product of the quaternions `p` and `q` interpreted as - * four-dimensional vectors. */ -static inline SIMD_CFUNC float simd_dot(simd_quatf p, simd_quatf q); - -/*! @abstract The length of the quaternion `q`. */ -static inline SIMD_CFUNC float simd_length(simd_quatf q); - -/*! @abstract The unit quaternion obtained by normalizing `q`. */ -static inline SIMD_CFUNC simd_quatf simd_normalize(simd_quatf q); - -/*! @abstract Rotates the vector `v` by the quaternion `q`. */ -static inline SIMD_CFUNC simd_float3 simd_act(simd_quatf q, simd_float3 v); - -/*! @abstract Logarithm of the quaternion `q`. - * @discussion Do not call this function directly; use `log(q)` instead. - * - * We can write a quaternion `q` in the form: `r(cos(t) + sin(t)v)` where - * `r` is the length of `q`, `t` is an angle, and `v` is a unit 3-vector. - * The logarithm of `q` is `log(r) + tv`, just like the logarithm of the - * complex number `r*(cos(t) + i sin(t))` is `log(r) + it`. - * - * Note that this function is not robust against poorly-scaled non-unit - * quaternions, because it is primarily used for spline interpolation of - * unit quaternions. If you need to compute a robust logarithm of general - * quaternions, you can use the following approach: - * - * scale = simd_reduce_max(simd_abs(q.vector)); - * logq = log(simd_recip(scale)*q); - * logq.real += log(scale); - * return logq; */ -static SIMD_NOINLINE simd_quatf __tg_log(simd_quatf q); - -/*! @abstract Inverse of `log( )`; the exponential map on quaternions. - * @discussion Do not call this function directly; use `exp(q)` instead. */ -static SIMD_NOINLINE simd_quatf __tg_exp(simd_quatf q); - -/*! @abstract Spherical linear interpolation along the shortest arc between - * quaternions `q0` and `q1`. */ -static SIMD_NOINLINE simd_quatf simd_slerp(simd_quatf q0, simd_quatf q1, float t); - -/*! @abstract Spherical linear interpolation along the longest arc between - * quaternions `q0` and `q1`. */ -static SIMD_NOINLINE simd_quatf simd_slerp_longest(simd_quatf q0, simd_quatf q1, float t); - -/*! @abstract Interpolate between quaternions along a spherical cubic spline. - * - * @discussion The function interpolates between q1 and q2. q0 is the left - * endpoint of the previous interval, and q3 is the right endpoint of the next - * interval. Use this function to smoothly interpolate between a sequence of - * rotations. */ -static SIMD_NOINLINE simd_quatf simd_spline(simd_quatf q0, simd_quatf q1, simd_quatf q2, simd_quatf q3, float t); - -/*! @abstract Spherical cubic Bezier interpolation between quaternions. - * - * @discussion The function treats q0 ... q3 as control points and uses slerp - * in place of lerp in the De Castlejeau algorithm. The endpoints of - * interpolation are thus q0 and q3, and the curve will not generally pass - * through q1 or q2. Note that the convex hull property of "standard" Bezier - * curve does not hold on the sphere. */ -static SIMD_NOINLINE simd_quatf simd_bezier(simd_quatf q0, simd_quatf q1, simd_quatf q2, simd_quatf q3, float t); - -#ifdef __cplusplus -} /* extern "C" */ -/* MARK: - C++ float interfaces */ - -namespace simd { - struct quatf : ::simd_quatf { - /*! @abstract The identity quaternion. */ - quatf( ) : ::simd_quatf(::simd_quaternion((float4){0,0,0,1})) { } - - /*! @abstract Constructs a C++ quaternion from a C quaternion. */ - quatf(::simd_quatf q) : ::simd_quatf(q) { } - - /*! @abstract Constructs a quaternion from components. */ - quatf(float ix, float iy, float iz, float r) : ::simd_quatf(::simd_quaternion(ix, iy, iz, r)) { } - - /*! @abstract Constructs a quaternion from an array of scalars. */ - quatf(const float xyzr[4]) : ::simd_quatf(::simd_quaternion(xyzr)) { } - - /*! @abstract Constructs a quaternion from a vector. */ - quatf(float4 xyzr) : ::simd_quatf(::simd_quaternion(xyzr)) { } - - /*! @abstract Quaternion representing rotation about `axis` by `angle` - * radians. */ - quatf(float angle, float3 axis) : ::simd_quatf(::simd_quaternion(angle, axis)) { } - - /*! @abstract Quaternion that rotates `from` into `to`. */ - quatf(float3 from, float3 to) : ::simd_quatf(::simd_quaternion(from, to)) { } - - /*! @abstract Constructs a quaternion from a rotation matrix. */ - quatf(::simd_float3x3 matrix) : ::simd_quatf(::simd_quaternion(matrix)) { } - - /*! @abstract Constructs a quaternion from a rotation matrix. */ - quatf(::simd_float4x4 matrix) : ::simd_quatf(::simd_quaternion(matrix)) { } - - /*! @abstract The real (scalar) part of the quaternion. */ - float real(void) const { return ::simd_real(*this); } - - /*! @abstract The imaginary (vector) part of the quaternion. */ - float3 imag(void) const { return ::simd_imag(*this); } - - /*! @abstract The angle the quaternion rotates by. */ - float angle(void) const { return ::simd_angle(*this); } - - /*! @abstract The axis the quaternion rotates about. */ - float3 axis(void) const { return ::simd_axis(*this); } - - /*! @abstract The length of the quaternion. */ - float length(void) const { return ::simd_length(*this); } - - /*! @abstract Act on the vector `v` by rotation. */ - float3 operator()(const ::simd_float3 v) const { return ::simd_act(*this, v); } - }; - - static SIMD_CPPFUNC quatf operator+(const ::simd_quatf p, const ::simd_quatf q) { return ::simd_add(p, q); } - static SIMD_CPPFUNC quatf operator-(const ::simd_quatf p, const ::simd_quatf q) { return ::simd_sub(p, q); } - static SIMD_CPPFUNC quatf operator-(const ::simd_quatf p) { return ::simd_negate(p); } - static SIMD_CPPFUNC quatf operator*(const float r, const ::simd_quatf p) { return ::simd_mul(r, p); } - static SIMD_CPPFUNC quatf operator*(const ::simd_quatf p, const float r) { return ::simd_mul(p, r); } - static SIMD_CPPFUNC quatf operator*(const ::simd_quatf p, const ::simd_quatf q) { return ::simd_mul(p, q); } - static SIMD_CPPFUNC quatf operator/(const ::simd_quatf p, const ::simd_quatf q) { return ::simd_mul(p, ::simd_inverse(q)); } - static SIMD_CPPFUNC quatf operator+=(quatf &p, const ::simd_quatf q) { return p = p+q; } - static SIMD_CPPFUNC quatf operator-=(quatf &p, const ::simd_quatf q) { return p = p-q; } - static SIMD_CPPFUNC quatf operator*=(quatf &p, const float r) { return p = p*r; } - static SIMD_CPPFUNC quatf operator*=(quatf &p, const ::simd_quatf q) { return p = p*q; } - static SIMD_CPPFUNC quatf operator/=(quatf &p, const ::simd_quatf q) { return p = p/q; } - - /*! @abstract The conjugate of the quaternion `q`. */ - static SIMD_CPPFUNC quatf conjugate(const ::simd_quatf p) { return ::simd_conjugate(p); } - - /*! @abstract The (multiplicative) inverse of the quaternion `q`. */ - static SIMD_CPPFUNC quatf inverse(const ::simd_quatf p) { return ::simd_inverse(p); } - - /*! @abstract The dot product of the quaternions `p` and `q` interpreted as - * four-dimensional vectors. */ - static SIMD_CPPFUNC float dot(const ::simd_quatf p, const ::simd_quatf q) { return ::simd_dot(p, q); } - - /*! @abstract The unit quaternion obtained by normalizing `q`. */ - static SIMD_CPPFUNC quatf normalize(const ::simd_quatf p) { return ::simd_normalize(p); } - - /*! @abstract logarithm of the quaternion `q`. */ - static SIMD_CPPFUNC quatf log(const ::simd_quatf q) { return ::__tg_log(q); } - - /*! @abstract exponential map of quaterion `q`. */ - static SIMD_CPPFUNC quatf exp(const ::simd_quatf q) { return ::__tg_exp(q); } - - /*! @abstract Spherical linear interpolation along the shortest arc between - * quaternions `q0` and `q1`. */ - static SIMD_CPPFUNC quatf slerp(const ::simd_quatf p0, const ::simd_quatf p1, float t) { return ::simd_slerp(p0, p1, t); } - - /*! @abstract Spherical linear interpolation along the longest arc between - * quaternions `q0` and `q1`. */ - static SIMD_CPPFUNC quatf slerp_longest(const ::simd_quatf p0, const ::simd_quatf p1, float t) { return ::simd_slerp_longest(p0, p1, t); } - - /*! @abstract Interpolate between quaternions along a spherical cubic spline. - * - * @discussion The function interpolates between q1 and q2. q0 is the left - * endpoint of the previous interval, and q3 is the right endpoint of the next - * interval. Use this function to smoothly interpolate between a sequence of - * rotations. */ - static SIMD_CPPFUNC quatf spline(const ::simd_quatf p0, const ::simd_quatf p1, const ::simd_quatf p2, const ::simd_quatf p3, float t) { return ::simd_spline(p0, p1, p2, p3, t); } - - /*! @abstract Spherical cubic Bezier interpolation between quaternions. - * - * @discussion The function treats q0 ... q3 as control points and uses slerp - * in place of lerp in the De Castlejeau algorithm. The endpoints of - * interpolation are thus q0 and q3, and the curve will not generally pass - * through q1 or q2. Note that the convex hull property of "standard" Bezier - * curve does not hold on the sphere. */ - static SIMD_CPPFUNC quatf bezier(const ::simd_quatf p0, const ::simd_quatf p1, const ::simd_quatf p2, const ::simd_quatf p3, float t) { return ::simd_bezier(p0, p1, p2, p3, t); } -} - -extern "C" { -#endif /* __cplusplus */ - -/* MARK: - float implementations */ - -#include -#include - -/* tg_promote is implementation gobbledygook that enables the compile-time - * dispatching in tgmath.h to work its magic. */ -static simd_quatf __attribute__((__overloadable__)) __tg_promote(simd_quatf); - -/*! @abstract Constructs a quaternion from imaginary and real parts. - * @discussion This function is hidden behind an underscore to avoid confusion - * with the angle-axis constructor. */ -static inline SIMD_CFUNC simd_quatf _simd_quaternion(simd_float3 imag, float real) { - return simd_quaternion(simd_make_float4(imag, real)); -} - -static inline SIMD_CFUNC simd_quatf simd_quaternion(float angle, simd_float3 axis) { - return _simd_quaternion(sin(angle/2) * axis, cos(angle/2)); -} - -static inline SIMD_CFUNC float simd_angle(simd_quatf q) { - return 2*atan2(simd_length(q.vector.xyz), q.vector.w); -} - -static inline SIMD_CFUNC simd_float3 simd_axis(simd_quatf q) { - return simd_normalize(q.vector.xyz); -} - -static inline SIMD_CFUNC simd_quatf simd_add(simd_quatf p, simd_quatf q) { - return simd_quaternion(p.vector + q.vector); -} - -static inline SIMD_CFUNC simd_quatf simd_sub(simd_quatf p, simd_quatf q) { - return simd_quaternion(p.vector - q.vector); -} - -static inline SIMD_CFUNC simd_quatf simd_mul(simd_quatf p, simd_quatf q) { - #pragma STDC FP_CONTRACT ON - return simd_quaternion((p.vector.x * __builtin_shufflevector(q.vector, -q.vector, 3,6,1,4) + - p.vector.y * __builtin_shufflevector(q.vector, -q.vector, 2,3,4,5)) + - (p.vector.z * __builtin_shufflevector(q.vector, -q.vector, 5,0,3,6) + - p.vector.w * q.vector)); -} - -static inline SIMD_CFUNC simd_quatf simd_mul(simd_quatf q, float a) { - return simd_quaternion(a * q.vector); -} - -static inline SIMD_CFUNC simd_quatf simd_mul(float a, simd_quatf q) { - return simd_mul(q,a); -} - -static inline SIMD_CFUNC simd_quatf simd_conjugate(simd_quatf q) { - return simd_quaternion(q.vector * (simd_float4){-1,-1,-1, 1}); -} - -static inline SIMD_CFUNC simd_quatf simd_inverse(simd_quatf q) { - return simd_quaternion(simd_conjugate(q).vector * simd_recip(simd_length_squared(q.vector))); -} - -static inline SIMD_CFUNC simd_quatf simd_negate(simd_quatf q) { - return simd_quaternion(-q.vector); -} - -static inline SIMD_CFUNC float simd_dot(simd_quatf p, simd_quatf q) { - return simd_dot(p.vector, q.vector); -} - -static inline SIMD_CFUNC float simd_length(simd_quatf q) { - return simd_length(q.vector); -} - -static inline SIMD_CFUNC simd_quatf simd_normalize(simd_quatf q) { - float length_squared = simd_length_squared(q.vector); - if (length_squared == 0) { - return simd_quaternion((simd_float4){0,0,0,1}); - } - return simd_quaternion(q.vector * simd_rsqrt(length_squared)); -} - -#if defined __arm__ || defined __arm64__ -/*! @abstract Multiplies the vector `v` by the quaternion `q`. - * - * @discussion This IS NOT the action of `q` on `v` (i.e. this is not rotation - * by `q`. That operation is provided by `simd_act(q, v)`. This function is an - * implementation detail and you should not call it directly. It may be - * removed or modified in future versions of the simd module. */ -static inline SIMD_CFUNC simd_quatf _simd_mul_vq(simd_float3 v, simd_quatf q) { - #pragma STDC FP_CONTRACT ON - return simd_quaternion(v.x * __builtin_shufflevector(q.vector, -q.vector, 3,6,1,4) + - v.y * __builtin_shufflevector(q.vector, -q.vector, 2,3,4,5) + - v.z * __builtin_shufflevector(q.vector, -q.vector, 5,0,3,6)); -} -#endif - -static inline SIMD_CFUNC simd_float3 simd_act(simd_quatf q, simd_float3 v) { -#if defined __arm__ || defined __arm64__ - return simd_mul(q, _simd_mul_vq(v, simd_conjugate(q))).vector.xyz; -#else - #pragma STDC FP_CONTRACT ON - simd_float3 t = 2*simd_cross(simd_imag(q),v); - return v + simd_real(q)*t + simd_cross(simd_imag(q), t); -#endif -} - -static SIMD_NOINLINE simd_quatf __tg_log(simd_quatf q) { - float real = __tg_log(simd_length_squared(q.vector))/2; - if (simd_equal(simd_imag(q), 0)) return _simd_quaternion(0, real); - simd_float3 imag = __tg_acos(simd_real(q)/simd_length(q)) * simd_normalize(simd_imag(q)); - return _simd_quaternion(imag, real); -} - -static SIMD_NOINLINE simd_quatf __tg_exp(simd_quatf q) { - // angle is actually *twice* the angle of the rotation corresponding to - // the resulting quaternion, which is why we don't simply use the (angle, - // axis) constructor to generate `unit`. - float angle = simd_length(simd_imag(q)); - if (angle == 0) return _simd_quaternion(0, exp(simd_real(q))); - simd_float3 axis = simd_normalize(simd_imag(q)); - simd_quatf unit = _simd_quaternion(sin(angle)*axis, cosf(angle)); - return simd_mul(exp(simd_real(q)), unit); -} - -/*! @abstract Implementation detail of the `simd_quaternion(from, to)` - * initializer. - * - * @discussion Computes the quaternion rotation `from` to `to` if they are - * separated by less than 90 degrees. Not numerically stable for larger - * angles. This function is an implementation detail and you should not - * call it directly. It may be removed or modified in future versions of the - * simd module. */ -static inline SIMD_CFUNC simd_quatf _simd_quaternion_reduced(simd_float3 from, simd_float3 to) { - simd_float3 half = simd_normalize(from + to); - return _simd_quaternion(simd_cross(from, half), simd_dot(from, half)); -} - -static SIMD_NOINLINE simd_quatf simd_quaternion(simd_float3 from, simd_float3 to) { - - // If the angle between from and to is not too big, we can compute the - // rotation accurately using a simple implementation. - if (simd_dot(from, to) >= 0) { - return _simd_quaternion_reduced(from, to); - } - - // Because from and to are more than 90 degrees apart, we compute the - // rotation in two stages (from -> half), (half -> to) to preserve numerical - // accuracy. - simd_float3 half = from + to; - - if (simd_length_squared(half) == 0) { - // half is nearly zero, so from and to point in nearly opposite directions - // and the rotation is numerically underspecified. Pick an axis orthogonal - // to the vectors, and use an angle of pi radians. - simd_float3 abs_from = simd_abs(from); - if (abs_from.x <= abs_from.y && abs_from.x <= abs_from.z) - return _simd_quaternion(simd_normalize(simd_cross(from, (simd_float3){1,0,0})), 0.f); - else if (abs_from.y <= abs_from.z) - return _simd_quaternion(simd_normalize(simd_cross(from, (simd_float3){0,1,0})), 0.f); - else - return _simd_quaternion(simd_normalize(simd_cross(from, (simd_float3){0,0,1})), 0.f); - } - - // Compute the two-step rotation. */ - half = simd_normalize(half); - return simd_mul(_simd_quaternion_reduced(from, half), - _simd_quaternion_reduced(half, to)); -} - -static SIMD_NOINLINE simd_quatf simd_quaternion(simd_float3x3 matrix) { - const simd_float3 *mat = matrix.columns; - float trace = mat[0][0] + mat[1][1] + mat[2][2]; - if (trace >= 0.0) { - float r = 2*sqrt(1 + trace); - float rinv = simd_recip(r); - return simd_quaternion(rinv*(mat[1][2] - mat[2][1]), - rinv*(mat[2][0] - mat[0][2]), - rinv*(mat[0][1] - mat[1][0]), - r/4); - } else if (mat[0][0] >= mat[1][1] && mat[0][0] >= mat[2][2]) { - float r = 2*sqrt(1 - mat[1][1] - mat[2][2] + mat[0][0]); - float rinv = simd_recip(r); - return simd_quaternion(r/4, - rinv*(mat[0][1] + mat[1][0]), - rinv*(mat[0][2] + mat[2][0]), - rinv*(mat[1][2] - mat[2][1])); - } else if (mat[1][1] >= mat[2][2]) { - float r = 2*sqrt(1 - mat[0][0] - mat[2][2] + mat[1][1]); - float rinv = simd_recip(r); - return simd_quaternion(rinv*(mat[0][1] + mat[1][0]), - r/4, - rinv*(mat[1][2] + mat[2][1]), - rinv*(mat[2][0] - mat[0][2])); - } else { - float r = 2*sqrt(1 - mat[0][0] - mat[1][1] + mat[2][2]); - float rinv = simd_recip(r); - return simd_quaternion(rinv*(mat[0][2] + mat[2][0]), - rinv*(mat[1][2] + mat[2][1]), - r/4, - rinv*(mat[0][1] - mat[1][0])); - } -} - -static SIMD_NOINLINE simd_quatf simd_quaternion(simd_float4x4 matrix) { - const simd_float4 *mat = matrix.columns; - float trace = mat[0][0] + mat[1][1] + mat[2][2]; - if (trace >= 0.0) { - float r = 2*sqrt(1 + trace); - float rinv = simd_recip(r); - return simd_quaternion(rinv*(mat[1][2] - mat[2][1]), - rinv*(mat[2][0] - mat[0][2]), - rinv*(mat[0][1] - mat[1][0]), - r/4); - } else if (mat[0][0] >= mat[1][1] && mat[0][0] >= mat[2][2]) { - float r = 2*sqrt(1 - mat[1][1] - mat[2][2] + mat[0][0]); - float rinv = simd_recip(r); - return simd_quaternion(r/4, - rinv*(mat[0][1] + mat[1][0]), - rinv*(mat[0][2] + mat[2][0]), - rinv*(mat[1][2] - mat[2][1])); - } else if (mat[1][1] >= mat[2][2]) { - float r = 2*sqrt(1 - mat[0][0] - mat[2][2] + mat[1][1]); - float rinv = simd_recip(r); - return simd_quaternion(rinv*(mat[0][1] + mat[1][0]), - r/4, - rinv*(mat[1][2] + mat[2][1]), - rinv*(mat[2][0] - mat[0][2])); - } else { - float r = 2*sqrt(1 - mat[0][0] - mat[1][1] + mat[2][2]); - float rinv = simd_recip(r); - return simd_quaternion(rinv*(mat[0][2] + mat[2][0]), - rinv*(mat[1][2] + mat[2][1]), - r/4, - rinv*(mat[0][1] - mat[1][0])); - } -} - -/*! @abstract The angle between p and q interpreted as 4-dimensional vectors. - * - * @discussion This function is an implementation detail and you should not - * call it directly. It may be removed or modified in future versions of the - * simd module. */ -static SIMD_NOINLINE float _simd_angle(simd_quatf p, simd_quatf q) { - return 2*atan2(simd_length(p.vector - q.vector), simd_length(p.vector + q.vector)); -} - -/*! @abstract sin(x)/x. - * - * @discussion This function is an implementation detail and you should not - * call it directly. It may be removed or modified in future versions of the - * simd module. */ -static SIMD_CFUNC float _simd_sinc(float x) { - if (x == 0) return 1; - return sin(x)/x; -} - -/*! @abstract Spherical lerp between q0 and q1. - * - * @discussion This function may interpolate along either the longer or - * shorter path between q0 and q1; it is used as an implementation detail - * in `simd_slerp` and `simd_slerp_longest`; you should use those functions - * instead of calling this directly. */ -static SIMD_NOINLINE simd_quatf _simd_slerp_internal(simd_quatf q0, simd_quatf q1, float t) { - float s = 1 - t; - float a = _simd_angle(q0, q1); - float r = simd_recip(_simd_sinc(a)); - return simd_normalize(simd_quaternion(_simd_sinc(s*a)*r*s*q0.vector + _simd_sinc(t*a)*r*t*q1.vector)); -} - -static SIMD_NOINLINE simd_quatf simd_slerp(simd_quatf q0, simd_quatf q1, float t) { - if (simd_dot(q0, q1) >= 0) - return _simd_slerp_internal(q0, q1, t); - return _simd_slerp_internal(q0, simd_negate(q1), t); -} - -static SIMD_NOINLINE simd_quatf simd_slerp_longest(simd_quatf q0, simd_quatf q1, float t) { - if (simd_dot(q0, q1) >= 0) - return _simd_slerp_internal(q0, simd_negate(q1), t); - return _simd_slerp_internal(q0, q1, t); -} - -/*! @discussion This function is an implementation detail and you should not - * call it directly. It may be removed or modified in future versions of the - * simd module. */ -static SIMD_NOINLINE simd_quatf _simd_intermediate(simd_quatf q0, simd_quatf q1, simd_quatf q2) { - simd_quatf p0 = __tg_log(simd_mul(q0, simd_inverse(q1))); - simd_quatf p2 = __tg_log(simd_mul(q2, simd_inverse(q1))); - return simd_normalize(simd_mul(q1, __tg_exp(simd_mul(-0.25, simd_add(p0,p2))))); -} - -/*! @discussion This function is an implementation detail and you should not - * call it directly. It may be removed or modified in future versions of the - * simd module. */ -static SIMD_NOINLINE simd_quatf _simd_squad(simd_quatf q0, simd_quatf qa, simd_quatf qb, simd_quatf q1, float t) { - simd_quatf r0 = _simd_slerp_internal(q0, q1, t); - simd_quatf r1 = _simd_slerp_internal(qa, qb, t); - return _simd_slerp_internal(r0, r1, 2*t*(1 - t)); -} - -static SIMD_NOINLINE simd_quatf simd_spline(simd_quatf q0, simd_quatf q1, simd_quatf q2, simd_quatf q3, float t) { - simd_quatf qa = _simd_intermediate(q0, q1, q2); - simd_quatf qb = _simd_intermediate(q1, q2, q3); - return _simd_squad(q1, qa, qb, q2, t); -} - -static SIMD_NOINLINE simd_quatf simd_bezier(simd_quatf q0, simd_quatf q1, simd_quatf q2, simd_quatf q3, float t) { - simd_quatf q01 = _simd_slerp_internal(q0, q1, t); - simd_quatf q12 = _simd_slerp_internal(q1, q2, t); - simd_quatf q23 = _simd_slerp_internal(q2, q3, t); - simd_quatf q012 = _simd_slerp_internal(q01, q12, t); - simd_quatf q123 = _simd_slerp_internal(q12, q23, t); - return _simd_slerp_internal(q012, q123, t); -} - -/* MARK: - C and Objective-C double interfaces */ - -/*! @abstract Constructs a quaternion from four scalar values. - * - * @param ix The first component of the imaginary (vector) part. - * @param iy The second component of the imaginary (vector) part. - * @param iz The third component of the imaginary (vector) part. - * - * @param r The real (scalar) part. */ -static inline SIMD_CFUNC simd_quatd simd_quaternion(double ix, double iy, double iz, double r) { - return (simd_quatd){ { ix, iy, iz, r } }; -} - -/*! @abstract Constructs a quaternion from an array of four scalars. - * - * @discussion Note that the imaginary part of the quaternion comes from - * array elements 0, 1, and 2, and the real part comes from element 3. */ -static inline SIMD_NONCONST simd_quatd simd_quaternion(const double xyzr[4]) { - return (simd_quatd){ *(const simd_packed_double4 *)xyzr }; -} - -/*! @abstract Constructs a quaternion from a four-element vector. - * - * @discussion Note that the imaginary (vector) part of the quaternion comes - * from lanes 0, 1, and 2 of the vector, and the real (scalar) part comes from - * lane 3. */ -static inline SIMD_CFUNC simd_quatd simd_quaternion(simd_double4 xyzr) { - return (simd_quatd){ xyzr }; -} - -/*! @abstract Constructs a quaternion that rotates by `angle` radians about - * `axis`. */ -static inline SIMD_CFUNC simd_quatd simd_quaternion(double angle, simd_double3 axis); - -/*! @abstract Construct a quaternion that rotates from one vector to another. - * - * @param from A normalized three-element vector. - * @param to A normalized three-element vector. - * - * @discussion The rotation axis is `simd_cross(from, to)`. If `from` and - * `to` point in opposite directions (to within machine precision), an - * arbitrary rotation axis is chosen, and the angle is pi radians. */ -static SIMD_NOINLINE simd_quatd simd_quaternion(simd_double3 from, simd_double3 to); - -/*! @abstract Construct a quaternion from a 3x3 rotation `matrix`. - * - * @discussion If `matrix` is not orthogonal with determinant 1, the result - * is undefined. */ -static SIMD_NOINLINE simd_quatd simd_quaternion(simd_double3x3 matrix); - -/*! @abstract Construct a quaternion from a 4x4 rotation `matrix`. - * - * @discussion The last row and column of the matrix are ignored. This - * function is equivalent to calling simd_quaternion with the upper-left 3x3 - * submatrix . */ -static SIMD_NOINLINE simd_quatd simd_quaternion(simd_double4x4 matrix); - -/*! @abstract The real (scalar) part of the quaternion `q`. */ -static inline SIMD_CFUNC double simd_real(simd_quatd q) { - return q.vector.w; -} - -/*! @abstract The imaginary (vector) part of the quaternion `q`. */ -static inline SIMD_CFUNC simd_double3 simd_imag(simd_quatd q) { - return q.vector.xyz; -} - -/*! @abstract The angle (in radians) of rotation represented by `q`. */ -static inline SIMD_CFUNC double simd_angle(simd_quatd q); - -/*! @abstract The normalized axis (a 3-element vector) around which the - * action of the quaternion `q` rotates. */ -static inline SIMD_CFUNC simd_double3 simd_axis(simd_quatd q); - -/*! @abstract The sum of the quaternions `p` and `q`. */ -static inline SIMD_CFUNC simd_quatd simd_add(simd_quatd p, simd_quatd q); - -/*! @abstract The difference of the quaternions `p` and `q`. */ -static inline SIMD_CFUNC simd_quatd simd_sub(simd_quatd p, simd_quatd q); - -/*! @abstract The product of the quaternions `p` and `q`. */ -static inline SIMD_CFUNC simd_quatd simd_mul(simd_quatd p, simd_quatd q); - -/*! @abstract The quaternion `q` scaled by the real value `a`. */ -static inline SIMD_CFUNC simd_quatd simd_mul(simd_quatd q, double a); - -/*! @abstract The quaternion `q` scaled by the real value `a`. */ -static inline SIMD_CFUNC simd_quatd simd_mul(double a, simd_quatd q); - -/*! @abstract The conjugate of the quaternion `q`. */ -static inline SIMD_CFUNC simd_quatd simd_conjugate(simd_quatd q); - -/*! @abstract The (multiplicative) inverse of the quaternion `q`. */ -static inline SIMD_CFUNC simd_quatd simd_inverse(simd_quatd q); - -/*! @abstract The negation (additive inverse) of the quaternion `q`. */ -static inline SIMD_CFUNC simd_quatd simd_negate(simd_quatd q); - -/*! @abstract The dot product of the quaternions `p` and `q` interpreted as - * four-dimensional vectors. */ -static inline SIMD_CFUNC double simd_dot(simd_quatd p, simd_quatd q); - -/*! @abstract The length of the quaternion `q`. */ -static inline SIMD_CFUNC double simd_length(simd_quatd q); - -/*! @abstract The unit quaternion obtained by normalizing `q`. */ -static inline SIMD_CFUNC simd_quatd simd_normalize(simd_quatd q); - -/*! @abstract Rotates the vector `v` by the quaternion `q`. */ -static inline SIMD_CFUNC simd_double3 simd_act(simd_quatd q, simd_double3 v); - -/*! @abstract Logarithm of the quaternion `q`. - * @discussion Do not call this function directly; use `log(q)` instead. - * - * We can write a quaternion `q` in the form: `r(cos(t) + sin(t)v)` where - * `r` is the length of `q`, `t` is an angle, and `v` is a unit 3-vector. - * The logarithm of `q` is `log(r) + tv`, just like the logarithm of the - * complex number `r*(cos(t) + i sin(t))` is `log(r) + it`. - * - * Note that this function is not robust against poorly-scaled non-unit - * quaternions, because it is primarily used for spline interpolation of - * unit quaternions. If you need to compute a robust logarithm of general - * quaternions, you can use the following approach: - * - * scale = simd_reduce_max(simd_abs(q.vector)); - * logq = log(simd_recip(scale)*q); - * logq.real += log(scale); - * return logq; */ -static SIMD_NOINLINE simd_quatd __tg_log(simd_quatd q); - -/*! @abstract Inverse of `log( )`; the exponential map on quaternions. - * @discussion Do not call this function directly; use `exp(q)` instead. */ -static SIMD_NOINLINE simd_quatd __tg_exp(simd_quatd q); - -/*! @abstract Spherical linear interpolation along the shortest arc between - * quaternions `q0` and `q1`. */ -static SIMD_NOINLINE simd_quatd simd_slerp(simd_quatd q0, simd_quatd q1, double t); - -/*! @abstract Spherical linear interpolation along the longest arc between - * quaternions `q0` and `q1`. */ -static SIMD_NOINLINE simd_quatd simd_slerp_longest(simd_quatd q0, simd_quatd q1, double t); - -/*! @abstract Interpolate between quaternions along a spherical cubic spline. - * - * @discussion The function interpolates between q1 and q2. q0 is the left - * endpoint of the previous interval, and q3 is the right endpoint of the next - * interval. Use this function to smoothly interpolate between a sequence of - * rotations. */ -static SIMD_NOINLINE simd_quatd simd_spline(simd_quatd q0, simd_quatd q1, simd_quatd q2, simd_quatd q3, double t); - -/*! @abstract Spherical cubic Bezier interpolation between quaternions. - * - * @discussion The function treats q0 ... q3 as control points and uses slerp - * in place of lerp in the De Castlejeau algorithm. The endpoints of - * interpolation are thus q0 and q3, and the curve will not generally pass - * through q1 or q2. Note that the convex hull property of "standard" Bezier - * curve does not hold on the sphere. */ -static SIMD_NOINLINE simd_quatd simd_bezier(simd_quatd q0, simd_quatd q1, simd_quatd q2, simd_quatd q3, double t); - -#ifdef __cplusplus -} /* extern "C" */ -/* MARK: - C++ double interfaces */ - -namespace simd { - struct quatd : ::simd_quatd { - /*! @abstract The identity quaternion. */ - quatd( ) : ::simd_quatd(::simd_quaternion((double4){0,0,0,1})) { } - - /*! @abstract Constructs a C++ quaternion from a C quaternion. */ - quatd(::simd_quatd q) : ::simd_quatd(q) { } - - /*! @abstract Constructs a quaternion from components. */ - quatd(double ix, double iy, double iz, double r) : ::simd_quatd(::simd_quaternion(ix, iy, iz, r)) { } - - /*! @abstract Constructs a quaternion from an array of scalars. */ - quatd(const double xyzr[4]) : ::simd_quatd(::simd_quaternion(xyzr)) { } - - /*! @abstract Constructs a quaternion from a vector. */ - quatd(double4 xyzr) : ::simd_quatd(::simd_quaternion(xyzr)) { } - - /*! @abstract Quaternion representing rotation about `axis` by `angle` - * radians. */ - quatd(double angle, double3 axis) : ::simd_quatd(::simd_quaternion(angle, axis)) { } - - /*! @abstract Quaternion that rotates `from` into `to`. */ - quatd(double3 from, double3 to) : ::simd_quatd(::simd_quaternion(from, to)) { } - - /*! @abstract Constructs a quaternion from a rotation matrix. */ - quatd(::simd_double3x3 matrix) : ::simd_quatd(::simd_quaternion(matrix)) { } - - /*! @abstract Constructs a quaternion from a rotation matrix. */ - quatd(::simd_double4x4 matrix) : ::simd_quatd(::simd_quaternion(matrix)) { } - - /*! @abstract The real (scalar) part of the quaternion. */ - double real(void) const { return ::simd_real(*this); } - - /*! @abstract The imaginary (vector) part of the quaternion. */ - double3 imag(void) const { return ::simd_imag(*this); } - - /*! @abstract The angle the quaternion rotates by. */ - double angle(void) const { return ::simd_angle(*this); } - - /*! @abstract The axis the quaternion rotates about. */ - double3 axis(void) const { return ::simd_axis(*this); } - - /*! @abstract The length of the quaternion. */ - double length(void) const { return ::simd_length(*this); } - - /*! @abstract Act on the vector `v` by rotation. */ - double3 operator()(const ::simd_double3 v) const { return ::simd_act(*this, v); } - }; - - static SIMD_CPPFUNC quatd operator+(const ::simd_quatd p, const ::simd_quatd q) { return ::simd_add(p, q); } - static SIMD_CPPFUNC quatd operator-(const ::simd_quatd p, const ::simd_quatd q) { return ::simd_sub(p, q); } - static SIMD_CPPFUNC quatd operator-(const ::simd_quatd p) { return ::simd_negate(p); } - static SIMD_CPPFUNC quatd operator*(const double r, const ::simd_quatd p) { return ::simd_mul(r, p); } - static SIMD_CPPFUNC quatd operator*(const ::simd_quatd p, const double r) { return ::simd_mul(p, r); } - static SIMD_CPPFUNC quatd operator*(const ::simd_quatd p, const ::simd_quatd q) { return ::simd_mul(p, q); } - static SIMD_CPPFUNC quatd operator/(const ::simd_quatd p, const ::simd_quatd q) { return ::simd_mul(p, ::simd_inverse(q)); } - static SIMD_CPPFUNC quatd operator+=(quatd &p, const ::simd_quatd q) { return p = p+q; } - static SIMD_CPPFUNC quatd operator-=(quatd &p, const ::simd_quatd q) { return p = p-q; } - static SIMD_CPPFUNC quatd operator*=(quatd &p, const double r) { return p = p*r; } - static SIMD_CPPFUNC quatd operator*=(quatd &p, const ::simd_quatd q) { return p = p*q; } - static SIMD_CPPFUNC quatd operator/=(quatd &p, const ::simd_quatd q) { return p = p/q; } - - /*! @abstract The conjugate of the quaternion `q`. */ - static SIMD_CPPFUNC quatd conjugate(const ::simd_quatd p) { return ::simd_conjugate(p); } - - /*! @abstract The (multiplicative) inverse of the quaternion `q`. */ - static SIMD_CPPFUNC quatd inverse(const ::simd_quatd p) { return ::simd_inverse(p); } - - /*! @abstract The dot product of the quaternions `p` and `q` interpreted as - * four-dimensional vectors. */ - static SIMD_CPPFUNC double dot(const ::simd_quatd p, const ::simd_quatd q) { return ::simd_dot(p, q); } - - /*! @abstract The unit quaternion obtained by normalizing `q`. */ - static SIMD_CPPFUNC quatd normalize(const ::simd_quatd p) { return ::simd_normalize(p); } - - /*! @abstract logarithm of the quaternion `q`. */ - static SIMD_CPPFUNC quatd log(const ::simd_quatd q) { return ::__tg_log(q); } - - /*! @abstract exponential map of quaterion `q`. */ - static SIMD_CPPFUNC quatd exp(const ::simd_quatd q) { return ::__tg_exp(q); } - - /*! @abstract Spherical linear interpolation along the shortest arc between - * quaternions `q0` and `q1`. */ - static SIMD_CPPFUNC quatd slerp(const ::simd_quatd p0, const ::simd_quatd p1, double t) { return ::simd_slerp(p0, p1, t); } - - /*! @abstract Spherical linear interpolation along the longest arc between - * quaternions `q0` and `q1`. */ - static SIMD_CPPFUNC quatd slerp_longest(const ::simd_quatd p0, const ::simd_quatd p1, double t) { return ::simd_slerp_longest(p0, p1, t); } - - /*! @abstract Interpolate between quaternions along a spherical cubic spline. - * - * @discussion The function interpolates between q1 and q2. q0 is the left - * endpoint of the previous interval, and q3 is the right endpoint of the next - * interval. Use this function to smoothly interpolate between a sequence of - * rotations. */ - static SIMD_CPPFUNC quatd spline(const ::simd_quatd p0, const ::simd_quatd p1, const ::simd_quatd p2, const ::simd_quatd p3, double t) { return ::simd_spline(p0, p1, p2, p3, t); } - - /*! @abstract Spherical cubic Bezier interpolation between quaternions. - * - * @discussion The function treats q0 ... q3 as control points and uses slerp - * in place of lerp in the De Castlejeau algorithm. The endpoints of - * interpolation are thus q0 and q3, and the curve will not generally pass - * through q1 or q2. Note that the convex hull property of "standard" Bezier - * curve does not hold on the sphere. */ - static SIMD_CPPFUNC quatd bezier(const ::simd_quatd p0, const ::simd_quatd p1, const ::simd_quatd p2, const ::simd_quatd p3, double t) { return ::simd_bezier(p0, p1, p2, p3, t); } -} - -extern "C" { -#endif /* __cplusplus */ - -/* MARK: - double implementations */ - -#include -#include - -/* tg_promote is implementation gobbledygook that enables the compile-time - * dispatching in tgmath.h to work its magic. */ -static simd_quatd __attribute__((__overloadable__)) __tg_promote(simd_quatd); - -/*! @abstract Constructs a quaternion from imaginary and real parts. - * @discussion This function is hidden behind an underscore to avoid confusion - * with the angle-axis constructor. */ -static inline SIMD_CFUNC simd_quatd _simd_quaternion(simd_double3 imag, double real) { - return simd_quaternion(simd_make_double4(imag, real)); -} - -static inline SIMD_CFUNC simd_quatd simd_quaternion(double angle, simd_double3 axis) { - return _simd_quaternion(sin(angle/2) * axis, cos(angle/2)); -} - -static inline SIMD_CFUNC double simd_angle(simd_quatd q) { - return 2*atan2(simd_length(q.vector.xyz), q.vector.w); -} - -static inline SIMD_CFUNC simd_double3 simd_axis(simd_quatd q) { - return simd_normalize(q.vector.xyz); -} - -static inline SIMD_CFUNC simd_quatd simd_add(simd_quatd p, simd_quatd q) { - return simd_quaternion(p.vector + q.vector); -} - -static inline SIMD_CFUNC simd_quatd simd_sub(simd_quatd p, simd_quatd q) { - return simd_quaternion(p.vector - q.vector); -} - -static inline SIMD_CFUNC simd_quatd simd_mul(simd_quatd p, simd_quatd q) { - #pragma STDC FP_CONTRACT ON - return simd_quaternion((p.vector.x * __builtin_shufflevector(q.vector, -q.vector, 3,6,1,4) + - p.vector.y * __builtin_shufflevector(q.vector, -q.vector, 2,3,4,5)) + - (p.vector.z * __builtin_shufflevector(q.vector, -q.vector, 5,0,3,6) + - p.vector.w * q.vector)); -} - -static inline SIMD_CFUNC simd_quatd simd_mul(simd_quatd q, double a) { - return simd_quaternion(a * q.vector); -} - -static inline SIMD_CFUNC simd_quatd simd_mul(double a, simd_quatd q) { - return simd_mul(q,a); -} - -static inline SIMD_CFUNC simd_quatd simd_conjugate(simd_quatd q) { - return simd_quaternion(q.vector * (simd_double4){-1,-1,-1, 1}); -} - -static inline SIMD_CFUNC simd_quatd simd_inverse(simd_quatd q) { - return simd_quaternion(simd_conjugate(q).vector * simd_recip(simd_length_squared(q.vector))); -} - -static inline SIMD_CFUNC simd_quatd simd_negate(simd_quatd q) { - return simd_quaternion(-q.vector); -} - -static inline SIMD_CFUNC double simd_dot(simd_quatd p, simd_quatd q) { - return simd_dot(p.vector, q.vector); -} - -static inline SIMD_CFUNC double simd_length(simd_quatd q) { - return simd_length(q.vector); -} - -static inline SIMD_CFUNC simd_quatd simd_normalize(simd_quatd q) { - double length_squared = simd_length_squared(q.vector); - if (length_squared == 0) { - return simd_quaternion((simd_double4){0,0,0,1}); - } - return simd_quaternion(q.vector * simd_rsqrt(length_squared)); -} - -#if defined __arm__ || defined __arm64__ -/*! @abstract Multiplies the vector `v` by the quaternion `q`. - * - * @discussion This IS NOT the action of `q` on `v` (i.e. this is not rotation - * by `q`. That operation is provided by `simd_act(q, v)`. This function is an - * implementation detail and you should not call it directly. It may be - * removed or modified in future versions of the simd module. */ -static inline SIMD_CFUNC simd_quatd _simd_mul_vq(simd_double3 v, simd_quatd q) { - #pragma STDC FP_CONTRACT ON - return simd_quaternion(v.x * __builtin_shufflevector(q.vector, -q.vector, 3,6,1,4) + - v.y * __builtin_shufflevector(q.vector, -q.vector, 2,3,4,5) + - v.z * __builtin_shufflevector(q.vector, -q.vector, 5,0,3,6)); -} -#endif - -static inline SIMD_CFUNC simd_double3 simd_act(simd_quatd q, simd_double3 v) { -#if defined __arm__ || defined __arm64__ - return simd_mul(q, _simd_mul_vq(v, simd_conjugate(q))).vector.xyz; -#else - #pragma STDC FP_CONTRACT ON - simd_double3 t = 2*simd_cross(simd_imag(q),v); - return v + simd_real(q)*t + simd_cross(simd_imag(q), t); -#endif -} - -static SIMD_NOINLINE simd_quatd __tg_log(simd_quatd q) { - double real = __tg_log(simd_length_squared(q.vector))/2; - if (simd_equal(simd_imag(q), 0)) return _simd_quaternion(0, real); - simd_double3 imag = __tg_acos(simd_real(q)/simd_length(q)) * simd_normalize(simd_imag(q)); - return _simd_quaternion(imag, real); -} - -static SIMD_NOINLINE simd_quatd __tg_exp(simd_quatd q) { - // angle is actually *twice* the angle of the rotation corresponding to - // the resulting quaternion, which is why we don't simply use the (angle, - // axis) constructor to generate `unit`. - double angle = simd_length(simd_imag(q)); - if (angle == 0) return _simd_quaternion(0, exp(simd_real(q))); - simd_double3 axis = simd_normalize(simd_imag(q)); - simd_quatd unit = _simd_quaternion(sin(angle)*axis, cosf(angle)); - return simd_mul(exp(simd_real(q)), unit); -} - -/*! @abstract Implementation detail of the `simd_quaternion(from, to)` - * initializer. - * - * @discussion Computes the quaternion rotation `from` to `to` if they are - * separated by less than 90 degrees. Not numerically stable for larger - * angles. This function is an implementation detail and you should not - * call it directly. It may be removed or modified in future versions of the - * simd module. */ -static inline SIMD_CFUNC simd_quatd _simd_quaternion_reduced(simd_double3 from, simd_double3 to) { - simd_double3 half = simd_normalize(from + to); - return _simd_quaternion(simd_cross(from, half), simd_dot(from, half)); -} - -static SIMD_NOINLINE simd_quatd simd_quaternion(simd_double3 from, simd_double3 to) { - - // If the angle between from and to is not too big, we can compute the - // rotation accurately using a simple implementation. - if (simd_dot(from, to) >= 0) { - return _simd_quaternion_reduced(from, to); - } - - // Because from and to are more than 90 degrees apart, we compute the - // rotation in two stages (from -> half), (half -> to) to preserve numerical - // accuracy. - simd_double3 half = from + to; - - if (simd_length_squared(half) == 0) { - // half is nearly zero, so from and to point in nearly opposite directions - // and the rotation is numerically underspecified. Pick an axis orthogonal - // to the vectors, and use an angle of pi radians. - simd_double3 abs_from = simd_abs(from); - if (abs_from.x <= abs_from.y && abs_from.x <= abs_from.z) - return _simd_quaternion(simd_normalize(simd_cross(from, (simd_double3){1,0,0})), 0.f); - else if (abs_from.y <= abs_from.z) - return _simd_quaternion(simd_normalize(simd_cross(from, (simd_double3){0,1,0})), 0.f); - else - return _simd_quaternion(simd_normalize(simd_cross(from, (simd_double3){0,0,1})), 0.f); - } - - // Compute the two-step rotation. */ - half = simd_normalize(half); - return simd_mul(_simd_quaternion_reduced(from, half), - _simd_quaternion_reduced(half, to)); -} - -static SIMD_NOINLINE simd_quatd simd_quaternion(simd_double3x3 matrix) { - const simd_double3 *mat = matrix.columns; - double trace = mat[0][0] + mat[1][1] + mat[2][2]; - if (trace >= 0.0) { - double r = 2*sqrt(1 + trace); - double rinv = simd_recip(r); - return simd_quaternion(rinv*(mat[1][2] - mat[2][1]), - rinv*(mat[2][0] - mat[0][2]), - rinv*(mat[0][1] - mat[1][0]), - r/4); - } else if (mat[0][0] >= mat[1][1] && mat[0][0] >= mat[2][2]) { - double r = 2*sqrt(1 - mat[1][1] - mat[2][2] + mat[0][0]); - double rinv = simd_recip(r); - return simd_quaternion(r/4, - rinv*(mat[0][1] + mat[1][0]), - rinv*(mat[0][2] + mat[2][0]), - rinv*(mat[1][2] - mat[2][1])); - } else if (mat[1][1] >= mat[2][2]) { - double r = 2*sqrt(1 - mat[0][0] - mat[2][2] + mat[1][1]); - double rinv = simd_recip(r); - return simd_quaternion(rinv*(mat[0][1] + mat[1][0]), - r/4, - rinv*(mat[1][2] + mat[2][1]), - rinv*(mat[2][0] - mat[0][2])); - } else { - double r = 2*sqrt(1 - mat[0][0] - mat[1][1] + mat[2][2]); - double rinv = simd_recip(r); - return simd_quaternion(rinv*(mat[0][2] + mat[2][0]), - rinv*(mat[1][2] + mat[2][1]), - r/4, - rinv*(mat[0][1] - mat[1][0])); - } -} - -static SIMD_NOINLINE simd_quatd simd_quaternion(simd_double4x4 matrix) { - const simd_double4 *mat = matrix.columns; - double trace = mat[0][0] + mat[1][1] + mat[2][2]; - if (trace >= 0.0) { - double r = 2*sqrt(1 + trace); - double rinv = simd_recip(r); - return simd_quaternion(rinv*(mat[1][2] - mat[2][1]), - rinv*(mat[2][0] - mat[0][2]), - rinv*(mat[0][1] - mat[1][0]), - r/4); - } else if (mat[0][0] >= mat[1][1] && mat[0][0] >= mat[2][2]) { - double r = 2*sqrt(1 - mat[1][1] - mat[2][2] + mat[0][0]); - double rinv = simd_recip(r); - return simd_quaternion(r/4, - rinv*(mat[0][1] + mat[1][0]), - rinv*(mat[0][2] + mat[2][0]), - rinv*(mat[1][2] - mat[2][1])); - } else if (mat[1][1] >= mat[2][2]) { - double r = 2*sqrt(1 - mat[0][0] - mat[2][2] + mat[1][1]); - double rinv = simd_recip(r); - return simd_quaternion(rinv*(mat[0][1] + mat[1][0]), - r/4, - rinv*(mat[1][2] + mat[2][1]), - rinv*(mat[2][0] - mat[0][2])); - } else { - double r = 2*sqrt(1 - mat[0][0] - mat[1][1] + mat[2][2]); - double rinv = simd_recip(r); - return simd_quaternion(rinv*(mat[0][2] + mat[2][0]), - rinv*(mat[1][2] + mat[2][1]), - r/4, - rinv*(mat[0][1] - mat[1][0])); - } -} - -/*! @abstract The angle between p and q interpreted as 4-dimensional vectors. - * - * @discussion This function is an implementation detail and you should not - * call it directly. It may be removed or modified in future versions of the - * simd module. */ -static SIMD_NOINLINE double _simd_angle(simd_quatd p, simd_quatd q) { - return 2*atan2(simd_length(p.vector - q.vector), simd_length(p.vector + q.vector)); -} - -/*! @abstract sin(x)/x. - * - * @discussion This function is an implementation detail and you should not - * call it directly. It may be removed or modified in future versions of the - * simd module. */ -static SIMD_CFUNC double _simd_sinc(double x) { - if (x == 0) return 1; - return sin(x)/x; -} - -/*! @abstract Spherical lerp between q0 and q1. - * - * @discussion This function may interpolate along either the longer or - * shorter path between q0 and q1; it is used as an implementation detail - * in `simd_slerp` and `simd_slerp_longest`; you should use those functions - * instead of calling this directly. */ -static SIMD_NOINLINE simd_quatd _simd_slerp_internal(simd_quatd q0, simd_quatd q1, double t) { - double s = 1 - t; - double a = _simd_angle(q0, q1); - double r = simd_recip(_simd_sinc(a)); - return simd_normalize(simd_quaternion(_simd_sinc(s*a)*r*s*q0.vector + _simd_sinc(t*a)*r*t*q1.vector)); -} - -static SIMD_NOINLINE simd_quatd simd_slerp(simd_quatd q0, simd_quatd q1, double t) { - if (simd_dot(q0, q1) >= 0) - return _simd_slerp_internal(q0, q1, t); - return _simd_slerp_internal(q0, simd_negate(q1), t); -} - -static SIMD_NOINLINE simd_quatd simd_slerp_longest(simd_quatd q0, simd_quatd q1, double t) { - if (simd_dot(q0, q1) >= 0) - return _simd_slerp_internal(q0, simd_negate(q1), t); - return _simd_slerp_internal(q0, q1, t); -} - -/*! @discussion This function is an implementation detail and you should not - * call it directly. It may be removed or modified in future versions of the - * simd module. */ -static SIMD_NOINLINE simd_quatd _simd_intermediate(simd_quatd q0, simd_quatd q1, simd_quatd q2) { - simd_quatd p0 = __tg_log(simd_mul(q0, simd_inverse(q1))); - simd_quatd p2 = __tg_log(simd_mul(q2, simd_inverse(q1))); - return simd_normalize(simd_mul(q1, __tg_exp(simd_mul(-0.25, simd_add(p0,p2))))); -} - -/*! @discussion This function is an implementation detail and you should not - * call it directly. It may be removed or modified in future versions of the - * simd module. */ -static SIMD_NOINLINE simd_quatd _simd_squad(simd_quatd q0, simd_quatd qa, simd_quatd qb, simd_quatd q1, double t) { - simd_quatd r0 = _simd_slerp_internal(q0, q1, t); - simd_quatd r1 = _simd_slerp_internal(qa, qb, t); - return _simd_slerp_internal(r0, r1, 2*t*(1 - t)); -} - -static SIMD_NOINLINE simd_quatd simd_spline(simd_quatd q0, simd_quatd q1, simd_quatd q2, simd_quatd q3, double t) { - simd_quatd qa = _simd_intermediate(q0, q1, q2); - simd_quatd qb = _simd_intermediate(q1, q2, q3); - return _simd_squad(q1, qa, qb, q2, t); -} - -static SIMD_NOINLINE simd_quatd simd_bezier(simd_quatd q0, simd_quatd q1, simd_quatd q2, simd_quatd q3, double t) { - simd_quatd q01 = _simd_slerp_internal(q0, q1, t); - simd_quatd q12 = _simd_slerp_internal(q1, q2, t); - simd_quatd q23 = _simd_slerp_internal(q2, q3, t); - simd_quatd q012 = _simd_slerp_internal(q01, q12, t); - simd_quatd q123 = _simd_slerp_internal(q12, q23, t); - return _simd_slerp_internal(q012, q123, t); -} - -#ifdef __cplusplus -} /* extern "C" */ -#endif /* __cplusplus */ -#endif /* SIMD_COMPILER_HAS_REQUIRED_FEATURES */ -#endif /* SIMD_QUATERNIONS */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.11-any/simd/vector_make.h b/lib/libc/include/any-macos.11-any/simd/vector_make.h deleted file mode 100644 index b8e2323944..0000000000 --- a/lib/libc/include/any-macos.11-any/simd/vector_make.h +++ /dev/null @@ -1,6768 +0,0 @@ -/*! @header - * This header defines functions for constructing, extending, and truncating - * simd vector types. - * - * For each vector type `simd_typeN` supported by , the following - * constructors are provided: - * - * ~~~ - * simd_typeN simd_make_typeN(type other); - * simd_typeN simd_make_typeN(simd_typeM other); - * ~~~ - * For the scalar-input version, or if M < N, these functions zero-extend - * `other` to produce a wider vector. If M == N, `other` is passed through - * unmodified. If `M > N`, `other` is truncated to form the result. - * - * ~~~ - * simd_typeN simd_make_typeN_undef(type other); - * simd_typeN simd_make_typeN_undef(simd_typeM other); - * ~~~ - * These functions are only available for M < N and for scalar inputs. They - * extend `other` to produce a wider vector where the contents of the newly- - * formed lanes are undefined. - * - * In addition, if N is 2, 3, or 4, the following constructors are available: - * ~~~ - * simd_make_typeN(parts ...) - * ~~~ - * where parts is a list of scalars and smaller vectors such that the sum of - * the number of lanes in the arguments is equal to N. For example, a - * `simd_float3` can be constructed from three `floats`, or a `float` and a - * `simd_float2` in any order: - * ~~~ - * simd_float2 ab = { 1, 2 }; - * simd_float3 vector = simd_make_float3(ab, 3); - * ~~~ - * - * @copyright 2014-2016 Apple, Inc. All rights reserved. - * @unsorted */ - -#ifndef SIMD_VECTOR_CONSTRUCTORS -#define SIMD_VECTOR_CONSTRUCTORS - -#include -#if SIMD_COMPILER_HAS_REQUIRED_FEATURES - -#ifdef __cplusplus -extern "C" { -#endif - -/*! @abstract Concatenates `x` and `y` to form a vector of two 8-bit signed - * (twos-complement) integers. */ -static inline SIMD_CFUNC simd_char2 simd_make_char2(char x, char y) { - simd_char2 result; - result.x = x; - result.y = y; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of two 8-bit signed - * (twos-complement) integers. */ -static inline SIMD_CFUNC simd_char2 simd_make_char2(char other) { - simd_char2 result = 0; - result.x = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of two 8-bit signed (twos- - * complement) integers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_char2 simd_make_char2_undef(char other) { - simd_char2 result; - result.x = other; - return result; -} - -/*! @abstract Returns `other` unmodified. This function is a convenience for - * templated and autogenerated code. */ -static inline SIMD_CFUNC simd_char2 simd_make_char2(simd_char2 other) { - return other; -} - -/*! @abstract Truncates `other` to form a vector of two 8-bit signed (twos- - * complement) integers. */ -static inline SIMD_CFUNC simd_char2 simd_make_char2(simd_char3 other) { - return other.xy; -} - -/*! @abstract Truncates `other` to form a vector of two 8-bit signed (twos- - * complement) integers. */ -static inline SIMD_CFUNC simd_char2 simd_make_char2(simd_char4 other) { - return other.xy; -} - -/*! @abstract Truncates `other` to form a vector of two 8-bit signed (twos- - * complement) integers. */ -static inline SIMD_CFUNC simd_char2 simd_make_char2(simd_char8 other) { - return other.xy; -} - -/*! @abstract Truncates `other` to form a vector of two 8-bit signed (twos- - * complement) integers. */ -static inline SIMD_CFUNC simd_char2 simd_make_char2(simd_char16 other) { - return other.xy; -} - -/*! @abstract Truncates `other` to form a vector of two 8-bit signed (twos- - * complement) integers. */ -static inline SIMD_CFUNC simd_char2 simd_make_char2(simd_char32 other) { - return other.xy; -} - -/*! @abstract Truncates `other` to form a vector of two 8-bit signed (twos- - * complement) integers. */ -static inline SIMD_CFUNC simd_char2 simd_make_char2(simd_char64 other) { - return other.xy; -} - -/*! @abstract Concatenates `x`, `y` and `z` to form a vector of three 8-bit - * signed (twos-complement) integers. */ -static inline SIMD_CFUNC simd_char3 simd_make_char3(char x, char y, char z) { - simd_char3 result; - result.x = x; - result.y = y; - result.z = z; - return result; -} - -/*! @abstract Concatenates `x` and `yz` to form a vector of three 8-bit - * signed (twos-complement) integers. */ -static inline SIMD_CFUNC simd_char3 simd_make_char3(char x, simd_char2 yz) { - simd_char3 result; - result.x = x; - result.yz = yz; - return result; -} - -/*! @abstract Concatenates `xy` and `z` to form a vector of three 8-bit - * signed (twos-complement) integers. */ -static inline SIMD_CFUNC simd_char3 simd_make_char3(simd_char2 xy, char z) { - simd_char3 result; - result.xy = xy; - result.z = z; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of three 8-bit signed - * (twos-complement) integers. */ -static inline SIMD_CFUNC simd_char3 simd_make_char3(char other) { - simd_char3 result = 0; - result.x = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of three 8-bit signed (twos- - * complement) integers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_char3 simd_make_char3_undef(char other) { - simd_char3 result; - result.x = other; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of three 8-bit signed - * (twos-complement) integers. */ -static inline SIMD_CFUNC simd_char3 simd_make_char3(simd_char2 other) { - simd_char3 result = 0; - result.xy = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of three 8-bit signed (twos- - * complement) integers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_char3 simd_make_char3_undef(simd_char2 other) { - simd_char3 result; - result.xy = other; - return result; -} - -/*! @abstract Returns `other` unmodified. This function is a convenience for - * templated and autogenerated code. */ -static inline SIMD_CFUNC simd_char3 simd_make_char3(simd_char3 other) { - return other; -} - -/*! @abstract Truncates `other` to form a vector of three 8-bit signed - * (twos-complement) integers. */ -static inline SIMD_CFUNC simd_char3 simd_make_char3(simd_char4 other) { - return other.xyz; -} - -/*! @abstract Truncates `other` to form a vector of three 8-bit signed - * (twos-complement) integers. */ -static inline SIMD_CFUNC simd_char3 simd_make_char3(simd_char8 other) { - return other.xyz; -} - -/*! @abstract Truncates `other` to form a vector of three 8-bit signed - * (twos-complement) integers. */ -static inline SIMD_CFUNC simd_char3 simd_make_char3(simd_char16 other) { - return other.xyz; -} - -/*! @abstract Truncates `other` to form a vector of three 8-bit signed - * (twos-complement) integers. */ -static inline SIMD_CFUNC simd_char3 simd_make_char3(simd_char32 other) { - return other.xyz; -} - -/*! @abstract Truncates `other` to form a vector of three 8-bit signed - * (twos-complement) integers. */ -static inline SIMD_CFUNC simd_char3 simd_make_char3(simd_char64 other) { - return other.xyz; -} - -/*! @abstract Concatenates `x`, `y`, `z` and `w` to form a vector of four - * 8-bit signed (twos-complement) integers. */ -static inline SIMD_CFUNC simd_char4 simd_make_char4(char x, char y, char z, char w) { - simd_char4 result; - result.x = x; - result.y = y; - result.z = z; - result.w = w; - return result; -} - -/*! @abstract Concatenates `x`, `y` and `zw` to form a vector of four 8-bit - * signed (twos-complement) integers. */ -static inline SIMD_CFUNC simd_char4 simd_make_char4(char x, char y, simd_char2 zw) { - simd_char4 result; - result.x = x; - result.y = y; - result.zw = zw; - return result; -} - -/*! @abstract Concatenates `x`, `yz` and `w` to form a vector of four 8-bit - * signed (twos-complement) integers. */ -static inline SIMD_CFUNC simd_char4 simd_make_char4(char x, simd_char2 yz, char w) { - simd_char4 result; - result.x = x; - result.yz = yz; - result.w = w; - return result; -} - -/*! @abstract Concatenates `xy`, `z` and `w` to form a vector of four 8-bit - * signed (twos-complement) integers. */ -static inline SIMD_CFUNC simd_char4 simd_make_char4(simd_char2 xy, char z, char w) { - simd_char4 result; - result.xy = xy; - result.z = z; - result.w = w; - return result; -} - -/*! @abstract Concatenates `x` and `yzw` to form a vector of four 8-bit - * signed (twos-complement) integers. */ -static inline SIMD_CFUNC simd_char4 simd_make_char4(char x, simd_char3 yzw) { - simd_char4 result; - result.x = x; - result.yzw = yzw; - return result; -} - -/*! @abstract Concatenates `xy` and `zw` to form a vector of four 8-bit - * signed (twos-complement) integers. */ -static inline SIMD_CFUNC simd_char4 simd_make_char4(simd_char2 xy, simd_char2 zw) { - simd_char4 result; - result.xy = xy; - result.zw = zw; - return result; -} - -/*! @abstract Concatenates `xyz` and `w` to form a vector of four 8-bit - * signed (twos-complement) integers. */ -static inline SIMD_CFUNC simd_char4 simd_make_char4(simd_char3 xyz, char w) { - simd_char4 result; - result.xyz = xyz; - result.w = w; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of four 8-bit signed - * (twos-complement) integers. */ -static inline SIMD_CFUNC simd_char4 simd_make_char4(char other) { - simd_char4 result = 0; - result.x = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of four 8-bit signed (twos- - * complement) integers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_char4 simd_make_char4_undef(char other) { - simd_char4 result; - result.x = other; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of four 8-bit signed - * (twos-complement) integers. */ -static inline SIMD_CFUNC simd_char4 simd_make_char4(simd_char2 other) { - simd_char4 result = 0; - result.xy = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of four 8-bit signed (twos- - * complement) integers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_char4 simd_make_char4_undef(simd_char2 other) { - simd_char4 result; - result.xy = other; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of four 8-bit signed - * (twos-complement) integers. */ -static inline SIMD_CFUNC simd_char4 simd_make_char4(simd_char3 other) { - simd_char4 result = 0; - result.xyz = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of four 8-bit signed (twos- - * complement) integers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_char4 simd_make_char4_undef(simd_char3 other) { - simd_char4 result; - result.xyz = other; - return result; -} - -/*! @abstract Returns `other` unmodified. This function is a convenience for - * templated and autogenerated code. */ -static inline SIMD_CFUNC simd_char4 simd_make_char4(simd_char4 other) { - return other; -} - -/*! @abstract Truncates `other` to form a vector of four 8-bit signed (twos- - * complement) integers. */ -static inline SIMD_CFUNC simd_char4 simd_make_char4(simd_char8 other) { - return other.xyzw; -} - -/*! @abstract Truncates `other` to form a vector of four 8-bit signed (twos- - * complement) integers. */ -static inline SIMD_CFUNC simd_char4 simd_make_char4(simd_char16 other) { - return other.xyzw; -} - -/*! @abstract Truncates `other` to form a vector of four 8-bit signed (twos- - * complement) integers. */ -static inline SIMD_CFUNC simd_char4 simd_make_char4(simd_char32 other) { - return other.xyzw; -} - -/*! @abstract Truncates `other` to form a vector of four 8-bit signed (twos- - * complement) integers. */ -static inline SIMD_CFUNC simd_char4 simd_make_char4(simd_char64 other) { - return other.xyzw; -} - -/*! @abstract Concatenates `lo` and `hi` to form a vector of eight 8-bit - * signed (twos-complement) integers. */ -static inline SIMD_CFUNC simd_char8 simd_make_char8(simd_char4 lo, simd_char4 hi) { - simd_char8 result; - result.lo = lo; - result.hi = hi; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of eight 8-bit signed - * (twos-complement) integers. */ -static inline SIMD_CFUNC simd_char8 simd_make_char8(char other) { - simd_char8 result = 0; - result.x = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of eight 8-bit signed (twos- - * complement) integers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_char8 simd_make_char8_undef(char other) { - simd_char8 result; - result.x = other; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of eight 8-bit signed - * (twos-complement) integers. */ -static inline SIMD_CFUNC simd_char8 simd_make_char8(simd_char2 other) { - simd_char8 result = 0; - result.xy = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of eight 8-bit signed (twos- - * complement) integers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_char8 simd_make_char8_undef(simd_char2 other) { - simd_char8 result; - result.xy = other; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of eight 8-bit signed - * (twos-complement) integers. */ -static inline SIMD_CFUNC simd_char8 simd_make_char8(simd_char3 other) { - simd_char8 result = 0; - result.xyz = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of eight 8-bit signed (twos- - * complement) integers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_char8 simd_make_char8_undef(simd_char3 other) { - simd_char8 result; - result.xyz = other; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of eight 8-bit signed - * (twos-complement) integers. */ -static inline SIMD_CFUNC simd_char8 simd_make_char8(simd_char4 other) { - simd_char8 result = 0; - result.xyzw = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of eight 8-bit signed (twos- - * complement) integers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_char8 simd_make_char8_undef(simd_char4 other) { - simd_char8 result; - result.xyzw = other; - return result; -} - -/*! @abstract Returns `other` unmodified. This function is a convenience for - * templated and autogenerated code. */ -static inline SIMD_CFUNC simd_char8 simd_make_char8(simd_char8 other) { - return other; -} - -/*! @abstract Truncates `other` to form a vector of eight 8-bit signed - * (twos-complement) integers. */ -static inline SIMD_CFUNC simd_char8 simd_make_char8(simd_char16 other) { - return simd_make_char8(other.lo); -} - -/*! @abstract Truncates `other` to form a vector of eight 8-bit signed - * (twos-complement) integers. */ -static inline SIMD_CFUNC simd_char8 simd_make_char8(simd_char32 other) { - return simd_make_char8(other.lo); -} - -/*! @abstract Truncates `other` to form a vector of eight 8-bit signed - * (twos-complement) integers. */ -static inline SIMD_CFUNC simd_char8 simd_make_char8(simd_char64 other) { - return simd_make_char8(other.lo); -} - -/*! @abstract Concatenates `lo` and `hi` to form a vector of sixteen 8-bit - * signed (twos-complement) integers. */ -static inline SIMD_CFUNC simd_char16 simd_make_char16(simd_char8 lo, simd_char8 hi) { - simd_char16 result; - result.lo = lo; - result.hi = hi; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of sixteen 8-bit signed - * (twos-complement) integers. */ -static inline SIMD_CFUNC simd_char16 simd_make_char16(char other) { - simd_char16 result = 0; - result.x = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of sixteen 8-bit signed - * (twos-complement) integers. The contents of the newly-created vector - * lanes are unspecified. */ -static inline SIMD_CFUNC simd_char16 simd_make_char16_undef(char other) { - simd_char16 result; - result.x = other; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of sixteen 8-bit signed - * (twos-complement) integers. */ -static inline SIMD_CFUNC simd_char16 simd_make_char16(simd_char2 other) { - simd_char16 result = 0; - result.xy = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of sixteen 8-bit signed - * (twos-complement) integers. The contents of the newly-created vector - * lanes are unspecified. */ -static inline SIMD_CFUNC simd_char16 simd_make_char16_undef(simd_char2 other) { - simd_char16 result; - result.xy = other; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of sixteen 8-bit signed - * (twos-complement) integers. */ -static inline SIMD_CFUNC simd_char16 simd_make_char16(simd_char3 other) { - simd_char16 result = 0; - result.xyz = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of sixteen 8-bit signed - * (twos-complement) integers. The contents of the newly-created vector - * lanes are unspecified. */ -static inline SIMD_CFUNC simd_char16 simd_make_char16_undef(simd_char3 other) { - simd_char16 result; - result.xyz = other; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of sixteen 8-bit signed - * (twos-complement) integers. */ -static inline SIMD_CFUNC simd_char16 simd_make_char16(simd_char4 other) { - simd_char16 result = 0; - result.xyzw = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of sixteen 8-bit signed - * (twos-complement) integers. The contents of the newly-created vector - * lanes are unspecified. */ -static inline SIMD_CFUNC simd_char16 simd_make_char16_undef(simd_char4 other) { - simd_char16 result; - result.xyzw = other; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of sixteen 8-bit signed - * (twos-complement) integers. */ -static inline SIMD_CFUNC simd_char16 simd_make_char16(simd_char8 other) { - simd_char16 result = 0; - result.lo = simd_make_char8(other); - return result; -} - -/*! @abstract Extends `other` to form a vector of sixteen 8-bit signed - * (twos-complement) integers. The contents of the newly-created vector - * lanes are unspecified. */ -static inline SIMD_CFUNC simd_char16 simd_make_char16_undef(simd_char8 other) { - simd_char16 result; - result.lo = simd_make_char8(other); - return result; -} - -/*! @abstract Returns `other` unmodified. This function is a convenience for - * templated and autogenerated code. */ -static inline SIMD_CFUNC simd_char16 simd_make_char16(simd_char16 other) { - return other; -} - -/*! @abstract Truncates `other` to form a vector of sixteen 8-bit signed - * (twos-complement) integers. */ -static inline SIMD_CFUNC simd_char16 simd_make_char16(simd_char32 other) { - return simd_make_char16(other.lo); -} - -/*! @abstract Truncates `other` to form a vector of sixteen 8-bit signed - * (twos-complement) integers. */ -static inline SIMD_CFUNC simd_char16 simd_make_char16(simd_char64 other) { - return simd_make_char16(other.lo); -} - -/*! @abstract Concatenates `lo` and `hi` to form a vector of thirty-two - * 8-bit signed (twos-complement) integers. */ -static inline SIMD_CFUNC simd_char32 simd_make_char32(simd_char16 lo, simd_char16 hi) { - simd_char32 result; - result.lo = lo; - result.hi = hi; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of thirty-two 8-bit - * signed (twos-complement) integers. */ -static inline SIMD_CFUNC simd_char32 simd_make_char32(char other) { - simd_char32 result = 0; - result.x = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of thirty-two 8-bit signed - * (twos-complement) integers. The contents of the newly-created vector - * lanes are unspecified. */ -static inline SIMD_CFUNC simd_char32 simd_make_char32_undef(char other) { - simd_char32 result; - result.x = other; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of thirty-two 8-bit - * signed (twos-complement) integers. */ -static inline SIMD_CFUNC simd_char32 simd_make_char32(simd_char2 other) { - simd_char32 result = 0; - result.xy = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of thirty-two 8-bit signed - * (twos-complement) integers. The contents of the newly-created vector - * lanes are unspecified. */ -static inline SIMD_CFUNC simd_char32 simd_make_char32_undef(simd_char2 other) { - simd_char32 result; - result.xy = other; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of thirty-two 8-bit - * signed (twos-complement) integers. */ -static inline SIMD_CFUNC simd_char32 simd_make_char32(simd_char3 other) { - simd_char32 result = 0; - result.xyz = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of thirty-two 8-bit signed - * (twos-complement) integers. The contents of the newly-created vector - * lanes are unspecified. */ -static inline SIMD_CFUNC simd_char32 simd_make_char32_undef(simd_char3 other) { - simd_char32 result; - result.xyz = other; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of thirty-two 8-bit - * signed (twos-complement) integers. */ -static inline SIMD_CFUNC simd_char32 simd_make_char32(simd_char4 other) { - simd_char32 result = 0; - result.xyzw = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of thirty-two 8-bit signed - * (twos-complement) integers. The contents of the newly-created vector - * lanes are unspecified. */ -static inline SIMD_CFUNC simd_char32 simd_make_char32_undef(simd_char4 other) { - simd_char32 result; - result.xyzw = other; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of thirty-two 8-bit - * signed (twos-complement) integers. */ -static inline SIMD_CFUNC simd_char32 simd_make_char32(simd_char8 other) { - simd_char32 result = 0; - result.lo = simd_make_char16(other); - return result; -} - -/*! @abstract Extends `other` to form a vector of thirty-two 8-bit signed - * (twos-complement) integers. The contents of the newly-created vector - * lanes are unspecified. */ -static inline SIMD_CFUNC simd_char32 simd_make_char32_undef(simd_char8 other) { - simd_char32 result; - result.lo = simd_make_char16(other); - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of thirty-two 8-bit - * signed (twos-complement) integers. */ -static inline SIMD_CFUNC simd_char32 simd_make_char32(simd_char16 other) { - simd_char32 result = 0; - result.lo = simd_make_char16(other); - return result; -} - -/*! @abstract Extends `other` to form a vector of thirty-two 8-bit signed - * (twos-complement) integers. The contents of the newly-created vector - * lanes are unspecified. */ -static inline SIMD_CFUNC simd_char32 simd_make_char32_undef(simd_char16 other) { - simd_char32 result; - result.lo = simd_make_char16(other); - return result; -} - -/*! @abstract Returns `other` unmodified. This function is a convenience for - * templated and autogenerated code. */ -static inline SIMD_CFUNC simd_char32 simd_make_char32(simd_char32 other) { - return other; -} - -/*! @abstract Truncates `other` to form a vector of thirty-two 8-bit signed - * (twos-complement) integers. */ -static inline SIMD_CFUNC simd_char32 simd_make_char32(simd_char64 other) { - return simd_make_char32(other.lo); -} - -/*! @abstract Concatenates `lo` and `hi` to form a vector of sixty-four - * 8-bit signed (twos-complement) integers. */ -static inline SIMD_CFUNC simd_char64 simd_make_char64(simd_char32 lo, simd_char32 hi) { - simd_char64 result; - result.lo = lo; - result.hi = hi; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of sixty-four 8-bit - * signed (twos-complement) integers. */ -static inline SIMD_CFUNC simd_char64 simd_make_char64(char other) { - simd_char64 result = 0; - result.x = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of sixty-four 8-bit signed - * (twos-complement) integers. The contents of the newly-created vector - * lanes are unspecified. */ -static inline SIMD_CFUNC simd_char64 simd_make_char64_undef(char other) { - simd_char64 result; - result.x = other; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of sixty-four 8-bit - * signed (twos-complement) integers. */ -static inline SIMD_CFUNC simd_char64 simd_make_char64(simd_char2 other) { - simd_char64 result = 0; - result.xy = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of sixty-four 8-bit signed - * (twos-complement) integers. The contents of the newly-created vector - * lanes are unspecified. */ -static inline SIMD_CFUNC simd_char64 simd_make_char64_undef(simd_char2 other) { - simd_char64 result; - result.xy = other; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of sixty-four 8-bit - * signed (twos-complement) integers. */ -static inline SIMD_CFUNC simd_char64 simd_make_char64(simd_char3 other) { - simd_char64 result = 0; - result.xyz = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of sixty-four 8-bit signed - * (twos-complement) integers. The contents of the newly-created vector - * lanes are unspecified. */ -static inline SIMD_CFUNC simd_char64 simd_make_char64_undef(simd_char3 other) { - simd_char64 result; - result.xyz = other; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of sixty-four 8-bit - * signed (twos-complement) integers. */ -static inline SIMD_CFUNC simd_char64 simd_make_char64(simd_char4 other) { - simd_char64 result = 0; - result.xyzw = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of sixty-four 8-bit signed - * (twos-complement) integers. The contents of the newly-created vector - * lanes are unspecified. */ -static inline SIMD_CFUNC simd_char64 simd_make_char64_undef(simd_char4 other) { - simd_char64 result; - result.xyzw = other; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of sixty-four 8-bit - * signed (twos-complement) integers. */ -static inline SIMD_CFUNC simd_char64 simd_make_char64(simd_char8 other) { - simd_char64 result = 0; - result.lo = simd_make_char32(other); - return result; -} - -/*! @abstract Extends `other` to form a vector of sixty-four 8-bit signed - * (twos-complement) integers. The contents of the newly-created vector - * lanes are unspecified. */ -static inline SIMD_CFUNC simd_char64 simd_make_char64_undef(simd_char8 other) { - simd_char64 result; - result.lo = simd_make_char32(other); - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of sixty-four 8-bit - * signed (twos-complement) integers. */ -static inline SIMD_CFUNC simd_char64 simd_make_char64(simd_char16 other) { - simd_char64 result = 0; - result.lo = simd_make_char32(other); - return result; -} - -/*! @abstract Extends `other` to form a vector of sixty-four 8-bit signed - * (twos-complement) integers. The contents of the newly-created vector - * lanes are unspecified. */ -static inline SIMD_CFUNC simd_char64 simd_make_char64_undef(simd_char16 other) { - simd_char64 result; - result.lo = simd_make_char32(other); - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of sixty-four 8-bit - * signed (twos-complement) integers. */ -static inline SIMD_CFUNC simd_char64 simd_make_char64(simd_char32 other) { - simd_char64 result = 0; - result.lo = simd_make_char32(other); - return result; -} - -/*! @abstract Extends `other` to form a vector of sixty-four 8-bit signed - * (twos-complement) integers. The contents of the newly-created vector - * lanes are unspecified. */ -static inline SIMD_CFUNC simd_char64 simd_make_char64_undef(simd_char32 other) { - simd_char64 result; - result.lo = simd_make_char32(other); - return result; -} - -/*! @abstract Returns `other` unmodified. This function is a convenience for - * templated and autogenerated code. */ -static inline SIMD_CFUNC simd_char64 simd_make_char64(simd_char64 other) { - return other; -} - -/*! @abstract Concatenates `x` and `y` to form a vector of two 8-bit - * unsigned integers. */ -static inline SIMD_CFUNC simd_uchar2 simd_make_uchar2(unsigned char x, unsigned char y) { - simd_uchar2 result; - result.x = x; - result.y = y; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of two 8-bit unsigned - * integers. */ -static inline SIMD_CFUNC simd_uchar2 simd_make_uchar2(unsigned char other) { - simd_uchar2 result = 0; - result.x = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of two 8-bit unsigned - * integers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_uchar2 simd_make_uchar2_undef(unsigned char other) { - simd_uchar2 result; - result.x = other; - return result; -} - -/*! @abstract Returns `other` unmodified. This function is a convenience for - * templated and autogenerated code. */ -static inline SIMD_CFUNC simd_uchar2 simd_make_uchar2(simd_uchar2 other) { - return other; -} - -/*! @abstract Truncates `other` to form a vector of two 8-bit unsigned - * integers. */ -static inline SIMD_CFUNC simd_uchar2 simd_make_uchar2(simd_uchar3 other) { - return other.xy; -} - -/*! @abstract Truncates `other` to form a vector of two 8-bit unsigned - * integers. */ -static inline SIMD_CFUNC simd_uchar2 simd_make_uchar2(simd_uchar4 other) { - return other.xy; -} - -/*! @abstract Truncates `other` to form a vector of two 8-bit unsigned - * integers. */ -static inline SIMD_CFUNC simd_uchar2 simd_make_uchar2(simd_uchar8 other) { - return other.xy; -} - -/*! @abstract Truncates `other` to form a vector of two 8-bit unsigned - * integers. */ -static inline SIMD_CFUNC simd_uchar2 simd_make_uchar2(simd_uchar16 other) { - return other.xy; -} - -/*! @abstract Truncates `other` to form a vector of two 8-bit unsigned - * integers. */ -static inline SIMD_CFUNC simd_uchar2 simd_make_uchar2(simd_uchar32 other) { - return other.xy; -} - -/*! @abstract Truncates `other` to form a vector of two 8-bit unsigned - * integers. */ -static inline SIMD_CFUNC simd_uchar2 simd_make_uchar2(simd_uchar64 other) { - return other.xy; -} - -/*! @abstract Concatenates `x`, `y` and `z` to form a vector of three 8-bit - * unsigned integers. */ -static inline SIMD_CFUNC simd_uchar3 simd_make_uchar3(unsigned char x, unsigned char y, unsigned char z) { - simd_uchar3 result; - result.x = x; - result.y = y; - result.z = z; - return result; -} - -/*! @abstract Concatenates `x` and `yz` to form a vector of three 8-bit - * unsigned integers. */ -static inline SIMD_CFUNC simd_uchar3 simd_make_uchar3(unsigned char x, simd_uchar2 yz) { - simd_uchar3 result; - result.x = x; - result.yz = yz; - return result; -} - -/*! @abstract Concatenates `xy` and `z` to form a vector of three 8-bit - * unsigned integers. */ -static inline SIMD_CFUNC simd_uchar3 simd_make_uchar3(simd_uchar2 xy, unsigned char z) { - simd_uchar3 result; - result.xy = xy; - result.z = z; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of three 8-bit unsigned - * integers. */ -static inline SIMD_CFUNC simd_uchar3 simd_make_uchar3(unsigned char other) { - simd_uchar3 result = 0; - result.x = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of three 8-bit unsigned - * integers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_uchar3 simd_make_uchar3_undef(unsigned char other) { - simd_uchar3 result; - result.x = other; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of three 8-bit unsigned - * integers. */ -static inline SIMD_CFUNC simd_uchar3 simd_make_uchar3(simd_uchar2 other) { - simd_uchar3 result = 0; - result.xy = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of three 8-bit unsigned - * integers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_uchar3 simd_make_uchar3_undef(simd_uchar2 other) { - simd_uchar3 result; - result.xy = other; - return result; -} - -/*! @abstract Returns `other` unmodified. This function is a convenience for - * templated and autogenerated code. */ -static inline SIMD_CFUNC simd_uchar3 simd_make_uchar3(simd_uchar3 other) { - return other; -} - -/*! @abstract Truncates `other` to form a vector of three 8-bit unsigned - * integers. */ -static inline SIMD_CFUNC simd_uchar3 simd_make_uchar3(simd_uchar4 other) { - return other.xyz; -} - -/*! @abstract Truncates `other` to form a vector of three 8-bit unsigned - * integers. */ -static inline SIMD_CFUNC simd_uchar3 simd_make_uchar3(simd_uchar8 other) { - return other.xyz; -} - -/*! @abstract Truncates `other` to form a vector of three 8-bit unsigned - * integers. */ -static inline SIMD_CFUNC simd_uchar3 simd_make_uchar3(simd_uchar16 other) { - return other.xyz; -} - -/*! @abstract Truncates `other` to form a vector of three 8-bit unsigned - * integers. */ -static inline SIMD_CFUNC simd_uchar3 simd_make_uchar3(simd_uchar32 other) { - return other.xyz; -} - -/*! @abstract Truncates `other` to form a vector of three 8-bit unsigned - * integers. */ -static inline SIMD_CFUNC simd_uchar3 simd_make_uchar3(simd_uchar64 other) { - return other.xyz; -} - -/*! @abstract Concatenates `x`, `y`, `z` and `w` to form a vector of four - * 8-bit unsigned integers. */ -static inline SIMD_CFUNC simd_uchar4 simd_make_uchar4(unsigned char x, unsigned char y, unsigned char z, unsigned char w) { - simd_uchar4 result; - result.x = x; - result.y = y; - result.z = z; - result.w = w; - return result; -} - -/*! @abstract Concatenates `x`, `y` and `zw` to form a vector of four 8-bit - * unsigned integers. */ -static inline SIMD_CFUNC simd_uchar4 simd_make_uchar4(unsigned char x, unsigned char y, simd_uchar2 zw) { - simd_uchar4 result; - result.x = x; - result.y = y; - result.zw = zw; - return result; -} - -/*! @abstract Concatenates `x`, `yz` and `w` to form a vector of four 8-bit - * unsigned integers. */ -static inline SIMD_CFUNC simd_uchar4 simd_make_uchar4(unsigned char x, simd_uchar2 yz, unsigned char w) { - simd_uchar4 result; - result.x = x; - result.yz = yz; - result.w = w; - return result; -} - -/*! @abstract Concatenates `xy`, `z` and `w` to form a vector of four 8-bit - * unsigned integers. */ -static inline SIMD_CFUNC simd_uchar4 simd_make_uchar4(simd_uchar2 xy, unsigned char z, unsigned char w) { - simd_uchar4 result; - result.xy = xy; - result.z = z; - result.w = w; - return result; -} - -/*! @abstract Concatenates `x` and `yzw` to form a vector of four 8-bit - * unsigned integers. */ -static inline SIMD_CFUNC simd_uchar4 simd_make_uchar4(unsigned char x, simd_uchar3 yzw) { - simd_uchar4 result; - result.x = x; - result.yzw = yzw; - return result; -} - -/*! @abstract Concatenates `xy` and `zw` to form a vector of four 8-bit - * unsigned integers. */ -static inline SIMD_CFUNC simd_uchar4 simd_make_uchar4(simd_uchar2 xy, simd_uchar2 zw) { - simd_uchar4 result; - result.xy = xy; - result.zw = zw; - return result; -} - -/*! @abstract Concatenates `xyz` and `w` to form a vector of four 8-bit - * unsigned integers. */ -static inline SIMD_CFUNC simd_uchar4 simd_make_uchar4(simd_uchar3 xyz, unsigned char w) { - simd_uchar4 result; - result.xyz = xyz; - result.w = w; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of four 8-bit unsigned - * integers. */ -static inline SIMD_CFUNC simd_uchar4 simd_make_uchar4(unsigned char other) { - simd_uchar4 result = 0; - result.x = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of four 8-bit unsigned - * integers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_uchar4 simd_make_uchar4_undef(unsigned char other) { - simd_uchar4 result; - result.x = other; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of four 8-bit unsigned - * integers. */ -static inline SIMD_CFUNC simd_uchar4 simd_make_uchar4(simd_uchar2 other) { - simd_uchar4 result = 0; - result.xy = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of four 8-bit unsigned - * integers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_uchar4 simd_make_uchar4_undef(simd_uchar2 other) { - simd_uchar4 result; - result.xy = other; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of four 8-bit unsigned - * integers. */ -static inline SIMD_CFUNC simd_uchar4 simd_make_uchar4(simd_uchar3 other) { - simd_uchar4 result = 0; - result.xyz = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of four 8-bit unsigned - * integers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_uchar4 simd_make_uchar4_undef(simd_uchar3 other) { - simd_uchar4 result; - result.xyz = other; - return result; -} - -/*! @abstract Returns `other` unmodified. This function is a convenience for - * templated and autogenerated code. */ -static inline SIMD_CFUNC simd_uchar4 simd_make_uchar4(simd_uchar4 other) { - return other; -} - -/*! @abstract Truncates `other` to form a vector of four 8-bit unsigned - * integers. */ -static inline SIMD_CFUNC simd_uchar4 simd_make_uchar4(simd_uchar8 other) { - return other.xyzw; -} - -/*! @abstract Truncates `other` to form a vector of four 8-bit unsigned - * integers. */ -static inline SIMD_CFUNC simd_uchar4 simd_make_uchar4(simd_uchar16 other) { - return other.xyzw; -} - -/*! @abstract Truncates `other` to form a vector of four 8-bit unsigned - * integers. */ -static inline SIMD_CFUNC simd_uchar4 simd_make_uchar4(simd_uchar32 other) { - return other.xyzw; -} - -/*! @abstract Truncates `other` to form a vector of four 8-bit unsigned - * integers. */ -static inline SIMD_CFUNC simd_uchar4 simd_make_uchar4(simd_uchar64 other) { - return other.xyzw; -} - -/*! @abstract Concatenates `lo` and `hi` to form a vector of eight 8-bit - * unsigned integers. */ -static inline SIMD_CFUNC simd_uchar8 simd_make_uchar8(simd_uchar4 lo, simd_uchar4 hi) { - simd_uchar8 result; - result.lo = lo; - result.hi = hi; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of eight 8-bit unsigned - * integers. */ -static inline SIMD_CFUNC simd_uchar8 simd_make_uchar8(unsigned char other) { - simd_uchar8 result = 0; - result.x = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of eight 8-bit unsigned - * integers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_uchar8 simd_make_uchar8_undef(unsigned char other) { - simd_uchar8 result; - result.x = other; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of eight 8-bit unsigned - * integers. */ -static inline SIMD_CFUNC simd_uchar8 simd_make_uchar8(simd_uchar2 other) { - simd_uchar8 result = 0; - result.xy = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of eight 8-bit unsigned - * integers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_uchar8 simd_make_uchar8_undef(simd_uchar2 other) { - simd_uchar8 result; - result.xy = other; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of eight 8-bit unsigned - * integers. */ -static inline SIMD_CFUNC simd_uchar8 simd_make_uchar8(simd_uchar3 other) { - simd_uchar8 result = 0; - result.xyz = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of eight 8-bit unsigned - * integers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_uchar8 simd_make_uchar8_undef(simd_uchar3 other) { - simd_uchar8 result; - result.xyz = other; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of eight 8-bit unsigned - * integers. */ -static inline SIMD_CFUNC simd_uchar8 simd_make_uchar8(simd_uchar4 other) { - simd_uchar8 result = 0; - result.xyzw = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of eight 8-bit unsigned - * integers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_uchar8 simd_make_uchar8_undef(simd_uchar4 other) { - simd_uchar8 result; - result.xyzw = other; - return result; -} - -/*! @abstract Returns `other` unmodified. This function is a convenience for - * templated and autogenerated code. */ -static inline SIMD_CFUNC simd_uchar8 simd_make_uchar8(simd_uchar8 other) { - return other; -} - -/*! @abstract Truncates `other` to form a vector of eight 8-bit unsigned - * integers. */ -static inline SIMD_CFUNC simd_uchar8 simd_make_uchar8(simd_uchar16 other) { - return simd_make_uchar8(other.lo); -} - -/*! @abstract Truncates `other` to form a vector of eight 8-bit unsigned - * integers. */ -static inline SIMD_CFUNC simd_uchar8 simd_make_uchar8(simd_uchar32 other) { - return simd_make_uchar8(other.lo); -} - -/*! @abstract Truncates `other` to form a vector of eight 8-bit unsigned - * integers. */ -static inline SIMD_CFUNC simd_uchar8 simd_make_uchar8(simd_uchar64 other) { - return simd_make_uchar8(other.lo); -} - -/*! @abstract Concatenates `lo` and `hi` to form a vector of sixteen 8-bit - * unsigned integers. */ -static inline SIMD_CFUNC simd_uchar16 simd_make_uchar16(simd_uchar8 lo, simd_uchar8 hi) { - simd_uchar16 result; - result.lo = lo; - result.hi = hi; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of sixteen 8-bit - * unsigned integers. */ -static inline SIMD_CFUNC simd_uchar16 simd_make_uchar16(unsigned char other) { - simd_uchar16 result = 0; - result.x = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of sixteen 8-bit unsigned - * integers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_uchar16 simd_make_uchar16_undef(unsigned char other) { - simd_uchar16 result; - result.x = other; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of sixteen 8-bit - * unsigned integers. */ -static inline SIMD_CFUNC simd_uchar16 simd_make_uchar16(simd_uchar2 other) { - simd_uchar16 result = 0; - result.xy = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of sixteen 8-bit unsigned - * integers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_uchar16 simd_make_uchar16_undef(simd_uchar2 other) { - simd_uchar16 result; - result.xy = other; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of sixteen 8-bit - * unsigned integers. */ -static inline SIMD_CFUNC simd_uchar16 simd_make_uchar16(simd_uchar3 other) { - simd_uchar16 result = 0; - result.xyz = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of sixteen 8-bit unsigned - * integers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_uchar16 simd_make_uchar16_undef(simd_uchar3 other) { - simd_uchar16 result; - result.xyz = other; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of sixteen 8-bit - * unsigned integers. */ -static inline SIMD_CFUNC simd_uchar16 simd_make_uchar16(simd_uchar4 other) { - simd_uchar16 result = 0; - result.xyzw = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of sixteen 8-bit unsigned - * integers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_uchar16 simd_make_uchar16_undef(simd_uchar4 other) { - simd_uchar16 result; - result.xyzw = other; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of sixteen 8-bit - * unsigned integers. */ -static inline SIMD_CFUNC simd_uchar16 simd_make_uchar16(simd_uchar8 other) { - simd_uchar16 result = 0; - result.lo = simd_make_uchar8(other); - return result; -} - -/*! @abstract Extends `other` to form a vector of sixteen 8-bit unsigned - * integers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_uchar16 simd_make_uchar16_undef(simd_uchar8 other) { - simd_uchar16 result; - result.lo = simd_make_uchar8(other); - return result; -} - -/*! @abstract Returns `other` unmodified. This function is a convenience for - * templated and autogenerated code. */ -static inline SIMD_CFUNC simd_uchar16 simd_make_uchar16(simd_uchar16 other) { - return other; -} - -/*! @abstract Truncates `other` to form a vector of sixteen 8-bit unsigned - * integers. */ -static inline SIMD_CFUNC simd_uchar16 simd_make_uchar16(simd_uchar32 other) { - return simd_make_uchar16(other.lo); -} - -/*! @abstract Truncates `other` to form a vector of sixteen 8-bit unsigned - * integers. */ -static inline SIMD_CFUNC simd_uchar16 simd_make_uchar16(simd_uchar64 other) { - return simd_make_uchar16(other.lo); -} - -/*! @abstract Concatenates `lo` and `hi` to form a vector of thirty-two - * 8-bit unsigned integers. */ -static inline SIMD_CFUNC simd_uchar32 simd_make_uchar32(simd_uchar16 lo, simd_uchar16 hi) { - simd_uchar32 result; - result.lo = lo; - result.hi = hi; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of thirty-two 8-bit - * unsigned integers. */ -static inline SIMD_CFUNC simd_uchar32 simd_make_uchar32(unsigned char other) { - simd_uchar32 result = 0; - result.x = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of thirty-two 8-bit unsigned - * integers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_uchar32 simd_make_uchar32_undef(unsigned char other) { - simd_uchar32 result; - result.x = other; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of thirty-two 8-bit - * unsigned integers. */ -static inline SIMD_CFUNC simd_uchar32 simd_make_uchar32(simd_uchar2 other) { - simd_uchar32 result = 0; - result.xy = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of thirty-two 8-bit unsigned - * integers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_uchar32 simd_make_uchar32_undef(simd_uchar2 other) { - simd_uchar32 result; - result.xy = other; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of thirty-two 8-bit - * unsigned integers. */ -static inline SIMD_CFUNC simd_uchar32 simd_make_uchar32(simd_uchar3 other) { - simd_uchar32 result = 0; - result.xyz = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of thirty-two 8-bit unsigned - * integers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_uchar32 simd_make_uchar32_undef(simd_uchar3 other) { - simd_uchar32 result; - result.xyz = other; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of thirty-two 8-bit - * unsigned integers. */ -static inline SIMD_CFUNC simd_uchar32 simd_make_uchar32(simd_uchar4 other) { - simd_uchar32 result = 0; - result.xyzw = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of thirty-two 8-bit unsigned - * integers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_uchar32 simd_make_uchar32_undef(simd_uchar4 other) { - simd_uchar32 result; - result.xyzw = other; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of thirty-two 8-bit - * unsigned integers. */ -static inline SIMD_CFUNC simd_uchar32 simd_make_uchar32(simd_uchar8 other) { - simd_uchar32 result = 0; - result.lo = simd_make_uchar16(other); - return result; -} - -/*! @abstract Extends `other` to form a vector of thirty-two 8-bit unsigned - * integers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_uchar32 simd_make_uchar32_undef(simd_uchar8 other) { - simd_uchar32 result; - result.lo = simd_make_uchar16(other); - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of thirty-two 8-bit - * unsigned integers. */ -static inline SIMD_CFUNC simd_uchar32 simd_make_uchar32(simd_uchar16 other) { - simd_uchar32 result = 0; - result.lo = simd_make_uchar16(other); - return result; -} - -/*! @abstract Extends `other` to form a vector of thirty-two 8-bit unsigned - * integers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_uchar32 simd_make_uchar32_undef(simd_uchar16 other) { - simd_uchar32 result; - result.lo = simd_make_uchar16(other); - return result; -} - -/*! @abstract Returns `other` unmodified. This function is a convenience for - * templated and autogenerated code. */ -static inline SIMD_CFUNC simd_uchar32 simd_make_uchar32(simd_uchar32 other) { - return other; -} - -/*! @abstract Truncates `other` to form a vector of thirty-two 8-bit - * unsigned integers. */ -static inline SIMD_CFUNC simd_uchar32 simd_make_uchar32(simd_uchar64 other) { - return simd_make_uchar32(other.lo); -} - -/*! @abstract Concatenates `lo` and `hi` to form a vector of sixty-four - * 8-bit unsigned integers. */ -static inline SIMD_CFUNC simd_uchar64 simd_make_uchar64(simd_uchar32 lo, simd_uchar32 hi) { - simd_uchar64 result; - result.lo = lo; - result.hi = hi; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of sixty-four 8-bit - * unsigned integers. */ -static inline SIMD_CFUNC simd_uchar64 simd_make_uchar64(unsigned char other) { - simd_uchar64 result = 0; - result.x = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of sixty-four 8-bit unsigned - * integers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_uchar64 simd_make_uchar64_undef(unsigned char other) { - simd_uchar64 result; - result.x = other; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of sixty-four 8-bit - * unsigned integers. */ -static inline SIMD_CFUNC simd_uchar64 simd_make_uchar64(simd_uchar2 other) { - simd_uchar64 result = 0; - result.xy = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of sixty-four 8-bit unsigned - * integers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_uchar64 simd_make_uchar64_undef(simd_uchar2 other) { - simd_uchar64 result; - result.xy = other; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of sixty-four 8-bit - * unsigned integers. */ -static inline SIMD_CFUNC simd_uchar64 simd_make_uchar64(simd_uchar3 other) { - simd_uchar64 result = 0; - result.xyz = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of sixty-four 8-bit unsigned - * integers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_uchar64 simd_make_uchar64_undef(simd_uchar3 other) { - simd_uchar64 result; - result.xyz = other; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of sixty-four 8-bit - * unsigned integers. */ -static inline SIMD_CFUNC simd_uchar64 simd_make_uchar64(simd_uchar4 other) { - simd_uchar64 result = 0; - result.xyzw = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of sixty-four 8-bit unsigned - * integers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_uchar64 simd_make_uchar64_undef(simd_uchar4 other) { - simd_uchar64 result; - result.xyzw = other; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of sixty-four 8-bit - * unsigned integers. */ -static inline SIMD_CFUNC simd_uchar64 simd_make_uchar64(simd_uchar8 other) { - simd_uchar64 result = 0; - result.lo = simd_make_uchar32(other); - return result; -} - -/*! @abstract Extends `other` to form a vector of sixty-four 8-bit unsigned - * integers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_uchar64 simd_make_uchar64_undef(simd_uchar8 other) { - simd_uchar64 result; - result.lo = simd_make_uchar32(other); - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of sixty-four 8-bit - * unsigned integers. */ -static inline SIMD_CFUNC simd_uchar64 simd_make_uchar64(simd_uchar16 other) { - simd_uchar64 result = 0; - result.lo = simd_make_uchar32(other); - return result; -} - -/*! @abstract Extends `other` to form a vector of sixty-four 8-bit unsigned - * integers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_uchar64 simd_make_uchar64_undef(simd_uchar16 other) { - simd_uchar64 result; - result.lo = simd_make_uchar32(other); - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of sixty-four 8-bit - * unsigned integers. */ -static inline SIMD_CFUNC simd_uchar64 simd_make_uchar64(simd_uchar32 other) { - simd_uchar64 result = 0; - result.lo = simd_make_uchar32(other); - return result; -} - -/*! @abstract Extends `other` to form a vector of sixty-four 8-bit unsigned - * integers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_uchar64 simd_make_uchar64_undef(simd_uchar32 other) { - simd_uchar64 result; - result.lo = simd_make_uchar32(other); - return result; -} - -/*! @abstract Returns `other` unmodified. This function is a convenience for - * templated and autogenerated code. */ -static inline SIMD_CFUNC simd_uchar64 simd_make_uchar64(simd_uchar64 other) { - return other; -} - -/*! @abstract Concatenates `x` and `y` to form a vector of two 16-bit signed - * (twos-complement) integers. */ -static inline SIMD_CFUNC simd_short2 simd_make_short2(short x, short y) { - simd_short2 result; - result.x = x; - result.y = y; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of two 16-bit signed - * (twos-complement) integers. */ -static inline SIMD_CFUNC simd_short2 simd_make_short2(short other) { - simd_short2 result = 0; - result.x = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of two 16-bit signed (twos- - * complement) integers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_short2 simd_make_short2_undef(short other) { - simd_short2 result; - result.x = other; - return result; -} - -/*! @abstract Returns `other` unmodified. This function is a convenience for - * templated and autogenerated code. */ -static inline SIMD_CFUNC simd_short2 simd_make_short2(simd_short2 other) { - return other; -} - -/*! @abstract Truncates `other` to form a vector of two 16-bit signed (twos- - * complement) integers. */ -static inline SIMD_CFUNC simd_short2 simd_make_short2(simd_short3 other) { - return other.xy; -} - -/*! @abstract Truncates `other` to form a vector of two 16-bit signed (twos- - * complement) integers. */ -static inline SIMD_CFUNC simd_short2 simd_make_short2(simd_short4 other) { - return other.xy; -} - -/*! @abstract Truncates `other` to form a vector of two 16-bit signed (twos- - * complement) integers. */ -static inline SIMD_CFUNC simd_short2 simd_make_short2(simd_short8 other) { - return other.xy; -} - -/*! @abstract Truncates `other` to form a vector of two 16-bit signed (twos- - * complement) integers. */ -static inline SIMD_CFUNC simd_short2 simd_make_short2(simd_short16 other) { - return other.xy; -} - -/*! @abstract Truncates `other` to form a vector of two 16-bit signed (twos- - * complement) integers. */ -static inline SIMD_CFUNC simd_short2 simd_make_short2(simd_short32 other) { - return other.xy; -} - -/*! @abstract Concatenates `x`, `y` and `z` to form a vector of three 16-bit - * signed (twos-complement) integers. */ -static inline SIMD_CFUNC simd_short3 simd_make_short3(short x, short y, short z) { - simd_short3 result; - result.x = x; - result.y = y; - result.z = z; - return result; -} - -/*! @abstract Concatenates `x` and `yz` to form a vector of three 16-bit - * signed (twos-complement) integers. */ -static inline SIMD_CFUNC simd_short3 simd_make_short3(short x, simd_short2 yz) { - simd_short3 result; - result.x = x; - result.yz = yz; - return result; -} - -/*! @abstract Concatenates `xy` and `z` to form a vector of three 16-bit - * signed (twos-complement) integers. */ -static inline SIMD_CFUNC simd_short3 simd_make_short3(simd_short2 xy, short z) { - simd_short3 result; - result.xy = xy; - result.z = z; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of three 16-bit signed - * (twos-complement) integers. */ -static inline SIMD_CFUNC simd_short3 simd_make_short3(short other) { - simd_short3 result = 0; - result.x = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of three 16-bit signed (twos- - * complement) integers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_short3 simd_make_short3_undef(short other) { - simd_short3 result; - result.x = other; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of three 16-bit signed - * (twos-complement) integers. */ -static inline SIMD_CFUNC simd_short3 simd_make_short3(simd_short2 other) { - simd_short3 result = 0; - result.xy = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of three 16-bit signed (twos- - * complement) integers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_short3 simd_make_short3_undef(simd_short2 other) { - simd_short3 result; - result.xy = other; - return result; -} - -/*! @abstract Returns `other` unmodified. This function is a convenience for - * templated and autogenerated code. */ -static inline SIMD_CFUNC simd_short3 simd_make_short3(simd_short3 other) { - return other; -} - -/*! @abstract Truncates `other` to form a vector of three 16-bit signed - * (twos-complement) integers. */ -static inline SIMD_CFUNC simd_short3 simd_make_short3(simd_short4 other) { - return other.xyz; -} - -/*! @abstract Truncates `other` to form a vector of three 16-bit signed - * (twos-complement) integers. */ -static inline SIMD_CFUNC simd_short3 simd_make_short3(simd_short8 other) { - return other.xyz; -} - -/*! @abstract Truncates `other` to form a vector of three 16-bit signed - * (twos-complement) integers. */ -static inline SIMD_CFUNC simd_short3 simd_make_short3(simd_short16 other) { - return other.xyz; -} - -/*! @abstract Truncates `other` to form a vector of three 16-bit signed - * (twos-complement) integers. */ -static inline SIMD_CFUNC simd_short3 simd_make_short3(simd_short32 other) { - return other.xyz; -} - -/*! @abstract Concatenates `x`, `y`, `z` and `w` to form a vector of four - * 16-bit signed (twos-complement) integers. */ -static inline SIMD_CFUNC simd_short4 simd_make_short4(short x, short y, short z, short w) { - simd_short4 result; - result.x = x; - result.y = y; - result.z = z; - result.w = w; - return result; -} - -/*! @abstract Concatenates `x`, `y` and `zw` to form a vector of four 16-bit - * signed (twos-complement) integers. */ -static inline SIMD_CFUNC simd_short4 simd_make_short4(short x, short y, simd_short2 zw) { - simd_short4 result; - result.x = x; - result.y = y; - result.zw = zw; - return result; -} - -/*! @abstract Concatenates `x`, `yz` and `w` to form a vector of four 16-bit - * signed (twos-complement) integers. */ -static inline SIMD_CFUNC simd_short4 simd_make_short4(short x, simd_short2 yz, short w) { - simd_short4 result; - result.x = x; - result.yz = yz; - result.w = w; - return result; -} - -/*! @abstract Concatenates `xy`, `z` and `w` to form a vector of four 16-bit - * signed (twos-complement) integers. */ -static inline SIMD_CFUNC simd_short4 simd_make_short4(simd_short2 xy, short z, short w) { - simd_short4 result; - result.xy = xy; - result.z = z; - result.w = w; - return result; -} - -/*! @abstract Concatenates `x` and `yzw` to form a vector of four 16-bit - * signed (twos-complement) integers. */ -static inline SIMD_CFUNC simd_short4 simd_make_short4(short x, simd_short3 yzw) { - simd_short4 result; - result.x = x; - result.yzw = yzw; - return result; -} - -/*! @abstract Concatenates `xy` and `zw` to form a vector of four 16-bit - * signed (twos-complement) integers. */ -static inline SIMD_CFUNC simd_short4 simd_make_short4(simd_short2 xy, simd_short2 zw) { - simd_short4 result; - result.xy = xy; - result.zw = zw; - return result; -} - -/*! @abstract Concatenates `xyz` and `w` to form a vector of four 16-bit - * signed (twos-complement) integers. */ -static inline SIMD_CFUNC simd_short4 simd_make_short4(simd_short3 xyz, short w) { - simd_short4 result; - result.xyz = xyz; - result.w = w; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of four 16-bit signed - * (twos-complement) integers. */ -static inline SIMD_CFUNC simd_short4 simd_make_short4(short other) { - simd_short4 result = 0; - result.x = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of four 16-bit signed (twos- - * complement) integers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_short4 simd_make_short4_undef(short other) { - simd_short4 result; - result.x = other; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of four 16-bit signed - * (twos-complement) integers. */ -static inline SIMD_CFUNC simd_short4 simd_make_short4(simd_short2 other) { - simd_short4 result = 0; - result.xy = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of four 16-bit signed (twos- - * complement) integers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_short4 simd_make_short4_undef(simd_short2 other) { - simd_short4 result; - result.xy = other; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of four 16-bit signed - * (twos-complement) integers. */ -static inline SIMD_CFUNC simd_short4 simd_make_short4(simd_short3 other) { - simd_short4 result = 0; - result.xyz = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of four 16-bit signed (twos- - * complement) integers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_short4 simd_make_short4_undef(simd_short3 other) { - simd_short4 result; - result.xyz = other; - return result; -} - -/*! @abstract Returns `other` unmodified. This function is a convenience for - * templated and autogenerated code. */ -static inline SIMD_CFUNC simd_short4 simd_make_short4(simd_short4 other) { - return other; -} - -/*! @abstract Truncates `other` to form a vector of four 16-bit signed - * (twos-complement) integers. */ -static inline SIMD_CFUNC simd_short4 simd_make_short4(simd_short8 other) { - return other.xyzw; -} - -/*! @abstract Truncates `other` to form a vector of four 16-bit signed - * (twos-complement) integers. */ -static inline SIMD_CFUNC simd_short4 simd_make_short4(simd_short16 other) { - return other.xyzw; -} - -/*! @abstract Truncates `other` to form a vector of four 16-bit signed - * (twos-complement) integers. */ -static inline SIMD_CFUNC simd_short4 simd_make_short4(simd_short32 other) { - return other.xyzw; -} - -/*! @abstract Concatenates `lo` and `hi` to form a vector of eight 16-bit - * signed (twos-complement) integers. */ -static inline SIMD_CFUNC simd_short8 simd_make_short8(simd_short4 lo, simd_short4 hi) { - simd_short8 result; - result.lo = lo; - result.hi = hi; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of eight 16-bit signed - * (twos-complement) integers. */ -static inline SIMD_CFUNC simd_short8 simd_make_short8(short other) { - simd_short8 result = 0; - result.x = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of eight 16-bit signed (twos- - * complement) integers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_short8 simd_make_short8_undef(short other) { - simd_short8 result; - result.x = other; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of eight 16-bit signed - * (twos-complement) integers. */ -static inline SIMD_CFUNC simd_short8 simd_make_short8(simd_short2 other) { - simd_short8 result = 0; - result.xy = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of eight 16-bit signed (twos- - * complement) integers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_short8 simd_make_short8_undef(simd_short2 other) { - simd_short8 result; - result.xy = other; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of eight 16-bit signed - * (twos-complement) integers. */ -static inline SIMD_CFUNC simd_short8 simd_make_short8(simd_short3 other) { - simd_short8 result = 0; - result.xyz = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of eight 16-bit signed (twos- - * complement) integers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_short8 simd_make_short8_undef(simd_short3 other) { - simd_short8 result; - result.xyz = other; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of eight 16-bit signed - * (twos-complement) integers. */ -static inline SIMD_CFUNC simd_short8 simd_make_short8(simd_short4 other) { - simd_short8 result = 0; - result.xyzw = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of eight 16-bit signed (twos- - * complement) integers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_short8 simd_make_short8_undef(simd_short4 other) { - simd_short8 result; - result.xyzw = other; - return result; -} - -/*! @abstract Returns `other` unmodified. This function is a convenience for - * templated and autogenerated code. */ -static inline SIMD_CFUNC simd_short8 simd_make_short8(simd_short8 other) { - return other; -} - -/*! @abstract Truncates `other` to form a vector of eight 16-bit signed - * (twos-complement) integers. */ -static inline SIMD_CFUNC simd_short8 simd_make_short8(simd_short16 other) { - return simd_make_short8(other.lo); -} - -/*! @abstract Truncates `other` to form a vector of eight 16-bit signed - * (twos-complement) integers. */ -static inline SIMD_CFUNC simd_short8 simd_make_short8(simd_short32 other) { - return simd_make_short8(other.lo); -} - -/*! @abstract Concatenates `lo` and `hi` to form a vector of sixteen 16-bit - * signed (twos-complement) integers. */ -static inline SIMD_CFUNC simd_short16 simd_make_short16(simd_short8 lo, simd_short8 hi) { - simd_short16 result; - result.lo = lo; - result.hi = hi; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of sixteen 16-bit signed - * (twos-complement) integers. */ -static inline SIMD_CFUNC simd_short16 simd_make_short16(short other) { - simd_short16 result = 0; - result.x = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of sixteen 16-bit signed - * (twos-complement) integers. The contents of the newly-created vector - * lanes are unspecified. */ -static inline SIMD_CFUNC simd_short16 simd_make_short16_undef(short other) { - simd_short16 result; - result.x = other; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of sixteen 16-bit signed - * (twos-complement) integers. */ -static inline SIMD_CFUNC simd_short16 simd_make_short16(simd_short2 other) { - simd_short16 result = 0; - result.xy = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of sixteen 16-bit signed - * (twos-complement) integers. The contents of the newly-created vector - * lanes are unspecified. */ -static inline SIMD_CFUNC simd_short16 simd_make_short16_undef(simd_short2 other) { - simd_short16 result; - result.xy = other; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of sixteen 16-bit signed - * (twos-complement) integers. */ -static inline SIMD_CFUNC simd_short16 simd_make_short16(simd_short3 other) { - simd_short16 result = 0; - result.xyz = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of sixteen 16-bit signed - * (twos-complement) integers. The contents of the newly-created vector - * lanes are unspecified. */ -static inline SIMD_CFUNC simd_short16 simd_make_short16_undef(simd_short3 other) { - simd_short16 result; - result.xyz = other; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of sixteen 16-bit signed - * (twos-complement) integers. */ -static inline SIMD_CFUNC simd_short16 simd_make_short16(simd_short4 other) { - simd_short16 result = 0; - result.xyzw = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of sixteen 16-bit signed - * (twos-complement) integers. The contents of the newly-created vector - * lanes are unspecified. */ -static inline SIMD_CFUNC simd_short16 simd_make_short16_undef(simd_short4 other) { - simd_short16 result; - result.xyzw = other; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of sixteen 16-bit signed - * (twos-complement) integers. */ -static inline SIMD_CFUNC simd_short16 simd_make_short16(simd_short8 other) { - simd_short16 result = 0; - result.lo = simd_make_short8(other); - return result; -} - -/*! @abstract Extends `other` to form a vector of sixteen 16-bit signed - * (twos-complement) integers. The contents of the newly-created vector - * lanes are unspecified. */ -static inline SIMD_CFUNC simd_short16 simd_make_short16_undef(simd_short8 other) { - simd_short16 result; - result.lo = simd_make_short8(other); - return result; -} - -/*! @abstract Returns `other` unmodified. This function is a convenience for - * templated and autogenerated code. */ -static inline SIMD_CFUNC simd_short16 simd_make_short16(simd_short16 other) { - return other; -} - -/*! @abstract Truncates `other` to form a vector of sixteen 16-bit signed - * (twos-complement) integers. */ -static inline SIMD_CFUNC simd_short16 simd_make_short16(simd_short32 other) { - return simd_make_short16(other.lo); -} - -/*! @abstract Concatenates `lo` and `hi` to form a vector of thirty-two - * 16-bit signed (twos-complement) integers. */ -static inline SIMD_CFUNC simd_short32 simd_make_short32(simd_short16 lo, simd_short16 hi) { - simd_short32 result; - result.lo = lo; - result.hi = hi; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of thirty-two 16-bit - * signed (twos-complement) integers. */ -static inline SIMD_CFUNC simd_short32 simd_make_short32(short other) { - simd_short32 result = 0; - result.x = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of thirty-two 16-bit signed - * (twos-complement) integers. The contents of the newly-created vector - * lanes are unspecified. */ -static inline SIMD_CFUNC simd_short32 simd_make_short32_undef(short other) { - simd_short32 result; - result.x = other; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of thirty-two 16-bit - * signed (twos-complement) integers. */ -static inline SIMD_CFUNC simd_short32 simd_make_short32(simd_short2 other) { - simd_short32 result = 0; - result.xy = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of thirty-two 16-bit signed - * (twos-complement) integers. The contents of the newly-created vector - * lanes are unspecified. */ -static inline SIMD_CFUNC simd_short32 simd_make_short32_undef(simd_short2 other) { - simd_short32 result; - result.xy = other; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of thirty-two 16-bit - * signed (twos-complement) integers. */ -static inline SIMD_CFUNC simd_short32 simd_make_short32(simd_short3 other) { - simd_short32 result = 0; - result.xyz = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of thirty-two 16-bit signed - * (twos-complement) integers. The contents of the newly-created vector - * lanes are unspecified. */ -static inline SIMD_CFUNC simd_short32 simd_make_short32_undef(simd_short3 other) { - simd_short32 result; - result.xyz = other; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of thirty-two 16-bit - * signed (twos-complement) integers. */ -static inline SIMD_CFUNC simd_short32 simd_make_short32(simd_short4 other) { - simd_short32 result = 0; - result.xyzw = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of thirty-two 16-bit signed - * (twos-complement) integers. The contents of the newly-created vector - * lanes are unspecified. */ -static inline SIMD_CFUNC simd_short32 simd_make_short32_undef(simd_short4 other) { - simd_short32 result; - result.xyzw = other; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of thirty-two 16-bit - * signed (twos-complement) integers. */ -static inline SIMD_CFUNC simd_short32 simd_make_short32(simd_short8 other) { - simd_short32 result = 0; - result.lo = simd_make_short16(other); - return result; -} - -/*! @abstract Extends `other` to form a vector of thirty-two 16-bit signed - * (twos-complement) integers. The contents of the newly-created vector - * lanes are unspecified. */ -static inline SIMD_CFUNC simd_short32 simd_make_short32_undef(simd_short8 other) { - simd_short32 result; - result.lo = simd_make_short16(other); - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of thirty-two 16-bit - * signed (twos-complement) integers. */ -static inline SIMD_CFUNC simd_short32 simd_make_short32(simd_short16 other) { - simd_short32 result = 0; - result.lo = simd_make_short16(other); - return result; -} - -/*! @abstract Extends `other` to form a vector of thirty-two 16-bit signed - * (twos-complement) integers. The contents of the newly-created vector - * lanes are unspecified. */ -static inline SIMD_CFUNC simd_short32 simd_make_short32_undef(simd_short16 other) { - simd_short32 result; - result.lo = simd_make_short16(other); - return result; -} - -/*! @abstract Returns `other` unmodified. This function is a convenience for - * templated and autogenerated code. */ -static inline SIMD_CFUNC simd_short32 simd_make_short32(simd_short32 other) { - return other; -} - -/*! @abstract Concatenates `x` and `y` to form a vector of two 16-bit - * unsigned integers. */ -static inline SIMD_CFUNC simd_ushort2 simd_make_ushort2(unsigned short x, unsigned short y) { - simd_ushort2 result; - result.x = x; - result.y = y; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of two 16-bit unsigned - * integers. */ -static inline SIMD_CFUNC simd_ushort2 simd_make_ushort2(unsigned short other) { - simd_ushort2 result = 0; - result.x = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of two 16-bit unsigned - * integers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_ushort2 simd_make_ushort2_undef(unsigned short other) { - simd_ushort2 result; - result.x = other; - return result; -} - -/*! @abstract Returns `other` unmodified. This function is a convenience for - * templated and autogenerated code. */ -static inline SIMD_CFUNC simd_ushort2 simd_make_ushort2(simd_ushort2 other) { - return other; -} - -/*! @abstract Truncates `other` to form a vector of two 16-bit unsigned - * integers. */ -static inline SIMD_CFUNC simd_ushort2 simd_make_ushort2(simd_ushort3 other) { - return other.xy; -} - -/*! @abstract Truncates `other` to form a vector of two 16-bit unsigned - * integers. */ -static inline SIMD_CFUNC simd_ushort2 simd_make_ushort2(simd_ushort4 other) { - return other.xy; -} - -/*! @abstract Truncates `other` to form a vector of two 16-bit unsigned - * integers. */ -static inline SIMD_CFUNC simd_ushort2 simd_make_ushort2(simd_ushort8 other) { - return other.xy; -} - -/*! @abstract Truncates `other` to form a vector of two 16-bit unsigned - * integers. */ -static inline SIMD_CFUNC simd_ushort2 simd_make_ushort2(simd_ushort16 other) { - return other.xy; -} - -/*! @abstract Truncates `other` to form a vector of two 16-bit unsigned - * integers. */ -static inline SIMD_CFUNC simd_ushort2 simd_make_ushort2(simd_ushort32 other) { - return other.xy; -} - -/*! @abstract Concatenates `x`, `y` and `z` to form a vector of three 16-bit - * unsigned integers. */ -static inline SIMD_CFUNC simd_ushort3 simd_make_ushort3(unsigned short x, unsigned short y, unsigned short z) { - simd_ushort3 result; - result.x = x; - result.y = y; - result.z = z; - return result; -} - -/*! @abstract Concatenates `x` and `yz` to form a vector of three 16-bit - * unsigned integers. */ -static inline SIMD_CFUNC simd_ushort3 simd_make_ushort3(unsigned short x, simd_ushort2 yz) { - simd_ushort3 result; - result.x = x; - result.yz = yz; - return result; -} - -/*! @abstract Concatenates `xy` and `z` to form a vector of three 16-bit - * unsigned integers. */ -static inline SIMD_CFUNC simd_ushort3 simd_make_ushort3(simd_ushort2 xy, unsigned short z) { - simd_ushort3 result; - result.xy = xy; - result.z = z; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of three 16-bit unsigned - * integers. */ -static inline SIMD_CFUNC simd_ushort3 simd_make_ushort3(unsigned short other) { - simd_ushort3 result = 0; - result.x = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of three 16-bit unsigned - * integers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_ushort3 simd_make_ushort3_undef(unsigned short other) { - simd_ushort3 result; - result.x = other; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of three 16-bit unsigned - * integers. */ -static inline SIMD_CFUNC simd_ushort3 simd_make_ushort3(simd_ushort2 other) { - simd_ushort3 result = 0; - result.xy = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of three 16-bit unsigned - * integers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_ushort3 simd_make_ushort3_undef(simd_ushort2 other) { - simd_ushort3 result; - result.xy = other; - return result; -} - -/*! @abstract Returns `other` unmodified. This function is a convenience for - * templated and autogenerated code. */ -static inline SIMD_CFUNC simd_ushort3 simd_make_ushort3(simd_ushort3 other) { - return other; -} - -/*! @abstract Truncates `other` to form a vector of three 16-bit unsigned - * integers. */ -static inline SIMD_CFUNC simd_ushort3 simd_make_ushort3(simd_ushort4 other) { - return other.xyz; -} - -/*! @abstract Truncates `other` to form a vector of three 16-bit unsigned - * integers. */ -static inline SIMD_CFUNC simd_ushort3 simd_make_ushort3(simd_ushort8 other) { - return other.xyz; -} - -/*! @abstract Truncates `other` to form a vector of three 16-bit unsigned - * integers. */ -static inline SIMD_CFUNC simd_ushort3 simd_make_ushort3(simd_ushort16 other) { - return other.xyz; -} - -/*! @abstract Truncates `other` to form a vector of three 16-bit unsigned - * integers. */ -static inline SIMD_CFUNC simd_ushort3 simd_make_ushort3(simd_ushort32 other) { - return other.xyz; -} - -/*! @abstract Concatenates `x`, `y`, `z` and `w` to form a vector of four - * 16-bit unsigned integers. */ -static inline SIMD_CFUNC simd_ushort4 simd_make_ushort4(unsigned short x, unsigned short y, unsigned short z, unsigned short w) { - simd_ushort4 result; - result.x = x; - result.y = y; - result.z = z; - result.w = w; - return result; -} - -/*! @abstract Concatenates `x`, `y` and `zw` to form a vector of four 16-bit - * unsigned integers. */ -static inline SIMD_CFUNC simd_ushort4 simd_make_ushort4(unsigned short x, unsigned short y, simd_ushort2 zw) { - simd_ushort4 result; - result.x = x; - result.y = y; - result.zw = zw; - return result; -} - -/*! @abstract Concatenates `x`, `yz` and `w` to form a vector of four 16-bit - * unsigned integers. */ -static inline SIMD_CFUNC simd_ushort4 simd_make_ushort4(unsigned short x, simd_ushort2 yz, unsigned short w) { - simd_ushort4 result; - result.x = x; - result.yz = yz; - result.w = w; - return result; -} - -/*! @abstract Concatenates `xy`, `z` and `w` to form a vector of four 16-bit - * unsigned integers. */ -static inline SIMD_CFUNC simd_ushort4 simd_make_ushort4(simd_ushort2 xy, unsigned short z, unsigned short w) { - simd_ushort4 result; - result.xy = xy; - result.z = z; - result.w = w; - return result; -} - -/*! @abstract Concatenates `x` and `yzw` to form a vector of four 16-bit - * unsigned integers. */ -static inline SIMD_CFUNC simd_ushort4 simd_make_ushort4(unsigned short x, simd_ushort3 yzw) { - simd_ushort4 result; - result.x = x; - result.yzw = yzw; - return result; -} - -/*! @abstract Concatenates `xy` and `zw` to form a vector of four 16-bit - * unsigned integers. */ -static inline SIMD_CFUNC simd_ushort4 simd_make_ushort4(simd_ushort2 xy, simd_ushort2 zw) { - simd_ushort4 result; - result.xy = xy; - result.zw = zw; - return result; -} - -/*! @abstract Concatenates `xyz` and `w` to form a vector of four 16-bit - * unsigned integers. */ -static inline SIMD_CFUNC simd_ushort4 simd_make_ushort4(simd_ushort3 xyz, unsigned short w) { - simd_ushort4 result; - result.xyz = xyz; - result.w = w; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of four 16-bit unsigned - * integers. */ -static inline SIMD_CFUNC simd_ushort4 simd_make_ushort4(unsigned short other) { - simd_ushort4 result = 0; - result.x = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of four 16-bit unsigned - * integers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_ushort4 simd_make_ushort4_undef(unsigned short other) { - simd_ushort4 result; - result.x = other; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of four 16-bit unsigned - * integers. */ -static inline SIMD_CFUNC simd_ushort4 simd_make_ushort4(simd_ushort2 other) { - simd_ushort4 result = 0; - result.xy = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of four 16-bit unsigned - * integers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_ushort4 simd_make_ushort4_undef(simd_ushort2 other) { - simd_ushort4 result; - result.xy = other; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of four 16-bit unsigned - * integers. */ -static inline SIMD_CFUNC simd_ushort4 simd_make_ushort4(simd_ushort3 other) { - simd_ushort4 result = 0; - result.xyz = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of four 16-bit unsigned - * integers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_ushort4 simd_make_ushort4_undef(simd_ushort3 other) { - simd_ushort4 result; - result.xyz = other; - return result; -} - -/*! @abstract Returns `other` unmodified. This function is a convenience for - * templated and autogenerated code. */ -static inline SIMD_CFUNC simd_ushort4 simd_make_ushort4(simd_ushort4 other) { - return other; -} - -/*! @abstract Truncates `other` to form a vector of four 16-bit unsigned - * integers. */ -static inline SIMD_CFUNC simd_ushort4 simd_make_ushort4(simd_ushort8 other) { - return other.xyzw; -} - -/*! @abstract Truncates `other` to form a vector of four 16-bit unsigned - * integers. */ -static inline SIMD_CFUNC simd_ushort4 simd_make_ushort4(simd_ushort16 other) { - return other.xyzw; -} - -/*! @abstract Truncates `other` to form a vector of four 16-bit unsigned - * integers. */ -static inline SIMD_CFUNC simd_ushort4 simd_make_ushort4(simd_ushort32 other) { - return other.xyzw; -} - -/*! @abstract Concatenates `lo` and `hi` to form a vector of eight 16-bit - * unsigned integers. */ -static inline SIMD_CFUNC simd_ushort8 simd_make_ushort8(simd_ushort4 lo, simd_ushort4 hi) { - simd_ushort8 result; - result.lo = lo; - result.hi = hi; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of eight 16-bit unsigned - * integers. */ -static inline SIMD_CFUNC simd_ushort8 simd_make_ushort8(unsigned short other) { - simd_ushort8 result = 0; - result.x = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of eight 16-bit unsigned - * integers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_ushort8 simd_make_ushort8_undef(unsigned short other) { - simd_ushort8 result; - result.x = other; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of eight 16-bit unsigned - * integers. */ -static inline SIMD_CFUNC simd_ushort8 simd_make_ushort8(simd_ushort2 other) { - simd_ushort8 result = 0; - result.xy = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of eight 16-bit unsigned - * integers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_ushort8 simd_make_ushort8_undef(simd_ushort2 other) { - simd_ushort8 result; - result.xy = other; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of eight 16-bit unsigned - * integers. */ -static inline SIMD_CFUNC simd_ushort8 simd_make_ushort8(simd_ushort3 other) { - simd_ushort8 result = 0; - result.xyz = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of eight 16-bit unsigned - * integers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_ushort8 simd_make_ushort8_undef(simd_ushort3 other) { - simd_ushort8 result; - result.xyz = other; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of eight 16-bit unsigned - * integers. */ -static inline SIMD_CFUNC simd_ushort8 simd_make_ushort8(simd_ushort4 other) { - simd_ushort8 result = 0; - result.xyzw = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of eight 16-bit unsigned - * integers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_ushort8 simd_make_ushort8_undef(simd_ushort4 other) { - simd_ushort8 result; - result.xyzw = other; - return result; -} - -/*! @abstract Returns `other` unmodified. This function is a convenience for - * templated and autogenerated code. */ -static inline SIMD_CFUNC simd_ushort8 simd_make_ushort8(simd_ushort8 other) { - return other; -} - -/*! @abstract Truncates `other` to form a vector of eight 16-bit unsigned - * integers. */ -static inline SIMD_CFUNC simd_ushort8 simd_make_ushort8(simd_ushort16 other) { - return simd_make_ushort8(other.lo); -} - -/*! @abstract Truncates `other` to form a vector of eight 16-bit unsigned - * integers. */ -static inline SIMD_CFUNC simd_ushort8 simd_make_ushort8(simd_ushort32 other) { - return simd_make_ushort8(other.lo); -} - -/*! @abstract Concatenates `lo` and `hi` to form a vector of sixteen 16-bit - * unsigned integers. */ -static inline SIMD_CFUNC simd_ushort16 simd_make_ushort16(simd_ushort8 lo, simd_ushort8 hi) { - simd_ushort16 result; - result.lo = lo; - result.hi = hi; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of sixteen 16-bit - * unsigned integers. */ -static inline SIMD_CFUNC simd_ushort16 simd_make_ushort16(unsigned short other) { - simd_ushort16 result = 0; - result.x = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of sixteen 16-bit unsigned - * integers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_ushort16 simd_make_ushort16_undef(unsigned short other) { - simd_ushort16 result; - result.x = other; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of sixteen 16-bit - * unsigned integers. */ -static inline SIMD_CFUNC simd_ushort16 simd_make_ushort16(simd_ushort2 other) { - simd_ushort16 result = 0; - result.xy = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of sixteen 16-bit unsigned - * integers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_ushort16 simd_make_ushort16_undef(simd_ushort2 other) { - simd_ushort16 result; - result.xy = other; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of sixteen 16-bit - * unsigned integers. */ -static inline SIMD_CFUNC simd_ushort16 simd_make_ushort16(simd_ushort3 other) { - simd_ushort16 result = 0; - result.xyz = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of sixteen 16-bit unsigned - * integers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_ushort16 simd_make_ushort16_undef(simd_ushort3 other) { - simd_ushort16 result; - result.xyz = other; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of sixteen 16-bit - * unsigned integers. */ -static inline SIMD_CFUNC simd_ushort16 simd_make_ushort16(simd_ushort4 other) { - simd_ushort16 result = 0; - result.xyzw = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of sixteen 16-bit unsigned - * integers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_ushort16 simd_make_ushort16_undef(simd_ushort4 other) { - simd_ushort16 result; - result.xyzw = other; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of sixteen 16-bit - * unsigned integers. */ -static inline SIMD_CFUNC simd_ushort16 simd_make_ushort16(simd_ushort8 other) { - simd_ushort16 result = 0; - result.lo = simd_make_ushort8(other); - return result; -} - -/*! @abstract Extends `other` to form a vector of sixteen 16-bit unsigned - * integers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_ushort16 simd_make_ushort16_undef(simd_ushort8 other) { - simd_ushort16 result; - result.lo = simd_make_ushort8(other); - return result; -} - -/*! @abstract Returns `other` unmodified. This function is a convenience for - * templated and autogenerated code. */ -static inline SIMD_CFUNC simd_ushort16 simd_make_ushort16(simd_ushort16 other) { - return other; -} - -/*! @abstract Truncates `other` to form a vector of sixteen 16-bit unsigned - * integers. */ -static inline SIMD_CFUNC simd_ushort16 simd_make_ushort16(simd_ushort32 other) { - return simd_make_ushort16(other.lo); -} - -/*! @abstract Concatenates `lo` and `hi` to form a vector of thirty-two - * 16-bit unsigned integers. */ -static inline SIMD_CFUNC simd_ushort32 simd_make_ushort32(simd_ushort16 lo, simd_ushort16 hi) { - simd_ushort32 result; - result.lo = lo; - result.hi = hi; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of thirty-two 16-bit - * unsigned integers. */ -static inline SIMD_CFUNC simd_ushort32 simd_make_ushort32(unsigned short other) { - simd_ushort32 result = 0; - result.x = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of thirty-two 16-bit unsigned - * integers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_ushort32 simd_make_ushort32_undef(unsigned short other) { - simd_ushort32 result; - result.x = other; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of thirty-two 16-bit - * unsigned integers. */ -static inline SIMD_CFUNC simd_ushort32 simd_make_ushort32(simd_ushort2 other) { - simd_ushort32 result = 0; - result.xy = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of thirty-two 16-bit unsigned - * integers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_ushort32 simd_make_ushort32_undef(simd_ushort2 other) { - simd_ushort32 result; - result.xy = other; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of thirty-two 16-bit - * unsigned integers. */ -static inline SIMD_CFUNC simd_ushort32 simd_make_ushort32(simd_ushort3 other) { - simd_ushort32 result = 0; - result.xyz = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of thirty-two 16-bit unsigned - * integers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_ushort32 simd_make_ushort32_undef(simd_ushort3 other) { - simd_ushort32 result; - result.xyz = other; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of thirty-two 16-bit - * unsigned integers. */ -static inline SIMD_CFUNC simd_ushort32 simd_make_ushort32(simd_ushort4 other) { - simd_ushort32 result = 0; - result.xyzw = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of thirty-two 16-bit unsigned - * integers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_ushort32 simd_make_ushort32_undef(simd_ushort4 other) { - simd_ushort32 result; - result.xyzw = other; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of thirty-two 16-bit - * unsigned integers. */ -static inline SIMD_CFUNC simd_ushort32 simd_make_ushort32(simd_ushort8 other) { - simd_ushort32 result = 0; - result.lo = simd_make_ushort16(other); - return result; -} - -/*! @abstract Extends `other` to form a vector of thirty-two 16-bit unsigned - * integers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_ushort32 simd_make_ushort32_undef(simd_ushort8 other) { - simd_ushort32 result; - result.lo = simd_make_ushort16(other); - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of thirty-two 16-bit - * unsigned integers. */ -static inline SIMD_CFUNC simd_ushort32 simd_make_ushort32(simd_ushort16 other) { - simd_ushort32 result = 0; - result.lo = simd_make_ushort16(other); - return result; -} - -/*! @abstract Extends `other` to form a vector of thirty-two 16-bit unsigned - * integers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_ushort32 simd_make_ushort32_undef(simd_ushort16 other) { - simd_ushort32 result; - result.lo = simd_make_ushort16(other); - return result; -} - -/*! @abstract Returns `other` unmodified. This function is a convenience for - * templated and autogenerated code. */ -static inline SIMD_CFUNC simd_ushort32 simd_make_ushort32(simd_ushort32 other) { - return other; -} - -/*! @abstract Concatenates `x` and `y` to form a vector of two 32-bit signed - * (twos-complement) integers. */ -static inline SIMD_CFUNC simd_int2 simd_make_int2(int x, int y) { - simd_int2 result; - result.x = x; - result.y = y; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of two 32-bit signed - * (twos-complement) integers. */ -static inline SIMD_CFUNC simd_int2 simd_make_int2(int other) { - simd_int2 result = 0; - result.x = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of two 32-bit signed (twos- - * complement) integers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_int2 simd_make_int2_undef(int other) { - simd_int2 result; - result.x = other; - return result; -} - -/*! @abstract Returns `other` unmodified. This function is a convenience for - * templated and autogenerated code. */ -static inline SIMD_CFUNC simd_int2 simd_make_int2(simd_int2 other) { - return other; -} - -/*! @abstract Truncates `other` to form a vector of two 32-bit signed (twos- - * complement) integers. */ -static inline SIMD_CFUNC simd_int2 simd_make_int2(simd_int3 other) { - return other.xy; -} - -/*! @abstract Truncates `other` to form a vector of two 32-bit signed (twos- - * complement) integers. */ -static inline SIMD_CFUNC simd_int2 simd_make_int2(simd_int4 other) { - return other.xy; -} - -/*! @abstract Truncates `other` to form a vector of two 32-bit signed (twos- - * complement) integers. */ -static inline SIMD_CFUNC simd_int2 simd_make_int2(simd_int8 other) { - return other.xy; -} - -/*! @abstract Truncates `other` to form a vector of two 32-bit signed (twos- - * complement) integers. */ -static inline SIMD_CFUNC simd_int2 simd_make_int2(simd_int16 other) { - return other.xy; -} - -/*! @abstract Concatenates `x`, `y` and `z` to form a vector of three 32-bit - * signed (twos-complement) integers. */ -static inline SIMD_CFUNC simd_int3 simd_make_int3(int x, int y, int z) { - simd_int3 result; - result.x = x; - result.y = y; - result.z = z; - return result; -} - -/*! @abstract Concatenates `x` and `yz` to form a vector of three 32-bit - * signed (twos-complement) integers. */ -static inline SIMD_CFUNC simd_int3 simd_make_int3(int x, simd_int2 yz) { - simd_int3 result; - result.x = x; - result.yz = yz; - return result; -} - -/*! @abstract Concatenates `xy` and `z` to form a vector of three 32-bit - * signed (twos-complement) integers. */ -static inline SIMD_CFUNC simd_int3 simd_make_int3(simd_int2 xy, int z) { - simd_int3 result; - result.xy = xy; - result.z = z; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of three 32-bit signed - * (twos-complement) integers. */ -static inline SIMD_CFUNC simd_int3 simd_make_int3(int other) { - simd_int3 result = 0; - result.x = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of three 32-bit signed (twos- - * complement) integers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_int3 simd_make_int3_undef(int other) { - simd_int3 result; - result.x = other; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of three 32-bit signed - * (twos-complement) integers. */ -static inline SIMD_CFUNC simd_int3 simd_make_int3(simd_int2 other) { - simd_int3 result = 0; - result.xy = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of three 32-bit signed (twos- - * complement) integers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_int3 simd_make_int3_undef(simd_int2 other) { - simd_int3 result; - result.xy = other; - return result; -} - -/*! @abstract Returns `other` unmodified. This function is a convenience for - * templated and autogenerated code. */ -static inline SIMD_CFUNC simd_int3 simd_make_int3(simd_int3 other) { - return other; -} - -/*! @abstract Truncates `other` to form a vector of three 32-bit signed - * (twos-complement) integers. */ -static inline SIMD_CFUNC simd_int3 simd_make_int3(simd_int4 other) { - return other.xyz; -} - -/*! @abstract Truncates `other` to form a vector of three 32-bit signed - * (twos-complement) integers. */ -static inline SIMD_CFUNC simd_int3 simd_make_int3(simd_int8 other) { - return other.xyz; -} - -/*! @abstract Truncates `other` to form a vector of three 32-bit signed - * (twos-complement) integers. */ -static inline SIMD_CFUNC simd_int3 simd_make_int3(simd_int16 other) { - return other.xyz; -} - -/*! @abstract Concatenates `x`, `y`, `z` and `w` to form a vector of four - * 32-bit signed (twos-complement) integers. */ -static inline SIMD_CFUNC simd_int4 simd_make_int4(int x, int y, int z, int w) { - simd_int4 result; - result.x = x; - result.y = y; - result.z = z; - result.w = w; - return result; -} - -/*! @abstract Concatenates `x`, `y` and `zw` to form a vector of four 32-bit - * signed (twos-complement) integers. */ -static inline SIMD_CFUNC simd_int4 simd_make_int4(int x, int y, simd_int2 zw) { - simd_int4 result; - result.x = x; - result.y = y; - result.zw = zw; - return result; -} - -/*! @abstract Concatenates `x`, `yz` and `w` to form a vector of four 32-bit - * signed (twos-complement) integers. */ -static inline SIMD_CFUNC simd_int4 simd_make_int4(int x, simd_int2 yz, int w) { - simd_int4 result; - result.x = x; - result.yz = yz; - result.w = w; - return result; -} - -/*! @abstract Concatenates `xy`, `z` and `w` to form a vector of four 32-bit - * signed (twos-complement) integers. */ -static inline SIMD_CFUNC simd_int4 simd_make_int4(simd_int2 xy, int z, int w) { - simd_int4 result; - result.xy = xy; - result.z = z; - result.w = w; - return result; -} - -/*! @abstract Concatenates `x` and `yzw` to form a vector of four 32-bit - * signed (twos-complement) integers. */ -static inline SIMD_CFUNC simd_int4 simd_make_int4(int x, simd_int3 yzw) { - simd_int4 result; - result.x = x; - result.yzw = yzw; - return result; -} - -/*! @abstract Concatenates `xy` and `zw` to form a vector of four 32-bit - * signed (twos-complement) integers. */ -static inline SIMD_CFUNC simd_int4 simd_make_int4(simd_int2 xy, simd_int2 zw) { - simd_int4 result; - result.xy = xy; - result.zw = zw; - return result; -} - -/*! @abstract Concatenates `xyz` and `w` to form a vector of four 32-bit - * signed (twos-complement) integers. */ -static inline SIMD_CFUNC simd_int4 simd_make_int4(simd_int3 xyz, int w) { - simd_int4 result; - result.xyz = xyz; - result.w = w; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of four 32-bit signed - * (twos-complement) integers. */ -static inline SIMD_CFUNC simd_int4 simd_make_int4(int other) { - simd_int4 result = 0; - result.x = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of four 32-bit signed (twos- - * complement) integers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_int4 simd_make_int4_undef(int other) { - simd_int4 result; - result.x = other; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of four 32-bit signed - * (twos-complement) integers. */ -static inline SIMD_CFUNC simd_int4 simd_make_int4(simd_int2 other) { - simd_int4 result = 0; - result.xy = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of four 32-bit signed (twos- - * complement) integers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_int4 simd_make_int4_undef(simd_int2 other) { - simd_int4 result; - result.xy = other; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of four 32-bit signed - * (twos-complement) integers. */ -static inline SIMD_CFUNC simd_int4 simd_make_int4(simd_int3 other) { - simd_int4 result = 0; - result.xyz = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of four 32-bit signed (twos- - * complement) integers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_int4 simd_make_int4_undef(simd_int3 other) { - simd_int4 result; - result.xyz = other; - return result; -} - -/*! @abstract Returns `other` unmodified. This function is a convenience for - * templated and autogenerated code. */ -static inline SIMD_CFUNC simd_int4 simd_make_int4(simd_int4 other) { - return other; -} - -/*! @abstract Truncates `other` to form a vector of four 32-bit signed - * (twos-complement) integers. */ -static inline SIMD_CFUNC simd_int4 simd_make_int4(simd_int8 other) { - return other.xyzw; -} - -/*! @abstract Truncates `other` to form a vector of four 32-bit signed - * (twos-complement) integers. */ -static inline SIMD_CFUNC simd_int4 simd_make_int4(simd_int16 other) { - return other.xyzw; -} - -/*! @abstract Concatenates `lo` and `hi` to form a vector of eight 32-bit - * signed (twos-complement) integers. */ -static inline SIMD_CFUNC simd_int8 simd_make_int8(simd_int4 lo, simd_int4 hi) { - simd_int8 result; - result.lo = lo; - result.hi = hi; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of eight 32-bit signed - * (twos-complement) integers. */ -static inline SIMD_CFUNC simd_int8 simd_make_int8(int other) { - simd_int8 result = 0; - result.x = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of eight 32-bit signed (twos- - * complement) integers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_int8 simd_make_int8_undef(int other) { - simd_int8 result; - result.x = other; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of eight 32-bit signed - * (twos-complement) integers. */ -static inline SIMD_CFUNC simd_int8 simd_make_int8(simd_int2 other) { - simd_int8 result = 0; - result.xy = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of eight 32-bit signed (twos- - * complement) integers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_int8 simd_make_int8_undef(simd_int2 other) { - simd_int8 result; - result.xy = other; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of eight 32-bit signed - * (twos-complement) integers. */ -static inline SIMD_CFUNC simd_int8 simd_make_int8(simd_int3 other) { - simd_int8 result = 0; - result.xyz = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of eight 32-bit signed (twos- - * complement) integers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_int8 simd_make_int8_undef(simd_int3 other) { - simd_int8 result; - result.xyz = other; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of eight 32-bit signed - * (twos-complement) integers. */ -static inline SIMD_CFUNC simd_int8 simd_make_int8(simd_int4 other) { - simd_int8 result = 0; - result.xyzw = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of eight 32-bit signed (twos- - * complement) integers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_int8 simd_make_int8_undef(simd_int4 other) { - simd_int8 result; - result.xyzw = other; - return result; -} - -/*! @abstract Returns `other` unmodified. This function is a convenience for - * templated and autogenerated code. */ -static inline SIMD_CFUNC simd_int8 simd_make_int8(simd_int8 other) { - return other; -} - -/*! @abstract Truncates `other` to form a vector of eight 32-bit signed - * (twos-complement) integers. */ -static inline SIMD_CFUNC simd_int8 simd_make_int8(simd_int16 other) { - return simd_make_int8(other.lo); -} - -/*! @abstract Concatenates `lo` and `hi` to form a vector of sixteen 32-bit - * signed (twos-complement) integers. */ -static inline SIMD_CFUNC simd_int16 simd_make_int16(simd_int8 lo, simd_int8 hi) { - simd_int16 result; - result.lo = lo; - result.hi = hi; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of sixteen 32-bit signed - * (twos-complement) integers. */ -static inline SIMD_CFUNC simd_int16 simd_make_int16(int other) { - simd_int16 result = 0; - result.x = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of sixteen 32-bit signed - * (twos-complement) integers. The contents of the newly-created vector - * lanes are unspecified. */ -static inline SIMD_CFUNC simd_int16 simd_make_int16_undef(int other) { - simd_int16 result; - result.x = other; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of sixteen 32-bit signed - * (twos-complement) integers. */ -static inline SIMD_CFUNC simd_int16 simd_make_int16(simd_int2 other) { - simd_int16 result = 0; - result.xy = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of sixteen 32-bit signed - * (twos-complement) integers. The contents of the newly-created vector - * lanes are unspecified. */ -static inline SIMD_CFUNC simd_int16 simd_make_int16_undef(simd_int2 other) { - simd_int16 result; - result.xy = other; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of sixteen 32-bit signed - * (twos-complement) integers. */ -static inline SIMD_CFUNC simd_int16 simd_make_int16(simd_int3 other) { - simd_int16 result = 0; - result.xyz = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of sixteen 32-bit signed - * (twos-complement) integers. The contents of the newly-created vector - * lanes are unspecified. */ -static inline SIMD_CFUNC simd_int16 simd_make_int16_undef(simd_int3 other) { - simd_int16 result; - result.xyz = other; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of sixteen 32-bit signed - * (twos-complement) integers. */ -static inline SIMD_CFUNC simd_int16 simd_make_int16(simd_int4 other) { - simd_int16 result = 0; - result.xyzw = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of sixteen 32-bit signed - * (twos-complement) integers. The contents of the newly-created vector - * lanes are unspecified. */ -static inline SIMD_CFUNC simd_int16 simd_make_int16_undef(simd_int4 other) { - simd_int16 result; - result.xyzw = other; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of sixteen 32-bit signed - * (twos-complement) integers. */ -static inline SIMD_CFUNC simd_int16 simd_make_int16(simd_int8 other) { - simd_int16 result = 0; - result.lo = simd_make_int8(other); - return result; -} - -/*! @abstract Extends `other` to form a vector of sixteen 32-bit signed - * (twos-complement) integers. The contents of the newly-created vector - * lanes are unspecified. */ -static inline SIMD_CFUNC simd_int16 simd_make_int16_undef(simd_int8 other) { - simd_int16 result; - result.lo = simd_make_int8(other); - return result; -} - -/*! @abstract Returns `other` unmodified. This function is a convenience for - * templated and autogenerated code. */ -static inline SIMD_CFUNC simd_int16 simd_make_int16(simd_int16 other) { - return other; -} - -/*! @abstract Concatenates `x` and `y` to form a vector of two 32-bit - * unsigned integers. */ -static inline SIMD_CFUNC simd_uint2 simd_make_uint2(unsigned int x, unsigned int y) { - simd_uint2 result; - result.x = x; - result.y = y; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of two 32-bit unsigned - * integers. */ -static inline SIMD_CFUNC simd_uint2 simd_make_uint2(unsigned int other) { - simd_uint2 result = 0; - result.x = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of two 32-bit unsigned - * integers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_uint2 simd_make_uint2_undef(unsigned int other) { - simd_uint2 result; - result.x = other; - return result; -} - -/*! @abstract Returns `other` unmodified. This function is a convenience for - * templated and autogenerated code. */ -static inline SIMD_CFUNC simd_uint2 simd_make_uint2(simd_uint2 other) { - return other; -} - -/*! @abstract Truncates `other` to form a vector of two 32-bit unsigned - * integers. */ -static inline SIMD_CFUNC simd_uint2 simd_make_uint2(simd_uint3 other) { - return other.xy; -} - -/*! @abstract Truncates `other` to form a vector of two 32-bit unsigned - * integers. */ -static inline SIMD_CFUNC simd_uint2 simd_make_uint2(simd_uint4 other) { - return other.xy; -} - -/*! @abstract Truncates `other` to form a vector of two 32-bit unsigned - * integers. */ -static inline SIMD_CFUNC simd_uint2 simd_make_uint2(simd_uint8 other) { - return other.xy; -} - -/*! @abstract Truncates `other` to form a vector of two 32-bit unsigned - * integers. */ -static inline SIMD_CFUNC simd_uint2 simd_make_uint2(simd_uint16 other) { - return other.xy; -} - -/*! @abstract Concatenates `x`, `y` and `z` to form a vector of three 32-bit - * unsigned integers. */ -static inline SIMD_CFUNC simd_uint3 simd_make_uint3(unsigned int x, unsigned int y, unsigned int z) { - simd_uint3 result; - result.x = x; - result.y = y; - result.z = z; - return result; -} - -/*! @abstract Concatenates `x` and `yz` to form a vector of three 32-bit - * unsigned integers. */ -static inline SIMD_CFUNC simd_uint3 simd_make_uint3(unsigned int x, simd_uint2 yz) { - simd_uint3 result; - result.x = x; - result.yz = yz; - return result; -} - -/*! @abstract Concatenates `xy` and `z` to form a vector of three 32-bit - * unsigned integers. */ -static inline SIMD_CFUNC simd_uint3 simd_make_uint3(simd_uint2 xy, unsigned int z) { - simd_uint3 result; - result.xy = xy; - result.z = z; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of three 32-bit unsigned - * integers. */ -static inline SIMD_CFUNC simd_uint3 simd_make_uint3(unsigned int other) { - simd_uint3 result = 0; - result.x = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of three 32-bit unsigned - * integers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_uint3 simd_make_uint3_undef(unsigned int other) { - simd_uint3 result; - result.x = other; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of three 32-bit unsigned - * integers. */ -static inline SIMD_CFUNC simd_uint3 simd_make_uint3(simd_uint2 other) { - simd_uint3 result = 0; - result.xy = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of three 32-bit unsigned - * integers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_uint3 simd_make_uint3_undef(simd_uint2 other) { - simd_uint3 result; - result.xy = other; - return result; -} - -/*! @abstract Returns `other` unmodified. This function is a convenience for - * templated and autogenerated code. */ -static inline SIMD_CFUNC simd_uint3 simd_make_uint3(simd_uint3 other) { - return other; -} - -/*! @abstract Truncates `other` to form a vector of three 32-bit unsigned - * integers. */ -static inline SIMD_CFUNC simd_uint3 simd_make_uint3(simd_uint4 other) { - return other.xyz; -} - -/*! @abstract Truncates `other` to form a vector of three 32-bit unsigned - * integers. */ -static inline SIMD_CFUNC simd_uint3 simd_make_uint3(simd_uint8 other) { - return other.xyz; -} - -/*! @abstract Truncates `other` to form a vector of three 32-bit unsigned - * integers. */ -static inline SIMD_CFUNC simd_uint3 simd_make_uint3(simd_uint16 other) { - return other.xyz; -} - -/*! @abstract Concatenates `x`, `y`, `z` and `w` to form a vector of four - * 32-bit unsigned integers. */ -static inline SIMD_CFUNC simd_uint4 simd_make_uint4(unsigned int x, unsigned int y, unsigned int z, unsigned int w) { - simd_uint4 result; - result.x = x; - result.y = y; - result.z = z; - result.w = w; - return result; -} - -/*! @abstract Concatenates `x`, `y` and `zw` to form a vector of four 32-bit - * unsigned integers. */ -static inline SIMD_CFUNC simd_uint4 simd_make_uint4(unsigned int x, unsigned int y, simd_uint2 zw) { - simd_uint4 result; - result.x = x; - result.y = y; - result.zw = zw; - return result; -} - -/*! @abstract Concatenates `x`, `yz` and `w` to form a vector of four 32-bit - * unsigned integers. */ -static inline SIMD_CFUNC simd_uint4 simd_make_uint4(unsigned int x, simd_uint2 yz, unsigned int w) { - simd_uint4 result; - result.x = x; - result.yz = yz; - result.w = w; - return result; -} - -/*! @abstract Concatenates `xy`, `z` and `w` to form a vector of four 32-bit - * unsigned integers. */ -static inline SIMD_CFUNC simd_uint4 simd_make_uint4(simd_uint2 xy, unsigned int z, unsigned int w) { - simd_uint4 result; - result.xy = xy; - result.z = z; - result.w = w; - return result; -} - -/*! @abstract Concatenates `x` and `yzw` to form a vector of four 32-bit - * unsigned integers. */ -static inline SIMD_CFUNC simd_uint4 simd_make_uint4(unsigned int x, simd_uint3 yzw) { - simd_uint4 result; - result.x = x; - result.yzw = yzw; - return result; -} - -/*! @abstract Concatenates `xy` and `zw` to form a vector of four 32-bit - * unsigned integers. */ -static inline SIMD_CFUNC simd_uint4 simd_make_uint4(simd_uint2 xy, simd_uint2 zw) { - simd_uint4 result; - result.xy = xy; - result.zw = zw; - return result; -} - -/*! @abstract Concatenates `xyz` and `w` to form a vector of four 32-bit - * unsigned integers. */ -static inline SIMD_CFUNC simd_uint4 simd_make_uint4(simd_uint3 xyz, unsigned int w) { - simd_uint4 result; - result.xyz = xyz; - result.w = w; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of four 32-bit unsigned - * integers. */ -static inline SIMD_CFUNC simd_uint4 simd_make_uint4(unsigned int other) { - simd_uint4 result = 0; - result.x = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of four 32-bit unsigned - * integers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_uint4 simd_make_uint4_undef(unsigned int other) { - simd_uint4 result; - result.x = other; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of four 32-bit unsigned - * integers. */ -static inline SIMD_CFUNC simd_uint4 simd_make_uint4(simd_uint2 other) { - simd_uint4 result = 0; - result.xy = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of four 32-bit unsigned - * integers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_uint4 simd_make_uint4_undef(simd_uint2 other) { - simd_uint4 result; - result.xy = other; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of four 32-bit unsigned - * integers. */ -static inline SIMD_CFUNC simd_uint4 simd_make_uint4(simd_uint3 other) { - simd_uint4 result = 0; - result.xyz = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of four 32-bit unsigned - * integers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_uint4 simd_make_uint4_undef(simd_uint3 other) { - simd_uint4 result; - result.xyz = other; - return result; -} - -/*! @abstract Returns `other` unmodified. This function is a convenience for - * templated and autogenerated code. */ -static inline SIMD_CFUNC simd_uint4 simd_make_uint4(simd_uint4 other) { - return other; -} - -/*! @abstract Truncates `other` to form a vector of four 32-bit unsigned - * integers. */ -static inline SIMD_CFUNC simd_uint4 simd_make_uint4(simd_uint8 other) { - return other.xyzw; -} - -/*! @abstract Truncates `other` to form a vector of four 32-bit unsigned - * integers. */ -static inline SIMD_CFUNC simd_uint4 simd_make_uint4(simd_uint16 other) { - return other.xyzw; -} - -/*! @abstract Concatenates `lo` and `hi` to form a vector of eight 32-bit - * unsigned integers. */ -static inline SIMD_CFUNC simd_uint8 simd_make_uint8(simd_uint4 lo, simd_uint4 hi) { - simd_uint8 result; - result.lo = lo; - result.hi = hi; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of eight 32-bit unsigned - * integers. */ -static inline SIMD_CFUNC simd_uint8 simd_make_uint8(unsigned int other) { - simd_uint8 result = 0; - result.x = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of eight 32-bit unsigned - * integers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_uint8 simd_make_uint8_undef(unsigned int other) { - simd_uint8 result; - result.x = other; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of eight 32-bit unsigned - * integers. */ -static inline SIMD_CFUNC simd_uint8 simd_make_uint8(simd_uint2 other) { - simd_uint8 result = 0; - result.xy = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of eight 32-bit unsigned - * integers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_uint8 simd_make_uint8_undef(simd_uint2 other) { - simd_uint8 result; - result.xy = other; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of eight 32-bit unsigned - * integers. */ -static inline SIMD_CFUNC simd_uint8 simd_make_uint8(simd_uint3 other) { - simd_uint8 result = 0; - result.xyz = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of eight 32-bit unsigned - * integers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_uint8 simd_make_uint8_undef(simd_uint3 other) { - simd_uint8 result; - result.xyz = other; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of eight 32-bit unsigned - * integers. */ -static inline SIMD_CFUNC simd_uint8 simd_make_uint8(simd_uint4 other) { - simd_uint8 result = 0; - result.xyzw = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of eight 32-bit unsigned - * integers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_uint8 simd_make_uint8_undef(simd_uint4 other) { - simd_uint8 result; - result.xyzw = other; - return result; -} - -/*! @abstract Returns `other` unmodified. This function is a convenience for - * templated and autogenerated code. */ -static inline SIMD_CFUNC simd_uint8 simd_make_uint8(simd_uint8 other) { - return other; -} - -/*! @abstract Truncates `other` to form a vector of eight 32-bit unsigned - * integers. */ -static inline SIMD_CFUNC simd_uint8 simd_make_uint8(simd_uint16 other) { - return simd_make_uint8(other.lo); -} - -/*! @abstract Concatenates `lo` and `hi` to form a vector of sixteen 32-bit - * unsigned integers. */ -static inline SIMD_CFUNC simd_uint16 simd_make_uint16(simd_uint8 lo, simd_uint8 hi) { - simd_uint16 result; - result.lo = lo; - result.hi = hi; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of sixteen 32-bit - * unsigned integers. */ -static inline SIMD_CFUNC simd_uint16 simd_make_uint16(unsigned int other) { - simd_uint16 result = 0; - result.x = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of sixteen 32-bit unsigned - * integers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_uint16 simd_make_uint16_undef(unsigned int other) { - simd_uint16 result; - result.x = other; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of sixteen 32-bit - * unsigned integers. */ -static inline SIMD_CFUNC simd_uint16 simd_make_uint16(simd_uint2 other) { - simd_uint16 result = 0; - result.xy = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of sixteen 32-bit unsigned - * integers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_uint16 simd_make_uint16_undef(simd_uint2 other) { - simd_uint16 result; - result.xy = other; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of sixteen 32-bit - * unsigned integers. */ -static inline SIMD_CFUNC simd_uint16 simd_make_uint16(simd_uint3 other) { - simd_uint16 result = 0; - result.xyz = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of sixteen 32-bit unsigned - * integers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_uint16 simd_make_uint16_undef(simd_uint3 other) { - simd_uint16 result; - result.xyz = other; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of sixteen 32-bit - * unsigned integers. */ -static inline SIMD_CFUNC simd_uint16 simd_make_uint16(simd_uint4 other) { - simd_uint16 result = 0; - result.xyzw = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of sixteen 32-bit unsigned - * integers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_uint16 simd_make_uint16_undef(simd_uint4 other) { - simd_uint16 result; - result.xyzw = other; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of sixteen 32-bit - * unsigned integers. */ -static inline SIMD_CFUNC simd_uint16 simd_make_uint16(simd_uint8 other) { - simd_uint16 result = 0; - result.lo = simd_make_uint8(other); - return result; -} - -/*! @abstract Extends `other` to form a vector of sixteen 32-bit unsigned - * integers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_uint16 simd_make_uint16_undef(simd_uint8 other) { - simd_uint16 result; - result.lo = simd_make_uint8(other); - return result; -} - -/*! @abstract Returns `other` unmodified. This function is a convenience for - * templated and autogenerated code. */ -static inline SIMD_CFUNC simd_uint16 simd_make_uint16(simd_uint16 other) { - return other; -} - -/*! @abstract Concatenates `x` and `y` to form a vector of two 32-bit - * floating-point numbers. */ -static inline SIMD_CFUNC simd_float2 simd_make_float2(float x, float y) { - simd_float2 result; - result.x = x; - result.y = y; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of two 32-bit floating- - * point numbers. */ -static inline SIMD_CFUNC simd_float2 simd_make_float2(float other) { - simd_float2 result = 0; - result.x = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of two 32-bit floating-point - * numbers. The contents of the newly-created vector lanes are unspecified. */ -static inline SIMD_CFUNC simd_float2 simd_make_float2_undef(float other) { - simd_float2 result; - result.x = other; - return result; -} - -/*! @abstract Returns `other` unmodified. This function is a convenience for - * templated and autogenerated code. */ -static inline SIMD_CFUNC simd_float2 simd_make_float2(simd_float2 other) { - return other; -} - -/*! @abstract Truncates `other` to form a vector of two 32-bit floating- - * point numbers. */ -static inline SIMD_CFUNC simd_float2 simd_make_float2(simd_float3 other) { - return other.xy; -} - -/*! @abstract Truncates `other` to form a vector of two 32-bit floating- - * point numbers. */ -static inline SIMD_CFUNC simd_float2 simd_make_float2(simd_float4 other) { - return other.xy; -} - -/*! @abstract Truncates `other` to form a vector of two 32-bit floating- - * point numbers. */ -static inline SIMD_CFUNC simd_float2 simd_make_float2(simd_float8 other) { - return other.xy; -} - -/*! @abstract Truncates `other` to form a vector of two 32-bit floating- - * point numbers. */ -static inline SIMD_CFUNC simd_float2 simd_make_float2(simd_float16 other) { - return other.xy; -} - -/*! @abstract Concatenates `x`, `y` and `z` to form a vector of three 32-bit - * floating-point numbers. */ -static inline SIMD_CFUNC simd_float3 simd_make_float3(float x, float y, float z) { - simd_float3 result; - result.x = x; - result.y = y; - result.z = z; - return result; -} - -/*! @abstract Concatenates `x` and `yz` to form a vector of three 32-bit - * floating-point numbers. */ -static inline SIMD_CFUNC simd_float3 simd_make_float3(float x, simd_float2 yz) { - simd_float3 result; - result.x = x; - result.yz = yz; - return result; -} - -/*! @abstract Concatenates `xy` and `z` to form a vector of three 32-bit - * floating-point numbers. */ -static inline SIMD_CFUNC simd_float3 simd_make_float3(simd_float2 xy, float z) { - simd_float3 result; - result.xy = xy; - result.z = z; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of three 32-bit - * floating-point numbers. */ -static inline SIMD_CFUNC simd_float3 simd_make_float3(float other) { - simd_float3 result = 0; - result.x = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of three 32-bit floating- - * point numbers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_float3 simd_make_float3_undef(float other) { - simd_float3 result; - result.x = other; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of three 32-bit - * floating-point numbers. */ -static inline SIMD_CFUNC simd_float3 simd_make_float3(simd_float2 other) { - simd_float3 result = 0; - result.xy = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of three 32-bit floating- - * point numbers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_float3 simd_make_float3_undef(simd_float2 other) { - simd_float3 result; - result.xy = other; - return result; -} - -/*! @abstract Returns `other` unmodified. This function is a convenience for - * templated and autogenerated code. */ -static inline SIMD_CFUNC simd_float3 simd_make_float3(simd_float3 other) { - return other; -} - -/*! @abstract Truncates `other` to form a vector of three 32-bit floating- - * point numbers. */ -static inline SIMD_CFUNC simd_float3 simd_make_float3(simd_float4 other) { - return other.xyz; -} - -/*! @abstract Truncates `other` to form a vector of three 32-bit floating- - * point numbers. */ -static inline SIMD_CFUNC simd_float3 simd_make_float3(simd_float8 other) { - return other.xyz; -} - -/*! @abstract Truncates `other` to form a vector of three 32-bit floating- - * point numbers. */ -static inline SIMD_CFUNC simd_float3 simd_make_float3(simd_float16 other) { - return other.xyz; -} - -/*! @abstract Concatenates `x`, `y`, `z` and `w` to form a vector of four - * 32-bit floating-point numbers. */ -static inline SIMD_CFUNC simd_float4 simd_make_float4(float x, float y, float z, float w) { - simd_float4 result; - result.x = x; - result.y = y; - result.z = z; - result.w = w; - return result; -} - -/*! @abstract Concatenates `x`, `y` and `zw` to form a vector of four 32-bit - * floating-point numbers. */ -static inline SIMD_CFUNC simd_float4 simd_make_float4(float x, float y, simd_float2 zw) { - simd_float4 result; - result.x = x; - result.y = y; - result.zw = zw; - return result; -} - -/*! @abstract Concatenates `x`, `yz` and `w` to form a vector of four 32-bit - * floating-point numbers. */ -static inline SIMD_CFUNC simd_float4 simd_make_float4(float x, simd_float2 yz, float w) { - simd_float4 result; - result.x = x; - result.yz = yz; - result.w = w; - return result; -} - -/*! @abstract Concatenates `xy`, `z` and `w` to form a vector of four 32-bit - * floating-point numbers. */ -static inline SIMD_CFUNC simd_float4 simd_make_float4(simd_float2 xy, float z, float w) { - simd_float4 result; - result.xy = xy; - result.z = z; - result.w = w; - return result; -} - -/*! @abstract Concatenates `x` and `yzw` to form a vector of four 32-bit - * floating-point numbers. */ -static inline SIMD_CFUNC simd_float4 simd_make_float4(float x, simd_float3 yzw) { - simd_float4 result; - result.x = x; - result.yzw = yzw; - return result; -} - -/*! @abstract Concatenates `xy` and `zw` to form a vector of four 32-bit - * floating-point numbers. */ -static inline SIMD_CFUNC simd_float4 simd_make_float4(simd_float2 xy, simd_float2 zw) { - simd_float4 result; - result.xy = xy; - result.zw = zw; - return result; -} - -/*! @abstract Concatenates `xyz` and `w` to form a vector of four 32-bit - * floating-point numbers. */ -static inline SIMD_CFUNC simd_float4 simd_make_float4(simd_float3 xyz, float w) { - simd_float4 result; - result.xyz = xyz; - result.w = w; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of four 32-bit floating- - * point numbers. */ -static inline SIMD_CFUNC simd_float4 simd_make_float4(float other) { - simd_float4 result = 0; - result.x = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of four 32-bit floating-point - * numbers. The contents of the newly-created vector lanes are unspecified. */ -static inline SIMD_CFUNC simd_float4 simd_make_float4_undef(float other) { - simd_float4 result; - result.x = other; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of four 32-bit floating- - * point numbers. */ -static inline SIMD_CFUNC simd_float4 simd_make_float4(simd_float2 other) { - simd_float4 result = 0; - result.xy = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of four 32-bit floating-point - * numbers. The contents of the newly-created vector lanes are unspecified. */ -static inline SIMD_CFUNC simd_float4 simd_make_float4_undef(simd_float2 other) { - simd_float4 result; - result.xy = other; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of four 32-bit floating- - * point numbers. */ -static inline SIMD_CFUNC simd_float4 simd_make_float4(simd_float3 other) { - simd_float4 result = 0; - result.xyz = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of four 32-bit floating-point - * numbers. The contents of the newly-created vector lanes are unspecified. */ -static inline SIMD_CFUNC simd_float4 simd_make_float4_undef(simd_float3 other) { - simd_float4 result; - result.xyz = other; - return result; -} - -/*! @abstract Returns `other` unmodified. This function is a convenience for - * templated and autogenerated code. */ -static inline SIMD_CFUNC simd_float4 simd_make_float4(simd_float4 other) { - return other; -} - -/*! @abstract Truncates `other` to form a vector of four 32-bit floating- - * point numbers. */ -static inline SIMD_CFUNC simd_float4 simd_make_float4(simd_float8 other) { - return other.xyzw; -} - -/*! @abstract Truncates `other` to form a vector of four 32-bit floating- - * point numbers. */ -static inline SIMD_CFUNC simd_float4 simd_make_float4(simd_float16 other) { - return other.xyzw; -} - -/*! @abstract Concatenates `lo` and `hi` to form a vector of eight 32-bit - * floating-point numbers. */ -static inline SIMD_CFUNC simd_float8 simd_make_float8(simd_float4 lo, simd_float4 hi) { - simd_float8 result; - result.lo = lo; - result.hi = hi; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of eight 32-bit - * floating-point numbers. */ -static inline SIMD_CFUNC simd_float8 simd_make_float8(float other) { - simd_float8 result = 0; - result.x = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of eight 32-bit floating- - * point numbers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_float8 simd_make_float8_undef(float other) { - simd_float8 result; - result.x = other; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of eight 32-bit - * floating-point numbers. */ -static inline SIMD_CFUNC simd_float8 simd_make_float8(simd_float2 other) { - simd_float8 result = 0; - result.xy = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of eight 32-bit floating- - * point numbers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_float8 simd_make_float8_undef(simd_float2 other) { - simd_float8 result; - result.xy = other; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of eight 32-bit - * floating-point numbers. */ -static inline SIMD_CFUNC simd_float8 simd_make_float8(simd_float3 other) { - simd_float8 result = 0; - result.xyz = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of eight 32-bit floating- - * point numbers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_float8 simd_make_float8_undef(simd_float3 other) { - simd_float8 result; - result.xyz = other; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of eight 32-bit - * floating-point numbers. */ -static inline SIMD_CFUNC simd_float8 simd_make_float8(simd_float4 other) { - simd_float8 result = 0; - result.xyzw = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of eight 32-bit floating- - * point numbers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_float8 simd_make_float8_undef(simd_float4 other) { - simd_float8 result; - result.xyzw = other; - return result; -} - -/*! @abstract Returns `other` unmodified. This function is a convenience for - * templated and autogenerated code. */ -static inline SIMD_CFUNC simd_float8 simd_make_float8(simd_float8 other) { - return other; -} - -/*! @abstract Truncates `other` to form a vector of eight 32-bit floating- - * point numbers. */ -static inline SIMD_CFUNC simd_float8 simd_make_float8(simd_float16 other) { - return simd_make_float8(other.lo); -} - -/*! @abstract Concatenates `lo` and `hi` to form a vector of sixteen 32-bit - * floating-point numbers. */ -static inline SIMD_CFUNC simd_float16 simd_make_float16(simd_float8 lo, simd_float8 hi) { - simd_float16 result; - result.lo = lo; - result.hi = hi; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of sixteen 32-bit - * floating-point numbers. */ -static inline SIMD_CFUNC simd_float16 simd_make_float16(float other) { - simd_float16 result = 0; - result.x = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of sixteen 32-bit floating- - * point numbers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_float16 simd_make_float16_undef(float other) { - simd_float16 result; - result.x = other; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of sixteen 32-bit - * floating-point numbers. */ -static inline SIMD_CFUNC simd_float16 simd_make_float16(simd_float2 other) { - simd_float16 result = 0; - result.xy = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of sixteen 32-bit floating- - * point numbers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_float16 simd_make_float16_undef(simd_float2 other) { - simd_float16 result; - result.xy = other; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of sixteen 32-bit - * floating-point numbers. */ -static inline SIMD_CFUNC simd_float16 simd_make_float16(simd_float3 other) { - simd_float16 result = 0; - result.xyz = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of sixteen 32-bit floating- - * point numbers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_float16 simd_make_float16_undef(simd_float3 other) { - simd_float16 result; - result.xyz = other; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of sixteen 32-bit - * floating-point numbers. */ -static inline SIMD_CFUNC simd_float16 simd_make_float16(simd_float4 other) { - simd_float16 result = 0; - result.xyzw = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of sixteen 32-bit floating- - * point numbers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_float16 simd_make_float16_undef(simd_float4 other) { - simd_float16 result; - result.xyzw = other; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of sixteen 32-bit - * floating-point numbers. */ -static inline SIMD_CFUNC simd_float16 simd_make_float16(simd_float8 other) { - simd_float16 result = 0; - result.lo = simd_make_float8(other); - return result; -} - -/*! @abstract Extends `other` to form a vector of sixteen 32-bit floating- - * point numbers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_float16 simd_make_float16_undef(simd_float8 other) { - simd_float16 result; - result.lo = simd_make_float8(other); - return result; -} - -/*! @abstract Returns `other` unmodified. This function is a convenience for - * templated and autogenerated code. */ -static inline SIMD_CFUNC simd_float16 simd_make_float16(simd_float16 other) { - return other; -} - -/*! @abstract Concatenates `x` and `y` to form a vector of two 64-bit signed - * (twos-complement) integers. */ -static inline SIMD_CFUNC simd_long2 simd_make_long2(simd_long1 x, simd_long1 y) { - simd_long2 result; - result.x = x; - result.y = y; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of two 64-bit signed - * (twos-complement) integers. */ -static inline SIMD_CFUNC simd_long2 simd_make_long2(simd_long1 other) { - simd_long2 result = 0; - result.x = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of two 64-bit signed (twos- - * complement) integers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_long2 simd_make_long2_undef(simd_long1 other) { - simd_long2 result; - result.x = other; - return result; -} - -/*! @abstract Returns `other` unmodified. This function is a convenience for - * templated and autogenerated code. */ -static inline SIMD_CFUNC simd_long2 simd_make_long2(simd_long2 other) { - return other; -} - -/*! @abstract Truncates `other` to form a vector of two 64-bit signed (twos- - * complement) integers. */ -static inline SIMD_CFUNC simd_long2 simd_make_long2(simd_long3 other) { - return other.xy; -} - -/*! @abstract Truncates `other` to form a vector of two 64-bit signed (twos- - * complement) integers. */ -static inline SIMD_CFUNC simd_long2 simd_make_long2(simd_long4 other) { - return other.xy; -} - -/*! @abstract Truncates `other` to form a vector of two 64-bit signed (twos- - * complement) integers. */ -static inline SIMD_CFUNC simd_long2 simd_make_long2(simd_long8 other) { - return other.xy; -} - -/*! @abstract Concatenates `x`, `y` and `z` to form a vector of three 64-bit - * signed (twos-complement) integers. */ -static inline SIMD_CFUNC simd_long3 simd_make_long3(simd_long1 x, simd_long1 y, simd_long1 z) { - simd_long3 result; - result.x = x; - result.y = y; - result.z = z; - return result; -} - -/*! @abstract Concatenates `x` and `yz` to form a vector of three 64-bit - * signed (twos-complement) integers. */ -static inline SIMD_CFUNC simd_long3 simd_make_long3(simd_long1 x, simd_long2 yz) { - simd_long3 result; - result.x = x; - result.yz = yz; - return result; -} - -/*! @abstract Concatenates `xy` and `z` to form a vector of three 64-bit - * signed (twos-complement) integers. */ -static inline SIMD_CFUNC simd_long3 simd_make_long3(simd_long2 xy, simd_long1 z) { - simd_long3 result; - result.xy = xy; - result.z = z; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of three 64-bit signed - * (twos-complement) integers. */ -static inline SIMD_CFUNC simd_long3 simd_make_long3(simd_long1 other) { - simd_long3 result = 0; - result.x = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of three 64-bit signed (twos- - * complement) integers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_long3 simd_make_long3_undef(simd_long1 other) { - simd_long3 result; - result.x = other; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of three 64-bit signed - * (twos-complement) integers. */ -static inline SIMD_CFUNC simd_long3 simd_make_long3(simd_long2 other) { - simd_long3 result = 0; - result.xy = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of three 64-bit signed (twos- - * complement) integers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_long3 simd_make_long3_undef(simd_long2 other) { - simd_long3 result; - result.xy = other; - return result; -} - -/*! @abstract Returns `other` unmodified. This function is a convenience for - * templated and autogenerated code. */ -static inline SIMD_CFUNC simd_long3 simd_make_long3(simd_long3 other) { - return other; -} - -/*! @abstract Truncates `other` to form a vector of three 64-bit signed - * (twos-complement) integers. */ -static inline SIMD_CFUNC simd_long3 simd_make_long3(simd_long4 other) { - return other.xyz; -} - -/*! @abstract Truncates `other` to form a vector of three 64-bit signed - * (twos-complement) integers. */ -static inline SIMD_CFUNC simd_long3 simd_make_long3(simd_long8 other) { - return other.xyz; -} - -/*! @abstract Concatenates `x`, `y`, `z` and `w` to form a vector of four - * 64-bit signed (twos-complement) integers. */ -static inline SIMD_CFUNC simd_long4 simd_make_long4(simd_long1 x, simd_long1 y, simd_long1 z, simd_long1 w) { - simd_long4 result; - result.x = x; - result.y = y; - result.z = z; - result.w = w; - return result; -} - -/*! @abstract Concatenates `x`, `y` and `zw` to form a vector of four 64-bit - * signed (twos-complement) integers. */ -static inline SIMD_CFUNC simd_long4 simd_make_long4(simd_long1 x, simd_long1 y, simd_long2 zw) { - simd_long4 result; - result.x = x; - result.y = y; - result.zw = zw; - return result; -} - -/*! @abstract Concatenates `x`, `yz` and `w` to form a vector of four 64-bit - * signed (twos-complement) integers. */ -static inline SIMD_CFUNC simd_long4 simd_make_long4(simd_long1 x, simd_long2 yz, simd_long1 w) { - simd_long4 result; - result.x = x; - result.yz = yz; - result.w = w; - return result; -} - -/*! @abstract Concatenates `xy`, `z` and `w` to form a vector of four 64-bit - * signed (twos-complement) integers. */ -static inline SIMD_CFUNC simd_long4 simd_make_long4(simd_long2 xy, simd_long1 z, simd_long1 w) { - simd_long4 result; - result.xy = xy; - result.z = z; - result.w = w; - return result; -} - -/*! @abstract Concatenates `x` and `yzw` to form a vector of four 64-bit - * signed (twos-complement) integers. */ -static inline SIMD_CFUNC simd_long4 simd_make_long4(simd_long1 x, simd_long3 yzw) { - simd_long4 result; - result.x = x; - result.yzw = yzw; - return result; -} - -/*! @abstract Concatenates `xy` and `zw` to form a vector of four 64-bit - * signed (twos-complement) integers. */ -static inline SIMD_CFUNC simd_long4 simd_make_long4(simd_long2 xy, simd_long2 zw) { - simd_long4 result; - result.xy = xy; - result.zw = zw; - return result; -} - -/*! @abstract Concatenates `xyz` and `w` to form a vector of four 64-bit - * signed (twos-complement) integers. */ -static inline SIMD_CFUNC simd_long4 simd_make_long4(simd_long3 xyz, simd_long1 w) { - simd_long4 result; - result.xyz = xyz; - result.w = w; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of four 64-bit signed - * (twos-complement) integers. */ -static inline SIMD_CFUNC simd_long4 simd_make_long4(simd_long1 other) { - simd_long4 result = 0; - result.x = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of four 64-bit signed (twos- - * complement) integers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_long4 simd_make_long4_undef(simd_long1 other) { - simd_long4 result; - result.x = other; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of four 64-bit signed - * (twos-complement) integers. */ -static inline SIMD_CFUNC simd_long4 simd_make_long4(simd_long2 other) { - simd_long4 result = 0; - result.xy = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of four 64-bit signed (twos- - * complement) integers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_long4 simd_make_long4_undef(simd_long2 other) { - simd_long4 result; - result.xy = other; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of four 64-bit signed - * (twos-complement) integers. */ -static inline SIMD_CFUNC simd_long4 simd_make_long4(simd_long3 other) { - simd_long4 result = 0; - result.xyz = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of four 64-bit signed (twos- - * complement) integers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_long4 simd_make_long4_undef(simd_long3 other) { - simd_long4 result; - result.xyz = other; - return result; -} - -/*! @abstract Returns `other` unmodified. This function is a convenience for - * templated and autogenerated code. */ -static inline SIMD_CFUNC simd_long4 simd_make_long4(simd_long4 other) { - return other; -} - -/*! @abstract Truncates `other` to form a vector of four 64-bit signed - * (twos-complement) integers. */ -static inline SIMD_CFUNC simd_long4 simd_make_long4(simd_long8 other) { - return other.xyzw; -} - -/*! @abstract Concatenates `lo` and `hi` to form a vector of eight 64-bit - * signed (twos-complement) integers. */ -static inline SIMD_CFUNC simd_long8 simd_make_long8(simd_long4 lo, simd_long4 hi) { - simd_long8 result; - result.lo = lo; - result.hi = hi; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of eight 64-bit signed - * (twos-complement) integers. */ -static inline SIMD_CFUNC simd_long8 simd_make_long8(simd_long1 other) { - simd_long8 result = 0; - result.x = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of eight 64-bit signed (twos- - * complement) integers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_long8 simd_make_long8_undef(simd_long1 other) { - simd_long8 result; - result.x = other; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of eight 64-bit signed - * (twos-complement) integers. */ -static inline SIMD_CFUNC simd_long8 simd_make_long8(simd_long2 other) { - simd_long8 result = 0; - result.xy = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of eight 64-bit signed (twos- - * complement) integers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_long8 simd_make_long8_undef(simd_long2 other) { - simd_long8 result; - result.xy = other; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of eight 64-bit signed - * (twos-complement) integers. */ -static inline SIMD_CFUNC simd_long8 simd_make_long8(simd_long3 other) { - simd_long8 result = 0; - result.xyz = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of eight 64-bit signed (twos- - * complement) integers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_long8 simd_make_long8_undef(simd_long3 other) { - simd_long8 result; - result.xyz = other; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of eight 64-bit signed - * (twos-complement) integers. */ -static inline SIMD_CFUNC simd_long8 simd_make_long8(simd_long4 other) { - simd_long8 result = 0; - result.xyzw = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of eight 64-bit signed (twos- - * complement) integers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_long8 simd_make_long8_undef(simd_long4 other) { - simd_long8 result; - result.xyzw = other; - return result; -} - -/*! @abstract Returns `other` unmodified. This function is a convenience for - * templated and autogenerated code. */ -static inline SIMD_CFUNC simd_long8 simd_make_long8(simd_long8 other) { - return other; -} - -/*! @abstract Concatenates `x` and `y` to form a vector of two 64-bit - * unsigned integers. */ -static inline SIMD_CFUNC simd_ulong2 simd_make_ulong2(simd_ulong1 x, simd_ulong1 y) { - simd_ulong2 result; - result.x = x; - result.y = y; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of two 64-bit unsigned - * integers. */ -static inline SIMD_CFUNC simd_ulong2 simd_make_ulong2(simd_ulong1 other) { - simd_ulong2 result = 0; - result.x = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of two 64-bit unsigned - * integers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_ulong2 simd_make_ulong2_undef(simd_ulong1 other) { - simd_ulong2 result; - result.x = other; - return result; -} - -/*! @abstract Returns `other` unmodified. This function is a convenience for - * templated and autogenerated code. */ -static inline SIMD_CFUNC simd_ulong2 simd_make_ulong2(simd_ulong2 other) { - return other; -} - -/*! @abstract Truncates `other` to form a vector of two 64-bit unsigned - * integers. */ -static inline SIMD_CFUNC simd_ulong2 simd_make_ulong2(simd_ulong3 other) { - return other.xy; -} - -/*! @abstract Truncates `other` to form a vector of two 64-bit unsigned - * integers. */ -static inline SIMD_CFUNC simd_ulong2 simd_make_ulong2(simd_ulong4 other) { - return other.xy; -} - -/*! @abstract Truncates `other` to form a vector of two 64-bit unsigned - * integers. */ -static inline SIMD_CFUNC simd_ulong2 simd_make_ulong2(simd_ulong8 other) { - return other.xy; -} - -/*! @abstract Concatenates `x`, `y` and `z` to form a vector of three 64-bit - * unsigned integers. */ -static inline SIMD_CFUNC simd_ulong3 simd_make_ulong3(simd_ulong1 x, simd_ulong1 y, simd_ulong1 z) { - simd_ulong3 result; - result.x = x; - result.y = y; - result.z = z; - return result; -} - -/*! @abstract Concatenates `x` and `yz` to form a vector of three 64-bit - * unsigned integers. */ -static inline SIMD_CFUNC simd_ulong3 simd_make_ulong3(simd_ulong1 x, simd_ulong2 yz) { - simd_ulong3 result; - result.x = x; - result.yz = yz; - return result; -} - -/*! @abstract Concatenates `xy` and `z` to form a vector of three 64-bit - * unsigned integers. */ -static inline SIMD_CFUNC simd_ulong3 simd_make_ulong3(simd_ulong2 xy, simd_ulong1 z) { - simd_ulong3 result; - result.xy = xy; - result.z = z; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of three 64-bit unsigned - * integers. */ -static inline SIMD_CFUNC simd_ulong3 simd_make_ulong3(simd_ulong1 other) { - simd_ulong3 result = 0; - result.x = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of three 64-bit unsigned - * integers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_ulong3 simd_make_ulong3_undef(simd_ulong1 other) { - simd_ulong3 result; - result.x = other; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of three 64-bit unsigned - * integers. */ -static inline SIMD_CFUNC simd_ulong3 simd_make_ulong3(simd_ulong2 other) { - simd_ulong3 result = 0; - result.xy = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of three 64-bit unsigned - * integers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_ulong3 simd_make_ulong3_undef(simd_ulong2 other) { - simd_ulong3 result; - result.xy = other; - return result; -} - -/*! @abstract Returns `other` unmodified. This function is a convenience for - * templated and autogenerated code. */ -static inline SIMD_CFUNC simd_ulong3 simd_make_ulong3(simd_ulong3 other) { - return other; -} - -/*! @abstract Truncates `other` to form a vector of three 64-bit unsigned - * integers. */ -static inline SIMD_CFUNC simd_ulong3 simd_make_ulong3(simd_ulong4 other) { - return other.xyz; -} - -/*! @abstract Truncates `other` to form a vector of three 64-bit unsigned - * integers. */ -static inline SIMD_CFUNC simd_ulong3 simd_make_ulong3(simd_ulong8 other) { - return other.xyz; -} - -/*! @abstract Concatenates `x`, `y`, `z` and `w` to form a vector of four - * 64-bit unsigned integers. */ -static inline SIMD_CFUNC simd_ulong4 simd_make_ulong4(simd_ulong1 x, simd_ulong1 y, simd_ulong1 z, simd_ulong1 w) { - simd_ulong4 result; - result.x = x; - result.y = y; - result.z = z; - result.w = w; - return result; -} - -/*! @abstract Concatenates `x`, `y` and `zw` to form a vector of four 64-bit - * unsigned integers. */ -static inline SIMD_CFUNC simd_ulong4 simd_make_ulong4(simd_ulong1 x, simd_ulong1 y, simd_ulong2 zw) { - simd_ulong4 result; - result.x = x; - result.y = y; - result.zw = zw; - return result; -} - -/*! @abstract Concatenates `x`, `yz` and `w` to form a vector of four 64-bit - * unsigned integers. */ -static inline SIMD_CFUNC simd_ulong4 simd_make_ulong4(simd_ulong1 x, simd_ulong2 yz, simd_ulong1 w) { - simd_ulong4 result; - result.x = x; - result.yz = yz; - result.w = w; - return result; -} - -/*! @abstract Concatenates `xy`, `z` and `w` to form a vector of four 64-bit - * unsigned integers. */ -static inline SIMD_CFUNC simd_ulong4 simd_make_ulong4(simd_ulong2 xy, simd_ulong1 z, simd_ulong1 w) { - simd_ulong4 result; - result.xy = xy; - result.z = z; - result.w = w; - return result; -} - -/*! @abstract Concatenates `x` and `yzw` to form a vector of four 64-bit - * unsigned integers. */ -static inline SIMD_CFUNC simd_ulong4 simd_make_ulong4(simd_ulong1 x, simd_ulong3 yzw) { - simd_ulong4 result; - result.x = x; - result.yzw = yzw; - return result; -} - -/*! @abstract Concatenates `xy` and `zw` to form a vector of four 64-bit - * unsigned integers. */ -static inline SIMD_CFUNC simd_ulong4 simd_make_ulong4(simd_ulong2 xy, simd_ulong2 zw) { - simd_ulong4 result; - result.xy = xy; - result.zw = zw; - return result; -} - -/*! @abstract Concatenates `xyz` and `w` to form a vector of four 64-bit - * unsigned integers. */ -static inline SIMD_CFUNC simd_ulong4 simd_make_ulong4(simd_ulong3 xyz, simd_ulong1 w) { - simd_ulong4 result; - result.xyz = xyz; - result.w = w; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of four 64-bit unsigned - * integers. */ -static inline SIMD_CFUNC simd_ulong4 simd_make_ulong4(simd_ulong1 other) { - simd_ulong4 result = 0; - result.x = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of four 64-bit unsigned - * integers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_ulong4 simd_make_ulong4_undef(simd_ulong1 other) { - simd_ulong4 result; - result.x = other; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of four 64-bit unsigned - * integers. */ -static inline SIMD_CFUNC simd_ulong4 simd_make_ulong4(simd_ulong2 other) { - simd_ulong4 result = 0; - result.xy = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of four 64-bit unsigned - * integers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_ulong4 simd_make_ulong4_undef(simd_ulong2 other) { - simd_ulong4 result; - result.xy = other; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of four 64-bit unsigned - * integers. */ -static inline SIMD_CFUNC simd_ulong4 simd_make_ulong4(simd_ulong3 other) { - simd_ulong4 result = 0; - result.xyz = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of four 64-bit unsigned - * integers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_ulong4 simd_make_ulong4_undef(simd_ulong3 other) { - simd_ulong4 result; - result.xyz = other; - return result; -} - -/*! @abstract Returns `other` unmodified. This function is a convenience for - * templated and autogenerated code. */ -static inline SIMD_CFUNC simd_ulong4 simd_make_ulong4(simd_ulong4 other) { - return other; -} - -/*! @abstract Truncates `other` to form a vector of four 64-bit unsigned - * integers. */ -static inline SIMD_CFUNC simd_ulong4 simd_make_ulong4(simd_ulong8 other) { - return other.xyzw; -} - -/*! @abstract Concatenates `lo` and `hi` to form a vector of eight 64-bit - * unsigned integers. */ -static inline SIMD_CFUNC simd_ulong8 simd_make_ulong8(simd_ulong4 lo, simd_ulong4 hi) { - simd_ulong8 result; - result.lo = lo; - result.hi = hi; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of eight 64-bit unsigned - * integers. */ -static inline SIMD_CFUNC simd_ulong8 simd_make_ulong8(simd_ulong1 other) { - simd_ulong8 result = 0; - result.x = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of eight 64-bit unsigned - * integers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_ulong8 simd_make_ulong8_undef(simd_ulong1 other) { - simd_ulong8 result; - result.x = other; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of eight 64-bit unsigned - * integers. */ -static inline SIMD_CFUNC simd_ulong8 simd_make_ulong8(simd_ulong2 other) { - simd_ulong8 result = 0; - result.xy = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of eight 64-bit unsigned - * integers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_ulong8 simd_make_ulong8_undef(simd_ulong2 other) { - simd_ulong8 result; - result.xy = other; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of eight 64-bit unsigned - * integers. */ -static inline SIMD_CFUNC simd_ulong8 simd_make_ulong8(simd_ulong3 other) { - simd_ulong8 result = 0; - result.xyz = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of eight 64-bit unsigned - * integers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_ulong8 simd_make_ulong8_undef(simd_ulong3 other) { - simd_ulong8 result; - result.xyz = other; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of eight 64-bit unsigned - * integers. */ -static inline SIMD_CFUNC simd_ulong8 simd_make_ulong8(simd_ulong4 other) { - simd_ulong8 result = 0; - result.xyzw = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of eight 64-bit unsigned - * integers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_ulong8 simd_make_ulong8_undef(simd_ulong4 other) { - simd_ulong8 result; - result.xyzw = other; - return result; -} - -/*! @abstract Returns `other` unmodified. This function is a convenience for - * templated and autogenerated code. */ -static inline SIMD_CFUNC simd_ulong8 simd_make_ulong8(simd_ulong8 other) { - return other; -} - -/*! @abstract Concatenates `x` and `y` to form a vector of two 64-bit - * floating-point numbers. */ -static inline SIMD_CFUNC simd_double2 simd_make_double2(double x, double y) { - simd_double2 result; - result.x = x; - result.y = y; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of two 64-bit floating- - * point numbers. */ -static inline SIMD_CFUNC simd_double2 simd_make_double2(double other) { - simd_double2 result = 0; - result.x = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of two 64-bit floating-point - * numbers. The contents of the newly-created vector lanes are unspecified. */ -static inline SIMD_CFUNC simd_double2 simd_make_double2_undef(double other) { - simd_double2 result; - result.x = other; - return result; -} - -/*! @abstract Returns `other` unmodified. This function is a convenience for - * templated and autogenerated code. */ -static inline SIMD_CFUNC simd_double2 simd_make_double2(simd_double2 other) { - return other; -} - -/*! @abstract Truncates `other` to form a vector of two 64-bit floating- - * point numbers. */ -static inline SIMD_CFUNC simd_double2 simd_make_double2(simd_double3 other) { - return other.xy; -} - -/*! @abstract Truncates `other` to form a vector of two 64-bit floating- - * point numbers. */ -static inline SIMD_CFUNC simd_double2 simd_make_double2(simd_double4 other) { - return other.xy; -} - -/*! @abstract Truncates `other` to form a vector of two 64-bit floating- - * point numbers. */ -static inline SIMD_CFUNC simd_double2 simd_make_double2(simd_double8 other) { - return other.xy; -} - -/*! @abstract Concatenates `x`, `y` and `z` to form a vector of three 64-bit - * floating-point numbers. */ -static inline SIMD_CFUNC simd_double3 simd_make_double3(double x, double y, double z) { - simd_double3 result; - result.x = x; - result.y = y; - result.z = z; - return result; -} - -/*! @abstract Concatenates `x` and `yz` to form a vector of three 64-bit - * floating-point numbers. */ -static inline SIMD_CFUNC simd_double3 simd_make_double3(double x, simd_double2 yz) { - simd_double3 result; - result.x = x; - result.yz = yz; - return result; -} - -/*! @abstract Concatenates `xy` and `z` to form a vector of three 64-bit - * floating-point numbers. */ -static inline SIMD_CFUNC simd_double3 simd_make_double3(simd_double2 xy, double z) { - simd_double3 result; - result.xy = xy; - result.z = z; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of three 64-bit - * floating-point numbers. */ -static inline SIMD_CFUNC simd_double3 simd_make_double3(double other) { - simd_double3 result = 0; - result.x = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of three 64-bit floating- - * point numbers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_double3 simd_make_double3_undef(double other) { - simd_double3 result; - result.x = other; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of three 64-bit - * floating-point numbers. */ -static inline SIMD_CFUNC simd_double3 simd_make_double3(simd_double2 other) { - simd_double3 result = 0; - result.xy = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of three 64-bit floating- - * point numbers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_double3 simd_make_double3_undef(simd_double2 other) { - simd_double3 result; - result.xy = other; - return result; -} - -/*! @abstract Returns `other` unmodified. This function is a convenience for - * templated and autogenerated code. */ -static inline SIMD_CFUNC simd_double3 simd_make_double3(simd_double3 other) { - return other; -} - -/*! @abstract Truncates `other` to form a vector of three 64-bit floating- - * point numbers. */ -static inline SIMD_CFUNC simd_double3 simd_make_double3(simd_double4 other) { - return other.xyz; -} - -/*! @abstract Truncates `other` to form a vector of three 64-bit floating- - * point numbers. */ -static inline SIMD_CFUNC simd_double3 simd_make_double3(simd_double8 other) { - return other.xyz; -} - -/*! @abstract Concatenates `x`, `y`, `z` and `w` to form a vector of four - * 64-bit floating-point numbers. */ -static inline SIMD_CFUNC simd_double4 simd_make_double4(double x, double y, double z, double w) { - simd_double4 result; - result.x = x; - result.y = y; - result.z = z; - result.w = w; - return result; -} - -/*! @abstract Concatenates `x`, `y` and `zw` to form a vector of four 64-bit - * floating-point numbers. */ -static inline SIMD_CFUNC simd_double4 simd_make_double4(double x, double y, simd_double2 zw) { - simd_double4 result; - result.x = x; - result.y = y; - result.zw = zw; - return result; -} - -/*! @abstract Concatenates `x`, `yz` and `w` to form a vector of four 64-bit - * floating-point numbers. */ -static inline SIMD_CFUNC simd_double4 simd_make_double4(double x, simd_double2 yz, double w) { - simd_double4 result; - result.x = x; - result.yz = yz; - result.w = w; - return result; -} - -/*! @abstract Concatenates `xy`, `z` and `w` to form a vector of four 64-bit - * floating-point numbers. */ -static inline SIMD_CFUNC simd_double4 simd_make_double4(simd_double2 xy, double z, double w) { - simd_double4 result; - result.xy = xy; - result.z = z; - result.w = w; - return result; -} - -/*! @abstract Concatenates `x` and `yzw` to form a vector of four 64-bit - * floating-point numbers. */ -static inline SIMD_CFUNC simd_double4 simd_make_double4(double x, simd_double3 yzw) { - simd_double4 result; - result.x = x; - result.yzw = yzw; - return result; -} - -/*! @abstract Concatenates `xy` and `zw` to form a vector of four 64-bit - * floating-point numbers. */ -static inline SIMD_CFUNC simd_double4 simd_make_double4(simd_double2 xy, simd_double2 zw) { - simd_double4 result; - result.xy = xy; - result.zw = zw; - return result; -} - -/*! @abstract Concatenates `xyz` and `w` to form a vector of four 64-bit - * floating-point numbers. */ -static inline SIMD_CFUNC simd_double4 simd_make_double4(simd_double3 xyz, double w) { - simd_double4 result; - result.xyz = xyz; - result.w = w; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of four 64-bit floating- - * point numbers. */ -static inline SIMD_CFUNC simd_double4 simd_make_double4(double other) { - simd_double4 result = 0; - result.x = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of four 64-bit floating-point - * numbers. The contents of the newly-created vector lanes are unspecified. */ -static inline SIMD_CFUNC simd_double4 simd_make_double4_undef(double other) { - simd_double4 result; - result.x = other; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of four 64-bit floating- - * point numbers. */ -static inline SIMD_CFUNC simd_double4 simd_make_double4(simd_double2 other) { - simd_double4 result = 0; - result.xy = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of four 64-bit floating-point - * numbers. The contents of the newly-created vector lanes are unspecified. */ -static inline SIMD_CFUNC simd_double4 simd_make_double4_undef(simd_double2 other) { - simd_double4 result; - result.xy = other; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of four 64-bit floating- - * point numbers. */ -static inline SIMD_CFUNC simd_double4 simd_make_double4(simd_double3 other) { - simd_double4 result = 0; - result.xyz = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of four 64-bit floating-point - * numbers. The contents of the newly-created vector lanes are unspecified. */ -static inline SIMD_CFUNC simd_double4 simd_make_double4_undef(simd_double3 other) { - simd_double4 result; - result.xyz = other; - return result; -} - -/*! @abstract Returns `other` unmodified. This function is a convenience for - * templated and autogenerated code. */ -static inline SIMD_CFUNC simd_double4 simd_make_double4(simd_double4 other) { - return other; -} - -/*! @abstract Truncates `other` to form a vector of four 64-bit floating- - * point numbers. */ -static inline SIMD_CFUNC simd_double4 simd_make_double4(simd_double8 other) { - return other.xyzw; -} - -/*! @abstract Concatenates `lo` and `hi` to form a vector of eight 64-bit - * floating-point numbers. */ -static inline SIMD_CFUNC simd_double8 simd_make_double8(simd_double4 lo, simd_double4 hi) { - simd_double8 result; - result.lo = lo; - result.hi = hi; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of eight 64-bit - * floating-point numbers. */ -static inline SIMD_CFUNC simd_double8 simd_make_double8(double other) { - simd_double8 result = 0; - result.x = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of eight 64-bit floating- - * point numbers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_double8 simd_make_double8_undef(double other) { - simd_double8 result; - result.x = other; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of eight 64-bit - * floating-point numbers. */ -static inline SIMD_CFUNC simd_double8 simd_make_double8(simd_double2 other) { - simd_double8 result = 0; - result.xy = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of eight 64-bit floating- - * point numbers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_double8 simd_make_double8_undef(simd_double2 other) { - simd_double8 result; - result.xy = other; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of eight 64-bit - * floating-point numbers. */ -static inline SIMD_CFUNC simd_double8 simd_make_double8(simd_double3 other) { - simd_double8 result = 0; - result.xyz = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of eight 64-bit floating- - * point numbers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_double8 simd_make_double8_undef(simd_double3 other) { - simd_double8 result; - result.xyz = other; - return result; -} - -/*! @abstract Zero-extends `other` to form a vector of eight 64-bit - * floating-point numbers. */ -static inline SIMD_CFUNC simd_double8 simd_make_double8(simd_double4 other) { - simd_double8 result = 0; - result.xyzw = other; - return result; -} - -/*! @abstract Extends `other` to form a vector of eight 64-bit floating- - * point numbers. The contents of the newly-created vector lanes are - * unspecified. */ -static inline SIMD_CFUNC simd_double8 simd_make_double8_undef(simd_double4 other) { - simd_double8 result; - result.xyzw = other; - return result; -} - -/*! @abstract Returns `other` unmodified. This function is a convenience for - * templated and autogenerated code. */ -static inline SIMD_CFUNC simd_double8 simd_make_double8(simd_double8 other) { - return other; -} - -#ifdef __cplusplus -} /* extern "C" */ - -namespace simd { -/*! @abstract Concatenates `x` and `y` to form a vector of two 8-bit signed - * (twos-complement) integers. */ -static inline SIMD_CPPFUNC char2 make_char2(char x, char y) { - return ::simd_make_char2(x, y); -} - -/*! @abstract Truncates or zero-extends `other` to form a vector of two - * 8-bit signed (twos-complement) integers. */ -template static SIMD_CPPFUNC char2 make_char2(typeN other) { - return ::simd_make_char2(other); -} - -/*! @abstract Extends `other` to form a vector of two 8-bit signed (twos- - * complement) integers. The contents of the newly-created vector lanes are - * unspecified. */ -template static SIMD_CPPFUNC char2 make_char2_undef(typeN other) { - return ::simd_make_char2_undef(other); -} - -/*! @abstract Concatenates `x`, `y` and `z` to form a vector of three 8-bit - * signed (twos-complement) integers. */ -static inline SIMD_CPPFUNC char3 make_char3(char x, char y, char z) { - return ::simd_make_char3(x, y, z); -} - -/*! @abstract Concatenates `x` and `yz` to form a vector of three 8-bit - * signed (twos-complement) integers. */ -static inline SIMD_CPPFUNC char3 make_char3(char x, char2 yz) { - return ::simd_make_char3(x, yz); -} - -/*! @abstract Concatenates `xy` and `z` to form a vector of three 8-bit - * signed (twos-complement) integers. */ -static inline SIMD_CPPFUNC char3 make_char3(char2 xy, char z) { - return ::simd_make_char3(xy, z); -} - -/*! @abstract Truncates or zero-extends `other` to form a vector of three - * 8-bit signed (twos-complement) integers. */ -template static SIMD_CPPFUNC char3 make_char3(typeN other) { - return ::simd_make_char3(other); -} - -/*! @abstract Extends `other` to form a vector of three 8-bit signed (twos- - * complement) integers. The contents of the newly-created vector lanes are - * unspecified. */ -template static SIMD_CPPFUNC char3 make_char3_undef(typeN other) { - return ::simd_make_char3_undef(other); -} - -/*! @abstract Concatenates `x`, `y`, `z` and `w` to form a vector of four - * 8-bit signed (twos-complement) integers. */ -static inline SIMD_CPPFUNC char4 make_char4(char x, char y, char z, char w) { - return ::simd_make_char4(x, y, z, w); -} - -/*! @abstract Concatenates `x`, `y` and `zw` to form a vector of four 8-bit - * signed (twos-complement) integers. */ -static inline SIMD_CPPFUNC char4 make_char4(char x, char y, char2 zw) { - return ::simd_make_char4(x, y, zw); -} - -/*! @abstract Concatenates `x`, `yz` and `w` to form a vector of four 8-bit - * signed (twos-complement) integers. */ -static inline SIMD_CPPFUNC char4 make_char4(char x, char2 yz, char w) { - return ::simd_make_char4(x, yz, w); -} - -/*! @abstract Concatenates `xy`, `z` and `w` to form a vector of four 8-bit - * signed (twos-complement) integers. */ -static inline SIMD_CPPFUNC char4 make_char4(char2 xy, char z, char w) { - return ::simd_make_char4(xy, z, w); -} - -/*! @abstract Concatenates `x` and `yzw` to form a vector of four 8-bit - * signed (twos-complement) integers. */ -static inline SIMD_CPPFUNC char4 make_char4(char x, char3 yzw) { - return ::simd_make_char4(x, yzw); -} - -/*! @abstract Concatenates `xy` and `zw` to form a vector of four 8-bit - * signed (twos-complement) integers. */ -static inline SIMD_CPPFUNC char4 make_char4(char2 xy, char2 zw) { - return ::simd_make_char4(xy, zw); -} - -/*! @abstract Concatenates `xyz` and `w` to form a vector of four 8-bit - * signed (twos-complement) integers. */ -static inline SIMD_CPPFUNC char4 make_char4(char3 xyz, char w) { - return ::simd_make_char4(xyz, w); -} - -/*! @abstract Truncates or zero-extends `other` to form a vector of four - * 8-bit signed (twos-complement) integers. */ -template static SIMD_CPPFUNC char4 make_char4(typeN other) { - return ::simd_make_char4(other); -} - -/*! @abstract Extends `other` to form a vector of four 8-bit signed (twos- - * complement) integers. The contents of the newly-created vector lanes are - * unspecified. */ -template static SIMD_CPPFUNC char4 make_char4_undef(typeN other) { - return ::simd_make_char4_undef(other); -} - -/*! @abstract Concatenates `lo` and `hi` to form a vector of eight 8-bit - * signed (twos-complement) integers. */ -static inline SIMD_CPPFUNC char8 make_char8(char4 lo, char4 hi) { - return ::simd_make_char8(lo, hi); -} - -/*! @abstract Truncates or zero-extends `other` to form a vector of eight - * 8-bit signed (twos-complement) integers. */ -template static SIMD_CPPFUNC char8 make_char8(typeN other) { - return ::simd_make_char8(other); -} - -/*! @abstract Extends `other` to form a vector of eight 8-bit signed (twos- - * complement) integers. The contents of the newly-created vector lanes are - * unspecified. */ -template static SIMD_CPPFUNC char8 make_char8_undef(typeN other) { - return ::simd_make_char8_undef(other); -} - -/*! @abstract Concatenates `lo` and `hi` to form a vector of sixteen 8-bit - * signed (twos-complement) integers. */ -static inline SIMD_CPPFUNC char16 make_char16(char8 lo, char8 hi) { - return ::simd_make_char16(lo, hi); -} - -/*! @abstract Truncates or zero-extends `other` to form a vector of sixteen - * 8-bit signed (twos-complement) integers. */ -template static SIMD_CPPFUNC char16 make_char16(typeN other) { - return ::simd_make_char16(other); -} - -/*! @abstract Extends `other` to form a vector of sixteen 8-bit signed - * (twos-complement) integers. The contents of the newly-created vector - * lanes are unspecified. */ -template static SIMD_CPPFUNC char16 make_char16_undef(typeN other) { - return ::simd_make_char16_undef(other); -} - -/*! @abstract Concatenates `lo` and `hi` to form a vector of thirty-two - * 8-bit signed (twos-complement) integers. */ -static inline SIMD_CPPFUNC char32 make_char32(char16 lo, char16 hi) { - return ::simd_make_char32(lo, hi); -} - -/*! @abstract Truncates or zero-extends `other` to form a vector of thirty- - * two 8-bit signed (twos-complement) integers. */ -template static SIMD_CPPFUNC char32 make_char32(typeN other) { - return ::simd_make_char32(other); -} - -/*! @abstract Extends `other` to form a vector of thirty-two 8-bit signed - * (twos-complement) integers. The contents of the newly-created vector - * lanes are unspecified. */ -template static SIMD_CPPFUNC char32 make_char32_undef(typeN other) { - return ::simd_make_char32_undef(other); -} - -/*! @abstract Concatenates `lo` and `hi` to form a vector of sixty-four - * 8-bit signed (twos-complement) integers. */ -static inline SIMD_CPPFUNC char64 make_char64(char32 lo, char32 hi) { - return ::simd_make_char64(lo, hi); -} - -/*! @abstract Truncates or zero-extends `other` to form a vector of sixty- - * four 8-bit signed (twos-complement) integers. */ -template static SIMD_CPPFUNC char64 make_char64(typeN other) { - return ::simd_make_char64(other); -} - -/*! @abstract Extends `other` to form a vector of sixty-four 8-bit signed - * (twos-complement) integers. The contents of the newly-created vector - * lanes are unspecified. */ -template static SIMD_CPPFUNC char64 make_char64_undef(typeN other) { - return ::simd_make_char64_undef(other); -} - -/*! @abstract Concatenates `x` and `y` to form a vector of two 8-bit - * unsigned integers. */ -static inline SIMD_CPPFUNC uchar2 make_uchar2(unsigned char x, unsigned char y) { - return ::simd_make_uchar2(x, y); -} - -/*! @abstract Truncates or zero-extends `other` to form a vector of two - * 8-bit unsigned integers. */ -template static SIMD_CPPFUNC uchar2 make_uchar2(typeN other) { - return ::simd_make_uchar2(other); -} - -/*! @abstract Extends `other` to form a vector of two 8-bit unsigned - * integers. The contents of the newly-created vector lanes are - * unspecified. */ -template static SIMD_CPPFUNC uchar2 make_uchar2_undef(typeN other) { - return ::simd_make_uchar2_undef(other); -} - -/*! @abstract Concatenates `x`, `y` and `z` to form a vector of three 8-bit - * unsigned integers. */ -static inline SIMD_CPPFUNC uchar3 make_uchar3(unsigned char x, unsigned char y, unsigned char z) { - return ::simd_make_uchar3(x, y, z); -} - -/*! @abstract Concatenates `x` and `yz` to form a vector of three 8-bit - * unsigned integers. */ -static inline SIMD_CPPFUNC uchar3 make_uchar3(unsigned char x, uchar2 yz) { - return ::simd_make_uchar3(x, yz); -} - -/*! @abstract Concatenates `xy` and `z` to form a vector of three 8-bit - * unsigned integers. */ -static inline SIMD_CPPFUNC uchar3 make_uchar3(uchar2 xy, unsigned char z) { - return ::simd_make_uchar3(xy, z); -} - -/*! @abstract Truncates or zero-extends `other` to form a vector of three - * 8-bit unsigned integers. */ -template static SIMD_CPPFUNC uchar3 make_uchar3(typeN other) { - return ::simd_make_uchar3(other); -} - -/*! @abstract Extends `other` to form a vector of three 8-bit unsigned - * integers. The contents of the newly-created vector lanes are - * unspecified. */ -template static SIMD_CPPFUNC uchar3 make_uchar3_undef(typeN other) { - return ::simd_make_uchar3_undef(other); -} - -/*! @abstract Concatenates `x`, `y`, `z` and `w` to form a vector of four - * 8-bit unsigned integers. */ -static inline SIMD_CPPFUNC uchar4 make_uchar4(unsigned char x, unsigned char y, unsigned char z, unsigned char w) { - return ::simd_make_uchar4(x, y, z, w); -} - -/*! @abstract Concatenates `x`, `y` and `zw` to form a vector of four 8-bit - * unsigned integers. */ -static inline SIMD_CPPFUNC uchar4 make_uchar4(unsigned char x, unsigned char y, uchar2 zw) { - return ::simd_make_uchar4(x, y, zw); -} - -/*! @abstract Concatenates `x`, `yz` and `w` to form a vector of four 8-bit - * unsigned integers. */ -static inline SIMD_CPPFUNC uchar4 make_uchar4(unsigned char x, uchar2 yz, unsigned char w) { - return ::simd_make_uchar4(x, yz, w); -} - -/*! @abstract Concatenates `xy`, `z` and `w` to form a vector of four 8-bit - * unsigned integers. */ -static inline SIMD_CPPFUNC uchar4 make_uchar4(uchar2 xy, unsigned char z, unsigned char w) { - return ::simd_make_uchar4(xy, z, w); -} - -/*! @abstract Concatenates `x` and `yzw` to form a vector of four 8-bit - * unsigned integers. */ -static inline SIMD_CPPFUNC uchar4 make_uchar4(unsigned char x, uchar3 yzw) { - return ::simd_make_uchar4(x, yzw); -} - -/*! @abstract Concatenates `xy` and `zw` to form a vector of four 8-bit - * unsigned integers. */ -static inline SIMD_CPPFUNC uchar4 make_uchar4(uchar2 xy, uchar2 zw) { - return ::simd_make_uchar4(xy, zw); -} - -/*! @abstract Concatenates `xyz` and `w` to form a vector of four 8-bit - * unsigned integers. */ -static inline SIMD_CPPFUNC uchar4 make_uchar4(uchar3 xyz, unsigned char w) { - return ::simd_make_uchar4(xyz, w); -} - -/*! @abstract Truncates or zero-extends `other` to form a vector of four - * 8-bit unsigned integers. */ -template static SIMD_CPPFUNC uchar4 make_uchar4(typeN other) { - return ::simd_make_uchar4(other); -} - -/*! @abstract Extends `other` to form a vector of four 8-bit unsigned - * integers. The contents of the newly-created vector lanes are - * unspecified. */ -template static SIMD_CPPFUNC uchar4 make_uchar4_undef(typeN other) { - return ::simd_make_uchar4_undef(other); -} - -/*! @abstract Concatenates `lo` and `hi` to form a vector of eight 8-bit - * unsigned integers. */ -static inline SIMD_CPPFUNC uchar8 make_uchar8(uchar4 lo, uchar4 hi) { - return ::simd_make_uchar8(lo, hi); -} - -/*! @abstract Truncates or zero-extends `other` to form a vector of eight - * 8-bit unsigned integers. */ -template static SIMD_CPPFUNC uchar8 make_uchar8(typeN other) { - return ::simd_make_uchar8(other); -} - -/*! @abstract Extends `other` to form a vector of eight 8-bit unsigned - * integers. The contents of the newly-created vector lanes are - * unspecified. */ -template static SIMD_CPPFUNC uchar8 make_uchar8_undef(typeN other) { - return ::simd_make_uchar8_undef(other); -} - -/*! @abstract Concatenates `lo` and `hi` to form a vector of sixteen 8-bit - * unsigned integers. */ -static inline SIMD_CPPFUNC uchar16 make_uchar16(uchar8 lo, uchar8 hi) { - return ::simd_make_uchar16(lo, hi); -} - -/*! @abstract Truncates or zero-extends `other` to form a vector of sixteen - * 8-bit unsigned integers. */ -template static SIMD_CPPFUNC uchar16 make_uchar16(typeN other) { - return ::simd_make_uchar16(other); -} - -/*! @abstract Extends `other` to form a vector of sixteen 8-bit unsigned - * integers. The contents of the newly-created vector lanes are - * unspecified. */ -template static SIMD_CPPFUNC uchar16 make_uchar16_undef(typeN other) { - return ::simd_make_uchar16_undef(other); -} - -/*! @abstract Concatenates `lo` and `hi` to form a vector of thirty-two - * 8-bit unsigned integers. */ -static inline SIMD_CPPFUNC uchar32 make_uchar32(uchar16 lo, uchar16 hi) { - return ::simd_make_uchar32(lo, hi); -} - -/*! @abstract Truncates or zero-extends `other` to form a vector of thirty- - * two 8-bit unsigned integers. */ -template static SIMD_CPPFUNC uchar32 make_uchar32(typeN other) { - return ::simd_make_uchar32(other); -} - -/*! @abstract Extends `other` to form a vector of thirty-two 8-bit unsigned - * integers. The contents of the newly-created vector lanes are - * unspecified. */ -template static SIMD_CPPFUNC uchar32 make_uchar32_undef(typeN other) { - return ::simd_make_uchar32_undef(other); -} - -/*! @abstract Concatenates `lo` and `hi` to form a vector of sixty-four - * 8-bit unsigned integers. */ -static inline SIMD_CPPFUNC uchar64 make_uchar64(uchar32 lo, uchar32 hi) { - return ::simd_make_uchar64(lo, hi); -} - -/*! @abstract Truncates or zero-extends `other` to form a vector of sixty- - * four 8-bit unsigned integers. */ -template static SIMD_CPPFUNC uchar64 make_uchar64(typeN other) { - return ::simd_make_uchar64(other); -} - -/*! @abstract Extends `other` to form a vector of sixty-four 8-bit unsigned - * integers. The contents of the newly-created vector lanes are - * unspecified. */ -template static SIMD_CPPFUNC uchar64 make_uchar64_undef(typeN other) { - return ::simd_make_uchar64_undef(other); -} - -/*! @abstract Concatenates `x` and `y` to form a vector of two 16-bit signed - * (twos-complement) integers. */ -static inline SIMD_CPPFUNC short2 make_short2(short x, short y) { - return ::simd_make_short2(x, y); -} - -/*! @abstract Truncates or zero-extends `other` to form a vector of two - * 16-bit signed (twos-complement) integers. */ -template static SIMD_CPPFUNC short2 make_short2(typeN other) { - return ::simd_make_short2(other); -} - -/*! @abstract Extends `other` to form a vector of two 16-bit signed (twos- - * complement) integers. The contents of the newly-created vector lanes are - * unspecified. */ -template static SIMD_CPPFUNC short2 make_short2_undef(typeN other) { - return ::simd_make_short2_undef(other); -} - -/*! @abstract Concatenates `x`, `y` and `z` to form a vector of three 16-bit - * signed (twos-complement) integers. */ -static inline SIMD_CPPFUNC short3 make_short3(short x, short y, short z) { - return ::simd_make_short3(x, y, z); -} - -/*! @abstract Concatenates `x` and `yz` to form a vector of three 16-bit - * signed (twos-complement) integers. */ -static inline SIMD_CPPFUNC short3 make_short3(short x, short2 yz) { - return ::simd_make_short3(x, yz); -} - -/*! @abstract Concatenates `xy` and `z` to form a vector of three 16-bit - * signed (twos-complement) integers. */ -static inline SIMD_CPPFUNC short3 make_short3(short2 xy, short z) { - return ::simd_make_short3(xy, z); -} - -/*! @abstract Truncates or zero-extends `other` to form a vector of three - * 16-bit signed (twos-complement) integers. */ -template static SIMD_CPPFUNC short3 make_short3(typeN other) { - return ::simd_make_short3(other); -} - -/*! @abstract Extends `other` to form a vector of three 16-bit signed (twos- - * complement) integers. The contents of the newly-created vector lanes are - * unspecified. */ -template static SIMD_CPPFUNC short3 make_short3_undef(typeN other) { - return ::simd_make_short3_undef(other); -} - -/*! @abstract Concatenates `x`, `y`, `z` and `w` to form a vector of four - * 16-bit signed (twos-complement) integers. */ -static inline SIMD_CPPFUNC short4 make_short4(short x, short y, short z, short w) { - return ::simd_make_short4(x, y, z, w); -} - -/*! @abstract Concatenates `x`, `y` and `zw` to form a vector of four 16-bit - * signed (twos-complement) integers. */ -static inline SIMD_CPPFUNC short4 make_short4(short x, short y, short2 zw) { - return ::simd_make_short4(x, y, zw); -} - -/*! @abstract Concatenates `x`, `yz` and `w` to form a vector of four 16-bit - * signed (twos-complement) integers. */ -static inline SIMD_CPPFUNC short4 make_short4(short x, short2 yz, short w) { - return ::simd_make_short4(x, yz, w); -} - -/*! @abstract Concatenates `xy`, `z` and `w` to form a vector of four 16-bit - * signed (twos-complement) integers. */ -static inline SIMD_CPPFUNC short4 make_short4(short2 xy, short z, short w) { - return ::simd_make_short4(xy, z, w); -} - -/*! @abstract Concatenates `x` and `yzw` to form a vector of four 16-bit - * signed (twos-complement) integers. */ -static inline SIMD_CPPFUNC short4 make_short4(short x, short3 yzw) { - return ::simd_make_short4(x, yzw); -} - -/*! @abstract Concatenates `xy` and `zw` to form a vector of four 16-bit - * signed (twos-complement) integers. */ -static inline SIMD_CPPFUNC short4 make_short4(short2 xy, short2 zw) { - return ::simd_make_short4(xy, zw); -} - -/*! @abstract Concatenates `xyz` and `w` to form a vector of four 16-bit - * signed (twos-complement) integers. */ -static inline SIMD_CPPFUNC short4 make_short4(short3 xyz, short w) { - return ::simd_make_short4(xyz, w); -} - -/*! @abstract Truncates or zero-extends `other` to form a vector of four - * 16-bit signed (twos-complement) integers. */ -template static SIMD_CPPFUNC short4 make_short4(typeN other) { - return ::simd_make_short4(other); -} - -/*! @abstract Extends `other` to form a vector of four 16-bit signed (twos- - * complement) integers. The contents of the newly-created vector lanes are - * unspecified. */ -template static SIMD_CPPFUNC short4 make_short4_undef(typeN other) { - return ::simd_make_short4_undef(other); -} - -/*! @abstract Concatenates `lo` and `hi` to form a vector of eight 16-bit - * signed (twos-complement) integers. */ -static inline SIMD_CPPFUNC short8 make_short8(short4 lo, short4 hi) { - return ::simd_make_short8(lo, hi); -} - -/*! @abstract Truncates or zero-extends `other` to form a vector of eight - * 16-bit signed (twos-complement) integers. */ -template static SIMD_CPPFUNC short8 make_short8(typeN other) { - return ::simd_make_short8(other); -} - -/*! @abstract Extends `other` to form a vector of eight 16-bit signed (twos- - * complement) integers. The contents of the newly-created vector lanes are - * unspecified. */ -template static SIMD_CPPFUNC short8 make_short8_undef(typeN other) { - return ::simd_make_short8_undef(other); -} - -/*! @abstract Concatenates `lo` and `hi` to form a vector of sixteen 16-bit - * signed (twos-complement) integers. */ -static inline SIMD_CPPFUNC short16 make_short16(short8 lo, short8 hi) { - return ::simd_make_short16(lo, hi); -} - -/*! @abstract Truncates or zero-extends `other` to form a vector of sixteen - * 16-bit signed (twos-complement) integers. */ -template static SIMD_CPPFUNC short16 make_short16(typeN other) { - return ::simd_make_short16(other); -} - -/*! @abstract Extends `other` to form a vector of sixteen 16-bit signed - * (twos-complement) integers. The contents of the newly-created vector - * lanes are unspecified. */ -template static SIMD_CPPFUNC short16 make_short16_undef(typeN other) { - return ::simd_make_short16_undef(other); -} - -/*! @abstract Concatenates `lo` and `hi` to form a vector of thirty-two - * 16-bit signed (twos-complement) integers. */ -static inline SIMD_CPPFUNC short32 make_short32(short16 lo, short16 hi) { - return ::simd_make_short32(lo, hi); -} - -/*! @abstract Truncates or zero-extends `other` to form a vector of thirty- - * two 16-bit signed (twos-complement) integers. */ -template static SIMD_CPPFUNC short32 make_short32(typeN other) { - return ::simd_make_short32(other); -} - -/*! @abstract Extends `other` to form a vector of thirty-two 16-bit signed - * (twos-complement) integers. The contents of the newly-created vector - * lanes are unspecified. */ -template static SIMD_CPPFUNC short32 make_short32_undef(typeN other) { - return ::simd_make_short32_undef(other); -} - -/*! @abstract Concatenates `x` and `y` to form a vector of two 16-bit - * unsigned integers. */ -static inline SIMD_CPPFUNC ushort2 make_ushort2(unsigned short x, unsigned short y) { - return ::simd_make_ushort2(x, y); -} - -/*! @abstract Truncates or zero-extends `other` to form a vector of two - * 16-bit unsigned integers. */ -template static SIMD_CPPFUNC ushort2 make_ushort2(typeN other) { - return ::simd_make_ushort2(other); -} - -/*! @abstract Extends `other` to form a vector of two 16-bit unsigned - * integers. The contents of the newly-created vector lanes are - * unspecified. */ -template static SIMD_CPPFUNC ushort2 make_ushort2_undef(typeN other) { - return ::simd_make_ushort2_undef(other); -} - -/*! @abstract Concatenates `x`, `y` and `z` to form a vector of three 16-bit - * unsigned integers. */ -static inline SIMD_CPPFUNC ushort3 make_ushort3(unsigned short x, unsigned short y, unsigned short z) { - return ::simd_make_ushort3(x, y, z); -} - -/*! @abstract Concatenates `x` and `yz` to form a vector of three 16-bit - * unsigned integers. */ -static inline SIMD_CPPFUNC ushort3 make_ushort3(unsigned short x, ushort2 yz) { - return ::simd_make_ushort3(x, yz); -} - -/*! @abstract Concatenates `xy` and `z` to form a vector of three 16-bit - * unsigned integers. */ -static inline SIMD_CPPFUNC ushort3 make_ushort3(ushort2 xy, unsigned short z) { - return ::simd_make_ushort3(xy, z); -} - -/*! @abstract Truncates or zero-extends `other` to form a vector of three - * 16-bit unsigned integers. */ -template static SIMD_CPPFUNC ushort3 make_ushort3(typeN other) { - return ::simd_make_ushort3(other); -} - -/*! @abstract Extends `other` to form a vector of three 16-bit unsigned - * integers. The contents of the newly-created vector lanes are - * unspecified. */ -template static SIMD_CPPFUNC ushort3 make_ushort3_undef(typeN other) { - return ::simd_make_ushort3_undef(other); -} - -/*! @abstract Concatenates `x`, `y`, `z` and `w` to form a vector of four - * 16-bit unsigned integers. */ -static inline SIMD_CPPFUNC ushort4 make_ushort4(unsigned short x, unsigned short y, unsigned short z, unsigned short w) { - return ::simd_make_ushort4(x, y, z, w); -} - -/*! @abstract Concatenates `x`, `y` and `zw` to form a vector of four 16-bit - * unsigned integers. */ -static inline SIMD_CPPFUNC ushort4 make_ushort4(unsigned short x, unsigned short y, ushort2 zw) { - return ::simd_make_ushort4(x, y, zw); -} - -/*! @abstract Concatenates `x`, `yz` and `w` to form a vector of four 16-bit - * unsigned integers. */ -static inline SIMD_CPPFUNC ushort4 make_ushort4(unsigned short x, ushort2 yz, unsigned short w) { - return ::simd_make_ushort4(x, yz, w); -} - -/*! @abstract Concatenates `xy`, `z` and `w` to form a vector of four 16-bit - * unsigned integers. */ -static inline SIMD_CPPFUNC ushort4 make_ushort4(ushort2 xy, unsigned short z, unsigned short w) { - return ::simd_make_ushort4(xy, z, w); -} - -/*! @abstract Concatenates `x` and `yzw` to form a vector of four 16-bit - * unsigned integers. */ -static inline SIMD_CPPFUNC ushort4 make_ushort4(unsigned short x, ushort3 yzw) { - return ::simd_make_ushort4(x, yzw); -} - -/*! @abstract Concatenates `xy` and `zw` to form a vector of four 16-bit - * unsigned integers. */ -static inline SIMD_CPPFUNC ushort4 make_ushort4(ushort2 xy, ushort2 zw) { - return ::simd_make_ushort4(xy, zw); -} - -/*! @abstract Concatenates `xyz` and `w` to form a vector of four 16-bit - * unsigned integers. */ -static inline SIMD_CPPFUNC ushort4 make_ushort4(ushort3 xyz, unsigned short w) { - return ::simd_make_ushort4(xyz, w); -} - -/*! @abstract Truncates or zero-extends `other` to form a vector of four - * 16-bit unsigned integers. */ -template static SIMD_CPPFUNC ushort4 make_ushort4(typeN other) { - return ::simd_make_ushort4(other); -} - -/*! @abstract Extends `other` to form a vector of four 16-bit unsigned - * integers. The contents of the newly-created vector lanes are - * unspecified. */ -template static SIMD_CPPFUNC ushort4 make_ushort4_undef(typeN other) { - return ::simd_make_ushort4_undef(other); -} - -/*! @abstract Concatenates `lo` and `hi` to form a vector of eight 16-bit - * unsigned integers. */ -static inline SIMD_CPPFUNC ushort8 make_ushort8(ushort4 lo, ushort4 hi) { - return ::simd_make_ushort8(lo, hi); -} - -/*! @abstract Truncates or zero-extends `other` to form a vector of eight - * 16-bit unsigned integers. */ -template static SIMD_CPPFUNC ushort8 make_ushort8(typeN other) { - return ::simd_make_ushort8(other); -} - -/*! @abstract Extends `other` to form a vector of eight 16-bit unsigned - * integers. The contents of the newly-created vector lanes are - * unspecified. */ -template static SIMD_CPPFUNC ushort8 make_ushort8_undef(typeN other) { - return ::simd_make_ushort8_undef(other); -} - -/*! @abstract Concatenates `lo` and `hi` to form a vector of sixteen 16-bit - * unsigned integers. */ -static inline SIMD_CPPFUNC ushort16 make_ushort16(ushort8 lo, ushort8 hi) { - return ::simd_make_ushort16(lo, hi); -} - -/*! @abstract Truncates or zero-extends `other` to form a vector of sixteen - * 16-bit unsigned integers. */ -template static SIMD_CPPFUNC ushort16 make_ushort16(typeN other) { - return ::simd_make_ushort16(other); -} - -/*! @abstract Extends `other` to form a vector of sixteen 16-bit unsigned - * integers. The contents of the newly-created vector lanes are - * unspecified. */ -template static SIMD_CPPFUNC ushort16 make_ushort16_undef(typeN other) { - return ::simd_make_ushort16_undef(other); -} - -/*! @abstract Concatenates `lo` and `hi` to form a vector of thirty-two - * 16-bit unsigned integers. */ -static inline SIMD_CPPFUNC ushort32 make_ushort32(ushort16 lo, ushort16 hi) { - return ::simd_make_ushort32(lo, hi); -} - -/*! @abstract Truncates or zero-extends `other` to form a vector of thirty- - * two 16-bit unsigned integers. */ -template static SIMD_CPPFUNC ushort32 make_ushort32(typeN other) { - return ::simd_make_ushort32(other); -} - -/*! @abstract Extends `other` to form a vector of thirty-two 16-bit unsigned - * integers. The contents of the newly-created vector lanes are - * unspecified. */ -template static SIMD_CPPFUNC ushort32 make_ushort32_undef(typeN other) { - return ::simd_make_ushort32_undef(other); -} - -/*! @abstract Concatenates `x` and `y` to form a vector of two 32-bit signed - * (twos-complement) integers. */ -static inline SIMD_CPPFUNC int2 make_int2(int x, int y) { - return ::simd_make_int2(x, y); -} - -/*! @abstract Truncates or zero-extends `other` to form a vector of two - * 32-bit signed (twos-complement) integers. */ -template static SIMD_CPPFUNC int2 make_int2(typeN other) { - return ::simd_make_int2(other); -} - -/*! @abstract Extends `other` to form a vector of two 32-bit signed (twos- - * complement) integers. The contents of the newly-created vector lanes are - * unspecified. */ -template static SIMD_CPPFUNC int2 make_int2_undef(typeN other) { - return ::simd_make_int2_undef(other); -} - -/*! @abstract Concatenates `x`, `y` and `z` to form a vector of three 32-bit - * signed (twos-complement) integers. */ -static inline SIMD_CPPFUNC int3 make_int3(int x, int y, int z) { - return ::simd_make_int3(x, y, z); -} - -/*! @abstract Concatenates `x` and `yz` to form a vector of three 32-bit - * signed (twos-complement) integers. */ -static inline SIMD_CPPFUNC int3 make_int3(int x, int2 yz) { - return ::simd_make_int3(x, yz); -} - -/*! @abstract Concatenates `xy` and `z` to form a vector of three 32-bit - * signed (twos-complement) integers. */ -static inline SIMD_CPPFUNC int3 make_int3(int2 xy, int z) { - return ::simd_make_int3(xy, z); -} - -/*! @abstract Truncates or zero-extends `other` to form a vector of three - * 32-bit signed (twos-complement) integers. */ -template static SIMD_CPPFUNC int3 make_int3(typeN other) { - return ::simd_make_int3(other); -} - -/*! @abstract Extends `other` to form a vector of three 32-bit signed (twos- - * complement) integers. The contents of the newly-created vector lanes are - * unspecified. */ -template static SIMD_CPPFUNC int3 make_int3_undef(typeN other) { - return ::simd_make_int3_undef(other); -} - -/*! @abstract Concatenates `x`, `y`, `z` and `w` to form a vector of four - * 32-bit signed (twos-complement) integers. */ -static inline SIMD_CPPFUNC int4 make_int4(int x, int y, int z, int w) { - return ::simd_make_int4(x, y, z, w); -} - -/*! @abstract Concatenates `x`, `y` and `zw` to form a vector of four 32-bit - * signed (twos-complement) integers. */ -static inline SIMD_CPPFUNC int4 make_int4(int x, int y, int2 zw) { - return ::simd_make_int4(x, y, zw); -} - -/*! @abstract Concatenates `x`, `yz` and `w` to form a vector of four 32-bit - * signed (twos-complement) integers. */ -static inline SIMD_CPPFUNC int4 make_int4(int x, int2 yz, int w) { - return ::simd_make_int4(x, yz, w); -} - -/*! @abstract Concatenates `xy`, `z` and `w` to form a vector of four 32-bit - * signed (twos-complement) integers. */ -static inline SIMD_CPPFUNC int4 make_int4(int2 xy, int z, int w) { - return ::simd_make_int4(xy, z, w); -} - -/*! @abstract Concatenates `x` and `yzw` to form a vector of four 32-bit - * signed (twos-complement) integers. */ -static inline SIMD_CPPFUNC int4 make_int4(int x, int3 yzw) { - return ::simd_make_int4(x, yzw); -} - -/*! @abstract Concatenates `xy` and `zw` to form a vector of four 32-bit - * signed (twos-complement) integers. */ -static inline SIMD_CPPFUNC int4 make_int4(int2 xy, int2 zw) { - return ::simd_make_int4(xy, zw); -} - -/*! @abstract Concatenates `xyz` and `w` to form a vector of four 32-bit - * signed (twos-complement) integers. */ -static inline SIMD_CPPFUNC int4 make_int4(int3 xyz, int w) { - return ::simd_make_int4(xyz, w); -} - -/*! @abstract Truncates or zero-extends `other` to form a vector of four - * 32-bit signed (twos-complement) integers. */ -template static SIMD_CPPFUNC int4 make_int4(typeN other) { - return ::simd_make_int4(other); -} - -/*! @abstract Extends `other` to form a vector of four 32-bit signed (twos- - * complement) integers. The contents of the newly-created vector lanes are - * unspecified. */ -template static SIMD_CPPFUNC int4 make_int4_undef(typeN other) { - return ::simd_make_int4_undef(other); -} - -/*! @abstract Concatenates `lo` and `hi` to form a vector of eight 32-bit - * signed (twos-complement) integers. */ -static inline SIMD_CPPFUNC int8 make_int8(int4 lo, int4 hi) { - return ::simd_make_int8(lo, hi); -} - -/*! @abstract Truncates or zero-extends `other` to form a vector of eight - * 32-bit signed (twos-complement) integers. */ -template static SIMD_CPPFUNC int8 make_int8(typeN other) { - return ::simd_make_int8(other); -} - -/*! @abstract Extends `other` to form a vector of eight 32-bit signed (twos- - * complement) integers. The contents of the newly-created vector lanes are - * unspecified. */ -template static SIMD_CPPFUNC int8 make_int8_undef(typeN other) { - return ::simd_make_int8_undef(other); -} - -/*! @abstract Concatenates `lo` and `hi` to form a vector of sixteen 32-bit - * signed (twos-complement) integers. */ -static inline SIMD_CPPFUNC int16 make_int16(int8 lo, int8 hi) { - return ::simd_make_int16(lo, hi); -} - -/*! @abstract Truncates or zero-extends `other` to form a vector of sixteen - * 32-bit signed (twos-complement) integers. */ -template static SIMD_CPPFUNC int16 make_int16(typeN other) { - return ::simd_make_int16(other); -} - -/*! @abstract Extends `other` to form a vector of sixteen 32-bit signed - * (twos-complement) integers. The contents of the newly-created vector - * lanes are unspecified. */ -template static SIMD_CPPFUNC int16 make_int16_undef(typeN other) { - return ::simd_make_int16_undef(other); -} - -/*! @abstract Concatenates `x` and `y` to form a vector of two 32-bit - * unsigned integers. */ -static inline SIMD_CPPFUNC uint2 make_uint2(unsigned int x, unsigned int y) { - return ::simd_make_uint2(x, y); -} - -/*! @abstract Truncates or zero-extends `other` to form a vector of two - * 32-bit unsigned integers. */ -template static SIMD_CPPFUNC uint2 make_uint2(typeN other) { - return ::simd_make_uint2(other); -} - -/*! @abstract Extends `other` to form a vector of two 32-bit unsigned - * integers. The contents of the newly-created vector lanes are - * unspecified. */ -template static SIMD_CPPFUNC uint2 make_uint2_undef(typeN other) { - return ::simd_make_uint2_undef(other); -} - -/*! @abstract Concatenates `x`, `y` and `z` to form a vector of three 32-bit - * unsigned integers. */ -static inline SIMD_CPPFUNC uint3 make_uint3(unsigned int x, unsigned int y, unsigned int z) { - return ::simd_make_uint3(x, y, z); -} - -/*! @abstract Concatenates `x` and `yz` to form a vector of three 32-bit - * unsigned integers. */ -static inline SIMD_CPPFUNC uint3 make_uint3(unsigned int x, uint2 yz) { - return ::simd_make_uint3(x, yz); -} - -/*! @abstract Concatenates `xy` and `z` to form a vector of three 32-bit - * unsigned integers. */ -static inline SIMD_CPPFUNC uint3 make_uint3(uint2 xy, unsigned int z) { - return ::simd_make_uint3(xy, z); -} - -/*! @abstract Truncates or zero-extends `other` to form a vector of three - * 32-bit unsigned integers. */ -template static SIMD_CPPFUNC uint3 make_uint3(typeN other) { - return ::simd_make_uint3(other); -} - -/*! @abstract Extends `other` to form a vector of three 32-bit unsigned - * integers. The contents of the newly-created vector lanes are - * unspecified. */ -template static SIMD_CPPFUNC uint3 make_uint3_undef(typeN other) { - return ::simd_make_uint3_undef(other); -} - -/*! @abstract Concatenates `x`, `y`, `z` and `w` to form a vector of four - * 32-bit unsigned integers. */ -static inline SIMD_CPPFUNC uint4 make_uint4(unsigned int x, unsigned int y, unsigned int z, unsigned int w) { - return ::simd_make_uint4(x, y, z, w); -} - -/*! @abstract Concatenates `x`, `y` and `zw` to form a vector of four 32-bit - * unsigned integers. */ -static inline SIMD_CPPFUNC uint4 make_uint4(unsigned int x, unsigned int y, uint2 zw) { - return ::simd_make_uint4(x, y, zw); -} - -/*! @abstract Concatenates `x`, `yz` and `w` to form a vector of four 32-bit - * unsigned integers. */ -static inline SIMD_CPPFUNC uint4 make_uint4(unsigned int x, uint2 yz, unsigned int w) { - return ::simd_make_uint4(x, yz, w); -} - -/*! @abstract Concatenates `xy`, `z` and `w` to form a vector of four 32-bit - * unsigned integers. */ -static inline SIMD_CPPFUNC uint4 make_uint4(uint2 xy, unsigned int z, unsigned int w) { - return ::simd_make_uint4(xy, z, w); -} - -/*! @abstract Concatenates `x` and `yzw` to form a vector of four 32-bit - * unsigned integers. */ -static inline SIMD_CPPFUNC uint4 make_uint4(unsigned int x, uint3 yzw) { - return ::simd_make_uint4(x, yzw); -} - -/*! @abstract Concatenates `xy` and `zw` to form a vector of four 32-bit - * unsigned integers. */ -static inline SIMD_CPPFUNC uint4 make_uint4(uint2 xy, uint2 zw) { - return ::simd_make_uint4(xy, zw); -} - -/*! @abstract Concatenates `xyz` and `w` to form a vector of four 32-bit - * unsigned integers. */ -static inline SIMD_CPPFUNC uint4 make_uint4(uint3 xyz, unsigned int w) { - return ::simd_make_uint4(xyz, w); -} - -/*! @abstract Truncates or zero-extends `other` to form a vector of four - * 32-bit unsigned integers. */ -template static SIMD_CPPFUNC uint4 make_uint4(typeN other) { - return ::simd_make_uint4(other); -} - -/*! @abstract Extends `other` to form a vector of four 32-bit unsigned - * integers. The contents of the newly-created vector lanes are - * unspecified. */ -template static SIMD_CPPFUNC uint4 make_uint4_undef(typeN other) { - return ::simd_make_uint4_undef(other); -} - -/*! @abstract Concatenates `lo` and `hi` to form a vector of eight 32-bit - * unsigned integers. */ -static inline SIMD_CPPFUNC uint8 make_uint8(uint4 lo, uint4 hi) { - return ::simd_make_uint8(lo, hi); -} - -/*! @abstract Truncates or zero-extends `other` to form a vector of eight - * 32-bit unsigned integers. */ -template static SIMD_CPPFUNC uint8 make_uint8(typeN other) { - return ::simd_make_uint8(other); -} - -/*! @abstract Extends `other` to form a vector of eight 32-bit unsigned - * integers. The contents of the newly-created vector lanes are - * unspecified. */ -template static SIMD_CPPFUNC uint8 make_uint8_undef(typeN other) { - return ::simd_make_uint8_undef(other); -} - -/*! @abstract Concatenates `lo` and `hi` to form a vector of sixteen 32-bit - * unsigned integers. */ -static inline SIMD_CPPFUNC uint16 make_uint16(uint8 lo, uint8 hi) { - return ::simd_make_uint16(lo, hi); -} - -/*! @abstract Truncates or zero-extends `other` to form a vector of sixteen - * 32-bit unsigned integers. */ -template static SIMD_CPPFUNC uint16 make_uint16(typeN other) { - return ::simd_make_uint16(other); -} - -/*! @abstract Extends `other` to form a vector of sixteen 32-bit unsigned - * integers. The contents of the newly-created vector lanes are - * unspecified. */ -template static SIMD_CPPFUNC uint16 make_uint16_undef(typeN other) { - return ::simd_make_uint16_undef(other); -} - -/*! @abstract Concatenates `x` and `y` to form a vector of two 32-bit - * floating-point numbers. */ -static inline SIMD_CPPFUNC float2 make_float2(float x, float y) { - return ::simd_make_float2(x, y); -} - -/*! @abstract Truncates or zero-extends `other` to form a vector of two - * 32-bit floating-point numbers. */ -template static SIMD_CPPFUNC float2 make_float2(typeN other) { - return ::simd_make_float2(other); -} - -/*! @abstract Extends `other` to form a vector of two 32-bit floating-point - * numbers. The contents of the newly-created vector lanes are unspecified. */ -template static SIMD_CPPFUNC float2 make_float2_undef(typeN other) { - return ::simd_make_float2_undef(other); -} - -/*! @abstract Concatenates `x`, `y` and `z` to form a vector of three 32-bit - * floating-point numbers. */ -static inline SIMD_CPPFUNC float3 make_float3(float x, float y, float z) { - return ::simd_make_float3(x, y, z); -} - -/*! @abstract Concatenates `x` and `yz` to form a vector of three 32-bit - * floating-point numbers. */ -static inline SIMD_CPPFUNC float3 make_float3(float x, float2 yz) { - return ::simd_make_float3(x, yz); -} - -/*! @abstract Concatenates `xy` and `z` to form a vector of three 32-bit - * floating-point numbers. */ -static inline SIMD_CPPFUNC float3 make_float3(float2 xy, float z) { - return ::simd_make_float3(xy, z); -} - -/*! @abstract Truncates or zero-extends `other` to form a vector of three - * 32-bit floating-point numbers. */ -template static SIMD_CPPFUNC float3 make_float3(typeN other) { - return ::simd_make_float3(other); -} - -/*! @abstract Extends `other` to form a vector of three 32-bit floating- - * point numbers. The contents of the newly-created vector lanes are - * unspecified. */ -template static SIMD_CPPFUNC float3 make_float3_undef(typeN other) { - return ::simd_make_float3_undef(other); -} - -/*! @abstract Concatenates `x`, `y`, `z` and `w` to form a vector of four - * 32-bit floating-point numbers. */ -static inline SIMD_CPPFUNC float4 make_float4(float x, float y, float z, float w) { - return ::simd_make_float4(x, y, z, w); -} - -/*! @abstract Concatenates `x`, `y` and `zw` to form a vector of four 32-bit - * floating-point numbers. */ -static inline SIMD_CPPFUNC float4 make_float4(float x, float y, float2 zw) { - return ::simd_make_float4(x, y, zw); -} - -/*! @abstract Concatenates `x`, `yz` and `w` to form a vector of four 32-bit - * floating-point numbers. */ -static inline SIMD_CPPFUNC float4 make_float4(float x, float2 yz, float w) { - return ::simd_make_float4(x, yz, w); -} - -/*! @abstract Concatenates `xy`, `z` and `w` to form a vector of four 32-bit - * floating-point numbers. */ -static inline SIMD_CPPFUNC float4 make_float4(float2 xy, float z, float w) { - return ::simd_make_float4(xy, z, w); -} - -/*! @abstract Concatenates `x` and `yzw` to form a vector of four 32-bit - * floating-point numbers. */ -static inline SIMD_CPPFUNC float4 make_float4(float x, float3 yzw) { - return ::simd_make_float4(x, yzw); -} - -/*! @abstract Concatenates `xy` and `zw` to form a vector of four 32-bit - * floating-point numbers. */ -static inline SIMD_CPPFUNC float4 make_float4(float2 xy, float2 zw) { - return ::simd_make_float4(xy, zw); -} - -/*! @abstract Concatenates `xyz` and `w` to form a vector of four 32-bit - * floating-point numbers. */ -static inline SIMD_CPPFUNC float4 make_float4(float3 xyz, float w) { - return ::simd_make_float4(xyz, w); -} - -/*! @abstract Truncates or zero-extends `other` to form a vector of four - * 32-bit floating-point numbers. */ -template static SIMD_CPPFUNC float4 make_float4(typeN other) { - return ::simd_make_float4(other); -} - -/*! @abstract Extends `other` to form a vector of four 32-bit floating-point - * numbers. The contents of the newly-created vector lanes are unspecified. */ -template static SIMD_CPPFUNC float4 make_float4_undef(typeN other) { - return ::simd_make_float4_undef(other); -} - -/*! @abstract Concatenates `lo` and `hi` to form a vector of eight 32-bit - * floating-point numbers. */ -static inline SIMD_CPPFUNC float8 make_float8(float4 lo, float4 hi) { - return ::simd_make_float8(lo, hi); -} - -/*! @abstract Truncates or zero-extends `other` to form a vector of eight - * 32-bit floating-point numbers. */ -template static SIMD_CPPFUNC float8 make_float8(typeN other) { - return ::simd_make_float8(other); -} - -/*! @abstract Extends `other` to form a vector of eight 32-bit floating- - * point numbers. The contents of the newly-created vector lanes are - * unspecified. */ -template static SIMD_CPPFUNC float8 make_float8_undef(typeN other) { - return ::simd_make_float8_undef(other); -} - -/*! @abstract Concatenates `lo` and `hi` to form a vector of sixteen 32-bit - * floating-point numbers. */ -static inline SIMD_CPPFUNC float16 make_float16(float8 lo, float8 hi) { - return ::simd_make_float16(lo, hi); -} - -/*! @abstract Truncates or zero-extends `other` to form a vector of sixteen - * 32-bit floating-point numbers. */ -template static SIMD_CPPFUNC float16 make_float16(typeN other) { - return ::simd_make_float16(other); -} - -/*! @abstract Extends `other` to form a vector of sixteen 32-bit floating- - * point numbers. The contents of the newly-created vector lanes are - * unspecified. */ -template static SIMD_CPPFUNC float16 make_float16_undef(typeN other) { - return ::simd_make_float16_undef(other); -} - -/*! @abstract Concatenates `x` and `y` to form a vector of two 64-bit signed - * (twos-complement) integers. */ -static inline SIMD_CPPFUNC long2 make_long2(long1 x, long1 y) { - return ::simd_make_long2(x, y); -} - -/*! @abstract Truncates or zero-extends `other` to form a vector of two - * 64-bit signed (twos-complement) integers. */ -template static SIMD_CPPFUNC long2 make_long2(typeN other) { - return ::simd_make_long2(other); -} - -/*! @abstract Extends `other` to form a vector of two 64-bit signed (twos- - * complement) integers. The contents of the newly-created vector lanes are - * unspecified. */ -template static SIMD_CPPFUNC long2 make_long2_undef(typeN other) { - return ::simd_make_long2_undef(other); -} - -/*! @abstract Concatenates `x`, `y` and `z` to form a vector of three 64-bit - * signed (twos-complement) integers. */ -static inline SIMD_CPPFUNC long3 make_long3(long1 x, long1 y, long1 z) { - return ::simd_make_long3(x, y, z); -} - -/*! @abstract Concatenates `x` and `yz` to form a vector of three 64-bit - * signed (twos-complement) integers. */ -static inline SIMD_CPPFUNC long3 make_long3(long1 x, long2 yz) { - return ::simd_make_long3(x, yz); -} - -/*! @abstract Concatenates `xy` and `z` to form a vector of three 64-bit - * signed (twos-complement) integers. */ -static inline SIMD_CPPFUNC long3 make_long3(long2 xy, long1 z) { - return ::simd_make_long3(xy, z); -} - -/*! @abstract Truncates or zero-extends `other` to form a vector of three - * 64-bit signed (twos-complement) integers. */ -template static SIMD_CPPFUNC long3 make_long3(typeN other) { - return ::simd_make_long3(other); -} - -/*! @abstract Extends `other` to form a vector of three 64-bit signed (twos- - * complement) integers. The contents of the newly-created vector lanes are - * unspecified. */ -template static SIMD_CPPFUNC long3 make_long3_undef(typeN other) { - return ::simd_make_long3_undef(other); -} - -/*! @abstract Concatenates `x`, `y`, `z` and `w` to form a vector of four - * 64-bit signed (twos-complement) integers. */ -static inline SIMD_CPPFUNC long4 make_long4(long1 x, long1 y, long1 z, long1 w) { - return ::simd_make_long4(x, y, z, w); -} - -/*! @abstract Concatenates `x`, `y` and `zw` to form a vector of four 64-bit - * signed (twos-complement) integers. */ -static inline SIMD_CPPFUNC long4 make_long4(long1 x, long1 y, long2 zw) { - return ::simd_make_long4(x, y, zw); -} - -/*! @abstract Concatenates `x`, `yz` and `w` to form a vector of four 64-bit - * signed (twos-complement) integers. */ -static inline SIMD_CPPFUNC long4 make_long4(long1 x, long2 yz, long1 w) { - return ::simd_make_long4(x, yz, w); -} - -/*! @abstract Concatenates `xy`, `z` and `w` to form a vector of four 64-bit - * signed (twos-complement) integers. */ -static inline SIMD_CPPFUNC long4 make_long4(long2 xy, long1 z, long1 w) { - return ::simd_make_long4(xy, z, w); -} - -/*! @abstract Concatenates `x` and `yzw` to form a vector of four 64-bit - * signed (twos-complement) integers. */ -static inline SIMD_CPPFUNC long4 make_long4(long1 x, long3 yzw) { - return ::simd_make_long4(x, yzw); -} - -/*! @abstract Concatenates `xy` and `zw` to form a vector of four 64-bit - * signed (twos-complement) integers. */ -static inline SIMD_CPPFUNC long4 make_long4(long2 xy, long2 zw) { - return ::simd_make_long4(xy, zw); -} - -/*! @abstract Concatenates `xyz` and `w` to form a vector of four 64-bit - * signed (twos-complement) integers. */ -static inline SIMD_CPPFUNC long4 make_long4(long3 xyz, long1 w) { - return ::simd_make_long4(xyz, w); -} - -/*! @abstract Truncates or zero-extends `other` to form a vector of four - * 64-bit signed (twos-complement) integers. */ -template static SIMD_CPPFUNC long4 make_long4(typeN other) { - return ::simd_make_long4(other); -} - -/*! @abstract Extends `other` to form a vector of four 64-bit signed (twos- - * complement) integers. The contents of the newly-created vector lanes are - * unspecified. */ -template static SIMD_CPPFUNC long4 make_long4_undef(typeN other) { - return ::simd_make_long4_undef(other); -} - -/*! @abstract Concatenates `lo` and `hi` to form a vector of eight 64-bit - * signed (twos-complement) integers. */ -static inline SIMD_CPPFUNC long8 make_long8(long4 lo, long4 hi) { - return ::simd_make_long8(lo, hi); -} - -/*! @abstract Truncates or zero-extends `other` to form a vector of eight - * 64-bit signed (twos-complement) integers. */ -template static SIMD_CPPFUNC long8 make_long8(typeN other) { - return ::simd_make_long8(other); -} - -/*! @abstract Extends `other` to form a vector of eight 64-bit signed (twos- - * complement) integers. The contents of the newly-created vector lanes are - * unspecified. */ -template static SIMD_CPPFUNC long8 make_long8_undef(typeN other) { - return ::simd_make_long8_undef(other); -} - -/*! @abstract Concatenates `x` and `y` to form a vector of two 64-bit - * unsigned integers. */ -static inline SIMD_CPPFUNC ulong2 make_ulong2(ulong1 x, ulong1 y) { - return ::simd_make_ulong2(x, y); -} - -/*! @abstract Truncates or zero-extends `other` to form a vector of two - * 64-bit unsigned integers. */ -template static SIMD_CPPFUNC ulong2 make_ulong2(typeN other) { - return ::simd_make_ulong2(other); -} - -/*! @abstract Extends `other` to form a vector of two 64-bit unsigned - * integers. The contents of the newly-created vector lanes are - * unspecified. */ -template static SIMD_CPPFUNC ulong2 make_ulong2_undef(typeN other) { - return ::simd_make_ulong2_undef(other); -} - -/*! @abstract Concatenates `x`, `y` and `z` to form a vector of three 64-bit - * unsigned integers. */ -static inline SIMD_CPPFUNC ulong3 make_ulong3(ulong1 x, ulong1 y, ulong1 z) { - return ::simd_make_ulong3(x, y, z); -} - -/*! @abstract Concatenates `x` and `yz` to form a vector of three 64-bit - * unsigned integers. */ -static inline SIMD_CPPFUNC ulong3 make_ulong3(ulong1 x, ulong2 yz) { - return ::simd_make_ulong3(x, yz); -} - -/*! @abstract Concatenates `xy` and `z` to form a vector of three 64-bit - * unsigned integers. */ -static inline SIMD_CPPFUNC ulong3 make_ulong3(ulong2 xy, ulong1 z) { - return ::simd_make_ulong3(xy, z); -} - -/*! @abstract Truncates or zero-extends `other` to form a vector of three - * 64-bit unsigned integers. */ -template static SIMD_CPPFUNC ulong3 make_ulong3(typeN other) { - return ::simd_make_ulong3(other); -} - -/*! @abstract Extends `other` to form a vector of three 64-bit unsigned - * integers. The contents of the newly-created vector lanes are - * unspecified. */ -template static SIMD_CPPFUNC ulong3 make_ulong3_undef(typeN other) { - return ::simd_make_ulong3_undef(other); -} - -/*! @abstract Concatenates `x`, `y`, `z` and `w` to form a vector of four - * 64-bit unsigned integers. */ -static inline SIMD_CPPFUNC ulong4 make_ulong4(ulong1 x, ulong1 y, ulong1 z, ulong1 w) { - return ::simd_make_ulong4(x, y, z, w); -} - -/*! @abstract Concatenates `x`, `y` and `zw` to form a vector of four 64-bit - * unsigned integers. */ -static inline SIMD_CPPFUNC ulong4 make_ulong4(ulong1 x, ulong1 y, ulong2 zw) { - return ::simd_make_ulong4(x, y, zw); -} - -/*! @abstract Concatenates `x`, `yz` and `w` to form a vector of four 64-bit - * unsigned integers. */ -static inline SIMD_CPPFUNC ulong4 make_ulong4(ulong1 x, ulong2 yz, ulong1 w) { - return ::simd_make_ulong4(x, yz, w); -} - -/*! @abstract Concatenates `xy`, `z` and `w` to form a vector of four 64-bit - * unsigned integers. */ -static inline SIMD_CPPFUNC ulong4 make_ulong4(ulong2 xy, ulong1 z, ulong1 w) { - return ::simd_make_ulong4(xy, z, w); -} - -/*! @abstract Concatenates `x` and `yzw` to form a vector of four 64-bit - * unsigned integers. */ -static inline SIMD_CPPFUNC ulong4 make_ulong4(ulong1 x, ulong3 yzw) { - return ::simd_make_ulong4(x, yzw); -} - -/*! @abstract Concatenates `xy` and `zw` to form a vector of four 64-bit - * unsigned integers. */ -static inline SIMD_CPPFUNC ulong4 make_ulong4(ulong2 xy, ulong2 zw) { - return ::simd_make_ulong4(xy, zw); -} - -/*! @abstract Concatenates `xyz` and `w` to form a vector of four 64-bit - * unsigned integers. */ -static inline SIMD_CPPFUNC ulong4 make_ulong4(ulong3 xyz, ulong1 w) { - return ::simd_make_ulong4(xyz, w); -} - -/*! @abstract Truncates or zero-extends `other` to form a vector of four - * 64-bit unsigned integers. */ -template static SIMD_CPPFUNC ulong4 make_ulong4(typeN other) { - return ::simd_make_ulong4(other); -} - -/*! @abstract Extends `other` to form a vector of four 64-bit unsigned - * integers. The contents of the newly-created vector lanes are - * unspecified. */ -template static SIMD_CPPFUNC ulong4 make_ulong4_undef(typeN other) { - return ::simd_make_ulong4_undef(other); -} - -/*! @abstract Concatenates `lo` and `hi` to form a vector of eight 64-bit - * unsigned integers. */ -static inline SIMD_CPPFUNC ulong8 make_ulong8(ulong4 lo, ulong4 hi) { - return ::simd_make_ulong8(lo, hi); -} - -/*! @abstract Truncates or zero-extends `other` to form a vector of eight - * 64-bit unsigned integers. */ -template static SIMD_CPPFUNC ulong8 make_ulong8(typeN other) { - return ::simd_make_ulong8(other); -} - -/*! @abstract Extends `other` to form a vector of eight 64-bit unsigned - * integers. The contents of the newly-created vector lanes are - * unspecified. */ -template static SIMD_CPPFUNC ulong8 make_ulong8_undef(typeN other) { - return ::simd_make_ulong8_undef(other); -} - -/*! @abstract Concatenates `x` and `y` to form a vector of two 64-bit - * floating-point numbers. */ -static inline SIMD_CPPFUNC double2 make_double2(double x, double y) { - return ::simd_make_double2(x, y); -} - -/*! @abstract Truncates or zero-extends `other` to form a vector of two - * 64-bit floating-point numbers. */ -template static SIMD_CPPFUNC double2 make_double2(typeN other) { - return ::simd_make_double2(other); -} - -/*! @abstract Extends `other` to form a vector of two 64-bit floating-point - * numbers. The contents of the newly-created vector lanes are unspecified. */ -template static SIMD_CPPFUNC double2 make_double2_undef(typeN other) { - return ::simd_make_double2_undef(other); -} - -/*! @abstract Concatenates `x`, `y` and `z` to form a vector of three 64-bit - * floating-point numbers. */ -static inline SIMD_CPPFUNC double3 make_double3(double x, double y, double z) { - return ::simd_make_double3(x, y, z); -} - -/*! @abstract Concatenates `x` and `yz` to form a vector of three 64-bit - * floating-point numbers. */ -static inline SIMD_CPPFUNC double3 make_double3(double x, double2 yz) { - return ::simd_make_double3(x, yz); -} - -/*! @abstract Concatenates `xy` and `z` to form a vector of three 64-bit - * floating-point numbers. */ -static inline SIMD_CPPFUNC double3 make_double3(double2 xy, double z) { - return ::simd_make_double3(xy, z); -} - -/*! @abstract Truncates or zero-extends `other` to form a vector of three - * 64-bit floating-point numbers. */ -template static SIMD_CPPFUNC double3 make_double3(typeN other) { - return ::simd_make_double3(other); -} - -/*! @abstract Extends `other` to form a vector of three 64-bit floating- - * point numbers. The contents of the newly-created vector lanes are - * unspecified. */ -template static SIMD_CPPFUNC double3 make_double3_undef(typeN other) { - return ::simd_make_double3_undef(other); -} - -/*! @abstract Concatenates `x`, `y`, `z` and `w` to form a vector of four - * 64-bit floating-point numbers. */ -static inline SIMD_CPPFUNC double4 make_double4(double x, double y, double z, double w) { - return ::simd_make_double4(x, y, z, w); -} - -/*! @abstract Concatenates `x`, `y` and `zw` to form a vector of four 64-bit - * floating-point numbers. */ -static inline SIMD_CPPFUNC double4 make_double4(double x, double y, double2 zw) { - return ::simd_make_double4(x, y, zw); -} - -/*! @abstract Concatenates `x`, `yz` and `w` to form a vector of four 64-bit - * floating-point numbers. */ -static inline SIMD_CPPFUNC double4 make_double4(double x, double2 yz, double w) { - return ::simd_make_double4(x, yz, w); -} - -/*! @abstract Concatenates `xy`, `z` and `w` to form a vector of four 64-bit - * floating-point numbers. */ -static inline SIMD_CPPFUNC double4 make_double4(double2 xy, double z, double w) { - return ::simd_make_double4(xy, z, w); -} - -/*! @abstract Concatenates `x` and `yzw` to form a vector of four 64-bit - * floating-point numbers. */ -static inline SIMD_CPPFUNC double4 make_double4(double x, double3 yzw) { - return ::simd_make_double4(x, yzw); -} - -/*! @abstract Concatenates `xy` and `zw` to form a vector of four 64-bit - * floating-point numbers. */ -static inline SIMD_CPPFUNC double4 make_double4(double2 xy, double2 zw) { - return ::simd_make_double4(xy, zw); -} - -/*! @abstract Concatenates `xyz` and `w` to form a vector of four 64-bit - * floating-point numbers. */ -static inline SIMD_CPPFUNC double4 make_double4(double3 xyz, double w) { - return ::simd_make_double4(xyz, w); -} - -/*! @abstract Truncates or zero-extends `other` to form a vector of four - * 64-bit floating-point numbers. */ -template static SIMD_CPPFUNC double4 make_double4(typeN other) { - return ::simd_make_double4(other); -} - -/*! @abstract Extends `other` to form a vector of four 64-bit floating-point - * numbers. The contents of the newly-created vector lanes are unspecified. */ -template static SIMD_CPPFUNC double4 make_double4_undef(typeN other) { - return ::simd_make_double4_undef(other); -} - -/*! @abstract Concatenates `lo` and `hi` to form a vector of eight 64-bit - * floating-point numbers. */ -static inline SIMD_CPPFUNC double8 make_double8(double4 lo, double4 hi) { - return ::simd_make_double8(lo, hi); -} - -/*! @abstract Truncates or zero-extends `other` to form a vector of eight - * 64-bit floating-point numbers. */ -template static SIMD_CPPFUNC double8 make_double8(typeN other) { - return ::simd_make_double8(other); -} - -/*! @abstract Extends `other` to form a vector of eight 64-bit floating- - * point numbers. The contents of the newly-created vector lanes are - * unspecified. */ -template static SIMD_CPPFUNC double8 make_double8_undef(typeN other) { - return ::simd_make_double8_undef(other); -} - -} /* namespace simd */ -#endif /* __cplusplus */ -#endif /* SIMD_COMPILER_HAS_REQUIRED_FEATURES */ -#endif /* SIMD_VECTOR_CONSTRUCTORS */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.11-any/spawn.h b/lib/libc/include/any-macos.11-any/spawn.h deleted file mode 100644 index 8a59eac2fa..0000000000 --- a/lib/libc/include/any-macos.11-any/spawn.h +++ /dev/null @@ -1,187 +0,0 @@ -/* - * Copyright (c) 2006, 2010 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 _SPAWN_H_ -#define _SPAWN_H_ - -/* - * [SPN] Support for _POSIX_SPAWN - */ - -#include -#include <_types.h> -#include /* shared types */ - -#include - -/* - * [SPN] Inclusion of the header may make visible symbols defined - * in the , , and headers. - */ -#include -#include -#include - -/* - * Opaque types for use with posix_spawn() family functions. Internals are - * not defined, and should not be accessed directly. Types are defined as - * mandated by POSIX. - */ -typedef void *posix_spawnattr_t; -typedef void *posix_spawn_file_actions_t; - -__BEGIN_DECLS -/* - * gcc under c99 mode won't compile "[ __restrict]" by itself. As a workaround, - * a dummy argument name is added. - */ - -int posix_spawn(pid_t * __restrict, const char * __restrict, - const posix_spawn_file_actions_t *, - const posix_spawnattr_t * __restrict, - char *const __argv[__restrict], - char *const __envp[__restrict]) __API_AVAILABLE(macos(10.5), ios(2.0)) __API_UNAVAILABLE(watchos, tvos); - -int posix_spawnp(pid_t * __restrict, const char * __restrict, - const posix_spawn_file_actions_t *, - const posix_spawnattr_t * __restrict, - char *const __argv[__restrict], - char *const __envp[__restrict]) __API_AVAILABLE(macos(10.5), ios(2.0)); - -int posix_spawn_file_actions_addclose(posix_spawn_file_actions_t *, int) __API_AVAILABLE(macos(10.5), ios(2.0)) __API_UNAVAILABLE(watchos, tvos); - -int posix_spawn_file_actions_adddup2(posix_spawn_file_actions_t *, int, - int) __API_AVAILABLE(macos(10.5), ios(2.0)) __API_UNAVAILABLE(watchos, tvos); - -int posix_spawn_file_actions_addopen( - posix_spawn_file_actions_t * __restrict, int, - const char * __restrict, int, mode_t) __API_AVAILABLE(macos(10.5), ios(2.0)) __API_UNAVAILABLE(watchos, tvos); - -int posix_spawn_file_actions_destroy(posix_spawn_file_actions_t *) __API_AVAILABLE(macos(10.5), ios(2.0)) __API_UNAVAILABLE(watchos, tvos); - -int posix_spawn_file_actions_init(posix_spawn_file_actions_t *) __API_AVAILABLE(macos(10.5), ios(2.0)) __API_UNAVAILABLE(watchos, tvos); - -int posix_spawnattr_destroy(posix_spawnattr_t *) __API_AVAILABLE(macos(10.5), ios(2.0)) __API_UNAVAILABLE(watchos, tvos); - -int posix_spawnattr_getsigdefault(const posix_spawnattr_t * __restrict, - sigset_t * __restrict) __API_AVAILABLE(macos(10.5), ios(2.0)) __API_UNAVAILABLE(watchos, tvos); - -int posix_spawnattr_getflags(const posix_spawnattr_t * __restrict, - short * __restrict) __API_AVAILABLE(macos(10.5), ios(2.0)) __API_UNAVAILABLE(watchos, tvos); - -int posix_spawnattr_getpgroup(const posix_spawnattr_t * __restrict, - pid_t * __restrict) __API_AVAILABLE(macos(10.5), ios(2.0)) __API_UNAVAILABLE(watchos, tvos); - -int posix_spawnattr_getsigmask(const posix_spawnattr_t * __restrict, - sigset_t * __restrict) __API_AVAILABLE(macos(10.5), ios(2.0)) __API_UNAVAILABLE(watchos, tvos); - -int posix_spawnattr_init(posix_spawnattr_t *) __API_AVAILABLE(macos(10.5), ios(2.0)) __API_UNAVAILABLE(watchos, tvos); - -int posix_spawnattr_setsigdefault(posix_spawnattr_t * __restrict, - const sigset_t * __restrict) __API_AVAILABLE(macos(10.5), ios(2.0)) __API_UNAVAILABLE(watchos, tvos); - -int posix_spawnattr_setflags(posix_spawnattr_t *, short) __API_AVAILABLE(macos(10.5), ios(2.0)) __API_UNAVAILABLE(watchos, tvos); - -int posix_spawnattr_setpgroup(posix_spawnattr_t *, pid_t) __API_AVAILABLE(macos(10.5), ios(2.0)) __API_UNAVAILABLE(watchos, tvos); - -int posix_spawnattr_setsigmask(posix_spawnattr_t * __restrict, - const sigset_t * __restrict) __API_AVAILABLE(macos(10.5), ios(2.0)) __API_UNAVAILABLE(watchos, tvos); - -#if 0 /* _POSIX_PRIORITY_SCHEDULING [PS] : not supported */ -int posix_spawnattr_setschedparam(posix_spawnattr_t * __restrict, - const struct sched_param * __restrict); -int posix_spawnattr_setschedpolicy(posix_spawnattr_t *, int); -int posix_spawnattr_getschedparam(const posix_spawnattr_t * __restrict, - struct sched_param * __restrict); -int posix_spawnattr_getschedpolicy(const posix_spawnattr_t * __restrict, - int * __restrict); -#endif /* 0 */ - -__END_DECLS - -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -/* - * Darwin-specific extensions below - */ -#include -#include -#include - -#include - -__BEGIN_DECLS - -int posix_spawnattr_getbinpref_np(const posix_spawnattr_t * __restrict, - size_t, cpu_type_t *__restrict, size_t *__restrict) __API_AVAILABLE(macos(10.5), ios(2.0)) __API_UNAVAILABLE(watchos, tvos); - -int posix_spawnattr_getarchpref_np(const posix_spawnattr_t * __restrict, - size_t, cpu_type_t *__restrict, cpu_subtype_t *__restrict, size_t *__restrict) __API_AVAILABLE(macos(11.0), ios(14.0)) __API_UNAVAILABLE(watchos, tvos); - -int posix_spawnattr_setauditsessionport_np(posix_spawnattr_t * __restrict, - mach_port_t) __API_AVAILABLE(macos(10.6), ios(3.2)); - -int posix_spawnattr_setbinpref_np(posix_spawnattr_t * __restrict, - size_t, cpu_type_t *__restrict, size_t *__restrict) __API_AVAILABLE(macos(10.5), ios(2.0)) __API_UNAVAILABLE(watchos, tvos); - -int posix_spawnattr_setarchpref_np(posix_spawnattr_t * __restrict, - size_t, cpu_type_t *__restrict, cpu_subtype_t *__restrict, size_t *__restrict) __API_AVAILABLE(macos(11.0), ios(14.0)) __API_UNAVAILABLE(watchos, tvos); - -int posix_spawnattr_setexceptionports_np(posix_spawnattr_t * __restrict, - exception_mask_t, mach_port_t, - exception_behavior_t, thread_state_flavor_t) __API_AVAILABLE(macos(10.5), ios(2.0)) __API_UNAVAILABLE(watchos, tvos); - -int posix_spawnattr_setspecialport_np(posix_spawnattr_t * __restrict, - mach_port_t, int) __API_AVAILABLE(macos(10.5), ios(2.0)) __API_UNAVAILABLE(watchos, tvos); - -int posix_spawnattr_setsuidcredport_np(posix_spawnattr_t * __restrict, mach_port_t) __API_UNAVAILABLE(ios, macos); - -int posix_spawnattr_setnosmt_np(const posix_spawnattr_t * __restrict attr) __API_AVAILABLE(macos(11.0)); - -/* - * Set CPU Security Mitigation on the spawned process - * This attribute affects all threads and is inherited on fork and exec - */ -int posix_spawnattr_set_csm_np(const posix_spawnattr_t * __restrict attr, uint32_t flags) __API_AVAILABLE(macos(11.0)); -/* - * flags for CPU Security Mitigation attribute - * POSIX_SPAWN_NP_CSM_ALL should be used in most cases, - * the individual flags are provided only for performance evaluation etc - */ -#define POSIX_SPAWN_NP_CSM_ALL 0x0001 -#define POSIX_SPAWN_NP_CSM_NOSMT 0x0002 -#define POSIX_SPAWN_NP_CSM_TECS 0x0004 - -int posix_spawn_file_actions_addinherit_np(posix_spawn_file_actions_t *, - int) __API_AVAILABLE(macos(10.7), ios(4.3)) __API_UNAVAILABLE(watchos, tvos); - -int posix_spawn_file_actions_addchdir_np(posix_spawn_file_actions_t *, - const char * __restrict) __API_AVAILABLE(macos(10.15)) __API_UNAVAILABLE(ios, tvos, watchos); - -int posix_spawn_file_actions_addfchdir_np(posix_spawn_file_actions_t *, - int) __API_AVAILABLE(macos(10.15)) __API_UNAVAILABLE(ios, tvos, watchos); - -__END_DECLS - -#endif /* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */ -#endif /* _SPAWN_H_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.11-any/stdio.h b/lib/libc/include/any-macos.11-any/stdio.h deleted file mode 100644 index f28020b797..0000000000 --- a/lib/libc/include/any-macos.11-any/stdio.h +++ /dev/null @@ -1,410 +0,0 @@ -/* - * Copyright (c) 2000, 2005, 2007, 2009, 2010 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@ - */ -/*- - * Copyright (c) 1990, 1993 - * The Regents of the University of California. All rights reserved. - * - * This code is derived from software contributed to Berkeley by - * Chris Torek. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)stdio.h 8.5 (Berkeley) 4/29/95 - */ - -#ifndef _STDIO_H_ -#define _STDIO_H_ - -#include <_stdio.h> - -__BEGIN_DECLS -extern FILE *__stdinp; -extern FILE *__stdoutp; -extern FILE *__stderrp; -__END_DECLS - -#define __SLBF 0x0001 /* line buffered */ -#define __SNBF 0x0002 /* unbuffered */ -#define __SRD 0x0004 /* OK to read */ -#define __SWR 0x0008 /* OK to write */ - /* RD and WR are never simultaneously asserted */ -#define __SRW 0x0010 /* open for reading & writing */ -#define __SEOF 0x0020 /* found EOF */ -#define __SERR 0x0040 /* found error */ -#define __SMBF 0x0080 /* _buf is from malloc */ -#define __SAPP 0x0100 /* fdopen()ed in append mode */ -#define __SSTR 0x0200 /* this is an sprintf/snprintf string */ -#define __SOPT 0x0400 /* do fseek() optimisation */ -#define __SNPT 0x0800 /* do not do fseek() optimisation */ -#define __SOFF 0x1000 /* set iff _offset is in fact correct */ -#define __SMOD 0x2000 /* true => fgetln modified _p text */ -#define __SALC 0x4000 /* allocate string space dynamically */ -#define __SIGN 0x8000 /* ignore this file in _fwalk */ - -/* - * The following three definitions are for ANSI C, which took them - * from System V, which brilliantly took internal interface macros and - * made them official arguments to setvbuf(), without renaming them. - * Hence, these ugly _IOxxx names are *supposed* to appear in user code. - * - * Although numbered as their counterparts above, the implementation - * does not rely on this. - */ -#define _IOFBF 0 /* setvbuf should set fully buffered */ -#define _IOLBF 1 /* setvbuf should set line buffered */ -#define _IONBF 2 /* setvbuf should set unbuffered */ - -#define BUFSIZ 1024 /* size of buffer used by setbuf */ -#define EOF (-1) - - /* must be == _POSIX_STREAM_MAX */ -#define FOPEN_MAX 20 /* must be <= OPEN_MAX */ -#define FILENAME_MAX 1024 /* must be <= PATH_MAX */ - -/* System V/ANSI C; this is the wrong way to do this, do *not* use these. */ -#ifndef _ANSI_SOURCE -#define P_tmpdir "/var/tmp/" -#endif -#define L_tmpnam 1024 /* XXX must be == PATH_MAX */ -#define TMP_MAX 308915776 - -#ifndef SEEK_SET -#define SEEK_SET 0 /* set file offset to offset */ -#endif -#ifndef SEEK_CUR -#define SEEK_CUR 1 /* set file offset to current plus offset */ -#endif -#ifndef SEEK_END -#define SEEK_END 2 /* set file offset to EOF plus offset */ -#endif - -#define stdin __stdinp -#define stdout __stdoutp -#define stderr __stderrp - -#ifdef _DARWIN_UNLIMITED_STREAMS -#if defined(__IPHONE_OS_VERSION_MIN_REQUIRED) && __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_3_2 -#error "_DARWIN_UNLIMITED_STREAMS specified, but -miphoneos-version-min version does not support it." -#elif defined(__MAC_OS_X_VERSION_MIN_REQUIRED) && __MAC_OS_X_VERSION_MIN_REQUIRED < __MAC_10_6 -#error "_DARWIN_UNLIMITED_STREAMS specified, but -mmacosx-version-min version does not support it." -#endif -#endif - -/* ANSI-C */ - -__BEGIN_DECLS -void clearerr(FILE *); -int fclose(FILE *); -int feof(FILE *); -int ferror(FILE *); -int fflush(FILE *); -int fgetc(FILE *); -int fgetpos(FILE * __restrict, fpos_t *); -char *fgets(char * __restrict, int, 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 */ -FILE *fopen(const char * __restrict __filename, const char * __restrict __mode) __DARWIN_ALIAS_STARTING(__MAC_10_6, __IPHONE_2_0, __DARWIN_ALIAS(fopen)); -#endif /* (DARWIN_UNLIMITED_STREAMS || _DARWIN_C_SOURCE) */ -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); -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); -int getc(FILE *); -int getchar(void); -char *gets(char *); -void perror(const char *) __cold; -int printf(const char * __restrict, ...) __printflike(1, 2); -int putc(int, FILE *); -int putchar(int); -int puts(const char *); -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); -int sprintf(char * __restrict, const char * __restrict, ...) __printflike(2, 3) __swift_unavailable("Use snprintf instead."); -int sscanf(const char * __restrict, const char * __restrict, ...) __scanflike(2, 3); -FILE *tmpfile(void); - -__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 *); -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); -int vsprintf(char * __restrict, const char * __restrict, va_list) __printflike(2, 0) __swift_unavailable("Use vsnprintf instead."); -__END_DECLS - - - -/* Additional functionality provided by: - * POSIX.1-1988 - */ - -#if __DARWIN_C_LEVEL >= 198808L -#define L_ctermid 1024 /* size for ctermid(); PATH_MAX */ - -__BEGIN_DECLS -#include <_ctermid.h> - -#if defined(_DARWIN_UNLIMITED_STREAMS) || defined(_DARWIN_C_SOURCE) -FILE *fdopen(int, const char *) __DARWIN_ALIAS_STARTING(__MAC_10_6, __IPHONE_3_2, __DARWIN_EXTSN(fdopen)); -#else /* !_DARWIN_UNLIMITED_STREAMS && !_DARWIN_C_SOURCE */ -FILE *fdopen(int, const char *) __DARWIN_ALIAS_STARTING(__MAC_10_6, __IPHONE_2_0, __DARWIN_ALIAS(fdopen)); -#endif /* (DARWIN_UNLIMITED_STREAMS || _DARWIN_C_SOURCE) */ -int fileno(FILE *); -__END_DECLS -#endif /* __DARWIN_C_LEVEL >= 198808L */ - - -/* Additional functionality provided by: - * POSIX.2-1992 C Language Binding Option - */ -#if TARGET_OS_IPHONE -#define __swift_unavailable_on(osx_msg, ios_msg) __swift_unavailable(ios_msg) -#else -#define __swift_unavailable_on(osx_msg, ios_msg) __swift_unavailable(osx_msg) -#endif - -#if __DARWIN_C_LEVEL >= 199209L -__BEGIN_DECLS -int pclose(FILE *) __swift_unavailable_on("Use posix_spawn APIs or NSTask instead.", "Process spawning is unavailable."); -#if defined(_DARWIN_UNLIMITED_STREAMS) || defined(_DARWIN_C_SOURCE) -FILE *popen(const char *, const char *) __DARWIN_ALIAS_STARTING(__MAC_10_6, __IPHONE_3_2, __DARWIN_EXTSN(popen)) __swift_unavailable_on("Use posix_spawn APIs or NSTask instead.", "Process spawning is unavailable."); -#else /* !_DARWIN_UNLIMITED_STREAMS && !_DARWIN_C_SOURCE */ -FILE *popen(const char *, const char *) __DARWIN_ALIAS_STARTING(__MAC_10_6, __IPHONE_2_0, __DARWIN_ALIAS(popen)) __swift_unavailable_on("Use posix_spawn APIs or NSTask instead.", "Process spawning is unavailable."); -#endif /* (DARWIN_UNLIMITED_STREAMS || _DARWIN_C_SOURCE) */ -__END_DECLS -#endif /* __DARWIN_C_LEVEL >= 199209L */ - -#undef __swift_unavailable_on - -/* Additional functionality provided by: - * POSIX.1c-1995, - * POSIX.1i-1995, - * and the omnibus ISO/IEC 9945-1: 1996 - */ - -#if __DARWIN_C_LEVEL >= 199506L - -/* Functions internal to the implementation. */ -__BEGIN_DECLS -int __srget(FILE *); -int __svfscanf(FILE *, const char *, va_list) __scanflike(2, 0); -int __swbuf(int, FILE *); -__END_DECLS - -/* - * The __sfoo macros are here so that we can - * define function versions in the C library. - */ -#define __sgetc(p) (--(p)->_r < 0 ? __srget(p) : (int)(*(p)->_p++)) -#if defined(__GNUC__) && defined(__STDC__) -__header_always_inline int __sputc(int _c, FILE *_p) { - if (--_p->_w >= 0 || (_p->_w >= _p->_lbfsize && (char)_c != '\n')) - return (*_p->_p++ = _c); - else - return (__swbuf(_c, _p)); -} -#else -/* - * This has been tuned to generate reasonable code on the vax using pcc. - */ -#define __sputc(c, p) \ - (--(p)->_w < 0 ? \ - (p)->_w >= (p)->_lbfsize ? \ - (*(p)->_p = (c)), *(p)->_p != '\n' ? \ - (int)*(p)->_p++ : \ - __swbuf('\n', p) : \ - __swbuf((int)(c), p) : \ - (*(p)->_p = (c), (int)*(p)->_p++)) -#endif - -#define __sfeof(p) (((p)->_flags & __SEOF) != 0) -#define __sferror(p) (((p)->_flags & __SERR) != 0) -#define __sclearerr(p) ((void)((p)->_flags &= ~(__SERR|__SEOF))) -#define __sfileno(p) ((p)->_file) - -__BEGIN_DECLS -void flockfile(FILE *); -int ftrylockfile(FILE *); -void funlockfile(FILE *); -int getc_unlocked(FILE *); -int getchar_unlocked(void); -int putc_unlocked(int, FILE *); -int putchar_unlocked(int); - -/* Removed in Issue 6 */ -#if !defined(_POSIX_C_SOURCE) || _POSIX_C_SOURCE < 200112L -int getw(FILE *); -int putw(int, FILE *); -#endif - -__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); -__END_DECLS - -#ifndef lint -#define getc_unlocked(fp) __sgetc(fp) -#define putc_unlocked(x, fp) __sputc(x, fp) -#endif /* lint */ - -#define getchar_unlocked() getc_unlocked(stdin) -#define putchar_unlocked(x) putc_unlocked(x, stdout) -#endif /* __DARWIN_C_LEVEL >= 199506L */ - - - -/* Additional functionality provided by: - * POSIX.1-2001 - * ISO C99 - */ - -#if __DARWIN_C_LEVEL >= 200112L -#include - -__BEGIN_DECLS -int fseeko(FILE * __stream, off_t __offset, int __whence); -off_t ftello(FILE * __stream); -__END_DECLS -#endif /* __DARWIN_C_LEVEL >= 200112L */ - -#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 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 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) */ - - - -/* Additional functionality provided by: - * POSIX.1-2008 - */ - -#if __DARWIN_C_LEVEL >= 200809L -#include - -__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)); -__END_DECLS -#endif /* __DARWIN_C_LEVEL >= 200809L */ - - - -/* Darwin extensions */ - -#if __DARWIN_C_LEVEL >= __DARWIN_C_FULL -__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 *); -__const char *fmtcheck(const char *, const char *); -int fpurge(FILE *); -void setbuffer(FILE *, char *, int); -int setlinebuf(FILE *); -int vasprintf(char ** __restrict, const char * __restrict, va_list) __printflike(2, 0); -FILE *zopen(const char *, const char *, int); - - -/* - * Stdio function-access interface. - */ -FILE *funopen(const void *, - int (* _Nullable)(void *, char *, int), - int (* _Nullable)(void *, const char *, int), - fpos_t (* _Nullable)(void *, fpos_t, int), - int (* _Nullable)(void *)); -__END_DECLS -#define fropen(cookie, fn) funopen(cookie, fn, 0, 0, 0) -#define fwopen(cookie, fn) funopen(cookie, 0, fn, 0, 0) - -#define feof_unlocked(p) __sfeof(p) -#define ferror_unlocked(p) __sferror(p) -#define clearerr_unlocked(p) __sclearerr(p) -#define fileno_unlocked(p) __sfileno(p) - -#endif /* __DARWIN_C_LEVEL >= __DARWIN_C_FULL */ - - -#ifdef _USE_EXTENDED_LOCALES_ -#include -#endif /* _USE_EXTENDED_LOCALES_ */ - -#if defined (__GNUC__) && _FORTIFY_SOURCE > 0 && !defined (__cplusplus) -/* Security checking functions. */ -#include -#endif - -#endif /* _STDIO_H_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.11-any/stdlib.h b/lib/libc/include/any-macos.11-any/stdlib.h deleted file mode 100644 index 699d3e85c2..0000000000 --- a/lib/libc/include/any-macos.11-any/stdlib.h +++ /dev/null @@ -1,373 +0,0 @@ -/* - * Copyright (c) 2000, 2002 - 2008 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@ - */ -/*- - * Copyright (c) 1990, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)stdlib.h 8.5 (Berkeley) 5/19/95 - */ - -#ifndef _STDLIB_H_ -#define _STDLIB_H_ - -#include -#include - -#include <_types.h> -#if !defined(_ANSI_SOURCE) -#include -#if (!defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)) -#include -#endif /* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */ -#endif /* !_ANSI_SOURCE */ - -/* DO NOT REMOVE THIS COMMENT: fixincludes needs to see: - * _GCC_SIZE_T */ -#include - -#if !defined(_ANSI_SOURCE) && (!defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)) -#include -#include -#endif /* !_ANSI_SOURCE && (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */ - -#include - -typedef struct { - int quot; /* quotient */ - int rem; /* remainder */ -} div_t; - -typedef struct { - long quot; /* quotient */ - long rem; /* remainder */ -} ldiv_t; - -#if !__DARWIN_NO_LONG_LONG -typedef struct { - long long quot; - long long rem; -} lldiv_t; -#endif /* !__DARWIN_NO_LONG_LONG */ - -#include - -#define EXIT_FAILURE 1 -#define EXIT_SUCCESS 0 - -#define RAND_MAX 0x7fffffff - -#ifdef _USE_EXTENDED_LOCALES_ -#include <_xlocale.h> -#endif /* _USE_EXTENDED_LOCALES_ */ - -#ifndef MB_CUR_MAX -#ifdef _USE_EXTENDED_LOCALES_ -#define MB_CUR_MAX (___mb_cur_max()) -#ifndef MB_CUR_MAX_L -#define MB_CUR_MAX_L(x) (___mb_cur_max_l(x)) -#endif /* !MB_CUR_MAX_L */ -#else /* !_USE_EXTENDED_LOCALES_ */ -extern int __mb_cur_max; -#define MB_CUR_MAX __mb_cur_max -#endif /* _USE_EXTENDED_LOCALES_ */ -#endif /* MB_CUR_MAX */ - -#if !defined(_ANSI_SOURCE) && (!defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)) \ - && defined(_USE_EXTENDED_LOCALES_) && !defined(MB_CUR_MAX_L) -#define MB_CUR_MAX_L(x) (___mb_cur_max_l(x)) -#endif - -#include - -__BEGIN_DECLS -void abort(void) __cold __dead2; -int abs(int) __pure2; -int atexit(void (* _Nonnull)(void)); -double atof(const char *); -int atoi(const char *); -long atol(const char *); -#if !__DARWIN_NO_LONG_LONG -long long - atoll(const char *); -#endif /* !__DARWIN_NO_LONG_LONG */ -void *bsearch(const void *__key, const void *__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 *); -long labs(long) __pure2; -ldiv_t ldiv(long, long) __pure2; -#if !__DARWIN_NO_LONG_LONG -long long - llabs(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); -/* posix_memalign is now declared in _malloc.h */ -void qsort(void *__base, size_t __nel, size_t __width, - int (* _Nonnull __compar)(const void *, const void *)); -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); -long double - strtold(const char *, char **); -#if !__DARWIN_NO_LONG_LONG -long long - strtoll(const char *__str, char **__endptr, int __base); -#endif /* !__DARWIN_NO_LONG_LONG */ -unsigned long - strtoul(const char *__str, char **__endptr, int __base); -#if !__DARWIN_NO_LONG_LONG -unsigned long long - strtoull(const char *__str, char **__endptr, int __base); -#endif /* !__DARWIN_NO_LONG_LONG */ - -#if TARGET_OS_IPHONE -#define __swift_unavailable_on(osx_msg, ios_msg) __swift_unavailable(ios_msg) -#else -#define __swift_unavailable_on(osx_msg, ios_msg) __swift_unavailable(osx_msg) -#endif - -__swift_unavailable_on("Use posix_spawn APIs or NSTask instead.", "Process spawning is unavailable") -__API_AVAILABLE(macos(10.0)) __IOS_PROHIBITED -__WATCHOS_PROHIBITED __TVOS_PROHIBITED -int system(const char *) __DARWIN_ALIAS_C(system); - -#undef __swift_unavailable_on - -size_t wcstombs(char * __restrict, const wchar_t * __restrict, size_t); -int wctomb(char *, 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 */ -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 **); -int grantpt(int); -#if __DARWIN_UNIX03 -char *initstate(unsigned, char *, size_t); /* no __DARWIN_ALIAS needed */ -#else /* !__DARWIN_UNIX03 */ -char *initstate(unsigned long, char *, long); -#endif /* __DARWIN_UNIX03 */ -long jrand48(unsigned short[3]) __swift_unavailable("Use arc4random instead."); -char *l64a(long); -void lcong48(unsigned short[7]); -long lrand48(void) __swift_unavailable("Use arc4random instead."); -char *mktemp(char *); -int mkstemp(char *); -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); - -#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)); -#endif - -int putenv(char *) __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); -#else /* (!__DARWIN_UNIX03 || _POSIX_C_SOURCE) && !_DARWIN_C_SOURCE && !_DARWIN_BETTER_REALPATH */ -char *realpath(const char * __restrict, char * __restrict) __DARWIN_ALIAS(realpath); -#endif /* (__DARWIN_UNIX03 && _POSIX_C_SOURCE) || _DARWIN_C_SOURCE || _DARWIN_BETTER_REALPATH */ -unsigned short - *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 *); -void srand48(long); -#if __DARWIN_UNIX03 -void srandom(unsigned); -#else /* !__DARWIN_UNIX03 */ -void srandom(unsigned long); -#endif /* __DARWIN_UNIX03 */ -int unlockpt(int); -#if __DARWIN_UNIX03 -int unsetenv(const char *) __DARWIN_ALIAS(unsetenv); -#else /* !__DARWIN_UNIX03 */ -void unsetenv(const char *); -#endif /* __DARWIN_UNIX03 */ -#endif /* !_ANSI_SOURCE */ - -#if !defined(_ANSI_SOURCE) && (!defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)) -#include -#include -#include -#include <_types/_uint32_t.h> - -uint32_t arc4random(void); -void arc4random_addrandom(unsigned char * /*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_stir(void); -uint32_t - arc4random_uniform(uint32_t __upper_bound) __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_4_3); -#ifdef __BLOCKS__ -int atexit_b(void (^ _Nonnull)(void)) __OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_3_2); -void *bsearch_b(const void *__key, const void *__base, size_t __nel, - size_t __width, int (^ _Nonnull __compar)(const void *, const void *)) __OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_3_2); -#endif /* __BLOCKS__ */ - - /* getcap(3) functions */ -char *cgetcap(char *, const char *, int); -int cgetclose(void); -int cgetent(char **, char **, const char *); -int cgetfirst(char **, char **); -int cgetmatch(const char *, const char *); -int cgetnext(char **, char **); -int cgetnum(char *, const char *, long *); -int cgetset(const char *); -int cgetstr(char *, const char *, char **); -int cgetustr(char *, const char *, char **); - -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); -const char - *getprogname(void); -void setprogname(const char *); - -#ifdef __BLOCKS__ -#if __has_attribute(noescape) -#define __sort_noescape __attribute__((__noescape__)) -#else -#define __sort_noescape -#endif -#endif /* __BLOCKS__ */ - -int heapsort(void *__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 (^ _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 (* _Nonnull __compar)(const void *, const void *)); -#ifdef __BLOCKS__ -int mergesort_b(void *__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, - 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, - 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 *, - 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, - 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 *, - int (* _Nonnull __compar)(void *, const void *, const void *)); -int radixsort(const unsigned char **__base, int __nel, const unsigned char *__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, - unsigned __endbyte); -void sranddev(void); -void srandomdev(void); -void *reallocf(void *__ptr, size_t __size) __alloc_size(2); -long long - strtonum(const char *__numstr, long long __minval, long long __maxval, const char **__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); -unsigned long long - strtouq(const char *__str, char **__endptr, int __base); -#endif /* !__DARWIN_NO_LONG_LONG */ -extern char *suboptarg; /* getsubopt(3) external variable */ -/* valloc is now declared in _malloc.h */ -#endif /* !_ANSI_SOURCE && !_POSIX_SOURCE */ - -/* Poison the following routines if -fshort-wchar is set */ -#if !defined(__cplusplus) && defined(__WCHAR_MAX__) && __WCHAR_MAX__ <= 0xffffU -#pragma GCC poison mbstowcs mbtowc wcstombs wctomb -#endif -__END_DECLS - -#ifdef _USE_EXTENDED_LOCALES_ -#include -#endif /* _USE_EXTENDED_LOCALES_ */ - -#endif /* _STDLIB_H_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.11-any/sys/_symbol_aliasing.h b/lib/libc/include/any-macos.11-any/sys/_symbol_aliasing.h deleted file mode 100644 index 7cb1a8c002..0000000000 --- a/lib/libc/include/any-macos.11-any/sys/_symbol_aliasing.h +++ /dev/null @@ -1,558 +0,0 @@ -/* Copyright (c) 2010 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 _CDEFS_H_ -# error "Never use directly. Use instead." -#endif - -#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 20000 -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_2_0(x) x -#else -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_2_0(x) -#endif - -#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 20100 -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_2_1(x) x -#else -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_2_1(x) -#endif - -#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 20200 -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_2_2(x) x -#else -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_2_2(x) -#endif - -#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 30000 -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_3_0(x) x -#else -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_3_0(x) -#endif - -#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 30100 -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_3_1(x) x -#else -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_3_1(x) -#endif - -#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 30200 -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_3_2(x) x -#else -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_3_2(x) -#endif - -#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 40000 -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_4_0(x) x -#else -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_4_0(x) -#endif - -#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 40100 -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_4_1(x) x -#else -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_4_1(x) -#endif - -#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 40200 -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_4_2(x) x -#else -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_4_2(x) -#endif - -#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 40300 -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_4_3(x) x -#else -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_4_3(x) -#endif - -#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 50000 -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_5_0(x) x -#else -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_5_0(x) -#endif - -#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 50100 -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_5_1(x) x -#else -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_5_1(x) -#endif - -#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 60000 -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_6_0(x) x -#else -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_6_0(x) -#endif - -#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 60100 -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_6_1(x) x -#else -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_6_1(x) -#endif - -#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 70000 -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_7_0(x) x -#else -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_7_0(x) -#endif - -#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 70100 -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_7_1(x) x -#else -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_7_1(x) -#endif - -#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 80000 -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_8_0(x) x -#else -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_8_0(x) -#endif - -#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 80100 -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_8_1(x) x -#else -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_8_1(x) -#endif - -#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 80200 -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_8_2(x) x -#else -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_8_2(x) -#endif - -#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 80300 -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_8_3(x) x -#else -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_8_3(x) -#endif - -#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 80400 -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_8_4(x) x -#else -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_8_4(x) -#endif - -#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 90000 -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_9_0(x) x -#else -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_9_0(x) -#endif - -#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 90100 -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_9_1(x) x -#else -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_9_1(x) -#endif - -#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 90200 -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_9_2(x) x -#else -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_9_2(x) -#endif - -#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 90300 -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_9_3(x) x -#else -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_9_3(x) -#endif - -#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 100000 -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_10_0(x) x -#else -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_10_0(x) -#endif - -#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 100100 -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_10_1(x) x -#else -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_10_1(x) -#endif - -#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 100200 -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_10_2(x) x -#else -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_10_2(x) -#endif - -#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 100300 -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_10_3(x) x -#else -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_10_3(x) -#endif - -#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 110000 -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_11_0(x) x -#else -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_11_0(x) -#endif - -#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 110100 -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_11_1(x) x -#else -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_11_1(x) -#endif - -#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 110200 -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_11_2(x) x -#else -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_11_2(x) -#endif - -#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 110300 -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_11_3(x) x -#else -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_11_3(x) -#endif - -#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 110400 -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_11_4(x) x -#else -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_11_4(x) -#endif - -#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 120000 -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_12_0(x) x -#else -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_12_0(x) -#endif - -#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 120100 -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_12_1(x) x -#else -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_12_1(x) -#endif - -#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 120200 -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_12_2(x) x -#else -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_12_2(x) -#endif - -#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 120300 -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_12_3(x) x -#else -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_12_3(x) -#endif - -#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 120400 -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_12_4(x) x -#else -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_12_4(x) -#endif - -#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 130000 -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_13_0(x) x -#else -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_13_0(x) -#endif - -#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 130100 -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_13_1(x) x -#else -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_13_1(x) -#endif - -#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 130200 -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_13_2(x) x -#else -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_13_2(x) -#endif - -#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 130300 -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_13_3(x) x -#else -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_13_3(x) -#endif - -#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 130400 -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_13_4(x) x -#else -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_13_4(x) -#endif - -#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 130500 -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_13_5(x) x -#else -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_13_5(x) -#endif - -#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 130600 -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_13_6(x) x -#else -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_13_6(x) -#endif - -#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 130700 -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_13_7(x) x -#else -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_13_7(x) -#endif - -#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 140000 -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_14_0(x) x -#else -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_14_0(x) -#endif - -#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 140100 -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_14_1(x) x -#else -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_14_1(x) -#endif - -#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 140200 -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_14_2(x) x -#else -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_14_2(x) -#endif - -#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 140300 -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_14_3(x) x -#else -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_14_3(x) -#endif - -#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 140500 -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_14_5(x) x -#else -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_14_5(x) -#endif - -#if defined(__ENVIRONMENT_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 -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_0(x) -#endif - -#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 1010 -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_1(x) x -#else -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_1(x) -#endif - -#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 1020 -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_2(x) x -#else -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_2(x) -#endif - -#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 1030 -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_3(x) x -#else -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_3(x) -#endif - -#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 1040 -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_4(x) x -#else -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_4(x) -#endif - -#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 1050 -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_5(x) x -#else -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_5(x) -#endif - -#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 1060 -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_6(x) x -#else -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_6(x) -#endif - -#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 1070 -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_7(x) x -#else -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_7(x) -#endif - -#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 1080 -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_8(x) x -#else -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_8(x) -#endif - -#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 1090 -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_9(x) x -#else -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_9(x) -#endif - -#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 101000 -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_10(x) x -#else -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_10(x) -#endif - -#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 101002 -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_10_2(x) x -#else -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_10_2(x) -#endif - -#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 101003 -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_10_3(x) x -#else -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_10_3(x) -#endif - -#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 101100 -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_11(x) x -#else -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_11(x) -#endif - -#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 101102 -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_11_2(x) x -#else -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_11_2(x) -#endif - -#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 101103 -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_11_3(x) x -#else -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_11_3(x) -#endif - -#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 101104 -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_11_4(x) x -#else -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_11_4(x) -#endif - -#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 101200 -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_12(x) x -#else -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_12(x) -#endif - -#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 101201 -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_12_1(x) x -#else -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_12_1(x) -#endif - -#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 101202 -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_12_2(x) x -#else -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_12_2(x) -#endif - -#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 101204 -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_12_4(x) x -#else -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_12_4(x) -#endif - -#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 101300 -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_13(x) x -#else -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_13(x) -#endif - -#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 101301 -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_13_1(x) x -#else -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_13_1(x) -#endif - -#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 101302 -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_13_2(x) x -#else -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_13_2(x) -#endif - -#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 101304 -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_13_4(x) x -#else -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_13_4(x) -#endif - -#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 101400 -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_14(x) x -#else -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_14(x) -#endif - -#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 101401 -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_14_1(x) x -#else -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_14_1(x) -#endif - -#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 101404 -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_14_4(x) x -#else -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_14_4(x) -#endif - -#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 101405 -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_14_5(x) x -#else -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_14_5(x) -#endif - -#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 101406 -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_14_6(x) x -#else -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_14_6(x) -#endif - -#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 101500 -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_15(x) x -#else -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_15(x) -#endif - -#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 101501 -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_15_1(x) x -#else -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_15_1(x) -#endif - -#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 101600 -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_16(x) x -#else -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_16(x) -#endif - -#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 110000 -#define __DARWIN_ALIAS_STARTING_MAC___MAC_11_0(x) x -#else -#define __DARWIN_ALIAS_STARTING_MAC___MAC_11_0(x) -#endif - -#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 110100 -#define __DARWIN_ALIAS_STARTING_MAC___MAC_11_1(x) x -#else -#define __DARWIN_ALIAS_STARTING_MAC___MAC_11_1(x) -#endif - -#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 110300 -#define __DARWIN_ALIAS_STARTING_MAC___MAC_11_3(x) x -#else -#define __DARWIN_ALIAS_STARTING_MAC___MAC_11_3(x) -#endif \ No newline at end of file diff --git a/lib/libc/include/any-macos.11-any/sys/attr.h b/lib/libc/include/any-macos.11-any/sys/attr.h deleted file mode 100644 index 9eca5efb34..0000000000 --- a/lib/libc/include/any-macos.11-any/sys/attr.h +++ /dev/null @@ -1,586 +0,0 @@ -/* - * Copyright (c) 2000-2018 Apple Computer, 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@ - */ - -/* - * attr.h - attribute data structures and interfaces - * - * Copyright (c) 1998, Apple Computer, Inc. All Rights Reserved. - */ - -#ifndef _SYS_ATTR_H_ -#define _SYS_ATTR_H_ - -#include - -#ifdef __APPLE_API_UNSTABLE -#include -#include -#include -#include - -#define FSOPT_NOFOLLOW 0x00000001 -#define FSOPT_NOINMEMUPDATE 0x00000002 -#define FSOPT_REPORT_FULLSIZE 0x00000004 -/* The following option only valid when requesting ATTR_CMN_RETURNED_ATTRS */ -#define FSOPT_PACK_INVAL_ATTRS 0x00000008 - - -#define FSOPT_ATTR_CMN_EXTENDED 0x00000020 -#define FSOPT_RETURN_REALDEV 0x00000200 - -/* we currently aren't anywhere near this amount for a valid - * fssearchblock.sizeofsearchparams1 or fssearchblock.sizeofsearchparams2 - * but we put a sanity check in to avoid abuse of the value passed in from - * user land. - */ -#define SEARCHFS_MAX_SEARCHPARMS 4096 - -typedef u_int32_t text_encoding_t; - -typedef u_int32_t fsobj_type_t; - -typedef u_int32_t fsobj_tag_t; - -typedef u_int32_t fsfile_type_t; - -typedef u_int32_t fsvolid_t; - -#include /* file object id type */ - -typedef u_int32_t attrgroup_t; - -struct attrlist { - u_short bitmapcount; /* number of attr. bit sets in list (should be 5) */ - u_int16_t reserved; /* (to maintain 4-byte alignment) */ - attrgroup_t commonattr; /* common attribute group */ - attrgroup_t volattr; /* Volume attribute group */ - attrgroup_t dirattr; /* directory attribute group */ - attrgroup_t fileattr; /* file attribute group */ - attrgroup_t forkattr; /* fork attribute group */ -}; -#define ATTR_BIT_MAP_COUNT 5 - -typedef struct attribute_set { - attrgroup_t commonattr; /* common attribute group */ - attrgroup_t volattr; /* Volume attribute group */ - attrgroup_t dirattr; /* directory attribute group */ - attrgroup_t fileattr; /* file attribute group */ - attrgroup_t forkattr; /* fork attribute group */ -} attribute_set_t; - -typedef struct attrreference { - int32_t attr_dataoffset; - u_int32_t attr_length; -} attrreference_t; - -/* XXX PPD This is derived from HFSVolumePriv.h and should perhaps be referenced from there? */ - -struct diskextent { - u_int32_t startblock; /* first block allocated */ - u_int32_t blockcount; /* number of blocks allocated */ -}; - -typedef struct diskextent extentrecord[8]; - -typedef u_int32_t vol_capabilities_set_t[4]; - -#define VOL_CAPABILITIES_FORMAT 0 -#define VOL_CAPABILITIES_INTERFACES 1 -#define VOL_CAPABILITIES_RESERVED1 2 -#define VOL_CAPABILITIES_RESERVED2 3 - -typedef struct vol_capabilities_attr { - vol_capabilities_set_t capabilities; - vol_capabilities_set_t valid; -} vol_capabilities_attr_t; - -/* - * XXX this value needs to be raised - 3893388 - */ -#define ATTR_MAX_BUFFER 8192 - -/* - * VOL_CAP_FMT_PERSISTENTOBJECTIDS: When set, the volume has object IDs - * that are persistent (retain their values even when the volume is - * unmounted and remounted), and a file or directory can be looked up - * by ID. Volumes that support VolFS and can support Carbon File ID - * references should set this bit. - * - * VOL_CAP_FMT_SYMBOLICLINKS: When set, the volume supports symbolic - * links. The symlink(), readlink(), and lstat() calls all use this - * symbolic link. - * - * VOL_CAP_FMT_HARDLINKS: When set, the volume supports hard links. - * The link() call creates hard links. - * - * VOL_CAP_FMT_JOURNAL: When set, the volume is capable of supporting - * a journal used to speed recovery in case of unplanned shutdown - * (such as a power outage or crash). This bit does not necessarily - * mean the volume is actively using a journal for recovery. - * - * VOL_CAP_FMT_JOURNAL_ACTIVE: When set, the volume is currently using - * a journal for use in speeding recovery after an unplanned shutdown. - * This bit can be set only if VOL_CAP_FMT_JOURNAL is also set. - * - * VOL_CAP_FMT_NO_ROOT_TIMES: When set, the volume format does not - * store reliable times for the root directory, so you should not - * depend on them to detect changes, etc. - * - * VOL_CAP_FMT_SPARSE_FILES: When set, the volume supports sparse files. - * That is, files which can have "holes" that have never been written - * to, and are not allocated on disk. Sparse files may have an - * allocated size that is less than the file's logical length. - * - * VOL_CAP_FMT_ZERO_RUNS: For security reasons, parts of a file (runs) - * that have never been written to must appear to contain zeroes. When - * this bit is set, the volume keeps track of allocated but unwritten - * runs of a file so that it can substitute zeroes without actually - * writing zeroes to the media. This provides performance similar to - * sparse files, but not the space savings. - * - * VOL_CAP_FMT_CASE_SENSITIVE: When set, file and directory names are - * case sensitive (upper and lower case are different). When clear, - * an upper case character is equivalent to a lower case character, - * and you can't have two names that differ solely in the case of - * the characters. - * - * VOL_CAP_FMT_CASE_PRESERVING: When set, file and directory names - * preserve the difference between upper and lower case. If clear, - * the volume may change the case of some characters (typically - * making them all upper or all lower case). A volume that sets - * VOL_CAP_FMT_CASE_SENSITIVE should also set VOL_CAP_FMT_CASE_PRESERVING. - * - * VOL_CAP_FMT_FAST_STATFS: This bit is used as a hint to upper layers - * (especially Carbon) that statfs() is fast enough that its results - * need not be cached by those upper layers. A volume that caches - * the statfs information in its in-memory structures should set this bit. - * A volume that must always read from disk or always perform a network - * transaction should not set this bit. - * - * VOL_CAP_FMT_2TB_FILESIZE: If this bit is set the volume format supports - * file sizes larger than 4GB, and potentially up to 2TB; it does not - * indicate whether the filesystem supports files larger than that. - * - * VOL_CAP_FMT_OPENDENYMODES: When set, the volume supports open deny - * modes (e.g. "open for read write, deny write"; effectively, mandatory - * file locking based on open modes). - * - * VOL_CAP_FMT_HIDDEN_FILES: When set, the volume supports the UF_HIDDEN - * file flag, and the UF_HIDDEN flag is mapped to that volume's native - * "hidden" or "invisible" bit (which may be the invisible bit from the - * Finder Info extended attribute). - * - * VOL_CAP_FMT_PATH_FROM_ID: When set, the volume supports the ability - * to derive a pathname to the root of the file system given only the - * id of an object. This also implies that object ids on this file - * system are persistent and not recycled. This is a very specialized - * capability and it is assumed that most file systems will not support - * it. Its use is for legacy non-posix APIs like ResolveFileIDRef. - * - * VOL_CAP_FMT_NO_VOLUME_SIZES: When set, the volume does not support - * returning values for total data blocks, available blocks, or free blocks - * (as in f_blocks, f_bavail, or f_bfree in "struct statfs"). Historically, - * those values were set to 0xFFFFFFFF for volumes that did not support them. - * - * VOL_CAP_FMT_DECMPFS_COMPRESSION: When set, the volume supports transparent - * decompression of compressed files using decmpfs. - * - * VOL_CAP_FMT_64BIT_OBJECT_IDS: When set, the volume uses object IDs that - * are 64-bit. This means that ATTR_CMN_FILEID and ATTR_CMN_PARENTID are the - * only legitimate attributes for obtaining object IDs from this volume and the - * 32-bit fid_objno fields of the fsobj_id_t returned by ATTR_CMN_OBJID, - * ATTR_CMN_OBJPERMID, and ATTR_CMN_PAROBJID are undefined. - * - * VOL_CAP_FMT_DIR_HARDLINKS: When set, the volume supports directory - * hard links. - * - * VOL_CAP_FMT_DOCUMENT_ID: When set, the volume supports document IDs - * (an ID which persists across object ID changes) for document revisions. - * - * VOL_CAP_FMT_WRITE_GENERATION_COUNT: When set, the volume supports write - * generation counts (a count of how many times an object has been modified) - * - * VOL_CAP_FMT_NO_IMMUTABLE_FILES: When set, the volume does not support - * setting the UF_IMMUTABLE flag. - * - * VOL_CAP_FMT_NO_PERMISSIONS: When set, the volume does not support setting - * permissions. - * - * VOL_CAP_FMT_SHARED_SPACE: When set, the volume supports sharing space with - * other filesystems i.e. multiple logical filesystems can exist in the same - * "partition". An implication of this is that the filesystem which sets - * this capability treats waitfor arguments to VFS_SYNC as bit flags. - * - * VOL_CAP_FMT_VOL_GROUPS: When set, this volume is part of a volume-group - * that implies multiple volumes must be mounted in order to boot and root the - * operating system. Typically, this means a read-only system volume and a - * writable data volume. - * - * VOL_CAP_FMT_SEALED: When set, this volume is cryptographically sealed. - * Any modifications to volume data or metadata will be detected and may - * render the volume unusable. - */ -#define VOL_CAP_FMT_PERSISTENTOBJECTIDS 0x00000001 -#define VOL_CAP_FMT_SYMBOLICLINKS 0x00000002 -#define VOL_CAP_FMT_HARDLINKS 0x00000004 -#define VOL_CAP_FMT_JOURNAL 0x00000008 -#define VOL_CAP_FMT_JOURNAL_ACTIVE 0x00000010 -#define VOL_CAP_FMT_NO_ROOT_TIMES 0x00000020 -#define VOL_CAP_FMT_SPARSE_FILES 0x00000040 -#define VOL_CAP_FMT_ZERO_RUNS 0x00000080 -#define VOL_CAP_FMT_CASE_SENSITIVE 0x00000100 -#define VOL_CAP_FMT_CASE_PRESERVING 0x00000200 -#define VOL_CAP_FMT_FAST_STATFS 0x00000400 -#define VOL_CAP_FMT_2TB_FILESIZE 0x00000800 -#define VOL_CAP_FMT_OPENDENYMODES 0x00001000 -#define VOL_CAP_FMT_HIDDEN_FILES 0x00002000 -#define VOL_CAP_FMT_PATH_FROM_ID 0x00004000 -#define VOL_CAP_FMT_NO_VOLUME_SIZES 0x00008000 -#define VOL_CAP_FMT_DECMPFS_COMPRESSION 0x00010000 -#define VOL_CAP_FMT_64BIT_OBJECT_IDS 0x00020000 -#define VOL_CAP_FMT_DIR_HARDLINKS 0x00040000 -#define VOL_CAP_FMT_DOCUMENT_ID 0x00080000 -#define VOL_CAP_FMT_WRITE_GENERATION_COUNT 0x00100000 -#define VOL_CAP_FMT_NO_IMMUTABLE_FILES 0x00200000 -#define VOL_CAP_FMT_NO_PERMISSIONS 0x00400000 -#define VOL_CAP_FMT_SHARED_SPACE 0x00800000 -#define VOL_CAP_FMT_VOL_GROUPS 0x01000000 -#define VOL_CAP_FMT_SEALED 0x02000000 - -/* - * VOL_CAP_INT_SEARCHFS: When set, the volume implements the - * searchfs() system call (the vnop_searchfs vnode operation). - * - * VOL_CAP_INT_ATTRLIST: When set, the volume implements the - * getattrlist() and setattrlist() system calls (vnop_getattrlist - * and vnop_setattrlist vnode operations) for the volume, files, - * and directories. The volume may or may not implement the - * readdirattr() system call. XXX Is there any minimum set - * of attributes that should be supported? To determine the - * set of supported attributes, get the ATTR_VOL_ATTRIBUTES - * attribute of the volume. - * - * VOL_CAP_INT_NFSEXPORT: When set, the volume implements exporting - * of NFS volumes. - * - * VOL_CAP_INT_READDIRATTR: When set, the volume implements the - * readdirattr() system call (vnop_readdirattr vnode operation). - * - * VOL_CAP_INT_EXCHANGEDATA: When set, the volume implements the - * exchangedata() system call (VNOP_EXCHANGE vnode operation). - * - * VOL_CAP_INT_COPYFILE: When set, the volume implements the - * VOP_COPYFILE vnode operation. (XXX There should be a copyfile() - * system call in .) - * - * VOL_CAP_INT_ALLOCATE: When set, the volume implements the - * VNOP_ALLOCATE vnode operation, which means it implements the - * F_PREALLOCATE selector of fcntl(2). - * - * VOL_CAP_INT_VOL_RENAME: When set, the volume implements the - * ATTR_VOL_NAME attribute for both getattrlist() and setattrlist(). - * The volume can be renamed by setting ATTR_VOL_NAME with setattrlist(). - * - * VOL_CAP_INT_ADVLOCK: When set, the volume implements POSIX style - * byte range locks via vnop_advlock (accessible from fcntl(2)). - * - * VOL_CAP_INT_FLOCK: When set, the volume implements whole-file flock(2) - * style locks via vnop_advlock. This includes the O_EXLOCK and O_SHLOCK - * flags of the open(2) call. - * - * VOL_CAP_INT_EXTENDED_SECURITY: When set, the volume implements - * extended security (ACLs). - * - * VOL_CAP_INT_USERACCESS: When set, the volume supports the - * ATTR_CMN_USERACCESS attribute (used to get the user's access - * mode to the file). - * - * VOL_CAP_INT_MANLOCK: When set, the volume supports AFP-style - * mandatory byte range locks via an ioctl(). - * - * VOL_CAP_INT_EXTENDED_ATTR: When set, the volume implements - * native extended attribues. - * - * VOL_CAP_INT_NAMEDSTREAMS: When set, the volume supports - * native named streams. - * - * VOL_CAP_INT_CLONE: When set, the volume supports clones. - * - * VOL_CAP_INT_SNAPSHOT: When set, the volume supports snapshots. - * - * VOL_CAP_INT_RENAME_SWAP: When set, the volume supports swapping - * file system objects. - * - * VOL_CAP_INT_RENAME_EXCL: When set, the volume supports an - * exclusive rename operation. - * - * VOL_CAP_INT_RENAME_OPENFAIL: When set, the volume may fail rename - * operations on files that are open. - */ -#define VOL_CAP_INT_SEARCHFS 0x00000001 -#define VOL_CAP_INT_ATTRLIST 0x00000002 -#define VOL_CAP_INT_NFSEXPORT 0x00000004 -#define VOL_CAP_INT_READDIRATTR 0x00000008 -#define VOL_CAP_INT_EXCHANGEDATA 0x00000010 -#define VOL_CAP_INT_COPYFILE 0x00000020 -#define VOL_CAP_INT_ALLOCATE 0x00000040 -#define VOL_CAP_INT_VOL_RENAME 0x00000080 -#define VOL_CAP_INT_ADVLOCK 0x00000100 -#define VOL_CAP_INT_FLOCK 0x00000200 -#define VOL_CAP_INT_EXTENDED_SECURITY 0x00000400 -#define VOL_CAP_INT_USERACCESS 0x00000800 -#define VOL_CAP_INT_MANLOCK 0x00001000 -#define VOL_CAP_INT_NAMEDSTREAMS 0x00002000 -#define VOL_CAP_INT_EXTENDED_ATTR 0x00004000 -#define VOL_CAP_INT_CLONE 0x00010000 -#define VOL_CAP_INT_SNAPSHOT 0x00020000 -#define VOL_CAP_INT_RENAME_SWAP 0x00040000 -#define VOL_CAP_INT_RENAME_EXCL 0x00080000 -#define VOL_CAP_INT_RENAME_OPENFAIL 0x00100000 - -typedef struct vol_attributes_attr { - attribute_set_t validattr; - attribute_set_t nativeattr; -} vol_attributes_attr_t; - -#define ATTR_CMN_NAME 0x00000001 -#define ATTR_CMN_DEVID 0x00000002 -#define ATTR_CMN_FSID 0x00000004 -#define ATTR_CMN_OBJTYPE 0x00000008 -#define ATTR_CMN_OBJTAG 0x00000010 -#define ATTR_CMN_OBJID 0x00000020 -#define ATTR_CMN_OBJPERMANENTID 0x00000040 -#define ATTR_CMN_PAROBJID 0x00000080 -#define ATTR_CMN_SCRIPT 0x00000100 -#define ATTR_CMN_CRTIME 0x00000200 -#define ATTR_CMN_MODTIME 0x00000400 -#define ATTR_CMN_CHGTIME 0x00000800 -#define ATTR_CMN_ACCTIME 0x00001000 -#define ATTR_CMN_BKUPTIME 0x00002000 -#define ATTR_CMN_FNDRINFO 0x00004000 -#define ATTR_CMN_OWNERID 0x00008000 -#define ATTR_CMN_GRPID 0x00010000 -#define ATTR_CMN_ACCESSMASK 0x00020000 -#define ATTR_CMN_FLAGS 0x00040000 - -/* The following were defined as: */ -/* #define ATTR_CMN_NAMEDATTRCOUNT 0x00080000 */ -/* #define ATTR_CMN_NAMEDATTRLIST 0x00100000 */ -/* These bits have been salvaged for use as: */ -/* #define ATTR_CMN_GEN_COUNT 0x00080000 */ -/* #define ATTR_CMN_DOCUMENT_ID 0x00100000 */ -/* They can only be used with the FSOPT_ATTR_CMN_EXTENDED */ -/* option flag. */ - -#define ATTR_CMN_GEN_COUNT 0x00080000 -#define ATTR_CMN_DOCUMENT_ID 0x00100000 - -#define ATTR_CMN_USERACCESS 0x00200000 -#define ATTR_CMN_EXTENDED_SECURITY 0x00400000 -#define ATTR_CMN_UUID 0x00800000 -#define ATTR_CMN_GRPUUID 0x01000000 -#define ATTR_CMN_FILEID 0x02000000 -#define ATTR_CMN_PARENTID 0x04000000 -#define ATTR_CMN_FULLPATH 0x08000000 -#define ATTR_CMN_ADDEDTIME 0x10000000 -#define ATTR_CMN_ERROR 0x20000000 -#define ATTR_CMN_DATA_PROTECT_FLAGS 0x40000000 - -/* - * ATTR_CMN_RETURNED_ATTRS is only valid with getattrlist(2) and - * getattrlistbulk(2). It is always the first attribute in the return buffer. - */ -#define ATTR_CMN_RETURNED_ATTRS 0x80000000 - -#define ATTR_CMN_VALIDMASK 0xFFFFFFFF -/* - * The settable ATTR_CMN_* attributes include the following: - * ATTR_CMN_SCRIPT - * ATTR_CMN_CRTIME - * ATTR_CMN_MODTIME - * ATTR_CMN_CHGTIME - * - * ATTR_CMN_ACCTIME - * ATTR_CMN_BKUPTIME - * ATTR_CMN_FNDRINFO - * ATTR_CMN_OWNERID - * - * ATTR_CMN_GRPID - * ATTR_CMN_ACCESSMASK - * ATTR_CMN_FLAGS - * - * ATTR_CMN_EXTENDED_SECURITY - * ATTR_CMN_UUID - * - * ATTR_CMN_GRPUUID - * - * ATTR_CMN_DATA_PROTECT_FLAGS - */ -#define ATTR_CMN_SETMASK 0x51C7FF00 -#define ATTR_CMN_VOLSETMASK 0x00006700 - -#define ATTR_VOL_FSTYPE 0x00000001 -#define ATTR_VOL_SIGNATURE 0x00000002 -#define ATTR_VOL_SIZE 0x00000004 -#define ATTR_VOL_SPACEFREE 0x00000008 -#define ATTR_VOL_SPACEAVAIL 0x00000010 -#define ATTR_VOL_MINALLOCATION 0x00000020 -#define ATTR_VOL_ALLOCATIONCLUMP 0x00000040 -#define ATTR_VOL_IOBLOCKSIZE 0x00000080 -#define ATTR_VOL_OBJCOUNT 0x00000100 -#define ATTR_VOL_FILECOUNT 0x00000200 -#define ATTR_VOL_DIRCOUNT 0x00000400 -#define ATTR_VOL_MAXOBJCOUNT 0x00000800 -#define ATTR_VOL_MOUNTPOINT 0x00001000 -#define ATTR_VOL_NAME 0x00002000 -#define ATTR_VOL_MOUNTFLAGS 0x00004000 -#define ATTR_VOL_MOUNTEDDEVICE 0x00008000 -#define ATTR_VOL_ENCODINGSUSED 0x00010000 -#define ATTR_VOL_CAPABILITIES 0x00020000 -#define ATTR_VOL_UUID 0x00040000 -#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 0xF007FFFF - -/* - * The list of settable ATTR_VOL_* attributes include the following: - * ATTR_VOL_NAME - * ATTR_VOL_INFO - */ -#define ATTR_VOL_SETMASK 0x80002000 - - -/* File/directory attributes: */ -#define ATTR_DIR_LINKCOUNT 0x00000001 -#define ATTR_DIR_ENTRYCOUNT 0x00000002 -#define ATTR_DIR_MOUNTSTATUS 0x00000004 -#define ATTR_DIR_ALLOCSIZE 0x00000008 -#define ATTR_DIR_IOBLOCKSIZE 0x00000010 -#define ATTR_DIR_DATALENGTH 0x00000020 - -/* ATTR_DIR_MOUNTSTATUS Flags: */ -#define DIR_MNTSTATUS_MNTPOINT 0x00000001 -#define DIR_MNTSTATUS_TRIGGER 0x00000002 - -#define ATTR_DIR_VALIDMASK 0x0000003f -#define ATTR_DIR_SETMASK 0x00000000 - -#define ATTR_FILE_LINKCOUNT 0x00000001 -#define ATTR_FILE_TOTALSIZE 0x00000002 -#define ATTR_FILE_ALLOCSIZE 0x00000004 -#define ATTR_FILE_IOBLOCKSIZE 0x00000008 -#define ATTR_FILE_DEVTYPE 0x00000020 -#define ATTR_FILE_FORKCOUNT 0x00000080 -#define ATTR_FILE_FORKLIST 0x00000100 -#define ATTR_FILE_DATALENGTH 0x00000200 -#define ATTR_FILE_DATAALLOCSIZE 0x00000400 -#define ATTR_FILE_RSRCLENGTH 0x00001000 -#define ATTR_FILE_RSRCALLOCSIZE 0x00002000 - -#define ATTR_FILE_VALIDMASK 0x000037FF -/* - * Settable ATTR_FILE_* attributes include: - * ATTR_FILE_DEVTYPE - */ -#define ATTR_FILE_SETMASK 0x00000020 - -/* CMNEXT attributes extend the common attributes, but in the forkattr field */ -#define ATTR_CMNEXT_RELPATH 0x00000004 -#define ATTR_CMNEXT_PRIVATESIZE 0x00000008 -#define ATTR_CMNEXT_LINKID 0x00000010 -#define ATTR_CMNEXT_NOFIRMLINKPATH 0x00000020 -#define ATTR_CMNEXT_REALDEVID 0x00000040 -#define ATTR_CMNEXT_REALFSID 0x00000080 -#define ATTR_CMNEXT_CLONEID 0x00000100 -#define ATTR_CMNEXT_EXT_FLAGS 0x00000200 -#define ATTR_CMNEXT_RECURSIVE_GENCOUNT 0x00000400 - -#define ATTR_CMNEXT_VALIDMASK 0x000007fc -#define ATTR_CMNEXT_SETMASK 0x00000000 - -/* Deprecated fork attributes */ -#define ATTR_FORK_TOTALSIZE 0x00000001 -#define ATTR_FORK_ALLOCSIZE 0x00000002 -#define ATTR_FORK_RESERVED 0xffffffff - -#define ATTR_FORK_VALIDMASK 0x00000003 -#define ATTR_FORK_SETMASK 0x00000000 - -/* Obsolete, implemented, not supported */ -#define ATTR_CMN_NAMEDATTRCOUNT 0x00080000 -#define ATTR_CMN_NAMEDATTRLIST 0x00100000 -#define ATTR_FILE_CLUMPSIZE 0x00000010 /* obsolete */ -#define ATTR_FILE_FILETYPE 0x00000040 /* always zero */ -#define ATTR_FILE_DATAEXTENTS 0x00000800 /* obsolete, HFS-specific */ -#define ATTR_FILE_RSRCEXTENTS 0x00004000 /* obsolete, HFS-specific */ - -/* Required attributes for getattrlistbulk(2) */ -#define ATTR_BULK_REQUIRED (ATTR_CMN_NAME | ATTR_CMN_RETURNED_ATTRS) - -/* - * Searchfs - */ -#define SRCHFS_START 0x00000001 -#define SRCHFS_MATCHPARTIALNAMES 0x00000002 -#define SRCHFS_MATCHDIRS 0x00000004 -#define SRCHFS_MATCHFILES 0x00000008 -#define SRCHFS_SKIPLINKS 0x00000010 -#define SRCHFS_SKIPINVISIBLE 0x00000020 -#define SRCHFS_SKIPPACKAGES 0x00000040 -#define SRCHFS_SKIPINAPPROPRIATE 0x00000080 - -#define SRCHFS_NEGATEPARAMS 0x80000000 -#define SRCHFS_VALIDOPTIONSMASK 0x800000FF - -struct fssearchblock { - struct attrlist *returnattrs; - void *returnbuffer; - size_t returnbuffersize; - u_long maxmatches; - struct timeval timelimit; - void *searchparams1; - size_t sizeofsearchparams1; - void *searchparams2; - size_t sizeofsearchparams2; - struct attrlist searchattrs; -}; - - -struct searchstate { - uint32_t ss_union_flags; // for SRCHFS_START - uint32_t ss_union_layer; // 0 = top - u_char ss_fsstate[548]; // fs private -} __attribute__((packed)); - -#define FST_EOF (-1) /* end-of-file offset */ - -#endif /* __APPLE_API_UNSTABLE */ -#endif /* !_SYS_ATTR_H_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.11-any/sys/cdefs.h b/lib/libc/include/any-macos.11-any/sys/cdefs.h deleted file mode 100644 index e8145978d4..0000000000 --- a/lib/libc/include/any-macos.11-any/sys/cdefs.h +++ /dev/null @@ -1,876 +0,0 @@ -/* - * Copyright (c) 2000-2018 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@ - */ -/* Copyright 1995 NeXT Computer, Inc. All rights reserved. */ -/* - * Copyright (c) 1991, 1993 - * The Regents of the University of California. All rights reserved. - * - * This code is derived from software contributed to Berkeley by - * Berkeley Software Design, Inc. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)cdefs.h 8.8 (Berkeley) 1/9/95 - */ - -#ifndef _CDEFS_H_ -#define _CDEFS_H_ - -#if defined(__cplusplus) -#define __BEGIN_DECLS extern "C" { -#define __END_DECLS } -#else -#define __BEGIN_DECLS -#define __END_DECLS -#endif - -/* This SDK is designed to work with clang and specific versions of - * gcc >= 4.0 with Apple's patch sets */ -#if !defined(__GNUC__) || __GNUC__ < 4 -#warning "Unsupported compiler detected" -#endif - -/* - * Compatibility with compilers and environments that don't support compiler - * feature checking function-like macros. - */ -#ifndef __has_builtin -#define __has_builtin(x) 0 -#endif -#ifndef __has_include -#define __has_include(x) 0 -#endif -#ifndef __has_feature -#define __has_feature(x) 0 -#endif -#ifndef __has_attribute -#define __has_attribute(x) 0 -#endif -#ifndef __has_extension -#define __has_extension(x) 0 -#endif - -/* - * The __CONCAT macro is used to concatenate parts of symbol names, e.g. - * with "#define OLD(foo) __CONCAT(old,foo)", OLD(foo) produces oldfoo. - * The __CONCAT macro is a bit tricky -- make sure you don't put spaces - * in between its arguments. __CONCAT can also concatenate double-quoted - * strings produced by the __STRING macro, but this only works with ANSI C. - */ -#if defined(__STDC__) || defined(__cplusplus) -#define __P(protos) protos /* full-blown ANSI C */ -#define __CONCAT(x, y) x ## y -#define __STRING(x) #x - -#define __const const /* define reserved names to standard */ -#define __signed signed -#define __volatile volatile -#if defined(__cplusplus) -#define __inline inline /* convert to C++ keyword */ -#else -#ifndef __GNUC__ -#define __inline /* delete GCC keyword */ -#endif /* !__GNUC__ */ -#endif /* !__cplusplus */ - -#else /* !(__STDC__ || __cplusplus) */ -#define __P(protos) () /* traditional C preprocessor */ -#define __CONCAT(x, y) x /**/ y -#define __STRING(x) "x" - -#ifndef __GNUC__ -#define __const /* delete pseudo-ANSI C keywords */ -#define __inline -#define __signed -#define __volatile -#endif /* !__GNUC__ */ - -/* - * In non-ANSI C environments, new programs will want ANSI-only C keywords - * deleted from the program and old programs will want them left alone. - * When using a compiler other than gcc, programs using the ANSI C keywords - * const, inline etc. as normal identifiers should define -DNO_ANSI_KEYWORDS. - * When using "gcc -traditional", we assume that this is the intent; if - * __GNUC__ is defined but __STDC__ is not, we leave the new keywords alone. - */ -#ifndef NO_ANSI_KEYWORDS -#define const __const /* convert ANSI C keywords */ -#define inline __inline -#define signed __signed -#define volatile __volatile -#endif /* !NO_ANSI_KEYWORDS */ -#endif /* !(__STDC__ || __cplusplus) */ - -#define __dead2 __attribute__((__noreturn__)) -#define __pure2 __attribute__((__const__)) - -/* __unused denotes variables and functions that may not be used, preventing - * the compiler from warning about it if not used. - */ -#define __unused __attribute__((__unused__)) - -/* __used forces variables and functions to be included even if it appears - * to the compiler that they are not used (and would thust be discarded). - */ -#define __used __attribute__((__used__)) - -/* __cold marks code used for debugging or that is rarely taken - * and tells the compiler to optimize for size and outline code. - */ -#if __has_attribute(cold) -#define __cold __attribute__((__cold__)) -#else -#define __cold -#endif - -/* __exported denotes symbols that should be exported even when symbols - * are hidden by default. - * __exported_push/_exported_pop are pragmas used to delimit a range of - * symbols that should be exported even when symbols are hidden by default. - */ -#define __exported __attribute__((__visibility__("default"))) -#define __exported_push _Pragma("GCC visibility push(default)") -#define __exported_pop _Pragma("GCC visibility pop") - -/* __deprecated causes the compiler to produce a warning when encountering - * code using the deprecated functionality. - * __deprecated_msg() does the same, and compilers that support it will print - * a message along with the deprecation warning. - * This may require turning on such warning with the -Wdeprecated flag. - * __deprecated_enum_msg() should be used on enums, and compilers that support - * it will print the deprecation warning. - * __kpi_deprecated() specifically indicates deprecation of kernel programming - * interfaces in Kernel.framework used by KEXTs. - */ -#define __deprecated __attribute__((__deprecated__)) - -#if __has_extension(attribute_deprecated_with_message) || \ - (defined(__GNUC__) && ((__GNUC__ >= 5) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 5)))) - #define __deprecated_msg(_msg) __attribute__((__deprecated__(_msg))) -#else - #define __deprecated_msg(_msg) __attribute__((__deprecated__)) -#endif - -#if __has_extension(enumerator_attributes) - #define __deprecated_enum_msg(_msg) __deprecated_msg(_msg) -#else - #define __deprecated_enum_msg(_msg) -#endif - -#define __kpi_deprecated(_msg) - -/* __unavailable causes the compiler to error out when encountering - * code using the tagged function - */ -#if __has_attribute(unavailable) -#define __unavailable __attribute__((__unavailable__)) -#else -#define __unavailable -#endif - -#define __kpi_unavailable - -#define __kpi_deprecated_arm64_macos_unavailable - -/* Delete pseudo-keywords wherever they are not available or needed. */ -#ifndef __dead -#define __dead -#define __pure -#endif - -/* - * We use `__restrict' as a way to define the `restrict' type qualifier - * without disturbing older software that is unaware of C99 keywords. - */ -#if __STDC_VERSION__ < 199901 -#define __restrict -#else -#define __restrict restrict -#endif - -/* Compatibility with compilers and environments that don't support the - * nullability feature. - */ - -#if !__has_feature(nullability) -#ifndef __nullable -#define __nullable -#endif -#ifndef __nonnull -#define __nonnull -#endif -#ifndef __null_unspecified -#define __null_unspecified -#endif -#ifndef _Nullable -#define _Nullable -#endif -#ifndef _Nonnull -#define _Nonnull -#endif -#ifndef _Null_unspecified -#define _Null_unspecified -#endif -#endif - -/* - * __disable_tail_calls causes the compiler to not perform tail call - * optimization inside the marked function. - */ -#if __has_attribute(disable_tail_calls) -#define __disable_tail_calls __attribute__((__disable_tail_calls__)) -#else -#define __disable_tail_calls -#endif - -/* - * __not_tail_called causes the compiler to prevent tail call optimization - * on statically bound calls to the function. It has no effect on indirect - * calls. Virtual functions, objective-c methods, and functions marked as - * "always_inline" cannot be marked as __not_tail_called. - */ -#if __has_attribute(not_tail_called) -#define __not_tail_called __attribute__((__not_tail_called__)) -#else -#define __not_tail_called -#endif - -/* - * __result_use_check warns callers of a function that not using the function - * return value is a bug, i.e. dismissing malloc() return value results in a - * memory leak. - */ -#if __has_attribute(warn_unused_result) -#define __result_use_check __attribute__((__warn_unused_result__)) -#else -#define __result_use_check -#endif - -/* - * __swift_unavailable causes the compiler to mark a symbol as specifically - * unavailable in Swift, regardless of any other availability in C. - */ -#if __has_feature(attribute_availability_swift) -#define __swift_unavailable(_msg) __attribute__((__availability__(swift, unavailable, message=_msg))) -#else -#define __swift_unavailable(_msg) -#endif - -/* - * __abortlike is the attribute to put on functions like abort() that are - * typically used to mark assertions. These optimize the codegen - * for outlining while still maintaining debugability. - */ -#ifndef __abortlike -#define __abortlike __dead2 __cold __not_tail_called -#endif - -/* Declaring inline functions within headers is error-prone due to differences - * across various versions of the C language and extensions. __header_inline - * can be used to declare inline functions within system headers. In cases - * where you want to force inlining instead of letting the compiler make - * the decision, you can use __header_always_inline. - * - * Be aware that using inline for functions which compilers may also provide - * builtins can behave differently under various compilers. If you intend to - * provide an inline version of such a function, you may want to use a macro - * instead. - * - * The check for !__GNUC__ || __clang__ is because gcc doesn't correctly - * support c99 inline in some cases: - * http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55965 - */ - -#if defined(__cplusplus) || \ - (__STDC_VERSION__ >= 199901L && \ - !defined(__GNUC_GNU_INLINE__) && \ - (!defined(__GNUC__) || defined(__clang__))) -# define __header_inline inline -#elif defined(__GNUC__) && defined(__GNUC_STDC_INLINE__) -# define __header_inline extern __inline __attribute__((__gnu_inline__)) -#elif defined(__GNUC__) -# define __header_inline extern __inline -#else -/* If we land here, we've encountered an unsupported compiler, - * so hopefully it understands static __inline as a fallback. - */ -# define __header_inline static __inline -#endif - -#ifdef __GNUC__ -# define __header_always_inline __header_inline __attribute__ ((__always_inline__)) -#else -/* Unfortunately, we're using a compiler that we don't know how to force to - * inline. Oh well. - */ -# define __header_always_inline __header_inline -#endif - -/* - * Compiler-dependent macros that bracket portions of code where the - * "-Wunreachable-code" warning should be ignored. Please use sparingly. - */ -#if defined(__clang__) -# define __unreachable_ok_push \ - _Pragma("clang diagnostic push") \ - _Pragma("clang diagnostic ignored \"-Wunreachable-code\"") -# define __unreachable_ok_pop \ - _Pragma("clang diagnostic pop") -#elif defined(__GNUC__) && ((__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)) -# define __unreachable_ok_push \ - _Pragma("GCC diagnostic push") \ - _Pragma("GCC diagnostic ignored \"-Wunreachable-code\"") -# define __unreachable_ok_pop \ - _Pragma("GCC diagnostic pop") -#else -# define __unreachable_ok_push -# define __unreachable_ok_pop -#endif - -/* - * Compiler-dependent macros to declare that functions take printf-like - * or scanf-like arguments. They are null except for versions of gcc - * that are known to support the features properly. Functions declared - * with these attributes will cause compilation warnings if there is a - * mismatch between the format string and subsequent function parameter - * types. - */ -#define __printflike(fmtarg, firstvararg) \ - __attribute__((__format__ (__printf__, fmtarg, firstvararg))) -#define __printf0like(fmtarg, firstvararg) \ - __attribute__((__format__ (__printf0__, fmtarg, firstvararg))) -#define __scanflike(fmtarg, firstvararg) \ - __attribute__((__format__ (__scanf__, fmtarg, firstvararg))) - -#define __IDSTRING(name, string) static const char name[] __used = string - -#ifndef __COPYRIGHT -#define __COPYRIGHT(s) __IDSTRING(copyright,s) -#endif - -#ifndef __RCSID -#define __RCSID(s) __IDSTRING(rcsid,s) -#endif - -#ifndef __SCCSID -#define __SCCSID(s) __IDSTRING(sccsid,s) -#endif - -#ifndef __PROJECT_VERSION -#define __PROJECT_VERSION(s) __IDSTRING(project_version,s) -#endif - -/* Source compatibility only, ID string not emitted in object file */ -#ifndef __FBSDID -#define __FBSDID(s) -#endif - -#ifndef __DECONST -#define __DECONST(type, var) __CAST_AWAY_QUALIFIER(var, const, type) -#endif - -#ifndef __DEVOLATILE -#define __DEVOLATILE(type, var) __CAST_AWAY_QUALIFIER(var, volatile, type) -#endif - -#ifndef __DEQUALIFY -#define __DEQUALIFY(type, var) __CAST_AWAY_QUALIFIER(var, const volatile, type) -#endif - -/* - * __alloc_size can be used to label function arguments that represent the - * size of memory that the function allocates and returns. The one-argument - * form labels a single argument that gives the allocation size (where the - * arguments are numbered from 1): - * - * void *malloc(size_t __size) __alloc_size(1); - * - * The two-argument form handles the case where the size is calculated as the - * product of two arguments: - * - * void *calloc(size_t __count, size_t __size) __alloc_size(1,2); - */ -#ifndef __alloc_size -#if __has_attribute(alloc_size) -#define __alloc_size(...) __attribute__((alloc_size(__VA_ARGS__))) -#else -#define __alloc_size(...) -#endif -#endif // __alloc_size - -/* - * COMPILATION ENVIRONMENTS -- see compat(5) for additional detail - * - * DEFAULT By default newly complied code will get POSIX APIs plus - * Apple API extensions in scope. - * - * Most users will use this compilation environment to avoid - * behavioral differences between 32 and 64 bit code. - * - * LEGACY Defining _NONSTD_SOURCE will get pre-POSIX APIs plus Apple - * API extensions in scope. - * - * This is generally equivalent to the Tiger release compilation - * environment, except that it cannot be applied to 64 bit code; - * its use is discouraged. - * - * We expect this environment to be deprecated in the future. - * - * STRICT Defining _POSIX_C_SOURCE or _XOPEN_SOURCE restricts the - * available APIs to exactly the set of APIs defined by the - * corresponding standard, based on the value defined. - * - * A correct, portable definition for _POSIX_C_SOURCE is 200112L. - * A correct, portable definition for _XOPEN_SOURCE is 600L. - * - * Apple API extensions are not visible in this environment, - * which can cause Apple specific code to fail to compile, - * or behave incorrectly if prototypes are not in scope or - * warnings about missing prototypes are not enabled or ignored. - * - * In any compilation environment, for correct symbol resolution to occur, - * function prototypes must be in scope. It is recommended that all Apple - * tools users add either the "-Wall" or "-Wimplicit-function-declaration" - * compiler flags to their projects to be warned when a function is being - * used without a prototype in scope. - */ - -/* These settings are particular to each product. */ -/* Platform: MacOSX */ -#if defined(__i386__) -#define __DARWIN_ONLY_64_BIT_INO_T 0 -#define __DARWIN_ONLY_UNIX_CONFORMANCE 0 -#define __DARWIN_ONLY_VERS_1050 0 -#elif defined(__x86_64__) -#define __DARWIN_ONLY_64_BIT_INO_T 0 -#define __DARWIN_ONLY_UNIX_CONFORMANCE 1 -#define __DARWIN_ONLY_VERS_1050 0 -#else -#define __DARWIN_ONLY_64_BIT_INO_T 1 -#define __DARWIN_ONLY_UNIX_CONFORMANCE 1 -#define __DARWIN_ONLY_VERS_1050 1 -#endif - -/* - * The __DARWIN_ALIAS macros are used to do symbol renaming; they allow - * legacy code to use the old symbol, thus maintaining binary compatibility - * while new code can use a standards compliant version of the same function. - * - * __DARWIN_ALIAS is used by itself if the function signature has not - * changed, it is used along with a #ifdef check for __DARWIN_UNIX03 - * if the signature has changed. Because the __LP64__ environment - * only supports UNIX03 semantics it causes __DARWIN_UNIX03 to be - * defined, but causes __DARWIN_ALIAS to do no symbol mangling. - * - * As a special case, when XCode is used to target a specific version of the - * OS, the manifest constant __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ - * will be defined by the compiler, with the digits representing major version - * time 100 + minor version times 10 (e.g. 10.5 := 1050). If we are targeting - * pre-10.5, and it is the default compilation environment, revert the - * compilation environment to pre-__DARWIN_UNIX03. - */ -#if !defined(__DARWIN_UNIX03) -# if __DARWIN_ONLY_UNIX_CONFORMANCE -# if defined(_NONSTD_SOURCE) -# error "Can't define _NONSTD_SOURCE when only UNIX conformance is available." -# endif /* _NONSTD_SOURCE */ -# define __DARWIN_UNIX03 1 -# elif defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && ((__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ - 0) < 1040) -# define __DARWIN_UNIX03 0 -# elif defined(_DARWIN_C_SOURCE) || defined(_XOPEN_SOURCE) || defined(_POSIX_C_SOURCE) -# if defined(_NONSTD_SOURCE) -# error "Can't define both _NONSTD_SOURCE and any of _DARWIN_C_SOURCE, _XOPEN_SOURCE or _POSIX_C_SOURCE." -# endif /* _NONSTD_SOURCE */ -# define __DARWIN_UNIX03 1 -# elif defined(_NONSTD_SOURCE) -# define __DARWIN_UNIX03 0 -# else /* default */ -# if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && ((__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ - 0) < 1050) -# define __DARWIN_UNIX03 0 -# else /* __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 1050 */ -# define __DARWIN_UNIX03 1 -# endif /* __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 1050 */ -# endif /* _DARWIN_C_SOURCE || _XOPEN_SOURCE || _POSIX_C_SOURCE || __LP64__ */ -#endif /* !__DARWIN_UNIX03 */ - -#if !defined(__DARWIN_64_BIT_INO_T) -# if defined(_DARWIN_USE_64_BIT_INODE) -# if defined(_DARWIN_NO_64_BIT_INODE) -# error "Can't define both _DARWIN_USE_64_BIT_INODE and _DARWIN_NO_64_BIT_INODE." -# endif /* _DARWIN_NO_64_BIT_INODE */ -# define __DARWIN_64_BIT_INO_T 1 -# elif defined(_DARWIN_NO_64_BIT_INODE) -# if __DARWIN_ONLY_64_BIT_INO_T -# error "Can't define _DARWIN_NO_64_BIT_INODE when only 64-bit inodes are available." -# endif /* __DARWIN_ONLY_64_BIT_INO_T */ -# define __DARWIN_64_BIT_INO_T 0 -# else /* default */ -# if __DARWIN_ONLY_64_BIT_INO_T -# define __DARWIN_64_BIT_INO_T 1 -# elif defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && ((__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ - 0) < 1060) || __DARWIN_UNIX03 == 0 -# define __DARWIN_64_BIT_INO_T 0 -# else /* default */ -# define __DARWIN_64_BIT_INO_T 1 -# endif /* __DARWIN_ONLY_64_BIT_INO_T */ -# endif -#endif /* !__DARWIN_64_BIT_INO_T */ - -#if !defined(__DARWIN_VERS_1050) -# if __DARWIN_ONLY_VERS_1050 -# define __DARWIN_VERS_1050 1 -# elif defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && ((__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ - 0) < 1050) || __DARWIN_UNIX03 == 0 -# define __DARWIN_VERS_1050 0 -# else /* default */ -# define __DARWIN_VERS_1050 1 -# endif -#endif /* !__DARWIN_VERS_1050 */ - -#if !defined(__DARWIN_NON_CANCELABLE) -# define __DARWIN_NON_CANCELABLE 0 -#endif /* !__DARWIN_NON_CANCELABLE */ - -/* - * symbol suffixes used for symbol versioning - */ -#if __DARWIN_UNIX03 -# if __DARWIN_ONLY_UNIX_CONFORMANCE -# define __DARWIN_SUF_UNIX03 /* nothing */ -# else /* !__DARWIN_ONLY_UNIX_CONFORMANCE */ -# define __DARWIN_SUF_UNIX03 "$UNIX2003" -# endif /* __DARWIN_ONLY_UNIX_CONFORMANCE */ - -# if __DARWIN_64_BIT_INO_T -# if __DARWIN_ONLY_64_BIT_INO_T -# define __DARWIN_SUF_64_BIT_INO_T /* nothing */ -# else /* !__DARWIN_ONLY_64_BIT_INO_T */ -# define __DARWIN_SUF_64_BIT_INO_T "$INODE64" -# endif /* __DARWIN_ONLY_64_BIT_INO_T */ -# else /* !__DARWIN_64_BIT_INO_T */ -# define __DARWIN_SUF_64_BIT_INO_T /* nothing */ -# endif /* __DARWIN_64_BIT_INO_T */ - -# if __DARWIN_VERS_1050 -# if __DARWIN_ONLY_VERS_1050 -# define __DARWIN_SUF_1050 /* nothing */ -# else /* !__DARWIN_ONLY_VERS_1050 */ -# define __DARWIN_SUF_1050 "$1050" -# endif /* __DARWIN_ONLY_VERS_1050 */ -# else /* !__DARWIN_VERS_1050 */ -# define __DARWIN_SUF_1050 /* nothing */ -# endif /* __DARWIN_VERS_1050 */ - -# if __DARWIN_NON_CANCELABLE -# define __DARWIN_SUF_NON_CANCELABLE "$NOCANCEL" -# else /* !__DARWIN_NON_CANCELABLE */ -# define __DARWIN_SUF_NON_CANCELABLE /* nothing */ -# endif /* __DARWIN_NON_CANCELABLE */ - -#else /* !__DARWIN_UNIX03 */ -# define __DARWIN_SUF_UNIX03 /* nothing */ -# define __DARWIN_SUF_64_BIT_INO_T /* nothing */ -# define __DARWIN_SUF_NON_CANCELABLE /* nothing */ -# define __DARWIN_SUF_1050 /* nothing */ -#endif /* __DARWIN_UNIX03 */ - -#define __DARWIN_SUF_EXTSN "$DARWIN_EXTSN" - -/* - * symbol versioning macros - */ -#define __DARWIN_ALIAS(sym) __asm("_" __STRING(sym) __DARWIN_SUF_UNIX03) -#define __DARWIN_ALIAS_C(sym) __asm("_" __STRING(sym) __DARWIN_SUF_NON_CANCELABLE __DARWIN_SUF_UNIX03) -#define __DARWIN_ALIAS_I(sym) __asm("_" __STRING(sym) __DARWIN_SUF_64_BIT_INO_T __DARWIN_SUF_UNIX03) -#define __DARWIN_NOCANCEL(sym) __asm("_" __STRING(sym) __DARWIN_SUF_NON_CANCELABLE) -#define __DARWIN_INODE64(sym) __asm("_" __STRING(sym) __DARWIN_SUF_64_BIT_INO_T) - -#define __DARWIN_1050(sym) __asm("_" __STRING(sym) __DARWIN_SUF_1050) -#define __DARWIN_1050ALIAS(sym) __asm("_" __STRING(sym) __DARWIN_SUF_1050 __DARWIN_SUF_UNIX03) -#define __DARWIN_1050ALIAS_C(sym) __asm("_" __STRING(sym) __DARWIN_SUF_1050 __DARWIN_SUF_NON_CANCELABLE __DARWIN_SUF_UNIX03) -#define __DARWIN_1050ALIAS_I(sym) __asm("_" __STRING(sym) __DARWIN_SUF_1050 __DARWIN_SUF_64_BIT_INO_T __DARWIN_SUF_UNIX03) -#define __DARWIN_1050INODE64(sym) __asm("_" __STRING(sym) __DARWIN_SUF_1050 __DARWIN_SUF_64_BIT_INO_T) - -#define __DARWIN_EXTSN(sym) __asm("_" __STRING(sym) __DARWIN_SUF_EXTSN) -#define __DARWIN_EXTSN_C(sym) __asm("_" __STRING(sym) __DARWIN_SUF_EXTSN __DARWIN_SUF_NON_CANCELABLE) - -/* - * symbol release macros - */ -#include - -#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) -#define __DARWIN_ALIAS_STARTING(_mac, _iphone, x) __DARWIN_ALIAS_STARTING_IPHONE_##_iphone(x) -#elif defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) -#define __DARWIN_ALIAS_STARTING(_mac, _iphone, x) __DARWIN_ALIAS_STARTING_MAC_##_mac(x) -#else -#define __DARWIN_ALIAS_STARTING(_mac, _iphone, x) x -#endif - - -/* - * POSIX.1 requires that the macros we test be defined before any standard - * header file is included. This permits us to convert values for feature - * testing, as necessary, using only _POSIX_C_SOURCE. - * - * Here's a quick run-down of the versions: - * defined(_POSIX_SOURCE) 1003.1-1988 - * _POSIX_C_SOURCE == 1L 1003.1-1990 - * _POSIX_C_SOURCE == 2L 1003.2-1992 C Language Binding Option - * _POSIX_C_SOURCE == 199309L 1003.1b-1993 - * _POSIX_C_SOURCE == 199506L 1003.1c-1995, 1003.1i-1995, - * and the omnibus ISO/IEC 9945-1: 1996 - * _POSIX_C_SOURCE == 200112L 1003.1-2001 - * _POSIX_C_SOURCE == 200809L 1003.1-2008 - * - * In addition, the X/Open Portability Guide, which is now the Single UNIX - * Specification, defines a feature-test macro which indicates the version of - * that specification, and which subsumes _POSIX_C_SOURCE. - */ - -/* Deal with IEEE Std. 1003.1-1990, in which _POSIX_C_SOURCE == 1L. */ -#if defined(_POSIX_C_SOURCE) && _POSIX_C_SOURCE == 1L -#undef _POSIX_C_SOURCE -#define _POSIX_C_SOURCE 199009L -#endif - -/* Deal with IEEE Std. 1003.2-1992, in which _POSIX_C_SOURCE == 2L. */ -#if defined(_POSIX_C_SOURCE) && _POSIX_C_SOURCE == 2L -#undef _POSIX_C_SOURCE -#define _POSIX_C_SOURCE 199209L -#endif - -/* Deal with various X/Open Portability Guides and Single UNIX Spec. */ -#ifdef _XOPEN_SOURCE -#if _XOPEN_SOURCE - 0L >= 700L && (!defined(_POSIX_C_SOURCE) || _POSIX_C_SOURCE - 0L < 200809L) -#undef _POSIX_C_SOURCE -#define _POSIX_C_SOURCE 200809L -#elif _XOPEN_SOURCE - 0L >= 600L && (!defined(_POSIX_C_SOURCE) || _POSIX_C_SOURCE - 0L < 200112L) -#undef _POSIX_C_SOURCE -#define _POSIX_C_SOURCE 200112L -#elif _XOPEN_SOURCE - 0L >= 500L && (!defined(_POSIX_C_SOURCE) || _POSIX_C_SOURCE - 0L < 199506L) -#undef _POSIX_C_SOURCE -#define _POSIX_C_SOURCE 199506L -#endif -#endif - -/* - * Deal with all versions of POSIX. The ordering relative to the tests above is - * important. - */ -#if defined(_POSIX_SOURCE) && !defined(_POSIX_C_SOURCE) -#define _POSIX_C_SOURCE 198808L -#endif - -/* POSIX C deprecation macros */ -#include - -#define __POSIX_C_DEPRECATED(ver) ___POSIX_C_DEPRECATED_STARTING_##ver - -/* - * Set a single macro which will always be defined and can be used to determine - * the appropriate namespace. For POSIX, these values will correspond to - * _POSIX_C_SOURCE value. Currently there are two additional levels corresponding - * to ANSI (_ANSI_SOURCE) and Darwin extensions (_DARWIN_C_SOURCE) - */ -#define __DARWIN_C_ANSI 010000L -#define __DARWIN_C_FULL 900000L - -#if defined(_ANSI_SOURCE) -#define __DARWIN_C_LEVEL __DARWIN_C_ANSI -#elif defined(_POSIX_C_SOURCE) && !defined(_DARWIN_C_SOURCE) && !defined(_NONSTD_SOURCE) -#define __DARWIN_C_LEVEL _POSIX_C_SOURCE -#else -#define __DARWIN_C_LEVEL __DARWIN_C_FULL -#endif - -/* If the developer has neither requested a strict language mode nor a version - * of POSIX, turn on functionality provided by __STDC_WANT_LIB_EXT1__ as part - * of __DARWIN_C_FULL. - */ -#if !defined(__STDC_WANT_LIB_EXT1__) && !defined(__STRICT_ANSI__) && __DARWIN_C_LEVEL >= __DARWIN_C_FULL -#define __STDC_WANT_LIB_EXT1__ 1 -#endif - -/* - * long long is not supported in c89 (__STRICT_ANSI__), but g++ -ansi and - * c99 still want long longs. While not perfect, we allow long longs for - * g++. - */ -#if (defined(__STRICT_ANSI__) && (__STDC_VERSION__ - 0 < 199901L) && !defined(__GNUG__)) -#define __DARWIN_NO_LONG_LONG 1 -#else -#define __DARWIN_NO_LONG_LONG 0 -#endif - -/***************************************** -* Public darwin-specific feature macros -*****************************************/ - -/* - * _DARWIN_FEATURE_64_BIT_INODE indicates that the ino_t type is 64-bit, and - * structures modified for 64-bit inodes (like struct stat) will be used. - */ -#if __DARWIN_64_BIT_INO_T -#define _DARWIN_FEATURE_64_BIT_INODE 1 -#endif - -/* - * _DARWIN_FEATURE_64_ONLY_BIT_INODE indicates that the ino_t type may only - * be 64-bit; there is no support for 32-bit ino_t when this macro is defined - * (and non-zero). There is no struct stat64 either, as the regular - * struct stat will already be the 64-bit version. - */ -#if __DARWIN_ONLY_64_BIT_INO_T -#define _DARWIN_FEATURE_ONLY_64_BIT_INODE 1 -#endif - -/* - * _DARWIN_FEATURE_ONLY_VERS_1050 indicates that only those APIs updated - * in 10.5 exists; no pre-10.5 variants are available. - */ -#if __DARWIN_ONLY_VERS_1050 -#define _DARWIN_FEATURE_ONLY_VERS_1050 1 -#endif - -/* - * _DARWIN_FEATURE_ONLY_UNIX_CONFORMANCE indicates only UNIX conforming API - * are available (the legacy BSD APIs are not available) - */ -#if __DARWIN_ONLY_UNIX_CONFORMANCE -#define _DARWIN_FEATURE_ONLY_UNIX_CONFORMANCE 1 -#endif - -/* - * _DARWIN_FEATURE_UNIX_CONFORMANCE indicates whether UNIX conformance is on, - * and specifies the conformance level (3 is SUSv3) - */ -#if __DARWIN_UNIX03 -#define _DARWIN_FEATURE_UNIX_CONFORMANCE 3 -#endif - - -/* - * This macro casts away the qualifier from the variable - * - * Note: use at your own risk, removing qualifiers can result in - * catastrophic run-time failures. - */ -#ifndef __CAST_AWAY_QUALIFIER -#define __CAST_AWAY_QUALIFIER(variable, qualifier, type) (type) (long)(variable) -#endif - -/* - * __XNU_PRIVATE_EXTERN is a linkage decoration indicating that a symbol can be - * used from other compilation units, but not other libraries or executables. - */ -#ifndef __XNU_PRIVATE_EXTERN -#define __XNU_PRIVATE_EXTERN __attribute__((visibility("hidden"))) -#endif - -/* - * Architecture validation for current SDK - */ -#if !defined(__sys_cdefs_arch_unknown__) && defined(__i386__) -#elif !defined(__sys_cdefs_arch_unknown__) && defined(__x86_64__) -#elif !defined(__sys_cdefs_arch_unknown__) && defined(__arm__) -#elif !defined(__sys_cdefs_arch_unknown__) && defined(__arm64__) -#else -#error Unsupported architecture -#endif - - - -#define __compiler_barrier() __asm__ __volatile__("" ::: "memory") - -#if __has_attribute(enum_extensibility) -#define __enum_open __attribute__((__enum_extensibility__(open))) -#define __enum_closed __attribute__((__enum_extensibility__(closed))) -#else -#define __enum_open -#define __enum_closed -#endif // __has_attribute(enum_extensibility) - -#if __has_attribute(flag_enum) -#define __enum_options __attribute__((__flag_enum__)) -#else -#define __enum_options -#endif - -/* - * Similar to OS_ENUM/OS_CLOSED_ENUM/OS_OPTIONS/OS_CLOSED_OPTIONS - * - * This provides more advanced type checking on compilers supporting - * the proper extensions, even in C. - */ -#if __has_feature(objc_fixed_enum) || __has_extension(cxx_fixed_enum) || \ - __has_extension(cxx_strong_enums) -#define __enum_decl(_name, _type, ...) \ - typedef enum : _type __VA_ARGS__ __enum_open _name -#define __enum_closed_decl(_name, _type, ...) \ - typedef enum : _type __VA_ARGS__ __enum_closed _name -#define __options_decl(_name, _type, ...) \ - typedef enum : _type __VA_ARGS__ __enum_open __enum_options _name -#define __options_closed_decl(_name, _type, ...) \ - typedef enum : _type __VA_ARGS__ __enum_closed __enum_options _name -#else -#define __enum_decl(_name, _type, ...) \ - typedef _type _name; enum __VA_ARGS__ __enum_open -#define __enum_closed_decl(_name, _type, ...) \ - typedef _type _name; enum __VA_ARGS__ __enum_closed -#define __options_decl(_name, _type, ...) \ - typedef _type _name; enum __VA_ARGS__ __enum_open __enum_options -#define __options_closed_decl(_name, _type, ...) \ - typedef _type _name; enum __VA_ARGS__ __enum_closed __enum_options -#endif - -#endif /* !_CDEFS_H_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.11-any/sys/event.h b/lib/libc/include/any-macos.11-any/sys/event.h deleted file mode 100644 index b03d37f867..0000000000 --- a/lib/libc/include/any-macos.11-any/sys/event.h +++ /dev/null @@ -1,396 +0,0 @@ -/* - * Copyright (c) 2003-2019 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@ - */ -/*- - * Copyright (c) 1999,2000,2001 Jonathan Lemon - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * $FreeBSD: src/sys/sys/event.h,v 1.5.2.5 2001/12/14 19:21:22 jlemon Exp $ - */ - -#ifndef _SYS_EVENT_H_ -#define _SYS_EVENT_H_ - -#include -#include -#include - -/* - * Filter types - */ -#define EVFILT_READ (-1) -#define EVFILT_WRITE (-2) -#define EVFILT_AIO (-3) /* attached to aio requests */ -#define EVFILT_VNODE (-4) /* attached to vnodes */ -#define EVFILT_PROC (-5) /* attached to struct proc */ -#define EVFILT_SIGNAL (-6) /* attached to struct proc */ -#define EVFILT_TIMER (-7) /* timers */ -#define EVFILT_MACHPORT (-8) /* Mach portsets */ -#define EVFILT_FS (-9) /* Filesystem events */ -#define EVFILT_USER (-10) /* User events */ -#define EVFILT_VM (-12) /* Virtual memory events */ -#define EVFILT_EXCEPT (-15) /* Exception events */ - -#define EVFILT_SYSCOUNT 17 -#define EVFILT_THREADMARKER EVFILT_SYSCOUNT /* Internal use only */ - -#pragma pack(4) - -struct kevent { - uintptr_t ident; /* identifier for this event */ - int16_t filter; /* filter for event */ - uint16_t flags; /* general flags */ - uint32_t fflags; /* filter-specific flags */ - intptr_t data; /* filter-specific data */ - void *udata; /* opaque user data identifier */ -}; - - -#pragma pack() - -struct kevent64_s { - uint64_t ident; /* identifier for this event */ - int16_t filter; /* filter for event */ - uint16_t flags; /* general flags */ - uint32_t fflags; /* filter-specific flags */ - int64_t data; /* filter-specific data */ - uint64_t udata; /* opaque user data identifier */ - uint64_t ext[2]; /* filter-specific extensions */ -}; - - -#define EV_SET(kevp, a, b, c, d, e, f) do { \ - struct kevent *__kevp__ = (kevp); \ - __kevp__->ident = (a); \ - __kevp__->filter = (b); \ - __kevp__->flags = (c); \ - __kevp__->fflags = (d); \ - __kevp__->data = (e); \ - __kevp__->udata = (f); \ -} while(0) - -#define EV_SET64(kevp, a, b, c, d, e, f, g, h) do { \ - struct kevent64_s *__kevp__ = (kevp); \ - __kevp__->ident = (a); \ - __kevp__->filter = (b); \ - __kevp__->flags = (c); \ - __kevp__->fflags = (d); \ - __kevp__->data = (e); \ - __kevp__->udata = (f); \ - __kevp__->ext[0] = (g); \ - __kevp__->ext[1] = (h); \ -} while(0) - - -/* kevent system call flags */ -#define KEVENT_FLAG_NONE 0x000000 /* no flag value */ -#define KEVENT_FLAG_IMMEDIATE 0x000001 /* immediate timeout */ -#define KEVENT_FLAG_ERROR_EVENTS 0x000002 /* output events only include change errors */ - - -/* actions */ -#define EV_ADD 0x0001 /* add event to kq (implies enable) */ -#define EV_DELETE 0x0002 /* delete event from kq */ -#define EV_ENABLE 0x0004 /* enable event */ -#define EV_DISABLE 0x0008 /* disable event (not reported) */ - -/* flags */ -#define EV_ONESHOT 0x0010 /* only report one occurrence */ -#define EV_CLEAR 0x0020 /* clear event state after reporting */ -#define EV_RECEIPT 0x0040 /* force immediate event output */ - /* ... with or without EV_ERROR */ - /* ... use KEVENT_FLAG_ERROR_EVENTS */ - /* on syscalls supporting flags */ - -#define EV_DISPATCH 0x0080 /* disable event after reporting */ -#define EV_UDATA_SPECIFIC 0x0100 /* unique kevent per udata value */ - -#define EV_DISPATCH2 (EV_DISPATCH | EV_UDATA_SPECIFIC) -/* ... in combination with EV_DELETE */ -/* will defer delete until udata-specific */ -/* event enabled. EINPROGRESS will be */ -/* returned to indicate the deferral */ - -#define EV_VANISHED 0x0200 /* report that source has vanished */ - /* ... only valid with EV_DISPATCH2 */ - -#define EV_SYSFLAGS 0xF000 /* reserved by system */ -#define EV_FLAG0 0x1000 /* filter-specific flag */ -#define EV_FLAG1 0x2000 /* filter-specific flag */ - -/* returned values */ -#define EV_EOF 0x8000 /* EOF detected */ -#define EV_ERROR 0x4000 /* error, data contains errno */ - -/* - * Filter specific flags for EVFILT_READ - * - * The default behavior for EVFILT_READ is to make the "read" determination - * relative to the current file descriptor read pointer. - * - * The EV_POLL flag indicates the determination should be made via poll(2) - * semantics. These semantics dictate always returning true for regular files, - * regardless of the amount of unread data in the file. - * - * On input, EV_OOBAND specifies that filter should actively return in the - * presence of OOB on the descriptor. It implies that filter will return - * if there is OOB data available to read OR when any other condition - * for the read are met (for example number of bytes regular data becomes >= - * low-watermark). - * If EV_OOBAND is not set on input, it implies that the filter should not actively - * return for out of band data on the descriptor. The filter will then only return - * when some other condition for read is met (ex: when number of regular data bytes - * >=low-watermark OR when socket can't receive more data (SS_CANTRCVMORE)). - * - * On output, EV_OOBAND indicates the presence of OOB data on the descriptor. - * If it was not specified as an input parameter, then the data count is the - * number of bytes before the current OOB marker, else data count is the number - * of bytes beyond OOB marker. - */ -#define EV_POLL EV_FLAG0 -#define EV_OOBAND EV_FLAG1 - -/* - * data/hint fflags for EVFILT_USER, shared with userspace - */ - -/* - * On input, NOTE_TRIGGER causes the event to be triggered for output. - */ -#define NOTE_TRIGGER 0x01000000 - -/* - * On input, the top two bits of fflags specifies how the lower twenty four - * bits should be applied to the stored value of fflags. - * - * On output, the top two bits will always be set to NOTE_FFNOP and the - * remaining twenty four bits will contain the stored fflags value. - */ -#define NOTE_FFNOP 0x00000000 /* ignore input fflags */ -#define NOTE_FFAND 0x40000000 /* and fflags */ -#define NOTE_FFOR 0x80000000 /* or fflags */ -#define NOTE_FFCOPY 0xc0000000 /* copy fflags */ -#define NOTE_FFCTRLMASK 0xc0000000 /* mask for operations */ -#define NOTE_FFLAGSMASK 0x00ffffff - - -/* - * data/hint fflags for EVFILT_{READ|WRITE}, shared with userspace - * - * The default behavior for EVFILT_READ is to make the determination - * realtive to the current file descriptor read pointer. - */ -#define NOTE_LOWAT 0x00000001 /* low water mark */ - -/* data/hint flags for EVFILT_EXCEPT, shared with userspace */ -#define NOTE_OOB 0x00000002 /* OOB data */ - -/* - * data/hint fflags for EVFILT_VNODE, shared with userspace - */ -#define NOTE_DELETE 0x00000001 /* vnode was removed */ -#define NOTE_WRITE 0x00000002 /* data contents changed */ -#define NOTE_EXTEND 0x00000004 /* size increased */ -#define NOTE_ATTRIB 0x00000008 /* attributes changed */ -#define NOTE_LINK 0x00000010 /* link count changed */ -#define NOTE_RENAME 0x00000020 /* vnode was renamed */ -#define NOTE_REVOKE 0x00000040 /* vnode access was revoked */ -#define NOTE_NONE 0x00000080 /* No specific vnode event: to test for EVFILT_READ activation*/ -#define NOTE_FUNLOCK 0x00000100 /* vnode was unlocked by flock(2) */ - -/* - * data/hint fflags for EVFILT_PROC, shared with userspace - * - * Please note that EVFILT_PROC and EVFILT_SIGNAL share the same knote list - * that hangs off the proc structure. They also both play games with the hint - * passed to KNOTE(). If NOTE_SIGNAL is passed as a hint, then the lower bits - * of the hint contain the signal. IF NOTE_FORK is passed, then the lower bits - * contain the PID of the child (but the pid does not get passed through in - * the actual kevent). - */ -enum { - eNoteReapDeprecated __deprecated_enum_msg("This kqueue(2) EVFILT_PROC flag is deprecated") = 0x10000000 -}; - -#define NOTE_EXIT 0x80000000 /* process exited */ -#define NOTE_FORK 0x40000000 /* process forked */ -#define NOTE_EXEC 0x20000000 /* process exec'd */ -#define NOTE_REAP ((unsigned int)eNoteReapDeprecated /* 0x10000000 */ ) /* process reaped */ -#define NOTE_SIGNAL 0x08000000 /* shared with EVFILT_SIGNAL */ -#define NOTE_EXITSTATUS 0x04000000 /* exit status to be returned, valid for child process or when allowed to signal target pid */ -#define NOTE_EXIT_DETAIL 0x02000000 /* provide details on reasons for exit */ - -#define NOTE_PDATAMASK 0x000fffff /* mask for signal & exit status */ -#define NOTE_PCTRLMASK (~NOTE_PDATAMASK) - -/* - * If NOTE_EXITSTATUS is present, provide additional info about exiting process. - */ -enum { - eNoteExitReparentedDeprecated __deprecated_enum_msg("This kqueue(2) EVFILT_PROC flag is no longer sent") = 0x00080000 -}; -#define NOTE_EXIT_REPARENTED ((unsigned int)eNoteExitReparentedDeprecated) /* exited while reparented */ - -/* - * If NOTE_EXIT_DETAIL is present, these bits indicate specific reasons for exiting. - */ -#define NOTE_EXIT_DETAIL_MASK 0x00070000 -#define NOTE_EXIT_DECRYPTFAIL 0x00010000 -#define NOTE_EXIT_MEMORY 0x00020000 -#define NOTE_EXIT_CSERROR 0x00040000 - - -/* - * data/hint fflags for EVFILT_VM, shared with userspace. - */ -#define NOTE_VM_PRESSURE 0x80000000 /* will react on memory pressure */ -#define NOTE_VM_PRESSURE_TERMINATE 0x40000000 /* will quit on memory pressure, possibly after cleaning up dirty state */ -#define NOTE_VM_PRESSURE_SUDDEN_TERMINATE 0x20000000 /* will quit immediately on memory pressure */ -#define NOTE_VM_ERROR 0x10000000 /* there was an error */ - - -/* - * data/hint fflags for EVFILT_TIMER, shared with userspace. - * The default is a (repeating) interval timer with the data - * specifying the timeout interval in milliseconds. - * - * All timeouts are implicitly EV_CLEAR events. - */ -#define NOTE_SECONDS 0x00000001 /* data is seconds */ -#define NOTE_USECONDS 0x00000002 /* data is microseconds */ -#define NOTE_NSECONDS 0x00000004 /* data is nanoseconds */ -#define NOTE_ABSOLUTE 0x00000008 /* absolute timeout */ -/* ... implicit EV_ONESHOT, timeout uses the gettimeofday epoch */ -#define NOTE_LEEWAY 0x00000010 /* ext[1] holds leeway for power aware timers */ -#define NOTE_CRITICAL 0x00000020 /* system does minimal timer coalescing */ -#define NOTE_BACKGROUND 0x00000040 /* system does maximum timer coalescing */ -#define NOTE_MACH_CONTINUOUS_TIME 0x00000080 -/* - * NOTE_MACH_CONTINUOUS_TIME: - * with NOTE_ABSOLUTE: causes the timer to continue to tick across sleep, - * still uses gettimeofday epoch - * with NOTE_MACHTIME and NOTE_ABSOLUTE: uses mach continuous time epoch - * without NOTE_ABSOLUTE (interval timer mode): continues to tick across sleep - */ -#define NOTE_MACHTIME 0x00000100 /* data is mach absolute time units */ -/* timeout uses the mach absolute time epoch */ - - -/* - * data/hint fflags for EVFILT_MACHPORT, shared with userspace. - * - * Only portsets are supported at this time. - * - * The fflags field can optionally contain the MACH_RCV_MSG, MACH_RCV_LARGE, - * and related trailer receive options as defined in . - * The presence of these flags directs the kevent64() call to attempt to receive - * the message during kevent delivery, rather than just indicate that a message exists. - * On setup, The ext[0] field contains the receive buffer pointer and ext[1] contains - * the receive buffer length. Upon event delivery, the actual received message size - * is returned in ext[1]. As with mach_msg(), the buffer must be large enough to - * receive the message and the requested (or default) message trailers. In addition, - * the fflags field contains the return code normally returned by mach_msg(). - * - * If MACH_RCV_MSG is specified, and the ext[1] field specifies a zero length, the - * system call argument specifying an ouput area (kevent_qos) will be consulted. If - * the system call specified an output data area, the user-space address - * of the received message is carved from that provided output data area (if enough - * space remains there). The address and length of each received message is - * returned in the ext[0] and ext[1] fields (respectively) of the corresponding kevent. - * - * IF_MACH_RCV_VOUCHER_CONTENT is specified, the contents of the message voucher is - * extracted (as specified in the xflags field) and stored in ext[2] up to ext[3] - * length. If the input length is zero, and the system call provided a data area, - * the space for the voucher content is carved from the provided space and its - * address and length is returned in ext[2] and ext[3] respectively. - * - * If no message receipt options were provided in the fflags field on setup, no - * message is received by this call. Instead, on output, the data field simply - * contains the name of the actual port detected with a message waiting. - */ - -/* - * DEPRECATED!!!!!!!!! - * NOTE_TRACK, NOTE_TRACKERR, and NOTE_CHILD are no longer supported as of 10.5 - */ -/* additional flags for EVFILT_PROC */ -#define NOTE_TRACK 0x00000001 /* follow across forks */ -#define NOTE_TRACKERR 0x00000002 /* could not track child */ -#define NOTE_CHILD 0x00000004 /* am a child process */ - - - -/* Temporay solution for BootX to use inode.h till kqueue moves to vfs layer */ -#include -struct knote; -SLIST_HEAD(klist, knote); - - -#include - -struct timespec; - -__BEGIN_DECLS -int kqueue(void); -int kevent(int kq, - const struct kevent *changelist, int nchanges, - struct kevent *eventlist, int nevents, - const struct timespec *timeout); -int kevent64(int kq, - const struct kevent64_s *changelist, int nchanges, - struct kevent64_s *eventlist, int nevents, - unsigned int flags, - const struct timespec *timeout); - - -__END_DECLS - - - - -#endif /* !_SYS_EVENT_H_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.11-any/sys/fcntl.h b/lib/libc/include/any-macos.11-any/sys/fcntl.h deleted file mode 100644 index 8f13a01f90..0000000000 --- a/lib/libc/include/any-macos.11-any/sys/fcntl.h +++ /dev/null @@ -1,581 +0,0 @@ -/* - * Copyright (c) 2000-2013 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@ - */ -/* Copyright (c) 1995 NeXT Computer, Inc. All Rights Reserved */ -/*- - * Copyright (c) 1983, 1990, 1993 - * The Regents of the University of California. All rights reserved. - * (c) UNIX System Laboratories, Inc. - * All or some portions of this file are derived from material licensed - * to the University of California by American Telephone and Telegraph - * Co. or Unix System Laboratories, Inc. and are reproduced herein with - * the permission of UNIX System Laboratories, Inc. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)fcntl.h 8.3 (Berkeley) 1/21/94 - */ - - -#ifndef _SYS_FCNTL_H_ -#define _SYS_FCNTL_H_ - -/* - * This file includes the definitions for open and fcntl - * described by POSIX for ; it also includes - * related kernel definitions. - */ -#include -#include -#include - -/* We should not be exporting size_t here. Temporary for gcc bootstrapping. */ -#include -#include -#include -#include - -/* - * File status flags: these are used by open(2), fcntl(2). - * They are also used (indirectly) in the kernel file structure f_flags, - * which is a superset of the open/fcntl flags. Open flags and f_flags - * are inter-convertible using OFLAGS(fflags) and FFLAGS(oflags). - * Open/fcntl flags begin with O_; kernel-internal flags begin with F. - */ -/* open-only flags */ -#define O_RDONLY 0x0000 /* open for reading only */ -#define O_WRONLY 0x0001 /* open for writing only */ -#define O_RDWR 0x0002 /* open for reading and writing */ -#define O_ACCMODE 0x0003 /* mask for above modes */ - -/* - * Kernel encoding of open mode; separate read and write bits that are - * independently testable: 1 greater than the above. - * - * XXX - * FREAD and FWRITE are excluded from the #ifdef KERNEL so that TIOCFLUSH, - * which was documented to use FREAD/FWRITE, continues to work. - */ -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -#define FREAD 0x00000001 -#define FWRITE 0x00000002 -#endif -#define O_NONBLOCK 0x00000004 /* no delay */ -#define O_APPEND 0x00000008 /* set append mode */ - -#include - -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -#define O_SHLOCK 0x00000010 /* open with shared file lock */ -#define O_EXLOCK 0x00000020 /* open with exclusive file lock */ -#define O_ASYNC 0x00000040 /* signal pgrp when data ready */ -#define O_FSYNC O_SYNC /* source compatibility: do not use */ -#define O_NOFOLLOW 0x00000100 /* don't follow symlinks */ -#endif /* (_POSIX_C_SOURCE && !_DARWIN_C_SOURCE) */ -#define O_CREAT 0x00000200 /* create if nonexistant */ -#define O_TRUNC 0x00000400 /* truncate to zero length */ -#define O_EXCL 0x00000800 /* error if already exists */ - -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -#define O_EVTONLY 0x00008000 /* descriptor requested for event notifications only */ -#endif - - -#define O_NOCTTY 0x00020000 /* don't assign controlling terminal */ - - -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -#define O_DIRECTORY 0x00100000 -#define O_SYMLINK 0x00200000 /* allow open of a symlink */ -#endif - -// O_DSYNC 0x00400000 /* synch I/O data integrity */ -#include - - -#if __DARWIN_C_LEVEL >= 200809L -#define O_CLOEXEC 0x01000000 /* implicitly set FD_CLOEXEC */ -#endif - - -#if __DARWIN_C_LEVEL >= __DARWIN_C_FULL -#define O_NOFOLLOW_ANY 0x20000000 /* no symlinks allowed in path */ -#endif - - -#if __DARWIN_C_LEVEL >= 200809L -/* - * Descriptor value for the current working directory - */ -#define AT_FDCWD -2 - -/* - * Flags for the at functions - */ -#define AT_EACCESS 0x0010 /* Use effective ids in access check */ -#define AT_SYMLINK_NOFOLLOW 0x0020 /* Act on the symlink itself not the target */ -#define AT_SYMLINK_FOLLOW 0x0040 /* Act on target of symlink */ -#define AT_REMOVEDIR 0x0080 /* Path refers to directory */ -#if __DARWIN_C_LEVEL >= __DARWIN_C_FULL -#define AT_REALDEV 0x0200 /* Return real device inodes resides on for fstatat(2) */ -#define AT_FDONLY 0x0400 /* Use only the fd and Ignore the path for fstatat(2) */ -#endif -#endif - -/* Data Protection Flags */ -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -#define O_DP_GETRAWENCRYPTED 0x0001 -#define O_DP_GETRAWUNENCRYPTED 0x0002 -#endif - - - -/* - * The O_* flags used to have only F* names, which were used in the kernel - * and by fcntl. We retain the F* names for the kernel f_flags field - * and for backward compatibility for fcntl. - */ -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -#define FAPPEND O_APPEND /* kernel/compat */ -#define FASYNC O_ASYNC /* kernel/compat */ -#define FFSYNC O_FSYNC /* kernel */ -#define FFDSYNC O_DSYNC /* kernel */ -#define FNONBLOCK O_NONBLOCK /* kernel */ -#define FNDELAY O_NONBLOCK /* compat */ -#define O_NDELAY O_NONBLOCK /* compat */ -#endif - -/* - * Flags used for copyfile(2) - */ - -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -#define CPF_OVERWRITE 0x0001 -#define CPF_IGNORE_MODE 0x0002 -#define CPF_MASK (CPF_OVERWRITE|CPF_IGNORE_MODE) -#endif - -/* - * Constants used for fcntl(2) - */ - -/* command values */ -#define F_DUPFD 0 /* duplicate file descriptor */ -#define F_GETFD 1 /* get file descriptor flags */ -#define F_SETFD 2 /* set file descriptor flags */ -#define F_GETFL 3 /* get file status flags */ -#define F_SETFL 4 /* set file status flags */ -#define F_GETOWN 5 /* get SIGIO/SIGURG proc/pgrp */ -#define F_SETOWN 6 /* set SIGIO/SIGURG proc/pgrp */ -#define F_GETLK 7 /* get record locking information */ -#define F_SETLK 8 /* set record locking information */ -#define F_SETLKW 9 /* F_SETLK; wait if blocked */ -#if __DARWIN_C_LEVEL >= __DARWIN_C_FULL -#define F_SETLKWTIMEOUT 10 /* F_SETLK; wait if blocked, return on timeout */ -#endif /* __DARWIN_C_LEVEL >= __DARWIN_C_FULL */ -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -#define F_FLUSH_DATA 40 -#define F_CHKCLEAN 41 /* Used for regression test */ -#define F_PREALLOCATE 42 /* Preallocate storage */ -#define F_SETSIZE 43 /* Truncate a file. Equivalent to calling truncate(2) */ -#define F_RDADVISE 44 /* Issue an advisory read async with no copy to user */ -#define F_RDAHEAD 45 /* turn read ahead off/on for this fd */ -/* - * 46,47 used to be F_READBOOTSTRAP and F_WRITEBOOTSTRAP - */ -#define F_NOCACHE 48 /* turn data caching off/on for this fd */ -#define F_LOG2PHYS 49 /* file offset to device offset */ -#define F_GETPATH 50 /* return the full path of the fd */ -#define F_FULLFSYNC 51 /* fsync + ask the drive to flush to the media */ -#define F_PATHPKG_CHECK 52 /* find which component (if any) is a package */ -#define F_FREEZE_FS 53 /* "freeze" all fs operations */ -#define F_THAW_FS 54 /* "thaw" all fs operations */ -#define F_GLOBAL_NOCACHE 55 /* turn data caching off/on (globally) for this file */ - - -#define F_ADDSIGS 59 /* add detached signatures */ - - -#define F_ADDFILESIGS 61 /* add signature from same file (used by dyld for shared libs) */ - -#define F_NODIRECT 62 /* used in conjunction with F_NOCACHE to indicate that DIRECT, synchonous writes */ - /* should not be used (i.e. its ok to temporaily create cached pages) */ - -#define F_GETPROTECTIONCLASS 63 /* Get the protection class of a file from the EA, returns int */ -#define F_SETPROTECTIONCLASS 64 /* Set the protection class of a file for the EA, requires int */ - -#define F_LOG2PHYS_EXT 65 /* file offset to device offset, extended */ - -#define F_GETLKPID 66 /* get record locking information, per-process */ - -/* See F_DUPFD_CLOEXEC below for 67 */ - - -#define F_SETBACKINGSTORE 70 /* Mark the file as being the backing store for another filesystem */ -#define F_GETPATH_MTMINFO 71 /* return the full path of the FD, but error in specific mtmd circumstances */ - -#define F_GETCODEDIR 72 /* Returns the code directory, with associated hashes, to the caller */ - -#define F_SETNOSIGPIPE 73 /* No SIGPIPE generated on EPIPE */ -#define F_GETNOSIGPIPE 74 /* Status of SIGPIPE for this fd */ - -#define F_TRANSCODEKEY 75 /* For some cases, we need to rewrap the key for AKS/MKB */ - -#define F_SINGLE_WRITER 76 /* file being written to a by single writer... if throttling enabled, writes */ - /* may be broken into smaller chunks with throttling in between */ - -#define F_GETPROTECTIONLEVEL 77 /* Get the protection version number for this filesystem */ - -#define F_FINDSIGS 78 /* Add detached code signatures (used by dyld for shared libs) */ - - -#define F_ADDFILESIGS_FOR_DYLD_SIM 83 /* Add signature from same file, only if it is signed by Apple (used by dyld for simulator) */ - - -#define F_BARRIERFSYNC 85 /* fsync + issue barrier to drive */ - - -#define F_ADDFILESIGS_RETURN 97 /* Add signature from same file, return end offset in structure on success */ -#define F_CHECK_LV 98 /* Check if Library Validation allows this Mach-O file to be mapped into the calling process */ - -#define F_PUNCHHOLE 99 /* Deallocate a range of the file */ - -#define F_TRIM_ACTIVE_FILE 100 /* Trim an active file */ - -#define F_SPECULATIVE_READ 101 /* Synchronous advisory read fcntl for regular and compressed file */ - -#define F_GETPATH_NOFIRMLINK 102 /* return the full path without firmlinks of the fd */ - -#define F_ADDFILESIGS_INFO 103 /* Add signature from same file, return information */ -#define F_ADDFILESUPPL 104 /* Add supplemental signature from same file with fd reference to original */ -#define F_GETSIGSINFO 105 /* Look up code signature information attached to a file or slice */ - -// FS-specific fcntl()'s numbers begin at 0x00010000 and go up -#define FCNTL_FS_SPECIFIC_BASE 0x00010000 - -#endif /* (_POSIX_C_SOURCE && !_DARWIN_C_SOURCE) */ - -#if __DARWIN_C_LEVEL >= 200809L -#define F_DUPFD_CLOEXEC 67 /* mark the dup with FD_CLOEXEC */ -#endif - -/* file descriptor flags (F_GETFD, F_SETFD) */ -#define FD_CLOEXEC 1 /* close-on-exec flag */ - -/* record locking flags (F_GETLK, F_SETLK, F_SETLKW) */ -#define F_RDLCK 1 /* shared or read lock */ -#define F_UNLCK 2 /* unlock */ -#define F_WRLCK 3 /* exclusive or write lock */ - - -/* - * [XSI] The values used for l_whence shall be defined as described - * in - */ -#include - -/* - * [XSI] The symbolic names for file modes for use as values of mode_t - * shall be defined as described in - */ -#include - -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -/* allocate flags (F_PREALLOCATE) */ - -#define F_ALLOCATECONTIG 0x00000002 /* allocate contigious space */ -#define F_ALLOCATEALL 0x00000004 /* allocate all requested space or no space at all */ - -/* Position Modes (fst_posmode) for F_PREALLOCATE */ - -#define F_PEOFPOSMODE 3 /* Make it past all of the SEEK pos modes so that */ - /* we can keep them in sync should we desire */ -#define F_VOLPOSMODE 4 /* specify volume starting postion */ -#endif /* (_POSIX_C_SOURCE && !_DARWIN_C_SOURCE) */ - -/* - * Advisory file segment locking data type - - * information passed to system by user - */ -struct flock { - off_t l_start; /* starting offset */ - off_t l_len; /* len = 0 means until end of file */ - pid_t l_pid; /* lock owner */ - short l_type; /* lock type: read/write, etc. */ - short l_whence; /* type of l_start */ -}; - -#include - -#if __DARWIN_C_LEVEL >= __DARWIN_C_FULL -/* - * Advisory file segment locking with time out - - * Information passed to system by user for F_SETLKWTIMEOUT - */ -struct flocktimeout { - struct flock fl; /* flock passed for file locking */ - struct timespec timeout; /* timespec struct for timeout */ -}; -#endif /* __DARWIN_C_LEVEL >= __DARWIN_C_FULL */ - -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -/* - * advisory file read data type - - * information passed by user to system - */ - - -struct radvisory { - off_t ra_offset; - int ra_count; -}; - - -/* - * detached code signatures data type - - * information passed by user to system used by F_ADDSIGS and F_ADDFILESIGS. - * F_ADDFILESIGS is a shortcut for files that contain their own signature and - * doesn't require mapping of the file in order to load the signature. - */ -#define USER_FSIGNATURES_CDHASH_LEN 20 -typedef struct fsignatures { - off_t fs_file_start; - void *fs_blob_start; - size_t fs_blob_size; - - /* The following fields are only applicable to F_ADDFILESIGS_INFO (64bit only). */ - /* Prior to F_ADDFILESIGS_INFO, this struct ended after fs_blob_size. */ - size_t fs_fsignatures_size;// input: size of this struct (for compatibility) - char fs_cdhash[USER_FSIGNATURES_CDHASH_LEN]; // output: cdhash - int fs_hash_type;// output: hash algorithm type for cdhash -} fsignatures_t; - -typedef struct fsupplement { - off_t fs_file_start; /* offset of Mach-O image in FAT file */ - off_t fs_blob_start; /* offset of signature in Mach-O image */ - size_t fs_blob_size; /* signature blob size */ - int fs_orig_fd; /* address of original image */ -} fsupplement_t; - - - -/* - * DYLD needs to check if the object is allowed to be combined - * into the main binary. This is done between the code signature - * is loaded and dyld is doing all the work to process the LOAD commands. - * - * While this could be done in F_ADDFILESIGS.* family the hook into - * the MAC module doesn't say no when LV isn't enabled and then that - * is cached on the vnode, and the MAC module never gets change once - * a process that library validation enabled. - */ -typedef struct fchecklv { - off_t lv_file_start; - size_t lv_error_message_size; - void *lv_error_message; -} fchecklv_t; - - -/* At this time F_GETSIGSINFO can only indicate platformness. - * As additional requestable information is defined, new keys will be added and the - * fgetsigsinfo_t structure will be lengthened to add space for the additional information - */ -#define GETSIGSINFO_PLATFORM_BINARY 1 - -/* fgetsigsinfo_t used by F_GETSIGSINFO command */ -typedef struct fgetsigsinfo { - off_t fg_file_start; /* IN: Offset in the file to look for a signature, -1 for any signature */ - int fg_info_request; /* IN: Key indicating the info requested */ - int fg_sig_is_platform; /* OUT: 1 if the signature is a plat form binary, 0 if not */ -} fgetsigsinfo_t; - - -/* lock operations for flock(2) */ -#define LOCK_SH 0x01 /* shared file lock */ -#define LOCK_EX 0x02 /* exclusive file lock */ -#define LOCK_NB 0x04 /* don't block when locking */ -#define LOCK_UN 0x08 /* unlock file */ - -/* fstore_t type used by F_PREALLOCATE command */ - -typedef struct fstore { - unsigned int fst_flags; /* IN: flags word */ - int fst_posmode; /* IN: indicates use of offset field */ - off_t fst_offset; /* IN: start of the region */ - off_t fst_length; /* IN: size of the region */ - off_t fst_bytesalloc; /* OUT: number of bytes allocated */ -} fstore_t; - -/* fpunchhole_t used by F_PUNCHHOLE */ -typedef struct fpunchhole { - unsigned int fp_flags; /* unused */ - unsigned int reserved; /* (to maintain 8-byte alignment) */ - off_t fp_offset; /* IN: start of the region */ - off_t fp_length; /* IN: size of the region */ -} fpunchhole_t; - -/* factive_file_trim_t used by F_TRIM_ACTIVE_FILE */ -typedef struct ftrimactivefile { - off_t fta_offset; /* IN: start of the region */ - off_t fta_length; /* IN: size of the region */ -} ftrimactivefile_t; - -/* fspecread_t used by F_SPECULATIVE_READ */ -typedef struct fspecread { - unsigned int fsr_flags; /* IN: flags word */ - unsigned int reserved; /* to maintain 8-byte alignment */ - off_t fsr_offset; /* IN: start of the region */ - off_t fsr_length; /* IN: size of the region */ -} fspecread_t; - -/* fbootstraptransfer_t used by F_READBOOTSTRAP and F_WRITEBOOTSTRAP commands */ - -typedef struct fbootstraptransfer { - off_t fbt_offset; /* IN: offset to start read/write */ - size_t fbt_length; /* IN: number of bytes to transfer */ - void *fbt_buffer; /* IN: buffer to be read/written */ -} fbootstraptransfer_t; - - -/* - * For F_LOG2PHYS this information is passed back to user - * Currently only devoffset is returned - that is the VOP_BMAP - * result - the disk device address corresponding to the - * current file offset (likely set with an lseek). - * - * The flags could hold an indication of whether the # of - * contiguous bytes reflects the true extent length on disk, - * or is an advisory value that indicates there is at least that - * many bytes contiguous. For some filesystems it might be too - * inefficient to provide anything beyond the advisory value. - * Flags and contiguous bytes return values are not yet implemented. - * For them the fcntl will nedd to switch from using BMAP to CMAP - * and a per filesystem type flag will be needed to interpret the - * contiguous bytes count result from CMAP. - * - * F_LOG2PHYS_EXT is a variant of F_LOG2PHYS that uses a passed in - * file offset and length instead of the current file offset. - * F_LOG2PHYS_EXT operates on the same structure as F_LOG2PHYS, but - * treats it as an in/out. - */ -#pragma pack(4) - -struct log2phys { - unsigned int l2p_flags; /* unused so far */ - off_t l2p_contigbytes; /* F_LOG2PHYS: unused so far */ - /* F_LOG2PHYS_EXT: IN: number of bytes to be queried */ - /* OUT: number of contiguous bytes at this position */ - off_t l2p_devoffset; /* F_LOG2PHYS: OUT: bytes into device */ - /* F_LOG2PHYS_EXT: IN: bytes into file */ - /* OUT: bytes into device */ -}; - -#pragma pack() - -#define O_POPUP 0x80000000 /* force window to popup on open */ -#define O_ALERT 0x20000000 /* small, clean popup window */ - - -#endif /* (_POSIX_C_SOURCE && !_DARWIN_C_SOURCE) */ - - -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) - -#include - -typedef enum { - FILESEC_OWNER = 1, - FILESEC_GROUP = 2, - FILESEC_UUID = 3, - FILESEC_MODE = 4, - FILESEC_ACL = 5, - FILESEC_GRPUUID = 6, - -/* XXX these are private to the implementation */ - FILESEC_ACL_RAW = 100, - FILESEC_ACL_ALLOCSIZE = 101 -} filesec_property_t; - -/* XXX backwards compatibility */ -#define FILESEC_GUID FILESEC_UUID -#endif /* (_POSIX_C_SOURCE && !_DARWIN_C_SOURCE) */ - -__BEGIN_DECLS -int open(const char *, int, ...) __DARWIN_ALIAS_C(open); -#if __DARWIN_C_LEVEL >= 200809L -int openat(int, const char *, int, ...) __DARWIN_NOCANCEL(openat) __OSX_AVAILABLE_STARTING(__MAC_10_10, __IPHONE_8_0); -#endif -int creat(const char *, mode_t) __DARWIN_ALIAS_C(creat); -int fcntl(int, int, ...) __DARWIN_ALIAS_C(fcntl); -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) - -int openx_np(const char *, int, filesec_t); -/* - * data-protected non-portable open(2) : - * int open_dprotected_np(user_addr_t path, int flags, int class, int dpflags, int mode) - */ -int open_dprotected_np( const char *, int, int, int, ...); -int flock(int, int); -filesec_t filesec_init(void); -filesec_t filesec_dup(filesec_t); -void filesec_free(filesec_t); -int filesec_get_property(filesec_t, filesec_property_t, void *); -int filesec_query_property(filesec_t, filesec_property_t, int *); -int filesec_set_property(filesec_t, filesec_property_t, const void *); -int filesec_unset_property(filesec_t, filesec_property_t) __OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_3_2); -#define _FILESEC_UNSET_PROPERTY ((void *)0) -#define _FILESEC_REMOVE_ACL ((void *)1) -#endif /* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */ -__END_DECLS - -#endif /* !_SYS_FCNTL_H_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.11-any/sys/ioctl.h b/lib/libc/include/any-macos.11-any/sys/ioctl.h deleted file mode 100644 index bb84842dd2..0000000000 --- a/lib/libc/include/any-macos.11-any/sys/ioctl.h +++ /dev/null @@ -1,110 +0,0 @@ -/* - * Copyright (c) 2000 Apple Computer, 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@ - */ -/* Copyright (c) 1995 NeXT Computer, Inc. All Rights Reserved */ -/*- - * Copyright (c) 1982, 1986, 1990, 1993, 1994 - * The Regents of the University of California. All rights reserved. - * (c) UNIX System Laboratories, Inc. - * All or some portions of this file are derived from material licensed - * to the University of California by American Telephone and Telegraph - * Co. or Unix System Laboratories, Inc. and are reproduced herein with - * the permission of UNIX System Laboratories, Inc. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)ioctl.h 8.6 (Berkeley) 3/28/94 - */ - -#ifndef _SYS_IOCTL_H_ -#define _SYS_IOCTL_H_ - -#include - -/* - * Pun for SunOS prior to 3.2. SunOS 3.2 and later support TIOCGWINSZ - * and TIOCSWINSZ (yes, even 3.2-3.5, the fact that it wasn't documented - * nonwithstanding). - */ -struct ttysize { - unsigned short ts_lines; - unsigned short ts_cols; - unsigned short ts_xxx; - unsigned short ts_yyy; -}; -#define TIOCGSIZE TIOCGWINSZ -#define TIOCSSIZE TIOCSWINSZ - -#include - -#include -#include - - -#include - -__BEGIN_DECLS -int ioctl(int, unsigned long, ...); -__END_DECLS -#endif /* !_SYS_IOCTL_H_ */ - -/* - * Keep outside _SYS_IOCTL_H_ - * Compatability with old terminal driver - * - * Source level -> #define USE_OLD_TTY - * Kernel level -> always on - */ -#if defined(USE_OLD_TTY) || defined(BSD_KERNEL_PRIVATE) -#include -#endif /* !_SYS_IOCTL_H_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.11-any/sys/mount.h b/lib/libc/include/any-macos.11-any/sys/mount.h deleted file mode 100644 index 85a8347ddf..0000000000 --- a/lib/libc/include/any-macos.11-any/sys/mount.h +++ /dev/null @@ -1,434 +0,0 @@ -/* - * Copyright (c) 2000-2018 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@ - */ -/* Copyright (c) 1995 NeXT Computer, Inc. All Rights Reserved */ -/* - * Copyright (c) 1989, 1991, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)mount.h 8.21 (Berkeley) 5/20/95 - */ -/* - * NOTICE: This file was modified by SPARTA, Inc. in 2005 to introduce - * support for mandatory and extensible security protections. This notice - * is included in support of clause 2.2 (b) of the Apple Public License, - * Version 2.0. - */ - - -#ifndef _SYS_MOUNT_H_ -#define _SYS_MOUNT_H_ - -#include -#include -#include /* needed for vol_capabilities_attr_t */ -#include - -#include -#include -#include /* XXX needed for user builds */ -#include - -#include /* file system id type */ - -/* - * file system statistics - */ - -#define MFSNAMELEN 15 /* length of fs type name, not inc. null */ -#define MFSTYPENAMELEN 16 /* length of fs type name including null */ - -#if __DARWIN_64_BIT_INO_T -#define MNAMELEN MAXPATHLEN /* length of buffer for returned name */ -#else /* ! __DARWIN_64_BIT_INO_T */ -#define MNAMELEN 90 /* length of buffer for returned name */ -#endif /* __DARWIN_64_BIT_INO_T */ - -#define MNT_EXT_ROOT_DATA_VOL 0x00000001 /* Data volume of root volume group */ - -#define __DARWIN_STRUCT_STATFS64 { \ - uint32_t f_bsize; /* fundamental file system block size */ \ - int32_t f_iosize; /* optimal transfer block size */ \ - uint64_t f_blocks; /* total data blocks in file system */ \ - uint64_t f_bfree; /* free blocks in fs */ \ - uint64_t f_bavail; /* free blocks avail to non-superuser */ \ - uint64_t f_files; /* total file nodes in file system */ \ - uint64_t f_ffree; /* free file nodes in fs */ \ - fsid_t f_fsid; /* file system id */ \ - uid_t f_owner; /* user that mounted the filesystem */ \ - uint32_t f_type; /* type of filesystem */ \ - uint32_t f_flags; /* copy of mount exported flags */ \ - uint32_t f_fssubtype; /* fs sub-type (flavor) */ \ - char f_fstypename[MFSTYPENAMELEN]; /* fs type name */ \ - char f_mntonname[MAXPATHLEN]; /* directory on which mounted */ \ - char f_mntfromname[MAXPATHLEN]; /* mounted filesystem */ \ - uint32_t f_flags_ext; /* extended flags */ \ - uint32_t f_reserved[7]; /* For future use */ \ -} - -#if !__DARWIN_ONLY_64_BIT_INO_T - -struct statfs64 __DARWIN_STRUCT_STATFS64; - -#endif /* !__DARWIN_ONLY_64_BIT_INO_T */ - -#if __DARWIN_64_BIT_INO_T - -struct statfs __DARWIN_STRUCT_STATFS64; - -#else /* !__DARWIN_64_BIT_INO_T */ - -/* - * LP64 - WARNING - must be kept in sync with struct user_statfs in mount_internal.h. - */ -struct statfs { - short f_otype; /* TEMPORARY SHADOW COPY OF f_type */ - short f_oflags; /* TEMPORARY SHADOW COPY OF f_flags */ - long f_bsize; /* fundamental file system block size */ - long f_iosize; /* optimal transfer block size */ - long f_blocks; /* total data blocks in file system */ - long f_bfree; /* free blocks in fs */ - long f_bavail; /* free blocks avail to non-superuser */ - long f_files; /* total file nodes in file system */ - long f_ffree; /* free file nodes in fs */ - fsid_t f_fsid; /* file system id */ - uid_t f_owner; /* user that mounted the filesystem */ - short f_reserved1; /* spare for later */ - short f_type; /* type of filesystem */ - long f_flags; /* copy of mount exported flags */ - long f_reserved2[2]; /* reserved for future use */ - char f_fstypename[MFSNAMELEN]; /* fs type name */ - char f_mntonname[MNAMELEN]; /* directory on which mounted */ - char f_mntfromname[MNAMELEN];/* mounted filesystem */ - char f_reserved3; /* For alignment */ - long f_reserved4[4]; /* For future use */ -}; - -#endif /* __DARWIN_64_BIT_INO_T */ - -#pragma pack(4) - -struct vfsstatfs { - uint32_t f_bsize; /* fundamental file system block size */ - size_t f_iosize; /* optimal transfer block size */ - uint64_t f_blocks; /* total data blocks in file system */ - uint64_t f_bfree; /* free blocks in fs */ - uint64_t f_bavail; /* free blocks avail to non-superuser */ - uint64_t f_bused; /* free blocks avail to non-superuser */ - uint64_t f_files; /* total file nodes in file system */ - uint64_t f_ffree; /* free file nodes in fs */ - fsid_t f_fsid; /* file system id */ - uid_t f_owner; /* user that mounted the filesystem */ - uint64_t f_flags; /* copy of mount exported flags */ - char f_fstypename[MFSTYPENAMELEN];/* fs type name inclus */ - char f_mntonname[MAXPATHLEN];/* directory on which mounted */ - char f_mntfromname[MAXPATHLEN];/* mounted filesystem */ - uint32_t f_fssubtype; /* fs sub-type (flavor) */ - void *f_reserved[2]; /* For future use == 0 */ -}; - -#pragma pack() - - -/* - * User specifiable flags. - * - * Unmount uses MNT_FORCE flag. - */ -#define MNT_RDONLY 0x00000001 /* read only filesystem */ -#define MNT_SYNCHRONOUS 0x00000002 /* file system written synchronously */ -#define MNT_NOEXEC 0x00000004 /* can't exec from filesystem */ -#define MNT_NOSUID 0x00000008 /* don't honor setuid bits on fs */ -#define MNT_NODEV 0x00000010 /* don't interpret special files */ -#define MNT_UNION 0x00000020 /* union with underlying filesystem */ -#define MNT_ASYNC 0x00000040 /* file system written asynchronously */ -#define MNT_CPROTECT 0x00000080 /* file system supports content protection */ - -/* - * NFS export related mount flags. - */ -#define MNT_EXPORTED 0x00000100 /* file system is exported */ - -/* - * Denotes storage which can be removed from the system by the user. - */ - -#define MNT_REMOVABLE 0x00000200 - -/* - * MAC labeled / "quarantined" flag - */ -#define MNT_QUARANTINE 0x00000400 /* file system is quarantined */ - -/* - * Flags set by internal operations. - */ -#define MNT_LOCAL 0x00001000 /* filesystem is stored locally */ -#define MNT_QUOTA 0x00002000 /* quotas are enabled on filesystem */ -#define MNT_ROOTFS 0x00004000 /* identifies the root filesystem */ -#define MNT_DOVOLFS 0x00008000 /* FS supports volfs (deprecated flag in Mac OS X 10.5) */ - - -#define MNT_DONTBROWSE 0x00100000 /* file system is not appropriate path to user data */ -#define MNT_IGNORE_OWNERSHIP 0x00200000 /* VFS will ignore ownership information on filesystem objects */ -#define MNT_AUTOMOUNTED 0x00400000 /* filesystem was mounted by automounter */ -#define MNT_JOURNALED 0x00800000 /* filesystem is journaled */ -#define MNT_NOUSERXATTR 0x01000000 /* Don't allow user extended attributes */ -#define MNT_DEFWRITE 0x02000000 /* filesystem should defer writes */ -#define MNT_MULTILABEL 0x04000000 /* MAC support for individual labels */ -#define MNT_NOATIME 0x10000000 /* disable update of file access time */ -#define MNT_SNAPSHOT 0x40000000 /* The mount is a snapshot */ -#define MNT_STRICTATIME 0x80000000 /* enable strict update of file access time */ - -/* backwards compatibility only */ -#define MNT_UNKNOWNPERMISSIONS MNT_IGNORE_OWNERSHIP - - -/* - * XXX I think that this could now become (~(MNT_CMDFLAGS)) - * but the 'mount' program may need changing to handle this. - */ -#define MNT_VISFLAGMASK (MNT_RDONLY | MNT_SYNCHRONOUS | MNT_NOEXEC | \ - MNT_NOSUID | MNT_NODEV | MNT_UNION | \ - MNT_ASYNC | MNT_EXPORTED | MNT_QUARANTINE | \ - MNT_LOCAL | MNT_QUOTA | MNT_REMOVABLE | \ - MNT_ROOTFS | MNT_DOVOLFS | MNT_DONTBROWSE | \ - MNT_IGNORE_OWNERSHIP | MNT_AUTOMOUNTED | MNT_JOURNALED | \ - MNT_NOUSERXATTR | MNT_DEFWRITE | MNT_MULTILABEL | \ - MNT_NOATIME | MNT_STRICTATIME | MNT_SNAPSHOT | MNT_CPROTECT) -/* - * External filesystem command modifier flags. - * Unmount can use the MNT_FORCE flag. - * XXX These are not STATES and really should be somewhere else. - * External filesystem control flags. - */ -#define MNT_UPDATE 0x00010000 /* not a real mount, just an update */ -#define MNT_NOBLOCK 0x00020000 /* don't block unmount if not responding */ -#define MNT_RELOAD 0x00040000 /* reload filesystem data */ -#define MNT_FORCE 0x00080000 /* force unmount or readonly change */ -#define MNT_CMDFLAGS (MNT_UPDATE|MNT_NOBLOCK|MNT_RELOAD|MNT_FORCE) - - - -/* - * Sysctl CTL_VFS definitions. - * - * Second level identifier specifies which filesystem. Second level - * identifier VFS_GENERIC returns information about all filesystems. - */ -#define VFS_GENERIC 0 /* generic filesystem information */ -#define VFS_NUMMNTOPS 1 /* int: total num of vfs mount/unmount operations */ -/* - * Third level identifiers for VFS_GENERIC are given below; third - * level identifiers for specific filesystems are given in their - * mount specific header files. - */ -#define VFS_MAXTYPENUM 1 /* int: highest defined filesystem type */ -#define VFS_CONF 2 /* struct: vfsconf for filesystem given - * as next argument */ - -/* - * Flags for various system call interfaces. - * - * waitfor flags to vfs_sync() and getfsstat() - */ -#define MNT_WAIT 1 /* synchronized I/O file integrity completion */ -#define MNT_NOWAIT 2 /* start all I/O, but do not wait for it */ -#define MNT_DWAIT 4 /* synchronized I/O data integrity completion */ - - -#if !defined(KERNEL) && !defined(_KERN_SYS_KERNELTYPES_H_) /* also defined in kernel_types.h */ -struct mount; -typedef struct mount * mount_t; -struct vnode; -typedef struct vnode * vnode_t; -#endif - -/* Reserved fields preserve binary compatibility */ -struct vfsconf { - uint32_t vfc_reserved1; /* opaque */ - char vfc_name[MFSNAMELEN]; /* filesystem type name */ - int vfc_typenum; /* historic filesystem type number */ - int vfc_refcount; /* number mounted of this type */ - int vfc_flags; /* permanent flags */ - uint32_t vfc_reserved2; /* opaque */ - uint32_t vfc_reserved3; /* opaque */ -}; - -struct vfsidctl { - int vc_vers; /* should be VFSIDCTL_VERS1 (below) */ - fsid_t vc_fsid; /* fsid to operate on. */ - void *vc_ptr; /* pointer to data structure. */ - size_t vc_len; /* sizeof said structure. */ - u_int32_t vc_spare[12]; /* spare (must be zero). */ -}; - - -/* vfsidctl API version. */ -#define VFS_CTL_VERS1 0x01 - - -/* - * New style VFS sysctls, do not reuse/conflict with the namespace for - * private sysctls. - */ -#define VFS_CTL_OSTATFS 0x00010001 /* old legacy statfs */ -#define VFS_CTL_UMOUNT 0x00010002 /* unmount */ -#define VFS_CTL_QUERY 0x00010003 /* anything wrong? (vfsquery) */ -#define VFS_CTL_NEWADDR 0x00010004 /* reconnect to new address */ -#define VFS_CTL_TIMEO 0x00010005 /* set timeout for vfs notification */ -#define VFS_CTL_NOLOCKS 0x00010006 /* disable file locking */ -#define VFS_CTL_SADDR 0x00010007 /* get server address */ -#define VFS_CTL_DISC 0x00010008 /* server disconnected */ -#define VFS_CTL_SERVERINFO 0x00010009 /* information about fs server */ -#define VFS_CTL_NSTATUS 0x0001000A /* netfs mount status */ -#define VFS_CTL_STATFS64 0x0001000B /* statfs64 */ - -/* - * Automatically select the correct VFS_CTL_*STATFS* flavor based - * on what "struct statfs" layout the client will use. - */ -#if __DARWIN_64_BIT_INO_T -#define VFS_CTL_STATFS VFS_CTL_STATFS64 -#else -#define VFS_CTL_STATFS VFS_CTL_OSTATFS -#endif - -struct vfsquery { - u_int32_t vq_flags; - u_int32_t vq_spare[31]; -}; - -struct vfs_server { - int32_t vs_minutes; /* minutes until server goes down. */ - u_int8_t vs_server_name[MAXHOSTNAMELEN * 3]; /* UTF8 server name to display (null terminated) */ -}; - -/* - * NetFS mount status - returned by VFS_CTL_NSTATUS - */ -struct netfs_status { - u_int32_t ns_status; // Current status of mount (vfsquery flags) - char ns_mountopts[512]; // Significant mount options - uint32_t ns_waittime; // Time waiting for reply (sec) - uint32_t ns_threadcount; // Number of threads blocked on network calls - uint64_t ns_threadids[0]; // Thread IDs of those blocked threads -}; - -/* vfsquery flags */ -#define VQ_NOTRESP 0x0001 /* server down */ -#define VQ_NEEDAUTH 0x0002 /* server bad auth */ -#define VQ_LOWDISK 0x0004 /* we're low on space */ -#define VQ_MOUNT 0x0008 /* new filesystem arrived */ -#define VQ_UNMOUNT 0x0010 /* filesystem has left */ -#define VQ_DEAD 0x0020 /* filesystem is dead, needs force unmount */ -#define VQ_ASSIST 0x0040 /* filesystem needs assistance from external program */ -#define VQ_NOTRESPLOCK 0x0080 /* server lockd down */ -#define VQ_UPDATE 0x0100 /* filesystem information has changed */ -#define VQ_VERYLOWDISK 0x0200 /* file system has *very* little disk space left */ -#define VQ_SYNCEVENT 0x0400 /* a sync just happened (not set by kernel starting Mac OS X 10.9) */ -#define VQ_SERVEREVENT 0x0800 /* server issued notification/warning */ -#define VQ_QUOTA 0x1000 /* a user quota has been hit */ -#define VQ_NEARLOWDISK 0x2000 /* Above lowdisk and below desired disk space */ -#define VQ_DESIRED_DISK 0x4000 /* the desired disk space */ -#define VQ_FREE_SPACE_CHANGE 0x8000 /* free disk space has significantly changed */ -#define VQ_FLAG10000 0x10000 /* placeholder */ - - - - -/* - * Generic file handle - */ -#define NFS_MAX_FH_SIZE NFSV4_MAX_FH_SIZE -#define NFSV4_MAX_FH_SIZE 128 -#define NFSV3_MAX_FH_SIZE 64 -#define NFSV2_MAX_FH_SIZE 32 -struct fhandle { - unsigned int fh_len; /* length of file handle */ - unsigned char fh_data[NFS_MAX_FH_SIZE]; /* file handle value */ -}; -typedef struct fhandle fhandle_t; - - -__BEGIN_DECLS -int fhopen(const struct fhandle *, int); -int fstatfs(int, struct statfs *) __DARWIN_INODE64(fstatfs); -#if !__DARWIN_ONLY_64_BIT_INO_T -int fstatfs64(int, struct statfs64 *) __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_5, __MAC_10_6, __IPHONE_NA, __IPHONE_NA); -#endif /* !__DARWIN_ONLY_64_BIT_INO_T */ -int getfh(const char *, fhandle_t *); -int getfsstat(struct statfs *, int, int) __DARWIN_INODE64(getfsstat); -#if !__DARWIN_ONLY_64_BIT_INO_T -int getfsstat64(struct statfs64 *, int, int) __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_5, __MAC_10_6, __IPHONE_NA, __IPHONE_NA); -#endif /* !__DARWIN_ONLY_64_BIT_INO_T */ -int getmntinfo(struct statfs **, int) __DARWIN_INODE64(getmntinfo); -int getmntinfo_r_np(struct statfs **, int) __DARWIN_INODE64(getmntinfo_r_np) -__OSX_AVAILABLE(10.13) __IOS_AVAILABLE(11.0) -__TVOS_AVAILABLE(11.0) __WATCHOS_AVAILABLE(4.0); -#if !__DARWIN_ONLY_64_BIT_INO_T -int getmntinfo64(struct statfs64 **, int) __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_5, __MAC_10_6, __IPHONE_NA, __IPHONE_NA); -#endif /* !__DARWIN_ONLY_64_BIT_INO_T */ -int mount(const char *, const char *, int, void *); -int fmount(const char *, int, int, void *) __OSX_AVAILABLE(10.13) __IOS_AVAILABLE(11.0) __TVOS_AVAILABLE(11.0) __WATCHOS_AVAILABLE(4.0); -int statfs(const char *, struct statfs *) __DARWIN_INODE64(statfs); -#if !__DARWIN_ONLY_64_BIT_INO_T -int statfs64(const char *, struct statfs64 *) __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_5, __MAC_10_6, __IPHONE_NA, __IPHONE_NA); -#endif /* !__DARWIN_ONLY_64_BIT_INO_T */ -int unmount(const char *, int); -int getvfsbyname(const char *, struct vfsconf *); -__END_DECLS - -#endif /* !_SYS_MOUNT_H_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.11-any/sys/proc_info.h b/lib/libc/include/any-macos.11-any/sys/proc_info.h deleted file mode 100644 index 8c6b668afb..0000000000 --- a/lib/libc/include/any-macos.11-any/sys/proc_info.h +++ /dev/null @@ -1,799 +0,0 @@ -/* - * Copyright (c) 2005-2020 Apple Computer, 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 _SYS_PROC_INFO_H -#define _SYS_PROC_INFO_H - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -__BEGIN_DECLS - - -#define PROC_ALL_PIDS 1 -#define PROC_PGRP_ONLY 2 -#define PROC_TTY_ONLY 3 -#define PROC_UID_ONLY 4 -#define PROC_RUID_ONLY 5 -#define PROC_PPID_ONLY 6 -#define PROC_KDBG_ONLY 7 - -struct proc_bsdinfo { - uint32_t pbi_flags; /* 64bit; emulated etc */ - uint32_t pbi_status; - uint32_t pbi_xstatus; - uint32_t pbi_pid; - uint32_t pbi_ppid; - uid_t pbi_uid; - gid_t pbi_gid; - uid_t pbi_ruid; - gid_t pbi_rgid; - uid_t pbi_svuid; - gid_t pbi_svgid; - uint32_t rfu_1; /* reserved */ - char pbi_comm[MAXCOMLEN]; - char pbi_name[2 * MAXCOMLEN]; /* empty if no name is registered */ - uint32_t pbi_nfiles; - uint32_t pbi_pgid; - uint32_t pbi_pjobc; - uint32_t e_tdev; /* controlling tty dev */ - uint32_t e_tpgid; /* tty process group id */ - int32_t pbi_nice; - uint64_t pbi_start_tvsec; - uint64_t pbi_start_tvusec; -}; - - -struct proc_bsdshortinfo { - uint32_t pbsi_pid; /* process id */ - uint32_t pbsi_ppid; /* process parent id */ - uint32_t pbsi_pgid; /* process perp id */ - uint32_t pbsi_status; /* p_stat value, SZOMB, SRUN, etc */ - char pbsi_comm[MAXCOMLEN]; /* upto 16 characters of process name */ - uint32_t pbsi_flags; /* 64bit; emulated etc */ - uid_t pbsi_uid; /* current uid on process */ - gid_t pbsi_gid; /* current gid on process */ - uid_t pbsi_ruid; /* current ruid on process */ - gid_t pbsi_rgid; /* current tgid on process */ - uid_t pbsi_svuid; /* current svuid on process */ - gid_t pbsi_svgid; /* current svgid on process */ - uint32_t pbsi_rfu; /* reserved for future use*/ -}; - - - - -/* pbi_flags values */ -#define PROC_FLAG_SYSTEM 1 /* System process */ -#define PROC_FLAG_TRACED 2 /* process currently being traced, possibly by gdb */ -#define PROC_FLAG_INEXIT 4 /* process is working its way in exit() */ -#define PROC_FLAG_PPWAIT 8 -#define PROC_FLAG_LP64 0x10 /* 64bit process */ -#define PROC_FLAG_SLEADER 0x20 /* The process is the session leader */ -#define PROC_FLAG_CTTY 0x40 /* process has a control tty */ -#define PROC_FLAG_CONTROLT 0x80 /* Has a controlling terminal */ -#define PROC_FLAG_THCWD 0x100 /* process has a thread with cwd */ -/* process control bits for resource starvation */ -#define PROC_FLAG_PC_THROTTLE 0x200 /* In resource starvation situations, this process is to be throttled */ -#define PROC_FLAG_PC_SUSP 0x400 /* In resource starvation situations, this process is to be suspended */ -#define PROC_FLAG_PC_KILL 0x600 /* In resource starvation situations, this process is to be terminated */ -#define PROC_FLAG_PC_MASK 0x600 -/* process action bits for resource starvation */ -#define PROC_FLAG_PA_THROTTLE 0x800 /* The process is currently throttled due to resource starvation */ -#define PROC_FLAG_PA_SUSP 0x1000 /* The process is currently suspended due to resource starvation */ -#define PROC_FLAG_PSUGID 0x2000 /* process has set privileges since last exec */ -#define PROC_FLAG_EXEC 0x4000 /* process has called exec */ - - -struct proc_taskinfo { - uint64_t pti_virtual_size; /* virtual memory size (bytes) */ - uint64_t pti_resident_size; /* resident memory size (bytes) */ - uint64_t pti_total_user; /* total time */ - uint64_t pti_total_system; - uint64_t pti_threads_user; /* existing threads only */ - uint64_t pti_threads_system; - int32_t pti_policy; /* default policy for new threads */ - int32_t pti_faults; /* number of page faults */ - int32_t pti_pageins; /* number of actual pageins */ - int32_t pti_cow_faults; /* number of copy-on-write faults */ - int32_t pti_messages_sent; /* number of messages sent */ - int32_t pti_messages_received; /* number of messages received */ - int32_t pti_syscalls_mach; /* number of mach system calls */ - int32_t pti_syscalls_unix; /* number of unix system calls */ - int32_t pti_csw; /* number of context switches */ - int32_t pti_threadnum; /* number of threads in the task */ - int32_t pti_numrunning; /* number of running threads */ - int32_t pti_priority; /* task priority*/ -}; - -struct proc_taskallinfo { - struct proc_bsdinfo pbsd; - struct proc_taskinfo ptinfo; -}; - -#define MAXTHREADNAMESIZE 64 - -struct proc_threadinfo { - uint64_t pth_user_time; /* user run time */ - uint64_t pth_system_time; /* system run time */ - int32_t pth_cpu_usage; /* scaled cpu usage percentage */ - int32_t pth_policy; /* scheduling policy in effect */ - int32_t pth_run_state; /* run state (see below) */ - int32_t pth_flags; /* various flags (see below) */ - int32_t pth_sleep_time; /* number of seconds that thread */ - int32_t pth_curpri; /* cur priority*/ - int32_t pth_priority; /* priority*/ - int32_t pth_maxpriority; /* max priority*/ - char pth_name[MAXTHREADNAMESIZE]; /* thread name, if any */ -}; - -struct proc_regioninfo { - uint32_t pri_protection; - uint32_t pri_max_protection; - uint32_t pri_inheritance; - uint32_t pri_flags; /* shared, external pager, is submap */ - uint64_t pri_offset; - uint32_t pri_behavior; - uint32_t pri_user_wired_count; - uint32_t pri_user_tag; - uint32_t pri_pages_resident; - uint32_t pri_pages_shared_now_private; - uint32_t pri_pages_swapped_out; - uint32_t pri_pages_dirtied; - uint32_t pri_ref_count; - uint32_t pri_shadow_depth; - uint32_t pri_share_mode; - uint32_t pri_private_pages_resident; - uint32_t pri_shared_pages_resident; - uint32_t pri_obj_id; - uint32_t pri_depth; - uint64_t pri_address; - uint64_t pri_size; -}; - -#define PROC_REGION_SUBMAP 1 -#define PROC_REGION_SHARED 2 - -#define SM_COW 1 -#define SM_PRIVATE 2 -#define SM_EMPTY 3 -#define SM_SHARED 4 -#define SM_TRUESHARED 5 -#define SM_PRIVATE_ALIASED 6 -#define SM_SHARED_ALIASED 7 -#define SM_LARGE_PAGE 8 - - -/* - * Thread run states (state field). - */ - -#define TH_STATE_RUNNING 1 /* thread is running normally */ -#define TH_STATE_STOPPED 2 /* thread is stopped */ -#define TH_STATE_WAITING 3 /* thread is waiting normally */ -#define TH_STATE_UNINTERRUPTIBLE 4 /* thread is in an uninterruptible - * wait */ -#define TH_STATE_HALTED 5 /* thread is halted at a - * clean point */ - -/* - * Thread flags (flags field). - */ -#define TH_FLAGS_SWAPPED 0x1 /* thread is swapped out */ -#define TH_FLAGS_IDLE 0x2 /* thread is an idle thread */ - - -struct proc_workqueueinfo { - uint32_t pwq_nthreads; /* total number of workqueue threads */ - uint32_t pwq_runthreads; /* total number of running workqueue threads */ - uint32_t pwq_blockedthreads; /* total number of blocked workqueue threads */ - uint32_t pwq_state; -}; - -/* - * workqueue state (pwq_state field) - */ -#define WQ_EXCEEDED_CONSTRAINED_THREAD_LIMIT 0x1 -#define WQ_EXCEEDED_TOTAL_THREAD_LIMIT 0x2 -#define WQ_FLAGS_AVAILABLE 0x4 - -struct proc_fileinfo { - uint32_t fi_openflags; - uint32_t fi_status; - off_t fi_offset; - int32_t fi_type; - uint32_t fi_guardflags; -}; - -/* stats flags in proc_fileinfo */ -#define PROC_FP_SHARED 1 /* shared by more than one fd */ -#define PROC_FP_CLEXEC 2 /* close on exec */ -#define PROC_FP_GUARDED 4 /* guarded fd */ -#define PROC_FP_CLFORK 8 /* close on fork */ - -#define PROC_FI_GUARD_CLOSE (1u << 0) -#define PROC_FI_GUARD_DUP (1u << 1) -#define PROC_FI_GUARD_SOCKET_IPC (1u << 2) -#define PROC_FI_GUARD_FILEPORT (1u << 3) - -struct proc_exitreasonbasicinfo { - uint32_t beri_namespace; - uint64_t beri_code; - uint64_t beri_flags; - uint32_t beri_reason_buf_size; -} __attribute__((packed)); - -struct proc_exitreasoninfo { - uint32_t eri_namespace; - uint64_t eri_code; - uint64_t eri_flags; - uint32_t eri_reason_buf_size; - uint64_t eri_kcd_buf; -} __attribute__((packed)); - -/* - * A copy of stat64 with static sized fields. - */ -struct vinfo_stat { - uint32_t vst_dev; /* [XSI] ID of device containing file */ - uint16_t vst_mode; /* [XSI] Mode of file (see below) */ - uint16_t vst_nlink; /* [XSI] Number of hard links */ - uint64_t vst_ino; /* [XSI] File serial number */ - uid_t vst_uid; /* [XSI] User ID of the file */ - gid_t vst_gid; /* [XSI] Group ID of the file */ - int64_t vst_atime; /* [XSI] Time of last access */ - int64_t vst_atimensec; /* nsec of last access */ - int64_t vst_mtime; /* [XSI] Last data modification time */ - int64_t vst_mtimensec; /* last data modification nsec */ - int64_t vst_ctime; /* [XSI] Time of last status change */ - int64_t vst_ctimensec; /* nsec of last status change */ - int64_t vst_birthtime; /* File creation time(birth) */ - int64_t vst_birthtimensec; /* nsec of File creation time */ - off_t vst_size; /* [XSI] file size, in bytes */ - int64_t vst_blocks; /* [XSI] blocks allocated for file */ - int32_t vst_blksize; /* [XSI] optimal blocksize for I/O */ - uint32_t vst_flags; /* user defined flags for file */ - uint32_t vst_gen; /* file generation number */ - uint32_t vst_rdev; /* [XSI] Device ID */ - int64_t vst_qspare[2]; /* RESERVED: DO NOT USE! */ -}; - -struct vnode_info { - struct vinfo_stat vi_stat; - int vi_type; - int vi_pad; - fsid_t vi_fsid; -}; - -struct vnode_info_path { - struct vnode_info vip_vi; - char vip_path[MAXPATHLEN]; /* tail end of it */ -}; - -struct vnode_fdinfo { - struct proc_fileinfo pfi; - struct vnode_info pvi; -}; - -struct vnode_fdinfowithpath { - struct proc_fileinfo pfi; - struct vnode_info_path pvip; -}; - -struct proc_regionwithpathinfo { - struct proc_regioninfo prp_prinfo; - struct vnode_info_path prp_vip; -}; - -struct proc_regionpath { - uint64_t prpo_addr; - uint64_t prpo_regionlength; - char prpo_path[MAXPATHLEN]; -}; - -struct proc_vnodepathinfo { - struct vnode_info_path pvi_cdir; - struct vnode_info_path pvi_rdir; -}; - -struct proc_threadwithpathinfo { - struct proc_threadinfo pt; - struct vnode_info_path pvip; -}; - -/* - * Socket - */ - - -/* - * IPv4 and IPv6 Sockets - */ - -#define INI_IPV4 0x1 -#define INI_IPV6 0x2 - -struct in4in6_addr { - u_int32_t i46a_pad32[3]; - struct in_addr i46a_addr4; -}; - -struct in_sockinfo { - int insi_fport; /* foreign port */ - int insi_lport; /* local port */ - uint64_t insi_gencnt; /* generation count of this instance */ - uint32_t insi_flags; /* generic IP/datagram flags */ - uint32_t insi_flow; - - uint8_t insi_vflag; /* ini_IPV4 or ini_IPV6 */ - uint8_t insi_ip_ttl; /* time to live proto */ - uint32_t rfu_1; /* reserved */ - /* protocol dependent part */ - union { - struct in4in6_addr ina_46; - struct in6_addr ina_6; - } insi_faddr; /* foreign host table entry */ - union { - struct in4in6_addr ina_46; - struct in6_addr ina_6; - } insi_laddr; /* local host table entry */ - struct { - u_char in4_tos; /* type of service */ - } insi_v4; - struct { - uint8_t in6_hlim; - int in6_cksum; - u_short in6_ifindex; - short in6_hops; - } insi_v6; -}; - -/* - * TCP Sockets - */ - -#define TSI_T_REXMT 0 /* retransmit */ -#define TSI_T_PERSIST 1 /* retransmit persistence */ -#define TSI_T_KEEP 2 /* keep alive */ -#define TSI_T_2MSL 3 /* 2*msl quiet time timer */ -#define TSI_T_NTIMERS 4 - -#define TSI_S_CLOSED 0 /* closed */ -#define TSI_S_LISTEN 1 /* listening for connection */ -#define TSI_S_SYN_SENT 2 /* active, have sent syn */ -#define TSI_S_SYN_RECEIVED 3 /* have send and received syn */ -#define TSI_S_ESTABLISHED 4 /* established */ -#define TSI_S__CLOSE_WAIT 5 /* rcvd fin, waiting for close */ -#define TSI_S_FIN_WAIT_1 6 /* have closed, sent fin */ -#define TSI_S_CLOSING 7 /* closed xchd FIN; await FIN ACK */ -#define TSI_S_LAST_ACK 8 /* had fin and close; await FIN ACK */ -#define TSI_S_FIN_WAIT_2 9 /* have closed, fin is acked */ -#define TSI_S_TIME_WAIT 10 /* in 2*msl quiet wait after close */ -#define TSI_S_RESERVED 11 /* pseudo state: reserved */ - -struct tcp_sockinfo { - struct in_sockinfo tcpsi_ini; - int tcpsi_state; - int tcpsi_timer[TSI_T_NTIMERS]; - int tcpsi_mss; - uint32_t tcpsi_flags; - uint32_t rfu_1; /* reserved */ - uint64_t tcpsi_tp; /* opaque handle of TCP protocol control block */ -}; - -/* - * Unix Domain Sockets - */ - - -struct un_sockinfo { - uint64_t unsi_conn_so; /* opaque handle of connected socket */ - uint64_t unsi_conn_pcb; /* opaque handle of connected protocol control block */ - union { - struct sockaddr_un ua_sun; - char ua_dummy[SOCK_MAXADDRLEN]; - } unsi_addr; /* bound address */ - union { - struct sockaddr_un ua_sun; - char ua_dummy[SOCK_MAXADDRLEN]; - } unsi_caddr; /* address of socket connected to */ -}; - -/* - * PF_NDRV Sockets - */ - -struct ndrv_info { - uint32_t ndrvsi_if_family; - uint32_t ndrvsi_if_unit; - char ndrvsi_if_name[IF_NAMESIZE]; -}; - -/* - * Kernel Event Sockets - */ - -struct kern_event_info { - uint32_t kesi_vendor_code_filter; - uint32_t kesi_class_filter; - uint32_t kesi_subclass_filter; -}; - -/* - * Kernel Control Sockets - */ - -struct kern_ctl_info { - uint32_t kcsi_id; - uint32_t kcsi_reg_unit; - uint32_t kcsi_flags; /* support flags */ - uint32_t kcsi_recvbufsize; /* request more than the default buffer size */ - uint32_t kcsi_sendbufsize; /* request more than the default buffer size */ - uint32_t kcsi_unit; - char kcsi_name[MAX_KCTL_NAME]; /* unique nke identifier, provided by DTS */ -}; - -/* - * VSock Sockets - */ - -struct vsock_sockinfo { - uint32_t local_cid; - uint32_t local_port; - uint32_t remote_cid; - uint32_t remote_port; -}; - -/* soi_state */ - -#define SOI_S_NOFDREF 0x0001 /* no file table ref any more */ -#define SOI_S_ISCONNECTED 0x0002 /* socket connected to a peer */ -#define SOI_S_ISCONNECTING 0x0004 /* in process of connecting to peer */ -#define SOI_S_ISDISCONNECTING 0x0008 /* in process of disconnecting */ -#define SOI_S_CANTSENDMORE 0x0010 /* can't send more data to peer */ -#define SOI_S_CANTRCVMORE 0x0020 /* can't receive more data from peer */ -#define SOI_S_RCVATMARK 0x0040 /* at mark on input */ -#define SOI_S_PRIV 0x0080 /* privileged for broadcast, raw... */ -#define SOI_S_NBIO 0x0100 /* non-blocking ops */ -#define SOI_S_ASYNC 0x0200 /* async i/o notify */ -#define SOI_S_INCOMP 0x0800 /* Unaccepted, incomplete connection */ -#define SOI_S_COMP 0x1000 /* unaccepted, complete connection */ -#define SOI_S_ISDISCONNECTED 0x2000 /* socket disconnected from peer */ -#define SOI_S_DRAINING 0x4000 /* close waiting for blocked system calls to drain */ - -struct sockbuf_info { - uint32_t sbi_cc; - uint32_t sbi_hiwat; /* SO_RCVBUF, SO_SNDBUF */ - uint32_t sbi_mbcnt; - uint32_t sbi_mbmax; - uint32_t sbi_lowat; - short sbi_flags; - short sbi_timeo; -}; - -enum { - SOCKINFO_GENERIC = 0, - SOCKINFO_IN = 1, - SOCKINFO_TCP = 2, - SOCKINFO_UN = 3, - SOCKINFO_NDRV = 4, - SOCKINFO_KERN_EVENT = 5, - SOCKINFO_KERN_CTL = 6, - SOCKINFO_VSOCK = 7, -}; - -struct socket_info { - struct vinfo_stat soi_stat; - uint64_t soi_so; /* opaque handle of socket */ - uint64_t soi_pcb; /* opaque handle of protocol control block */ - int soi_type; - int soi_protocol; - int soi_family; - short soi_options; - short soi_linger; - short soi_state; - short soi_qlen; - short soi_incqlen; - short soi_qlimit; - short soi_timeo; - u_short soi_error; - uint32_t soi_oobmark; - struct sockbuf_info soi_rcv; - struct sockbuf_info soi_snd; - int soi_kind; - uint32_t rfu_1; /* reserved */ - union { - struct in_sockinfo pri_in; /* SOCKINFO_IN */ - struct tcp_sockinfo pri_tcp; /* SOCKINFO_TCP */ - struct un_sockinfo pri_un; /* SOCKINFO_UN */ - struct ndrv_info pri_ndrv; /* SOCKINFO_NDRV */ - struct kern_event_info pri_kern_event; /* SOCKINFO_KERN_EVENT */ - struct kern_ctl_info pri_kern_ctl; /* SOCKINFO_KERN_CTL */ - struct vsock_sockinfo pri_vsock; /* SOCKINFO_VSOCK */ - } soi_proto; -}; - -struct socket_fdinfo { - struct proc_fileinfo pfi; - struct socket_info psi; -}; - - - -struct psem_info { - struct vinfo_stat psem_stat; - char psem_name[MAXPATHLEN]; -}; - -struct psem_fdinfo { - struct proc_fileinfo pfi; - struct psem_info pseminfo; -}; - - - -struct pshm_info { - struct vinfo_stat pshm_stat; - uint64_t pshm_mappaddr; - char pshm_name[MAXPATHLEN]; -}; - -struct pshm_fdinfo { - struct proc_fileinfo pfi; - struct pshm_info pshminfo; -}; - - -struct pipe_info { - struct vinfo_stat pipe_stat; - uint64_t pipe_handle; - uint64_t pipe_peerhandle; - int pipe_status; - int rfu_1; /* reserved */ -}; - -struct pipe_fdinfo { - struct proc_fileinfo pfi; - struct pipe_info pipeinfo; -}; - - -struct kqueue_info { - struct vinfo_stat kq_stat; - uint32_t kq_state; - uint32_t rfu_1; /* reserved */ -}; - -struct kqueue_dyninfo { - struct kqueue_info kqdi_info; - uint64_t kqdi_servicer; - uint64_t kqdi_owner; - uint32_t kqdi_sync_waiters; - uint8_t kqdi_sync_waiter_qos; - uint8_t kqdi_async_qos; - uint16_t kqdi_request_state; - uint8_t kqdi_events_qos; - uint8_t kqdi_pri; - uint8_t kqdi_pol; - uint8_t kqdi_cpupercent; - uint8_t _kqdi_reserved0[4]; - uint64_t _kqdi_reserved1[4]; -}; - -/* keep in sync with KQ_* in sys/eventvar.h */ -#define PROC_KQUEUE_SELECT 0x01 -#define PROC_KQUEUE_SLEEP 0x02 -#define PROC_KQUEUE_32 0x08 -#define PROC_KQUEUE_64 0x10 -#define PROC_KQUEUE_QOS 0x20 - - -struct kqueue_fdinfo { - struct proc_fileinfo pfi; - struct kqueue_info kqueueinfo; -}; - -struct appletalk_info { - struct vinfo_stat atalk_stat; -}; - -struct appletalk_fdinfo { - struct proc_fileinfo pfi; - struct appletalk_info appletalkinfo; -}; - -typedef uint64_t proc_info_udata_t; - -/* defns of process file desc type */ -#define PROX_FDTYPE_ATALK 0 -#define PROX_FDTYPE_VNODE 1 -#define PROX_FDTYPE_SOCKET 2 -#define PROX_FDTYPE_PSHM 3 -#define PROX_FDTYPE_PSEM 4 -#define PROX_FDTYPE_KQUEUE 5 -#define PROX_FDTYPE_PIPE 6 -#define PROX_FDTYPE_FSEVENTS 7 -#define PROX_FDTYPE_NETPOLICY 9 - -struct proc_fdinfo { - int32_t proc_fd; - uint32_t proc_fdtype; -}; - -struct proc_fileportinfo { - uint32_t proc_fileport; - uint32_t proc_fdtype; -}; - - -/* Flavors for proc_pidinfo() */ -#define PROC_PIDLISTFDS 1 -#define PROC_PIDLISTFD_SIZE (sizeof(struct proc_fdinfo)) - -#define PROC_PIDTASKALLINFO 2 -#define PROC_PIDTASKALLINFO_SIZE (sizeof(struct proc_taskallinfo)) - -#define PROC_PIDTBSDINFO 3 -#define PROC_PIDTBSDINFO_SIZE (sizeof(struct proc_bsdinfo)) - -#define PROC_PIDTASKINFO 4 -#define PROC_PIDTASKINFO_SIZE (sizeof(struct proc_taskinfo)) - -#define PROC_PIDTHREADINFO 5 -#define PROC_PIDTHREADINFO_SIZE (sizeof(struct proc_threadinfo)) - -#define PROC_PIDLISTTHREADS 6 -#define PROC_PIDLISTTHREADS_SIZE (2* sizeof(uint32_t)) - -#define PROC_PIDREGIONINFO 7 -#define PROC_PIDREGIONINFO_SIZE (sizeof(struct proc_regioninfo)) - -#define PROC_PIDREGIONPATHINFO 8 -#define PROC_PIDREGIONPATHINFO_SIZE (sizeof(struct proc_regionwithpathinfo)) - -#define PROC_PIDVNODEPATHINFO 9 -#define PROC_PIDVNODEPATHINFO_SIZE (sizeof(struct proc_vnodepathinfo)) - -#define PROC_PIDTHREADPATHINFO 10 -#define PROC_PIDTHREADPATHINFO_SIZE (sizeof(struct proc_threadwithpathinfo)) - -#define PROC_PIDPATHINFO 11 -#define PROC_PIDPATHINFO_SIZE (MAXPATHLEN) -#define PROC_PIDPATHINFO_MAXSIZE (4*MAXPATHLEN) - -#define PROC_PIDWORKQUEUEINFO 12 -#define PROC_PIDWORKQUEUEINFO_SIZE (sizeof(struct proc_workqueueinfo)) - -#define PROC_PIDT_SHORTBSDINFO 13 -#define PROC_PIDT_SHORTBSDINFO_SIZE (sizeof(struct proc_bsdshortinfo)) - -#define PROC_PIDLISTFILEPORTS 14 -#define PROC_PIDLISTFILEPORTS_SIZE (sizeof(struct proc_fileportinfo)) - -#define PROC_PIDTHREADID64INFO 15 -#define PROC_PIDTHREADID64INFO_SIZE (sizeof(struct proc_threadinfo)) - -#define PROC_PID_RUSAGE 16 -#define PROC_PID_RUSAGE_SIZE 0 - -/* Flavors for proc_pidfdinfo */ - -#define PROC_PIDFDVNODEINFO 1 -#define PROC_PIDFDVNODEINFO_SIZE (sizeof(struct vnode_fdinfo)) - -#define PROC_PIDFDVNODEPATHINFO 2 -#define PROC_PIDFDVNODEPATHINFO_SIZE (sizeof(struct vnode_fdinfowithpath)) - -#define PROC_PIDFDSOCKETINFO 3 -#define PROC_PIDFDSOCKETINFO_SIZE (sizeof(struct socket_fdinfo)) - -#define PROC_PIDFDPSEMINFO 4 -#define PROC_PIDFDPSEMINFO_SIZE (sizeof(struct psem_fdinfo)) - -#define PROC_PIDFDPSHMINFO 5 -#define PROC_PIDFDPSHMINFO_SIZE (sizeof(struct pshm_fdinfo)) - -#define PROC_PIDFDPIPEINFO 6 -#define PROC_PIDFDPIPEINFO_SIZE (sizeof(struct pipe_fdinfo)) - -#define PROC_PIDFDKQUEUEINFO 7 -#define PROC_PIDFDKQUEUEINFO_SIZE (sizeof(struct kqueue_fdinfo)) - -#define PROC_PIDFDATALKINFO 8 -#define PROC_PIDFDATALKINFO_SIZE (sizeof(struct appletalk_fdinfo)) - - - -/* Flavors for proc_pidfileportinfo */ - -#define PROC_PIDFILEPORTVNODEPATHINFO 2 /* out: vnode_fdinfowithpath */ -#define PROC_PIDFILEPORTVNODEPATHINFO_SIZE \ - PROC_PIDFDVNODEPATHINFO_SIZE - -#define PROC_PIDFILEPORTSOCKETINFO 3 /* out: socket_fdinfo */ -#define PROC_PIDFILEPORTSOCKETINFO_SIZE PROC_PIDFDSOCKETINFO_SIZE - -#define PROC_PIDFILEPORTPSHMINFO 5 /* out: pshm_fdinfo */ -#define PROC_PIDFILEPORTPSHMINFO_SIZE PROC_PIDFDPSHMINFO_SIZE - -#define PROC_PIDFILEPORTPIPEINFO 6 /* out: pipe_fdinfo */ -#define PROC_PIDFILEPORTPIPEINFO_SIZE PROC_PIDFDPIPEINFO_SIZE - -/* used for proc_setcontrol */ -#define PROC_SELFSET_PCONTROL 1 - -#define PROC_SELFSET_THREADNAME 2 -#define PROC_SELFSET_THREADNAME_SIZE (MAXTHREADNAMESIZE -1) - -#define PROC_SELFSET_VMRSRCOWNER 3 - -#define PROC_SELFSET_DELAYIDLESLEEP 4 - -/* used for proc_dirtycontrol */ -#define PROC_DIRTYCONTROL_TRACK 1 -#define PROC_DIRTYCONTROL_SET 2 -#define PROC_DIRTYCONTROL_GET 3 -#define PROC_DIRTYCONTROL_CLEAR 4 - -/* proc_track_dirty() flags */ -#define PROC_DIRTY_TRACK 0x1 -#define PROC_DIRTY_ALLOW_IDLE_EXIT 0x2 -#define PROC_DIRTY_DEFER 0x4 -#define PROC_DIRTY_LAUNCH_IN_PROGRESS 0x8 -#define PROC_DIRTY_DEFER_ALWAYS 0x10 - -/* proc_get_dirty() flags */ -#define PROC_DIRTY_TRACKED 0x1 -#define PROC_DIRTY_ALLOWS_IDLE_EXIT 0x2 -#define PROC_DIRTY_IS_DIRTY 0x4 -#define PROC_DIRTY_LAUNCH_IS_IN_PROGRESS 0x8 - -/* Flavors for proc_udata_info */ -#define PROC_UDATA_INFO_GET 1 -#define PROC_UDATA_INFO_SET 2 - - - - -__END_DECLS - -#endif /*_SYS_PROC_INFO_H */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.11-any/sys/random.h b/lib/libc/include/any-macos.11-any/sys/random.h deleted file mode 100644 index 4599da090b..0000000000 --- a/lib/libc/include/any-macos.11-any/sys/random.h +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Copyright (c) 1999, 2000-2005 Apple Computer, 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 __SYS_RANDOM_H__ -#define __SYS_RANDOM_H__ - -#include -#include - -__BEGIN_DECLS - __OSX_AVAILABLE(10.12) __IOS_AVAILABLE(10.0) __TVOS_AVAILABLE(10.0) __WATCHOS_AVAILABLE(3.0) -int getentropy(void* buffer, size_t size); -__END_DECLS - -#endif /* __SYS_RANDOM_H__ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.11-any/sys/resource.h b/lib/libc/include/any-macos.11-any/sys/resource.h deleted file mode 100644 index ddb4d6ac31..0000000000 --- a/lib/libc/include/any-macos.11-any/sys/resource.h +++ /dev/null @@ -1,520 +0,0 @@ -/* - * Copyright (c) 2000-2018 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@ - */ -/* Copyright (c) 1995 NeXT Computer, Inc. All Rights Reserved */ -/* - * Copyright (c) 1982, 1986, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)resource.h 8.2 (Berkeley) 1/4/94 - */ - -#ifndef _SYS_RESOURCE_H_ -#define _SYS_RESOURCE_H_ - -#include -#include -#include - -#if __DARWIN_C_LEVEL >= __DARWIN_C_FULL -#include -#endif /* __DARWIN_C_LEVEL >= __DARWIN_C_FULL */ - -#include - -/* [XSI] The timeval structure shall be defined as described in - * - */ -#include - -/* The id_t type shall be defined as described in */ -#include - - -/* - * Resource limit type (low 63 bits, excluding the sign bit) - */ -typedef __uint64_t rlim_t; - - -/***** - * PRIORITY - */ - -/* - * Possible values of the first parameter to getpriority()/setpriority(), - * used to indicate the type of the second parameter. - */ -#define PRIO_PROCESS 0 /* Second argument is a PID */ -#define PRIO_PGRP 1 /* Second argument is a GID */ -#define PRIO_USER 2 /* Second argument is a UID */ - -#if __DARWIN_C_LEVEL >= __DARWIN_C_FULL -#define PRIO_DARWIN_THREAD 3 /* Second argument is always 0 (current thread) */ -#define PRIO_DARWIN_PROCESS 4 /* Second argument is a PID */ - - -/* - * Range limitations for the value of the third parameter to setpriority(). - */ -#define PRIO_MIN -20 -#define PRIO_MAX 20 - -/* - * use PRIO_DARWIN_BG to set the current thread into "background" state - * which lowers CPU, disk IO, and networking priorites until thread terminates - * or "background" state is revoked - */ -#define PRIO_DARWIN_BG 0x1000 - -/* - * use PRIO_DARWIN_NONUI to restrict a process's ability to make calls to - * the GPU. (deprecated) - */ -#define PRIO_DARWIN_NONUI 0x1001 - -#endif /* __DARWIN_C_LEVEL >= __DARWIN_C_FULL */ - - - -/***** - * RESOURCE USAGE - */ - -/* - * Possible values of the first parameter to getrusage(), used to indicate - * the scope of the information to be returned. - */ -#define RUSAGE_SELF 0 /* Current process information */ -#define RUSAGE_CHILDREN -1 /* Current process' children */ - -/* - * A structure representing an accounting of resource utilization. The - * address of an instance of this structure is the second parameter to - * getrusage(). - * - * Note: All values other than ru_utime and ru_stime are implementaiton - * defined and subject to change in a future release. Their use - * is discouraged for standards compliant programs. - */ -struct rusage { - struct timeval ru_utime; /* user time used (PL) */ - struct timeval ru_stime; /* system time used (PL) */ -#if __DARWIN_C_LEVEL < __DARWIN_C_FULL - long ru_opaque[14]; /* implementation defined */ -#else - /* - * Informational aliases for source compatibility with programs - * that need more information than that provided by standards, - * and which do not mind being OS-dependent. - */ - long ru_maxrss; /* max resident set size (PL) */ -#define ru_first ru_ixrss /* internal: ruadd() range start */ - long ru_ixrss; /* integral shared memory size (NU) */ - long ru_idrss; /* integral unshared data (NU) */ - long ru_isrss; /* integral unshared stack (NU) */ - long ru_minflt; /* page reclaims (NU) */ - long ru_majflt; /* page faults (NU) */ - long ru_nswap; /* swaps (NU) */ - long ru_inblock; /* block input operations (atomic) */ - long ru_oublock; /* block output operations (atomic) */ - long ru_msgsnd; /* messages sent (atomic) */ - long ru_msgrcv; /* messages received (atomic) */ - long ru_nsignals; /* signals received (atomic) */ - long ru_nvcsw; /* voluntary context switches (atomic) */ - long ru_nivcsw; /* involuntary " */ -#define ru_last ru_nivcsw /* internal: ruadd() range end */ -#endif /* __DARWIN_C_LEVEL >= __DARWIN_C_FULL */ -}; - -#if __DARWIN_C_LEVEL >= __DARWIN_C_FULL -/* - * Flavors for proc_pid_rusage(). - */ -#define RUSAGE_INFO_V0 0 -#define RUSAGE_INFO_V1 1 -#define RUSAGE_INFO_V2 2 -#define RUSAGE_INFO_V3 3 -#define RUSAGE_INFO_V4 4 -#define RUSAGE_INFO_V5 5 -#define RUSAGE_INFO_CURRENT RUSAGE_INFO_V5 - -/* - * Flags for RUSAGE_INFO_V5 - */ -#define RU_PROC_RUNS_RESLIDE 0x00000001 /* proc has reslid shared cache */ - -typedef void *rusage_info_t; - -struct rusage_info_v0 { - uint8_t ri_uuid[16]; - uint64_t ri_user_time; - uint64_t ri_system_time; - uint64_t ri_pkg_idle_wkups; - uint64_t ri_interrupt_wkups; - uint64_t ri_pageins; - uint64_t ri_wired_size; - uint64_t ri_resident_size; - uint64_t ri_phys_footprint; - uint64_t ri_proc_start_abstime; - uint64_t ri_proc_exit_abstime; -}; - -struct rusage_info_v1 { - uint8_t ri_uuid[16]; - uint64_t ri_user_time; - uint64_t ri_system_time; - uint64_t ri_pkg_idle_wkups; - uint64_t ri_interrupt_wkups; - uint64_t ri_pageins; - uint64_t ri_wired_size; - uint64_t ri_resident_size; - uint64_t ri_phys_footprint; - uint64_t ri_proc_start_abstime; - uint64_t ri_proc_exit_abstime; - uint64_t ri_child_user_time; - uint64_t ri_child_system_time; - uint64_t ri_child_pkg_idle_wkups; - uint64_t ri_child_interrupt_wkups; - uint64_t ri_child_pageins; - uint64_t ri_child_elapsed_abstime; -}; - -struct rusage_info_v2 { - uint8_t ri_uuid[16]; - uint64_t ri_user_time; - uint64_t ri_system_time; - uint64_t ri_pkg_idle_wkups; - uint64_t ri_interrupt_wkups; - uint64_t ri_pageins; - uint64_t ri_wired_size; - uint64_t ri_resident_size; - uint64_t ri_phys_footprint; - uint64_t ri_proc_start_abstime; - uint64_t ri_proc_exit_abstime; - uint64_t ri_child_user_time; - uint64_t ri_child_system_time; - uint64_t ri_child_pkg_idle_wkups; - uint64_t ri_child_interrupt_wkups; - uint64_t ri_child_pageins; - uint64_t ri_child_elapsed_abstime; - uint64_t ri_diskio_bytesread; - uint64_t ri_diskio_byteswritten; -}; - -struct rusage_info_v3 { - uint8_t ri_uuid[16]; - uint64_t ri_user_time; - uint64_t ri_system_time; - uint64_t ri_pkg_idle_wkups; - uint64_t ri_interrupt_wkups; - uint64_t ri_pageins; - uint64_t ri_wired_size; - uint64_t ri_resident_size; - uint64_t ri_phys_footprint; - uint64_t ri_proc_start_abstime; - uint64_t ri_proc_exit_abstime; - uint64_t ri_child_user_time; - uint64_t ri_child_system_time; - uint64_t ri_child_pkg_idle_wkups; - uint64_t ri_child_interrupt_wkups; - uint64_t ri_child_pageins; - uint64_t ri_child_elapsed_abstime; - uint64_t ri_diskio_bytesread; - uint64_t ri_diskio_byteswritten; - uint64_t ri_cpu_time_qos_default; - uint64_t ri_cpu_time_qos_maintenance; - uint64_t ri_cpu_time_qos_background; - uint64_t ri_cpu_time_qos_utility; - uint64_t ri_cpu_time_qos_legacy; - uint64_t ri_cpu_time_qos_user_initiated; - uint64_t ri_cpu_time_qos_user_interactive; - uint64_t ri_billed_system_time; - uint64_t ri_serviced_system_time; -}; - -struct rusage_info_v4 { - uint8_t ri_uuid[16]; - uint64_t ri_user_time; - uint64_t ri_system_time; - uint64_t ri_pkg_idle_wkups; - uint64_t ri_interrupt_wkups; - uint64_t ri_pageins; - uint64_t ri_wired_size; - uint64_t ri_resident_size; - uint64_t ri_phys_footprint; - uint64_t ri_proc_start_abstime; - uint64_t ri_proc_exit_abstime; - uint64_t ri_child_user_time; - uint64_t ri_child_system_time; - uint64_t ri_child_pkg_idle_wkups; - uint64_t ri_child_interrupt_wkups; - uint64_t ri_child_pageins; - uint64_t ri_child_elapsed_abstime; - uint64_t ri_diskio_bytesread; - uint64_t ri_diskio_byteswritten; - uint64_t ri_cpu_time_qos_default; - uint64_t ri_cpu_time_qos_maintenance; - uint64_t ri_cpu_time_qos_background; - uint64_t ri_cpu_time_qos_utility; - uint64_t ri_cpu_time_qos_legacy; - uint64_t ri_cpu_time_qos_user_initiated; - uint64_t ri_cpu_time_qos_user_interactive; - uint64_t ri_billed_system_time; - uint64_t ri_serviced_system_time; - uint64_t ri_logical_writes; - uint64_t ri_lifetime_max_phys_footprint; - uint64_t ri_instructions; - uint64_t ri_cycles; - uint64_t ri_billed_energy; - uint64_t ri_serviced_energy; - uint64_t ri_interval_max_phys_footprint; - uint64_t ri_runnable_time; -}; - -struct rusage_info_v5 { - uint8_t ri_uuid[16]; - uint64_t ri_user_time; - uint64_t ri_system_time; - uint64_t ri_pkg_idle_wkups; - uint64_t ri_interrupt_wkups; - uint64_t ri_pageins; - uint64_t ri_wired_size; - uint64_t ri_resident_size; - uint64_t ri_phys_footprint; - uint64_t ri_proc_start_abstime; - uint64_t ri_proc_exit_abstime; - uint64_t ri_child_user_time; - uint64_t ri_child_system_time; - uint64_t ri_child_pkg_idle_wkups; - uint64_t ri_child_interrupt_wkups; - uint64_t ri_child_pageins; - uint64_t ri_child_elapsed_abstime; - uint64_t ri_diskio_bytesread; - uint64_t ri_diskio_byteswritten; - uint64_t ri_cpu_time_qos_default; - uint64_t ri_cpu_time_qos_maintenance; - uint64_t ri_cpu_time_qos_background; - uint64_t ri_cpu_time_qos_utility; - uint64_t ri_cpu_time_qos_legacy; - uint64_t ri_cpu_time_qos_user_initiated; - uint64_t ri_cpu_time_qos_user_interactive; - uint64_t ri_billed_system_time; - uint64_t ri_serviced_system_time; - uint64_t ri_logical_writes; - uint64_t ri_lifetime_max_phys_footprint; - uint64_t ri_instructions; - uint64_t ri_cycles; - uint64_t ri_billed_energy; - uint64_t ri_serviced_energy; - uint64_t ri_interval_max_phys_footprint; - uint64_t ri_runnable_time; - uint64_t ri_flags; -}; - -typedef struct rusage_info_v5 rusage_info_current; - -#endif /* __DARWIN_C_LEVEL >= __DARWIN_C_FULL */ - - - -/***** - * RESOURCE LIMITS - */ - -/* - * Symbolic constants for resource limits; since all limits are representable - * as a type rlim_t, we are permitted to define RLIM_SAVED_* in terms of - * RLIM_INFINITY. - */ -#define RLIM_INFINITY (((__uint64_t)1 << 63) - 1) /* no limit */ -#define RLIM_SAVED_MAX RLIM_INFINITY /* Unrepresentable hard limit */ -#define RLIM_SAVED_CUR RLIM_INFINITY /* Unrepresentable soft limit */ - -/* - * Possible values of the first parameter to getrlimit()/setrlimit(), to - * indicate for which resource the operation is being performed. - */ -#define RLIMIT_CPU 0 /* cpu time per process */ -#define RLIMIT_FSIZE 1 /* file size */ -#define RLIMIT_DATA 2 /* data segment size */ -#define RLIMIT_STACK 3 /* stack size */ -#define RLIMIT_CORE 4 /* core file size */ -#define RLIMIT_AS 5 /* address space (resident set size) */ -#if __DARWIN_C_LEVEL >= __DARWIN_C_FULL -#define RLIMIT_RSS RLIMIT_AS /* source compatibility alias */ -#define RLIMIT_MEMLOCK 6 /* locked-in-memory address space */ -#define RLIMIT_NPROC 7 /* number of processes */ -#endif /* __DARWIN_C_LEVEL >= __DARWIN_C_FULL */ -#define RLIMIT_NOFILE 8 /* number of open files */ -#if __DARWIN_C_LEVEL >= __DARWIN_C_FULL -#define RLIM_NLIMITS 9 /* total number of resource limits */ -#endif /* __DARWIN_C_LEVEL >= __DARWIN_C_FULL */ -#define _RLIMIT_POSIX_FLAG 0x1000 /* Set bit for strict POSIX */ - -/* - * A structure representing a resource limit. The address of an instance - * of this structure is the second parameter to getrlimit()/setrlimit(). - */ -struct rlimit { - rlim_t rlim_cur; /* current (soft) limit */ - rlim_t rlim_max; /* maximum value for rlim_cur */ -}; - -#if __DARWIN_C_LEVEL >= __DARWIN_C_FULL -/* - * proc_rlimit_control() - * - * Resource limit flavors - */ -#define RLIMIT_WAKEUPS_MONITOR 0x1 /* Configure the wakeups monitor. */ -#define RLIMIT_CPU_USAGE_MONITOR 0x2 /* Configure the CPU usage monitor. */ -#define RLIMIT_THREAD_CPULIMITS 0x3 /* Configure a blocking, per-thread, CPU limits. */ -#define RLIMIT_FOOTPRINT_INTERVAL 0x4 /* Configure memory footprint interval tracking */ - -/* - * Flags for wakeups monitor control. - */ -#define WAKEMON_ENABLE 0x01 -#define WAKEMON_DISABLE 0x02 -#define WAKEMON_GET_PARAMS 0x04 -#define WAKEMON_SET_DEFAULTS 0x08 -#define WAKEMON_MAKE_FATAL 0x10 /* Configure the task so that violations are fatal. */ - -/* - * Flags for CPU usage monitor control. - */ -#define CPUMON_MAKE_FATAL 0x1000 - -/* - * Flags for memory footprint interval tracking. - */ -#define FOOTPRINT_INTERVAL_RESET 0x1 /* Reset the footprint interval counter to zero */ - -struct proc_rlimit_control_wakeupmon { - uint32_t wm_flags; - int32_t wm_rate; -}; - - - -/* I/O type */ -#define IOPOL_TYPE_DISK 0 -#define IOPOL_TYPE_VFS_ATIME_UPDATES 2 -#define IOPOL_TYPE_VFS_MATERIALIZE_DATALESS_FILES 3 -#define IOPOL_TYPE_VFS_STATFS_NO_DATA_VOLUME 4 -#define IOPOL_TYPE_VFS_TRIGGER_RESOLVE 5 -#define IOPOL_TYPE_VFS_IGNORE_CONTENT_PROTECTION 6 -#define IOPOL_TYPE_VFS_IGNORE_PERMISSIONS 7 -#define IOPOL_TYPE_VFS_SKIP_MTIME_UPDATE 8 - -/* scope */ -#define IOPOL_SCOPE_PROCESS 0 -#define IOPOL_SCOPE_THREAD 1 -#define IOPOL_SCOPE_DARWIN_BG 2 - -/* I/O Priority */ -#define IOPOL_DEFAULT 0 -#define IOPOL_IMPORTANT 1 -#define IOPOL_PASSIVE 2 -#define IOPOL_THROTTLE 3 -#define IOPOL_UTILITY 4 -#define IOPOL_STANDARD 5 - -/* compatibility with older names */ -#define IOPOL_APPLICATION IOPOL_STANDARD -#define IOPOL_NORMAL IOPOL_IMPORTANT - - -#define IOPOL_ATIME_UPDATES_DEFAULT 0 -#define IOPOL_ATIME_UPDATES_OFF 1 - -#define IOPOL_MATERIALIZE_DATALESS_FILES_DEFAULT 0 -#define IOPOL_MATERIALIZE_DATALESS_FILES_OFF 1 -#define IOPOL_MATERIALIZE_DATALESS_FILES_ON 2 - -#define IOPOL_VFS_STATFS_NO_DATA_VOLUME_DEFAULT 0 -#define IOPOL_VFS_STATFS_FORCE_NO_DATA_VOLUME 1 - -#define IOPOL_VFS_TRIGGER_RESOLVE_DEFAULT 0 -#define IOPOL_VFS_TRIGGER_RESOLVE_OFF 1 - -#define IOPOL_VFS_CONTENT_PROTECTION_DEFAULT 0 -#define IOPOL_VFS_CONTENT_PROTECTION_IGNORE 1 - -#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 - -#endif /* __DARWIN_C_LEVEL >= __DARWIN_C_FULL */ - - -__BEGIN_DECLS -int getpriority(int, id_t); -#if __DARWIN_C_LEVEL >= __DARWIN_C_FULL -int getiopolicy_np(int, int) __OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_2_0); -#endif /* __DARWIN_C_LEVEL >= __DARWIN_C_FULL */ -int getrlimit(int, struct rlimit *) __DARWIN_ALIAS(getrlimit); -int getrusage(int, struct rusage *); -int setpriority(int, id_t, int); -#if __DARWIN_C_LEVEL >= __DARWIN_C_FULL -int setiopolicy_np(int, int, int) __OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_2_0); -#endif /* __DARWIN_C_LEVEL >= __DARWIN_C_FULL */ -int setrlimit(int, const struct rlimit *) __DARWIN_ALIAS(setrlimit); -__END_DECLS - -#endif /* !_SYS_RESOURCE_H_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.11-any/sys/socket.h b/lib/libc/include/any-macos.11-any/sys/socket.h deleted file mode 100644 index 0c6b09babe..0000000000 --- a/lib/libc/include/any-macos.11-any/sys/socket.h +++ /dev/null @@ -1,741 +0,0 @@ -/* - * Copyright (c) 2000-2019 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@ - */ -/* Copyright (c) 1998, 1999 Apple Computer, Inc. All Rights Reserved */ -/* Copyright (c) 1995 NeXT Computer, Inc. All Rights Reserved */ -/* - * Copyright (c) 1982, 1985, 1986, 1988, 1993, 1994 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)socket.h 8.4 (Berkeley) 2/21/94 - * $FreeBSD: src/sys/sys/socket.h,v 1.39.2.7 2001/07/03 11:02:01 ume Exp $ - */ -/* - * NOTICE: This file was modified by SPARTA, Inc. in 2005 to introduce - * support for mandatory and extensible security protections. This notice - * is included in support of clause 2.2 (b) of the Apple Public License, - * Version 2.0. - */ - -#ifndef _SYS_SOCKET_H_ -#define _SYS_SOCKET_H_ - -#include -#include -#include -#include - - -#include - -/* - * Definitions related to sockets: types, address families, options. - */ - -/* - * Data types. - */ - -#include -#include -#include -#include -#include - -/* XXX Not explicitly defined by POSIX, but function return types are */ -#include - -/* XXX Not explicitly defined by POSIX, but function return types are */ -#include - -/* - * [XSI] The iovec structure shall be defined as described in . - */ -#include - -/* - * Types - */ -#define SOCK_STREAM 1 /* stream socket */ -#define SOCK_DGRAM 2 /* datagram socket */ -#define SOCK_RAW 3 /* raw-protocol interface */ -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -#define SOCK_RDM 4 /* reliably-delivered message */ -#endif /* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */ -#define SOCK_SEQPACKET 5 /* sequenced packet stream */ - -/* - * Option flags per-socket. - */ -#define SO_DEBUG 0x0001 /* turn on debugging info recording */ -#define SO_ACCEPTCONN 0x0002 /* socket has had listen() */ -#define SO_REUSEADDR 0x0004 /* allow local address reuse */ -#define SO_KEEPALIVE 0x0008 /* keep connections alive */ -#define SO_DONTROUTE 0x0010 /* just use interface addresses */ -#define SO_BROADCAST 0x0020 /* permit sending of broadcast msgs */ -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -#define SO_USELOOPBACK 0x0040 /* bypass hardware when possible */ -#define SO_LINGER 0x0080 /* linger on close if data present (in ticks) */ -#else -#define SO_LINGER 0x1080 /* linger on close if data present (in seconds) */ -#endif /* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */ -#define SO_OOBINLINE 0x0100 /* leave received OOB data in line */ -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -#define SO_REUSEPORT 0x0200 /* allow local address & port reuse */ -#define SO_TIMESTAMP 0x0400 /* timestamp received dgram traffic */ -#define SO_TIMESTAMP_MONOTONIC 0x0800 /* Monotonically increasing timestamp on rcvd dgram */ -#ifndef __APPLE__ -#define SO_ACCEPTFILTER 0x1000 /* there is an accept filter */ -#else -#define SO_DONTTRUNC 0x2000 /* APPLE: Retain unread data */ - /* (ATOMIC proto) */ -#define SO_WANTMORE 0x4000 /* APPLE: Give hint when more data ready */ -#define SO_WANTOOBFLAG 0x8000 /* APPLE: Want OOB in MSG_FLAG on receive */ - - -#endif /* (!__APPLE__) */ -#endif /* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */ - -/* - * Additional options, not kept in so_options. - */ -#define SO_SNDBUF 0x1001 /* send buffer size */ -#define SO_RCVBUF 0x1002 /* receive buffer size */ -#define SO_SNDLOWAT 0x1003 /* send low-water mark */ -#define SO_RCVLOWAT 0x1004 /* receive low-water mark */ -#define SO_SNDTIMEO 0x1005 /* send timeout */ -#define SO_RCVTIMEO 0x1006 /* receive timeout */ -#define SO_ERROR 0x1007 /* get error status and clear */ -#define SO_TYPE 0x1008 /* get socket type */ -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -#define SO_LABEL 0x1010 /* deprecated */ -#define SO_PEERLABEL 0x1011 /* deprecated */ -#ifdef __APPLE__ -#define SO_NREAD 0x1020 /* APPLE: get 1st-packet byte count */ -#define SO_NKE 0x1021 /* APPLE: Install socket-level NKE */ -#define SO_NOSIGPIPE 0x1022 /* APPLE: No SIGPIPE on EPIPE */ -#define SO_NOADDRERR 0x1023 /* APPLE: Returns EADDRNOTAVAIL when src is not available anymore */ -#define SO_NWRITE 0x1024 /* APPLE: Get number of bytes currently in send socket buffer */ -#define SO_REUSESHAREUID 0x1025 /* APPLE: Allow reuse of port/socket by different userids */ -#ifdef __APPLE_API_PRIVATE -#define SO_NOTIFYCONFLICT 0x1026 /* APPLE: send notification if there is a bind on a port which is already in use */ -#define SO_UPCALLCLOSEWAIT 0x1027 /* APPLE: block on close until an upcall returns */ -#endif -#define SO_LINGER_SEC 0x1080 /* linger on close if data present (in seconds) */ -#define SO_RANDOMPORT 0x1082 /* APPLE: request local port randomization */ -#define SO_NP_EXTENSIONS 0x1083 /* To turn off some POSIX behavior */ -#endif - -#define SO_NUMRCVPKT 0x1112 /* number of datagrams in receive socket buffer */ -#define SO_NET_SERVICE_TYPE 0x1116 /* Network service type */ - - -#define SO_NETSVC_MARKING_LEVEL 0x1119 /* Get QoS marking in effect for socket */ - -/* - * Network Service Type for option SO_NET_SERVICE_TYPE - * - * The vast majority of sockets should use Best Effort that is the default - * Network Service Type. Other Network Service Types have to be used only if - * the traffic actually matches the description of the Network Service Type. - * - * Network Service Types do not represent priorities but rather describe - * different categories of delay, jitter and loss parameters. - * Those parameters may influence protocols from layer 4 protocols like TCP - * to layer 2 protocols like Wi-Fi. The Network Service Type can determine - * how the traffic is queued and scheduled by the host networking stack and - * by other entities on the network like switches and routers. For example - * for Wi-Fi, the Network Service Type can select the marking of the - * layer 2 packet with the appropriate WMM Access Category. - * - * There is no point in attempting to game the system and use - * a Network Service Type that does not correspond to the actual - * traffic characteristic but one that seems to have a higher precedence. - * The reason is that for service classes that have lower tolerance - * for delay and jitter, the queues size is lower than for service - * classes that are more tolerant to delay and jitter. - * - * For example using a voice service type for bulk data transfer will lead - * to disastrous results as soon as congestion happens because the voice - * queue overflows and packets get dropped. This is not only bad for the bulk - * data transfer but it is also bad for VoIP apps that legitimately are using - * the voice service type. - * - * The characteristics of the Network Service Types are based on the service - * classes defined in RFC 4594 "Configuration Guidelines for DiffServ Service - * Classes" - * - * When system detects the outgoing interface belongs to a DiffServ domain - * that follows the recommendation of the IETF draft "Guidelines for DiffServ to - * IEEE 802.11 Mapping", the packet will marked at layer 3 with a DSCP value - * that corresponds to Network Service Type. - * - * NET_SERVICE_TYPE_BE - * "Best Effort", unclassified/standard. This is the default service - * class and cover the majority of the traffic. - * - * NET_SERVICE_TYPE_BK - * "Background", high delay tolerant, loss tolerant. elastic flow, - * variable size & long-lived. E.g: non-interactive network bulk transfer - * like synching or backup. - * - * NET_SERVICE_TYPE_RD - * "Responsive Data", a notch higher than "Best Effort", medium delay - * tolerant, elastic & inelastic flow, bursty, long-lived. E.g. email, - * instant messaging, for which there is a sense of interactivity and - * urgency (user waiting for output). - * - * NET_SERVICE_TYPE_OAM - * "Operations, Administration, and Management", medium delay tolerant, - * low-medium loss tolerant, elastic & inelastic flows, variable size. - * E.g. VPN tunnels. - * - * NET_SERVICE_TYPE_AV - * "Multimedia Audio/Video Streaming", medium delay tolerant, low-medium - * loss tolerant, elastic flow, constant packet interval, variable rate - * and size. E.g. video and audio playback with buffering. - * - * NET_SERVICE_TYPE_RV - * "Responsive Multimedia Audio/Video", low delay tolerant, low-medium - * loss tolerant, elastic flow, variable packet interval, rate and size. - * E.g. screen sharing. - * - * NET_SERVICE_TYPE_VI - * "Interactive Video", low delay tolerant, low-medium loss tolerant, - * elastic flow, constant packet interval, variable rate & size. E.g. - * video telephony. - * - * NET_SERVICE_TYPE_SIG - * "Signaling", low delay tolerant, low loss tolerant, inelastic flow, - * jitter tolerant, rate is bursty but short, variable size. E.g. SIP. - * - * NET_SERVICE_TYPE_VO - * "Interactive Voice", very low delay tolerant, very low loss tolerant, - * inelastic flow, constant packet rate, somewhat fixed size. - * E.g. VoIP. - */ - -#define NET_SERVICE_TYPE_BE 0 /* Best effort */ -#define NET_SERVICE_TYPE_BK 1 /* Background system initiated */ -#define NET_SERVICE_TYPE_SIG 2 /* Signaling */ -#define NET_SERVICE_TYPE_VI 3 /* Interactive Video */ -#define NET_SERVICE_TYPE_VO 4 /* Interactive Voice */ -#define NET_SERVICE_TYPE_RV 5 /* Responsive Multimedia Audio/Video */ -#define NET_SERVICE_TYPE_AV 6 /* Multimedia Audio/Video Streaming */ -#define NET_SERVICE_TYPE_OAM 7 /* Operations, Administration, and Management */ -#define NET_SERVICE_TYPE_RD 8 /* Responsive Data */ - - -/* These are supported values for SO_NETSVC_MARKING_LEVEL */ -#define NETSVC_MRKNG_UNKNOWN 0 /* The outgoing network interface is not known */ -#define NETSVC_MRKNG_LVL_L2 1 /* Default marking at layer 2 (for example Wi-Fi WMM) */ -#define NETSVC_MRKNG_LVL_L3L2_ALL 2 /* Layer 3 DSCP marking and layer 2 marking for all Network Service Types */ -#define NETSVC_MRKNG_LVL_L3L2_BK 3 /* The system policy limits layer 3 DSCP marking and layer 2 marking - * to background Network Service Types */ - - -typedef __uint32_t sae_associd_t; -#define SAE_ASSOCID_ANY 0 -#define SAE_ASSOCID_ALL ((sae_associd_t)(-1ULL)) - -typedef __uint32_t sae_connid_t; -#define SAE_CONNID_ANY 0 -#define SAE_CONNID_ALL ((sae_connid_t)(-1ULL)) - -/* connectx() flag parameters */ -#define CONNECT_RESUME_ON_READ_WRITE 0x1 /* resume connect() on read/write */ -#define CONNECT_DATA_IDEMPOTENT 0x2 /* data is idempotent */ -#define CONNECT_DATA_AUTHENTICATED 0x4 /* data includes security that replaces the TFO-cookie */ - -/* sockaddr endpoints */ -typedef struct sa_endpoints { - unsigned int sae_srcif; /* optional source interface */ - const struct sockaddr *sae_srcaddr; /* optional source address */ - socklen_t sae_srcaddrlen; /* size of source address */ - const struct sockaddr *sae_dstaddr; /* destination address */ - socklen_t sae_dstaddrlen; /* size of destination address */ -} sa_endpoints_t; -#endif /* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */ - -/* - * Structure used for manipulating linger option. - */ -struct linger { - int l_onoff; /* option on/off */ - int l_linger; /* linger time */ -}; - -#ifndef __APPLE__ -struct accept_filter_arg { - char af_name[16]; - char af_arg[256 - 16]; -}; -#endif - -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -#ifdef __APPLE__ - -/* - * Structure to control non-portable Sockets extension to POSIX - */ -struct so_np_extensions { - u_int32_t npx_flags; - u_int32_t npx_mask; -}; - -#define SONPX_SETOPTSHUT 0x000000001 /* flag for allowing setsockopt after shutdown */ - - - -#endif -#endif - -/* - * Level number for (get/set)sockopt() to apply to socket itself. - */ -#define SOL_SOCKET 0xffff /* options for socket level */ - - -/* - * Address families. - */ -#define AF_UNSPEC 0 /* unspecified */ -#define AF_UNIX 1 /* local to host (pipes) */ -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -#define AF_LOCAL AF_UNIX /* backward compatibility */ -#endif /* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */ -#define AF_INET 2 /* internetwork: UDP, TCP, etc. */ -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -#define AF_IMPLINK 3 /* arpanet imp addresses */ -#define AF_PUP 4 /* pup protocols: e.g. BSP */ -#define AF_CHAOS 5 /* mit CHAOS protocols */ -#define AF_NS 6 /* XEROX NS protocols */ -#define AF_ISO 7 /* ISO protocols */ -#define AF_OSI AF_ISO -#define AF_ECMA 8 /* European computer manufacturers */ -#define AF_DATAKIT 9 /* datakit protocols */ -#define AF_CCITT 10 /* CCITT protocols, X.25 etc */ -#define AF_SNA 11 /* IBM SNA */ -#define AF_DECnet 12 /* DECnet */ -#define AF_DLI 13 /* DEC Direct data link interface */ -#define AF_LAT 14 /* LAT */ -#define AF_HYLINK 15 /* NSC Hyperchannel */ -#define AF_APPLETALK 16 /* Apple Talk */ -#define AF_ROUTE 17 /* Internal Routing Protocol */ -#define AF_LINK 18 /* Link layer interface */ -#define pseudo_AF_XTP 19 /* eXpress Transfer Protocol (no AF) */ -#define AF_COIP 20 /* connection-oriented IP, aka ST II */ -#define AF_CNT 21 /* Computer Network Technology */ -#define pseudo_AF_RTIP 22 /* Help Identify RTIP packets */ -#define AF_IPX 23 /* Novell Internet Protocol */ -#define AF_SIP 24 /* Simple Internet Protocol */ -#define pseudo_AF_PIP 25 /* Help Identify PIP packets */ -#define AF_NDRV 27 /* Network Driver 'raw' access */ -#define AF_ISDN 28 /* Integrated Services Digital Network */ -#define AF_E164 AF_ISDN /* CCITT E.164 recommendation */ -#define pseudo_AF_KEY 29 /* Internal key-management function */ -#endif /* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */ -#define AF_INET6 30 /* IPv6 */ -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -#define AF_NATM 31 /* native ATM access */ -#define AF_SYSTEM 32 /* Kernel event messages */ -#define AF_NETBIOS 33 /* NetBIOS */ -#define AF_PPP 34 /* PPP communication protocol */ -#define pseudo_AF_HDRCMPLT 35 /* Used by BPF to not rewrite headers - * in interface output routine */ -#define AF_RESERVED_36 36 /* Reserved for internal usage */ -#define AF_IEEE80211 37 /* IEEE 802.11 protocol */ -#define AF_UTUN 38 -#define AF_VSOCK 40 /* VM Sockets */ -#define AF_MAX 41 -#endif /* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */ - -/* - * [XSI] Structure used by kernel to store most addresses. - */ -struct sockaddr { - __uint8_t sa_len; /* total length */ - sa_family_t sa_family; /* [XSI] address family */ - char sa_data[14]; /* [XSI] addr value (actually larger) */ -}; - -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -#define SOCK_MAXADDRLEN 255 /* longest possible addresses */ - -/* - * Structure used by kernel to pass protocol - * information in raw sockets. - */ -struct sockproto { - __uint16_t sp_family; /* address family */ - __uint16_t sp_protocol; /* protocol */ -}; -#endif /* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */ - -/* - * RFC 2553: protocol-independent placeholder for socket addresses - */ -#define _SS_MAXSIZE 128 -#define _SS_ALIGNSIZE (sizeof(__int64_t)) -#define _SS_PAD1SIZE \ - (_SS_ALIGNSIZE - sizeof(__uint8_t) - sizeof(sa_family_t)) -#define _SS_PAD2SIZE \ - (_SS_MAXSIZE - sizeof(__uint8_t) - sizeof(sa_family_t) - \ - _SS_PAD1SIZE - _SS_ALIGNSIZE) - -/* - * [XSI] sockaddr_storage - */ -struct sockaddr_storage { - __uint8_t ss_len; /* address length */ - sa_family_t ss_family; /* [XSI] address family */ - char __ss_pad1[_SS_PAD1SIZE]; - __int64_t __ss_align; /* force structure storage alignment */ - char __ss_pad2[_SS_PAD2SIZE]; -}; - -/* - * Protocol families, same as address families for now. - */ -#define PF_UNSPEC AF_UNSPEC -#define PF_LOCAL AF_LOCAL -#define PF_UNIX PF_LOCAL /* backward compatibility */ -#define PF_INET AF_INET -#define PF_IMPLINK AF_IMPLINK -#define PF_PUP AF_PUP -#define PF_CHAOS AF_CHAOS -#define PF_NS AF_NS -#define PF_ISO AF_ISO -#define PF_OSI AF_ISO -#define PF_ECMA AF_ECMA -#define PF_DATAKIT AF_DATAKIT -#define PF_CCITT AF_CCITT -#define PF_SNA AF_SNA -#define PF_DECnet AF_DECnet -#define PF_DLI AF_DLI -#define PF_LAT AF_LAT -#define PF_HYLINK AF_HYLINK -#define PF_APPLETALK AF_APPLETALK -#define PF_ROUTE AF_ROUTE -#define PF_LINK AF_LINK -#define PF_XTP pseudo_AF_XTP /* really just proto family, no AF */ -#define PF_COIP AF_COIP -#define PF_CNT AF_CNT -#define PF_SIP AF_SIP -#define PF_IPX AF_IPX /* same format as AF_NS */ -#define PF_RTIP pseudo_AF_RTIP /* same format as AF_INET */ -#define PF_PIP pseudo_AF_PIP -#define PF_NDRV AF_NDRV -#define PF_ISDN AF_ISDN -#define PF_KEY pseudo_AF_KEY -#define PF_INET6 AF_INET6 -#define PF_NATM AF_NATM -#define PF_SYSTEM AF_SYSTEM -#define PF_NETBIOS AF_NETBIOS -#define PF_PPP AF_PPP -#define PF_RESERVED_36 AF_RESERVED_36 -#define PF_UTUN AF_UTUN -#define PF_VSOCK AF_VSOCK -#define PF_MAX AF_MAX - -/* - * These do not have socket-layer support: - */ -#define PF_VLAN ((uint32_t)0x766c616e) /* 'vlan' */ -#define PF_BOND ((uint32_t)0x626f6e64) /* 'bond' */ - -/* - * Definitions for network related sysctl, CTL_NET. - * - * Second level is protocol family. - * Third level is protocol number. - * - * Further levels are defined by the individual families below. - */ -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -#define NET_MAXID AF_MAX -#endif /* (_POSIX_C_SOURCE && !_DARWIN_C_SOURCE) */ - - -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -/* - * PF_ROUTE - Routing table - * - * Three additional levels are defined: - * Fourth: address family, 0 is wildcard - * Fifth: type of info, defined below - * Sixth: flag(s) to mask with for NET_RT_FLAGS - */ -#define NET_RT_DUMP 1 /* dump; may limit to a.f. */ -#define NET_RT_FLAGS 2 /* by flags, e.g. RESOLVING */ -#define NET_RT_IFLIST 3 /* survey interface list */ -#define NET_RT_STAT 4 /* routing statistics */ -#define NET_RT_TRASH 5 /* routes not in table but not freed */ -#define NET_RT_IFLIST2 6 /* interface list with addresses */ -#define NET_RT_DUMP2 7 /* dump; may limit to a.f. */ -/* - * Allows read access non-local host's MAC address - * if the process has neighbor cache entitlement. - */ -#define NET_RT_FLAGS_PRIV 10 -#define NET_RT_MAXID 11 -#endif /* (_POSIX_C_SOURCE && !_DARWIN_C_SOURCE) */ - - - - -/* - * Maximum queue length specifiable by listen. - */ -#define SOMAXCONN 128 - -/* - * [XSI] Message header for recvmsg and sendmsg calls. - * Used value-result for recvmsg, value only for sendmsg. - */ -struct msghdr { - void *msg_name; /* [XSI] optional address */ - socklen_t msg_namelen; /* [XSI] size of address */ - struct iovec *msg_iov; /* [XSI] scatter/gather array */ - int msg_iovlen; /* [XSI] # elements in msg_iov */ - void *msg_control; /* [XSI] ancillary data, see below */ - socklen_t msg_controllen; /* [XSI] ancillary data buffer len */ - int msg_flags; /* [XSI] flags on received message */ -}; - - - -#define MSG_OOB 0x1 /* process out-of-band data */ -#define MSG_PEEK 0x2 /* peek at incoming message */ -#define MSG_DONTROUTE 0x4 /* send without using routing tables */ -#define MSG_EOR 0x8 /* data completes record */ -#define MSG_TRUNC 0x10 /* data discarded before delivery */ -#define MSG_CTRUNC 0x20 /* control data lost before delivery */ -#define MSG_WAITALL 0x40 /* wait for full request or error */ -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -#define MSG_DONTWAIT 0x80 /* this message should be nonblocking */ -#define MSG_EOF 0x100 /* data completes connection */ -#ifdef __APPLE__ -#ifdef __APPLE_API_OBSOLETE -#define MSG_WAITSTREAM 0x200 /* wait up to full request.. may return partial */ -#endif -#define MSG_FLUSH 0x400 /* Start of 'hold' seq; dump so_temp, deprecated */ -#define MSG_HOLD 0x800 /* Hold frag in so_temp, deprecated */ -#define MSG_SEND 0x1000 /* Send the packet in so_temp, deprecated */ -#define MSG_HAVEMORE 0x2000 /* Data ready to be read */ -#define MSG_RCVMORE 0x4000 /* Data remains in current pkt */ -#endif -#define MSG_NEEDSA 0x10000 /* Fail receive if socket address cannot be allocated */ -#endif /* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */ - -#if __DARWIN_C_LEVEL >= 200809L -#define MSG_NOSIGNAL 0x80000 /* do not generate SIGPIPE on EOF */ -#endif /* __DARWIN_C_LEVEL */ - -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -#endif /* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */ - -/* - * Header for ancillary data objects in msg_control buffer. - * Used for additional information with/about a datagram - * not expressible by flags. The format is a sequence - * of message elements headed by cmsghdr structures. - */ -struct cmsghdr { - socklen_t cmsg_len; /* [XSI] data byte count, including hdr */ - int cmsg_level; /* [XSI] originating protocol */ - int cmsg_type; /* [XSI] protocol-specific type */ -/* followed by unsigned char cmsg_data[]; */ -}; - -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -#ifndef __APPLE__ -/* - * While we may have more groups than this, the cmsgcred struct must - * be able to fit in an mbuf, and NGROUPS_MAX is too large to allow - * this. - */ -#define CMGROUP_MAX 16 - -/* - * Credentials structure, used to verify the identity of a peer - * process that has sent us a message. This is allocated by the - * peer process but filled in by the kernel. This prevents the - * peer from lying about its identity. (Note that cmcred_groups[0] - * is the effective GID.) - */ -struct cmsgcred { - pid_t cmcred_pid; /* PID of sending process */ - uid_t cmcred_uid; /* real UID of sending process */ - uid_t cmcred_euid; /* effective UID of sending process */ - gid_t cmcred_gid; /* real GID of sending process */ - short cmcred_ngroups; /* number or groups */ - gid_t cmcred_groups[CMGROUP_MAX]; /* groups */ -}; -#endif -#endif /* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */ - -/* given pointer to struct cmsghdr, return pointer to data */ -#define CMSG_DATA(cmsg) ((unsigned char *)(cmsg) + \ - __DARWIN_ALIGN32(sizeof(struct cmsghdr))) - -/* - * RFC 2292 requires to check msg_controllen, in case that the kernel returns - * an empty list for some reasons. - */ -#define CMSG_FIRSTHDR(mhdr) \ - ((mhdr)->msg_controllen >= sizeof(struct cmsghdr) ? \ - (struct cmsghdr *)(mhdr)->msg_control : \ - (struct cmsghdr *)0L) - - -/* - * Given pointer to struct cmsghdr, return pointer to next cmsghdr - * RFC 2292 says that CMSG_NXTHDR(mhdr, NULL) is equivalent to CMSG_FIRSTHDR(mhdr) - */ -#define CMSG_NXTHDR(mhdr, cmsg) \ - ((char *)(cmsg) == (char *)0L ? CMSG_FIRSTHDR(mhdr) : \ - ((((unsigned char *)(cmsg) + \ - __DARWIN_ALIGN32((__uint32_t)(cmsg)->cmsg_len) + \ - __DARWIN_ALIGN32(sizeof(struct cmsghdr))) > \ - ((unsigned char *)(mhdr)->msg_control + \ - (mhdr)->msg_controllen)) ? \ - (struct cmsghdr *)0L /* NULL */ : \ - (struct cmsghdr *)(void *)((unsigned char *)(cmsg) + \ - __DARWIN_ALIGN32((__uint32_t)(cmsg)->cmsg_len)))) - -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -/* RFC 2292 additions */ -#define CMSG_SPACE(l) (__DARWIN_ALIGN32(sizeof(struct cmsghdr)) + __DARWIN_ALIGN32(l)) -#define CMSG_LEN(l) (__DARWIN_ALIGN32(sizeof(struct cmsghdr)) + (l)) - -#endif /* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */ - -/* "Socket"-level control message types: */ -#define SCM_RIGHTS 0x01 /* access rights (array of int) */ -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -#define SCM_TIMESTAMP 0x02 /* timestamp (struct timeval) */ -#define SCM_CREDS 0x03 /* process creds (struct cmsgcred) */ -#define SCM_TIMESTAMP_MONOTONIC 0x04 /* timestamp (uint64_t) */ - - -#endif /* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */ - -/* - * howto arguments for shutdown(2), specified by Posix.1g. - */ -#define SHUT_RD 0 /* shut down the reading side */ -#define SHUT_WR 1 /* shut down the writing side */ -#define SHUT_RDWR 2 /* shut down both sides */ - -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -/* - * sendfile(2) header/trailer struct - */ -struct sf_hdtr { - struct iovec *headers; /* pointer to an array of header struct iovec's */ - int hdr_cnt; /* number of header iovec's */ - struct iovec *trailers; /* pointer to an array of trailer struct iovec's */ - int trl_cnt; /* number of trailer iovec's */ -}; - - -#endif /* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */ - - -__BEGIN_DECLS - -int accept(int, struct sockaddr * __restrict, socklen_t * __restrict) -__DARWIN_ALIAS_C(accept); -int bind(int, const struct sockaddr *, socklen_t) __DARWIN_ALIAS(bind); -int connect(int, const struct sockaddr *, socklen_t) __DARWIN_ALIAS_C(connect); -int getpeername(int, struct sockaddr * __restrict, socklen_t * __restrict) -__DARWIN_ALIAS(getpeername); -int getsockname(int, struct sockaddr * __restrict, socklen_t * __restrict) -__DARWIN_ALIAS(getsockname); -int getsockopt(int, int, int, void * __restrict, socklen_t * __restrict); -int listen(int, int) __DARWIN_ALIAS(listen); -ssize_t recv(int, void *, size_t, int) __DARWIN_ALIAS_C(recv); -ssize_t recvfrom(int, void *, size_t, int, struct sockaddr * __restrict, - socklen_t * __restrict) __DARWIN_ALIAS_C(recvfrom); -ssize_t recvmsg(int, struct msghdr *, int) __DARWIN_ALIAS_C(recvmsg); -ssize_t send(int, const void *, size_t, int) __DARWIN_ALIAS_C(send); -ssize_t sendmsg(int, const struct msghdr *, int) __DARWIN_ALIAS_C(sendmsg); -ssize_t sendto(int, const void *, size_t, - int, const struct sockaddr *, socklen_t) __DARWIN_ALIAS_C(sendto); -int setsockopt(int, int, int, const void *, socklen_t); -int shutdown(int, int); -int sockatmark(int) __OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_2_0); -int socket(int, int, int); -int socketpair(int, int, int, int *) __DARWIN_ALIAS(socketpair); - -#if !defined(_POSIX_C_SOURCE) -int sendfile(int, int, off_t, off_t *, struct sf_hdtr *, int); -#endif /* !_POSIX_C_SOURCE */ - -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -void pfctlinput(int, struct sockaddr *); - -__API_AVAILABLE(macosx(10.11), ios(9.0), tvos(9.0), watchos(2.0)) -int connectx(int, const sa_endpoints_t *, sae_associd_t, unsigned int, - const struct iovec *, unsigned int, size_t *, sae_connid_t *); - -__API_AVAILABLE(macosx(10.11), ios(9.0), tvos(9.0), watchos(2.0)) -int disconnectx(int, sae_associd_t, sae_connid_t); -#endif /* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */ -__END_DECLS - - -#endif /* !_SYS_SOCKET_H_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.11-any/sys/sockio.h b/lib/libc/include/any-macos.11-any/sys/sockio.h deleted file mode 100644 index 9dc2ee7489..0000000000 --- a/lib/libc/include/any-macos.11-any/sys/sockio.h +++ /dev/null @@ -1,180 +0,0 @@ -/* - * Copyright (c) 2000-2019 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@ - */ -/* Copyright (c) 1995 NeXT Computer, Inc. All Rights Reserved */ -/*- - * Copyright (c) 1982, 1986, 1990, 1993, 1994 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)sockio.h 8.1 (Berkeley) 3/28/94 - */ - -#ifndef _SYS_SOCKIO_H_ -#define _SYS_SOCKIO_H_ - -#include - -#include - -/* Socket ioctl's. */ -#define SIOCSHIWAT _IOW('s', 0, int) /* set high watermark */ -#define SIOCGHIWAT _IOR('s', 1, int) /* get high watermark */ -#define SIOCSLOWAT _IOW('s', 2, int) /* set low watermark */ -#define SIOCGLOWAT _IOR('s', 3, int) /* get low watermark */ -#define SIOCATMARK _IOR('s', 7, int) /* at oob mark? */ -#define SIOCSPGRP _IOW('s', 8, int) /* set process group */ -#define SIOCGPGRP _IOR('s', 9, int) /* get process group */ - -/* - * OSIOCGIF* ioctls are deprecated; they are kept for binary compatibility. - */ -#define SIOCSIFADDR _IOW('i', 12, struct ifreq) /* set ifnet address */ -#define SIOCSIFDSTADDR _IOW('i', 14, struct ifreq) /* set p-p address */ -#define SIOCSIFFLAGS _IOW('i', 16, struct ifreq) /* set ifnet flags */ -#define SIOCGIFFLAGS _IOWR('i', 17, struct ifreq) /* get ifnet flags */ -#define SIOCSIFBRDADDR _IOW('i', 19, struct ifreq) /* set broadcast addr */ -#define SIOCSIFNETMASK _IOW('i', 22, struct ifreq) /* set net addr mask */ -#define SIOCGIFMETRIC _IOWR('i', 23, struct ifreq) /* get IF metric */ -#define SIOCSIFMETRIC _IOW('i', 24, struct ifreq) /* set IF metric */ -#define SIOCDIFADDR _IOW('i', 25, struct ifreq) /* delete IF addr */ -#define SIOCAIFADDR _IOW('i', 26, struct ifaliasreq)/* add/chg IF alias */ - -#define SIOCGIFADDR _IOWR('i', 33, struct ifreq) /* get ifnet address */ -#define SIOCGIFDSTADDR _IOWR('i', 34, struct ifreq) /* get p-p address */ -#define SIOCGIFBRDADDR _IOWR('i', 35, struct ifreq) /* get broadcast addr */ -#define SIOCGIFCONF _IOWR('i', 36, struct ifconf) /* get ifnet list */ -#define SIOCGIFNETMASK _IOWR('i', 37, struct ifreq) /* get net addr mask */ -#define SIOCAUTOADDR _IOWR('i', 38, struct ifreq) /* autoconf address */ -#define SIOCAUTONETMASK _IOW('i', 39, struct ifreq) /* autoconf netmask */ -#define SIOCARPIPLL _IOWR('i', 40, struct ifreq) /* arp for IPv4LL address */ - -#define SIOCADDMULTI _IOW('i', 49, struct ifreq) /* add m'cast addr */ -#define SIOCDELMULTI _IOW('i', 50, struct ifreq) /* del m'cast addr */ -#define SIOCGIFMTU _IOWR('i', 51, struct ifreq) /* get IF mtu */ -#define SIOCSIFMTU _IOW('i', 52, struct ifreq) /* set IF mtu */ -#define SIOCGIFPHYS _IOWR('i', 53, struct ifreq) /* get IF wire */ -#define SIOCSIFPHYS _IOW('i', 54, struct ifreq) /* set IF wire */ -#define SIOCSIFMEDIA _IOWR('i', 55, struct ifreq) /* set net media */ - -/* - * The command SIOCGIFMEDIA does not allow a process to access the extended - * media subtype and extended subtype values are returned as IFM_OTHER. - */ -#define SIOCGIFMEDIA _IOWR('i', 56, struct ifmediareq) /* get compatible net media */ - -#define SIOCSIFGENERIC _IOW('i', 57, struct ifreq) /* generic IF set op */ -#define SIOCGIFGENERIC _IOWR('i', 58, struct ifreq) /* generic IF get op */ -#define SIOCRSLVMULTI _IOWR('i', 59, struct rslvmulti_req) - -#define SIOCSIFLLADDR _IOW('i', 60, struct ifreq) /* set link level addr */ -#define SIOCGIFSTATUS _IOWR('i', 61, struct ifstat) /* get IF status */ -#define SIOCSIFPHYADDR _IOW('i', 62, struct ifaliasreq) /* set gif addres */ -#define SIOCGIFPSRCADDR _IOWR('i', 63, struct ifreq) /* get gif psrc addr */ -#define SIOCGIFPDSTADDR _IOWR('i', 64, struct ifreq) /* get gif pdst addr */ -#define SIOCDIFPHYADDR _IOW('i', 65, struct ifreq) /* delete gif addrs */ - -#define SIOCGIFDEVMTU _IOWR('i', 68, struct ifreq) /* get if ifdevmtu */ -#define SIOCSIFALTMTU _IOW('i', 69, struct ifreq) /* set if alternate mtu */ -#define SIOCGIFALTMTU _IOWR('i', 72, struct ifreq) /* get if alternate mtu */ -#define SIOCSIFBOND _IOW('i', 70, struct ifreq) /* set bond if config */ -#define SIOCGIFBOND _IOWR('i', 71, struct ifreq) /* get bond if config */ - -/* - * The command SIOCGIFXMEDIA is meant to be used by processes only to be able - * to access the extended media subtypes with the extended IFM_TMASK. - * - * An ifnet must not implement SIOCGIFXMEDIA as it gets the extended - * media subtypes by simply compiling with - */ -#define SIOCGIFXMEDIA _IOWR('i', 72, struct ifmediareq) /* get net extended media */ - - -#define SIOCSIFCAP _IOW('i', 90, struct ifreq) /* set IF features */ -#define SIOCGIFCAP _IOWR('i', 91, struct ifreq) /* get IF features */ - -#define SIOCIFCREATE _IOWR('i', 120, struct ifreq) /* create clone if */ -#define SIOCIFDESTROY _IOW('i', 121, struct ifreq) /* destroy clone if */ -#define SIOCIFCREATE2 _IOWR('i', 122, struct ifreq) /* create clone if with data */ - -#define SIOCSDRVSPEC _IOW('i', 123, struct ifdrv) /* set driver-specific - * parameters */ -#define SIOCGDRVSPEC _IOWR('i', 123, struct ifdrv) /* get driver-specific - * parameters */ -#define SIOCSIFVLAN _IOW('i', 126, struct ifreq) /* set VLAN config */ -#define SIOCGIFVLAN _IOWR('i', 127, struct ifreq) /* get VLAN config */ -#define SIOCSETVLAN SIOCSIFVLAN -#define SIOCGETVLAN SIOCGIFVLAN - -#define SIOCIFGCLONERS _IOWR('i', 129, struct if_clonereq) /* get cloners */ - -#define SIOCGIFASYNCMAP _IOWR('i', 124, struct ifreq) /* get ppp asyncmap */ -#define SIOCSIFASYNCMAP _IOW('i', 125, struct ifreq) /* set ppp asyncmap */ - - - -#define SIOCGIFMAC _IOWR('i', 130, struct ifreq) /* deprecated */ -#define SIOCSIFMAC _IOW('i', 131, struct ifreq) /* deprecated */ -#define SIOCSIFKPI _IOW('i', 134, struct ifreq) /* set interface kext param - root only */ -#define SIOCGIFKPI _IOWR('i', 135, struct ifreq) /* get interface kext param */ - -#define SIOCGIFWAKEFLAGS _IOWR('i', 136, struct ifreq) /* get interface wake property flags */ - -#define SIOCGIFFUNCTIONALTYPE _IOWR('i', 173, struct ifreq) /* get interface functional type */ - -#define SIOCSIF6LOWPAN _IOW('i', 196, struct ifreq) /* set 6LOWPAN config */ -#define SIOCGIF6LOWPAN _IOWR('i', 197, struct ifreq) /* get 6LOWPAN config */ - - -#endif /* !_SYS_SOCKIO_H_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.11-any/sys/stdio.h b/lib/libc/include/any-macos.11-any/sys/stdio.h deleted file mode 100644 index c51c1b9c7d..0000000000 --- a/lib/libc/include/any-macos.11-any/sys/stdio.h +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Copyright (c) 2013 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 _SYS_STDIO_H_ -#define _SYS_STDIO_H_ - -#include - -#if __DARWIN_C_LEVEL >= 200809L -#include - -__BEGIN_DECLS - -int renameat(int, const char *, int, const char *) __OSX_AVAILABLE_STARTING(__MAC_10_10, __IPHONE_8_0); - -#if __DARWIN_C_LEVEL >= __DARWIN_C_FULL - -#define RENAME_SECLUDE 0x00000001 -#define RENAME_SWAP 0x00000002 -#define RENAME_EXCL 0x00000004 -int renamex_np(const char *, const char *, unsigned int) __OSX_AVAILABLE(10.12) __IOS_AVAILABLE(10.0) __TVOS_AVAILABLE(10.0) __WATCHOS_AVAILABLE(3.0); -int renameatx_np(int, const char *, int, const char *, unsigned int) __OSX_AVAILABLE(10.12) __IOS_AVAILABLE(10.0) __TVOS_AVAILABLE(10.0) __WATCHOS_AVAILABLE(3.0); - -#endif /* __DARWIN_C_LEVEL >= __DARWIN_C_FULL */ - -__END_DECLS - -#endif /* __DARWIN_C_LEVEL >= 200809L */ - -#endif /* _SYS_STDIO_H_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.11-any/sys/sysctl.h b/lib/libc/include/any-macos.11-any/sys/sysctl.h deleted file mode 100644 index 9baf93c2ec..0000000000 --- a/lib/libc/include/any-macos.11-any/sys/sysctl.h +++ /dev/null @@ -1,780 +0,0 @@ -/* - * Copyright (c) 2000-2019 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@ - */ -/* Copyright (c) 1995 NeXT Computer, Inc. All Rights Reserved */ -/* - * Copyright (c) 1989, 1993 - * The Regents of the University of California. All rights reserved. - * - * This code is derived from software contributed to Berkeley by - * Mike Karels at Berkeley Software Design, Inc. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)sysctl.h 8.1 (Berkeley) 6/2/93 - */ -/* - * NOTICE: This file was modified by SPARTA, Inc. in 2005 to introduce - * support for mandatory and extensible security protections. This notice - * is included in support of clause 2.2 (b) of the Apple Public License, - * Version 2.0. - */ - -#ifndef _SYS_SYSCTL_H_ -#define _SYS_SYSCTL_H_ - -/* - * These are for the eproc structure defined below. - */ -#include - -#include -#include -#include - -#include -#include - -/* - * Definitions for sysctl call. The sysctl call uses a hierarchical name - * for objects that can be examined or modified. The name is expressed as - * a sequence of integers. Like a file path name, the meaning of each - * component depends on its place in the hierarchy. The top-level and kern - * identifiers are defined here, and other identifiers are defined in the - * respective subsystem header files. - */ - -#define CTL_MAXNAME 12 /* largest number of components supported */ - -/* - * Each subsystem defined by sysctl defines a list of variables - * for that subsystem. Each name is either a node with further - * levels defined below it, or it is a leaf of some particular - * type given below. Each sysctl level defines a set of name/type - * pairs to be used by sysctl(1) in manipulating the subsystem. - * - * When declaring new sysctl names, use the CTLFLAG_LOCKED flag in the - * type to indicate that all necessary locking will be handled - * within the sysctl. - * - * Any sysctl defined without CTLFLAG_LOCKED is considered legacy - * and will be protected by a global mutex. - * - * Note: This is not optimal, so it is best to handle locking - * yourself, if you are able to do so. A simple design - * pattern for use to avoid in a single function known - * to potentially be in the paging path ot doing a DMA - * to physical memory in a user space process is: - * - * lock - * perform operation vs. local buffer - * unlock - * SYSCTL_OUT(rey, local buffer, length) - * - * ...this assumes you are not using a deep call graph - * or are unable to pass a local buffer address as a - * parameter into your deep call graph. - * - * Note that very large user buffers can fail the wire - * if to do so would require more physical pages than - * are available (the caller will get an ENOMEM error, - * see sysctl_mem_hold() for details). - */ -struct ctlname { - char *ctl_name; /* subsystem name */ - int ctl_type; /* type of name */ -}; - -#define CTLTYPE 0xf /* Mask for the type */ -#define CTLTYPE_NODE 1 /* name is a node */ -#define CTLTYPE_INT 2 /* name describes an integer */ -#define CTLTYPE_STRING 3 /* name describes a string */ -#define CTLTYPE_QUAD 4 /* name describes a 64-bit number */ -#define CTLTYPE_OPAQUE 5 /* name describes a structure */ -#define CTLTYPE_STRUCT CTLTYPE_OPAQUE /* name describes a structure */ - -#define CTLFLAG_RD 0x80000000 /* Allow reads of variable */ -#define CTLFLAG_WR 0x40000000 /* Allow writes to the variable */ -#define CTLFLAG_RW (CTLFLAG_RD|CTLFLAG_WR) -#define CTLFLAG_NOLOCK 0x20000000 /* XXX Don't Lock */ -#define CTLFLAG_ANYBODY 0x10000000 /* All users can set this var */ -#define CTLFLAG_SECURE 0x08000000 /* Permit set only if securelevel<=0 */ -#define CTLFLAG_MASKED 0x04000000 /* deprecated variable, do not display */ -#define CTLFLAG_NOAUTO 0x02000000 /* do not auto-register */ -#define CTLFLAG_KERN 0x01000000 /* valid inside the kernel */ -#define CTLFLAG_LOCKED 0x00800000 /* node will handle locking itself */ -#define CTLFLAG_OID2 0x00400000 /* struct sysctl_oid has version info */ -#define CTLFLAG_EXPERIMENT 0x00100000 /* Allows writing w/ the trial experiment entitlement. */ - -/* - * USE THIS instead of a hardwired number from the categories below - * to get dynamically assigned sysctl entries using the linker-set - * technology. This is the way nearly all new sysctl variables should - * be implemented. - * - * e.g. SYSCTL_INT(_parent, OID_AUTO, name, CTLFLAG_RW, &variable, 0, ""); - * - * Note that linker set technology will automatically register all nodes - * declared like this on kernel initialization, UNLESS they are defined - * in I/O-Kit. In this case, you have to call sysctl_register_oid() - * manually - just like in a KEXT. - */ -#define OID_AUTO (-1) -#define OID_AUTO_START 100 /* conventional */ - - -#define SYSCTL_DEF_ENABLED - -#ifdef SYSCTL_DEF_ENABLED -/* - * Top-level identifiers - */ -#define CTL_UNSPEC 0 /* unused */ -#define CTL_KERN 1 /* "high kernel": proc, limits */ -#define CTL_VM 2 /* virtual memory */ -#define CTL_VFS 3 /* file system, mount type is next */ -#define CTL_NET 4 /* network, see socket.h */ -#define CTL_DEBUG 5 /* debugging parameters */ -#define CTL_HW 6 /* generic cpu/io */ -#define CTL_MACHDEP 7 /* machine dependent */ -#define CTL_USER 8 /* user-level */ -#define CTL_MAXID 9 /* number of valid top-level ids */ - -#define CTL_NAMES { \ - { 0, 0 }, \ - { "kern", CTLTYPE_NODE }, \ - { "vm", CTLTYPE_NODE }, \ - { "vfs", CTLTYPE_NODE }, \ - { "net", CTLTYPE_NODE }, \ - { "debug", CTLTYPE_NODE }, \ - { "hw", CTLTYPE_NODE }, \ - { "machdep", CTLTYPE_NODE }, \ - { "user", CTLTYPE_NODE }, \ -} - -/* - * CTL_KERN identifiers - */ -#define KERN_OSTYPE 1 /* string: system version */ -#define KERN_OSRELEASE 2 /* string: system release */ -#define KERN_OSREV 3 /* int: system revision */ -#define KERN_VERSION 4 /* string: compile time info */ -#define KERN_MAXVNODES 5 /* int: max vnodes */ -#define KERN_MAXPROC 6 /* int: max processes */ -#define KERN_MAXFILES 7 /* int: max open files */ -#define KERN_ARGMAX 8 /* int: max arguments to exec */ -#define KERN_SECURELVL 9 /* int: system security level */ -#define KERN_HOSTNAME 10 /* string: hostname */ -#define KERN_HOSTID 11 /* int: host identifier */ -#define KERN_CLOCKRATE 12 /* struct: struct clockrate */ -#define KERN_VNODE 13 /* struct: vnode structures */ -#define KERN_PROC 14 /* struct: process entries */ -#define KERN_FILE 15 /* struct: file entries */ -#define KERN_PROF 16 /* node: kernel profiling info */ -#define KERN_POSIX1 17 /* int: POSIX.1 version */ -#define KERN_NGROUPS 18 /* int: # of supplemental group ids */ -#define KERN_JOB_CONTROL 19 /* int: is job control available */ -#define KERN_SAVED_IDS 20 /* int: saved set-user/group-ID */ -#define KERN_BOOTTIME 21 /* struct: time kernel was booted */ -#define KERN_NISDOMAINNAME 22 /* string: YP domain name */ -#define KERN_DOMAINNAME KERN_NISDOMAINNAME -#define KERN_MAXPARTITIONS 23 /* int: number of partitions/disk */ -#define KERN_KDEBUG 24 /* int: kernel trace points */ -#define KERN_UPDATEINTERVAL 25 /* int: update process sleep time */ -#define KERN_OSRELDATE 26 /* int: OS release date */ -#define KERN_NTP_PLL 27 /* node: NTP PLL control */ -#define KERN_BOOTFILE 28 /* string: name of booted kernel */ -#define KERN_MAXFILESPERPROC 29 /* int: max open files per proc */ -#define KERN_MAXPROCPERUID 30 /* int: max processes per uid */ -#define KERN_DUMPDEV 31 /* dev_t: device to dump on */ -#define KERN_IPC 32 /* node: anything related to IPC */ -#define KERN_DUMMY 33 /* unused */ -#define KERN_PS_STRINGS 34 /* int: address of PS_STRINGS */ -#define KERN_USRSTACK32 35 /* int: address of USRSTACK */ -#define KERN_LOGSIGEXIT 36 /* int: do we log sigexit procs? */ -#define KERN_SYMFILE 37 /* string: kernel symbol filename */ -#define KERN_PROCARGS 38 -/* 39 was KERN_PCSAMPLES... now obsolete */ -#define KERN_NETBOOT 40 /* int: are we netbooted? 1=yes,0=no */ -/* 41 was KERN_PANICINFO : panic UI information (deprecated) */ -#define KERN_SYSV 42 /* node: System V IPC information */ -#define KERN_AFFINITY 43 /* xxx */ -#define KERN_TRANSLATE 44 /* xxx */ -#define KERN_CLASSIC KERN_TRANSLATE /* XXX backwards compat */ -#define KERN_EXEC 45 /* xxx */ -#define KERN_CLASSICHANDLER KERN_EXEC /* XXX backwards compatibility */ -#define KERN_AIOMAX 46 /* int: max aio requests */ -#define KERN_AIOPROCMAX 47 /* int: max aio requests per process */ -#define KERN_AIOTHREADS 48 /* int: max aio worker threads */ -#ifdef __APPLE_API_UNSTABLE -#define KERN_PROCARGS2 49 -#endif /* __APPLE_API_UNSTABLE */ -#define KERN_COREFILE 50 /* string: corefile format string */ -#define KERN_COREDUMP 51 /* int: whether to coredump at all */ -#define KERN_SUGID_COREDUMP 52 /* int: whether to dump SUGID cores */ -#define KERN_PROCDELAYTERM 53 /* int: set/reset current proc for delayed termination during shutdown */ -#define KERN_SHREG_PRIVATIZABLE 54 /* int: can shared regions be privatized ? */ -/* 55 was KERN_PROC_LOW_PRI_IO... now deprecated */ -#define KERN_LOW_PRI_WINDOW 56 /* int: set/reset throttle window - milliseconds */ -#define KERN_LOW_PRI_DELAY 57 /* int: set/reset throttle delay - milliseconds */ -#define KERN_POSIX 58 /* node: posix tunables */ -#define KERN_USRSTACK64 59 /* LP64 user stack query */ -#define KERN_NX_PROTECTION 60 /* int: whether no-execute protection is enabled */ -#define KERN_TFP 61 /* Task for pid settings */ -#define KERN_PROCNAME 62 /* setup process program name(2*MAXCOMLEN) */ -#define KERN_THALTSTACK 63 /* for compat with older x86 and does nothing */ -#define KERN_SPECULATIVE_READS 64 /* int: whether speculative reads are disabled */ -#define KERN_OSVERSION 65 /* for build number i.e. 9A127 */ -#define KERN_SAFEBOOT 66 /* are we booted safe? */ -/* 67 was KERN_LCTX (login context) */ -#define KERN_RAGEVNODE 68 -#define KERN_TTY 69 /* node: tty settings */ -#define KERN_CHECKOPENEVT 70 /* spi: check the VOPENEVT flag on vnodes at open time */ -#define KERN_THREADNAME 71 /* set/get thread name */ -#define KERN_MAXID 72 /* number of valid kern ids */ -/* - * Don't add any more sysctls like this. Instead, use the SYSCTL_*() macros - * and OID_AUTO. This will have the added benefit of not having to recompile - * sysctl(8) to pick up your changes. - */ - - -#if defined(__LP64__) -#define KERN_USRSTACK KERN_USRSTACK64 -#else -#define KERN_USRSTACK KERN_USRSTACK32 -#endif - - -/* KERN_RAGEVNODE types */ -#define KERN_RAGE_PROC 1 -#define KERN_RAGE_THREAD 2 -#define KERN_UNRAGE_PROC 3 -#define KERN_UNRAGE_THREAD 4 - -/* KERN_OPENEVT types */ -#define KERN_OPENEVT_PROC 1 -#define KERN_UNOPENEVT_PROC 2 - -/* KERN_TFP types */ -#define KERN_TFP_POLICY 1 - -/* KERN_TFP_POLICY values . All policies allow task port for self */ -#define KERN_TFP_POLICY_DENY 0 /* Deny Mode: None allowed except privileged */ -#define KERN_TFP_POLICY_DEFAULT 2 /* Default Mode: related ones allowed and upcall authentication */ - -/* KERN_KDEBUG types */ -#define KERN_KDEFLAGS 1 -#define KERN_KDDFLAGS 2 -#define KERN_KDENABLE 3 -#define KERN_KDSETBUF 4 -#define KERN_KDGETBUF 5 -#define KERN_KDSETUP 6 -#define KERN_KDREMOVE 7 -#define KERN_KDSETREG 8 -#define KERN_KDGETREG 9 -#define KERN_KDREADTR 10 -#define KERN_KDPIDTR 11 -#define KERN_KDTHRMAP 12 -/* Don't use 13 as it is overloaded with KERN_VNODE */ -#define KERN_KDPIDEX 14 -#define KERN_KDSETRTCDEC 15 /* obsolete */ -#define KERN_KDGETENTROPY 16 /* obsolete */ -#define KERN_KDWRITETR 17 -#define KERN_KDWRITEMAP 18 -#define KERN_KDTEST 19 -/* 20 unused */ -#define KERN_KDREADCURTHRMAP 21 -#define KERN_KDSET_TYPEFILTER 22 -#define KERN_KDBUFWAIT 23 -#define KERN_KDCPUMAP 24 -/* 25 - 26 unused */ -#define KERN_KDWRITEMAP_V3 27 -#define KERN_KDWRITETR_V3 28 - -#define CTL_KERN_NAMES { \ - { 0, 0 }, \ - { "ostype", CTLTYPE_STRING }, \ - { "osrelease", CTLTYPE_STRING }, \ - { "osrevision", CTLTYPE_INT }, \ - { "version", CTLTYPE_STRING }, \ - { "maxvnodes", CTLTYPE_INT }, \ - { "maxproc", CTLTYPE_INT }, \ - { "maxfiles", CTLTYPE_INT }, \ - { "argmax", CTLTYPE_INT }, \ - { "securelevel", CTLTYPE_INT }, \ - { "hostname", CTLTYPE_STRING }, \ - { "hostid", CTLTYPE_INT }, \ - { "clockrate", CTLTYPE_STRUCT }, \ - { "vnode", CTLTYPE_STRUCT }, \ - { "proc", CTLTYPE_STRUCT }, \ - { "file", CTLTYPE_STRUCT }, \ - { "profiling", CTLTYPE_NODE }, \ - { "posix1version", CTLTYPE_INT }, \ - { "ngroups", CTLTYPE_INT }, \ - { "job_control", CTLTYPE_INT }, \ - { "saved_ids", CTLTYPE_INT }, \ - { "boottime", CTLTYPE_STRUCT }, \ - { "nisdomainname", CTLTYPE_STRING }, \ - { "maxpartitions", CTLTYPE_INT }, \ - { "kdebug", CTLTYPE_INT }, \ - { "update", CTLTYPE_INT }, \ - { "osreldate", CTLTYPE_INT }, \ - { "ntp_pll", CTLTYPE_NODE }, \ - { "bootfile", CTLTYPE_STRING }, \ - { "maxfilesperproc", CTLTYPE_INT }, \ - { "maxprocperuid", CTLTYPE_INT }, \ - { "dumpdev", CTLTYPE_STRUCT }, /* we lie; don't print as int */ \ - { "ipc", CTLTYPE_NODE }, \ - { "dummy", CTLTYPE_INT }, \ - { "dummy", CTLTYPE_INT }, \ - { "usrstack", CTLTYPE_INT }, \ - { "logsigexit", CTLTYPE_INT }, \ - { "symfile",CTLTYPE_STRING },\ - { "procargs",CTLTYPE_STRUCT },\ - { "dummy", CTLTYPE_INT }, /* deprecated pcsamples */ \ - { "netboot", CTLTYPE_INT }, \ - { "dummy", CTLTYPE_INT }, /* deprecated: panicinfo */ \ - { "sysv", CTLTYPE_NODE }, \ - { "dummy", CTLTYPE_INT }, \ - { "dummy", CTLTYPE_INT }, \ - { "exec", CTLTYPE_NODE }, \ - { "aiomax", CTLTYPE_INT }, \ - { "aioprocmax", CTLTYPE_INT }, \ - { "aiothreads", CTLTYPE_INT }, \ - { "procargs2",CTLTYPE_STRUCT }, \ - { "corefile",CTLTYPE_STRING }, \ - { "coredump", CTLTYPE_INT }, \ - { "sugid_coredump", CTLTYPE_INT }, \ - { "delayterm", CTLTYPE_INT }, \ - { "shreg_private", CTLTYPE_INT }, \ - { "proc_low_pri_io", CTLTYPE_INT }, \ - { "low_pri_window", CTLTYPE_INT }, \ - { "low_pri_delay", CTLTYPE_INT }, \ - { "posix", CTLTYPE_NODE }, \ - { "usrstack64", CTLTYPE_QUAD }, \ - { "nx", CTLTYPE_INT }, \ - { "tfp", CTLTYPE_NODE }, \ - { "procname", CTLTYPE_STRING }, \ - { "threadsigaltstack", CTLTYPE_INT }, \ - { "speculative_reads_disabled", CTLTYPE_INT }, \ - { "osversion", CTLTYPE_STRING }, \ - { "safeboot", CTLTYPE_INT }, \ - { "dummy", CTLTYPE_INT }, /* deprecated: lctx */ \ - { "rage_vnode", CTLTYPE_INT }, \ - { "tty", CTLTYPE_NODE }, \ - { "check_openevt", CTLTYPE_INT }, \ - { "thread_name", CTLTYPE_STRING } \ -} - -/* - * CTL_VFS identifiers - */ -#define CTL_VFS_NAMES { \ - { "vfsconf", CTLTYPE_STRUCT } \ -} - -/* - * KERN_PROC subtypes - */ -#define KERN_PROC_ALL 0 /* everything */ -#define KERN_PROC_PID 1 /* by process id */ -#define KERN_PROC_PGRP 2 /* by process group id */ -#define KERN_PROC_SESSION 3 /* by session of pid */ -#define KERN_PROC_TTY 4 /* by controlling tty */ -#define KERN_PROC_UID 5 /* by effective uid */ -#define KERN_PROC_RUID 6 /* by real uid */ -#define KERN_PROC_LCID 7 /* by login context id */ - -/* - * KERN_VFSNSPACE subtypes - */ -#define KERN_VFSNSPACE_HANDLE_PROC 1 -#define KERN_VFSNSPACE_UNHANDLE_PROC 2 - -/* - * KERN_PROC subtype ops return arrays of augmented proc structures: - */ - -struct _pcred { - char pc_lock[72]; /* opaque content */ - struct ucred *pc_ucred; /* Current credentials. */ - uid_t p_ruid; /* Real user id. */ - uid_t p_svuid; /* Saved effective user id. */ - gid_t p_rgid; /* Real group id. */ - gid_t p_svgid; /* Saved effective group id. */ - int p_refcnt; /* Number of references. */ -}; - -struct _ucred { - int32_t cr_ref; /* reference count */ - uid_t cr_uid; /* effective user id */ - short cr_ngroups; /* number of groups */ - gid_t cr_groups[NGROUPS]; /* groups */ -}; - -struct kinfo_proc { - struct extern_proc kp_proc; /* proc structure */ - struct eproc { - struct proc *e_paddr; /* address of proc */ - struct session *e_sess; /* session pointer */ - struct _pcred e_pcred; /* process credentials */ - struct _ucred e_ucred; /* current credentials */ - struct vmspace e_vm; /* address space */ - pid_t e_ppid; /* parent process id */ - pid_t e_pgid; /* process group id */ - short e_jobc; /* job control counter */ - dev_t e_tdev; /* controlling tty dev */ - pid_t e_tpgid; /* tty process group id */ - struct session *e_tsess; /* tty session pointer */ -#define WMESGLEN 7 - char e_wmesg[WMESGLEN + 1]; /* wchan message */ - segsz_t e_xsize; /* text size */ - short e_xrssize; /* text rss */ - short e_xccount; /* text references */ - short e_xswrss; - int32_t e_flag; -#define EPROC_CTTY 0x01 /* controlling tty vnode active */ -#define EPROC_SLEADER 0x02 /* session leader */ -#define COMAPT_MAXLOGNAME 12 - char e_login[COMAPT_MAXLOGNAME]; /* short setlogin() name */ - int32_t e_spare[4]; - } kp_eproc; -}; - - - -/* - * KERN_IPC identifiers - */ -#define KIPC_MAXSOCKBUF 1 /* int: max size of a socket buffer */ -#define KIPC_SOCKBUF_WASTE 2 /* int: wastage factor in sockbuf */ -#define KIPC_SOMAXCONN 3 /* int: max length of connection q */ -#define KIPC_MAX_LINKHDR 4 /* int: max length of link header */ -#define KIPC_MAX_PROTOHDR 5 /* int: max length of network header */ -#define KIPC_MAX_HDR 6 /* int: max total length of headers */ -#define KIPC_MAX_DATALEN 7 /* int: max length of data? */ -#define KIPC_MBSTAT 8 /* struct: mbuf usage statistics */ -#define KIPC_NMBCLUSTERS 9 /* int: maximum mbuf clusters */ -#define KIPC_SOQLIMITCOMPAT 10 /* int: socket queue limit */ - -/* - * CTL_VM identifiers - */ -#define VM_METER 1 /* struct vmmeter */ -#define VM_LOADAVG 2 /* struct loadavg */ -/* - * Note: "3" was skipped sometime ago and should probably remain unused - * to avoid any new entry from being accepted by older kernels... - */ -#define VM_MACHFACTOR 4 /* struct loadavg with mach factor*/ -#define VM_SWAPUSAGE 5 /* total swap usage */ -#define VM_MAXID 6 /* number of valid vm ids */ - -#define CTL_VM_NAMES { \ - { 0, 0 }, \ - { "vmmeter", CTLTYPE_STRUCT }, \ - { "loadavg", CTLTYPE_STRUCT }, \ - { 0, 0 }, /* placeholder for "3" (see comment above) */ \ - { "dummy", CTLTYPE_INT }, \ - { "swapusage", CTLTYPE_STRUCT } \ -} - -struct xsw_usage { - u_int64_t xsu_total; - u_int64_t xsu_avail; - u_int64_t xsu_used; - u_int32_t xsu_pagesize; - boolean_t xsu_encrypted; -}; - -#ifdef __APPLE_API_PRIVATE -/* Load average structure. Use of fixpt_t assume in scope. */ -/* XXX perhaps we should protect fixpt_t, and define it here (or discard it) */ -struct loadavg { - fixpt_t ldavg[3]; - long fscale; -}; -extern struct loadavg averunnable; -#define LSCALE 1000 /* scaling for "fixed point" arithmetic */ - -#endif /* __APPLE_API_PRIVATE */ - - -/* - * CTL_HW identifiers - */ -#define HW_MACHINE 1 /* string: machine class (deprecated: use HW_PRODUCT) */ -#define HW_MODEL 2 /* string: specific machine model (deprecated: use HW_TARGET) */ -#define HW_NCPU 3 /* int: number of cpus */ -#define HW_BYTEORDER 4 /* int: machine byte order */ -#define HW_PHYSMEM 5 /* int: total memory */ -#define HW_USERMEM 6 /* int: non-kernel memory */ -#define HW_PAGESIZE 7 /* int: software page size */ -#define HW_DISKNAMES 8 /* strings: disk drive names */ -#define HW_DISKSTATS 9 /* struct: diskstats[] */ -#define HW_EPOCH 10 /* int: 0 for Legacy, else NewWorld */ -#define HW_FLOATINGPT 11 /* int: has HW floating point? */ -#define HW_MACHINE_ARCH 12 /* string: machine architecture */ -#define HW_VECTORUNIT 13 /* int: has HW vector unit? */ -#define HW_BUS_FREQ 14 /* int: Bus Frequency */ -#define HW_CPU_FREQ 15 /* int: CPU Frequency */ -#define HW_CACHELINE 16 /* int: Cache Line Size in Bytes */ -#define HW_L1ICACHESIZE 17 /* int: L1 I Cache Size in Bytes */ -#define HW_L1DCACHESIZE 18 /* int: L1 D Cache Size in Bytes */ -#define HW_L2SETTINGS 19 /* int: L2 Cache Settings */ -#define HW_L2CACHESIZE 20 /* int: L2 Cache Size in Bytes */ -#define HW_L3SETTINGS 21 /* int: L3 Cache Settings */ -#define HW_L3CACHESIZE 22 /* int: L3 Cache Size in Bytes */ -#define HW_TB_FREQ 23 /* int: Bus Frequency */ -#define HW_MEMSIZE 24 /* uint64_t: physical ram size */ -#define HW_AVAILCPU 25 /* int: number of available CPUs */ -#define HW_TARGET 26 /* string: model identifier */ -#define HW_PRODUCT 27 /* string: product identifier */ -#define HW_MAXID 28 /* number of valid hw ids */ - -#define CTL_HW_NAMES { \ - { 0, 0 }, \ - { "machine", CTLTYPE_STRING }, /* Deprecated: use hw.product */ \ - { "model", CTLTYPE_STRING }, /* Deprecated: use hw.target */ \ - { "ncpu", CTLTYPE_INT }, \ - { "byteorder", CTLTYPE_INT }, \ - { "physmem", CTLTYPE_INT }, \ - { "usermem", CTLTYPE_INT }, \ - { "pagesize", CTLTYPE_INT }, \ - { "disknames", CTLTYPE_STRUCT }, \ - { "diskstats", CTLTYPE_STRUCT }, \ - { "epoch", CTLTYPE_INT }, \ - { "floatingpoint", CTLTYPE_INT }, \ - { "machinearch", CTLTYPE_STRING }, \ - { "vectorunit", CTLTYPE_INT }, \ - { "busfrequency", CTLTYPE_INT }, \ - { "cpufrequency", CTLTYPE_INT }, \ - { "cachelinesize", CTLTYPE_INT }, \ - { "l1icachesize", CTLTYPE_INT }, \ - { "l1dcachesize", CTLTYPE_INT }, \ - { "l2settings", CTLTYPE_INT }, \ - { "l2cachesize", CTLTYPE_INT }, \ - { "l3settings", CTLTYPE_INT }, \ - { "l3cachesize", CTLTYPE_INT }, \ - { "tbfrequency", CTLTYPE_INT }, \ - { "memsize", CTLTYPE_QUAD }, \ - { "availcpu", CTLTYPE_INT }, \ - { "target", CTLTYPE_STRING }, \ - { "product", CTLTYPE_STRING }, \ -} - -/* - * XXX This information should be moved to the man page. - * - * These are the support HW selectors for sysctlbyname. Parameters that are byte counts or frequencies are 64 bit numbers. - * All other parameters are 32 bit numbers. - * - * hw.memsize - The number of bytes of physical memory in the system. - * - * hw.ncpu - The maximum number of processors that could be available this boot. - * Use this value for sizing of static per processor arrays; i.e. processor load statistics. - * - * hw.activecpu - The number of processors currently available for executing threads. - * Use this number to determine the number threads to create in SMP aware applications. - * This number can change when power management modes are changed. - * - * hw.physicalcpu - The number of physical processors available in the current power management mode. - * hw.physicalcpu_max - The maximum number of physical processors that could be available this boot - * - * hw.logicalcpu - The number of logical processors available in the current power management mode. - * hw.logicalcpu_max - The maximum number of logical processors that could be available this boot - * - * hw.tbfrequency - This gives the time base frequency used by the OS and is the basis of all timing services. - * In general is is better to use mach's or higher level timing services, but this value - * is needed to convert the PPC Time Base registers to real time. - * - * hw.cpufrequency - These values provide the current, min and max cpu frequency. The min and max are for - * hw.cpufrequency_max - all power management modes. The current frequency is the max frequency in the current mode. - * hw.cpufrequency_min - All frequencies are in Hz. - * - * hw.busfrequency - These values provide the current, min and max bus frequency. The min and max are for - * hw.busfrequency_max - all power management modes. The current frequency is the max frequency in the current mode. - * hw.busfrequency_min - All frequencies are in Hz. - * - * hw.cputype - These values provide the mach-o cpu type and subtype. A complete list is in - * hw.cpusubtype - These values should be used to determine what processor family the running cpu is from so that - * the best binary can be chosen, or the best dynamic code generated. They should not be used - * to determine if a given processor feature is available. - * hw.cputhreadtype - This value will be present if the processor supports threads. Like hw.cpusubtype this selector - * should not be used to infer features, and only used to name the processors thread architecture. - * The values are defined in - * - * hw.byteorder - Gives the byte order of the processor. 4321 for big endian, 1234 for little. - * - * hw.pagesize - Gives the size in bytes of the pages used by the processor and VM system. - * - * hw.cachelinesize - Gives the size in bytes of the processor's cache lines. - * This value should be use to control the strides of loops that use cache control instructions - * like dcbz, dcbt or dcbst. - * - * hw.l1dcachesize - These values provide the size in bytes of the L1, L2 and L3 caches. If a cache is not present - * hw.l1icachesize - then the selector will return and error. - * hw.l2cachesize - - * hw.l3cachesize - - * - * hw.packages - Gives the number of processor packages. - * - * These are the selectors for optional processor features for specific processors. Selectors that return errors are not support - * on the system. Supported features will return 1 if they are recommended or 0 if they are supported but are not expected to help . - * performance. Future versions of these selectors may return larger values as necessary so it is best to test for non zero. - * - * For PowerPC: - * - * hw.optional.floatingpoint - Floating Point Instructions - * hw.optional.altivec - AltiVec Instructions - * hw.optional.graphicsops - Graphics Operations - * hw.optional.64bitops - 64-bit Instructions - * hw.optional.fsqrt - HW Floating Point Square Root Instruction - * hw.optional.stfiwx - Store Floating Point as Integer Word Indexed Instructions - * hw.optional.dcba - Data Cache Block Allocate Instruction - * hw.optional.datastreams - Data Streams Instructions - * hw.optional.dcbtstreams - Data Cache Block Touch Steams Instruction Form - * - * For x86 Architecture: - * - * hw.optional.floatingpoint - Floating Point Instructions - * hw.optional.mmx - Original MMX vector instructions - * hw.optional.sse - Streaming SIMD Extensions - * hw.optional.sse2 - Streaming SIMD Extensions 2 - * hw.optional.sse3 - Streaming SIMD Extensions 3 - * hw.optional.supplementalsse3 - Supplemental Streaming SIMD Extensions 3 - * hw.optional.x86_64 - 64-bit support - */ - - -/* - * CTL_USER definitions - */ -#define USER_CS_PATH 1 /* string: _CS_PATH */ -#define USER_BC_BASE_MAX 2 /* int: BC_BASE_MAX */ -#define USER_BC_DIM_MAX 3 /* int: BC_DIM_MAX */ -#define USER_BC_SCALE_MAX 4 /* int: BC_SCALE_MAX */ -#define USER_BC_STRING_MAX 5 /* int: BC_STRING_MAX */ -#define USER_COLL_WEIGHTS_MAX 6 /* int: COLL_WEIGHTS_MAX */ -#define USER_EXPR_NEST_MAX 7 /* int: EXPR_NEST_MAX */ -#define USER_LINE_MAX 8 /* int: LINE_MAX */ -#define USER_RE_DUP_MAX 9 /* int: RE_DUP_MAX */ -#define USER_POSIX2_VERSION 10 /* int: POSIX2_VERSION */ -#define USER_POSIX2_C_BIND 11 /* int: POSIX2_C_BIND */ -#define USER_POSIX2_C_DEV 12 /* int: POSIX2_C_DEV */ -#define USER_POSIX2_CHAR_TERM 13 /* int: POSIX2_CHAR_TERM */ -#define USER_POSIX2_FORT_DEV 14 /* int: POSIX2_FORT_DEV */ -#define USER_POSIX2_FORT_RUN 15 /* int: POSIX2_FORT_RUN */ -#define USER_POSIX2_LOCALEDEF 16 /* int: POSIX2_LOCALEDEF */ -#define USER_POSIX2_SW_DEV 17 /* int: POSIX2_SW_DEV */ -#define USER_POSIX2_UPE 18 /* int: POSIX2_UPE */ -#define USER_STREAM_MAX 19 /* int: POSIX2_STREAM_MAX */ -#define USER_TZNAME_MAX 20 /* int: POSIX2_TZNAME_MAX */ -#define USER_MAXID 21 /* number of valid user ids */ - -#define CTL_USER_NAMES { \ - { 0, 0 }, \ - { "cs_path", CTLTYPE_STRING }, \ - { "bc_base_max", CTLTYPE_INT }, \ - { "bc_dim_max", CTLTYPE_INT }, \ - { "bc_scale_max", CTLTYPE_INT }, \ - { "bc_string_max", CTLTYPE_INT }, \ - { "coll_weights_max", CTLTYPE_INT }, \ - { "expr_nest_max", CTLTYPE_INT }, \ - { "line_max", CTLTYPE_INT }, \ - { "re_dup_max", CTLTYPE_INT }, \ - { "posix2_version", CTLTYPE_INT }, \ - { "posix2_c_bind", CTLTYPE_INT }, \ - { "posix2_c_dev", CTLTYPE_INT }, \ - { "posix2_char_term", CTLTYPE_INT }, \ - { "posix2_fort_dev", CTLTYPE_INT }, \ - { "posix2_fort_run", CTLTYPE_INT }, \ - { "posix2_localedef", CTLTYPE_INT }, \ - { "posix2_sw_dev", CTLTYPE_INT }, \ - { "posix2_upe", CTLTYPE_INT }, \ - { "stream_max", CTLTYPE_INT }, \ - { "tzname_max", CTLTYPE_INT } \ -} - - - -/* - * CTL_DEBUG definitions - * - * Second level identifier specifies which debug variable. - * Third level identifier specifies which stucture component. - */ -#define CTL_DEBUG_NAME 0 /* string: variable name */ -#define CTL_DEBUG_VALUE 1 /* int: variable value */ -#define CTL_DEBUG_MAXID 20 - - -#if (CTL_MAXID != 9) || (KERN_MAXID != 72) || (VM_MAXID != 6) || (HW_MAXID != 28) || (USER_MAXID != 21) || (CTL_DEBUG_MAXID != 20) -#error Use the SYSCTL_*() macros and OID_AUTO instead! -#endif - - - -__BEGIN_DECLS -int sysctl(int *, u_int, void *, size_t *, void *, size_t); -int sysctlbyname(const char *, void *, size_t *, void *, size_t); -int sysctlnametomib(const char *, int *, size_t *); -__END_DECLS - - - -#endif /* SYSCTL_DEF_ENABLED */ - - -#endif /* !_SYS_SYSCTL_H_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.11-any/sys/ttycom.h b/lib/libc/include/any-macos.11-any/sys/ttycom.h deleted file mode 100644 index e3830c8627..0000000000 --- a/lib/libc/include/any-macos.11-any/sys/ttycom.h +++ /dev/null @@ -1,173 +0,0 @@ -/* - * Copyright (c) 2000-2002 Apple Computer, 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@ - */ -/* Copyright (c) 1997 Apple Computer, Inc. All Rights Reserved */ -/*- - * Copyright (c) 1982, 1986, 1990, 1993, 1994 - * The Regents of the University of California. All rights reserved. - * (c) UNIX System Laboratories, Inc. - * All or some portions of this file are derived from material licensed - * to the University of California by American Telephone and Telegraph - * Co. or Unix System Laboratories, Inc. and are reproduced herein with - * the permission of UNIX System Laboratories, Inc. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)ttycom.h 8.1 (Berkeley) 3/28/94 - */ - -#ifndef _SYS_TTYCOM_H_ -#define _SYS_TTYCOM_H_ - -#include -/* - * Tty ioctl's except for those supported only for backwards compatibility - * with the old tty driver. - */ - -/* - * Window/terminal size structure. This information is stored by the kernel - * in order to provide a consistent interface, but is not used by the kernel. - */ -struct winsize { - unsigned short ws_row; /* rows, in characters */ - unsigned short ws_col; /* columns, in characters */ - unsigned short ws_xpixel; /* horizontal size, pixels */ - unsigned short ws_ypixel; /* vertical size, pixels */ -}; - -#define TIOCMODG _IOR('t', 3, int) /* get modem control state */ -#define TIOCMODS _IOW('t', 4, int) /* set modem control state */ -#define TIOCM_LE 0001 /* line enable */ -#define TIOCM_DTR 0002 /* data terminal ready */ -#define TIOCM_RTS 0004 /* request to send */ -#define TIOCM_ST 0010 /* secondary transmit */ -#define TIOCM_SR 0020 /* secondary receive */ -#define TIOCM_CTS 0040 /* clear to send */ -#define TIOCM_CAR 0100 /* carrier detect */ -#define TIOCM_CD TIOCM_CAR -#define TIOCM_RNG 0200 /* ring */ -#define TIOCM_RI TIOCM_RNG -#define TIOCM_DSR 0400 /* data set ready */ - /* 8-10 compat */ -#define TIOCEXCL _IO('t', 13) /* set exclusive use of tty */ -#define TIOCNXCL _IO('t', 14) /* reset exclusive use of tty */ - /* 15 unused */ -#define TIOCFLUSH _IOW('t', 16, int) /* flush buffers */ - /* 17-18 compat */ -#define TIOCGETA _IOR('t', 19, struct termios) /* get termios struct */ -#define TIOCSETA _IOW('t', 20, struct termios) /* set termios struct */ -#define TIOCSETAW _IOW('t', 21, struct termios) /* drain output, set */ -#define TIOCSETAF _IOW('t', 22, struct termios) /* drn out, fls in, set */ -#define TIOCGETD _IOR('t', 26, int) /* get line discipline */ -#define TIOCSETD _IOW('t', 27, int) /* set line discipline */ -#define TIOCIXON _IO('t', 129) /* internal input VSTART */ -#define TIOCIXOFF _IO('t', 128) /* internal input VSTOP */ - /* 127-124 compat */ -#define TIOCSBRK _IO('t', 123) /* set break bit */ -#define TIOCCBRK _IO('t', 122) /* clear break bit */ -#define TIOCSDTR _IO('t', 121) /* set data terminal ready */ -#define TIOCCDTR _IO('t', 120) /* clear data terminal ready */ -#define TIOCGPGRP _IOR('t', 119, int) /* get pgrp of tty */ -#define TIOCSPGRP _IOW('t', 118, int) /* set pgrp of tty */ - /* 117-116 compat */ -#define TIOCOUTQ _IOR('t', 115, int) /* output queue size */ -#define TIOCSTI _IOW('t', 114, char) /* simulate terminal input */ -#define TIOCNOTTY _IO('t', 113) /* void tty association */ -#define TIOCPKT _IOW('t', 112, int) /* pty: set/clear packet mode */ -#define TIOCPKT_DATA 0x00 /* data packet */ -#define TIOCPKT_FLUSHREAD 0x01 /* flush packet */ -#define TIOCPKT_FLUSHWRITE 0x02 /* flush packet */ -#define TIOCPKT_STOP 0x04 /* stop output */ -#define TIOCPKT_START 0x08 /* start output */ -#define TIOCPKT_NOSTOP 0x10 /* no more ^S, ^Q */ -#define TIOCPKT_DOSTOP 0x20 /* now do ^S ^Q */ -#define TIOCPKT_IOCTL 0x40 /* state change of pty driver */ -#define TIOCSTOP _IO('t', 111) /* stop output, like ^S */ -#define TIOCSTART _IO('t', 110) /* start output, like ^Q */ -#define TIOCMSET _IOW('t', 109, int) /* set all modem bits */ -#define TIOCMBIS _IOW('t', 108, int) /* bis modem bits */ -#define TIOCMBIC _IOW('t', 107, int) /* bic modem bits */ -#define TIOCMGET _IOR('t', 106, int) /* get all modem bits */ -#define TIOCREMOTE _IOW('t', 105, int) /* remote input editing */ -#define TIOCGWINSZ _IOR('t', 104, struct winsize) /* get window size */ -#define TIOCSWINSZ _IOW('t', 103, struct winsize) /* set window size */ -#define TIOCUCNTL _IOW('t', 102, int) /* pty: set/clr usr cntl mode */ -#define TIOCSTAT _IO('t', 101) /* simulate ^T status message */ -#define UIOCCMD(n) _IO('u', n) /* usr cntl op "n" */ -#define TIOCSCONS _IO('t', 99) /* 4.2 compatibility */ -#define TIOCCONS _IOW('t', 98, int) /* become virtual console */ -#define TIOCSCTTY _IO('t', 97) /* become controlling tty */ -#define TIOCEXT _IOW('t', 96, int) /* pty: external processing */ -#define TIOCSIG _IO('t', 95) /* pty: generate signal */ -#define TIOCDRAIN _IO('t', 94) /* wait till output drained */ -#define TIOCMSDTRWAIT _IOW('t', 91, int) /* modem: set wait on close */ -#define TIOCMGDTRWAIT _IOR('t', 90, int) /* modem: get wait on close */ -#define TIOCTIMESTAMP _IOR('t', 89, struct timeval) /* enable/get timestamp - * of last input event */ -#define TIOCDCDTIMESTAMP _IOR('t', 88, struct timeval) /* enable/get timestamp - * of last DCd rise */ -#define TIOCSDRAINWAIT _IOW('t', 87, int) /* set ttywait timeout */ -#define TIOCGDRAINWAIT _IOR('t', 86, int) /* get ttywait timeout */ -#define TIOCDSIMICROCODE _IO('t', 85) /* download microcode to - * DSI Softmodem */ -#define TIOCPTYGRANT _IO('t', 84) /* grantpt(3) */ -#define TIOCPTYGNAME _IOC(IOC_OUT, 't', 83, 128) /* ptsname(3) */ -#define TIOCPTYUNLK _IO('t', 82) /* unlockpt(3) */ - -#define TTYDISC 0 /* termios tty line discipline */ -#define TABLDISC 3 /* tablet discipline */ -#define SLIPDISC 4 /* serial IP discipline */ -#define PPPDISC 5 /* PPP discipline */ - -#endif /* !_SYS_TTYCOM_H_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.11-any/sys/unistd.h b/lib/libc/include/any-macos.11-any/sys/unistd.h deleted file mode 100644 index 53d0331b06..0000000000 --- a/lib/libc/include/any-macos.11-any/sys/unistd.h +++ /dev/null @@ -1,218 +0,0 @@ -/* - * Copyright (c) 2000-2013 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@ - */ -/* Copyright (c) 1995 NeXT Computer, Inc. All Rights Reserved */ -/* - * Copyright (c) 1989, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)unistd.h 8.2 (Berkeley) 1/7/94 - */ - -#ifndef _SYS_UNISTD_H_ -#define _SYS_UNISTD_H_ - -#include - -/* - * Although we have saved user/group IDs, we do not use them in setuid - * as described in POSIX 1003.1, because the feature does not work for - * root. We use the saved IDs in seteuid/setegid, which are not currently - * part of the POSIX 1003.1 specification. - */ -#ifdef _NOT_AVAILABLE -#define _POSIX_SAVED_IDS /* saved set-user-ID and set-group-ID */ -#endif - -#define _POSIX_VERSION 200112L -#define _POSIX2_VERSION 200112L - -/* execution-time symbolic constants */ -/* may disable terminal special characters */ -#include - -#define _POSIX_THREAD_KEYS_MAX 128 - -/* access function */ -#define F_OK 0 /* test for existence of file */ -#define X_OK (1<<0) /* test for execute or search permission */ -#define W_OK (1<<1) /* test for write permission */ -#define R_OK (1<<2) /* test for read permission */ - -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -/* - * Extended access functions. - * Note that we depend on these matching the definitions in sys/kauth.h, - * but with the bits shifted left by 8. - */ -#define _READ_OK (1<<9) /* read file data / read directory */ -#define _WRITE_OK (1<<10) /* write file data / add file to directory */ -#define _EXECUTE_OK (1<<11) /* execute file / search in directory*/ -#define _DELETE_OK (1<<12) /* delete file / delete directory */ -#define _APPEND_OK (1<<13) /* append to file / add subdirectory to directory */ -#define _RMFILE_OK (1<<14) /* - / remove file from directory */ -#define _RATTR_OK (1<<15) /* read basic attributes */ -#define _WATTR_OK (1<<16) /* write basic attributes */ -#define _REXT_OK (1<<17) /* read extended attributes */ -#define _WEXT_OK (1<<18) /* write extended attributes */ -#define _RPERM_OK (1<<19) /* read permissions */ -#define _WPERM_OK (1<<20) /* write permissions */ -#define _CHOWN_OK (1<<21) /* change ownership */ - -#define _ACCESS_EXTENDED_MASK (_READ_OK | _WRITE_OK | _EXECUTE_OK | \ - _DELETE_OK | _APPEND_OK | \ - _RMFILE_OK | _REXT_OK | \ - _WEXT_OK | _RATTR_OK | _WATTR_OK | _RPERM_OK | \ - _WPERM_OK | _CHOWN_OK) -#endif - -/* whence values for lseek(2) */ -#include - -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -/* whence values for lseek(2); renamed by POSIX 1003.1 */ -#define L_SET SEEK_SET -#define L_INCR SEEK_CUR -#define L_XTND SEEK_END -#endif - -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -struct accessx_descriptor { - unsigned int ad_name_offset; - int ad_flags; - int ad_pad[2]; -}; -#define ACCESSX_MAX_DESCRIPTORS 100 -#define ACCESSX_MAX_TABLESIZE (16 * 1024) -#endif - -/* configurable pathname variables */ -#define _PC_LINK_MAX 1 -#define _PC_MAX_CANON 2 -#define _PC_MAX_INPUT 3 -#define _PC_NAME_MAX 4 -#define _PC_PATH_MAX 5 -#define _PC_PIPE_BUF 6 -#define _PC_CHOWN_RESTRICTED 7 -#define _PC_NO_TRUNC 8 -#define _PC_VDISABLE 9 - -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -#define _PC_NAME_CHARS_MAX 10 -#define _PC_CASE_SENSITIVE 11 -#define _PC_CASE_PRESERVING 12 -#define _PC_EXTENDED_SECURITY_NP 13 -#define _PC_AUTH_OPAQUE_NP 14 -#endif - -#define _PC_2_SYMLINKS 15 /* Symlink supported in directory */ -#define _PC_ALLOC_SIZE_MIN 16 /* Minimum storage actually allocated */ -#define _PC_ASYNC_IO 17 /* Async I/O [AIO] supported? */ -#define _PC_FILESIZEBITS 18 /* # of bits to represent file size */ -#define _PC_PRIO_IO 19 /* Priority I/O [PIO] supported? */ -#define _PC_REC_INCR_XFER_SIZE 20 /* Recommended increment for next two */ -#define _PC_REC_MAX_XFER_SIZE 21 /* Recommended max file transfer size */ -#define _PC_REC_MIN_XFER_SIZE 22 /* Recommended min file transfer size */ -#define _PC_REC_XFER_ALIGN 23 /* Recommended buffer alignment */ -#define _PC_SYMLINK_MAX 24 /* Max # of bytes in symlink name */ -#define _PC_SYNC_IO 25 /* Sync I/O [SIO] supported? */ -#define _PC_XATTR_SIZE_BITS 26 /* # of bits to represent maximum xattr size */ -#define _PC_MIN_HOLE_SIZE 27 /* Recommended minimum hole size for sparse files */ - -/* configurable system strings */ -#define _CS_PATH 1 - -#if __DARWIN_C_LEVEL >= __DARWIN_C_FULL - -#include -#include -#include <_types/_uint64_t.h> -#include <_types/_uint32_t.h> -#include - -__BEGIN_DECLS - -int getattrlistbulk(int, void *, void *, size_t, uint64_t) __OSX_AVAILABLE_STARTING(__MAC_10_10, __IPHONE_8_0); -int getattrlistat(int, const char *, void *, void *, size_t, unsigned long) __OSX_AVAILABLE_STARTING(__MAC_10_10, __IPHONE_8_0); -int setattrlistat(int, const char *, void *, void *, size_t, uint32_t) __OSX_AVAILABLE(10.13) __IOS_AVAILABLE(11.0) __TVOS_AVAILABLE(11.0) __WATCHOS_AVAILABLE(4.0); - -__END_DECLS - -#endif /* __DARWIN_C_LEVEL >= __DARWIN_C_FULL */ - -#if __DARWIN_C_LEVEL >= 200809L - -#include -#include -#include -#include -#include -#include -#include - -__BEGIN_DECLS - -int faccessat(int, const char *, int, int) __OSX_AVAILABLE_STARTING(__MAC_10_10, __IPHONE_8_0); -int fchownat(int, const char *, uid_t, gid_t, int) __OSX_AVAILABLE_STARTING(__MAC_10_10, __IPHONE_8_0); -int linkat(int, const char *, int, const char *, int) __OSX_AVAILABLE_STARTING(__MAC_10_10, __IPHONE_8_0); -ssize_t readlinkat(int, const char *, char *, size_t) __OSX_AVAILABLE_STARTING(__MAC_10_10, __IPHONE_8_0); -int symlinkat(const char *, int, const char *) __OSX_AVAILABLE_STARTING(__MAC_10_10, __IPHONE_8_0); -int unlinkat(int, const char *, int) __OSX_AVAILABLE_STARTING(__MAC_10_10, __IPHONE_8_0); - -__END_DECLS - -#endif /* __DARWIN_C_LEVEL >= 200809L */ - -#endif /* !_SYS_UNISTD_H_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.11-any/time.h b/lib/libc/include/any-macos.11-any/time.h deleted file mode 100644 index 91a2c81399..0000000000 --- a/lib/libc/include/any-macos.11-any/time.h +++ /dev/null @@ -1,208 +0,0 @@ -/* - * Copyright (c) 2000 Apple Computer, Inc. All rights reserved. - * - * @APPLE_LICENSE_HEADER_START@ - * - * This file contains Original Code and/or Modifications of Original Code - * as defined in and that are subject to the Apple Public Source License - * Version 2.0 (the 'License'). You may not use this file except in - * compliance with the License. Please obtain a copy of the License at - * http://www.opensource.apple.com/apsl/ and read it before using this - * file. - * - * The Original Code and all software distributed under the License are - * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER - * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, - * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. - * Please see the License for the specific language governing rights and - * limitations under the License. - * - * @APPLE_LICENSE_HEADER_END@ - */ -/* - * Copyright (c) 1989, 1993 - * The Regents of the University of California. All rights reserved. - * (c) UNIX System Laboratories, Inc. - * All or some portions of this file are derived from material licensed - * to the University of California by American Telephone and Telegraph - * Co. or Unix System Laboratories, Inc. and are reproduced herein with - * the permission of UNIX System Laboratories, Inc. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)time.h 8.3 (Berkeley) 1/21/94 - */ - -#ifndef _TIME_H_ -#define _TIME_H_ - -#include <_types.h> -#include -#include -#include -#include -#include -#include -#include - -struct tm { - int tm_sec; /* seconds after the minute [0-60] */ - int tm_min; /* minutes after the hour [0-59] */ - int tm_hour; /* hours since midnight [0-23] */ - int tm_mday; /* day of the month [1-31] */ - int tm_mon; /* months since January [0-11] */ - int tm_year; /* years since 1900 */ - int tm_wday; /* days since Sunday [0-6] */ - 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 */ -}; - -#if __DARWIN_UNIX03 -#define CLOCKS_PER_SEC 1000000 /* [XSI] */ -#else /* !__DARWIN_UNIX03 */ -#include /* Include file containing CLK_TCK. */ - -#define CLOCKS_PER_SEC (__DARWIN_CLK_TCK) -#endif /* __DARWIN_UNIX03 */ - -#ifndef _ANSI_SOURCE -extern char *tzname[]; -#endif - -extern int getdate_err; -#if __DARWIN_UNIX03 -extern long timezone __DARWIN_ALIAS(timezone); -#endif /* __DARWIN_UNIX03 */ -extern int daylight; - -__BEGIN_DECLS -char *asctime(const struct tm *); -clock_t clock(void) __DARWIN_ALIAS(clock); -char *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); -time_t time(time_t *); - -#ifndef _ANSI_SOURCE -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 *); -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); -#endif /* !__DARWIN_UNIX03 */ -void tzsetwall(void); -time_t time2posix(time_t); -time_t timelocal(struct tm * const); -time_t timegm(struct tm * const); -#endif /* neither ANSI nor POSIX */ - -#if !defined(_ANSI_SOURCE) -int nanosleep(const struct timespec *__rqtp, struct timespec *__rmtp) __DARWIN_ALIAS_C(nanosleep); -#endif - -#if !defined(_DARWIN_FEATURE_CLOCK_GETTIME) || _DARWIN_FEATURE_CLOCK_GETTIME != 0 -#if __DARWIN_C_LEVEL >= 199309L -#if __has_feature(enumerator_attributes) -#define __CLOCK_AVAILABILITY __OSX_AVAILABLE(10.12) __IOS_AVAILABLE(10.0) __TVOS_AVAILABLE(10.0) __WATCHOS_AVAILABLE(3.0) -#else -#define __CLOCK_AVAILABILITY -#endif - -typedef enum { -_CLOCK_REALTIME __CLOCK_AVAILABILITY = 0, -#define CLOCK_REALTIME _CLOCK_REALTIME -_CLOCK_MONOTONIC __CLOCK_AVAILABILITY = 6, -#define CLOCK_MONOTONIC _CLOCK_MONOTONIC -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -_CLOCK_MONOTONIC_RAW __CLOCK_AVAILABILITY = 4, -#define CLOCK_MONOTONIC_RAW _CLOCK_MONOTONIC_RAW -_CLOCK_MONOTONIC_RAW_APPROX __CLOCK_AVAILABILITY = 5, -#define CLOCK_MONOTONIC_RAW_APPROX _CLOCK_MONOTONIC_RAW_APPROX -_CLOCK_UPTIME_RAW __CLOCK_AVAILABILITY = 8, -#define CLOCK_UPTIME_RAW _CLOCK_UPTIME_RAW -_CLOCK_UPTIME_RAW_APPROX __CLOCK_AVAILABILITY = 9, -#define CLOCK_UPTIME_RAW_APPROX _CLOCK_UPTIME_RAW_APPROX -#endif -_CLOCK_PROCESS_CPUTIME_ID __CLOCK_AVAILABILITY = 12, -#define CLOCK_PROCESS_CPUTIME_ID _CLOCK_PROCESS_CPUTIME_ID -_CLOCK_THREAD_CPUTIME_ID __CLOCK_AVAILABILITY = 16 -#define CLOCK_THREAD_CPUTIME_ID _CLOCK_THREAD_CPUTIME_ID -} clockid_t; - -__CLOCK_AVAILABILITY -int clock_getres(clockid_t __clock_id, struct timespec *__res); - -__CLOCK_AVAILABILITY -int clock_gettime(clockid_t __clock_id, struct timespec *__tp); - -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -__CLOCK_AVAILABILITY -__uint64_t clock_gettime_nsec_np(clockid_t __clock_id); -#endif - -__OSX_AVAILABLE(10.12) __IOS_PROHIBITED -__TVOS_PROHIBITED __WATCHOS_PROHIBITED -int clock_settime(clockid_t __clock_id, const struct timespec *__tp); - -#undef __CLOCK_AVAILABILITY -#endif /* __DARWIN_C_LEVEL */ -#endif /* _DARWIN_FEATURE_CLOCK_GETTIME */ - -#if (__DARWIN_C_LEVEL >= __DARWIN_C_FULL) || \ - (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L) || \ - (defined(__cplusplus) && __cplusplus >= 201703L) -/* ISO/IEC 9899:201x 7.27.2.5 The timespec_get function */ -#define TIME_UTC 1 /* time elapsed since epoch */ -__API_AVAILABLE(macosx(10.15), ios(13.0), tvos(13.0), watchos(6.0)) -int timespec_get(struct timespec *ts, int base); -#endif - -__END_DECLS - -#ifdef _USE_EXTENDED_LOCALES_ -#include -#endif /* _USE_EXTENDED_LOCALES_ */ - -#endif /* !_TIME_H_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.11-any/unistd.h b/lib/libc/include/any-macos.11-any/unistd.h deleted file mode 100644 index d07a4a61f5..0000000000 --- a/lib/libc/include/any-macos.11-any/unistd.h +++ /dev/null @@ -1,787 +0,0 @@ -/* - * Copyright (c) 2000, 2002-2006, 2008-2010, 2012 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@ - */ -/*- - * Copyright (c) 1998-1999 Apple Computer, Inc. All Rights Reserved - * Copyright (c) 1991, 1993, 1994 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)unistd.h 8.12 (Berkeley) 4/27/95 - * - * Copyright (c) 1998 Apple Compter, Inc. - * All Rights Reserved - */ - -/* History: - 7/14/99 EKN at Apple fixed getdirentriesattr from getdirentryattr - 3/26/98 CHW at Apple added real interface to searchfs call - 3/5/98 CHW at Apple added hfs semantic system calls headers -*/ - -#ifndef _UNISTD_H_ -#define _UNISTD_H_ - -#include <_types.h> -#include -#include -#include -#include -#include -#include -/* DO NOT REMOVE THIS COMMENT: fixincludes needs to see: - * _GCC_SIZE_T */ -#include -#include -#include -#include -#include - -#define STDIN_FILENO 0 /* standard input file descriptor */ -#define STDOUT_FILENO 1 /* standard output file descriptor */ -#define STDERR_FILENO 2 /* standard error file descriptor */ - - -/* Version test macros */ -/* _POSIX_VERSION and _POSIX2_VERSION from sys/unistd.h */ -#define _XOPEN_VERSION 600 /* [XSI] */ -#define _XOPEN_XCU_VERSION 4 /* Older standard */ - - -/* Please keep this list in the same order as the applicable standard */ -#define _POSIX_ADVISORY_INFO (-1) /* [ADV] */ -#define _POSIX_ASYNCHRONOUS_IO (-1) /* [AIO] */ -#define _POSIX_BARRIERS (-1) /* [BAR] */ -#define _POSIX_CHOWN_RESTRICTED 200112L -#define _POSIX_CLOCK_SELECTION (-1) /* [CS] */ -#define _POSIX_CPUTIME (-1) /* [CPT] */ -#define _POSIX_FSYNC 200112L /* [FSC] */ -#define _POSIX_IPV6 200112L -#define _POSIX_JOB_CONTROL 200112L -#define _POSIX_MAPPED_FILES 200112L /* [MF] */ -#define _POSIX_MEMLOCK (-1) /* [ML] */ -#define _POSIX_MEMLOCK_RANGE (-1) /* [MR] */ -#define _POSIX_MEMORY_PROTECTION 200112L /* [MPR] */ -#define _POSIX_MESSAGE_PASSING (-1) /* [MSG] */ -#define _POSIX_MONOTONIC_CLOCK (-1) /* [MON] */ -#define _POSIX_NO_TRUNC 200112L -#define _POSIX_PRIORITIZED_IO (-1) /* [PIO] */ -#define _POSIX_PRIORITY_SCHEDULING (-1) /* [PS] */ -#define _POSIX_RAW_SOCKETS (-1) /* [RS] */ -#define _POSIX_READER_WRITER_LOCKS 200112L /* [THR] */ -#define _POSIX_REALTIME_SIGNALS (-1) /* [RTS] */ -#define _POSIX_REGEXP 200112L -#define _POSIX_SAVED_IDS 200112L /* XXX required */ -#define _POSIX_SEMAPHORES (-1) /* [SEM] */ -#define _POSIX_SHARED_MEMORY_OBJECTS (-1) /* [SHM] */ -#define _POSIX_SHELL 200112L -#define _POSIX_SPAWN (-1) /* [SPN] */ -#define _POSIX_SPIN_LOCKS (-1) /* [SPI] */ -#define _POSIX_SPORADIC_SERVER (-1) /* [SS] */ -#define _POSIX_SYNCHRONIZED_IO (-1) /* [SIO] */ -#define _POSIX_THREAD_ATTR_STACKADDR 200112L /* [TSA] */ -#define _POSIX_THREAD_ATTR_STACKSIZE 200112L /* [TSS] */ -#define _POSIX_THREAD_CPUTIME (-1) /* [TCT] */ -#define _POSIX_THREAD_PRIO_INHERIT (-1) /* [TPI] */ -#define _POSIX_THREAD_PRIO_PROTECT (-1) /* [TPP] */ -#define _POSIX_THREAD_PRIORITY_SCHEDULING (-1) /* [TPS] */ -#define _POSIX_THREAD_PROCESS_SHARED 200112L /* [TSH] */ -#define _POSIX_THREAD_SAFE_FUNCTIONS 200112L /* [TSF] */ -#define _POSIX_THREAD_SPORADIC_SERVER (-1) /* [TSP] */ -#define _POSIX_THREADS 200112L /* [THR] */ -#define _POSIX_TIMEOUTS (-1) /* [TMO] */ -#define _POSIX_TIMERS (-1) /* [TMR] */ -#define _POSIX_TRACE (-1) /* [TRC] */ -#define _POSIX_TRACE_EVENT_FILTER (-1) /* [TEF] */ -#define _POSIX_TRACE_INHERIT (-1) /* [TRI] */ -#define _POSIX_TRACE_LOG (-1) /* [TRL] */ -#define _POSIX_TYPED_MEMORY_OBJECTS (-1) /* [TYM] */ -#ifndef _POSIX_VDISABLE -#define _POSIX_VDISABLE 0xff /* same as sys/termios.h */ -#endif /* _POSIX_VDISABLE */ - -#if __DARWIN_C_LEVEL >= 199209L -#define _POSIX2_C_BIND 200112L -#define _POSIX2_C_DEV 200112L /* c99 command */ -#define _POSIX2_CHAR_TERM 200112L -#define _POSIX2_FORT_DEV (-1) /* fort77 command */ -#define _POSIX2_FORT_RUN 200112L -#define _POSIX2_LOCALEDEF 200112L /* localedef command */ -#define _POSIX2_PBS (-1) -#define _POSIX2_PBS_ACCOUNTING (-1) -#define _POSIX2_PBS_CHECKPOINT (-1) -#define _POSIX2_PBS_LOCATE (-1) -#define _POSIX2_PBS_MESSAGE (-1) -#define _POSIX2_PBS_TRACK (-1) -#define _POSIX2_SW_DEV 200112L -#define _POSIX2_UPE 200112L /* XXXX no fc, newgrp, tabs */ -#endif /* __DARWIN_C_LEVEL */ - -#define __ILP32_OFF32 (-1) -#define __ILP32_OFFBIG (-1) - -#define __LP64_OFF64 (1) -#define __LPBIG_OFFBIG (1) - -#if __DARWIN_C_LEVEL >= 200112L -#define _POSIX_V6_ILP32_OFF32 __ILP32_OFF32 -#define _POSIX_V6_ILP32_OFFBIG __ILP32_OFFBIG -#define _POSIX_V6_LP64_OFF64 __LP64_OFF64 -#define _POSIX_V6_LPBIG_OFFBIG __LPBIG_OFFBIG -#endif /* __DARWIN_C_LEVEL >= 200112L */ - -#if __DARWIN_C_LEVEL >= 200809L -#define _POSIX_V7_ILP32_OFF32 __ILP32_OFF32 -#define _POSIX_V7_ILP32_OFFBIG __ILP32_OFFBIG -#define _POSIX_V7_LP64_OFF64 __LP64_OFF64 -#define _POSIX_V7_LPBIG_OFFBIG __LPBIG_OFFBIG -#endif /* __DARWIN_C_LEVEL >= 200809L */ - -#if __DARWIN_C_LEVEL >= __DARWIN_C_FULL -#define _V6_ILP32_OFF32 __ILP32_OFF32 -#define _V6_ILP32_OFFBIG __ILP32_OFFBIG -#define _V6_LP64_OFF64 __LP64_OFF64 -#define _V6_LPBIG_OFFBIG __LPBIG_OFFBIG -#endif /* __DARWIN_C_LEVEL >= __DARWIN_C_FULL */ - -#if (__DARWIN_C_LEVEL >= 199506L && __DARWIN_C_LEVEL < 200809L) || __DARWIN_C_LEVEL >= __DARWIN_C_FULL -/* Removed in Issue 7 */ -#define _XBS5_ILP32_OFF32 __ILP32_OFF32 -#define _XBS5_ILP32_OFFBIG __ILP32_OFFBIG -#define _XBS5_LP64_OFF64 __LP64_OFF64 -#define _XBS5_LPBIG_OFFBIG __LPBIG_OFFBIG -#endif /* __DARWIN_C_LEVEL < 200809L */ - -#if __DARWIN_C_LEVEL >= 199506L /* This really should be XSI */ -#define _XOPEN_CRYPT (1) -#define _XOPEN_ENH_I18N (1) /* XXX required */ -#define _XOPEN_LEGACY (-1) /* no ftime gcvt, wcswcs */ -#define _XOPEN_REALTIME (-1) /* no q'ed signals, mq_* */ -#define _XOPEN_REALTIME_THREADS (-1) /* no posix_spawn, et. al. */ -#define _XOPEN_SHM (1) -#define _XOPEN_STREAMS (-1) /* Issue 6 */ -#define _XOPEN_UNIX (1) -#endif /* XSI */ - -/* configurable system variables */ -#define _SC_ARG_MAX 1 -#define _SC_CHILD_MAX 2 -#define _SC_CLK_TCK 3 -#define _SC_NGROUPS_MAX 4 -#define _SC_OPEN_MAX 5 -#define _SC_JOB_CONTROL 6 -#define _SC_SAVED_IDS 7 -#define _SC_VERSION 8 -#define _SC_BC_BASE_MAX 9 -#define _SC_BC_DIM_MAX 10 -#define _SC_BC_SCALE_MAX 11 -#define _SC_BC_STRING_MAX 12 -#define _SC_COLL_WEIGHTS_MAX 13 -#define _SC_EXPR_NEST_MAX 14 -#define _SC_LINE_MAX 15 -#define _SC_RE_DUP_MAX 16 -#define _SC_2_VERSION 17 -#define _SC_2_C_BIND 18 -#define _SC_2_C_DEV 19 -#define _SC_2_CHAR_TERM 20 -#define _SC_2_FORT_DEV 21 -#define _SC_2_FORT_RUN 22 -#define _SC_2_LOCALEDEF 23 -#define _SC_2_SW_DEV 24 -#define _SC_2_UPE 25 -#define _SC_STREAM_MAX 26 -#define _SC_TZNAME_MAX 27 - -#if __DARWIN_C_LEVEL >= 199309L -#define _SC_ASYNCHRONOUS_IO 28 -#define _SC_PAGESIZE 29 -#define _SC_MEMLOCK 30 -#define _SC_MEMLOCK_RANGE 31 -#define _SC_MEMORY_PROTECTION 32 -#define _SC_MESSAGE_PASSING 33 -#define _SC_PRIORITIZED_IO 34 -#define _SC_PRIORITY_SCHEDULING 35 -#define _SC_REALTIME_SIGNALS 36 -#define _SC_SEMAPHORES 37 -#define _SC_FSYNC 38 -#define _SC_SHARED_MEMORY_OBJECTS 39 -#define _SC_SYNCHRONIZED_IO 40 -#define _SC_TIMERS 41 -#define _SC_AIO_LISTIO_MAX 42 -#define _SC_AIO_MAX 43 -#define _SC_AIO_PRIO_DELTA_MAX 44 -#define _SC_DELAYTIMER_MAX 45 -#define _SC_MQ_OPEN_MAX 46 -#define _SC_MAPPED_FILES 47 /* swap _SC_PAGESIZE vs. BSD */ -#define _SC_RTSIG_MAX 48 -#define _SC_SEM_NSEMS_MAX 49 -#define _SC_SEM_VALUE_MAX 50 -#define _SC_SIGQUEUE_MAX 51 -#define _SC_TIMER_MAX 52 -#endif /* __DARWIN_C_LEVEL >= 199309L */ - -#if __DARWIN_C_LEVEL >= __DARWIN_C_FULL -#define _SC_NPROCESSORS_CONF 57 -#define _SC_NPROCESSORS_ONLN 58 -#endif /* __DARWIN_C_LEVEL >= __DARWIN_C_FULL */ - -#if __DARWIN_C_LEVEL >= 200112L -#define _SC_2_PBS 59 -#define _SC_2_PBS_ACCOUNTING 60 -#define _SC_2_PBS_CHECKPOINT 61 -#define _SC_2_PBS_LOCATE 62 -#define _SC_2_PBS_MESSAGE 63 -#define _SC_2_PBS_TRACK 64 -#define _SC_ADVISORY_INFO 65 -#define _SC_BARRIERS 66 -#define _SC_CLOCK_SELECTION 67 -#define _SC_CPUTIME 68 -#define _SC_FILE_LOCKING 69 -#define _SC_GETGR_R_SIZE_MAX 70 -#define _SC_GETPW_R_SIZE_MAX 71 -#define _SC_HOST_NAME_MAX 72 -#define _SC_LOGIN_NAME_MAX 73 -#define _SC_MONOTONIC_CLOCK 74 -#define _SC_MQ_PRIO_MAX 75 -#define _SC_READER_WRITER_LOCKS 76 -#define _SC_REGEXP 77 -#define _SC_SHELL 78 -#define _SC_SPAWN 79 -#define _SC_SPIN_LOCKS 80 -#define _SC_SPORADIC_SERVER 81 -#define _SC_THREAD_ATTR_STACKADDR 82 -#define _SC_THREAD_ATTR_STACKSIZE 83 -#define _SC_THREAD_CPUTIME 84 -#define _SC_THREAD_DESTRUCTOR_ITERATIONS 85 -#define _SC_THREAD_KEYS_MAX 86 -#define _SC_THREAD_PRIO_INHERIT 87 -#define _SC_THREAD_PRIO_PROTECT 88 -#define _SC_THREAD_PRIORITY_SCHEDULING 89 -#define _SC_THREAD_PROCESS_SHARED 90 -#define _SC_THREAD_SAFE_FUNCTIONS 91 -#define _SC_THREAD_SPORADIC_SERVER 92 -#define _SC_THREAD_STACK_MIN 93 -#define _SC_THREAD_THREADS_MAX 94 -#define _SC_TIMEOUTS 95 -#define _SC_THREADS 96 -#define _SC_TRACE 97 -#define _SC_TRACE_EVENT_FILTER 98 -#define _SC_TRACE_INHERIT 99 -#define _SC_TRACE_LOG 100 -#define _SC_TTY_NAME_MAX 101 -#define _SC_TYPED_MEMORY_OBJECTS 102 -#define _SC_V6_ILP32_OFF32 103 -#define _SC_V6_ILP32_OFFBIG 104 -#define _SC_V6_LP64_OFF64 105 -#define _SC_V6_LPBIG_OFFBIG 106 -#define _SC_IPV6 118 -#define _SC_RAW_SOCKETS 119 -#define _SC_SYMLOOP_MAX 120 -#endif /* __DARWIN_C_LEVEL >= 200112L */ - -#if __DARWIN_C_LEVEL >= 199506L /* Really XSI */ -#define _SC_ATEXIT_MAX 107 -#define _SC_IOV_MAX 56 -#define _SC_PAGE_SIZE _SC_PAGESIZE -#define _SC_XOPEN_CRYPT 108 -#define _SC_XOPEN_ENH_I18N 109 -#define _SC_XOPEN_LEGACY 110 /* Issue 6 */ -#define _SC_XOPEN_REALTIME 111 /* Issue 6 */ -#define _SC_XOPEN_REALTIME_THREADS 112 /* Issue 6 */ -#define _SC_XOPEN_SHM 113 -#define _SC_XOPEN_STREAMS 114 /* Issue 6 */ -#define _SC_XOPEN_UNIX 115 -#define _SC_XOPEN_VERSION 116 -#define _SC_XOPEN_XCU_VERSION 121 -#endif /* XSI */ - -#if (__DARWIN_C_LEVEL >= 199506L && __DARWIN_C_LEVEL < 200809L) || __DARWIN_C_LEVEL >= __DARWIN_C_FULL -/* Removed in Issue 7 */ -#define _SC_XBS5_ILP32_OFF32 122 -#define _SC_XBS5_ILP32_OFFBIG 123 -#define _SC_XBS5_LP64_OFF64 124 -#define _SC_XBS5_LPBIG_OFFBIG 125 -#endif /* __DARWIN_C_LEVEL <= 200809L */ - -#if __DARWIN_C_LEVEL >= 200112L -#define _SC_SS_REPL_MAX 126 -#define _SC_TRACE_EVENT_NAME_MAX 127 -#define _SC_TRACE_NAME_MAX 128 -#define _SC_TRACE_SYS_MAX 129 -#define _SC_TRACE_USER_EVENT_MAX 130 -#endif - -#if __DARWIN_C_LEVEL < 200112L || __DARWIN_C_LEVEL >= __DARWIN_C_FULL -/* Removed in Issue 6 */ -#define _SC_PASS_MAX 131 -#endif - -/* 132-199 available for future use */ -#if __DARWIN_C_LEVEL >= __DARWIN_C_FULL -#define _SC_PHYS_PAGES 200 -#endif /* __DARWIN_C_LEVEL >= __DARWIN_C_FULL */ - -#if __DARWIN_C_LEVEL >= 199209L -#ifndef _CS_PATH /* Defined in */ -#define _CS_PATH 1 -#endif -#endif - -#if __DARWIN_C_LEVEL >= 200112 -#define _CS_POSIX_V6_ILP32_OFF32_CFLAGS 2 -#define _CS_POSIX_V6_ILP32_OFF32_LDFLAGS 3 -#define _CS_POSIX_V6_ILP32_OFF32_LIBS 4 -#define _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS 5 -#define _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS 6 -#define _CS_POSIX_V6_ILP32_OFFBIG_LIBS 7 -#define _CS_POSIX_V6_LP64_OFF64_CFLAGS 8 -#define _CS_POSIX_V6_LP64_OFF64_LDFLAGS 9 -#define _CS_POSIX_V6_LP64_OFF64_LIBS 10 -#define _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS 11 -#define _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS 12 -#define _CS_POSIX_V6_LPBIG_OFFBIG_LIBS 13 -#define _CS_POSIX_V6_WIDTH_RESTRICTED_ENVS 14 -#endif - -#if (__DARWIN_C_LEVEL >= 199506L && __DARWIN_C_LEVEL < 200809L) || __DARWIN_C_LEVEL >= __DARWIN_C_FULL -/* Removed in Issue 7 */ -#define _CS_XBS5_ILP32_OFF32_CFLAGS 20 -#define _CS_XBS5_ILP32_OFF32_LDFLAGS 21 -#define _CS_XBS5_ILP32_OFF32_LIBS 22 -#define _CS_XBS5_ILP32_OFF32_LINTFLAGS 23 -#define _CS_XBS5_ILP32_OFFBIG_CFLAGS 24 -#define _CS_XBS5_ILP32_OFFBIG_LDFLAGS 25 -#define _CS_XBS5_ILP32_OFFBIG_LIBS 26 -#define _CS_XBS5_ILP32_OFFBIG_LINTFLAGS 27 -#define _CS_XBS5_LP64_OFF64_CFLAGS 28 -#define _CS_XBS5_LP64_OFF64_LDFLAGS 29 -#define _CS_XBS5_LP64_OFF64_LIBS 30 -#define _CS_XBS5_LP64_OFF64_LINTFLAGS 31 -#define _CS_XBS5_LPBIG_OFFBIG_CFLAGS 32 -#define _CS_XBS5_LPBIG_OFFBIG_LDFLAGS 33 -#define _CS_XBS5_LPBIG_OFFBIG_LIBS 34 -#define _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS 35 -#endif - -#if __DARWIN_C_LEVEL >= __DARWIN_C_FULL -#define _CS_DARWIN_USER_DIR 65536 -#define _CS_DARWIN_USER_TEMP_DIR 65537 -#define _CS_DARWIN_USER_CACHE_DIR 65538 -#endif /* __DARWIN_C_LEVEL >= __DARWIN_C_FULL */ - - -#ifdef _DARWIN_UNLIMITED_GETGROUPS -#if defined(__IPHONE_OS_VERSION_MIN_REQUIRED) && __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_3_2 -#error "_DARWIN_UNLIMITED_GETGROUPS specified, but -miphoneos-version-min version does not support it." -#elif defined(__MAC_OS_X_VERSION_MIN_REQUIRED) && __MAC_OS_X_VERSION_MIN_REQUIRED < __MAC_10_6 -#error "_DARWIN_UNLIMITED_GETGROUPS specified, but -mmacosx-version-min version does not support it." -#endif -#endif - -/* POSIX.1-1990 */ - -__BEGIN_DECLS -void _exit(int) __dead2; -int access(const char *, int); -unsigned int - alarm(unsigned int); -int chdir(const char *); -int chown(const char *, uid_t, gid_t); - -int close(int) __DARWIN_ALIAS_C(close); - -int dup(int); -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; -pid_t fork(void) __WATCHOS_PROHIBITED __TVOS_PROHIBITED; -long fpathconf(int, int); -char *getcwd(char *, size_t); -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)); -#else /* !_DARWIN_UNLIMITED_GETGROUPS && !_DARWIN_C_SOURCE */ -int getgroups(int, gid_t []); -#endif /* _DARWIN_UNLIMITED_GETGROUPS || _DARWIN_C_SOURCE */ -char *getlogin(void); -pid_t getpgrp(void); -pid_t getpid(void); -pid_t getppid(void); -uid_t getuid(void); -int isatty(int); -int link(const char *, const char *); -off_t lseek(int, off_t, int); -long pathconf(const char *, int); - -int pause(void) __DARWIN_ALIAS_C(pause); - -int pipe(int [2]); - -ssize_t read(int, void *, size_t) __DARWIN_ALIAS_C(read); - -int rmdir(const char *); -int setgid(gid_t); -int setpgid(pid_t, pid_t); -pid_t setsid(void); -int setuid(uid_t); - -unsigned int - sleep(unsigned int) __DARWIN_ALIAS_C(sleep); - -long sysconf(int); -pid_t tcgetpgrp(int); -int tcsetpgrp(int, pid_t); -char *ttyname(int); - -#if __DARWIN_UNIX03 -int ttyname_r(int, char *, size_t) __DARWIN_ALIAS(ttyname_r); -#else /* !__DARWIN_UNIX03 */ -char *ttyname_r(int, char *, size_t); -#endif /* __DARWIN_UNIX03 */ - -int unlink(const char *); - -ssize_t write(int __fd, const void * __buf, size_t __nbyte) __DARWIN_ALIAS_C(write); -__END_DECLS - - - -/* Additional functionality provided by: - * POSIX.2-1992 C Language Binding Option - */ - -#if __DARWIN_C_LEVEL >= 199209L -__BEGIN_DECLS -size_t confstr(int, char *, size_t) __DARWIN_ALIAS(confstr); - -int getopt(int, char * const [], const char *) __DARWIN_ALIAS(getopt); - -extern char *optarg; /* getopt(3) external variables */ -extern int optind, opterr, optopt; -__END_DECLS -#endif /* __DARWIN_C_LEVEL >= 199209L */ - - - -/* Additional functionality provided by: - * POSIX.1c-1995, - * POSIX.1i-1995, - * and the omnibus ISO/IEC 9945-1: 1996 - */ - -#if __DARWIN_C_LEVEL >= 199506L -#include <_ctermid.h> - /* These F_* are really XSI or Issue 6 */ -#define F_ULOCK 0 /* unlock locked section */ -#define F_LOCK 1 /* lock a section for exclusive use */ -#define F_TLOCK 2 /* test and lock a section for exclusive use */ -#define F_TEST 3 /* test a section for locks by other procs */ - - __BEGIN_DECLS - -/* Begin XSI */ -/* Removed in Issue 6 */ -#if !defined(_POSIX_C_SOURCE) || _POSIX_C_SOURCE < 200112L -#if !defined(_POSIX_C_SOURCE) -__deprecated __WATCHOS_PROHIBITED __TVOS_PROHIBITED -#endif -void *brk(const void *); -int chroot(const char *) __POSIX_C_DEPRECATED(199506L); -#endif - -char *crypt(const char *, const char *); -#if __DARWIN_UNIX03 -void encrypt(char *, int) __DARWIN_ALIAS(encrypt); -#else /* !__DARWIN_UNIX03 */ -int encrypt(char *, int); -#endif /* __DARWIN_UNIX03 */ -int fchdir(int); -long gethostid(void); -pid_t getpgid(pid_t); -pid_t getsid(pid_t); - -/* Removed in Issue 6 */ -#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); -#endif - -/* Removed in Issue 7 */ -#if !defined(_POSIX_C_SOURCE) || _POSIX_C_SOURCE < 200809L -char *getwd(char *) __POSIX_C_DEPRECATED(200112L); /* obsoleted by getcwd() */ -#endif - -int lchown(const char *, uid_t, gid_t) __DARWIN_ALIAS(lchown); - -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 pwrite(int __fd, const void * __buf, size_t __nbyte, off_t __offset) __DARWIN_ALIAS_C(pwrite); - -/* Removed in Issue 6 */ -#if !defined(_POSIX_C_SOURCE) || _POSIX_C_SOURCE < 200112L -/* Note that Issue 5 changed the argument as intprt_t, - * but we keep it as int for binary compatability. */ -#if !defined(_POSIX_C_SOURCE) -__deprecated __WATCHOS_PROHIBITED __TVOS_PROHIBITED -#endif -void *sbrk(int); -#endif - -#if __DARWIN_UNIX03 -pid_t setpgrp(void) __DARWIN_ALIAS(setpgrp); -#else /* !__DARWIN_UNIX03 */ -int setpgrp(pid_t pid, pid_t pgrp); /* obsoleted by setpgid() */ -#endif /* __DARWIN_UNIX03 */ - -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 sync(void); -int truncate(const char *, off_t); -useconds_t ualarm(useconds_t, useconds_t); -int usleep(useconds_t) __DARWIN_ALIAS_C(usleep); -pid_t vfork(void) __WATCHOS_PROHIBITED __TVOS_PROHIBITED; -/* End XSI */ - -int fsync(int) __DARWIN_ALIAS_C(fsync); - -int ftruncate(int, off_t); -int getlogin_r(char *, size_t); -__END_DECLS -#endif /* __DARWIN_C_LEVEL >= 199506L */ - - - -/* Additional functionality provided by: - * POSIX.1-2001 - * ISO C99 - */ - -#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 setegid(gid_t); -int seteuid(uid_t); -int symlink(const char *, const char *); -__END_DECLS -#endif /* __DARWIN_C_LEVEL >= 200112L */ - - - -/* Darwin extensions */ - -#if __DARWIN_C_LEVEL >= __DARWIN_C_FULL -#include - -#include -#include -#include - -__BEGIN_DECLS -void _Exit(int) __dead2; -int accessx_np(const struct accessx_descriptor *, size_t, int *, uid_t); -int acct(const char *); -int add_profil(char *, size_t, 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 *); -#if defined(__has_include) -#if __has_include() -#include -#else -#include -#endif -#else -#include -#endif -mode_t getmode(const void *, mode_t); -int getpeereid(int, uid_t *, gid_t *); -int getsgroups_np(int *, uuid_t); -char *getusershell(void); -int getwgroups_np(int *, uuid_t); -int initgroups(const char *, int); -int issetugid(void); -char *mkdtemp(char *); -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) - __OSX_AVAILABLE(10.12) __IOS_AVAILABLE(10.0) - __TVOS_AVAILABLE(10.0) __WATCHOS_AVAILABLE(3.0); -int mkostemps(char *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) - __OSX_UNAVAILABLE __IOS_AVAILABLE(10.0) - __TVOS_AVAILABLE(10.0) __WATCHOS_AVAILABLE(3.0); -char *mkdtempat_np(int dfd, char *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) - __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) - __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); - -__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 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 *, - int); -__deprecated int rresvport(int *); -__deprecated int rresvport_af(int *, int); -__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 setgroups(int, const gid_t *); -void sethostid(long); -int sethostname(const char *, int); -#if __DARWIN_UNIX03 -void setkey(const char *) __DARWIN_ALIAS(setkey); -#else /* !__DARWIN_UNIX03 */ -int setkey(const char *); -#endif /* __DARWIN_UNIX03 */ -int setlogin(const char *); -void *setmode(const char *) __DARWIN_ALIAS_STARTING(__MAC_10_6, __IPHONE_2_0, __DARWIN_ALIAS(setmode)); -int setrgid(gid_t); -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 swapon(const char *); -int ttyslot(void); -int undelete(const char *); -int unwhiteout(const char *); -void *valloc(size_t); - -__WATCHOS_PROHIBITED __TVOS_PROHIBITED -__OS_AVAILABILITY_MSG(ios,deprecated=10.0,"syscall(2) is unsupported; " - "please switch to a supported interface. For SYS_kdebug_trace use kdebug_signpost().") -__OS_AVAILABILITY_MSG(macosx,deprecated=10.12,"syscall(2) is unsupported; " - "please switch to a supported interface. For SYS_kdebug_trace use kdebug_signpost().") -int syscall(int, ...); - -extern char *suboptarg; /* getsubopt(3) external variable */ -int getsubopt(char **, char * const *, char **); - -/* 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 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; - -#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 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; - -#endif /* __LP64__ */ - -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); - -#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 */ - -int fsync_volume_np(int, int) __OSX_AVAILABLE_STARTING(__MAC_10_8, __IPHONE_6_0); -int sync_volume_np(const char *, int) __OSX_AVAILABLE_STARTING(__MAC_10_8, __IPHONE_6_0); - -extern int optreset; - -__END_DECLS -#endif /* __DARWIN_C_LEVEL >= __DARWIN_C_FULL */ - -#endif /* _UNISTD_H_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.11-any/uuid/uuid.h b/lib/libc/include/any-macos.11-any/uuid/uuid.h deleted file mode 100644 index ce75c9e0e1..0000000000 --- a/lib/libc/include/any-macos.11-any/uuid/uuid.h +++ /dev/null @@ -1,79 +0,0 @@ -/* - * Public include file for the UUID library - * - * Copyright (C) 1996, 1997, 1998 Theodore Ts'o. - * - * %Begin-Header% - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, and the entire permission notice in its entirety, - * including the disclaimer of warranties. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. The name of the author may not be used to endorse or promote - * products derived from this software without specific prior - * written permission. - * - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ALL OF - * WHICH ARE HEREBY DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT - * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR - * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF - * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE - * USE OF THIS SOFTWARE, EVEN IF NOT ADVISED OF THE POSSIBILITY OF SUCH - * DAMAGE. - * %End-Header% - */ - -#ifndef _UUID_UUID_H -#define _UUID_UUID_H - -#include -#include - -#ifndef _UUID_STRING_T -#define _UUID_STRING_T -typedef __darwin_uuid_string_t uuid_string_t; -#endif /* _UUID_STRING_T */ - -#define UUID_DEFINE(name, u0, u1, u2, u3, u4, u5, u6, u7, u8, u9, u10, u11, u12, u13, u14, u15) \ - static const uuid_t name __attribute__ ((unused)) = {u0,u1,u2,u3,u4,u5,u6,u7,u8,u9,u10,u11,u12,u13,u14,u15} - -UUID_DEFINE(UUID_NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); - -#ifdef __cplusplus -extern "C" { -#endif - -void uuid_clear(uuid_t uu); - -int uuid_compare(const uuid_t uu1, const uuid_t uu2); - -void uuid_copy(uuid_t dst, const uuid_t src); - -void uuid_generate(uuid_t out); -void uuid_generate_random(uuid_t out); -void uuid_generate_time(uuid_t out); - -void uuid_generate_early_random(uuid_t out); - -int uuid_is_null(const uuid_t uu); - -int uuid_parse(const uuid_string_t in, uuid_t uu); - -void uuid_unparse(const uuid_t uu, uuid_string_t out); -void uuid_unparse_lower(const uuid_t uu, uuid_string_t out); -void uuid_unparse_upper(const uuid_t uu, uuid_string_t out); - -#ifdef __cplusplus -} -#endif - -#endif /* _UUID_UUID_H */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.11-any/xpc/activity.h b/lib/libc/include/any-macos.11-any/xpc/activity.h deleted file mode 100644 index c48051f145..0000000000 --- a/lib/libc/include/any-macos.11-any/xpc/activity.h +++ /dev/null @@ -1,446 +0,0 @@ -#ifndef __XPC_ACTIVITY_H__ -#define __XPC_ACTIVITY_H__ - -#ifndef __XPC_INDIRECT__ -#error "Please #include instead of this file directly." -// For HeaderDoc. -#include -#endif // __XPC_INDIRECT__ - -#ifdef __BLOCKS__ - -XPC_ASSUME_NONNULL_BEGIN -__BEGIN_DECLS - -/* - * The following are a collection of keys and values used to set an activity's - * execution criteria. - */ - -/*! - * @constant XPC_ACTIVITY_INTERVAL - * An integer property indicating the desired time interval (in seconds) of the - * activity. The activity will not be run more than once per time interval. - * Due to the nature of XPC Activity finding an opportune time to run - * the activity, any two occurrences may be more or less than 'interval' - * seconds apart, but on average will be 'interval' seconds apart. - * The presence of this key implies the following, unless overridden: - * - XPC_ACTIVITY_REPEATING with a value of true - * - XPC_ACTIVITY_DELAY with a value of half the 'interval' - * The delay enforces a minimum distance between any two occurrences. - * - XPC_ACTIVITY_GRACE_PERIOD with a value of half the 'interval'. - * The grace period is the amount of time allowed to pass after the end of - * the interval before more aggressive scheduling occurs. The grace period - * does not increase the size of the interval. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_9, __IPHONE_7_0) -XPC_EXPORT -const char * const XPC_ACTIVITY_INTERVAL; - -/*! - * @constant XPC_ACTIVITY_REPEATING - * A boolean property indicating whether this is a repeating activity. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_9, __IPHONE_7_0) -XPC_EXPORT -const char * const XPC_ACTIVITY_REPEATING; - -/*! - * @constant XPC_ACTIVITY_DELAY - * An integer property indicating the number of seconds to delay before - * beginning the activity. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_9, __IPHONE_7_0) -XPC_EXPORT -const char * const XPC_ACTIVITY_DELAY; - -/*! - * @constant XPC_ACTIVITY_GRACE_PERIOD - * An integer property indicating the number of seconds to allow as a grace - * period before the scheduling of the activity becomes more aggressive. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_9, __IPHONE_7_0) -XPC_EXPORT -const char * const XPC_ACTIVITY_GRACE_PERIOD; - - -__OSX_AVAILABLE_STARTING(__MAC_10_9, __IPHONE_7_0) -XPC_EXPORT -const int64_t XPC_ACTIVITY_INTERVAL_1_MIN; - -__OSX_AVAILABLE_STARTING(__MAC_10_9, __IPHONE_7_0) -XPC_EXPORT -const int64_t XPC_ACTIVITY_INTERVAL_5_MIN; - -__OSX_AVAILABLE_STARTING(__MAC_10_9, __IPHONE_7_0) -XPC_EXPORT -const int64_t XPC_ACTIVITY_INTERVAL_15_MIN; - -__OSX_AVAILABLE_STARTING(__MAC_10_9, __IPHONE_7_0) -XPC_EXPORT -const int64_t XPC_ACTIVITY_INTERVAL_30_MIN; - -__OSX_AVAILABLE_STARTING(__MAC_10_9, __IPHONE_7_0) -XPC_EXPORT -const int64_t XPC_ACTIVITY_INTERVAL_1_HOUR; - -__OSX_AVAILABLE_STARTING(__MAC_10_9, __IPHONE_7_0) -XPC_EXPORT -const int64_t XPC_ACTIVITY_INTERVAL_4_HOURS; - -__OSX_AVAILABLE_STARTING(__MAC_10_9, __IPHONE_7_0) -XPC_EXPORT -const int64_t XPC_ACTIVITY_INTERVAL_8_HOURS; - -__OSX_AVAILABLE_STARTING(__MAC_10_9, __IPHONE_7_0) -XPC_EXPORT -const int64_t XPC_ACTIVITY_INTERVAL_1_DAY; - -__OSX_AVAILABLE_STARTING(__MAC_10_9, __IPHONE_7_0) -XPC_EXPORT -const int64_t XPC_ACTIVITY_INTERVAL_7_DAYS; - -/*! - * @constant XPC_ACTIVITY_PRIORITY - * A string property indicating the priority of the activity. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_9, __IPHONE_7_0) -XPC_EXPORT -const char * const XPC_ACTIVITY_PRIORITY; - -/*! - * @constant XPC_ACTIVITY_PRIORITY_MAINTENANCE - * A string indicating activity is maintenance priority. - * - * Maintenance priority is intended for user-invisible maintenance tasks - * such as garbage collection or optimization. - * - * Maintenance activities are not permitted to run if the device thermal - * condition exceeds a nominal level or if the battery level is lower than 20%. - * In Low Power Mode (on supported devices), maintenance activities are not - * permitted to run while the device is on battery, or plugged in and the - * battery level is lower than 30%. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_9, __IPHONE_7_0) -XPC_EXPORT -const char * const XPC_ACTIVITY_PRIORITY_MAINTENANCE; - -/*! - * @constant XPC_ACTIVITY_PRIORITY_UTILITY - * A string indicating activity is utility priority. - * - * Utility priority is intended for user-visible tasks such as fetching data - * from the network, copying files, or importing data. - * - * Utility activities are not permitted to run if the device thermal condition - * exceeds a moderate level or if the battery level is less than 10%. In Low - * Power Mode (on supported devices) when on battery power, utility activities - * are only permitted when they are close to their deadline (90% of their time - * window has elapsed). - */ -__OSX_AVAILABLE_STARTING(__MAC_10_9, __IPHONE_7_0) -XPC_EXPORT -const char * const XPC_ACTIVITY_PRIORITY_UTILITY; - -/*! - * @constant XPC_ACTIVITY_ALLOW_BATTERY - * A Boolean value indicating whether the activity should be allowed to run - * while the computer is on battery power. The default value is false for - * maintenance priority activity and true for utility priority activity. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_9, __IPHONE_7_0) -XPC_EXPORT -const char * const XPC_ACTIVITY_ALLOW_BATTERY; - -/*! - * @constant XPC_ACTIVITY_REQUIRE_SCREEN_SLEEP - * A Boolean value indicating whether the activity should only be performed - * while device appears to be asleep. Note that the definition of screen sleep - * may vary by platform and may include states where the device is known to be - * idle despite the fact that the display itself is still powered. Defaults to - * false. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_9, __IPHONE_7_0) -XPC_EXPORT -const char * const XPC_ACTIVITY_REQUIRE_SCREEN_SLEEP; // bool - -/*! - * @constant XPC_ACTIVITY_REQUIRE_BATTERY_LEVEL - * An integer percentage of minimum battery charge required to allow the - * activity to run. A default minimum battery level is determined by the - * system. - */ -__OSX_AVAILABLE_BUT_DEPRECATED_MSG(__MAC_10_9, __MAC_10_9, __IPHONE_7_0, __IPHONE_7_0, - "REQUIRE_BATTERY_LEVEL is not implemented") -XPC_EXPORT -const char * const XPC_ACTIVITY_REQUIRE_BATTERY_LEVEL; // int (%) - -/*! - * @constant XPC_ACTIVITY_REQUIRE_HDD_SPINNING - * A Boolean value indicating whether the activity should only be performed - * while the hard disk drive (HDD) is spinning. Computers with flash storage - * are considered to be equivalent to HDD spinning. Defaults to false. - */ -__OSX_AVAILABLE_BUT_DEPRECATED_MSG(__MAC_10_9, __MAC_10_9, __IPHONE_7_0, __IPHONE_7_0, - "REQUIRE_HDD_SPINNING is not implemented") -XPC_EXPORT -const char * const XPC_ACTIVITY_REQUIRE_HDD_SPINNING; // bool - -/*! - * @define XPC_TYPE_ACTIVITY - * A type representing the XPC activity object. - */ -#define XPC_TYPE_ACTIVITY (&_xpc_type_activity) -__OSX_AVAILABLE_STARTING(__MAC_10_9, __IPHONE_7_0) -XPC_EXPORT -XPC_TYPE(_xpc_type_activity); - -/*! - * @typedef xpc_activity_t - * - * @abstract - * An XPC activity object. - * - * @discussion - * This object represents a set of execution criteria and a current execution - * state for background activity on the system. Once an activity is registered, - * the system will evaluate its criteria to determine whether the activity is - * eligible to run under current system conditions. When an activity becomes - * eligible to run, its execution state will be updated and an invocation of - * its handler block will be made. - */ -XPC_DECL(xpc_activity); - -/*! - * @typedef xpc_activity_handler_t - * - * @abstract - * A block that is called when an XPC activity becomes eligible to run. - */ -XPC_NONNULL1 -typedef void (^xpc_activity_handler_t)(xpc_activity_t activity); - -/*! - * @constant XPC_ACTIVITY_CHECK_IN - * This constant may be passed to xpc_activity_register() as the criteria - * dictionary in order to check in with the system for previously registered - * activity using the same identifier (for example, an activity taken from a - * launchd property list). - */ -__OSX_AVAILABLE_STARTING(__MAC_10_9, __IPHONE_7_0) -XPC_EXPORT -const xpc_object_t XPC_ACTIVITY_CHECK_IN; - -/*! - * @function xpc_activity_register - * - * @abstract - * Registers an activity with the system. - * - * @discussion - * Registers a new activity with the system. The criteria of the activity are - * described by the dictionary passed to this function. If an activity with the - * same identifier already exists, the criteria provided override the existing - * criteria unless the special dictionary XPC_ACTIVITY_CHECK_IN is used. The - * XPC_ACTIVITY_CHECK_IN dictionary instructs the system to first look up an - * existing activity without modifying its criteria. Once the existing activity - * is found (or a new one is created with an empty set of criteria) the handler - * will be called with an activity object in the XPC_ACTIVITY_STATE_CHECK_IN - * state. - * - * @param identifier - * A unique identifier for the activity. Each application has its own namespace. - * The identifier should remain constant across registrations, relaunches of - * the application, and reboots. It should identify the kind of work being done, - * not a particular invocation of the work. - * - * @param criteria - * A dictionary of criteria for the activity. - * - * @param handler - * The handler block to be called when the activity changes state to one of the - * following states: - * - XPC_ACTIVITY_STATE_CHECK_IN (optional) - * - XPC_ACTIVITY_STATE_RUN - * - * The handler block is never invoked reentrantly. It will be invoked on a - * dispatch queue with an appropriate priority to perform the activity. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_9, __IPHONE_7_0) -XPC_EXPORT XPC_NONNULL1 XPC_NONNULL2 XPC_NONNULL3 -void -xpc_activity_register(const char *identifier, xpc_object_t criteria, - xpc_activity_handler_t handler); - -/*! - * @function xpc_activity_copy_criteria - * - * @abstract - * Returns an XPC dictionary describing the execution criteria of an activity. - * This will return NULL in cases where the activity has already completed, e.g. - * when checking in to an event that finished and was not rescheduled. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_9, __IPHONE_7_0) -XPC_EXPORT XPC_WARN_RESULT XPC_RETURNS_RETAINED XPC_NONNULL1 -xpc_object_t _Nullable -xpc_activity_copy_criteria(xpc_activity_t activity); - -/*! - * @function xpc_activity_set_criteria - * - * @abstract - * Modifies the execution criteria of an activity. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_9, __IPHONE_7_0) -XPC_EXPORT XPC_NONNULL1 XPC_NONNULL2 -void -xpc_activity_set_criteria(xpc_activity_t activity, xpc_object_t criteria); - -/*! - * @enum xpc_activity_state_t - * An activity is defined to be in one of the following states. Applications - * may check the current state of the activity using xpc_activity_get_state() - * in the handler block provided to xpc_activity_register(). - * - * The application can modify the state of the activity by calling - * xpc_activity_set_state() with one of the following: - * - XPC_ACTIVITY_STATE_DEFER - * - XPC_ACTIVITY_STATE_CONTINUE - * - XPC_ACTIVITY_STATE_DONE - * - * @constant XPC_ACTIVITY_STATE_CHECK_IN - * An activity in this state has just completed a checkin with the system after - * XPC_ACTIVITY_CHECK_IN was provided as the criteria dictionary to - * xpc_activity_register. The state gives the application an opportunity to - * inspect and modify the activity's criteria. - * - * @constant XPC_ACTIVITY_STATE_WAIT - * An activity in this state is waiting for an opportunity to run. This value - * is never returned within the activity's handler block, as the block is - * invoked in response to XPC_ACTIVITY_STATE_CHECK_IN or XPC_ACTIVITY_STATE_RUN. - * - * Note: - * A launchd job may idle exit while an activity is in the wait state and be - * relaunched in response to the activity becoming runnable. The launchd job - * simply needs to re-register for the activity on its next launch by passing - * XPC_ACTIVITY_STATE_CHECK_IN to xpc_activity_register(). - * - * @constant XPC_ACTIVITY_STATE_RUN - * An activity in this state is eligible to run based on its criteria. - * - * @constant XPC_ACTIVITY_STATE_DEFER - * An application may pass this value to xpc_activity_set_state() to indicate - * that the activity should be deferred (placed back into the WAIT state) until - * a time when its criteria are met again. Deferring an activity does not reset - * any of its time-based criteria (in other words, it will remain past due). - * - * IMPORTANT: - * This should be done in response to observing xpc_activity_should_defer(). - * It should not be done unilaterally. If you determine that conditions are bad - * to do your activity's work for reasons you can't express in a criteria - * dictionary, you should set the activity's state to XPC_ACTIVITY_STATE_DONE. - * - * - * @constant XPC_ACTIVITY_STATE_CONTINUE - * An application may pass this value to xpc_activity_set_state() to indicate - * that the activity will continue its operation beyond the return of its - * handler block. This can be used to extend an activity to include asynchronous - * operations. The activity's handler block will not be invoked again until the - * state has been updated to either XPC_ACTIVITY_STATE_DEFER or, in the case - * of repeating activity, XPC_ACTIVITY_STATE_DONE. - * - * @constant XPC_ACTIVITY_STATE_DONE - * An application may pass this value to xpc_activity_set_state() to indicate - * that the activity has completed. For non-repeating activity, the resources - * associated with the activity will be automatically released upon return from - * the handler block. For repeating activity, timers present in the activity's - * criteria will be reset. - */ -enum { - XPC_ACTIVITY_STATE_CHECK_IN, - XPC_ACTIVITY_STATE_WAIT, - XPC_ACTIVITY_STATE_RUN, - XPC_ACTIVITY_STATE_DEFER, - XPC_ACTIVITY_STATE_CONTINUE, - XPC_ACTIVITY_STATE_DONE, -}; -typedef long xpc_activity_state_t; - -/*! - * @function xpc_activity_get_state - * - * @abstract - * Returns the current state of an activity. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_9, __IPHONE_7_0) -XPC_EXPORT XPC_WARN_RESULT XPC_NONNULL1 -xpc_activity_state_t -xpc_activity_get_state(xpc_activity_t activity); - -/*! - * @function xpc_activity_set_state - * - * @abstract - * Updates the current state of an activity. - * - * @return - * Returns true if the state was successfully updated; otherwise, returns - * false if the requested state transition is not valid. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_9, __IPHONE_7_0) -XPC_EXPORT XPC_WARN_RESULT XPC_NONNULL1 -bool -xpc_activity_set_state(xpc_activity_t activity, xpc_activity_state_t state); - -/*! - * @function xpc_activity_should_defer - * - * @abstract - * Test whether an activity should be deferred. - * - * @discussion - * This function may be used to test whether the criteria of a long-running - * activity are still satisfied. If not, the system indicates that the - * application should defer the activity. The application may acknowledge the - * deferral by calling xpc_activity_set_state() with XPC_ACTIVITY_STATE_DEFER. - * Once deferred, the system will place the activity back into the WAIT state - * and re-invoke the handler block at the earliest opportunity when the criteria - * are once again satisfied. - * - * @return - * Returns true if the activity should be deferred. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_9, __IPHONE_7_0) -XPC_EXPORT XPC_WARN_RESULT XPC_NONNULL1 -bool -xpc_activity_should_defer(xpc_activity_t activity); - -/*! - * @function xpc_activity_unregister - * - * @abstract - * Unregisters an activity found by its identifier. - * - * @discussion - * A dynamically registered activity will be deleted in response to this call. - * Statically registered activity (from a launchd property list) will be - * deleted until the job is next loaded (e.g. at next boot). - * - * Unregistering an activity has no effect on any outstanding xpc_activity_t - * objects or any currently executing xpc_activity_handler_t blocks; however, - * no new handler block invocations will be made after it is unregistered. - * - * @param identifier - * The identifier of the activity to unregister. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_9, __IPHONE_7_0) -XPC_EXPORT XPC_NONNULL1 -void -xpc_activity_unregister(const char *identifier); - -__END_DECLS -XPC_ASSUME_NONNULL_END - -#endif // __BLOCKS__ - -#endif // __XPC_ACTIVITY_H__ \ No newline at end of file diff --git a/lib/libc/include/any-macos.11-any/xpc/availability.h b/lib/libc/include/any-macos.11-any/xpc/availability.h deleted file mode 100644 index 4005a84bdf..0000000000 --- a/lib/libc/include/any-macos.11-any/xpc/availability.h +++ /dev/null @@ -1,124 +0,0 @@ -#ifndef __XPC_AVAILABILITY_H__ -#define __XPC_AVAILABILITY_H__ - -#include - -// Certain parts of the project use all the project's headers but have to build -// against newer OSX SDKs than ebuild uses -- liblaunch_host being the example. -// So we need to define these. -#ifndef __MAC_10_16 -#define __MAC_10_16 101600 -#endif // __MAC_10_16 - -#ifndef __MAC_10_15 -#define __MAC_10_15 101500 -#define __AVAILABILITY_INTERNAL__MAC_10_15 \ -__attribute__((availability(macosx, introduced=10.15))) -#endif // __MAC_10_15 - -#ifndef __MAC_10_14 -#define __MAC_10_14 101400 -#define __AVAILABILITY_INTERNAL__MAC_10_14 \ -__attribute__((availability(macosx, introduced=10.14))) -#endif // __MAC_10_14 - -#ifndef __MAC_10_13 -#define __MAC_10_13 101300 -#define __AVAILABILITY_INTERNAL__MAC_10_13 \ - __attribute__((availability(macosx, introduced=10.13))) -#endif // __MAC_10_13 - -#ifndef __MAC_10_12 -#define __MAC_10_12 101200 -#define __AVAILABILITY_INTERNAL__MAC_10_12 \ - __attribute__((availability(macosx, introduced=10.12))) -#endif // __MAC_10_12 - -#ifndef __MAC_10_11 -#define __MAC_10_11 101100 -#define __AVAILABILITY_INTERNAL__MAC_10_11 \ - __attribute__((availability(macosx, introduced=10.11))) -#endif // __MAC_10_11 - -#ifndef __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_11 -#define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_11 -#endif // __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_11 - -#ifndef __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_11 -#define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_11 -#endif // __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_11 - -#ifndef __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_11 -#define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_11 -#endif // __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_11 - -#ifndef __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_11 -#define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_11 -#endif // __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_11 - -#ifndef __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_10_11 -#define __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_10_11 -#endif // __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_10_11 - -#ifndef __AVAILABILITY_INTERNAL__MAC_10_7_DEP__MAC_10_11 -#define __AVAILABILITY_INTERNAL__MAC_10_7_DEP__MAC_10_11 -#endif // __AVAILABILITY_INTERNAL__MAC_10_7_DEP__MAC_10_11 - -#ifndef __AVAILABILITY_INTERNAL__MAC_10_8_DEP__MAC_10_11 -#define __AVAILABILITY_INTERNAL__MAC_10_8_DEP__MAC_10_11 -#endif // __AVAILABILITY_INTERNAL__MAC_10_8_DEP__MAC_10_11 - -#ifndef __AVAILABILITY_INTERNAL__MAC_10_9_DEP__MAC_10_11 -#define __AVAILABILITY_INTERNAL__MAC_10_9_DEP__MAC_10_11 -#endif // __AVAILABILITY_INTERNAL__MAC_10_9_DEP__MAC_10_11 - -#ifndef __AVAILABILITY_INTERNAL__MAC_10_10_DEP__MAC_10_11 -#define __AVAILABILITY_INTERNAL__MAC_10_10_DEP__MAC_10_11 -#endif // __AVAILABILITY_INTERNAL__MAC_10_10_DEP__MAC_10_11 - -#ifndef __AVAILABILITY_INTERNAL__MAC_10_11_DEP__MAC_10_11 -#define __AVAILABILITY_INTERNAL__MAC_10_11_DEP__MAC_10_11 -#endif // __AVAILABILITY_INTERNAL__MAC_10_11_DEP__MAC_10_11 - -#ifndef __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_10_13 -#define __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_10_13 -#endif // __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_10_13 - -#if __has_include() -#include -#else // __has_include() -#ifndef IPHONE_SIMULATOR_HOST_MIN_VERSION_REQUIRED -#define IPHONE_SIMULATOR_HOST_MIN_VERSION_REQUIRED 999999 -#endif // IPHONE_SIMULATOR_HOST_MIN_VERSION_REQUIRED -#endif // __has_include() - -#ifndef __WATCHOS_UNAVAILABLE -#define __WATCHOS_UNAVAILABLE -#endif - -#ifndef __TVOS_UNAVAILABLE -#define __TVOS_UNAVAILABLE -#endif - -// simulator host-side bits build against SDKs not having __*_AVAILABLE() yet -#ifndef __OSX_AVAILABLE -#define __OSX_AVAILABLE(...) -#endif - -#ifndef __IOS_AVAILABLE -#define __IOS_AVAILABLE(...) -#endif - -#ifndef __TVOS_AVAILABLE -#define __TVOS_AVAILABLE(...) -#endif - -#ifndef __WATCHOS_AVAILABLE -#define __WATCHOS_AVAILABLE(...) -#endif - -#ifndef __API_AVAILABLE -#define __API_AVAILABLE(...) -#endif - -#endif // __XPC_AVAILABILITY_H__ \ No newline at end of file diff --git a/lib/libc/include/any-macos.11-any/xpc/base.h b/lib/libc/include/any-macos.11-any/xpc/base.h deleted file mode 100644 index ab708965cc..0000000000 --- a/lib/libc/include/any-macos.11-any/xpc/base.h +++ /dev/null @@ -1,213 +0,0 @@ -// Copyright (c) 2009-2011 Apple Inc. All rights reserved. - -#ifndef __XPC_BASE_H__ -#define __XPC_BASE_H__ - -#include - -__BEGIN_DECLS - -#if !defined(__has_include) -#define __has_include(x) 0 -#endif // !defined(__has_include) - -#if !defined(__has_attribute) -#define __has_attribute(x) 0 -#endif // !defined(__has_attribute) - -#if !defined(__has_feature) -#define __has_feature(x) 0 -#endif // !defined(__has_feature) - -#if !defined(__has_extension) -#define __has_extension(x) 0 -#endif // !defined(__has_extension) - -#if __has_include() -#include -#else // __has_include() -#include -#endif // __has_include() - -#include - -#ifndef __XPC_INDIRECT__ -#error "Please #include instead of this file directly." -#endif // __XPC_INDIRECT__ - -#pragma mark Attribute Shims -#ifdef __GNUC__ -#define XPC_CONSTRUCTOR __attribute__((constructor)) -#define XPC_NORETURN __attribute__((__noreturn__)) -#define XPC_NOTHROW __attribute__((__nothrow__)) -#define XPC_NONNULL1 __attribute__((__nonnull__(1))) -#define XPC_NONNULL2 __attribute__((__nonnull__(2))) -#define XPC_NONNULL3 __attribute__((__nonnull__(3))) -#define XPC_NONNULL4 __attribute__((__nonnull__(4))) -#define XPC_NONNULL5 __attribute__((__nonnull__(5))) -#define XPC_NONNULL6 __attribute__((__nonnull__(6))) -#define XPC_NONNULL7 __attribute__((__nonnull__(7))) -#define XPC_NONNULL8 __attribute__((__nonnull__(8))) -#define XPC_NONNULL9 __attribute__((__nonnull__(9))) -#define XPC_NONNULL10 __attribute__((__nonnull__(10))) -#define XPC_NONNULL11 __attribute__((__nonnull__(11))) -#define XPC_NONNULL_ALL __attribute__((__nonnull__)) -#define XPC_SENTINEL __attribute__((__sentinel__)) -#define XPC_PURE __attribute__((__pure__)) -#define XPC_WARN_RESULT __attribute__((__warn_unused_result__)) -#define XPC_MALLOC __attribute__((__malloc__)) -#define XPC_UNUSED __attribute__((__unused__)) -#define XPC_USED __attribute__((__used__)) -#define XPC_PACKED __attribute__((__packed__)) -#define XPC_PRINTF(m, n) __attribute__((format(printf, m, n))) -#define XPC_INLINE static __inline__ __attribute__((__always_inline__)) -#define XPC_NOINLINE __attribute__((noinline)) -#define XPC_NOIMPL __attribute__((unavailable)) - -#if __has_attribute(noescape) -#define XPC_NOESCAPE __attribute__((__noescape__)) -#else -#define XPC_NOESCAPE -#endif - -#if __has_extension(attribute_unavailable_with_message) -#define XPC_UNAVAILABLE(m) __attribute__((unavailable(m))) -#else // __has_extension(attribute_unavailable_with_message) -#define XPC_UNAVAILABLE(m) XPC_NOIMPL -#endif // __has_extension(attribute_unavailable_with_message) - -#define XPC_EXPORT extern __attribute__((visibility("default"))) -#define XPC_NOEXPORT __attribute__((visibility("hidden"))) -#define XPC_WEAKIMPORT extern __attribute__((weak_import)) -#define XPC_DEBUGGER_EXCL XPC_NOEXPORT XPC_USED -#define XPC_TRANSPARENT_UNION __attribute__((transparent_union)) -#if __clang__ -#define XPC_DEPRECATED(m) __attribute__((deprecated(m))) -#else // __clang__ -#define XPC_DEPRECATED(m) __attribute__((deprecated)) -#endif // __clang - -#if defined(__XPC_TEST__) && __XPC_TEST__ -#define XPC_TESTSTATIC -#define XPC_TESTEXTERN extern -#else // defined(__XPC_TEST__) && __XPC_TEST__ -#define XPC_TESTSTATIC static -#endif // defined(__XPC_TEST__) && __XPC_TEST__ - -#if __has_feature(objc_arc) -#define XPC_GIVES_REFERENCE __strong -#define XPC_UNRETAINED __unsafe_unretained -#define XPC_BRIDGE(xo) ((__bridge void *)(xo)) -#define XPC_BRIDGEREF_BEGIN(xo) ((__bridge_retained void *)(xo)) -#define XPC_BRIDGEREF_BEGIN_WITH_REF(xo) ((__bridge void *)(xo)) -#define XPC_BRIDGEREF_MIDDLE(xo) ((__bridge id)(xo)) -#define XPC_BRIDGEREF_END(xo) ((__bridge_transfer id)(xo)) -#else // __has_feature(objc_arc) -#define XPC_GIVES_REFERENCE -#define XPC_UNRETAINED -#define XPC_BRIDGE(xo) (xo) -#define XPC_BRIDGEREF_BEGIN(xo) (xo) -#define XPC_BRIDGEREF_BEGIN_WITH_REF(xo) (xo) -#define XPC_BRIDGEREF_MIDDLE(xo) (xo) -#define XPC_BRIDGEREF_END(xo) (xo) -#endif // __has_feature(objc_arc) - -#define _xpc_unreachable() __builtin_unreachable() -#else // __GNUC__ -/*! @parseOnly */ -#define XPC_CONSTRUCTOR -/*! @parseOnly */ -#define XPC_NORETURN -/*! @parseOnly */ -#define XPC_NOTHROW -/*! @parseOnly */ -#define XPC_NONNULL1 -/*! @parseOnly */ -#define XPC_NONNULL2 -/*! @parseOnly */ -#define XPC_NONNULL3 -/*! @parseOnly */ -#define XPC_NONNULL4 -/*! @parseOnly */ -#define XPC_NONNULL5 -/*! @parseOnly */ -#define XPC_NONNULL6 -/*! @parseOnly */ -#define XPC_NONNULL7 -/*! @parseOnly */ -#define XPC_NONNULL8 -/*! @parseOnly */ -#define XPC_NONNULL9 -/*! @parseOnly */ -#define XPC_NONNULL10 -/*! @parseOnly */ -#define XPC_NONNULL11 -/*! @parseOnly */ -#define XPC_NONNULL(n) -/*! @parseOnly */ -#define XPC_NONNULL_ALL -/*! @parseOnly */ -#define XPC_SENTINEL -/*! @parseOnly */ -#define XPC_PURE -/*! @parseOnly */ -#define XPC_WARN_RESULT -/*! @parseOnly */ -#define XPC_MALLOC -/*! @parseOnly */ -#define XPC_UNUSED -/*! @parseOnly */ -#define XPC_PACKED -/*! @parseOnly */ -#define XPC_PRINTF(m, n) -/*! @parseOnly */ -#define XPC_INLINE static inline -/*! @parseOnly */ -#define XPC_NOINLINE -/*! @parseOnly */ -#define XPC_NOIMPL -/*! @parseOnly */ -#define XPC_EXPORT extern -/*! @parseOnly */ -#define XPC_WEAKIMPORT -/*! @parseOnly */ -#define XPC_DEPRECATED -/*! @parseOnly */ -#define XPC_UNAVAILABLE(m) -/*! @parseOnly */ -#define XPC_NOESCAPE -#endif // __GNUC__ - -#if __has_feature(assume_nonnull) -#define XPC_ASSUME_NONNULL_BEGIN _Pragma("clang assume_nonnull begin") -#define XPC_ASSUME_NONNULL_END _Pragma("clang assume_nonnull end") -#else -#define XPC_ASSUME_NONNULL_BEGIN -#define XPC_ASSUME_NONNULL_END -#endif - -#if __has_feature(nullability_on_arrays) -#define XPC_NONNULL_ARRAY _Nonnull -#else -#define XPC_NONNULL_ARRAY -#endif - -#ifdef OS_CLOSED_OPTIONS -#define XPC_FLAGS_ENUM(_name, _type, ...) \ - OS_CLOSED_OPTIONS(_name, _type, __VA_ARGS__) -#else // OS_CLOSED_ENUM -#define XPC_FLAGS_ENUM(_name, _type, ...) \ - OS_ENUM(_name, _type, __VA_ARGS__) -#endif // OS_CLOSED_ENUM - -#ifdef OS_CLOSED_ENUM -#define XPC_ENUM(_name, _type, ...) \ - OS_CLOSED_ENUM(_name, _type, __VA_ARGS__) -#else // OS_CLOSED_ENUM -#define XPC_ENUM(_name, _type, ...) \ - OS_ENUM(_name, _type, __VA_ARGS__) -#endif // OS_CLOSED_ENUM - -__END_DECLS - -#endif // __XPC_BASE_H__ \ No newline at end of file diff --git a/lib/libc/include/any-macos.11-any/xpc/connection.h b/lib/libc/include/any-macos.11-any/xpc/connection.h deleted file mode 100644 index fda085bb12..0000000000 --- a/lib/libc/include/any-macos.11-any/xpc/connection.h +++ /dev/null @@ -1,748 +0,0 @@ -#ifndef __XPC_CONNECTION_H__ -#define __XPC_CONNECTION_H__ - -#ifndef __XPC_INDIRECT__ -#error "Please #include instead of this file directly." -// For HeaderDoc. -#include -#endif // __XPC_INDIRECT__ - -#ifndef __BLOCKS__ -#error "XPC connections require Blocks support." -#endif // __BLOCKS__ - -XPC_ASSUME_NONNULL_BEGIN -__BEGIN_DECLS - -/*! - * @constant XPC_ERROR_CONNECTION_INTERRUPTED - * Will be delivered to the connection's event handler if the remote service - * exited. The connection is still live even in this case, and resending a - * message will cause the service to be launched on-demand. This error serves - * as a client's indication that it should resynchronize any state that it had - * given the service. - * - * Any messages in the queue to be sent will be unwound and canceled when this - * error occurs. In the case where a message waiting to be sent has a reply - * handler, that handler will be invoked with this error. In the context of the - * reply handler, this error indicates that a reply to the message will never - * arrive. - * - * Messages that do not have reply handlers associated with them will be - * silently disposed of. This error will only be given to peer connections. - */ -#define XPC_ERROR_CONNECTION_INTERRUPTED \ - XPC_GLOBAL_OBJECT(_xpc_error_connection_interrupted) -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT -const struct _xpc_dictionary_s _xpc_error_connection_interrupted; - -/*! - * @constant XPC_ERROR_CONNECTION_INVALID - * Will be delivered to the connection's event handler if the named service - * provided to xpc_connection_create() could not be found in the XPC service - * namespace. The connection is useless and should be disposed of. - * - * Any messages in the queue to be sent will be unwound and canceled when this - * error occurs, similarly to the behavior when XPC_ERROR_CONNECTION_INTERRUPTED - * occurs. The only difference is that the XPC_ERROR_CONNECTION_INVALID will be - * given to outstanding reply handlers and the connection's event handler. - * - * This error may be given to any type of connection. - */ -#define XPC_ERROR_CONNECTION_INVALID \ - XPC_GLOBAL_OBJECT(_xpc_error_connection_invalid) -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT -const struct _xpc_dictionary_s _xpc_error_connection_invalid; - -/*! - * @constant XPC_ERROR_TERMINATION_IMMINENT - * On macOS, this error will be delivered to a peer connection's event handler - * when the XPC runtime has determined that the program should exit and that - * all outstanding transactions must be wound down, and no new transactions can - * be opened. - * - * After this error has been delivered to the event handler, no more messages - * will be received by the connection. The runtime will still attempt to deliver - * outgoing messages, but this error should be treated as an indication that - * the program will exit very soon, and any outstanding business over the - * connection should be wrapped up as quickly as possible and the connection - * canceled shortly thereafter. - * - * This error will only be delivered to peer connections received through a - * listener or the xpc_main() event handler. - */ -#define XPC_ERROR_TERMINATION_IMMINENT \ - XPC_GLOBAL_OBJECT(_xpc_error_termination_imminent) -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT -const struct _xpc_dictionary_s _xpc_error_termination_imminent; - -/*! - * @constant XPC_CONNECTION_MACH_SERVICE_LISTENER - * Passed to xpc_connection_create_mach_service(). This flag indicates that the - * caller is the listener for the named service. This flag may only be passed - * for services which are advertised in the process' launchd.plist(5). You may - * not use this flag to dynamically add services to the Mach bootstrap - * namespace. - */ -#define XPC_CONNECTION_MACH_SERVICE_LISTENER (1 << 0) - -/*! - * @constant XPC_CONNECTION_MACH_SERVICE_PRIVILEGED - * Passed to xpc_connection_create_mach_service(). This flag indicates that the - * job advertising the service name in its launchd.plist(5) should be in the - * privileged Mach bootstrap. This is typically accomplished by placing your - * launchd.plist(5) in /Library/LaunchDaemons. If specified alongside the - * XPC_CONNECTION_MACH_SERVICE_LISTENER flag, this flag is a no-op. - */ -#define XPC_CONNECTION_MACH_SERVICE_PRIVILEGED (1 << 1) - -/*! - * @typedef xpc_finalizer_f - * A function that is invoked when a connection is being torn down and its - * context needs to be freed. The sole argument is the value that was given to - * {@link xpc_connection_set_context} or NULL if no context has been set. It is - * not safe to reference the connection from within this function. - * - * @param value - * The context object that is to be disposed of. - */ -typedef void (*xpc_finalizer_t)(void * _Nullable value); - -/*! - * @function xpc_connection_create - * Creates a new connection object. - * - * @param name - * If non-NULL, the name of the service with which to connect. The returned - * connection will be a peer. - * - * If NULL, an anonymous listener connection will be created. You can embed the - * ability to create new peer connections in an endpoint, which can be inserted - * into a message and sent to another process . - * - * @param targetq - * The GCD queue to which the event handler block will be submitted. This - * parameter may be NULL, in which case the connection's target queue will be - * libdispatch's default target queue, defined as DISPATCH_TARGET_QUEUE_DEFAULT. - * The target queue may be changed later with a call to - * xpc_connection_set_target_queue(). - * - * @result - * A new connection object. The caller is responsible for disposing of the - * returned object with {@link xpc_release} when it is no longer needed. - * - * @discussion - * This method will succeed even if the named service does not exist. This is - * because the XPC namespace is not queried for the service name until the - * connection has been activated. See {@link xpc_connection_activate()}. - * - * XPC connections, like dispatch sources, are returned in an inactive state, so - * you must call {@link xpc_connection_activate()} in order to begin receiving - * events from the connection. Also like dispatch sources, connections must be - * activated and not suspended in order to be safely released. It is - * a programming error to release an inactive or suspended connection. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_MALLOC XPC_RETURNS_RETAINED XPC_WARN_RESULT -xpc_connection_t -xpc_connection_create(const char * _Nullable name, - dispatch_queue_t _Nullable targetq); - -/*! - * @function xpc_connection_create_mach_service - * Creates a new connection object representing a Mach service. - * - * @param name - * The name of the remote service with which to connect. The service name must - * exist in a Mach bootstrap that is accessible to the process and be advertised - * in a launchd.plist. - * - * @param targetq - * The GCD queue to which the event handler block will be submitted. This - * parameter may be NULL, in which case the connection's target queue will be - * libdispatch's default target queue, defined as DISPATCH_TARGET_QUEUE_DEFAULT. - * The target queue may be changed later with a call to - * xpc_connection_set_target_queue(). - * - * @param flags - * Additional attributes with which to create the connection. - * - * @result - * A new connection object. - * - * @discussion - * If the XPC_CONNECTION_MACH_SERVICE_LISTENER flag is given to this method, - * then the connection returned will be a listener connection. Otherwise, a peer - * connection will be returned. See the documentation for - * {@link xpc_connection_set_event_handler()} for the semantics of listener - * connections versus peer connections. - * - * This method will succeed even if the named service does not exist. This is - * because the Mach namespace is not queried for the service name until the - * connection has been activated. See {@link xpc_connection_activate()}. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_MALLOC XPC_RETURNS_RETAINED XPC_WARN_RESULT XPC_NONNULL1 -xpc_connection_t -xpc_connection_create_mach_service(const char *name, - dispatch_queue_t _Nullable targetq, uint64_t flags); - -/*! - * @function xpc_connection_create_from_endpoint - * Creates a new connection from the given endpoint. - * - * @param endpoint - * The endpoint from which to create the new connection. - * - * @result - * A new peer connection to the listener represented by the given endpoint. - * - * The same responsibilities of setting an event handler and activating the - * connection after calling xpc_connection_create() apply to the connection - * returned by this API. Since the connection yielded by this API is not - * associated with a name (and therefore is not rediscoverable), this connection - * will receive XPC_ERROR_CONNECTION_INVALID if the listening side crashes, - * exits or cancels the listener connection. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_MALLOC XPC_RETURNS_RETAINED XPC_WARN_RESULT XPC_NONNULL_ALL -xpc_connection_t -xpc_connection_create_from_endpoint(xpc_endpoint_t endpoint); - -/*! - * @function xpc_connection_set_target_queue - * Sets the target queue of the given connection. - * - * @param connection - * The connection object which is to be manipulated. - * - * @param targetq - * The GCD queue to which the event handler block will be submitted. This - * parameter may be NULL, in which case the connection's target queue will be - * libdispatch's default target queue, defined as DISPATCH_TARGET_QUEUE_DEFAULT. - * - * @discussion - * Setting the target queue is asynchronous and non-preemptive and therefore - * this method will not interrupt the execution of an already-running event - * handler block. Setting the target queue may be likened to issuing a barrier - * to the connection which does the actual work of changing the target queue. - * - * The XPC runtime guarantees this non-preemptiveness even for concurrent target - * queues. If the target queue is a concurrent queue, then XPC still guarantees - * that there will never be more than one invocation of the connection's event - * handler block executing concurrently. If you wish to process events - * concurrently, you can dispatch_async(3) to a concurrent queue from within - * the event handler. - * - * IMPORTANT: When called from within the event handler block, - * dispatch_get_current_queue(3) is NOT guaranteed to return a pointer to the - * queue set with this method. - * - * Despite this seeming inconsistency, the XPC runtime guarantees that, when the - * target queue is a serial queue, the event handler block will execute - * synchonously with respect to other blocks submitted to that same queue. When - * the target queue is a concurrent queue, the event handler block may run - * concurrently with other blocks submitted to that queue, but it will never run - * concurrently with other invocations of itself for the same connection, as - * discussed previously. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_NONNULL1 -void -xpc_connection_set_target_queue(xpc_connection_t connection, - dispatch_queue_t _Nullable targetq); - -/*! - * @function xpc_connection_set_event_handler - * Sets the event handler block for the connection. - * - * @param connection - * The connection object which is to be manipulated. - * - * @param handler - * The event handler block. - * - * @discussion - * Setting the event handler is asynchronous and non-preemptive, and therefore - * this method will not interrupt the execution of an already-running event - * handler block. If the event handler is executing at the time of this call, it - * will finish, and then the connection's event handler will be changed before - * the next invocation of the event handler. The XPC runtime guarantees this - * non-preemptiveness even for concurrent target queues. - * - * Connection event handlers are non-reentrant, so it is safe to call - * xpc_connection_set_event_handler() from within the event handler block. - * - * The event handler's execution should be treated as a barrier to all - * connection activity. When it is executing, the connection will not attempt to - * send or receive messages, including reply messages. Thus, it is not safe to - * call xpc_connection_send_message_with_reply_sync() on the connection from - * within the event handler. - * - * You do not hold a reference on the object received as the event handler's - * only argument. Regardless of the type of object received, it is safe to call - * xpc_retain() on the object to obtain a reference to it. - * - * A connection may receive different events depending upon whether it is a - * listener or not. Any connection may receive an error in its event handler. - * But while normal connections may receive messages in addition to errors, - * listener connections will receive connections and and not messages. - * - * Connections received by listeners are equivalent to those returned by - * xpc_connection_create() with a non-NULL name argument and a NULL targetq - * argument with the exception that you do not hold a reference on them. - * You must set an event handler and activate the connection. If you do not wish - * to accept the connection, you may simply call xpc_connection_cancel() on it - * and return. The runtime will dispose of it for you. - * - * If there is an error in the connection, this handler will be invoked with the - * error dictionary as its argument. This dictionary will be one of the well- - * known XPC_ERROR_* dictionaries. - * - * Regardless of the type of event, ownership of the event object is NOT - * implicitly transferred. Thus, the object will be released and deallocated at - * some point in the future after the event handler returns. If you wish the - * event's lifetime to persist, you must retain it with xpc_retain(). - * - * Connections received through the event handler will be released and - * deallocated after the connection has gone invalid and delivered that event to - * its event handler. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_NONNULL_ALL -void -xpc_connection_set_event_handler(xpc_connection_t connection, - xpc_handler_t handler); - -/*! - * @function xpc_connection_activate - * Activates the connection. Connections start in an inactive state, so you must - * call xpc_connection_activate() on a connection before it will send or receive - * any messages. - * - * @param connection - * The connection object which is to be manipulated. - * - * @discussion - * Calling xpc_connection_activate() on an active connection has no effect. - * Releasing the last reference on an inactive connection that was created with - * an xpc_connection_create*() call is undefined. - * - * For backward compatibility reasons, xpc_connection_resume() on an inactive - * and not otherwise suspended xpc connection has the same effect as calling - * xpc_connection_activate(). For new code, using xpc_connection_activate() - * is preferred. - */ -__OSX_AVAILABLE(10.12) __IOS_AVAILABLE(10.0) -__TVOS_AVAILABLE(10.0) __WATCHOS_AVAILABLE(3.0) -XPC_EXPORT XPC_NONNULL_ALL -void -xpc_connection_activate(xpc_connection_t connection); - -/*! - * @function xpc_connection_suspend - * Suspends the connection so that the event handler block will not fire and - * that the connection will not attempt to send any messages it has in its - * queue. All calls to xpc_connection_suspend() must be balanced with calls to - * xpc_connection_resume() before releasing the last reference to the - * connection. - * - * @param connection - * The connection object which is to be manipulated. - * - * @discussion - * Suspension is asynchronous and non-preemptive, and therefore this method will - * not interrupt the execution of an already-running event handler block. If - * the event handler is executing at the time of this call, it will finish, and - * then the connection will be suspended before the next scheduled invocation - * of the event handler. The XPC runtime guarantees this non-preemptiveness even - * for concurrent target queues. - * - * Connection event handlers are non-reentrant, so it is safe to call - * xpc_connection_suspend() from within the event handler block. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_NONNULL_ALL -void -xpc_connection_suspend(xpc_connection_t connection); - -/*! - * @function xpc_connection_resume - * Resumes the connection. - * - * @param connection - * The connection object which is to be manipulated. - * - * @discussion - * In order for a connection to become live, every call to - * xpc_connection_suspend() must be balanced with a call to - * xpc_connection_resume(). - * - * For backward compatibility reasons, xpc_connection_resume() on an inactive - * and not otherwise suspended xpc connection has the same effect as calling - * xpc_connection_activate(). For new code, using xpc_connection_activate() - * is preferred. - * - * Calling xpc_connection_resume() more times than xpc_connection_suspend() - * has been called is otherwise considered an error. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_NONNULL_ALL -void -xpc_connection_resume(xpc_connection_t connection); - -/*! - * @function xpc_connection_send_message - * Sends a message over the connection to the destination service. - * - * @param connection - * The connection over which the message shall be sent. - * - * @param message - * The message to send. This must be a dictionary object. This dictionary is - * logically copied by the connection, so it is safe to modify the dictionary - * after this call. - * - * @discussion - * Messages are delivered in FIFO order. This API is safe to call from multiple - * GCD queues. There is no indication that a message was delivered successfully. - * This is because even once the message has been successfully enqueued on the - * remote end, there are no guarantees about when the runtime will dequeue the - * message and invoke the other connection's event handler block. - * - * If this API is used to send a message that is in reply to another message, - * there is no guarantee of ordering between the invocations of the connection's - * event handler and the reply handler for that message, even if they are - * targeted to the same queue. - * - * After extensive study, we have found that clients who are interested in - * the state of the message on the server end are typically holding open - * transactions related to that message. And the only reliable way to track the - * lifetime of that transaction is at the protocol layer. So the server should - * send a reply message, which upon receiving, will cause the client to close - * its transaction. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_NONNULL_ALL -void -xpc_connection_send_message(xpc_connection_t connection, xpc_object_t message); - -/*! - * @function xpc_connection_send_barrier - * Issues a barrier against the connection's message-send activity. - * - * @param connection - * The connection against which the barrier is to be issued. - * - * @param barrier - * The barrier block to issue. This barrier prevents concurrent message-send - * activity on the connection. No messages will be sent while the barrier block - * is executing. - * - * @discussion - * XPC guarantees that, even if the connection's target queue is a concurrent - * queue, there are no other messages being sent concurrently while the barrier - * block is executing. XPC does not guarantee that the receipt of messages - * (either through the connection's event handler or through reply handlers) - * will be suspended while the barrier is executing. - * - * A barrier is issued relative to the message-send queue. Thus, if you call - * xpc_connection_send_message() five times and then call - * xpc_connection_send_barrier(), the barrier will be invoked after the fifth - * message has been sent and its memory disposed of. You may safely cancel a - * connection from within a barrier block. - * - * If a barrier is issued after sending a message which expects a reply, the - * behavior is the same as described above. The receipt of a reply message will - * not influence when the barrier runs. - * - * A barrier block can be useful for throttling resource consumption on the - * connected side of a connection. For example, if your connection sends many - * large messages, you can use a barrier to limit the number of messages that - * are inflight at any given time. This can be particularly useful for messages - * that contain kernel resources (like file descriptors) which have a system- - * wide limit. - * - * If a barrier is issued on a canceled connection, it will be invoked - * immediately. If a connection has been canceled and still has outstanding - * barriers, those barriers will be invoked as part of the connection's - * unwinding process. - * - * It is important to note that a barrier block's execution order is not - * guaranteed with respect to other blocks that have been scheduled on the - * target queue of the connection. Or said differently, - * xpc_connection_send_barrier(3) is not equivalent to dispatch_async(3). - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_NONNULL_ALL -void -xpc_connection_send_barrier(xpc_connection_t connection, - dispatch_block_t barrier); - -/*! - * @function xpc_connection_send_message_with_reply - * Sends a message over the connection to the destination service and associates - * a handler to be invoked when the remote service sends a reply message. - * - * @param connection - * The connection over which the message shall be sent. - * - * @param message - * The message to send. This must be a dictionary object. - * - * @param replyq - * The GCD queue to which the reply handler will be submitted. This may be a - * concurrent queue. - * - * @param handler - * The handler block to invoke when a reply to the message is received from - * the connection. If the remote service exits prematurely before the reply was - * received, the XPC_ERROR_CONNECTION_INTERRUPTED error will be returned. - * If the connection went invalid before the message could be sent, the - * XPC_ERROR_CONNECTION_INVALID error will be returned. - * - * @discussion - * If the given GCD queue is a concurrent queue, XPC cannot guarantee that there - * will not be multiple reply handlers being invoked concurrently. XPC does not - * guarantee any ordering for the invocation of reply handers. So if multiple - * messages are waiting for replies and the connection goes invalid, there is no - * guarantee that the reply handlers will be invoked in FIFO order. Similarly, - * XPC does not guarantee that reply handlers will not run concurrently with - * the connection's event handler in the case that the reply queue and the - * connection's target queue are the same concurrent queue. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_NONNULL1 XPC_NONNULL2 XPC_NONNULL4 -void -xpc_connection_send_message_with_reply(xpc_connection_t connection, - xpc_object_t message, dispatch_queue_t _Nullable replyq, - xpc_handler_t handler); - -/*! - * @function xpc_connection_send_message_with_reply_sync - * Sends a message over the connection and blocks the caller until a reply is - * received. - * - * @param connection - * The connection over which the message shall be sent. - * - * @param message - * The message to send. This must be a dictionary object. - * - * @result - * The message that the remote service sent in reply to the original message. - * If the remote service exits prematurely before the reply was received, the - * XPC_ERROR_CONNECTION_INTERRUPTED error will be returned. If the connection - * went invalid before the message could be sent, the - * XPC_ERROR_CONNECTION_INVALID error will be returned. - * - * You are responsible for releasing the returned object. - * - * @discussion - * This API supports priority inversion avoidance, and should be used instead of - * combining xpc_connection_send_message_with_reply() with a semaphore. - * - * Invoking this API from a queue that is a part of the target queue hierarchy - * results in deadlocks under certain conditions. - * - * Be judicious about your use of this API. It can block indefinitely, so if you - * are using it to implement an API that can be called from the main thread, you - * may wish to consider allowing the API to take a queue and callback block so - * that results may be delivered asynchronously if possible. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_NONNULL_ALL XPC_WARN_RESULT XPC_RETURNS_RETAINED -xpc_object_t -xpc_connection_send_message_with_reply_sync(xpc_connection_t connection, - xpc_object_t message); - -/*! - * @function xpc_connection_cancel - * Cancels the connection and ensures that its event handler will not fire - * again. After this call, any messages that have not yet been sent will be - * discarded, and the connection will be unwound. If there are messages that are - * awaiting replies, they will have their reply handlers invoked with the - * XPC_ERROR_CONNECTION_INVALID error. - * - * @param connection - * The connection object which is to be manipulated. - * - * @discussion - * Cancellation is asynchronous and non-preemptive and therefore this method - * will not interrupt the execution of an already-running event handler block. - * If the event handler is executing at the time of this call, it will finish, - * and then the connection will be canceled, causing a final invocation of the - * event handler to be scheduled with the XPC_ERROR_CONNECTION_INVALID error. - * After that invocation, there will be no further invocations of the event - * handler. - * - * The XPC runtime guarantees this non-preemptiveness even for concurrent target - * queues. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_NONNULL_ALL -void -xpc_connection_cancel(xpc_connection_t connection); - -/*! - * @function xpc_connection_get_name - * Returns the name of the service with which the connections was created. - * - * @param connection - * The connection object which is to be examined. - * - * @result - * The name of the remote service. If you obtained the connection through an - * invocation of another connection's event handler, NULL is returned. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_NONNULL_ALL XPC_WARN_RESULT -const char * _Nullable -xpc_connection_get_name(xpc_connection_t connection); - -/*! - * @function xpc_connection_get_euid - * Returns the EUID of the remote peer. - * - * @param connection - * The connection object which is to be examined. - * - * @result - * The EUID of the remote peer at the time the connection was made. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_NONNULL_ALL XPC_WARN_RESULT -uid_t -xpc_connection_get_euid(xpc_connection_t connection); - -/*! - * @function xpc_connection_get_egid - * Returns the EGID of the remote peer. - * - * @param connection - * The connection object which is to be examined. - * - * @result - * The EGID of the remote peer at the time the connection was made. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_NONNULL_ALL XPC_WARN_RESULT -gid_t -xpc_connection_get_egid(xpc_connection_t connection); - -/*! - * @function xpc_connection_get_pid - * Returns the PID of the remote peer. - * - * @param connection - * The connection object which is to be examined. - * - * @result - * The PID of the remote peer. - * - * @discussion - * A given PID is not guaranteed to be unique across an entire boot cycle. - * Great care should be taken when dealing with this information, as it can go - * stale after the connection is established. OS X recycles PIDs, and therefore - * another process could spawn and claim the PID before a message is actually - * received from the connection. - * - * XPC will deliver an error to your event handler if the remote process goes - * away, but there are no guarantees as to the timing of this notification's - * delivery either at the kernel layer or at the XPC layer. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_NONNULL_ALL XPC_WARN_RESULT -pid_t -xpc_connection_get_pid(xpc_connection_t connection); - -/*! - * @function xpc_connection_get_asid - * Returns the audit session identifier of the remote peer. - * - * @param connection - * The connection object which is to be examined. - * - * @result - * The audit session ID of the remote peer at the time the connection was made. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_NONNULL_ALL XPC_WARN_RESULT -au_asid_t -xpc_connection_get_asid(xpc_connection_t connection); - -/*! - * @function xpc_connection_set_context - * Sets context on an connection. - * - * @param connection - * The connection which is to be manipulated. - * - * @param context - * The context to associate with the connection. - * - * @discussion - * If you must manage the memory of the context object, you must set a finalizer - * to dispose of it. If this method is called on a connection which already has - * context associated with it, the finalizer will NOT be invoked. The finalizer - * is only invoked when the connection is being deallocated. - * - * It is recommended that, instead of changing the actual context pointer - * associated with the object, you instead change the state of the context - * object itself. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_NONNULL1 -void -xpc_connection_set_context(xpc_connection_t connection, - void * _Nullable context); - -/*! - * @function xpc_connection_get_context - * Returns the context associated with the connection. - * - * @param connection - * The connection which is to be examined. - * - * @result - * The context associated with the connection. NULL if there has been no context - * associated with the object. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_NONNULL_ALL XPC_WARN_RESULT -void * _Nullable -xpc_connection_get_context(xpc_connection_t connection); - -/*! - * @function xpc_connection_set_finalizer_f - * Sets the finalizer for the given connection. - * - * @param connection - * The connection on which to set the finalizer. - * - * @param finalizer - * The function that will be invoked when the connection's retain count has - * dropped to zero and is being torn down. - * - * @discussion - * This method disposes of the context value associated with a connection, as - * set by {@link xpc_connection_set_context}. - * - * For many uses of context objects, this API allows for a convenient shorthand - * for freeing them. For example, for a context object allocated with malloc(3): - * - * xpc_connection_set_finalizer_f(object, free); - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_NONNULL1 -void -xpc_connection_set_finalizer_f(xpc_connection_t connection, - xpc_finalizer_t _Nullable finalizer); - -__END_DECLS -XPC_ASSUME_NONNULL_END - -#endif // __XPC_CONNECTION_H__ \ No newline at end of file diff --git a/lib/libc/include/any-macos.12-any/AvailabilityMacros.h b/lib/libc/include/any-macos.12-any/AvailabilityMacros.h deleted file mode 100644 index a6b35ea521..0000000000 --- a/lib/libc/include/any-macos.12-any/AvailabilityMacros.h +++ /dev/null @@ -1,4016 +0,0 @@ -/* - * Copyright (c) 2001-2010 by 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@ - */ - -/* - File: AvailabilityMacros.h - - More Info: See the SDK Compatibility Guide - - Contains: Autoconfiguration of AVAILABLE_ macros for Mac OS X - - This header enables a developer to specify build time - constraints on what Mac OS X versions the resulting - application will be run. There are two bounds a developer - can specify: - - MAC_OS_X_VERSION_MIN_REQUIRED - MAC_OS_X_VERSION_MAX_ALLOWED - - The lower bound controls which calls to OS functions will - be weak-importing (allowed to be unresolved at launch time). - The upper bound controls which OS functionality, if used, - will result in a compiler error because that functionality is - not available on any OS in the specifed range. - - For example, suppose an application is compiled with: - - MAC_OS_X_VERSION_MIN_REQUIRED = MAC_OS_X_VERSION_10_2 - MAC_OS_X_VERSION_MAX_ALLOWED = MAC_OS_X_VERSION_10_3 - - and an OS header contains: - - extern void funcA(void) AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER; - extern void funcB(void) AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_2; - extern void funcC(void) AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_3; - extern void funcD(void) AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER; - extern void funcE(void) AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER; - extern void funcF(void) AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER; - extern void funcG(void) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER; - - typedef long TypeA DEPRECATED_IN_MAC_OS_X_VERSION_10_0_AND_LATER; - typedef long TypeB DEPRECATED_IN_MAC_OS_X_VERSION_10_1_AND_LATER; - typedef long TypeC DEPRECATED_IN_MAC_OS_X_VERSION_10_2_AND_LATER; - typedef long TypeD DEPRECATED_IN_MAC_OS_X_VERSION_10_3_AND_LATER; - typedef long TypeE DEPRECATED_IN_MAC_OS_X_VERSION_10_4_AND_LATER; - - Any application code which uses these declarations will get the following: - - compile link run - ------- ------ ------- - funcA: normal normal normal - funcB: warning normal normal - funcC: normal normal normal - funcD: normal normal normal - funcE: normal normal normal - funcF: normal weak on 10.3 normal, on 10.2 (&funcF == NULL) - funcG: error error n/a - typeA: warning - typeB: warning - typeC: warning - typeD: normal - typeE: normal - - -*/ -#ifndef __AVAILABILITYMACROS__ -#define __AVAILABILITYMACROS__ - -/* - * Set up standard Mac OS X versions - */ -#define MAC_OS_X_VERSION_10_0 1000 -#define MAC_OS_X_VERSION_10_1 1010 -#define MAC_OS_X_VERSION_10_2 1020 -#define MAC_OS_X_VERSION_10_3 1030 -#define MAC_OS_X_VERSION_10_4 1040 -#define MAC_OS_X_VERSION_10_5 1050 -#define MAC_OS_X_VERSION_10_6 1060 -#define MAC_OS_X_VERSION_10_7 1070 -#define MAC_OS_X_VERSION_10_8 1080 -#define MAC_OS_X_VERSION_10_9 1090 -#define MAC_OS_X_VERSION_10_10 101000 -#define MAC_OS_X_VERSION_10_10_2 101002 -#define MAC_OS_X_VERSION_10_10_3 101003 -#define MAC_OS_X_VERSION_10_11 101100 -#define MAC_OS_X_VERSION_10_11_2 101102 -#define MAC_OS_X_VERSION_10_11_3 101103 -#define MAC_OS_X_VERSION_10_11_4 101104 -#define MAC_OS_X_VERSION_10_12 101200 -#define MAC_OS_X_VERSION_10_12_1 101201 -#define MAC_OS_X_VERSION_10_12_2 101202 -#define MAC_OS_X_VERSION_10_12_4 101204 -#define MAC_OS_X_VERSION_10_13 101300 -#define MAC_OS_X_VERSION_10_13_1 101301 -#define MAC_OS_X_VERSION_10_13_2 101302 -#define MAC_OS_X_VERSION_10_13_4 101304 -#define MAC_OS_X_VERSION_10_14 101400 -#define MAC_OS_X_VERSION_10_14_1 101401 -#define MAC_OS_X_VERSION_10_14_4 101404 -#define MAC_OS_X_VERSION_10_15 101500 -#define MAC_OS_VERSION_11_0 110000 -#define MAC_OS_VERSION_11_1 110100 -#define MAC_OS_VERSION_11_3 110300 -#define MAC_OS_VERSION_12_0 120000 - -/* - * If min OS not specified, assume 10.4 for intel - * Note: compiler driver may set _ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED_ based on MACOSX_DEPLOYMENT_TARGET environment variable - */ -#ifndef MAC_OS_X_VERSION_MIN_REQUIRED - #ifdef __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ - #if (__i386__ || __x86_64__) && (__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ < MAC_OS_X_VERSION_10_4) - #warning Building for Intel with Mac OS X Deployment Target < 10.4 is invalid. - #endif - #define MAC_OS_X_VERSION_MIN_REQUIRED __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ - #else - #if __i386__ || __x86_64__ - #define MAC_OS_X_VERSION_MIN_REQUIRED MAC_OS_X_VERSION_10_4 - #elif __arm__ || __arm64__ - #define MAC_OS_X_VERSION_MIN_REQUIRED MAC_OS_X_VERSION_10_5 - #else - #define MAC_OS_X_VERSION_MIN_REQUIRED MAC_OS_X_VERSION_10_1 - #endif - #endif -#endif - -/* - * if max OS not specified, assume larger of (10.15, min) - */ -#ifndef MAC_OS_X_VERSION_MAX_ALLOWED - #if MAC_OS_X_VERSION_MIN_REQUIRED > MAC_OS_VERSION_12_0 - #define MAC_OS_X_VERSION_MAX_ALLOWED MAC_OS_X_VERSION_MIN_REQUIRED - #else - #define MAC_OS_X_VERSION_MAX_ALLOWED MAC_OS_VERSION_12_0 - #endif -#endif - -/* - * Error on bad values - */ -#if MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_MIN_REQUIRED - #error MAC_OS_X_VERSION_MAX_ALLOWED must be >= MAC_OS_X_VERSION_MIN_REQUIRED -#endif -#if MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_0 - #error MAC_OS_X_VERSION_MIN_REQUIRED must be >= MAC_OS_X_VERSION_10_0 -#endif - -/* - * only certain compilers support __attribute__((weak_import)) - */ -#if defined(__GNUC__) && ((__GNUC__ >= 4) || ((__GNUC__ == 3) && (__GNUC_MINOR__ >= 1))) && (MAC_OS_X_VERSION_MIN_REQUIRED >= 1020) - #define WEAK_IMPORT_ATTRIBUTE __attribute__((weak_import)) -#elif defined(__MWERKS__) && (__MWERKS__ >= 0x3205) && (MAC_OS_X_VERSION_MIN_REQUIRED >= 1020) && !defined(__INTEL__) - #define WEAK_IMPORT_ATTRIBUTE __attribute__((weak_import)) -#else - #define WEAK_IMPORT_ATTRIBUTE -#endif - -/* - * only certain compilers support __attribute__((deprecated)) - */ -#if defined(__has_feature) && defined(__has_attribute) - #if __has_attribute(deprecated) - #define DEPRECATED_ATTRIBUTE __attribute__((deprecated)) - #if __has_feature(attribute_deprecated_with_message) - #define DEPRECATED_MSG_ATTRIBUTE(s) __attribute__((deprecated(s))) - #else - #define DEPRECATED_MSG_ATTRIBUTE(s) __attribute__((deprecated)) - #endif - #else - #define DEPRECATED_ATTRIBUTE - #define DEPRECATED_MSG_ATTRIBUTE(s) - #endif -#elif defined(__GNUC__) && ((__GNUC__ >= 4) || ((__GNUC__ == 3) && (__GNUC_MINOR__ >= 1))) - #define DEPRECATED_ATTRIBUTE __attribute__((deprecated)) - #if (__GNUC__ >= 5) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 5)) - #define DEPRECATED_MSG_ATTRIBUTE(s) __attribute__((deprecated(s))) - #else - #define DEPRECATED_MSG_ATTRIBUTE(s) __attribute__((deprecated)) - #endif -#else - #define DEPRECATED_ATTRIBUTE - #define DEPRECATED_MSG_ATTRIBUTE(s) -#endif - -/* - * only certain compilers support __attribute__((unavailable)) - */ -#if defined(__GNUC__) && ((__GNUC__ >= 4) || ((__GNUC__ == 3) && (__GNUC_MINOR__ >= 1))) - #define UNAVAILABLE_ATTRIBUTE __attribute__((unavailable)) -#else - #define UNAVAILABLE_ATTRIBUTE -#endif - - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER - * - * Used on functions introduced in Mac OS X 10.0 - */ -#define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED - * - * Used on functions introduced in Mac OS X 10.0, - * and deprecated in Mac OS X 10.0 - */ -#define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED DEPRECATED_ATTRIBUTE - -/* - * DEPRECATED_IN_MAC_OS_X_VERSION_10_0_AND_LATER - * - * Used on types deprecated in Mac OS X 10.0 - */ -#define DEPRECATED_IN_MAC_OS_X_VERSION_10_0_AND_LATER DEPRECATED_ATTRIBUTE - -#ifndef __AVAILABILITY_MACROS_USES_AVAILABILITY - #ifdef __has_attribute - #if __has_attribute(availability) - #include - #define __AVAILABILITY_MACROS_USES_AVAILABILITY 1 - #endif - #endif -#endif - -#if TARGET_OS_OSX -#define __IPHONE_COMPAT_VERSION __IPHONE_NA -#elif TARGET_OS_MACCATALYST -#define __IPHONE_COMPAT_VERSION __IPHONE_NA -#else -#define __IPHONE_COMPAT_VERSION __IPHONE_4_0 -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER - * - * Used on declarations introduced in Mac OS X 10.1 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER __OSX_AVAILABLE_STARTING(__MAC_10_1, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_1 - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER UNAVAILABLE_ATTRIBUTE -#elif MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_1 - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER WEAK_IMPORT_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED - * - * Used on declarations introduced in Mac OS X 10.1, - * and deprecated in Mac OS X 10.1 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_1, __MAC_10_1, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_1 - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_1 - * - * Used on declarations introduced in Mac OS X 10.0, - * but later deprecated in Mac OS X 10.1 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_1 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_1, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_1 - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_1 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_1 AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER - * - * Used on declarations introduced in Mac OS X 10.2 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_2 - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER UNAVAILABLE_ATTRIBUTE -#elif MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_2 - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER WEAK_IMPORT_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED - * - * Used on declarations introduced in Mac OS X 10.2, - * and deprecated in Mac OS X 10.2 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_2, __MAC_10_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_2 - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_2 - * - * Used on declarations introduced in Mac OS X 10.0, - * but later deprecated in Mac OS X 10.2 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_2 - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_2 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_2 AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_2 - * - * Used on declarations introduced in Mac OS X 10.1, - * but later deprecated in Mac OS X 10.2 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_1, __MAC_10_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_2 - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_2 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_2 AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER - * - * Used on declarations introduced in Mac OS X 10.3 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER __OSX_AVAILABLE_STARTING(__MAC_10_3, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_3 - #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER UNAVAILABLE_ATTRIBUTE -#elif MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_3 - #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER WEAK_IMPORT_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED - * - * Used on declarations introduced in Mac OS X 10.3, - * and deprecated in Mac OS X 10.3 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_3, __MAC_10_3, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_3 - #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_3 - * - * Used on declarations introduced in Mac OS X 10.0, - * but later deprecated in Mac OS X 10.3 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_3 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_3, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_3 - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_3 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_3 AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_3 - * - * Used on declarations introduced in Mac OS X 10.1, - * but later deprecated in Mac OS X 10.3 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_3 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_1, __MAC_10_3, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_3 - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_3 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_3 AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_3 - * - * Used on declarations introduced in Mac OS X 10.2, - * but later deprecated in Mac OS X 10.3 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_3 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_2, __MAC_10_3, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_3 - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_3 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_3 AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER - * - * Used on declarations introduced in Mac OS X 10.4 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_4 - #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER UNAVAILABLE_ATTRIBUTE -#elif MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_4 - #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER WEAK_IMPORT_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED - * - * Used on declarations introduced in Mac OS X 10.4, - * and deprecated in Mac OS X 10.4 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_4 - #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 - * - * Used on declarations introduced in Mac OS X 10.0, - * but later deprecated in Mac OS X 10.4 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_4 - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 - * - * Used on declarations introduced in Mac OS X 10.1, - * but later deprecated in Mac OS X 10.4 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_1, __MAC_10_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_4 - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 - * - * Used on declarations introduced in Mac OS X 10.2, - * but later deprecated in Mac OS X 10.4 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_2, __MAC_10_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_4 - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 - * - * Used on declarations introduced in Mac OS X 10.3, - * but later deprecated in Mac OS X 10.4 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_3, __MAC_10_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_4 - #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER - * - * Used on declarations introduced in Mac OS X 10.5 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER __OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_5 - #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER UNAVAILABLE_ATTRIBUTE -#elif MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_5 - #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER WEAK_IMPORT_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED - * - * Used on declarations introduced in Mac OS X 10.5, - * and deprecated in Mac OS X 10.5 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_5, __MAC_10_5, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_5 - #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 - * - * Used on declarations introduced in Mac OS X 10.0, - * but later deprecated in Mac OS X 10.5 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_5, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_5 - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 - * - * Used on declarations introduced in Mac OS X 10.1, - * but later deprecated in Mac OS X 10.5 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_1, __MAC_10_5, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_5 - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 - * - * Used on declarations introduced in Mac OS X 10.2, - * but later deprecated in Mac OS X 10.5 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_2, __MAC_10_5, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_5 - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 - * - * Used on declarations introduced in Mac OS X 10.3, - * but later deprecated in Mac OS X 10.5 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_3, __MAC_10_5, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_5 - #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 - * - * Used on declarations introduced in Mac OS X 10.4, - * but later deprecated in Mac OS X 10.5 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_5, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_5 - #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER - * - * Used on declarations introduced in Mac OS X 10.6 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER __OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_6 - #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER UNAVAILABLE_ATTRIBUTE -#elif MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_6 - #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER WEAK_IMPORT_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED - * - * Used on declarations introduced in Mac OS X 10.6, - * and deprecated in Mac OS X 10.6 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_6, __MAC_10_6, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_6 - #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_6 - * - * Used on declarations introduced in Mac OS X 10.0, - * but later deprecated in Mac OS X 10.6 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_6 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_6, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_6 - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_6 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_6 AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_6 - * - * Used on declarations introduced in Mac OS X 10.1, - * but later deprecated in Mac OS X 10.6 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_6 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_1, __MAC_10_6, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_6 - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_6 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_6 AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_6 - * - * Used on declarations introduced in Mac OS X 10.2, - * but later deprecated in Mac OS X 10.6 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_6 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_2, __MAC_10_6, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_6 - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_6 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_6 AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_6 - * - * Used on declarations introduced in Mac OS X 10.3, - * but later deprecated in Mac OS X 10.6 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_6 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_3, __MAC_10_6, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_6 - #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_6 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_6 AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_6 - * - * Used on declarations introduced in Mac OS X 10.4, - * but later deprecated in Mac OS X 10.6 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_6 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_6, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_6 - #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_6 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_6 AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_6 - * - * Used on declarations introduced in Mac OS X 10.5, - * but later deprecated in Mac OS X 10.6 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_6 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_5, __MAC_10_6, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_6 - #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_6 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_6 AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER - * - * Used on declarations introduced in Mac OS X 10.7 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_7 - #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER UNAVAILABLE_ATTRIBUTE -#elif MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_7 - #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER WEAK_IMPORT_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED - * - * Used on declarations introduced in Mac OS X 10.7, - * and deprecated in Mac OS X 10.7 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_7, __MAC_10_7, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_7 - #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7 - * - * Used on declarations introduced in Mac OS X 10.0, - * but later deprecated in Mac OS X 10.7 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_7, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_7 - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7 AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7 - * - * Used on declarations introduced in Mac OS X 10.1, - * but later deprecated in Mac OS X 10.7 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_1, __MAC_10_7, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_7 - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7 AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7 - * - * Used on declarations introduced in Mac OS X 10.2, - * but later deprecated in Mac OS X 10.7 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_2, __MAC_10_7, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_7 - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7 AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7 - * - * Used on declarations introduced in Mac OS X 10.3, - * but later deprecated in Mac OS X 10.7 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_3, __MAC_10_7, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_7 - #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7 AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7 - * - * Used on declarations introduced in Mac OS X 10.4, - * but later deprecated in Mac OS X 10.7 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_7, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_7 - #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7 AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7 - * - * Used on declarations introduced in Mac OS X 10.5, - * but later deprecated in Mac OS X 10.7 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_5, __MAC_10_7, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_7 - #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7 AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7 - * - * Used on declarations introduced in Mac OS X 10.6, - * but later deprecated in Mac OS X 10.7 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_6, __MAC_10_7, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_7 - #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7 AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_13 - * - * Used on declarations introduced in Mac OS X 10.6, - * but later deprecated in Mac OS X 10.13 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY -#define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_13 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_6, __MAC_10_13, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_7 -#define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_13 DEPRECATED_ATTRIBUTE -#else -#define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_13 AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER - * - * Used on declarations introduced in Mac OS X 10.8 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER __OSX_AVAILABLE_STARTING(__MAC_10_8, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_8 - #define AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER UNAVAILABLE_ATTRIBUTE -#elif MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_8 - #define AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER WEAK_IMPORT_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED - * - * Used on declarations introduced in Mac OS X 10.8, - * and deprecated in Mac OS X 10.8 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_8, __MAC_10_8, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_8 - #define AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 - * - * Used on declarations introduced in Mac OS X 10.0, - * but later deprecated in Mac OS X 10.8 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_8 - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 - * - * Used on declarations introduced in Mac OS X 10.1, - * but later deprecated in Mac OS X 10.8 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_1, __MAC_10_8, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_8 - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 - * - * Used on declarations introduced in Mac OS X 10.2, - * but later deprecated in Mac OS X 10.8 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_2, __MAC_10_8, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_8 - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 - * - * Used on declarations introduced in Mac OS X 10.3, - * but later deprecated in Mac OS X 10.8 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_3, __MAC_10_8, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_8 - #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 - * - * Used on declarations introduced in Mac OS X 10.4, - * but later deprecated in Mac OS X 10.8 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_8, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_8 - #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 - * - * Used on declarations introduced in Mac OS X 10.5, - * but later deprecated in Mac OS X 10.8 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_5, __MAC_10_8, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_8 - #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 - * - * Used on declarations introduced in Mac OS X 10.6, - * but later deprecated in Mac OS X 10.8 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_6, __MAC_10_8, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_8 - #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 - * - * Used on declarations introduced in Mac OS X 10.7, - * but later deprecated in Mac OS X 10.8 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_7, __MAC_10_8, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_8 - #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER - * - * Used on declarations introduced in Mac OS X 10.9 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER __OSX_AVAILABLE_STARTING(__MAC_10_9, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_9 - #define AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER UNAVAILABLE_ATTRIBUTE -#elif MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_9 - #define AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER WEAK_IMPORT_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED - * - * Used on declarations introduced in Mac OS X 10.9, - * and deprecated in Mac OS X 10.9 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_9, __MAC_10_9, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_9 - #define AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_9 - * - * Used on declarations introduced in Mac OS X 10.0, - * but later deprecated in Mac OS X 10.9 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_9 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_9, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_9 - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_9 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_9 AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_9 - * - * Used on declarations introduced in Mac OS X 10.1, - * but later deprecated in Mac OS X 10.9 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_9 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_1, __MAC_10_9, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_9 - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_9 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_9 AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_9 - * - * Used on declarations introduced in Mac OS X 10.2, - * but later deprecated in Mac OS X 10.9 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_9 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_2, __MAC_10_9, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_9 - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_9 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_9 AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_9 - * - * Used on declarations introduced in Mac OS X 10.3, - * but later deprecated in Mac OS X 10.9 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_9 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_3, __MAC_10_9, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_9 - #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_9 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_9 AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_9 - * - * Used on declarations introduced in Mac OS X 10.4, - * but later deprecated in Mac OS X 10.9 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_9 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_9, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_9 - #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_9 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_9 AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_9 - * - * Used on declarations introduced in Mac OS X 10.5, - * but later deprecated in Mac OS X 10.9 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_9 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_5, __MAC_10_9, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_9 - #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_9 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_9 AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_9 - * - * Used on declarations introduced in Mac OS X 10.6, - * but later deprecated in Mac OS X 10.9 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_9 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_6, __MAC_10_9, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_9 - #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_9 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_9 AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_9 - * - * Used on declarations introduced in Mac OS X 10.7, - * but later deprecated in Mac OS X 10.9 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_9 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_7, __MAC_10_9, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_9 - #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_9 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_9 AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_9 - * - * Used on declarations introduced in Mac OS X 10.8, - * but later deprecated in Mac OS X 10.9 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_9 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_8, __MAC_10_9, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_9 - #define AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_9 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_9 AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER - * - * Used on declarations introduced in Mac OS X 10.10 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER __OSX_AVAILABLE_STARTING(__MAC_10_10, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_10 - #define AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER UNAVAILABLE_ATTRIBUTE -#elif MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_10 - #define AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER WEAK_IMPORT_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED - * - * Used on declarations introduced in Mac OS X 10.10, - * and deprecated in Mac OS X 10.10 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_10, __MAC_10_10, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_10 - #define AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 - * - * Used on declarations introduced in Mac OS X 10.0, - * but later deprecated in Mac OS X 10.10 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_10, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_10 - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 - * - * Used on declarations introduced in Mac OS X 10.1, - * but later deprecated in Mac OS X 10.10 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_1, __MAC_10_10, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_10 - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 - * - * Used on declarations introduced in Mac OS X 10.2, - * but later deprecated in Mac OS X 10.10 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_2, __MAC_10_10, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_10 - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 - * - * Used on declarations introduced in Mac OS X 10.3, - * but later deprecated in Mac OS X 10.10 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_3, __MAC_10_10, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_10 - #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 - * - * Used on declarations introduced in Mac OS X 10.4, - * but later deprecated in Mac OS X 10.10 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_10, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_10 - #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 - * - * Used on declarations introduced in Mac OS X 10.5, - * but later deprecated in Mac OS X 10.10 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_5, __MAC_10_10, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_10 - #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 - * - * Used on declarations introduced in Mac OS X 10.6, - * but later deprecated in Mac OS X 10.10 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_6, __MAC_10_10, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_10 - #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 - * - * Used on declarations introduced in Mac OS X 10.7, - * but later deprecated in Mac OS X 10.10 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_7, __MAC_10_10, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_10 - #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 - * - * Used on declarations introduced in Mac OS X 10.8, - * but later deprecated in Mac OS X 10.10 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_8, __MAC_10_10, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_10 - #define AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 - * - * Used on declarations introduced in Mac OS X 10.9, - * but later deprecated in Mac OS X 10.10 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_9, __MAC_10_10, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_10 - #define AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER - * - * Used on declarations introduced in Mac OS X 10.10.2 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER __OSX_AVAILABLE_STARTING(__MAC_10_10_2, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_10_2 - #define AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER UNAVAILABLE_ATTRIBUTE -#elif MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_10_2 - #define AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER WEAK_IMPORT_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED - * - * Used on declarations introduced in Mac OS X 10.10.2, - * and deprecated in Mac OS X 10.10.2 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_10_2, __MAC_10_10_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_10_2 - #define AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 - * - * Used on declarations introduced in Mac OS X 10.0, - * but later deprecated in Mac OS X 10.10.2 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_10_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_10_2 - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 - * - * Used on declarations introduced in Mac OS X 10.1, - * but later deprecated in Mac OS X 10.10.2 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_1, __MAC_10_10_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_10_2 - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 - * - * Used on declarations introduced in Mac OS X 10.2, - * but later deprecated in Mac OS X 10.10.2 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_2, __MAC_10_10_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_10_2 - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 - * - * Used on declarations introduced in Mac OS X 10.3, - * but later deprecated in Mac OS X 10.10.2 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_3, __MAC_10_10_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_10_2 - #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 - * - * Used on declarations introduced in Mac OS X 10.4, - * but later deprecated in Mac OS X 10.10.2 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_10_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_10_2 - #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 - * - * Used on declarations introduced in Mac OS X 10.5, - * but later deprecated in Mac OS X 10.10.2 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_5, __MAC_10_10_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_10_2 - #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 - * - * Used on declarations introduced in Mac OS X 10.6, - * but later deprecated in Mac OS X 10.10.2 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_6, __MAC_10_10_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_10_2 - #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 - * - * Used on declarations introduced in Mac OS X 10.7, - * but later deprecated in Mac OS X 10.10.2 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_7, __MAC_10_10_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_10_2 - #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 - * - * Used on declarations introduced in Mac OS X 10.8, - * but later deprecated in Mac OS X 10.10.2 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_8, __MAC_10_10_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_10_2 - #define AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 - * - * Used on declarations introduced in Mac OS X 10.9, - * but later deprecated in Mac OS X 10.10.2 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_9, __MAC_10_10_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_10_2 - #define AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 - * - * Used on declarations introduced in Mac OS X 10.10, - * but later deprecated in Mac OS X 10.10.2 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_10, __MAC_10_10_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_10_2 - #define AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER - * - * Used on declarations introduced in Mac OS X 10.10.3 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER __OSX_AVAILABLE_STARTING(__MAC_10_10_3, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_10_3 - #define AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER UNAVAILABLE_ATTRIBUTE -#elif MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_10_3 - #define AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER WEAK_IMPORT_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER_BUT_DEPRECATED - * - * Used on declarations introduced in Mac OS X 10.10.3, - * and deprecated in Mac OS X 10.10.3 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER_BUT_DEPRECATED __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_10_3, __MAC_10_10_3, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_10_3 - #define AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER_BUT_DEPRECATED DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER_BUT_DEPRECATED AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 - * - * Used on declarations introduced in Mac OS X 10.0, - * but later deprecated in Mac OS X 10.10.3 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_10_3, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_10_3 - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 - * - * Used on declarations introduced in Mac OS X 10.1, - * but later deprecated in Mac OS X 10.10.3 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_1, __MAC_10_10_3, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_10_3 - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 - * - * Used on declarations introduced in Mac OS X 10.2, - * but later deprecated in Mac OS X 10.10.3 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_2, __MAC_10_10_3, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_10_3 - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 - * - * Used on declarations introduced in Mac OS X 10.3, - * but later deprecated in Mac OS X 10.10.3 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_3, __MAC_10_10_3, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_10_3 - #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 - * - * Used on declarations introduced in Mac OS X 10.4, - * but later deprecated in Mac OS X 10.10.3 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_10_3, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_10_3 - #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 - * - * Used on declarations introduced in Mac OS X 10.5, - * but later deprecated in Mac OS X 10.10.3 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_5, __MAC_10_10_3, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_10_3 - #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 - * - * Used on declarations introduced in Mac OS X 10.6, - * but later deprecated in Mac OS X 10.10.3 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_6, __MAC_10_10_3, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_10_3 - #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 - * - * Used on declarations introduced in Mac OS X 10.7, - * but later deprecated in Mac OS X 10.10.3 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_7, __MAC_10_10_3, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_10_3 - #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 - * - * Used on declarations introduced in Mac OS X 10.8, - * but later deprecated in Mac OS X 10.10.3 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_8, __MAC_10_10_3, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_10_3 - #define AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 - * - * Used on declarations introduced in Mac OS X 10.9, - * but later deprecated in Mac OS X 10.10.3 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_9, __MAC_10_10_3, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_10_3 - #define AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 - * - * Used on declarations introduced in Mac OS X 10.10, - * but later deprecated in Mac OS X 10.10.3 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_10, __MAC_10_10_3, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_10_3 - #define AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 - * - * Used on declarations introduced in Mac OS X 10.10.2, - * but later deprecated in Mac OS X 10.10.3 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_10_2, __MAC_10_10_3, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_10_3 - #define AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER - * - * Used on declarations introduced in Mac OS X 10.11 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER __OSX_AVAILABLE_STARTING(__MAC_10_11, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_11 - #define AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER UNAVAILABLE_ATTRIBUTE -#elif MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_11 - #define AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER WEAK_IMPORT_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER_BUT_DEPRECATED - * - * Used on declarations introduced in Mac OS X 10.11, - * and deprecated in Mac OS X 10.11 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER_BUT_DEPRECATED __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_11, __MAC_10_11, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11 - #define AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER_BUT_DEPRECATED DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER_BUT_DEPRECATED AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 - * - * Used on declarations introduced in Mac OS X 10.0, - * but later deprecated in Mac OS X 10.11 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_11, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11 - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 - * - * Used on declarations introduced in Mac OS X 10.1, - * but later deprecated in Mac OS X 10.11 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_1, __MAC_10_11, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11 - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 - * - * Used on declarations introduced in Mac OS X 10.2, - * but later deprecated in Mac OS X 10.11 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_2, __MAC_10_11, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11 - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 - * - * Used on declarations introduced in Mac OS X 10.3, - * but later deprecated in Mac OS X 10.11 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_3, __MAC_10_11, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11 - #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 - * - * Used on declarations introduced in Mac OS X 10.4, - * but later deprecated in Mac OS X 10.11 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_11, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11 - #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 - * - * Used on declarations introduced in Mac OS X 10.5, - * but later deprecated in Mac OS X 10.11 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_5, __MAC_10_11, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11 - #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 - * - * Used on declarations introduced in Mac OS X 10.6, - * but later deprecated in Mac OS X 10.11 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_6, __MAC_10_11, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11 - #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 - * - * Used on declarations introduced in Mac OS X 10.7, - * but later deprecated in Mac OS X 10.11 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_7, __MAC_10_11, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11 - #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 - * - * Used on declarations introduced in Mac OS X 10.8, - * but later deprecated in Mac OS X 10.11 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_8, __MAC_10_11, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11 - #define AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 - * - * Used on declarations introduced in Mac OS X 10.9, - * but later deprecated in Mac OS X 10.11 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_9, __MAC_10_11, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11 - #define AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 - * - * Used on declarations introduced in Mac OS X 10.10, - * but later deprecated in Mac OS X 10.11 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_10, __MAC_10_11, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11 - #define AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 - * - * Used on declarations introduced in Mac OS X 10.10.2, - * but later deprecated in Mac OS X 10.11 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_10_2, __MAC_10_11, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11 - #define AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 - * - * Used on declarations introduced in Mac OS X 10.10.3, - * but later deprecated in Mac OS X 10.11 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_10_3, __MAC_10_11, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11 - #define AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_11_2_AND_LATER - * - * Used on declarations introduced in Mac OS X 10.11.2 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_11_2_AND_LATER __OSX_AVAILABLE_STARTING(__MAC_10_11_2, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_11_2 - #define AVAILABLE_MAC_OS_X_VERSION_10_11_2_AND_LATER UNAVAILABLE_ATTRIBUTE -#elif MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_11_2 - #define AVAILABLE_MAC_OS_X_VERSION_10_11_2_AND_LATER WEAK_IMPORT_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_11_2_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_11_2_AND_LATER_BUT_DEPRECATED - * - * Used on declarations introduced in Mac OS X 10.11.2, - * and deprecated in Mac OS X 10.11.2 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_11_2_AND_LATER_BUT_DEPRECATED __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_11_2, __MAC_10_11_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11_2 - #define AVAILABLE_MAC_OS_X_VERSION_10_11_2_AND_LATER_BUT_DEPRECATED DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_11_2_AND_LATER_BUT_DEPRECATED AVAILABLE_MAC_OS_X_VERSION_10_11_2_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 - * - * Used on declarations introduced in Mac OS X 10.0, - * but later deprecated in Mac OS X 10.11.2 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_11_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11_2 - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 - * - * Used on declarations introduced in Mac OS X 10.1, - * but later deprecated in Mac OS X 10.11.2 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_1, __MAC_10_11_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11_2 - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 - * - * Used on declarations introduced in Mac OS X 10.2, - * but later deprecated in Mac OS X 10.11.2 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_2, __MAC_10_11_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11_2 - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 - * - * Used on declarations introduced in Mac OS X 10.3, - * but later deprecated in Mac OS X 10.11.2 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_3, __MAC_10_11_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11_2 - #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 - * - * Used on declarations introduced in Mac OS X 10.4, - * but later deprecated in Mac OS X 10.11.2 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_11_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11_2 - #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 - * - * Used on declarations introduced in Mac OS X 10.5, - * but later deprecated in Mac OS X 10.11.2 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_5, __MAC_10_11_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11_2 - #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 - * - * Used on declarations introduced in Mac OS X 10.6, - * but later deprecated in Mac OS X 10.11.2 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_6, __MAC_10_11_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11_2 - #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 - * - * Used on declarations introduced in Mac OS X 10.7, - * but later deprecated in Mac OS X 10.11.2 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_7, __MAC_10_11_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11_2 - #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 - * - * Used on declarations introduced in Mac OS X 10.8, - * but later deprecated in Mac OS X 10.11.2 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_8, __MAC_10_11_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11_2 - #define AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 - * - * Used on declarations introduced in Mac OS X 10.9, - * but later deprecated in Mac OS X 10.11.2 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_9, __MAC_10_11_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11_2 - #define AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 - * - * Used on declarations introduced in Mac OS X 10.10, - * but later deprecated in Mac OS X 10.11.2 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_10, __MAC_10_11_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11_2 - #define AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 - * - * Used on declarations introduced in Mac OS X 10.10.2, - * but later deprecated in Mac OS X 10.11.2 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_10_2, __MAC_10_11_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11_2 - #define AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 - * - * Used on declarations introduced in Mac OS X 10.10.3, - * but later deprecated in Mac OS X 10.11.2 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_10_3, __MAC_10_11_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11_2 - #define AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 - * - * Used on declarations introduced in Mac OS X 10.11, - * but later deprecated in Mac OS X 10.11.2 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_11, __MAC_10_11_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11_2 - #define AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_11_3_AND_LATER - * - * Used on declarations introduced in Mac OS X 10.11.3 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_11_3_AND_LATER __OSX_AVAILABLE_STARTING(__MAC_10_11_3, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_11_3 - #define AVAILABLE_MAC_OS_X_VERSION_10_11_3_AND_LATER UNAVAILABLE_ATTRIBUTE -#elif MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_11_3 - #define AVAILABLE_MAC_OS_X_VERSION_10_11_3_AND_LATER WEAK_IMPORT_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_11_3_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_11_3_AND_LATER_BUT_DEPRECATED - * - * Used on declarations introduced in Mac OS X 10.11.3, - * and deprecated in Mac OS X 10.11.3 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_11_3_AND_LATER_BUT_DEPRECATED __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_11_3, __MAC_10_11_3, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11_3 - #define AVAILABLE_MAC_OS_X_VERSION_10_11_3_AND_LATER_BUT_DEPRECATED DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_11_3_AND_LATER_BUT_DEPRECATED AVAILABLE_MAC_OS_X_VERSION_10_11_3_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 - * - * Used on declarations introduced in Mac OS X 10.0, - * but later deprecated in Mac OS X 10.11.3 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_11_3, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11_3 - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 - * - * Used on declarations introduced in Mac OS X 10.1, - * but later deprecated in Mac OS X 10.11.3 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_1, __MAC_10_11_3, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11_3 - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 - * - * Used on declarations introduced in Mac OS X 10.2, - * but later deprecated in Mac OS X 10.11.3 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_2, __MAC_10_11_3, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11_3 - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 - * - * Used on declarations introduced in Mac OS X 10.3, - * but later deprecated in Mac OS X 10.11.3 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_3, __MAC_10_11_3, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11_3 - #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 - * - * Used on declarations introduced in Mac OS X 10.4, - * but later deprecated in Mac OS X 10.11.3 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_11_3, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11_3 - #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 - * - * Used on declarations introduced in Mac OS X 10.5, - * but later deprecated in Mac OS X 10.11.3 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_5, __MAC_10_11_3, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11_3 - #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 - * - * Used on declarations introduced in Mac OS X 10.6, - * but later deprecated in Mac OS X 10.11.3 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_6, __MAC_10_11_3, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11_3 - #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 - * - * Used on declarations introduced in Mac OS X 10.7, - * but later deprecated in Mac OS X 10.11.3 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_7, __MAC_10_11_3, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11_3 - #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 - * - * Used on declarations introduced in Mac OS X 10.8, - * but later deprecated in Mac OS X 10.11.3 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_8, __MAC_10_11_3, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11_3 - #define AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 - * - * Used on declarations introduced in Mac OS X 10.9, - * but later deprecated in Mac OS X 10.11.3 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_9, __MAC_10_11_3, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11_3 - #define AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 - * - * Used on declarations introduced in Mac OS X 10.10, - * but later deprecated in Mac OS X 10.11.3 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_10, __MAC_10_11_3, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11_3 - #define AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 - * - * Used on declarations introduced in Mac OS X 10.10.2, - * but later deprecated in Mac OS X 10.11.3 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_10_2, __MAC_10_11_3, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11_3 - #define AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 - * - * Used on declarations introduced in Mac OS X 10.10.3, - * but later deprecated in Mac OS X 10.11.3 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_10_3, __MAC_10_11_3, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11_3 - #define AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 - * - * Used on declarations introduced in Mac OS X 10.11, - * but later deprecated in Mac OS X 10.11.3 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_11, __MAC_10_11_3, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11_3 - #define AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_11_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 - * - * Used on declarations introduced in Mac OS X 10.11.2, - * but later deprecated in Mac OS X 10.11.3 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_11_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_11_2, __MAC_10_11_3, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11_3 - #define AVAILABLE_MAC_OS_X_VERSION_10_11_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_11_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 AVAILABLE_MAC_OS_X_VERSION_10_11_2_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_11_4_AND_LATER - * - * Used on declarations introduced in Mac OS X 10.11.4 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_11_4_AND_LATER __OSX_AVAILABLE_STARTING(__MAC_10_11_4, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_11_4 - #define AVAILABLE_MAC_OS_X_VERSION_10_11_4_AND_LATER UNAVAILABLE_ATTRIBUTE -#elif MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_11_4 - #define AVAILABLE_MAC_OS_X_VERSION_10_11_4_AND_LATER WEAK_IMPORT_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_11_4_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_11_4_AND_LATER_BUT_DEPRECATED - * - * Used on declarations introduced in Mac OS X 10.11.4, - * and deprecated in Mac OS X 10.11.4 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_11_4_AND_LATER_BUT_DEPRECATED __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_11_4, __MAC_10_11_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11_4 - #define AVAILABLE_MAC_OS_X_VERSION_10_11_4_AND_LATER_BUT_DEPRECATED DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_11_4_AND_LATER_BUT_DEPRECATED AVAILABLE_MAC_OS_X_VERSION_10_11_4_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 - * - * Used on declarations introduced in Mac OS X 10.0, - * but later deprecated in Mac OS X 10.11.4 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_11_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11_4 - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 - * - * Used on declarations introduced in Mac OS X 10.1, - * but later deprecated in Mac OS X 10.11.4 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_1, __MAC_10_11_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11_4 - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 - * - * Used on declarations introduced in Mac OS X 10.2, - * but later deprecated in Mac OS X 10.11.4 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_2, __MAC_10_11_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11_4 - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 - * - * Used on declarations introduced in Mac OS X 10.3, - * but later deprecated in Mac OS X 10.11.4 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_3, __MAC_10_11_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11_4 - #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 - * - * Used on declarations introduced in Mac OS X 10.4, - * but later deprecated in Mac OS X 10.11.4 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_11_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11_4 - #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 - * - * Used on declarations introduced in Mac OS X 10.5, - * but later deprecated in Mac OS X 10.11.4 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_5, __MAC_10_11_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11_4 - #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 - * - * Used on declarations introduced in Mac OS X 10.6, - * but later deprecated in Mac OS X 10.11.4 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_6, __MAC_10_11_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11_4 - #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 - * - * Used on declarations introduced in Mac OS X 10.7, - * but later deprecated in Mac OS X 10.11.4 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_7, __MAC_10_11_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11_4 - #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 - * - * Used on declarations introduced in Mac OS X 10.8, - * but later deprecated in Mac OS X 10.11.4 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_8, __MAC_10_11_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11_4 - #define AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 - * - * Used on declarations introduced in Mac OS X 10.9, - * but later deprecated in Mac OS X 10.11.4 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_9, __MAC_10_11_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11_4 - #define AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 - * - * Used on declarations introduced in Mac OS X 10.10, - * but later deprecated in Mac OS X 10.11.4 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_10, __MAC_10_11_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11_4 - #define AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 - * - * Used on declarations introduced in Mac OS X 10.10.2, - * but later deprecated in Mac OS X 10.11.4 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_10_2, __MAC_10_11_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11_4 - #define AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 - * - * Used on declarations introduced in Mac OS X 10.10.3, - * but later deprecated in Mac OS X 10.11.4 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_10_3, __MAC_10_11_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11_4 - #define AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 - * - * Used on declarations introduced in Mac OS X 10.11, - * but later deprecated in Mac OS X 10.11.4 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_11, __MAC_10_11_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11_4 - #define AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_11_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 - * - * Used on declarations introduced in Mac OS X 10.11.2, - * but later deprecated in Mac OS X 10.11.4 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_11_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_11_2, __MAC_10_11_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11_4 - #define AVAILABLE_MAC_OS_X_VERSION_10_11_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_11_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 AVAILABLE_MAC_OS_X_VERSION_10_11_2_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_11_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 - * - * Used on declarations introduced in Mac OS X 10.11.3, - * but later deprecated in Mac OS X 10.11.4 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_11_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_11_3, __MAC_10_11_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11_4 - #define AVAILABLE_MAC_OS_X_VERSION_10_11_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_11_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 AVAILABLE_MAC_OS_X_VERSION_10_11_3_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_12_AND_LATER - * - * Used on declarations introduced in Mac OS X 10.12 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_12_AND_LATER __OSX_AVAILABLE_STARTING(__MAC_10_12, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_12 - #define AVAILABLE_MAC_OS_X_VERSION_10_12_AND_LATER UNAVAILABLE_ATTRIBUTE -#elif MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_12 - #define AVAILABLE_MAC_OS_X_VERSION_10_12_AND_LATER WEAK_IMPORT_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_12_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_12_AND_LATER_BUT_DEPRECATED - * - * Used on declarations introduced in Mac OS X 10.12, - * and deprecated in Mac OS X 10.12 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_12_AND_LATER_BUT_DEPRECATED __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_12, __MAC_10_12, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12 - #define AVAILABLE_MAC_OS_X_VERSION_10_12_AND_LATER_BUT_DEPRECATED DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_12_AND_LATER_BUT_DEPRECATED AVAILABLE_MAC_OS_X_VERSION_10_12_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 - * - * Used on declarations introduced in Mac OS X 10.0, - * but later deprecated in Mac OS X 10.12 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_12, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12 - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 - * - * Used on declarations introduced in Mac OS X 10.1, - * but later deprecated in Mac OS X 10.12 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_1, __MAC_10_12, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12 - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 - * - * Used on declarations introduced in Mac OS X 10.2, - * but later deprecated in Mac OS X 10.12 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_2, __MAC_10_12, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12 - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 - * - * Used on declarations introduced in Mac OS X 10.3, - * but later deprecated in Mac OS X 10.12 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_3, __MAC_10_12, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12 - #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 - * - * Used on declarations introduced in Mac OS X 10.4, - * but later deprecated in Mac OS X 10.12 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_12, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12 - #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 - * - * Used on declarations introduced in Mac OS X 10.5, - * but later deprecated in Mac OS X 10.12 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_5, __MAC_10_12, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12 - #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 - * - * Used on declarations introduced in Mac OS X 10.6, - * but later deprecated in Mac OS X 10.12 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_6, __MAC_10_12, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12 - #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 - * - * Used on declarations introduced in Mac OS X 10.7, - * but later deprecated in Mac OS X 10.12 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_7, __MAC_10_12, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12 - #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 - * - * Used on declarations introduced in Mac OS X 10.8, - * but later deprecated in Mac OS X 10.12 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_8, __MAC_10_12, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12 - #define AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 - * - * Used on declarations introduced in Mac OS X 10.9, - * but later deprecated in Mac OS X 10.12 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_9, __MAC_10_12, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12 - #define AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 - * - * Used on declarations introduced in Mac OS X 10.10, - * but later deprecated in Mac OS X 10.12 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_10, __MAC_10_12, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12 - #define AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 - * - * Used on declarations introduced in Mac OS X 10.10.2, - * but later deprecated in Mac OS X 10.12 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_10_2, __MAC_10_12, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12 - #define AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 - * - * Used on declarations introduced in Mac OS X 10.10.3, - * but later deprecated in Mac OS X 10.12 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_10_3, __MAC_10_12, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12 - #define AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 - * - * Used on declarations introduced in Mac OS X 10.11, - * but later deprecated in Mac OS X 10.12 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_11, __MAC_10_12, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12 - #define AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_11_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 - * - * Used on declarations introduced in Mac OS X 10.11.2, - * but later deprecated in Mac OS X 10.12 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_11_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_11_2, __MAC_10_12, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12 - #define AVAILABLE_MAC_OS_X_VERSION_10_11_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_11_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 AVAILABLE_MAC_OS_X_VERSION_10_11_2_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_11_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 - * - * Used on declarations introduced in Mac OS X 10.11.3, - * but later deprecated in Mac OS X 10.12 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_11_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_11_3, __MAC_10_12, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12 - #define AVAILABLE_MAC_OS_X_VERSION_10_11_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_11_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 AVAILABLE_MAC_OS_X_VERSION_10_11_3_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_11_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 - * - * Used on declarations introduced in Mac OS X 10.11.4, - * but later deprecated in Mac OS X 10.12 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_11_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_11_4, __MAC_10_12, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12 - #define AVAILABLE_MAC_OS_X_VERSION_10_11_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_11_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 AVAILABLE_MAC_OS_X_VERSION_10_11_4_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_12_1_AND_LATER - * - * Used on declarations introduced in Mac OS X 10.12.1 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_12_1_AND_LATER __OSX_AVAILABLE_STARTING(__MAC_10_12_1, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_12_1 - #define AVAILABLE_MAC_OS_X_VERSION_10_12_1_AND_LATER UNAVAILABLE_ATTRIBUTE -#elif MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_12_1 - #define AVAILABLE_MAC_OS_X_VERSION_10_12_1_AND_LATER WEAK_IMPORT_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_12_1_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_12_1_AND_LATER_BUT_DEPRECATED - * - * Used on declarations introduced in Mac OS X 10.12.1, - * and deprecated in Mac OS X 10.12.1 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_12_1_AND_LATER_BUT_DEPRECATED __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_12_1, __MAC_10_12_1, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_1 - #define AVAILABLE_MAC_OS_X_VERSION_10_12_1_AND_LATER_BUT_DEPRECATED DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_12_1_AND_LATER_BUT_DEPRECATED AVAILABLE_MAC_OS_X_VERSION_10_12_1_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 - * - * Used on declarations introduced in Mac OS X 10.0, - * but later deprecated in Mac OS X 10.12.1 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_12_1, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_1 - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 - * - * Used on declarations introduced in Mac OS X 10.1, - * but later deprecated in Mac OS X 10.12.1 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_1, __MAC_10_12_1, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_1 - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 - * - * Used on declarations introduced in Mac OS X 10.2, - * but later deprecated in Mac OS X 10.12.1 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_2, __MAC_10_12_1, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_1 - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 - * - * Used on declarations introduced in Mac OS X 10.3, - * but later deprecated in Mac OS X 10.12.1 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_3, __MAC_10_12_1, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_1 - #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 - * - * Used on declarations introduced in Mac OS X 10.4, - * but later deprecated in Mac OS X 10.12.1 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_12_1, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_1 - #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 - * - * Used on declarations introduced in Mac OS X 10.5, - * but later deprecated in Mac OS X 10.12.1 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_5, __MAC_10_12_1, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_1 - #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 - * - * Used on declarations introduced in Mac OS X 10.6, - * but later deprecated in Mac OS X 10.12.1 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_6, __MAC_10_12_1, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_1 - #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 - * - * Used on declarations introduced in Mac OS X 10.7, - * but later deprecated in Mac OS X 10.12.1 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_7, __MAC_10_12_1, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_1 - #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 - * - * Used on declarations introduced in Mac OS X 10.8, - * but later deprecated in Mac OS X 10.12.1 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_8, __MAC_10_12_1, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_1 - #define AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 - * - * Used on declarations introduced in Mac OS X 10.9, - * but later deprecated in Mac OS X 10.12.1 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_9, __MAC_10_12_1, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_1 - #define AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 - * - * Used on declarations introduced in Mac OS X 10.10, - * but later deprecated in Mac OS X 10.12.1 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_10, __MAC_10_12_1, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_1 - #define AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 - * - * Used on declarations introduced in Mac OS X 10.10.2, - * but later deprecated in Mac OS X 10.12.1 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_10_2, __MAC_10_12_1, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_1 - #define AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 - * - * Used on declarations introduced in Mac OS X 10.10.3, - * but later deprecated in Mac OS X 10.12.1 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_10_3, __MAC_10_12_1, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_1 - #define AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 - * - * Used on declarations introduced in Mac OS X 10.11, - * but later deprecated in Mac OS X 10.12.1 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_11, __MAC_10_12_1, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_1 - #define AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_11_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 - * - * Used on declarations introduced in Mac OS X 10.11.2, - * but later deprecated in Mac OS X 10.12.1 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_11_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_11_2, __MAC_10_12_1, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_1 - #define AVAILABLE_MAC_OS_X_VERSION_10_11_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_11_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 AVAILABLE_MAC_OS_X_VERSION_10_11_2_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_11_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 - * - * Used on declarations introduced in Mac OS X 10.11.3, - * but later deprecated in Mac OS X 10.12.1 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_11_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_11_3, __MAC_10_12_1, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_1 - #define AVAILABLE_MAC_OS_X_VERSION_10_11_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_11_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 AVAILABLE_MAC_OS_X_VERSION_10_11_3_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_11_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 - * - * Used on declarations introduced in Mac OS X 10.11.4, - * but later deprecated in Mac OS X 10.12.1 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_11_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_11_4, __MAC_10_12_1, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_1 - #define AVAILABLE_MAC_OS_X_VERSION_10_11_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_11_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 AVAILABLE_MAC_OS_X_VERSION_10_11_4_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_12_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 - * - * Used on declarations introduced in Mac OS X 10.12, - * but later deprecated in Mac OS X 10.12.1 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_12_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_12, __MAC_10_12_1, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_1 - #define AVAILABLE_MAC_OS_X_VERSION_10_12_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_12_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 AVAILABLE_MAC_OS_X_VERSION_10_12_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_12_2_AND_LATER - * - * Used on declarations introduced in Mac OS X 10.12.2 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_12_2_AND_LATER __OSX_AVAILABLE_STARTING(__MAC_10_12_2, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_12_2 - #define AVAILABLE_MAC_OS_X_VERSION_10_12_2_AND_LATER UNAVAILABLE_ATTRIBUTE -#elif MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_12_2 - #define AVAILABLE_MAC_OS_X_VERSION_10_12_2_AND_LATER WEAK_IMPORT_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_12_2_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_12_2_AND_LATER_BUT_DEPRECATED - * - * Used on declarations introduced in Mac OS X 10.12.2, - * and deprecated in Mac OS X 10.12.2 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_12_2_AND_LATER_BUT_DEPRECATED __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_12_2, __MAC_10_12_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_2 - #define AVAILABLE_MAC_OS_X_VERSION_10_12_2_AND_LATER_BUT_DEPRECATED DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_12_2_AND_LATER_BUT_DEPRECATED AVAILABLE_MAC_OS_X_VERSION_10_12_2_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 - * - * Used on declarations introduced in Mac OS X 10.0, - * but later deprecated in Mac OS X 10.12.2 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_12_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_2 - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 - * - * Used on declarations introduced in Mac OS X 10.1, - * but later deprecated in Mac OS X 10.12.2 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_1, __MAC_10_12_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_2 - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 - * - * Used on declarations introduced in Mac OS X 10.2, - * but later deprecated in Mac OS X 10.12.2 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_2, __MAC_10_12_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_2 - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 - * - * Used on declarations introduced in Mac OS X 10.3, - * but later deprecated in Mac OS X 10.12.2 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_3, __MAC_10_12_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_2 - #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 - * - * Used on declarations introduced in Mac OS X 10.4, - * but later deprecated in Mac OS X 10.12.2 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_12_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_2 - #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 - * - * Used on declarations introduced in Mac OS X 10.5, - * but later deprecated in Mac OS X 10.12.2 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_5, __MAC_10_12_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_2 - #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 - * - * Used on declarations introduced in Mac OS X 10.6, - * but later deprecated in Mac OS X 10.12.2 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_6, __MAC_10_12_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_2 - #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 - * - * Used on declarations introduced in Mac OS X 10.7, - * but later deprecated in Mac OS X 10.12.2 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_7, __MAC_10_12_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_2 - #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 - * - * Used on declarations introduced in Mac OS X 10.8, - * but later deprecated in Mac OS X 10.12.2 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_8, __MAC_10_12_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_2 - #define AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 - * - * Used on declarations introduced in Mac OS X 10.9, - * but later deprecated in Mac OS X 10.12.2 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_9, __MAC_10_12_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_2 - #define AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 - * - * Used on declarations introduced in Mac OS X 10.10, - * but later deprecated in Mac OS X 10.12.2 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_10, __MAC_10_12_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_2 - #define AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 - * - * Used on declarations introduced in Mac OS X 10.10.2, - * but later deprecated in Mac OS X 10.12.2 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_10_2, __MAC_10_12_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_2 - #define AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 - * - * Used on declarations introduced in Mac OS X 10.10.3, - * but later deprecated in Mac OS X 10.12.2 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_10_3, __MAC_10_12_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_2 - #define AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 - * - * Used on declarations introduced in Mac OS X 10.11, - * but later deprecated in Mac OS X 10.12.2 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_11, __MAC_10_12_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_2 - #define AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_11_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 - * - * Used on declarations introduced in Mac OS X 10.11.2, - * but later deprecated in Mac OS X 10.12.2 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_11_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_11_2, __MAC_10_12_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_2 - #define AVAILABLE_MAC_OS_X_VERSION_10_11_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_11_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 AVAILABLE_MAC_OS_X_VERSION_10_11_2_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_11_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 - * - * Used on declarations introduced in Mac OS X 10.11.3, - * but later deprecated in Mac OS X 10.12.2 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_11_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_11_3, __MAC_10_12_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_2 - #define AVAILABLE_MAC_OS_X_VERSION_10_11_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_11_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 AVAILABLE_MAC_OS_X_VERSION_10_11_3_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_11_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 - * - * Used on declarations introduced in Mac OS X 10.11.4, - * but later deprecated in Mac OS X 10.12.2 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_11_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_11_4, __MAC_10_12_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_2 - #define AVAILABLE_MAC_OS_X_VERSION_10_11_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_11_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 AVAILABLE_MAC_OS_X_VERSION_10_11_4_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_12_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 - * - * Used on declarations introduced in Mac OS X 10.12, - * but later deprecated in Mac OS X 10.12.2 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_12_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_12, __MAC_10_12_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_2 - #define AVAILABLE_MAC_OS_X_VERSION_10_12_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_12_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 AVAILABLE_MAC_OS_X_VERSION_10_12_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_12_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 - * - * Used on declarations introduced in Mac OS X 10.12.1, - * but later deprecated in Mac OS X 10.12.2 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_12_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_12_1, __MAC_10_12_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_2 - #define AVAILABLE_MAC_OS_X_VERSION_10_12_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_12_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 AVAILABLE_MAC_OS_X_VERSION_10_12_1_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_12_4_AND_LATER - * - * Used on declarations introduced in Mac OS X 10.12.4 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_12_4_AND_LATER __OSX_AVAILABLE_STARTING(__MAC_10_12_4, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_12_4 - #define AVAILABLE_MAC_OS_X_VERSION_10_12_4_AND_LATER UNAVAILABLE_ATTRIBUTE -#elif MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_12_4 - #define AVAILABLE_MAC_OS_X_VERSION_10_12_4_AND_LATER WEAK_IMPORT_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_12_4_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_12_4_AND_LATER_BUT_DEPRECATED - * - * Used on declarations introduced in Mac OS X 10.12.4, - * and deprecated in Mac OS X 10.12.4 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_12_4_AND_LATER_BUT_DEPRECATED __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_12_4, __MAC_10_12_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_4 - #define AVAILABLE_MAC_OS_X_VERSION_10_12_4_AND_LATER_BUT_DEPRECATED DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_12_4_AND_LATER_BUT_DEPRECATED AVAILABLE_MAC_OS_X_VERSION_10_12_4_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 - * - * Used on declarations introduced in Mac OS X 10.0, - * but later deprecated in Mac OS X 10.12.4 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_12_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_4 - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 - * - * Used on declarations introduced in Mac OS X 10.1, - * but later deprecated in Mac OS X 10.12.4 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_1, __MAC_10_12_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_4 - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 - * - * Used on declarations introduced in Mac OS X 10.2, - * but later deprecated in Mac OS X 10.12.4 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_2, __MAC_10_12_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_4 - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 - * - * Used on declarations introduced in Mac OS X 10.3, - * but later deprecated in Mac OS X 10.12.4 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_3, __MAC_10_12_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_4 - #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 - * - * Used on declarations introduced in Mac OS X 10.4, - * but later deprecated in Mac OS X 10.12.4 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_12_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_4 - #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 - * - * Used on declarations introduced in Mac OS X 10.5, - * but later deprecated in Mac OS X 10.12.4 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_5, __MAC_10_12_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_4 - #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 - * - * Used on declarations introduced in Mac OS X 10.6, - * but later deprecated in Mac OS X 10.12.4 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_6, __MAC_10_12_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_4 - #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 - * - * Used on declarations introduced in Mac OS X 10.7, - * but later deprecated in Mac OS X 10.12.4 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_7, __MAC_10_12_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_4 - #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 - * - * Used on declarations introduced in Mac OS X 10.8, - * but later deprecated in Mac OS X 10.12.4 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_8, __MAC_10_12_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_4 - #define AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 - * - * Used on declarations introduced in Mac OS X 10.9, - * but later deprecated in Mac OS X 10.12.4 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_9, __MAC_10_12_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_4 - #define AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 - * - * Used on declarations introduced in Mac OS X 10.10, - * but later deprecated in Mac OS X 10.12.4 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_10, __MAC_10_12_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_4 - #define AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 - * - * Used on declarations introduced in Mac OS X 10.10.2, - * but later deprecated in Mac OS X 10.12.4 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_10_2, __MAC_10_12_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_4 - #define AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 - * - * Used on declarations introduced in Mac OS X 10.10.3, - * but later deprecated in Mac OS X 10.12.4 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_10_3, __MAC_10_12_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_4 - #define AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 - * - * Used on declarations introduced in Mac OS X 10.11, - * but later deprecated in Mac OS X 10.12.4 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_11, __MAC_10_12_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_4 - #define AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_11_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 - * - * Used on declarations introduced in Mac OS X 10.11.2, - * but later deprecated in Mac OS X 10.12.4 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_11_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_11_2, __MAC_10_12_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_4 - #define AVAILABLE_MAC_OS_X_VERSION_10_11_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_11_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 AVAILABLE_MAC_OS_X_VERSION_10_11_2_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_11_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 - * - * Used on declarations introduced in Mac OS X 10.11.3, - * but later deprecated in Mac OS X 10.12.4 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_11_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_11_3, __MAC_10_12_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_4 - #define AVAILABLE_MAC_OS_X_VERSION_10_11_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_11_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 AVAILABLE_MAC_OS_X_VERSION_10_11_3_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_11_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 - * - * Used on declarations introduced in Mac OS X 10.11.4, - * but later deprecated in Mac OS X 10.12.4 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_11_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_11_4, __MAC_10_12_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_4 - #define AVAILABLE_MAC_OS_X_VERSION_10_11_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_11_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 AVAILABLE_MAC_OS_X_VERSION_10_11_4_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_12_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 - * - * Used on declarations introduced in Mac OS X 10.12, - * but later deprecated in Mac OS X 10.12.4 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_12_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_12, __MAC_10_12_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_4 - #define AVAILABLE_MAC_OS_X_VERSION_10_12_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_12_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 AVAILABLE_MAC_OS_X_VERSION_10_12_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_12_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 - * - * Used on declarations introduced in Mac OS X 10.12.1, - * but later deprecated in Mac OS X 10.12.4 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_12_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_12_1, __MAC_10_12_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_4 - #define AVAILABLE_MAC_OS_X_VERSION_10_12_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_12_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 AVAILABLE_MAC_OS_X_VERSION_10_12_1_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_12_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 - * - * Used on declarations introduced in Mac OS X 10.12.2, - * but later deprecated in Mac OS X 10.12.4 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_12_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_12_2, __MAC_10_12_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_4 - #define AVAILABLE_MAC_OS_X_VERSION_10_12_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_12_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 AVAILABLE_MAC_OS_X_VERSION_10_12_2_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_13_AND_LATER - * - * Used on declarations introduced in Mac OS X 10.13 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_13_AND_LATER __OSX_AVAILABLE_STARTING(__MAC_10_13, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_13 - #define AVAILABLE_MAC_OS_X_VERSION_10_13_AND_LATER UNAVAILABLE_ATTRIBUTE -#elif MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_13 - #define AVAILABLE_MAC_OS_X_VERSION_10_13_AND_LATER WEAK_IMPORT_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_13_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_14_AND_LATER - * - * Used on declarations introduced in Mac OS X 10.14 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_14_AND_LATER __OSX_AVAILABLE_STARTING(__MAC_10_14, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_14 - #define AVAILABLE_MAC_OS_X_VERSION_10_14_AND_LATER UNAVAILABLE_ATTRIBUTE -#elif MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_14 - #define AVAILABLE_MAC_OS_X_VERSION_10_14_AND_LATER WEAK_IMPORT_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_14_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_15_AND_LATER - * - * Used on declarations introduced in Mac OS X 10.15 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_15_AND_LATER __OSX_AVAILABLE_STARTING(__MAC_10_15, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_15 - #define AVAILABLE_MAC_OS_X_VERSION_10_15_AND_LATER UNAVAILABLE_ATTRIBUTE -#elif MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_15 - #define AVAILABLE_MAC_OS_X_VERSION_10_15_AND_LATER WEAK_IMPORT_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_15_AND_LATER -#endif - -/* - * DEPRECATED_IN_MAC_OS_X_VERSION_10_1_AND_LATER - * - * Used on types deprecated in Mac OS X 10.1 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define DEPRECATED_IN_MAC_OS_X_VERSION_10_1_AND_LATER __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_1, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_1 - #define DEPRECATED_IN_MAC_OS_X_VERSION_10_1_AND_LATER DEPRECATED_ATTRIBUTE -#else - #define DEPRECATED_IN_MAC_OS_X_VERSION_10_1_AND_LATER -#endif - -/* - * DEPRECATED_IN_MAC_OS_X_VERSION_10_2_AND_LATER - * - * Used on types deprecated in Mac OS X 10.2 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define DEPRECATED_IN_MAC_OS_X_VERSION_10_2_AND_LATER __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_2 - #define DEPRECATED_IN_MAC_OS_X_VERSION_10_2_AND_LATER DEPRECATED_ATTRIBUTE -#else - #define DEPRECATED_IN_MAC_OS_X_VERSION_10_2_AND_LATER -#endif - -/* - * DEPRECATED_IN_MAC_OS_X_VERSION_10_3_AND_LATER - * - * Used on types deprecated in Mac OS X 10.3 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define DEPRECATED_IN_MAC_OS_X_VERSION_10_3_AND_LATER __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_3, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_3 - #define DEPRECATED_IN_MAC_OS_X_VERSION_10_3_AND_LATER DEPRECATED_ATTRIBUTE -#else - #define DEPRECATED_IN_MAC_OS_X_VERSION_10_3_AND_LATER -#endif - -/* - * DEPRECATED_IN_MAC_OS_X_VERSION_10_4_AND_LATER - * - * Used on types deprecated in Mac OS X 10.4 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define DEPRECATED_IN_MAC_OS_X_VERSION_10_4_AND_LATER __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_4 - #define DEPRECATED_IN_MAC_OS_X_VERSION_10_4_AND_LATER DEPRECATED_ATTRIBUTE -#else - #define DEPRECATED_IN_MAC_OS_X_VERSION_10_4_AND_LATER -#endif - - -/* - * DEPRECATED_IN_MAC_OS_X_VERSION_10_5_AND_LATER - * - * Used on types deprecated in Mac OS X 10.5 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define DEPRECATED_IN_MAC_OS_X_VERSION_10_5_AND_LATER __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_5, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_5 - #define DEPRECATED_IN_MAC_OS_X_VERSION_10_5_AND_LATER DEPRECATED_ATTRIBUTE -#else - #define DEPRECATED_IN_MAC_OS_X_VERSION_10_5_AND_LATER -#endif - -/* - * DEPRECATED_IN_MAC_OS_X_VERSION_10_6_AND_LATER - * - * Used on types deprecated in Mac OS X 10.6 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define DEPRECATED_IN_MAC_OS_X_VERSION_10_6_AND_LATER __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_6, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_6 - #define DEPRECATED_IN_MAC_OS_X_VERSION_10_6_AND_LATER DEPRECATED_ATTRIBUTE -#else - #define DEPRECATED_IN_MAC_OS_X_VERSION_10_6_AND_LATER -#endif - -/* - * DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER - * - * Used on types deprecated in Mac OS X 10.7 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_7, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_7 - #define DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER DEPRECATED_ATTRIBUTE -#else - #define DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER -#endif - -/* - * DEPRECATED_IN_MAC_OS_X_VERSION_10_8_AND_LATER - * - * Used on types deprecated in Mac OS X 10.8 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define DEPRECATED_IN_MAC_OS_X_VERSION_10_8_AND_LATER __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_8 - #define DEPRECATED_IN_MAC_OS_X_VERSION_10_8_AND_LATER DEPRECATED_ATTRIBUTE -#else - #define DEPRECATED_IN_MAC_OS_X_VERSION_10_8_AND_LATER -#endif - -/* - * DEPRECATED_IN_MAC_OS_X_VERSION_10_9_AND_LATER - * - * Used on types deprecated in Mac OS X 10.9 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define DEPRECATED_IN_MAC_OS_X_VERSION_10_9_AND_LATER __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_9, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_9 - #define DEPRECATED_IN_MAC_OS_X_VERSION_10_9_AND_LATER DEPRECATED_ATTRIBUTE -#else - #define DEPRECATED_IN_MAC_OS_X_VERSION_10_9_AND_LATER -#endif - -/* - * DEPRECATED_IN_MAC_OS_X_VERSION_10_10_AND_LATER - * - * Used on types deprecated in Mac OS X 10.10 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define DEPRECATED_IN_MAC_OS_X_VERSION_10_10_AND_LATER __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_10, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_10 - #define DEPRECATED_IN_MAC_OS_X_VERSION_10_10_AND_LATER DEPRECATED_ATTRIBUTE -#else - #define DEPRECATED_IN_MAC_OS_X_VERSION_10_10_AND_LATER -#endif - -/* - * DEPRECATED_IN_MAC_OS_X_VERSION_10_11_AND_LATER - * - * Used on types deprecated in Mac OS X 10.11 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define DEPRECATED_IN_MAC_OS_X_VERSION_10_11_AND_LATER __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_11, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11 - #define DEPRECATED_IN_MAC_OS_X_VERSION_10_11_AND_LATER DEPRECATED_ATTRIBUTE -#else - #define DEPRECATED_IN_MAC_OS_X_VERSION_10_11_AND_LATER -#endif - -/* - * DEPRECATED_IN_MAC_OS_X_VERSION_10_12_AND_LATER - * - * Used on types deprecated in Mac OS X 10.12 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define DEPRECATED_IN_MAC_OS_X_VERSION_10_12_AND_LATER __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_12, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12 - #define DEPRECATED_IN_MAC_OS_X_VERSION_10_12_AND_LATER DEPRECATED_ATTRIBUTE -#else - #define DEPRECATED_IN_MAC_OS_X_VERSION_10_12_AND_LATER -#endif - -/* - * DEPRECATED_IN_MAC_OS_X_VERSION_10_13_AND_LATER - * - * Used on types deprecated in Mac OS X 10.13 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define DEPRECATED_IN_MAC_OS_X_VERSION_10_13_AND_LATER __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_13, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12 - #define DEPRECATED_IN_MAC_OS_X_VERSION_10_13_AND_LATER DEPRECATED_ATTRIBUTE -#else - #define DEPRECATED_IN_MAC_OS_X_VERSION_10_13_AND_LATER -#endif - -/* - * DEPRECATED_IN_MAC_OS_X_VERSION_10_14_4_AND_LATER - * - * Used on types deprecated in Mac OS X 10.14.4 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define DEPRECATED_IN_MAC_OS_X_VERSION_10_14_4_AND_LATER __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_14_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_14_4 - #define DEPRECATED_IN_MAC_OS_X_VERSION_10_14_4_AND_LATER DEPRECATED_ATTRIBUTE -#else - #define DEPRECATED_IN_MAC_OS_X_VERSION_10_14_4_AND_LATER -#endif - -#endif /* __AVAILABILITYMACROS__ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.12-any/AvailabilityVersions.h b/lib/libc/include/any-macos.12-any/AvailabilityVersions.h deleted file mode 100644 index 3c92860321..0000000000 --- a/lib/libc/include/any-macos.12-any/AvailabilityVersions.h +++ /dev/null @@ -1,247 +0,0 @@ -/* - * Copyright (c) 2019 by 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 __AVAILABILITY_VERSIONS__ -#define __AVAILABILITY_VERSIONS__ - -#define __MAC_10_0 1000 -#define __MAC_10_1 1010 -#define __MAC_10_2 1020 -#define __MAC_10_3 1030 -#define __MAC_10_4 1040 -#define __MAC_10_5 1050 -#define __MAC_10_6 1060 -#define __MAC_10_7 1070 -#define __MAC_10_8 1080 -#define __MAC_10_9 1090 -#define __MAC_10_10 101000 -#define __MAC_10_10_2 101002 -#define __MAC_10_10_3 101003 -#define __MAC_10_11 101100 -#define __MAC_10_11_2 101102 -#define __MAC_10_11_3 101103 -#define __MAC_10_11_4 101104 -#define __MAC_10_12 101200 -#define __MAC_10_12_1 101201 -#define __MAC_10_12_2 101202 -#define __MAC_10_12_4 101204 -#define __MAC_10_13 101300 -#define __MAC_10_13_1 101301 -#define __MAC_10_13_2 101302 -#define __MAC_10_13_4 101304 -#define __MAC_10_14 101400 -#define __MAC_10_14_1 101401 -#define __MAC_10_14_4 101404 -#define __MAC_10_14_6 101406 -#define __MAC_10_15 101500 -#define __MAC_10_15_1 101501 -#define __MAC_10_15_4 101504 -#define __MAC_10_16 101600 -#define __MAC_11_0 110000 -#define __MAC_11_1 110100 -#define __MAC_11_3 110300 -#define __MAC_11_4 110400 -#define __MAC_11_5 110500 -#define __MAC_11_6 110600 -#define __MAC_12_0 120000 -#define __MAC_12_1 120100 -#define __MAC_12_2 120200 -#define __MAC_12_3 120300 -/* __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 -#define __IPHONE_2_1 20100 -#define __IPHONE_2_2 20200 -#define __IPHONE_3_0 30000 -#define __IPHONE_3_1 30100 -#define __IPHONE_3_2 30200 -#define __IPHONE_4_0 40000 -#define __IPHONE_4_1 40100 -#define __IPHONE_4_2 40200 -#define __IPHONE_4_3 40300 -#define __IPHONE_5_0 50000 -#define __IPHONE_5_1 50100 -#define __IPHONE_6_0 60000 -#define __IPHONE_6_1 60100 -#define __IPHONE_7_0 70000 -#define __IPHONE_7_1 70100 -#define __IPHONE_8_0 80000 -#define __IPHONE_8_1 80100 -#define __IPHONE_8_2 80200 -#define __IPHONE_8_3 80300 -#define __IPHONE_8_4 80400 -#define __IPHONE_9_0 90000 -#define __IPHONE_9_1 90100 -#define __IPHONE_9_2 90200 -#define __IPHONE_9_3 90300 -#define __IPHONE_10_0 100000 -#define __IPHONE_10_1 100100 -#define __IPHONE_10_2 100200 -#define __IPHONE_10_3 100300 -#define __IPHONE_11_0 110000 -#define __IPHONE_11_1 110100 -#define __IPHONE_11_2 110200 -#define __IPHONE_11_3 110300 -#define __IPHONE_11_4 110400 -#define __IPHONE_12_0 120000 -#define __IPHONE_12_1 120100 -#define __IPHONE_12_2 120200 -#define __IPHONE_12_3 120300 -#define __IPHONE_12_4 120400 -#define __IPHONE_13_0 130000 -#define __IPHONE_13_1 130100 -#define __IPHONE_13_2 130200 -#define __IPHONE_13_3 130300 -#define __IPHONE_13_4 130400 -#define __IPHONE_13_5 130500 -#define __IPHONE_13_6 130600 -#define __IPHONE_13_7 130700 -#define __IPHONE_14_0 140000 -#define __IPHONE_14_1 140100 -#define __IPHONE_14_2 140200 -#define __IPHONE_14_3 140300 -#define __IPHONE_14_5 140500 -#define __IPHONE_14_6 140600 -#define __IPHONE_14_7 140700 -#define __IPHONE_14_8 140800 -#define __IPHONE_15_0 150000 -#define __IPHONE_15_1 150100 -#define __IPHONE_15_2 150200 -#define __IPHONE_15_3 150300 -#define __IPHONE_15_4 150400 -/* __IPHONE_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 -#define __TVOS_9_1 90100 -#define __TVOS_9_2 90200 -#define __TVOS_10_0 100000 -#define __TVOS_10_0_1 100001 -#define __TVOS_10_1 100100 -#define __TVOS_10_2 100200 -#define __TVOS_11_0 110000 -#define __TVOS_11_1 110100 -#define __TVOS_11_2 110200 -#define __TVOS_11_3 110300 -#define __TVOS_11_4 110400 -#define __TVOS_12_0 120000 -#define __TVOS_12_1 120100 -#define __TVOS_12_2 120200 -#define __TVOS_12_3 120300 -#define __TVOS_12_4 120400 -#define __TVOS_13_0 130000 -#define __TVOS_13_2 130200 -#define __TVOS_13_3 130300 -#define __TVOS_13_4 130400 -#define __TVOS_14_0 140000 -#define __TVOS_14_1 140100 -#define __TVOS_14_2 140200 -#define __TVOS_14_3 140300 -#define __TVOS_14_5 140500 -#define __TVOS_14_6 140600 -#define __TVOS_14_7 140700 -#define __TVOS_15_0 150000 -#define __TVOS_15_1 150100 -#define __TVOS_15_2 150200 -#define __TVOS_15_3 150300 -#define __TVOS_15_4 150400 - -#define __WATCHOS_1_0 10000 -#define __WATCHOS_2_0 20000 -#define __WATCHOS_2_1 20100 -#define __WATCHOS_2_2 20200 -#define __WATCHOS_3_0 30000 -#define __WATCHOS_3_1 30100 -#define __WATCHOS_3_1_1 30101 -#define __WATCHOS_3_2 30200 -#define __WATCHOS_4_0 40000 -#define __WATCHOS_4_1 40100 -#define __WATCHOS_4_2 40200 -#define __WATCHOS_4_3 40300 -#define __WATCHOS_5_0 50000 -#define __WATCHOS_5_1 50100 -#define __WATCHOS_5_2 50200 -#define __WATCHOS_5_3 50300 -#define __WATCHOS_6_0 60000 -#define __WATCHOS_6_1 60100 -#define __WATCHOS_6_2 60200 -#define __WATCHOS_7_0 70000 -#define __WATCHOS_7_1 70100 -#define __WATCHOS_7_2 70200 -#define __WATCHOS_7_3 70300 -#define __WATCHOS_7_4 70400 -#define __WATCHOS_7_5 70500 -#define __WATCHOS_7_6 70600 -#define __WATCHOS_8_0 80000 -#define __WATCHOS_8_1 80100 -#define __WATCHOS_8_3 80300 -#define __WATCHOS_8_4 80400 -#define __WATCHOS_8_5 80500 - -/* - * Set up standard Mac OS X versions - */ - -#if (!defined(_POSIX_C_SOURCE) && !defined(_XOPEN_SOURCE)) || defined(_DARWIN_C_SOURCE) - -#define MAC_OS_X_VERSION_10_0 1000 -#define MAC_OS_X_VERSION_10_1 1010 -#define MAC_OS_X_VERSION_10_2 1020 -#define MAC_OS_X_VERSION_10_3 1030 -#define MAC_OS_X_VERSION_10_4 1040 -#define MAC_OS_X_VERSION_10_5 1050 -#define MAC_OS_X_VERSION_10_6 1060 -#define MAC_OS_X_VERSION_10_7 1070 -#define MAC_OS_X_VERSION_10_8 1080 -#define MAC_OS_X_VERSION_10_9 1090 -#define MAC_OS_X_VERSION_10_10 101000 -#define MAC_OS_X_VERSION_10_10_2 101002 -#define MAC_OS_X_VERSION_10_10_3 101003 -#define MAC_OS_X_VERSION_10_11 101100 -#define MAC_OS_X_VERSION_10_11_2 101102 -#define MAC_OS_X_VERSION_10_11_3 101103 -#define MAC_OS_X_VERSION_10_11_4 101104 -#define MAC_OS_X_VERSION_10_12 101200 -#define MAC_OS_X_VERSION_10_12_1 101201 -#define MAC_OS_X_VERSION_10_12_2 101202 -#define MAC_OS_X_VERSION_10_12_4 101204 -#define MAC_OS_X_VERSION_10_13 101300 -#define MAC_OS_X_VERSION_10_13_1 101301 -#define MAC_OS_X_VERSION_10_13_2 101302 -#define MAC_OS_X_VERSION_10_13_4 101304 -#define MAC_OS_X_VERSION_10_14 101400 -#define MAC_OS_X_VERSION_10_14_1 101401 -#define MAC_OS_X_VERSION_10_14_4 101404 -#define MAC_OS_X_VERSION_10_14_6 101406 -#define MAC_OS_X_VERSION_10_15 101500 -#define MAC_OS_X_VERSION_10_15_1 101501 -#define MAC_OS_X_VERSION_10_16 101600 -#define MAC_OS_VERSION_11_0 110000 -#define MAC_OS_VERSION_12_0 120000 - -#endif /* #if (!defined(_POSIX_C_SOURCE) && !defined(_XOPEN_SOURCE)) || defined(_DARWIN_C_SOURCE) */ - -#define __DRIVERKIT_19_0 190000 -#define __DRIVERKIT_20_0 200000 -#define __DRIVERKIT_21_0 210000 - -#endif /* __AVAILABILITY_VERSIONS__ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.12-any/copyfile.h b/lib/libc/include/any-macos.12-any/copyfile.h deleted file mode 100644 index 1f017ca6ef..0000000000 --- a/lib/libc/include/any-macos.12-any/copyfile.h +++ /dev/null @@ -1,136 +0,0 @@ -/* - * Copyright (c) 2004-2021 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 _COPYFILE_H_ /* version 0.1 */ -#define _COPYFILE_H_ - -/* - * This API facilitates the copying of files and their associated - * metadata. There are several open source projects that need - * modifications to support preserving extended attributes and ACLs - * and this API collapses several hundred lines of modifications into - * one or two calls. - */ - -/* private */ -#include -#include - -__BEGIN_DECLS -struct _copyfile_state; -typedef struct _copyfile_state * copyfile_state_t; -typedef uint32_t copyfile_flags_t; - -/* public */ - -/* receives: - * from path to source file system object - * to path to destination file system object - * state opaque blob for future extensibility - * Must be NULL in current implementation - * flags (described below) - * returns: - * int negative for error - */ - -int copyfile(const char *from, const char *to, copyfile_state_t state, copyfile_flags_t flags); -int fcopyfile(int from_fd, int to_fd, copyfile_state_t, copyfile_flags_t flags); - -int copyfile_state_free(copyfile_state_t); -copyfile_state_t copyfile_state_alloc(void); - - -int copyfile_state_get(copyfile_state_t s, uint32_t flag, void * dst); -int copyfile_state_set(copyfile_state_t s, uint32_t flag, const void * src); - -typedef int (*copyfile_callback_t)(int, int, copyfile_state_t, const char *, const char *, void *); - -#define COPYFILE_STATE_SRC_FD 1 -#define COPYFILE_STATE_SRC_FILENAME 2 -#define COPYFILE_STATE_DST_FD 3 -#define COPYFILE_STATE_DST_FILENAME 4 -#define COPYFILE_STATE_QUARANTINE 5 -#define COPYFILE_STATE_STATUS_CB 6 -#define COPYFILE_STATE_STATUS_CTX 7 -#define COPYFILE_STATE_COPIED 8 -#define COPYFILE_STATE_XATTRNAME 9 -#define COPYFILE_STATE_WAS_CLONED 10 -#define COPYFILE_STATE_SRC_BSIZE 11 -#define COPYFILE_STATE_DST_BSIZE 12 -#define COPYFILE_STATE_BSIZE 13 - - -#define COPYFILE_DISABLE_VAR "COPYFILE_DISABLE" - -/* flags for copyfile */ - -#define COPYFILE_ACL (1<<0) -#define COPYFILE_STAT (1<<1) -#define COPYFILE_XATTR (1<<2) -#define COPYFILE_DATA (1<<3) - -#define COPYFILE_SECURITY (COPYFILE_STAT | COPYFILE_ACL) -#define COPYFILE_METADATA (COPYFILE_SECURITY | COPYFILE_XATTR) -#define COPYFILE_ALL (COPYFILE_METADATA | COPYFILE_DATA) - -#define COPYFILE_RECURSIVE (1<<15) /* Descend into hierarchies */ -#define COPYFILE_CHECK (1<<16) /* return flags for xattr or acls if set */ -#define COPYFILE_EXCL (1<<17) /* fail if destination exists */ -#define COPYFILE_NOFOLLOW_SRC (1<<18) /* don't follow if source is a symlink */ -#define COPYFILE_NOFOLLOW_DST (1<<19) /* don't follow if dst is a symlink */ -#define COPYFILE_MOVE (1<<20) /* unlink src after copy */ -#define COPYFILE_UNLINK (1<<21) /* unlink dst before copy */ -#define COPYFILE_NOFOLLOW (COPYFILE_NOFOLLOW_SRC | COPYFILE_NOFOLLOW_DST) - -#define COPYFILE_PACK (1<<22) -#define COPYFILE_UNPACK (1<<23) - -#define COPYFILE_CLONE (1<<24) -#define COPYFILE_CLONE_FORCE (1<<25) - -#define COPYFILE_RUN_IN_PLACE (1<<26) - -#define COPYFILE_DATA_SPARSE (1<<27) - -#define COPYFILE_PRESERVE_DST_TRACKED (1<<28) - -#define COPYFILE_VERBOSE (1<<30) - -#define COPYFILE_RECURSE_ERROR 0 -#define COPYFILE_RECURSE_FILE 1 -#define COPYFILE_RECURSE_DIR 2 -#define COPYFILE_RECURSE_DIR_CLEANUP 3 -#define COPYFILE_COPY_DATA 4 -#define COPYFILE_COPY_XATTR 5 - -#define COPYFILE_START 1 -#define COPYFILE_FINISH 2 -#define COPYFILE_ERR 3 -#define COPYFILE_PROGRESS 4 - -#define COPYFILE_CONTINUE 0 -#define COPYFILE_SKIP 1 -#define COPYFILE_QUIT 2 - -__END_DECLS - -#endif /* _COPYFILE_H_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.12-any/dispatch/base.h b/lib/libc/include/any-macos.12-any/dispatch/base.h deleted file mode 100644 index 02ac83213b..0000000000 --- a/lib/libc/include/any-macos.12-any/dispatch/base.h +++ /dev/null @@ -1,333 +0,0 @@ -/* - * Copyright (c) 2008-2012 Apple Inc. All rights reserved. - * - * @APPLE_APACHE_LICENSE_HEADER_START@ - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * @APPLE_APACHE_LICENSE_HEADER_END@ - */ - -#ifndef __DISPATCH_BASE__ -#define __DISPATCH_BASE__ - -#ifndef __DISPATCH_INDIRECT__ -#error "Please #include instead of this file directly." -#endif - -#ifndef __has_builtin -#define __has_builtin(x) 0 -#endif -#ifndef __has_include -#define __has_include(x) 0 -#endif -#ifndef __has_feature -#define __has_feature(x) 0 -#endif -#ifndef __has_attribute -#define __has_attribute(x) 0 -#endif -#ifndef __has_extension -#define __has_extension(x) 0 -#endif - -#if __GNUC__ -#define DISPATCH_NORETURN __attribute__((__noreturn__)) -#define DISPATCH_NOTHROW __attribute__((__nothrow__)) -#define DISPATCH_NONNULL1 __attribute__((__nonnull__(1))) -#define DISPATCH_NONNULL2 __attribute__((__nonnull__(2))) -#define DISPATCH_NONNULL3 __attribute__((__nonnull__(3))) -#define DISPATCH_NONNULL4 __attribute__((__nonnull__(4))) -#define DISPATCH_NONNULL5 __attribute__((__nonnull__(5))) -#define DISPATCH_NONNULL6 __attribute__((__nonnull__(6))) -#define DISPATCH_NONNULL7 __attribute__((__nonnull__(7))) -#if __clang__ && __clang_major__ < 3 -// rdar://problem/6857843 -#define DISPATCH_NONNULL_ALL -#else -#define DISPATCH_NONNULL_ALL __attribute__((__nonnull__)) -#endif -#define DISPATCH_SENTINEL __attribute__((__sentinel__)) -#define DISPATCH_PURE __attribute__((__pure__)) -#define DISPATCH_CONST __attribute__((__const__)) -#define DISPATCH_WARN_RESULT __attribute__((__warn_unused_result__)) -#define DISPATCH_MALLOC __attribute__((__malloc__)) -#define DISPATCH_ALWAYS_INLINE __attribute__((__always_inline__)) -#define DISPATCH_UNAVAILABLE __attribute__((__unavailable__)) -#define DISPATCH_UNAVAILABLE_MSG(msg) __attribute__((__unavailable__(msg))) -#elif defined(_MSC_VER) -#define DISPATCH_NORETURN __declspec(noreturn) -#define DISPATCH_NOTHROW __declspec(nothrow) -#define DISPATCH_NONNULL1 -#define DISPATCH_NONNULL2 -#define DISPATCH_NONNULL3 -#define DISPATCH_NONNULL4 -#define DISPATCH_NONNULL5 -#define DISPATCH_NONNULL6 -#define DISPATCH_NONNULL7 -#define DISPATCH_NONNULL_ALL -#define DISPATCH_SENTINEL -#define DISPATCH_PURE -#define DISPATCH_CONST -#if (_MSC_VER >= 1700) -#define DISPATCH_WARN_RESULT _Check_return_ -#else -#define DISPATCH_WARN_RESULT -#endif -#define DISPATCH_MALLOC -#define DISPATCH_ALWAYS_INLINE __forceinline -#define DISPATCH_UNAVAILABLE -#define DISPATCH_UNAVAILABLE_MSG(msg) -#else -/*! @parseOnly */ -#define DISPATCH_NORETURN -/*! @parseOnly */ -#define DISPATCH_NOTHROW -/*! @parseOnly */ -#define DISPATCH_NONNULL1 -/*! @parseOnly */ -#define DISPATCH_NONNULL2 -/*! @parseOnly */ -#define DISPATCH_NONNULL3 -/*! @parseOnly */ -#define DISPATCH_NONNULL4 -/*! @parseOnly */ -#define DISPATCH_NONNULL5 -/*! @parseOnly */ -#define DISPATCH_NONNULL6 -/*! @parseOnly */ -#define DISPATCH_NONNULL7 -/*! @parseOnly */ -#define DISPATCH_NONNULL_ALL -/*! @parseOnly */ -#define DISPATCH_SENTINEL -/*! @parseOnly */ -#define DISPATCH_PURE -/*! @parseOnly */ -#define DISPATCH_CONST -/*! @parseOnly */ -#define DISPATCH_WARN_RESULT -/*! @parseOnly */ -#define DISPATCH_MALLOC -/*! @parseOnly */ -#define DISPATCH_ALWAYS_INLINE -/*! @parseOnly */ -#define DISPATCH_UNAVAILABLE -/*! @parseOnly */ -#define DISPATCH_UNAVAILABLE_MSG(msg) -#endif - -#if defined(__cplusplus) -# if __cplusplus >= 201703L -# define DISPATCH_FALLTHROUGH [[fallthrough]] -# elif __cplusplus >= 201103L -# if defined(__clang__) -# define DISPATCH_FALLTHROUGH [[clang::fallthrough]] -# elif defined(__GNUC__) && __GNUC__ >= 7 -# define DISPATCH_FALLTHROUGH [[gnu::fallthrough]] -# else -# define DISPATCH_FALLTHROUGH -# endif -# else -# define DISPATCH_FALLTHROUGH -# endif -#elif defined(__GNUC__) && __GNUC__ >= 7 -# define DISPATCH_FALLTHROUGH __attribute__((__fallthrough__)) -#elif defined(__clang__) -# if __has_attribute(fallthrough) && __clang_major__ >= 5 -# define DISPATCH_FALLTHROUGH __attribute__((__fallthrough__)) -# else -# define DISPATCH_FALLTHROUGH -# endif -#else -# define DISPATCH_FALLTHROUGH -#endif - - -#define DISPATCH_LINUX_UNAVAILABLE() - -#ifdef __FreeBSD__ -#define DISPATCH_FREEBSD_UNAVAILABLE() \ - DISPATCH_UNAVAILABLE_MSG( \ - "This interface is unavailable on FreeBSD systems") -#else -#define DISPATCH_FREEBSD_UNAVAILABLE() -#endif - -#ifndef DISPATCH_ALIAS_V2 -#if TARGET_OS_MAC -#define DISPATCH_ALIAS_V2(sym) __asm__("_" #sym "$V2") -#else -#define DISPATCH_ALIAS_V2(sym) -#endif -#endif - -#if defined(_WIN32) -#if defined(__cplusplus) -#define DISPATCH_EXPORT extern "C" __declspec(dllimport) -#else -#define DISPATCH_EXPORT extern __declspec(dllimport) -#endif -#elif __GNUC__ -#define DISPATCH_EXPORT extern __attribute__((visibility("default"))) -#else -#define DISPATCH_EXPORT extern -#endif - -#if __GNUC__ -#define DISPATCH_INLINE static __inline__ -#else -#define DISPATCH_INLINE static inline -#endif - -#if __GNUC__ -#define DISPATCH_EXPECT(x, v) __builtin_expect((x), (v)) -#define dispatch_compiler_barrier() __asm__ __volatile__("" ::: "memory") -#else -#define DISPATCH_EXPECT(x, v) (x) -#define dispatch_compiler_barrier() do { } while (0) -#endif - -#if __has_attribute(not_tail_called) -#define DISPATCH_NOT_TAIL_CALLED __attribute__((__not_tail_called__)) -#else -#define DISPATCH_NOT_TAIL_CALLED -#endif - -#if __has_builtin(__builtin_assume) -#define DISPATCH_COMPILER_CAN_ASSUME(expr) __builtin_assume(expr) -#else -#define DISPATCH_COMPILER_CAN_ASSUME(expr) ((void)(expr)) -#endif - -#if __has_attribute(noescape) -#define DISPATCH_NOESCAPE __attribute__((__noescape__)) -#else -#define DISPATCH_NOESCAPE -#endif - -#if __has_attribute(cold) -#define DISPATCH_COLD __attribute__((__cold__)) -#else -#define DISPATCH_COLD -#endif - -#if __has_feature(assume_nonnull) -#define DISPATCH_ASSUME_NONNULL_BEGIN _Pragma("clang assume_nonnull begin") -#define DISPATCH_ASSUME_NONNULL_END _Pragma("clang assume_nonnull end") -#else -#define DISPATCH_ASSUME_NONNULL_BEGIN -#define DISPATCH_ASSUME_NONNULL_END -#endif - -#if !__has_feature(nullability) -#ifndef _Nullable -#define _Nullable -#endif -#ifndef _Nonnull -#define _Nonnull -#endif -#ifndef _Null_unspecified -#define _Null_unspecified -#endif -#endif - -#ifndef DISPATCH_RETURNS_RETAINED_BLOCK -#if __has_attribute(ns_returns_retained) -#define DISPATCH_RETURNS_RETAINED_BLOCK __attribute__((__ns_returns_retained__)) -#else -#define DISPATCH_RETURNS_RETAINED_BLOCK -#endif -#endif - -#if __has_attribute(enum_extensibility) -#define __DISPATCH_ENUM_ATTR __attribute__((__enum_extensibility__(open))) -#define __DISPATCH_ENUM_ATTR_CLOSED __attribute__((__enum_extensibility__(closed))) -#else -#define __DISPATCH_ENUM_ATTR -#define __DISPATCH_ENUM_ATTR_CLOSED -#endif // __has_attribute(enum_extensibility) - -#if __has_attribute(flag_enum) -#define __DISPATCH_OPTIONS_ATTR __attribute__((__flag_enum__)) -#else -#define __DISPATCH_OPTIONS_ATTR -#endif // __has_attribute(flag_enum) - - -#if __has_feature(objc_fixed_enum) || __has_extension(cxx_strong_enums) || \ - __has_extension(cxx_fixed_enum) || defined(_WIN32) -#define DISPATCH_ENUM(name, type, ...) \ - typedef enum : type { __VA_ARGS__ } __DISPATCH_ENUM_ATTR name##_t -#define DISPATCH_OPTIONS(name, type, ...) \ - typedef enum : type { __VA_ARGS__ } __DISPATCH_OPTIONS_ATTR __DISPATCH_ENUM_ATTR name##_t -#else -#define DISPATCH_ENUM(name, type, ...) \ - enum { __VA_ARGS__ } __DISPATCH_ENUM_ATTR; typedef type name##_t -#define DISPATCH_OPTIONS(name, type, ...) \ - enum { __VA_ARGS__ } __DISPATCH_OPTIONS_ATTR __DISPATCH_ENUM_ATTR; typedef type name##_t -#endif // __has_feature(objc_fixed_enum) ... - - - -#if __has_feature(enumerator_attributes) -#define DISPATCH_ENUM_API_AVAILABLE(...) API_AVAILABLE(__VA_ARGS__) -#define DISPATCH_ENUM_API_DEPRECATED(...) API_DEPRECATED(__VA_ARGS__) -#define DISPATCH_ENUM_API_DEPRECATED_WITH_REPLACEMENT(...) \ - API_DEPRECATED_WITH_REPLACEMENT(__VA_ARGS__) -#else -#define DISPATCH_ENUM_API_AVAILABLE(...) -#define DISPATCH_ENUM_API_DEPRECATED(...) -#define DISPATCH_ENUM_API_DEPRECATED_WITH_REPLACEMENT(...) -#endif - -#ifdef __swift__ -#define DISPATCH_SWIFT3_OVERLAY 1 -#else // __swift__ -#define DISPATCH_SWIFT3_OVERLAY 0 -#endif // __swift__ - -#if __has_feature(attribute_availability_swift) -#define DISPATCH_SWIFT_UNAVAILABLE(_msg) \ - __attribute__((__availability__(swift, unavailable, message=_msg))) -#else -#define DISPATCH_SWIFT_UNAVAILABLE(_msg) -#endif - -#if DISPATCH_SWIFT3_OVERLAY -#define DISPATCH_SWIFT3_UNAVAILABLE(_msg) DISPATCH_SWIFT_UNAVAILABLE(_msg) -#else -#define DISPATCH_SWIFT3_UNAVAILABLE(_msg) -#endif - -#if __has_attribute(swift_private) -#define DISPATCH_REFINED_FOR_SWIFT __attribute__((__swift_private__)) -#else -#define DISPATCH_REFINED_FOR_SWIFT -#endif - -#if __has_attribute(swift_name) -#define DISPATCH_SWIFT_NAME(_name) __attribute__((__swift_name__(#_name))) -#else -#define DISPATCH_SWIFT_NAME(_name) -#endif - -#ifndef __cplusplus -#define DISPATCH_TRANSPARENT_UNION __attribute__((__transparent_union__)) -#else -#define DISPATCH_TRANSPARENT_UNION -#endif - -typedef void (*dispatch_function_t)(void *_Nullable); - -#endif \ No newline at end of file diff --git a/lib/libc/include/any-macos.12-any/dispatch/queue.h b/lib/libc/include/any-macos.12-any/dispatch/queue.h deleted file mode 100644 index d288ff118f..0000000000 --- a/lib/libc/include/any-macos.12-any/dispatch/queue.h +++ /dev/null @@ -1,1677 +0,0 @@ -/* - * Copyright (c) 2008-2014 Apple Inc. All rights reserved. - * - * @APPLE_APACHE_LICENSE_HEADER_START@ - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * @APPLE_APACHE_LICENSE_HEADER_END@ - */ - -#ifndef __DISPATCH_QUEUE__ -#define __DISPATCH_QUEUE__ - -#ifndef __DISPATCH_INDIRECT__ -#error "Please #include instead of this file directly." -#include // for HeaderDoc -#endif - -DISPATCH_ASSUME_NONNULL_BEGIN - -/*! - * @header - * - * Dispatch is an abstract model for expressing concurrency via simple but - * powerful API. - * - * At the core, dispatch provides serial FIFO queues to which blocks may be - * submitted. Blocks submitted to these dispatch queues are invoked on a pool - * of threads fully managed by the system. No guarantee is made regarding - * which thread a block will be invoked on; however, it is guaranteed that only - * one block submitted to the FIFO dispatch queue will be invoked at a time. - * - * When multiple queues have blocks to be processed, the system is free to - * allocate additional threads to invoke the blocks concurrently. When the - * queues become empty, these threads are automatically released. - */ - -/*! - * @typedef dispatch_queue_t - * - * @abstract - * Dispatch queues invoke workitems submitted to them. - * - * @discussion - * Dispatch queues come in many flavors, the most common one being the dispatch - * serial queue (See dispatch_queue_serial_t). - * - * The system manages a pool of threads which process dispatch queues and invoke - * workitems submitted to them. - * - * Conceptually a dispatch queue may have its own thread of execution, and - * interaction between queues is highly asynchronous. - * - * Dispatch queues are reference counted via calls to dispatch_retain() and - * dispatch_release(). Pending workitems submitted to a queue also hold a - * reference to the queue until they have finished. Once all references to a - * queue have been released, the queue will be deallocated by the system. - */ -DISPATCH_DECL(dispatch_queue); - -/*! - * @typedef dispatch_queue_global_t - * - * @abstract - * Dispatch global concurrent queues are an abstraction around the system thread - * pool which invokes workitems that are submitted to dispatch queues. - * - * @discussion - * Dispatch global concurrent queues provide buckets of priorities on top of the - * thread pool the system manages. The system will decide how many threads - * to allocate to this pool depending on demand and system load. In particular, - * the system tries to maintain a good level of concurrency for this resource, - * and will create new threads when too many existing worker threads block in - * system calls. - * - * The global concurrent queues are a shared resource and as such it is the - * responsiblity of every user of this resource to not submit an unbounded - * amount of work to this pool, especially work that may block, as this can - * cause the system to spawn very large numbers of threads (aka. thread - * explosion). - * - * Work items submitted to the global concurrent queues have no ordering - * guarantee with respect to the order of submission, and workitems submitted - * to these queues may be invoked concurrently. - * - * Dispatch global concurrent queues are well-known global objects that are - * returned by dispatch_get_global_queue(). These objects cannot be modified. - * Calls to dispatch_suspend(), dispatch_resume(), dispatch_set_context(), etc., - * will have no effect when used with queues of this type. - */ -DISPATCH_DECL_SUBCLASS(dispatch_queue_global, dispatch_queue); - -/*! - * @typedef dispatch_queue_serial_t - * - * @abstract - * Dispatch serial queues invoke workitems submitted to them serially in FIFO - * order. - * - * @discussion - * Dispatch serial queues are lightweight objects to which workitems may be - * submitted to be invoked in FIFO order. A serial queue will only invoke one - * workitem at a time, but independent serial queues may each invoke their work - * items concurrently with respect to each other. - * - * Serial queues can target each other (See dispatch_set_target_queue()). The - * serial queue at the bottom of a queue hierarchy provides an exclusion - * context: at most one workitem submitted to any of the queues in such - * a hiearchy will run at any given time. - * - * Such hierarchies provide a natural construct to organize an application - * subsystem around. - * - * Serial queues are created by passing a dispatch queue attribute derived from - * DISPATCH_QUEUE_SERIAL to dispatch_queue_create_with_target(). - */ -DISPATCH_DECL_SUBCLASS(dispatch_queue_serial, dispatch_queue); - -/*! - * @typedef dispatch_queue_main_t - * - * @abstract - * The type of the default queue that is bound to the main thread. - * - * @discussion - * The main queue is a serial queue (See dispatch_queue_serial_t) which is bound - * to the main thread of an application. - * - * In order to invoke workitems submitted to the main queue, the application - * must call dispatch_main(), NSApplicationMain(), or use a CFRunLoop on the - * main thread. - * - * The main queue is a well known global object that is made automatically on - * behalf of the main thread during process initialization and is returned by - * dispatch_get_main_queue(). This object cannot be modified. Calls to - * dispatch_suspend(), dispatch_resume(), dispatch_set_context(), etc., will - * have no effect when used on the main queue. - */ -DISPATCH_DECL_SUBCLASS(dispatch_queue_main, dispatch_queue_serial); - -/*! - * @typedef dispatch_queue_concurrent_t - * - * @abstract - * Dispatch concurrent queues invoke workitems submitted to them concurrently, - * and admit a notion of barrier workitems. - * - * @discussion - * Dispatch concurrent queues are lightweight objects to which regular and - * barrier workitems may be submited. Barrier workitems are invoked in - * exclusion of any other kind of workitem in FIFO order. - * - * Regular workitems can be invoked concurrently for the same concurrent queue, - * in any order. However, regular workitems will not be invoked before any - * barrier workitem submited ahead of them has been invoked. - * - * In other words, if a serial queue is equivalent to a mutex in the Dispatch - * world, a concurrent queue is equivalent to a reader-writer lock, where - * regular items are readers and barriers are writers. - * - * Concurrent queues are created by passing a dispatch queue attribute derived - * from DISPATCH_QUEUE_CONCURRENT to dispatch_queue_create_with_target(). - * - * Caveat: - * Dispatch concurrent queues at this time do not implement priority inversion - * avoidance when lower priority regular workitems (readers) are being invoked - * and are preventing a higher priority barrier (writer) from being invoked. - */ -DISPATCH_DECL_SUBCLASS(dispatch_queue_concurrent, dispatch_queue); - -__BEGIN_DECLS - -/*! - * @function dispatch_async - * - * @abstract - * Submits a block for asynchronous execution on a dispatch queue. - * - * @discussion - * The dispatch_async() function is the fundamental mechanism for submitting - * blocks to a dispatch queue. - * - * Calls to dispatch_async() always return immediately after the block has - * been submitted, and never wait for the block to be invoked. - * - * The target queue determines whether the block will be invoked serially or - * concurrently with respect to other blocks submitted to that same queue. - * Serial queues are processed concurrently with respect to each other. - * - * @param queue - * The target dispatch queue to which the block is submitted. - * The system will hold a reference on the target queue until the block - * has finished. - * The result of passing NULL in this parameter is undefined. - * - * @param block - * The block to submit to the target dispatch queue. This function performs - * Block_copy() and Block_release() on behalf of callers. - * The result of passing NULL in this parameter is undefined. - */ -#ifdef __BLOCKS__ -API_AVAILABLE(macos(10.6), ios(4.0)) -DISPATCH_EXPORT DISPATCH_NONNULL_ALL DISPATCH_NOTHROW -void -dispatch_async(dispatch_queue_t queue, dispatch_block_t block); -#endif - -/*! - * @function dispatch_async_f - * - * @abstract - * Submits a function for asynchronous execution on a dispatch queue. - * - * @discussion - * See dispatch_async() for details. - * - * @param queue - * The target dispatch queue to which the function is submitted. - * The system will hold a reference on the target queue until the function - * has returned. - * The result of passing NULL in this parameter is undefined. - * - * @param context - * The application-defined context parameter to pass to the function. - * - * @param work - * The application-defined function to invoke on the target queue. The first - * parameter passed to this function is the context provided to - * dispatch_async_f(). - * The result of passing NULL in this parameter is undefined. - */ -API_AVAILABLE(macos(10.6), ios(4.0)) -DISPATCH_EXPORT DISPATCH_NONNULL1 DISPATCH_NONNULL3 DISPATCH_NOTHROW -void -dispatch_async_f(dispatch_queue_t queue, - void *_Nullable context, dispatch_function_t work); - -/*! - * @function dispatch_sync - * - * @abstract - * Submits a block for synchronous execution on a dispatch queue. - * - * @discussion - * Submits a workitem to a dispatch queue like dispatch_async(), however - * dispatch_sync() will not return until the workitem has finished. - * - * Work items submitted to a queue with dispatch_sync() do not observe certain - * queue attributes of that queue when invoked (such as autorelease frequency - * and QOS class). - * - * Calls to dispatch_sync() targeting the current queue will result - * in dead-lock. Use of dispatch_sync() is also subject to the same - * multi-party dead-lock problems that may result from the use of a mutex. - * Use of dispatch_async() is preferred. - * - * Unlike dispatch_async(), no retain is performed on the target queue. Because - * calls to this function are synchronous, the dispatch_sync() "borrows" the - * reference of the caller. - * - * As an optimization, dispatch_sync() invokes the workitem on the thread which - * submitted the workitem, except when the passed queue is the main queue or - * a queue targetting it (See dispatch_queue_main_t, - * dispatch_set_target_queue()). - * - * @param queue - * The target dispatch queue to which the block is submitted. - * The result of passing NULL in this parameter is undefined. - * - * @param block - * The block to be invoked on the target dispatch queue. - * The result of passing NULL in this parameter is undefined. - */ -#ifdef __BLOCKS__ -API_AVAILABLE(macos(10.6), ios(4.0)) -DISPATCH_EXPORT DISPATCH_NONNULL_ALL DISPATCH_NOTHROW -void -dispatch_sync(dispatch_queue_t queue, DISPATCH_NOESCAPE dispatch_block_t block); -#endif - -/*! - * @function dispatch_sync_f - * - * @abstract - * Submits a function for synchronous execution on a dispatch queue. - * - * @discussion - * See dispatch_sync() for details. - * - * @param queue - * The target dispatch queue to which the function is submitted. - * The result of passing NULL in this parameter is undefined. - * - * @param context - * The application-defined context parameter to pass to the function. - * - * @param work - * The application-defined function to invoke on the target queue. The first - * parameter passed to this function is the context provided to - * dispatch_sync_f(). - * The result of passing NULL in this parameter is undefined. - */ -API_AVAILABLE(macos(10.6), ios(4.0)) -DISPATCH_EXPORT DISPATCH_NONNULL1 DISPATCH_NONNULL3 DISPATCH_NOTHROW -void -dispatch_sync_f(dispatch_queue_t queue, - void *_Nullable context, dispatch_function_t work); - -/*! - * @function dispatch_async_and_wait - * - * @abstract - * Submits a block for synchronous execution on a dispatch queue. - * - * @discussion - * Submits a workitem to a dispatch queue like dispatch_async(), however - * dispatch_async_and_wait() will not return until the workitem has finished. - * - * Like functions of the dispatch_sync family, dispatch_async_and_wait() is - * subject to dead-lock (See dispatch_sync() for details). - * - * However, dispatch_async_and_wait() differs from functions of the - * dispatch_sync family in two fundamental ways: how it respects queue - * attributes and how it chooses the execution context invoking the workitem. - * - * Differences with dispatch_sync() - * - * Work items submitted to a queue with dispatch_async_and_wait() observe all - * queue attributes of that queue when invoked (inluding autorelease frequency - * or QOS class). - * - * When the runtime has brought up a thread to invoke the asynchronous workitems - * already submitted to the specified queue, that servicing thread will also be - * used to execute synchronous work submitted to the queue with - * dispatch_async_and_wait(). - * - * However, if the runtime has not brought up a thread to service the specified - * queue (because it has no workitems enqueued, or only synchronous workitems), - * then dispatch_async_and_wait() will invoke the workitem on the calling thread, - * similar to the behaviour of functions in the dispatch_sync family. - * - * As an exception, if the queue the work is submitted to doesn't target - * a global concurrent queue (for example because it targets the main queue), - * then the workitem will never be invoked by the thread calling - * dispatch_async_and_wait(). - * - * In other words, dispatch_async_and_wait() is similar to submitting - * a dispatch_block_create()d workitem to a queue and then waiting on it, as - * shown in the code example below. However, dispatch_async_and_wait() is - * significantly more efficient when a new thread is not required to execute - * the workitem (as it will use the stack of the submitting thread instead of - * requiring heap allocations). - * - * - * dispatch_block_t b = dispatch_block_create(0, block); - * dispatch_async(queue, b); - * dispatch_block_wait(b, DISPATCH_TIME_FOREVER); - * Block_release(b); - * - * - * @param queue - * The target dispatch queue to which the block is submitted. - * The result of passing NULL in this parameter is undefined. - * - * @param block - * The block to be invoked on the target dispatch queue. - * The result of passing NULL in this parameter is undefined. - */ -#ifdef __BLOCKS__ -API_AVAILABLE(macos(10.14), ios(12.0), tvos(12.0), watchos(5.0)) -DISPATCH_EXPORT DISPATCH_NONNULL_ALL DISPATCH_NOTHROW -void -dispatch_async_and_wait(dispatch_queue_t queue, - DISPATCH_NOESCAPE dispatch_block_t block); -#endif - -/*! - * @function dispatch_async_and_wait_f - * - * @abstract - * Submits a function for synchronous execution on a dispatch queue. - * - * @discussion - * See dispatch_async_and_wait() for details. - * - * @param queue - * The target dispatch queue to which the function is submitted. - * The result of passing NULL in this parameter is undefined. - * - * @param context - * The application-defined context parameter to pass to the function. - * - * @param work - * The application-defined function to invoke on the target queue. The first - * parameter passed to this function is the context provided to - * dispatch_async_and_wait_f(). - * The result of passing NULL in this parameter is undefined. - */ -API_AVAILABLE(macos(10.14), ios(12.0), tvos(12.0), watchos(5.0)) -DISPATCH_EXPORT DISPATCH_NONNULL1 DISPATCH_NONNULL3 DISPATCH_NOTHROW -void -dispatch_async_and_wait_f(dispatch_queue_t queue, - void *_Nullable context, dispatch_function_t work); - - -#if defined(__APPLE__) && \ - (defined(__IPHONE_OS_VERSION_MIN_REQUIRED) && \ - __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_7_0) || \ - (defined(__MAC_OS_X_VERSION_MIN_REQUIRED) && \ - __MAC_OS_X_VERSION_MIN_REQUIRED < __MAC_10_9) -#define DISPATCH_APPLY_AUTO_AVAILABLE 0 -#define DISPATCH_APPLY_QUEUE_ARG_NULLABILITY _Nonnull -#else -#define DISPATCH_APPLY_AUTO_AVAILABLE 1 -#define DISPATCH_APPLY_QUEUE_ARG_NULLABILITY _Nullable -#endif - -/*! - * @constant DISPATCH_APPLY_AUTO - * - * @abstract - * Constant to pass to dispatch_apply() or dispatch_apply_f() to request that - * the system automatically use worker threads that match the configuration of - * the current thread as closely as possible. - * - * @discussion - * When submitting a block for parallel invocation, passing this constant as the - * queue argument will automatically use the global concurrent queue that - * matches the Quality of Service of the caller most closely. - * - * No assumptions should be made about which global concurrent queue will - * actually be used. - * - * Using this constant deploys backward to macOS 10.9, iOS 7.0 and any tvOS or - * watchOS version. - */ -#if DISPATCH_APPLY_AUTO_AVAILABLE -#define DISPATCH_APPLY_AUTO ((dispatch_queue_t _Nonnull)0) -#endif - -/*! - * @function dispatch_apply - * - * @abstract - * Submits a block to a dispatch queue for parallel invocation. - * - * @discussion - * Submits a block to a dispatch queue for parallel invocation. This function - * waits for the task block to complete before returning. If the specified queue - * is concurrent, the block may be invoked concurrently, and it must therefore - * be reentrant safe. - * - * Each invocation of the block will be passed the current index of iteration. - * - * @param iterations - * The number of iterations to perform. - * - * @param queue - * The dispatch queue to which the block is submitted. - * The preferred value to pass is DISPATCH_APPLY_AUTO to automatically use - * a queue appropriate for the calling thread. - * - * @param block - * The block to be invoked the specified number of iterations. - * The result of passing NULL in this parameter is undefined. - * This function performs a Block_copy() and Block_release() of the input block - * on behalf of the callers. To elide the additional block allocation, - * dispatch_apply_f may be used instead. - */ -#ifdef __BLOCKS__ -API_AVAILABLE(macos(10.6), ios(4.0)) -DISPATCH_EXPORT DISPATCH_NONNULL3 DISPATCH_NOTHROW -void -dispatch_apply(size_t iterations, - dispatch_queue_t DISPATCH_APPLY_QUEUE_ARG_NULLABILITY queue, - DISPATCH_NOESCAPE void (^block)(size_t iteration)); -#endif - -/*! - * @function dispatch_apply_f - * - * @abstract - * Submits a function to a dispatch queue for parallel invocation. - * - * @discussion - * See dispatch_apply() for details. - * - * @param iterations - * The number of iterations to perform. - * - * @param queue - * The dispatch queue to which the function is submitted. - * The preferred value to pass is DISPATCH_APPLY_AUTO to automatically use - * a queue appropriate for the calling thread. - * - * @param context - * The application-defined context parameter to pass to the function. - * - * @param work - * The application-defined function to invoke on the specified queue. The first - * parameter passed to this function is the context provided to - * dispatch_apply_f(). The second parameter passed to this function is the - * current index of iteration. - * The result of passing NULL in this parameter is undefined. - */ -API_AVAILABLE(macos(10.6), ios(4.0)) -DISPATCH_EXPORT DISPATCH_NONNULL4 DISPATCH_NOTHROW -void -dispatch_apply_f(size_t iterations, - dispatch_queue_t DISPATCH_APPLY_QUEUE_ARG_NULLABILITY queue, - void *_Nullable context, void (*work)(void *_Nullable context, size_t iteration)); - -/*! - * @function dispatch_get_current_queue - * - * @abstract - * Returns the queue on which the currently executing block is running. - * - * @discussion - * Returns the queue on which the currently executing block is running. - * - * When dispatch_get_current_queue() is called outside of the context of a - * submitted block, it will return the default concurrent queue. - * - * Recommended for debugging and logging purposes only: - * The code must not make any assumptions about the queue returned, unless it - * is one of the global queues or a queue the code has itself created. - * The code must not assume that synchronous execution onto a queue is safe - * from deadlock if that queue is not the one returned by - * dispatch_get_current_queue(). - * - * When dispatch_get_current_queue() is called on the main thread, it may - * or may not return the same value as dispatch_get_main_queue(). Comparing - * the two is not a valid way to test whether code is executing on the - * main thread (see dispatch_assert_queue() and dispatch_assert_queue_not()). - * - * This function is deprecated and will be removed in a future release. - * - * @result - * Returns the current queue. - */ -API_DEPRECATED("unsupported interface", macos(10.6,10.9), ios(4.0,6.0)) -DISPATCH_EXPORT DISPATCH_PURE DISPATCH_WARN_RESULT DISPATCH_NOTHROW -dispatch_queue_t -dispatch_get_current_queue(void); - -API_AVAILABLE(macos(10.6), ios(4.0)) -DISPATCH_EXPORT -struct dispatch_queue_s _dispatch_main_q; - -/*! - * @function dispatch_get_main_queue - * - * @abstract - * Returns the default queue that is bound to the main thread. - * - * @discussion - * In order to invoke blocks submitted to the main queue, the application must - * call dispatch_main(), NSApplicationMain(), or use a CFRunLoop on the main - * thread. - * - * The main queue is meant to be used in application context to interact with - * the main thread and the main runloop. - * - * Because the main queue doesn't behave entirely like a regular serial queue, - * it may have unwanted side-effects when used in processes that are not UI apps - * (daemons). For such processes, the main queue should be avoided. - * - * @see dispatch_queue_main_t - * - * @result - * Returns the main queue. This queue is created automatically on behalf of - * the main thread before main() is called. - */ -DISPATCH_INLINE DISPATCH_ALWAYS_INLINE DISPATCH_CONST DISPATCH_NOTHROW -dispatch_queue_main_t -dispatch_get_main_queue(void) -{ - return DISPATCH_GLOBAL_OBJECT(dispatch_queue_main_t, _dispatch_main_q); -} - -/*! - * @typedef dispatch_queue_priority_t - * Type of dispatch_queue_priority - * - * @constant DISPATCH_QUEUE_PRIORITY_HIGH - * Items dispatched to the queue will run at high priority, - * i.e. the queue will be scheduled for execution before - * any default priority or low priority queue. - * - * @constant DISPATCH_QUEUE_PRIORITY_DEFAULT - * Items dispatched to the queue will run at the default - * priority, i.e. the queue will be scheduled for execution - * after all high priority queues have been scheduled, but - * before any low priority queues have been scheduled. - * - * @constant DISPATCH_QUEUE_PRIORITY_LOW - * Items dispatched to the queue will run at low priority, - * i.e. the queue will be scheduled for execution after all - * default priority and high priority queues have been - * scheduled. - * - * @constant DISPATCH_QUEUE_PRIORITY_BACKGROUND - * Items dispatched to the queue will run at background priority, i.e. the queue - * will be scheduled for execution after all higher priority queues have been - * scheduled and the system will run items on this queue on a thread with - * background status as per setpriority(2) (i.e. disk I/O is throttled and the - * thread's scheduling priority is set to lowest value). - */ -#define DISPATCH_QUEUE_PRIORITY_HIGH 2 -#define DISPATCH_QUEUE_PRIORITY_DEFAULT 0 -#define DISPATCH_QUEUE_PRIORITY_LOW (-2) -#define DISPATCH_QUEUE_PRIORITY_BACKGROUND INT16_MIN - -typedef long dispatch_queue_priority_t; - -/*! - * @function dispatch_get_global_queue - * - * @abstract - * Returns a well-known global concurrent queue of a given quality of service - * class. - * - * @discussion - * See dispatch_queue_global_t. - * - * @param identifier - * A quality of service class defined in qos_class_t or a priority defined in - * dispatch_queue_priority_t. - * - * It is recommended to use quality of service class values to identify the - * well-known global concurrent queues: - * - QOS_CLASS_USER_INTERACTIVE - * - QOS_CLASS_USER_INITIATED - * - QOS_CLASS_DEFAULT - * - QOS_CLASS_UTILITY - * - QOS_CLASS_BACKGROUND - * - * The global concurrent queues may still be identified by their priority, - * which map to the following QOS classes: - * - DISPATCH_QUEUE_PRIORITY_HIGH: QOS_CLASS_USER_INITIATED - * - DISPATCH_QUEUE_PRIORITY_DEFAULT: QOS_CLASS_DEFAULT - * - DISPATCH_QUEUE_PRIORITY_LOW: QOS_CLASS_UTILITY - * - DISPATCH_QUEUE_PRIORITY_BACKGROUND: QOS_CLASS_BACKGROUND - * - * @param flags - * Reserved for future use. Passing any value other than zero may result in - * a NULL return value. - * - * @result - * Returns the requested global queue or NULL if the requested global queue - * does not exist. - */ -API_AVAILABLE(macos(10.6), ios(4.0)) -DISPATCH_EXPORT DISPATCH_CONST DISPATCH_WARN_RESULT DISPATCH_NOTHROW -dispatch_queue_global_t -dispatch_get_global_queue(intptr_t identifier, uintptr_t flags); - -/*! - * @typedef dispatch_queue_attr_t - * - * @abstract - * Attribute for dispatch queues. - */ -DISPATCH_DECL(dispatch_queue_attr); - -/*! - * @const DISPATCH_QUEUE_SERIAL - * - * @discussion - * An attribute that can be used to create a dispatch queue that invokes blocks - * serially in FIFO order. - * - * See dispatch_queue_serial_t. - */ -#define DISPATCH_QUEUE_SERIAL NULL - -/*! - * @const DISPATCH_QUEUE_SERIAL_INACTIVE - * - * @discussion - * An attribute that can be used to create a dispatch queue that invokes blocks - * serially in FIFO order, and that is initially inactive. - * - * See dispatch_queue_attr_make_initially_inactive(). - */ -#define DISPATCH_QUEUE_SERIAL_INACTIVE \ - dispatch_queue_attr_make_initially_inactive(DISPATCH_QUEUE_SERIAL) - -/*! - * @const DISPATCH_QUEUE_CONCURRENT - * - * @discussion - * An attribute that can be used to create a dispatch queue that may invoke - * blocks concurrently and supports barrier blocks submitted with the dispatch - * barrier API. - * - * See dispatch_queue_concurrent_t. - */ -#define DISPATCH_QUEUE_CONCURRENT \ - DISPATCH_GLOBAL_OBJECT(dispatch_queue_attr_t, \ - _dispatch_queue_attr_concurrent) -API_AVAILABLE(macos(10.7), ios(4.3)) -DISPATCH_EXPORT -struct dispatch_queue_attr_s _dispatch_queue_attr_concurrent; - -/*! - * @const DISPATCH_QUEUE_CONCURRENT_INACTIVE - * - * @discussion - * An attribute that can be used to create a dispatch queue that may invoke - * blocks concurrently and supports barrier blocks submitted with the dispatch - * barrier API, and that is initially inactive. - * - * See dispatch_queue_attr_make_initially_inactive(). - */ -#define DISPATCH_QUEUE_CONCURRENT_INACTIVE \ - dispatch_queue_attr_make_initially_inactive(DISPATCH_QUEUE_CONCURRENT) - -/*! - * @function dispatch_queue_attr_make_initially_inactive - * - * @abstract - * Returns an attribute value which may be provided to dispatch_queue_create() - * or dispatch_queue_create_with_target(), in order to make the created queue - * initially inactive. - * - * @discussion - * Dispatch queues may be created in an inactive state. Queues in this state - * have to be activated before any blocks associated with them will be invoked. - * - * A queue in inactive state cannot be deallocated, dispatch_activate() must be - * called before the last reference to a queue created with this attribute is - * released. - * - * The target queue of a queue in inactive state can be changed using - * dispatch_set_target_queue(). Change of target queue is no longer permitted - * once an initially inactive queue has been activated. - * - * @param attr - * A queue attribute value to be combined with the initially inactive attribute. - * - * @return - * Returns an attribute value which may be provided to dispatch_queue_create() - * and dispatch_queue_create_with_target(). - * The new value combines the attributes specified by the 'attr' parameter with - * the initially inactive attribute. - */ -API_AVAILABLE(macos(10.12), ios(10.0), tvos(10.0), watchos(3.0)) -DISPATCH_EXPORT DISPATCH_WARN_RESULT DISPATCH_PURE DISPATCH_NOTHROW -dispatch_queue_attr_t -dispatch_queue_attr_make_initially_inactive( - dispatch_queue_attr_t _Nullable attr); - -/*! - * @const DISPATCH_QUEUE_SERIAL_WITH_AUTORELEASE_POOL - * - * @discussion - * A dispatch queue created with this attribute invokes blocks serially in FIFO - * order, and surrounds execution of any block submitted asynchronously to it - * with the equivalent of a individual Objective-C @autoreleasepool - * scope. - * - * See dispatch_queue_attr_make_with_autorelease_frequency(). - */ -#define DISPATCH_QUEUE_SERIAL_WITH_AUTORELEASE_POOL \ - dispatch_queue_attr_make_with_autorelease_frequency(\ - DISPATCH_QUEUE_SERIAL, DISPATCH_AUTORELEASE_FREQUENCY_WORK_ITEM) - -/*! - * @const DISPATCH_QUEUE_CONCURRENT_WITH_AUTORELEASE_POOL - * - * @discussion - * A dispatch queue created with this attribute may invokes blocks concurrently - * and supports barrier blocks submitted with the dispatch barrier API. It also - * surrounds execution of any block submitted asynchronously to it with the - * equivalent of a individual Objective-C @autoreleasepool - * - * See dispatch_queue_attr_make_with_autorelease_frequency(). - */ -#define DISPATCH_QUEUE_CONCURRENT_WITH_AUTORELEASE_POOL \ - dispatch_queue_attr_make_with_autorelease_frequency(\ - DISPATCH_QUEUE_CONCURRENT, DISPATCH_AUTORELEASE_FREQUENCY_WORK_ITEM) - -/*! - * @typedef dispatch_autorelease_frequency_t - * Values to pass to the dispatch_queue_attr_make_with_autorelease_frequency() - * function. - * - * @const DISPATCH_AUTORELEASE_FREQUENCY_INHERIT - * Dispatch queues with this autorelease frequency inherit the behavior from - * their target queue. This is the default behavior for manually created queues. - * - * @const DISPATCH_AUTORELEASE_FREQUENCY_WORK_ITEM - * Dispatch queues with this autorelease frequency push and pop an autorelease - * pool around the execution of every block that was submitted to it - * asynchronously. - * @see dispatch_queue_attr_make_with_autorelease_frequency(). - * - * @const DISPATCH_AUTORELEASE_FREQUENCY_NEVER - * Dispatch queues with this autorelease frequency never set up an individual - * autorelease pool around the execution of a block that is submitted to it - * asynchronously. This is the behavior of the global concurrent queues. - */ -DISPATCH_ENUM(dispatch_autorelease_frequency, unsigned long, - DISPATCH_AUTORELEASE_FREQUENCY_INHERIT DISPATCH_ENUM_API_AVAILABLE( - macos(10.12), ios(10.0), tvos(10.0), watchos(3.0)) = 0, - DISPATCH_AUTORELEASE_FREQUENCY_WORK_ITEM DISPATCH_ENUM_API_AVAILABLE( - macos(10.12), ios(10.0), tvos(10.0), watchos(3.0)) = 1, - DISPATCH_AUTORELEASE_FREQUENCY_NEVER DISPATCH_ENUM_API_AVAILABLE( - macos(10.12), ios(10.0), tvos(10.0), watchos(3.0)) = 2, -); - -/*! - * @function dispatch_queue_attr_make_with_autorelease_frequency - * - * @abstract - * Returns a dispatch queue attribute value with the autorelease frequency - * set to the specified value. - * - * @discussion - * When a queue uses the per-workitem autorelease frequency (either directly - * or inherithed from its target queue), any block submitted asynchronously to - * this queue (via dispatch_async(), dispatch_barrier_async(), - * dispatch_group_notify(), etc...) is executed as if surrounded by a individual - * Objective-C @autoreleasepool scope. - * - * Autorelease frequency has no effect on blocks that are submitted - * synchronously to a queue (via dispatch_sync(), dispatch_barrier_sync()). - * - * The global concurrent queues have the DISPATCH_AUTORELEASE_FREQUENCY_NEVER - * behavior. Manually created dispatch queues use - * DISPATCH_AUTORELEASE_FREQUENCY_INHERIT by default. - * - * Queues created with this attribute cannot change target queues after having - * been activated. See dispatch_set_target_queue() and dispatch_activate(). - * - * @param attr - * A queue attribute value to be combined with the specified autorelease - * frequency or NULL. - * - * @param frequency - * The requested autorelease frequency. - * - * @return - * Returns an attribute value which may be provided to dispatch_queue_create() - * or NULL if an invalid autorelease frequency was requested. - * This new value combines the attributes specified by the 'attr' parameter and - * the chosen autorelease frequency. - */ -API_AVAILABLE(macos(10.12), ios(10.0), tvos(10.0), watchos(3.0)) -DISPATCH_EXPORT DISPATCH_WARN_RESULT DISPATCH_PURE DISPATCH_NOTHROW -dispatch_queue_attr_t -dispatch_queue_attr_make_with_autorelease_frequency( - dispatch_queue_attr_t _Nullable attr, - dispatch_autorelease_frequency_t frequency); - -/*! - * @function dispatch_queue_attr_make_with_qos_class - * - * @abstract - * Returns an attribute value which may be provided to dispatch_queue_create() - * or dispatch_queue_create_with_target(), in order to assign a QOS class and - * relative priority to the queue. - * - * @discussion - * When specified in this manner, the QOS class and relative priority take - * precedence over those inherited from the dispatch queue's target queue (if - * any) as long that does not result in a lower QOS class and relative priority. - * - * The global queue priorities map to the following QOS classes: - * - DISPATCH_QUEUE_PRIORITY_HIGH: QOS_CLASS_USER_INITIATED - * - DISPATCH_QUEUE_PRIORITY_DEFAULT: QOS_CLASS_DEFAULT - * - DISPATCH_QUEUE_PRIORITY_LOW: QOS_CLASS_UTILITY - * - DISPATCH_QUEUE_PRIORITY_BACKGROUND: QOS_CLASS_BACKGROUND - * - * Example: - * - * dispatch_queue_t queue; - * dispatch_queue_attr_t attr; - * attr = dispatch_queue_attr_make_with_qos_class(DISPATCH_QUEUE_SERIAL, - * QOS_CLASS_UTILITY, 0); - * queue = dispatch_queue_create("com.example.myqueue", attr); - * - * - * The QOS class and relative priority set this way on a queue have no effect on - * blocks that are submitted synchronously to a queue (via dispatch_sync(), - * dispatch_barrier_sync()). - * - * @param attr - * A queue attribute value to be combined with the QOS class, or NULL. - * - * @param qos_class - * A QOS class value: - * - QOS_CLASS_USER_INTERACTIVE - * - QOS_CLASS_USER_INITIATED - * - QOS_CLASS_DEFAULT - * - QOS_CLASS_UTILITY - * - QOS_CLASS_BACKGROUND - * Passing any other value results in NULL being returned. - * - * @param relative_priority - * A relative priority within the QOS class. This value is a negative - * offset from the maximum supported scheduler priority for the given class. - * Passing a value greater than zero or less than QOS_MIN_RELATIVE_PRIORITY - * results in NULL being returned. - * - * @return - * Returns an attribute value which may be provided to dispatch_queue_create() - * and dispatch_queue_create_with_target(), or NULL if an invalid QOS class was - * requested. - * The new value combines the attributes specified by the 'attr' parameter and - * the new QOS class and relative priority. - */ -API_AVAILABLE(macos(10.10), ios(8.0)) -DISPATCH_EXPORT DISPATCH_WARN_RESULT DISPATCH_PURE DISPATCH_NOTHROW -dispatch_queue_attr_t -dispatch_queue_attr_make_with_qos_class(dispatch_queue_attr_t _Nullable attr, - dispatch_qos_class_t qos_class, int relative_priority); - -/*! - * @const DISPATCH_TARGET_QUEUE_DEFAULT - * @discussion Constant to pass to the dispatch_queue_create_with_target(), - * dispatch_set_target_queue() and dispatch_source_create() functions to - * indicate that the default target queue for the object type in question - * should be used. - */ -#define DISPATCH_TARGET_QUEUE_DEFAULT NULL - -/*! - * @function dispatch_queue_create_with_target - * - * @abstract - * Creates a new dispatch queue with a specified target queue. - * - * @discussion - * Dispatch queues created with the DISPATCH_QUEUE_SERIAL or a NULL attribute - * invoke blocks serially in FIFO order. - * - * Dispatch queues created with the DISPATCH_QUEUE_CONCURRENT attribute may - * invoke blocks concurrently (similarly to the global concurrent queues, but - * potentially with more overhead), and support barrier blocks submitted with - * the dispatch barrier API, which e.g. enables the implementation of efficient - * reader-writer schemes. - * - * When a dispatch queue is no longer needed, it should be released with - * dispatch_release(). Note that any pending blocks submitted asynchronously to - * a queue will hold a reference to that queue. Therefore a queue will not be - * deallocated until all pending blocks have finished. - * - * When using a dispatch queue attribute @a attr specifying a QoS class (derived - * from the result of dispatch_queue_attr_make_with_qos_class()), passing the - * result of dispatch_get_global_queue() in @a target will ignore the QoS class - * of that global queue and will use the global queue with the QoS class - * specified by attr instead. - * - * Queues created with dispatch_queue_create_with_target() cannot have their - * target queue changed, unless created inactive (See - * dispatch_queue_attr_make_initially_inactive()), in which case the target - * queue can be changed until the newly created queue is activated with - * dispatch_activate(). - * - * @param label - * A string label to attach to the queue. - * This parameter is optional and may be NULL. - * - * @param attr - * A predefined attribute such as DISPATCH_QUEUE_SERIAL, - * DISPATCH_QUEUE_CONCURRENT, or the result of a call to - * a dispatch_queue_attr_make_with_* function. - * - * @param target - * The target queue for the newly created queue. The target queue is retained. - * If this parameter is DISPATCH_TARGET_QUEUE_DEFAULT, sets the queue's target - * queue to the default target queue for the given queue type. - * - * @result - * The newly created dispatch queue. - */ -API_AVAILABLE(macos(10.12), ios(10.0), tvos(10.0), watchos(3.0)) -DISPATCH_EXPORT DISPATCH_MALLOC DISPATCH_RETURNS_RETAINED DISPATCH_WARN_RESULT -DISPATCH_NOTHROW -dispatch_queue_t -dispatch_queue_create_with_target(const char *_Nullable label, - dispatch_queue_attr_t _Nullable attr, dispatch_queue_t _Nullable target) - DISPATCH_ALIAS_V2(dispatch_queue_create_with_target); - -/*! - * @function dispatch_queue_create - * - * @abstract - * Creates a new dispatch queue to which blocks may be submitted. - * - * @discussion - * Dispatch queues created with the DISPATCH_QUEUE_SERIAL or a NULL attribute - * invoke blocks serially in FIFO order. - * - * Dispatch queues created with the DISPATCH_QUEUE_CONCURRENT attribute may - * invoke blocks concurrently (similarly to the global concurrent queues, but - * potentially with more overhead), and support barrier blocks submitted with - * the dispatch barrier API, which e.g. enables the implementation of efficient - * reader-writer schemes. - * - * When a dispatch queue is no longer needed, it should be released with - * dispatch_release(). Note that any pending blocks submitted asynchronously to - * a queue will hold a reference to that queue. Therefore a queue will not be - * deallocated until all pending blocks have finished. - * - * Passing the result of the dispatch_queue_attr_make_with_qos_class() function - * to the attr parameter of this function allows a quality of service class and - * relative priority to be specified for the newly created queue. - * The quality of service class so specified takes precedence over the quality - * of service class of the newly created dispatch queue's target queue (if any) - * as long that does not result in a lower QOS class and relative priority. - * - * When no quality of service class is specified, the target queue of a newly - * created dispatch queue is the default priority global concurrent queue. - * - * @param label - * A string label to attach to the queue. - * This parameter is optional and may be NULL. - * - * @param attr - * A predefined attribute such as DISPATCH_QUEUE_SERIAL, - * DISPATCH_QUEUE_CONCURRENT, or the result of a call to - * a dispatch_queue_attr_make_with_* function. - * - * @result - * The newly created dispatch queue. - */ -API_AVAILABLE(macos(10.6), ios(4.0)) -DISPATCH_EXPORT DISPATCH_MALLOC DISPATCH_RETURNS_RETAINED DISPATCH_WARN_RESULT -DISPATCH_NOTHROW -dispatch_queue_t -dispatch_queue_create(const char *_Nullable label, - dispatch_queue_attr_t _Nullable attr); - -/*! - * @const DISPATCH_CURRENT_QUEUE_LABEL - * @discussion Constant to pass to the dispatch_queue_get_label() function to - * retrieve the label of the current queue. - */ -#define DISPATCH_CURRENT_QUEUE_LABEL NULL - -/*! - * @function dispatch_queue_get_label - * - * @abstract - * Returns the label of the given queue, as specified when the queue was - * created, or the empty string if a NULL label was specified. - * - * Passing DISPATCH_CURRENT_QUEUE_LABEL will return the label of the current - * queue. - * - * @param queue - * The queue to query, or DISPATCH_CURRENT_QUEUE_LABEL. - * - * @result - * The label of the queue. - */ -API_AVAILABLE(macos(10.6), ios(4.0)) -DISPATCH_EXPORT DISPATCH_PURE DISPATCH_WARN_RESULT DISPATCH_NOTHROW -const char * -dispatch_queue_get_label(dispatch_queue_t _Nullable queue); - -/*! - * @function dispatch_queue_get_qos_class - * - * @abstract - * Returns the QOS class and relative priority of the given queue. - * - * @discussion - * If the given queue was created with an attribute value returned from - * dispatch_queue_attr_make_with_qos_class(), this function returns the QOS - * class and relative priority specified at that time; for any other attribute - * value it returns a QOS class of QOS_CLASS_UNSPECIFIED and a relative - * priority of 0. - * - * If the given queue is one of the global queues, this function returns its - * assigned QOS class value as documented under dispatch_get_global_queue() and - * a relative priority of 0; in the case of the main queue it returns the QOS - * value provided by qos_class_main() and a relative priority of 0. - * - * @param queue - * The queue to query. - * - * @param relative_priority_ptr - * A pointer to an int variable to be filled with the relative priority offset - * within the QOS class, or NULL. - * - * @return - * A QOS class value: - * - QOS_CLASS_USER_INTERACTIVE - * - QOS_CLASS_USER_INITIATED - * - QOS_CLASS_DEFAULT - * - QOS_CLASS_UTILITY - * - QOS_CLASS_BACKGROUND - * - QOS_CLASS_UNSPECIFIED - */ -API_AVAILABLE(macos(10.10), ios(8.0)) -DISPATCH_EXPORT DISPATCH_WARN_RESULT DISPATCH_NONNULL1 DISPATCH_NOTHROW -dispatch_qos_class_t -dispatch_queue_get_qos_class(dispatch_queue_t queue, - int *_Nullable relative_priority_ptr); - -/*! - * @function dispatch_set_target_queue - * - * @abstract - * Sets the target queue for the given object. - * - * @discussion - * An object's target queue is responsible for processing the object. - * - * When no quality of service class and relative priority is specified for a - * dispatch queue at the time of creation, a dispatch queue's quality of service - * class is inherited from its target queue. The dispatch_get_global_queue() - * function may be used to obtain a target queue of a specific quality of - * service class, however the use of dispatch_queue_attr_make_with_qos_class() - * is recommended instead. - * - * Blocks submitted to a serial queue whose target queue is another serial - * queue will not be invoked concurrently with blocks submitted to the target - * queue or to any other queue with that same target queue. - * - * The result of introducing a cycle into the hierarchy of target queues is - * undefined. - * - * A dispatch source's target queue specifies where its event handler and - * cancellation handler blocks will be submitted. - * - * A dispatch I/O channel's target queue specifies where where its I/O - * operations are executed. If the channel's target queue's priority is set to - * DISPATCH_QUEUE_PRIORITY_BACKGROUND, then the I/O operations performed by - * dispatch_io_read() or dispatch_io_write() on that queue will be - * throttled when there is I/O contention. - * - * For all other dispatch object types, the only function of the target queue - * is to determine where an object's finalizer function is invoked. - * - * In general, changing the target queue of an object is an asynchronous - * operation that doesn't take effect immediately, and doesn't affect blocks - * already associated with the specified object. - * - * However, if an object is inactive at the time dispatch_set_target_queue() is - * called, then the target queue change takes effect immediately, and will - * affect blocks already associated with the specified object. After an - * initially inactive object has been activated, calling - * dispatch_set_target_queue() results in an assertion and the process being - * terminated. - * - * If a dispatch queue is active and targeted by other dispatch objects, - * changing its target queue results in undefined behavior. - * - * @param object - * The object to modify. - * The result of passing NULL in this parameter is undefined. - * - * @param queue - * The new target queue for the object. The queue is retained, and the - * previous target queue, if any, is released. - * If queue is DISPATCH_TARGET_QUEUE_DEFAULT, set the object's target queue - * to the default target queue for the given object type. - */ -API_AVAILABLE(macos(10.6), ios(4.0)) -DISPATCH_EXPORT DISPATCH_NOTHROW -void -dispatch_set_target_queue(dispatch_object_t object, - dispatch_queue_t _Nullable queue); - -/*! - * @function dispatch_main - * - * @abstract - * Execute blocks submitted to the main queue. - * - * @discussion - * This function "parks" the main thread and waits for blocks to be submitted - * to the main queue. This function never returns. - * - * Applications that call NSApplicationMain() or CFRunLoopRun() on the - * main thread do not need to call dispatch_main(). - */ -API_AVAILABLE(macos(10.6), ios(4.0)) -DISPATCH_EXPORT DISPATCH_NOTHROW DISPATCH_NORETURN -void -dispatch_main(void); - -/*! - * @function dispatch_after - * - * @abstract - * Schedule a block for execution on a given queue at a specified time. - * - * @discussion - * Passing DISPATCH_TIME_NOW as the "when" parameter is supported, but not as - * optimal as calling dispatch_async() instead. Passing DISPATCH_TIME_FOREVER - * is undefined. - * - * @param when - * A temporal milestone returned by dispatch_time() or dispatch_walltime(). - * - * @param queue - * A queue to which the given block will be submitted at the specified time. - * The result of passing NULL in this parameter is undefined. - * - * @param block - * The block of code to execute. - * The result of passing NULL in this parameter is undefined. - */ -#ifdef __BLOCKS__ -API_AVAILABLE(macos(10.6), ios(4.0)) -DISPATCH_EXPORT DISPATCH_NONNULL2 DISPATCH_NONNULL3 DISPATCH_NOTHROW -void -dispatch_after(dispatch_time_t when, dispatch_queue_t queue, - dispatch_block_t block); -#endif - -/*! - * @function dispatch_after_f - * - * @abstract - * Schedule a function for execution on a given queue at a specified time. - * - * @discussion - * See dispatch_after() for details. - * - * @param when - * A temporal milestone returned by dispatch_time() or dispatch_walltime(). - * - * @param queue - * A queue to which the given function will be submitted at the specified time. - * The result of passing NULL in this parameter is undefined. - * - * @param context - * The application-defined context parameter to pass to the function. - * - * @param work - * The application-defined function to invoke on the target queue. The first - * parameter passed to this function is the context provided to - * dispatch_after_f(). - * The result of passing NULL in this parameter is undefined. - */ -API_AVAILABLE(macos(10.6), ios(4.0)) -DISPATCH_EXPORT DISPATCH_NONNULL2 DISPATCH_NONNULL4 DISPATCH_NOTHROW -void -dispatch_after_f(dispatch_time_t when, dispatch_queue_t queue, - void *_Nullable context, dispatch_function_t work); - -/*! - * @functiongroup Dispatch Barrier API - * The dispatch barrier API is a mechanism for submitting barrier blocks to a - * dispatch queue, analogous to the dispatch_async()/dispatch_sync() API. - * It enables the implementation of efficient reader/writer schemes. - * Barrier blocks only behave specially when submitted to queues created with - * the DISPATCH_QUEUE_CONCURRENT attribute; on such a queue, a barrier block - * will not run until all blocks submitted to the queue earlier have completed, - * and any blocks submitted to the queue after a barrier block will not run - * until the barrier block has completed. - * When submitted to a a global queue or to a queue not created with the - * DISPATCH_QUEUE_CONCURRENT attribute, barrier blocks behave identically to - * blocks submitted with the dispatch_async()/dispatch_sync() API. - */ - -/*! - * @function dispatch_barrier_async - * - * @abstract - * Submits a barrier block for asynchronous execution on a dispatch queue. - * - * @discussion - * Submits a block to a dispatch queue like dispatch_async(), but marks that - * block as a barrier (relevant only on DISPATCH_QUEUE_CONCURRENT queues). - * - * See dispatch_async() for details and "Dispatch Barrier API" for a description - * of the barrier semantics. - * - * @param queue - * The target dispatch queue to which the block is submitted. - * The system will hold a reference on the target queue until the block - * has finished. - * The result of passing NULL in this parameter is undefined. - * - * @param block - * The block to submit to the target dispatch queue. This function performs - * Block_copy() and Block_release() on behalf of callers. - * The result of passing NULL in this parameter is undefined. - */ -#ifdef __BLOCKS__ -API_AVAILABLE(macos(10.7), ios(4.3)) -DISPATCH_EXPORT DISPATCH_NONNULL_ALL DISPATCH_NOTHROW -void -dispatch_barrier_async(dispatch_queue_t queue, dispatch_block_t block); -#endif - -/*! - * @function dispatch_barrier_async_f - * - * @abstract - * Submits a barrier function for asynchronous execution on a dispatch queue. - * - * @discussion - * Submits a function to a dispatch queue like dispatch_async_f(), but marks - * that function as a barrier (relevant only on DISPATCH_QUEUE_CONCURRENT - * queues). - * - * See dispatch_async_f() for details and "Dispatch Barrier API" for a - * description of the barrier semantics. - * - * @param queue - * The target dispatch queue to which the function is submitted. - * The system will hold a reference on the target queue until the function - * has returned. - * The result of passing NULL in this parameter is undefined. - * - * @param context - * The application-defined context parameter to pass to the function. - * - * @param work - * The application-defined function to invoke on the target queue. The first - * parameter passed to this function is the context provided to - * dispatch_barrier_async_f(). - * The result of passing NULL in this parameter is undefined. - */ -API_AVAILABLE(macos(10.7), ios(4.3)) -DISPATCH_EXPORT DISPATCH_NONNULL1 DISPATCH_NONNULL3 DISPATCH_NOTHROW -void -dispatch_barrier_async_f(dispatch_queue_t queue, - void *_Nullable context, dispatch_function_t work); - -/*! - * @function dispatch_barrier_sync - * - * @abstract - * Submits a barrier block for synchronous execution on a dispatch queue. - * - * @discussion - * Submits a block to a dispatch queue like dispatch_sync(), but marks that - * block as a barrier (relevant only on DISPATCH_QUEUE_CONCURRENT queues). - * - * See dispatch_sync() for details and "Dispatch Barrier API" for a description - * of the barrier semantics. - * - * @param queue - * The target dispatch queue to which the block is submitted. - * The result of passing NULL in this parameter is undefined. - * - * @param block - * The block to be invoked on the target dispatch queue. - * The result of passing NULL in this parameter is undefined. - */ -#ifdef __BLOCKS__ -API_AVAILABLE(macos(10.7), ios(4.3)) -DISPATCH_EXPORT DISPATCH_NONNULL_ALL DISPATCH_NOTHROW -void -dispatch_barrier_sync(dispatch_queue_t queue, - DISPATCH_NOESCAPE dispatch_block_t block); -#endif - -/*! - * @function dispatch_barrier_sync_f - * - * @abstract - * Submits a barrier function for synchronous execution on a dispatch queue. - * - * @discussion - * Submits a function to a dispatch queue like dispatch_sync_f(), but marks that - * fuction as a barrier (relevant only on DISPATCH_QUEUE_CONCURRENT queues). - * - * See dispatch_sync_f() for details. - * - * @param queue - * The target dispatch queue to which the function is submitted. - * The result of passing NULL in this parameter is undefined. - * - * @param context - * The application-defined context parameter to pass to the function. - * - * @param work - * The application-defined function to invoke on the target queue. The first - * parameter passed to this function is the context provided to - * dispatch_barrier_sync_f(). - * The result of passing NULL in this parameter is undefined. - */ -API_AVAILABLE(macos(10.7), ios(4.3)) -DISPATCH_EXPORT DISPATCH_NONNULL1 DISPATCH_NONNULL3 DISPATCH_NOTHROW -void -dispatch_barrier_sync_f(dispatch_queue_t queue, - void *_Nullable context, dispatch_function_t work); - -/*! - * @function dispatch_barrier_async_and_wait - * - * @abstract - * Submits a block for synchronous execution on a dispatch queue. - * - * @discussion - * Submits a block to a dispatch queue like dispatch_async_and_wait(), but marks - * that block as a barrier (relevant only on DISPATCH_QUEUE_CONCURRENT - * queues). - * - * See "Dispatch Barrier API" for a description of the barrier semantics. - * - * @param queue - * The target dispatch queue to which the block is submitted. - * The result of passing NULL in this parameter is undefined. - * - * @param work - * The application-defined block to invoke on the target queue. - * The result of passing NULL in this parameter is undefined. - */ -#ifdef __BLOCKS__ -API_AVAILABLE(macos(10.14), ios(12.0), tvos(12.0), watchos(5.0)) -DISPATCH_EXPORT DISPATCH_NONNULL_ALL DISPATCH_NOTHROW -void -dispatch_barrier_async_and_wait(dispatch_queue_t queue, - DISPATCH_NOESCAPE dispatch_block_t block); -#endif - -/*! - * @function dispatch_barrier_async_and_wait_f - * - * @abstract - * Submits a function for synchronous execution on a dispatch queue. - * - * @discussion - * Submits a function to a dispatch queue like dispatch_async_and_wait_f(), but - * marks that function as a barrier (relevant only on DISPATCH_QUEUE_CONCURRENT - * queues). - * - * See "Dispatch Barrier API" for a description of the barrier semantics. - * - * @param queue - * The target dispatch queue to which the function is submitted. - * The result of passing NULL in this parameter is undefined. - * - * @param context - * The application-defined context parameter to pass to the function. - * - * @param work - * The application-defined function to invoke on the target queue. The first - * parameter passed to this function is the context provided to - * dispatch_barrier_async_and_wait_f(). - * The result of passing NULL in this parameter is undefined. - */ -API_AVAILABLE(macos(10.14), ios(12.0), tvos(12.0), watchos(5.0)) -DISPATCH_EXPORT DISPATCH_NONNULL1 DISPATCH_NONNULL3 DISPATCH_NOTHROW -void -dispatch_barrier_async_and_wait_f(dispatch_queue_t queue, - void *_Nullable context, dispatch_function_t work); - -/*! - * @functiongroup Dispatch queue-specific contexts - * This API allows different subsystems to associate context to a shared queue - * without risk of collision and to retrieve that context from blocks executing - * on that queue or any of its child queues in the target queue hierarchy. - */ - -/*! - * @function dispatch_queue_set_specific - * - * @abstract - * Associates a subsystem-specific context with a dispatch queue, for a key - * unique to the subsystem. - * - * @discussion - * The specified destructor will be invoked with the context on the default - * priority global concurrent queue when a new context is set for the same key, - * or after all references to the queue have been released. - * - * @param queue - * The dispatch queue to modify. - * The result of passing NULL in this parameter is undefined. - * - * @param key - * The key to set the context for, typically a pointer to a static variable - * specific to the subsystem. Keys are only compared as pointers and never - * dereferenced. Passing a string constant directly is not recommended. - * The NULL key is reserved and attempts to set a context for it are ignored. - * - * @param context - * The new subsystem-specific context for the object. This may be NULL. - * - * @param destructor - * The destructor function pointer. This may be NULL and is ignored if context - * is NULL. - */ -API_AVAILABLE(macos(10.7), ios(5.0)) -DISPATCH_EXPORT DISPATCH_NONNULL1 DISPATCH_NOTHROW -void -dispatch_queue_set_specific(dispatch_queue_t queue, const void *key, - void *_Nullable context, dispatch_function_t _Nullable destructor); - -/*! - * @function dispatch_queue_get_specific - * - * @abstract - * Returns the subsystem-specific context associated with a dispatch queue, for - * a key unique to the subsystem. - * - * @discussion - * Returns the context for the specified key if it has been set on the specified - * queue. - * - * @param queue - * The dispatch queue to query. - * The result of passing NULL in this parameter is undefined. - * - * @param key - * The key to get the context for, typically a pointer to a static variable - * specific to the subsystem. Keys are only compared as pointers and never - * dereferenced. Passing a string constant directly is not recommended. - * - * @result - * The context for the specified key or NULL if no context was found. - */ -API_AVAILABLE(macos(10.7), ios(5.0)) -DISPATCH_EXPORT DISPATCH_NONNULL1 DISPATCH_PURE DISPATCH_WARN_RESULT -DISPATCH_NOTHROW -void *_Nullable -dispatch_queue_get_specific(dispatch_queue_t queue, const void *key); - -/*! - * @function dispatch_get_specific - * - * @abstract - * Returns the current subsystem-specific context for a key unique to the - * subsystem. - * - * @discussion - * When called from a block executing on a queue, returns the context for the - * specified key if it has been set on the queue, otherwise returns the result - * of dispatch_get_specific() executed on the queue's target queue or NULL - * if the current queue is a global concurrent queue. - * - * @param key - * The key to get the context for, typically a pointer to a static variable - * specific to the subsystem. Keys are only compared as pointers and never - * dereferenced. Passing a string constant directly is not recommended. - * - * @result - * The context for the specified key or NULL if no context was found. - */ -API_AVAILABLE(macos(10.7), ios(5.0)) -DISPATCH_EXPORT DISPATCH_PURE DISPATCH_WARN_RESULT DISPATCH_NOTHROW -void *_Nullable -dispatch_get_specific(const void *key); - -/*! - * @functiongroup Dispatch assertion API - * - * This API asserts at runtime that code is executing in (or out of) the context - * of a given queue. It can be used to check that a block accessing a resource - * does so from the proper queue protecting the resource. It also can be used - * to verify that a block that could cause a deadlock if run on a given queue - * never executes on that queue. - */ - -/*! - * @function dispatch_assert_queue - * - * @abstract - * Verifies that the current block is executing on a given dispatch queue. - * - * @discussion - * Some code expects to be run on a specific dispatch queue. This function - * verifies that that expectation is true. - * - * If the currently executing block was submitted to the specified queue or to - * any queue targeting it (see dispatch_set_target_queue()), this function - * returns. - * - * If the currently executing block was submitted with a synchronous API - * (dispatch_sync(), dispatch_barrier_sync(), ...), the context of the - * submitting block is also evaluated (recursively). - * If a synchronously submitting block is found that was itself submitted to - * the specified queue or to any queue targeting it, this function returns. - * - * Otherwise this function asserts: it logs an explanation to the system log and - * terminates the application. - * - * Passing the result of dispatch_get_main_queue() to this function verifies - * that the current block was submitted to the main queue, or to a queue - * targeting it, or is running on the main thread (in any context). - * - * When dispatch_assert_queue() is called outside of the context of a - * submitted block (for example from the context of a thread created manually - * with pthread_create()) then this function will also assert and terminate - * the application. - * - * The variant dispatch_assert_queue_debug() is compiled out when the - * preprocessor macro NDEBUG is defined. (See also assert(3)). - * - * @param queue - * The dispatch queue that the current block is expected to run on. - * The result of passing NULL in this parameter is undefined. - */ -API_AVAILABLE(macos(10.12), ios(10.0), tvos(10.0), watchos(3.0)) -DISPATCH_EXPORT DISPATCH_NONNULL1 -void -dispatch_assert_queue(dispatch_queue_t queue) - DISPATCH_ALIAS_V2(dispatch_assert_queue); - -/*! - * @function dispatch_assert_queue_barrier - * - * @abstract - * Verifies that the current block is executing on a given dispatch queue, - * and that the block acts as a barrier on that queue. - * - * @discussion - * This behaves exactly like dispatch_assert_queue(), with the additional check - * that the current block acts as a barrier on the specified queue, which is - * always true if the specified queue is serial (see DISPATCH_BLOCK_BARRIER or - * dispatch_barrier_async() for details). - * - * The variant dispatch_assert_queue_barrier_debug() is compiled out when the - * preprocessor macro NDEBUG is defined. (See also assert()). - * - * @param queue - * The dispatch queue that the current block is expected to run as a barrier on. - * The result of passing NULL in this parameter is undefined. - */ -API_AVAILABLE(macos(10.12), ios(10.0), tvos(10.0), watchos(3.0)) -DISPATCH_EXPORT DISPATCH_NONNULL1 -void -dispatch_assert_queue_barrier(dispatch_queue_t queue); - -/*! - * @function dispatch_assert_queue_not - * - * @abstract - * Verifies that the current block is not executing on a given dispatch queue. - * - * @discussion - * This function is the equivalent of dispatch_assert_queue() with the test for - * equality inverted. That means that it will terminate the application when - * dispatch_assert_queue() would return, and vice-versa. See discussion there. - * - * The variant dispatch_assert_queue_not_debug() is compiled out when the - * preprocessor macro NDEBUG is defined. (See also assert(3)). - * - * @param queue - * The dispatch queue that the current block is expected not to run on. - * The result of passing NULL in this parameter is undefined. - */ -API_AVAILABLE(macos(10.12), ios(10.0), tvos(10.0), watchos(3.0)) -DISPATCH_EXPORT DISPATCH_NONNULL1 -void -dispatch_assert_queue_not(dispatch_queue_t queue) - DISPATCH_ALIAS_V2(dispatch_assert_queue_not); - -#ifdef NDEBUG -#define dispatch_assert_queue_debug(q) ((void)(0 && (q))) -#define dispatch_assert_queue_barrier_debug(q) ((void)(0 && (q))) -#define dispatch_assert_queue_not_debug(q) ((void)(0 && (q))) -#else -#define dispatch_assert_queue_debug(q) dispatch_assert_queue(q) -#define dispatch_assert_queue_barrier_debug(q) dispatch_assert_queue_barrier(q) -#define dispatch_assert_queue_not_debug(q) dispatch_assert_queue_not(q) -#endif - -__END_DECLS - -DISPATCH_ASSUME_NONNULL_END - -#endif \ No newline at end of file diff --git a/lib/libc/include/any-macos.12-any/libkern/OSKextLib.h b/lib/libc/include/any-macos.12-any/libkern/OSKextLib.h deleted file mode 100644 index d7e73577e9..0000000000 --- a/lib/libc/include/any-macos.12-any/libkern/OSKextLib.h +++ /dev/null @@ -1,571 +0,0 @@ -/* - * Copyright (c) 2008 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 _LIBKERN_OSKEXTLIB_H -#define _LIBKERN_OSKEXTLIB_H - -#include -__BEGIN_DECLS - -#include -#include -#include -#include - -#include - -/*! - * @header - * - * Declares functions, basic return values, and other constants - * related to kernel extensions (kexts). - */ - -#if PRAGMA_MARK -#pragma mark - -/********************************************************************/ -#pragma mark OSReturn Values for Kernel Extensions -/********************************************************************/ -#endif -/*! - * @group OSReturn Values for Kernel Extensions - * Many kext-related functions return these values, - * as well as those defined under - * @link //apple_ref/c/tdef/OSReturn OSReturn@/link - * and other variants of kern_return_t. - */ - - -#define sub_libkern_kext err_sub(2) -#define libkern_kext_err(code) (sys_libkern|sub_libkern_kext|(code)) - - -/*! - * @define kOSKextReturnInternalError - * @abstract An internal error in the kext library. - * Contrast with @link //apple_ref/c/econst/OSReturnError - * OSReturnError@/link. - */ -#define kOSKextReturnInternalError libkern_kext_err(0x1) - -/*! - * @define kOSKextReturnNoMemory - * @abstract Memory allocation failed. - */ -#define kOSKextReturnNoMemory libkern_kext_err(0x2) - -/*! - * @define kOSKextReturnNoResources - * @abstract Some resource other than memory (such as available load tags) - * is exhausted. - */ -#define kOSKextReturnNoResources libkern_kext_err(0x3) - -/*! - * @define kOSKextReturnNotPrivileged - * @abstract The caller lacks privileges to perform the requested operation. - */ -#define kOSKextReturnNotPrivileged libkern_kext_err(0x4) - -/*! - * @define kOSKextReturnInvalidArgument - * @abstract Invalid argument. - */ -#define kOSKextReturnInvalidArgument libkern_kext_err(0x5) - -/*! - * @define kOSKextReturnNotFound - * @abstract Search item not found. - */ -#define kOSKextReturnNotFound libkern_kext_err(0x6) - -/*! - * @define kOSKextReturnBadData - * @abstract Malformed data (not used for XML). - */ -#define kOSKextReturnBadData libkern_kext_err(0x7) - -/*! - * @define kOSKextReturnSerialization - * @abstract Error converting or (un)serializing URL, string, or XML. - */ -#define kOSKextReturnSerialization libkern_kext_err(0x8) - -/*! - * @define kOSKextReturnUnsupported - * @abstract Operation is no longer or not yet supported. - */ -#define kOSKextReturnUnsupported libkern_kext_err(0x9) - -/*! - * @define kOSKextReturnDisabled - * @abstract Operation is currently disabled. - */ -#define kOSKextReturnDisabled libkern_kext_err(0xa) - -/*! - * @define kOSKextReturnNotAKext - * @abstract Bundle is not a kernel extension. - */ -#define kOSKextReturnNotAKext libkern_kext_err(0xb) - -/*! - * @define kOSKextReturnValidation - * @abstract Validation failures encountered; check diagnostics for details. - */ -#define kOSKextReturnValidation libkern_kext_err(0xc) - -/*! - * @define kOSKextReturnAuthentication - * @abstract Authetication failures encountered; check diagnostics for details. - */ -#define kOSKextReturnAuthentication libkern_kext_err(0xd) - -/*! - * @define kOSKextReturnDependencies - * @abstract Dependency resolution failures encountered; check diagnostics for details. - */ -#define kOSKextReturnDependencies libkern_kext_err(0xe) - -/*! - * @define kOSKextReturnArchNotFound - * @abstract Kext does not contain code for the requested architecture. - */ -#define kOSKextReturnArchNotFound libkern_kext_err(0xf) - -/*! - * @define kOSKextReturnCache - * @abstract An error occurred processing a system kext cache. - */ -#define kOSKextReturnCache libkern_kext_err(0x10) - -/*! - * @define kOSKextReturnDeferred - * @abstract Operation has been posted asynchronously to user space (kernel only). - */ -#define kOSKextReturnDeferred libkern_kext_err(0x11) - -/*! - * @define kOSKextReturnBootLevel - * @abstract Kext not loadable or operation not allowed at current boot level. - */ -#define kOSKextReturnBootLevel libkern_kext_err(0x12) - -/*! - * @define kOSKextReturnNotLoadable - * @abstract Kext cannot be loaded; check diagnostics for details. - */ -#define kOSKextReturnNotLoadable libkern_kext_err(0x13) - -/*! - * @define kOSKextReturnLoadedVersionDiffers - * @abstract A different version (or executable UUID, or executable by checksum) - * of the requested kext is already loaded. - */ -#define kOSKextReturnLoadedVersionDiffers libkern_kext_err(0x14) - -/*! - * @define kOSKextReturnDependencyLoadError - * @abstract A load error occurred on a dependency of the kext being loaded. - */ -#define kOSKextReturnDependencyLoadError libkern_kext_err(0x15) - -/*! - * @define kOSKextReturnLinkError - * @abstract A link failure occured with this kext or a dependency. - */ -#define kOSKextReturnLinkError libkern_kext_err(0x16) - -/*! - * @define kOSKextReturnStartStopError - * @abstract The kext start or stop routine returned an error. - */ -#define kOSKextReturnStartStopError libkern_kext_err(0x17) - -/*! - * @define kOSKextReturnInUse - * @abstract The kext is currently in use or has outstanding references, - * and cannot be unloaded. - */ -#define kOSKextReturnInUse libkern_kext_err(0x18) - -/*! - * @define kOSKextReturnTimeout - * @abstract A kext request has timed out. - */ -#define kOSKextReturnTimeout libkern_kext_err(0x19) - -/*! - * @define kOSKextReturnStopping - * @abstract The kext is in the process of stopping; requests cannot be made. - */ -#define kOSKextReturnStopping libkern_kext_err(0x1a) - -/*! - * @define kOSKextReturnSystemPolicy - * @abstract The kext was prevented from loading due to system policy. - */ -#define kOSKextReturnSystemPolicy libkern_kext_err(0x1b) - -/*! - * @define kOSKextReturnKCLoadFailure - * @abstract Loading of the System KC failed - */ -#define kOSKextReturnKCLoadFailure libkern_kext_err(0x1c) - -/*! - * @define kOSKextReturnKCLoadFailureSystemKC - * @abstract Loading of the System KC failed - * - * This a sub-code of kOSKextReturnKCLoadFailure. It can be OR'd together - * with: kOSKextReturnKCLoadFailureAuxKC - * - * If both the System and Aux KCs fail to load, then the error code will be: - * libkern_kext_err(0x1f) - */ -#define kOSKextReturnKCLoadFailureSystemKC libkern_kext_err(0x1d) - -/*! - * @define kOSKextReturnKCLoadFailureAuxKC - * @abstract Loading of the Aux KC failed - * - * This a sub-code of kOSKextReturnKCLoadFailure. It can be OR'd together - * with: kOSKextReturnKCLoadFailureSystemKC - * - * If both the System and Aux KCs fail to load, then the error code will be: - * libkern_kext_err(0x1f) - */ -#define kOSKextReturnKCLoadFailureAuxKC libkern_kext_err(0x1e) - -/* next available error is: libkern_kext_err(0x20) */ - -#if PRAGMA_MARK -#pragma mark - -/********************************************************************/ -#pragma mark Kext/OSBundle Property List Keys -/********************************************************************/ -#endif -/*! - * @group Kext Property List Keys - * These constants cover CFBundle properties defined for kernel extensions. - * Because they are used in the kernel, if you want to use one with - * CFBundle APIs you'll need to wrap it in a CFSTR() macro. - */ - - -/*! - * @define kOSBundleCompatibleVersionKey - * @abstract A string giving the backwards-compatible version of a library kext - * in extended Mac OS 'vers' format (####.##.##s{1-255} where 's' - * is a build stage 'd', 'a', 'b', 'f' or 'fc'). - */ -#define kOSBundleCompatibleVersionKey "OSBundleCompatibleVersion" - -/*! - * @define kOSBundleEnableKextLoggingKey - * @abstract Set to true to have the kernel kext logging spec applied - * to the kext. - * See @link //apple_ref/c/econst/OSKextLogSpec - * OSKextLogSpec@/link. - */ -#define kOSBundleEnableKextLoggingKey "OSBundleEnableKextLogging" - -/*! - * @define kOSBundleIsInterfaceKey - * @abstract A boolean value indicating whether the kext executable - * contains only symbol references. - */ -#define kOSBundleIsInterfaceKey "OSBundleIsInterface" - -/*! - * @define kOSBundleLibrariesKey - * @abstract A dictionary listing link dependencies for this kext. - * Keys are bundle identifiers, values are version strings. - */ -#define kOSBundleLibrariesKey "OSBundleLibraries" - -/*! - * @define kOSBundleRequiredKey - * @abstract A string indicating in which kinds of startup this kext - * may need to load during early startup (before - * @link //apple_ref/doc/man/8/kextd kextcache(8)@/link). - * @discussion - * The value is one of: - *
    - *
  • @link kOSBundleRequiredRoot "OSBundleRequiredRoot"@/link
  • - *
  • @link kOSBundleRequiredLocalRoot "OSBundleRequiredLocalRoot"@/link
  • - *
  • @link kOSBundleRequiredNetworkRoot "OSBundleRequiredNetworkRoot"@/link
  • - *
  • @link kOSBundleRequiredSafeBoot "OSBundleRequiredSafeBoot"@/link
  • - *
  • @link kOSBundleRequiredConsole "OSBundleRequiredConsole"@/link
  • - *
- * - * Use this property judiciously. - * Every kext that declares a value other than "OSBundleRequiredSafeBoot" - * increases startup time, as the booter must read it into memory, - * or startup kext caches must include it. - */ -#define kOSBundleRequiredKey "OSBundleRequired" - -/*! - * @define kOSBundleRequireExplicitLoadKey - * @abstract A boolean value indicating whether the kext requires an - * explicit kextload in order to start/match. - */ -#define kOSBundleRequireExplicitLoadKey "OSBundleRequireExplicitLoad" - -/*! - * @define kOSBundleAllowUserLoadKey - * @abstract A boolean value indicating whether - * @link //apple_ref/doc/man/8/kextd kextcache(8)@/link - * will honor a non-root process's request to load a kext. - * @discussion - * See @link //apple_ref/doc/compositePage/c/func/KextManagerLoadKextWithURL - * KextManagerLoadKextWithURL@/link - * and @link //apple_ref/doc/compositePage/c/func/KextManagerLoadKextWithIdentifier - * KextManagerLoadKextWithIdentifier@/link. - */ -#define kOSBundleAllowUserLoadKey "OSBundleAllowUserLoad" - -/*! - * @define kOSBundleAllowUserTerminateKey - * @abstract A boolean value indicating whether the kextunload tool - * is allowed to issue IOService terminate to classes defined in this kext. - * @discussion A boolean value indicating whether the kextunload tool - * is allowed to issue IOService terminate to classes defined in this kext. - */ -#define kOSBundleAllowUserTerminateKey "OSBundleAllowUserTerminate" - -/*! - * @define kOSKernelResourceKey - * @abstract A boolean value indicating whether the kext represents a built-in - * component of the kernel. - */ -#define kOSKernelResourceKey "OSKernelResource" - -/*! - * @define kOSKextVariantOverrideKey - * @abstract A dictionary with target names as key and a target-specific variant - * name as value. - */ -#define kOSKextVariantOverrideKey "OSKextVariantOverride" - -/*! - * @define kIOKitPersonalitiesKey - * @abstract A dictionary of dictionaries used in matching for I/O Kit drivers. - */ -#define kIOKitPersonalitiesKey "IOKitPersonalities" - -/* - * @define kIOPersonalityPublisherKey - * @abstract Used in personalities sent to the I/O Kit, - * contains the CFBundleIdentifier of the kext - * that the personality originated in. - */ -#define kIOPersonalityPublisherKey "IOPersonalityPublisher" - -#if CONFIG_KEC_FIPS -/* - * @define kAppleTextHashesKey - * @abstract A dictionary conataining hashes for corecrypto kext. - */ -#define kAppleTextHashesKey "AppleTextHashes" -#endif - -/*! - * @define kOSMutableSegmentCopy - * @abstract A boolean value indicating whether the kext requires a copy of - * its mutable segments to be kept in memory, and then reset when the kext - * unloads. This should be used with caution as it will increase the - * amount of memory used by the kext. - */ -#define kOSMutableSegmentCopy "OSMutableSegmentCopy" - - -#if PRAGMA_MARK -/********************************************************************/ -#pragma mark Kext/OSBundle Property Deprecated Keys -/********************************************************************/ -#endif -/* - * @define kOSBundleDebugLevelKey - * @abstract - * Deprecated (used on some releases of Mac OS X prior to 10.6 Snow Leopard). - * Value is an integer from 1-6, corresponding to the verbose levels - * of kext tools on those releases. - * On 10.6 Snow Leopard, use @link OSKextEnableKextLogging - * OSKextEnableKextLogging@/link. - */ -#define kOSBundleDebugLevelKey "OSBundleDebugLevel" - -/*! - * @define kOSBundleSharedExecutableIdentifierKey - * @abstract Deprecated (used on some releases of Mac OS X - * prior to 10.6 Snow Leopard). - * Value is the bundle identifier of the pseudokext - * that contains an executable shared by this kext. - */ -#define kOSBundleSharedExecutableIdentifierKey "OSBundleSharedExecutableIdentifier" - - -#if PRAGMA_MARK -/********************************************************************/ -#pragma mark Kext/OSBundle Property List Values -/********************************************************************/ -#endif - -/*! - * @group Kext Property List Values - * These constants encompass established values - * for kernel extension bundle properties. - */ - -/*! - * @define kOSKextKernelIdentifier - * @abstract - * This is the CFBundleIdentifier user for the kernel itself. - */ -#define kOSKextKernelIdentifier "__kernel__" - -/*! - * @define kOSKextBundlePackageTypeKext - * @abstract - * The bundle type value for Kernel Extensions. - */ -#define kOSKextBundlePackageTypeKext "KEXT" - -/*! - * @define kOSKextBundlePackageTypeDriverKit - * @abstract - * The bundle type value for Driver Extensions. - */ -#define kOSKextBundlePackageTypeDriverKit "DEXT" - -/*! - * @define kOSBundleRequiredRoot - * @abstract - * This @link kOSBundleRequiredKey OSBundleRequired@/link - * value indicates that the kext may be needed to mount the root filesystem - * whether starting from a local or a network volume. - */ -#define kOSBundleRequiredRoot "Root" - -/*! - * @define kOSBundleRequiredLocalRoot - * @abstract - * This @link kOSBundleRequiredKey OSBundleRequired@/link - * value indicates that the kext may be needed to mount the root filesystem - * when starting from a local disk. - */ -#define kOSBundleRequiredLocalRoot "Local-Root" - -/*! - * @define kOSBundleRequiredNetworkRoot - * @abstract - * This @link kOSBundleRequiredKey OSBundleRequired@/link - * value indicates that the kext may be needed to mount the root filesystem - * when starting over a network connection. - */ -#define kOSBundleRequiredNetworkRoot "Network-Root" - -/*! - * @define kOSBundleRequiredSafeBoot - * @abstract - * This @link kOSBundleRequiredKey OSBundleRequired@/link - * value indicates that the kext can be loaded during a safe startup. - * This value does not normally cause the kext to be read by the booter - * or included in startup kext caches. - */ -#define kOSBundleRequiredSafeBoot "Safe Boot" - -/*! - * @define kOSBundleRequiredConsole - * @abstract - * This @link kOSBundleRequiredKey OSBundleRequired@/link - * value indicates that the kext may be needed for console access - * (specifically in a single-user startup when - * @link //apple_ref/doc/man/8/kextd kextd(8)@/link. - * does not run) - * and should be loaded during early startup. - */ -#define kOSBundleRequiredConsole "Console" - -/*! - * @define kOSBundleRequiredDriverKit - * @abstract - * This @link kOSBundleRequiredKey OSBundleRequired@/link - * value indicates that the driver extension's (DriverKit driver's) - * personalities must be present in the kernel at early boot (specifically - * before @link //apple_ref/doc/man/8/kextd kextd(8)@/link starts) - * in order to compete with kexts built into the prelinkedkernel. Note that - * kextd is still required to launch the user space driver binary. The IOKit - * matching will happen during early boot, and the actual driver launch - * will happen after kextd starts. - */ -#define kOSBundleRequiredDriverKit "DriverKit" - -#if PRAGMA_MARK -#pragma mark - -/********************************************************************/ -#pragma mark Kext Information -/********************************************************************/ -#endif -/*! - * @group Kext Information - * Types, constants, and macros providing a kext with information - * about itself. - */ - -/*! - * @typedef OSKextLoadTag - * - * @abstract - * A unique identifier assigned to a loaded instanace of a kext. - * - * @discussion - * If a kext is unloaded and later reloaded, the new instance - * has a different load tag. - * - * A kext can get its own load tag in the kmod_info_t - * structure passed into its module start routine, as the - * id field (cast to this type). - */ -typedef uint32_t OSKextLoadTag; - -/*! - * @define kOSKextInvalidLoadTag - * - * @abstract - * A load tag value that will never be used for a loaded kext; - * indicates kext not found. - */ -#define kOSKextInvalidLoadTag ((OSKextLoadTag)(-1)) - - -__END_DECLS - -#endif /* _LIBKERN_OSKEXTLIB_H */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.12-any/libproc.h b/lib/libc/include/any-macos.12-any/libproc.h deleted file mode 100644 index f84f8a1fca..0000000000 --- a/lib/libc/include/any-macos.12-any/libproc.h +++ /dev/null @@ -1,172 +0,0 @@ -/* - * Copyright (c) 2006, 2007, 2010 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 _LIBPROC_H_ -#define _LIBPROC_H_ - -#include -#include -#include -#include -#include -#include -#include -#include -#include /* for audit_token_t */ - -#include - -#include -#include - -/* - * This header file contains private interfaces to obtain process information. - * These interfaces are subject to change in future releases. - */ - -/*! - * @define PROC_LISTPIDSPATH_PATH_IS_VOLUME - * @discussion This flag indicates that all processes that hold open - * file references on the volume associated with the specified - * path should be returned. - */ -#define PROC_LISTPIDSPATH_PATH_IS_VOLUME 1 - - -/*! - * @define PROC_LISTPIDSPATH_EXCLUDE_EVTONLY - * @discussion This flag indicates that file references that were opened - * with the O_EVTONLY flag should be excluded from the matching - * criteria. - */ -#define PROC_LISTPIDSPATH_EXCLUDE_EVTONLY 2 - -__BEGIN_DECLS - - -/*! - * @function proc_listpidspath - * @discussion A function which will search through the current - * processes looking for open file references which match - * a specified path or volume. - * @param type types of processes to be searched (see proc_listpids) - * @param typeinfo adjunct information for type - * @param path file or volume path - * @param pathflags flags to control which files should be considered - * during the process search. - * @param buffer a C array of int-sized values to be filled with - * process identifiers that hold an open file reference - * matching the specified path or volume. Pass NULL to - * obtain the minimum buffer size needed to hold the - * currently active processes. - * @param buffersize the size (in bytes) of the provided buffer. - * @result the number of bytes of data returned in the provided buffer; - * -1 if an error was encountered; - */ -int proc_listpidspath(uint32_t type, - uint32_t typeinfo, - const char *path, - uint32_t pathflags, - void *buffer, - int buffersize) __OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_2_0); - -int proc_listpids(uint32_t type, uint32_t typeinfo, void *buffer, int buffersize) __OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_2_0); -int proc_listallpids(void * buffer, int buffersize) __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_4_1); -int proc_listpgrppids(pid_t pgrpid, void * buffer, int buffersize) __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_4_1); -int proc_listchildpids(pid_t ppid, void * buffer, int buffersize) __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_4_1); -int proc_pidinfo(int pid, int flavor, uint64_t arg, void *buffer, int buffersize) __OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_2_0); -int proc_pidfdinfo(int pid, int fd, int flavor, void * buffer, int buffersize) __OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_2_0); -int proc_pidfileportinfo(int pid, uint32_t fileport, int flavor, void *buffer, int buffersize) __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_4_3); -int proc_name(int pid, void * buffer, uint32_t buffersize) __OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_2_0); -int proc_regionfilename(int pid, uint64_t address, void * buffer, uint32_t buffersize) __OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_2_0); -int proc_kmsgbuf(void * buffer, uint32_t buffersize) __OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_2_0); -int proc_pidpath(int pid, void * buffer, uint32_t buffersize) __OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_2_0); -int proc_pidpath_audittoken(audit_token_t *audittoken, void * buffer, uint32_t buffersize) API_AVAILABLE(macos(11.0), ios(14.0), watchos(7.0), tvos(14.0)); -int proc_libversion(int *major, int * minor) __OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_2_0); - -/* - * Return resource usage information for the given pid, which can be a live process or a zombie. - * - * Returns 0 on success; or -1 on failure, with errno set to indicate the specific error. - */ -int proc_pid_rusage(int pid, int flavor, rusage_info_t *buffer) __OSX_AVAILABLE_STARTING(__MAC_10_9, __IPHONE_7_0); - -/* - * A process can use the following api to set its own process control - * state on resoure starvation. The argument can have one of the PROC_SETPC_XX values - */ -#define PROC_SETPC_NONE 0 -#define PROC_SETPC_THROTTLEMEM 1 -#define PROC_SETPC_SUSPEND 2 -#define PROC_SETPC_TERMINATE 3 - -int proc_setpcontrol(const int control) __OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_3_2); -int proc_setpcontrol(const int control); - -int proc_track_dirty(pid_t pid, uint32_t flags); -int proc_set_dirty(pid_t pid, bool dirty); -int proc_get_dirty(pid_t pid, uint32_t *flags); -int proc_clear_dirty(pid_t pid, uint32_t flags); - -int proc_terminate(pid_t pid, int *sig); - -/* - * NO_SMT means that on an SMT CPU, this thread must be scheduled alone, - * with the paired CPU idle. - * - * Set NO_SMT on the current proc (all existing and future threads) - * This attribute is inherited on fork and exec - */ -int proc_set_no_smt(void) __API_AVAILABLE(macos(11.0)); - -/* Set NO_SMT on the current thread */ -int proc_setthread_no_smt(void) __API_AVAILABLE(macos(11.0)); - -/* - * CPU Security Mitigation APIs - * - * Set CPU security mitigation on the current proc (all existing and future threads) - * This attribute is inherited on fork and exec - */ -int proc_set_csm(uint32_t flags) __API_AVAILABLE(macos(11.0)); - -/* Set CPU security mitigation on the current thread */ -int proc_setthread_csm(uint32_t flags) __API_AVAILABLE(macos(11.0)); - -/* - * flags for CPU Security Mitigation APIs - * PROC_CSM_ALL should be used in most cases, - * the individual flags are provided only for performance evaluation etc - */ -#define PROC_CSM_ALL 0x0001 /* Set all available mitigations */ -#define PROC_CSM_NOSMT 0x0002 /* Set NO_SMT - see above */ -#define PROC_CSM_TECS 0x0004 /* Execute VERW on every return to user mode */ - -int proc_udata_info(int pid, int flavor, void *buffer, int buffersize); - -#if __has_include() -#include -#endif - -__END_DECLS - -#endif /*_LIBPROC_H_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.12-any/mach-o/loader.h b/lib/libc/include/any-macos.12-any/mach-o/loader.h deleted file mode 100644 index 33f16fe5ea..0000000000 --- a/lib/libc/include/any-macos.12-any/mach-o/loader.h +++ /dev/null @@ -1,1615 +0,0 @@ -/* - * Copyright (c) 1999-2010 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 _MACHO_LOADER_H_ -#define _MACHO_LOADER_H_ - -/* - * This file describes the format of mach object files. - */ -#include - -/* - * is needed here for the cpu_type_t and cpu_subtype_t types - * and contains the constants for the possible values of these types. - */ -#include - -/* - * is needed here for the vm_prot_t type and contains the - * constants that are or'ed together for the possible values of this type. - */ -#include - -/* - * is expected to define the flavors of the thread - * states and the structures of those flavors for each machine. - */ -#include -#include - -/* - * The 32-bit mach header appears at the very beginning of the object file for - * 32-bit architectures. - */ -struct mach_header { - uint32_t magic; /* mach magic number identifier */ - cpu_type_t cputype; /* cpu specifier */ - cpu_subtype_t cpusubtype; /* machine specifier */ - uint32_t filetype; /* type of file */ - uint32_t ncmds; /* number of load commands */ - uint32_t sizeofcmds; /* the size of all the load commands */ - uint32_t flags; /* flags */ -}; - -/* Constant for the magic field of the mach_header (32-bit architectures) */ -#define MH_MAGIC 0xfeedface /* the mach magic number */ -#define MH_CIGAM 0xcefaedfe /* NXSwapInt(MH_MAGIC) */ - -/* - * The 64-bit mach header appears at the very beginning of object files for - * 64-bit architectures. - */ -struct mach_header_64 { - uint32_t magic; /* mach magic number identifier */ - cpu_type_t cputype; /* cpu specifier */ - cpu_subtype_t cpusubtype; /* machine specifier */ - uint32_t filetype; /* type of file */ - uint32_t ncmds; /* number of load commands */ - uint32_t sizeofcmds; /* the size of all the load commands */ - uint32_t flags; /* flags */ - uint32_t reserved; /* reserved */ -}; - -/* Constant for the magic field of the mach_header_64 (64-bit architectures) */ -#define MH_MAGIC_64 0xfeedfacf /* the 64-bit mach magic number */ -#define MH_CIGAM_64 0xcffaedfe /* NXSwapInt(MH_MAGIC_64) */ - -/* - * The layout of the file depends on the filetype. For all but the MH_OBJECT - * file type the segments are padded out and aligned on a segment alignment - * boundary for efficient demand pageing. The MH_EXECUTE, MH_FVMLIB, MH_DYLIB, - * MH_DYLINKER and MH_BUNDLE file types also have the headers included as part - * of their first segment. - * - * The file type MH_OBJECT is a compact format intended as output of the - * assembler and input (and possibly output) of the link editor (the .o - * format). All sections are in one unnamed segment with no segment padding. - * This format is used as an executable format when the file is so small the - * segment padding greatly increases its size. - * - * The file type MH_PRELOAD is an executable format intended for things that - * are not executed under the kernel (proms, stand alones, kernels, etc). The - * format can be executed under the kernel but may demand paged it and not - * preload it before execution. - * - * A core file is in MH_CORE format and can be any in an arbritray legal - * Mach-O file. - * - * Constants for the filetype field of the mach_header - */ -#define MH_OBJECT 0x1 /* relocatable object file */ -#define MH_EXECUTE 0x2 /* demand paged executable file */ -#define MH_FVMLIB 0x3 /* fixed VM shared library file */ -#define MH_CORE 0x4 /* core file */ -#define MH_PRELOAD 0x5 /* preloaded executable file */ -#define MH_DYLIB 0x6 /* dynamically bound shared library */ -#define MH_DYLINKER 0x7 /* dynamic link editor */ -#define MH_BUNDLE 0x8 /* dynamically bound bundle file */ -#define MH_DYLIB_STUB 0x9 /* shared library stub for static - linking only, no section contents */ -#define MH_DSYM 0xa /* companion file with only debug - sections */ -#define MH_KEXT_BUNDLE 0xb /* x86_64 kexts */ -#define MH_FILESET 0xc /* a file composed of other Mach-Os to - be run in the same userspace sharing - a single linkedit. */ - -/* Constants for the flags field of the mach_header */ -#define MH_NOUNDEFS 0x1 /* the object file has no undefined - references */ -#define MH_INCRLINK 0x2 /* the object file is the output of an - incremental link against a base file - and can't be link edited again */ -#define MH_DYLDLINK 0x4 /* the object file is input for the - dynamic linker and can't be staticly - link edited again */ -#define MH_BINDATLOAD 0x8 /* the object file's undefined - references are bound by the dynamic - linker when loaded. */ -#define MH_PREBOUND 0x10 /* the file has its dynamic undefined - references prebound. */ -#define MH_SPLIT_SEGS 0x20 /* the file has its read-only and - read-write segments split */ -#define MH_LAZY_INIT 0x40 /* the shared library init routine is - to be run lazily via catching memory - faults to its writeable segments - (obsolete) */ -#define MH_TWOLEVEL 0x80 /* the image is using two-level name - space bindings */ -#define MH_FORCE_FLAT 0x100 /* the executable is forcing all images - to use flat name space bindings */ -#define MH_NOMULTIDEFS 0x200 /* this umbrella guarantees no multiple - defintions of symbols in its - sub-images so the two-level namespace - hints can always be used. */ -#define MH_NOFIXPREBINDING 0x400 /* do not have dyld notify the - prebinding agent about this - executable */ -#define MH_PREBINDABLE 0x800 /* the binary is not prebound but can - have its prebinding redone. only used - when MH_PREBOUND is not set. */ -#define MH_ALLMODSBOUND 0x1000 /* indicates that this binary binds to - all two-level namespace modules of - its dependent libraries. only used - when MH_PREBINDABLE and MH_TWOLEVEL - are both set. */ -#define MH_SUBSECTIONS_VIA_SYMBOLS 0x2000/* safe to divide up the sections into - sub-sections via symbols for dead - code stripping */ -#define MH_CANONICAL 0x4000 /* the binary has been canonicalized - via the unprebind operation */ -#define MH_WEAK_DEFINES 0x8000 /* the final linked image contains - external weak symbols */ -#define MH_BINDS_TO_WEAK 0x10000 /* the final linked image uses - weak symbols */ - -#define MH_ALLOW_STACK_EXECUTION 0x20000/* When this bit is set, all stacks - in the task will be given stack - execution privilege. Only used in - MH_EXECUTE filetypes. */ -#define MH_ROOT_SAFE 0x40000 /* When this bit is set, the binary - declares it is safe for use in - processes with uid zero */ - -#define MH_SETUID_SAFE 0x80000 /* When this bit is set, the binary - declares it is safe for use in - processes when issetugid() is true */ - -#define MH_NO_REEXPORTED_DYLIBS 0x100000 /* When this bit is set on a dylib, - the static linker does not need to - examine dependent dylibs to see - if any are re-exported */ -#define MH_PIE 0x200000 /* When this bit is set, the OS will - load the main executable at a - random address. Only used in - MH_EXECUTE filetypes. */ -#define MH_DEAD_STRIPPABLE_DYLIB 0x400000 /* Only for use on dylibs. When - linking against a dylib that - has this bit set, the static linker - will automatically not create a - LC_LOAD_DYLIB load command to the - dylib if no symbols are being - referenced from the dylib. */ -#define MH_HAS_TLV_DESCRIPTORS 0x800000 /* Contains a section of type - S_THREAD_LOCAL_VARIABLES */ - -#define MH_NO_HEAP_EXECUTION 0x1000000 /* When this bit is set, the OS will - run the main executable with - a non-executable heap even on - platforms (e.g. i386) that don't - require it. Only used in MH_EXECUTE - filetypes. */ - -#define MH_APP_EXTENSION_SAFE 0x02000000 /* The code was linked for use in an - application extension. */ - -#define MH_NLIST_OUTOFSYNC_WITH_DYLDINFO 0x04000000 /* The external symbols - listed in the nlist symbol table do - not include all the symbols listed in - the dyld info. */ - -#define MH_SIM_SUPPORT 0x08000000 /* Allow LC_MIN_VERSION_MACOS and - LC_BUILD_VERSION load commands with - the platforms macOS, macCatalyst, - iOSSimulator, tvOSSimulator and - watchOSSimulator. */ - -#define MH_DYLIB_IN_CACHE 0x80000000 /* Only for use on dylibs. When this bit - is set, the dylib is part of the dyld - shared cache, rather than loose in - the filesystem. */ - -/* - * The load commands directly follow the mach_header. The total size of all - * of the commands is given by the sizeofcmds field in the mach_header. All - * load commands must have as their first two fields cmd and cmdsize. The cmd - * field is filled in with a constant for that command type. Each command type - * has a structure specifically for it. The cmdsize field is the size in bytes - * of the particular load command structure plus anything that follows it that - * is a part of the load command (i.e. section structures, strings, etc.). To - * advance to the next load command the cmdsize can be added to the offset or - * pointer of the current load command. The cmdsize for 32-bit architectures - * MUST be a multiple of 4 bytes and for 64-bit architectures MUST be a multiple - * of 8 bytes (these are forever the maximum alignment of any load commands). - * The padded bytes must be zero. All tables in the object file must also - * follow these rules so the file can be memory mapped. Otherwise the pointers - * to these tables will not work well or at all on some machines. With all - * padding zeroed like objects will compare byte for byte. - */ -struct load_command { - uint32_t cmd; /* type of load command */ - uint32_t cmdsize; /* total size of command in bytes */ -}; - -/* - * After MacOS X 10.1 when a new load command is added that is required to be - * understood by the dynamic linker for the image to execute properly the - * LC_REQ_DYLD bit will be or'ed into the load command constant. If the dynamic - * linker sees such a load command it it does not understand will issue a - * "unknown load command required for execution" error and refuse to use the - * image. Other load commands without this bit that are not understood will - * simply be ignored. - */ -#define LC_REQ_DYLD 0x80000000 - -/* Constants for the cmd field of all load commands, the type */ -#define LC_SEGMENT 0x1 /* segment of this file to be mapped */ -#define LC_SYMTAB 0x2 /* link-edit stab symbol table info */ -#define LC_SYMSEG 0x3 /* link-edit gdb symbol table info (obsolete) */ -#define LC_THREAD 0x4 /* thread */ -#define LC_UNIXTHREAD 0x5 /* unix thread (includes a stack) */ -#define LC_LOADFVMLIB 0x6 /* load a specified fixed VM shared library */ -#define LC_IDFVMLIB 0x7 /* fixed VM shared library identification */ -#define LC_IDENT 0x8 /* object identification info (obsolete) */ -#define LC_FVMFILE 0x9 /* fixed VM file inclusion (internal use) */ -#define LC_PREPAGE 0xa /* prepage command (internal use) */ -#define LC_DYSYMTAB 0xb /* dynamic link-edit symbol table info */ -#define LC_LOAD_DYLIB 0xc /* load a dynamically linked shared library */ -#define LC_ID_DYLIB 0xd /* dynamically linked shared lib ident */ -#define LC_LOAD_DYLINKER 0xe /* load a dynamic linker */ -#define LC_ID_DYLINKER 0xf /* dynamic linker identification */ -#define LC_PREBOUND_DYLIB 0x10 /* modules prebound for a dynamically */ - /* linked shared library */ -#define LC_ROUTINES 0x11 /* image routines */ -#define LC_SUB_FRAMEWORK 0x12 /* sub framework */ -#define LC_SUB_UMBRELLA 0x13 /* sub umbrella */ -#define LC_SUB_CLIENT 0x14 /* sub client */ -#define LC_SUB_LIBRARY 0x15 /* sub library */ -#define LC_TWOLEVEL_HINTS 0x16 /* two-level namespace lookup hints */ -#define LC_PREBIND_CKSUM 0x17 /* prebind checksum */ - -/* - * load a dynamically linked shared library that is allowed to be missing - * (all symbols are weak imported). - */ -#define LC_LOAD_WEAK_DYLIB (0x18 | LC_REQ_DYLD) - -#define LC_SEGMENT_64 0x19 /* 64-bit segment of this file to be - mapped */ -#define LC_ROUTINES_64 0x1a /* 64-bit image routines */ -#define LC_UUID 0x1b /* the uuid */ -#define LC_RPATH (0x1c | LC_REQ_DYLD) /* runpath additions */ -#define LC_CODE_SIGNATURE 0x1d /* local of code signature */ -#define LC_SEGMENT_SPLIT_INFO 0x1e /* local of info to split segments */ -#define LC_REEXPORT_DYLIB (0x1f | LC_REQ_DYLD) /* load and re-export dylib */ -#define LC_LAZY_LOAD_DYLIB 0x20 /* delay load of dylib until first use */ -#define LC_ENCRYPTION_INFO 0x21 /* encrypted segment information */ -#define LC_DYLD_INFO 0x22 /* compressed dyld information */ -#define LC_DYLD_INFO_ONLY (0x22|LC_REQ_DYLD) /* compressed dyld information only */ -#define LC_LOAD_UPWARD_DYLIB (0x23 | LC_REQ_DYLD) /* load upward dylib */ -#define LC_VERSION_MIN_MACOSX 0x24 /* build for MacOSX min OS version */ -#define LC_VERSION_MIN_IPHONEOS 0x25 /* build for iPhoneOS min OS version */ -#define LC_FUNCTION_STARTS 0x26 /* compressed table of function start addresses */ -#define LC_DYLD_ENVIRONMENT 0x27 /* string for dyld to treat - like environment variable */ -#define LC_MAIN (0x28|LC_REQ_DYLD) /* replacement for LC_UNIXTHREAD */ -#define LC_DATA_IN_CODE 0x29 /* table of non-instructions in __text */ -#define LC_SOURCE_VERSION 0x2A /* source version used to build binary */ -#define LC_DYLIB_CODE_SIGN_DRS 0x2B /* Code signing DRs copied from linked dylibs */ -#define LC_ENCRYPTION_INFO_64 0x2C /* 64-bit encrypted segment information */ -#define LC_LINKER_OPTION 0x2D /* linker options in MH_OBJECT files */ -#define LC_LINKER_OPTIMIZATION_HINT 0x2E /* optimization hints in MH_OBJECT files */ -#define LC_VERSION_MIN_TVOS 0x2F /* build for AppleTV min OS version */ -#define LC_VERSION_MIN_WATCHOS 0x30 /* build for Watch min OS version */ -#define LC_NOTE 0x31 /* arbitrary data included within a Mach-O file */ -#define LC_BUILD_VERSION 0x32 /* build for platform min OS version */ -#define LC_DYLD_EXPORTS_TRIE (0x33 | LC_REQ_DYLD) /* used with linkedit_data_command, payload is trie */ -#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 */ - -/* - * A variable length string in a load command is represented by an lc_str - * union. The strings are stored just after the load command structure and - * the offset is from the start of the load command structure. The size - * of the string is reflected in the cmdsize field of the load command. - * Once again any padded bytes to bring the cmdsize field to a multiple - * of 4 bytes must be zero. - */ -union lc_str { - uint32_t offset; /* offset to the string */ -#ifndef __LP64__ - char *ptr; /* pointer to the string */ -#endif -}; - -/* - * The segment load command indicates that a part of this file is to be - * mapped into the task's address space. The size of this segment in memory, - * vmsize, maybe equal to or larger than the amount to map from this file, - * filesize. The file is mapped starting at fileoff to the beginning of - * the segment in memory, vmaddr. The rest of the memory of the segment, - * if any, is allocated zero fill on demand. The segment's maximum virtual - * memory protection and initial virtual memory protection are specified - * by the maxprot and initprot fields. If the segment has sections then the - * section structures directly follow the segment command and their size is - * reflected in cmdsize. - */ -struct segment_command { /* for 32-bit architectures */ - uint32_t cmd; /* LC_SEGMENT */ - uint32_t cmdsize; /* includes sizeof section structs */ - char segname[16]; /* segment name */ - uint32_t vmaddr; /* memory address of this segment */ - uint32_t vmsize; /* memory size of this segment */ - uint32_t fileoff; /* file offset of this segment */ - uint32_t filesize; /* amount to map from the file */ - vm_prot_t maxprot; /* maximum VM protection */ - vm_prot_t initprot; /* initial VM protection */ - uint32_t nsects; /* number of sections in segment */ - uint32_t flags; /* flags */ -}; - -/* - * The 64-bit segment load command indicates that a part of this file is to be - * mapped into a 64-bit task's address space. If the 64-bit segment has - * sections then section_64 structures directly follow the 64-bit segment - * command and their size is reflected in cmdsize. - */ -struct segment_command_64 { /* for 64-bit architectures */ - uint32_t cmd; /* LC_SEGMENT_64 */ - uint32_t cmdsize; /* includes sizeof section_64 structs */ - char segname[16]; /* segment name */ - uint64_t vmaddr; /* memory address of this segment */ - uint64_t vmsize; /* memory size of this segment */ - uint64_t fileoff; /* file offset of this segment */ - uint64_t filesize; /* amount to map from the file */ - vm_prot_t maxprot; /* maximum VM protection */ - vm_prot_t initprot; /* initial VM protection */ - uint32_t nsects; /* number of sections in segment */ - uint32_t flags; /* flags */ -}; - -/* Constants for the flags field of the segment_command */ -#define SG_HIGHVM 0x1 /* the file contents for this segment is for - the high part of the VM space, the low part - is zero filled (for stacks in core files) */ -#define SG_FVMLIB 0x2 /* this segment is the VM that is allocated by - a fixed VM library, for overlap checking in - the link editor */ -#define SG_NORELOC 0x4 /* this segment has nothing that was relocated - in it and nothing relocated to it, that is - it maybe safely replaced without relocation*/ -#define SG_PROTECTED_VERSION_1 0x8 /* This segment is protected. If the - segment starts at file offset 0, the - first page of the segment is not - protected. All other pages of the - segment are protected. */ -#define SG_READ_ONLY 0x10 /* This segment is made read-only after fixups */ - - - -/* - * A segment is made up of zero or more sections. Non-MH_OBJECT files have - * all of their segments with the proper sections in each, and padded to the - * specified segment alignment when produced by the link editor. The first - * segment of a MH_EXECUTE and MH_FVMLIB format file contains the mach_header - * and load commands of the object file before its first section. The zero - * fill sections are always last in their segment (in all formats). This - * allows the zeroed segment padding to be mapped into memory where zero fill - * sections might be. The gigabyte zero fill sections, those with the section - * type S_GB_ZEROFILL, can only be in a segment with sections of this type. - * These segments are then placed after all other segments. - * - * The MH_OBJECT format has all of its sections in one segment for - * compactness. There is no padding to a specified segment boundary and the - * mach_header and load commands are not part of the segment. - * - * Sections with the same section name, sectname, going into the same segment, - * segname, are combined by the link editor. The resulting section is aligned - * to the maximum alignment of the combined sections and is the new section's - * alignment. The combined sections are aligned to their original alignment in - * the combined section. Any padded bytes to get the specified alignment are - * zeroed. - * - * The format of the relocation entries referenced by the reloff and nreloc - * fields of the section structure for mach object files is described in the - * header file . - */ -struct section { /* for 32-bit architectures */ - char sectname[16]; /* name of this section */ - char segname[16]; /* segment this section goes in */ - uint32_t addr; /* memory address of this section */ - uint32_t size; /* size in bytes of this section */ - uint32_t offset; /* file offset of this section */ - uint32_t align; /* section alignment (power of 2) */ - uint32_t reloff; /* file offset of relocation entries */ - uint32_t nreloc; /* number of relocation entries */ - uint32_t flags; /* flags (section type and attributes)*/ - uint32_t reserved1; /* reserved (for offset or index) */ - uint32_t reserved2; /* reserved (for count or sizeof) */ -}; - -struct section_64 { /* for 64-bit architectures */ - char sectname[16]; /* name of this section */ - char segname[16]; /* segment this section goes in */ - uint64_t addr; /* memory address of this section */ - uint64_t size; /* size in bytes of this section */ - uint32_t offset; /* file offset of this section */ - uint32_t align; /* section alignment (power of 2) */ - uint32_t reloff; /* file offset of relocation entries */ - uint32_t nreloc; /* number of relocation entries */ - uint32_t flags; /* flags (section type and attributes)*/ - uint32_t reserved1; /* reserved (for offset or index) */ - uint32_t reserved2; /* reserved (for count or sizeof) */ - uint32_t reserved3; /* reserved */ -}; - -/* - * The flags field of a section structure is separated into two parts a section - * type and section attributes. The section types are mutually exclusive (it - * can only have one type) but the section attributes are not (it may have more - * than one attribute). - */ -#define SECTION_TYPE 0x000000ff /* 256 section types */ -#define SECTION_ATTRIBUTES 0xffffff00 /* 24 section attributes */ - -/* Constants for the type of a section */ -#define S_REGULAR 0x0 /* regular section */ -#define S_ZEROFILL 0x1 /* zero fill on demand section */ -#define S_CSTRING_LITERALS 0x2 /* section with only literal C strings*/ -#define S_4BYTE_LITERALS 0x3 /* section with only 4 byte literals */ -#define S_8BYTE_LITERALS 0x4 /* section with only 8 byte literals */ -#define S_LITERAL_POINTERS 0x5 /* section with only pointers to */ - /* literals */ -/* - * For the two types of symbol pointers sections and the symbol stubs section - * they have indirect symbol table entries. For each of the entries in the - * section the indirect symbol table entries, in corresponding order in the - * indirect symbol table, start at the index stored in the reserved1 field - * of the section structure. Since the indirect symbol table entries - * correspond to the entries in the section the number of indirect symbol table - * entries is inferred from the size of the section divided by the size of the - * entries in the section. For symbol pointers sections the size of the entries - * in the section is 4 bytes and for symbol stubs sections the byte size of the - * stubs is stored in the reserved2 field of the section structure. - */ -#define S_NON_LAZY_SYMBOL_POINTERS 0x6 /* section with only non-lazy - symbol pointers */ -#define S_LAZY_SYMBOL_POINTERS 0x7 /* section with only lazy symbol - pointers */ -#define S_SYMBOL_STUBS 0x8 /* section with only symbol - stubs, byte size of stub in - the reserved2 field */ -#define S_MOD_INIT_FUNC_POINTERS 0x9 /* section with only function - pointers for initialization*/ -#define S_MOD_TERM_FUNC_POINTERS 0xa /* section with only function - pointers for termination */ -#define S_COALESCED 0xb /* section contains symbols that - are to be coalesced */ -#define S_GB_ZEROFILL 0xc /* zero fill on demand section - (that can be larger than 4 - gigabytes) */ -#define S_INTERPOSING 0xd /* section with only pairs of - function pointers for - interposing */ -#define S_16BYTE_LITERALS 0xe /* section with only 16 byte - literals */ -#define S_DTRACE_DOF 0xf /* section contains - DTrace Object Format */ -#define S_LAZY_DYLIB_SYMBOL_POINTERS 0x10 /* section with only lazy - symbol pointers to lazy - loaded dylibs */ -/* - * Section types to support thread local variables - */ -#define S_THREAD_LOCAL_REGULAR 0x11 /* template of initial - values for TLVs */ -#define S_THREAD_LOCAL_ZEROFILL 0x12 /* template of initial - values for TLVs */ -#define S_THREAD_LOCAL_VARIABLES 0x13 /* TLV descriptors */ -#define S_THREAD_LOCAL_VARIABLE_POINTERS 0x14 /* pointers to TLV - descriptors */ -#define S_THREAD_LOCAL_INIT_FUNCTION_POINTERS 0x15 /* functions to call - to initialize TLV - values */ -#define S_INIT_FUNC_OFFSETS 0x16 /* 32-bit offsets to - initializers */ - -/* - * Constants for the section attributes part of the flags field of a section - * structure. - */ -#define SECTION_ATTRIBUTES_USR 0xff000000 /* User setable attributes */ -#define S_ATTR_PURE_INSTRUCTIONS 0x80000000 /* section contains only true - machine instructions */ -#define S_ATTR_NO_TOC 0x40000000 /* section contains coalesced - symbols that are not to be - in a ranlib table of - contents */ -#define S_ATTR_STRIP_STATIC_SYMS 0x20000000 /* ok to strip static symbols - in this section in files - with the MH_DYLDLINK flag */ -#define S_ATTR_NO_DEAD_STRIP 0x10000000 /* no dead stripping */ -#define S_ATTR_LIVE_SUPPORT 0x08000000 /* blocks are live if they - reference live blocks */ -#define S_ATTR_SELF_MODIFYING_CODE 0x04000000 /* Used with i386 code stubs - written on by dyld */ -/* - * If a segment contains any sections marked with S_ATTR_DEBUG then all - * sections in that segment must have this attribute. No section other than - * a section marked with this attribute may reference the contents of this - * section. A section with this attribute may contain no symbols and must have - * a section type S_REGULAR. The static linker will not copy section contents - * from sections with this attribute into its output file. These sections - * generally contain DWARF debugging info. - */ -#define S_ATTR_DEBUG 0x02000000 /* a debug section */ -#define SECTION_ATTRIBUTES_SYS 0x00ffff00 /* system setable attributes */ -#define S_ATTR_SOME_INSTRUCTIONS 0x00000400 /* section contains some - machine instructions */ -#define S_ATTR_EXT_RELOC 0x00000200 /* section has external - relocation entries */ -#define S_ATTR_LOC_RELOC 0x00000100 /* section has local - relocation entries */ - - -/* - * The names of segments and sections in them are mostly meaningless to the - * link-editor. But there are few things to support traditional UNIX - * executables that require the link-editor and assembler to use some names - * agreed upon by convention. - * - * The initial protection of the "__TEXT" segment has write protection turned - * off (not writeable). - * - * The link-editor will allocate common symbols at the end of the "__common" - * section in the "__DATA" segment. It will create the section and segment - * if needed. - */ - -/* The currently known segment names and the section names in those segments */ - -#define SEG_PAGEZERO "__PAGEZERO" /* the pagezero segment which has no */ - /* protections and catches NULL */ - /* references for MH_EXECUTE files */ - - -#define SEG_TEXT "__TEXT" /* the tradition UNIX text segment */ -#define SECT_TEXT "__text" /* the real text part of the text */ - /* section no headers, and no padding */ -#define SECT_FVMLIB_INIT0 "__fvmlib_init0" /* the fvmlib initialization */ - /* section */ -#define SECT_FVMLIB_INIT1 "__fvmlib_init1" /* the section following the */ - /* fvmlib initialization */ - /* section */ - -#define SEG_DATA "__DATA" /* the tradition UNIX data segment */ -#define SECT_DATA "__data" /* the real initialized data section */ - /* no padding, no bss overlap */ -#define SECT_BSS "__bss" /* the real uninitialized data section*/ - /* no padding */ -#define SECT_COMMON "__common" /* the section common symbols are */ - /* allocated in by the link editor */ - -#define SEG_OBJC "__OBJC" /* objective-C runtime segment */ -#define SECT_OBJC_SYMBOLS "__symbol_table" /* symbol table */ -#define SECT_OBJC_MODULES "__module_info" /* module information */ -#define SECT_OBJC_STRINGS "__selector_strs" /* string table */ -#define SECT_OBJC_REFS "__selector_refs" /* string table */ - -#define SEG_ICON "__ICON" /* the icon segment */ -#define SECT_ICON_HEADER "__header" /* the icon headers */ -#define SECT_ICON_TIFF "__tiff" /* the icons in tiff format */ - -#define SEG_LINKEDIT "__LINKEDIT" /* the segment containing all structs */ - /* created and maintained by the link */ - /* editor. Created with -seglinkedit */ - /* option to ld(1) for MH_EXECUTE and */ - /* FVMLIB file types only */ - -#define SEG_UNIXSTACK "__UNIXSTACK" /* the unix stack segment */ - -#define SEG_IMPORT "__IMPORT" /* the segment for the self (dyld) */ - /* modifing code stubs that has read, */ - /* write and execute permissions */ - -/* - * Fixed virtual memory shared libraries are identified by two things. The - * target pathname (the name of the library as found for execution), and the - * minor version number. The address of where the headers are loaded is in - * header_addr. (THIS IS OBSOLETE and no longer supported). - */ -struct fvmlib { - union lc_str name; /* library's target pathname */ - uint32_t minor_version; /* library's minor version number */ - uint32_t header_addr; /* library's header address */ -}; - -/* - * A fixed virtual shared library (filetype == MH_FVMLIB in the mach header) - * contains a fvmlib_command (cmd == LC_IDFVMLIB) to identify the library. - * An object that uses a fixed virtual shared library also contains a - * fvmlib_command (cmd == LC_LOADFVMLIB) for each library it uses. - * (THIS IS OBSOLETE and no longer supported). - */ -struct fvmlib_command { - uint32_t cmd; /* LC_IDFVMLIB or LC_LOADFVMLIB */ - uint32_t cmdsize; /* includes pathname string */ - struct fvmlib fvmlib; /* the library identification */ -}; - -/* - * Dynamicly linked shared libraries are identified by two things. The - * pathname (the name of the library as found for execution), and the - * compatibility version number. The pathname must match and the compatibility - * number in the user of the library must be greater than or equal to the - * library being used. The time stamp is used to record the time a library was - * built and copied into user so it can be use to determined if the library used - * at runtime is exactly the same as used to built the program. - */ -struct dylib { - union lc_str name; /* library's path name */ - uint32_t timestamp; /* library's build time stamp */ - uint32_t current_version; /* library's current version number */ - uint32_t compatibility_version; /* library's compatibility vers number*/ -}; - -/* - * A dynamically linked shared library (filetype == MH_DYLIB in the mach header) - * contains a dylib_command (cmd == LC_ID_DYLIB) to identify the library. - * An object that uses a dynamically linked shared library also contains a - * dylib_command (cmd == LC_LOAD_DYLIB, LC_LOAD_WEAK_DYLIB, or - * LC_REEXPORT_DYLIB) for each library it uses. - */ -struct dylib_command { - uint32_t cmd; /* LC_ID_DYLIB, LC_LOAD_{,WEAK_}DYLIB, - LC_REEXPORT_DYLIB */ - uint32_t cmdsize; /* includes pathname string */ - struct dylib dylib; /* the library identification */ -}; - -/* - * A dynamically linked shared library may be a subframework of an umbrella - * framework. If so it will be linked with "-umbrella umbrella_name" where - * Where "umbrella_name" is the name of the umbrella framework. A subframework - * can only be linked against by its umbrella framework or other subframeworks - * that are part of the same umbrella framework. Otherwise the static link - * editor produces an error and states to link against the umbrella framework. - * The name of the umbrella framework for subframeworks is recorded in the - * following structure. - */ -struct sub_framework_command { - uint32_t cmd; /* LC_SUB_FRAMEWORK */ - uint32_t cmdsize; /* includes umbrella string */ - union lc_str umbrella; /* the umbrella framework name */ -}; - -/* - * For dynamically linked shared libraries that are subframework of an umbrella - * framework they can allow clients other than the umbrella framework or other - * subframeworks in the same umbrella framework. To do this the subframework - * is built with "-allowable_client client_name" and an LC_SUB_CLIENT load - * command is created for each -allowable_client flag. The client_name is - * usually a framework name. It can also be a name used for bundles clients - * where the bundle is built with "-client_name client_name". - */ -struct sub_client_command { - uint32_t cmd; /* LC_SUB_CLIENT */ - uint32_t cmdsize; /* includes client string */ - union lc_str client; /* the client name */ -}; - -/* - * A dynamically linked shared library may be a sub_umbrella of an umbrella - * framework. If so it will be linked with "-sub_umbrella umbrella_name" where - * Where "umbrella_name" is the name of the sub_umbrella framework. When - * staticly linking when -twolevel_namespace is in effect a twolevel namespace - * umbrella framework will only cause its subframeworks and those frameworks - * listed as sub_umbrella frameworks to be implicited linked in. Any other - * dependent dynamic libraries will not be linked it when -twolevel_namespace - * is in effect. The primary library recorded by the static linker when - * resolving a symbol in these libraries will be the umbrella framework. - * Zero or more sub_umbrella frameworks may be use by an umbrella framework. - * The name of a sub_umbrella framework is recorded in the following structure. - */ -struct sub_umbrella_command { - uint32_t cmd; /* LC_SUB_UMBRELLA */ - uint32_t cmdsize; /* includes sub_umbrella string */ - union lc_str sub_umbrella; /* the sub_umbrella framework name */ -}; - -/* - * A dynamically linked shared library may be a sub_library of another shared - * library. If so it will be linked with "-sub_library library_name" where - * Where "library_name" is the name of the sub_library shared library. When - * staticly linking when -twolevel_namespace is in effect a twolevel namespace - * shared library will only cause its subframeworks and those frameworks - * listed as sub_umbrella frameworks and libraries listed as sub_libraries to - * be implicited linked in. Any other dependent dynamic libraries will not be - * linked it when -twolevel_namespace is in effect. The primary library - * recorded by the static linker when resolving a symbol in these libraries - * will be the umbrella framework (or dynamic library). Zero or more sub_library - * shared libraries may be use by an umbrella framework or (or dynamic library). - * The name of a sub_library framework is recorded in the following structure. - * For example /usr/lib/libobjc_profile.A.dylib would be recorded as "libobjc". - */ -struct sub_library_command { - uint32_t cmd; /* LC_SUB_LIBRARY */ - uint32_t cmdsize; /* includes sub_library string */ - union lc_str sub_library; /* the sub_library name */ -}; - -/* - * A program (filetype == MH_EXECUTE) that is - * prebound to its dynamic libraries has one of these for each library that - * the static linker used in prebinding. It contains a bit vector for the - * modules in the library. The bits indicate which modules are bound (1) and - * which are not (0) from the library. The bit for module 0 is the low bit - * of the first byte. So the bit for the Nth module is: - * (linked_modules[N/8] >> N%8) & 1 - */ -struct prebound_dylib_command { - uint32_t cmd; /* LC_PREBOUND_DYLIB */ - uint32_t cmdsize; /* includes strings */ - union lc_str name; /* library's path name */ - uint32_t nmodules; /* number of modules in library */ - union lc_str linked_modules; /* bit vector of linked modules */ -}; - -/* - * A program that uses a dynamic linker contains a dylinker_command to identify - * the name of the dynamic linker (LC_LOAD_DYLINKER). And a dynamic linker - * contains a dylinker_command to identify the dynamic linker (LC_ID_DYLINKER). - * A file can have at most one of these. - * This struct is also used for the LC_DYLD_ENVIRONMENT load command and - * contains string for dyld to treat like environment variable. - */ -struct dylinker_command { - uint32_t cmd; /* LC_ID_DYLINKER, LC_LOAD_DYLINKER or - LC_DYLD_ENVIRONMENT */ - uint32_t cmdsize; /* includes pathname string */ - union lc_str name; /* dynamic linker's path name */ -}; - -/* - * Thread commands contain machine-specific data structures suitable for - * use in the thread state primitives. The machine specific data structures - * follow the struct thread_command as follows. - * Each flavor of machine specific data structure is preceded by an uint32_t - * constant for the flavor of that data structure, an uint32_t that is the - * count of uint32_t's of the size of the state data structure and then - * the state data structure follows. This triple may be repeated for many - * flavors. The constants for the flavors, counts and state data structure - * definitions are expected to be in the header file . - * These machine specific data structures sizes must be multiples of - * 4 bytes. The cmdsize reflects the total size of the thread_command - * and all of the sizes of the constants for the flavors, counts and state - * data structures. - * - * For executable objects that are unix processes there will be one - * thread_command (cmd == LC_UNIXTHREAD) created for it by the link-editor. - * This is the same as a LC_THREAD, except that a stack is automatically - * created (based on the shell's limit for the stack size). Command arguments - * and environment variables are copied onto that stack. - */ -struct thread_command { - uint32_t cmd; /* LC_THREAD or LC_UNIXTHREAD */ - uint32_t cmdsize; /* total size of this command */ - /* uint32_t flavor flavor of thread state */ - /* uint32_t count count of uint32_t's in thread state */ - /* struct XXX_thread_state state thread state for this flavor */ - /* ... */ -}; - -/* - * The routines command contains the address of the dynamic shared library - * initialization routine and an index into the module table for the module - * that defines the routine. Before any modules are used from the library the - * dynamic linker fully binds the module that defines the initialization routine - * and then calls it. This gets called before any module initialization - * routines (used for C++ static constructors) in the library. - */ -struct routines_command { /* for 32-bit architectures */ - uint32_t cmd; /* LC_ROUTINES */ - uint32_t cmdsize; /* total size of this command */ - uint32_t init_address; /* address of initialization routine */ - uint32_t init_module; /* index into the module table that */ - /* the init routine is defined in */ - uint32_t reserved1; - uint32_t reserved2; - uint32_t reserved3; - uint32_t reserved4; - uint32_t reserved5; - uint32_t reserved6; -}; - -/* - * The 64-bit routines command. Same use as above. - */ -struct routines_command_64 { /* for 64-bit architectures */ - uint32_t cmd; /* LC_ROUTINES_64 */ - uint32_t cmdsize; /* total size of this command */ - uint64_t init_address; /* address of initialization routine */ - uint64_t init_module; /* index into the module table that */ - /* the init routine is defined in */ - uint64_t reserved1; - uint64_t reserved2; - uint64_t reserved3; - uint64_t reserved4; - uint64_t reserved5; - uint64_t reserved6; -}; - -/* - * The symtab_command contains the offsets and sizes of the link-edit 4.3BSD - * "stab" style symbol table information as described in the header files - * and . - */ -struct symtab_command { - uint32_t cmd; /* LC_SYMTAB */ - uint32_t cmdsize; /* sizeof(struct symtab_command) */ - uint32_t symoff; /* symbol table offset */ - uint32_t nsyms; /* number of symbol table entries */ - uint32_t stroff; /* string table offset */ - uint32_t strsize; /* string table size in bytes */ -}; - -/* - * This is the second set of the symbolic information which is used to support - * the data structures for the dynamically link editor. - * - * The original set of symbolic information in the symtab_command which contains - * the symbol and string tables must also be present when this load command is - * present. When this load command is present the symbol table is organized - * into three groups of symbols: - * local symbols (static and debugging symbols) - grouped by module - * defined external symbols - grouped by module (sorted by name if not lib) - * undefined external symbols (sorted by name if MH_BINDATLOAD is not set, - * and in order the were seen by the static - * linker if MH_BINDATLOAD is set) - * In this load command there are offsets and counts to each of the three groups - * of symbols. - * - * This load command contains a the offsets and sizes of the following new - * symbolic information tables: - * table of contents - * module table - * reference symbol table - * indirect symbol table - * The first three tables above (the table of contents, module table and - * reference symbol table) are only present if the file is a dynamically linked - * shared library. For executable and object modules, which are files - * containing only one module, the information that would be in these three - * tables is determined as follows: - * table of contents - the defined external symbols are sorted by name - * module table - the file contains only one module so everything in the - * file is part of the module. - * reference symbol table - is the defined and undefined external symbols - * - * For dynamically linked shared library files this load command also contains - * offsets and sizes to the pool of relocation entries for all sections - * separated into two groups: - * external relocation entries - * local relocation entries - * For executable and object modules the relocation entries continue to hang - * off the section structures. - */ -struct dysymtab_command { - uint32_t cmd; /* LC_DYSYMTAB */ - uint32_t cmdsize; /* sizeof(struct dysymtab_command) */ - - /* - * The symbols indicated by symoff and nsyms of the LC_SYMTAB load command - * are grouped into the following three groups: - * local symbols (further grouped by the module they are from) - * defined external symbols (further grouped by the module they are from) - * undefined symbols - * - * The local symbols are used only for debugging. The dynamic binding - * process may have to use them to indicate to the debugger the local - * symbols for a module that is being bound. - * - * The last two groups are used by the dynamic binding process to do the - * binding (indirectly through the module table and the reference symbol - * table when this is a dynamically linked shared library file). - */ - uint32_t ilocalsym; /* index to local symbols */ - uint32_t nlocalsym; /* number of local symbols */ - - uint32_t iextdefsym;/* index to externally defined symbols */ - uint32_t nextdefsym;/* number of externally defined symbols */ - - uint32_t iundefsym; /* index to undefined symbols */ - uint32_t nundefsym; /* number of undefined symbols */ - - /* - * For the for the dynamic binding process to find which module a symbol - * is defined in the table of contents is used (analogous to the ranlib - * structure in an archive) which maps defined external symbols to modules - * they are defined in. This exists only in a dynamically linked shared - * library file. For executable and object modules the defined external - * symbols are sorted by name and is use as the table of contents. - */ - uint32_t tocoff; /* file offset to table of contents */ - uint32_t ntoc; /* number of entries in table of contents */ - - /* - * To support dynamic binding of "modules" (whole object files) the symbol - * table must reflect the modules that the file was created from. This is - * done by having a module table that has indexes and counts into the merged - * tables for each module. The module structure that these two entries - * refer to is described below. This exists only in a dynamically linked - * shared library file. For executable and object modules the file only - * contains one module so everything in the file belongs to the module. - */ - uint32_t modtaboff; /* file offset to module table */ - uint32_t nmodtab; /* number of module table entries */ - - /* - * To support dynamic module binding the module structure for each module - * indicates the external references (defined and undefined) each module - * makes. For each module there is an offset and a count into the - * reference symbol table for the symbols that the module references. - * This exists only in a dynamically linked shared library file. For - * executable and object modules the defined external symbols and the - * undefined external symbols indicates the external references. - */ - uint32_t extrefsymoff; /* offset to referenced symbol table */ - uint32_t nextrefsyms; /* number of referenced symbol table entries */ - - /* - * The sections that contain "symbol pointers" and "routine stubs" have - * indexes and (implied counts based on the size of the section and fixed - * size of the entry) into the "indirect symbol" table for each pointer - * and stub. For every section of these two types the index into the - * indirect symbol table is stored in the section header in the field - * reserved1. An indirect symbol table entry is simply a 32bit index into - * the symbol table to the symbol that the pointer or stub is referring to. - * The indirect symbol table is ordered to match the entries in the section. - */ - uint32_t indirectsymoff; /* file offset to the indirect symbol table */ - uint32_t nindirectsyms; /* number of indirect symbol table entries */ - - /* - * To support relocating an individual module in a library file quickly the - * external relocation entries for each module in the library need to be - * accessed efficiently. Since the relocation entries can't be accessed - * through the section headers for a library file they are separated into - * groups of local and external entries further grouped by module. In this - * case the presents of this load command who's extreloff, nextrel, - * locreloff and nlocrel fields are non-zero indicates that the relocation - * entries of non-merged sections are not referenced through the section - * structures (and the reloff and nreloc fields in the section headers are - * set to zero). - * - * Since the relocation entries are not accessed through the section headers - * this requires the r_address field to be something other than a section - * offset to identify the item to be relocated. In this case r_address is - * set to the offset from the vmaddr of the first LC_SEGMENT command. - * For MH_SPLIT_SEGS images r_address is set to the the offset from the - * vmaddr of the first read-write LC_SEGMENT command. - * - * The relocation entries are grouped by module and the module table - * entries have indexes and counts into them for the group of external - * relocation entries for that the module. - * - * For sections that are merged across modules there must not be any - * remaining external relocation entries for them (for merged sections - * remaining relocation entries must be local). - */ - uint32_t extreloff; /* offset to external relocation entries */ - uint32_t nextrel; /* number of external relocation entries */ - - /* - * All the local relocation entries are grouped together (they are not - * grouped by their module since they are only used if the object is moved - * from it staticly link edited address). - */ - uint32_t locreloff; /* offset to local relocation entries */ - uint32_t nlocrel; /* number of local relocation entries */ - -}; - -/* - * An indirect symbol table entry is simply a 32bit index into the symbol table - * to the symbol that the pointer or stub is refering to. Unless it is for a - * non-lazy symbol pointer section for a defined symbol which strip(1) as - * removed. In which case it has the value INDIRECT_SYMBOL_LOCAL. If the - * symbol was also absolute INDIRECT_SYMBOL_ABS is or'ed with that. - */ -#define INDIRECT_SYMBOL_LOCAL 0x80000000 -#define INDIRECT_SYMBOL_ABS 0x40000000 - - -/* a table of contents entry */ -struct dylib_table_of_contents { - uint32_t symbol_index; /* the defined external symbol - (index into the symbol table) */ - uint32_t module_index; /* index into the module table this symbol - is defined in */ -}; - -/* a module table entry */ -struct dylib_module { - uint32_t module_name; /* the module name (index into string table) */ - - uint32_t iextdefsym; /* index into externally defined symbols */ - uint32_t nextdefsym; /* number of externally defined symbols */ - uint32_t irefsym; /* index into reference symbol table */ - uint32_t nrefsym; /* number of reference symbol table entries */ - uint32_t ilocalsym; /* index into symbols for local symbols */ - uint32_t nlocalsym; /* number of local symbols */ - - uint32_t iextrel; /* index into external relocation entries */ - uint32_t nextrel; /* number of external relocation entries */ - - uint32_t iinit_iterm; /* low 16 bits are the index into the init - section, high 16 bits are the index into - the term section */ - uint32_t ninit_nterm; /* low 16 bits are the number of init section - entries, high 16 bits are the number of - term section entries */ - - uint32_t /* for this module address of the start of */ - objc_module_info_addr; /* the (__OBJC,__module_info) section */ - uint32_t /* for this module size of */ - objc_module_info_size; /* the (__OBJC,__module_info) section */ -}; - -/* a 64-bit module table entry */ -struct dylib_module_64 { - uint32_t module_name; /* the module name (index into string table) */ - - uint32_t iextdefsym; /* index into externally defined symbols */ - uint32_t nextdefsym; /* number of externally defined symbols */ - uint32_t irefsym; /* index into reference symbol table */ - uint32_t nrefsym; /* number of reference symbol table entries */ - uint32_t ilocalsym; /* index into symbols for local symbols */ - uint32_t nlocalsym; /* number of local symbols */ - - uint32_t iextrel; /* index into external relocation entries */ - uint32_t nextrel; /* number of external relocation entries */ - - uint32_t iinit_iterm; /* low 16 bits are the index into the init - section, high 16 bits are the index into - the term section */ - uint32_t ninit_nterm; /* low 16 bits are the number of init section - entries, high 16 bits are the number of - term section entries */ - - uint32_t /* for this module size of */ - objc_module_info_size; /* the (__OBJC,__module_info) section */ - uint64_t /* for this module address of the start of */ - objc_module_info_addr; /* the (__OBJC,__module_info) section */ -}; - -/* - * The entries in the reference symbol table are used when loading the module - * (both by the static and dynamic link editors) and if the module is unloaded - * or replaced. Therefore all external symbols (defined and undefined) are - * listed in the module's reference table. The flags describe the type of - * reference that is being made. The constants for the flags are defined in - * as they are also used for symbol table entries. - */ -struct dylib_reference { - uint32_t isym:24, /* index into the symbol table */ - flags:8; /* flags to indicate the type of reference */ -}; - -/* - * The twolevel_hints_command contains the offset and number of hints in the - * two-level namespace lookup hints table. - */ -struct twolevel_hints_command { - uint32_t cmd; /* LC_TWOLEVEL_HINTS */ - uint32_t cmdsize; /* sizeof(struct twolevel_hints_command) */ - uint32_t offset; /* offset to the hint table */ - uint32_t nhints; /* number of hints in the hint table */ -}; - -/* - * The entries in the two-level namespace lookup hints table are twolevel_hint - * structs. These provide hints to the dynamic link editor where to start - * looking for an undefined symbol in a two-level namespace image. The - * isub_image field is an index into the sub-images (sub-frameworks and - * sub-umbrellas list) that made up the two-level image that the undefined - * symbol was found in when it was built by the static link editor. If - * isub-image is 0 the the symbol is expected to be defined in library and not - * in the sub-images. If isub-image is non-zero it is an index into the array - * of sub-images for the umbrella with the first index in the sub-images being - * 1. The array of sub-images is the ordered list of sub-images of the umbrella - * that would be searched for a symbol that has the umbrella recorded as its - * primary library. The table of contents index is an index into the - * library's table of contents. This is used as the starting point of the - * binary search or a directed linear search. - */ -struct twolevel_hint { - uint32_t - isub_image:8, /* index into the sub images */ - itoc:24; /* index into the table of contents */ -}; - -/* - * The prebind_cksum_command contains the value of the original check sum for - * prebound files or zero. When a prebound file is first created or modified - * for other than updating its prebinding information the value of the check sum - * is set to zero. When the file has it prebinding re-done and if the value of - * the check sum is zero the original check sum is calculated and stored in - * cksum field of this load command in the output file. If when the prebinding - * is re-done and the cksum field is non-zero it is left unchanged from the - * input file. - */ -struct prebind_cksum_command { - uint32_t cmd; /* LC_PREBIND_CKSUM */ - uint32_t cmdsize; /* sizeof(struct prebind_cksum_command) */ - uint32_t cksum; /* the check sum or zero */ -}; - -/* - * The uuid load command contains a single 128-bit unique random number that - * identifies an object produced by the static link editor. - */ -struct uuid_command { - uint32_t cmd; /* LC_UUID */ - uint32_t cmdsize; /* sizeof(struct uuid_command) */ - uint8_t uuid[16]; /* the 128-bit uuid */ -}; - -/* - * The rpath_command contains a path which at runtime should be added to - * the current run path used to find @rpath prefixed dylibs. - */ -struct rpath_command { - uint32_t cmd; /* LC_RPATH */ - uint32_t cmdsize; /* includes string */ - union lc_str path; /* path to add to run path */ -}; - -/* - * The linkedit_data_command contains the offsets and sizes of a blob - * of data in the __LINKEDIT segment. - */ -struct linkedit_data_command { - uint32_t cmd; /* LC_CODE_SIGNATURE, LC_SEGMENT_SPLIT_INFO, - LC_FUNCTION_STARTS, LC_DATA_IN_CODE, - LC_DYLIB_CODE_SIGN_DRS, - LC_LINKER_OPTIMIZATION_HINT, - LC_DYLD_EXPORTS_TRIE, or - LC_DYLD_CHAINED_FIXUPS. */ - uint32_t cmdsize; /* sizeof(struct linkedit_data_command) */ - uint32_t dataoff; /* file offset of data in __LINKEDIT segment */ - uint32_t datasize; /* file size of data in __LINKEDIT segment */ -}; - -/* - * The encryption_info_command contains the file offset and size of an - * of an encrypted segment. - */ -struct encryption_info_command { - uint32_t cmd; /* LC_ENCRYPTION_INFO */ - uint32_t cmdsize; /* sizeof(struct encryption_info_command) */ - uint32_t cryptoff; /* file offset of encrypted range */ - uint32_t cryptsize; /* file size of encrypted range */ - uint32_t cryptid; /* which enryption system, - 0 means not-encrypted yet */ -}; - -/* - * The encryption_info_command_64 contains the file offset and size of an - * of an encrypted segment (for use in x86_64 targets). - */ -struct encryption_info_command_64 { - uint32_t cmd; /* LC_ENCRYPTION_INFO_64 */ - uint32_t cmdsize; /* sizeof(struct encryption_info_command_64) */ - uint32_t cryptoff; /* file offset of encrypted range */ - uint32_t cryptsize; /* file size of encrypted range */ - uint32_t cryptid; /* which enryption system, - 0 means not-encrypted yet */ - uint32_t pad; /* padding to make this struct's size a multiple - of 8 bytes */ -}; - -/* - * The version_min_command contains the min OS version on which this - * binary was built to run. - */ -struct version_min_command { - uint32_t cmd; /* LC_VERSION_MIN_MACOSX or - LC_VERSION_MIN_IPHONEOS or - LC_VERSION_MIN_WATCHOS or - LC_VERSION_MIN_TVOS */ - uint32_t cmdsize; /* sizeof(struct min_version_command) */ - uint32_t version; /* X.Y.Z is encoded in nibbles xxxx.yy.zz */ - uint32_t sdk; /* X.Y.Z is encoded in nibbles xxxx.yy.zz */ -}; - -/* - * The build_version_command contains the min OS version on which this - * binary was built to run for its platform. The list of known platforms and - * tool values following it. - */ -struct build_version_command { - uint32_t cmd; /* LC_BUILD_VERSION */ - uint32_t cmdsize; /* sizeof(struct build_version_command) plus */ - /* ntools * sizeof(struct build_tool_version) */ - uint32_t platform; /* platform */ - uint32_t minos; /* X.Y.Z is encoded in nibbles xxxx.yy.zz */ - uint32_t sdk; /* X.Y.Z is encoded in nibbles xxxx.yy.zz */ - uint32_t ntools; /* number of tool entries following this */ -}; - -struct build_tool_version { - uint32_t tool; /* enum for the tool */ - uint32_t version; /* version number of the tool */ -}; - -/* Known values for the platform field above. */ -#define PLATFORM_MACOS 1 -#define PLATFORM_IOS 2 -#define PLATFORM_TVOS 3 -#define PLATFORM_WATCHOS 4 -#define PLATFORM_BRIDGEOS 5 -#define PLATFORM_MACCATALYST 6 -#define PLATFORM_IOSSIMULATOR 7 -#define PLATFORM_TVOSSIMULATOR 8 -#define PLATFORM_WATCHOSSIMULATOR 9 -#define PLATFORM_DRIVERKIT 10 - -#ifndef __OPEN_SOURCE__ - -#endif /* __OPEN_SOURCE__ */ - -#define PLATFORM_FIRMWARE 13 -#define PLATFORM_SEPOS 14 - -#ifndef __OPEN_SOURCE__ - -#endif /* __OPEN_SOURCE__ */ - -/* Known values for the tool field above. */ -#define TOOL_CLANG 1 -#define TOOL_SWIFT 2 -#define TOOL_LD 3 -#define TOOL_LLD 4 - -/* - * The dyld_info_command contains the file offsets and sizes of - * the new compressed form of the information dyld needs to - * load the image. This information is used by dyld on Mac OS X - * 10.6 and later. All information pointed to by this command - * is encoded using byte streams, so no endian swapping is needed - * to interpret it. - */ -struct dyld_info_command { - uint32_t cmd; /* LC_DYLD_INFO or LC_DYLD_INFO_ONLY */ - uint32_t cmdsize; /* sizeof(struct dyld_info_command) */ - - /* - * Dyld rebases an image whenever dyld loads it at an address different - * from its preferred address. The rebase information is a stream - * of byte sized opcodes whose symbolic names start with REBASE_OPCODE_. - * Conceptually the rebase information is a table of tuples: - * - * The opcodes are a compressed way to encode the table by only - * encoding when a column changes. In addition simple patterns - * like "every n'th offset for m times" can be encoded in a few - * bytes. - */ - uint32_t rebase_off; /* file offset to rebase info */ - uint32_t rebase_size; /* size of rebase info */ - - /* - * Dyld binds an image during the loading process, if the image - * requires any pointers to be initialized to symbols in other images. - * The bind information is a stream of byte sized - * opcodes whose symbolic names start with BIND_OPCODE_. - * Conceptually the bind information is a table of tuples: - * - * The opcodes are a compressed way to encode the table by only - * encoding when a column changes. In addition simple patterns - * like for runs of pointers initialzed to the same value can be - * encoded in a few bytes. - */ - uint32_t bind_off; /* file offset to binding info */ - uint32_t bind_size; /* size of binding info */ - - /* - * Some C++ programs require dyld to unique symbols so that all - * images in the process use the same copy of some code/data. - * This step is done after binding. The content of the weak_bind - * info is an opcode stream like the bind_info. But it is sorted - * alphabetically by symbol name. This enable dyld to walk - * all images with weak binding information in order and look - * for collisions. If there are no collisions, dyld does - * no updating. That means that some fixups are also encoded - * in the bind_info. For instance, all calls to "operator new" - * are first bound to libstdc++.dylib using the information - * in bind_info. Then if some image overrides operator new - * that is detected when the weak_bind information is processed - * and the call to operator new is then rebound. - */ - uint32_t weak_bind_off; /* file offset to weak binding info */ - uint32_t weak_bind_size; /* size of weak binding info */ - - /* - * Some uses of external symbols do not need to be bound immediately. - * Instead they can be lazily bound on first use. The lazy_bind - * are contains a stream of BIND opcodes to bind all lazy symbols. - * Normal use is that dyld ignores the lazy_bind section when - * loading an image. Instead the static linker arranged for the - * lazy pointer to initially point to a helper function which - * pushes the offset into the lazy_bind area for the symbol - * needing to be bound, then jumps to dyld which simply adds - * the offset to lazy_bind_off to get the information on what - * to bind. - */ - uint32_t lazy_bind_off; /* file offset to lazy binding info */ - uint32_t lazy_bind_size; /* size of lazy binding infs */ - - /* - * The symbols exported by a dylib are encoded in a trie. This - * is a compact representation that factors out common prefixes. - * It also reduces LINKEDIT pages in RAM because it encodes all - * information (name, address, flags) in one small, contiguous range. - * The export area is a stream of nodes. The first node sequentially - * is the start node for the trie. - * - * Nodes for a symbol start with a uleb128 that is the length of - * the exported symbol information for the string so far. - * If there is no exported symbol, the node starts with a zero byte. - * If there is exported info, it follows the length. - * - * First is a uleb128 containing flags. Normally, it is followed by - * a uleb128 encoded offset which is location of the content named - * by the symbol from the mach_header for the image. If the flags - * is EXPORT_SYMBOL_FLAGS_REEXPORT, then following the flags is - * a uleb128 encoded library ordinal, then a zero terminated - * UTF8 string. If the string is zero length, then the symbol - * is re-export from the specified dylib with the same name. - * If the flags is EXPORT_SYMBOL_FLAGS_STUB_AND_RESOLVER, then following - * the flags is two uleb128s: the stub offset and the resolver offset. - * The stub is used by non-lazy pointers. The resolver is used - * by lazy pointers and must be called to get the actual address to use. - * - * After the optional exported symbol information is a byte of - * how many edges (0-255) that this node has leaving it, - * followed by each edge. - * Each edge is a zero terminated UTF8 of the addition chars - * in the symbol, followed by a uleb128 offset for the node that - * edge points to. - * - */ - uint32_t export_off; /* file offset to lazy binding info */ - uint32_t export_size; /* size of lazy binding infs */ -}; - -/* - * The following are used to encode rebasing information - */ -#define REBASE_TYPE_POINTER 1 -#define REBASE_TYPE_TEXT_ABSOLUTE32 2 -#define REBASE_TYPE_TEXT_PCREL32 3 - -#define REBASE_OPCODE_MASK 0xF0 -#define REBASE_IMMEDIATE_MASK 0x0F -#define REBASE_OPCODE_DONE 0x00 -#define REBASE_OPCODE_SET_TYPE_IMM 0x10 -#define REBASE_OPCODE_SET_SEGMENT_AND_OFFSET_ULEB 0x20 -#define REBASE_OPCODE_ADD_ADDR_ULEB 0x30 -#define REBASE_OPCODE_ADD_ADDR_IMM_SCALED 0x40 -#define REBASE_OPCODE_DO_REBASE_IMM_TIMES 0x50 -#define REBASE_OPCODE_DO_REBASE_ULEB_TIMES 0x60 -#define REBASE_OPCODE_DO_REBASE_ADD_ADDR_ULEB 0x70 -#define REBASE_OPCODE_DO_REBASE_ULEB_TIMES_SKIPPING_ULEB 0x80 - - -/* - * The following are used to encode binding information - */ -#define BIND_TYPE_POINTER 1 -#define BIND_TYPE_TEXT_ABSOLUTE32 2 -#define BIND_TYPE_TEXT_PCREL32 3 - -#define BIND_SPECIAL_DYLIB_SELF 0 -#define BIND_SPECIAL_DYLIB_MAIN_EXECUTABLE -1 -#define BIND_SPECIAL_DYLIB_FLAT_LOOKUP -2 -#define BIND_SPECIAL_DYLIB_WEAK_LOOKUP -3 - -#define BIND_SYMBOL_FLAGS_WEAK_IMPORT 0x1 -#define BIND_SYMBOL_FLAGS_NON_WEAK_DEFINITION 0x8 - -#define BIND_OPCODE_MASK 0xF0 -#define BIND_IMMEDIATE_MASK 0x0F -#define BIND_OPCODE_DONE 0x00 -#define BIND_OPCODE_SET_DYLIB_ORDINAL_IMM 0x10 -#define BIND_OPCODE_SET_DYLIB_ORDINAL_ULEB 0x20 -#define BIND_OPCODE_SET_DYLIB_SPECIAL_IMM 0x30 -#define BIND_OPCODE_SET_SYMBOL_TRAILING_FLAGS_IMM 0x40 -#define BIND_OPCODE_SET_TYPE_IMM 0x50 -#define BIND_OPCODE_SET_ADDEND_SLEB 0x60 -#define BIND_OPCODE_SET_SEGMENT_AND_OFFSET_ULEB 0x70 -#define BIND_OPCODE_ADD_ADDR_ULEB 0x80 -#define BIND_OPCODE_DO_BIND 0x90 -#define BIND_OPCODE_DO_BIND_ADD_ADDR_ULEB 0xA0 -#define BIND_OPCODE_DO_BIND_ADD_ADDR_IMM_SCALED 0xB0 -#define BIND_OPCODE_DO_BIND_ULEB_TIMES_SKIPPING_ULEB 0xC0 -#define BIND_OPCODE_THREADED 0xD0 -#define BIND_SUBOPCODE_THREADED_SET_BIND_ORDINAL_TABLE_SIZE_ULEB 0x00 -#define BIND_SUBOPCODE_THREADED_APPLY 0x01 - - -/* - * The following are used on the flags byte of a terminal node - * in the export information. - */ -#define EXPORT_SYMBOL_FLAGS_KIND_MASK 0x03 -#define EXPORT_SYMBOL_FLAGS_KIND_REGULAR 0x00 -#define EXPORT_SYMBOL_FLAGS_KIND_THREAD_LOCAL 0x01 -#define EXPORT_SYMBOL_FLAGS_KIND_ABSOLUTE 0x02 -#define EXPORT_SYMBOL_FLAGS_WEAK_DEFINITION 0x04 -#define EXPORT_SYMBOL_FLAGS_REEXPORT 0x08 -#define EXPORT_SYMBOL_FLAGS_STUB_AND_RESOLVER 0x10 -#define EXPORT_SYMBOL_FLAGS_STATIC_RESOLVER 0x20 - - -/* - * The linker_option_command contains linker options embedded in object files. - */ -struct linker_option_command { - uint32_t cmd; /* LC_LINKER_OPTION only used in MH_OBJECT filetypes */ - uint32_t cmdsize; - uint32_t count; /* number of strings */ - /* concatenation of zero terminated UTF8 strings. - Zero filled at end to align */ -}; - -/* - * The symseg_command contains the offset and size of the GNU style - * symbol table information as described in the header file . - * The symbol roots of the symbol segments must also be aligned properly - * in the file. So the requirement of keeping the offsets aligned to a - * multiple of a 4 bytes translates to the length field of the symbol - * roots also being a multiple of a long. Also the padding must again be - * zeroed. (THIS IS OBSOLETE and no longer supported). - */ -struct symseg_command { - uint32_t cmd; /* LC_SYMSEG */ - uint32_t cmdsize; /* sizeof(struct symseg_command) */ - uint32_t offset; /* symbol segment offset */ - uint32_t size; /* symbol segment size in bytes */ -}; - -/* - * The ident_command contains a free format string table following the - * ident_command structure. The strings are null terminated and the size of - * the command is padded out with zero bytes to a multiple of 4 bytes/ - * (THIS IS OBSOLETE and no longer supported). - */ -struct ident_command { - uint32_t cmd; /* LC_IDENT */ - uint32_t cmdsize; /* strings that follow this command */ -}; - -/* - * The fvmfile_command contains a reference to a file to be loaded at the - * specified virtual address. (Presently, this command is reserved for - * internal use. The kernel ignores this command when loading a program into - * memory). - */ -struct fvmfile_command { - uint32_t cmd; /* LC_FVMFILE */ - uint32_t cmdsize; /* includes pathname string */ - union lc_str name; /* files pathname */ - uint32_t header_addr; /* files virtual address */ -}; - - -/* - * The entry_point_command is a replacement for thread_command. - * It is used for main executables to specify the location (file offset) - * of main(). If -stack_size was used at link time, the stacksize - * field will contain the stack size need for the main thread. - */ -struct entry_point_command { - uint32_t cmd; /* LC_MAIN only used in MH_EXECUTE filetypes */ - uint32_t cmdsize; /* 24 */ - uint64_t entryoff; /* file (__TEXT) offset of main() */ - uint64_t stacksize;/* if not zero, initial stack size */ -}; - - -/* - * The source_version_command is an optional load command containing - * the version of the sources used to build the binary. - */ -struct source_version_command { - uint32_t cmd; /* LC_SOURCE_VERSION */ - uint32_t cmdsize; /* 16 */ - uint64_t version; /* A.B.C.D.E packed as a24.b10.c10.d10.e10 */ -}; - - -/* - * The LC_DATA_IN_CODE load commands uses a linkedit_data_command - * to point to an array of data_in_code_entry entries. Each entry - * describes a range of data in a code section. - */ -struct data_in_code_entry { - uint32_t offset; /* from mach_header to start of data range*/ - uint16_t length; /* number of bytes in data range */ - uint16_t kind; /* a DICE_KIND_* value */ -}; -#define DICE_KIND_DATA 0x0001 -#define DICE_KIND_JUMP_TABLE8 0x0002 -#define DICE_KIND_JUMP_TABLE16 0x0003 -#define DICE_KIND_JUMP_TABLE32 0x0004 -#define DICE_KIND_ABS_JUMP_TABLE32 0x0005 - - - -/* - * Sections of type S_THREAD_LOCAL_VARIABLES contain an array - * of tlv_descriptor structures. - */ -struct tlv_descriptor -{ - void* (*thunk)(struct tlv_descriptor*); - unsigned long key; - unsigned long offset; -}; - -/* - * LC_NOTE commands describe a region of arbitrary data included in a Mach-O - * file. Its initial use is to record extra data in MH_CORE files. - */ -struct note_command { - uint32_t cmd; /* LC_NOTE */ - uint32_t cmdsize; /* sizeof(struct note_command) */ - char data_owner[16]; /* owner name for this LC_NOTE */ - uint64_t offset; /* file offset of this data */ - uint64_t size; /* length of data region */ -}; - -/* - * LC_FILESET_ENTRY commands describe constituent Mach-O files that are part - * of a fileset. In one implementation, entries are dylibs with individual - * mach headers and repositionable text and data segments. Each entry is - * further described by its own mach header. - */ -struct fileset_entry_command { - uint32_t cmd; /* LC_FILESET_ENTRY */ - uint32_t cmdsize; /* includes entry_id string */ - uint64_t vmaddr; /* memory address of the entry */ - uint64_t fileoff; /* file offset of the entry */ - union lc_str entry_id; /* contained entry id */ - uint32_t reserved; /* reserved */ -}; - -/* - * These deprecated values may still be used within Apple but are mechanically - * removed from public API. The mechanical process may produce unusual results. - */ -#if (!defined(PLATFORM_MACCATALYST)) -#define PLATFORM_MACCATALYST PLATFORM_MACCATALYST -#endif - -#endif /* _MACHO_LOADER_H_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.12-any/mach/clock.h b/lib/libc/include/any-macos.12-any/mach/clock.h deleted file mode 100644 index 94d71fabe3..0000000000 --- a/lib/libc/include/any-macos.12-any/mach/clock.h +++ /dev/null @@ -1,246 +0,0 @@ -#ifndef _clock_user_ -#define _clock_user_ - -/* Module clock */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -/* BEGIN MIG_STRNCPY_ZEROFILL CODE */ - -#if defined(__has_include) -#if __has_include() -#ifndef USING_MIG_STRNCPY_ZEROFILL -#define USING_MIG_STRNCPY_ZEROFILL -#endif -#ifndef __MIG_STRNCPY_ZEROFILL_FORWARD_TYPE_DECLS__ -#define __MIG_STRNCPY_ZEROFILL_FORWARD_TYPE_DECLS__ -#ifdef __cplusplus -extern "C" { -#endif - extern int mig_strncpy_zerofill(char *dest, const char *src, int len) __attribute__((weak_import)); -#ifdef __cplusplus -} -#endif -#endif /* __MIG_STRNCPY_ZEROFILL_FORWARD_TYPE_DECLS__ */ -#endif /* __has_include() */ -#endif /* __has_include */ - -/* END MIG_STRNCPY_ZEROFILL CODE */ - - -#ifdef AUTOTEST -#ifndef FUNCTION_PTR_T -#define FUNCTION_PTR_T -typedef void (*function_ptr_t)(mach_port_t, char *, mach_msg_type_number_t); -typedef struct { - char *name; - function_ptr_t function; -} function_table_entry; -typedef function_table_entry *function_table_t; -#endif /* FUNCTION_PTR_T */ -#endif /* AUTOTEST */ - -#ifndef clock_MSG_COUNT -#define clock_MSG_COUNT 3 -#endif /* clock_MSG_COUNT */ - -#include -#include -#include -#include -#include -#include - -#ifdef __BeforeMigUserHeader -__BeforeMigUserHeader -#endif /* __BeforeMigUserHeader */ - -#include -__BEGIN_DECLS - - -/* Routine clock_get_time */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t clock_get_time -( - clock_serv_t clock_serv, - mach_timespec_t *cur_time -); - -/* Routine clock_get_attributes */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t clock_get_attributes -( - clock_serv_t clock_serv, - clock_flavor_t flavor, - clock_attr_t clock_attr, - mach_msg_type_number_t *clock_attrCnt -); - -/* Routine clock_alarm */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t clock_alarm -( - clock_serv_t clock_serv, - alarm_type_t alarm_type, - mach_timespec_t alarm_time, - clock_reply_t alarm_port -); - -__END_DECLS - -/********************** Caution **************************/ -/* The following data types should be used to calculate */ -/* maximum message sizes only. The actual message may be */ -/* smaller, and the position of the arguments within the */ -/* message layout may vary from what is presented here. */ -/* For example, if any of the arguments are variable- */ -/* sized, and less than the maximum is sent, the data */ -/* will be packed tight in the actual message to reduce */ -/* the presence of holes. */ -/********************** Caution **************************/ - -/* typedefs for all requests */ - -#ifndef __Request__clock_subsystem__defined -#define __Request__clock_subsystem__defined - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - } __Request__clock_get_time_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - clock_flavor_t flavor; - mach_msg_type_number_t clock_attrCnt; - } __Request__clock_get_attributes_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t alarm_port; - /* end of the kernel processed data */ - NDR_record_t NDR; - alarm_type_t alarm_type; - mach_timespec_t alarm_time; - } __Request__clock_alarm_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif -#endif /* !__Request__clock_subsystem__defined */ - -/* union of all requests */ - -#ifndef __RequestUnion__clock_subsystem__defined -#define __RequestUnion__clock_subsystem__defined -union __RequestUnion__clock_subsystem { - __Request__clock_get_time_t Request_clock_get_time; - __Request__clock_get_attributes_t Request_clock_get_attributes; - __Request__clock_alarm_t Request_clock_alarm; -}; -#endif /* !__RequestUnion__clock_subsystem__defined */ -/* typedefs for all replies */ - -#ifndef __Reply__clock_subsystem__defined -#define __Reply__clock_subsystem__defined - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - mach_timespec_t cur_time; - } __Reply__clock_get_time_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - mach_msg_type_number_t clock_attrCnt; - int clock_attr[1]; - } __Reply__clock_get_attributes_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__clock_alarm_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif -#endif /* !__Reply__clock_subsystem__defined */ - -/* union of all replies */ - -#ifndef __ReplyUnion__clock_subsystem__defined -#define __ReplyUnion__clock_subsystem__defined -union __ReplyUnion__clock_subsystem { - __Reply__clock_get_time_t Reply_clock_get_time; - __Reply__clock_get_attributes_t Reply_clock_get_attributes; - __Reply__clock_alarm_t Reply_clock_alarm; -}; -#endif /* !__RequestUnion__clock_subsystem__defined */ - -#ifndef subsystem_to_name_map_clock -#define subsystem_to_name_map_clock \ - { "clock_get_time", 1000 },\ - { "clock_get_attributes", 1001 },\ - { "clock_alarm", 1002 } -#endif - -#ifdef __AfterMigUserHeader -__AfterMigUserHeader -#endif /* __AfterMigUserHeader */ - -#endif /* _clock_user_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.12-any/mach/clock_priv.h b/lib/libc/include/any-macos.12-any/mach/clock_priv.h deleted file mode 100644 index a026d27b6f..0000000000 --- a/lib/libc/include/any-macos.12-any/mach/clock_priv.h +++ /dev/null @@ -1,200 +0,0 @@ -#ifndef _clock_priv_user_ -#define _clock_priv_user_ - -/* Module clock_priv */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -/* BEGIN MIG_STRNCPY_ZEROFILL CODE */ - -#if defined(__has_include) -#if __has_include() -#ifndef USING_MIG_STRNCPY_ZEROFILL -#define USING_MIG_STRNCPY_ZEROFILL -#endif -#ifndef __MIG_STRNCPY_ZEROFILL_FORWARD_TYPE_DECLS__ -#define __MIG_STRNCPY_ZEROFILL_FORWARD_TYPE_DECLS__ -#ifdef __cplusplus -extern "C" { -#endif - extern int mig_strncpy_zerofill(char *dest, const char *src, int len) __attribute__((weak_import)); -#ifdef __cplusplus -} -#endif -#endif /* __MIG_STRNCPY_ZEROFILL_FORWARD_TYPE_DECLS__ */ -#endif /* __has_include() */ -#endif /* __has_include */ - -/* END MIG_STRNCPY_ZEROFILL CODE */ - - -#ifdef AUTOTEST -#ifndef FUNCTION_PTR_T -#define FUNCTION_PTR_T -typedef void (*function_ptr_t)(mach_port_t, char *, mach_msg_type_number_t); -typedef struct { - char *name; - function_ptr_t function; -} function_table_entry; -typedef function_table_entry *function_table_t; -#endif /* FUNCTION_PTR_T */ -#endif /* AUTOTEST */ - -#ifndef clock_priv_MSG_COUNT -#define clock_priv_MSG_COUNT 2 -#endif /* clock_priv_MSG_COUNT */ - -#include -#include -#include -#include -#include -#include - -#ifdef __BeforeMigUserHeader -__BeforeMigUserHeader -#endif /* __BeforeMigUserHeader */ - -#include -__BEGIN_DECLS - - -/* Routine clock_set_time */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t clock_set_time -( - clock_ctrl_t clock_ctrl, - mach_timespec_t new_time -); - -/* Routine clock_set_attributes */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t clock_set_attributes -( - clock_ctrl_t clock_ctrl, - clock_flavor_t flavor, - clock_attr_t clock_attr, - mach_msg_type_number_t clock_attrCnt -); - -__END_DECLS - -/********************** Caution **************************/ -/* The following data types should be used to calculate */ -/* maximum message sizes only. The actual message may be */ -/* smaller, and the position of the arguments within the */ -/* message layout may vary from what is presented here. */ -/* For example, if any of the arguments are variable- */ -/* sized, and less than the maximum is sent, the data */ -/* will be packed tight in the actual message to reduce */ -/* the presence of holes. */ -/********************** Caution **************************/ - -/* typedefs for all requests */ - -#ifndef __Request__clock_priv_subsystem__defined -#define __Request__clock_priv_subsystem__defined - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - mach_timespec_t new_time; - } __Request__clock_set_time_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - clock_flavor_t flavor; - mach_msg_type_number_t clock_attrCnt; - int clock_attr[1]; - } __Request__clock_set_attributes_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif -#endif /* !__Request__clock_priv_subsystem__defined */ - -/* union of all requests */ - -#ifndef __RequestUnion__clock_priv_subsystem__defined -#define __RequestUnion__clock_priv_subsystem__defined -union __RequestUnion__clock_priv_subsystem { - __Request__clock_set_time_t Request_clock_set_time; - __Request__clock_set_attributes_t Request_clock_set_attributes; -}; -#endif /* !__RequestUnion__clock_priv_subsystem__defined */ -/* typedefs for all replies */ - -#ifndef __Reply__clock_priv_subsystem__defined -#define __Reply__clock_priv_subsystem__defined - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__clock_set_time_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__clock_set_attributes_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif -#endif /* !__Reply__clock_priv_subsystem__defined */ - -/* union of all replies */ - -#ifndef __ReplyUnion__clock_priv_subsystem__defined -#define __ReplyUnion__clock_priv_subsystem__defined -union __ReplyUnion__clock_priv_subsystem { - __Reply__clock_set_time_t Reply_clock_set_time; - __Reply__clock_set_attributes_t Reply_clock_set_attributes; -}; -#endif /* !__RequestUnion__clock_priv_subsystem__defined */ - -#ifndef subsystem_to_name_map_clock_priv -#define subsystem_to_name_map_clock_priv \ - { "clock_set_time", 1200 },\ - { "clock_set_attributes", 1201 } -#endif - -#ifdef __AfterMigUserHeader -__AfterMigUserHeader -#endif /* __AfterMigUserHeader */ - -#endif /* _clock_priv_user_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.12-any/mach/exception_types.h b/lib/libc/include/any-macos.12-any/mach/exception_types.h deleted file mode 100644 index 5066d340e7..0000000000 --- a/lib/libc/include/any-macos.12-any/mach/exception_types.h +++ /dev/null @@ -1,211 +0,0 @@ -/* - * Copyright (c) 2000 Apple Computer, 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@ - */ -/* - * @OSF_COPYRIGHT@ - */ -/* - * Mach Operating System - * Copyright (c) 1991,1990,1989,1988,1987 Carnegie Mellon University - * All Rights Reserved. - * - * Permission to use, copy, modify and distribute this software and its - * documentation is hereby granted, provided that both the copyright - * notice and this permission notice appear in all copies of the - * software, derivative works or modified versions, and any portions - * thereof, and that both notices appear in supporting documentation. - * - * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" - * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR - * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. - * - * Carnegie Mellon requests users of this software to return to - * - * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU - * School of Computer Science - * Carnegie Mellon University - * Pittsburgh PA 15213-3890 - * - * any improvements or extensions that they make and grant Carnegie Mellon - * the rights to redistribute these changes. - */ -/* - */ - -#ifndef _MACH_EXCEPTION_TYPES_H_ -#define _MACH_EXCEPTION_TYPES_H_ - -#include - -/* - * Machine-independent exception definitions. - */ - -#define EXC_BAD_ACCESS 1 /* Could not access memory */ -/* Code contains kern_return_t describing error. */ -/* Subcode contains bad memory address. */ - -#define EXC_BAD_INSTRUCTION 2 /* Instruction failed */ -/* Illegal or undefined instruction or operand */ - -#define EXC_ARITHMETIC 3 /* Arithmetic exception */ -/* Exact nature of exception is in code field */ - -#define EXC_EMULATION 4 /* Emulation instruction */ -/* Emulation support instruction encountered */ -/* Details in code and subcode fields */ - -#define EXC_SOFTWARE 5 /* Software generated exception */ -/* Exact exception is in code field. */ -/* Codes 0 - 0xFFFF reserved to hardware */ -/* Codes 0x10000 - 0x1FFFF reserved for OS emulation (Unix) */ - -#define EXC_BREAKPOINT 6 /* Trace, breakpoint, etc. */ -/* Details in code field. */ - -#define EXC_SYSCALL 7 /* System calls. */ - -#define EXC_MACH_SYSCALL 8 /* Mach system calls. */ - -#define EXC_RPC_ALERT 9 /* RPC alert */ - -#define EXC_CRASH 10 /* Abnormal process exit */ - -#define EXC_RESOURCE 11 /* Hit resource consumption limit */ -/* Exact resource is in code field. */ - -#define EXC_GUARD 12 /* Violated guarded resource protections */ - -#define EXC_CORPSE_NOTIFY 13 /* Abnormal process exited to corpse state */ - -#define EXC_CORPSE_VARIANT_BIT 0x100 /* bit set for EXC_*_CORPSE variants of EXC_* */ - - -/* - * Machine-independent exception behaviors - */ - -# define EXCEPTION_DEFAULT 1 -/* Send a catch_exception_raise message including the identity. - */ - -# define EXCEPTION_STATE 2 -/* Send a catch_exception_raise_state message including the - * thread state. - */ - -# define EXCEPTION_STATE_IDENTITY 3 -/* Send a catch_exception_raise_state_identity message including - * the thread identity and state. - */ - -# define EXCEPTION_IDENTITY_PROTECTED 4 -/* Send a catch_exception_raise message including protected task - * and thread identity. - */ - -#define MACH_EXCEPTION_ERRORS 0x40000000 -/* include additional exception specific errors, not used yet. */ - -#define MACH_EXCEPTION_CODES 0x80000000 -/* Send 64-bit code and subcode in the exception header */ - -#define MACH_EXCEPTION_MASK (MACH_EXCEPTION_CODES | MACH_EXCEPTION_ERRORS) -/* - * Masks for exception definitions, above - * bit zero is unused, therefore 1 word = 31 exception types - */ - -#define EXC_MASK_BAD_ACCESS (1 << EXC_BAD_ACCESS) -#define EXC_MASK_BAD_INSTRUCTION (1 << EXC_BAD_INSTRUCTION) -#define EXC_MASK_ARITHMETIC (1 << EXC_ARITHMETIC) -#define EXC_MASK_EMULATION (1 << EXC_EMULATION) -#define EXC_MASK_SOFTWARE (1 << EXC_SOFTWARE) -#define EXC_MASK_BREAKPOINT (1 << EXC_BREAKPOINT) -#define EXC_MASK_SYSCALL (1 << EXC_SYSCALL) -#define EXC_MASK_MACH_SYSCALL (1 << EXC_MACH_SYSCALL) -#define EXC_MASK_RPC_ALERT (1 << EXC_RPC_ALERT) -#define EXC_MASK_CRASH (1 << EXC_CRASH) -#define EXC_MASK_RESOURCE (1 << EXC_RESOURCE) -#define EXC_MASK_GUARD (1 << EXC_GUARD) -#define EXC_MASK_CORPSE_NOTIFY (1 << EXC_CORPSE_NOTIFY) - -#define EXC_MASK_ALL (EXC_MASK_BAD_ACCESS | \ - EXC_MASK_BAD_INSTRUCTION | \ - EXC_MASK_ARITHMETIC | \ - EXC_MASK_EMULATION | \ - EXC_MASK_SOFTWARE | \ - EXC_MASK_BREAKPOINT | \ - EXC_MASK_SYSCALL | \ - EXC_MASK_MACH_SYSCALL | \ - EXC_MASK_RPC_ALERT | \ - EXC_MASK_RESOURCE | \ - EXC_MASK_GUARD | \ - EXC_MASK_MACHINE) - - -#define FIRST_EXCEPTION 1 /* ZERO is illegal */ - -/* - * Machine independent codes for EXC_SOFTWARE - * Codes 0x10000 - 0x1FFFF reserved for OS emulation (Unix) - * 0x10000 - 0x10002 in use for unix signals - * 0x20000 - 0x2FFFF reserved for MACF - */ -#define EXC_SOFT_SIGNAL 0x10003 /* Unix signal exceptions */ - -#define EXC_MACF_MIN 0x20000 /* MACF exceptions */ -#define EXC_MACF_MAX 0x2FFFF - -#ifndef ASSEMBLER - -#include -#include -#include -#include -/* - * Exported types - */ - -typedef int exception_type_t; -typedef integer_t exception_data_type_t; -typedef int64_t mach_exception_data_type_t; -typedef int exception_behavior_t; -typedef exception_data_type_t *exception_data_t; -typedef mach_exception_data_type_t *mach_exception_data_t; -typedef unsigned int exception_mask_t; -typedef exception_mask_t *exception_mask_array_t; -typedef exception_behavior_t *exception_behavior_array_t; -typedef thread_state_flavor_t *exception_flavor_array_t; -typedef mach_port_t *exception_port_array_t; -typedef ipc_info_port_t *exception_port_info_array_t; -typedef mach_exception_data_type_t mach_exception_code_t; -typedef mach_exception_data_type_t mach_exception_subcode_t; - -#endif /* ASSEMBLER */ - -#endif /* _MACH_EXCEPTION_TYPES_H_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.12-any/mach/host_priv.h b/lib/libc/include/any-macos.12-any/mach/host_priv.h deleted file mode 100644 index 4882de4dbd..0000000000 --- a/lib/libc/include/any-macos.12-any/mach/host_priv.h +++ /dev/null @@ -1,1164 +0,0 @@ -#ifndef _host_priv_user_ -#define _host_priv_user_ - -/* Module host_priv */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -/* BEGIN MIG_STRNCPY_ZEROFILL CODE */ - -#if defined(__has_include) -#if __has_include() -#ifndef USING_MIG_STRNCPY_ZEROFILL -#define USING_MIG_STRNCPY_ZEROFILL -#endif -#ifndef __MIG_STRNCPY_ZEROFILL_FORWARD_TYPE_DECLS__ -#define __MIG_STRNCPY_ZEROFILL_FORWARD_TYPE_DECLS__ -#ifdef __cplusplus -extern "C" { -#endif - extern int mig_strncpy_zerofill(char *dest, const char *src, int len) __attribute__((weak_import)); -#ifdef __cplusplus -} -#endif -#endif /* __MIG_STRNCPY_ZEROFILL_FORWARD_TYPE_DECLS__ */ -#endif /* __has_include() */ -#endif /* __has_include */ - -/* END MIG_STRNCPY_ZEROFILL CODE */ - - -#ifdef AUTOTEST -#ifndef FUNCTION_PTR_T -#define FUNCTION_PTR_T -typedef void (*function_ptr_t)(mach_port_t, char *, mach_msg_type_number_t); -typedef struct { - char *name; - function_ptr_t function; -} function_table_entry; -typedef function_table_entry *function_table_t; -#endif /* FUNCTION_PTR_T */ -#endif /* AUTOTEST */ - -#ifndef host_priv_MSG_COUNT -#define host_priv_MSG_COUNT 26 -#endif /* host_priv_MSG_COUNT */ - -#include -#include -#include -#include -#include -#include -#include - -#ifdef __BeforeMigUserHeader -__BeforeMigUserHeader -#endif /* __BeforeMigUserHeader */ - -#include -__BEGIN_DECLS - - -/* Routine host_get_boot_info */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t host_get_boot_info -( - host_priv_t host_priv, - kernel_boot_info_t boot_info -); - -/* Routine host_reboot */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t host_reboot -( - host_priv_t host_priv, - int options -); - -/* Routine host_priv_statistics */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t host_priv_statistics -( - host_priv_t host_priv, - host_flavor_t flavor, - host_info_t host_info_out, - mach_msg_type_number_t *host_info_outCnt -); - -/* Routine host_default_memory_manager */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t host_default_memory_manager -( - host_priv_t host_priv, - memory_object_default_t *default_manager, - memory_object_cluster_size_t cluster_size -); - -/* Routine vm_wire */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t vm_wire -( - host_priv_t host_priv, - vm_map_t task, - vm_address_t address, - vm_size_t size, - vm_prot_t desired_access -); - -/* Routine thread_wire */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t thread_wire -( - host_priv_t host_priv, - thread_act_t thread, - boolean_t wired -); - -/* Routine vm_allocate_cpm */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t vm_allocate_cpm -( - host_priv_t host_priv, - vm_map_t task, - vm_address_t *address, - vm_size_t size, - int flags -); - -/* Routine host_processors */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t host_processors -( - host_priv_t host_priv, - processor_array_t *out_processor_list, - mach_msg_type_number_t *out_processor_listCnt -); - -/* Routine host_get_clock_control */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t host_get_clock_control -( - host_priv_t host_priv, - clock_id_t clock_id, - clock_ctrl_t *clock_ctrl -); - -/* Routine kmod_create */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t kmod_create -( - host_priv_t host_priv, - vm_address_t info, - kmod_t *module -); - -/* Routine kmod_destroy */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t kmod_destroy -( - host_priv_t host_priv, - kmod_t module -); - -/* Routine kmod_control */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t kmod_control -( - host_priv_t host_priv, - kmod_t module, - kmod_control_flavor_t flavor, - kmod_args_t *data, - mach_msg_type_number_t *dataCnt -); - -/* Routine host_get_special_port */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t host_get_special_port -( - host_priv_t host_priv, - int node, - int which, - mach_port_t *port -); - -/* Routine host_set_special_port */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t host_set_special_port -( - host_priv_t host_priv, - int which, - mach_port_t port -); - -/* Routine host_set_exception_ports */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t host_set_exception_ports -( - host_priv_t host_priv, - exception_mask_t exception_mask, - mach_port_t new_port, - exception_behavior_t behavior, - thread_state_flavor_t new_flavor -); - -/* Routine host_get_exception_ports */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t host_get_exception_ports -( - host_priv_t host_priv, - exception_mask_t exception_mask, - exception_mask_array_t masks, - mach_msg_type_number_t *masksCnt, - exception_handler_array_t old_handlers, - exception_behavior_array_t old_behaviors, - exception_flavor_array_t old_flavors -); - -/* Routine host_swap_exception_ports */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t host_swap_exception_ports -( - host_priv_t host_priv, - exception_mask_t exception_mask, - mach_port_t new_port, - exception_behavior_t behavior, - thread_state_flavor_t new_flavor, - exception_mask_array_t masks, - mach_msg_type_number_t *masksCnt, - exception_handler_array_t old_handlerss, - exception_behavior_array_t old_behaviors, - exception_flavor_array_t old_flavors -); - -/* Routine mach_vm_wire */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t mach_vm_wire -( - host_priv_t host_priv, - vm_map_t task, - mach_vm_address_t address, - mach_vm_size_t size, - vm_prot_t desired_access -); - -/* Routine host_processor_sets */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t host_processor_sets -( - host_priv_t host_priv, - processor_set_name_array_t *processor_sets, - mach_msg_type_number_t *processor_setsCnt -); - -/* Routine host_processor_set_priv */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t host_processor_set_priv -( - host_priv_t host_priv, - processor_set_name_t set_name, - processor_set_t *set -); - -/* Routine host_set_UNDServer */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t host_set_UNDServer -( - host_priv_t host, - UNDServerRef server -); - -/* Routine host_get_UNDServer */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t host_get_UNDServer -( - host_priv_t host, - UNDServerRef *server -); - -/* Routine kext_request */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t kext_request -( - host_priv_t host_priv, - uint32_t user_log_flags, - vm_offset_t request_data, - mach_msg_type_number_t request_dataCnt, - vm_offset_t *response_data, - mach_msg_type_number_t *response_dataCnt, - vm_offset_t *log_data, - mach_msg_type_number_t *log_dataCnt, - kern_return_t *op_result -); - -__END_DECLS - -/********************** Caution **************************/ -/* The following data types should be used to calculate */ -/* maximum message sizes only. The actual message may be */ -/* smaller, and the position of the arguments within the */ -/* message layout may vary from what is presented here. */ -/* For example, if any of the arguments are variable- */ -/* sized, and less than the maximum is sent, the data */ -/* will be packed tight in the actual message to reduce */ -/* the presence of holes. */ -/********************** Caution **************************/ - -/* typedefs for all requests */ - -#ifndef __Request__host_priv_subsystem__defined -#define __Request__host_priv_subsystem__defined - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - } __Request__host_get_boot_info_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - int options; - } __Request__host_reboot_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - host_flavor_t flavor; - mach_msg_type_number_t host_info_outCnt; - } __Request__host_priv_statistics_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t default_manager; - /* end of the kernel processed data */ - NDR_record_t NDR; - memory_object_cluster_size_t cluster_size; - } __Request__host_default_memory_manager_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t task; - /* end of the kernel processed data */ - NDR_record_t NDR; - vm_address_t address; - vm_size_t size; - vm_prot_t desired_access; - } __Request__vm_wire_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t thread; - /* end of the kernel processed data */ - NDR_record_t NDR; - boolean_t wired; - } __Request__thread_wire_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t task; - /* end of the kernel processed data */ - NDR_record_t NDR; - vm_address_t address; - vm_size_t size; - int flags; - } __Request__vm_allocate_cpm_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - } __Request__host_processors_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - clock_id_t clock_id; - } __Request__host_get_clock_control_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - vm_address_t info; - } __Request__kmod_create_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kmod_t module; - } __Request__kmod_destroy_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_ool_descriptor_t data; - /* end of the kernel processed data */ - NDR_record_t NDR; - kmod_t module; - kmod_control_flavor_t flavor; - mach_msg_type_number_t dataCnt; - } __Request__kmod_control_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - int node; - int which; - } __Request__host_get_special_port_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t port; - /* end of the kernel processed data */ - NDR_record_t NDR; - int which; - } __Request__host_set_special_port_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t new_port; - /* end of the kernel processed data */ - NDR_record_t NDR; - exception_mask_t exception_mask; - exception_behavior_t behavior; - thread_state_flavor_t new_flavor; - } __Request__host_set_exception_ports_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - exception_mask_t exception_mask; - } __Request__host_get_exception_ports_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t new_port; - /* end of the kernel processed data */ - NDR_record_t NDR; - exception_mask_t exception_mask; - exception_behavior_t behavior; - thread_state_flavor_t new_flavor; - } __Request__host_swap_exception_ports_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t task; - /* end of the kernel processed data */ - NDR_record_t NDR; - mach_vm_address_t address; - mach_vm_size_t size; - vm_prot_t desired_access; - } __Request__mach_vm_wire_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - } __Request__host_processor_sets_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t set_name; - /* end of the kernel processed data */ - } __Request__host_processor_set_priv_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t server; - /* end of the kernel processed data */ - } __Request__host_set_UNDServer_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - } __Request__host_get_UNDServer_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_ool_descriptor_t request_data; - /* end of the kernel processed data */ - NDR_record_t NDR; - uint32_t user_log_flags; - mach_msg_type_number_t request_dataCnt; - } __Request__kext_request_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif -#endif /* !__Request__host_priv_subsystem__defined */ - -/* union of all requests */ - -#ifndef __RequestUnion__host_priv_subsystem__defined -#define __RequestUnion__host_priv_subsystem__defined -union __RequestUnion__host_priv_subsystem { - __Request__host_get_boot_info_t Request_host_get_boot_info; - __Request__host_reboot_t Request_host_reboot; - __Request__host_priv_statistics_t Request_host_priv_statistics; - __Request__host_default_memory_manager_t Request_host_default_memory_manager; - __Request__vm_wire_t Request_vm_wire; - __Request__thread_wire_t Request_thread_wire; - __Request__vm_allocate_cpm_t Request_vm_allocate_cpm; - __Request__host_processors_t Request_host_processors; - __Request__host_get_clock_control_t Request_host_get_clock_control; - __Request__kmod_create_t Request_kmod_create; - __Request__kmod_destroy_t Request_kmod_destroy; - __Request__kmod_control_t Request_kmod_control; - __Request__host_get_special_port_t Request_host_get_special_port; - __Request__host_set_special_port_t Request_host_set_special_port; - __Request__host_set_exception_ports_t Request_host_set_exception_ports; - __Request__host_get_exception_ports_t Request_host_get_exception_ports; - __Request__host_swap_exception_ports_t Request_host_swap_exception_ports; - __Request__mach_vm_wire_t Request_mach_vm_wire; - __Request__host_processor_sets_t Request_host_processor_sets; - __Request__host_processor_set_priv_t Request_host_processor_set_priv; - __Request__host_set_UNDServer_t Request_host_set_UNDServer; - __Request__host_get_UNDServer_t Request_host_get_UNDServer; - __Request__kext_request_t Request_kext_request; -}; -#endif /* !__RequestUnion__host_priv_subsystem__defined */ -/* typedefs for all replies */ - -#ifndef __Reply__host_priv_subsystem__defined -#define __Reply__host_priv_subsystem__defined - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - mach_msg_type_number_t boot_infoOffset; /* MiG doesn't use it */ - mach_msg_type_number_t boot_infoCnt; - char boot_info[4096]; - } __Reply__host_get_boot_info_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__host_reboot_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - mach_msg_type_number_t host_info_outCnt; - integer_t host_info_out[68]; - } __Reply__host_priv_statistics_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t default_manager; - /* end of the kernel processed data */ - } __Reply__host_default_memory_manager_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__vm_wire_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__thread_wire_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - vm_address_t address; - } __Reply__vm_allocate_cpm_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_ool_ports_descriptor_t out_processor_list; - /* end of the kernel processed data */ - NDR_record_t NDR; - mach_msg_type_number_t out_processor_listCnt; - } __Reply__host_processors_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t clock_ctrl; - /* end of the kernel processed data */ - } __Reply__host_get_clock_control_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - kmod_t module; - } __Reply__kmod_create_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__kmod_destroy_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_ool_descriptor_t data; - /* end of the kernel processed data */ - NDR_record_t NDR; - mach_msg_type_number_t dataCnt; - } __Reply__kmod_control_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t port; - /* end of the kernel processed data */ - } __Reply__host_get_special_port_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__host_set_special_port_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__host_set_exception_ports_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t old_handlers[32]; - /* end of the kernel processed data */ - NDR_record_t NDR; - mach_msg_type_number_t masksCnt; - exception_mask_t masks[32]; - exception_behavior_t old_behaviors[32]; - thread_state_flavor_t old_flavors[32]; - } __Reply__host_get_exception_ports_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t old_handlerss[32]; - /* end of the kernel processed data */ - NDR_record_t NDR; - mach_msg_type_number_t masksCnt; - exception_mask_t masks[32]; - exception_behavior_t old_behaviors[32]; - thread_state_flavor_t old_flavors[32]; - } __Reply__host_swap_exception_ports_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__mach_vm_wire_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_ool_ports_descriptor_t processor_sets; - /* end of the kernel processed data */ - NDR_record_t NDR; - mach_msg_type_number_t processor_setsCnt; - } __Reply__host_processor_sets_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t set; - /* end of the kernel processed data */ - } __Reply__host_processor_set_priv_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__host_set_UNDServer_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t server; - /* end of the kernel processed data */ - } __Reply__host_get_UNDServer_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_ool_descriptor_t response_data; - mach_msg_ool_descriptor_t log_data; - /* end of the kernel processed data */ - NDR_record_t NDR; - mach_msg_type_number_t response_dataCnt; - mach_msg_type_number_t log_dataCnt; - kern_return_t op_result; - } __Reply__kext_request_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif -#endif /* !__Reply__host_priv_subsystem__defined */ - -/* union of all replies */ - -#ifndef __ReplyUnion__host_priv_subsystem__defined -#define __ReplyUnion__host_priv_subsystem__defined -union __ReplyUnion__host_priv_subsystem { - __Reply__host_get_boot_info_t Reply_host_get_boot_info; - __Reply__host_reboot_t Reply_host_reboot; - __Reply__host_priv_statistics_t Reply_host_priv_statistics; - __Reply__host_default_memory_manager_t Reply_host_default_memory_manager; - __Reply__vm_wire_t Reply_vm_wire; - __Reply__thread_wire_t Reply_thread_wire; - __Reply__vm_allocate_cpm_t Reply_vm_allocate_cpm; - __Reply__host_processors_t Reply_host_processors; - __Reply__host_get_clock_control_t Reply_host_get_clock_control; - __Reply__kmod_create_t Reply_kmod_create; - __Reply__kmod_destroy_t Reply_kmod_destroy; - __Reply__kmod_control_t Reply_kmod_control; - __Reply__host_get_special_port_t Reply_host_get_special_port; - __Reply__host_set_special_port_t Reply_host_set_special_port; - __Reply__host_set_exception_ports_t Reply_host_set_exception_ports; - __Reply__host_get_exception_ports_t Reply_host_get_exception_ports; - __Reply__host_swap_exception_ports_t Reply_host_swap_exception_ports; - __Reply__mach_vm_wire_t Reply_mach_vm_wire; - __Reply__host_processor_sets_t Reply_host_processor_sets; - __Reply__host_processor_set_priv_t Reply_host_processor_set_priv; - __Reply__host_set_UNDServer_t Reply_host_set_UNDServer; - __Reply__host_get_UNDServer_t Reply_host_get_UNDServer; - __Reply__kext_request_t Reply_kext_request; -}; -#endif /* !__RequestUnion__host_priv_subsystem__defined */ - -#ifndef subsystem_to_name_map_host_priv -#define subsystem_to_name_map_host_priv \ - { "host_get_boot_info", 400 },\ - { "host_reboot", 401 },\ - { "host_priv_statistics", 402 },\ - { "host_default_memory_manager", 403 },\ - { "vm_wire", 404 },\ - { "thread_wire", 405 },\ - { "vm_allocate_cpm", 406 },\ - { "host_processors", 407 },\ - { "host_get_clock_control", 408 },\ - { "kmod_create", 409 },\ - { "kmod_destroy", 410 },\ - { "kmod_control", 411 },\ - { "host_get_special_port", 412 },\ - { "host_set_special_port", 413 },\ - { "host_set_exception_ports", 414 },\ - { "host_get_exception_ports", 415 },\ - { "host_swap_exception_ports", 416 },\ - { "mach_vm_wire", 418 },\ - { "host_processor_sets", 419 },\ - { "host_processor_set_priv", 420 },\ - { "host_set_UNDServer", 423 },\ - { "host_get_UNDServer", 424 },\ - { "kext_request", 425 } -#endif - -#ifdef __AfterMigUserHeader -__AfterMigUserHeader -#endif /* __AfterMigUserHeader */ - -#endif /* _host_priv_user_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.12-any/mach/host_security.h b/lib/libc/include/any-macos.12-any/mach/host_security.h deleted file mode 100644 index 78a6f0e50e..0000000000 --- a/lib/libc/include/any-macos.12-any/mach/host_security.h +++ /dev/null @@ -1,222 +0,0 @@ -#ifndef _host_security_user_ -#define _host_security_user_ - -/* Module host_security */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -/* BEGIN MIG_STRNCPY_ZEROFILL CODE */ - -#if defined(__has_include) -#if __has_include() -#ifndef USING_MIG_STRNCPY_ZEROFILL -#define USING_MIG_STRNCPY_ZEROFILL -#endif -#ifndef __MIG_STRNCPY_ZEROFILL_FORWARD_TYPE_DECLS__ -#define __MIG_STRNCPY_ZEROFILL_FORWARD_TYPE_DECLS__ -#ifdef __cplusplus -extern "C" { -#endif - extern int mig_strncpy_zerofill(char *dest, const char *src, int len) __attribute__((weak_import)); -#ifdef __cplusplus -} -#endif -#endif /* __MIG_STRNCPY_ZEROFILL_FORWARD_TYPE_DECLS__ */ -#endif /* __has_include() */ -#endif /* __has_include */ - -/* END MIG_STRNCPY_ZEROFILL CODE */ - - -#ifdef AUTOTEST -#ifndef FUNCTION_PTR_T -#define FUNCTION_PTR_T -typedef void (*function_ptr_t)(mach_port_t, char *, mach_msg_type_number_t); -typedef struct { - char *name; - function_ptr_t function; -} function_table_entry; -typedef function_table_entry *function_table_t; -#endif /* FUNCTION_PTR_T */ -#endif /* AUTOTEST */ - -#ifndef host_security_MSG_COUNT -#define host_security_MSG_COUNT 2 -#endif /* host_security_MSG_COUNT */ - -#include -#include -#include -#include -#include - -#ifdef __BeforeMigUserHeader -__BeforeMigUserHeader -#endif /* __BeforeMigUserHeader */ - -#include -__BEGIN_DECLS - - -/* Routine host_security_create_task_token */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t host_security_create_task_token -( - host_security_t host_security, - task_t parent_task, - security_token_t sec_token, - audit_token_t audit_token, - host_t host, - ledger_array_t ledgers, - mach_msg_type_number_t ledgersCnt, - boolean_t inherit_memory, - task_t *child_task -); - -/* Routine host_security_set_task_token */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t host_security_set_task_token -( - host_security_t host_security, - task_t target_task, - security_token_t sec_token, - audit_token_t audit_token, - host_t host -); - -__END_DECLS - -/********************** Caution **************************/ -/* The following data types should be used to calculate */ -/* maximum message sizes only. The actual message may be */ -/* smaller, and the position of the arguments within the */ -/* message layout may vary from what is presented here. */ -/* For example, if any of the arguments are variable- */ -/* sized, and less than the maximum is sent, the data */ -/* will be packed tight in the actual message to reduce */ -/* the presence of holes. */ -/********************** Caution **************************/ - -/* typedefs for all requests */ - -#ifndef __Request__host_security_subsystem__defined -#define __Request__host_security_subsystem__defined - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t parent_task; - mach_msg_port_descriptor_t host; - mach_msg_ool_ports_descriptor_t ledgers; - /* end of the kernel processed data */ - NDR_record_t NDR; - security_token_t sec_token; - audit_token_t audit_token; - mach_msg_type_number_t ledgersCnt; - boolean_t inherit_memory; - } __Request__host_security_create_task_token_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t target_task; - mach_msg_port_descriptor_t host; - /* end of the kernel processed data */ - NDR_record_t NDR; - security_token_t sec_token; - audit_token_t audit_token; - } __Request__host_security_set_task_token_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif -#endif /* !__Request__host_security_subsystem__defined */ - -/* union of all requests */ - -#ifndef __RequestUnion__host_security_subsystem__defined -#define __RequestUnion__host_security_subsystem__defined -union __RequestUnion__host_security_subsystem { - __Request__host_security_create_task_token_t Request_host_security_create_task_token; - __Request__host_security_set_task_token_t Request_host_security_set_task_token; -}; -#endif /* !__RequestUnion__host_security_subsystem__defined */ -/* typedefs for all replies */ - -#ifndef __Reply__host_security_subsystem__defined -#define __Reply__host_security_subsystem__defined - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t child_task; - /* end of the kernel processed data */ - } __Reply__host_security_create_task_token_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__host_security_set_task_token_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif -#endif /* !__Reply__host_security_subsystem__defined */ - -/* union of all replies */ - -#ifndef __ReplyUnion__host_security_subsystem__defined -#define __ReplyUnion__host_security_subsystem__defined -union __ReplyUnion__host_security_subsystem { - __Reply__host_security_create_task_token_t Reply_host_security_create_task_token; - __Reply__host_security_set_task_token_t Reply_host_security_set_task_token; -}; -#endif /* !__RequestUnion__host_security_subsystem__defined */ - -#ifndef subsystem_to_name_map_host_security -#define subsystem_to_name_map_host_security \ - { "host_security_create_task_token", 600 },\ - { "host_security_set_task_token", 601 } -#endif - -#ifdef __AfterMigUserHeader -__AfterMigUserHeader -#endif /* __AfterMigUserHeader */ - -#endif /* _host_security_user_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.12-any/mach/lock_set.h b/lib/libc/include/any-macos.12-any/mach/lock_set.h deleted file mode 100644 index 1e3687f91f..0000000000 --- a/lib/libc/include/any-macos.12-any/mach/lock_set.h +++ /dev/null @@ -1,351 +0,0 @@ -#ifndef _lock_set_user_ -#define _lock_set_user_ - -/* Module lock_set */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -/* BEGIN MIG_STRNCPY_ZEROFILL CODE */ - -#if defined(__has_include) -#if __has_include() -#ifndef USING_MIG_STRNCPY_ZEROFILL -#define USING_MIG_STRNCPY_ZEROFILL -#endif -#ifndef __MIG_STRNCPY_ZEROFILL_FORWARD_TYPE_DECLS__ -#define __MIG_STRNCPY_ZEROFILL_FORWARD_TYPE_DECLS__ -#ifdef __cplusplus -extern "C" { -#endif - extern int mig_strncpy_zerofill(char *dest, const char *src, int len) __attribute__((weak_import)); -#ifdef __cplusplus -} -#endif -#endif /* __MIG_STRNCPY_ZEROFILL_FORWARD_TYPE_DECLS__ */ -#endif /* __has_include() */ -#endif /* __has_include */ - -/* END MIG_STRNCPY_ZEROFILL CODE */ - - -#ifdef AUTOTEST -#ifndef FUNCTION_PTR_T -#define FUNCTION_PTR_T -typedef void (*function_ptr_t)(mach_port_t, char *, mach_msg_type_number_t); -typedef struct { - char *name; - function_ptr_t function; -} function_table_entry; -typedef function_table_entry *function_table_t; -#endif /* FUNCTION_PTR_T */ -#endif /* AUTOTEST */ - -#ifndef lock_set_MSG_COUNT -#define lock_set_MSG_COUNT 6 -#endif /* lock_set_MSG_COUNT */ - -#include -#include -#include -#include -#include - -#ifdef __BeforeMigUserHeader -__BeforeMigUserHeader -#endif /* __BeforeMigUserHeader */ - -#include -__BEGIN_DECLS - - -/* Routine lock_acquire */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t lock_acquire -( - lock_set_t lock_set, - int lock_id -); - -/* Routine lock_release */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t lock_release -( - lock_set_t lock_set, - int lock_id -); - -/* Routine lock_try */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t lock_try -( - lock_set_t lock_set, - int lock_id -); - -/* Routine lock_make_stable */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t lock_make_stable -( - lock_set_t lock_set, - int lock_id -); - -/* Routine lock_handoff */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t lock_handoff -( - lock_set_t lock_set, - int lock_id -); - -/* Routine lock_handoff_accept */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t lock_handoff_accept -( - lock_set_t lock_set, - int lock_id -); - -__END_DECLS - -/********************** Caution **************************/ -/* The following data types should be used to calculate */ -/* maximum message sizes only. The actual message may be */ -/* smaller, and the position of the arguments within the */ -/* message layout may vary from what is presented here. */ -/* For example, if any of the arguments are variable- */ -/* sized, and less than the maximum is sent, the data */ -/* will be packed tight in the actual message to reduce */ -/* the presence of holes. */ -/********************** Caution **************************/ - -/* typedefs for all requests */ - -#ifndef __Request__lock_set_subsystem__defined -#define __Request__lock_set_subsystem__defined - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - int lock_id; - } __Request__lock_acquire_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - int lock_id; - } __Request__lock_release_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - int lock_id; - } __Request__lock_try_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - int lock_id; - } __Request__lock_make_stable_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - int lock_id; - } __Request__lock_handoff_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - int lock_id; - } __Request__lock_handoff_accept_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif -#endif /* !__Request__lock_set_subsystem__defined */ - -/* union of all requests */ - -#ifndef __RequestUnion__lock_set_subsystem__defined -#define __RequestUnion__lock_set_subsystem__defined -union __RequestUnion__lock_set_subsystem { - __Request__lock_acquire_t Request_lock_acquire; - __Request__lock_release_t Request_lock_release; - __Request__lock_try_t Request_lock_try; - __Request__lock_make_stable_t Request_lock_make_stable; - __Request__lock_handoff_t Request_lock_handoff; - __Request__lock_handoff_accept_t Request_lock_handoff_accept; -}; -#endif /* !__RequestUnion__lock_set_subsystem__defined */ -/* typedefs for all replies */ - -#ifndef __Reply__lock_set_subsystem__defined -#define __Reply__lock_set_subsystem__defined - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__lock_acquire_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__lock_release_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__lock_try_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__lock_make_stable_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__lock_handoff_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__lock_handoff_accept_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif -#endif /* !__Reply__lock_set_subsystem__defined */ - -/* union of all replies */ - -#ifndef __ReplyUnion__lock_set_subsystem__defined -#define __ReplyUnion__lock_set_subsystem__defined -union __ReplyUnion__lock_set_subsystem { - __Reply__lock_acquire_t Reply_lock_acquire; - __Reply__lock_release_t Reply_lock_release; - __Reply__lock_try_t Reply_lock_try; - __Reply__lock_make_stable_t Reply_lock_make_stable; - __Reply__lock_handoff_t Reply_lock_handoff; - __Reply__lock_handoff_accept_t Reply_lock_handoff_accept; -}; -#endif /* !__RequestUnion__lock_set_subsystem__defined */ - -#ifndef subsystem_to_name_map_lock_set -#define subsystem_to_name_map_lock_set \ - { "lock_acquire", 617000 },\ - { "lock_release", 617001 },\ - { "lock_try", 617002 },\ - { "lock_make_stable", 617003 },\ - { "lock_handoff", 617004 },\ - { "lock_handoff_accept", 617005 } -#endif - -#ifdef __AfterMigUserHeader -__AfterMigUserHeader -#endif /* __AfterMigUserHeader */ - -#endif /* _lock_set_user_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.12-any/mach/mach.h b/lib/libc/include/any-macos.12-any/mach/mach.h deleted file mode 100644 index d418ec5b3c..0000000000 --- a/lib/libc/include/any-macos.12-any/mach/mach.h +++ /dev/null @@ -1,241 +0,0 @@ -/* - * Copyright (c) 1999-2014 Apple Computer, 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@ - */ -/* - * Mach Operating System - * Copyright (c) 1991,1990,1989 Carnegie Mellon University - * All Rights Reserved. - * - * Permission to use, copy, modify and distribute this software and its - * documentation is hereby granted, provided that both the copyright - * notice and this permission notice appear in all copies of the - * software, derivative works or modified versions, and any portions - * thereof, and that both notices appear in supporting documentation. - * - * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" - * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR - * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. - * - * Carnegie Mellon requests users of this software to return to - * - * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU - * School of Computer Science - * Carnegie Mellon University - * Pittsburgh PA 15213-3890 - * - * any improvements or extensions that they make and grant Carnegie Mellon - * the rights to redistribute these changes. - */ - -/* - * Includes all the types that a normal user - * of Mach programs should need - */ - -#ifndef _MACH_H_ -#define _MACH_H_ - -#define __MACH30__ -#define MACH_IPC_FLAVOR UNTYPED - -#include -#include -#include -#include -#include -#include -#include - -#include /* for compatibility only */ -#include - -#include -#include - -#include - -__BEGIN_DECLS -/* - * Standard prototypes - */ -extern void panic_init(mach_port_t); -extern void panic(const char *, ...); - -extern void slot_name(cpu_type_t, - cpu_subtype_t, - char **, - char **); - -extern void mig_reply_setup(mach_msg_header_t *, - mach_msg_header_t *); - -__WATCHOS_PROHIBITED __TVOS_PROHIBITED -extern void mach_msg_destroy(mach_msg_header_t *); - -__WATCHOS_PROHIBITED __TVOS_PROHIBITED -extern mach_msg_return_t mach_msg_receive(mach_msg_header_t *); - -__WATCHOS_PROHIBITED __TVOS_PROHIBITED -extern mach_msg_return_t mach_msg_send(mach_msg_header_t *); - -__WATCHOS_PROHIBITED __TVOS_PROHIBITED -extern mach_msg_return_t mach_msg_server_once(boolean_t (*) - (mach_msg_header_t *, - mach_msg_header_t *), - mach_msg_size_t, - mach_port_t, - mach_msg_options_t); - -__WATCHOS_PROHIBITED __TVOS_PROHIBITED -extern mach_msg_return_t mach_msg_server(boolean_t (*) - (mach_msg_header_t *, - mach_msg_header_t *), - mach_msg_size_t, - mach_port_t, - mach_msg_options_t); - -__WATCHOS_PROHIBITED __TVOS_PROHIBITED -extern mach_msg_return_t mach_msg_server_importance(boolean_t (*) - (mach_msg_header_t *, - mach_msg_header_t *), - mach_msg_size_t, - mach_port_t, - mach_msg_options_t); - -/* - * Prototypes for compatibility - */ -extern kern_return_t clock_get_res(mach_port_t, - clock_res_t *); -extern kern_return_t clock_set_res(mach_port_t, - clock_res_t); - -extern kern_return_t clock_sleep(mach_port_t, - int, - mach_timespec_t, - mach_timespec_t *); - -/*! - * @group voucher_mach_msg Prototypes - */ - -#define VOUCHER_MACH_MSG_API_VERSION 20140205 - -/*! - * @typedef voucher_mach_msg_state_t - * - * @abstract - * Opaque object encapsulating state changed by voucher_mach_msg_adopt(). - */ -typedef struct voucher_mach_msg_state_s *voucher_mach_msg_state_t; - -/*! - * @const VOUCHER_MACH_MSG_STATE_UNCHANGED - * - * @discussion - * Constant indicating no state change occurred. - */ -#define VOUCHER_MACH_MSG_STATE_UNCHANGED ((voucher_mach_msg_state_t)~0ul) - -/*! - * @function voucher_mach_msg_set - * - * @abstract - * Change specified message header to contain current mach voucher with a - * COPY_SEND disposition. - * Does not change message if it already has non-zero MACH_MSGH_BITS_VOUCHER. - * - * @discussion - * Borrows reference to current thread voucher so message should be sent - * immediately (without intervening calls that might change that voucher). - * - * @param msg - * The message to modify. - * - * @result - * True if header was changed. - */ -extern boolean_t voucher_mach_msg_set(mach_msg_header_t *msg); - -/*! - * @function voucher_mach_msg_clear - * - * @abstract - * Removes changes made to specified message header by voucher_mach_msg_set() - * and any mach_msg() send operations (successful or not). - * If the message is not needed further, mach_msg_destroy() should be called - * instead. - * - * @discussion - * Not intended to be called if voucher_mach_msg_set() returned false. - * Releases reference to message mach voucher if an extra reference was - * acquired due to an unsuccessful send operation (pseudo-receive). - * - * @param msg - * The message to modify. - */ -extern void voucher_mach_msg_clear(mach_msg_header_t *msg); - -/*! - * @function voucher_mach_msg_adopt - * - * @abstract - * Adopt the voucher contained in the specified message on the current thread - * and return the previous thread voucher state. - * - * @discussion - * Ownership of the mach voucher in the message is transferred to the current - * thread and the message header voucher fields are cleared. - * - * @param msg - * The message to query and modify. - * - * @result - * The previous thread voucher state or VOUCHER_MACH_MSG_STATE_UNCHANGED if no - * state change occurred. - */ -extern voucher_mach_msg_state_t voucher_mach_msg_adopt(mach_msg_header_t *msg); - -/*! - * @function voucher_mach_msg_revert - * - * @abstract - * Restore thread voucher state previously modified by voucher_mach_msg_adopt(). - * - * @discussion - * Current thread voucher reference is released. - * No change to thread voucher state if passed VOUCHER_MACH_MSG_STATE_UNCHANGED. - * - * @param state - * The thread voucher state to restore. - */ - -extern void voucher_mach_msg_revert(voucher_mach_msg_state_t state); - -__END_DECLS - -#endif /* _MACH_H_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.12-any/mach/mach_host.h b/lib/libc/include/any-macos.12-any/mach/mach_host.h deleted file mode 100644 index e1695865c2..0000000000 --- a/lib/libc/include/any-macos.12-any/mach/mach_host.h +++ /dev/null @@ -1,1289 +0,0 @@ -#ifndef _mach_host_user_ -#define _mach_host_user_ - -/* Module mach_host */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -/* BEGIN MIG_STRNCPY_ZEROFILL CODE */ - -#if defined(__has_include) -#if __has_include() -#ifndef USING_MIG_STRNCPY_ZEROFILL -#define USING_MIG_STRNCPY_ZEROFILL -#endif -#ifndef __MIG_STRNCPY_ZEROFILL_FORWARD_TYPE_DECLS__ -#define __MIG_STRNCPY_ZEROFILL_FORWARD_TYPE_DECLS__ -#ifdef __cplusplus -extern "C" { -#endif - extern int mig_strncpy_zerofill(char *dest, const char *src, int len) __attribute__((weak_import)); -#ifdef __cplusplus -} -#endif -#endif /* __MIG_STRNCPY_ZEROFILL_FORWARD_TYPE_DECLS__ */ -#endif /* __has_include() */ -#endif /* __has_include */ - -/* END MIG_STRNCPY_ZEROFILL CODE */ - - -#ifdef AUTOTEST -#ifndef FUNCTION_PTR_T -#define FUNCTION_PTR_T -typedef void (*function_ptr_t)(mach_port_t, char *, mach_msg_type_number_t); -typedef struct { - char *name; - function_ptr_t function; -} function_table_entry; -typedef function_table_entry *function_table_t; -#endif /* FUNCTION_PTR_T */ -#endif /* AUTOTEST */ - -#ifndef mach_host_MSG_COUNT -#define mach_host_MSG_COUNT 35 -#endif /* mach_host_MSG_COUNT */ - -#include -#include -#include -#include -#include -#include -#include -#include - -#ifdef __BeforeMigUserHeader -__BeforeMigUserHeader -#endif /* __BeforeMigUserHeader */ - -#include -__BEGIN_DECLS - - -/* Routine host_info */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -__TVOS_PROHIBITED __WATCHOS_PROHIBITED -kern_return_t host_info -( - host_t host, - host_flavor_t flavor, - host_info_t host_info_out, - mach_msg_type_number_t *host_info_outCnt -); - -/* Routine host_kernel_version */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t host_kernel_version -( - host_t host, - kernel_version_t kernel_version -); - -/* Routine _host_page_size */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t _host_page_size -( - host_t host, - vm_size_t *out_page_size -); - -/* Routine mach_memory_object_memory_entry */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t mach_memory_object_memory_entry -( - host_t host, - boolean_t internal, - vm_size_t size, - vm_prot_t permission, - memory_object_t pager, - mach_port_t *entry_handle -); - -/* Routine host_processor_info */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t host_processor_info -( - host_t host, - processor_flavor_t flavor, - natural_t *out_processor_count, - processor_info_array_t *out_processor_info, - mach_msg_type_number_t *out_processor_infoCnt -); - -/* Routine host_get_io_master */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t host_get_io_master -( - host_t host, - io_master_t *io_master -); - -/* Routine host_get_clock_service */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t host_get_clock_service -( - host_t host, - clock_id_t clock_id, - clock_serv_t *clock_serv -); - -/* Routine kmod_get_info */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t kmod_get_info -( - host_t host, - kmod_args_t *modules, - mach_msg_type_number_t *modulesCnt -); - -/* Routine host_virtual_physical_table_info */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t host_virtual_physical_table_info -( - host_t host, - hash_info_bucket_array_t *info, - mach_msg_type_number_t *infoCnt -); - -/* Routine processor_set_default */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t processor_set_default -( - host_t host, - processor_set_name_t *default_set -); - -/* Routine processor_set_create */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t processor_set_create -( - host_t host, - processor_set_t *new_set, - processor_set_name_t *new_name -); - -/* Routine mach_memory_object_memory_entry_64 */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t mach_memory_object_memory_entry_64 -( - host_t host, - boolean_t internal, - memory_object_size_t size, - vm_prot_t permission, - memory_object_t pager, - mach_port_t *entry_handle -); - -/* Routine host_statistics */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t host_statistics -( - host_t host_priv, - host_flavor_t flavor, - host_info_t host_info_out, - mach_msg_type_number_t *host_info_outCnt -); - -/* Routine host_request_notification */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -__TVOS_PROHIBITED __WATCHOS_PROHIBITED -kern_return_t host_request_notification -( - host_t host, - host_flavor_t notify_type, - mach_port_t notify_port -); - -/* Routine host_lockgroup_info */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t host_lockgroup_info -( - host_t host, - lockgroup_info_array_t *lockgroup_info, - mach_msg_type_number_t *lockgroup_infoCnt -); - -/* Routine host_statistics64 */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t host_statistics64 -( - host_t host_priv, - host_flavor_t flavor, - host_info64_t host_info64_out, - mach_msg_type_number_t *host_info64_outCnt -); - -/* Routine mach_zone_info */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t mach_zone_info -( - host_priv_t host, - mach_zone_name_array_t *names, - mach_msg_type_number_t *namesCnt, - mach_zone_info_array_t *info, - mach_msg_type_number_t *infoCnt -); - -/* Routine host_create_mach_voucher */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -__TVOS_PROHIBITED __WATCHOS_PROHIBITED -kern_return_t host_create_mach_voucher -( - host_t host, - mach_voucher_attr_raw_recipe_array_t recipes, - mach_msg_type_number_t recipesCnt, - ipc_voucher_t *voucher -); - -/* Routine host_register_mach_voucher_attr_manager */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -__TVOS_PROHIBITED __WATCHOS_PROHIBITED -kern_return_t host_register_mach_voucher_attr_manager -( - host_t host, - mach_voucher_attr_manager_t attr_manager, - mach_voucher_attr_value_handle_t default_value, - mach_voucher_attr_key_t *new_key, - ipc_voucher_attr_control_t *new_attr_control -); - -/* Routine host_register_well_known_mach_voucher_attr_manager */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -__TVOS_PROHIBITED __WATCHOS_PROHIBITED -kern_return_t host_register_well_known_mach_voucher_attr_manager -( - host_t host, - mach_voucher_attr_manager_t attr_manager, - mach_voucher_attr_value_handle_t default_value, - mach_voucher_attr_key_t key, - ipc_voucher_attr_control_t *new_attr_control -); - -/* Routine host_set_atm_diagnostic_flag */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -__TVOS_PROHIBITED __WATCHOS_PROHIBITED -kern_return_t host_set_atm_diagnostic_flag -( - host_t host, - uint32_t diagnostic_flag -); - -/* Routine host_get_atm_diagnostic_flag */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -__TVOS_PROHIBITED __WATCHOS_PROHIBITED -kern_return_t host_get_atm_diagnostic_flag -( - host_t host, - uint32_t *diagnostic_flag -); - -/* Routine mach_memory_info */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t mach_memory_info -( - host_priv_t host, - mach_zone_name_array_t *names, - mach_msg_type_number_t *namesCnt, - mach_zone_info_array_t *info, - mach_msg_type_number_t *infoCnt, - mach_memory_info_array_t *memory_info, - mach_msg_type_number_t *memory_infoCnt -); - -/* Routine host_set_multiuser_config_flags */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t host_set_multiuser_config_flags -( - host_priv_t host_priv, - uint32_t multiuser_flags -); - -/* Routine host_get_multiuser_config_flags */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t host_get_multiuser_config_flags -( - host_t host, - uint32_t *multiuser_flags -); - -/* Routine host_check_multiuser_mode */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t host_check_multiuser_mode -( - host_t host, - uint32_t *multiuser_mode -); - -/* Routine mach_zone_info_for_zone */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t mach_zone_info_for_zone -( - host_priv_t host, - mach_zone_name_t name, - mach_zone_info_t *info -); - -__END_DECLS - -/********************** Caution **************************/ -/* The following data types should be used to calculate */ -/* maximum message sizes only. The actual message may be */ -/* smaller, and the position of the arguments within the */ -/* message layout may vary from what is presented here. */ -/* For example, if any of the arguments are variable- */ -/* sized, and less than the maximum is sent, the data */ -/* will be packed tight in the actual message to reduce */ -/* the presence of holes. */ -/********************** Caution **************************/ - -/* typedefs for all requests */ - -#ifndef __Request__mach_host_subsystem__defined -#define __Request__mach_host_subsystem__defined - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - host_flavor_t flavor; - mach_msg_type_number_t host_info_outCnt; - } __Request__host_info_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - } __Request__host_kernel_version_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - } __Request___host_page_size_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t pager; - /* end of the kernel processed data */ - NDR_record_t NDR; - boolean_t internal; - vm_size_t size; - vm_prot_t permission; - } __Request__mach_memory_object_memory_entry_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - processor_flavor_t flavor; - } __Request__host_processor_info_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - } __Request__host_get_io_master_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - clock_id_t clock_id; - } __Request__host_get_clock_service_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - } __Request__kmod_get_info_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - } __Request__host_virtual_physical_table_info_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - } __Request__processor_set_default_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - } __Request__processor_set_create_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t pager; - /* end of the kernel processed data */ - NDR_record_t NDR; - boolean_t internal; - memory_object_size_t size; - vm_prot_t permission; - } __Request__mach_memory_object_memory_entry_64_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - host_flavor_t flavor; - mach_msg_type_number_t host_info_outCnt; - } __Request__host_statistics_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t notify_port; - /* end of the kernel processed data */ - NDR_record_t NDR; - host_flavor_t notify_type; - } __Request__host_request_notification_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - } __Request__host_lockgroup_info_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - host_flavor_t flavor; - mach_msg_type_number_t host_info64_outCnt; - } __Request__host_statistics64_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - } __Request__mach_zone_info_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - mach_msg_type_number_t recipesCnt; - uint8_t recipes[5120]; - } __Request__host_create_mach_voucher_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t attr_manager; - /* end of the kernel processed data */ - NDR_record_t NDR; - mach_voucher_attr_value_handle_t default_value; - } __Request__host_register_mach_voucher_attr_manager_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t attr_manager; - /* end of the kernel processed data */ - NDR_record_t NDR; - mach_voucher_attr_value_handle_t default_value; - mach_voucher_attr_key_t key; - } __Request__host_register_well_known_mach_voucher_attr_manager_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - uint32_t diagnostic_flag; - } __Request__host_set_atm_diagnostic_flag_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - } __Request__host_get_atm_diagnostic_flag_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - } __Request__mach_memory_info_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - uint32_t multiuser_flags; - } __Request__host_set_multiuser_config_flags_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - } __Request__host_get_multiuser_config_flags_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - } __Request__host_check_multiuser_mode_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - mach_zone_name_t name; - } __Request__mach_zone_info_for_zone_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif -#endif /* !__Request__mach_host_subsystem__defined */ - -/* union of all requests */ - -#ifndef __RequestUnion__mach_host_subsystem__defined -#define __RequestUnion__mach_host_subsystem__defined -union __RequestUnion__mach_host_subsystem { - __Request__host_info_t Request_host_info; - __Request__host_kernel_version_t Request_host_kernel_version; - __Request___host_page_size_t Request__host_page_size; - __Request__mach_memory_object_memory_entry_t Request_mach_memory_object_memory_entry; - __Request__host_processor_info_t Request_host_processor_info; - __Request__host_get_io_master_t Request_host_get_io_master; - __Request__host_get_clock_service_t Request_host_get_clock_service; - __Request__kmod_get_info_t Request_kmod_get_info; - __Request__host_virtual_physical_table_info_t Request_host_virtual_physical_table_info; - __Request__processor_set_default_t Request_processor_set_default; - __Request__processor_set_create_t Request_processor_set_create; - __Request__mach_memory_object_memory_entry_64_t Request_mach_memory_object_memory_entry_64; - __Request__host_statistics_t Request_host_statistics; - __Request__host_request_notification_t Request_host_request_notification; - __Request__host_lockgroup_info_t Request_host_lockgroup_info; - __Request__host_statistics64_t Request_host_statistics64; - __Request__mach_zone_info_t Request_mach_zone_info; - __Request__host_create_mach_voucher_t Request_host_create_mach_voucher; - __Request__host_register_mach_voucher_attr_manager_t Request_host_register_mach_voucher_attr_manager; - __Request__host_register_well_known_mach_voucher_attr_manager_t Request_host_register_well_known_mach_voucher_attr_manager; - __Request__host_set_atm_diagnostic_flag_t Request_host_set_atm_diagnostic_flag; - __Request__host_get_atm_diagnostic_flag_t Request_host_get_atm_diagnostic_flag; - __Request__mach_memory_info_t Request_mach_memory_info; - __Request__host_set_multiuser_config_flags_t Request_host_set_multiuser_config_flags; - __Request__host_get_multiuser_config_flags_t Request_host_get_multiuser_config_flags; - __Request__host_check_multiuser_mode_t Request_host_check_multiuser_mode; - __Request__mach_zone_info_for_zone_t Request_mach_zone_info_for_zone; -}; -#endif /* !__RequestUnion__mach_host_subsystem__defined */ -/* typedefs for all replies */ - -#ifndef __Reply__mach_host_subsystem__defined -#define __Reply__mach_host_subsystem__defined - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - mach_msg_type_number_t host_info_outCnt; - integer_t host_info_out[68]; - } __Reply__host_info_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - mach_msg_type_number_t kernel_versionOffset; /* MiG doesn't use it */ - mach_msg_type_number_t kernel_versionCnt; - char kernel_version[512]; - } __Reply__host_kernel_version_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - vm_size_t out_page_size; - } __Reply___host_page_size_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t entry_handle; - /* end of the kernel processed data */ - } __Reply__mach_memory_object_memory_entry_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_ool_descriptor_t out_processor_info; - /* end of the kernel processed data */ - NDR_record_t NDR; - natural_t out_processor_count; - mach_msg_type_number_t out_processor_infoCnt; - } __Reply__host_processor_info_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t io_master; - /* end of the kernel processed data */ - } __Reply__host_get_io_master_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t clock_serv; - /* end of the kernel processed data */ - } __Reply__host_get_clock_service_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_ool_descriptor_t modules; - /* end of the kernel processed data */ - NDR_record_t NDR; - mach_msg_type_number_t modulesCnt; - } __Reply__kmod_get_info_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_ool_descriptor_t info; - /* end of the kernel processed data */ - NDR_record_t NDR; - mach_msg_type_number_t infoCnt; - } __Reply__host_virtual_physical_table_info_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t default_set; - /* end of the kernel processed data */ - } __Reply__processor_set_default_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t new_set; - mach_msg_port_descriptor_t new_name; - /* end of the kernel processed data */ - } __Reply__processor_set_create_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t entry_handle; - /* end of the kernel processed data */ - } __Reply__mach_memory_object_memory_entry_64_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - mach_msg_type_number_t host_info_outCnt; - integer_t host_info_out[68]; - } __Reply__host_statistics_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__host_request_notification_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_ool_descriptor_t lockgroup_info; - /* end of the kernel processed data */ - NDR_record_t NDR; - mach_msg_type_number_t lockgroup_infoCnt; - } __Reply__host_lockgroup_info_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - mach_msg_type_number_t host_info64_outCnt; - integer_t host_info64_out[256]; - } __Reply__host_statistics64_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_ool_descriptor_t names; - mach_msg_ool_descriptor_t info; - /* end of the kernel processed data */ - NDR_record_t NDR; - mach_msg_type_number_t namesCnt; - mach_msg_type_number_t infoCnt; - } __Reply__mach_zone_info_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t voucher; - /* end of the kernel processed data */ - } __Reply__host_create_mach_voucher_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t new_attr_control; - /* end of the kernel processed data */ - NDR_record_t NDR; - mach_voucher_attr_key_t new_key; - } __Reply__host_register_mach_voucher_attr_manager_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t new_attr_control; - /* end of the kernel processed data */ - } __Reply__host_register_well_known_mach_voucher_attr_manager_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__host_set_atm_diagnostic_flag_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - uint32_t diagnostic_flag; - } __Reply__host_get_atm_diagnostic_flag_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_ool_descriptor_t names; - mach_msg_ool_descriptor_t info; - mach_msg_ool_descriptor_t memory_info; - /* end of the kernel processed data */ - NDR_record_t NDR; - mach_msg_type_number_t namesCnt; - mach_msg_type_number_t infoCnt; - mach_msg_type_number_t memory_infoCnt; - } __Reply__mach_memory_info_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__host_set_multiuser_config_flags_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - uint32_t multiuser_flags; - } __Reply__host_get_multiuser_config_flags_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - uint32_t multiuser_mode; - } __Reply__host_check_multiuser_mode_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - mach_zone_info_t info; - } __Reply__mach_zone_info_for_zone_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif -#endif /* !__Reply__mach_host_subsystem__defined */ - -/* union of all replies */ - -#ifndef __ReplyUnion__mach_host_subsystem__defined -#define __ReplyUnion__mach_host_subsystem__defined -union __ReplyUnion__mach_host_subsystem { - __Reply__host_info_t Reply_host_info; - __Reply__host_kernel_version_t Reply_host_kernel_version; - __Reply___host_page_size_t Reply__host_page_size; - __Reply__mach_memory_object_memory_entry_t Reply_mach_memory_object_memory_entry; - __Reply__host_processor_info_t Reply_host_processor_info; - __Reply__host_get_io_master_t Reply_host_get_io_master; - __Reply__host_get_clock_service_t Reply_host_get_clock_service; - __Reply__kmod_get_info_t Reply_kmod_get_info; - __Reply__host_virtual_physical_table_info_t Reply_host_virtual_physical_table_info; - __Reply__processor_set_default_t Reply_processor_set_default; - __Reply__processor_set_create_t Reply_processor_set_create; - __Reply__mach_memory_object_memory_entry_64_t Reply_mach_memory_object_memory_entry_64; - __Reply__host_statistics_t Reply_host_statistics; - __Reply__host_request_notification_t Reply_host_request_notification; - __Reply__host_lockgroup_info_t Reply_host_lockgroup_info; - __Reply__host_statistics64_t Reply_host_statistics64; - __Reply__mach_zone_info_t Reply_mach_zone_info; - __Reply__host_create_mach_voucher_t Reply_host_create_mach_voucher; - __Reply__host_register_mach_voucher_attr_manager_t Reply_host_register_mach_voucher_attr_manager; - __Reply__host_register_well_known_mach_voucher_attr_manager_t Reply_host_register_well_known_mach_voucher_attr_manager; - __Reply__host_set_atm_diagnostic_flag_t Reply_host_set_atm_diagnostic_flag; - __Reply__host_get_atm_diagnostic_flag_t Reply_host_get_atm_diagnostic_flag; - __Reply__mach_memory_info_t Reply_mach_memory_info; - __Reply__host_set_multiuser_config_flags_t Reply_host_set_multiuser_config_flags; - __Reply__host_get_multiuser_config_flags_t Reply_host_get_multiuser_config_flags; - __Reply__host_check_multiuser_mode_t Reply_host_check_multiuser_mode; - __Reply__mach_zone_info_for_zone_t Reply_mach_zone_info_for_zone; -}; -#endif /* !__RequestUnion__mach_host_subsystem__defined */ - -#ifndef subsystem_to_name_map_mach_host -#define subsystem_to_name_map_mach_host \ - { "host_info", 200 },\ - { "host_kernel_version", 201 },\ - { "_host_page_size", 202 },\ - { "mach_memory_object_memory_entry", 203 },\ - { "host_processor_info", 204 },\ - { "host_get_io_master", 205 },\ - { "host_get_clock_service", 206 },\ - { "kmod_get_info", 207 },\ - { "host_virtual_physical_table_info", 209 },\ - { "processor_set_default", 213 },\ - { "processor_set_create", 214 },\ - { "mach_memory_object_memory_entry_64", 215 },\ - { "host_statistics", 216 },\ - { "host_request_notification", 217 },\ - { "host_lockgroup_info", 218 },\ - { "host_statistics64", 219 },\ - { "mach_zone_info", 220 },\ - { "host_create_mach_voucher", 222 },\ - { "host_register_mach_voucher_attr_manager", 223 },\ - { "host_register_well_known_mach_voucher_attr_manager", 224 },\ - { "host_set_atm_diagnostic_flag", 225 },\ - { "host_get_atm_diagnostic_flag", 226 },\ - { "mach_memory_info", 227 },\ - { "host_set_multiuser_config_flags", 228 },\ - { "host_get_multiuser_config_flags", 229 },\ - { "host_check_multiuser_mode", 230 },\ - { "mach_zone_info_for_zone", 231 } -#endif - -#ifdef __AfterMigUserHeader -__AfterMigUserHeader -#endif /* __AfterMigUserHeader */ - -#endif /* _mach_host_user_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.12-any/mach/mach_port.h b/lib/libc/include/any-macos.12-any/mach/mach_port.h deleted file mode 100644 index 646d755de1..0000000000 --- a/lib/libc/include/any-macos.12-any/mach/mach_port.h +++ /dev/null @@ -1,1939 +0,0 @@ -#ifndef _mach_port_user_ -#define _mach_port_user_ - -/* Module mach_port */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -/* BEGIN MIG_STRNCPY_ZEROFILL CODE */ - -#if defined(__has_include) -#if __has_include() -#ifndef USING_MIG_STRNCPY_ZEROFILL -#define USING_MIG_STRNCPY_ZEROFILL -#endif -#ifndef __MIG_STRNCPY_ZEROFILL_FORWARD_TYPE_DECLS__ -#define __MIG_STRNCPY_ZEROFILL_FORWARD_TYPE_DECLS__ -#ifdef __cplusplus -extern "C" { -#endif - extern int mig_strncpy_zerofill(char *dest, const char *src, int len) __attribute__((weak_import)); -#ifdef __cplusplus -} -#endif -#endif /* __MIG_STRNCPY_ZEROFILL_FORWARD_TYPE_DECLS__ */ -#endif /* __has_include() */ -#endif /* __has_include */ - -/* END MIG_STRNCPY_ZEROFILL CODE */ - - -#ifdef AUTOTEST -#ifndef FUNCTION_PTR_T -#define FUNCTION_PTR_T -typedef void (*function_ptr_t)(mach_port_t, char *, mach_msg_type_number_t); -typedef struct { - char *name; - function_ptr_t function; -} function_table_entry; -typedef function_table_entry *function_table_t; -#endif /* FUNCTION_PTR_T */ -#endif /* AUTOTEST */ - -#ifndef mach_port_MSG_COUNT -#define mach_port_MSG_COUNT 43 -#endif /* mach_port_MSG_COUNT */ - -#include -#include -#include -#include -#include -#include - -#ifdef __BeforeMigUserHeader -__BeforeMigUserHeader -#endif /* __BeforeMigUserHeader */ - -#include -__BEGIN_DECLS - - -/* Routine mach_port_names */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t mach_port_names -( - ipc_space_t task, - mach_port_name_array_t *names, - mach_msg_type_number_t *namesCnt, - mach_port_type_array_t *types, - mach_msg_type_number_t *typesCnt -); - -/* Routine mach_port_type */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t mach_port_type -( - ipc_space_t task, - mach_port_name_t name, - mach_port_type_t *ptype -); - -/* Routine mach_port_rename */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t mach_port_rename -( - ipc_space_t task, - mach_port_name_t old_name, - mach_port_name_t new_name -); - -/* Routine mach_port_allocate_name */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -__TVOS_PROHIBITED __WATCHOS_PROHIBITED -kern_return_t mach_port_allocate_name -( - ipc_space_t task, - mach_port_right_t right, - mach_port_name_t name -); - -/* Routine mach_port_allocate */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t mach_port_allocate -( - ipc_space_t task, - mach_port_right_t right, - mach_port_name_t *name -); - -/* Routine mach_port_destroy */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -__API_DEPRECATED("Inherently unsafe API: instead manage rights with " - "mach_port_destruct(), mach_port_deallocate() or mach_port_mod_refs()", - macos(10.0, 12.0), ios(2.0, 15.0), tvos(9.0, 15.0), watchos(2.0, 8.0)) -kern_return_t mach_port_destroy -( - ipc_space_t task, - mach_port_name_t name -); - -/* Routine mach_port_deallocate */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t mach_port_deallocate -( - ipc_space_t task, - mach_port_name_t name -); - -/* Routine mach_port_get_refs */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t mach_port_get_refs -( - ipc_space_t task, - mach_port_name_t name, - mach_port_right_t right, - mach_port_urefs_t *refs -); - -/* Routine mach_port_mod_refs */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t mach_port_mod_refs -( - ipc_space_t task, - mach_port_name_t name, - mach_port_right_t right, - mach_port_delta_t delta -); - -/* Routine mach_port_peek */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t mach_port_peek -( - ipc_space_t task, - mach_port_name_t name, - mach_msg_trailer_type_t trailer_type, - mach_port_seqno_t *request_seqnop, - mach_msg_size_t *msg_sizep, - mach_msg_id_t *msg_idp, - mach_msg_trailer_info_t trailer_infop, - mach_msg_type_number_t *trailer_infopCnt -); - -/* Routine mach_port_set_mscount */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t mach_port_set_mscount -( - ipc_space_t task, - mach_port_name_t name, - mach_port_mscount_t mscount -); - -/* Routine mach_port_get_set_status */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t mach_port_get_set_status -( - ipc_space_read_t task, - mach_port_name_t name, - mach_port_name_array_t *members, - mach_msg_type_number_t *membersCnt -); - -/* Routine mach_port_move_member */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t mach_port_move_member -( - ipc_space_t task, - mach_port_name_t member, - mach_port_name_t after -); - -/* Routine mach_port_request_notification */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t mach_port_request_notification -( - ipc_space_t task, - mach_port_name_t name, - mach_msg_id_t msgid, - mach_port_mscount_t sync, - mach_port_t notify, - mach_msg_type_name_t notifyPoly, - mach_port_t *previous -); - -/* Routine mach_port_insert_right */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t mach_port_insert_right -( - ipc_space_t task, - mach_port_name_t name, - mach_port_t poly, - mach_msg_type_name_t polyPoly -); - -/* Routine mach_port_extract_right */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t mach_port_extract_right -( - ipc_space_t task, - mach_port_name_t name, - mach_msg_type_name_t msgt_name, - mach_port_t *poly, - mach_msg_type_name_t *polyPoly -); - -/* Routine mach_port_set_seqno */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t mach_port_set_seqno -( - ipc_space_t task, - mach_port_name_t name, - mach_port_seqno_t seqno -); - -/* Routine mach_port_get_attributes */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t mach_port_get_attributes -( - ipc_space_read_t task, - mach_port_name_t name, - mach_port_flavor_t flavor, - mach_port_info_t port_info_out, - mach_msg_type_number_t *port_info_outCnt -); - -/* Routine mach_port_set_attributes */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t mach_port_set_attributes -( - ipc_space_t task, - mach_port_name_t name, - mach_port_flavor_t flavor, - mach_port_info_t port_info, - mach_msg_type_number_t port_infoCnt -); - -/* Routine mach_port_allocate_qos */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t mach_port_allocate_qos -( - ipc_space_t task, - mach_port_right_t right, - mach_port_qos_t *qos, - mach_port_name_t *name -); - -/* Routine mach_port_allocate_full */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t mach_port_allocate_full -( - ipc_space_t task, - mach_port_right_t right, - mach_port_t proto, - mach_port_qos_t *qos, - mach_port_name_t *name -); - -/* Routine task_set_port_space */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -__TVOS_PROHIBITED __WATCHOS_PROHIBITED -kern_return_t task_set_port_space -( - ipc_space_t task, - int table_entries -); - -/* Routine mach_port_get_srights */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t mach_port_get_srights -( - ipc_space_t task, - mach_port_name_t name, - mach_port_rights_t *srights -); - -/* Routine mach_port_space_info */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t mach_port_space_info -( - ipc_space_read_t space, - ipc_info_space_t *space_info, - ipc_info_name_array_t *table_info, - mach_msg_type_number_t *table_infoCnt, - ipc_info_tree_name_array_t *tree_info, - mach_msg_type_number_t *tree_infoCnt -); - -/* Routine mach_port_dnrequest_info */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t mach_port_dnrequest_info -( - ipc_space_t task, - mach_port_name_t name, - unsigned *dnr_total, - unsigned *dnr_used -); - -/* Routine mach_port_kernel_object */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t mach_port_kernel_object -( - ipc_space_read_t task, - mach_port_name_t name, - unsigned *object_type, - unsigned *object_addr -); - -/* Routine mach_port_insert_member */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t mach_port_insert_member -( - ipc_space_t task, - mach_port_name_t name, - mach_port_name_t pset -); - -/* Routine mach_port_extract_member */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t mach_port_extract_member -( - ipc_space_t task, - mach_port_name_t name, - mach_port_name_t pset -); - -/* Routine mach_port_get_context */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t mach_port_get_context -( - ipc_space_read_t task, - mach_port_name_t name, - mach_port_context_t *context -); - -/* Routine mach_port_set_context */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t mach_port_set_context -( - ipc_space_t task, - mach_port_name_t name, - mach_port_context_t context -); - -/* Routine mach_port_kobject */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t mach_port_kobject -( - ipc_space_read_t task, - mach_port_name_t name, - natural_t *object_type, - mach_vm_address_t *object_addr -); - -/* Routine mach_port_construct */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t mach_port_construct -( - ipc_space_t task, - mach_port_options_ptr_t options, - mach_port_context_t context, - mach_port_name_t *name -); - -/* Routine mach_port_destruct */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t mach_port_destruct -( - ipc_space_t task, - mach_port_name_t name, - mach_port_delta_t srdelta, - mach_port_context_t guard -); - -/* Routine mach_port_guard */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t mach_port_guard -( - ipc_space_t task, - mach_port_name_t name, - mach_port_context_t guard, - boolean_t strict -); - -/* Routine mach_port_unguard */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t mach_port_unguard -( - ipc_space_t task, - mach_port_name_t name, - mach_port_context_t guard -); - -/* Routine mach_port_space_basic_info */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t mach_port_space_basic_info -( - ipc_space_inspect_t task, - ipc_info_space_basic_t *basic_info -); - -/* Routine mach_port_guard_with_flags */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t mach_port_guard_with_flags -( - ipc_space_t task, - mach_port_name_t name, - mach_port_context_t guard, - uint64_t flags -); - -/* Routine mach_port_swap_guard */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t mach_port_swap_guard -( - ipc_space_t task, - mach_port_name_t name, - mach_port_context_t old_guard, - mach_port_context_t new_guard -); - -/* Routine mach_port_kobject_description */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t mach_port_kobject_description -( - ipc_space_read_t task, - mach_port_name_t name, - natural_t *object_type, - mach_vm_address_t *object_addr, - kobject_description_t description -); - -/* Routine mach_port_is_connection_for_service */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t mach_port_is_connection_for_service -( - ipc_space_t task, - mach_port_name_t connection_port, - mach_port_name_t service_port, - uint64_t *filter_policy_id -); - -/* Routine mach_port_get_service_port_info */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t mach_port_get_service_port_info -( - ipc_space_read_t task, - mach_port_name_t name, - mach_service_port_info_data_t *sp_info_out -); - -/* Routine mach_port_assert_attributes */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t mach_port_assert_attributes -( - ipc_space_t task, - mach_port_name_t name, - mach_port_flavor_t flavor, - mach_port_info_t info, - mach_msg_type_number_t infoCnt -); - -__END_DECLS - -/********************** Caution **************************/ -/* The following data types should be used to calculate */ -/* maximum message sizes only. The actual message may be */ -/* smaller, and the position of the arguments within the */ -/* message layout may vary from what is presented here. */ -/* For example, if any of the arguments are variable- */ -/* sized, and less than the maximum is sent, the data */ -/* will be packed tight in the actual message to reduce */ -/* the presence of holes. */ -/********************** Caution **************************/ - -/* typedefs for all requests */ - -#ifndef __Request__mach_port_subsystem__defined -#define __Request__mach_port_subsystem__defined - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - } __Request__mach_port_names_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - mach_port_name_t name; - } __Request__mach_port_type_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - mach_port_name_t old_name; - mach_port_name_t new_name; - } __Request__mach_port_rename_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - mach_port_right_t right; - mach_port_name_t name; - } __Request__mach_port_allocate_name_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - mach_port_right_t right; - } __Request__mach_port_allocate_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - mach_port_name_t name; - } __Request__mach_port_destroy_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - mach_port_name_t name; - } __Request__mach_port_deallocate_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - mach_port_name_t name; - mach_port_right_t right; - } __Request__mach_port_get_refs_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - mach_port_name_t name; - mach_port_right_t right; - mach_port_delta_t delta; - } __Request__mach_port_mod_refs_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - mach_port_name_t name; - mach_msg_trailer_type_t trailer_type; - mach_port_seqno_t request_seqnop; - mach_msg_type_number_t trailer_infopCnt; - } __Request__mach_port_peek_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - mach_port_name_t name; - mach_port_mscount_t mscount; - } __Request__mach_port_set_mscount_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - mach_port_name_t name; - } __Request__mach_port_get_set_status_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - mach_port_name_t member; - mach_port_name_t after; - } __Request__mach_port_move_member_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t notify; - /* end of the kernel processed data */ - NDR_record_t NDR; - mach_port_name_t name; - mach_msg_id_t msgid; - mach_port_mscount_t sync; - } __Request__mach_port_request_notification_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t poly; - /* end of the kernel processed data */ - NDR_record_t NDR; - mach_port_name_t name; - } __Request__mach_port_insert_right_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - mach_port_name_t name; - mach_msg_type_name_t msgt_name; - } __Request__mach_port_extract_right_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - mach_port_name_t name; - mach_port_seqno_t seqno; - } __Request__mach_port_set_seqno_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - mach_port_name_t name; - mach_port_flavor_t flavor; - mach_msg_type_number_t port_info_outCnt; - } __Request__mach_port_get_attributes_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - mach_port_name_t name; - mach_port_flavor_t flavor; - mach_msg_type_number_t port_infoCnt; - integer_t port_info[17]; - } __Request__mach_port_set_attributes_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - mach_port_right_t right; - mach_port_qos_t qos; - } __Request__mach_port_allocate_qos_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t proto; - /* end of the kernel processed data */ - NDR_record_t NDR; - mach_port_right_t right; - mach_port_qos_t qos; - mach_port_name_t name; - } __Request__mach_port_allocate_full_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - int table_entries; - } __Request__task_set_port_space_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - mach_port_name_t name; - } __Request__mach_port_get_srights_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - } __Request__mach_port_space_info_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - mach_port_name_t name; - } __Request__mach_port_dnrequest_info_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - mach_port_name_t name; - } __Request__mach_port_kernel_object_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - mach_port_name_t name; - mach_port_name_t pset; - } __Request__mach_port_insert_member_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - mach_port_name_t name; - mach_port_name_t pset; - } __Request__mach_port_extract_member_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - mach_port_name_t name; - } __Request__mach_port_get_context_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - mach_port_name_t name; - mach_port_context_t context; - } __Request__mach_port_set_context_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - mach_port_name_t name; - } __Request__mach_port_kobject_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_ool_descriptor_t options; - /* end of the kernel processed data */ - NDR_record_t NDR; - mach_port_context_t context; - } __Request__mach_port_construct_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - mach_port_name_t name; - mach_port_delta_t srdelta; - mach_port_context_t guard; - } __Request__mach_port_destruct_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - mach_port_name_t name; - mach_port_context_t guard; - boolean_t strict; - } __Request__mach_port_guard_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - mach_port_name_t name; - mach_port_context_t guard; - } __Request__mach_port_unguard_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - } __Request__mach_port_space_basic_info_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - mach_port_name_t name; - mach_port_context_t guard; - uint64_t flags; - } __Request__mach_port_guard_with_flags_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - mach_port_name_t name; - mach_port_context_t old_guard; - mach_port_context_t new_guard; - } __Request__mach_port_swap_guard_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - mach_port_name_t name; - } __Request__mach_port_kobject_description_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - mach_port_name_t connection_port; - mach_port_name_t service_port; - } __Request__mach_port_is_connection_for_service_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - mach_port_name_t name; - } __Request__mach_port_get_service_port_info_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - mach_port_name_t name; - mach_port_flavor_t flavor; - mach_msg_type_number_t infoCnt; - integer_t info[17]; - } __Request__mach_port_assert_attributes_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif -#endif /* !__Request__mach_port_subsystem__defined */ - -/* union of all requests */ - -#ifndef __RequestUnion__mach_port_subsystem__defined -#define __RequestUnion__mach_port_subsystem__defined -union __RequestUnion__mach_port_subsystem { - __Request__mach_port_names_t Request_mach_port_names; - __Request__mach_port_type_t Request_mach_port_type; - __Request__mach_port_rename_t Request_mach_port_rename; - __Request__mach_port_allocate_name_t Request_mach_port_allocate_name; - __Request__mach_port_allocate_t Request_mach_port_allocate; - __Request__mach_port_destroy_t Request_mach_port_destroy; - __Request__mach_port_deallocate_t Request_mach_port_deallocate; - __Request__mach_port_get_refs_t Request_mach_port_get_refs; - __Request__mach_port_mod_refs_t Request_mach_port_mod_refs; - __Request__mach_port_peek_t Request_mach_port_peek; - __Request__mach_port_set_mscount_t Request_mach_port_set_mscount; - __Request__mach_port_get_set_status_t Request_mach_port_get_set_status; - __Request__mach_port_move_member_t Request_mach_port_move_member; - __Request__mach_port_request_notification_t Request_mach_port_request_notification; - __Request__mach_port_insert_right_t Request_mach_port_insert_right; - __Request__mach_port_extract_right_t Request_mach_port_extract_right; - __Request__mach_port_set_seqno_t Request_mach_port_set_seqno; - __Request__mach_port_get_attributes_t Request_mach_port_get_attributes; - __Request__mach_port_set_attributes_t Request_mach_port_set_attributes; - __Request__mach_port_allocate_qos_t Request_mach_port_allocate_qos; - __Request__mach_port_allocate_full_t Request_mach_port_allocate_full; - __Request__task_set_port_space_t Request_task_set_port_space; - __Request__mach_port_get_srights_t Request_mach_port_get_srights; - __Request__mach_port_space_info_t Request_mach_port_space_info; - __Request__mach_port_dnrequest_info_t Request_mach_port_dnrequest_info; - __Request__mach_port_kernel_object_t Request_mach_port_kernel_object; - __Request__mach_port_insert_member_t Request_mach_port_insert_member; - __Request__mach_port_extract_member_t Request_mach_port_extract_member; - __Request__mach_port_get_context_t Request_mach_port_get_context; - __Request__mach_port_set_context_t Request_mach_port_set_context; - __Request__mach_port_kobject_t Request_mach_port_kobject; - __Request__mach_port_construct_t Request_mach_port_construct; - __Request__mach_port_destruct_t Request_mach_port_destruct; - __Request__mach_port_guard_t Request_mach_port_guard; - __Request__mach_port_unguard_t Request_mach_port_unguard; - __Request__mach_port_space_basic_info_t Request_mach_port_space_basic_info; - __Request__mach_port_guard_with_flags_t Request_mach_port_guard_with_flags; - __Request__mach_port_swap_guard_t Request_mach_port_swap_guard; - __Request__mach_port_kobject_description_t Request_mach_port_kobject_description; - __Request__mach_port_is_connection_for_service_t Request_mach_port_is_connection_for_service; - __Request__mach_port_get_service_port_info_t Request_mach_port_get_service_port_info; - __Request__mach_port_assert_attributes_t Request_mach_port_assert_attributes; -}; -#endif /* !__RequestUnion__mach_port_subsystem__defined */ -/* typedefs for all replies */ - -#ifndef __Reply__mach_port_subsystem__defined -#define __Reply__mach_port_subsystem__defined - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_ool_descriptor_t names; - mach_msg_ool_descriptor_t types; - /* end of the kernel processed data */ - NDR_record_t NDR; - mach_msg_type_number_t namesCnt; - mach_msg_type_number_t typesCnt; - } __Reply__mach_port_names_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - mach_port_type_t ptype; - } __Reply__mach_port_type_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__mach_port_rename_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__mach_port_allocate_name_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - mach_port_name_t name; - } __Reply__mach_port_allocate_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__mach_port_destroy_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__mach_port_deallocate_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - mach_port_urefs_t refs; - } __Reply__mach_port_get_refs_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__mach_port_mod_refs_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - mach_port_seqno_t request_seqnop; - mach_msg_size_t msg_sizep; - mach_msg_id_t msg_idp; - mach_msg_type_number_t trailer_infopCnt; - char trailer_infop[68]; - } __Reply__mach_port_peek_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__mach_port_set_mscount_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_ool_descriptor_t members; - /* end of the kernel processed data */ - NDR_record_t NDR; - mach_msg_type_number_t membersCnt; - } __Reply__mach_port_get_set_status_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__mach_port_move_member_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t previous; - /* end of the kernel processed data */ - } __Reply__mach_port_request_notification_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__mach_port_insert_right_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t poly; - /* end of the kernel processed data */ - } __Reply__mach_port_extract_right_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__mach_port_set_seqno_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - mach_msg_type_number_t port_info_outCnt; - integer_t port_info_out[17]; - } __Reply__mach_port_get_attributes_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__mach_port_set_attributes_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - mach_port_qos_t qos; - mach_port_name_t name; - } __Reply__mach_port_allocate_qos_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - mach_port_qos_t qos; - mach_port_name_t name; - } __Reply__mach_port_allocate_full_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__task_set_port_space_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - mach_port_rights_t srights; - } __Reply__mach_port_get_srights_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_ool_descriptor_t table_info; - mach_msg_ool_descriptor_t tree_info; - /* end of the kernel processed data */ - NDR_record_t NDR; - ipc_info_space_t space_info; - mach_msg_type_number_t table_infoCnt; - mach_msg_type_number_t tree_infoCnt; - } __Reply__mach_port_space_info_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - unsigned dnr_total; - unsigned dnr_used; - } __Reply__mach_port_dnrequest_info_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - unsigned object_type; - unsigned object_addr; - } __Reply__mach_port_kernel_object_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__mach_port_insert_member_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__mach_port_extract_member_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - mach_port_context_t context; - } __Reply__mach_port_get_context_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__mach_port_set_context_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - natural_t object_type; - mach_vm_address_t object_addr; - } __Reply__mach_port_kobject_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - mach_port_name_t name; - } __Reply__mach_port_construct_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__mach_port_destruct_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__mach_port_guard_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__mach_port_unguard_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - ipc_info_space_basic_t basic_info; - } __Reply__mach_port_space_basic_info_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__mach_port_guard_with_flags_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__mach_port_swap_guard_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - natural_t object_type; - mach_vm_address_t object_addr; - mach_msg_type_number_t descriptionOffset; /* MiG doesn't use it */ - mach_msg_type_number_t descriptionCnt; - char description[512]; - } __Reply__mach_port_kobject_description_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - uint64_t filter_policy_id; - } __Reply__mach_port_is_connection_for_service_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - mach_service_port_info_data_t sp_info_out; - } __Reply__mach_port_get_service_port_info_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__mach_port_assert_attributes_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif -#endif /* !__Reply__mach_port_subsystem__defined */ - -/* union of all replies */ - -#ifndef __ReplyUnion__mach_port_subsystem__defined -#define __ReplyUnion__mach_port_subsystem__defined -union __ReplyUnion__mach_port_subsystem { - __Reply__mach_port_names_t Reply_mach_port_names; - __Reply__mach_port_type_t Reply_mach_port_type; - __Reply__mach_port_rename_t Reply_mach_port_rename; - __Reply__mach_port_allocate_name_t Reply_mach_port_allocate_name; - __Reply__mach_port_allocate_t Reply_mach_port_allocate; - __Reply__mach_port_destroy_t Reply_mach_port_destroy; - __Reply__mach_port_deallocate_t Reply_mach_port_deallocate; - __Reply__mach_port_get_refs_t Reply_mach_port_get_refs; - __Reply__mach_port_mod_refs_t Reply_mach_port_mod_refs; - __Reply__mach_port_peek_t Reply_mach_port_peek; - __Reply__mach_port_set_mscount_t Reply_mach_port_set_mscount; - __Reply__mach_port_get_set_status_t Reply_mach_port_get_set_status; - __Reply__mach_port_move_member_t Reply_mach_port_move_member; - __Reply__mach_port_request_notification_t Reply_mach_port_request_notification; - __Reply__mach_port_insert_right_t Reply_mach_port_insert_right; - __Reply__mach_port_extract_right_t Reply_mach_port_extract_right; - __Reply__mach_port_set_seqno_t Reply_mach_port_set_seqno; - __Reply__mach_port_get_attributes_t Reply_mach_port_get_attributes; - __Reply__mach_port_set_attributes_t Reply_mach_port_set_attributes; - __Reply__mach_port_allocate_qos_t Reply_mach_port_allocate_qos; - __Reply__mach_port_allocate_full_t Reply_mach_port_allocate_full; - __Reply__task_set_port_space_t Reply_task_set_port_space; - __Reply__mach_port_get_srights_t Reply_mach_port_get_srights; - __Reply__mach_port_space_info_t Reply_mach_port_space_info; - __Reply__mach_port_dnrequest_info_t Reply_mach_port_dnrequest_info; - __Reply__mach_port_kernel_object_t Reply_mach_port_kernel_object; - __Reply__mach_port_insert_member_t Reply_mach_port_insert_member; - __Reply__mach_port_extract_member_t Reply_mach_port_extract_member; - __Reply__mach_port_get_context_t Reply_mach_port_get_context; - __Reply__mach_port_set_context_t Reply_mach_port_set_context; - __Reply__mach_port_kobject_t Reply_mach_port_kobject; - __Reply__mach_port_construct_t Reply_mach_port_construct; - __Reply__mach_port_destruct_t Reply_mach_port_destruct; - __Reply__mach_port_guard_t Reply_mach_port_guard; - __Reply__mach_port_unguard_t Reply_mach_port_unguard; - __Reply__mach_port_space_basic_info_t Reply_mach_port_space_basic_info; - __Reply__mach_port_guard_with_flags_t Reply_mach_port_guard_with_flags; - __Reply__mach_port_swap_guard_t Reply_mach_port_swap_guard; - __Reply__mach_port_kobject_description_t Reply_mach_port_kobject_description; - __Reply__mach_port_is_connection_for_service_t Reply_mach_port_is_connection_for_service; - __Reply__mach_port_get_service_port_info_t Reply_mach_port_get_service_port_info; - __Reply__mach_port_assert_attributes_t Reply_mach_port_assert_attributes; -}; -#endif /* !__RequestUnion__mach_port_subsystem__defined */ - -#ifndef subsystem_to_name_map_mach_port -#define subsystem_to_name_map_mach_port \ - { "mach_port_names", 3200 },\ - { "mach_port_type", 3201 },\ - { "mach_port_rename", 3202 },\ - { "mach_port_allocate_name", 3203 },\ - { "mach_port_allocate", 3204 },\ - { "mach_port_destroy", 3205 },\ - { "mach_port_deallocate", 3206 },\ - { "mach_port_get_refs", 3207 },\ - { "mach_port_mod_refs", 3208 },\ - { "mach_port_peek", 3209 },\ - { "mach_port_set_mscount", 3210 },\ - { "mach_port_get_set_status", 3211 },\ - { "mach_port_move_member", 3212 },\ - { "mach_port_request_notification", 3213 },\ - { "mach_port_insert_right", 3214 },\ - { "mach_port_extract_right", 3215 },\ - { "mach_port_set_seqno", 3216 },\ - { "mach_port_get_attributes", 3217 },\ - { "mach_port_set_attributes", 3218 },\ - { "mach_port_allocate_qos", 3219 },\ - { "mach_port_allocate_full", 3220 },\ - { "task_set_port_space", 3221 },\ - { "mach_port_get_srights", 3222 },\ - { "mach_port_space_info", 3223 },\ - { "mach_port_dnrequest_info", 3224 },\ - { "mach_port_kernel_object", 3225 },\ - { "mach_port_insert_member", 3226 },\ - { "mach_port_extract_member", 3227 },\ - { "mach_port_get_context", 3228 },\ - { "mach_port_set_context", 3229 },\ - { "mach_port_kobject", 3230 },\ - { "mach_port_construct", 3231 },\ - { "mach_port_destruct", 3232 },\ - { "mach_port_guard", 3233 },\ - { "mach_port_unguard", 3234 },\ - { "mach_port_space_basic_info", 3235 },\ - { "mach_port_guard_with_flags", 3237 },\ - { "mach_port_swap_guard", 3238 },\ - { "mach_port_kobject_description", 3239 },\ - { "mach_port_is_connection_for_service", 3240 },\ - { "mach_port_get_service_port_info", 3241 },\ - { "mach_port_assert_attributes", 3242 } -#endif - -#ifdef __AfterMigUserHeader -__AfterMigUserHeader -#endif /* __AfterMigUserHeader */ - -#endif /* _mach_port_user_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.12-any/mach/mach_types.h b/lib/libc/include/any-macos.12-any/mach/mach_types.h deleted file mode 100644 index a2544c4099..0000000000 --- a/lib/libc/include/any-macos.12-any/mach/mach_types.h +++ /dev/null @@ -1,288 +0,0 @@ -/* - * Copyright (c) 2000-2018 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@ - */ -/* - * @OSF_COPYRIGHT@ - */ -/* - * Mach Operating System - * Copyright (c) 1991,1990,1989,1988 Carnegie Mellon University - * All Rights Reserved. - * - * Permission to use, copy, modify and distribute this software and its - * documentation is hereby granted, provided that both the copyright - * notice and this permission notice appear in all copies of the - * software, derivative works or modified versions, and any portions - * thereof, and that both notices appear in supporting documentation. - * - * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" - * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR - * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. - * - * Carnegie Mellon requests users of this software to return to - * - * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU - * School of Computer Science - * Carnegie Mellon University - * Pittsburgh PA 15213-3890 - * - * any improvements or extensions that they make and grant Carnegie Mellon - * the rights to redistribute these changes. - */ -/* - */ -/* - * NOTICE: This file was modified by SPARTA, Inc. in 2005 to introduce - * support for mandatory and extensible security protections. This notice - * is included in support of clause 2.2 (b) of the Apple Public License, - * Version 2.0. - */ -/* - * File: mach/mach_types.h - * Author: Avadis Tevanian, Jr., Michael Wayne Young - * Date: 1986 - * - * Mach external interface definitions. - * - */ - -#ifndef _MACH_MACH_TYPES_H_ -#define _MACH_MACH_TYPES_H_ - -#include - -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -/* - * If we are not in the kernel, then these will all be represented by - * ports at user-space. - */ -typedef mach_port_t task_t; -typedef mach_port_t task_name_t; -typedef mach_port_t task_policy_set_t; -typedef mach_port_t task_policy_get_t; -typedef mach_port_t task_inspect_t; -typedef mach_port_t task_read_t; -typedef mach_port_t task_suspension_token_t; -typedef mach_port_t thread_t; -typedef mach_port_t thread_act_t; -typedef mach_port_t thread_inspect_t; -typedef mach_port_t thread_read_t; -typedef mach_port_t ipc_space_t; -typedef mach_port_t ipc_space_read_t; -typedef mach_port_t ipc_space_inspect_t; -typedef mach_port_t coalition_t; -typedef mach_port_t host_t; -typedef mach_port_t host_priv_t; -typedef mach_port_t host_security_t; -typedef mach_port_t processor_t; -typedef mach_port_t processor_set_t; -typedef mach_port_t processor_set_control_t; -typedef mach_port_t semaphore_t; -typedef mach_port_t lock_set_t; -typedef mach_port_t ledger_t; -typedef mach_port_t alarm_t; -typedef mach_port_t clock_serv_t; -typedef mach_port_t clock_ctrl_t; -typedef mach_port_t arcade_register_t; -typedef mach_port_t ipc_eventlink_t; -typedef mach_port_t eventlink_port_pair_t[2]; -typedef mach_port_t task_id_token_t; - - -/* - * These aren't really unique types. They are just called - * out as unique types at one point in history. So we list - * them here for compatibility. - */ -typedef processor_set_t processor_set_name_t; - -/* - * These types are just hard-coded as ports - */ -typedef mach_port_t clock_reply_t; -typedef mach_port_t bootstrap_t; -typedef mach_port_t mem_entry_name_port_t; -typedef mach_port_t exception_handler_t; -typedef exception_handler_t *exception_handler_array_t; -typedef mach_port_t vm_task_entry_t; -typedef mach_port_t io_master_t; -typedef mach_port_t UNDServerRef; -typedef mach_port_t mach_eventlink_t; - -typedef ipc_info_port_t exception_handler_info_t; - -/* - * Mig doesn't translate the components of an array. - * For example, Mig won't use the thread_t translations - * to translate a thread_array_t argument. So, these definitions - * are not completely accurate at the moment for other kernel - * components. - */ -typedef task_t *task_array_t; -typedef thread_t *thread_array_t; -typedef processor_set_t *processor_set_array_t; -typedef processor_set_t *processor_set_name_array_t; -typedef processor_t *processor_array_t; -typedef thread_act_t *thread_act_array_t; -typedef ledger_t *ledger_array_t; - -/* - * However the real mach_types got declared, we also have to declare - * types with "port" in the name for compatability with the way OSF - * had declared the user interfaces at one point. Someday these should - * go away. - */ -typedef task_t task_port_t; -typedef task_array_t task_port_array_t; -typedef thread_t thread_port_t; -typedef thread_array_t thread_port_array_t; -typedef ipc_space_t ipc_space_port_t; -typedef host_t host_name_t; -typedef host_t host_name_port_t; -typedef processor_set_t processor_set_port_t; -typedef processor_set_t processor_set_name_port_t; -typedef processor_set_array_t processor_set_name_port_array_t; -typedef processor_set_t processor_set_control_port_t; -typedef processor_t processor_port_t; -typedef processor_array_t processor_port_array_t; -typedef thread_act_t thread_act_port_t; -typedef thread_act_array_t thread_act_port_array_t; -typedef semaphore_t semaphore_port_t; -typedef lock_set_t lock_set_port_t; -typedef ledger_t ledger_port_t; -typedef ledger_array_t ledger_port_array_t; -typedef alarm_t alarm_port_t; -typedef clock_serv_t clock_serv_port_t; -typedef clock_ctrl_t clock_ctrl_port_t; -typedef exception_handler_t exception_port_t; -typedef exception_handler_array_t exception_port_arrary_t; -typedef char vfs_path_t[4096]; -typedef char nspace_path_t[1024]; /* 1024 == PATH_MAX */ -typedef char nspace_name_t[1024]; /* 1024 == PATH_MAX */ - -#define TASK_NULL ((task_t) 0) -#define TASK_NAME_NULL ((task_name_t) 0) -#define TASK_INSPECT_NULL ((task_inspect_t) 0) -#define TASK_READ_NULL ((task_read_t) 0) -#define THREAD_NULL ((thread_t) 0) -#define THREAD_INSPECT_NULL ((thread_inspect_t) 0) -#define THREAD_READ_NULL ((thread_read_t) 0) -#define TID_NULL ((uint64_t) 0) -#define THR_ACT_NULL ((thread_act_t) 0) -#define IPC_SPACE_NULL ((ipc_space_t) 0) -#define IPC_SPACE_READ_NULL ((ipc_space_read_t) 0) -#define IPC_SPACE_INSPECT_NULL ((ipc_space_inspect_t) 0) -#define COALITION_NULL ((coalition_t) 0) -#define HOST_NULL ((host_t) 0) -#define HOST_PRIV_NULL ((host_priv_t) 0) -#define HOST_SECURITY_NULL ((host_security_t) 0) -#define PROCESSOR_SET_NULL ((processor_set_t) 0) -#define PROCESSOR_NULL ((processor_t) 0) -#define SEMAPHORE_NULL ((semaphore_t) 0) -#define LOCK_SET_NULL ((lock_set_t) 0) -#define LEDGER_NULL ((ledger_t) 0) -#define ALARM_NULL ((alarm_t) 0) -#define CLOCK_NULL ((clock_t) 0) -#define UND_SERVER_NULL ((UNDServerRef) 0) -#define ARCADE_REG_NULL ((arcade_register_t) 0) -#define MACH_EVENTLINK_NULL ((mach_eventlink_t) 0) -#define IPC_EVENTLINK_NULL ((ipc_eventlink_t) 0) -#define TASK_ID_TOKEN_NULL ((task_id_token_t) 0) - -/* capability strictly _DECREASING_. - * not ordered the other way around because we want TASK_FLAVOR_CONTROL - * to be closest to the itk_lock. see task.h. - */ -typedef unsigned int mach_task_flavor_t; -#define TASK_FLAVOR_CONTROL 0 /* a task_t */ -#define TASK_FLAVOR_READ 1 /* a task_read_t */ -#define TASK_FLAVOR_INSPECT 2 /* a task_inspect_t */ -#define TASK_FLAVOR_NAME 3 /* a task_name_t */ - -#define TASK_FLAVOR_MAX TASK_FLAVOR_NAME - -/* capability strictly _DECREASING_ */ -typedef unsigned int mach_thread_flavor_t; -#define THREAD_FLAVOR_CONTROL 0 /* a thread_t */ -#define THREAD_FLAVOR_READ 1 /* a thread_read_t */ -#define THREAD_FLAVOR_INSPECT 2 /* a thread_inspect_t */ - -#define THREAD_FLAVOR_MAX THREAD_FLAVOR_INSPECT - -/* DEPRECATED */ -typedef natural_t ledger_item_t; -#define LEDGER_ITEM_INFINITY ((ledger_item_t) (~0)) - -typedef int64_t ledger_amount_t; -#define LEDGER_LIMIT_INFINITY ((ledger_amount_t)((1ULL << 63) - 1)) - -typedef mach_vm_offset_t *emulation_vector_t; -typedef char *user_subsystem_t; - -typedef char *labelstr_t; -/* - * Backwards compatibility, for those programs written - * before mach/{std,mach}_types.{defs,h} were set up. - */ -#include - -#endif /* _MACH_MACH_TYPES_H_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.12-any/mach/mach_voucher_types.h b/lib/libc/include/any-macos.12-any/mach/mach_voucher_types.h deleted file mode 100644 index bf1d7d14d3..0000000000 --- a/lib/libc/include/any-macos.12-any/mach/mach_voucher_types.h +++ /dev/null @@ -1,246 +0,0 @@ -/* - * Copyright (c) 2013 Apple Computer, 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 _MACH_VOUCHER_TYPES_H_ -#define _MACH_VOUCHER_TYPES_H_ - -#include -#include -#include - -/* - * Mach Voucher - an immutable collection of attribute value handles. - * - * The mach voucher is such that it can be passed between processes - * as a Mach port send right (by convention in the mach_msg_header_t’s - * msgh_voucher field). - * - * You may construct a new mach voucher by passing a construction - * recipe to host_create_mach_voucher(). The construction recipe supports - * generic commands for copying, removing, and redeeming attribute value - * handles from previous vouchers, or running attribute-mananger-specific - * commands within the recipe. - * - * Once the set of attribute value handles is constructed and returned, - * that set will not change for the life of the voucher (just because the - * attribute value handle itself doesn't change, the value the handle refers - * to is free to change at will). - */ -typedef mach_port_t mach_voucher_t; -#define MACH_VOUCHER_NULL ((mach_voucher_t) 0) - -typedef mach_port_name_t mach_voucher_name_t; -#define MACH_VOUCHER_NAME_NULL ((mach_voucher_name_t) 0) - -typedef mach_voucher_name_t *mach_voucher_name_array_t; -#define MACH_VOUCHER_NAME_ARRAY_NULL ((mach_voucher_name_array_t) 0) - -/* - * This type changes appearance between user-space and kernel. It is - * a port at user-space and a reference to an ipc_voucher structure in-kernel. - */ -typedef mach_voucher_t ipc_voucher_t; -#define IPC_VOUCHER_NULL ((ipc_voucher_t) 0) - -/* - * mach_voucher_selector_t - A means of specifying which thread/task value to extract - - * the current voucher set at this level, or a voucher representing - * the full [layered] effective value for the task/thread. - */ -typedef uint32_t mach_voucher_selector_t; -#define MACH_VOUCHER_SELECTOR_CURRENT ((mach_voucher_selector_t)0) -#define MACH_VOUCHER_SELECTOR_EFFECTIVE ((mach_voucher_selector_t)1) - - -/* - * mach_voucher_attr_key_t - The key used to identify a particular managed resource or - * to select the specific resource manager’s data associated - * with a given voucher. - */ -typedef uint32_t mach_voucher_attr_key_t; -typedef mach_voucher_attr_key_t *mach_voucher_attr_key_array_t; - -#define MACH_VOUCHER_ATTR_KEY_ALL ((mach_voucher_attr_key_t)~0) -#define MACH_VOUCHER_ATTR_KEY_NONE ((mach_voucher_attr_key_t)0) - -/* other well-known-keys will be added here */ -#define MACH_VOUCHER_ATTR_KEY_ATM ((mach_voucher_attr_key_t)1) -#define MACH_VOUCHER_ATTR_KEY_IMPORTANCE ((mach_voucher_attr_key_t)2) -#define MACH_VOUCHER_ATTR_KEY_BANK ((mach_voucher_attr_key_t)3) -#define MACH_VOUCHER_ATTR_KEY_PTHPRIORITY ((mach_voucher_attr_key_t)4) - -#define MACH_VOUCHER_ATTR_KEY_USER_DATA ((mach_voucher_attr_key_t)7) -#define MACH_VOUCHER_ATTR_KEY_BITS MACH_VOUCHER_ATTR_KEY_USER_DATA /* deprecated */ -#define MACH_VOUCHER_ATTR_KEY_TEST ((mach_voucher_attr_key_t)8) - -#define MACH_VOUCHER_ATTR_KEY_NUM_WELL_KNOWN MACH_VOUCHER_ATTR_KEY_TEST - -/* - * mach_voucher_attr_content_t - * - * Data passed to a resource manager for modifying an attribute - * value or returned from the resource manager in response to a - * request to externalize the current value for that attribute. - */ -typedef uint8_t *mach_voucher_attr_content_t; -typedef uint32_t mach_voucher_attr_content_size_t; - -/* - * mach_voucher_attr_command_t - The private verbs implemented by each voucher - * attribute manager via mach_voucher_attr_command(). - */ -typedef uint32_t mach_voucher_attr_command_t; - -/* - * mach_voucher_attr_recipe_command_t - * - * The verbs used to create/morph a voucher attribute value. - * We define some system-wide commands here - related to creation, and transport of - * vouchers and attributes. Additional commands can be defined by, and supported by, - * individual attribute resource managers. - */ -typedef uint32_t mach_voucher_attr_recipe_command_t; -typedef mach_voucher_attr_recipe_command_t *mach_voucher_attr_recipe_command_array_t; - -#define MACH_VOUCHER_ATTR_NOOP ((mach_voucher_attr_recipe_command_t)0) -#define MACH_VOUCHER_ATTR_COPY ((mach_voucher_attr_recipe_command_t)1) -#define MACH_VOUCHER_ATTR_REMOVE ((mach_voucher_attr_recipe_command_t)2) -#define MACH_VOUCHER_ATTR_SET_VALUE_HANDLE ((mach_voucher_attr_recipe_command_t)3) -#define MACH_VOUCHER_ATTR_AUTO_REDEEM ((mach_voucher_attr_recipe_command_t)4) -#define MACH_VOUCHER_ATTR_SEND_PREPROCESS ((mach_voucher_attr_recipe_command_t)5) - -/* redeem is on its way out? */ -#define MACH_VOUCHER_ATTR_REDEEM ((mach_voucher_attr_recipe_command_t)10) - -/* recipe command(s) for importance attribute manager */ -#define MACH_VOUCHER_ATTR_IMPORTANCE_SELF ((mach_voucher_attr_recipe_command_t)200) - -/* recipe command(s) for bit-store attribute manager */ -#define MACH_VOUCHER_ATTR_USER_DATA_STORE ((mach_voucher_attr_recipe_command_t)211) -#define MACH_VOUCHER_ATTR_BITS_STORE MACH_VOUCHER_ATTR_USER_DATA_STORE /* deprecated */ - -/* recipe command(s) for test attribute manager */ -#define MACH_VOUCHER_ATTR_TEST_STORE MACH_VOUCHER_ATTR_USER_DATA_STORE - -/* - * mach_voucher_attr_recipe_t - * - * An element in a recipe list to create a voucher. - */ -#pragma pack(push, 1) - -typedef struct mach_voucher_attr_recipe_data { - mach_voucher_attr_key_t key; - mach_voucher_attr_recipe_command_t command; - mach_voucher_name_t previous_voucher; - mach_voucher_attr_content_size_t content_size; - uint8_t content[]; -} mach_voucher_attr_recipe_data_t; -typedef mach_voucher_attr_recipe_data_t *mach_voucher_attr_recipe_t; -typedef mach_msg_type_number_t mach_voucher_attr_recipe_size_t; - -/* Make the above palatable to MIG */ -typedef uint8_t *mach_voucher_attr_raw_recipe_t; -typedef mach_voucher_attr_raw_recipe_t mach_voucher_attr_raw_recipe_array_t; -typedef mach_msg_type_number_t mach_voucher_attr_raw_recipe_size_t; -typedef mach_msg_type_number_t mach_voucher_attr_raw_recipe_array_size_t; - -#define MACH_VOUCHER_ATTR_MAX_RAW_RECIPE_ARRAY_SIZE 5120 -#define MACH_VOUCHER_TRAP_STACK_LIMIT 256 - -#pragma pack(pop) - -/* - * VOUCHER ATTRIBUTE MANAGER Writer types - */ - -/* - * mach_voucher_attr_manager_t - * - * A handle through which the mach voucher mechanism communicates with the voucher - * attribute manager for a given attribute key. - */ -typedef mach_port_t mach_voucher_attr_manager_t; -#define MACH_VOUCHER_ATTR_MANAGER_NULL ((mach_voucher_attr_manager_t) 0) - -/* - * mach_voucher_attr_control_t - * - * A handle provided to the voucher attribute manager for a given attribute key - * through which it makes inquiries or control operations of the mach voucher mechanism. - */ -typedef mach_port_t mach_voucher_attr_control_t; -#define MACH_VOUCHER_ATTR_CONTROL_NULL ((mach_voucher_attr_control_t) 0) - -/* - * These types are different in-kernel vs user-space. They are ports in user-space, - * pointers to opaque structs in most of the kernel, and pointers to known struct - * types in the Mach portion of the kernel. - */ -typedef mach_port_t ipc_voucher_attr_manager_t; -typedef mach_port_t ipc_voucher_attr_control_t; -#define IPC_VOUCHER_ATTR_MANAGER_NULL ((ipc_voucher_attr_manager_t) 0) -#define IPC_VOUCHER_ATTR_CONTROL_NULL ((ipc_voucher_attr_control_t) 0) - -/* - * mach_voucher_attr_value_handle_t - * - * The private handle that the voucher attribute manager provides to - * the mach voucher mechanism to represent a given attr content/value. - */ -typedef uint64_t mach_voucher_attr_value_handle_t __kernel_ptr_semantics; -typedef mach_voucher_attr_value_handle_t *mach_voucher_attr_value_handle_array_t; - -typedef mach_msg_type_number_t mach_voucher_attr_value_handle_array_size_t; -#define MACH_VOUCHER_ATTR_VALUE_MAX_NESTED ((mach_voucher_attr_value_handle_array_size_t)4) - -typedef uint32_t mach_voucher_attr_value_reference_t; -typedef uint32_t mach_voucher_attr_value_flags_t; -#define MACH_VOUCHER_ATTR_VALUE_FLAGS_NONE ((mach_voucher_attr_value_flags_t)0) -#define MACH_VOUCHER_ATTR_VALUE_FLAGS_PERSIST ((mach_voucher_attr_value_flags_t)1) - -/* USE - TBD */ -typedef uint32_t mach_voucher_attr_control_flags_t; -#define MACH_VOUCHER_ATTR_CONTROL_FLAGS_NONE ((mach_voucher_attr_control_flags_t)0) - -/* - * Commands and types for the IPC Importance Attribute Manager - * - * These are the valid mach_voucher_attr_command() options with the - * MACH_VOUCHER_ATTR_KEY_IMPORTANCE key. - */ -#define MACH_VOUCHER_IMPORTANCE_ATTR_ADD_EXTERNAL 1 /* Add some number of external refs (not supported) */ -#define MACH_VOUCHER_IMPORTANCE_ATTR_DROP_EXTERNAL 2 /* Drop some number of external refs */ -typedef uint32_t mach_voucher_attr_importance_refs; - -/* - * Activity id Generation defines - */ -#define MACH_ACTIVITY_ID_COUNT_MAX 16 - -#endif /* _MACH_VOUCHER_TYPES_H_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.12-any/mach/machine.h b/lib/libc/include/any-macos.12-any/mach/machine.h deleted file mode 100644 index e54bbb7381..0000000000 --- a/lib/libc/include/any-macos.12-any/mach/machine.h +++ /dev/null @@ -1,410 +0,0 @@ -/* - * Copyright (c) 2007-2016 Apple, Inc. All rights reserved. - * Copyright (c) 2000 Apple Computer, 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@ - */ -/* - * Mach Operating System - * Copyright (c) 1991,1990,1989,1988,1987 Carnegie Mellon University - * All Rights Reserved. - * - * Permission to use, copy, modify and distribute this software and its - * documentation is hereby granted, provided that both the copyright - * notice and this permission notice appear in all copies of the - * software, derivative works or modified versions, and any portions - * thereof, and that both notices appear in supporting documentation. - * - * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" - * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR - * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. - * - * Carnegie Mellon requests users of this software to return to - * - * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU - * School of Computer Science - * Carnegie Mellon University - * Pittsburgh PA 15213-3890 - * - * any improvements or extensions that they make and grant Carnegie Mellon - * the rights to redistribute these changes. - */ -/* File: machine.h - * Author: Avadis Tevanian, Jr. - * Date: 1986 - * - * Machine independent machine abstraction. - */ - -#ifndef _MACH_MACHINE_H_ -#define _MACH_MACHINE_H_ - -#ifndef __ASSEMBLER__ - -#include -#include -#include - -typedef integer_t cpu_type_t; -typedef integer_t cpu_subtype_t; -typedef integer_t cpu_threadtype_t; - -#define CPU_STATE_MAX 4 - -#define CPU_STATE_USER 0 -#define CPU_STATE_SYSTEM 1 -#define CPU_STATE_IDLE 2 -#define CPU_STATE_NICE 3 - - - -/* - * Capability bits used in the definition of cpu_type. - */ -#define CPU_ARCH_MASK 0xff000000 /* mask for architecture bits */ -#define CPU_ARCH_ABI64 0x01000000 /* 64 bit ABI */ -#define CPU_ARCH_ABI64_32 0x02000000 /* ABI for 64-bit hardware with 32-bit types; LP32 */ - -/* - * Machine types known by all. - */ - -#define CPU_TYPE_ANY ((cpu_type_t) -1) - -#define CPU_TYPE_VAX ((cpu_type_t) 1) -/* skip ((cpu_type_t) 2) */ -/* skip ((cpu_type_t) 3) */ -/* skip ((cpu_type_t) 4) */ -/* skip ((cpu_type_t) 5) */ -#define CPU_TYPE_MC680x0 ((cpu_type_t) 6) -#define CPU_TYPE_X86 ((cpu_type_t) 7) -#define CPU_TYPE_I386 CPU_TYPE_X86 /* compatibility */ -#define CPU_TYPE_X86_64 (CPU_TYPE_X86 | CPU_ARCH_ABI64) - -/* skip CPU_TYPE_MIPS ((cpu_type_t) 8) */ -/* skip ((cpu_type_t) 9) */ -#define CPU_TYPE_MC98000 ((cpu_type_t) 10) -#define CPU_TYPE_HPPA ((cpu_type_t) 11) -#define CPU_TYPE_ARM ((cpu_type_t) 12) -#define CPU_TYPE_ARM64 (CPU_TYPE_ARM | CPU_ARCH_ABI64) -#define CPU_TYPE_ARM64_32 (CPU_TYPE_ARM | CPU_ARCH_ABI64_32) -#define CPU_TYPE_MC88000 ((cpu_type_t) 13) -#define CPU_TYPE_SPARC ((cpu_type_t) 14) -#define CPU_TYPE_I860 ((cpu_type_t) 15) -/* skip CPU_TYPE_ALPHA ((cpu_type_t) 16) */ -/* skip ((cpu_type_t) 17) */ -#define CPU_TYPE_POWERPC ((cpu_type_t) 18) -#define CPU_TYPE_POWERPC64 (CPU_TYPE_POWERPC | CPU_ARCH_ABI64) -/* skip ((cpu_type_t) 19) */ -/* skip ((cpu_type_t) 20 */ -/* skip ((cpu_type_t) 21 */ -/* skip ((cpu_type_t) 22 */ - -/* - * Machine subtypes (these are defined here, instead of in a machine - * dependent directory, so that any program can get all definitions - * regardless of where is it compiled). - */ - -/* - * Capability bits used in the definition of cpu_subtype. - */ -#define CPU_SUBTYPE_MASK 0xff000000 /* mask for feature flags */ -#define CPU_SUBTYPE_LIB64 0x80000000 /* 64 bit libraries */ -#define CPU_SUBTYPE_PTRAUTH_ABI 0x80000000 /* pointer authentication with versioned ABI */ - -/* - * When selecting a slice, ANY will pick the slice with the best - * grading for the selected cpu_type_t, unlike the "ALL" subtypes, - * which are the slices that can run on any hardware for that cpu type. - */ -#define CPU_SUBTYPE_ANY ((cpu_subtype_t) -1) - -/* - * Object files that are hand-crafted to run on any - * implementation of an architecture are tagged with - * CPU_SUBTYPE_MULTIPLE. This functions essentially the same as - * the "ALL" subtype of an architecture except that it allows us - * to easily find object files that may need to be modified - * whenever a new implementation of an architecture comes out. - * - * It is the responsibility of the implementor to make sure the - * software handles unsupported implementations elegantly. - */ -#define CPU_SUBTYPE_MULTIPLE ((cpu_subtype_t) -1) -#define CPU_SUBTYPE_LITTLE_ENDIAN ((cpu_subtype_t) 0) -#define CPU_SUBTYPE_BIG_ENDIAN ((cpu_subtype_t) 1) - -/* - * Machine threadtypes. - * This is none - not defined - for most machine types/subtypes. - */ -#define CPU_THREADTYPE_NONE ((cpu_threadtype_t) 0) - -/* - * VAX subtypes (these do *not* necessary conform to the actual cpu - * ID assigned by DEC available via the SID register). - */ - -#define CPU_SUBTYPE_VAX_ALL ((cpu_subtype_t) 0) -#define CPU_SUBTYPE_VAX780 ((cpu_subtype_t) 1) -#define CPU_SUBTYPE_VAX785 ((cpu_subtype_t) 2) -#define CPU_SUBTYPE_VAX750 ((cpu_subtype_t) 3) -#define CPU_SUBTYPE_VAX730 ((cpu_subtype_t) 4) -#define CPU_SUBTYPE_UVAXI ((cpu_subtype_t) 5) -#define CPU_SUBTYPE_UVAXII ((cpu_subtype_t) 6) -#define CPU_SUBTYPE_VAX8200 ((cpu_subtype_t) 7) -#define CPU_SUBTYPE_VAX8500 ((cpu_subtype_t) 8) -#define CPU_SUBTYPE_VAX8600 ((cpu_subtype_t) 9) -#define CPU_SUBTYPE_VAX8650 ((cpu_subtype_t) 10) -#define CPU_SUBTYPE_VAX8800 ((cpu_subtype_t) 11) -#define CPU_SUBTYPE_UVAXIII ((cpu_subtype_t) 12) - -/* - * 680x0 subtypes - * - * The subtype definitions here are unusual for historical reasons. - * NeXT used to consider 68030 code as generic 68000 code. For - * backwards compatability: - * - * CPU_SUBTYPE_MC68030 symbol has been preserved for source code - * compatability. - * - * CPU_SUBTYPE_MC680x0_ALL has been defined to be the same - * subtype as CPU_SUBTYPE_MC68030 for binary comatability. - * - * CPU_SUBTYPE_MC68030_ONLY has been added to allow new object - * files to be tagged as containing 68030-specific instructions. - */ - -#define CPU_SUBTYPE_MC680x0_ALL ((cpu_subtype_t) 1) -#define CPU_SUBTYPE_MC68030 ((cpu_subtype_t) 1) /* compat */ -#define CPU_SUBTYPE_MC68040 ((cpu_subtype_t) 2) -#define CPU_SUBTYPE_MC68030_ONLY ((cpu_subtype_t) 3) - -/* - * I386 subtypes - */ - -#define CPU_SUBTYPE_INTEL(f, m) ((cpu_subtype_t) (f) + ((m) << 4)) - -#define CPU_SUBTYPE_I386_ALL CPU_SUBTYPE_INTEL(3, 0) -#define CPU_SUBTYPE_386 CPU_SUBTYPE_INTEL(3, 0) -#define CPU_SUBTYPE_486 CPU_SUBTYPE_INTEL(4, 0) -#define CPU_SUBTYPE_486SX CPU_SUBTYPE_INTEL(4, 8) // 8 << 4 = 128 -#define CPU_SUBTYPE_586 CPU_SUBTYPE_INTEL(5, 0) -#define CPU_SUBTYPE_PENT CPU_SUBTYPE_INTEL(5, 0) -#define CPU_SUBTYPE_PENTPRO CPU_SUBTYPE_INTEL(6, 1) -#define CPU_SUBTYPE_PENTII_M3 CPU_SUBTYPE_INTEL(6, 3) -#define CPU_SUBTYPE_PENTII_M5 CPU_SUBTYPE_INTEL(6, 5) -#define CPU_SUBTYPE_CELERON CPU_SUBTYPE_INTEL(7, 6) -#define CPU_SUBTYPE_CELERON_MOBILE CPU_SUBTYPE_INTEL(7, 7) -#define CPU_SUBTYPE_PENTIUM_3 CPU_SUBTYPE_INTEL(8, 0) -#define CPU_SUBTYPE_PENTIUM_3_M CPU_SUBTYPE_INTEL(8, 1) -#define CPU_SUBTYPE_PENTIUM_3_XEON CPU_SUBTYPE_INTEL(8, 2) -#define CPU_SUBTYPE_PENTIUM_M CPU_SUBTYPE_INTEL(9, 0) -#define CPU_SUBTYPE_PENTIUM_4 CPU_SUBTYPE_INTEL(10, 0) -#define CPU_SUBTYPE_PENTIUM_4_M CPU_SUBTYPE_INTEL(10, 1) -#define CPU_SUBTYPE_ITANIUM CPU_SUBTYPE_INTEL(11, 0) -#define CPU_SUBTYPE_ITANIUM_2 CPU_SUBTYPE_INTEL(11, 1) -#define CPU_SUBTYPE_XEON CPU_SUBTYPE_INTEL(12, 0) -#define CPU_SUBTYPE_XEON_MP CPU_SUBTYPE_INTEL(12, 1) - -#define CPU_SUBTYPE_INTEL_FAMILY(x) ((x) & 15) -#define CPU_SUBTYPE_INTEL_FAMILY_MAX 15 - -#define CPU_SUBTYPE_INTEL_MODEL(x) ((x) >> 4) -#define CPU_SUBTYPE_INTEL_MODEL_ALL 0 - -/* - * X86 subtypes. - */ - -#define CPU_SUBTYPE_X86_ALL ((cpu_subtype_t)3) -#define CPU_SUBTYPE_X86_64_ALL ((cpu_subtype_t)3) -#define CPU_SUBTYPE_X86_ARCH1 ((cpu_subtype_t)4) -#define CPU_SUBTYPE_X86_64_H ((cpu_subtype_t)8) /* Haswell feature subset */ - - -#define CPU_THREADTYPE_INTEL_HTT ((cpu_threadtype_t) 1) - -/* - * Mips subtypes. - */ - -#define CPU_SUBTYPE_MIPS_ALL ((cpu_subtype_t) 0) -#define CPU_SUBTYPE_MIPS_R2300 ((cpu_subtype_t) 1) -#define CPU_SUBTYPE_MIPS_R2600 ((cpu_subtype_t) 2) -#define CPU_SUBTYPE_MIPS_R2800 ((cpu_subtype_t) 3) -#define CPU_SUBTYPE_MIPS_R2000a ((cpu_subtype_t) 4) /* pmax */ -#define CPU_SUBTYPE_MIPS_R2000 ((cpu_subtype_t) 5) -#define CPU_SUBTYPE_MIPS_R3000a ((cpu_subtype_t) 6) /* 3max */ -#define CPU_SUBTYPE_MIPS_R3000 ((cpu_subtype_t) 7) - -/* - * MC98000 (PowerPC) subtypes - */ -#define CPU_SUBTYPE_MC98000_ALL ((cpu_subtype_t) 0) -#define CPU_SUBTYPE_MC98601 ((cpu_subtype_t) 1) - -/* - * HPPA subtypes for Hewlett-Packard HP-PA family of - * risc processors. Port by NeXT to 700 series. - */ - -#define CPU_SUBTYPE_HPPA_ALL ((cpu_subtype_t) 0) -#define CPU_SUBTYPE_HPPA_7100 ((cpu_subtype_t) 0) /* compat */ -#define CPU_SUBTYPE_HPPA_7100LC ((cpu_subtype_t) 1) - -/* - * MC88000 subtypes. - */ -#define CPU_SUBTYPE_MC88000_ALL ((cpu_subtype_t) 0) -#define CPU_SUBTYPE_MC88100 ((cpu_subtype_t) 1) -#define CPU_SUBTYPE_MC88110 ((cpu_subtype_t) 2) - -/* - * SPARC subtypes - */ -#define CPU_SUBTYPE_SPARC_ALL ((cpu_subtype_t) 0) - -/* - * I860 subtypes - */ -#define CPU_SUBTYPE_I860_ALL ((cpu_subtype_t) 0) -#define CPU_SUBTYPE_I860_860 ((cpu_subtype_t) 1) - -/* - * PowerPC subtypes - */ -#define CPU_SUBTYPE_POWERPC_ALL ((cpu_subtype_t) 0) -#define CPU_SUBTYPE_POWERPC_601 ((cpu_subtype_t) 1) -#define CPU_SUBTYPE_POWERPC_602 ((cpu_subtype_t) 2) -#define CPU_SUBTYPE_POWERPC_603 ((cpu_subtype_t) 3) -#define CPU_SUBTYPE_POWERPC_603e ((cpu_subtype_t) 4) -#define CPU_SUBTYPE_POWERPC_603ev ((cpu_subtype_t) 5) -#define CPU_SUBTYPE_POWERPC_604 ((cpu_subtype_t) 6) -#define CPU_SUBTYPE_POWERPC_604e ((cpu_subtype_t) 7) -#define CPU_SUBTYPE_POWERPC_620 ((cpu_subtype_t) 8) -#define CPU_SUBTYPE_POWERPC_750 ((cpu_subtype_t) 9) -#define CPU_SUBTYPE_POWERPC_7400 ((cpu_subtype_t) 10) -#define CPU_SUBTYPE_POWERPC_7450 ((cpu_subtype_t) 11) -#define CPU_SUBTYPE_POWERPC_970 ((cpu_subtype_t) 100) - -/* - * ARM subtypes - */ -#define CPU_SUBTYPE_ARM_ALL ((cpu_subtype_t) 0) -#define CPU_SUBTYPE_ARM_V4T ((cpu_subtype_t) 5) -#define CPU_SUBTYPE_ARM_V6 ((cpu_subtype_t) 6) -#define CPU_SUBTYPE_ARM_V5TEJ ((cpu_subtype_t) 7) -#define CPU_SUBTYPE_ARM_XSCALE ((cpu_subtype_t) 8) -#define CPU_SUBTYPE_ARM_V7 ((cpu_subtype_t) 9) /* ARMv7-A and ARMv7-R */ -#define CPU_SUBTYPE_ARM_V7F ((cpu_subtype_t) 10) /* Cortex A9 */ -#define CPU_SUBTYPE_ARM_V7S ((cpu_subtype_t) 11) /* Swift */ -#define CPU_SUBTYPE_ARM_V7K ((cpu_subtype_t) 12) -#define CPU_SUBTYPE_ARM_V8 ((cpu_subtype_t) 13) -#define CPU_SUBTYPE_ARM_V6M ((cpu_subtype_t) 14) /* Not meant to be run under xnu */ -#define CPU_SUBTYPE_ARM_V7M ((cpu_subtype_t) 15) /* Not meant to be run under xnu */ -#define CPU_SUBTYPE_ARM_V7EM ((cpu_subtype_t) 16) /* Not meant to be run under xnu */ -#define CPU_SUBTYPE_ARM_V8M ((cpu_subtype_t) 17) /* Not meant to be run under xnu */ - -/* - * ARM64 subtypes - */ -#define CPU_SUBTYPE_ARM64_ALL ((cpu_subtype_t) 0) -#define CPU_SUBTYPE_ARM64_V8 ((cpu_subtype_t) 1) -#define CPU_SUBTYPE_ARM64E ((cpu_subtype_t) 2) - -/* CPU subtype feature flags for ptrauth on arm64e platforms */ -#define CPU_SUBTYPE_ARM64_PTR_AUTH_MASK 0x0f000000 -#define CPU_SUBTYPE_ARM64_PTR_AUTH_VERSION(x) (((x) & CPU_SUBTYPE_ARM64_PTR_AUTH_MASK) >> 24) - -/* - * ARM64_32 subtypes - */ -#define CPU_SUBTYPE_ARM64_32_ALL ((cpu_subtype_t) 0) -#define CPU_SUBTYPE_ARM64_32_V8 ((cpu_subtype_t) 1) - -#endif /* !__ASSEMBLER__ */ - -/* - * CPU families (sysctl hw.cpufamily) - * - * These are meant to identify the CPU's marketing name - an - * application can map these to (possibly) localized strings. - * NB: the encodings of the CPU families are intentionally arbitrary. - * There is no ordering, and you should never try to deduce whether - * or not some feature is available based on the family. - * Use feature flags (eg, hw.optional.altivec) to test for optional - * functionality. - */ -#define CPUFAMILY_UNKNOWN 0 -#define CPUFAMILY_POWERPC_G3 0xcee41549 -#define CPUFAMILY_POWERPC_G4 0x77c184ae -#define CPUFAMILY_POWERPC_G5 0xed76d8aa -#define CPUFAMILY_INTEL_6_13 0xaa33392b -#define CPUFAMILY_INTEL_PENRYN 0x78ea4fbc -#define CPUFAMILY_INTEL_NEHALEM 0x6b5a4cd2 -#define CPUFAMILY_INTEL_WESTMERE 0x573b5eec -#define CPUFAMILY_INTEL_SANDYBRIDGE 0x5490b78c -#define CPUFAMILY_INTEL_IVYBRIDGE 0x1f65e835 -#define CPUFAMILY_INTEL_HASWELL 0x10b282dc -#define CPUFAMILY_INTEL_BROADWELL 0x582ed09c -#define CPUFAMILY_INTEL_SKYLAKE 0x37fc219f -#define CPUFAMILY_INTEL_KABYLAKE 0x0f817246 -#define CPUFAMILY_INTEL_ICELAKE 0x38435547 -#define CPUFAMILY_INTEL_COMETLAKE 0x1cf8a03e -#define CPUFAMILY_ARM_9 0xe73283ae -#define CPUFAMILY_ARM_11 0x8ff620d8 -#define CPUFAMILY_ARM_XSCALE 0x53b005f5 -#define CPUFAMILY_ARM_12 0xbd1b0ae9 -#define CPUFAMILY_ARM_13 0x0cc90e64 -#define CPUFAMILY_ARM_14 0x96077ef1 -#define CPUFAMILY_ARM_15 0xa8511bca -#define CPUFAMILY_ARM_SWIFT 0x1e2d6381 -#define CPUFAMILY_ARM_CYCLONE 0x37a09642 -#define CPUFAMILY_ARM_TYPHOON 0x2c91a47e -#define CPUFAMILY_ARM_TWISTER 0x92fb37c8 -#define CPUFAMILY_ARM_HURRICANE 0x67ceee93 -#define CPUFAMILY_ARM_MONSOON_MISTRAL 0xe81e7ef6 -#define CPUFAMILY_ARM_VORTEX_TEMPEST 0x07d34b9f -#define CPUFAMILY_ARM_LIGHTNING_THUNDER 0x462504d2 -#define CPUFAMILY_ARM_FIRESTORM_ICESTORM 0x1b588bb3 -#define CPUFAMILY_ARM_BLIZZARD_AVALANCHE 0xda33d83d - -#define CPUSUBFAMILY_UNKNOWN 0 -#define CPUSUBFAMILY_ARM_HP 1 -#define CPUSUBFAMILY_ARM_HG 2 -#define CPUSUBFAMILY_ARM_M 3 -#define CPUSUBFAMILY_ARM_HS 4 -#define CPUSUBFAMILY_ARM_HC_HD 5 - -/* The following synonyms are deprecated: */ -#define CPUFAMILY_INTEL_6_23 CPUFAMILY_INTEL_PENRYN -#define CPUFAMILY_INTEL_6_26 CPUFAMILY_INTEL_NEHALEM - - -#endif /* _MACH_MACHINE_H_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.12-any/mach/message.h b/lib/libc/include/any-macos.12-any/mach/message.h deleted file mode 100644 index cc5f52467d..0000000000 --- a/lib/libc/include/any-macos.12-any/mach/message.h +++ /dev/null @@ -1,911 +0,0 @@ -/* - * Copyright (c) 2000-2005 Apple Computer, 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@ - */ -/* - * @OSF_COPYRIGHT@ - */ -/* - * Mach Operating System - * Copyright (c) 1991,1990,1989,1988,1987 Carnegie Mellon University - * All Rights Reserved. - * - * Permission to use, copy, modify and distribute this software and its - * documentation is hereby granted, provided that both the copyright - * notice and this permission notice appear in all copies of the - * software, derivative works or modified versions, and any portions - * thereof, and that both notices appear in supporting documentation. - * - * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" - * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR - * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. - * - * Carnegie Mellon requests users of this software to return to - * - * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU - * School of Computer Science - * Carnegie Mellon University - * Pittsburgh PA 15213-3890 - * - * any improvements or extensions that they make and grant Carnegie Mellon - * the rights to redistribute these changes. - */ -/* - * NOTICE: This file was modified by McAfee Research in 2004 to introduce - * support for mandatory and extensible security protections. This notice - * is included in support of clause 2.2 (b) of the Apple Public License, - * Version 2.0. - * Copyright (c) 2005 SPARTA, Inc. - */ -/* - */ -/* - * File: mach/message.h - * - * Mach IPC message and primitive function definitions. - */ - -#ifndef _MACH_MESSAGE_H_ -#define _MACH_MESSAGE_H_ - -#include -#include -#include -#include -#include - -#include -#include -#include - -/* - * The timeout mechanism uses mach_msg_timeout_t values, - * passed by value. The timeout units are milliseconds. - * It is controlled with the MACH_SEND_TIMEOUT - * and MACH_RCV_TIMEOUT options. - */ - -typedef natural_t mach_msg_timeout_t; - -/* - * The value to be used when there is no timeout. - * (No MACH_SEND_TIMEOUT/MACH_RCV_TIMEOUT option.) - */ - -#define MACH_MSG_TIMEOUT_NONE ((mach_msg_timeout_t) 0) - -/* - * The kernel uses MACH_MSGH_BITS_COMPLEX as a hint. If it isn't on, it - * assumes the body of the message doesn't contain port rights or OOL - * data. The field is set in received messages. A user task must - * use caution in interpreting the body of a message if the bit isn't - * on, because the mach_msg_type's in the body might "lie" about the - * contents. If the bit isn't on, but the mach_msg_types - * in the body specify rights or OOL data, the behavior is undefined. - * (Ie, an error may or may not be produced.) - * - * The value of MACH_MSGH_BITS_REMOTE determines the interpretation - * of the msgh_remote_port field. It is handled like a msgt_name, - * but must result in a send or send-once type right. - * - * The value of MACH_MSGH_BITS_LOCAL determines the interpretation - * of the msgh_local_port field. It is handled like a msgt_name, - * and also must result in a send or send-once type right. - * - * The value of MACH_MSGH_BITS_VOUCHER determines the interpretation - * of the msgh_voucher_port field. It is handled like a msgt_name, - * but must result in a send right (and the msgh_voucher_port field - * must be the name of a send right to a Mach voucher kernel object. - * - * MACH_MSGH_BITS() combines two MACH_MSG_TYPE_* values, for the remote - * and local fields, into a single value suitable for msgh_bits. - * - * MACH_MSGH_BITS_CIRCULAR should be zero; is is used internally. - * - * The unused bits should be zero and are reserved for the kernel - * or for future interface expansion. - */ - -#define MACH_MSGH_BITS_ZERO 0x00000000 - -#define MACH_MSGH_BITS_REMOTE_MASK 0x0000001f -#define MACH_MSGH_BITS_LOCAL_MASK 0x00001f00 -#define MACH_MSGH_BITS_VOUCHER_MASK 0x001f0000 - -#define MACH_MSGH_BITS_PORTS_MASK \ - (MACH_MSGH_BITS_REMOTE_MASK | \ - MACH_MSGH_BITS_LOCAL_MASK | \ - MACH_MSGH_BITS_VOUCHER_MASK) - -#define MACH_MSGH_BITS_COMPLEX 0x80000000U /* message is complex */ - -#define MACH_MSGH_BITS_USER 0x801f1f1fU /* allowed bits user->kernel */ - -#define MACH_MSGH_BITS_RAISEIMP 0x20000000U /* importance raised due to msg */ -#define MACH_MSGH_BITS_DENAP MACH_MSGH_BITS_RAISEIMP - -#define MACH_MSGH_BITS_IMPHOLDASRT 0x10000000U /* assertion help, userland private */ -#define MACH_MSGH_BITS_DENAPHOLDASRT MACH_MSGH_BITS_IMPHOLDASRT - -#define MACH_MSGH_BITS_CIRCULAR 0x10000000U /* message circular, kernel private */ - -#define MACH_MSGH_BITS_USED 0xb01f1f1fU - -/* setter macros for the bits */ -#define MACH_MSGH_BITS(remote, local) /* legacy */ \ - ((remote) | ((local) << 8)) -#define MACH_MSGH_BITS_SET_PORTS(remote, local, voucher) \ - (((remote) & MACH_MSGH_BITS_REMOTE_MASK) | \ - (((local) << 8) & MACH_MSGH_BITS_LOCAL_MASK) | \ - (((voucher) << 16) & MACH_MSGH_BITS_VOUCHER_MASK)) -#define MACH_MSGH_BITS_SET(remote, local, voucher, other) \ - (MACH_MSGH_BITS_SET_PORTS((remote), (local), (voucher)) \ - | ((other) &~ MACH_MSGH_BITS_PORTS_MASK)) - -/* getter macros for pulling values out of the bits field */ -#define MACH_MSGH_BITS_REMOTE(bits) \ - ((bits) & MACH_MSGH_BITS_REMOTE_MASK) -#define MACH_MSGH_BITS_LOCAL(bits) \ - (((bits) & MACH_MSGH_BITS_LOCAL_MASK) >> 8) -#define MACH_MSGH_BITS_VOUCHER(bits) \ - (((bits) & MACH_MSGH_BITS_VOUCHER_MASK) >> 16) -#define MACH_MSGH_BITS_PORTS(bits) \ - ((bits) & MACH_MSGH_BITS_PORTS_MASK) -#define MACH_MSGH_BITS_OTHER(bits) \ - ((bits) &~ MACH_MSGH_BITS_PORTS_MASK) - -/* checking macros */ -#define MACH_MSGH_BITS_HAS_REMOTE(bits) \ - (MACH_MSGH_BITS_REMOTE(bits) != MACH_MSGH_BITS_ZERO) -#define MACH_MSGH_BITS_HAS_LOCAL(bits) \ - (MACH_MSGH_BITS_LOCAL(bits) != MACH_MSGH_BITS_ZERO) -#define MACH_MSGH_BITS_HAS_VOUCHER(bits) \ - (MACH_MSGH_BITS_VOUCHER(bits) != MACH_MSGH_BITS_ZERO) -#define MACH_MSGH_BITS_IS_COMPLEX(bits) \ - (((bits) & MACH_MSGH_BITS_COMPLEX) != MACH_MSGH_BITS_ZERO) - -/* importance checking macros */ -#define MACH_MSGH_BITS_RAISED_IMPORTANCE(bits) \ - (((bits) & MACH_MSGH_BITS_RAISEIMP) != MACH_MSGH_BITS_ZERO) -#define MACH_MSGH_BITS_HOLDS_IMPORTANCE_ASSERTION(bits) \ - (((bits) & MACH_MSGH_BITS_IMPHOLDASRT) != MACH_MSGH_BITS_ZERO) - -/* - * Every message starts with a message header. - * Following the message header, if the message is complex, are a count - * of type descriptors and the type descriptors themselves - * (mach_msg_descriptor_t). The size of the message must be specified in - * bytes, and includes the message header, descriptor count, descriptors, - * and inline data. - * - * The msgh_remote_port field specifies the destination of the message. - * It must specify a valid send or send-once right for a port. - * - * The msgh_local_port field specifies a "reply port". Normally, - * This field carries a send-once right that the receiver will use - * to reply to the message. It may carry the values MACH_PORT_NULL, - * MACH_PORT_DEAD, a send-once right, or a send right. - * - * The msgh_voucher_port field specifies a Mach voucher port. Only - * send rights to kernel-implemented Mach Voucher kernel objects in - * addition to MACH_PORT_NULL or MACH_PORT_DEAD may be passed. - * - * The msgh_id field is uninterpreted by the message primitives. - * It normally carries information specifying the format - * or meaning of the message. - */ - -typedef unsigned int mach_msg_bits_t; -typedef natural_t mach_msg_size_t; -typedef integer_t mach_msg_id_t; - -#define MACH_MSG_SIZE_NULL (mach_msg_size_t *) 0 - -typedef unsigned int mach_msg_priority_t; - -#define MACH_MSG_PRIORITY_UNSPECIFIED (mach_msg_priority_t) 0 - - -typedef unsigned int mach_msg_type_name_t; - -#define MACH_MSG_TYPE_MOVE_RECEIVE 16 /* Must hold receive right */ -#define MACH_MSG_TYPE_MOVE_SEND 17 /* Must hold send right(s) */ -#define MACH_MSG_TYPE_MOVE_SEND_ONCE 18 /* Must hold sendonce right */ -#define MACH_MSG_TYPE_COPY_SEND 19 /* Must hold send right(s) */ -#define MACH_MSG_TYPE_MAKE_SEND 20 /* Must hold receive right */ -#define MACH_MSG_TYPE_MAKE_SEND_ONCE 21 /* Must hold receive right */ -#define MACH_MSG_TYPE_COPY_RECEIVE 22 /* NOT VALID */ -#define MACH_MSG_TYPE_DISPOSE_RECEIVE 24 /* must hold receive right */ -#define MACH_MSG_TYPE_DISPOSE_SEND 25 /* must hold send right(s) */ -#define MACH_MSG_TYPE_DISPOSE_SEND_ONCE 26 /* must hold sendonce right */ - -typedef unsigned int mach_msg_copy_options_t; - -#define MACH_MSG_PHYSICAL_COPY 0 -#define MACH_MSG_VIRTUAL_COPY 1 -#define MACH_MSG_ALLOCATE 2 -#define MACH_MSG_OVERWRITE 3 /* deprecated */ -#ifdef MACH_KERNEL -#define MACH_MSG_KALLOC_COPY_T 4 -#endif /* MACH_KERNEL */ - -#define MACH_MSG_GUARD_FLAGS_NONE 0x0000 -#define MACH_MSG_GUARD_FLAGS_IMMOVABLE_RECEIVE 0x0001 /* Move the receive right and mark it as immovable */ -#define MACH_MSG_GUARD_FLAGS_UNGUARDED_ON_SEND 0x0002 /* Verify that the port is unguarded */ -#define MACH_MSG_GUARD_FLAGS_MASK 0x0003 /* Valid flag bits */ -typedef unsigned int mach_msg_guard_flags_t; - -/* - * In a complex mach message, the mach_msg_header_t is followed by - * a descriptor count, then an array of that number of descriptors - * (mach_msg_*_descriptor_t). The type field of mach_msg_type_descriptor_t - * (which any descriptor can be cast to) indicates the flavor of the - * descriptor. - * - * Note that in LP64, the various types of descriptors are no longer all - * the same size as mach_msg_descriptor_t, so the array cannot be indexed - * as expected. - */ - -typedef unsigned int mach_msg_descriptor_type_t; - -#define MACH_MSG_PORT_DESCRIPTOR 0 -#define MACH_MSG_OOL_DESCRIPTOR 1 -#define MACH_MSG_OOL_PORTS_DESCRIPTOR 2 -#define MACH_MSG_OOL_VOLATILE_DESCRIPTOR 3 -#define MACH_MSG_GUARDED_PORT_DESCRIPTOR 4 - -#pragma pack(push, 4) - -typedef struct{ - natural_t pad1; - mach_msg_size_t pad2; - unsigned int pad3 : 24; - mach_msg_descriptor_type_t type : 8; -} mach_msg_type_descriptor_t; - -typedef struct{ - mach_port_t name; -// Pad to 8 bytes everywhere except the K64 kernel where mach_port_t is 8 bytes - mach_msg_size_t pad1; - unsigned int pad2 : 16; - mach_msg_type_name_t disposition : 8; - mach_msg_descriptor_type_t type : 8; -} mach_msg_port_descriptor_t; - - -typedef struct{ - uint32_t address; - mach_msg_size_t size; - boolean_t deallocate: 8; - mach_msg_copy_options_t copy: 8; - unsigned int pad1: 8; - mach_msg_descriptor_type_t type: 8; -} mach_msg_ool_descriptor32_t; - -typedef struct{ - uint64_t address; - boolean_t deallocate: 8; - mach_msg_copy_options_t copy: 8; - unsigned int pad1: 8; - mach_msg_descriptor_type_t type: 8; - mach_msg_size_t size; -} mach_msg_ool_descriptor64_t; - -typedef struct{ - void* address; -#if !defined(__LP64__) - mach_msg_size_t size; -#endif - boolean_t deallocate: 8; - mach_msg_copy_options_t copy: 8; - unsigned int pad1: 8; - mach_msg_descriptor_type_t type: 8; -#if defined(__LP64__) - mach_msg_size_t size; -#endif -} mach_msg_ool_descriptor_t; - -typedef struct{ - uint32_t address; - mach_msg_size_t count; - boolean_t deallocate: 8; - mach_msg_copy_options_t copy: 8; - mach_msg_type_name_t disposition : 8; - mach_msg_descriptor_type_t type : 8; -} mach_msg_ool_ports_descriptor32_t; - -typedef struct{ - uint64_t address; - boolean_t deallocate: 8; - mach_msg_copy_options_t copy: 8; - mach_msg_type_name_t disposition : 8; - mach_msg_descriptor_type_t type : 8; - mach_msg_size_t count; -} mach_msg_ool_ports_descriptor64_t; - -typedef struct{ - void* address; -#if !defined(__LP64__) - mach_msg_size_t count; -#endif - boolean_t deallocate: 8; - mach_msg_copy_options_t copy: 8; - mach_msg_type_name_t disposition : 8; - mach_msg_descriptor_type_t type : 8; -#if defined(__LP64__) - mach_msg_size_t count; -#endif -} mach_msg_ool_ports_descriptor_t; - -typedef struct{ - uint32_t context; - mach_port_name_t name; - mach_msg_guard_flags_t flags : 16; - mach_msg_type_name_t disposition : 8; - mach_msg_descriptor_type_t type : 8; -} mach_msg_guarded_port_descriptor32_t; - -typedef struct{ - uint64_t context; - mach_msg_guard_flags_t flags : 16; - mach_msg_type_name_t disposition : 8; - mach_msg_descriptor_type_t type : 8; - mach_port_name_t name; -} mach_msg_guarded_port_descriptor64_t; - -typedef struct{ - mach_port_context_t context; -#if !defined(__LP64__) - mach_port_name_t name; -#endif - mach_msg_guard_flags_t flags : 16; - mach_msg_type_name_t disposition : 8; - mach_msg_descriptor_type_t type : 8; -#if defined(__LP64__) - mach_port_name_t name; -#endif /* defined(__LP64__) */ -} mach_msg_guarded_port_descriptor_t; - -/* - * LP64support - This union definition is not really - * appropriate in LP64 mode because not all descriptors - * are of the same size in that environment. - */ -typedef union{ - mach_msg_port_descriptor_t port; - mach_msg_ool_descriptor_t out_of_line; - mach_msg_ool_ports_descriptor_t ool_ports; - mach_msg_type_descriptor_t type; - mach_msg_guarded_port_descriptor_t guarded_port; -} mach_msg_descriptor_t; - -typedef struct{ - mach_msg_size_t msgh_descriptor_count; -} mach_msg_body_t; - -#define MACH_MSG_BODY_NULL ((mach_msg_body_t *) 0) -#define MACH_MSG_DESCRIPTOR_NULL ((mach_msg_descriptor_t *) 0) - -typedef struct{ - mach_msg_bits_t msgh_bits; - mach_msg_size_t msgh_size; - mach_port_t msgh_remote_port; - mach_port_t msgh_local_port; - mach_port_name_t msgh_voucher_port; - mach_msg_id_t msgh_id; -} mach_msg_header_t; - -#define msgh_reserved msgh_voucher_port -#define MACH_MSG_NULL ((mach_msg_header_t *) 0) - -typedef struct{ - mach_msg_header_t header; - mach_msg_body_t body; -} mach_msg_base_t; - - -typedef unsigned int mach_msg_trailer_type_t; - -#define MACH_MSG_TRAILER_FORMAT_0 0 - -typedef unsigned int mach_msg_trailer_size_t; -typedef char *mach_msg_trailer_info_t; - -typedef struct{ - mach_msg_trailer_type_t msgh_trailer_type; - mach_msg_trailer_size_t msgh_trailer_size; -} mach_msg_trailer_t; - -/* - * The msgh_seqno field carries a sequence number - * associated with the received-from port. A port's - * sequence number is incremented every time a message - * is received from it and included in the received - * trailer to help put messages back in sequence if - * multiple threads receive and/or process received - * messages. - */ -typedef struct{ - mach_msg_trailer_type_t msgh_trailer_type; - mach_msg_trailer_size_t msgh_trailer_size; - mach_port_seqno_t msgh_seqno; -} mach_msg_seqno_trailer_t; - -typedef struct{ - unsigned int val[2]; -} security_token_t; - -typedef struct{ - mach_msg_trailer_type_t msgh_trailer_type; - mach_msg_trailer_size_t msgh_trailer_size; - mach_port_seqno_t msgh_seqno; - security_token_t msgh_sender; -} mach_msg_security_trailer_t; - -/* - * The audit token is an opaque token which identifies - * Mach tasks and senders of Mach messages as subjects - * to the BSM audit system. Only the appropriate BSM - * library routines should be used to interpret the - * contents of the audit token as the representation - * of the subject identity within the token may change - * over time. - */ -typedef struct{ - unsigned int val[8]; -} audit_token_t; - -typedef struct{ - mach_msg_trailer_type_t msgh_trailer_type; - mach_msg_trailer_size_t msgh_trailer_size; - mach_port_seqno_t msgh_seqno; - security_token_t msgh_sender; - audit_token_t msgh_audit; -} mach_msg_audit_trailer_t; - -typedef struct{ - mach_msg_trailer_type_t msgh_trailer_type; - mach_msg_trailer_size_t msgh_trailer_size; - mach_port_seqno_t msgh_seqno; - security_token_t msgh_sender; - audit_token_t msgh_audit; - mach_port_context_t msgh_context; -} mach_msg_context_trailer_t; - - - -typedef struct{ - mach_port_name_t sender; -} msg_labels_t; - -typedef int mach_msg_filter_id; -#define MACH_MSG_FILTER_POLICY_ALLOW (mach_msg_filter_id)0 - -/* - * Trailer type to pass MAC policy label info as a mach message trailer. - * - */ - -typedef struct{ - mach_msg_trailer_type_t msgh_trailer_type; - mach_msg_trailer_size_t msgh_trailer_size; - mach_port_seqno_t msgh_seqno; - security_token_t msgh_sender; - audit_token_t msgh_audit; - mach_port_context_t msgh_context; - mach_msg_filter_id msgh_ad; - msg_labels_t msgh_labels; -} mach_msg_mac_trailer_t; - - -#define MACH_MSG_TRAILER_MINIMUM_SIZE sizeof(mach_msg_trailer_t) - -/* - * These values can change from release to release - but clearly - * code cannot request additional trailer elements one was not - * compiled to understand. Therefore, it is safe to use this - * constant when the same module specified the receive options. - * Otherwise, you run the risk that the options requested by - * another module may exceed the local modules notion of - * MAX_TRAILER_SIZE. - */ - -typedef mach_msg_mac_trailer_t mach_msg_max_trailer_t; -#define MAX_TRAILER_SIZE ((mach_msg_size_t)sizeof(mach_msg_max_trailer_t)) - -/* - * Legacy requirements keep us from ever updating these defines (even - * when the format_0 trailers gain new option data fields in the future). - * Therefore, they shouldn't be used going forward. Instead, the sizes - * should be compared against the specific element size requested using - * REQUESTED_TRAILER_SIZE. - */ -typedef mach_msg_security_trailer_t mach_msg_format_0_trailer_t; - -/*typedef mach_msg_mac_trailer_t mach_msg_format_0_trailer_t; - */ - -#define MACH_MSG_TRAILER_FORMAT_0_SIZE sizeof(mach_msg_format_0_trailer_t) - -#define KERNEL_SECURITY_TOKEN_VALUE { {0, 1} } -extern const security_token_t KERNEL_SECURITY_TOKEN; - -#define KERNEL_AUDIT_TOKEN_VALUE { {0, 0, 0, 0, 0, 0, 0, 0} } -extern const audit_token_t KERNEL_AUDIT_TOKEN; - -typedef integer_t mach_msg_options_t; - -typedef struct{ - mach_msg_header_t header; -} mach_msg_empty_send_t; - -typedef struct{ - mach_msg_header_t header; - mach_msg_trailer_t trailer; -} mach_msg_empty_rcv_t; - -typedef union{ - mach_msg_empty_send_t send; - mach_msg_empty_rcv_t rcv; -} mach_msg_empty_t; - -#pragma pack(pop) - -/* utility to round the message size - will become machine dependent */ -#define round_msg(x) (((mach_msg_size_t)(x) + sizeof (natural_t) - 1) & \ - ~(sizeof (natural_t) - 1)) - - -/* - * There is no fixed upper bound to the size of Mach messages. - */ -#define MACH_MSG_SIZE_MAX ((mach_msg_size_t) ~0) - -#if defined(__APPLE_API_PRIVATE) -/* - * But architectural limits of a given implementation, or - * temporal conditions may cause unpredictable send failures - * for messages larger than MACH_MSG_SIZE_RELIABLE. - * - * In either case, waiting for memory is [currently] outside - * the scope of send timeout values provided to IPC. - */ -#define MACH_MSG_SIZE_RELIABLE ((mach_msg_size_t) 256 * 1024) -#endif -/* - * Compatibility definitions, for code written - * when there was a msgh_kind instead of msgh_seqno. - */ -#define MACH_MSGH_KIND_NORMAL 0x00000000 -#define MACH_MSGH_KIND_NOTIFICATION 0x00000001 -#define msgh_kind msgh_seqno -#define mach_msg_kind_t mach_port_seqno_t - -typedef natural_t mach_msg_type_size_t; -typedef natural_t mach_msg_type_number_t; - -/* - * Values received/carried in messages. Tells the receiver what - * sort of port right he now has. - * - * MACH_MSG_TYPE_PORT_NAME is used to transfer a port name - * which should remain uninterpreted by the kernel. (Port rights - * are not transferred, just the port name.) - */ - -#define MACH_MSG_TYPE_PORT_NONE 0 - -#define MACH_MSG_TYPE_PORT_NAME 15 -#define MACH_MSG_TYPE_PORT_RECEIVE MACH_MSG_TYPE_MOVE_RECEIVE -#define MACH_MSG_TYPE_PORT_SEND MACH_MSG_TYPE_MOVE_SEND -#define MACH_MSG_TYPE_PORT_SEND_ONCE MACH_MSG_TYPE_MOVE_SEND_ONCE - -#define MACH_MSG_TYPE_LAST 22 /* Last assigned */ - -/* - * A dummy value. Mostly used to indicate that the actual value - * will be filled in later, dynamically. - */ - -#define MACH_MSG_TYPE_POLYMORPHIC ((mach_msg_type_name_t) -1) - -/* - * Is a given item a port type? - */ - -#define MACH_MSG_TYPE_PORT_ANY(x) \ - (((x) >= MACH_MSG_TYPE_MOVE_RECEIVE) && \ - ((x) <= MACH_MSG_TYPE_MAKE_SEND_ONCE)) - -#define MACH_MSG_TYPE_PORT_ANY_SEND(x) \ - (((x) >= MACH_MSG_TYPE_MOVE_SEND) && \ - ((x) <= MACH_MSG_TYPE_MAKE_SEND_ONCE)) - -#define MACH_MSG_TYPE_PORT_ANY_RIGHT(x) \ - (((x) >= MACH_MSG_TYPE_MOVE_RECEIVE) && \ - ((x) <= MACH_MSG_TYPE_MOVE_SEND_ONCE)) - -typedef integer_t mach_msg_option_t; - -#define MACH_MSG_OPTION_NONE 0x00000000 - -#define MACH_SEND_MSG 0x00000001 -#define MACH_RCV_MSG 0x00000002 - -#define MACH_RCV_LARGE 0x00000004 /* report large message sizes */ -#define MACH_RCV_LARGE_IDENTITY 0x00000008 /* identify source of large messages */ - -#define MACH_SEND_TIMEOUT 0x00000010 /* timeout value applies to send */ -#define MACH_SEND_OVERRIDE 0x00000020 /* priority override for send */ -#define MACH_SEND_INTERRUPT 0x00000040 /* don't restart interrupted sends */ -#define MACH_SEND_NOTIFY 0x00000080 /* arm send-possible notify */ -#define MACH_SEND_ALWAYS 0x00010000 /* ignore qlimits - kernel only */ -#define MACH_SEND_FILTER_NONFATAL 0x00010000 /* rejection by message filter should return failure - user only */ -#define MACH_SEND_TRAILER 0x00020000 /* sender-provided trailer */ -#define MACH_SEND_NOIMPORTANCE 0x00040000 /* msg won't carry importance */ -#define MACH_SEND_NODENAP MACH_SEND_NOIMPORTANCE -#define MACH_SEND_IMPORTANCE 0x00080000 /* msg carries importance - kernel only */ -#define MACH_SEND_SYNC_OVERRIDE 0x00100000 /* msg should do sync IPC override (on legacy kernels) */ -#define MACH_SEND_PROPAGATE_QOS 0x00200000 /* IPC should propagate the caller's QoS */ -#define MACH_SEND_SYNC_USE_THRPRI MACH_SEND_PROPAGATE_QOS /* obsolete name */ -#define MACH_SEND_KERNEL 0x00400000 /* full send from kernel space - kernel only */ -#define MACH_SEND_SYNC_BOOTSTRAP_CHECKIN 0x00800000 /* special reply port should boost thread doing sync bootstrap checkin */ - -#define MACH_RCV_TIMEOUT 0x00000100 /* timeout value applies to receive */ -#define MACH_RCV_NOTIFY 0x00000000 /* legacy name (value was: 0x00000200) */ -#define MACH_RCV_INTERRUPT 0x00000400 /* don't restart interrupted receive */ -#define MACH_RCV_VOUCHER 0x00000800 /* willing to receive voucher port */ -#define MACH_RCV_OVERWRITE 0x00000000 /* scatter receive (deprecated) */ -#define MACH_RCV_GUARDED_DESC 0x00001000 /* Can receive new guarded descriptor */ -#define MACH_RCV_SYNC_WAIT 0x00004000 /* sync waiter waiting for rcv */ -#define MACH_RCV_SYNC_PEEK 0x00008000 /* sync waiter waiting to peek */ - -#define MACH_MSG_STRICT_REPLY 0x00000200 /* Enforce specific properties about the reply port, and - * the context in which a thread replies to a message. - * This flag must be passed on both the SEND and RCV */ - - -/* - * NOTE: a 0x00------ RCV mask implies to ask for - * a MACH_MSG_TRAILER_FORMAT_0 with 0 Elements, - * which is equivalent to a mach_msg_trailer_t. - * - * XXXMAC: unlike the rest of the MACH_RCV_* flags, MACH_RCV_TRAILER_LABELS - * needs its own private bit since we only calculate its fields when absolutely - * required. - */ -#define MACH_RCV_TRAILER_NULL 0 -#define MACH_RCV_TRAILER_SEQNO 1 -#define MACH_RCV_TRAILER_SENDER 2 -#define MACH_RCV_TRAILER_AUDIT 3 -#define MACH_RCV_TRAILER_CTX 4 -#define MACH_RCV_TRAILER_AV 7 -#define MACH_RCV_TRAILER_LABELS 8 - -#define MACH_RCV_TRAILER_TYPE(x) (((x) & 0xf) << 28) -#define MACH_RCV_TRAILER_ELEMENTS(x) (((x) & 0xf) << 24) -#define MACH_RCV_TRAILER_MASK ((0xf << 24)) - -#define GET_RCV_ELEMENTS(y) (((y) >> 24) & 0xf) - - -/* - * XXXMAC: note that in the case of MACH_RCV_TRAILER_LABELS, - * we just fall through to mach_msg_max_trailer_t. - * This is correct behavior since mach_msg_max_trailer_t is defined as - * mac_msg_mac_trailer_t which is used for the LABELS trailer. - * It also makes things work properly if MACH_RCV_TRAILER_LABELS is ORed - * with one of the other options. - */ - -#define REQUESTED_TRAILER_SIZE_NATIVE(y) \ - ((mach_msg_trailer_size_t) \ - ((GET_RCV_ELEMENTS(y) == MACH_RCV_TRAILER_NULL) ? \ - sizeof(mach_msg_trailer_t) : \ - ((GET_RCV_ELEMENTS(y) == MACH_RCV_TRAILER_SEQNO) ? \ - sizeof(mach_msg_seqno_trailer_t) : \ - ((GET_RCV_ELEMENTS(y) == MACH_RCV_TRAILER_SENDER) ? \ - sizeof(mach_msg_security_trailer_t) : \ - ((GET_RCV_ELEMENTS(y) == MACH_RCV_TRAILER_AUDIT) ? \ - sizeof(mach_msg_audit_trailer_t) : \ - ((GET_RCV_ELEMENTS(y) == MACH_RCV_TRAILER_CTX) ? \ - sizeof(mach_msg_context_trailer_t) : \ - ((GET_RCV_ELEMENTS(y) == MACH_RCV_TRAILER_AV) ? \ - sizeof(mach_msg_mac_trailer_t) : \ - sizeof(mach_msg_max_trailer_t)))))))) - - -#define REQUESTED_TRAILER_SIZE(y) REQUESTED_TRAILER_SIZE_NATIVE(y) - -/* - * Much code assumes that mach_msg_return_t == kern_return_t. - * This definition is useful for descriptive purposes. - * - * See for the format of error codes. - * IPC errors are system 4. Send errors are subsystem 0; - * receive errors are subsystem 1. The code field is always non-zero. - * The high bits of the code field communicate extra information - * for some error codes. MACH_MSG_MASK masks off these special bits. - */ - -typedef kern_return_t mach_msg_return_t; - -#define MACH_MSG_SUCCESS 0x00000000 - - -#define MACH_MSG_MASK 0x00003e00 -/* All special error code bits defined below. */ -#define MACH_MSG_IPC_SPACE 0x00002000 -/* No room in IPC name space for another capability name. */ -#define MACH_MSG_VM_SPACE 0x00001000 -/* No room in VM address space for out-of-line memory. */ -#define MACH_MSG_IPC_KERNEL 0x00000800 -/* Kernel resource shortage handling an IPC capability. */ -#define MACH_MSG_VM_KERNEL 0x00000400 -/* Kernel resource shortage handling out-of-line memory. */ - -#define MACH_SEND_IN_PROGRESS 0x10000001 -/* Thread is waiting to send. (Internal use only.) */ -#define MACH_SEND_INVALID_DATA 0x10000002 -/* Bogus in-line data. */ -#define MACH_SEND_INVALID_DEST 0x10000003 -/* Bogus destination port. */ -#define MACH_SEND_TIMED_OUT 0x10000004 -/* Message not sent before timeout expired. */ -#define MACH_SEND_INVALID_VOUCHER 0x10000005 -/* Bogus voucher port. */ -#define MACH_SEND_INTERRUPTED 0x10000007 -/* Software interrupt. */ -#define MACH_SEND_MSG_TOO_SMALL 0x10000008 -/* Data doesn't contain a complete message. */ -#define MACH_SEND_INVALID_REPLY 0x10000009 -/* Bogus reply port. */ -#define MACH_SEND_INVALID_RIGHT 0x1000000a -/* Bogus port rights in the message body. */ -#define MACH_SEND_INVALID_NOTIFY 0x1000000b -/* Bogus notify port argument. */ -#define MACH_SEND_INVALID_MEMORY 0x1000000c -/* Invalid out-of-line memory pointer. */ -#define MACH_SEND_NO_BUFFER 0x1000000d -/* No message buffer is available. */ -#define MACH_SEND_TOO_LARGE 0x1000000e -/* Send is too large for port */ -#define MACH_SEND_INVALID_TYPE 0x1000000f -/* Invalid msg-type specification. */ -#define MACH_SEND_INVALID_HEADER 0x10000010 -/* A field in the header had a bad value. */ -#define MACH_SEND_INVALID_TRAILER 0x10000011 -/* The trailer to be sent does not match kernel format. */ -#define MACH_SEND_INVALID_CONTEXT 0x10000012 -/* The sending thread context did not match the context on the dest port */ -#define MACH_SEND_INVALID_RT_OOL_SIZE 0x10000015 -/* compatibility: no longer a returned error */ -#define MACH_SEND_NO_GRANT_DEST 0x10000016 -/* The destination port doesn't accept ports in body */ -#define MACH_SEND_MSG_FILTERED 0x10000017 -/* Message send was rejected by message filter */ - -#define MACH_RCV_IN_PROGRESS 0x10004001 -/* Thread is waiting for receive. (Internal use only.) */ -#define MACH_RCV_INVALID_NAME 0x10004002 -/* Bogus name for receive port/port-set. */ -#define MACH_RCV_TIMED_OUT 0x10004003 -/* Didn't get a message within the timeout value. */ -#define MACH_RCV_TOO_LARGE 0x10004004 -/* Message buffer is not large enough for inline data. */ -#define MACH_RCV_INTERRUPTED 0x10004005 -/* Software interrupt. */ -#define MACH_RCV_PORT_CHANGED 0x10004006 -/* compatibility: no longer a returned error */ -#define MACH_RCV_INVALID_NOTIFY 0x10004007 -/* Bogus notify port argument. */ -#define MACH_RCV_INVALID_DATA 0x10004008 -/* Bogus message buffer for inline data. */ -#define MACH_RCV_PORT_DIED 0x10004009 -/* Port/set was sent away/died during receive. */ -#define MACH_RCV_IN_SET 0x1000400a -/* compatibility: no longer a returned error */ -#define MACH_RCV_HEADER_ERROR 0x1000400b -/* Error receiving message header. See special bits. */ -#define MACH_RCV_BODY_ERROR 0x1000400c -/* Error receiving message body. See special bits. */ -#define MACH_RCV_INVALID_TYPE 0x1000400d -/* Invalid msg-type specification in scatter list. */ -#define MACH_RCV_SCATTER_SMALL 0x1000400e -/* Out-of-line overwrite region is not large enough */ -#define MACH_RCV_INVALID_TRAILER 0x1000400f -/* trailer type or number of trailer elements not supported */ -#define MACH_RCV_IN_PROGRESS_TIMED 0x10004011 -/* Waiting for receive with timeout. (Internal use only.) */ -#define MACH_RCV_INVALID_REPLY 0x10004012 -/* invalid reply port used in a STRICT_REPLY message */ - - - -__BEGIN_DECLS - -/* - * Routine: mach_msg_overwrite - * Purpose: - * Send and/or receive a message. If the message operation - * is interrupted, and the user did not request an indication - * of that fact, then restart the appropriate parts of the - * operation silently (trap version does not restart). - * - * Distinct send and receive buffers may be specified. If - * no separate receive buffer is specified, the msg parameter - * will be used for both send and receive operations. - * - * In addition to a distinct receive buffer, that buffer may - * already contain scatter control information to direct the - * receiving of the message. - */ -__WATCHOS_PROHIBITED __TVOS_PROHIBITED -extern mach_msg_return_t mach_msg_overwrite( - mach_msg_header_t *msg, - mach_msg_option_t option, - mach_msg_size_t send_size, - mach_msg_size_t rcv_size, - mach_port_name_t rcv_name, - mach_msg_timeout_t timeout, - mach_port_name_t notify, - mach_msg_header_t *rcv_msg, - mach_msg_size_t rcv_limit); - - -/* - * Routine: mach_msg - * Purpose: - * Send and/or receive a message. If the message operation - * is interrupted, and the user did not request an indication - * of that fact, then restart the appropriate parts of the - * operation silently (trap version does not restart). - */ -__WATCHOS_PROHIBITED __TVOS_PROHIBITED -extern mach_msg_return_t mach_msg( - mach_msg_header_t *msg, - mach_msg_option_t option, - mach_msg_size_t send_size, - mach_msg_size_t rcv_size, - mach_port_name_t rcv_name, - mach_msg_timeout_t timeout, - mach_port_name_t notify); - -/* - * Routine: mach_voucher_deallocate - * Purpose: - * Deallocate a mach voucher created or received in a message. Drops - * one (send right) reference to the voucher. - */ -__WATCHOS_PROHIBITED __TVOS_PROHIBITED -extern kern_return_t mach_voucher_deallocate( - mach_port_name_t voucher); - - -__END_DECLS - -#endif /* _MACH_MESSAGE_H_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.12-any/mach/port.h b/lib/libc/include/any-macos.12-any/mach/port.h deleted file mode 100644 index cdbab2e0c5..0000000000 --- a/lib/libc/include/any-macos.12-any/mach/port.h +++ /dev/null @@ -1,477 +0,0 @@ -/* - * Copyright (c) 2000-2006 Apple Computer, 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@ - */ -/* - * @OSF_COPYRIGHT@ - */ -/* - * Mach Operating System - * Copyright (c) 1991,1990,1989,1988,1987 Carnegie Mellon University - * All Rights Reserved. - * - * Permission to use, copy, modify and distribute this software and its - * documentation is hereby granted, provided that both the copyright - * notice and this permission notice appear in all copies of the - * software, derivative works or modified versions, and any portions - * thereof, and that both notices appear in supporting documentation. - * - * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" - * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR - * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. - * - * Carnegie Mellon requests users of this software to return to - * - * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU - * School of Computer Science - * Carnegie Mellon University - * Pittsburgh PA 15213-3890 - * - * any improvements or extensions that they make and grant Carnegie Mellon - * the rights to redistribute these changes. - */ -/* - * NOTICE: This file was modified by McAfee Research in 2004 to introduce - * support for mandatory and extensible security protections. This notice - * is included in support of clause 2.2 (b) of the Apple Public License, - * Version 2.0. - */ -/* - */ -/* - * File: mach/port.h - * - * Definition of a Mach port - * - * Mach ports are the endpoints to Mach-implemented communications - * channels (usually uni-directional message queues, but other types - * also exist). - * - * Unique collections of these endpoints are maintained for each - * Mach task. Each Mach port in the task's collection is given a - * [task-local] name to identify it - and the the various "rights" - * held by the task for that specific endpoint. - * - * This header defines the types used to identify these Mach ports - * and the various rights associated with them. For more info see: - * - * - manipulation of port rights in a given space - * - message queue [and port right passing] mechanism - * - */ - -#ifndef _MACH_PORT_H_ -#define _MACH_PORT_H_ - -#include -#include -#include -#include - -/* - * mach_port_name_t - the local identity for a Mach port - * - * The name is Mach port namespace specific. It is used to - * identify the rights held for that port by the task whose - * namespace is implied [or specifically provided]. - * - * Use of this type usually implies just a name - no rights. - * See mach_port_t for a type that implies a "named right." - * - */ - -typedef natural_t mach_port_name_t; -typedef mach_port_name_t *mach_port_name_array_t; - - -/* - * mach_port_t - a named port right - * - * In user-space, "rights" are represented by the name of the - * right in the Mach port namespace. Even so, this type is - * presented as a unique one to more clearly denote the presence - * of a right coming along with the name. - * - * Often, various rights for a port held in a single name space - * will coalesce and are, therefore, be identified by a single name - * [this is the case for send and receive rights]. But not - * always [send-once rights currently get a unique name for - * each right]. - * - */ - -#include -#include - - -typedef mach_port_t *mach_port_array_t; - -/* - * MACH_PORT_NULL is a legal value that can be carried in messages. - * It indicates the absence of any port or port rights. (A port - * argument keeps the message from being "simple", even if the - * value is MACH_PORT_NULL.) The value MACH_PORT_DEAD is also a legal - * value that can be carried in messages. It indicates - * that a port right was present, but it died. - */ - -#define MACH_PORT_NULL 0 /* intentional loose typing */ -#define MACH_PORT_DEAD ((mach_port_name_t) ~0) -#define MACH_PORT_VALID(name) \ - (((name) != MACH_PORT_NULL) && \ - ((name) != MACH_PORT_DEAD)) - - -/* - * For kernel-selected [assigned] port names, the name is - * comprised of two parts: a generation number and an index. - * This approach keeps the exact same name from being generated - * and reused too quickly [to catch right/reference counting bugs]. - * The dividing line between the constituent parts is exposed so - * that efficient "mach_port_name_t to data structure pointer" - * conversion implementation can be made. But it is possible - * for user-level code to assign their own names to Mach ports. - * These are not required to participate in this algorithm. So - * care should be taken before "assuming" this model. - * - */ - -#ifndef NO_PORT_GEN - -#define MACH_PORT_INDEX(name) ((name) >> 8) -#define MACH_PORT_GEN(name) (((name) & 0xff) << 24) -#define MACH_PORT_MAKE(index, gen) \ - (((index) << 8) | (gen) >> 24) - -#else /* NO_PORT_GEN */ - -#define MACH_PORT_INDEX(name) (name) -#define MACH_PORT_GEN(name) (0) -#define MACH_PORT_MAKE(index, gen) (index) - -#endif /* NO_PORT_GEN */ - - -/* - * These are the different rights a task may have for a port. - * The MACH_PORT_RIGHT_* definitions are used as arguments - * to mach_port_allocate, mach_port_get_refs, etc, to specify - * a particular right to act upon. The mach_port_names and - * mach_port_type calls return bitmasks using the MACH_PORT_TYPE_* - * definitions. This is because a single name may denote - * multiple rights. - */ - -typedef natural_t mach_port_right_t; - -#define MACH_PORT_RIGHT_SEND ((mach_port_right_t) 0) -#define MACH_PORT_RIGHT_RECEIVE ((mach_port_right_t) 1) -#define MACH_PORT_RIGHT_SEND_ONCE ((mach_port_right_t) 2) -#define MACH_PORT_RIGHT_PORT_SET ((mach_port_right_t) 3) -#define MACH_PORT_RIGHT_DEAD_NAME ((mach_port_right_t) 4) -#define MACH_PORT_RIGHT_LABELH ((mach_port_right_t) 5) /* obsolete right */ -#define MACH_PORT_RIGHT_NUMBER ((mach_port_right_t) 6) /* right not implemented */ - - -typedef natural_t mach_port_type_t; -typedef mach_port_type_t *mach_port_type_array_t; - -#define MACH_PORT_TYPE(right) \ - ((mach_port_type_t)(((mach_port_type_t) 1) \ - << ((right) + ((mach_port_right_t) 16)))) -#define MACH_PORT_TYPE_NONE ((mach_port_type_t) 0L) -#define MACH_PORT_TYPE_SEND MACH_PORT_TYPE(MACH_PORT_RIGHT_SEND) -#define MACH_PORT_TYPE_RECEIVE MACH_PORT_TYPE(MACH_PORT_RIGHT_RECEIVE) -#define MACH_PORT_TYPE_SEND_ONCE MACH_PORT_TYPE(MACH_PORT_RIGHT_SEND_ONCE) -#define MACH_PORT_TYPE_PORT_SET MACH_PORT_TYPE(MACH_PORT_RIGHT_PORT_SET) -#define MACH_PORT_TYPE_DEAD_NAME MACH_PORT_TYPE(MACH_PORT_RIGHT_DEAD_NAME) -#define MACH_PORT_TYPE_LABELH MACH_PORT_TYPE(MACH_PORT_RIGHT_LABELH) /* obsolete */ - - -/* Convenient combinations. */ - -#define MACH_PORT_TYPE_SEND_RECEIVE \ - (MACH_PORT_TYPE_SEND|MACH_PORT_TYPE_RECEIVE) -#define MACH_PORT_TYPE_SEND_RIGHTS \ - (MACH_PORT_TYPE_SEND|MACH_PORT_TYPE_SEND_ONCE) -#define MACH_PORT_TYPE_PORT_RIGHTS \ - (MACH_PORT_TYPE_SEND_RIGHTS|MACH_PORT_TYPE_RECEIVE) -#define MACH_PORT_TYPE_PORT_OR_DEAD \ - (MACH_PORT_TYPE_PORT_RIGHTS|MACH_PORT_TYPE_DEAD_NAME) -#define MACH_PORT_TYPE_ALL_RIGHTS \ - (MACH_PORT_TYPE_PORT_OR_DEAD|MACH_PORT_TYPE_PORT_SET) - -/* Dummy type bits that mach_port_type/mach_port_names can return. */ - -#define MACH_PORT_TYPE_DNREQUEST 0x80000000 -#define MACH_PORT_TYPE_SPREQUEST 0x40000000 -#define MACH_PORT_TYPE_SPREQUEST_DELAYED 0x20000000 - -/* User-references for capabilities. */ - -typedef natural_t mach_port_urefs_t; -typedef integer_t mach_port_delta_t; /* change in urefs */ - -/* Attributes of ports. (See mach_port_get_receive_status.) */ - -typedef natural_t mach_port_seqno_t; /* sequence number */ -typedef natural_t mach_port_mscount_t; /* make-send count */ -typedef natural_t mach_port_msgcount_t; /* number of msgs */ -typedef natural_t mach_port_rights_t; /* number of rights */ - -/* - * Are there outstanding send rights for a given port? - */ -#define MACH_PORT_SRIGHTS_NONE 0 /* no srights */ -#define MACH_PORT_SRIGHTS_PRESENT 1 /* srights */ -typedef unsigned int mach_port_srights_t; /* status of send rights */ - -typedef struct mach_port_status { - mach_port_rights_t mps_pset; /* count of containing port sets */ - mach_port_seqno_t mps_seqno; /* sequence number */ - mach_port_mscount_t mps_mscount; /* make-send count */ - mach_port_msgcount_t mps_qlimit; /* queue limit */ - mach_port_msgcount_t mps_msgcount; /* number in the queue */ - mach_port_rights_t mps_sorights; /* how many send-once rights */ - boolean_t mps_srights; /* do send rights exist? */ - boolean_t mps_pdrequest; /* port-deleted requested? */ - boolean_t mps_nsrequest; /* no-senders requested? */ - natural_t mps_flags; /* port flags */ -} mach_port_status_t; - -/* System-wide values for setting queue limits on a port */ -#define MACH_PORT_QLIMIT_ZERO (0) -#define MACH_PORT_QLIMIT_BASIC (5) -#define MACH_PORT_QLIMIT_SMALL (16) -#define MACH_PORT_QLIMIT_LARGE (1024) -#define MACH_PORT_QLIMIT_KERNEL (65534) -#define MACH_PORT_QLIMIT_MIN MACH_PORT_QLIMIT_ZERO -#define MACH_PORT_QLIMIT_DEFAULT MACH_PORT_QLIMIT_BASIC -#define MACH_PORT_QLIMIT_MAX MACH_PORT_QLIMIT_LARGE - -typedef struct mach_port_limits { - mach_port_msgcount_t mpl_qlimit; /* number of msgs */ -} mach_port_limits_t; - -/* Possible values for mps_flags (part of mach_port_status_t) */ -#define MACH_PORT_STATUS_FLAG_TEMPOWNER 0x01 -#define MACH_PORT_STATUS_FLAG_GUARDED 0x02 -#define MACH_PORT_STATUS_FLAG_STRICT_GUARD 0x04 -#define MACH_PORT_STATUS_FLAG_IMP_DONATION 0x08 -#define MACH_PORT_STATUS_FLAG_REVIVE 0x10 -#define MACH_PORT_STATUS_FLAG_TASKPTR 0x20 -#define MACH_PORT_STATUS_FLAG_GUARD_IMMOVABLE_RECEIVE 0x40 -#define MACH_PORT_STATUS_FLAG_NO_GRANT 0x80 - -typedef struct mach_port_info_ext { - mach_port_status_t mpie_status; - mach_port_msgcount_t mpie_boost_cnt; - uint32_t reserved[6]; -} mach_port_info_ext_t; - -typedef struct mach_port_guard_info { - uint64_t mpgi_guard; /* guard value */ -} mach_port_guard_info_t; - -typedef integer_t *mach_port_info_t; /* varying array of natural_t */ - -/* Flavors for mach_port_get/set/assert_attributes() */ -typedef int mach_port_flavor_t; -#define MACH_PORT_LIMITS_INFO 1 /* uses mach_port_limits_t */ -#define MACH_PORT_RECEIVE_STATUS 2 /* uses mach_port_status_t */ -#define MACH_PORT_DNREQUESTS_SIZE 3 /* info is int */ -#define MACH_PORT_TEMPOWNER 4 /* indicates receive right will be reassigned to another task */ -#define MACH_PORT_IMPORTANCE_RECEIVER 5 /* indicates recieve right accepts priority donation */ -#define MACH_PORT_DENAP_RECEIVER 6 /* indicates receive right accepts de-nap donation */ -#define MACH_PORT_INFO_EXT 7 /* uses mach_port_info_ext_t */ -#define MACH_PORT_GUARD_INFO 8 /* asserts if the strict guard value is correct */ - -#define MACH_PORT_LIMITS_INFO_COUNT ((natural_t) \ - (sizeof(mach_port_limits_t)/sizeof(natural_t))) -#define MACH_PORT_RECEIVE_STATUS_COUNT ((natural_t) \ - (sizeof(mach_port_status_t)/sizeof(natural_t))) -#define MACH_PORT_DNREQUESTS_SIZE_COUNT 1 -#define MACH_PORT_INFO_EXT_COUNT ((natural_t) \ - (sizeof(mach_port_info_ext_t)/sizeof(natural_t))) -#define MACH_PORT_GUARD_INFO_COUNT ((natural_t) \ - (sizeof(mach_port_guard_info_t)/sizeof(natural_t))) - -/* - * Structure used to pass information about port allocation requests. - * Must be padded to 64-bits total length. - */ -typedef struct mach_port_qos { - unsigned int name:1; /* name given */ - unsigned int prealloc:1; /* prealloced message */ - boolean_t pad1:30; - natural_t len; -} mach_port_qos_t; - -/* - * Structure used to pass information about the service port - */ -#define MACH_SERVICE_PORT_INFO_STRING_NAME_MAX_BUF_LEN 255 /* Maximum length of the port string name buffer */ - -typedef struct mach_service_port_info { - char mspi_string_name[MACH_SERVICE_PORT_INFO_STRING_NAME_MAX_BUF_LEN]; /* Service port's string name */ - uint8_t mspi_domain_type; /* Service port domain */ -} mach_service_port_info_data_t; - -#define MACH_SERVICE_PORT_INFO_COUNT ((char) \ - (sizeof(mach_service_port_info_data_t)/sizeof(char))) - -typedef struct mach_service_port_info * mach_service_port_info_t; - -/* - * Flags for mach_port_options (used for - * invocation of mach_port_construct). - * Indicates attributes to be set for the newly - * allocated port. - */ -#define MPO_CONTEXT_AS_GUARD 0x01 /* Add guard to the port */ -#define MPO_QLIMIT 0x02 /* Set qlimit for the port msg queue */ -#define MPO_TEMPOWNER 0x04 /* Set the tempowner bit of the port */ -#define MPO_IMPORTANCE_RECEIVER 0x08 /* Mark the port as importance receiver */ -#define MPO_INSERT_SEND_RIGHT 0x10 /* Insert a send right for the port */ -#define MPO_STRICT 0x20 /* Apply strict guarding for port */ -#define MPO_DENAP_RECEIVER 0x40 /* Mark the port as App de-nap receiver */ -#define MPO_IMMOVABLE_RECEIVE 0x80 /* Mark the port as immovable; protected by the guard context */ -#define MPO_FILTER_MSG 0x100 /* Allow message filtering */ -#define MPO_TG_BLOCK_TRACKING 0x200 /* Track blocking relationship for thread group during sync IPC */ -#define MPO_SERVICE_PORT 0x400 /* Create a service port with the given name; should be used only by launchd */ -#define MPO_CONNECTION_PORT 0x800 /* Derive new peer connection port from a given service port */ - -/* - * Structure to define optional attributes for a newly - * constructed port. - */ -typedef struct mach_port_options { - uint32_t flags; /* Flags defining attributes for port */ - mach_port_limits_t mpl; /* Message queue limit for port */ - union { - uint64_t reserved[2]; /* Reserved */ - mach_port_name_t work_interval_port; /* Work interval port */ - mach_service_port_info_t service_port_info; /* Service port (MPO_SERVICE_PORT) */ - mach_port_name_t service_port_name; /* Service port (MPO_CONNECTION_PORT) */ - }; -}mach_port_options_t; - -typedef mach_port_options_t *mach_port_options_ptr_t; - -/* Mach Port Guarding definitions */ - -/* - * EXC_GUARD represents a guard violation for both - * mach ports and file descriptors. GUARD_TYPE_ is used - * to differentiate among them. - */ -#define GUARD_TYPE_MACH_PORT 0x1 - -/* Reasons for exception for a guarded mach port */ -enum mach_port_guard_exception_codes { - kGUARD_EXC_DESTROY = 1u << 0, - kGUARD_EXC_MOD_REFS = 1u << 1, - kGUARD_EXC_SET_CONTEXT = 1u << 2, - 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, - /* 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, - /* start of always non-fatal guards */ - kGUARD_EXC_RCV_GUARDED_DESC = 1u << 20, /* for development only */ - kGUARD_EXC_MOD_REFS_NON_FATAL = 1u << 21, - kGUARD_EXC_IMMOVABLE_NON_FATAL = 1u << 22, -}; - -#define MAX_FATAL_kGUARD_EXC_CODE (1u << 7) - -/* - * 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. - */ -#define MPG_FLAGS_STRICT_REPLY_INVALID_REPLY_DISP (0x01ull << 56) -#define MPG_FLAGS_STRICT_REPLY_INVALID_REPLY_PORT (0x02ull << 56) -#define MPG_FLAGS_STRICT_REPLY_INVALID_VOUCHER (0x04ull << 56) -#define MPG_FLAGS_STRICT_REPLY_NO_BANK_ATTR (0x08ull << 56) -#define MPG_FLAGS_STRICT_REPLY_MISMATCHED_PERSONA (0x10ull << 56) -#define MPG_FLAGS_STRICT_REPLY_MASK (0xffull << 56) - -/* - * These flags are used as bits in the subcode of kGUARD_EXC_MOD_REFS exceptions. - */ -#define MPG_FLAGS_MOD_REFS_PINNED_DEALLOC (0x01ull << 56) -#define MPG_FLAGS_MOD_REFS_PINNED_DESTROY (0x02ull << 56) -#define MPG_FLAGS_MOD_REFS_PINNED_COPYIN (0x04ull << 56) - -/* - * These flags are used as bits in the subcode of kGUARD_EXC_IMMOVABLE exceptions. - */ -#define MPG_FLAGS_IMMOVABLE_PINNED (0x01ull << 56) - -/* - * Flags for mach_port_guard_with_flags. These flags extend - * the attributes associated with a guarded port. - */ -#define MPG_STRICT 0x01 /* Apply strict guarding for a port */ -#define MPG_IMMOVABLE_RECEIVE 0x02 /* Receive right cannot be moved out of the space */ - -#if !__DARWIN_UNIX03 && !defined(_NO_PORT_T_FROM_MACH) -/* - * Mach 3.0 renamed everything to have mach_ in front of it. - * These types and macros are provided for backward compatibility - * but are deprecated. - */ -typedef mach_port_t port_t; -typedef mach_port_name_t port_name_t; -typedef mach_port_name_t *port_name_array_t; - -#define PORT_NULL ((port_t) 0) -#define PORT_DEAD ((port_t) ~0) -#define PORT_VALID(name) \ - ((port_t)(name) != PORT_NULL && (port_t)(name) != PORT_DEAD) - -#endif /* !__DARWIN_UNIX03 && !_NO_PORT_T_FROM_MACH */ - -#endif /* _MACH_PORT_H_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.12-any/mach/processor.h b/lib/libc/include/any-macos.12-any/mach/processor.h deleted file mode 100644 index 15c5c7280e..0000000000 --- a/lib/libc/include/any-macos.12-any/mach/processor.h +++ /dev/null @@ -1,361 +0,0 @@ -#ifndef _processor_user_ -#define _processor_user_ - -/* Module processor */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -/* BEGIN MIG_STRNCPY_ZEROFILL CODE */ - -#if defined(__has_include) -#if __has_include() -#ifndef USING_MIG_STRNCPY_ZEROFILL -#define USING_MIG_STRNCPY_ZEROFILL -#endif -#ifndef __MIG_STRNCPY_ZEROFILL_FORWARD_TYPE_DECLS__ -#define __MIG_STRNCPY_ZEROFILL_FORWARD_TYPE_DECLS__ -#ifdef __cplusplus -extern "C" { -#endif - extern int mig_strncpy_zerofill(char *dest, const char *src, int len) __attribute__((weak_import)); -#ifdef __cplusplus -} -#endif -#endif /* __MIG_STRNCPY_ZEROFILL_FORWARD_TYPE_DECLS__ */ -#endif /* __has_include() */ -#endif /* __has_include */ - -/* END MIG_STRNCPY_ZEROFILL CODE */ - - -#ifdef AUTOTEST -#ifndef FUNCTION_PTR_T -#define FUNCTION_PTR_T -typedef void (*function_ptr_t)(mach_port_t, char *, mach_msg_type_number_t); -typedef struct { - char *name; - function_ptr_t function; -} function_table_entry; -typedef function_table_entry *function_table_t; -#endif /* FUNCTION_PTR_T */ -#endif /* AUTOTEST */ - -#ifndef processor_MSG_COUNT -#define processor_MSG_COUNT 6 -#endif /* processor_MSG_COUNT */ - -#include -#include -#include -#include -#include - -#ifdef __BeforeMigUserHeader -__BeforeMigUserHeader -#endif /* __BeforeMigUserHeader */ - -#include -__BEGIN_DECLS - - -/* Routine processor_start */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t processor_start -( - processor_t processor -); - -/* Routine processor_exit */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t processor_exit -( - processor_t processor -); - -/* Routine processor_info */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t processor_info -( - processor_t processor, - processor_flavor_t flavor, - host_t *host, - processor_info_t processor_info_out, - mach_msg_type_number_t *processor_info_outCnt -); - -/* Routine processor_control */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t processor_control -( - processor_t processor, - processor_info_t processor_cmd, - mach_msg_type_number_t processor_cmdCnt -); - -/* Routine processor_assign */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t processor_assign -( - processor_t processor, - processor_set_t new_set, - boolean_t wait -); - -/* Routine processor_get_assignment */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t processor_get_assignment -( - processor_t processor, - processor_set_name_t *assigned_set -); - -__END_DECLS - -/********************** Caution **************************/ -/* The following data types should be used to calculate */ -/* maximum message sizes only. The actual message may be */ -/* smaller, and the position of the arguments within the */ -/* message layout may vary from what is presented here. */ -/* For example, if any of the arguments are variable- */ -/* sized, and less than the maximum is sent, the data */ -/* will be packed tight in the actual message to reduce */ -/* the presence of holes. */ -/********************** Caution **************************/ - -/* typedefs for all requests */ - -#ifndef __Request__processor_subsystem__defined -#define __Request__processor_subsystem__defined - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - } __Request__processor_start_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - } __Request__processor_exit_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - processor_flavor_t flavor; - mach_msg_type_number_t processor_info_outCnt; - } __Request__processor_info_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - mach_msg_type_number_t processor_cmdCnt; - integer_t processor_cmd[20]; - } __Request__processor_control_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t new_set; - /* end of the kernel processed data */ - NDR_record_t NDR; - boolean_t wait; - } __Request__processor_assign_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - } __Request__processor_get_assignment_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif -#endif /* !__Request__processor_subsystem__defined */ - -/* union of all requests */ - -#ifndef __RequestUnion__processor_subsystem__defined -#define __RequestUnion__processor_subsystem__defined -union __RequestUnion__processor_subsystem { - __Request__processor_start_t Request_processor_start; - __Request__processor_exit_t Request_processor_exit; - __Request__processor_info_t Request_processor_info; - __Request__processor_control_t Request_processor_control; - __Request__processor_assign_t Request_processor_assign; - __Request__processor_get_assignment_t Request_processor_get_assignment; -}; -#endif /* !__RequestUnion__processor_subsystem__defined */ -/* typedefs for all replies */ - -#ifndef __Reply__processor_subsystem__defined -#define __Reply__processor_subsystem__defined - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__processor_start_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__processor_exit_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t host; - /* end of the kernel processed data */ - NDR_record_t NDR; - mach_msg_type_number_t processor_info_outCnt; - integer_t processor_info_out[20]; - } __Reply__processor_info_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__processor_control_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__processor_assign_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t assigned_set; - /* end of the kernel processed data */ - } __Reply__processor_get_assignment_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif -#endif /* !__Reply__processor_subsystem__defined */ - -/* union of all replies */ - -#ifndef __ReplyUnion__processor_subsystem__defined -#define __ReplyUnion__processor_subsystem__defined -union __ReplyUnion__processor_subsystem { - __Reply__processor_start_t Reply_processor_start; - __Reply__processor_exit_t Reply_processor_exit; - __Reply__processor_info_t Reply_processor_info; - __Reply__processor_control_t Reply_processor_control; - __Reply__processor_assign_t Reply_processor_assign; - __Reply__processor_get_assignment_t Reply_processor_get_assignment; -}; -#endif /* !__RequestUnion__processor_subsystem__defined */ - -#ifndef subsystem_to_name_map_processor -#define subsystem_to_name_map_processor \ - { "processor_start", 3000 },\ - { "processor_exit", 3001 },\ - { "processor_info", 3002 },\ - { "processor_control", 3003 },\ - { "processor_assign", 3004 },\ - { "processor_get_assignment", 3005 } -#endif - -#ifdef __AfterMigUserHeader -__AfterMigUserHeader -#endif /* __AfterMigUserHeader */ - -#endif /* _processor_user_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.12-any/mach/processor_set.h b/lib/libc/include/any-macos.12-any/mach/processor_set.h deleted file mode 100644 index b1cb6dd195..0000000000 --- a/lib/libc/include/any-macos.12-any/mach/processor_set.h +++ /dev/null @@ -1,586 +0,0 @@ -#ifndef _processor_set_user_ -#define _processor_set_user_ - -/* Module processor_set */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -/* BEGIN MIG_STRNCPY_ZEROFILL CODE */ - -#if defined(__has_include) -#if __has_include() -#ifndef USING_MIG_STRNCPY_ZEROFILL -#define USING_MIG_STRNCPY_ZEROFILL -#endif -#ifndef __MIG_STRNCPY_ZEROFILL_FORWARD_TYPE_DECLS__ -#define __MIG_STRNCPY_ZEROFILL_FORWARD_TYPE_DECLS__ -#ifdef __cplusplus -extern "C" { -#endif - extern int mig_strncpy_zerofill(char *dest, const char *src, int len) __attribute__((weak_import)); -#ifdef __cplusplus -} -#endif -#endif /* __MIG_STRNCPY_ZEROFILL_FORWARD_TYPE_DECLS__ */ -#endif /* __has_include() */ -#endif /* __has_include */ - -/* END MIG_STRNCPY_ZEROFILL CODE */ - - -#ifdef AUTOTEST -#ifndef FUNCTION_PTR_T -#define FUNCTION_PTR_T -typedef void (*function_ptr_t)(mach_port_t, char *, mach_msg_type_number_t); -typedef struct { - char *name; - function_ptr_t function; -} function_table_entry; -typedef function_table_entry *function_table_t; -#endif /* FUNCTION_PTR_T */ -#endif /* AUTOTEST */ - -#ifndef processor_set_MSG_COUNT -#define processor_set_MSG_COUNT 11 -#endif /* processor_set_MSG_COUNT */ - -#include -#include -#include -#include -#include - -#ifdef __BeforeMigUserHeader -__BeforeMigUserHeader -#endif /* __BeforeMigUserHeader */ - -#include -__BEGIN_DECLS - - -/* Routine processor_set_statistics */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t processor_set_statistics -( - processor_set_name_t pset, - processor_set_flavor_t flavor, - processor_set_info_t info_out, - mach_msg_type_number_t *info_outCnt -); - -/* Routine processor_set_destroy */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t processor_set_destroy -( - processor_set_t set -); - -/* Routine processor_set_max_priority */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t processor_set_max_priority -( - processor_set_t processor_set, - int max_priority, - boolean_t change_threads -); - -/* Routine processor_set_policy_enable */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t processor_set_policy_enable -( - processor_set_t processor_set, - int policy -); - -/* Routine processor_set_policy_disable */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t processor_set_policy_disable -( - processor_set_t processor_set, - int policy, - boolean_t change_threads -); - -/* Routine processor_set_tasks */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t processor_set_tasks -( - processor_set_t processor_set, - task_array_t *task_list, - mach_msg_type_number_t *task_listCnt -); - -/* Routine processor_set_threads */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t processor_set_threads -( - processor_set_t processor_set, - thread_act_array_t *thread_list, - mach_msg_type_number_t *thread_listCnt -); - -/* Routine processor_set_policy_control */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t processor_set_policy_control -( - processor_set_t pset, - processor_set_flavor_t flavor, - processor_set_info_t policy_info, - mach_msg_type_number_t policy_infoCnt, - boolean_t change -); - -/* Routine processor_set_stack_usage */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t processor_set_stack_usage -( - processor_set_t pset, - unsigned *ltotal, - vm_size_t *space, - vm_size_t *resident, - vm_size_t *maxusage, - vm_offset_t *maxstack -); - -/* Routine processor_set_info */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t processor_set_info -( - processor_set_name_t set_name, - int flavor, - host_t *host, - processor_set_info_t info_out, - mach_msg_type_number_t *info_outCnt -); - -/* Routine processor_set_tasks_with_flavor */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t processor_set_tasks_with_flavor -( - processor_set_t processor_set, - mach_task_flavor_t flavor, - task_array_t *task_list, - mach_msg_type_number_t *task_listCnt -); - -__END_DECLS - -/********************** Caution **************************/ -/* The following data types should be used to calculate */ -/* maximum message sizes only. The actual message may be */ -/* smaller, and the position of the arguments within the */ -/* message layout may vary from what is presented here. */ -/* For example, if any of the arguments are variable- */ -/* sized, and less than the maximum is sent, the data */ -/* will be packed tight in the actual message to reduce */ -/* the presence of holes. */ -/********************** Caution **************************/ - -/* typedefs for all requests */ - -#ifndef __Request__processor_set_subsystem__defined -#define __Request__processor_set_subsystem__defined - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - processor_set_flavor_t flavor; - mach_msg_type_number_t info_outCnt; - } __Request__processor_set_statistics_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - } __Request__processor_set_destroy_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - int max_priority; - boolean_t change_threads; - } __Request__processor_set_max_priority_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - int policy; - } __Request__processor_set_policy_enable_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - int policy; - boolean_t change_threads; - } __Request__processor_set_policy_disable_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - } __Request__processor_set_tasks_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - } __Request__processor_set_threads_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - processor_set_flavor_t flavor; - mach_msg_type_number_t policy_infoCnt; - integer_t policy_info[5]; - boolean_t change; - } __Request__processor_set_policy_control_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - } __Request__processor_set_stack_usage_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - int flavor; - mach_msg_type_number_t info_outCnt; - } __Request__processor_set_info_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - mach_task_flavor_t flavor; - } __Request__processor_set_tasks_with_flavor_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif -#endif /* !__Request__processor_set_subsystem__defined */ - -/* union of all requests */ - -#ifndef __RequestUnion__processor_set_subsystem__defined -#define __RequestUnion__processor_set_subsystem__defined -union __RequestUnion__processor_set_subsystem { - __Request__processor_set_statistics_t Request_processor_set_statistics; - __Request__processor_set_destroy_t Request_processor_set_destroy; - __Request__processor_set_max_priority_t Request_processor_set_max_priority; - __Request__processor_set_policy_enable_t Request_processor_set_policy_enable; - __Request__processor_set_policy_disable_t Request_processor_set_policy_disable; - __Request__processor_set_tasks_t Request_processor_set_tasks; - __Request__processor_set_threads_t Request_processor_set_threads; - __Request__processor_set_policy_control_t Request_processor_set_policy_control; - __Request__processor_set_stack_usage_t Request_processor_set_stack_usage; - __Request__processor_set_info_t Request_processor_set_info; - __Request__processor_set_tasks_with_flavor_t Request_processor_set_tasks_with_flavor; -}; -#endif /* !__RequestUnion__processor_set_subsystem__defined */ -/* typedefs for all replies */ - -#ifndef __Reply__processor_set_subsystem__defined -#define __Reply__processor_set_subsystem__defined - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - mach_msg_type_number_t info_outCnt; - integer_t info_out[5]; - } __Reply__processor_set_statistics_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__processor_set_destroy_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__processor_set_max_priority_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__processor_set_policy_enable_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__processor_set_policy_disable_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_ool_ports_descriptor_t task_list; - /* end of the kernel processed data */ - NDR_record_t NDR; - mach_msg_type_number_t task_listCnt; - } __Reply__processor_set_tasks_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_ool_ports_descriptor_t thread_list; - /* end of the kernel processed data */ - NDR_record_t NDR; - mach_msg_type_number_t thread_listCnt; - } __Reply__processor_set_threads_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__processor_set_policy_control_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - unsigned ltotal; - vm_size_t space; - vm_size_t resident; - vm_size_t maxusage; - vm_offset_t maxstack; - } __Reply__processor_set_stack_usage_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t host; - /* end of the kernel processed data */ - NDR_record_t NDR; - mach_msg_type_number_t info_outCnt; - integer_t info_out[5]; - } __Reply__processor_set_info_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_ool_ports_descriptor_t task_list; - /* end of the kernel processed data */ - NDR_record_t NDR; - mach_msg_type_number_t task_listCnt; - } __Reply__processor_set_tasks_with_flavor_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif -#endif /* !__Reply__processor_set_subsystem__defined */ - -/* union of all replies */ - -#ifndef __ReplyUnion__processor_set_subsystem__defined -#define __ReplyUnion__processor_set_subsystem__defined -union __ReplyUnion__processor_set_subsystem { - __Reply__processor_set_statistics_t Reply_processor_set_statistics; - __Reply__processor_set_destroy_t Reply_processor_set_destroy; - __Reply__processor_set_max_priority_t Reply_processor_set_max_priority; - __Reply__processor_set_policy_enable_t Reply_processor_set_policy_enable; - __Reply__processor_set_policy_disable_t Reply_processor_set_policy_disable; - __Reply__processor_set_tasks_t Reply_processor_set_tasks; - __Reply__processor_set_threads_t Reply_processor_set_threads; - __Reply__processor_set_policy_control_t Reply_processor_set_policy_control; - __Reply__processor_set_stack_usage_t Reply_processor_set_stack_usage; - __Reply__processor_set_info_t Reply_processor_set_info; - __Reply__processor_set_tasks_with_flavor_t Reply_processor_set_tasks_with_flavor; -}; -#endif /* !__RequestUnion__processor_set_subsystem__defined */ - -#ifndef subsystem_to_name_map_processor_set -#define subsystem_to_name_map_processor_set \ - { "processor_set_statistics", 4000 },\ - { "processor_set_destroy", 4001 },\ - { "processor_set_max_priority", 4002 },\ - { "processor_set_policy_enable", 4003 },\ - { "processor_set_policy_disable", 4004 },\ - { "processor_set_tasks", 4005 },\ - { "processor_set_threads", 4006 },\ - { "processor_set_policy_control", 4007 },\ - { "processor_set_stack_usage", 4008 },\ - { "processor_set_info", 4009 },\ - { "processor_set_tasks_with_flavor", 4010 } -#endif - -#ifdef __AfterMigUserHeader -__AfterMigUserHeader -#endif /* __AfterMigUserHeader */ - -#endif /* _processor_set_user_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.12-any/mach/task.h b/lib/libc/include/any-macos.12-any/mach/task.h deleted file mode 100644 index aa68a17375..0000000000 --- a/lib/libc/include/any-macos.12-any/mach/task.h +++ /dev/null @@ -1,2791 +0,0 @@ -#ifndef _task_user_ -#define _task_user_ - -/* Module task */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -/* BEGIN MIG_STRNCPY_ZEROFILL CODE */ - -#if defined(__has_include) -#if __has_include() -#ifndef USING_MIG_STRNCPY_ZEROFILL -#define USING_MIG_STRNCPY_ZEROFILL -#endif -#ifndef __MIG_STRNCPY_ZEROFILL_FORWARD_TYPE_DECLS__ -#define __MIG_STRNCPY_ZEROFILL_FORWARD_TYPE_DECLS__ -#ifdef __cplusplus -extern "C" { -#endif - extern int mig_strncpy_zerofill(char *dest, const char *src, int len) __attribute__((weak_import)); -#ifdef __cplusplus -} -#endif -#endif /* __MIG_STRNCPY_ZEROFILL_FORWARD_TYPE_DECLS__ */ -#endif /* __has_include() */ -#endif /* __has_include */ - -/* END MIG_STRNCPY_ZEROFILL CODE */ - - -#ifdef AUTOTEST -#ifndef FUNCTION_PTR_T -#define FUNCTION_PTR_T -typedef void (*function_ptr_t)(mach_port_t, char *, mach_msg_type_number_t); -typedef struct { - char *name; - function_ptr_t function; -} function_table_entry; -typedef function_table_entry *function_table_t; -#endif /* FUNCTION_PTR_T */ -#endif /* AUTOTEST */ - -#ifndef task_MSG_COUNT -#define task_MSG_COUNT 64 -#endif /* task_MSG_COUNT */ - -#include -#include -#include -#include -#include -#include - -#ifdef __BeforeMigUserHeader -__BeforeMigUserHeader -#endif /* __BeforeMigUserHeader */ - -#include -__BEGIN_DECLS - - -/* Routine task_create */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t task_create -( - task_t target_task, - ledger_array_t ledgers, - mach_msg_type_number_t ledgersCnt, - boolean_t inherit_memory, - task_t *child_task -); - -/* Routine task_terminate */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t task_terminate -( - task_t target_task -); - -/* Routine task_threads */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t task_threads -( - task_inspect_t target_task, - thread_act_array_t *act_list, - mach_msg_type_number_t *act_listCnt -); - -/* Routine mach_ports_register */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -__TVOS_PROHIBITED __WATCHOS_PROHIBITED -kern_return_t mach_ports_register -( - task_t target_task, - mach_port_array_t init_port_set, - mach_msg_type_number_t init_port_setCnt -); - -/* Routine mach_ports_lookup */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -__TVOS_PROHIBITED __WATCHOS_PROHIBITED -kern_return_t mach_ports_lookup -( - task_t target_task, - mach_port_array_t *init_port_set, - mach_msg_type_number_t *init_port_setCnt -); - -/* Routine task_info */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t task_info -( - task_name_t target_task, - task_flavor_t flavor, - task_info_t task_info_out, - mach_msg_type_number_t *task_info_outCnt -); - -/* Routine task_set_info */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -__TVOS_PROHIBITED __WATCHOS_PROHIBITED -kern_return_t task_set_info -( - task_t target_task, - task_flavor_t flavor, - task_info_t task_info_in, - mach_msg_type_number_t task_info_inCnt -); - -/* Routine task_suspend */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -__TVOS_PROHIBITED __WATCHOS_PROHIBITED -kern_return_t task_suspend -( - task_read_t target_task -); - -/* Routine task_resume */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -__TVOS_PROHIBITED __WATCHOS_PROHIBITED -kern_return_t task_resume -( - task_read_t target_task -); - -/* Routine task_get_special_port */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -__TVOS_PROHIBITED __WATCHOS_PROHIBITED -kern_return_t task_get_special_port -( - task_inspect_t task, - int which_port, - mach_port_t *special_port -); - -/* Routine task_set_special_port */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -__TVOS_PROHIBITED __WATCHOS_PROHIBITED -kern_return_t task_set_special_port -( - task_t task, - int which_port, - mach_port_t special_port -); - -/* Routine thread_create */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -__TVOS_PROHIBITED __WATCHOS_PROHIBITED -kern_return_t thread_create -( - task_t parent_task, - thread_act_t *child_act -); - -/* Routine thread_create_running */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -__TVOS_PROHIBITED __WATCHOS_PROHIBITED -kern_return_t thread_create_running -( - task_t parent_task, - thread_state_flavor_t flavor, - thread_state_t new_state, - mach_msg_type_number_t new_stateCnt, - thread_act_t *child_act -); - -/* Routine task_set_exception_ports */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -__TVOS_PROHIBITED __WATCHOS_PROHIBITED -kern_return_t task_set_exception_ports -( - task_t task, - exception_mask_t exception_mask, - mach_port_t new_port, - exception_behavior_t behavior, - thread_state_flavor_t new_flavor -); - -/* Routine task_get_exception_ports */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -__TVOS_PROHIBITED __WATCHOS_PROHIBITED -kern_return_t task_get_exception_ports -( - task_t task, - exception_mask_t exception_mask, - exception_mask_array_t masks, - mach_msg_type_number_t *masksCnt, - exception_handler_array_t old_handlers, - exception_behavior_array_t old_behaviors, - exception_flavor_array_t old_flavors -); - -/* Routine task_swap_exception_ports */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -__TVOS_PROHIBITED __WATCHOS_PROHIBITED -kern_return_t task_swap_exception_ports -( - task_t task, - exception_mask_t exception_mask, - mach_port_t new_port, - exception_behavior_t behavior, - thread_state_flavor_t new_flavor, - exception_mask_array_t masks, - mach_msg_type_number_t *masksCnt, - exception_handler_array_t old_handlers, - exception_behavior_array_t old_behaviors, - exception_flavor_array_t old_flavors -); - -/* Routine lock_set_create */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t lock_set_create -( - task_t task, - lock_set_t *new_lock_set, - int n_ulocks, - int policy -); - -/* Routine lock_set_destroy */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t lock_set_destroy -( - task_t task, - lock_set_t lock_set -); - -/* Routine semaphore_create */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t semaphore_create -( - task_t task, - semaphore_t *semaphore, - int policy, - int value -); - -/* Routine semaphore_destroy */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t semaphore_destroy -( - task_t task, - semaphore_t semaphore -); - -/* Routine task_policy_set */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -__TVOS_PROHIBITED __WATCHOS_PROHIBITED -kern_return_t task_policy_set -( - task_policy_set_t task, - task_policy_flavor_t flavor, - task_policy_t policy_info, - mach_msg_type_number_t policy_infoCnt -); - -/* Routine task_policy_get */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -__TVOS_PROHIBITED __WATCHOS_PROHIBITED -kern_return_t task_policy_get -( - task_policy_get_t task, - task_policy_flavor_t flavor, - task_policy_t policy_info, - mach_msg_type_number_t *policy_infoCnt, - boolean_t *get_default -); - -/* Routine task_sample */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t task_sample -( - task_t task, - mach_port_t reply -); - -/* Routine task_policy */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t task_policy -( - task_t task, - policy_t policy, - policy_base_t base, - mach_msg_type_number_t baseCnt, - boolean_t set_limit, - boolean_t change -); - -/* Routine task_set_emulation */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t task_set_emulation -( - task_t target_port, - vm_address_t routine_entry_pt, - int routine_number -); - -/* Routine task_get_emulation_vector */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t task_get_emulation_vector -( - task_t task, - int *vector_start, - emulation_vector_t *emulation_vector, - mach_msg_type_number_t *emulation_vectorCnt -); - -/* Routine task_set_emulation_vector */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t task_set_emulation_vector -( - task_t task, - int vector_start, - emulation_vector_t emulation_vector, - mach_msg_type_number_t emulation_vectorCnt -); - -/* Routine task_set_ras_pc */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t task_set_ras_pc -( - task_t target_task, - vm_address_t basepc, - vm_address_t boundspc -); - -/* Routine task_zone_info */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -__TVOS_PROHIBITED __WATCHOS_PROHIBITED -kern_return_t task_zone_info -( - task_inspect_t target_task, - mach_zone_name_array_t *names, - mach_msg_type_number_t *namesCnt, - task_zone_info_array_t *info, - mach_msg_type_number_t *infoCnt -); - -/* Routine task_assign */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t task_assign -( - task_t task, - processor_set_t new_set, - boolean_t assign_threads -); - -/* Routine task_assign_default */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t task_assign_default -( - task_t task, - boolean_t assign_threads -); - -/* Routine task_get_assignment */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t task_get_assignment -( - task_inspect_t task, - processor_set_name_t *assigned_set -); - -/* Routine task_set_policy */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t task_set_policy -( - task_t task, - processor_set_t pset, - policy_t policy, - policy_base_t base, - mach_msg_type_number_t baseCnt, - policy_limit_t limit, - mach_msg_type_number_t limitCnt, - boolean_t change -); - -/* Routine task_get_state */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -__TVOS_PROHIBITED __WATCHOS_PROHIBITED -kern_return_t task_get_state -( - task_read_t task, - thread_state_flavor_t flavor, - thread_state_t old_state, - mach_msg_type_number_t *old_stateCnt -); - -/* Routine task_set_state */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -__TVOS_PROHIBITED __WATCHOS_PROHIBITED -kern_return_t task_set_state -( - task_t task, - thread_state_flavor_t flavor, - thread_state_t new_state, - mach_msg_type_number_t new_stateCnt -); - -/* Routine task_set_phys_footprint_limit */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -__TVOS_PROHIBITED __WATCHOS_PROHIBITED -kern_return_t task_set_phys_footprint_limit -( - task_t task, - int new_limit, - int *old_limit -); - -/* Routine task_suspend2 */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -__TVOS_PROHIBITED __WATCHOS_PROHIBITED -kern_return_t task_suspend2 -( - task_read_t target_task, - task_suspension_token_t *suspend_token -); - -/* Routine task_resume2 */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -__TVOS_PROHIBITED __WATCHOS_PROHIBITED -kern_return_t task_resume2 -( - task_suspension_token_t suspend_token -); - -/* Routine task_purgable_info */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t task_purgable_info -( - task_inspect_t task, - task_purgable_info_t *stats -); - -/* Routine task_get_mach_voucher */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -__TVOS_PROHIBITED __WATCHOS_PROHIBITED -kern_return_t task_get_mach_voucher -( - task_read_t task, - mach_voucher_selector_t which, - ipc_voucher_t *voucher -); - -/* Routine task_set_mach_voucher */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -__TVOS_PROHIBITED __WATCHOS_PROHIBITED -kern_return_t task_set_mach_voucher -( - task_t task, - ipc_voucher_t voucher -); - -/* Routine task_swap_mach_voucher */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -__TVOS_PROHIBITED __WATCHOS_PROHIBITED -kern_return_t task_swap_mach_voucher -( - task_t task, - ipc_voucher_t new_voucher, - ipc_voucher_t *old_voucher -); - -/* Routine task_generate_corpse */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t task_generate_corpse -( - task_read_t task, - mach_port_t *corpse_task_port -); - -/* Routine task_map_corpse_info */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t task_map_corpse_info -( - task_t task, - task_read_t corspe_task, - vm_address_t *kcd_addr_begin, - uint32_t *kcd_size -); - -/* Routine task_register_dyld_image_infos */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t task_register_dyld_image_infos -( - task_t task, - dyld_kernel_image_info_array_t dyld_images, - mach_msg_type_number_t dyld_imagesCnt -); - -/* Routine task_unregister_dyld_image_infos */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t task_unregister_dyld_image_infos -( - task_t task, - dyld_kernel_image_info_array_t dyld_images, - mach_msg_type_number_t dyld_imagesCnt -); - -/* Routine task_get_dyld_image_infos */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t task_get_dyld_image_infos -( - task_read_t task, - dyld_kernel_image_info_array_t *dyld_images, - mach_msg_type_number_t *dyld_imagesCnt -); - -/* Routine task_register_dyld_shared_cache_image_info */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t task_register_dyld_shared_cache_image_info -( - task_t task, - dyld_kernel_image_info_t dyld_cache_image, - boolean_t no_cache, - boolean_t private_cache -); - -/* Routine task_register_dyld_set_dyld_state */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t task_register_dyld_set_dyld_state -( - task_t task, - uint8_t dyld_state -); - -/* Routine task_register_dyld_get_process_state */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t task_register_dyld_get_process_state -( - task_t task, - dyld_kernel_process_info_t *dyld_process_state -); - -/* Routine task_map_corpse_info_64 */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t task_map_corpse_info_64 -( - task_t task, - task_read_t corspe_task, - mach_vm_address_t *kcd_addr_begin, - mach_vm_size_t *kcd_size -); - -/* Routine task_inspect */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t task_inspect -( - task_inspect_t task, - task_inspect_flavor_t flavor, - task_inspect_info_t info_out, - mach_msg_type_number_t *info_outCnt -); - -/* Routine task_get_exc_guard_behavior */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t task_get_exc_guard_behavior -( - task_inspect_t task, - task_exc_guard_behavior_t *behavior -); - -/* Routine task_set_exc_guard_behavior */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t task_set_exc_guard_behavior -( - task_t task, - task_exc_guard_behavior_t behavior -); - -/* Routine task_dyld_process_info_notify_register */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t task_dyld_process_info_notify_register -( - task_read_t target_task, - mach_port_t notify -); - -/* Routine task_create_identity_token */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t task_create_identity_token -( - task_t task, - task_id_token_t *token -); - -/* Routine task_identity_token_get_task_port */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t task_identity_token_get_task_port -( - task_id_token_t token, - task_flavor_t flavor, - mach_port_t *task_port -); - -/* Routine task_dyld_process_info_notify_deregister */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t task_dyld_process_info_notify_deregister -( - task_read_t target_task, - mach_port_name_t notify -); - -/* Routine task_get_exception_ports_info */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t task_get_exception_ports_info -( - mach_port_t port, - exception_mask_t exception_mask, - exception_mask_array_t masks, - mach_msg_type_number_t *masksCnt, - exception_handler_info_array_t old_handlers_info, - exception_behavior_array_t old_behaviors, - exception_flavor_array_t old_flavors -); - -/* Routine task_test_sync_upcall */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t task_test_sync_upcall -( - task_t task, - mach_port_t port -); - -/* Routine task_set_corpse_forking_behavior */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t task_set_corpse_forking_behavior -( - task_t task, - task_corpse_forking_behavior_t behavior -); - -/* Routine task_test_async_upcall_propagation */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t task_test_async_upcall_propagation -( - task_t task, - mach_port_t port, - int qos, - int iotier -); - -__END_DECLS - -/********************** Caution **************************/ -/* The following data types should be used to calculate */ -/* maximum message sizes only. The actual message may be */ -/* smaller, and the position of the arguments within the */ -/* message layout may vary from what is presented here. */ -/* For example, if any of the arguments are variable- */ -/* sized, and less than the maximum is sent, the data */ -/* will be packed tight in the actual message to reduce */ -/* the presence of holes. */ -/********************** Caution **************************/ - -/* typedefs for all requests */ - -#ifndef __Request__task_subsystem__defined -#define __Request__task_subsystem__defined - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_ool_ports_descriptor_t ledgers; - /* end of the kernel processed data */ - NDR_record_t NDR; - mach_msg_type_number_t ledgersCnt; - boolean_t inherit_memory; - } __Request__task_create_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - } __Request__task_terminate_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - } __Request__task_threads_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_ool_ports_descriptor_t init_port_set; - /* end of the kernel processed data */ - NDR_record_t NDR; - mach_msg_type_number_t init_port_setCnt; - } __Request__mach_ports_register_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - } __Request__mach_ports_lookup_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - task_flavor_t flavor; - mach_msg_type_number_t task_info_outCnt; - } __Request__task_info_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - task_flavor_t flavor; - mach_msg_type_number_t task_info_inCnt; - integer_t task_info_in[89]; - } __Request__task_set_info_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - } __Request__task_suspend_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - } __Request__task_resume_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - int which_port; - } __Request__task_get_special_port_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t special_port; - /* end of the kernel processed data */ - NDR_record_t NDR; - int which_port; - } __Request__task_set_special_port_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - } __Request__thread_create_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - thread_state_flavor_t flavor; - mach_msg_type_number_t new_stateCnt; - natural_t new_state[1296]; - } __Request__thread_create_running_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t new_port; - /* end of the kernel processed data */ - NDR_record_t NDR; - exception_mask_t exception_mask; - exception_behavior_t behavior; - thread_state_flavor_t new_flavor; - } __Request__task_set_exception_ports_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - exception_mask_t exception_mask; - } __Request__task_get_exception_ports_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t new_port; - /* end of the kernel processed data */ - NDR_record_t NDR; - exception_mask_t exception_mask; - exception_behavior_t behavior; - thread_state_flavor_t new_flavor; - } __Request__task_swap_exception_ports_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - int n_ulocks; - int policy; - } __Request__lock_set_create_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t lock_set; - /* end of the kernel processed data */ - } __Request__lock_set_destroy_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - int policy; - int value; - } __Request__semaphore_create_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t semaphore; - /* end of the kernel processed data */ - } __Request__semaphore_destroy_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - task_policy_flavor_t flavor; - mach_msg_type_number_t policy_infoCnt; - integer_t policy_info[16]; - } __Request__task_policy_set_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - task_policy_flavor_t flavor; - mach_msg_type_number_t policy_infoCnt; - boolean_t get_default; - } __Request__task_policy_get_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t reply; - /* end of the kernel processed data */ - } __Request__task_sample_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - policy_t policy; - mach_msg_type_number_t baseCnt; - integer_t base[5]; - boolean_t set_limit; - boolean_t change; - } __Request__task_policy_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - vm_address_t routine_entry_pt; - int routine_number; - } __Request__task_set_emulation_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - } __Request__task_get_emulation_vector_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_ool_descriptor_t emulation_vector; - /* end of the kernel processed data */ - NDR_record_t NDR; - int vector_start; - mach_msg_type_number_t emulation_vectorCnt; - } __Request__task_set_emulation_vector_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - vm_address_t basepc; - vm_address_t boundspc; - } __Request__task_set_ras_pc_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - } __Request__task_zone_info_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t new_set; - /* end of the kernel processed data */ - NDR_record_t NDR; - boolean_t assign_threads; - } __Request__task_assign_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - boolean_t assign_threads; - } __Request__task_assign_default_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - } __Request__task_get_assignment_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t pset; - /* end of the kernel processed data */ - NDR_record_t NDR; - policy_t policy; - mach_msg_type_number_t baseCnt; - integer_t base[5]; - mach_msg_type_number_t limitCnt; - integer_t limit[1]; - boolean_t change; - } __Request__task_set_policy_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - thread_state_flavor_t flavor; - mach_msg_type_number_t old_stateCnt; - } __Request__task_get_state_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - thread_state_flavor_t flavor; - mach_msg_type_number_t new_stateCnt; - natural_t new_state[1296]; - } __Request__task_set_state_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - int new_limit; - } __Request__task_set_phys_footprint_limit_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - } __Request__task_suspend2_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - } __Request__task_resume2_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - } __Request__task_purgable_info_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - mach_voucher_selector_t which; - } __Request__task_get_mach_voucher_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t voucher; - /* end of the kernel processed data */ - } __Request__task_set_mach_voucher_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t new_voucher; - mach_msg_port_descriptor_t old_voucher; - /* end of the kernel processed data */ - } __Request__task_swap_mach_voucher_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - } __Request__task_generate_corpse_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t corspe_task; - /* end of the kernel processed data */ - } __Request__task_map_corpse_info_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_ool_descriptor_t dyld_images; - /* end of the kernel processed data */ - NDR_record_t NDR; - mach_msg_type_number_t dyld_imagesCnt; - } __Request__task_register_dyld_image_infos_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_ool_descriptor_t dyld_images; - /* end of the kernel processed data */ - NDR_record_t NDR; - mach_msg_type_number_t dyld_imagesCnt; - } __Request__task_unregister_dyld_image_infos_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - } __Request__task_get_dyld_image_infos_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - dyld_kernel_image_info_t dyld_cache_image; - boolean_t no_cache; - boolean_t private_cache; - } __Request__task_register_dyld_shared_cache_image_info_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - uint8_t dyld_state; - char dyld_statePad[3]; - } __Request__task_register_dyld_set_dyld_state_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - } __Request__task_register_dyld_get_process_state_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t corspe_task; - /* end of the kernel processed data */ - } __Request__task_map_corpse_info_64_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - task_inspect_flavor_t flavor; - mach_msg_type_number_t info_outCnt; - } __Request__task_inspect_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - } __Request__task_get_exc_guard_behavior_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - task_exc_guard_behavior_t behavior; - } __Request__task_set_exc_guard_behavior_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t notify; - /* end of the kernel processed data */ - } __Request__task_dyld_process_info_notify_register_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - } __Request__task_create_identity_token_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - task_flavor_t flavor; - } __Request__task_identity_token_get_task_port_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - mach_port_name_t notify; - } __Request__task_dyld_process_info_notify_deregister_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - exception_mask_t exception_mask; - } __Request__task_get_exception_ports_info_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t port; - /* end of the kernel processed data */ - } __Request__task_test_sync_upcall_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - task_corpse_forking_behavior_t behavior; - } __Request__task_set_corpse_forking_behavior_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t port; - /* end of the kernel processed data */ - NDR_record_t NDR; - int qos; - int iotier; - } __Request__task_test_async_upcall_propagation_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif -#endif /* !__Request__task_subsystem__defined */ - -/* union of all requests */ - -#ifndef __RequestUnion__task_subsystem__defined -#define __RequestUnion__task_subsystem__defined -union __RequestUnion__task_subsystem { - __Request__task_create_t Request_task_create; - __Request__task_terminate_t Request_task_terminate; - __Request__task_threads_t Request_task_threads; - __Request__mach_ports_register_t Request_mach_ports_register; - __Request__mach_ports_lookup_t Request_mach_ports_lookup; - __Request__task_info_t Request_task_info; - __Request__task_set_info_t Request_task_set_info; - __Request__task_suspend_t Request_task_suspend; - __Request__task_resume_t Request_task_resume; - __Request__task_get_special_port_t Request_task_get_special_port; - __Request__task_set_special_port_t Request_task_set_special_port; - __Request__thread_create_t Request_thread_create; - __Request__thread_create_running_t Request_thread_create_running; - __Request__task_set_exception_ports_t Request_task_set_exception_ports; - __Request__task_get_exception_ports_t Request_task_get_exception_ports; - __Request__task_swap_exception_ports_t Request_task_swap_exception_ports; - __Request__lock_set_create_t Request_lock_set_create; - __Request__lock_set_destroy_t Request_lock_set_destroy; - __Request__semaphore_create_t Request_semaphore_create; - __Request__semaphore_destroy_t Request_semaphore_destroy; - __Request__task_policy_set_t Request_task_policy_set; - __Request__task_policy_get_t Request_task_policy_get; - __Request__task_sample_t Request_task_sample; - __Request__task_policy_t Request_task_policy; - __Request__task_set_emulation_t Request_task_set_emulation; - __Request__task_get_emulation_vector_t Request_task_get_emulation_vector; - __Request__task_set_emulation_vector_t Request_task_set_emulation_vector; - __Request__task_set_ras_pc_t Request_task_set_ras_pc; - __Request__task_zone_info_t Request_task_zone_info; - __Request__task_assign_t Request_task_assign; - __Request__task_assign_default_t Request_task_assign_default; - __Request__task_get_assignment_t Request_task_get_assignment; - __Request__task_set_policy_t Request_task_set_policy; - __Request__task_get_state_t Request_task_get_state; - __Request__task_set_state_t Request_task_set_state; - __Request__task_set_phys_footprint_limit_t Request_task_set_phys_footprint_limit; - __Request__task_suspend2_t Request_task_suspend2; - __Request__task_resume2_t Request_task_resume2; - __Request__task_purgable_info_t Request_task_purgable_info; - __Request__task_get_mach_voucher_t Request_task_get_mach_voucher; - __Request__task_set_mach_voucher_t Request_task_set_mach_voucher; - __Request__task_swap_mach_voucher_t Request_task_swap_mach_voucher; - __Request__task_generate_corpse_t Request_task_generate_corpse; - __Request__task_map_corpse_info_t Request_task_map_corpse_info; - __Request__task_register_dyld_image_infos_t Request_task_register_dyld_image_infos; - __Request__task_unregister_dyld_image_infos_t Request_task_unregister_dyld_image_infos; - __Request__task_get_dyld_image_infos_t Request_task_get_dyld_image_infos; - __Request__task_register_dyld_shared_cache_image_info_t Request_task_register_dyld_shared_cache_image_info; - __Request__task_register_dyld_set_dyld_state_t Request_task_register_dyld_set_dyld_state; - __Request__task_register_dyld_get_process_state_t Request_task_register_dyld_get_process_state; - __Request__task_map_corpse_info_64_t Request_task_map_corpse_info_64; - __Request__task_inspect_t Request_task_inspect; - __Request__task_get_exc_guard_behavior_t Request_task_get_exc_guard_behavior; - __Request__task_set_exc_guard_behavior_t Request_task_set_exc_guard_behavior; - __Request__task_dyld_process_info_notify_register_t Request_task_dyld_process_info_notify_register; - __Request__task_create_identity_token_t Request_task_create_identity_token; - __Request__task_identity_token_get_task_port_t Request_task_identity_token_get_task_port; - __Request__task_dyld_process_info_notify_deregister_t Request_task_dyld_process_info_notify_deregister; - __Request__task_get_exception_ports_info_t Request_task_get_exception_ports_info; - __Request__task_test_sync_upcall_t Request_task_test_sync_upcall; - __Request__task_set_corpse_forking_behavior_t Request_task_set_corpse_forking_behavior; - __Request__task_test_async_upcall_propagation_t Request_task_test_async_upcall_propagation; -}; -#endif /* !__RequestUnion__task_subsystem__defined */ -/* typedefs for all replies */ - -#ifndef __Reply__task_subsystem__defined -#define __Reply__task_subsystem__defined - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t child_task; - /* end of the kernel processed data */ - } __Reply__task_create_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__task_terminate_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_ool_ports_descriptor_t act_list; - /* end of the kernel processed data */ - NDR_record_t NDR; - mach_msg_type_number_t act_listCnt; - } __Reply__task_threads_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__mach_ports_register_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_ool_ports_descriptor_t init_port_set; - /* end of the kernel processed data */ - NDR_record_t NDR; - mach_msg_type_number_t init_port_setCnt; - } __Reply__mach_ports_lookup_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - mach_msg_type_number_t task_info_outCnt; - integer_t task_info_out[89]; - } __Reply__task_info_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__task_set_info_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__task_suspend_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__task_resume_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t special_port; - /* end of the kernel processed data */ - } __Reply__task_get_special_port_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__task_set_special_port_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t child_act; - /* end of the kernel processed data */ - } __Reply__thread_create_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t child_act; - /* end of the kernel processed data */ - } __Reply__thread_create_running_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__task_set_exception_ports_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t old_handlers[32]; - /* end of the kernel processed data */ - NDR_record_t NDR; - mach_msg_type_number_t masksCnt; - exception_mask_t masks[32]; - exception_behavior_t old_behaviors[32]; - thread_state_flavor_t old_flavors[32]; - } __Reply__task_get_exception_ports_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t old_handlers[32]; - /* end of the kernel processed data */ - NDR_record_t NDR; - mach_msg_type_number_t masksCnt; - exception_mask_t masks[32]; - exception_behavior_t old_behaviors[32]; - thread_state_flavor_t old_flavors[32]; - } __Reply__task_swap_exception_ports_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t new_lock_set; - /* end of the kernel processed data */ - } __Reply__lock_set_create_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__lock_set_destroy_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t semaphore; - /* end of the kernel processed data */ - } __Reply__semaphore_create_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__semaphore_destroy_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__task_policy_set_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - mach_msg_type_number_t policy_infoCnt; - integer_t policy_info[16]; - boolean_t get_default; - } __Reply__task_policy_get_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__task_sample_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__task_policy_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__task_set_emulation_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_ool_descriptor_t emulation_vector; - /* end of the kernel processed data */ - NDR_record_t NDR; - int vector_start; - mach_msg_type_number_t emulation_vectorCnt; - } __Reply__task_get_emulation_vector_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__task_set_emulation_vector_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__task_set_ras_pc_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_ool_descriptor_t names; - mach_msg_ool_descriptor_t info; - /* end of the kernel processed data */ - NDR_record_t NDR; - mach_msg_type_number_t namesCnt; - mach_msg_type_number_t infoCnt; - } __Reply__task_zone_info_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__task_assign_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__task_assign_default_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t assigned_set; - /* end of the kernel processed data */ - } __Reply__task_get_assignment_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__task_set_policy_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - mach_msg_type_number_t old_stateCnt; - natural_t old_state[1296]; - } __Reply__task_get_state_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__task_set_state_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - int old_limit; - } __Reply__task_set_phys_footprint_limit_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t suspend_token; - /* end of the kernel processed data */ - } __Reply__task_suspend2_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__task_resume2_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - task_purgable_info_t stats; - } __Reply__task_purgable_info_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t voucher; - /* end of the kernel processed data */ - } __Reply__task_get_mach_voucher_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__task_set_mach_voucher_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t old_voucher; - /* end of the kernel processed data */ - } __Reply__task_swap_mach_voucher_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t corpse_task_port; - /* end of the kernel processed data */ - } __Reply__task_generate_corpse_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - vm_address_t kcd_addr_begin; - uint32_t kcd_size; - } __Reply__task_map_corpse_info_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__task_register_dyld_image_infos_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__task_unregister_dyld_image_infos_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_ool_descriptor_t dyld_images; - /* end of the kernel processed data */ - NDR_record_t NDR; - mach_msg_type_number_t dyld_imagesCnt; - } __Reply__task_get_dyld_image_infos_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__task_register_dyld_shared_cache_image_info_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__task_register_dyld_set_dyld_state_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - dyld_kernel_process_info_t dyld_process_state; - } __Reply__task_register_dyld_get_process_state_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - mach_vm_address_t kcd_addr_begin; - mach_vm_size_t kcd_size; - } __Reply__task_map_corpse_info_64_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - mach_msg_type_number_t info_outCnt; - integer_t info_out[4]; - } __Reply__task_inspect_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - task_exc_guard_behavior_t behavior; - } __Reply__task_get_exc_guard_behavior_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__task_set_exc_guard_behavior_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__task_dyld_process_info_notify_register_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t token; - /* end of the kernel processed data */ - } __Reply__task_create_identity_token_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t task_port; - /* end of the kernel processed data */ - } __Reply__task_identity_token_get_task_port_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__task_dyld_process_info_notify_deregister_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - mach_msg_type_number_t masksCnt; - exception_mask_t masks[32]; - exception_handler_info_t old_handlers_info[32]; - exception_behavior_t old_behaviors[32]; - thread_state_flavor_t old_flavors[32]; - } __Reply__task_get_exception_ports_info_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__task_test_sync_upcall_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__task_set_corpse_forking_behavior_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__task_test_async_upcall_propagation_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif -#endif /* !__Reply__task_subsystem__defined */ - -/* union of all replies */ - -#ifndef __ReplyUnion__task_subsystem__defined -#define __ReplyUnion__task_subsystem__defined -union __ReplyUnion__task_subsystem { - __Reply__task_create_t Reply_task_create; - __Reply__task_terminate_t Reply_task_terminate; - __Reply__task_threads_t Reply_task_threads; - __Reply__mach_ports_register_t Reply_mach_ports_register; - __Reply__mach_ports_lookup_t Reply_mach_ports_lookup; - __Reply__task_info_t Reply_task_info; - __Reply__task_set_info_t Reply_task_set_info; - __Reply__task_suspend_t Reply_task_suspend; - __Reply__task_resume_t Reply_task_resume; - __Reply__task_get_special_port_t Reply_task_get_special_port; - __Reply__task_set_special_port_t Reply_task_set_special_port; - __Reply__thread_create_t Reply_thread_create; - __Reply__thread_create_running_t Reply_thread_create_running; - __Reply__task_set_exception_ports_t Reply_task_set_exception_ports; - __Reply__task_get_exception_ports_t Reply_task_get_exception_ports; - __Reply__task_swap_exception_ports_t Reply_task_swap_exception_ports; - __Reply__lock_set_create_t Reply_lock_set_create; - __Reply__lock_set_destroy_t Reply_lock_set_destroy; - __Reply__semaphore_create_t Reply_semaphore_create; - __Reply__semaphore_destroy_t Reply_semaphore_destroy; - __Reply__task_policy_set_t Reply_task_policy_set; - __Reply__task_policy_get_t Reply_task_policy_get; - __Reply__task_sample_t Reply_task_sample; - __Reply__task_policy_t Reply_task_policy; - __Reply__task_set_emulation_t Reply_task_set_emulation; - __Reply__task_get_emulation_vector_t Reply_task_get_emulation_vector; - __Reply__task_set_emulation_vector_t Reply_task_set_emulation_vector; - __Reply__task_set_ras_pc_t Reply_task_set_ras_pc; - __Reply__task_zone_info_t Reply_task_zone_info; - __Reply__task_assign_t Reply_task_assign; - __Reply__task_assign_default_t Reply_task_assign_default; - __Reply__task_get_assignment_t Reply_task_get_assignment; - __Reply__task_set_policy_t Reply_task_set_policy; - __Reply__task_get_state_t Reply_task_get_state; - __Reply__task_set_state_t Reply_task_set_state; - __Reply__task_set_phys_footprint_limit_t Reply_task_set_phys_footprint_limit; - __Reply__task_suspend2_t Reply_task_suspend2; - __Reply__task_resume2_t Reply_task_resume2; - __Reply__task_purgable_info_t Reply_task_purgable_info; - __Reply__task_get_mach_voucher_t Reply_task_get_mach_voucher; - __Reply__task_set_mach_voucher_t Reply_task_set_mach_voucher; - __Reply__task_swap_mach_voucher_t Reply_task_swap_mach_voucher; - __Reply__task_generate_corpse_t Reply_task_generate_corpse; - __Reply__task_map_corpse_info_t Reply_task_map_corpse_info; - __Reply__task_register_dyld_image_infos_t Reply_task_register_dyld_image_infos; - __Reply__task_unregister_dyld_image_infos_t Reply_task_unregister_dyld_image_infos; - __Reply__task_get_dyld_image_infos_t Reply_task_get_dyld_image_infos; - __Reply__task_register_dyld_shared_cache_image_info_t Reply_task_register_dyld_shared_cache_image_info; - __Reply__task_register_dyld_set_dyld_state_t Reply_task_register_dyld_set_dyld_state; - __Reply__task_register_dyld_get_process_state_t Reply_task_register_dyld_get_process_state; - __Reply__task_map_corpse_info_64_t Reply_task_map_corpse_info_64; - __Reply__task_inspect_t Reply_task_inspect; - __Reply__task_get_exc_guard_behavior_t Reply_task_get_exc_guard_behavior; - __Reply__task_set_exc_guard_behavior_t Reply_task_set_exc_guard_behavior; - __Reply__task_dyld_process_info_notify_register_t Reply_task_dyld_process_info_notify_register; - __Reply__task_create_identity_token_t Reply_task_create_identity_token; - __Reply__task_identity_token_get_task_port_t Reply_task_identity_token_get_task_port; - __Reply__task_dyld_process_info_notify_deregister_t Reply_task_dyld_process_info_notify_deregister; - __Reply__task_get_exception_ports_info_t Reply_task_get_exception_ports_info; - __Reply__task_test_sync_upcall_t Reply_task_test_sync_upcall; - __Reply__task_set_corpse_forking_behavior_t Reply_task_set_corpse_forking_behavior; - __Reply__task_test_async_upcall_propagation_t Reply_task_test_async_upcall_propagation; -}; -#endif /* !__RequestUnion__task_subsystem__defined */ - -#ifndef subsystem_to_name_map_task -#define subsystem_to_name_map_task \ - { "task_create", 3400 },\ - { "task_terminate", 3401 },\ - { "task_threads", 3402 },\ - { "mach_ports_register", 3403 },\ - { "mach_ports_lookup", 3404 },\ - { "task_info", 3405 },\ - { "task_set_info", 3406 },\ - { "task_suspend", 3407 },\ - { "task_resume", 3408 },\ - { "task_get_special_port", 3409 },\ - { "task_set_special_port", 3410 },\ - { "thread_create", 3411 },\ - { "thread_create_running", 3412 },\ - { "task_set_exception_ports", 3413 },\ - { "task_get_exception_ports", 3414 },\ - { "task_swap_exception_ports", 3415 },\ - { "lock_set_create", 3416 },\ - { "lock_set_destroy", 3417 },\ - { "semaphore_create", 3418 },\ - { "semaphore_destroy", 3419 },\ - { "task_policy_set", 3420 },\ - { "task_policy_get", 3421 },\ - { "task_sample", 3422 },\ - { "task_policy", 3423 },\ - { "task_set_emulation", 3424 },\ - { "task_get_emulation_vector", 3425 },\ - { "task_set_emulation_vector", 3426 },\ - { "task_set_ras_pc", 3427 },\ - { "task_zone_info", 3428 },\ - { "task_assign", 3429 },\ - { "task_assign_default", 3430 },\ - { "task_get_assignment", 3431 },\ - { "task_set_policy", 3432 },\ - { "task_get_state", 3433 },\ - { "task_set_state", 3434 },\ - { "task_set_phys_footprint_limit", 3435 },\ - { "task_suspend2", 3436 },\ - { "task_resume2", 3437 },\ - { "task_purgable_info", 3438 },\ - { "task_get_mach_voucher", 3439 },\ - { "task_set_mach_voucher", 3440 },\ - { "task_swap_mach_voucher", 3441 },\ - { "task_generate_corpse", 3442 },\ - { "task_map_corpse_info", 3443 },\ - { "task_register_dyld_image_infos", 3444 },\ - { "task_unregister_dyld_image_infos", 3445 },\ - { "task_get_dyld_image_infos", 3446 },\ - { "task_register_dyld_shared_cache_image_info", 3447 },\ - { "task_register_dyld_set_dyld_state", 3448 },\ - { "task_register_dyld_get_process_state", 3449 },\ - { "task_map_corpse_info_64", 3450 },\ - { "task_inspect", 3451 },\ - { "task_get_exc_guard_behavior", 3452 },\ - { "task_set_exc_guard_behavior", 3453 },\ - { "task_dyld_process_info_notify_register", 3456 },\ - { "task_create_identity_token", 3457 },\ - { "task_identity_token_get_task_port", 3458 },\ - { "task_dyld_process_info_notify_deregister", 3459 },\ - { "task_get_exception_ports_info", 3460 },\ - { "task_test_sync_upcall", 3461 },\ - { "task_set_corpse_forking_behavior", 3462 },\ - { "task_test_async_upcall_propagation", 3463 } -#endif - -#ifdef __AfterMigUserHeader -__AfterMigUserHeader -#endif /* __AfterMigUserHeader */ - -#endif /* _task_user_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.12-any/mach/thread_act.h b/lib/libc/include/any-macos.12-any/mach/thread_act.h deleted file mode 100644 index 014fd3c217..0000000000 --- a/lib/libc/include/any-macos.12-any/mach/thread_act.h +++ /dev/null @@ -1,1424 +0,0 @@ -#ifndef _thread_act_user_ -#define _thread_act_user_ - -/* Module thread_act */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -/* BEGIN MIG_STRNCPY_ZEROFILL CODE */ - -#if defined(__has_include) -#if __has_include() -#ifndef USING_MIG_STRNCPY_ZEROFILL -#define USING_MIG_STRNCPY_ZEROFILL -#endif -#ifndef __MIG_STRNCPY_ZEROFILL_FORWARD_TYPE_DECLS__ -#define __MIG_STRNCPY_ZEROFILL_FORWARD_TYPE_DECLS__ -#ifdef __cplusplus -extern "C" { -#endif - extern int mig_strncpy_zerofill(char *dest, const char *src, int len) __attribute__((weak_import)); -#ifdef __cplusplus -} -#endif -#endif /* __MIG_STRNCPY_ZEROFILL_FORWARD_TYPE_DECLS__ */ -#endif /* __has_include() */ -#endif /* __has_include */ - -/* END MIG_STRNCPY_ZEROFILL CODE */ - - -#ifdef AUTOTEST -#ifndef FUNCTION_PTR_T -#define FUNCTION_PTR_T -typedef void (*function_ptr_t)(mach_port_t, char *, mach_msg_type_number_t); -typedef struct { - char *name; - function_ptr_t function; -} function_table_entry; -typedef function_table_entry *function_table_t; -#endif /* FUNCTION_PTR_T */ -#endif /* AUTOTEST */ - -#ifndef thread_act_MSG_COUNT -#define thread_act_MSG_COUNT 31 -#endif /* thread_act_MSG_COUNT */ - -#include -#include -#include -#include -#include - -#ifdef __BeforeMigUserHeader -__BeforeMigUserHeader -#endif /* __BeforeMigUserHeader */ - -#include -__BEGIN_DECLS - - -/* Routine thread_terminate */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -__TVOS_PROHIBITED __WATCHOS_PROHIBITED -kern_return_t thread_terminate -( - thread_act_t target_act -); - -/* Routine act_get_state */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -__TVOS_PROHIBITED __WATCHOS_PROHIBITED -kern_return_t act_get_state -( - thread_read_t target_act, - int flavor, - thread_state_t old_state, - mach_msg_type_number_t *old_stateCnt -); - -/* Routine act_set_state */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -__TVOS_PROHIBITED __WATCHOS_PROHIBITED -kern_return_t act_set_state -( - thread_act_t target_act, - int flavor, - thread_state_t new_state, - mach_msg_type_number_t new_stateCnt -); - -/* Routine thread_get_state */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -__WATCHOS_PROHIBITED -kern_return_t thread_get_state -( - thread_read_t target_act, - thread_state_flavor_t flavor, - thread_state_t old_state, - mach_msg_type_number_t *old_stateCnt -); - -/* Routine thread_set_state */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -__WATCHOS_PROHIBITED -kern_return_t thread_set_state -( - thread_act_t target_act, - thread_state_flavor_t flavor, - thread_state_t new_state, - mach_msg_type_number_t new_stateCnt -); - -/* Routine thread_suspend */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -__WATCHOS_PROHIBITED -kern_return_t thread_suspend -( - thread_read_t target_act -); - -/* Routine thread_resume */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -__WATCHOS_PROHIBITED -kern_return_t thread_resume -( - thread_read_t target_act -); - -/* Routine thread_abort */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -__WATCHOS_PROHIBITED -kern_return_t thread_abort -( - thread_act_t target_act -); - -/* Routine thread_abort_safely */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -__WATCHOS_PROHIBITED -kern_return_t thread_abort_safely -( - thread_act_t target_act -); - -/* Routine thread_depress_abort */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -__TVOS_PROHIBITED __WATCHOS_PROHIBITED -kern_return_t thread_depress_abort -( - thread_act_t thread -); - -/* Routine thread_get_special_port */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -__TVOS_PROHIBITED __WATCHOS_PROHIBITED -kern_return_t thread_get_special_port -( - thread_inspect_t thr_act, - int which_port, - mach_port_t *special_port -); - -/* Routine thread_set_special_port */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -__TVOS_PROHIBITED __WATCHOS_PROHIBITED -kern_return_t thread_set_special_port -( - thread_act_t thr_act, - int which_port, - mach_port_t special_port -); - -/* Routine thread_info */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t thread_info -( - thread_inspect_t target_act, - thread_flavor_t flavor, - thread_info_t thread_info_out, - mach_msg_type_number_t *thread_info_outCnt -); - -/* Routine thread_set_exception_ports */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -__TVOS_PROHIBITED __WATCHOS_PROHIBITED -kern_return_t thread_set_exception_ports -( - thread_act_t thread, - exception_mask_t exception_mask, - mach_port_t new_port, - exception_behavior_t behavior, - thread_state_flavor_t new_flavor -); - -/* Routine thread_get_exception_ports */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -__TVOS_PROHIBITED __WATCHOS_PROHIBITED -kern_return_t thread_get_exception_ports -( - thread_act_t thread, - exception_mask_t exception_mask, - exception_mask_array_t masks, - mach_msg_type_number_t *masksCnt, - exception_handler_array_t old_handlers, - exception_behavior_array_t old_behaviors, - exception_flavor_array_t old_flavors -); - -/* Routine thread_swap_exception_ports */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -__TVOS_PROHIBITED __WATCHOS_PROHIBITED -kern_return_t thread_swap_exception_ports -( - thread_act_t thread, - exception_mask_t exception_mask, - mach_port_t new_port, - exception_behavior_t behavior, - thread_state_flavor_t new_flavor, - exception_mask_array_t masks, - mach_msg_type_number_t *masksCnt, - exception_handler_array_t old_handlers, - exception_behavior_array_t old_behaviors, - exception_flavor_array_t old_flavors -); - -/* Routine thread_policy */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t thread_policy -( - thread_act_t thr_act, - policy_t policy, - policy_base_t base, - mach_msg_type_number_t baseCnt, - boolean_t set_limit -); - -/* Routine thread_policy_set */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t thread_policy_set -( - thread_act_t thread, - thread_policy_flavor_t flavor, - thread_policy_t policy_info, - mach_msg_type_number_t policy_infoCnt -); - -/* Routine thread_policy_get */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t thread_policy_get -( - thread_inspect_t thread, - thread_policy_flavor_t flavor, - thread_policy_t policy_info, - mach_msg_type_number_t *policy_infoCnt, - boolean_t *get_default -); - -/* Routine thread_sample */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t thread_sample -( - thread_act_t thread, - mach_port_t reply -); - -/* Routine etap_trace_thread */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t etap_trace_thread -( - thread_act_t target_act, - boolean_t trace_status -); - -/* Routine thread_assign */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t thread_assign -( - thread_act_t thread, - processor_set_t new_set -); - -/* Routine thread_assign_default */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t thread_assign_default -( - thread_act_t thread -); - -/* Routine thread_get_assignment */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t thread_get_assignment -( - thread_inspect_t thread, - processor_set_name_t *assigned_set -); - -/* Routine thread_set_policy */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t thread_set_policy -( - thread_act_t thr_act, - processor_set_t pset, - policy_t policy, - policy_base_t base, - mach_msg_type_number_t baseCnt, - policy_limit_t limit, - mach_msg_type_number_t limitCnt -); - -/* Routine thread_get_mach_voucher */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -__TVOS_PROHIBITED __WATCHOS_PROHIBITED -kern_return_t thread_get_mach_voucher -( - thread_read_t thr_act, - mach_voucher_selector_t which, - ipc_voucher_t *voucher -); - -/* Routine thread_set_mach_voucher */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -__TVOS_PROHIBITED __WATCHOS_PROHIBITED -kern_return_t thread_set_mach_voucher -( - thread_act_t thr_act, - ipc_voucher_t voucher -); - -/* Routine thread_swap_mach_voucher */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -__TVOS_PROHIBITED __WATCHOS_PROHIBITED -kern_return_t thread_swap_mach_voucher -( - thread_act_t thr_act, - ipc_voucher_t new_voucher, - ipc_voucher_t *old_voucher -); - -/* Routine thread_convert_thread_state */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t thread_convert_thread_state -( - thread_act_t thread, - int direction, - thread_state_flavor_t flavor, - thread_state_t in_state, - mach_msg_type_number_t in_stateCnt, - thread_state_t out_state, - mach_msg_type_number_t *out_stateCnt -); - -/* Routine thread_get_exception_ports_info */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t thread_get_exception_ports_info -( - mach_port_t port, - exception_mask_t exception_mask, - exception_mask_array_t masks, - mach_msg_type_number_t *masksCnt, - exception_handler_info_array_t old_handlers_info, - exception_behavior_array_t old_behaviors, - exception_flavor_array_t old_flavors -); - -__END_DECLS - -/********************** Caution **************************/ -/* The following data types should be used to calculate */ -/* maximum message sizes only. The actual message may be */ -/* smaller, and the position of the arguments within the */ -/* message layout may vary from what is presented here. */ -/* For example, if any of the arguments are variable- */ -/* sized, and less than the maximum is sent, the data */ -/* will be packed tight in the actual message to reduce */ -/* the presence of holes. */ -/********************** Caution **************************/ - -/* typedefs for all requests */ - -#ifndef __Request__thread_act_subsystem__defined -#define __Request__thread_act_subsystem__defined - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - } __Request__thread_terminate_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - int flavor; - mach_msg_type_number_t old_stateCnt; - } __Request__act_get_state_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - int flavor; - mach_msg_type_number_t new_stateCnt; - natural_t new_state[1296]; - } __Request__act_set_state_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - thread_state_flavor_t flavor; - mach_msg_type_number_t old_stateCnt; - } __Request__thread_get_state_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - thread_state_flavor_t flavor; - mach_msg_type_number_t new_stateCnt; - natural_t new_state[1296]; - } __Request__thread_set_state_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - } __Request__thread_suspend_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - } __Request__thread_resume_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - } __Request__thread_abort_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - } __Request__thread_abort_safely_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - } __Request__thread_depress_abort_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - int which_port; - } __Request__thread_get_special_port_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t special_port; - /* end of the kernel processed data */ - NDR_record_t NDR; - int which_port; - } __Request__thread_set_special_port_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - thread_flavor_t flavor; - mach_msg_type_number_t thread_info_outCnt; - } __Request__thread_info_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t new_port; - /* end of the kernel processed data */ - NDR_record_t NDR; - exception_mask_t exception_mask; - exception_behavior_t behavior; - thread_state_flavor_t new_flavor; - } __Request__thread_set_exception_ports_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - exception_mask_t exception_mask; - } __Request__thread_get_exception_ports_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t new_port; - /* end of the kernel processed data */ - NDR_record_t NDR; - exception_mask_t exception_mask; - exception_behavior_t behavior; - thread_state_flavor_t new_flavor; - } __Request__thread_swap_exception_ports_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - policy_t policy; - mach_msg_type_number_t baseCnt; - integer_t base[5]; - boolean_t set_limit; - } __Request__thread_policy_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - thread_policy_flavor_t flavor; - mach_msg_type_number_t policy_infoCnt; - integer_t policy_info[16]; - } __Request__thread_policy_set_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - thread_policy_flavor_t flavor; - mach_msg_type_number_t policy_infoCnt; - boolean_t get_default; - } __Request__thread_policy_get_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t reply; - /* end of the kernel processed data */ - } __Request__thread_sample_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - boolean_t trace_status; - } __Request__etap_trace_thread_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t new_set; - /* end of the kernel processed data */ - } __Request__thread_assign_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - } __Request__thread_assign_default_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - } __Request__thread_get_assignment_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t pset; - /* end of the kernel processed data */ - NDR_record_t NDR; - policy_t policy; - mach_msg_type_number_t baseCnt; - integer_t base[5]; - mach_msg_type_number_t limitCnt; - integer_t limit[1]; - } __Request__thread_set_policy_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - mach_voucher_selector_t which; - } __Request__thread_get_mach_voucher_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t voucher; - /* end of the kernel processed data */ - } __Request__thread_set_mach_voucher_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t new_voucher; - mach_msg_port_descriptor_t old_voucher; - /* end of the kernel processed data */ - } __Request__thread_swap_mach_voucher_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - int direction; - thread_state_flavor_t flavor; - mach_msg_type_number_t in_stateCnt; - natural_t in_state[1296]; - mach_msg_type_number_t out_stateCnt; - } __Request__thread_convert_thread_state_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - exception_mask_t exception_mask; - } __Request__thread_get_exception_ports_info_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif -#endif /* !__Request__thread_act_subsystem__defined */ - -/* union of all requests */ - -#ifndef __RequestUnion__thread_act_subsystem__defined -#define __RequestUnion__thread_act_subsystem__defined -union __RequestUnion__thread_act_subsystem { - __Request__thread_terminate_t Request_thread_terminate; - __Request__act_get_state_t Request_act_get_state; - __Request__act_set_state_t Request_act_set_state; - __Request__thread_get_state_t Request_thread_get_state; - __Request__thread_set_state_t Request_thread_set_state; - __Request__thread_suspend_t Request_thread_suspend; - __Request__thread_resume_t Request_thread_resume; - __Request__thread_abort_t Request_thread_abort; - __Request__thread_abort_safely_t Request_thread_abort_safely; - __Request__thread_depress_abort_t Request_thread_depress_abort; - __Request__thread_get_special_port_t Request_thread_get_special_port; - __Request__thread_set_special_port_t Request_thread_set_special_port; - __Request__thread_info_t Request_thread_info; - __Request__thread_set_exception_ports_t Request_thread_set_exception_ports; - __Request__thread_get_exception_ports_t Request_thread_get_exception_ports; - __Request__thread_swap_exception_ports_t Request_thread_swap_exception_ports; - __Request__thread_policy_t Request_thread_policy; - __Request__thread_policy_set_t Request_thread_policy_set; - __Request__thread_policy_get_t Request_thread_policy_get; - __Request__thread_sample_t Request_thread_sample; - __Request__etap_trace_thread_t Request_etap_trace_thread; - __Request__thread_assign_t Request_thread_assign; - __Request__thread_assign_default_t Request_thread_assign_default; - __Request__thread_get_assignment_t Request_thread_get_assignment; - __Request__thread_set_policy_t Request_thread_set_policy; - __Request__thread_get_mach_voucher_t Request_thread_get_mach_voucher; - __Request__thread_set_mach_voucher_t Request_thread_set_mach_voucher; - __Request__thread_swap_mach_voucher_t Request_thread_swap_mach_voucher; - __Request__thread_convert_thread_state_t Request_thread_convert_thread_state; - __Request__thread_get_exception_ports_info_t Request_thread_get_exception_ports_info; -}; -#endif /* !__RequestUnion__thread_act_subsystem__defined */ -/* typedefs for all replies */ - -#ifndef __Reply__thread_act_subsystem__defined -#define __Reply__thread_act_subsystem__defined - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__thread_terminate_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - mach_msg_type_number_t old_stateCnt; - natural_t old_state[1296]; - } __Reply__act_get_state_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__act_set_state_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - mach_msg_type_number_t old_stateCnt; - natural_t old_state[1296]; - } __Reply__thread_get_state_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__thread_set_state_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__thread_suspend_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__thread_resume_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__thread_abort_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__thread_abort_safely_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__thread_depress_abort_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t special_port; - /* end of the kernel processed data */ - } __Reply__thread_get_special_port_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__thread_set_special_port_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - mach_msg_type_number_t thread_info_outCnt; - integer_t thread_info_out[32]; - } __Reply__thread_info_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__thread_set_exception_ports_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t old_handlers[32]; - /* end of the kernel processed data */ - NDR_record_t NDR; - mach_msg_type_number_t masksCnt; - exception_mask_t masks[32]; - exception_behavior_t old_behaviors[32]; - thread_state_flavor_t old_flavors[32]; - } __Reply__thread_get_exception_ports_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t old_handlers[32]; - /* end of the kernel processed data */ - NDR_record_t NDR; - mach_msg_type_number_t masksCnt; - exception_mask_t masks[32]; - exception_behavior_t old_behaviors[32]; - thread_state_flavor_t old_flavors[32]; - } __Reply__thread_swap_exception_ports_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__thread_policy_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__thread_policy_set_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - mach_msg_type_number_t policy_infoCnt; - integer_t policy_info[16]; - boolean_t get_default; - } __Reply__thread_policy_get_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__thread_sample_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__etap_trace_thread_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__thread_assign_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__thread_assign_default_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t assigned_set; - /* end of the kernel processed data */ - } __Reply__thread_get_assignment_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__thread_set_policy_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t voucher; - /* end of the kernel processed data */ - } __Reply__thread_get_mach_voucher_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__thread_set_mach_voucher_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t old_voucher; - /* end of the kernel processed data */ - } __Reply__thread_swap_mach_voucher_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - mach_msg_type_number_t out_stateCnt; - natural_t out_state[1296]; - } __Reply__thread_convert_thread_state_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - mach_msg_type_number_t masksCnt; - exception_mask_t masks[32]; - exception_handler_info_t old_handlers_info[32]; - exception_behavior_t old_behaviors[32]; - thread_state_flavor_t old_flavors[32]; - } __Reply__thread_get_exception_ports_info_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif -#endif /* !__Reply__thread_act_subsystem__defined */ - -/* union of all replies */ - -#ifndef __ReplyUnion__thread_act_subsystem__defined -#define __ReplyUnion__thread_act_subsystem__defined -union __ReplyUnion__thread_act_subsystem { - __Reply__thread_terminate_t Reply_thread_terminate; - __Reply__act_get_state_t Reply_act_get_state; - __Reply__act_set_state_t Reply_act_set_state; - __Reply__thread_get_state_t Reply_thread_get_state; - __Reply__thread_set_state_t Reply_thread_set_state; - __Reply__thread_suspend_t Reply_thread_suspend; - __Reply__thread_resume_t Reply_thread_resume; - __Reply__thread_abort_t Reply_thread_abort; - __Reply__thread_abort_safely_t Reply_thread_abort_safely; - __Reply__thread_depress_abort_t Reply_thread_depress_abort; - __Reply__thread_get_special_port_t Reply_thread_get_special_port; - __Reply__thread_set_special_port_t Reply_thread_set_special_port; - __Reply__thread_info_t Reply_thread_info; - __Reply__thread_set_exception_ports_t Reply_thread_set_exception_ports; - __Reply__thread_get_exception_ports_t Reply_thread_get_exception_ports; - __Reply__thread_swap_exception_ports_t Reply_thread_swap_exception_ports; - __Reply__thread_policy_t Reply_thread_policy; - __Reply__thread_policy_set_t Reply_thread_policy_set; - __Reply__thread_policy_get_t Reply_thread_policy_get; - __Reply__thread_sample_t Reply_thread_sample; - __Reply__etap_trace_thread_t Reply_etap_trace_thread; - __Reply__thread_assign_t Reply_thread_assign; - __Reply__thread_assign_default_t Reply_thread_assign_default; - __Reply__thread_get_assignment_t Reply_thread_get_assignment; - __Reply__thread_set_policy_t Reply_thread_set_policy; - __Reply__thread_get_mach_voucher_t Reply_thread_get_mach_voucher; - __Reply__thread_set_mach_voucher_t Reply_thread_set_mach_voucher; - __Reply__thread_swap_mach_voucher_t Reply_thread_swap_mach_voucher; - __Reply__thread_convert_thread_state_t Reply_thread_convert_thread_state; - __Reply__thread_get_exception_ports_info_t Reply_thread_get_exception_ports_info; -}; -#endif /* !__RequestUnion__thread_act_subsystem__defined */ - -#ifndef subsystem_to_name_map_thread_act -#define subsystem_to_name_map_thread_act \ - { "thread_terminate", 3600 },\ - { "act_get_state", 3601 },\ - { "act_set_state", 3602 },\ - { "thread_get_state", 3603 },\ - { "thread_set_state", 3604 },\ - { "thread_suspend", 3605 },\ - { "thread_resume", 3606 },\ - { "thread_abort", 3607 },\ - { "thread_abort_safely", 3608 },\ - { "thread_depress_abort", 3609 },\ - { "thread_get_special_port", 3610 },\ - { "thread_set_special_port", 3611 },\ - { "thread_info", 3612 },\ - { "thread_set_exception_ports", 3613 },\ - { "thread_get_exception_ports", 3614 },\ - { "thread_swap_exception_ports", 3615 },\ - { "thread_policy", 3616 },\ - { "thread_policy_set", 3617 },\ - { "thread_policy_get", 3618 },\ - { "thread_sample", 3619 },\ - { "etap_trace_thread", 3620 },\ - { "thread_assign", 3621 },\ - { "thread_assign_default", 3622 },\ - { "thread_get_assignment", 3623 },\ - { "thread_set_policy", 3624 },\ - { "thread_get_mach_voucher", 3625 },\ - { "thread_set_mach_voucher", 3626 },\ - { "thread_swap_mach_voucher", 3627 },\ - { "thread_convert_thread_state", 3628 },\ - { "thread_get_exception_ports_info", 3630 } -#endif - -#ifdef __AfterMigUserHeader -__AfterMigUserHeader -#endif /* __AfterMigUserHeader */ - -#endif /* _thread_act_user_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.12-any/mach/thread_policy.h b/lib/libc/include/any-macos.12-any/mach/thread_policy.h deleted file mode 100644 index 9ca9492141..0000000000 --- a/lib/libc/include/any-macos.12-any/mach/thread_policy.h +++ /dev/null @@ -1,270 +0,0 @@ -/* - * Copyright (c) 2000-2007 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 _MACH_THREAD_POLICY_H_ -#define _MACH_THREAD_POLICY_H_ - -#include - -/* - * These are the calls for accessing the policy parameters - * of a particular thread. - * - * The extra 'get_default' parameter to the second call is - * IN/OUT as follows: - * 1) if asserted on the way in it indicates that the default - * values should be returned, not the ones currently set, in - * this case 'get_default' will always be asserted on return; - * 2) if unasserted on the way in, the current settings are - * desired and if still unasserted on return, then the info - * returned reflects the current settings, otherwise if - * 'get_default' returns asserted, it means that there are no - * current settings due to other parameters taking precedence, - * and the default ones are being returned instead. - */ - -typedef natural_t thread_policy_flavor_t; -typedef integer_t *thread_policy_t; - -/* - * kern_return_t thread_policy_set( - * thread_t thread, - * thread_policy_flavor_t flavor, - * thread_policy_t policy_info, - * mach_msg_type_number_t count); - * - * kern_return_t thread_policy_get( - * thread_t thread, - * thread_policy_flavor_t flavor, - * thread_policy_t policy_info, - * mach_msg_type_number_t *count, - * boolean_t *get_default); - */ - -/* - * Defined flavors. - */ -/* - * THREAD_STANDARD_POLICY: - * - * This is the standard (fair) scheduling mode, assigned to new - * threads. The thread will be given processor time in a manner - * which apportions approximately equal share to long running - * computations. - * - * Parameters: - * [none] - */ - -#define THREAD_STANDARD_POLICY 1 - -struct thread_standard_policy { - natural_t no_data; -}; - -typedef struct thread_standard_policy thread_standard_policy_data_t; -typedef struct thread_standard_policy *thread_standard_policy_t; - -#define THREAD_STANDARD_POLICY_COUNT 0 - -/* - * THREAD_EXTENDED_POLICY: - * - * Extended form of THREAD_STANDARD_POLICY, which supplies a - * hint indicating whether this is a long running computation. - * - * Parameters: - * - * timeshare: TRUE (the default) results in identical scheduling - * behavior as THREAD_STANDARD_POLICY. - */ - -#define THREAD_EXTENDED_POLICY 1 - -struct thread_extended_policy { - boolean_t timeshare; -}; - -typedef struct thread_extended_policy thread_extended_policy_data_t; -typedef struct thread_extended_policy *thread_extended_policy_t; - -#define THREAD_EXTENDED_POLICY_COUNT ((mach_msg_type_number_t) \ - (sizeof (thread_extended_policy_data_t) / sizeof (integer_t))) - -/* - * THREAD_TIME_CONSTRAINT_POLICY: - * - * This scheduling mode is for threads which have real time - * constraints on their execution. - * - * Parameters: - * - * period: This is the nominal amount of time between separate - * processing arrivals, specified in absolute time units. A - * value of 0 indicates that there is no inherent periodicity in - * the computation. - * - * computation: This is the nominal amount of computation - * time needed during a separate processing arrival, specified - * in absolute time units. The thread may be preempted after - * the computation time has elapsed. - * If (computation < constraint/2) it will be forced to - * constraint/2 to avoid unintended preemption and associated - * timer interrupts. - * - * constraint: This is the maximum amount of real time that - * may elapse from the start of a separate processing arrival - * to the end of computation for logically correct functioning, - * specified in absolute time units. Must be (>= computation). - * Note that latency = (constraint - computation). - * - * preemptible: IGNORED (This indicates that the computation may be - * interrupted, subject to the constraint specified above.) - */ - -#define THREAD_TIME_CONSTRAINT_POLICY 2 - -struct thread_time_constraint_policy { - uint32_t period; - uint32_t computation; - uint32_t constraint; - boolean_t preemptible; -}; - -typedef struct thread_time_constraint_policy \ - thread_time_constraint_policy_data_t; -typedef struct thread_time_constraint_policy \ - *thread_time_constraint_policy_t; - -#define THREAD_TIME_CONSTRAINT_POLICY_COUNT ((mach_msg_type_number_t) \ - (sizeof (thread_time_constraint_policy_data_t) / sizeof (integer_t))) - -/* - * THREAD_PRECEDENCE_POLICY: - * - * This may be used to indicate the relative value of the - * computation compared to the other threads in the task. - * - * Parameters: - * - * importance: The importance is specified as a signed value. - */ - -#define THREAD_PRECEDENCE_POLICY 3 - -struct thread_precedence_policy { - integer_t importance; -}; - -typedef struct thread_precedence_policy thread_precedence_policy_data_t; -typedef struct thread_precedence_policy *thread_precedence_policy_t; - -#define THREAD_PRECEDENCE_POLICY_COUNT ((mach_msg_type_number_t) \ - (sizeof (thread_precedence_policy_data_t) / sizeof (integer_t))) - -/* - * THREAD_AFFINITY_POLICY: - * - * This policy is experimental. - * This may be used to express affinity relationships - * between threads in the task. Threads with the same affinity tag will - * be scheduled to share an L2 cache if possible. That is, affinity tags - * are a hint to the scheduler for thread placement. - * - * The namespace of affinity tags is generally local to one task. However, - * a child task created after the assignment of affinity tags by its parent - * will share that namespace. In particular, a family of forked processes - * may be created with a shared affinity namespace. - * - * Parameters: - * tag: The affinity set identifier. - */ - -#define THREAD_AFFINITY_POLICY 4 - -struct thread_affinity_policy { - integer_t affinity_tag; -}; - -#define THREAD_AFFINITY_TAG_NULL 0 - -typedef struct thread_affinity_policy thread_affinity_policy_data_t; -typedef struct thread_affinity_policy *thread_affinity_policy_t; - -#define THREAD_AFFINITY_POLICY_COUNT ((mach_msg_type_number_t) \ - (sizeof (thread_affinity_policy_data_t) / sizeof (integer_t))) - -/* - * THREAD_BACKGROUND_POLICY: - */ - -#define THREAD_BACKGROUND_POLICY 5 - -struct thread_background_policy { - integer_t priority; -}; - -#define THREAD_BACKGROUND_POLICY_DARWIN_BG 0x1000 - -typedef struct thread_background_policy thread_background_policy_data_t; -typedef struct thread_background_policy *thread_background_policy_t; - -#define THREAD_BACKGROUND_POLICY_COUNT ((mach_msg_type_number_t) \ - (sizeof (thread_background_policy_data_t) / sizeof (integer_t))) - - -#define THREAD_LATENCY_QOS_POLICY 7 -typedef integer_t thread_latency_qos_t; - -struct thread_latency_qos_policy { - thread_latency_qos_t thread_latency_qos_tier; -}; - -typedef struct thread_latency_qos_policy thread_latency_qos_policy_data_t; -typedef struct thread_latency_qos_policy *thread_latency_qos_policy_t; - -#define THREAD_LATENCY_QOS_POLICY_COUNT ((mach_msg_type_number_t) \ - (sizeof (thread_latency_qos_policy_data_t) / sizeof (integer_t))) - -#define THREAD_THROUGHPUT_QOS_POLICY 8 -typedef integer_t thread_throughput_qos_t; - -struct thread_throughput_qos_policy { - thread_throughput_qos_t thread_throughput_qos_tier; -}; - -typedef struct thread_throughput_qos_policy thread_throughput_qos_policy_data_t; -typedef struct thread_throughput_qos_policy *thread_throughput_qos_policy_t; - -#define THREAD_THROUGHPUT_QOS_POLICY_COUNT ((mach_msg_type_number_t) \ - (sizeof (thread_throughput_qos_policy_data_t) / sizeof (integer_t))) - - - - -#endif /* _MACH_THREAD_POLICY_H_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.12-any/mach/vm_map.h b/lib/libc/include/any-macos.12-any/mach/vm_map.h deleted file mode 100644 index f7f5f71799..0000000000 --- a/lib/libc/include/any-macos.12-any/mach/vm_map.h +++ /dev/null @@ -1,1503 +0,0 @@ -#ifndef _vm_map_user_ -#define _vm_map_user_ - -/* Module vm_map */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -/* BEGIN MIG_STRNCPY_ZEROFILL CODE */ - -#if defined(__has_include) -#if __has_include() -#ifndef USING_MIG_STRNCPY_ZEROFILL -#define USING_MIG_STRNCPY_ZEROFILL -#endif -#ifndef __MIG_STRNCPY_ZEROFILL_FORWARD_TYPE_DECLS__ -#define __MIG_STRNCPY_ZEROFILL_FORWARD_TYPE_DECLS__ -#ifdef __cplusplus -extern "C" { -#endif - extern int mig_strncpy_zerofill(char *dest, const char *src, int len) __attribute__((weak_import)); -#ifdef __cplusplus -} -#endif -#endif /* __MIG_STRNCPY_ZEROFILL_FORWARD_TYPE_DECLS__ */ -#endif /* __has_include() */ -#endif /* __has_include */ - -/* END MIG_STRNCPY_ZEROFILL CODE */ - - -#ifdef AUTOTEST -#ifndef FUNCTION_PTR_T -#define FUNCTION_PTR_T -typedef void (*function_ptr_t)(mach_port_t, char *, mach_msg_type_number_t); -typedef struct { - char *name; - function_ptr_t function; -} function_table_entry; -typedef function_table_entry *function_table_t; -#endif /* FUNCTION_PTR_T */ -#endif /* AUTOTEST */ - -#ifndef vm_map_MSG_COUNT -#define vm_map_MSG_COUNT 33 -#endif /* vm_map_MSG_COUNT */ - -#include -#include -#include -#include -#include -#include - -#ifdef __BeforeMigUserHeader -__BeforeMigUserHeader -#endif /* __BeforeMigUserHeader */ - -#include -__BEGIN_DECLS - - -/* Routine vm_region */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t vm_region -( - vm_map_read_t target_task, - vm_address_t *address, - vm_size_t *size, - vm_region_flavor_t flavor, - vm_region_info_t info, - mach_msg_type_number_t *infoCnt, - mach_port_t *object_name -); - -/* Routine vm_allocate */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t vm_allocate -( - vm_map_t target_task, - vm_address_t *address, - vm_size_t size, - int flags -); - -/* Routine vm_deallocate */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t vm_deallocate -( - vm_map_t target_task, - vm_address_t address, - vm_size_t size -); - -/* Routine vm_protect */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t vm_protect -( - vm_map_t target_task, - vm_address_t address, - vm_size_t size, - boolean_t set_maximum, - vm_prot_t new_protection -); - -/* Routine vm_inherit */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t vm_inherit -( - vm_map_t target_task, - vm_address_t address, - vm_size_t size, - vm_inherit_t new_inheritance -); - -/* Routine vm_read */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t vm_read -( - vm_map_read_t target_task, - vm_address_t address, - vm_size_t size, - vm_offset_t *data, - mach_msg_type_number_t *dataCnt -); - -/* Routine vm_read_list */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t vm_read_list -( - vm_map_read_t target_task, - vm_read_entry_t data_list, - natural_t count -); - -/* Routine vm_write */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t vm_write -( - vm_map_t target_task, - vm_address_t address, - vm_offset_t data, - mach_msg_type_number_t dataCnt -); - -/* Routine vm_copy */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t vm_copy -( - vm_map_t target_task, - vm_address_t source_address, - vm_size_t size, - vm_address_t dest_address -); - -/* Routine vm_read_overwrite */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t vm_read_overwrite -( - vm_map_read_t target_task, - vm_address_t address, - vm_size_t size, - vm_address_t data, - vm_size_t *outsize -); - -/* Routine vm_msync */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t vm_msync -( - vm_map_t target_task, - vm_address_t address, - vm_size_t size, - vm_sync_t sync_flags -); - -/* Routine vm_behavior_set */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t vm_behavior_set -( - vm_map_t target_task, - vm_address_t address, - vm_size_t size, - vm_behavior_t new_behavior -); - -/* Routine vm_map */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t vm_map -( - vm_map_t target_task, - vm_address_t *address, - vm_size_t size, - vm_address_t mask, - int flags, - mem_entry_name_port_t object, - vm_offset_t offset, - boolean_t copy, - vm_prot_t cur_protection, - vm_prot_t max_protection, - vm_inherit_t inheritance -); - -/* Routine vm_machine_attribute */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t vm_machine_attribute -( - vm_map_t target_task, - vm_address_t address, - vm_size_t size, - vm_machine_attribute_t attribute, - vm_machine_attribute_val_t *value -); - -/* Routine vm_remap */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t vm_remap -( - vm_map_t target_task, - vm_address_t *target_address, - vm_size_t size, - vm_address_t mask, - int flags, - vm_map_t src_task, - vm_address_t src_address, - boolean_t copy, - vm_prot_t *cur_protection, - vm_prot_t *max_protection, - vm_inherit_t inheritance -); - -/* Routine task_wire */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -__TVOS_PROHIBITED __WATCHOS_PROHIBITED -kern_return_t task_wire -( - vm_map_t target_task, - boolean_t must_wire -); - -/* Routine mach_make_memory_entry */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t mach_make_memory_entry -( - vm_map_t target_task, - vm_size_t *size, - vm_offset_t offset, - vm_prot_t permission, - mem_entry_name_port_t *object_handle, - mem_entry_name_port_t parent_entry -); - -/* Routine vm_map_page_query */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t vm_map_page_query -( - vm_map_read_t target_map, - vm_offset_t offset, - integer_t *disposition, - integer_t *ref_count -); - -/* Routine mach_vm_region_info */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t mach_vm_region_info -( - vm_map_read_t task, - vm_address_t address, - vm_info_region_t *region, - vm_info_object_array_t *objects, - mach_msg_type_number_t *objectsCnt -); - -/* Routine vm_mapped_pages_info */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t vm_mapped_pages_info -( - vm_map_read_t task, - page_address_array_t *pages, - mach_msg_type_number_t *pagesCnt -); - -/* Routine vm_region_recurse */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t vm_region_recurse -( - vm_map_read_t target_task, - vm_address_t *address, - vm_size_t *size, - natural_t *nesting_depth, - vm_region_recurse_info_t info, - mach_msg_type_number_t *infoCnt -); - -/* Routine vm_region_recurse_64 */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t vm_region_recurse_64 -( - vm_map_read_t target_task, - vm_address_t *address, - vm_size_t *size, - natural_t *nesting_depth, - vm_region_recurse_info_t info, - mach_msg_type_number_t *infoCnt -); - -/* Routine mach_vm_region_info_64 */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t mach_vm_region_info_64 -( - vm_map_read_t task, - vm_address_t address, - vm_info_region_64_t *region, - vm_info_object_array_t *objects, - mach_msg_type_number_t *objectsCnt -); - -/* Routine vm_region_64 */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t vm_region_64 -( - vm_map_read_t target_task, - vm_address_t *address, - vm_size_t *size, - vm_region_flavor_t flavor, - vm_region_info_t info, - mach_msg_type_number_t *infoCnt, - mach_port_t *object_name -); - -/* Routine mach_make_memory_entry_64 */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t mach_make_memory_entry_64 -( - vm_map_t target_task, - memory_object_size_t *size, - memory_object_offset_t offset, - vm_prot_t permission, - mach_port_t *object_handle, - mem_entry_name_port_t parent_entry -); - -/* Routine vm_map_64 */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t vm_map_64 -( - vm_map_t target_task, - vm_address_t *address, - vm_size_t size, - vm_address_t mask, - int flags, - mem_entry_name_port_t object, - memory_object_offset_t offset, - boolean_t copy, - vm_prot_t cur_protection, - vm_prot_t max_protection, - vm_inherit_t inheritance -); - -/* Routine vm_purgable_control */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t vm_purgable_control -( - vm_map_t target_task, - vm_address_t address, - vm_purgable_t control, - int *state -); - -/* Routine vm_map_exec_lockdown */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t vm_map_exec_lockdown -( - vm_map_t target_task -); - -/* Routine vm_remap_new */ -#ifdef mig_external -mig_external -#else -extern -#endif /* mig_external */ -kern_return_t vm_remap_new -( - vm_map_t target_task, - vm_address_t *target_address, - vm_size_t size, - vm_address_t mask, - int flags, - vm_map_read_t src_task, - vm_address_t src_address, - boolean_t copy, - vm_prot_t *cur_protection, - vm_prot_t *max_protection, - vm_inherit_t inheritance -); - -__END_DECLS - -/********************** Caution **************************/ -/* The following data types should be used to calculate */ -/* maximum message sizes only. The actual message may be */ -/* smaller, and the position of the arguments within the */ -/* message layout may vary from what is presented here. */ -/* For example, if any of the arguments are variable- */ -/* sized, and less than the maximum is sent, the data */ -/* will be packed tight in the actual message to reduce */ -/* the presence of holes. */ -/********************** Caution **************************/ - -/* typedefs for all requests */ - -#ifndef __Request__vm_map_subsystem__defined -#define __Request__vm_map_subsystem__defined - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - vm_address_t address; - vm_region_flavor_t flavor; - mach_msg_type_number_t infoCnt; - } __Request__vm_region_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - vm_address_t address; - vm_size_t size; - int flags; - } __Request__vm_allocate_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - vm_address_t address; - vm_size_t size; - } __Request__vm_deallocate_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - vm_address_t address; - vm_size_t size; - boolean_t set_maximum; - vm_prot_t new_protection; - } __Request__vm_protect_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - vm_address_t address; - vm_size_t size; - vm_inherit_t new_inheritance; - } __Request__vm_inherit_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - vm_address_t address; - vm_size_t size; - } __Request__vm_read_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - vm_read_entry_t data_list; - natural_t count; - } __Request__vm_read_list_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_ool_descriptor_t data; - /* end of the kernel processed data */ - NDR_record_t NDR; - vm_address_t address; - mach_msg_type_number_t dataCnt; - } __Request__vm_write_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - vm_address_t source_address; - vm_size_t size; - vm_address_t dest_address; - } __Request__vm_copy_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - vm_address_t address; - vm_size_t size; - vm_address_t data; - } __Request__vm_read_overwrite_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - vm_address_t address; - vm_size_t size; - vm_sync_t sync_flags; - } __Request__vm_msync_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - vm_address_t address; - vm_size_t size; - vm_behavior_t new_behavior; - } __Request__vm_behavior_set_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t object; - /* end of the kernel processed data */ - NDR_record_t NDR; - vm_address_t address; - vm_size_t size; - vm_address_t mask; - int flags; - vm_offset_t offset; - boolean_t copy; - vm_prot_t cur_protection; - vm_prot_t max_protection; - vm_inherit_t inheritance; - } __Request__vm_map_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - vm_address_t address; - vm_size_t size; - vm_machine_attribute_t attribute; - vm_machine_attribute_val_t value; - } __Request__vm_machine_attribute_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t src_task; - /* end of the kernel processed data */ - NDR_record_t NDR; - vm_address_t target_address; - vm_size_t size; - vm_address_t mask; - int flags; - vm_address_t src_address; - boolean_t copy; - vm_inherit_t inheritance; - } __Request__vm_remap_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - boolean_t must_wire; - } __Request__task_wire_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t parent_entry; - /* end of the kernel processed data */ - NDR_record_t NDR; - vm_size_t size; - vm_offset_t offset; - vm_prot_t permission; - } __Request__mach_make_memory_entry_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - vm_offset_t offset; - } __Request__vm_map_page_query_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - vm_address_t address; - } __Request__mach_vm_region_info_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - } __Request__vm_mapped_pages_info_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - vm_address_t address; - natural_t nesting_depth; - mach_msg_type_number_t infoCnt; - } __Request__vm_region_recurse_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - vm_address_t address; - natural_t nesting_depth; - mach_msg_type_number_t infoCnt; - } __Request__vm_region_recurse_64_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - vm_address_t address; - } __Request__mach_vm_region_info_64_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - vm_address_t address; - vm_region_flavor_t flavor; - mach_msg_type_number_t infoCnt; - } __Request__vm_region_64_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t parent_entry; - /* end of the kernel processed data */ - NDR_record_t NDR; - memory_object_size_t size; - memory_object_offset_t offset; - vm_prot_t permission; - } __Request__mach_make_memory_entry_64_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t object; - /* end of the kernel processed data */ - NDR_record_t NDR; - vm_address_t address; - vm_size_t size; - vm_address_t mask; - int flags; - memory_object_offset_t offset; - boolean_t copy; - vm_prot_t cur_protection; - vm_prot_t max_protection; - vm_inherit_t inheritance; - } __Request__vm_map_64_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - vm_address_t address; - vm_purgable_t control; - int state; - } __Request__vm_purgable_control_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - } __Request__vm_map_exec_lockdown_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t src_task; - /* end of the kernel processed data */ - NDR_record_t NDR; - vm_address_t target_address; - vm_size_t size; - vm_address_t mask; - int flags; - vm_address_t src_address; - boolean_t copy; - vm_prot_t cur_protection; - vm_prot_t max_protection; - vm_inherit_t inheritance; - } __Request__vm_remap_new_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif -#endif /* !__Request__vm_map_subsystem__defined */ - -/* union of all requests */ - -#ifndef __RequestUnion__vm_map_subsystem__defined -#define __RequestUnion__vm_map_subsystem__defined -union __RequestUnion__vm_map_subsystem { - __Request__vm_region_t Request_vm_region; - __Request__vm_allocate_t Request_vm_allocate; - __Request__vm_deallocate_t Request_vm_deallocate; - __Request__vm_protect_t Request_vm_protect; - __Request__vm_inherit_t Request_vm_inherit; - __Request__vm_read_t Request_vm_read; - __Request__vm_read_list_t Request_vm_read_list; - __Request__vm_write_t Request_vm_write; - __Request__vm_copy_t Request_vm_copy; - __Request__vm_read_overwrite_t Request_vm_read_overwrite; - __Request__vm_msync_t Request_vm_msync; - __Request__vm_behavior_set_t Request_vm_behavior_set; - __Request__vm_map_t Request_vm_map; - __Request__vm_machine_attribute_t Request_vm_machine_attribute; - __Request__vm_remap_t Request_vm_remap; - __Request__task_wire_t Request_task_wire; - __Request__mach_make_memory_entry_t Request_mach_make_memory_entry; - __Request__vm_map_page_query_t Request_vm_map_page_query; - __Request__mach_vm_region_info_t Request_mach_vm_region_info; - __Request__vm_mapped_pages_info_t Request_vm_mapped_pages_info; - __Request__vm_region_recurse_t Request_vm_region_recurse; - __Request__vm_region_recurse_64_t Request_vm_region_recurse_64; - __Request__mach_vm_region_info_64_t Request_mach_vm_region_info_64; - __Request__vm_region_64_t Request_vm_region_64; - __Request__mach_make_memory_entry_64_t Request_mach_make_memory_entry_64; - __Request__vm_map_64_t Request_vm_map_64; - __Request__vm_purgable_control_t Request_vm_purgable_control; - __Request__vm_map_exec_lockdown_t Request_vm_map_exec_lockdown; - __Request__vm_remap_new_t Request_vm_remap_new; -}; -#endif /* !__RequestUnion__vm_map_subsystem__defined */ -/* typedefs for all replies */ - -#ifndef __Reply__vm_map_subsystem__defined -#define __Reply__vm_map_subsystem__defined - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t object_name; - /* end of the kernel processed data */ - NDR_record_t NDR; - vm_address_t address; - vm_size_t size; - mach_msg_type_number_t infoCnt; - int info[10]; - } __Reply__vm_region_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - vm_address_t address; - } __Reply__vm_allocate_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__vm_deallocate_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__vm_protect_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__vm_inherit_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_ool_descriptor_t data; - /* end of the kernel processed data */ - NDR_record_t NDR; - mach_msg_type_number_t dataCnt; - } __Reply__vm_read_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - vm_read_entry_t data_list; - } __Reply__vm_read_list_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__vm_write_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__vm_copy_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - vm_size_t outsize; - } __Reply__vm_read_overwrite_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__vm_msync_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__vm_behavior_set_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - vm_address_t address; - } __Reply__vm_map_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - vm_machine_attribute_val_t value; - } __Reply__vm_machine_attribute_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - vm_address_t target_address; - vm_prot_t cur_protection; - vm_prot_t max_protection; - } __Reply__vm_remap_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__task_wire_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t object_handle; - /* end of the kernel processed data */ - NDR_record_t NDR; - vm_size_t size; - } __Reply__mach_make_memory_entry_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - integer_t disposition; - integer_t ref_count; - } __Reply__vm_map_page_query_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_ool_descriptor_t objects; - /* end of the kernel processed data */ - NDR_record_t NDR; - vm_info_region_t region; - mach_msg_type_number_t objectsCnt; - } __Reply__mach_vm_region_info_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_ool_descriptor_t pages; - /* end of the kernel processed data */ - NDR_record_t NDR; - mach_msg_type_number_t pagesCnt; - } __Reply__vm_mapped_pages_info_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - vm_address_t address; - vm_size_t size; - natural_t nesting_depth; - mach_msg_type_number_t infoCnt; - int info[19]; - } __Reply__vm_region_recurse_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - vm_address_t address; - vm_size_t size; - natural_t nesting_depth; - mach_msg_type_number_t infoCnt; - int info[19]; - } __Reply__vm_region_recurse_64_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_ool_descriptor_t objects; - /* end of the kernel processed data */ - NDR_record_t NDR; - vm_info_region_64_t region; - mach_msg_type_number_t objectsCnt; - } __Reply__mach_vm_region_info_64_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t object_name; - /* end of the kernel processed data */ - NDR_record_t NDR; - vm_address_t address; - vm_size_t size; - mach_msg_type_number_t infoCnt; - int info[10]; - } __Reply__vm_region_64_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - /* start of the kernel processed data */ - mach_msg_body_t msgh_body; - mach_msg_port_descriptor_t object_handle; - /* end of the kernel processed data */ - NDR_record_t NDR; - memory_object_size_t size; - } __Reply__mach_make_memory_entry_64_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - vm_address_t address; - } __Reply__vm_map_64_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - int state; - } __Reply__vm_purgable_control_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - } __Reply__vm_map_exec_lockdown_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif - -#ifdef __MigPackStructs -#pragma pack(push, 4) -#endif - typedef struct { - mach_msg_header_t Head; - NDR_record_t NDR; - kern_return_t RetCode; - vm_address_t target_address; - vm_prot_t cur_protection; - vm_prot_t max_protection; - } __Reply__vm_remap_new_t __attribute__((unused)); -#ifdef __MigPackStructs -#pragma pack(pop) -#endif -#endif /* !__Reply__vm_map_subsystem__defined */ - -/* union of all replies */ - -#ifndef __ReplyUnion__vm_map_subsystem__defined -#define __ReplyUnion__vm_map_subsystem__defined -union __ReplyUnion__vm_map_subsystem { - __Reply__vm_region_t Reply_vm_region; - __Reply__vm_allocate_t Reply_vm_allocate; - __Reply__vm_deallocate_t Reply_vm_deallocate; - __Reply__vm_protect_t Reply_vm_protect; - __Reply__vm_inherit_t Reply_vm_inherit; - __Reply__vm_read_t Reply_vm_read; - __Reply__vm_read_list_t Reply_vm_read_list; - __Reply__vm_write_t Reply_vm_write; - __Reply__vm_copy_t Reply_vm_copy; - __Reply__vm_read_overwrite_t Reply_vm_read_overwrite; - __Reply__vm_msync_t Reply_vm_msync; - __Reply__vm_behavior_set_t Reply_vm_behavior_set; - __Reply__vm_map_t Reply_vm_map; - __Reply__vm_machine_attribute_t Reply_vm_machine_attribute; - __Reply__vm_remap_t Reply_vm_remap; - __Reply__task_wire_t Reply_task_wire; - __Reply__mach_make_memory_entry_t Reply_mach_make_memory_entry; - __Reply__vm_map_page_query_t Reply_vm_map_page_query; - __Reply__mach_vm_region_info_t Reply_mach_vm_region_info; - __Reply__vm_mapped_pages_info_t Reply_vm_mapped_pages_info; - __Reply__vm_region_recurse_t Reply_vm_region_recurse; - __Reply__vm_region_recurse_64_t Reply_vm_region_recurse_64; - __Reply__mach_vm_region_info_64_t Reply_mach_vm_region_info_64; - __Reply__vm_region_64_t Reply_vm_region_64; - __Reply__mach_make_memory_entry_64_t Reply_mach_make_memory_entry_64; - __Reply__vm_map_64_t Reply_vm_map_64; - __Reply__vm_purgable_control_t Reply_vm_purgable_control; - __Reply__vm_map_exec_lockdown_t Reply_vm_map_exec_lockdown; - __Reply__vm_remap_new_t Reply_vm_remap_new; -}; -#endif /* !__RequestUnion__vm_map_subsystem__defined */ - -#ifndef subsystem_to_name_map_vm_map -#define subsystem_to_name_map_vm_map \ - { "vm_region", 3800 },\ - { "vm_allocate", 3801 },\ - { "vm_deallocate", 3802 },\ - { "vm_protect", 3803 },\ - { "vm_inherit", 3804 },\ - { "vm_read", 3805 },\ - { "vm_read_list", 3806 },\ - { "vm_write", 3807 },\ - { "vm_copy", 3808 },\ - { "vm_read_overwrite", 3809 },\ - { "vm_msync", 3810 },\ - { "vm_behavior_set", 3811 },\ - { "vm_map", 3812 },\ - { "vm_machine_attribute", 3813 },\ - { "vm_remap", 3814 },\ - { "task_wire", 3815 },\ - { "mach_make_memory_entry", 3816 },\ - { "vm_map_page_query", 3817 },\ - { "mach_vm_region_info", 3818 },\ - { "vm_mapped_pages_info", 3819 },\ - { "vm_region_recurse", 3821 },\ - { "vm_region_recurse_64", 3822 },\ - { "mach_vm_region_info_64", 3823 },\ - { "vm_region_64", 3824 },\ - { "mach_make_memory_entry_64", 3825 },\ - { "vm_map_64", 3826 },\ - { "vm_purgable_control", 3830 },\ - { "vm_map_exec_lockdown", 3831 },\ - { "vm_remap_new", 3832 } -#endif - -#ifdef __AfterMigUserHeader -__AfterMigUserHeader -#endif /* __AfterMigUserHeader */ - -#endif /* _vm_map_user_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.12-any/mach/vm_prot.h b/lib/libc/include/any-macos.12-any/mach/vm_prot.h deleted file mode 100644 index 4f3913a5c3..0000000000 --- a/lib/libc/include/any-macos.12-any/mach/vm_prot.h +++ /dev/null @@ -1,171 +0,0 @@ -/* - * Copyright (c) 2000-2021 Apple Computer, 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@ - */ -/* - * @OSF_COPYRIGHT@ - */ -/* - * Mach Operating System - * Copyright (c) 1991,1990,1989,1988,1987 Carnegie Mellon University - * All Rights Reserved. - * - * Permission to use, copy, modify and distribute this software and its - * documentation is hereby granted, provided that both the copyright - * notice and this permission notice appear in all copies of the - * software, derivative works or modified versions, and any portions - * thereof, and that both notices appear in supporting documentation. - * - * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" - * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR - * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. - * - * Carnegie Mellon requests users of this software to return to - * - * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU - * School of Computer Science - * Carnegie Mellon University - * Pittsburgh PA 15213-3890 - * - * any improvements or extensions that they make and grant Carnegie Mellon - * the rights to redistribute these changes. - */ -/* - */ -/* - * File: mach/vm_prot.h - * Author: Avadis Tevanian, Jr., Michael Wayne Young - * - * Virtual memory protection definitions. - * - */ - -#ifndef _MACH_VM_PROT_H_ -#define _MACH_VM_PROT_H_ - -/* - * Types defined: - * - * vm_prot_t VM protection values. - */ - -typedef int vm_prot_t; - -/* - * Protection values, defined as bits within the vm_prot_t type - */ - -#define VM_PROT_NONE ((vm_prot_t) 0x00) - -#define VM_PROT_READ ((vm_prot_t) 0x01) /* read permission */ -#define VM_PROT_WRITE ((vm_prot_t) 0x02) /* write permission */ -#define VM_PROT_EXECUTE ((vm_prot_t) 0x04) /* execute permission */ - -/* - * The default protection for newly-created virtual memory - */ - -#define VM_PROT_DEFAULT (VM_PROT_READ|VM_PROT_WRITE) - -/* - * The maximum privileges possible, for parameter checking. - */ - -#define VM_PROT_ALL (VM_PROT_READ|VM_PROT_WRITE|VM_PROT_EXECUTE) - -/* - * An invalid protection value. - * Used only by memory_object_lock_request to indicate no change - * to page locks. Using -1 here is a bad idea because it - * looks like VM_PROT_ALL and then some. - */ - -#define VM_PROT_NO_CHANGE_LEGACY ((vm_prot_t) 0x08) -#define VM_PROT_NO_CHANGE ((vm_prot_t) 0x01000000) - -/* - * When a caller finds that he cannot obtain write permission on a - * mapped entry, the following flag can be used. The entry will - * be made "needs copy" effectively copying the object (using COW), - * and write permission will be added to the maximum protections - * for the associated entry. - */ - -#define VM_PROT_COPY ((vm_prot_t) 0x10) - - -/* - * Another invalid protection value. - * Used only by memory_object_data_request upon an object - * which has specified a copy_call copy strategy. It is used - * when the kernel wants a page belonging to a copy of the - * object, and is only asking the object as a result of - * following a shadow chain. This solves the race between pages - * being pushed up by the memory manager and the kernel - * walking down the shadow chain. - */ - -#define VM_PROT_WANTS_COPY ((vm_prot_t) 0x10) - - -/* - * Another invalid protection value. - * Indicates that the other protection bits are to be applied as a mask - * against the actual protection bits of the map entry. - */ -#define VM_PROT_IS_MASK ((vm_prot_t) 0x40) - -/* - * Another invalid protection value to support execute-only protection. - * VM_PROT_STRIP_READ is a special marker that tells mprotect to not - * set VM_PROT_READ. We have to do it this way because existing code - * expects the system to set VM_PROT_READ if VM_PROT_EXECUTE is set. - * VM_PROT_EXECUTE_ONLY is just a convenience value to indicate that - * the memory should be executable and explicitly not readable. It will - * be ignored on platforms that do not support this type of protection. - */ -#define VM_PROT_STRIP_READ ((vm_prot_t) 0x80) -#define VM_PROT_EXECUTE_ONLY (VM_PROT_EXECUTE|VM_PROT_STRIP_READ) - - -#if defined(__x86_64__) -/* - * Another invalid protection value to support specifying different - * execute permissions for user- and supervisor- modes. When - * MBE is enabled in a VM, VM_PROT_EXECUTE is used to indicate - * supervisor-mode execute permission, and VM_PROT_UEXEC specifies - * user-mode execute permission. Currently only used by the - * x86 Hypervisor kext. - */ -#define VM_PROT_UEXEC ((vm_prot_t) 0x8) /* User-mode Execute Permission */ - -#define VM_PROT_ALLEXEC (VM_PROT_EXECUTE | VM_PROT_UEXEC) -#else -#define VM_PROT_ALLEXEC (VM_PROT_EXECUTE) -#endif /* defined(__x86_64__) */ - - -#endif /* _MACH_VM_PROT_H_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.12-any/mach/vm_statistics.h b/lib/libc/include/any-macos.12-any/mach/vm_statistics.h deleted file mode 100644 index cc869fa8ef..0000000000 --- a/lib/libc/include/any-macos.12-any/mach/vm_statistics.h +++ /dev/null @@ -1,556 +0,0 @@ -/* - * Copyright (c) 2000-2020 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@ - */ -/* - * @OSF_COPYRIGHT@ - */ -/* - * Mach Operating System - * Copyright (c) 1991,1990,1989,1988,1987 Carnegie Mellon University - * All Rights Reserved. - * - * Permission to use, copy, modify and distribute this software and its - * documentation is hereby granted, provided that both the copyright - * notice and this permission notice appear in all copies of the - * software, derivative works or modified versions, and any portions - * thereof, and that both notices appear in supporting documentation. - * - * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" - * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR - * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. - * - * Carnegie Mellon requests users of this software to return to - * - * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU - * School of Computer Science - * Carnegie Mellon University - * Pittsburgh PA 15213-3890 - * - * any improvements or extensions that they make and grant Carnegie Mellon - * the rights to redistribute these changes. - */ -/* - */ -/* - * File: mach/vm_statistics.h - * Author: Avadis Tevanian, Jr., Michael Wayne Young, David Golub - * - * Virtual memory statistics structure. - * - */ - -#ifndef _MACH_VM_STATISTICS_H_ -#define _MACH_VM_STATISTICS_H_ - -#ifdef __cplusplus -extern "C" { -#endif - -#include -#include - -/* - * vm_statistics - * - * History: - * rev0 - original structure. - * rev1 - added purgable info (purgable_count and purges). - * rev2 - added speculative_count. - * - * Note: you cannot add any new fields to this structure. Add them below in - * vm_statistics64. - */ - -struct vm_statistics { - natural_t free_count; /* # of pages free */ - natural_t active_count; /* # of pages active */ - natural_t inactive_count; /* # of pages inactive */ - natural_t wire_count; /* # of pages wired down */ - natural_t zero_fill_count; /* # of zero fill pages */ - natural_t reactivations; /* # of pages reactivated */ - natural_t pageins; /* # of pageins */ - natural_t pageouts; /* # of pageouts */ - natural_t faults; /* # of faults */ - natural_t cow_faults; /* # of copy-on-writes */ - natural_t lookups; /* object cache lookups */ - natural_t hits; /* object cache hits */ - - /* added for rev1 */ - natural_t purgeable_count; /* # of pages purgeable */ - natural_t purges; /* # of pages purged */ - - /* added for rev2 */ - /* - * NB: speculative pages are already accounted for in "free_count", - * so "speculative_count" is the number of "free" pages that are - * used to hold data that was read speculatively from disk but - * haven't actually been used by anyone so far. - */ - natural_t speculative_count; /* # of pages speculative */ -}; - -/* Used by all architectures */ -typedef struct vm_statistics *vm_statistics_t; -typedef struct vm_statistics vm_statistics_data_t; - -/* - * vm_statistics64 - * - * History: - * rev0 - original structure. - * rev1 - added purgable info (purgable_count and purges). - * rev2 - added speculative_count. - * ---- - * rev3 - changed name to vm_statistics64. - * changed some fields in structure to 64-bit on - * arm, i386 and x86_64 architectures. - * rev4 - require 64-bit alignment for efficient access - * in the kernel. No change to reported data. - * - */ - -struct vm_statistics64 { - natural_t free_count; /* # of pages free */ - natural_t active_count; /* # of pages active */ - natural_t inactive_count; /* # of pages inactive */ - natural_t wire_count; /* # of pages wired down */ - uint64_t zero_fill_count; /* # of zero fill pages */ - uint64_t reactivations; /* # of pages reactivated */ - uint64_t pageins; /* # of pageins */ - uint64_t pageouts; /* # of pageouts */ - uint64_t faults; /* # of faults */ - uint64_t cow_faults; /* # of copy-on-writes */ - uint64_t lookups; /* object cache lookups */ - uint64_t hits; /* object cache hits */ - uint64_t purges; /* # of pages purged */ - natural_t purgeable_count; /* # of pages purgeable */ - /* - * NB: speculative pages are already accounted for in "free_count", - * so "speculative_count" is the number of "free" pages that are - * used to hold data that was read speculatively from disk but - * haven't actually been used by anyone so far. - */ - natural_t speculative_count; /* # of pages speculative */ - - /* added for rev1 */ - uint64_t decompressions; /* # of pages decompressed */ - uint64_t compressions; /* # of pages compressed */ - uint64_t swapins; /* # of pages swapped in (via compression segments) */ - uint64_t swapouts; /* # of pages swapped out (via compression segments) */ - natural_t compressor_page_count; /* # of pages used by the compressed pager to hold all the compressed data */ - natural_t throttled_count; /* # of pages throttled */ - natural_t external_page_count; /* # of pages that are file-backed (non-swap) */ - natural_t internal_page_count; /* # of pages that are anonymous */ - uint64_t total_uncompressed_pages_in_compressor; /* # of pages (uncompressed) held within the compressor. */ -} __attribute__((aligned(8))); - -typedef struct vm_statistics64 *vm_statistics64_t; -typedef struct vm_statistics64 vm_statistics64_data_t; - -kern_return_t vm_stats(void *info, unsigned int *count); - -/* - * VM_STATISTICS_TRUNCATE_TO_32_BIT - * - * This is used by host_statistics() to truncate and peg the 64-bit in-kernel values from - * vm_statistics64 to the 32-bit values of the older structure above (vm_statistics). - */ -#define VM_STATISTICS_TRUNCATE_TO_32_BIT(value) ((uint32_t)(((value) > UINT32_MAX ) ? UINT32_MAX : (value))) - -/* - * vm_extmod_statistics - * - * Structure to record modifications to a task by an - * external agent. - * - * History: - * rev0 - original structure. - */ - -struct vm_extmod_statistics { - int64_t task_for_pid_count; /* # of times task port was looked up */ - int64_t task_for_pid_caller_count; /* # of times this task called task_for_pid */ - int64_t thread_creation_count; /* # of threads created in task */ - int64_t thread_creation_caller_count; /* # of threads created by task */ - int64_t thread_set_state_count; /* # of register state sets in task */ - int64_t thread_set_state_caller_count; /* # of register state sets by task */ -} __attribute__((aligned(8))); - -typedef struct vm_extmod_statistics *vm_extmod_statistics_t; -typedef struct vm_extmod_statistics vm_extmod_statistics_data_t; - -typedef struct vm_purgeable_stat { - uint64_t count; - uint64_t size; -}vm_purgeable_stat_t; - -struct vm_purgeable_info { - vm_purgeable_stat_t fifo_data[8]; - vm_purgeable_stat_t obsolete_data; - vm_purgeable_stat_t lifo_data[8]; -}; - -typedef struct vm_purgeable_info *vm_purgeable_info_t; - -/* included for the vm_map_page_query call */ - -#define VM_PAGE_QUERY_PAGE_PRESENT 0x1 -#define VM_PAGE_QUERY_PAGE_FICTITIOUS 0x2 -#define VM_PAGE_QUERY_PAGE_REF 0x4 -#define VM_PAGE_QUERY_PAGE_DIRTY 0x8 -#define VM_PAGE_QUERY_PAGE_PAGED_OUT 0x10 -#define VM_PAGE_QUERY_PAGE_COPIED 0x20 -#define VM_PAGE_QUERY_PAGE_SPECULATIVE 0x40 -#define VM_PAGE_QUERY_PAGE_EXTERNAL 0x80 -#define VM_PAGE_QUERY_PAGE_CS_VALIDATED 0x100 -#define VM_PAGE_QUERY_PAGE_CS_TAINTED 0x200 -#define VM_PAGE_QUERY_PAGE_CS_NX 0x400 -#define VM_PAGE_QUERY_PAGE_REUSABLE 0x800 - -/* - * VM allocation flags: - * - * VM_FLAGS_FIXED - * (really the absence of VM_FLAGS_ANYWHERE) - * Allocate new VM region at the specified virtual address, if possible. - * - * VM_FLAGS_ANYWHERE - * Allocate new VM region anywhere it would fit in the address space. - * - * VM_FLAGS_PURGABLE - * Create a purgable VM object for that new VM region. - * - * VM_FLAGS_4GB_CHUNK - * The new VM region will be chunked up into 4GB sized pieces. - * - * VM_FLAGS_NO_PMAP_CHECK - * (for DEBUG kernel config only, ignored for other configs) - * Do not check that there is no stale pmap mapping for the new VM region. - * This is useful for kernel memory allocations at bootstrap when building - * the initial kernel address space while some memory is already in use. - * - * VM_FLAGS_OVERWRITE - * The new VM region can replace existing VM regions if necessary - * (to be used in combination with VM_FLAGS_FIXED). - * - * VM_FLAGS_NO_CACHE - * Pages brought in to this VM region are placed on the speculative - * queue instead of the active queue. In other words, they are not - * cached so that they will be stolen first if memory runs low. - */ - -#define VM_FLAGS_FIXED 0x0000 -#define VM_FLAGS_ANYWHERE 0x0001 -#define VM_FLAGS_PURGABLE 0x0002 -#define VM_FLAGS_4GB_CHUNK 0x0004 -#define VM_FLAGS_RANDOM_ADDR 0x0008 -#define VM_FLAGS_NO_CACHE 0x0010 -#define VM_FLAGS_RESILIENT_CODESIGN 0x0020 -#define VM_FLAGS_RESILIENT_MEDIA 0x0040 -#define VM_FLAGS_PERMANENT 0x0080 -#define VM_FLAGS_OVERWRITE 0x4000 /* delete any existing mappings first */ -/* - * VM_FLAGS_SUPERPAGE_MASK - * 3 bits that specify whether large pages should be used instead of - * base pages (!=0), as well as the requested page size. - */ -#define VM_FLAGS_SUPERPAGE_MASK 0x70000 /* bits 0x10000, 0x20000, 0x40000 */ -#define VM_FLAGS_RETURN_DATA_ADDR 0x100000 /* Return address of target data, rather than base of page */ -#define VM_FLAGS_RETURN_4K_DATA_ADDR 0x800000 /* Return 4K aligned address of target data */ -#define VM_FLAGS_ALIAS_MASK 0xFF000000 -#define VM_GET_FLAGS_ALIAS(flags, alias) \ - (alias) = ((flags) & VM_FLAGS_ALIAS_MASK) >> 24 -#define VM_SET_FLAGS_ALIAS(flags, alias) \ - (flags) = (((flags) & ~VM_FLAGS_ALIAS_MASK) | \ - (((alias) & ~VM_FLAGS_ALIAS_MASK) << 24)) - -/* These are the flags that we accept from user-space */ -#define VM_FLAGS_USER_ALLOCATE (VM_FLAGS_FIXED | \ - VM_FLAGS_ANYWHERE | \ - VM_FLAGS_PURGABLE | \ - VM_FLAGS_4GB_CHUNK | \ - VM_FLAGS_RANDOM_ADDR | \ - VM_FLAGS_NO_CACHE | \ - VM_FLAGS_PERMANENT | \ - VM_FLAGS_OVERWRITE | \ - VM_FLAGS_SUPERPAGE_MASK | \ - VM_FLAGS_ALIAS_MASK) -#define VM_FLAGS_USER_MAP (VM_FLAGS_USER_ALLOCATE | \ - VM_FLAGS_RETURN_4K_DATA_ADDR | \ - VM_FLAGS_RETURN_DATA_ADDR) -#define VM_FLAGS_USER_REMAP (VM_FLAGS_FIXED | \ - VM_FLAGS_ANYWHERE | \ - VM_FLAGS_RANDOM_ADDR | \ - VM_FLAGS_OVERWRITE| \ - VM_FLAGS_RETURN_DATA_ADDR | \ - VM_FLAGS_RESILIENT_CODESIGN | \ - VM_FLAGS_RESILIENT_MEDIA) - -#define VM_FLAGS_SUPERPAGE_SHIFT 16 -#define SUPERPAGE_NONE 0 /* no superpages, if all bits are 0 */ -#define SUPERPAGE_SIZE_ANY 1 -#define VM_FLAGS_SUPERPAGE_NONE (SUPERPAGE_NONE << VM_FLAGS_SUPERPAGE_SHIFT) -#define VM_FLAGS_SUPERPAGE_SIZE_ANY (SUPERPAGE_SIZE_ANY << VM_FLAGS_SUPERPAGE_SHIFT) -#define SUPERPAGE_SIZE_2MB 2 -#define VM_FLAGS_SUPERPAGE_SIZE_2MB (SUPERPAGE_SIZE_2MB< -#include - -#include -#include - -typedef vm_offset_t pointer_t __kernel_ptr_semantics; -typedef vm_offset_t vm_address_t __kernel_ptr_semantics; - -/* - * We use addr64_t for 64-bit addresses that are used on both - * 32 and 64-bit machines. On PPC, they are passed and returned as - * two adjacent 32-bit GPRs. We use addr64_t in places where - * common code must be useable both on 32 and 64-bit machines. - */ -typedef uint64_t addr64_t; /* Basic effective address */ - -/* - * We use reg64_t for addresses that are 32 bits on a 32-bit - * machine, and 64 bits on a 64-bit machine, but are always - * passed and returned in a single GPR on PPC. This type - * cannot be used in generic 32-bit c, since on a 64-bit - * machine the upper half of the register will be ignored - * by the c compiler in 32-bit mode. In c, we can only use the - * type in prototypes of functions that are written in and called - * from assembly language. This type is basically a comment. - */ -typedef uint32_t reg64_t; - -/* - * To minimize the use of 64-bit fields, we keep some physical - * addresses (that are page aligned) as 32-bit page numbers. - * This limits the physical address space to 16TB of RAM. - */ -typedef uint32_t ppnum_t; /* Physical page number */ -#define PPNUM_MAX UINT32_MAX - - - -typedef mach_port_t vm_map_t, vm_map_read_t, vm_map_inspect_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) - -/* - * Evolving definitions, likely to change. - */ - -typedef uint64_t vm_object_offset_t; -typedef uint64_t vm_object_size_t; - - - - -typedef mach_port_t upl_t; -typedef mach_port_t vm_named_entry_t; - - -#define UPL_NULL ((upl_t) 0) -#define VM_NAMED_ENTRY_NULL ((vm_named_entry_t) 0) - -#endif /* _MACH_VM_TYPES_H_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.12-any/mach_debug/mach_debug_types.h b/lib/libc/include/any-macos.12-any/mach_debug/mach_debug_types.h deleted file mode 100644 index 94858acf33..0000000000 --- a/lib/libc/include/any-macos.12-any/mach_debug/mach_debug_types.h +++ /dev/null @@ -1,199 +0,0 @@ -/* - * Copyright (c) 2000 Apple Computer, 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@ - */ -/* - * @OSF_COPYRIGHT@ - */ -/* - * Mach Operating System - * Copyright (c) 1991,1990,1989,1988 Carnegie Mellon University - * All Rights Reserved. - * - * Permission to use, copy, modify and distribute this software and its - * documentation is hereby granted, provided that both the copyright - * notice and this permission notice appear in all copies of the - * software, derivative works or modified versions, and any portions - * thereof, and that both notices appear in supporting documentation. - * - * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" - * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR - * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. - * - * Carnegie Mellon requests users of this software to return to - * - * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU - * School of Computer Science - * Carnegie Mellon University - * Pittsburgh PA 15213-3890 - * - * any improvements or extensions that they make and grant Carnegie Mellon - * the rights to redistribute these changes. - */ -/* - */ -/* - * Mach kernel debugging interface type declarations - */ - -#ifndef _MACH_DEBUG_MACH_DEBUG_TYPES_H_ -#define _MACH_DEBUG_MACH_DEBUG_TYPES_H_ - -#include -#include -#include -#include -#include -#include - -#define MACH_CORE_FILEHEADER_SIGNATURE 0x0063614d20646152ULL -#define MACH_CORE_FILEHEADER_V2_SIGNATURE 0x63614d2073736f42ULL -#define MACH_CORE_FILEHEADER_MAXFILES 16 -#define MACH_CORE_FILEHEADER_NAMELEN 16 - -/* The following are defined for mach_core_fileheader_v2 */ -#define MACH_CORE_FILEHEADER_V2_FLAG_LOG_ENCRYPTED_AEA (1ULL << 0) /* The log is encrypted using AEA */ -#define MACH_CORE_FILEHEADER_V2_FLAG_EXISTING_COREFILE_KEY_FORMAT_NIST_P256 (1ULL << 8) /* The public key is an NIST-P256 ECC key */ -#define MACH_CORE_FILEHEADER_V2_FLAG_NEXT_COREFILE_KEY_FORMAT_NIST_P256 (1ULL << 16) /* The next public key is an NIST-P256 ECC key */ - -#define MACH_CORE_FILEHEADER_V2_FLAGS_EXISTING_COREFILE_KEY_FORMAT_MASK (0x1ULL << 8) /* A bit-mask for all supported key formats */ -#define MACH_CORE_FILEHEADER_V2_FLAGS_NEXT_COREFILE_KEY_FORMAT_MASK (0x1ULL << 16) /* A bit-mask for all supported next key formats */ - -#define MACH_CORE_FILEHEADER_V2_FLAGS_NEXT_KEY_FORMAT_TO_KEY_FORMAT(x) (((x) >> 8) & MACH_CORE_FILEHEADER_V2_FLAGS_EXISTING_COREFILE_KEY_FORMAT_MASK) - -/* The following are defined for mach_core_details_v2 */ -#define MACH_CORE_DETAILS_V2_FLAG_ENCRYPTED_AEA (1ULL << 0) /* This core is encrypted using AEA */ -#define MACH_CORE_DETAILS_V2_FLAG_COMPRESSED_ZLIB (1ULL << 8) /* This core is compressed using ZLib */ - -typedef char symtab_name_t[32]; - -/* - *********************** - * - * Mach corefile layout - * - *********************** - * - * uint64_t signature - * uint64_t log_offset >---+ - * uint64_t log_length | - * mach_core_details files[MACH_CORE_FILEHEADER_MAXFILES] | - * |--> uint64_t gzip_offset >---+ | - * | uint64_t gzip_length | | - * | char core_name[] | | - * |--> uint64_t gzip_offset >---+ | | - * | uint64_t gzip_length | | | - * | char core_name[] | | | - * |--> [...] | | | - * [log data. Plain-text] | | <---+ - * [core #1 data. Zlib compressed] | <---+ - * [core #2 data. Zlib compressed] <---+ - * [core #x data...] - */ - -struct mach_core_details { - uint64_t gzip_offset; - uint64_t gzip_length; - char core_name[MACH_CORE_FILEHEADER_NAMELEN]; -}; - -struct mach_core_fileheader { - uint64_t signature; /* MACH_CORE_FILEHEADER_SIGNATURE */ - uint64_t log_offset; - uint64_t log_length; - uint64_t num_files; - struct mach_core_details files[MACH_CORE_FILEHEADER_MAXFILES]; -}; - -/* - * Mach corefile V2 headers are denoted with MACH_CORE_FILEHEADER_V2_SIGNATURE. - * Note that the V2 headers contain a version field that further indicates the version of the - * header's contents. For example, if a V2 header's 'version' field indicates version 5, then - * the header follows the format of the 'mach_core_fileheader_v5' structure. - * - * Further note that 'mach_core_details_' structures are not bound to the same versioning scheme - * as the header itself. This means that it's perfectly acceptable for a 'mach_core_fileheader_v5' header - * to make use of 'mach_core_details_v2' - * - ************************** - * - * Mach corefile layout V2 (using a version 2 header struct as an example) - * - ************************** - * - * uint64_t signature - * uint32_t version - * uint64_t flags - * uint64_t pub_key_offset >---+ - * uint16_t pub_key_length | - * uint64_t log_offset >---+ | - * uint64_t log_length | | - * uint64_t num_files | | - * mach_core_details_v2 files[] | | - * |--> uint64_t flags | | - * | uint64_t offset >---+ | | - * | uint64_t length | | | - * | char core_name[] | | | - * |--> uint64_t flags | | | - * | uint64_t offset >---+ | | | - * | uint64_t length | | | | - * | char core_name[] | | | | - * |--> [...] | | | | - * [public key data] | | | <---+ - * [log data. Plain-text or an AEA container] | | <---+ - * [core #1 data. Zlib compressed. Possibly in an AEA container] | <---+ - * [core #2 data. Zlib compressed. Possibly in an AEA container] <---+ - * [core #x data...] - */ - -struct mach_core_details_v2 { - uint64_t flags; /* See the MACH_CORE_DETAILS_V2_FLAG_* definitions */ - uint64_t offset; - uint64_t length; - char core_name[MACH_CORE_FILEHEADER_NAMELEN]; -}; - -struct mach_core_fileheader_base { - uint64_t signature; /* MACH_CORE_FILEHEADER_V2_SIGNATURE */ - uint32_t version; -}; - -struct mach_core_fileheader_v2 { - uint64_t signature; /* MACH_CORE_FILEHEADER_V2_SIGNATURE */ - uint32_t version; /* 2 */ - uint64_t flags; /* See the MACH_CORE_FILEHEADER_V2_FLAG_* definitions */ - uint64_t pub_key_offset; /* Offset of the public key */ - uint16_t pub_key_length; /* Length of the public key */ - uint64_t log_offset; - uint64_t log_length; - uint64_t num_files; - struct mach_core_details_v2 files[]; -}; - -#define KOBJECT_DESCRIPTION_LENGTH 512 -typedef char kobject_description_t[KOBJECT_DESCRIPTION_LENGTH]; - -#endif /* _MACH_DEBUG_MACH_DEBUG_TYPES_H_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.12-any/malloc/malloc.h b/lib/libc/include/any-macos.12-any/malloc/malloc.h deleted file mode 100644 index 1d6954a432..0000000000 --- a/lib/libc/include/any-macos.12-any/malloc/malloc.h +++ /dev/null @@ -1,341 +0,0 @@ -/* - * Copyright (c) 1999 Apple Computer, Inc. All rights reserved. - * - * @APPLE_LICENSE_HEADER_START@ - * - * This file contains Original Code and/or Modifications of Original Code - * as defined in and that are subject to the Apple Public Source License - * Version 2.0 (the 'License'). You may not use this file except in - * compliance with the License. Please obtain a copy of the License at - * http://www.opensource.apple.com/apsl/ and read it before using this - * file. - * - * The Original Code and all software distributed under the License are - * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER - * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, - * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. - * Please see the License for the specific language governing rights and - * limitations under the License. - * - * @APPLE_LICENSE_HEADER_END@ - */ - -#ifndef _MALLOC_MALLOC_H_ -#define _MALLOC_MALLOC_H_ - -#include -#include -#include -#include - -#if __has_feature(ptrauth_calls) -#include - -// Zone function pointer, type-diversified but not address-diversified (because -// the zone can be copied). Process-independent because the zone structure may -// be in the shared library cache. -#define MALLOC_ZONE_FN_PTR(fn) __ptrauth(ptrauth_key_process_independent_code, \ - FALSE, ptrauth_string_discriminator("malloc_zone_fn." #fn)) fn - -// Introspection function pointer, address- and type-diversified. -// Process-independent because the malloc_introspection_t structure that contains -// these pointers may be in the shared library cache. -#define MALLOC_INTROSPECT_FN_PTR(fn) __ptrauth(ptrauth_key_process_independent_code, \ - TRUE, ptrauth_string_discriminator("malloc_introspect_fn." #fn)) fn - -// Pointer to the introspection pointer table, type-diversified but not -// address-diversified (because the zone can be copied). -// Process-independent because the table pointer may be in the shared library cache. -#define MALLOC_INTROSPECT_TBL_PTR(ptr) __ptrauth(ptrauth_key_process_independent_data,\ - FALSE, ptrauth_string_discriminator("malloc_introspect_tbl")) ptr - -#endif // __has_feature(ptrauth_calls) - -#ifndef MALLOC_ZONE_FN_PTR -#define MALLOC_ZONE_FN_PTR(fn) fn -#define MALLOC_INTROSPECT_FN_PTR(fn) fn -#define MALLOC_INTROSPECT_TBL_PTR(ptr) ptr -#endif // MALLOC_ZONE_FN_PTR - -__BEGIN_DECLS -/********* Type definitions ************/ - -typedef struct _malloc_zone_t { - /* Only zone implementors should depend on the layout of this structure; - Regular callers should use the access functions below */ - void *reserved1; /* RESERVED FOR CFAllocator DO NOT USE */ - void *reserved2; /* RESERVED FOR CFAllocator DO NOT USE */ - size_t (* MALLOC_ZONE_FN_PTR(size))(struct _malloc_zone_t *zone, const void *ptr); /* returns the size of a block or 0 if not in this zone; must be fast, especially for negative answers */ - void *(* MALLOC_ZONE_FN_PTR(malloc))(struct _malloc_zone_t *zone, size_t size); - void *(* MALLOC_ZONE_FN_PTR(calloc))(struct _malloc_zone_t *zone, size_t num_items, size_t size); /* same as malloc, but block returned is set to zero */ - void *(* MALLOC_ZONE_FN_PTR(valloc))(struct _malloc_zone_t *zone, size_t size); /* same as malloc, but block returned is set to zero and is guaranteed to be page aligned */ - void (* MALLOC_ZONE_FN_PTR(free))(struct _malloc_zone_t *zone, void *ptr); - void *(* MALLOC_ZONE_FN_PTR(realloc))(struct _malloc_zone_t *zone, void *ptr, size_t size); - void (* MALLOC_ZONE_FN_PTR(destroy))(struct _malloc_zone_t *zone); /* zone is destroyed and all memory reclaimed */ - const char *zone_name; - - /* Optional batch callbacks; these may be NULL */ - unsigned (* MALLOC_ZONE_FN_PTR(batch_malloc))(struct _malloc_zone_t *zone, size_t size, void **results, unsigned num_requested); /* given a size, returns pointers capable of holding that size; returns the number of pointers allocated (maybe 0 or less than num_requested) */ - void (* MALLOC_ZONE_FN_PTR(batch_free))(struct _malloc_zone_t *zone, void **to_be_freed, unsigned num_to_be_freed); /* frees all the pointers in to_be_freed; note that to_be_freed may be overwritten during the process */ - - struct malloc_introspection_t * MALLOC_INTROSPECT_TBL_PTR(introspect); - unsigned version; - - /* aligned memory allocation. The callback may be NULL. Present in version >= 5. */ - void *(* MALLOC_ZONE_FN_PTR(memalign))(struct _malloc_zone_t *zone, size_t alignment, size_t size); - - /* free a pointer known to be in zone and known to have the given size. The callback may be NULL. Present in version >= 6.*/ - void (* MALLOC_ZONE_FN_PTR(free_definite_size))(struct _malloc_zone_t *zone, void *ptr, size_t size); - - /* Empty out caches in the face of memory pressure. The callback may be NULL. Present in version >= 8. */ - size_t (* MALLOC_ZONE_FN_PTR(pressure_relief))(struct _malloc_zone_t *zone, size_t goal); - - /* - * Checks whether an address might belong to the zone. May be NULL. Present in version >= 10. - * False positives are allowed (e.g. the pointer was freed, or it's in zone space that has - * not yet been allocated. False negatives are not allowed. - */ - boolean_t (* MALLOC_ZONE_FN_PTR(claimed_address))(struct _malloc_zone_t *zone, void *ptr); -} malloc_zone_t; - -/********* Creation and destruction ************/ - -extern malloc_zone_t *malloc_default_zone(void); - /* The initial zone */ - -extern malloc_zone_t *malloc_create_zone(vm_size_t start_size, unsigned flags); - /* Creates a new zone with default behavior and registers it */ - -extern void malloc_destroy_zone(malloc_zone_t *zone); - /* Destroys zone and everything it allocated */ - -/********* Block creation and manipulation ************/ - -extern void *malloc_zone_malloc(malloc_zone_t *zone, size_t size) __alloc_size(2); - /* Allocates a new pointer of size size; zone must be non-NULL */ - -extern void *malloc_zone_calloc(malloc_zone_t *zone, size_t num_items, size_t size) __alloc_size(2,3); - /* Allocates a new pointer of size num_items * size; block is cleared; zone must be non-NULL */ - -extern void *malloc_zone_valloc(malloc_zone_t *zone, size_t size) __alloc_size(2); - /* Allocates a new pointer of size size; zone must be non-NULL; Pointer is guaranteed to be page-aligned and block is cleared */ - -extern void malloc_zone_free(malloc_zone_t *zone, void *ptr); - /* Frees pointer in zone; zone must be non-NULL */ - -extern void *malloc_zone_realloc(malloc_zone_t *zone, void *ptr, size_t size) __alloc_size(3); - /* Enlarges block if necessary; zone must be non-NULL */ - -extern malloc_zone_t *malloc_zone_from_ptr(const void *ptr); - /* Returns the zone for a pointer, or NULL if not in any zone. - The ptr must have been returned from a malloc or realloc call. */ - -extern size_t malloc_size(const void *ptr); - /* Returns size of given ptr */ - -extern size_t malloc_good_size(size_t size); - /* Returns number of bytes greater than or equal to size that can be allocated without padding */ - -extern void *malloc_zone_memalign(malloc_zone_t *zone, size_t alignment, size_t size) __alloc_size(3) __OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_3_0); - /* - * Allocates a new pointer of size size whose address is an exact multiple of alignment. - * alignment must be a power of two and at least as large as sizeof(void *). - * zone must be non-NULL. - */ - -/********* Batch methods ************/ - -extern unsigned malloc_zone_batch_malloc(malloc_zone_t *zone, size_t size, void **results, unsigned num_requested); - /* Allocates num blocks of the same size; Returns the number truly allocated (may be 0) */ - -extern void malloc_zone_batch_free(malloc_zone_t *zone, void **to_be_freed, unsigned num); - /* frees all the pointers in to_be_freed; note that to_be_freed may be overwritten during the process; This function will always free even if the zone has no batch callback */ - -/********* Functions for libcache ************/ - -extern malloc_zone_t *malloc_default_purgeable_zone(void) __OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_3_0); - /* Returns a pointer to the default purgeable_zone. */ - -extern void malloc_make_purgeable(void *ptr) __OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_3_0); - /* Make an allocation from the purgeable zone purgeable if possible. */ - -extern int malloc_make_nonpurgeable(void *ptr) __OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_3_0); - /* Makes an allocation from the purgeable zone nonpurgeable. - * Returns zero if the contents were not purged since the last - * call to malloc_make_purgeable, else returns non-zero. */ - -/********* Functions for zone implementors ************/ - -extern void malloc_zone_register(malloc_zone_t *zone); - /* Registers a custom malloc zone; Should typically be called after a - * malloc_zone_t has been filled in with custom methods by a client. See - * malloc_create_zone for creating additional malloc zones with the - * default allocation and free behavior. */ - -extern void malloc_zone_unregister(malloc_zone_t *zone); - /* De-registers a zone - Should typically be called before calling the zone destruction routine */ - -extern void malloc_set_zone_name(malloc_zone_t *zone, const char *name); - /* Sets the name of a zone */ - -extern const char *malloc_get_zone_name(malloc_zone_t *zone); - /* Returns the name of a zone */ - -size_t malloc_zone_pressure_relief(malloc_zone_t *zone, size_t goal) __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_4_3); - /* malloc_zone_pressure_relief() advises the malloc subsystem that the process is under memory pressure and - * that the subsystem should make its best effort towards releasing (i.e. munmap()-ing) "goal" bytes from "zone". - * If "goal" is passed as zero, the malloc subsystem will attempt to achieve maximal pressure relief in "zone". - * If "zone" is passed as NULL, all zones are examined for pressure relief opportunities. - * malloc_zone_pressure_relief() returns the number of bytes released. - */ - -typedef struct { - vm_address_t address; - vm_size_t size; -} vm_range_t; - -typedef struct malloc_statistics_t { - unsigned blocks_in_use; - size_t size_in_use; - size_t max_size_in_use; /* high water mark of touched memory */ - size_t size_allocated; /* reserved in memory */ -} malloc_statistics_t; - -typedef kern_return_t memory_reader_t(task_t remote_task, vm_address_t remote_address, vm_size_t size, void **local_memory); - /* given a task, "reads" the memory at the given address and size -local_memory: set to a contiguous chunk of memory; validity of local_memory is assumed to be limited (until next call) */ - -#define MALLOC_PTR_IN_USE_RANGE_TYPE 1 /* for allocated pointers */ -#define MALLOC_PTR_REGION_RANGE_TYPE 2 /* for region containing pointers */ -#define MALLOC_ADMIN_REGION_RANGE_TYPE 4 /* for region used internally */ -#define MALLOC_ZONE_SPECIFIC_FLAGS 0xff00 /* bits reserved for zone-specific purposes */ - -typedef void vm_range_recorder_t(task_t, void *, unsigned type, vm_range_t *, unsigned); - /* given a task and context, "records" the specified addresses */ - -/* Print function for the print_task() operation. */ -typedef void print_task_printer_t(const char *fmt, ...) __printflike(1,2); - -typedef struct malloc_introspection_t { - kern_return_t (* MALLOC_INTROSPECT_FN_PTR(enumerator))(task_t task, void *, unsigned type_mask, vm_address_t zone_address, memory_reader_t reader, vm_range_recorder_t recorder); /* enumerates all the malloc pointers in use */ - size_t (* MALLOC_INTROSPECT_FN_PTR(good_size))(malloc_zone_t *zone, size_t size); - boolean_t (* MALLOC_INTROSPECT_FN_PTR(check))(malloc_zone_t *zone); /* Consistency checker */ - void (* MALLOC_INTROSPECT_FN_PTR(print))(malloc_zone_t *zone, boolean_t verbose); /* Prints zone */ - void (* MALLOC_INTROSPECT_FN_PTR(log))(malloc_zone_t *zone, void *address); /* Enables logging of activity */ - void (* MALLOC_INTROSPECT_FN_PTR(force_lock))(malloc_zone_t *zone); /* Forces locking zone */ - void (* MALLOC_INTROSPECT_FN_PTR(force_unlock))(malloc_zone_t *zone); /* Forces unlocking zone */ - void (* MALLOC_INTROSPECT_FN_PTR(statistics))(malloc_zone_t *zone, malloc_statistics_t *stats); /* Fills statistics */ - boolean_t (* MALLOC_INTROSPECT_FN_PTR(zone_locked))(malloc_zone_t *zone); /* Are any zone locks held */ - - /* Discharge checking. Present in version >= 7. */ - boolean_t (* MALLOC_INTROSPECT_FN_PTR(enable_discharge_checking))(malloc_zone_t *zone); - void (* MALLOC_INTROSPECT_FN_PTR(disable_discharge_checking))(malloc_zone_t *zone); - void (* MALLOC_INTROSPECT_FN_PTR(discharge))(malloc_zone_t *zone, void *memory); -#ifdef __BLOCKS__ - void (* MALLOC_INTROSPECT_FN_PTR(enumerate_discharged_pointers))(malloc_zone_t *zone, void (^report_discharged)(void *memory, void *info)); - #else - void *enumerate_unavailable_without_blocks; -#endif /* __BLOCKS__ */ - void (* MALLOC_INTROSPECT_FN_PTR(reinit_lock))(malloc_zone_t *zone); /* Reinitialize zone locks, called only from atfork_child handler. Present in version >= 9. */ - void (* MALLOC_INTROSPECT_FN_PTR(print_task))(task_t task, unsigned level, vm_address_t zone_address, memory_reader_t reader, print_task_printer_t printer); /* debug print for another process. Present in version >= 11. */ - void (* MALLOC_INTROSPECT_FN_PTR(task_statistics))(task_t task, vm_address_t zone_address, memory_reader_t reader, malloc_statistics_t *stats); /* Present in version >= 12 */ -} malloc_introspection_t; - -// The value of "level" when passed to print_task() that corresponds to -// verbose passed to print() -#define MALLOC_VERBOSE_PRINT_LEVEL 2 - -extern void malloc_printf(const char *format, ...); - /* Convenience for logging errors and warnings; - No allocation is performed during execution of this function; - Only understands usual %p %d %s formats, and %y that expresses a number of bytes (5b,10KB,1MB...) - */ - -/********* Functions for performance tools ************/ - -extern kern_return_t malloc_get_all_zones(task_t task, memory_reader_t reader, vm_address_t **addresses, unsigned *count); - /* Fills addresses and count with the addresses of the zones in task; - Note that the validity of the addresses returned correspond to the validity of the memory returned by reader */ - -/********* Debug helpers ************/ - -extern void malloc_zone_print_ptr_info(void *ptr); - /* print to stdout if this pointer is in the malloc heap, free status, and size */ - -extern boolean_t malloc_zone_check(malloc_zone_t *zone); - /* Checks zone is well formed; if !zone, checks all zones */ - -extern void malloc_zone_print(malloc_zone_t *zone, boolean_t verbose); - /* Prints summary on zone; if !zone, prints all zones */ - -extern void malloc_zone_statistics(malloc_zone_t *zone, malloc_statistics_t *stats); - /* Fills statistics for zone; if !zone, sums up all zones */ - -extern void malloc_zone_log(malloc_zone_t *zone, void *address); - /* Controls logging of all activity; if !zone, for all zones; - If address==0 nothing is logged; - If address==-1 all activity is logged; - Else only the activity regarding address is logged */ - -struct mstats { - size_t bytes_total; - size_t chunks_used; - size_t bytes_used; - size_t chunks_free; - size_t bytes_free; -}; - -extern struct mstats mstats(void); - -extern boolean_t malloc_zone_enable_discharge_checking(malloc_zone_t *zone) __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_4_3); -/* Increment the discharge checking enabled counter for a zone. Returns true if the zone supports checking, false if it does not. */ - -extern void malloc_zone_disable_discharge_checking(malloc_zone_t *zone) __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_4_3); -/* Decrement the discharge checking enabled counter for a zone. */ - -extern void malloc_zone_discharge(malloc_zone_t *zone, void *memory) __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_4_3); -/* Register memory that the programmer expects to be freed soon. - zone may be NULL in which case the zone is determined using malloc_zone_from_ptr(). - If discharge checking is off for the zone this function is a no-op. */ - -#ifdef __BLOCKS__ -extern void malloc_zone_enumerate_discharged_pointers(malloc_zone_t *zone, void (^report_discharged)(void *memory, void *info)) __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_4_3); -/* Calls report_discharged for each block that was registered using malloc_zone_discharge() but has not yet been freed. - info is used to provide zone defined information about the memory block. - If zone is NULL then the enumeration covers all zones. */ -#else -extern void malloc_zone_enumerate_discharged_pointers(malloc_zone_t *zone, void *) __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_4_3); -#endif /* __BLOCKS__ */ - -/********* Zone version summary ************/ -// Version 0, but optional: -// malloc_zone_t::batch_malloc -// malloc_zone_t::batch_free -// Version 5: -// malloc_zone_t::memalign -// Version 6: -// malloc_zone_t::free_definite_size -// Version 7: -// malloc_introspection_t::enable_discharge_checking -// malloc_introspection_t::disable_discharge_checking -// malloc_introspection_t::discharge -// Version 8: -// malloc_zone_t::pressure_relief -// Version 9: -// malloc_introspection_t::reinit_lock -// Version 10: -// malloc_zone_t::claimed_address -// Version 11: -// malloc_introspection_t::print_task -// Version 12: -// malloc_introspection_t::task_statistics - -// These functions are optional and calling them requires two checks: -// * Check zone version to ensure zone struct is large enough to include the member. -// * Check that the function pointer is not null. - -__END_DECLS - -#endif /* _MALLOC_MALLOC_H_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.12-any/net/if.h b/lib/libc/include/any-macos.12-any/net/if.h deleted file mode 100644 index fa6484cd57..0000000000 --- a/lib/libc/include/any-macos.12-any/net/if.h +++ /dev/null @@ -1,441 +0,0 @@ -/* - * Copyright (c) 2000-2021 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@ - */ -/* - * Copyright (c) 1982, 1986, 1989, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)if.h 8.1 (Berkeley) 6/10/93 - */ - -#ifndef _NET_IF_H_ -#define _NET_IF_H_ - -#define IF_NAMESIZE 16 - -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -#include -#include -#ifdef __APPLE__ - -#include -#include -#include -#include - -#endif - -#ifndef IFNAMSIZ -#define IFNAMSIZ IF_NAMESIZE -#endif - -struct if_clonereq { - int ifcr_total; /* total cloners (out) */ - int ifcr_count; /* room for this many in user buffer */ - char *ifcr_buffer; /* buffer for cloner names */ -}; - - -#define IFF_UP 0x1 /* interface is up */ -#define IFF_BROADCAST 0x2 /* broadcast address valid */ -#define IFF_DEBUG 0x4 /* turn on debugging */ -#define IFF_LOOPBACK 0x8 /* is a loopback net */ -#define IFF_POINTOPOINT 0x10 /* interface is point-to-point link */ -#define IFF_NOTRAILERS 0x20 /* obsolete: avoid use of trailers */ -#define IFF_RUNNING 0x40 /* resources allocated */ -#define IFF_NOARP 0x80 /* no address resolution protocol */ -#define IFF_PROMISC 0x100 /* receive all packets */ -#define IFF_ALLMULTI 0x200 /* receive all multicast packets */ -#define IFF_OACTIVE 0x400 /* transmission in progress */ -#define IFF_SIMPLEX 0x800 /* can't hear own transmissions */ -#define IFF_LINK0 0x1000 /* per link layer defined bit */ -#define IFF_LINK1 0x2000 /* per link layer defined bit */ -#define IFF_LINK2 0x4000 /* per link layer defined bit */ -#define IFF_ALTPHYS IFF_LINK2 /* use alternate physical connection */ -#define IFF_MULTICAST 0x8000 /* supports multicast */ - - - -/* - * Capabilities that interfaces can advertise. - * - * struct ifnet.if_capabilities - * contains the optional features & capabilities a particular interface - * supports (not only the driver but also the detected hw revision). - * Capabilities are defined by IFCAP_* below. - * struct ifnet.if_capenable - * contains the enabled (either by default or through ifconfig) optional - * features & capabilities on this interface. - * Capabilities are defined by IFCAP_* below. - * struct if_data.ifi_hwassist in IFNET_* form, defined in net/kpi_interface.h, - * contains the enabled optional features & capabilites that can be used - * individually per packet and are specified in the mbuf pkthdr.csum_flags - * field. IFCAP_* and IFNET_* do not match one to one and IFNET_* may be - * more detailed or differentiated than IFCAP_*. - * IFNET_* hwassist flags have corresponding CSUM_* in sys/mbuf.h - */ -#define IFCAP_RXCSUM 0x00001 /* can offload checksum on RX */ -#define IFCAP_TXCSUM 0x00002 /* can offload checksum on TX */ -#define IFCAP_VLAN_MTU 0x00004 /* VLAN-compatible MTU */ -#define IFCAP_VLAN_HWTAGGING 0x00008 /* hardware VLAN tag support */ -#define IFCAP_JUMBO_MTU 0x00010 /* 9000 byte MTU supported */ -#define IFCAP_TSO4 0x00020 /* can do TCP Segmentation Offload */ -#define IFCAP_TSO6 0x00040 /* can do TCP6 Segmentation Offload */ -#define IFCAP_LRO 0x00080 /* can do Large Receive Offload */ -#define IFCAP_AV 0x00100 /* can do 802.1 AV Bridging */ -#define IFCAP_TXSTATUS 0x00200 /* can return linklevel xmit status */ -#define IFCAP_SKYWALK 0x00400 /* Skywalk mode supported/enabled */ -#define IFCAP_HW_TIMESTAMP 0x00800 /* Time stamping in hardware */ -#define IFCAP_SW_TIMESTAMP 0x01000 /* Time stamping in software */ -#define IFCAP_CSUM_PARTIAL 0x02000 /* can offload partial checksum */ -#define IFCAP_CSUM_ZERO_INVERT 0x04000 /* can invert 0 to -0 (0xffff) */ - -#define IFCAP_HWCSUM (IFCAP_RXCSUM | IFCAP_TXCSUM) -#define IFCAP_TSO (IFCAP_TSO4 | IFCAP_TSO6) - -#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) - -#define IFQ_MAXLEN 128 -#define IFNET_SLOWHZ 1 /* granularity is 1 second */ -#define IFQ_TARGET_DELAY (10ULL * 1000 * 1000) /* 10 ms */ -#define IFQ_UPDATE_INTERVAL (100ULL * 1000 * 1000) /* 100 ms */ - -/* - * Message format for use in obtaining information about interfaces - * from sysctl and the routing socket - */ -struct if_msghdr { - unsigned short ifm_msglen; /* to skip non-understood messages */ - unsigned char ifm_version; /* future binary compatability */ - unsigned char ifm_type; /* message type */ - int ifm_addrs; /* like rtm_addrs */ - int ifm_flags; /* value of if_flags */ - unsigned short ifm_index; /* index for associated ifp */ - struct if_data ifm_data; /* statistics and other data about if */ -}; - -/* - * Message format for use in obtaining information about interface addresses - * from sysctl and the routing socket - */ -struct ifa_msghdr { - unsigned short ifam_msglen; /* to skip non-understood messages */ - unsigned char ifam_version; /* future binary compatability */ - unsigned char ifam_type; /* message type */ - int ifam_addrs; /* like rtm_addrs */ - int ifam_flags; /* value of ifa_flags */ - unsigned short ifam_index; /* index for associated ifp */ - int ifam_metric; /* value of ifa_metric */ -}; - -/* - * Message format for use in obtaining information about multicast addresses - * from the routing socket - */ -struct ifma_msghdr { - unsigned short ifmam_msglen; /* to skip non-understood messages */ - unsigned char ifmam_version; /* future binary compatability */ - unsigned char ifmam_type; /* message type */ - int ifmam_addrs; /* like rtm_addrs */ - int ifmam_flags; /* value of ifa_flags */ - unsigned short ifmam_index; /* index for associated ifp */ -}; - -/* - * Message format for use in obtaining information about interfaces - * from sysctl - */ -struct if_msghdr2 { - u_short ifm_msglen; /* to skip over non-understood messages */ - u_char ifm_version; /* future binary compatability */ - u_char ifm_type; /* message type */ - int ifm_addrs; /* like rtm_addrs */ - int ifm_flags; /* value of if_flags */ - u_short ifm_index; /* index for associated ifp */ - int ifm_snd_len; /* instantaneous length of send queue */ - int ifm_snd_maxlen; /* maximum length of send queue */ - int ifm_snd_drops; /* number of drops in send queue */ - int ifm_timer; /* time until if_watchdog called */ - struct if_data64 ifm_data; /* statistics and other data */ -}; - -/* - * Message format for use in obtaining information about multicast addresses - * from sysctl - */ -struct ifma_msghdr2 { - u_short ifmam_msglen; /* to skip over non-understood messages */ - u_char ifmam_version; /* future binary compatability */ - u_char ifmam_type; /* message type */ - int ifmam_addrs; /* like rtm_addrs */ - int ifmam_flags; /* value of ifa_flags */ - u_short ifmam_index; /* index for associated ifp */ - int32_t ifmam_refcount; -}; - -/* - * ifdevmtu: interface device mtu - * Used with SIOCGIFDEVMTU to get the current mtu in use by the device, - * as well as the minimum and maximum mtu allowed by the device. - */ -struct ifdevmtu { - int ifdm_current; - int ifdm_min; - int ifdm_max; -}; - -#pragma pack(4) - -/* - * ifkpi: interface kpi ioctl - * Used with SIOCSIFKPI and SIOCGIFKPI. - * - * ifk_module_id - From in the kernel, a value from kev_vendor_code_find. From - * user space, a value from SIOCGKEVVENDOR ioctl on a kernel event socket. - * ifk_type - The type. Types are specific to each module id. - * ifk_data - The data. ifk_ptr may be a 64bit pointer for 64 bit processes. - * - * Copying data between user space and kernel space is done using copyin - * and copyout. A process may be running in 64bit mode. In such a case, - * the pointer will be a 64bit pointer, not a 32bit pointer. The following - * sample is a safe way to copy the data in to the kernel from either a - * 32bit or 64bit process: - * - * user_addr_t tmp_ptr; - * if (IS_64BIT_PROCESS(current_proc())) { - * tmp_ptr = CAST_USER_ADDR_T(ifkpi.ifk_data.ifk_ptr64); - * } - * else { - * tmp_ptr = CAST_USER_ADDR_T(ifkpi.ifk_data.ifk_ptr); - * } - * error = copyin(tmp_ptr, allocated_dst_buffer, size of allocated_dst_buffer); - */ - -struct ifkpi { - unsigned int ifk_module_id; - unsigned int ifk_type; - union { - void *ifk_ptr; - int ifk_value; - } ifk_data; -}; - -/* Wake capabilities of a interface */ -#define IF_WAKE_ON_MAGIC_PACKET 0x01 - - -#pragma pack() - -/* - * Interface request structure used for socket - * ioctl's. All interface ioctl's must have parameter - * definitions which begin with ifr_name. The - * remainder may be interface specific. - */ -struct ifreq { - char ifr_name[IFNAMSIZ]; /* if name, e.g. "en0" */ - union { - struct sockaddr ifru_addr; - struct sockaddr ifru_dstaddr; - struct sockaddr ifru_broadaddr; - short ifru_flags; - int ifru_metric; - int ifru_mtu; - int ifru_phys; - int ifru_media; - int ifru_intval; - caddr_t ifru_data; - struct ifdevmtu ifru_devmtu; - struct ifkpi ifru_kpi; - u_int32_t ifru_wake_flags; - u_int32_t ifru_route_refcnt; - int ifru_cap[2]; - u_int32_t ifru_functional_type; -#define IFRTYPE_FUNCTIONAL_UNKNOWN 0 -#define IFRTYPE_FUNCTIONAL_LOOPBACK 1 -#define IFRTYPE_FUNCTIONAL_WIRED 2 -#define IFRTYPE_FUNCTIONAL_WIFI_INFRA 3 -#define IFRTYPE_FUNCTIONAL_WIFI_AWDL 4 -#define IFRTYPE_FUNCTIONAL_CELLULAR 5 -#define IFRTYPE_FUNCTIONAL_INTCOPROC 6 -#define IFRTYPE_FUNCTIONAL_COMPANIONLINK 7 -#define IFRTYPE_FUNCTIONAL_LAST 7 - } ifr_ifru; -#define ifr_addr ifr_ifru.ifru_addr /* address */ -#define ifr_dstaddr ifr_ifru.ifru_dstaddr /* other end of p-to-p link */ -#define ifr_broadaddr ifr_ifru.ifru_broadaddr /* broadcast address */ -#ifdef __APPLE__ -#define ifr_flags ifr_ifru.ifru_flags /* flags */ -#else -#define ifr_flags ifr_ifru.ifru_flags[0] /* flags */ -#define ifr_prevflags ifr_ifru.ifru_flags[1] /* flags */ -#endif /* __APPLE__ */ -#define ifr_metric ifr_ifru.ifru_metric /* metric */ -#define ifr_mtu ifr_ifru.ifru_mtu /* mtu */ -#define ifr_phys ifr_ifru.ifru_phys /* physical wire */ -#define ifr_media ifr_ifru.ifru_media /* physical media */ -#define ifr_data ifr_ifru.ifru_data /* for use by interface */ -#define ifr_devmtu ifr_ifru.ifru_devmtu -#define ifr_intval ifr_ifru.ifru_intval /* integer value */ -#define ifr_kpi ifr_ifru.ifru_kpi -#define ifr_wake_flags ifr_ifru.ifru_wake_flags /* wake capabilities */ -#define ifr_route_refcnt ifr_ifru.ifru_route_refcnt /* route references count */ -#define ifr_reqcap ifr_ifru.ifru_cap[0] /* requested capabilities */ -#define ifr_curcap ifr_ifru.ifru_cap[1] /* current capabilities */ -}; - -#define _SIZEOF_ADDR_IFREQ(ifr) \ - ((ifr).ifr_addr.sa_len > sizeof (struct sockaddr) ? \ - (sizeof (struct ifreq) - sizeof (struct sockaddr) + \ - (ifr).ifr_addr.sa_len) : sizeof (struct ifreq)) - -struct ifaliasreq { - char ifra_name[IFNAMSIZ]; /* if name, e.g. "en0" */ - struct sockaddr ifra_addr; - struct sockaddr ifra_broadaddr; - struct sockaddr ifra_mask; -}; - -struct rslvmulti_req { - struct sockaddr *sa; - struct sockaddr **llsa; -}; - -#pragma pack(4) - -struct ifmediareq { - char ifm_name[IFNAMSIZ]; /* if name, e.g. "en0" */ - int ifm_current; /* current media options */ - int ifm_mask; /* don't care mask */ - int ifm_status; /* media status */ - int ifm_active; /* active options */ - int ifm_count; /* # entries in ifm_ulist array */ - int *ifm_ulist; /* media words */ -}; - -#pragma pack() - - -#pragma pack(4) -struct ifdrv { - char ifd_name[IFNAMSIZ]; /* if name, e.g. "en0" */ - unsigned long ifd_cmd; - size_t ifd_len; /* length of ifd_data buffer */ - void *ifd_data; -}; -#pragma pack() - - -/* - * Structure used to retrieve aux status data from interfaces. - * Kernel suppliers to this interface should respect the formatting - * needed by ifconfig(8): each line starts with a TAB and ends with - * a newline. - */ - -#define IFSTATMAX 800 /* 10 lines of text */ -struct ifstat { - char ifs_name[IFNAMSIZ]; /* if name, e.g. "en0" */ - char ascii[IFSTATMAX + 1]; -}; - -/* - * Structure used in SIOCGIFCONF request. - * Used to retrieve interface configuration - * for machine (useful for programs which - * must know all networks accessible). - */ -#pragma pack(4) -struct ifconf { - int ifc_len; /* size of associated buffer */ - union { - caddr_t ifcu_buf; - struct ifreq *ifcu_req; - } ifc_ifcu; -}; -#pragma pack() -#define ifc_buf ifc_ifcu.ifcu_buf /* buffer address */ -#define ifc_req ifc_ifcu.ifcu_req /* array of structures returned */ - - -/* - * DLIL KEV_DL_PROTO_ATTACHED/DETACHED structure - */ -struct kev_dl_proto_data { - struct net_event_data link_data; - u_int32_t proto_family; - u_int32_t proto_remaining_count; -}; - - -#endif /* (_POSIX_C_SOURCE && !_DARWIN_C_SOURCE) */ - -struct if_nameindex { - unsigned int if_index; /* 1, 2, ... */ - char *if_name; /* null terminated name: "le0", ... */ -}; - -__BEGIN_DECLS -unsigned int if_nametoindex(const char *); -char *if_indextoname(unsigned int, char *); -struct if_nameindex *if_nameindex(void); -void if_freenameindex(struct if_nameindex *); -__END_DECLS - - -#endif /* !_NET_IF_H_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.12-any/net/if_var.h b/lib/libc/include/any-macos.12-any/net/if_var.h deleted file mode 100644 index ab374634af..0000000000 --- a/lib/libc/include/any-macos.12-any/net/if_var.h +++ /dev/null @@ -1,361 +0,0 @@ -/* - * Copyright (c) 2000-2022 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@ - */ -/* - * Copyright (c) 1982, 1986, 1989, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * From: @(#)if.h 8.1 (Berkeley) 6/10/93 - * $FreeBSD: src/sys/net/if_var.h,v 1.18.2.7 2001/07/24 19:10:18 brooks Exp $ - */ - -#ifndef _NET_IF_VAR_H_ -#define _NET_IF_VAR_H_ - -#include -#include -#include -#include -#include /* get TAILQ macros */ -#ifdef BSD_KERN_PRIVATE -#include -#include -#endif - - -#ifdef __APPLE__ -#define APPLE_IF_FAM_LOOPBACK 1 -#define APPLE_IF_FAM_ETHERNET 2 -#define APPLE_IF_FAM_SLIP 3 -#define APPLE_IF_FAM_TUN 4 -#define APPLE_IF_FAM_VLAN 5 -#define APPLE_IF_FAM_PPP 6 -#define APPLE_IF_FAM_PVC 7 -#define APPLE_IF_FAM_DISC 8 -#define APPLE_IF_FAM_MDECAP 9 -#define APPLE_IF_FAM_GIF 10 -#define APPLE_IF_FAM_FAITH 11 /* deprecated */ -#define APPLE_IF_FAM_STF 12 -#define APPLE_IF_FAM_FIREWIRE 13 -#define APPLE_IF_FAM_BOND 14 -#define APPLE_IF_FAM_CELLULAR 15 -#define APPLE_IF_FAM_6LOWPAN 16 -#define APPLE_IF_FAM_UTUN 17 -#define APPLE_IF_FAM_IPSEC 18 -#endif /* __APPLE__ */ - -/* - * 72 was chosen below because it is the size of a TCP/IP - * header (40) + the minimum mss (32). - */ -#define IF_MINMTU 72 -#define IF_MAXMTU 65535 - -/* - * Structures defining a network interface, providing a packet - * transport mechanism (ala level 0 of the PUP protocols). - * - * Each interface accepts output datagrams of a specified maximum - * length, and provides higher level routines with input datagrams - * received from its medium. - * - * Output occurs when the routine if_output is called, with three parameters: - * (*ifp->if_output)(ifp, m, dst, rt) - * Here m is the mbuf chain to be sent and dst is the destination address. - * The output routine encapsulates the supplied datagram if necessary, - * and then transmits it on its medium. - * - * On input, each interface unwraps the data received by it, and either - * places it on the input queue of a internetwork datagram routine - * and posts the associated software interrupt, or passes the datagram to a raw - * packet input routine. - * - * Routines exist for locating interfaces by their addresses - * or for locating a interface on a certain network, as well as more general - * routing and gateway routines maintaining information used to locate - * interfaces. These routines live in the files if.c and route.c - */ - -#define IFNAMSIZ 16 - -/* This belongs up in socket.h or socketvar.h, depending on how far the - * event bubbles up. - */ - -struct net_event_data { - u_int32_t if_family; - u_int32_t if_unit; - char if_name[IFNAMSIZ]; -}; - -#if defined(__LP64__) -#include -#define IF_DATA_TIMEVAL timeval32 -#else -#define IF_DATA_TIMEVAL timeval -#endif - -#pragma pack(4) - -/* - * Structure describing information about an interface - * which may be of interest to management entities. - */ -struct if_data { - /* generic interface information */ - u_char ifi_type; /* ethernet, tokenring, etc */ - u_char ifi_typelen; /* Length of frame type id */ - u_char ifi_physical; /* e.g., AUI, Thinnet, 10base-T, etc */ - u_char ifi_addrlen; /* media address length */ - u_char ifi_hdrlen; /* media header length */ - u_char ifi_recvquota; /* polling quota for receive intrs */ - u_char ifi_xmitquota; /* polling quota for xmit intrs */ - u_char ifi_unused1; /* for future use */ - u_int32_t ifi_mtu; /* maximum transmission unit */ - u_int32_t ifi_metric; /* routing metric (external only) */ - u_int32_t ifi_baudrate; /* linespeed */ - /* volatile statistics */ - u_int32_t ifi_ipackets; /* packets received on interface */ - u_int32_t ifi_ierrors; /* input errors on interface */ - u_int32_t ifi_opackets; /* packets sent on interface */ - u_int32_t ifi_oerrors; /* output errors on interface */ - u_int32_t ifi_collisions; /* collisions on csma interfaces */ - u_int32_t ifi_ibytes; /* total number of octets received */ - u_int32_t ifi_obytes; /* total number of octets sent */ - u_int32_t ifi_imcasts; /* packets received via multicast */ - u_int32_t ifi_omcasts; /* packets sent via multicast */ - u_int32_t ifi_iqdrops; /* dropped on input, this interface */ - u_int32_t ifi_noproto; /* destined for unsupported protocol */ - u_int32_t ifi_recvtiming; /* usec spent receiving when timing */ - u_int32_t ifi_xmittiming; /* usec spent xmitting when timing */ - struct IF_DATA_TIMEVAL ifi_lastchange; /* time of last administrative change */ - u_int32_t ifi_unused2; /* used to be the default_proto */ - u_int32_t ifi_hwassist; /* HW offload capabilities */ - u_int32_t ifi_reserved1; /* for future use */ - u_int32_t ifi_reserved2; /* for future use */ -}; - -/* - * Structure describing information about an interface - * which may be of interest to management entities. - */ -struct if_data64 { - /* generic interface information */ - u_char ifi_type; /* ethernet, tokenring, etc */ - u_char ifi_typelen; /* Length of frame type id */ - u_char ifi_physical; /* e.g., AUI, Thinnet, 10base-T, etc */ - u_char ifi_addrlen; /* media address length */ - u_char ifi_hdrlen; /* media header length */ - u_char ifi_recvquota; /* polling quota for receive intrs */ - u_char ifi_xmitquota; /* polling quota for xmit intrs */ - u_char ifi_unused1; /* for future use */ - u_int32_t ifi_mtu; /* maximum transmission unit */ - u_int32_t ifi_metric; /* routing metric (external only) */ - u_int64_t ifi_baudrate; /* linespeed */ - /* volatile statistics */ - u_int64_t ifi_ipackets; /* packets received on interface */ - u_int64_t ifi_ierrors; /* input errors on interface */ - u_int64_t ifi_opackets; /* packets sent on interface */ - u_int64_t ifi_oerrors; /* output errors on interface */ - u_int64_t ifi_collisions; /* collisions on csma interfaces */ - u_int64_t ifi_ibytes; /* total number of octets received */ - u_int64_t ifi_obytes; /* total number of octets sent */ - u_int64_t ifi_imcasts; /* packets received via multicast */ - u_int64_t ifi_omcasts; /* packets sent via multicast */ - u_int64_t ifi_iqdrops; /* dropped on input, this interface */ - u_int64_t ifi_noproto; /* destined for unsupported protocol */ - u_int32_t ifi_recvtiming; /* usec spent receiving when timing */ - u_int32_t ifi_xmittiming; /* usec spent xmitting when timing */ - struct IF_DATA_TIMEVAL ifi_lastchange; /* time of last administrative change */ -}; - - -#if defined (PRIVATE) || defined (DRIVERKIT_PRIVATE) -/* - * This structure is used to define the parameters for advisory notifications - * on an interface. - */ -#pragma pack(push, 1) -struct ifnet_interface_advisory { - /* The current structure version */ - uint8_t version; -#define IF_INTERFACE_ADVISORY_VERSION_1 0x1 -#define IF_INTERFACE_ADVISORY_VERSION_CURRENT IF_INTERFACE_ADVISORY_VERSION_1 - /* Specifies if the advisory is for transmit or receive path */ - uint8_t direction; -#define IF_INTERFACE_ADVISORY_DIRECTION_TX 0x1 -#define IF_INTERFACE_ADVISORY_DIRECTION_RX 0x2 - /* reserved for future use */ - uint16_t _reserved; - /* - * suggestion for data rate change to keep the latency low. - * unit: bits per second (bps) - * NOTE: if the interface cannot provide suggestions in terms of bps, - * it should use the following values: - * INT32_MAX : ramp up - * INT32_MIN : ramp down - * 0 : neutral - */ -#define IF_INTERFACE_ADVISORY_RATE_SUGGESTION_RAMP_UP INT32_MAX -#define IF_INTERFACE_ADVISORY_RATE_SUGGESTION_RAMP_DOWN INT32_MIN -#define IF_INTERFACE_ADVISORY_RATE_SUGGESTION_RAMP_NEUTRAL 0 - int32_t rate_trend_suggestion; - /* - * Time of the issue of advisory. - * Timestamp should be in the host domain. - * unit: mach absolute time - */ - uint64_t timestamp; - /* - * Maximum theoretical bandwidth of the interface. - * unit: bits per second (bps) - */ - uint64_t max_bandwidth; - /* - * Total bytes sent or received on the interface. - * wrap around possible and the application should account for that. - * unit: byte - */ - uint64_t total_byte_count; - /* - * average throughput observed at the driver stack. - * unit: bits per second (bps) - */ - uint64_t average_throughput; - /* - * flushable queue size at the driver. - * should be set to UINT32_MAX if not available. - * unit: byte - */ - uint32_t flushable_queue_size; - /* - * non flushable queue size at the driver. - * should be set to UINT32_MAX if not available. - * unit: byte - */ - uint32_t non_flushable_queue_size; - /* - * average delay observed at the interface. - * unit: milliseconds (ms) - */ - uint32_t average_delay; - /* - * Current frequency band (enumeration). - */ -#define IF_INTERFACE_ADVISORY_FREQ_BAND_NOT_AVAIL 0 -#define IF_INTERFACE_ADVISORY_FREQ_BAND_WIFI_24GHZ 1 -#define IF_INTERFACE_ADVISORY_FREQ_BAND_WIFI_5GHZ 2 -#define IF_INTERFACE_ADVISORY_FREQ_BAND_WIFI_6GHZ 3 - uint8_t frequency_band; - /* - * Intermittent WiFi state [true(1)/false(0)] - */ - uint8_t intermittent_state; - /* - * Estimated period for which intermittent state is expected to last. - * 1 tick -> 1 ms UNDEF => UINT16_MAX - */ - uint16_t estimated_intermittent_period; - /* - * Expected wifi outage period during intermittent state - * 1 tick -> 1 ms UNDEF => UINT16_MAX - */ - uint16_t single_outage_period; - - /* - * WiFi-BT coexistence, 1-ON, 0-OFF - */ - uint8_t bt_coex; - /* - * on scale of 1 to 5 - */ - uint8_t quality_score_delay; - /* - * on scale of 1 to 5 - */ - uint8_t quality_score_loss; - /* - * on scale of 1 to 5 - */ - uint8_t quality_score_channel; -} __attribute__((aligned(sizeof(uint64_t)))); -#pragma pack(pop) - -#else - -struct ifnet_interface_advisory; - -#endif /* defined (PRIVATE) || defined (DRIVERKIT_PRIVATE) */ - - -#pragma pack() - -/* - * Structure defining a queue for a network interface. - */ -struct ifqueue { - void *ifq_head; - void *ifq_tail; - int ifq_len; - int ifq_maxlen; - int ifq_drops; -}; - - - - - - -#endif /* !_NET_IF_VAR_H_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.12-any/net/route.h b/lib/libc/include/any-macos.12-any/net/route.h deleted file mode 100644 index 1ca43fa5f8..0000000000 --- a/lib/libc/include/any-macos.12-any/net/route.h +++ /dev/null @@ -1,263 +0,0 @@ -/* - * Copyright (c) 2000-2017 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@ - */ -/* - * Copyright (c) 1980, 1986, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)route.h 8.3 (Berkeley) 4/19/94 - * $FreeBSD: src/sys/net/route.h,v 1.36.2.1 2000/08/16 06:14:23 jayanth Exp $ - */ - -#ifndef _NET_ROUTE_H_ -#define _NET_ROUTE_H_ -#include -#include -#include -#include - -/* - * These numbers are used by reliable protocols for determining - * retransmission behavior and are included in the routing structure. - */ -struct rt_metrics { - u_int32_t rmx_locks; /* Kernel leaves these values alone */ - u_int32_t rmx_mtu; /* MTU for this path */ - u_int32_t rmx_hopcount; /* max hops expected */ - int32_t rmx_expire; /* lifetime for route, e.g. redirect */ - u_int32_t rmx_recvpipe; /* inbound delay-bandwidth product */ - u_int32_t rmx_sendpipe; /* outbound delay-bandwidth product */ - u_int32_t rmx_ssthresh; /* outbound gateway buffer limit */ - u_int32_t rmx_rtt; /* estimated round trip time */ - u_int32_t rmx_rttvar; /* estimated rtt variance */ - u_int32_t rmx_pksent; /* packets sent using this route */ - u_int32_t rmx_state; /* route state */ - u_int32_t rmx_filler[3]; /* will be used for TCP's peer-MSS cache */ -}; - -/* - * rmx_rtt and rmx_rttvar are stored as microseconds; - */ -#define RTM_RTTUNIT 1000000 /* units for rtt, rttvar, as units per sec */ - - - -#define RTF_UP 0x1 /* route usable */ -#define RTF_GATEWAY 0x2 /* destination is a gateway */ -#define RTF_HOST 0x4 /* host entry (net otherwise) */ -#define RTF_REJECT 0x8 /* host or net unreachable */ -#define RTF_DYNAMIC 0x10 /* created dynamically (by redirect) */ -#define RTF_MODIFIED 0x20 /* modified dynamically (by redirect) */ -#define RTF_DONE 0x40 /* message confirmed */ -#define RTF_DELCLONE 0x80 /* delete cloned route */ -#define RTF_CLONING 0x100 /* generate new routes on use */ -#define RTF_XRESOLVE 0x200 /* external daemon resolves name */ -#define RTF_LLINFO 0x400 /* DEPRECATED - exists ONLY for backward - * compatibility */ -#define RTF_LLDATA 0x400 /* used by apps to add/del L2 entries */ -#define RTF_STATIC 0x800 /* manually added */ -#define RTF_BLACKHOLE 0x1000 /* just discard pkts (during updates) */ -#define RTF_NOIFREF 0x2000 /* not eligible for RTF_IFREF */ -#define RTF_PROTO2 0x4000 /* protocol specific routing flag */ -#define RTF_PROTO1 0x8000 /* protocol specific routing flag */ - -#define RTF_PRCLONING 0x10000 /* protocol requires cloning */ -#define RTF_WASCLONED 0x20000 /* route generated through cloning */ -#define RTF_PROTO3 0x40000 /* protocol specific routing flag */ - /* 0x80000 unused */ -#define RTF_PINNED 0x100000 /* future use */ -#define RTF_LOCAL 0x200000 /* route represents a local address */ -#define RTF_BROADCAST 0x400000 /* route represents a bcast address */ -#define RTF_MULTICAST 0x800000 /* route represents a mcast address */ -#define RTF_IFSCOPE 0x1000000 /* has valid interface scope */ -#define RTF_CONDEMNED 0x2000000 /* defunct; no longer modifiable */ -#define RTF_IFREF 0x4000000 /* route holds a ref to interface */ -#define RTF_PROXY 0x8000000 /* proxying, no interface scope */ -#define RTF_ROUTER 0x10000000 /* host is a router */ -#define RTF_DEAD 0x20000000 /* Route entry is being freed */ -#define RTF_GLOBAL 0x40000000 /* route to destination of the global internet */ - /* 0x80000000 unassigned */ - -#define RTPRF_OURS RTF_PROTO3 /* set on routes we manage */ -#define RTF_BITS \ - "\020\1UP\2GATEWAY\3HOST\4REJECT\5DYNAMIC\6MODIFIED\7DONE" \ - "\10DELCLONE\11CLONING\12XRESOLVE\13LLINFO\14STATIC\15BLACKHOLE" \ - "\16NOIFREF\17PROTO2\20PROTO1\21PRCLONING\22WASCLONED\23PROTO3" \ - "\25PINNED\26LOCAL\27BROADCAST\30MULTICAST\31IFSCOPE\32CONDEMNED" \ - "\33IFREF\34PROXY\35ROUTER\37GLOBAL" - -#define IS_DIRECT_HOSTROUTE(rt) \ - (((rt)->rt_flags & (RTF_HOST | RTF_GATEWAY)) == RTF_HOST) - -#define IS_DYNAMIC_DIRECT_HOSTROUTE(rt) \ - (((rt)->rt_flags & (RTF_CLONING | RTF_PRCLONING | RTF_HOST | RTF_LLINFO |\ - RTF_WASCLONED | RTF_GATEWAY)) ==\ - (RTF_HOST | RTF_LLINFO | RTF_WASCLONED)) -/* - * Routing statistics. - */ -struct rtstat { - short rts_badredirect; /* bogus redirect calls */ - short rts_dynamic; /* routes created by redirects */ - short rts_newgateway; /* routes modified by redirects */ - short rts_unreach; /* lookups which failed */ - short rts_wildcard; /* lookups satisfied by a wildcard */ - short rts_badrtgwroute; /* route to gateway is not direct */ -}; - -/* - * Structures for routing messages. - */ -struct rt_msghdr { - u_short rtm_msglen; /* to skip over non-understood messages */ - u_char rtm_version; /* future binary compatibility */ - u_char rtm_type; /* message type */ - u_short rtm_index; /* index for associated ifp */ - int rtm_flags; /* flags, incl. kern & message, e.g. DONE */ - int rtm_addrs; /* bitmask identifying sockaddrs in msg */ - pid_t rtm_pid; /* identify sender */ - int rtm_seq; /* for sender to identify action */ - int rtm_errno; /* why failed */ - int rtm_use; /* from rtentry */ - u_int32_t rtm_inits; /* which metrics we are initializing */ - struct rt_metrics rtm_rmx; /* metrics themselves */ -}; - -struct rt_msghdr2 { - u_short rtm_msglen; /* to skip over non-understood messages */ - u_char rtm_version; /* future binary compatibility */ - u_char rtm_type; /* message type */ - u_short rtm_index; /* index for associated ifp */ - int rtm_flags; /* flags, incl. kern & message, e.g. DONE */ - int rtm_addrs; /* bitmask identifying sockaddrs in msg */ - int32_t rtm_refcnt; /* reference count */ - int rtm_parentflags; /* flags of the parent route */ - int rtm_reserved; /* reserved field set to 0 */ - int rtm_use; /* from rtentry */ - u_int32_t rtm_inits; /* which metrics we are initializing */ - struct rt_metrics rtm_rmx; /* metrics themselves */ -}; - - -#define RTM_VERSION 5 /* Up the ante and ignore older versions */ - -/* - * Message types. - */ -#define RTM_ADD 0x1 /* Add Route */ -#define RTM_DELETE 0x2 /* Delete Route */ -#define RTM_CHANGE 0x3 /* Change Metrics or flags */ -#define RTM_GET 0x4 /* Report Metrics */ -#define RTM_LOSING 0x5 /* RTM_LOSING is no longer generated by xnu - * and is deprecated */ -#define RTM_REDIRECT 0x6 /* Told to use different route */ -#define RTM_MISS 0x7 /* Lookup failed on this address */ -#define RTM_LOCK 0x8 /* fix specified metrics */ -#define RTM_OLDADD 0x9 /* caused by SIOCADDRT */ -#define RTM_OLDDEL 0xa /* caused by SIOCDELRT */ -#define RTM_RESOLVE 0xb /* req to resolve dst to LL addr */ -#define RTM_NEWADDR 0xc /* address being added to iface */ -#define RTM_DELADDR 0xd /* address being removed from iface */ -#define RTM_IFINFO 0xe /* iface going up/down etc. */ -#define RTM_NEWMADDR 0xf /* mcast group membership being added to if */ -#define RTM_DELMADDR 0x10 /* mcast group membership being deleted */ -#define RTM_IFINFO2 0x12 /* */ -#define RTM_NEWMADDR2 0x13 /* */ -#define RTM_GET2 0x14 /* */ - -/* - * Bitmask values for rtm_inits and rmx_locks. - */ -#define RTV_MTU 0x1 /* init or lock _mtu */ -#define RTV_HOPCOUNT 0x2 /* init or lock _hopcount */ -#define RTV_EXPIRE 0x4 /* init or lock _expire */ -#define RTV_RPIPE 0x8 /* init or lock _recvpipe */ -#define RTV_SPIPE 0x10 /* init or lock _sendpipe */ -#define RTV_SSTHRESH 0x20 /* init or lock _ssthresh */ -#define RTV_RTT 0x40 /* init or lock _rtt */ -#define RTV_RTTVAR 0x80 /* init or lock _rttvar */ - -/* - * Bitmask values for rtm_addrs. - */ -#define RTA_DST 0x1 /* destination sockaddr present */ -#define RTA_GATEWAY 0x2 /* gateway sockaddr present */ -#define RTA_NETMASK 0x4 /* netmask sockaddr present */ -#define RTA_GENMASK 0x8 /* cloning mask sockaddr present */ -#define RTA_IFP 0x10 /* interface name sockaddr present */ -#define RTA_IFA 0x20 /* interface addr sockaddr present */ -#define RTA_AUTHOR 0x40 /* sockaddr for author of redirect */ -#define RTA_BRD 0x80 /* for NEWADDR, broadcast or p-p dest addr */ - -/* - * Index offsets for sockaddr array for alternate internal encoding. - */ -#define RTAX_DST 0 /* destination sockaddr present */ -#define RTAX_GATEWAY 1 /* gateway sockaddr present */ -#define RTAX_NETMASK 2 /* netmask sockaddr present */ -#define RTAX_GENMASK 3 /* cloning mask sockaddr present */ -#define RTAX_IFP 4 /* interface name sockaddr present */ -#define RTAX_IFA 5 /* interface addr sockaddr present */ -#define RTAX_AUTHOR 6 /* sockaddr for author of redirect */ -#define RTAX_BRD 7 /* for NEWADDR, broadcast or p-p dest addr */ -#define RTAX_MAX 8 /* size of array to allocate */ - -struct rt_addrinfo { - int rti_addrs; - struct sockaddr *rti_info[RTAX_MAX]; -}; - - -#endif /* _NET_ROUTE_H_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.12-any/netinet6/in6.h b/lib/libc/include/any-macos.12-any/netinet6/in6.h deleted file mode 100644 index 63885d5c8d..0000000000 --- a/lib/libc/include/any-macos.12-any/netinet6/in6.h +++ /dev/null @@ -1,683 +0,0 @@ -/* - * Copyright (c) 2008-2020 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@ - */ - -/* - * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of the project nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -/* - * Copyright (c) 1982, 1986, 1990, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)in.h 8.3 (Berkeley) 1/3/94 - */ - -#ifndef __KAME_NETINET_IN_H_INCLUDED_ -#error "do not include netinet6/in6.h directly, include netinet/in.h. " \ - " see RFC2553" -#endif - -#ifndef _NETINET6_IN6_H_ -#define _NETINET6_IN6_H_ -#include - -#include -#include - -/* - * Identification of the network protocol stack - * for *BSD-current/release: http://www.kame.net/dev/cvsweb.cgi/kame/COVERAGE - * has the table of implementation/integration differences. - */ -#define __KAME__ -#define __KAME_VERSION "2009/apple-darwin" - -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -/* - * Local port number conventions: - * - * Ports < IPPORT_RESERVED are reserved for privileged processes (e.g. root), - * unless a kernel is compiled with IPNOPRIVPORTS defined. - * - * When a user does a bind(2) or connect(2) with a port number of zero, - * a non-conflicting local port address is chosen. - * - * The default range is IPPORT_ANONMIN to IPPORT_ANONMAX, although - * that is settable by sysctl(3); net.inet.ip.anonportmin and - * net.inet.ip.anonportmax respectively. - * - * A user may set the IPPROTO_IP option IP_PORTRANGE to change this - * default assignment range. - * - * The value IP_PORTRANGE_DEFAULT causes the default behavior. - * - * The value IP_PORTRANGE_HIGH is the same as IP_PORTRANGE_DEFAULT, - * and exists only for FreeBSD compatibility purposes. - * - * The value IP_PORTRANGE_LOW changes the range to the "low" are - * that is (by convention) restricted to privileged processes. - * This convention is based on "vouchsafe" principles only. - * It is only secure if you trust the remote host to restrict these ports. - * The range is IPPORT_RESERVEDMIN to IPPORT_RESERVEDMAX. - */ - -#define IPV6PORT_RESERVED 1024 -#define IPV6PORT_ANONMIN 49152 -#define IPV6PORT_ANONMAX 65535 -#define IPV6PORT_RESERVEDMIN 600 -#define IPV6PORT_RESERVEDMAX (IPV6PORT_RESERVED-1) -#endif /* (_POSIX_C_SOURCE && !_DARWIN_C_SOURCE) */ - -/* - * IPv6 address - */ -typedef struct in6_addr { - union { - __uint8_t __u6_addr8[16]; - __uint16_t __u6_addr16[8]; - __uint32_t __u6_addr32[4]; - } __u6_addr; /* 128-bit IP6 address */ -} in6_addr_t; - -#define s6_addr __u6_addr.__u6_addr8 - -#define INET6_ADDRSTRLEN 46 - -/* - * Socket address for IPv6 - */ -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -#define SIN6_LEN -#endif /* (_POSIX_C_SOURCE && !_DARWIN_C_SOURCE) */ -struct sockaddr_in6 { - __uint8_t sin6_len; /* length of this struct(sa_family_t) */ - sa_family_t sin6_family; /* AF_INET6 (sa_family_t) */ - in_port_t sin6_port; /* Transport layer port # (in_port_t) */ - __uint32_t sin6_flowinfo; /* IP6 flow information */ - struct in6_addr sin6_addr; /* IP6 address */ - __uint32_t sin6_scope_id; /* scope zone index */ -}; - - - - - -/* - * Definition of some useful macros to handle IP6 addresses - */ -#define IN6ADDR_ANY_INIT \ - {{{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }}} -#define IN6ADDR_LOOPBACK_INIT \ - {{{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 }}} -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -#define IN6ADDR_NODELOCAL_ALLNODES_INIT \ - {{{ 0xff, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 }}} -#define IN6ADDR_INTFACELOCAL_ALLNODES_INIT \ - {{{ 0xff, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 }}} -#define IN6ADDR_LINKLOCAL_ALLNODES_INIT \ - {{{ 0xff, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 }}} -#define IN6ADDR_LINKLOCAL_ALLROUTERS_INIT \ - {{{ 0xff, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02 }}} -#define IN6ADDR_LINKLOCAL_ALLV2ROUTERS_INIT \ - {{{ 0xff, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16 }}} -#define IN6ADDR_V4MAPPED_INIT \ - {{{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00 }}} -#define IN6ADDR_MULTICAST_PREFIX IN6MASK8 -#endif /* (_POSIX_C_SOURCE && !_DARWIN_C_SOURCE) */ - -extern const struct in6_addr in6addr_any; -extern const struct in6_addr in6addr_loopback; -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -extern const struct in6_addr in6addr_nodelocal_allnodes; -extern const struct in6_addr in6addr_linklocal_allnodes; -extern const struct in6_addr in6addr_linklocal_allrouters; -extern const struct in6_addr in6addr_linklocal_allv2routers; -#endif /* (_POSIX_C_SOURCE && !_DARWIN_C_SOURCE) */ - -/* - * Equality - * NOTE: Some of kernel programming environment (for example, openbsd/sparc) - * does not supply memcmp(). For userland memcmp() is preferred as it is - * in ANSI standard. - */ -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -#define IN6_ARE_ADDR_EQUAL(a, b) \ - (memcmp(&(a)->s6_addr[0], &(b)->s6_addr[0], sizeof (struct in6_addr)) \ - == 0) -#endif /* (_POSIX_C_SOURCE && !_DARWIN_C_SOURCE) */ - - -/* - * Unspecified - */ -#define IN6_IS_ADDR_UNSPECIFIED(a) \ - ((*(const __uint32_t *)(const void *)(&(a)->s6_addr[0]) == 0) && \ - (*(const __uint32_t *)(const void *)(&(a)->s6_addr[4]) == 0) && \ - (*(const __uint32_t *)(const void *)(&(a)->s6_addr[8]) == 0) && \ - (*(const __uint32_t *)(const void *)(&(a)->s6_addr[12]) == 0)) - -/* - * Loopback - */ -#define IN6_IS_ADDR_LOOPBACK(a) \ - ((*(const __uint32_t *)(const void *)(&(a)->s6_addr[0]) == 0) && \ - (*(const __uint32_t *)(const void *)(&(a)->s6_addr[4]) == 0) && \ - (*(const __uint32_t *)(const void *)(&(a)->s6_addr[8]) == 0) && \ - (*(const __uint32_t *)(const void *)(&(a)->s6_addr[12]) == ntohl(1))) - -/* - * IPv4 compatible - */ -#define IN6_IS_ADDR_V4COMPAT(a) \ - ((*(const __uint32_t *)(const void *)(&(a)->s6_addr[0]) == 0) && \ - (*(const __uint32_t *)(const void *)(&(a)->s6_addr[4]) == 0) && \ - (*(const __uint32_t *)(const void *)(&(a)->s6_addr[8]) == 0) && \ - (*(const __uint32_t *)(const void *)(&(a)->s6_addr[12]) != 0) && \ - (*(const __uint32_t *)(const void *)(&(a)->s6_addr[12]) != ntohl(1))) - -/* - * Mapped - */ -#define IN6_IS_ADDR_V4MAPPED(a) \ - ((*(const __uint32_t *)(const void *)(&(a)->s6_addr[0]) == 0) && \ - (*(const __uint32_t *)(const void *)(&(a)->s6_addr[4]) == 0) && \ - (*(const __uint32_t *)(const void *)(&(a)->s6_addr[8]) == \ - ntohl(0x0000ffff))) - -/* - * 6to4 - */ -#define IN6_IS_ADDR_6TO4(x) (ntohs((x)->s6_addr16[0]) == 0x2002) - -/* - * KAME Scope Values - */ - -#define __IPV6_ADDR_SCOPE_NODELOCAL 0x01 -#define __IPV6_ADDR_SCOPE_INTFACELOCAL 0x01 -#define __IPV6_ADDR_SCOPE_LINKLOCAL 0x02 -#define __IPV6_ADDR_SCOPE_SITELOCAL 0x05 -#define __IPV6_ADDR_SCOPE_ORGLOCAL 0x08 /* just used in this file */ -#define __IPV6_ADDR_SCOPE_GLOBAL 0x0e - -/* - * Unicast Scope - * Note that we must check topmost 10 bits only, not 16 bits (see RFC2373). - */ -#define IN6_IS_ADDR_LINKLOCAL(a) \ - (((a)->s6_addr[0] == 0xfe) && (((a)->s6_addr[1] & 0xc0) == 0x80)) -#define IN6_IS_ADDR_SITELOCAL(a) \ - (((a)->s6_addr[0] == 0xfe) && (((a)->s6_addr[1] & 0xc0) == 0xc0)) - -/* - * Multicast - */ -#define IN6_IS_ADDR_MULTICAST(a) ((a)->s6_addr[0] == 0xff) - -#define IPV6_ADDR_MC_FLAGS(a) ((a)->s6_addr[1] & 0xf0) - -#define IPV6_ADDR_MC_FLAGS_TRANSIENT 0x10 -#define IPV6_ADDR_MC_FLAGS_PREFIX 0x20 -#define IPV6_ADDR_MC_FLAGS_UNICAST_BASED (IPV6_ADDR_MC_FLAGS_TRANSIENT | IPV6_ADDR_MC_FLAGS_PREFIX) - -#define IN6_IS_ADDR_UNICAST_BASED_MULTICAST(a) \ - (IN6_IS_ADDR_MULTICAST(a) && \ - (IPV6_ADDR_MC_FLAGS(a) == IPV6_ADDR_MC_FLAGS_UNICAST_BASED)) - -/* - * Unique Local IPv6 Unicast Addresses (per RFC 4193) - */ -#define IN6_IS_ADDR_UNIQUE_LOCAL(a) \ - (((a)->s6_addr[0] == 0xfc) || ((a)->s6_addr[0] == 0xfd)) - -#define __IPV6_ADDR_MC_SCOPE(a) ((a)->s6_addr[1] & 0x0f) - -/* - * Multicast Scope - */ -#define IN6_IS_ADDR_MC_NODELOCAL(a) \ - (IN6_IS_ADDR_MULTICAST(a) && \ - (__IPV6_ADDR_MC_SCOPE(a) == __IPV6_ADDR_SCOPE_NODELOCAL)) -#define IN6_IS_ADDR_MC_LINKLOCAL(a) \ - (IN6_IS_ADDR_MULTICAST(a) && \ - (IPV6_ADDR_MC_FLAGS(a) != IPV6_ADDR_MC_FLAGS_UNICAST_BASED) && \ - (__IPV6_ADDR_MC_SCOPE(a) == __IPV6_ADDR_SCOPE_LINKLOCAL)) -#define IN6_IS_ADDR_MC_SITELOCAL(a) \ - (IN6_IS_ADDR_MULTICAST(a) && \ - (__IPV6_ADDR_MC_SCOPE(a) == __IPV6_ADDR_SCOPE_SITELOCAL)) -#define IN6_IS_ADDR_MC_ORGLOCAL(a) \ - (IN6_IS_ADDR_MULTICAST(a) && \ - (__IPV6_ADDR_MC_SCOPE(a) == __IPV6_ADDR_SCOPE_ORGLOCAL)) -#define IN6_IS_ADDR_MC_GLOBAL(a) \ - (IN6_IS_ADDR_MULTICAST(a) && \ - (__IPV6_ADDR_MC_SCOPE(a) == __IPV6_ADDR_SCOPE_GLOBAL)) - - - - -/* - * Options for use with [gs]etsockopt at the IPV6 level. - * First word of comment is data type; bool is stored in int. - */ -/* no hdrincl */ -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -/* - * RFC 3542 define the following socket options in a manner incompatible - * with RFC 2292: - * IPV6_PKTINFO - * IPV6_HOPLIMIT - * IPV6_NEXTHOP - * IPV6_HOPOPTS - * IPV6_DSTOPTS - * IPV6_RTHDR - * - * To use the new IPv6 Sockets options introduced by RFC 3542 - * the constant __APPLE_USE_RFC_3542 must be defined before - * including - * - * To use the old IPv6 Sockets options from RFC 2292 - * the constant __APPLE_USE_RFC_2292 must be defined before - * including - * - * Note that eventually RFC 3542 is going to be the - * default and RFC 2292 will be obsolete. - */ - -#if defined(__APPLE_USE_RFC_3542) && defined(__APPLE_USE_RFC_2292) -#error "__APPLE_USE_RFC_3542 and __APPLE_USE_RFC_2292 cannot be both defined" -#endif - -#if 0 /* the followings are relic in IPv4 and hence are disabled */ -#define IPV6_OPTIONS 1 /* buf/ip6_opts; set/get IP6 options */ -#define IPV6_RECVOPTS 5 /* bool; receive all IP6 opts w/dgram */ -#define IPV6_RECVRETOPTS 6 /* bool; receive IP6 opts for response */ -#define IPV6_RECVDSTADDR 7 /* bool; receive IP6 dst addr w/dgram */ -#define IPV6_RETOPTS 8 /* ip6_opts; set/get IP6 options */ -#endif /* 0 */ -#define IPV6_SOCKOPT_RESERVED1 3 /* reserved for future use */ -#endif /* (_POSIX_C_SOURCE && !_DARWIN_C_SOURCE) */ -#define IPV6_UNICAST_HOPS 4 /* int; IP6 hops */ -#define IPV6_MULTICAST_IF 9 /* u_int; set/get IP6 multicast i/f */ -#define IPV6_MULTICAST_HOPS 10 /* int; set/get IP6 multicast hops */ -#define IPV6_MULTICAST_LOOP 11 /* u_int; set/get IP6 mcast loopback */ -#define IPV6_JOIN_GROUP 12 /* ip6_mreq; join a group membership */ -#define IPV6_LEAVE_GROUP 13 /* ip6_mreq; leave a group membership */ - -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -#define IPV6_PORTRANGE 14 /* int; range to choose for unspec port */ -#define ICMP6_FILTER 18 /* icmp6_filter; icmp6 filter */ -#define IPV6_2292PKTINFO 19 /* bool; send/recv if, src/dst addr */ -#define IPV6_2292HOPLIMIT 20 /* bool; hop limit */ -#define IPV6_2292NEXTHOP 21 /* bool; next hop addr */ -#define IPV6_2292HOPOPTS 22 /* bool; hop-by-hop option */ -#define IPV6_2292DSTOPTS 23 /* bool; destinaion option */ -#define IPV6_2292RTHDR 24 /* ip6_rthdr: routing header */ - -/* buf/cmsghdr; set/get IPv6 options [obsoleted by RFC3542] */ -#define IPV6_2292PKTOPTIONS 25 - -#ifdef __APPLE_USE_RFC_2292 -#define IPV6_PKTINFO IPV6_2292PKTINFO -#define IPV6_HOPLIMIT IPV6_2292HOPLIMIT -#define IPV6_NEXTHOP IPV6_2292NEXTHOP -#define IPV6_HOPOPTS IPV6_2292HOPOPTS -#define IPV6_DSTOPTS IPV6_2292DSTOPTS -#define IPV6_RTHDR IPV6_2292RTHDR -#define IPV6_PKTOPTIONS IPV6_2292PKTOPTIONS -#endif /* __APPLE_USE_RFC_2292 */ - -#define IPV6_CHECKSUM 26 /* int; checksum offset for raw socket */ -#endif /* (_POSIX_C_SOURCE && !_DARWIN_C_SOURCE) */ -#define IPV6_V6ONLY 27 /* bool; only bind INET6 at wildcard bind */ -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -#define IPV6_BINDV6ONLY IPV6_V6ONLY - - -#if 1 /* IPSEC */ -#define IPV6_IPSEC_POLICY 28 /* struct; get/set security policy */ -#endif /* 1 */ -#define IPV6_FAITH 29 /* deprecated */ - -#if 1 /* IPV6FIREWALL */ -#define IPV6_FW_ADD 30 /* add a firewall rule to chain */ -#define IPV6_FW_DEL 31 /* delete a firewall rule from chain */ -#define IPV6_FW_FLUSH 32 /* flush firewall rule chain */ -#define IPV6_FW_ZERO 33 /* clear single/all firewall counter(s) */ -#define IPV6_FW_GET 34 /* get entire firewall rule chain */ -#endif /* 1 */ - -/* - * APPLE: NOTE the value of those 2 options is kept unchanged from - * previous version of darwin/OS X for binary compatibility reasons - * and differ from FreeBSD (values 57 and 61). See below. - */ -#define IPV6_RECVTCLASS 35 /* bool; recv traffic class values */ -#define IPV6_TCLASS 36 /* int; send traffic class value */ - -#ifdef __APPLE_USE_RFC_3542 -/* new socket options introduced in RFC3542 */ -/* - * ip6_dest; send dst option before rthdr - * APPLE: Value purposely different than FreeBSD (35) to avoid - * collision with definition of IPV6_RECVTCLASS in previous - * darwin implementations - */ -#define IPV6_RTHDRDSTOPTS 57 - -/* - * bool; recv if, dst addr - * APPLE: Value purposely different than FreeBSD(36) to avoid - * collision with definition of IPV6_TCLASS in previous - * darwin implementations - */ -#define IPV6_RECVPKTINFO 61 - -#define IPV6_RECVHOPLIMIT 37 /* bool; recv hop limit */ -#define IPV6_RECVRTHDR 38 /* bool; recv routing header */ -#define IPV6_RECVHOPOPTS 39 /* bool; recv hop-by-hop option */ -#define IPV6_RECVDSTOPTS 40 /* bool; recv dst option after rthdr */ - -#define IPV6_USE_MIN_MTU 42 /* bool; send packets at the minimum MTU */ -#define IPV6_RECVPATHMTU 43 /* bool; notify an according MTU */ - -/* - * mtuinfo; get the current path MTU (sopt), 4 bytes int; - * MTU notification (cmsg) - */ -#define IPV6_PATHMTU 44 - -#if 0 /* obsoleted during 2292bis -> 3542 */ -/* no data; ND reachability confirm (cmsg only/not in of RFC3542) */ -#define IPV6_REACHCONF 45 -#endif -/* more new socket options introduced in RFC3542 */ -#define IPV6_3542PKTINFO 46 /* in6_pktinfo; send if, src addr */ -#define IPV6_3542HOPLIMIT 47 /* int; send hop limit */ -#define IPV6_3542NEXTHOP 48 /* sockaddr; next hop addr */ -#define IPV6_3542HOPOPTS 49 /* ip6_hbh; send hop-by-hop option */ -#define IPV6_3542DSTOPTS 50 /* ip6_dest; send dst option befor rthdr */ -#define IPV6_3542RTHDR 51 /* ip6_rthdr; send routing header */ - -#define IPV6_PKTINFO IPV6_3542PKTINFO -#define IPV6_HOPLIMIT IPV6_3542HOPLIMIT -#define IPV6_NEXTHOP IPV6_3542NEXTHOP -#define IPV6_HOPOPTS IPV6_3542HOPOPTS -#define IPV6_DSTOPTS IPV6_3542DSTOPTS -#define IPV6_RTHDR IPV6_3542RTHDR - -#define IPV6_AUTOFLOWLABEL 59 /* bool; attach flowlabel automagically */ - -#define IPV6_DONTFRAG 62 /* bool; disable IPv6 fragmentation */ - -/* int; prefer temporary addresses as the source address. */ -#define IPV6_PREFER_TEMPADDR 63 - -/* - * The following option is private; do not use it from user applications. - * It is deliberately defined to the same value as IP_MSFILTER. - */ -#define IPV6_MSFILTER 74 /* struct __msfilterreq; */ -#endif /* __APPLE_USE_RFC_3542 */ - -#define IPV6_BOUND_IF 125 /* int; set/get bound interface */ - - -/* to define items, should talk with KAME guys first, for *BSD compatibility */ - -#define IPV6_RTHDR_LOOSE 0 /* this hop need not be a neighbor. */ -#define IPV6_RTHDR_STRICT 1 /* this hop must be a neighbor. */ -#define IPV6_RTHDR_TYPE_0 0 /* IPv6 routing header type 0 */ - -/* - * Defaults and limits for options - */ -#define IPV6_DEFAULT_MULTICAST_HOPS 1 /* normally limit m'casts to 1 hop */ -#define IPV6_DEFAULT_MULTICAST_LOOP 1 /* normally hear sends if a member */ - -/* - * The im6o_membership vector for each socket is now dynamically allocated at - * run-time, bounded by USHRT_MAX, and is reallocated when needed, sized - * according to a power-of-two increment. - */ -#define IPV6_MIN_MEMBERSHIPS 31 -#define IPV6_MAX_MEMBERSHIPS 4095 - -/* - * Default resource limits for IPv6 multicast source filtering. - * These may be modified by sysctl. - */ -#define IPV6_MAX_GROUP_SRC_FILTER 512 /* sources per group */ -#define IPV6_MAX_SOCK_SRC_FILTER 128 /* sources per socket/group */ - -/* - * Argument structure for IPV6_JOIN_GROUP and IPV6_LEAVE_GROUP. - */ -struct ipv6_mreq { - struct in6_addr ipv6mr_multiaddr; - unsigned int ipv6mr_interface; -}; - -/* - * IPV6_2292PKTINFO: Packet information(RFC2292 sec 5) - */ -struct in6_pktinfo { - struct in6_addr ipi6_addr; /* src/dst IPv6 address */ - unsigned int ipi6_ifindex; /* send/recv interface index */ -}; - -/* - * Control structure for IPV6_RECVPATHMTU socket option. - */ -struct ip6_mtuinfo { - struct sockaddr_in6 ip6m_addr; /* or sockaddr_storage? */ - uint32_t ip6m_mtu; -}; - -/* - * Argument for IPV6_PORTRANGE: - * - which range to search when port is unspecified at bind() or connect() - */ -#define IPV6_PORTRANGE_DEFAULT 0 /* default range */ -#define IPV6_PORTRANGE_HIGH 1 /* "high" - request firewall bypass */ -#define IPV6_PORTRANGE_LOW 2 /* "low" - vouchsafe security */ - -/* - * Definitions for inet6 sysctl operations. - * - * Third level is protocol number. - * Fourth level is desired variable within that protocol. - */ -#define IPV6PROTO_MAXID (IPPROTO_PIM + 1) /* don't list to IPV6PROTO_MAX */ - -/* - * Names for IP sysctl objects - */ -#define IPV6CTL_FORWARDING 1 /* act as router */ -#define IPV6CTL_SENDREDIRECTS 2 /* may send redirects when forwarding */ -#define IPV6CTL_DEFHLIM 3 /* default Hop-Limit */ -#ifdef notyet -#define IPV6CTL_DEFMTU 4 /* default MTU */ -#endif -#define IPV6CTL_FORWSRCRT 5 /* forward source-routed dgrams */ -#define IPV6CTL_STATS 6 /* stats */ -#define IPV6CTL_MRTSTATS 7 /* multicast forwarding stats */ -#define IPV6CTL_MRTPROTO 8 /* multicast routing protocol */ -#define IPV6CTL_MAXFRAGPACKETS 9 /* max packets reassembly queue */ -#define IPV6CTL_SOURCECHECK 10 /* verify source route and intf */ -#define IPV6CTL_SOURCECHECK_LOGINT 11 /* minimume logging interval */ -#define IPV6CTL_ACCEPT_RTADV 12 -#define IPV6CTL_KEEPFAITH 13 /* deprecated */ -#define IPV6CTL_LOG_INTERVAL 14 -#define IPV6CTL_HDRNESTLIMIT 15 -#define IPV6CTL_DAD_COUNT 16 -#define IPV6CTL_AUTO_FLOWLABEL 17 -#define IPV6CTL_DEFMCASTHLIM 18 -#define IPV6CTL_GIF_HLIM 19 /* default HLIM for gif encap packet */ -#define IPV6CTL_KAME_VERSION 20 -#define IPV6CTL_USE_DEPRECATED 21 /* use deprec addr (RFC2462 5.5.4) */ -#define IPV6CTL_RR_PRUNE 22 /* walk timer for router renumbering */ -#if 0 /* obsolete */ -#define IPV6CTL_MAPPED_ADDR 23 -#endif -#define IPV6CTL_V6ONLY 24 -#define IPV6CTL_RTEXPIRE 25 /* cloned route expiration time */ -#define IPV6CTL_RTMINEXPIRE 26 /* min value for expiration time */ -#define IPV6CTL_RTMAXCACHE 27 /* trigger level for dynamic expire */ - -#define IPV6CTL_USETEMPADDR 32 /* use temporary addresses [RFC 4941] */ -#define IPV6CTL_TEMPPLTIME 33 /* preferred lifetime for tmpaddrs */ -#define IPV6CTL_TEMPVLTIME 34 /* valid lifetime for tmpaddrs */ -#define IPV6CTL_AUTO_LINKLOCAL 35 /* automatic link-local addr assign */ -#define IPV6CTL_RIP6STATS 36 /* raw_ip6 stats */ -#define IPV6CTL_PREFER_TEMPADDR 37 /* prefer temporary addr as src */ -#define IPV6CTL_ADDRCTLPOLICY 38 /* get/set address selection policy */ -#define IPV6CTL_USE_DEFAULTZONE 39 /* use default scope zone */ - -#define IPV6CTL_MAXFRAGS 41 /* max fragments */ -#define IPV6CTL_MCAST_PMTU 44 /* enable pMTU discovery for mcast? */ - -#define IPV6CTL_NEIGHBORGCTHRESH 46 -#define IPV6CTL_MAXIFPREFIXES 47 -#define IPV6CTL_MAXIFDEFROUTERS 48 -#define IPV6CTL_MAXDYNROUTES 49 -#define ICMPV6CTL_ND6_ONLINKNSRFC4861 50 -#define IPV6CTL_ULA_USETEMPADDR 51 - - -/* New entries should be added here from current IPV6CTL_MAXID value. */ -/* to define items, should talk with KAME guys first, for *BSD compatibility */ -#define IPV6CTL_MAXID 51 - - - - - -__BEGIN_DECLS -struct cmsghdr; - -extern int inet6_option_space(int); -extern int inet6_option_init(void *, struct cmsghdr **, int); -extern int inet6_option_append(struct cmsghdr *, const __uint8_t *, int, int); -extern __uint8_t *inet6_option_alloc(struct cmsghdr *, int, int, int); -extern int inet6_option_next(const struct cmsghdr *, __uint8_t **); -extern int inet6_option_find(const struct cmsghdr *, __uint8_t **, int); - -extern size_t inet6_rthdr_space(int, int); -extern struct cmsghdr *inet6_rthdr_init(void *, int); -extern int inet6_rthdr_add(struct cmsghdr *, const struct in6_addr *, - unsigned int); -extern int inet6_rthdr_lasthop(struct cmsghdr *, unsigned int); -#if 0 /* not implemented yet */ -extern int inet6_rthdr_reverse(const struct cmsghdr *, struct cmsghdr *); -#endif -extern int inet6_rthdr_segments(const struct cmsghdr *); -extern struct in6_addr *inet6_rthdr_getaddr(struct cmsghdr *, int); -extern int inet6_rthdr_getflags(const struct cmsghdr *, int); - -extern int inet6_opt_init(void *, socklen_t); -extern int inet6_opt_append(void *, socklen_t, int, __uint8_t, socklen_t, - __uint8_t, void **); -extern int inet6_opt_finish(void *, socklen_t, int); -extern int inet6_opt_set_val(void *, int, void *, socklen_t); - -extern int inet6_opt_next(void *, socklen_t, int, __uint8_t *, socklen_t *, - void **); -extern int inet6_opt_find(void *, socklen_t, int, __uint8_t, socklen_t *, - void **); -extern int inet6_opt_get_val(void *, int, void *, socklen_t); -extern socklen_t inet6_rth_space(int, int); -extern void *inet6_rth_init(void *, socklen_t, int, int); -extern int inet6_rth_add(void *, const struct in6_addr *); -extern int inet6_rth_reverse(const void *, void *); -extern int inet6_rth_segments(const void *); -extern struct in6_addr *inet6_rth_getaddr(const void *, int); - -__END_DECLS -#endif /* PLATFORM_DriverKit */ -#endif /* !_NETINET6_IN6_H_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.12-any/objc/NSObjCRuntime.h b/lib/libc/include/any-macos.12-any/objc/NSObjCRuntime.h deleted file mode 100644 index 923c4876e5..0000000000 --- a/lib/libc/include/any-macos.12-any/objc/NSObjCRuntime.h +++ /dev/null @@ -1,33 +0,0 @@ -/* NSObjCRuntime.h - Copyright (c) 1994-2012, Apple Inc. All rights reserved. -*/ - -#ifndef _OBJC_NSOBJCRUNTIME_H_ -#define _OBJC_NSOBJCRUNTIME_H_ - -#include -#include - -#if __LP64__ || TARGET_OS_WIN32 || NS_BUILD_32_LIKE_64 -typedef long NSInteger; -typedef unsigned long NSUInteger; -#else -typedef int NSInteger; -typedef unsigned int NSUInteger; -#endif - -#define NSIntegerMax LONG_MAX -#define NSIntegerMin LONG_MIN -#define NSUIntegerMax ULONG_MAX - -#define NSINTEGER_DEFINED 1 - -#ifndef NS_DESIGNATED_INITIALIZER -#if __has_attribute(objc_designated_initializer) -#define NS_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer)) -#else -#define NS_DESIGNATED_INITIALIZER -#endif -#endif - -#endif \ No newline at end of file diff --git a/lib/libc/include/any-macos.12-any/objc/message.h b/lib/libc/include/any-macos.12-any/objc/message.h deleted file mode 100644 index abf5f43695..0000000000 --- a/lib/libc/include/any-macos.12-any/objc/message.h +++ /dev/null @@ -1,319 +0,0 @@ -/* - * Copyright (c) 1999-2007 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 _OBJC_MESSAGE_H -#define _OBJC_MESSAGE_H - -#include -#include - -#ifndef OBJC_SUPER -#define OBJC_SUPER - -/// Specifies the superclass of an instance. -struct objc_super { - /// Specifies an instance of a class. - __unsafe_unretained _Nonnull id receiver; - - /// Specifies the particular superclass of the instance to message. -#if !defined(__cplusplus) && !__OBJC2__ - /* For compatibility with old objc-runtime.h header */ - __unsafe_unretained _Nonnull Class class; -#else - __unsafe_unretained _Nonnull Class super_class; -#endif - /* super_class is the first class to search */ -}; -#endif - - -/* Basic Messaging Primitives - * - * On some architectures, use objc_msgSend_stret for some struct return types. - * On some architectures, use objc_msgSend_fpret for some float return types. - * On some architectures, use objc_msgSend_fp2ret for some float return types. - * - * These functions must be cast to an appropriate function pointer type - * before being called. - */ -#if !OBJC_OLD_DISPATCH_PROTOTYPES -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wincompatible-library-redeclaration" -OBJC_EXPORT void -objc_msgSend(void /* id self, SEL op, ... */ ) - OBJC_AVAILABLE(10.0, 2.0, 9.0, 1.0, 2.0); - -OBJC_EXPORT void -objc_msgSendSuper(void /* struct objc_super *super, SEL op, ... */ ) - OBJC_AVAILABLE(10.0, 2.0, 9.0, 1.0, 2.0); -#pragma clang diagnostic pop -#else -/** - * Sends a message with a simple return value to an instance of a class. - * - * @param self A pointer to the instance of the class that is to receive the message. - * @param op The selector of the method that handles the message. - * @param ... - * A variable argument list containing the arguments to the method. - * - * @return The return value of the method. - * - * @note When it encounters a method call, the compiler generates a call to one of the - * functions \c objc_msgSend, \c objc_msgSend_stret, \c objc_msgSendSuper, or \c objc_msgSendSuper_stret. - * Messages sent to an object’s superclass (using the \c super keyword) are sent using \c objc_msgSendSuper; - * other messages are sent using \c objc_msgSend. Methods that have data structures as return values - * are sent using \c objc_msgSendSuper_stret and \c objc_msgSend_stret. - */ -OBJC_EXPORT id _Nullable -objc_msgSend(id _Nullable self, SEL _Nonnull op, ...) - OBJC_AVAILABLE(10.0, 2.0, 9.0, 1.0, 2.0); -/** - * Sends a message with a simple return value to the superclass of an instance of a class. - * - * @param super A pointer to an \c objc_super data structure. Pass values identifying the - * context the message was sent to, including the instance of the class that is to receive the - * message and the superclass at which to start searching for the method implementation. - * @param op A pointer of type SEL. Pass the selector of the method that will handle the message. - * @param ... - * A variable argument list containing the arguments to the method. - * - * @return The return value of the method identified by \e op. - * - * @see objc_msgSend - */ -OBJC_EXPORT id _Nullable -objc_msgSendSuper(struct objc_super * _Nonnull super, SEL _Nonnull op, ...) - OBJC_AVAILABLE(10.0, 2.0, 9.0, 1.0, 2.0); -#endif - - -/* Struct-returning Messaging Primitives - * - * Use these functions to call methods that return structs on the stack. - * On some architectures, some structures are returned in registers. - * Consult your local function call ABI documentation for details. - * - * These functions must be cast to an appropriate function pointer type - * before being called. - */ -#if !OBJC_OLD_DISPATCH_PROTOTYPES -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wincompatible-library-redeclaration" -OBJC_EXPORT void -objc_msgSend_stret(void /* id self, SEL op, ... */ ) - OBJC_AVAILABLE(10.0, 2.0, 9.0, 1.0, 2.0) - OBJC_ARM64_UNAVAILABLE; - -OBJC_EXPORT void -objc_msgSendSuper_stret(void /* struct objc_super *super, SEL op, ... */ ) - OBJC_AVAILABLE(10.0, 2.0, 9.0, 1.0, 2.0) - OBJC_ARM64_UNAVAILABLE; -#pragma clang diagnostic pop -#else -/** - * Sends a message with a data-structure return value to an instance of a class. - * - * @see objc_msgSend - */ -OBJC_EXPORT void -objc_msgSend_stret(id _Nullable self, SEL _Nonnull op, ...) - OBJC_AVAILABLE(10.0, 2.0, 9.0, 1.0, 2.0) - OBJC_ARM64_UNAVAILABLE; - -/** - * Sends a message with a data-structure return value to the superclass of an instance of a class. - * - * @see objc_msgSendSuper - */ -OBJC_EXPORT void -objc_msgSendSuper_stret(struct objc_super * _Nonnull super, - SEL _Nonnull op, ...) - OBJC_AVAILABLE(10.0, 2.0, 9.0, 1.0, 2.0) - OBJC_ARM64_UNAVAILABLE; -#endif - - -/* Floating-point-returning Messaging Primitives - * - * Use these functions to call methods that return floating-point values - * on the stack. - * Consult your local function call ABI documentation for details. - * - * arm: objc_msgSend_fpret not used - * i386: objc_msgSend_fpret used for `float`, `double`, `long double`. - * x86-64: objc_msgSend_fpret used for `long double`. - * - * arm: objc_msgSend_fp2ret not used - * i386: objc_msgSend_fp2ret not used - * x86-64: objc_msgSend_fp2ret used for `_Complex long double`. - * - * These functions must be cast to an appropriate function pointer type - * before being called. - */ -#if !OBJC_OLD_DISPATCH_PROTOTYPES -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wincompatible-library-redeclaration" - -# if defined(__i386__) - -OBJC_EXPORT void -objc_msgSend_fpret(void /* id self, SEL op, ... */ ) - OBJC_AVAILABLE(10.4, 2.0, 9.0, 1.0, 2.0); - -# elif defined(__x86_64__) - -OBJC_EXPORT void -objc_msgSend_fpret(void /* id self, SEL op, ... */ ) - OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0); - -OBJC_EXPORT void -objc_msgSend_fp2ret(void /* id self, SEL op, ... */ ) - OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0); - -#pragma clang diagnostic pop -# endif - -// !OBJC_OLD_DISPATCH_PROTOTYPES -#else -// OBJC_OLD_DISPATCH_PROTOTYPES -# if defined(__i386__) - -/** - * Sends a message with a floating-point return value to an instance of a class. - * - * @see objc_msgSend - * @note On the i386 platform, the ABI for functions returning a floating-point value is - * incompatible with that for functions returning an integral type. On the i386 platform, therefore, - * you must use \c objc_msgSend_fpret for functions returning non-integral type. For \c float or - * \c long \c double return types, cast the function to an appropriate function pointer type first. - */ -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wincompatible-library-redeclaration" -OBJC_EXPORT double -objc_msgSend_fpret(id _Nullable self, SEL _Nonnull op, ...) - OBJC_AVAILABLE(10.4, 2.0, 9.0, 1.0, 2.0); -#pragma clang diagnostic pop - -/* Use objc_msgSendSuper() for fp-returning messages to super. */ -/* See also objc_msgSendv_fpret() below. */ - -# elif defined(__x86_64__) -/** - * Sends a message with a floating-point return value to an instance of a class. - * - * @see objc_msgSend - */ -OBJC_EXPORT long double -objc_msgSend_fpret(id _Nullable self, SEL _Nonnull op, ...) - OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0); - -# if __STDC_VERSION__ >= 199901L -OBJC_EXPORT _Complex long double -objc_msgSend_fp2ret(id _Nullable self, SEL _Nonnull op, ...) - OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0); -# else -OBJC_EXPORT void objc_msgSend_fp2ret(id _Nullable self, SEL _Nonnull op, ...) - OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0); -# endif - -/* Use objc_msgSendSuper() for fp-returning messages to super. */ -/* See also objc_msgSendv_fpret() below. */ - -# endif - -// OBJC_OLD_DISPATCH_PROTOTYPES -#endif - - -/* Direct Method Invocation Primitives - * Use these functions to call the implementation of a given Method. - * This is faster than calling method_getImplementation() and method_getName(). - * - * The receiver must not be nil. - * - * These functions must be cast to an appropriate function pointer type - * before being called. - */ -#if !OBJC_OLD_DISPATCH_PROTOTYPES -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wincompatible-library-redeclaration" -OBJC_EXPORT void -method_invoke(void /* id receiver, Method m, ... */ ) - OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0); - -OBJC_EXPORT void -method_invoke_stret(void /* id receiver, Method m, ... */ ) - OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0) - OBJC_ARM64_UNAVAILABLE; -#pragma clang diagnostic pop -#else -OBJC_EXPORT id _Nullable -method_invoke(id _Nullable receiver, Method _Nonnull m, ...) - OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0); - -OBJC_EXPORT void -method_invoke_stret(id _Nullable receiver, Method _Nonnull m, ...) - OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0) - OBJC_ARM64_UNAVAILABLE; -#endif - - -/* Message Forwarding Primitives - * Use these functions to forward a message as if the receiver did not - * respond to it. - * - * The receiver must not be nil. - * - * class_getMethodImplementation() may return (IMP)_objc_msgForward. - * class_getMethodImplementation_stret() may return (IMP)_objc_msgForward_stret - * - * These functions must be cast to an appropriate function pointer type - * before being called. - * - * Before Mac OS X 10.6, _objc_msgForward must not be called directly - * but may be compared to other IMP values. - */ -#if !OBJC_OLD_DISPATCH_PROTOTYPES -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wincompatible-library-redeclaration" -OBJC_EXPORT void -_objc_msgForward(void /* id receiver, SEL sel, ... */ ) - OBJC_AVAILABLE(10.0, 2.0, 9.0, 1.0, 2.0); - -OBJC_EXPORT void -_objc_msgForward_stret(void /* id receiver, SEL sel, ... */ ) - OBJC_AVAILABLE(10.6, 3.0, 9.0, 1.0, 2.0) - OBJC_ARM64_UNAVAILABLE; -#pragma clang diagnostic pop -#else -OBJC_EXPORT id _Nullable -_objc_msgForward(id _Nonnull receiver, SEL _Nonnull sel, ...) - OBJC_AVAILABLE(10.0, 2.0, 9.0, 1.0, 2.0); - -OBJC_EXPORT void -_objc_msgForward_stret(id _Nonnull receiver, SEL _Nonnull sel, ...) - OBJC_AVAILABLE(10.6, 3.0, 9.0, 1.0, 2.0) - OBJC_ARM64_UNAVAILABLE; -#endif - -#endif \ No newline at end of file diff --git a/lib/libc/include/any-macos.12-any/objc/objc-api.h b/lib/libc/include/any-macos.12-any/objc/objc-api.h deleted file mode 100644 index 5c01256c22..0000000000 --- a/lib/libc/include/any-macos.12-any/objc/objc-api.h +++ /dev/null @@ -1,296 +0,0 @@ -/* - * Copyright (c) 1999-2006 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@ - */ -// Copyright 1988-1996 NeXT Software, Inc. - -#ifndef _OBJC_OBJC_API_H_ -#define _OBJC_OBJC_API_H_ - -#include -#include -#include -#include - -#ifndef __has_feature -# define __has_feature(x) 0 -#endif - -#ifndef __has_extension -# define __has_extension __has_feature -#endif - -#ifndef __has_attribute -# define __has_attribute(x) 0 -#endif - -#if !__has_feature(nullability) -# ifndef _Nullable -# define _Nullable -# endif -# ifndef _Nonnull -# define _Nonnull -# endif -# ifndef _Null_unspecified -# define _Null_unspecified -# endif -#endif - - - -/* - * OBJC_API_VERSION 0 or undef: Tiger and earlier API only - * OBJC_API_VERSION 2: Leopard and later API available - */ -#if !defined(OBJC_API_VERSION) -# if defined(__MAC_OS_X_VERSION_MIN_REQUIRED) && __MAC_OS_X_VERSION_MIN_REQUIRED < __MAC_10_5 -# define OBJC_API_VERSION 0 -# else -# define OBJC_API_VERSION 2 -# endif -#endif - - -/* - * OBJC_NO_GC 1: GC is not supported - * OBJC_NO_GC undef: GC is supported. This SDK no longer supports this mode. - * - * OBJC_NO_GC_API undef: Libraries must export any symbols that - * dual-mode code may links to. - * OBJC_NO_GC_API 1: Libraries need not export GC-related symbols. - */ -#if defined(__OBJC_GC__) -# error Objective-C garbage collection is not supported. -#elif TARGET_OS_OSX - /* GC is unsupported. GC API symbols are exported. */ -# define OBJC_NO_GC 1 -# undef OBJC_NO_GC_API -#else - /* GC is unsupported. GC API symbols are not exported. */ -# define OBJC_NO_GC 1 -# define OBJC_NO_GC_API 1 -#endif - - -/* NS_ENFORCE_NSOBJECT_DESIGNATED_INITIALIZER == 1 - * marks -[NSObject init] as a designated initializer. */ -#if !defined(NS_ENFORCE_NSOBJECT_DESIGNATED_INITIALIZER) -# define NS_ENFORCE_NSOBJECT_DESIGNATED_INITIALIZER 1 -#endif - -/* The arm64 ABI requires proper casting to ensure arguments are passed - * * correctly. */ -#if defined(__arm64__) && !__swift__ -# undef OBJC_OLD_DISPATCH_PROTOTYPES -# define OBJC_OLD_DISPATCH_PROTOTYPES 0 -#endif - -/* OBJC_OLD_DISPATCH_PROTOTYPES == 0 enforces the rule that the dispatch - * functions must be cast to an appropriate function pointer type. */ -#if !defined(OBJC_OLD_DISPATCH_PROTOTYPES) -# if __swift__ - // Existing Swift code expects IMP to be Comparable. - // Variadic IMP is comparable via OpaquePointer; non-variadic IMP isn't. -# define OBJC_OLD_DISPATCH_PROTOTYPES 1 -# else -# define OBJC_OLD_DISPATCH_PROTOTYPES 0 -# endif -#endif - - -/* OBJC_AVAILABLE: shorthand for all-OS availability */ - -# if !defined(OBJC_AVAILABLE) -# define OBJC_AVAILABLE(x, i, t, w, b) \ - __OSX_AVAILABLE(x) __IOS_AVAILABLE(i) __TVOS_AVAILABLE(t) \ - __WATCHOS_AVAILABLE(w) -# endif - - - -/* OBJC_OSX_DEPRECATED_OTHERS_UNAVAILABLE: Deprecated on OS X, - * unavailable everywhere else. */ - -# if !defined(OBJC_OSX_DEPRECATED_OTHERS_UNAVAILABLE) -# define OBJC_OSX_DEPRECATED_OTHERS_UNAVAILABLE(_start, _dep, _msg) \ - __OSX_DEPRECATED(_start, _dep, _msg) \ - __IOS_UNAVAILABLE __TVOS_UNAVAILABLE \ - __WATCHOS_UNAVAILABLE -# endif - - - -/* OBJC_OSX_AVAILABLE_OTHERS_UNAVAILABLE: Available on OS X, - * unavailable everywhere else. */ - -# if !defined(OBJC_OSX_AVAILABLE_OTHERS_UNAVAILABLE) -# define OBJC_OSX_AVAILABLE_OTHERS_UNAVAILABLE(vers) \ - __OSX_AVAILABLE(vers) \ - __IOS_UNAVAILABLE __TVOS_UNAVAILABLE \ - __WATCHOS_UNAVAILABLE -# endif - - - -/* OBJC_ISA_AVAILABILITY: `isa` will be deprecated or unavailable - * in the future */ -#if !defined(OBJC_ISA_AVAILABILITY) -# if __OBJC2__ -# define OBJC_ISA_AVAILABILITY __attribute__((deprecated)) -# else -# define OBJC_ISA_AVAILABILITY /* still available */ -# endif -#endif - -/* OBJC_UNAVAILABLE: unavailable, with a message where supported */ -#if !defined(OBJC_UNAVAILABLE) -# if __has_extension(attribute_unavailable_with_message) -# define OBJC_UNAVAILABLE(_msg) __attribute__((unavailable(_msg))) -# else -# define OBJC_UNAVAILABLE(_msg) __attribute__((unavailable)) -# endif -#endif - -/* OBJC_DEPRECATED: deprecated, with a message where supported */ -#if !defined(OBJC_DEPRECATED) -# if __has_extension(attribute_deprecated_with_message) -# define OBJC_DEPRECATED(_msg) __attribute__((deprecated(_msg))) -# else -# define OBJC_DEPRECATED(_msg) __attribute__((deprecated)) -# endif -#endif - -/* OBJC_ARC_UNAVAILABLE: unavailable with -fobjc-arc */ -#if !defined(OBJC_ARC_UNAVAILABLE) -# if __has_feature(objc_arc) -# define OBJC_ARC_UNAVAILABLE OBJC_UNAVAILABLE("not available in automatic reference counting mode") -# else -# define OBJC_ARC_UNAVAILABLE -# endif -#endif - -/* OBJC_SWIFT_UNAVAILABLE: unavailable in Swift */ -#if !defined(OBJC_SWIFT_UNAVAILABLE) -# if __has_feature(attribute_availability_swift) -# define OBJC_SWIFT_UNAVAILABLE(_msg) __attribute__((availability(swift, unavailable, message=_msg))) -# else -# define OBJC_SWIFT_UNAVAILABLE(_msg) -# endif -#endif - -/* OBJC_ARM64_UNAVAILABLE: unavailable on arm64 (i.e. stret dispatch) */ -#if !defined(OBJC_ARM64_UNAVAILABLE) -# if defined(__arm64__) -# define OBJC_ARM64_UNAVAILABLE OBJC_UNAVAILABLE("not available in arm64") -# else -# define OBJC_ARM64_UNAVAILABLE -# endif -#endif - -/* OBJC_GC_UNAVAILABLE: unavailable with -fobjc-gc or -fobjc-gc-only */ -#if !defined(OBJC_GC_UNAVAILABLE) -# define OBJC_GC_UNAVAILABLE -#endif - -#if !defined(OBJC_EXTERN) -# if defined(__cplusplus) -# define OBJC_EXTERN extern "C" -# else -# define OBJC_EXTERN extern -# endif -#endif - -#if !defined(OBJC_VISIBLE) -# if TARGET_OS_WIN32 -# if defined(BUILDING_OBJC) -# define OBJC_VISIBLE __declspec(dllexport) -# else -# define OBJC_VISIBLE __declspec(dllimport) -# endif -# else -# define OBJC_VISIBLE __attribute__((visibility("default"))) -# endif -#endif - -#if !defined(OBJC_EXPORT) -# define OBJC_EXPORT OBJC_EXTERN OBJC_VISIBLE -#endif - -#if !defined(OBJC_IMPORT) -# define OBJC_IMPORT extern -#endif - -#if !defined(OBJC_ROOT_CLASS) -# if __has_attribute(objc_root_class) -# define OBJC_ROOT_CLASS __attribute__((objc_root_class)) -# else -# define OBJC_ROOT_CLASS -# endif -#endif - -#ifndef __DARWIN_NULL -#define __DARWIN_NULL NULL -#endif - -#if !defined(OBJC_INLINE) -# define OBJC_INLINE __inline -#endif - -// Declares an enum type or option bits type as appropriate for each language. -#if (__cplusplus && __cplusplus >= 201103L && (__has_extension(cxx_strong_enums) || __has_feature(objc_fixed_enum))) || (!__cplusplus && __has_feature(objc_fixed_enum)) -#define OBJC_ENUM(_type, _name) enum _name : _type _name; enum _name : _type -#if (__cplusplus) -#define OBJC_OPTIONS(_type, _name) _type _name; enum : _type -#else -#define OBJC_OPTIONS(_type, _name) enum _name : _type _name; enum _name : _type -#endif -#else -#define OBJC_ENUM(_type, _name) _type _name; enum -#define OBJC_OPTIONS(_type, _name) _type _name; enum -#endif - -#if !defined(OBJC_RETURNS_RETAINED) -# if __OBJC__ && __has_attribute(ns_returns_retained) -# define OBJC_RETURNS_RETAINED __attribute__((ns_returns_retained)) -# else -# define OBJC_RETURNS_RETAINED -# endif -#endif - -/* OBJC_COLD: very rarely called, e.g. on error path */ -#if !defined(OBJC_COLD) -# if __OBJC__ && __has_attribute(cold) -# define OBJC_COLD __attribute__((cold)) -# else -# define OBJC_COLD -# endif -#endif - -/* OBJC_NORETURN: does not return normally, but may throw */ -#if !defined(OBJC_NORETURN) -# if __OBJC__ && __has_attribute(noreturn) -# define OBJC_NORETURN __attribute__((noreturn)) -# else -# define OBJC_NORETURN -# endif -#endif - -#endif \ No newline at end of file diff --git a/lib/libc/include/any-macos.12-any/objc/runtime.h b/lib/libc/include/any-macos.12-any/objc/runtime.h deleted file mode 100644 index a053c8fc78..0000000000 --- a/lib/libc/include/any-macos.12-any/objc/runtime.h +++ /dev/null @@ -1,1915 +0,0 @@ -/* - * Copyright (c) 1999-2007 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 _OBJC_RUNTIME_H -#define _OBJC_RUNTIME_H - -#include -#include -#include -#include -#include -#include - -#if TARGET_OS_MAC -#include -#endif - - -/* Types */ - -#if !OBJC_TYPES_DEFINED - -/// An opaque type that represents a method in a class definition. -typedef struct objc_method *Method; - -/// An opaque type that represents an instance variable. -typedef struct objc_ivar *Ivar; - -/// An opaque type that represents a category. -typedef struct objc_category *Category; - -/// An opaque type that represents an Objective-C declared property. -typedef struct objc_property *objc_property_t; - -#endif - -#ifdef __OBJC__ -@class Protocol; -#else -typedef struct objc_object Protocol; -#endif - -/// Defines a method -struct objc_method_description { - SEL _Nullable name; /**< The name of the method */ - char * _Nullable types; /**< The types of the method arguments */ -}; - -/// Defines a property attribute -typedef struct { - const char * _Nonnull name; /**< The name of the attribute */ - const char * _Nonnull value; /**< The value of the attribute (usually empty) */ -} objc_property_attribute_t; - - -/* Functions */ - -/* Working with Instances */ - -/** - * Returns a copy of a given object. - * - * @param obj An Objective-C object. - * @param size The size of the object \e obj. - * - * @return A copy of \e obj. - */ -OBJC_EXPORT id _Nullable object_copy(id _Nullable obj, size_t size) - OBJC_AVAILABLE(10.0, 2.0, 9.0, 1.0, 2.0) - OBJC_ARC_UNAVAILABLE; - -/** - * Frees the memory occupied by a given object. - * - * @param obj An Objective-C object. - * - * @return nil - */ -OBJC_EXPORT id _Nullable -object_dispose(id _Nullable obj) - OBJC_AVAILABLE(10.0, 2.0, 9.0, 1.0, 2.0) - OBJC_ARC_UNAVAILABLE; - -/** - * Returns the class of an object. - * - * @param obj The object you want to inspect. - * - * @return The class object of which \e object is an instance, - * or \c Nil if \e object is \c nil. - */ -OBJC_EXPORT Class _Nullable -object_getClass(id _Nullable obj) - OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0); - -/** - * Sets the class of an object. - * - * @param obj The object to modify. - * @param cls A class object. - * - * @return The previous value of \e object's class, or \c Nil if \e object is \c nil. - */ -OBJC_EXPORT Class _Nullable -object_setClass(id _Nullable obj, Class _Nonnull cls) - OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0); - - -/** - * Returns whether an object is a class object. - * - * @param obj An Objective-C object. - * - * @return true if the object is a class or metaclass, false otherwise. - */ -OBJC_EXPORT BOOL -object_isClass(id _Nullable obj) - OBJC_AVAILABLE(10.10, 8.0, 9.0, 1.0, 2.0); - - -/** - * Reads the value of an instance variable in an object. - * - * @param obj The object containing the instance variable whose value you want to read. - * @param ivar The Ivar describing the instance variable whose value you want to read. - * - * @return The value of the instance variable specified by \e ivar, or \c nil if \e object is \c nil. - * - * @note \c object_getIvar is faster than \c object_getInstanceVariable if the Ivar - * for the instance variable is already known. - */ -OBJC_EXPORT id _Nullable -object_getIvar(id _Nullable obj, Ivar _Nonnull ivar) - OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0); - -/** - * Sets the value of an instance variable in an object. - * - * @param obj The object containing the instance variable whose value you want to set. - * @param ivar The Ivar describing the instance variable whose value you want to set. - * @param value The new value for the instance variable. - * - * @note Instance variables with known memory management (such as ARC strong and weak) - * use that memory management. Instance variables with unknown memory management - * are assigned as if they were unsafe_unretained. - * @note \c object_setIvar is faster than \c object_setInstanceVariable if the Ivar - * for the instance variable is already known. - */ -OBJC_EXPORT void -object_setIvar(id _Nullable obj, Ivar _Nonnull ivar, id _Nullable value) - OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0); - -/** - * Sets the value of an instance variable in an object. - * - * @param obj The object containing the instance variable whose value you want to set. - * @param ivar The Ivar describing the instance variable whose value you want to set. - * @param value The new value for the instance variable. - * - * @note Instance variables with known memory management (such as ARC strong and weak) - * use that memory management. Instance variables with unknown memory management - * are assigned as if they were strong. - * @note \c object_setIvar is faster than \c object_setInstanceVariable if the Ivar - * for the instance variable is already known. - */ -OBJC_EXPORT void -object_setIvarWithStrongDefault(id _Nullable obj, Ivar _Nonnull ivar, - id _Nullable value) - OBJC_AVAILABLE(10.12, 10.0, 10.0, 3.0, 2.0); - -/** - * Changes the value of an instance variable of a class instance. - * - * @param obj A pointer to an instance of a class. Pass the object containing - * the instance variable whose value you wish to modify. - * @param name A C string. Pass the name of the instance variable whose value you wish to modify. - * @param value The new value for the instance variable. - * - * @return A pointer to the \c Ivar data structure that defines the type and - * name of the instance variable specified by \e name. - * - * @note Instance variables with known memory management (such as ARC strong and weak) - * use that memory management. Instance variables with unknown memory management - * are assigned as if they were unsafe_unretained. - */ -OBJC_EXPORT Ivar _Nullable -object_setInstanceVariable(id _Nullable obj, const char * _Nonnull name, - void * _Nullable value) - OBJC_AVAILABLE(10.0, 2.0, 9.0, 1.0, 2.0) - OBJC_ARC_UNAVAILABLE; - -/** - * Changes the value of an instance variable of a class instance. - * - * @param obj A pointer to an instance of a class. Pass the object containing - * the instance variable whose value you wish to modify. - * @param name A C string. Pass the name of the instance variable whose value you wish to modify. - * @param value The new value for the instance variable. - * - * @return A pointer to the \c Ivar data structure that defines the type and - * name of the instance variable specified by \e name. - * - * @note Instance variables with known memory management (such as ARC strong and weak) - * use that memory management. Instance variables with unknown memory management - * are assigned as if they were strong. - */ -OBJC_EXPORT Ivar _Nullable -object_setInstanceVariableWithStrongDefault(id _Nullable obj, - const char * _Nonnull name, - void * _Nullable value) - OBJC_AVAILABLE(10.12, 10.0, 10.0, 3.0, 2.0) - OBJC_ARC_UNAVAILABLE; - -/** - * Obtains the value of an instance variable of a class instance. - * - * @param obj A pointer to an instance of a class. Pass the object containing - * the instance variable whose value you wish to obtain. - * @param name A C string. Pass the name of the instance variable whose value you wish to obtain. - * @param outValue On return, contains a pointer to the value of the instance variable. - * - * @return A pointer to the \c Ivar data structure that defines the type and name of - * the instance variable specified by \e name. - */ -OBJC_EXPORT Ivar _Nullable -object_getInstanceVariable(id _Nullable obj, const char * _Nonnull name, - void * _Nullable * _Nullable outValue) - OBJC_AVAILABLE(10.0, 2.0, 9.0, 1.0, 2.0) - OBJC_ARC_UNAVAILABLE; - - -/* Obtaining Class Definitions */ - -/** - * Returns the class definition of a specified class. - * - * @param name The name of the class to look up. - * - * @return The Class object for the named class, or \c nil - * if the class is not registered with the Objective-C runtime. - * - * @note \c objc_getClass is different from \c objc_lookUpClass in that if the class - * is not registered, \c objc_getClass calls the class handler callback and then checks - * a second time to see whether the class is registered. \c objc_lookUpClass does - * not call the class handler callback. - * - * @warning Earlier implementations of this function (prior to OS X v10.0) - * terminate the program if the class does not exist. - */ -OBJC_EXPORT Class _Nullable -objc_getClass(const char * _Nonnull name) - OBJC_AVAILABLE(10.0, 2.0, 9.0, 1.0, 2.0); - -/** - * Returns the metaclass definition of a specified class. - * - * @param name The name of the class to look up. - * - * @return The \c Class object for the metaclass of the named class, or \c nil if the class - * is not registered with the Objective-C runtime. - * - * @note If the definition for the named class is not registered, this function calls the class handler - * callback and then checks a second time to see if the class is registered. However, every class - * definition must have a valid metaclass definition, and so the metaclass definition is always returned, - * whether it’s valid or not. - */ -OBJC_EXPORT Class _Nullable -objc_getMetaClass(const char * _Nonnull name) - OBJC_AVAILABLE(10.0, 2.0, 9.0, 1.0, 2.0); - -/** - * Returns the class definition of a specified class. - * - * @param name The name of the class to look up. - * - * @return The Class object for the named class, or \c nil if the class - * is not registered with the Objective-C runtime. - * - * @note \c objc_getClass is different from this function in that if the class is not - * registered, \c objc_getClass calls the class handler callback and then checks a second - * time to see whether the class is registered. This function does not call the class handler callback. - */ -OBJC_EXPORT Class _Nullable -objc_lookUpClass(const char * _Nonnull name) - OBJC_AVAILABLE(10.0, 2.0, 9.0, 1.0, 2.0); - -/** - * Returns the class definition of a specified class. - * - * @param name The name of the class to look up. - * - * @return The Class object for the named class. - * - * @note This function is the same as \c objc_getClass, but kills the process if the class is not found. - * @note This function is used by ZeroLink, where failing to find a class would be a compile-time link error without ZeroLink. - */ -OBJC_EXPORT Class _Nonnull -objc_getRequiredClass(const char * _Nonnull name) - OBJC_AVAILABLE(10.0, 2.0, 9.0, 1.0, 2.0); - -/** - * Obtains the list of registered class definitions. - * - * @param buffer An array of \c Class values. On output, each \c Class value points to - * one class definition, up to either \e bufferCount or the total number of registered classes, - * whichever is less. You can pass \c NULL to obtain the total number of registered class - * definitions without actually retrieving any class definitions. - * @param bufferCount An integer value. Pass the number of pointers for which you have allocated space - * in \e buffer. On return, this function fills in only this number of elements. If this number is less - * than the number of registered classes, this function returns an arbitrary subset of the registered classes. - * - * @return An integer value indicating the total number of registered classes. - * - * @note The Objective-C runtime library automatically registers all the classes defined in your source code. - * You can create class definitions at runtime and register them with the \c objc_addClass function. - * - * @warning You cannot assume that class objects you get from this function are classes that inherit from \c NSObject, - * so you cannot safely call any methods on such classes without detecting that the method is implemented first. - */ -OBJC_EXPORT int -objc_getClassList(Class _Nonnull * _Nullable buffer, int bufferCount) - OBJC_AVAILABLE(10.0, 2.0, 9.0, 1.0, 2.0); - -/** - * Creates and returns a list of pointers to all registered class definitions. - * - * @param outCount An integer pointer used to store the number of classes returned by - * this function in the list. It can be \c nil. - * - * @return A nil terminated array of classes. It must be freed with \c free(). - * - * @see objc_getClassList - */ -OBJC_EXPORT Class _Nonnull * _Nullable -objc_copyClassList(unsigned int * _Nullable outCount) - OBJC_AVAILABLE(10.7, 3.1, 9.0, 1.0, 2.0); - - -/* Working with Classes */ - -/** - * Returns the name of a class. - * - * @param cls A class object. - * - * @return The name of the class, or the empty string if \e cls is \c Nil. - */ -OBJC_EXPORT const char * _Nonnull -class_getName(Class _Nullable cls) - OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0); - -/** - * Returns a Boolean value that indicates whether a class object is a metaclass. - * - * @param cls A class object. - * - * @return \c YES if \e cls is a metaclass, \c NO if \e cls is a non-meta class, - * \c NO if \e cls is \c Nil. - */ -OBJC_EXPORT BOOL -class_isMetaClass(Class _Nullable cls) - OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0); - -/** - * Returns the superclass of a class. - * - * @param cls A class object. - * - * @return The superclass of the class, or \c Nil if - * \e cls is a root class, or \c Nil if \e cls is \c Nil. - * - * @note You should usually use \c NSObject's \c superclass method instead of this function. - */ -OBJC_EXPORT Class _Nullable -class_getSuperclass(Class _Nullable cls) - OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0); - -/** - * Sets the superclass of a given class. - * - * @param cls The class whose superclass you want to set. - * @param newSuper The new superclass for cls. - * - * @return The old superclass for cls. - * - * @warning You should not use this function. - */ -OBJC_EXPORT Class _Nonnull -class_setSuperclass(Class _Nonnull cls, Class _Nonnull newSuper) - __OSX_DEPRECATED(10.5, 10.5, "not recommended") - __IOS_DEPRECATED(2.0, 2.0, "not recommended") - __TVOS_DEPRECATED(9.0, 9.0, "not recommended") - __WATCHOS_DEPRECATED(1.0, 1.0, "not recommended") - -; - -/** - * Returns the version number of a class definition. - * - * @param cls A pointer to a \c Class data structure. Pass - * the class definition for which you wish to obtain the version. - * - * @return An integer indicating the version number of the class definition. - * - * @see class_setVersion - */ -OBJC_EXPORT int -class_getVersion(Class _Nullable cls) - OBJC_AVAILABLE(10.0, 2.0, 9.0, 1.0, 2.0); - -/** - * Sets the version number of a class definition. - * - * @param cls A pointer to an Class data structure. - * Pass the class definition for which you wish to set the version. - * @param version An integer. Pass the new version number of the class definition. - * - * @note You can use the version number of the class definition to provide versioning of the - * interface that your class represents to other classes. This is especially useful for object - * serialization (that is, archiving of the object in a flattened form), where it is important to - * recognize changes to the layout of the instance variables in different class-definition versions. - * @note Classes derived from the Foundation framework \c NSObject class can set the class-definition - * version number using the \c setVersion: class method, which is implemented using the \c class_setVersion function. - */ -OBJC_EXPORT void -class_setVersion(Class _Nullable cls, int version) - OBJC_AVAILABLE(10.0, 2.0, 9.0, 1.0, 2.0); - -/** - * Returns the size of instances of a class. - * - * @param cls A class object. - * - * @return The size in bytes of instances of the class \e cls, or \c 0 if \e cls is \c Nil. - */ -OBJC_EXPORT size_t -class_getInstanceSize(Class _Nullable cls) - OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0); - -/** - * Returns the \c Ivar for a specified instance variable of a given class. - * - * @param cls The class whose instance variable you wish to obtain. - * @param name The name of the instance variable definition to obtain. - * - * @return A pointer to an \c Ivar data structure containing information about - * the instance variable specified by \e name. - */ -OBJC_EXPORT Ivar _Nullable -class_getInstanceVariable(Class _Nullable cls, const char * _Nonnull name) - OBJC_AVAILABLE(10.0, 2.0, 9.0, 1.0, 2.0); - -/** - * Returns the Ivar for a specified class variable of a given class. - * - * @param cls The class definition whose class variable you wish to obtain. - * @param name The name of the class variable definition to obtain. - * - * @return A pointer to an \c Ivar data structure containing information about the class variable specified by \e name. - */ -OBJC_EXPORT Ivar _Nullable -class_getClassVariable(Class _Nullable cls, const char * _Nonnull name) - OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0); - -/** - * Describes the instance variables declared by a class. - * - * @param cls The class to inspect. - * @param outCount On return, contains the length of the returned array. - * If outCount is NULL, the length is not returned. - * - * @return An array of pointers of type Ivar describing the instance variables declared by the class. - * Any instance variables declared by superclasses are not included. The array contains *outCount - * pointers followed by a NULL terminator. You must free the array with free(). - * - * If the class declares no instance variables, or cls is Nil, NULL is returned and *outCount is 0. - */ -OBJC_EXPORT Ivar _Nonnull * _Nullable -class_copyIvarList(Class _Nullable cls, unsigned int * _Nullable outCount) - OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0); - -/** - * Returns a specified instance method for a given class. - * - * @param cls The class you want to inspect. - * @param name The selector of the method you want to retrieve. - * - * @return The method that corresponds to the implementation of the selector specified by - * \e name for the class specified by \e cls, or \c NULL if the specified class or its - * superclasses do not contain an instance method with the specified selector. - * - * @note This function searches superclasses for implementations, whereas \c class_copyMethodList does not. - */ -OBJC_EXPORT Method _Nullable -class_getInstanceMethod(Class _Nullable cls, SEL _Nonnull name) - OBJC_AVAILABLE(10.0, 2.0, 9.0, 1.0, 2.0); - -/** - * Returns a pointer to the data structure describing a given class method for a given class. - * - * @param cls A pointer to a class definition. Pass the class that contains the method you want to retrieve. - * @param name A pointer of type \c SEL. Pass the selector of the method you want to retrieve. - * - * @return A pointer to the \c Method data structure that corresponds to the implementation of the - * selector specified by aSelector for the class specified by aClass, or NULL if the specified - * class or its superclasses do not contain an instance method with the specified selector. - * - * @note Note that this function searches superclasses for implementations, - * whereas \c class_copyMethodList does not. - */ -OBJC_EXPORT Method _Nullable -class_getClassMethod(Class _Nullable cls, SEL _Nonnull name) - OBJC_AVAILABLE(10.0, 2.0, 9.0, 1.0, 2.0); - -/** - * Returns the function pointer that would be called if a - * particular message were sent to an instance of a class. - * - * @param cls The class you want to inspect. - * @param name A selector. - * - * @return The function pointer that would be called if \c [object name] were called - * with an instance of the class, or \c NULL if \e cls is \c Nil. - * - * @note \c class_getMethodImplementation may be faster than \c method_getImplementation(class_getInstanceMethod(cls, name)). - * @note The function pointer returned may be a function internal to the runtime instead of - * an actual method implementation. For example, if instances of the class do not respond to - * the selector, the function pointer returned will be part of the runtime's message forwarding machinery. - */ -OBJC_EXPORT IMP _Nullable -class_getMethodImplementation(Class _Nullable cls, SEL _Nonnull name) - OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0); - -/** - * Returns the function pointer that would be called if a particular - * message were sent to an instance of a class. - * - * @param cls The class you want to inspect. - * @param name A selector. - * - * @return The function pointer that would be called if \c [object name] were called - * with an instance of the class, or \c NULL if \e cls is \c Nil. - */ -OBJC_EXPORT IMP _Nullable -class_getMethodImplementation_stret(Class _Nullable cls, SEL _Nonnull name) - OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0) - OBJC_ARM64_UNAVAILABLE; - -/** - * Returns a Boolean value that indicates whether instances of a class respond to a particular selector. - * - * @param cls The class you want to inspect. - * @param sel A selector. - * - * @return \c YES if instances of the class respond to the selector, otherwise \c NO. - * - * @note You should usually use \c NSObject's \c respondsToSelector: or \c instancesRespondToSelector: - * methods instead of this function. - */ -OBJC_EXPORT BOOL -class_respondsToSelector(Class _Nullable cls, SEL _Nonnull sel) - OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0); - -/** - * Describes the instance methods implemented by a class. - * - * @param cls The class you want to inspect. - * @param outCount On return, contains the length of the returned array. - * If outCount is NULL, the length is not returned. - * - * @return An array of pointers of type Method describing the instance methods - * implemented by the class—any instance methods implemented by superclasses are not included. - * The array contains *outCount pointers followed by a NULL terminator. You must free the array with free(). - * - * If cls implements no instance methods, or cls is Nil, returns NULL and *outCount is 0. - * - * @note To get the class methods of a class, use \c class_copyMethodList(object_getClass(cls), &count). - * @note To get the implementations of methods that may be implemented by superclasses, - * use \c class_getInstanceMethod or \c class_getClassMethod. - */ -OBJC_EXPORT Method _Nonnull * _Nullable -class_copyMethodList(Class _Nullable cls, unsigned int * _Nullable outCount) - OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0); - -/** - * Returns a Boolean value that indicates whether a class conforms to a given protocol. - * - * @param cls The class you want to inspect. - * @param protocol A protocol. - * - * @return YES if cls conforms to protocol, otherwise NO. - * - * @note You should usually use NSObject's conformsToProtocol: method instead of this function. - */ -OBJC_EXPORT BOOL -class_conformsToProtocol(Class _Nullable cls, Protocol * _Nullable protocol) - OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0); - -/** - * Describes the protocols adopted by a class. - * - * @param cls The class you want to inspect. - * @param outCount On return, contains the length of the returned array. - * If outCount is NULL, the length is not returned. - * - * @return An array of pointers of type Protocol* describing the protocols adopted - * by the class. Any protocols adopted by superclasses or other protocols are not included. - * The array contains *outCount pointers followed by a NULL terminator. You must free the array with free(). - * - * If cls adopts no protocols, or cls is Nil, returns NULL and *outCount is 0. - */ -OBJC_EXPORT Protocol * __unsafe_unretained _Nonnull * _Nullable -class_copyProtocolList(Class _Nullable cls, unsigned int * _Nullable outCount) - OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0); - -/** - * Returns a property with a given name of a given class. - * - * @param cls The class you want to inspect. - * @param name The name of the property you want to inspect. - * - * @return A pointer of type \c objc_property_t describing the property, or - * \c NULL if the class does not declare a property with that name, - * or \c NULL if \e cls is \c Nil. - */ -OBJC_EXPORT objc_property_t _Nullable -class_getProperty(Class _Nullable cls, const char * _Nonnull name) - OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0); - -/** - * Describes the properties declared by a class. - * - * @param cls The class you want to inspect. - * @param outCount On return, contains the length of the returned array. - * If \e outCount is \c NULL, the length is not returned. - * - * @return An array of pointers of type \c objc_property_t describing the properties - * declared by the class. Any properties declared by superclasses are not included. - * The array contains \c *outCount pointers followed by a \c NULL terminator. You must free the array with \c free(). - * - * If \e cls declares no properties, or \e cls is \c Nil, returns \c NULL and \c *outCount is \c 0. - */ -OBJC_EXPORT objc_property_t _Nonnull * _Nullable -class_copyPropertyList(Class _Nullable cls, unsigned int * _Nullable outCount) - OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0); - -/** - * Returns a description of the \c Ivar layout for a given class. - * - * @param cls The class to inspect. - * - * @return A description of the \c Ivar layout for \e cls. - */ -OBJC_EXPORT const uint8_t * _Nullable -class_getIvarLayout(Class _Nullable cls) - OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0); - -/** - * Returns a description of the layout of weak Ivars for a given class. - * - * @param cls The class to inspect. - * - * @return A description of the layout of the weak \c Ivars for \e cls. - */ -OBJC_EXPORT const uint8_t * _Nullable -class_getWeakIvarLayout(Class _Nullable cls) - OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0); - -/** - * Adds a new method to a class with a given name and implementation. - * - * @param cls The class to which to add a method. - * @param name A selector that specifies the name of the method being added. - * @param imp A function which is the implementation of the new method. The function must take at least two arguments—self and _cmd. - * @param types An array of characters that describe the types of the arguments to the method. - * - * @return YES if the method was added successfully, otherwise NO - * (for example, the class already contains a method implementation with that name). - * - * @note class_addMethod will add an override of a superclass's implementation, - * but will not replace an existing implementation in this class. - * To change an existing implementation, use method_setImplementation. - */ -OBJC_EXPORT BOOL -class_addMethod(Class _Nullable cls, SEL _Nonnull name, IMP _Nonnull imp, - const char * _Nullable types) - OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0); - -/** - * Replaces the implementation of a method for a given class. - * - * @param cls The class you want to modify. - * @param name A selector that identifies the method whose implementation you want to replace. - * @param imp The new implementation for the method identified by name for the class identified by cls. - * @param types An array of characters that describe the types of the arguments to the method. - * Since the function must take at least two arguments—self and _cmd, the second and third characters - * must be “@:” (the first character is the return type). - * - * @return The previous implementation of the method identified by \e name for the class identified by \e cls. - * - * @note This function behaves in two different ways: - * - If the method identified by \e name does not yet exist, it is added as if \c class_addMethod were called. - * The type encoding specified by \e types is used as given. - * - If the method identified by \e name does exist, its \c IMP is replaced as if \c method_setImplementation were called. - * The type encoding specified by \e types is ignored. - */ -OBJC_EXPORT IMP _Nullable -class_replaceMethod(Class _Nullable cls, SEL _Nonnull name, IMP _Nonnull imp, - const char * _Nullable types) - OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0); - -/** - * Adds a new instance variable to a class. - * - * @return YES if the instance variable was added successfully, otherwise NO - * (for example, the class already contains an instance variable with that name). - * - * @note This function may only be called after objc_allocateClassPair and before objc_registerClassPair. - * Adding an instance variable to an existing class is not supported. - * @note The class must not be a metaclass. Adding an instance variable to a metaclass is not supported. - * @note The instance variable's minimum alignment in bytes is 1< Type Encodings. - */ -OBJC_EXPORT const char * _Nullable -ivar_getTypeEncoding(Ivar _Nonnull v) - OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0); - -/** - * Returns the offset of an instance variable. - * - * @param v The instance variable you want to enquire about. - * - * @return The offset of \e v. - * - * @note For instance variables of type \c id or other object types, call \c object_getIvar - * and \c object_setIvar instead of using this offset to access the instance variable data directly. - */ -OBJC_EXPORT ptrdiff_t -ivar_getOffset(Ivar _Nonnull v) - OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0); - - -/* Working with Properties */ - -/** - * Returns the name of a property. - * - * @param property The property you want to inquire about. - * - * @return A C string containing the property's name. - */ -OBJC_EXPORT const char * _Nonnull -property_getName(objc_property_t _Nonnull property) - OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0); - -/** - * Returns the attribute string of a property. - * - * @param property A property. - * - * @return A C string containing the property's attributes. - * - * @note The format of the attribute string is described in Declared Properties in Objective-C Runtime Programming Guide. - */ -OBJC_EXPORT const char * _Nullable -property_getAttributes(objc_property_t _Nonnull property) - OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0); - -/** - * Returns an array of property attributes for a property. - * - * @param property The property whose attributes you want copied. - * @param outCount The number of attributes returned in the array. - * - * @return An array of property attributes; must be free'd() by the caller. - */ -OBJC_EXPORT objc_property_attribute_t * _Nullable -property_copyAttributeList(objc_property_t _Nonnull property, - unsigned int * _Nullable outCount) - OBJC_AVAILABLE(10.7, 4.3, 9.0, 1.0, 2.0); - -/** - * Returns the value of a property attribute given the attribute name. - * - * @param property The property whose attribute value you are interested in. - * @param attributeName C string representing the attribute name. - * - * @return The value string of the attribute \e attributeName if it exists in - * \e property, \c nil otherwise. - */ -OBJC_EXPORT char * _Nullable -property_copyAttributeValue(objc_property_t _Nonnull property, - const char * _Nonnull attributeName) - OBJC_AVAILABLE(10.7, 4.3, 9.0, 1.0, 2.0); - - -/* Working with Protocols */ - -/** - * Returns a specified protocol. - * - * @param name The name of a protocol. - * - * @return The protocol named \e name, or \c NULL if no protocol named \e name could be found. - * - * @note This function acquires the runtime lock. - */ -OBJC_EXPORT Protocol * _Nullable -objc_getProtocol(const char * _Nonnull name) - OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0); - -/** - * Returns an array of all the protocols known to the runtime. - * - * @param outCount Upon return, contains the number of protocols in the returned array. - * - * @return A C array of all the protocols known to the runtime. The array contains \c *outCount - * pointers followed by a \c NULL terminator. You must free the list with \c free(). - * - * @note This function acquires the runtime lock. - */ -OBJC_EXPORT Protocol * __unsafe_unretained _Nonnull * _Nullable -objc_copyProtocolList(unsigned int * _Nullable outCount) - OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0); - -/** - * Returns a Boolean value that indicates whether one protocol conforms to another protocol. - * - * @param proto A protocol. - * @param other A protocol. - * - * @return \c YES if \e proto conforms to \e other, otherwise \c NO. - * - * @note One protocol can incorporate other protocols using the same syntax - * that classes use to adopt a protocol: - * \code - * @protocol ProtocolName < protocol list > - * \endcode - * All the protocols listed between angle brackets are considered part of the ProtocolName protocol. - */ -OBJC_EXPORT BOOL -protocol_conformsToProtocol(Protocol * _Nullable proto, - Protocol * _Nullable other) - OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0); - -/** - * Returns a Boolean value that indicates whether two protocols are equal. - * - * @param proto A protocol. - * @param other A protocol. - * - * @return \c YES if \e proto is the same as \e other, otherwise \c NO. - */ -OBJC_EXPORT BOOL -protocol_isEqual(Protocol * _Nullable proto, Protocol * _Nullable other) - OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0); - -/** - * Returns the name of a protocol. - * - * @param proto A protocol. - * - * @return The name of the protocol \e p as a C string. - */ -OBJC_EXPORT const char * _Nonnull -protocol_getName(Protocol * _Nonnull proto) - OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0); - -/** - * Returns a method description structure for a specified method of a given protocol. - * - * @param proto A protocol. - * @param aSel A selector. - * @param isRequiredMethod A Boolean value that indicates whether aSel is a required method. - * @param isInstanceMethod A Boolean value that indicates whether aSel is an instance method. - * - * @return An \c objc_method_description structure that describes the method specified by \e aSel, - * \e isRequiredMethod, and \e isInstanceMethod for the protocol \e p. - * If the protocol does not contain the specified method, returns an \c objc_method_description structure - * with the value \c {NULL, \c NULL}. - * - * @note This function recursively searches any protocols that this protocol conforms to. - */ -OBJC_EXPORT struct objc_method_description -protocol_getMethodDescription(Protocol * _Nonnull proto, SEL _Nonnull aSel, - BOOL isRequiredMethod, BOOL isInstanceMethod) - OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0); - -/** - * Returns an array of method descriptions of methods meeting a given specification for a given protocol. - * - * @param proto A protocol. - * @param isRequiredMethod A Boolean value that indicates whether returned methods should - * be required methods (pass YES to specify required methods). - * @param isInstanceMethod A Boolean value that indicates whether returned methods should - * be instance methods (pass YES to specify instance methods). - * @param outCount Upon return, contains the number of method description structures in the returned array. - * - * @return A C array of \c objc_method_description structures containing the names and types of \e p's methods - * specified by \e isRequiredMethod and \e isInstanceMethod. The array contains \c *outCount pointers followed - * by a \c NULL terminator. You must free the list with \c free(). - * If the protocol declares no methods that meet the specification, \c NULL is returned and \c *outCount is 0. - * - * @note Methods in other protocols adopted by this protocol are not included. - */ -OBJC_EXPORT struct objc_method_description * _Nullable -protocol_copyMethodDescriptionList(Protocol * _Nonnull proto, - BOOL isRequiredMethod, - BOOL isInstanceMethod, - unsigned int * _Nullable outCount) - OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0); - -/** - * Returns the specified property of a given protocol. - * - * @param proto A protocol. - * @param name The name of a property. - * @param isRequiredProperty \c YES searches for a required property, \c NO searches for an optional property. - * @param isInstanceProperty \c YES searches for an instance property, \c NO searches for a class property. - * - * @return The property specified by \e name, \e isRequiredProperty, and \e isInstanceProperty for \e proto, - * or \c NULL if none of \e proto's properties meets the specification. - */ -OBJC_EXPORT objc_property_t _Nullable -protocol_getProperty(Protocol * _Nonnull proto, - const char * _Nonnull name, - BOOL isRequiredProperty, BOOL isInstanceProperty) - OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0); - -/** - * Returns an array of the required instance properties declared by a protocol. - * - * @note Identical to - * \code - * protocol_copyPropertyList2(proto, outCount, YES, YES); - * \endcode - */ -OBJC_EXPORT objc_property_t _Nonnull * _Nullable -protocol_copyPropertyList(Protocol * _Nonnull proto, - unsigned int * _Nullable outCount) - OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0); - -/** - * Returns an array of properties declared by a protocol. - * - * @param proto A protocol. - * @param outCount Upon return, contains the number of elements in the returned array. - * @param isRequiredProperty \c YES returns required properties, \c NO returns optional properties. - * @param isInstanceProperty \c YES returns instance properties, \c NO returns class properties. - * - * @return A C array of pointers of type \c objc_property_t describing the properties declared by \e proto. - * Any properties declared by other protocols adopted by this protocol are not included. The array contains - * \c *outCount pointers followed by a \c NULL terminator. You must free the array with \c free(). - * If the protocol declares no matching properties, \c NULL is returned and \c *outCount is \c 0. - */ -OBJC_EXPORT objc_property_t _Nonnull * _Nullable -protocol_copyPropertyList2(Protocol * _Nonnull proto, - unsigned int * _Nullable outCount, - BOOL isRequiredProperty, BOOL isInstanceProperty) - OBJC_AVAILABLE(10.12, 10.0, 10.0, 3.0, 2.0); - -/** - * Returns an array of the protocols adopted by a protocol. - * - * @param proto A protocol. - * @param outCount Upon return, contains the number of elements in the returned array. - * - * @return A C array of protocols adopted by \e proto. The array contains \e *outCount pointers - * followed by a \c NULL terminator. You must free the array with \c free(). - * If the protocol adopts no other protocols, \c NULL is returned and \c *outCount is \c 0. - */ -OBJC_EXPORT Protocol * __unsafe_unretained _Nonnull * _Nullable -protocol_copyProtocolList(Protocol * _Nonnull proto, - unsigned int * _Nullable outCount) - OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0); - -/** - * Creates a new protocol instance that cannot be used until registered with - * \c objc_registerProtocol() - * - * @param name The name of the protocol to create. - * - * @return The Protocol instance on success, \c nil if a protocol - * with the same name already exists. - * @note There is no dispose method for this. - */ -OBJC_EXPORT Protocol * _Nullable -objc_allocateProtocol(const char * _Nonnull name) - OBJC_AVAILABLE(10.7, 4.3, 9.0, 1.0, 2.0); - -/** - * Registers a newly constructed protocol with the runtime. The protocol - * will be ready for use and is immutable after this. - * - * @param proto The protocol you want to register. - */ -OBJC_EXPORT void -objc_registerProtocol(Protocol * _Nonnull proto) - OBJC_AVAILABLE(10.7, 4.3, 9.0, 1.0, 2.0); - -/** - * Adds a method to a protocol. The protocol must be under construction. - * - * @param proto The protocol to add a method to. - * @param name The name of the method to add. - * @param types A C string that represents the method signature. - * @param isRequiredMethod YES if the method is not an optional method. - * @param isInstanceMethod YES if the method is an instance method. - */ -OBJC_EXPORT void -protocol_addMethodDescription(Protocol * _Nonnull proto, SEL _Nonnull name, - const char * _Nullable types, - BOOL isRequiredMethod, BOOL isInstanceMethod) - OBJC_AVAILABLE(10.7, 4.3, 9.0, 1.0, 2.0); - -/** - * Adds an incorporated protocol to another protocol. The protocol being - * added to must still be under construction, while the additional protocol - * must be already constructed. - * - * @param proto The protocol you want to add to, it must be under construction. - * @param addition The protocol you want to incorporate into \e proto, it must be registered. - */ -OBJC_EXPORT void -protocol_addProtocol(Protocol * _Nonnull proto, Protocol * _Nonnull addition) - OBJC_AVAILABLE(10.7, 4.3, 9.0, 1.0, 2.0); - -/** - * Adds a property to a protocol. The protocol must be under construction. - * - * @param proto The protocol to add a property to. - * @param name The name of the property. - * @param attributes An array of property attributes. - * @param attributeCount The number of attributes in \e attributes. - * @param isRequiredProperty YES if the property (accessor methods) is not optional. - * @param isInstanceProperty YES if the property (accessor methods) are instance methods. - * This is the only case allowed fo a property, as a result, setting this to NO will - * not add the property to the protocol at all. - */ -OBJC_EXPORT void -protocol_addProperty(Protocol * _Nonnull proto, const char * _Nonnull name, - const objc_property_attribute_t * _Nullable attributes, - unsigned int attributeCount, - BOOL isRequiredProperty, BOOL isInstanceProperty) - OBJC_AVAILABLE(10.7, 4.3, 9.0, 1.0, 2.0); - - -/* Working with Libraries */ - -/** - * Returns the names of all the loaded Objective-C frameworks and dynamic - * libraries. - * - * @param outCount The number of names returned. - * - * @return An array of C strings of names. Must be free()'d by caller. - */ -OBJC_EXPORT const char * _Nonnull * _Nonnull -objc_copyImageNames(unsigned int * _Nullable outCount) - OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0); - -/** - * Returns the dynamic library name a class originated from. - * - * @param cls The class you are inquiring about. - * - * @return The name of the library containing this class. - */ -OBJC_EXPORT const char * _Nullable -class_getImageName(Class _Nullable cls) - OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0); - -/** - * Returns the names of all the classes within a library. - * - * @param image The library or framework you are inquiring about. - * @param outCount The number of class names returned. - * - * @return An array of C strings representing the class names. - */ -OBJC_EXPORT const char * _Nonnull * _Nullable -objc_copyClassNamesForImage(const char * _Nonnull image, - unsigned int * _Nullable outCount) - OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0); - - -/* Working with Selectors */ - -/** - * Returns the name of the method specified by a given selector. - * - * @param sel A pointer of type \c SEL. Pass the selector whose name you wish to determine. - * - * @return A C string indicating the name of the selector. - */ -OBJC_EXPORT const char * _Nonnull -sel_getName(SEL _Nonnull sel) - OBJC_AVAILABLE(10.0, 2.0, 9.0, 1.0, 2.0); - - -/** - * Registers a method with the Objective-C runtime system, maps the method - * name to a selector, and returns the selector value. - * - * @param str A pointer to a C string. Pass the name of the method you wish to register. - * - * @return A pointer of type SEL specifying the selector for the named method. - * - * @note You must register a method name with the Objective-C runtime system to obtain the - * method’s selector before you can add the method to a class definition. If the method name - * has already been registered, this function simply returns the selector. - */ -OBJC_EXPORT SEL _Nonnull -sel_registerName(const char * _Nonnull str) - OBJC_AVAILABLE(10.0, 2.0, 9.0, 1.0, 2.0); - -/** - * Returns a Boolean value that indicates whether two selectors are equal. - * - * @param lhs The selector to compare with rhs. - * @param rhs The selector to compare with lhs. - * - * @return \c YES if \e lhs and \e rhs are equal, otherwise \c NO. - * - * @note sel_isEqual is equivalent to ==. - */ -OBJC_EXPORT BOOL -sel_isEqual(SEL _Nonnull lhs, SEL _Nonnull rhs) - OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0); - - -/* Objective-C Language Features */ - -/** - * This function is inserted by the compiler when a mutation - * is detected during a foreach iteration. It gets called - * when a mutation occurs, and the enumerationMutationHandler - * is enacted if it is set up. A fatal error occurs if a handler is not set up. - * - * @param obj The object being mutated. - * - */ -OBJC_EXPORT void -objc_enumerationMutation(id _Nonnull obj) - OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0); - -/** - * Sets the current mutation handler. - * - * @param handler Function pointer to the new mutation handler. - */ -OBJC_EXPORT void -objc_setEnumerationMutationHandler(void (*_Nullable handler)(id _Nonnull )) - OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0); - -/** - * Set the function to be called by objc_msgForward. - * - * @param fwd Function to be jumped to by objc_msgForward. - * @param fwd_stret Function to be jumped to by objc_msgForward_stret. - * - * @see message.h::_objc_msgForward - */ -OBJC_EXPORT void -objc_setForwardHandler(void * _Nonnull fwd, void * _Nonnull fwd_stret) - OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0); - -/** - * Creates a pointer to a function that will call the block - * when the method is called. - * - * @param block The block that implements this method. Its signature should - * be: method_return_type ^(id self, method_args...). - * The selector is not available as a parameter to this block. - * The block is copied with \c Block_copy(). - * - * @return The IMP that calls this block. Must be disposed of with - * \c imp_removeBlock. - */ -OBJC_EXPORT IMP _Nonnull -imp_implementationWithBlock(id _Nonnull block) - OBJC_AVAILABLE(10.7, 4.3, 9.0, 1.0, 2.0); - -/** - * Return the block associated with an IMP that was created using - * \c imp_implementationWithBlock. - * - * @param anImp The IMP that calls this block. - * - * @return The block called by \e anImp. - */ -OBJC_EXPORT id _Nullable -imp_getBlock(IMP _Nonnull anImp) - OBJC_AVAILABLE(10.7, 4.3, 9.0, 1.0, 2.0); - -/** - * Disassociates a block from an IMP that was created using - * \c imp_implementationWithBlock and releases the copy of the - * block that was created. - * - * @param anImp An IMP that was created using \c imp_implementationWithBlock. - * - * @return YES if the block was released successfully, NO otherwise. - * (For example, the block might not have been used to create an IMP previously). - */ -OBJC_EXPORT BOOL -imp_removeBlock(IMP _Nonnull anImp) - OBJC_AVAILABLE(10.7, 4.3, 9.0, 1.0, 2.0); - -/** - * This loads the object referenced by a weak pointer and returns it, after - * retaining and autoreleasing the object to ensure that it stays alive - * long enough for the caller to use it. This function would be used - * anywhere a __weak variable is used in an expression. - * - * @param location The weak pointer address - * - * @return The object pointed to by \e location, or \c nil if \e *location is \c nil. - */ -OBJC_EXPORT id _Nullable -objc_loadWeak(id _Nullable * _Nonnull location) - OBJC_AVAILABLE(10.7, 5.0, 9.0, 1.0, 2.0); - -/** - * This function stores a new value into a __weak variable. It would - * be used anywhere a __weak variable is the target of an assignment. - * - * @param location The address of the weak pointer itself - * @param obj The new object this weak ptr should now point to - * - * @return The value stored into \e location, i.e. \e obj - */ -OBJC_EXPORT id _Nullable -objc_storeWeak(id _Nullable * _Nonnull location, id _Nullable obj) - OBJC_AVAILABLE(10.7, 5.0, 9.0, 1.0, 2.0); - - -/* Associative References */ - -/** - * Policies related to associative references. - * These are options to objc_setAssociatedObject() - */ -typedef OBJC_ENUM(uintptr_t, objc_AssociationPolicy) { - OBJC_ASSOCIATION_ASSIGN = 0, /**< Specifies a weak reference to the associated object. */ - OBJC_ASSOCIATION_RETAIN_NONATOMIC = 1, /**< Specifies a strong reference to the associated object. - * The association is not made atomically. */ - OBJC_ASSOCIATION_COPY_NONATOMIC = 3, /**< Specifies that the associated object is copied. - * The association is not made atomically. */ - OBJC_ASSOCIATION_RETAIN = 01401, /**< Specifies a strong reference to the associated object. - * The association is made atomically. */ - OBJC_ASSOCIATION_COPY = 01403 /**< Specifies that the associated object is copied. - * The association is made atomically. */ -}; - -/** - * Sets an associated value for a given object using a given key and association policy. - * - * @param object The source object for the association. - * @param key The key for the association. - * @param value The value to associate with the key key for object. Pass nil to clear an existing association. - * @param policy The policy for the association. For possible values, see “Associative Object Behaviors.” - * - * @see objc_setAssociatedObject - * @see objc_removeAssociatedObjects - */ -OBJC_EXPORT void -objc_setAssociatedObject(id _Nonnull object, const void * _Nonnull key, - id _Nullable value, objc_AssociationPolicy policy) - OBJC_AVAILABLE(10.6, 3.1, 9.0, 1.0, 2.0); - -/** - * Returns the value associated with a given object for a given key. - * - * @param object The source object for the association. - * @param key The key for the association. - * - * @return The value associated with the key \e key for \e object. - * - * @see objc_setAssociatedObject - */ -OBJC_EXPORT id _Nullable -objc_getAssociatedObject(id _Nonnull object, const void * _Nonnull key) - OBJC_AVAILABLE(10.6, 3.1, 9.0, 1.0, 2.0); - -/** - * Removes all associations for a given object. - * - * @param object An object that maintains associated objects. - * - * @note The main purpose of this function is to make it easy to return an object - * to a "pristine state”. You should not use this function for general removal of - * associations from objects, since it also removes associations that other clients - * may have added to the object. Typically you should use \c objc_setAssociatedObject - * with a nil value to clear an association. - * - * @see objc_setAssociatedObject - * @see objc_getAssociatedObject - */ -OBJC_EXPORT void -objc_removeAssociatedObjects(id _Nonnull object) - OBJC_AVAILABLE(10.6, 3.1, 9.0, 1.0, 2.0); - - -/* Hooks for Swift */ - -/** - * Function type for a hook that intercepts class_getImageName(). - * - * @param cls The class whose image name is being looked up. - * @param outImageName On return, the result of the image name lookup. - * @return YES if an image name for this class was found, NO otherwise. - * - * @see class_getImageName - * @see objc_setHook_getImageName - */ -typedef BOOL (*objc_hook_getImageName)(Class _Nonnull cls, const char * _Nullable * _Nonnull outImageName); - -/** - * Install a hook for class_getImageName(). - * - * @param newValue The hook function to install. - * @param outOldValue The address of a function pointer variable. On return, - * the old hook function is stored in the variable. - * - * @note The store to *outOldValue is thread-safe: the variable will be - * updated before class_getImageName() calls your new hook to read it, - * even if your new hook is called from another thread before this - * setter completes. - * @note The first hook in the chain is the native implementation of - * class_getImageName(). Your hook should call the previous hook for - * classes that you do not recognize. - * - * @see class_getImageName - * @see objc_hook_getImageName - */ -OBJC_EXPORT void objc_setHook_getImageName(objc_hook_getImageName _Nonnull newValue, - objc_hook_getImageName _Nullable * _Nonnull outOldValue) - OBJC_AVAILABLE(10.14, 12.0, 12.0, 5.0, 3.0); - -/** - * Function type for a hook that assists objc_getClass() and related functions. - * - * @param name The class name to look up. - * @param outClass On return, the result of the class lookup. - * @return YES if a class with this name was found, NO otherwise. - * - * @see objc_getClass - * @see objc_setHook_getClass - */ -typedef BOOL (*objc_hook_getClass)(const char * _Nonnull name, Class _Nullable * _Nonnull outClass); - -/** - * Install a hook for objc_getClass() and related functions. - * - * @param newValue The hook function to install. - * @param outOldValue The address of a function pointer variable. On return, - * the old hook function is stored in the variable. - * - * @note The store to *outOldValue is thread-safe: the variable will be - * updated before objc_getClass() calls your new hook to read it, - * even if your new hook is called from another thread before this - * setter completes. - * @note Your hook should call the previous hook for class names - * that you do not recognize. - * - * @see objc_getClass - * @see objc_hook_getClass - */ -#if !(TARGET_OS_OSX && __i386__) -#define OBJC_GETCLASSHOOK_DEFINED 1 -OBJC_EXPORT void objc_setHook_getClass(objc_hook_getClass _Nonnull newValue, - objc_hook_getClass _Nullable * _Nonnull outOldValue) - OBJC_AVAILABLE(10.14.4, 12.2, 12.2, 5.2, 3.2); -#endif - -/** - * Function type for a function that is called when an image is loaded. - * - * @param header The newly loaded header. - */ -struct mach_header; -typedef void (*objc_func_loadImage)(const struct mach_header * _Nonnull header); - -/** - * Add a function to be called when a new image is loaded. The function is - * called after ObjC has scanned and fixed up the image. It is called - * BEFORE +load methods are invoked. - * - * When adding a new function, that function is immediately called with all - * images that are currently loaded. It is then called as needed for images - * that are loaded afterwards. - * - * Note: the function is called with ObjC's internal runtime lock held. - * Be VERY careful with what the function does to avoid deadlocks or - * poor performance. - * - * @param func The function to add. - */ -#define OBJC_ADDLOADIMAGEFUNC_DEFINED 1 -OBJC_EXPORT void objc_addLoadImageFunc(objc_func_loadImage _Nonnull func) - OBJC_AVAILABLE(10.15, 13.0, 13.0, 6.0, 4.0); - -/** - * Function type for a hook that provides a name for lazily named classes. - * - * @param cls The class to generate a name for. - * @return The name of the class, or NULL if the name isn't known or can't me generated. - * - * @see objc_setHook_lazyClassNamer - */ -typedef const char * _Nullable (*objc_hook_lazyClassNamer)(_Nonnull Class cls); - -/** - * Install a hook to provide a name for lazily-named classes. - * - * @param newValue The hook function to install. - * @param outOldValue The address of a function pointer variable. On return, - * the old hook function is stored in the variable. - * - * @note The store to *outOldValue is thread-safe: the variable will be - * updated before objc_getClass() calls your new hook to read it, - * even if your new hook is called from another thread before this - * setter completes. - * @note Your hook must call the previous hook for class names - * that you do not recognize. - */ -#if !(TARGET_OS_OSX && __i386__) -#define OBJC_SETHOOK_LAZYCLASSNAMER_DEFINED 1 -OBJC_EXPORT -void objc_setHook_lazyClassNamer(_Nonnull objc_hook_lazyClassNamer newValue, - _Nonnull objc_hook_lazyClassNamer * _Nonnull oldOutValue) - OBJC_AVAILABLE(11.0, 14.0, 14.0, 7.0, 5.0); -#endif - -/** - * Callback from Objective-C to Swift to perform Swift class initialization. - */ -#if !(TARGET_OS_OSX && __i386__) -typedef Class _Nullable -(*_objc_swiftMetadataInitializer)(Class _Nonnull cls, void * _Nullable arg); -#endif - - -/** - * Perform Objective-C initialization of a Swift class. - * Do not call this function. It is provided for the Swift runtime's use only - * and will change without notice or mercy. - */ -#if !(TARGET_OS_OSX && __i386__) -#define OBJC_REALIZECLASSFROMSWIFT_DEFINED 1 -OBJC_EXPORT Class _Nullable -_objc_realizeClassFromSwift(Class _Nullable cls, void * _Nullable previously) - OBJC_AVAILABLE(10.14.4, 12.2, 12.2, 5.2, 3.2); -#endif - -// Type encoding characters -#define _C_ID '@' -#define _C_CLASS '#' -#define _C_SEL ':' -#define _C_CHR 'c' -#define _C_UCHR 'C' -#define _C_SHT 's' -#define _C_USHT 'S' -#define _C_INT 'i' -#define _C_UINT 'I' -#define _C_LNG 'l' -#define _C_ULNG 'L' -#define _C_LNG_LNG 'q' -#define _C_ULNG_LNG 'Q' -#define _C_INT128 't' -#define _C_UINT128 'T' -#define _C_FLT 'f' -#define _C_DBL 'd' -#define _C_LNG_DBL 'D' -#define _C_BFLD 'b' -#define _C_BOOL 'B' -#define _C_VOID 'v' -#define _C_UNDEF '?' -#define _C_PTR '^' -#define _C_CHARPTR '*' -#define _C_ATOM '%' -#define _C_ARY_B '[' -#define _C_ARY_E ']' -#define _C_UNION_B '(' -#define _C_UNION_E ')' -#define _C_STRUCT_B '{' -#define _C_STRUCT_E '}' -#define _C_VECTOR '!' - -// Modifiers -#define _C_COMPLEX 'j' -#define _C_ATOMIC 'A' -#define _C_CONST 'r' -#define _C_IN 'n' -#define _C_INOUT 'N' -#define _C_OUT 'o' -#define _C_BYCOPY 'O' -#define _C_BYREF 'R' -#define _C_ONEWAY 'V' -#define _C_GNUREGISTER '+' - -struct objc_method_list; - -/* Obsolete functions */ - -OBJC_EXPORT IMP _Nullable -class_lookupMethod(Class _Nullable cls, SEL _Nonnull sel) - __OSX_DEPRECATED(10.0, 10.5, "use class_getMethodImplementation instead") - __IOS_DEPRECATED(2.0, 2.0, "use class_getMethodImplementation instead") - __TVOS_DEPRECATED(9.0, 9.0, "use class_getMethodImplementation instead") - __WATCHOS_DEPRECATED(1.0, 1.0, "use class_getMethodImplementation instead") - -; -OBJC_EXPORT BOOL -class_respondsToMethod(Class _Nullable cls, SEL _Nonnull sel) - __OSX_DEPRECATED(10.0, 10.5, "use class_respondsToSelector instead") - __IOS_DEPRECATED(2.0, 2.0, "use class_respondsToSelector instead") - __TVOS_DEPRECATED(9.0, 9.0, "use class_respondsToSelector instead") - __WATCHOS_DEPRECATED(1.0, 1.0, "use class_respondsToSelector instead") - -; - -OBJC_EXPORT void -_objc_flush_caches(Class _Nullable cls) - __OSX_DEPRECATED(10.0, 10.5, "not recommended") - __IOS_DEPRECATED(2.0, 2.0, "not recommended") - __TVOS_DEPRECATED(9.0, 9.0, "not recommended") - __WATCHOS_DEPRECATED(1.0, 1.0, "not recommended") - -; - -OBJC_EXPORT id _Nullable -object_copyFromZone(id _Nullable anObject, size_t nBytes, void * _Nullable z) - OBJC_OSX_DEPRECATED_OTHERS_UNAVAILABLE(10.0, 10.5, "use object_copy instead"); - -OBJC_EXPORT id _Nullable -class_createInstanceFromZone(Class _Nullable, size_t idxIvars, - void * _Nullable z) - OBJC_OSX_DEPRECATED_OTHERS_UNAVAILABLE(10.0, 10.5, "use class_createInstance instead"); - -#endif \ No newline at end of file diff --git a/lib/libc/include/any-macos.12-any/os/base.h b/lib/libc/include/any-macos.12-any/os/base.h deleted file mode 100644 index 0f0cf26da1..0000000000 --- a/lib/libc/include/any-macos.12-any/os/base.h +++ /dev/null @@ -1,328 +0,0 @@ -/* - * Copyright (c) 2008-2020 Apple Inc. All rights reserved. - * - * @APPLE_APACHE_LICENSE_HEADER_START@ - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * @APPLE_APACHE_LICENSE_HEADER_END@ - */ - -#ifndef __OS_BASE__ -#define __OS_BASE__ - -#include - - -#ifndef __has_builtin -#define __has_builtin(x) 0 -#endif -#ifndef __has_include -#define __has_include(x) 0 -#endif -#ifndef __has_feature -#define __has_feature(x) 0 -#endif -#ifndef __has_attribute -#define __has_attribute(x) 0 -#endif -#ifndef __has_extension -#define __has_extension(x) 0 -#endif - -#undef OS_INLINE // -#if __GNUC__ -#define OS_NORETURN __attribute__((__noreturn__)) -#define OS_NOTHROW __attribute__((__nothrow__)) -#define OS_NONNULL1 __attribute__((__nonnull__(1))) -#define OS_NONNULL2 __attribute__((__nonnull__(2))) -#define OS_NONNULL3 __attribute__((__nonnull__(3))) -#define OS_NONNULL4 __attribute__((__nonnull__(4))) -#define OS_NONNULL5 __attribute__((__nonnull__(5))) -#define OS_NONNULL6 __attribute__((__nonnull__(6))) -#define OS_NONNULL7 __attribute__((__nonnull__(7))) -#define OS_NONNULL8 __attribute__((__nonnull__(8))) -#define OS_NONNULL9 __attribute__((__nonnull__(9))) -#define OS_NONNULL10 __attribute__((__nonnull__(10))) -#define OS_NONNULL11 __attribute__((__nonnull__(11))) -#define OS_NONNULL12 __attribute__((__nonnull__(12))) -#define OS_NONNULL13 __attribute__((__nonnull__(13))) -#define OS_NONNULL14 __attribute__((__nonnull__(14))) -#define OS_NONNULL15 __attribute__((__nonnull__(15))) -#define OS_NONNULL_ALL __attribute__((__nonnull__)) -#define OS_SENTINEL __attribute__((__sentinel__)) -#define OS_PURE __attribute__((__pure__)) -#define OS_CONST __attribute__((__const__)) -#define OS_WARN_RESULT __attribute__((__warn_unused_result__)) -#define OS_MALLOC __attribute__((__malloc__)) -#define OS_USED __attribute__((__used__)) -#define OS_UNUSED __attribute__((__unused__)) -#define OS_COLD __attribute__((__cold__)) -#define OS_WEAK __attribute__((__weak__)) -#define OS_WEAK_IMPORT __attribute__((__weak_import__)) -#define OS_NOINLINE __attribute__((__noinline__)) -#define OS_ALWAYS_INLINE __attribute__((__always_inline__)) -#define OS_TRANSPARENT_UNION __attribute__((__transparent_union__)) -#define OS_ALIGNED(n) __attribute__((__aligned__((n)))) -#define OS_FORMAT_PRINTF(x, y) __attribute__((__format__(printf,x,y))) -#define OS_EXPORT extern __attribute__((__visibility__("default"))) -#define OS_INLINE static __inline__ -#define OS_EXPECT(x, v) __builtin_expect((x), (v)) -#else -#define OS_NORETURN -#define OS_NOTHROW -#define OS_NONNULL1 -#define OS_NONNULL2 -#define OS_NONNULL3 -#define OS_NONNULL4 -#define OS_NONNULL5 -#define OS_NONNULL6 -#define OS_NONNULL7 -#define OS_NONNULL8 -#define OS_NONNULL9 -#define OS_NONNULL10 -#define OS_NONNULL11 -#define OS_NONNULL12 -#define OS_NONNULL13 -#define OS_NONNULL14 -#define OS_NONNULL15 -#define OS_NONNULL_ALL -#define OS_SENTINEL -#define OS_PURE -#define OS_CONST -#define OS_WARN_RESULT -#define OS_MALLOC -#define OS_USED -#define OS_UNUSED -#define OS_COLD -#define OS_WEAK -#define OS_WEAK_IMPORT -#define OS_NOINLINE -#define OS_ALWAYS_INLINE -#define OS_TRANSPARENT_UNION -#define OS_ALIGNED(n) -#define OS_FORMAT_PRINTF(x, y) -#define OS_EXPORT extern -#define OS_INLINE static inline -#define OS_EXPECT(x, v) (x) -#endif - -#if __has_attribute(noescape) -#define OS_NOESCAPE __attribute__((__noescape__)) -#else -#define OS_NOESCAPE -#endif - -#if defined(__cplusplus) && defined(__clang__) -#define OS_FALLTHROUGH [[clang::fallthrough]] -#elif __has_attribute(fallthrough) -#define OS_FALLTHROUGH __attribute__((__fallthrough__)) -#else -#define OS_FALLTHROUGH -#endif - -#if __has_feature(assume_nonnull) -#define OS_ASSUME_NONNULL_BEGIN _Pragma("clang assume_nonnull begin") -#define OS_ASSUME_NONNULL_END _Pragma("clang assume_nonnull end") -#else -#define OS_ASSUME_NONNULL_BEGIN -#define OS_ASSUME_NONNULL_END -#endif - -#if __has_builtin(__builtin_assume) -#define OS_COMPILER_CAN_ASSUME(expr) __builtin_assume(expr) -#else -#define OS_COMPILER_CAN_ASSUME(expr) ((void)(expr)) -#endif - -#if __has_extension(attribute_overloadable) -#define OS_OVERLOADABLE __attribute__((__overloadable__)) -#else -#define OS_OVERLOADABLE -#endif - -#if __has_attribute(analyzer_suppress) -#define OS_ANALYZER_SUPPRESS(RADAR) __attribute__((analyzer_suppress)) -#else -#define OS_ANALYZER_SUPPRESS(RADAR) -#endif - -#if __has_attribute(enum_extensibility) -#define __OS_ENUM_ATTR __attribute__((enum_extensibility(open))) -#define __OS_ENUM_ATTR_CLOSED __attribute__((enum_extensibility(closed))) -#else -#define __OS_ENUM_ATTR -#define __OS_ENUM_ATTR_CLOSED -#endif // __has_attribute(enum_extensibility) - -#if __has_attribute(flag_enum) -/*! - * Compile with -Wflag-enum and -Wassign-enum to enforce at definition and - * assignment, respectively, i.e. -Wflag-enum prevents you from creating new - * enumeration values from illegal values within the enum definition, and - * -Wassign-enum prevents you from assigning illegal values to a variable of the - * enum type. - */ -#define __OS_OPTIONS_ATTR __attribute__((flag_enum)) -#else -#define __OS_OPTIONS_ATTR -#endif // __has_attribute(flag_enum) - -#if __has_feature(objc_fixed_enum) || __has_extension(cxx_fixed_enum) || \ - __has_extension(cxx_strong_enums) -#define OS_ENUM(_name, _type, ...) \ - typedef enum : _type { __VA_ARGS__ } _name##_t -#define OS_CLOSED_ENUM(_name, _type, ...) \ - typedef enum : _type { __VA_ARGS__ } __OS_ENUM_ATTR_CLOSED _name##_t -#define OS_OPTIONS(_name, _type, ...) \ - typedef enum : _type { __VA_ARGS__ } __OS_ENUM_ATTR __OS_OPTIONS_ATTR _name##_t -#define OS_CLOSED_OPTIONS(_name, _type, ...) \ - typedef enum : _type { __VA_ARGS__ } __OS_ENUM_ATTR_CLOSED __OS_OPTIONS_ATTR _name##_t -#else -/*! - * There is unfortunately no good way in plain C to have both fixed-type enums - * and enforcement for clang's enum_extensibility extensions. The primary goal - * of these macros is to allow you to define an enum and specify its width in a - * single statement, and for plain C that is accomplished by defining an - * anonymous enum and then separately typedef'ing the requested type name to the - * requested underlying integer type. So the type emitted actually has no - * relationship at all to the enum, and therefore while the compiler could - * enforce enum extensibility if you used the enum type, it cannot do so if you - * use the "_t" type resulting from this expression. - * - * But we still define a named enum type and decorate it appropriately for you, - * so if you really want the enum extensibility enforcement, you can use the - * enum type yourself, i.e. when compiling with a C compiler: - * - * OS_CLOSED_ENUM(my_type, uint64_t, - * FOO, - * BAR, - * BAZ, - * ); - * - * my_type_t mt = 98; // legal - * enum my_type emt = 98; // illegal - * - * But be aware that the underlying enum type's width is subject only to the C - * language's guarantees -- namely that it will be compatible with int, char, - * and unsigned char. It is not safe to rely on the size of this type. - * - * When compiling in ObjC or C++, both of the above assignments are illegal. - */ -#define __OS_ENUM_C_FALLBACK(_name, _type, ...) \ - typedef _type _name##_t; enum _name { __VA_ARGS__ } - -#define OS_ENUM(_name, _type, ...) \ - typedef _type _name##_t; enum { __VA_ARGS__ } -#define OS_CLOSED_ENUM(_name, _type, ...) \ - __OS_ENUM_C_FALLBACK(_name, _type, ## __VA_ARGS__) \ - __OS_ENUM_ATTR_CLOSED -#define OS_OPTIONS(_name, _type, ...) \ - __OS_ENUM_C_FALLBACK(_name, _type, ## __VA_ARGS__) \ - __OS_ENUM_ATTR __OS_OPTIONS_ATTR -#define OS_CLOSED_OPTIONS(_name, _type, ...) \ - __OS_ENUM_C_FALLBACK(_name, _type, ## __VA_ARGS__) \ - __OS_ENUM_ATTR_CLOSED __OS_OPTIONS_ATTR -#endif // __has_feature(objc_fixed_enum) || __has_extension(cxx_strong_enums) - -#if __has_feature(attribute_availability_swift) -// equivalent to __SWIFT_UNAVAILABLE from Availability.h -#define OS_SWIFT_UNAVAILABLE(_msg) \ - __attribute__((__availability__(swift, unavailable, message=_msg))) -#else -#define OS_SWIFT_UNAVAILABLE(_msg) -#endif - -#if __has_attribute(swift_private) -# define OS_REFINED_FOR_SWIFT __attribute__((__swift_private__)) -#else -# define OS_REFINED_FOR_SWIFT -#endif - -#if __has_attribute(swift_name) -# define OS_SWIFT_NAME(_name) __attribute__((__swift_name__(#_name))) -#else -# define OS_SWIFT_NAME(_name) -#endif - -#define __OS_STRINGIFY(s) #s -#define OS_STRINGIFY(s) __OS_STRINGIFY(s) -#define __OS_CONCAT(x, y) x ## y -#define OS_CONCAT(x, y) __OS_CONCAT(x, y) - -#ifdef __GNUC__ -#define os_prevent_tail_call_optimization() __asm__("") -#define os_is_compile_time_constant(expr) __builtin_constant_p(expr) -#define os_compiler_barrier() __asm__ __volatile__("" ::: "memory") -#else -#define os_prevent_tail_call_optimization() do { } while (0) -#define os_is_compile_time_constant(expr) 0 -#define os_compiler_barrier() do { } while (0) -#endif - -#if __has_attribute(not_tail_called) -#define OS_NOT_TAIL_CALLED __attribute__((__not_tail_called__)) -#else -#define OS_NOT_TAIL_CALLED -#endif - - -typedef void (*os_function_t)(void *_Nullable); - -#ifdef __BLOCKS__ -/*! - * @typedef os_block_t - * - * @abstract - * Generic type for a block taking no arguments and returning no value. - * - * @discussion - * When not building with Objective-C ARC, a block object allocated on or - * copied to the heap must be released with a -[release] message or the - * Block_release() function. - * - * The declaration of a block literal allocates storage on the stack. - * Therefore, this is an invalid construct: - * - * os_block_t block; - * if (x) { - * block = ^{ printf("true\n"); }; - * } else { - * block = ^{ printf("false\n"); }; - * } - * block(); // unsafe!!! - * - * - * What is happening behind the scenes: - * - * if (x) { - * struct Block __tmp_1 = ...; // setup details - * block = &__tmp_1; - * } else { - * struct Block __tmp_2 = ...; // setup details - * block = &__tmp_2; - * } - * - * - * As the example demonstrates, the address of a stack variable is escaping the - * scope in which it is allocated. That is a classic C bug. - * - * Instead, the block literal must be copied to the heap with the Block_copy() - * function or by sending it a -[copy] message. - */ -typedef void (^os_block_t)(void); -#endif - - - -#endif // __OS_BASE__ \ No newline at end of file diff --git a/lib/libc/include/any-macos.12-any/pthread.h b/lib/libc/include/any-macos.12-any/pthread.h deleted file mode 100644 index d3acf1896d..0000000000 --- a/lib/libc/include/any-macos.12-any/pthread.h +++ /dev/null @@ -1,727 +0,0 @@ -/* - * Copyright (c) 2000-2012 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@ - */ -/* - * Copyright 1996 1995 by Open Software Foundation, Inc. 1997 1996 1995 1994 1993 1992 1991 - * All Rights Reserved - * - * Permission to use, copy, modify, and distribute this software and - * its documentation for any purpose and without fee is hereby granted, - * provided that the above copyright notice appears in all copies and - * that both the copyright notice and this permission notice appear in - * supporting documentation. - * - * OSF DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE - * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE. - * - * IN NO EVENT SHALL OSF BE LIABLE FOR ANY SPECIAL, INDIRECT, OR - * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM - * LOSS OF USE, DATA OR PROFITS, WHETHER IN ACTION OF CONTRACT, - * NEGLIGENCE, OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION - * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - * - */ -/* - * MkLinux - */ - -/* - * POSIX Threads - IEEE 1003.1c - */ - -#ifndef _PTHREAD_H -#define _PTHREAD_H - -#include <_types.h> -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include - -#if (!defined(_POSIX_C_SOURCE) && !defined(_XOPEN_SOURCE)) || defined(_DARWIN_C_SOURCE) || defined(__cplusplus) - -#include -#include - -#endif /* (!_POSIX_C_SOURCE && !_XOPEN_SOURCE) || _DARWIN_C_SOURCE || __cplusplus */ - -/* - * These symbols indicate which [optional] features are available - * They can be tested at compile time via '#ifdef XXX' - * The way to check for pthreads is like so: - - * #include - * #ifdef _POSIX_THREADS - * #include - * #endif - - */ - -/* These will be moved to unistd.h */ - -/* - * Note: These data structures are meant to be opaque. Only enough - * structure is exposed to support initializers. - * All of the typedefs will be moved to - */ - -#include -#include - -#if __has_feature(assume_nonnull) -_Pragma("clang assume_nonnull begin") -#endif -__BEGIN_DECLS -/* - * Threads - */ - - -/* - * Cancel cleanup handler management. Note, since these are implemented as macros, - * they *MUST* occur in matched pairs! - */ - -#define pthread_cleanup_push(func, val) \ - { \ - struct __darwin_pthread_handler_rec __handler; \ - pthread_t __self = pthread_self(); \ - __handler.__routine = func; \ - __handler.__arg = val; \ - __handler.__next = __self->__cleanup_stack; \ - __self->__cleanup_stack = &__handler; - -#define pthread_cleanup_pop(execute) \ - /* Note: 'handler' must be in this same lexical context! */ \ - __self->__cleanup_stack = __handler.__next; \ - if (execute) (__handler.__routine)(__handler.__arg); \ - } - -/* - * Thread attributes - */ - -#define PTHREAD_CREATE_JOINABLE 1 -#define PTHREAD_CREATE_DETACHED 2 - -#define PTHREAD_INHERIT_SCHED 1 -#define PTHREAD_EXPLICIT_SCHED 2 - -#define PTHREAD_CANCEL_ENABLE 0x01 /* Cancel takes place at next cancellation point */ -#define PTHREAD_CANCEL_DISABLE 0x00 /* Cancel postponed */ -#define PTHREAD_CANCEL_DEFERRED 0x02 /* Cancel waits until cancellation point */ -#define PTHREAD_CANCEL_ASYNCHRONOUS 0x00 /* Cancel occurs immediately */ - -/* Value returned from pthread_join() when a thread is canceled */ -#define PTHREAD_CANCELED ((void *) 1) - -/* We only support PTHREAD_SCOPE_SYSTEM */ -#define PTHREAD_SCOPE_SYSTEM 1 -#define PTHREAD_SCOPE_PROCESS 2 - -#define PTHREAD_PROCESS_SHARED 1 -#define PTHREAD_PROCESS_PRIVATE 2 - -/* - * Mutex protocol attributes - */ -#define PTHREAD_PRIO_NONE 0 -#define PTHREAD_PRIO_INHERIT 1 -#define PTHREAD_PRIO_PROTECT 2 - -/* - * Mutex type attributes - */ -#define PTHREAD_MUTEX_NORMAL 0 -#define PTHREAD_MUTEX_ERRORCHECK 1 -#define PTHREAD_MUTEX_RECURSIVE 2 -#define PTHREAD_MUTEX_DEFAULT PTHREAD_MUTEX_NORMAL - -/* - * Mutex policy attributes - */ -#define PTHREAD_MUTEX_POLICY_FAIRSHARE_NP 1 -#define PTHREAD_MUTEX_POLICY_FIRSTFIT_NP 3 - -/* - * RWLock variables - */ -#define PTHREAD_RWLOCK_INITIALIZER {_PTHREAD_RWLOCK_SIG_init, {0}} - -/* - * Mutex variables - */ -#define PTHREAD_MUTEX_INITIALIZER {_PTHREAD_MUTEX_SIG_init, {0}} - -/* */ -#if ((__MAC_OS_X_VERSION_MIN_REQUIRED && __MAC_OS_X_VERSION_MIN_REQUIRED >= 1070) || (__IPHONE_OS_VERSION_MIN_REQUIRED && __IPHONE_OS_VERSION_MIN_REQUIRED >= 50000)) || defined(__DRIVERKIT_VERSION_MIN_REQUIRED) -# if (!defined(_POSIX_C_SOURCE) && !defined(_XOPEN_SOURCE)) || defined(_DARWIN_C_SOURCE) -# define PTHREAD_ERRORCHECK_MUTEX_INITIALIZER {_PTHREAD_ERRORCHECK_MUTEX_SIG_init, {0}} -# define PTHREAD_RECURSIVE_MUTEX_INITIALIZER {_PTHREAD_RECURSIVE_MUTEX_SIG_init, {0}} -# endif /* (!_POSIX_C_SOURCE && !_XOPEN_SOURCE) || _DARWIN_C_SOURCE */ -#endif - -/* */ -#define _PTHREAD_SWIFT_IMPORTER_NULLABILITY_COMPAT \ - defined(SWIFT_CLASS_EXTRA) && (!defined(SWIFT_SDK_OVERLAY_PTHREAD_EPOCH) || (SWIFT_SDK_OVERLAY_PTHREAD_EPOCH < 1)) - -/* - * Condition variable attributes - */ - -/* - * Condition variables - */ - -#define PTHREAD_COND_INITIALIZER {_PTHREAD_COND_SIG_init, {0}} - -/* - * Initialization control (once) variables - */ - -#define PTHREAD_ONCE_INIT {_PTHREAD_ONCE_SIG_init, {0}} - -/* - * Prototypes for all PTHREAD interfaces - */ -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_atfork(void (* _Nullable)(void), void (* _Nullable)(void), - void (* _Nullable)(void)); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_attr_destroy(pthread_attr_t *); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_attr_getdetachstate(const pthread_attr_t *, int *); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_attr_getguardsize(const pthread_attr_t * __restrict, size_t * __restrict); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_attr_getinheritsched(const pthread_attr_t * __restrict, int * __restrict); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_attr_getschedparam(const pthread_attr_t * __restrict, - struct sched_param * __restrict); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_attr_getschedpolicy(const pthread_attr_t * __restrict, int * __restrict); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_attr_getscope(const pthread_attr_t * __restrict, int * __restrict); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_attr_getstack(const pthread_attr_t * __restrict, - void * _Nullable * _Nonnull __restrict, size_t * __restrict); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_attr_getstackaddr(const pthread_attr_t * __restrict, - void * _Nullable * _Nonnull __restrict); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_attr_getstacksize(const pthread_attr_t * __restrict, size_t * __restrict); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_attr_init(pthread_attr_t *); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_attr_setdetachstate(pthread_attr_t *, int); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_attr_setguardsize(pthread_attr_t *, size_t); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_attr_setinheritsched(pthread_attr_t *, int); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_attr_setschedparam(pthread_attr_t * __restrict, - const struct sched_param * __restrict); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_attr_setschedpolicy(pthread_attr_t *, int); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_attr_setscope(pthread_attr_t *, int); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_attr_setstack(pthread_attr_t *, void *, size_t); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_attr_setstackaddr(pthread_attr_t *, void *); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_attr_setstacksize(pthread_attr_t *, size_t); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_cancel(pthread_t) __DARWIN_ALIAS(pthread_cancel); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_cond_broadcast(pthread_cond_t *); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_cond_destroy(pthread_cond_t *); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_cond_init( - pthread_cond_t * __restrict, - const pthread_condattr_t * _Nullable __restrict) - __DARWIN_ALIAS(pthread_cond_init); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_cond_signal(pthread_cond_t *); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_cond_timedwait( - pthread_cond_t * __restrict, pthread_mutex_t * __restrict, - const struct timespec * _Nullable __restrict) - __DARWIN_ALIAS_C(pthread_cond_timedwait); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_cond_wait(pthread_cond_t * __restrict, - pthread_mutex_t * __restrict) __DARWIN_ALIAS_C(pthread_cond_wait); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_condattr_destroy(pthread_condattr_t *); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_condattr_init(pthread_condattr_t *); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_condattr_getpshared(const pthread_condattr_t * __restrict, - int * __restrict); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_condattr_setpshared(pthread_condattr_t *, int); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -#if !_PTHREAD_SWIFT_IMPORTER_NULLABILITY_COMPAT -int pthread_create(pthread_t _Nullable * _Nonnull __restrict, - const pthread_attr_t * _Nullable __restrict, - void * _Nullable (* _Nonnull)(void * _Nullable), - void * _Nullable __restrict); -#else -int pthread_create(pthread_t * __restrict, - const pthread_attr_t * _Nullable __restrict, - void *(* _Nonnull)(void *), void * _Nullable __restrict); -#endif // _PTHREAD_SWIFT_IMPORTER_NULLABILITY_COMPAT - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_detach(pthread_t); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_equal(pthread_t _Nullable, pthread_t _Nullable); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -void pthread_exit(void * _Nullable) __dead2; - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_getconcurrency(void); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_getschedparam(pthread_t , int * _Nullable __restrict, - struct sched_param * _Nullable __restrict); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -void* _Nullable pthread_getspecific(pthread_key_t); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_join(pthread_t , void * _Nullable * _Nullable) - __DARWIN_ALIAS_C(pthread_join); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_key_create(pthread_key_t *, void (* _Nullable)(void *)); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_key_delete(pthread_key_t); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_mutex_destroy(pthread_mutex_t *); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_mutex_getprioceiling(const pthread_mutex_t * __restrict, - int * __restrict); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_mutex_init(pthread_mutex_t * __restrict, - const pthread_mutexattr_t * _Nullable __restrict); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_mutex_lock(pthread_mutex_t *); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_mutex_setprioceiling(pthread_mutex_t * __restrict, int, - int * __restrict); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_mutex_trylock(pthread_mutex_t *); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_mutex_unlock(pthread_mutex_t *); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_mutexattr_destroy(pthread_mutexattr_t *) __DARWIN_ALIAS(pthread_mutexattr_destroy); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_mutexattr_getprioceiling(const pthread_mutexattr_t * __restrict, - int * __restrict); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_mutexattr_getprotocol(const pthread_mutexattr_t * __restrict, - int * __restrict); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_mutexattr_getpshared(const pthread_mutexattr_t * __restrict, - int * __restrict); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_mutexattr_gettype(const pthread_mutexattr_t * __restrict, - int * __restrict); - -__API_AVAILABLE(macos(10.13.4), ios(11.3), watchos(4.3), tvos(11.3)) -int pthread_mutexattr_getpolicy_np(const pthread_mutexattr_t * __restrict, - int * __restrict); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_mutexattr_init(pthread_mutexattr_t *); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_mutexattr_setprioceiling(pthread_mutexattr_t *, int); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_mutexattr_setprotocol(pthread_mutexattr_t *, int); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_mutexattr_setpshared(pthread_mutexattr_t *, int); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_mutexattr_settype(pthread_mutexattr_t *, int); - -__API_AVAILABLE(macos(10.7), ios(5.0)) -int pthread_mutexattr_setpolicy_np(pthread_mutexattr_t *, int); - -__SWIFT_UNAVAILABLE_MSG("Use lazily initialized globals instead") -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_once(pthread_once_t *, void (* _Nonnull)(void)); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_rwlock_destroy(pthread_rwlock_t * ) __DARWIN_ALIAS(pthread_rwlock_destroy); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_rwlock_init(pthread_rwlock_t * __restrict, - const pthread_rwlockattr_t * _Nullable __restrict) - __DARWIN_ALIAS(pthread_rwlock_init); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_rwlock_rdlock(pthread_rwlock_t *) __DARWIN_ALIAS(pthread_rwlock_rdlock); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_rwlock_tryrdlock(pthread_rwlock_t *) __DARWIN_ALIAS(pthread_rwlock_tryrdlock); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_rwlock_trywrlock(pthread_rwlock_t *) __DARWIN_ALIAS(pthread_rwlock_trywrlock); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_rwlock_wrlock(pthread_rwlock_t *) __DARWIN_ALIAS(pthread_rwlock_wrlock); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_rwlock_unlock(pthread_rwlock_t *) __DARWIN_ALIAS(pthread_rwlock_unlock); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_rwlockattr_destroy(pthread_rwlockattr_t *); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_rwlockattr_getpshared(const pthread_rwlockattr_t * __restrict, - int * __restrict); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_rwlockattr_init(pthread_rwlockattr_t *); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_rwlockattr_setpshared(pthread_rwlockattr_t *, int); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -pthread_t pthread_self(void); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_setcancelstate(int , int * _Nullable) - __DARWIN_ALIAS(pthread_setcancelstate); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_setcanceltype(int , int * _Nullable) - __DARWIN_ALIAS(pthread_setcanceltype); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_setconcurrency(int); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_setschedparam(pthread_t, int, const struct sched_param *); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_setspecific(pthread_key_t , const void * _Nullable); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -void pthread_testcancel(void) __DARWIN_ALIAS(pthread_testcancel); - -#if (!defined(_POSIX_C_SOURCE) && !defined(_XOPEN_SOURCE)) || defined(_DARWIN_C_SOURCE) || defined(__cplusplus) - -/* returns non-zero if pthread_create or cthread_fork have been called */ -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_is_threaded_np(void); - -__API_AVAILABLE(macos(10.6), ios(3.2)) -int pthread_threadid_np(pthread_t _Nullable,__uint64_t* _Nullable); - -/*SPI to set and get pthread name*/ -__API_AVAILABLE(macos(10.6), ios(3.2)) -int pthread_getname_np(pthread_t,char*,size_t); - -__API_AVAILABLE(macos(10.6), ios(3.2)) -int pthread_setname_np(const char*); - -/* returns non-zero if the current thread is the main thread */ -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_main_np(void); - -/* return the mach thread bound to the pthread */ -__API_AVAILABLE(macos(10.4), ios(2.0)) -mach_port_t pthread_mach_thread_np(pthread_t); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -size_t pthread_get_stacksize_np(pthread_t); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -void* pthread_get_stackaddr_np(pthread_t); - -/* Like pthread_cond_signal(), but only wake up the specified pthread */ -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_cond_signal_thread_np(pthread_cond_t *, pthread_t _Nullable); - -/* Like pthread_cond_timedwait, but use a relative timeout */ -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_cond_timedwait_relative_np(pthread_cond_t *, pthread_mutex_t *, - const struct timespec * _Nullable); - -/* Like pthread_create(), but leaves the thread suspended */ -__API_AVAILABLE(macos(10.4), ios(2.0)) -#if !_PTHREAD_SWIFT_IMPORTER_NULLABILITY_COMPAT -int pthread_create_suspended_np( - pthread_t _Nullable * _Nonnull, const pthread_attr_t * _Nullable, - void * _Nullable (* _Nonnull)(void * _Nullable), void * _Nullable); -#else -int pthread_create_suspended_np(pthread_t *, const pthread_attr_t * _Nullable, - void *(* _Nonnull)(void *), void * _Nullable); -#endif - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_kill(pthread_t, int); - -__API_AVAILABLE(macos(10.5), ios(2.0)) -_Nullable pthread_t pthread_from_mach_thread_np(mach_port_t); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -int pthread_sigmask(int, const sigset_t * _Nullable, sigset_t * _Nullable) - __DARWIN_ALIAS(pthread_sigmask); - -__API_AVAILABLE(macos(10.4), ios(2.0)) -void pthread_yield_np(void); - -__API_AVAILABLE(macos(11.0)) -__API_UNAVAILABLE(ios, tvos, watchos, driverkit) -void pthread_jit_write_protect_np(int enabled); - -__API_AVAILABLE(macos(11.0)) -__API_UNAVAILABLE(ios, tvos, watchos, driverkit) -int pthread_jit_write_protect_supported_np(void); - -/*! - * @typedef pthread_jit_write_callback_t - * The type of a function that can be supplied to {@link - * pthread_jit_write_with_callback_np} to write to the MAP_JIT region while it - * is writeable. - * - * @param ctx - * A pointer to context that will be passed through to the callback function. - * - * @result - * A result code to be returned to the caller of @{link - * pthread_jit_write_with_callback_np}. The system does not interpret/act on - * the value of this result. - */ -typedef int (*pthread_jit_write_callback_t)(void * _Nullable ctx); - -/*! - * @define PTHREAD_JIT_WRITE_ALLOW_CALLBACKS_NP - * A macro to be used at file scope to list the functions allowed to be passed - * to {@link pthread_jit_write_with_callback_np} to write to the MAP_JIT region - * while it is writeable. It may be invoked only once per executable/library. - * - * @param callbacks - * The pthread_jit_write_callback_t functions to allow. They should be supplied - * as a comma-delimited list. - */ -#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || defined(__OBJC__) || defined(__cplusplus) -#define PTHREAD_JIT_WRITE_ALLOW_CALLBACKS_NP(...) \ - __attribute__((__used__, __section__("__DATA_CONST,__pth_jit_func"))) \ - static const pthread_jit_write_callback_t __pthread_jit_write_callback_allowlist[] = { \ - __VA_ARGS__, NULL \ - } -#endif /* (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || defined(__OBJC__) || defined(__cplusplus) */ - -/*! - * @function pthread_jit_write_with_callback_np - * - * @abstract - * Toggles per-thread write-protection of the MAP_JIT region to writeable, - * invokes an allowed callback function to write to it, and toggles protection - * back to executable. - * - * @param callback - * The callback function to invoke to write to the MAP_JIT region. It must be - * statically allowed using {@link PTHREAD_JIT_WRITE_ALLOW_CALLBACKS_NP}. - * - * @param ctx - * Context to pass through to the invocation of the callback function. - * - * @result - * The result code returned by the callback function. - * - * @discussion - * This function assumes that the MAP_JIT region has executable protection when - * called. It is therefore invalid to call it recursively from within a write - * callback. The implementation does not detect such invalid recursive calls, - * so the client is responsible for preventing them. - * - * Callbacks _must not_ perform any non-local transfer of control flow (e.g. - * throw an exception, longjmp(3)), as doing so would leave the MAP_JIT region - * writeable. - * - * On systems where pthread_jit_write_protect_supported_np(3) is false, this - * function calls @callback directly and does nothing else. - * - * This function only enforces that @callback is allowed if the caller has the - * com.apple.security.cs.jit-write-allowlist entitlement. That entitlement also - * disallows use of pthread_jit_write_protect_np(3). Adopting the entitlement - * is therefore crucial in realizing the security benefits of this interface. - * - * If the entitlement is not present then this function toggles protection of - * the MAP_JIT to writeable, calls @callback and then toggles protection back to - * executable, without validating that @callback is an allowed function. This - * behavior is intended to permit independent adoption of this interface by - * libraries - once all libraries in an application have adopted, the - * application should add the entitlement. - * - * By default, only callbacks in libraries/images present at process start-up - * are allowed - callbacks in images loaded dynamically via dlopen(3)/etc. are - * not permitted. However, if the additional entitlement - * com.apple.security.cs.jit-write-allowlist-freeze-late is _also_ present, any - * callbacks in dlopen'd libraries are also added to the set of allowed - * callbacks until the {@link pthread_jit_write_freeze_callbacks_np} function is - * called. - * - * The goal of this interface is to allow applications that execute JIT-compiled - * code to mitigate against attempts from attackers to escalate to code - * execution by getting their own instructions written to the MAP_JIT region. - * - * Callbacks should assume an attacker can control the input to this function. - * They must therefore carefully validate the data that they are passed and do - * so using as little attackable state as possible. This means simplifying - * control flow and avoiding spills of sensitive registers (e.g. those used for - * validation or control flow). - * - * In the event a callback detects that its input is invalid, it should either - * abort in the simplest fashion possible (preferring e.g. __builtin_trap() over - * abort(3), the latter being encumbered by various conformance requirements) or - * return a result indicating failure. - */ -__API_AVAILABLE(macos(11.4)) -__API_UNAVAILABLE(ios, tvos, watchos, driverkit) -__SWIFT_UNAVAILABLE_MSG("This interface cannot be safely used from Swift") -int pthread_jit_write_with_callback_np( - pthread_jit_write_callback_t _Nonnull callback, void * _Nullable ctx); - -/*! - * @function pthread_jit_write_freeze_callbacks_np - * - * @abstract - * Freezes the set of allowed pthread JIT write callbacks, preventing any - * callbacks in subsequently dlopen'd libraries from being allowed as arguments - * to {@link pthread_jit_write_with_callback_np} - * - * @discussion - * If the com.apple.security.cs.jit-write-allowlist-freeze-late entitlement is - * present, this function must be called exactly once after all libraries - * containing JIT write callbacks have been loaded to prevent any further - * runtime modifications to the set of allowed callbacks. Failing to call this - * function before calling pthread_jit_write_with_callback_np(3) for the first - * time is an error, as is calling it multiple times. - * - * If the jit-write-allowlist-freeze-late entitlement is not present, calling - * this function is an error. - * - * If an application does not need to dlopen(3) any libraries or frameworks - * containing needed JIT write callbacks, it is best to avoid the - * jit-write-allowlist-freeze-late entitlement and accompanying need to call - * this function, as this allows the runtime to automatically freeze the set of - * allowed callbacks early in process initialization. - */ -__API_AVAILABLE(macos(12.1)) -__API_UNAVAILABLE(ios, tvos, watchos, driverkit) -void pthread_jit_write_freeze_callbacks_np(void); - -/*! - * @function pthread_cpu_number_np - * - * @param cpu_number_out - * The CPU number that the thread was running on at the time of query. - * This cpu number is in the interval [0, ncpus) (from sysctlbyname("hw.ncpu")) - * - * @result - * This function returns 0 or the value of errno if an error occurred. - * - * @note - * Optimizations of per-CPU datastructures based on the result of this function - * still require synchronization since it is not guaranteed that the thread will - * still be on the same CPU by the time the function returns. - */ -__API_AVAILABLE(macos(11.0), ios(14.2), tvos(14.2), watchos(7.1)) -int -pthread_cpu_number_np(size_t *cpu_number_out); - -#endif /* (!_POSIX_C_SOURCE && !_XOPEN_SOURCE) || _DARWIN_C_SOURCE || __cplusplus */ -__END_DECLS -#if __has_feature(assume_nonnull) -_Pragma("clang assume_nonnull end") -#endif - -#endif /* _PTHREAD_H */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.12-any/simd/base.h b/lib/libc/include/any-macos.12-any/simd/base.h deleted file mode 100644 index 3b8925af02..0000000000 --- a/lib/libc/include/any-macos.12-any/simd/base.h +++ /dev/null @@ -1,129 +0,0 @@ -/*! @header - * This header defines macros used in the implementation of - * types and functions. Even though they are exposed in a public header, - * the macros defined in this header are implementation details, and you - * should not use or rely on them. They may be changed or removed entirely - * in a future release. - * - * @copyright 2016-2017 Apple, Inc. All rights reserved. - * @unsorted */ - -#ifndef SIMD_BASE -#define SIMD_BASE - -/* Define __has_attribute and __has_include if they aren't available */ -# ifndef __has_attribute -# define __has_attribute(__x) 0 -# endif -# ifndef __has_include -# define __has_include(__x) 0 -# endif -# ifndef __has_feature -# define __has_feature(__x) 0 -# endif - -# if __has_attribute(__ext_vector_type__) && __has_attribute(__overloadable__) -# define SIMD_COMPILER_HAS_REQUIRED_FEATURES 1 -# else -/* Your compiler is missing one or more features that are hard requirements - * for any support. None of the types or functions defined by - * the simd headers will be available. */ -# define SIMD_COMPILER_HAS_REQUIRED_FEATURES 0 -# endif - -# if SIMD_COMPILER_HAS_REQUIRED_FEATURES -# if __has_include() -# include -/* A number of new features are added in newer releases; most of these are - * inline in the header, which makes them available even when targeting older - * OS versions. Those that make external calls, however, are only available - * when targeting the release in which they became available. Because of the - * way in which simd functions are overloaded, the usual weak-linking tricks - * do not work; these functions are simply unavailable when targeting older - * versions of the library. */ -# if __MAC_OS_X_VERSION_MIN_REQUIRED >= __MAC_12_0 || \ - __IPHONE_OS_VERSION_MIN_REQUIRED >= __IPHONE_15_0 || \ - __WATCH_OS_VERSION_MIN_REQUIRED >= __WATCHOS_8_0 || \ - __TV_OS_VERSION_MIN_REQUIRED >= __TVOS_15_0 || \ - __BRIDGE_OS_VERSION_MIN_REQUIRED >= 60000 || \ - __DRIVERKIT_VERSION_MIN_REQUIRED >= __DRIVERKIT_21_0 -# define SIMD_LIBRARY_VERSION 4 -# elif __MAC_OS_X_VERSION_MIN_REQUIRED >= __MAC_10_13 || \ - __IPHONE_OS_VERSION_MIN_REQUIRED >= __IPHONE_11_0 || \ - __WATCH_OS_VERSION_MIN_REQUIRED >= __WATCHOS_4_0 || \ - __TV_OS_VERSION_MIN_REQUIRED >= __TVOS_11_0 || \ - __DRIVERKIT_VERSION_MIN_REQUIRED >= __DRIVERKIT_19_0 -# define SIMD_LIBRARY_VERSION 3 -# elif __MAC_OS_X_VERSION_MIN_REQUIRED >= __MAC_10_12 || \ - __IPHONE_OS_VERSION_MIN_REQUIRED >= __IPHONE_10_0 || \ - __WATCH_OS_VERSION_MIN_REQUIRED >= __WATCHOS_3_0 || \ - __TV_OS_VERSION_MIN_REQUIRED >= __TVOS_10_0 -# define SIMD_LIBRARY_VERSION 2 -# elif __MAC_OS_X_VERSION_MIN_REQUIRED >= __MAC_10_10 || \ - __IPHONE_OS_VERSION_MIN_REQUIRED >= __IPHONE_8_0 -# define SIMD_LIBRARY_VERSION 1 -# else -# define SIMD_LIBRARY_VERSION 0 -# endif -# else /* !__has_include() */ -# define SIMD_LIBRARY_VERSION 3 -# define __API_AVAILABLE(...) /* Nothing */ -# endif - -/* The simd types interoperate with the native simd intrinsic types for each - * architecture; the headers that define those types and operations are - * automatically included with simd.h */ -# if defined __ARM_NEON__ -# include -# elif defined __i386__ || defined __x86_64__ -# include -# endif - -/* Define a number of function attributes used by the simd functions. */ -# if __has_attribute(__always_inline__) -# define SIMD_INLINE __attribute__((__always_inline__)) -# else -# define SIMD_INLINE inline -# endif - -# if __has_attribute(__const__) -# define SIMD_CONST __attribute__((__const__)) -# else -# define SIMD_CONST /* nothing */ -# endif - -# if __has_attribute(__nodebug__) -# define SIMD_NODEBUG __attribute__((__nodebug__)) -# else -# define SIMD_NODEBUG /* nothing */ -# endif - -# if __has_attribute(__deprecated__) -# define SIMD_DEPRECATED(message) __attribute__((__deprecated__(message))) -# else -# define SIMD_DEPRECATED(message) /* nothing */ -# endif - -#define SIMD_OVERLOAD __attribute__((__overloadable__)) -#define SIMD_CPPFUNC SIMD_INLINE SIMD_CONST SIMD_NODEBUG -#define SIMD_CFUNC SIMD_CPPFUNC SIMD_OVERLOAD -#define SIMD_NOINLINE SIMD_CONST SIMD_NODEBUG SIMD_OVERLOAD -#define SIMD_NONCONST SIMD_INLINE SIMD_NODEBUG SIMD_OVERLOAD -#define __SIMD_INLINE__ SIMD_CPPFUNC -#define __SIMD_ATTRIBUTES__ SIMD_CFUNC -#define __SIMD_OVERLOAD__ SIMD_OVERLOAD - -#if defined __cplusplus -/*! @abstract A boolean scalar. */ -typedef bool simd_bool; -#else -/*! @abstract A boolean scalar. */ -typedef _Bool simd_bool; -#endif -/*! @abstract A boolean scalar. - * @discussion This type is deprecated; In C or Objective-C sources, use - * `_Bool` instead. In C++ sources, use `bool`. */ -typedef simd_bool __SIMD_BOOLEAN_TYPE__; - -# endif /* SIMD_COMPILER_HAS_REQUIRED_FEATURES */ -#endif /* defined SIMD_BASE */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.12-any/simd/math.h b/lib/libc/include/any-macos.12-any/simd/math.h deleted file mode 100644 index e3aaef2f38..0000000000 --- a/lib/libc/include/any-macos.12-any/simd/math.h +++ /dev/null @@ -1,5783 +0,0 @@ -/*! @header - * The interfaces declared in this header provide elementwise math operations - * on vectors; each lane of the result vector depends only on the data in the - * corresponding lane of the argument(s) to the function. - * - * You should not use the C functions declared in this header directly (these - * are functions with names like `__tg_cos(x)`). These are merely - * implementation details of overloading; instead of calling - * `__tg_cos(x)`, call `cos(x)`. If you are writing C++, use `simd::cos(x)`. - * - * Note that while these vector functions are relatively recent additions, - * scalar fallback is provided for all of them, so they are available even - * when targeting older OS versions. - * - * The following functions are available: - * - * C name C++ name Notes - * ---------------------------------------------------------------------- - * acos(x) simd::acos(x) - * asin(x) simd::asin(x) - * atan(x) simd::atan(x) - * atan2(y,x) simd::atan2(y,x) The argument order matches the scalar - * atan2 function, which gives the angle - * of a line with slope y/x. - * cos(x) simd::cos(x) - * sin(x) simd::sin(x) - * tan(x) simd::tan(x) - * - * cospi(x) simd::cospi(x) Returns cos(pi*x), sin(pi*x), tan(pi*x) - * sinpi(x) simd::sinpi(x) more efficiently and accurately than - * tanpi(x) simd::tanpi(x) would otherwise be possible - * - * acosh(x) simd::acosh(x) - * asinh(x) simd::asinh(x) - * atanh(x) simd::atanh(x) - * - * cosh(x) simd::cosh(x) - * sinh(x) simd::sinh(x) - * tanh(x) simd::tanh(x) - * - * exp(x) simd::exp(x) - * exp2(x) simd::exp2(x) - * exp10(x) simd::exp10(x) More efficient that pow(10,x). - * expm1(x) simd::expm1(x) exp(x)-1, accurate even for tiny x. - * - * log(x) simd::log(x) - * log2(x) simd::log2(x) - * log10(x) simd::log10(x) - * log1p(x) simd::log1p(x) log(1+x), accurate even for tiny x. - * - * fabs(x) simd::fabs(x) - * cbrt(x) simd::cbrt(x) - * sqrt(x) simd::sqrt(x) - * pow(x,y) simd::pow(x,y) - * copysign(x,y) simd::copysign(x,y) - * hypot(x,y) simd::hypot(x,y) sqrt(x*x + y*y), computed without - * overflow.1 - * erf(x) simd::erf(x) - * erfc(x) simd::erfc(x) - * tgamma(x) simd::tgamma(x) - * lgamma(x) simd::lgamma(x) - * - * fmod(x,y) simd::fmod(x,y) - * remainder(x,y) simd::remainder(x,y) - * - * ceil(x) simd::ceil(x) - * floor(x) simd::floor(x) - * rint(x) simd::rint(x) - * round(x) simd::round(x) - * trunc(x) simd::trunc(x) - * - * fdim(x,y) simd::fdim(x,y) - * fmax(x,y) simd::fmax(x,y) When one argument to fmin or fmax is - * fmin(x,y) simd::fmin(x,y) constant, use it as the *second* (y) - * argument to get better codegen on some - * architectures. E.g., write fmin(x,2) - * instead of fmin(2,x). - * fma(x,y,z) simd::fma(x,y,z) Fast on arm64 and when targeting AVX2 - * and later; may be quite expensive on - * older hardware. - * simd_muladd(x,y,z) simd::muladd(x,y,z) - * - * @copyright 2014-2017 Apple, Inc. All rights reserved. - * @unsorted */ - -#ifndef SIMD_MATH_HEADER -#define SIMD_MATH_HEADER - -#include -#if SIMD_COMPILER_HAS_REQUIRED_FEATURES -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif -/*! @abstract Do not call this function; instead use `acos` in C and - * Objective-C, and `simd::acos` in C++. */ -static inline SIMD_CFUNC simd_float2 __tg_acos(simd_float2 x); -/*! @abstract Do not call this function; instead use `acos` in C and - * Objective-C, and `simd::acos` in C++. */ -static inline SIMD_CFUNC simd_float3 __tg_acos(simd_float3 x); -/*! @abstract Do not call this function; instead use `acos` in C and - * Objective-C, and `simd::acos` in C++. */ -static inline SIMD_CFUNC simd_float4 __tg_acos(simd_float4 x); -/*! @abstract Do not call this function; instead use `acos` in C and - * Objective-C, and `simd::acos` in C++. */ -static inline SIMD_CFUNC simd_float8 __tg_acos(simd_float8 x); -/*! @abstract Do not call this function; instead use `acos` in C and - * Objective-C, and `simd::acos` in C++. */ -static inline SIMD_CFUNC simd_float16 __tg_acos(simd_float16 x); -/*! @abstract Do not call this function; instead use `acos` in C and - * Objective-C, and `simd::acos` in C++. */ -static inline SIMD_CFUNC simd_double2 __tg_acos(simd_double2 x); -/*! @abstract Do not call this function; instead use `acos` in C and - * Objective-C, and `simd::acos` in C++. */ -static inline SIMD_CFUNC simd_double3 __tg_acos(simd_double3 x); -/*! @abstract Do not call this function; instead use `acos` in C and - * Objective-C, and `simd::acos` in C++. */ -static inline SIMD_CFUNC simd_double4 __tg_acos(simd_double4 x); -/*! @abstract Do not call this function; instead use `acos` in C and - * Objective-C, and `simd::acos` in C++. */ -static inline SIMD_CFUNC simd_double8 __tg_acos(simd_double8 x); - -/*! @abstract Do not call this function; instead use `asin` in C and - * Objective-C, and `simd::asin` in C++. */ -static inline SIMD_CFUNC simd_float2 __tg_asin(simd_float2 x); -/*! @abstract Do not call this function; instead use `asin` in C and - * Objective-C, and `simd::asin` in C++. */ -static inline SIMD_CFUNC simd_float3 __tg_asin(simd_float3 x); -/*! @abstract Do not call this function; instead use `asin` in C and - * Objective-C, and `simd::asin` in C++. */ -static inline SIMD_CFUNC simd_float4 __tg_asin(simd_float4 x); -/*! @abstract Do not call this function; instead use `asin` in C and - * Objective-C, and `simd::asin` in C++. */ -static inline SIMD_CFUNC simd_float8 __tg_asin(simd_float8 x); -/*! @abstract Do not call this function; instead use `asin` in C and - * Objective-C, and `simd::asin` in C++. */ -static inline SIMD_CFUNC simd_float16 __tg_asin(simd_float16 x); -/*! @abstract Do not call this function; instead use `asin` in C and - * Objective-C, and `simd::asin` in C++. */ -static inline SIMD_CFUNC simd_double2 __tg_asin(simd_double2 x); -/*! @abstract Do not call this function; instead use `asin` in C and - * Objective-C, and `simd::asin` in C++. */ -static inline SIMD_CFUNC simd_double3 __tg_asin(simd_double3 x); -/*! @abstract Do not call this function; instead use `asin` in C and - * Objective-C, and `simd::asin` in C++. */ -static inline SIMD_CFUNC simd_double4 __tg_asin(simd_double4 x); -/*! @abstract Do not call this function; instead use `asin` in C and - * Objective-C, and `simd::asin` in C++. */ -static inline SIMD_CFUNC simd_double8 __tg_asin(simd_double8 x); - -/*! @abstract Do not call this function; instead use `atan` in C and - * Objective-C, and `simd::atan` in C++. */ -static inline SIMD_CFUNC simd_float2 __tg_atan(simd_float2 x); -/*! @abstract Do not call this function; instead use `atan` in C and - * Objective-C, and `simd::atan` in C++. */ -static inline SIMD_CFUNC simd_float3 __tg_atan(simd_float3 x); -/*! @abstract Do not call this function; instead use `atan` in C and - * Objective-C, and `simd::atan` in C++. */ -static inline SIMD_CFUNC simd_float4 __tg_atan(simd_float4 x); -/*! @abstract Do not call this function; instead use `atan` in C and - * Objective-C, and `simd::atan` in C++. */ -static inline SIMD_CFUNC simd_float8 __tg_atan(simd_float8 x); -/*! @abstract Do not call this function; instead use `atan` in C and - * Objective-C, and `simd::atan` in C++. */ -static inline SIMD_CFUNC simd_float16 __tg_atan(simd_float16 x); -/*! @abstract Do not call this function; instead use `atan` in C and - * Objective-C, and `simd::atan` in C++. */ -static inline SIMD_CFUNC simd_double2 __tg_atan(simd_double2 x); -/*! @abstract Do not call this function; instead use `atan` in C and - * Objective-C, and `simd::atan` in C++. */ -static inline SIMD_CFUNC simd_double3 __tg_atan(simd_double3 x); -/*! @abstract Do not call this function; instead use `atan` in C and - * Objective-C, and `simd::atan` in C++. */ -static inline SIMD_CFUNC simd_double4 __tg_atan(simd_double4 x); -/*! @abstract Do not call this function; instead use `atan` in C and - * Objective-C, and `simd::atan` in C++. */ -static inline SIMD_CFUNC simd_double8 __tg_atan(simd_double8 x); - -/*! @abstract Do not call this function; instead use `cos` in C and - * Objective-C, and `simd::cos` in C++. */ -static inline SIMD_CFUNC simd_float2 __tg_cos(simd_float2 x); -/*! @abstract Do not call this function; instead use `cos` in C and - * Objective-C, and `simd::cos` in C++. */ -static inline SIMD_CFUNC simd_float3 __tg_cos(simd_float3 x); -/*! @abstract Do not call this function; instead use `cos` in C and - * Objective-C, and `simd::cos` in C++. */ -static inline SIMD_CFUNC simd_float4 __tg_cos(simd_float4 x); -/*! @abstract Do not call this function; instead use `cos` in C and - * Objective-C, and `simd::cos` in C++. */ -static inline SIMD_CFUNC simd_float8 __tg_cos(simd_float8 x); -/*! @abstract Do not call this function; instead use `cos` in C and - * Objective-C, and `simd::cos` in C++. */ -static inline SIMD_CFUNC simd_float16 __tg_cos(simd_float16 x); -/*! @abstract Do not call this function; instead use `cos` in C and - * Objective-C, and `simd::cos` in C++. */ -static inline SIMD_CFUNC simd_double2 __tg_cos(simd_double2 x); -/*! @abstract Do not call this function; instead use `cos` in C and - * Objective-C, and `simd::cos` in C++. */ -static inline SIMD_CFUNC simd_double3 __tg_cos(simd_double3 x); -/*! @abstract Do not call this function; instead use `cos` in C and - * Objective-C, and `simd::cos` in C++. */ -static inline SIMD_CFUNC simd_double4 __tg_cos(simd_double4 x); -/*! @abstract Do not call this function; instead use `cos` in C and - * Objective-C, and `simd::cos` in C++. */ -static inline SIMD_CFUNC simd_double8 __tg_cos(simd_double8 x); - -/*! @abstract Do not call this function; instead use `sin` in C and - * Objective-C, and `simd::sin` in C++. */ -static inline SIMD_CFUNC simd_float2 __tg_sin(simd_float2 x); -/*! @abstract Do not call this function; instead use `sin` in C and - * Objective-C, and `simd::sin` in C++. */ -static inline SIMD_CFUNC simd_float3 __tg_sin(simd_float3 x); -/*! @abstract Do not call this function; instead use `sin` in C and - * Objective-C, and `simd::sin` in C++. */ -static inline SIMD_CFUNC simd_float4 __tg_sin(simd_float4 x); -/*! @abstract Do not call this function; instead use `sin` in C and - * Objective-C, and `simd::sin` in C++. */ -static inline SIMD_CFUNC simd_float8 __tg_sin(simd_float8 x); -/*! @abstract Do not call this function; instead use `sin` in C and - * Objective-C, and `simd::sin` in C++. */ -static inline SIMD_CFUNC simd_float16 __tg_sin(simd_float16 x); -/*! @abstract Do not call this function; instead use `sin` in C and - * Objective-C, and `simd::sin` in C++. */ -static inline SIMD_CFUNC simd_double2 __tg_sin(simd_double2 x); -/*! @abstract Do not call this function; instead use `sin` in C and - * Objective-C, and `simd::sin` in C++. */ -static inline SIMD_CFUNC simd_double3 __tg_sin(simd_double3 x); -/*! @abstract Do not call this function; instead use `sin` in C and - * Objective-C, and `simd::sin` in C++. */ -static inline SIMD_CFUNC simd_double4 __tg_sin(simd_double4 x); -/*! @abstract Do not call this function; instead use `sin` in C and - * Objective-C, and `simd::sin` in C++. */ -static inline SIMD_CFUNC simd_double8 __tg_sin(simd_double8 x); - -/*! @abstract Do not call this function; instead use `tan` in C and - * Objective-C, and `simd::tan` in C++. */ -static inline SIMD_CFUNC simd_float2 __tg_tan(simd_float2 x); -/*! @abstract Do not call this function; instead use `tan` in C and - * Objective-C, and `simd::tan` in C++. */ -static inline SIMD_CFUNC simd_float3 __tg_tan(simd_float3 x); -/*! @abstract Do not call this function; instead use `tan` in C and - * Objective-C, and `simd::tan` in C++. */ -static inline SIMD_CFUNC simd_float4 __tg_tan(simd_float4 x); -/*! @abstract Do not call this function; instead use `tan` in C and - * Objective-C, and `simd::tan` in C++. */ -static inline SIMD_CFUNC simd_float8 __tg_tan(simd_float8 x); -/*! @abstract Do not call this function; instead use `tan` in C and - * Objective-C, and `simd::tan` in C++. */ -static inline SIMD_CFUNC simd_float16 __tg_tan(simd_float16 x); -/*! @abstract Do not call this function; instead use `tan` in C and - * Objective-C, and `simd::tan` in C++. */ -static inline SIMD_CFUNC simd_double2 __tg_tan(simd_double2 x); -/*! @abstract Do not call this function; instead use `tan` in C and - * Objective-C, and `simd::tan` in C++. */ -static inline SIMD_CFUNC simd_double3 __tg_tan(simd_double3 x); -/*! @abstract Do not call this function; instead use `tan` in C and - * Objective-C, and `simd::tan` in C++. */ -static inline SIMD_CFUNC simd_double4 __tg_tan(simd_double4 x); -/*! @abstract Do not call this function; instead use `tan` in C and - * Objective-C, and `simd::tan` in C++. */ -static inline SIMD_CFUNC simd_double8 __tg_tan(simd_double8 x); - -#if SIMD_LIBRARY_VERSION >= 1 -/*! @abstract Do not call this function; instead use `cospi` in C and - * Objective-C, and `simd::cospi` in C++. */ -static inline SIMD_CFUNC simd_float2 __tg_cospi(simd_float2 x); -/*! @abstract Do not call this function; instead use `cospi` in C and - * Objective-C, and `simd::cospi` in C++. */ -static inline SIMD_CFUNC simd_float3 __tg_cospi(simd_float3 x); -/*! @abstract Do not call this function; instead use `cospi` in C and - * Objective-C, and `simd::cospi` in C++. */ -static inline SIMD_CFUNC simd_float4 __tg_cospi(simd_float4 x); -/*! @abstract Do not call this function; instead use `cospi` in C and - * Objective-C, and `simd::cospi` in C++. */ -static inline SIMD_CFUNC simd_float8 __tg_cospi(simd_float8 x); -/*! @abstract Do not call this function; instead use `cospi` in C and - * Objective-C, and `simd::cospi` in C++. */ -static inline SIMD_CFUNC simd_float16 __tg_cospi(simd_float16 x); -/*! @abstract Do not call this function; instead use `cospi` in C and - * Objective-C, and `simd::cospi` in C++. */ -static inline SIMD_CFUNC simd_double2 __tg_cospi(simd_double2 x); -/*! @abstract Do not call this function; instead use `cospi` in C and - * Objective-C, and `simd::cospi` in C++. */ -static inline SIMD_CFUNC simd_double3 __tg_cospi(simd_double3 x); -/*! @abstract Do not call this function; instead use `cospi` in C and - * Objective-C, and `simd::cospi` in C++. */ -static inline SIMD_CFUNC simd_double4 __tg_cospi(simd_double4 x); -/*! @abstract Do not call this function; instead use `cospi` in C and - * Objective-C, and `simd::cospi` in C++. */ -static inline SIMD_CFUNC simd_double8 __tg_cospi(simd_double8 x); -#endif - -#if SIMD_LIBRARY_VERSION >= 1 -/*! @abstract Do not call this function; instead use `sinpi` in C and - * Objective-C, and `simd::sinpi` in C++. */ -static inline SIMD_CFUNC simd_float2 __tg_sinpi(simd_float2 x); -/*! @abstract Do not call this function; instead use `sinpi` in C and - * Objective-C, and `simd::sinpi` in C++. */ -static inline SIMD_CFUNC simd_float3 __tg_sinpi(simd_float3 x); -/*! @abstract Do not call this function; instead use `sinpi` in C and - * Objective-C, and `simd::sinpi` in C++. */ -static inline SIMD_CFUNC simd_float4 __tg_sinpi(simd_float4 x); -/*! @abstract Do not call this function; instead use `sinpi` in C and - * Objective-C, and `simd::sinpi` in C++. */ -static inline SIMD_CFUNC simd_float8 __tg_sinpi(simd_float8 x); -/*! @abstract Do not call this function; instead use `sinpi` in C and - * Objective-C, and `simd::sinpi` in C++. */ -static inline SIMD_CFUNC simd_float16 __tg_sinpi(simd_float16 x); -/*! @abstract Do not call this function; instead use `sinpi` in C and - * Objective-C, and `simd::sinpi` in C++. */ -static inline SIMD_CFUNC simd_double2 __tg_sinpi(simd_double2 x); -/*! @abstract Do not call this function; instead use `sinpi` in C and - * Objective-C, and `simd::sinpi` in C++. */ -static inline SIMD_CFUNC simd_double3 __tg_sinpi(simd_double3 x); -/*! @abstract Do not call this function; instead use `sinpi` in C and - * Objective-C, and `simd::sinpi` in C++. */ -static inline SIMD_CFUNC simd_double4 __tg_sinpi(simd_double4 x); -/*! @abstract Do not call this function; instead use `sinpi` in C and - * Objective-C, and `simd::sinpi` in C++. */ -static inline SIMD_CFUNC simd_double8 __tg_sinpi(simd_double8 x); -#endif - -#if SIMD_LIBRARY_VERSION >= 1 -/*! @abstract Do not call this function; instead use `tanpi` in C and - * Objective-C, and `simd::tanpi` in C++. */ -static inline SIMD_CFUNC simd_float2 __tg_tanpi(simd_float2 x); -/*! @abstract Do not call this function; instead use `tanpi` in C and - * Objective-C, and `simd::tanpi` in C++. */ -static inline SIMD_CFUNC simd_float3 __tg_tanpi(simd_float3 x); -/*! @abstract Do not call this function; instead use `tanpi` in C and - * Objective-C, and `simd::tanpi` in C++. */ -static inline SIMD_CFUNC simd_float4 __tg_tanpi(simd_float4 x); -/*! @abstract Do not call this function; instead use `tanpi` in C and - * Objective-C, and `simd::tanpi` in C++. */ -static inline SIMD_CFUNC simd_float8 __tg_tanpi(simd_float8 x); -/*! @abstract Do not call this function; instead use `tanpi` in C and - * Objective-C, and `simd::tanpi` in C++. */ -static inline SIMD_CFUNC simd_float16 __tg_tanpi(simd_float16 x); -/*! @abstract Do not call this function; instead use `tanpi` in C and - * Objective-C, and `simd::tanpi` in C++. */ -static inline SIMD_CFUNC simd_double2 __tg_tanpi(simd_double2 x); -/*! @abstract Do not call this function; instead use `tanpi` in C and - * Objective-C, and `simd::tanpi` in C++. */ -static inline SIMD_CFUNC simd_double3 __tg_tanpi(simd_double3 x); -/*! @abstract Do not call this function; instead use `tanpi` in C and - * Objective-C, and `simd::tanpi` in C++. */ -static inline SIMD_CFUNC simd_double4 __tg_tanpi(simd_double4 x); -/*! @abstract Do not call this function; instead use `tanpi` in C and - * Objective-C, and `simd::tanpi` in C++. */ -static inline SIMD_CFUNC simd_double8 __tg_tanpi(simd_double8 x); -#endif - -/*! @abstract Do not call this function; instead use `acosh` in C and - * Objective-C, and `simd::acosh` in C++. */ -static inline SIMD_CFUNC simd_float2 __tg_acosh(simd_float2 x); -/*! @abstract Do not call this function; instead use `acosh` in C and - * Objective-C, and `simd::acosh` in C++. */ -static inline SIMD_CFUNC simd_float3 __tg_acosh(simd_float3 x); -/*! @abstract Do not call this function; instead use `acosh` in C and - * Objective-C, and `simd::acosh` in C++. */ -static inline SIMD_CFUNC simd_float4 __tg_acosh(simd_float4 x); -/*! @abstract Do not call this function; instead use `acosh` in C and - * Objective-C, and `simd::acosh` in C++. */ -static inline SIMD_CFUNC simd_float8 __tg_acosh(simd_float8 x); -/*! @abstract Do not call this function; instead use `acosh` in C and - * Objective-C, and `simd::acosh` in C++. */ -static inline SIMD_CFUNC simd_float16 __tg_acosh(simd_float16 x); -/*! @abstract Do not call this function; instead use `acosh` in C and - * Objective-C, and `simd::acosh` in C++. */ -static inline SIMD_CFUNC simd_double2 __tg_acosh(simd_double2 x); -/*! @abstract Do not call this function; instead use `acosh` in C and - * Objective-C, and `simd::acosh` in C++. */ -static inline SIMD_CFUNC simd_double3 __tg_acosh(simd_double3 x); -/*! @abstract Do not call this function; instead use `acosh` in C and - * Objective-C, and `simd::acosh` in C++. */ -static inline SIMD_CFUNC simd_double4 __tg_acosh(simd_double4 x); -/*! @abstract Do not call this function; instead use `acosh` in C and - * Objective-C, and `simd::acosh` in C++. */ -static inline SIMD_CFUNC simd_double8 __tg_acosh(simd_double8 x); - -/*! @abstract Do not call this function; instead use `asinh` in C and - * Objective-C, and `simd::asinh` in C++. */ -static inline SIMD_CFUNC simd_float2 __tg_asinh(simd_float2 x); -/*! @abstract Do not call this function; instead use `asinh` in C and - * Objective-C, and `simd::asinh` in C++. */ -static inline SIMD_CFUNC simd_float3 __tg_asinh(simd_float3 x); -/*! @abstract Do not call this function; instead use `asinh` in C and - * Objective-C, and `simd::asinh` in C++. */ -static inline SIMD_CFUNC simd_float4 __tg_asinh(simd_float4 x); -/*! @abstract Do not call this function; instead use `asinh` in C and - * Objective-C, and `simd::asinh` in C++. */ -static inline SIMD_CFUNC simd_float8 __tg_asinh(simd_float8 x); -/*! @abstract Do not call this function; instead use `asinh` in C and - * Objective-C, and `simd::asinh` in C++. */ -static inline SIMD_CFUNC simd_float16 __tg_asinh(simd_float16 x); -/*! @abstract Do not call this function; instead use `asinh` in C and - * Objective-C, and `simd::asinh` in C++. */ -static inline SIMD_CFUNC simd_double2 __tg_asinh(simd_double2 x); -/*! @abstract Do not call this function; instead use `asinh` in C and - * Objective-C, and `simd::asinh` in C++. */ -static inline SIMD_CFUNC simd_double3 __tg_asinh(simd_double3 x); -/*! @abstract Do not call this function; instead use `asinh` in C and - * Objective-C, and `simd::asinh` in C++. */ -static inline SIMD_CFUNC simd_double4 __tg_asinh(simd_double4 x); -/*! @abstract Do not call this function; instead use `asinh` in C and - * Objective-C, and `simd::asinh` in C++. */ -static inline SIMD_CFUNC simd_double8 __tg_asinh(simd_double8 x); - -/*! @abstract Do not call this function; instead use `atanh` in C and - * Objective-C, and `simd::atanh` in C++. */ -static inline SIMD_CFUNC simd_float2 __tg_atanh(simd_float2 x); -/*! @abstract Do not call this function; instead use `atanh` in C and - * Objective-C, and `simd::atanh` in C++. */ -static inline SIMD_CFUNC simd_float3 __tg_atanh(simd_float3 x); -/*! @abstract Do not call this function; instead use `atanh` in C and - * Objective-C, and `simd::atanh` in C++. */ -static inline SIMD_CFUNC simd_float4 __tg_atanh(simd_float4 x); -/*! @abstract Do not call this function; instead use `atanh` in C and - * Objective-C, and `simd::atanh` in C++. */ -static inline SIMD_CFUNC simd_float8 __tg_atanh(simd_float8 x); -/*! @abstract Do not call this function; instead use `atanh` in C and - * Objective-C, and `simd::atanh` in C++. */ -static inline SIMD_CFUNC simd_float16 __tg_atanh(simd_float16 x); -/*! @abstract Do not call this function; instead use `atanh` in C and - * Objective-C, and `simd::atanh` in C++. */ -static inline SIMD_CFUNC simd_double2 __tg_atanh(simd_double2 x); -/*! @abstract Do not call this function; instead use `atanh` in C and - * Objective-C, and `simd::atanh` in C++. */ -static inline SIMD_CFUNC simd_double3 __tg_atanh(simd_double3 x); -/*! @abstract Do not call this function; instead use `atanh` in C and - * Objective-C, and `simd::atanh` in C++. */ -static inline SIMD_CFUNC simd_double4 __tg_atanh(simd_double4 x); -/*! @abstract Do not call this function; instead use `atanh` in C and - * Objective-C, and `simd::atanh` in C++. */ -static inline SIMD_CFUNC simd_double8 __tg_atanh(simd_double8 x); - -/*! @abstract Do not call this function; instead use `cosh` in C and - * Objective-C, and `simd::cosh` in C++. */ -static inline SIMD_CFUNC simd_float2 __tg_cosh(simd_float2 x); -/*! @abstract Do not call this function; instead use `cosh` in C and - * Objective-C, and `simd::cosh` in C++. */ -static inline SIMD_CFUNC simd_float3 __tg_cosh(simd_float3 x); -/*! @abstract Do not call this function; instead use `cosh` in C and - * Objective-C, and `simd::cosh` in C++. */ -static inline SIMD_CFUNC simd_float4 __tg_cosh(simd_float4 x); -/*! @abstract Do not call this function; instead use `cosh` in C and - * Objective-C, and `simd::cosh` in C++. */ -static inline SIMD_CFUNC simd_float8 __tg_cosh(simd_float8 x); -/*! @abstract Do not call this function; instead use `cosh` in C and - * Objective-C, and `simd::cosh` in C++. */ -static inline SIMD_CFUNC simd_float16 __tg_cosh(simd_float16 x); -/*! @abstract Do not call this function; instead use `cosh` in C and - * Objective-C, and `simd::cosh` in C++. */ -static inline SIMD_CFUNC simd_double2 __tg_cosh(simd_double2 x); -/*! @abstract Do not call this function; instead use `cosh` in C and - * Objective-C, and `simd::cosh` in C++. */ -static inline SIMD_CFUNC simd_double3 __tg_cosh(simd_double3 x); -/*! @abstract Do not call this function; instead use `cosh` in C and - * Objective-C, and `simd::cosh` in C++. */ -static inline SIMD_CFUNC simd_double4 __tg_cosh(simd_double4 x); -/*! @abstract Do not call this function; instead use `cosh` in C and - * Objective-C, and `simd::cosh` in C++. */ -static inline SIMD_CFUNC simd_double8 __tg_cosh(simd_double8 x); - -/*! @abstract Do not call this function; instead use `sinh` in C and - * Objective-C, and `simd::sinh` in C++. */ -static inline SIMD_CFUNC simd_float2 __tg_sinh(simd_float2 x); -/*! @abstract Do not call this function; instead use `sinh` in C and - * Objective-C, and `simd::sinh` in C++. */ -static inline SIMD_CFUNC simd_float3 __tg_sinh(simd_float3 x); -/*! @abstract Do not call this function; instead use `sinh` in C and - * Objective-C, and `simd::sinh` in C++. */ -static inline SIMD_CFUNC simd_float4 __tg_sinh(simd_float4 x); -/*! @abstract Do not call this function; instead use `sinh` in C and - * Objective-C, and `simd::sinh` in C++. */ -static inline SIMD_CFUNC simd_float8 __tg_sinh(simd_float8 x); -/*! @abstract Do not call this function; instead use `sinh` in C and - * Objective-C, and `simd::sinh` in C++. */ -static inline SIMD_CFUNC simd_float16 __tg_sinh(simd_float16 x); -/*! @abstract Do not call this function; instead use `sinh` in C and - * Objective-C, and `simd::sinh` in C++. */ -static inline SIMD_CFUNC simd_double2 __tg_sinh(simd_double2 x); -/*! @abstract Do not call this function; instead use `sinh` in C and - * Objective-C, and `simd::sinh` in C++. */ -static inline SIMD_CFUNC simd_double3 __tg_sinh(simd_double3 x); -/*! @abstract Do not call this function; instead use `sinh` in C and - * Objective-C, and `simd::sinh` in C++. */ -static inline SIMD_CFUNC simd_double4 __tg_sinh(simd_double4 x); -/*! @abstract Do not call this function; instead use `sinh` in C and - * Objective-C, and `simd::sinh` in C++. */ -static inline SIMD_CFUNC simd_double8 __tg_sinh(simd_double8 x); - -/*! @abstract Do not call this function; instead use `tanh` in C and - * Objective-C, and `simd::tanh` in C++. */ -static inline SIMD_CFUNC simd_float2 __tg_tanh(simd_float2 x); -/*! @abstract Do not call this function; instead use `tanh` in C and - * Objective-C, and `simd::tanh` in C++. */ -static inline SIMD_CFUNC simd_float3 __tg_tanh(simd_float3 x); -/*! @abstract Do not call this function; instead use `tanh` in C and - * Objective-C, and `simd::tanh` in C++. */ -static inline SIMD_CFUNC simd_float4 __tg_tanh(simd_float4 x); -/*! @abstract Do not call this function; instead use `tanh` in C and - * Objective-C, and `simd::tanh` in C++. */ -static inline SIMD_CFUNC simd_float8 __tg_tanh(simd_float8 x); -/*! @abstract Do not call this function; instead use `tanh` in C and - * Objective-C, and `simd::tanh` in C++. */ -static inline SIMD_CFUNC simd_float16 __tg_tanh(simd_float16 x); -/*! @abstract Do not call this function; instead use `tanh` in C and - * Objective-C, and `simd::tanh` in C++. */ -static inline SIMD_CFUNC simd_double2 __tg_tanh(simd_double2 x); -/*! @abstract Do not call this function; instead use `tanh` in C and - * Objective-C, and `simd::tanh` in C++. */ -static inline SIMD_CFUNC simd_double3 __tg_tanh(simd_double3 x); -/*! @abstract Do not call this function; instead use `tanh` in C and - * Objective-C, and `simd::tanh` in C++. */ -static inline SIMD_CFUNC simd_double4 __tg_tanh(simd_double4 x); -/*! @abstract Do not call this function; instead use `tanh` in C and - * Objective-C, and `simd::tanh` in C++. */ -static inline SIMD_CFUNC simd_double8 __tg_tanh(simd_double8 x); - -/*! @abstract Do not call this function; instead use `exp` in C and - * Objective-C, and `simd::exp` in C++. */ -static inline SIMD_CFUNC simd_float2 __tg_exp(simd_float2 x); -/*! @abstract Do not call this function; instead use `exp` in C and - * Objective-C, and `simd::exp` in C++. */ -static inline SIMD_CFUNC simd_float3 __tg_exp(simd_float3 x); -/*! @abstract Do not call this function; instead use `exp` in C and - * Objective-C, and `simd::exp` in C++. */ -static inline SIMD_CFUNC simd_float4 __tg_exp(simd_float4 x); -/*! @abstract Do not call this function; instead use `exp` in C and - * Objective-C, and `simd::exp` in C++. */ -static inline SIMD_CFUNC simd_float8 __tg_exp(simd_float8 x); -/*! @abstract Do not call this function; instead use `exp` in C and - * Objective-C, and `simd::exp` in C++. */ -static inline SIMD_CFUNC simd_float16 __tg_exp(simd_float16 x); -/*! @abstract Do not call this function; instead use `exp` in C and - * Objective-C, and `simd::exp` in C++. */ -static inline SIMD_CFUNC simd_double2 __tg_exp(simd_double2 x); -/*! @abstract Do not call this function; instead use `exp` in C and - * Objective-C, and `simd::exp` in C++. */ -static inline SIMD_CFUNC simd_double3 __tg_exp(simd_double3 x); -/*! @abstract Do not call this function; instead use `exp` in C and - * Objective-C, and `simd::exp` in C++. */ -static inline SIMD_CFUNC simd_double4 __tg_exp(simd_double4 x); -/*! @abstract Do not call this function; instead use `exp` in C and - * Objective-C, and `simd::exp` in C++. */ -static inline SIMD_CFUNC simd_double8 __tg_exp(simd_double8 x); - -/*! @abstract Do not call this function; instead use `exp2` in C and - * Objective-C, and `simd::exp2` in C++. */ -static inline SIMD_CFUNC simd_float2 __tg_exp2(simd_float2 x); -/*! @abstract Do not call this function; instead use `exp2` in C and - * Objective-C, and `simd::exp2` in C++. */ -static inline SIMD_CFUNC simd_float3 __tg_exp2(simd_float3 x); -/*! @abstract Do not call this function; instead use `exp2` in C and - * Objective-C, and `simd::exp2` in C++. */ -static inline SIMD_CFUNC simd_float4 __tg_exp2(simd_float4 x); -/*! @abstract Do not call this function; instead use `exp2` in C and - * Objective-C, and `simd::exp2` in C++. */ -static inline SIMD_CFUNC simd_float8 __tg_exp2(simd_float8 x); -/*! @abstract Do not call this function; instead use `exp2` in C and - * Objective-C, and `simd::exp2` in C++. */ -static inline SIMD_CFUNC simd_float16 __tg_exp2(simd_float16 x); -/*! @abstract Do not call this function; instead use `exp2` in C and - * Objective-C, and `simd::exp2` in C++. */ -static inline SIMD_CFUNC simd_double2 __tg_exp2(simd_double2 x); -/*! @abstract Do not call this function; instead use `exp2` in C and - * Objective-C, and `simd::exp2` in C++. */ -static inline SIMD_CFUNC simd_double3 __tg_exp2(simd_double3 x); -/*! @abstract Do not call this function; instead use `exp2` in C and - * Objective-C, and `simd::exp2` in C++. */ -static inline SIMD_CFUNC simd_double4 __tg_exp2(simd_double4 x); -/*! @abstract Do not call this function; instead use `exp2` in C and - * Objective-C, and `simd::exp2` in C++. */ -static inline SIMD_CFUNC simd_double8 __tg_exp2(simd_double8 x); - -#if SIMD_LIBRARY_VERSION >= 1 -/*! @abstract Do not call this function; instead use `exp10` in C and - * Objective-C, and `simd::exp10` in C++. */ -static inline SIMD_CFUNC simd_float2 __tg_exp10(simd_float2 x); -/*! @abstract Do not call this function; instead use `exp10` in C and - * Objective-C, and `simd::exp10` in C++. */ -static inline SIMD_CFUNC simd_float3 __tg_exp10(simd_float3 x); -/*! @abstract Do not call this function; instead use `exp10` in C and - * Objective-C, and `simd::exp10` in C++. */ -static inline SIMD_CFUNC simd_float4 __tg_exp10(simd_float4 x); -/*! @abstract Do not call this function; instead use `exp10` in C and - * Objective-C, and `simd::exp10` in C++. */ -static inline SIMD_CFUNC simd_float8 __tg_exp10(simd_float8 x); -/*! @abstract Do not call this function; instead use `exp10` in C and - * Objective-C, and `simd::exp10` in C++. */ -static inline SIMD_CFUNC simd_float16 __tg_exp10(simd_float16 x); -/*! @abstract Do not call this function; instead use `exp10` in C and - * Objective-C, and `simd::exp10` in C++. */ -static inline SIMD_CFUNC simd_double2 __tg_exp10(simd_double2 x); -/*! @abstract Do not call this function; instead use `exp10` in C and - * Objective-C, and `simd::exp10` in C++. */ -static inline SIMD_CFUNC simd_double3 __tg_exp10(simd_double3 x); -/*! @abstract Do not call this function; instead use `exp10` in C and - * Objective-C, and `simd::exp10` in C++. */ -static inline SIMD_CFUNC simd_double4 __tg_exp10(simd_double4 x); -/*! @abstract Do not call this function; instead use `exp10` in C and - * Objective-C, and `simd::exp10` in C++. */ -static inline SIMD_CFUNC simd_double8 __tg_exp10(simd_double8 x); -#endif - -/*! @abstract Do not call this function; instead use `expm1` in C and - * Objective-C, and `simd::expm1` in C++. */ -static inline SIMD_CFUNC simd_float2 __tg_expm1(simd_float2 x); -/*! @abstract Do not call this function; instead use `expm1` in C and - * Objective-C, and `simd::expm1` in C++. */ -static inline SIMD_CFUNC simd_float3 __tg_expm1(simd_float3 x); -/*! @abstract Do not call this function; instead use `expm1` in C and - * Objective-C, and `simd::expm1` in C++. */ -static inline SIMD_CFUNC simd_float4 __tg_expm1(simd_float4 x); -/*! @abstract Do not call this function; instead use `expm1` in C and - * Objective-C, and `simd::expm1` in C++. */ -static inline SIMD_CFUNC simd_float8 __tg_expm1(simd_float8 x); -/*! @abstract Do not call this function; instead use `expm1` in C and - * Objective-C, and `simd::expm1` in C++. */ -static inline SIMD_CFUNC simd_float16 __tg_expm1(simd_float16 x); -/*! @abstract Do not call this function; instead use `expm1` in C and - * Objective-C, and `simd::expm1` in C++. */ -static inline SIMD_CFUNC simd_double2 __tg_expm1(simd_double2 x); -/*! @abstract Do not call this function; instead use `expm1` in C and - * Objective-C, and `simd::expm1` in C++. */ -static inline SIMD_CFUNC simd_double3 __tg_expm1(simd_double3 x); -/*! @abstract Do not call this function; instead use `expm1` in C and - * Objective-C, and `simd::expm1` in C++. */ -static inline SIMD_CFUNC simd_double4 __tg_expm1(simd_double4 x); -/*! @abstract Do not call this function; instead use `expm1` in C and - * Objective-C, and `simd::expm1` in C++. */ -static inline SIMD_CFUNC simd_double8 __tg_expm1(simd_double8 x); - -/*! @abstract Do not call this function; instead use `log` in C and - * Objective-C, and `simd::log` in C++. */ -static inline SIMD_CFUNC simd_float2 __tg_log(simd_float2 x); -/*! @abstract Do not call this function; instead use `log` in C and - * Objective-C, and `simd::log` in C++. */ -static inline SIMD_CFUNC simd_float3 __tg_log(simd_float3 x); -/*! @abstract Do not call this function; instead use `log` in C and - * Objective-C, and `simd::log` in C++. */ -static inline SIMD_CFUNC simd_float4 __tg_log(simd_float4 x); -/*! @abstract Do not call this function; instead use `log` in C and - * Objective-C, and `simd::log` in C++. */ -static inline SIMD_CFUNC simd_float8 __tg_log(simd_float8 x); -/*! @abstract Do not call this function; instead use `log` in C and - * Objective-C, and `simd::log` in C++. */ -static inline SIMD_CFUNC simd_float16 __tg_log(simd_float16 x); -/*! @abstract Do not call this function; instead use `log` in C and - * Objective-C, and `simd::log` in C++. */ -static inline SIMD_CFUNC simd_double2 __tg_log(simd_double2 x); -/*! @abstract Do not call this function; instead use `log` in C and - * Objective-C, and `simd::log` in C++. */ -static inline SIMD_CFUNC simd_double3 __tg_log(simd_double3 x); -/*! @abstract Do not call this function; instead use `log` in C and - * Objective-C, and `simd::log` in C++. */ -static inline SIMD_CFUNC simd_double4 __tg_log(simd_double4 x); -/*! @abstract Do not call this function; instead use `log` in C and - * Objective-C, and `simd::log` in C++. */ -static inline SIMD_CFUNC simd_double8 __tg_log(simd_double8 x); - -/*! @abstract Do not call this function; instead use `log2` in C and - * Objective-C, and `simd::log2` in C++. */ -static inline SIMD_CFUNC simd_float2 __tg_log2(simd_float2 x); -/*! @abstract Do not call this function; instead use `log2` in C and - * Objective-C, and `simd::log2` in C++. */ -static inline SIMD_CFUNC simd_float3 __tg_log2(simd_float3 x); -/*! @abstract Do not call this function; instead use `log2` in C and - * Objective-C, and `simd::log2` in C++. */ -static inline SIMD_CFUNC simd_float4 __tg_log2(simd_float4 x); -/*! @abstract Do not call this function; instead use `log2` in C and - * Objective-C, and `simd::log2` in C++. */ -static inline SIMD_CFUNC simd_float8 __tg_log2(simd_float8 x); -/*! @abstract Do not call this function; instead use `log2` in C and - * Objective-C, and `simd::log2` in C++. */ -static inline SIMD_CFUNC simd_float16 __tg_log2(simd_float16 x); -/*! @abstract Do not call this function; instead use `log2` in C and - * Objective-C, and `simd::log2` in C++. */ -static inline SIMD_CFUNC simd_double2 __tg_log2(simd_double2 x); -/*! @abstract Do not call this function; instead use `log2` in C and - * Objective-C, and `simd::log2` in C++. */ -static inline SIMD_CFUNC simd_double3 __tg_log2(simd_double3 x); -/*! @abstract Do not call this function; instead use `log2` in C and - * Objective-C, and `simd::log2` in C++. */ -static inline SIMD_CFUNC simd_double4 __tg_log2(simd_double4 x); -/*! @abstract Do not call this function; instead use `log2` in C and - * Objective-C, and `simd::log2` in C++. */ -static inline SIMD_CFUNC simd_double8 __tg_log2(simd_double8 x); - -/*! @abstract Do not call this function; instead use `log10` in C and - * Objective-C, and `simd::log10` in C++. */ -static inline SIMD_CFUNC simd_float2 __tg_log10(simd_float2 x); -/*! @abstract Do not call this function; instead use `log10` in C and - * Objective-C, and `simd::log10` in C++. */ -static inline SIMD_CFUNC simd_float3 __tg_log10(simd_float3 x); -/*! @abstract Do not call this function; instead use `log10` in C and - * Objective-C, and `simd::log10` in C++. */ -static inline SIMD_CFUNC simd_float4 __tg_log10(simd_float4 x); -/*! @abstract Do not call this function; instead use `log10` in C and - * Objective-C, and `simd::log10` in C++. */ -static inline SIMD_CFUNC simd_float8 __tg_log10(simd_float8 x); -/*! @abstract Do not call this function; instead use `log10` in C and - * Objective-C, and `simd::log10` in C++. */ -static inline SIMD_CFUNC simd_float16 __tg_log10(simd_float16 x); -/*! @abstract Do not call this function; instead use `log10` in C and - * Objective-C, and `simd::log10` in C++. */ -static inline SIMD_CFUNC simd_double2 __tg_log10(simd_double2 x); -/*! @abstract Do not call this function; instead use `log10` in C and - * Objective-C, and `simd::log10` in C++. */ -static inline SIMD_CFUNC simd_double3 __tg_log10(simd_double3 x); -/*! @abstract Do not call this function; instead use `log10` in C and - * Objective-C, and `simd::log10` in C++. */ -static inline SIMD_CFUNC simd_double4 __tg_log10(simd_double4 x); -/*! @abstract Do not call this function; instead use `log10` in C and - * Objective-C, and `simd::log10` in C++. */ -static inline SIMD_CFUNC simd_double8 __tg_log10(simd_double8 x); - -/*! @abstract Do not call this function; instead use `log1p` in C and - * Objective-C, and `simd::log1p` in C++. */ -static inline SIMD_CFUNC simd_float2 __tg_log1p(simd_float2 x); -/*! @abstract Do not call this function; instead use `log1p` in C and - * Objective-C, and `simd::log1p` in C++. */ -static inline SIMD_CFUNC simd_float3 __tg_log1p(simd_float3 x); -/*! @abstract Do not call this function; instead use `log1p` in C and - * Objective-C, and `simd::log1p` in C++. */ -static inline SIMD_CFUNC simd_float4 __tg_log1p(simd_float4 x); -/*! @abstract Do not call this function; instead use `log1p` in C and - * Objective-C, and `simd::log1p` in C++. */ -static inline SIMD_CFUNC simd_float8 __tg_log1p(simd_float8 x); -/*! @abstract Do not call this function; instead use `log1p` in C and - * Objective-C, and `simd::log1p` in C++. */ -static inline SIMD_CFUNC simd_float16 __tg_log1p(simd_float16 x); -/*! @abstract Do not call this function; instead use `log1p` in C and - * Objective-C, and `simd::log1p` in C++. */ -static inline SIMD_CFUNC simd_double2 __tg_log1p(simd_double2 x); -/*! @abstract Do not call this function; instead use `log1p` in C and - * Objective-C, and `simd::log1p` in C++. */ -static inline SIMD_CFUNC simd_double3 __tg_log1p(simd_double3 x); -/*! @abstract Do not call this function; instead use `log1p` in C and - * Objective-C, and `simd::log1p` in C++. */ -static inline SIMD_CFUNC simd_double4 __tg_log1p(simd_double4 x); -/*! @abstract Do not call this function; instead use `log1p` in C and - * Objective-C, and `simd::log1p` in C++. */ -static inline SIMD_CFUNC simd_double8 __tg_log1p(simd_double8 x); - -/*! @abstract Do not call this function; instead use `fabs` in C and - * Objective-C, and `simd::fabs` in C++. */ -static inline SIMD_CFUNC simd_float2 __tg_fabs(simd_float2 x); -/*! @abstract Do not call this function; instead use `fabs` in C and - * Objective-C, and `simd::fabs` in C++. */ -static inline SIMD_CFUNC simd_float3 __tg_fabs(simd_float3 x); -/*! @abstract Do not call this function; instead use `fabs` in C and - * Objective-C, and `simd::fabs` in C++. */ -static inline SIMD_CFUNC simd_float4 __tg_fabs(simd_float4 x); -/*! @abstract Do not call this function; instead use `fabs` in C and - * Objective-C, and `simd::fabs` in C++. */ -static inline SIMD_CFUNC simd_float8 __tg_fabs(simd_float8 x); -/*! @abstract Do not call this function; instead use `fabs` in C and - * Objective-C, and `simd::fabs` in C++. */ -static inline SIMD_CFUNC simd_float16 __tg_fabs(simd_float16 x); -/*! @abstract Do not call this function; instead use `fabs` in C and - * Objective-C, and `simd::fabs` in C++. */ -static inline SIMD_CFUNC simd_double2 __tg_fabs(simd_double2 x); -/*! @abstract Do not call this function; instead use `fabs` in C and - * Objective-C, and `simd::fabs` in C++. */ -static inline SIMD_CFUNC simd_double3 __tg_fabs(simd_double3 x); -/*! @abstract Do not call this function; instead use `fabs` in C and - * Objective-C, and `simd::fabs` in C++. */ -static inline SIMD_CFUNC simd_double4 __tg_fabs(simd_double4 x); -/*! @abstract Do not call this function; instead use `fabs` in C and - * Objective-C, and `simd::fabs` in C++. */ -static inline SIMD_CFUNC simd_double8 __tg_fabs(simd_double8 x); - -/*! @abstract Do not call this function; instead use `cbrt` in C and - * Objective-C, and `simd::cbrt` in C++. */ -static inline SIMD_CFUNC simd_float2 __tg_cbrt(simd_float2 x); -/*! @abstract Do not call this function; instead use `cbrt` in C and - * Objective-C, and `simd::cbrt` in C++. */ -static inline SIMD_CFUNC simd_float3 __tg_cbrt(simd_float3 x); -/*! @abstract Do not call this function; instead use `cbrt` in C and - * Objective-C, and `simd::cbrt` in C++. */ -static inline SIMD_CFUNC simd_float4 __tg_cbrt(simd_float4 x); -/*! @abstract Do not call this function; instead use `cbrt` in C and - * Objective-C, and `simd::cbrt` in C++. */ -static inline SIMD_CFUNC simd_float8 __tg_cbrt(simd_float8 x); -/*! @abstract Do not call this function; instead use `cbrt` in C and - * Objective-C, and `simd::cbrt` in C++. */ -static inline SIMD_CFUNC simd_float16 __tg_cbrt(simd_float16 x); -/*! @abstract Do not call this function; instead use `cbrt` in C and - * Objective-C, and `simd::cbrt` in C++. */ -static inline SIMD_CFUNC simd_double2 __tg_cbrt(simd_double2 x); -/*! @abstract Do not call this function; instead use `cbrt` in C and - * Objective-C, and `simd::cbrt` in C++. */ -static inline SIMD_CFUNC simd_double3 __tg_cbrt(simd_double3 x); -/*! @abstract Do not call this function; instead use `cbrt` in C and - * Objective-C, and `simd::cbrt` in C++. */ -static inline SIMD_CFUNC simd_double4 __tg_cbrt(simd_double4 x); -/*! @abstract Do not call this function; instead use `cbrt` in C and - * Objective-C, and `simd::cbrt` in C++. */ -static inline SIMD_CFUNC simd_double8 __tg_cbrt(simd_double8 x); - -/*! @abstract Do not call this function; instead use `sqrt` in C and - * Objective-C, and `simd::sqrt` in C++. */ -static inline SIMD_CFUNC simd_float2 __tg_sqrt(simd_float2 x); -/*! @abstract Do not call this function; instead use `sqrt` in C and - * Objective-C, and `simd::sqrt` in C++. */ -static inline SIMD_CFUNC simd_float3 __tg_sqrt(simd_float3 x); -/*! @abstract Do not call this function; instead use `sqrt` in C and - * Objective-C, and `simd::sqrt` in C++. */ -static inline SIMD_CFUNC simd_float4 __tg_sqrt(simd_float4 x); -/*! @abstract Do not call this function; instead use `sqrt` in C and - * Objective-C, and `simd::sqrt` in C++. */ -static inline SIMD_CFUNC simd_float8 __tg_sqrt(simd_float8 x); -/*! @abstract Do not call this function; instead use `sqrt` in C and - * Objective-C, and `simd::sqrt` in C++. */ -static inline SIMD_CFUNC simd_float16 __tg_sqrt(simd_float16 x); -/*! @abstract Do not call this function; instead use `sqrt` in C and - * Objective-C, and `simd::sqrt` in C++. */ -static inline SIMD_CFUNC simd_double2 __tg_sqrt(simd_double2 x); -/*! @abstract Do not call this function; instead use `sqrt` in C and - * Objective-C, and `simd::sqrt` in C++. */ -static inline SIMD_CFUNC simd_double3 __tg_sqrt(simd_double3 x); -/*! @abstract Do not call this function; instead use `sqrt` in C and - * Objective-C, and `simd::sqrt` in C++. */ -static inline SIMD_CFUNC simd_double4 __tg_sqrt(simd_double4 x); -/*! @abstract Do not call this function; instead use `sqrt` in C and - * Objective-C, and `simd::sqrt` in C++. */ -static inline SIMD_CFUNC simd_double8 __tg_sqrt(simd_double8 x); - -/*! @abstract Do not call this function; instead use `erf` in C and - * Objective-C, and `simd::erf` in C++. */ -static inline SIMD_CFUNC simd_float2 __tg_erf(simd_float2 x); -/*! @abstract Do not call this function; instead use `erf` in C and - * Objective-C, and `simd::erf` in C++. */ -static inline SIMD_CFUNC simd_float3 __tg_erf(simd_float3 x); -/*! @abstract Do not call this function; instead use `erf` in C and - * Objective-C, and `simd::erf` in C++. */ -static inline SIMD_CFUNC simd_float4 __tg_erf(simd_float4 x); -/*! @abstract Do not call this function; instead use `erf` in C and - * Objective-C, and `simd::erf` in C++. */ -static inline SIMD_CFUNC simd_float8 __tg_erf(simd_float8 x); -/*! @abstract Do not call this function; instead use `erf` in C and - * Objective-C, and `simd::erf` in C++. */ -static inline SIMD_CFUNC simd_float16 __tg_erf(simd_float16 x); -/*! @abstract Do not call this function; instead use `erf` in C and - * Objective-C, and `simd::erf` in C++. */ -static inline SIMD_CFUNC simd_double2 __tg_erf(simd_double2 x); -/*! @abstract Do not call this function; instead use `erf` in C and - * Objective-C, and `simd::erf` in C++. */ -static inline SIMD_CFUNC simd_double3 __tg_erf(simd_double3 x); -/*! @abstract Do not call this function; instead use `erf` in C and - * Objective-C, and `simd::erf` in C++. */ -static inline SIMD_CFUNC simd_double4 __tg_erf(simd_double4 x); -/*! @abstract Do not call this function; instead use `erf` in C and - * Objective-C, and `simd::erf` in C++. */ -static inline SIMD_CFUNC simd_double8 __tg_erf(simd_double8 x); - -/*! @abstract Do not call this function; instead use `erfc` in C and - * Objective-C, and `simd::erfc` in C++. */ -static inline SIMD_CFUNC simd_float2 __tg_erfc(simd_float2 x); -/*! @abstract Do not call this function; instead use `erfc` in C and - * Objective-C, and `simd::erfc` in C++. */ -static inline SIMD_CFUNC simd_float3 __tg_erfc(simd_float3 x); -/*! @abstract Do not call this function; instead use `erfc` in C and - * Objective-C, and `simd::erfc` in C++. */ -static inline SIMD_CFUNC simd_float4 __tg_erfc(simd_float4 x); -/*! @abstract Do not call this function; instead use `erfc` in C and - * Objective-C, and `simd::erfc` in C++. */ -static inline SIMD_CFUNC simd_float8 __tg_erfc(simd_float8 x); -/*! @abstract Do not call this function; instead use `erfc` in C and - * Objective-C, and `simd::erfc` in C++. */ -static inline SIMD_CFUNC simd_float16 __tg_erfc(simd_float16 x); -/*! @abstract Do not call this function; instead use `erfc` in C and - * Objective-C, and `simd::erfc` in C++. */ -static inline SIMD_CFUNC simd_double2 __tg_erfc(simd_double2 x); -/*! @abstract Do not call this function; instead use `erfc` in C and - * Objective-C, and `simd::erfc` in C++. */ -static inline SIMD_CFUNC simd_double3 __tg_erfc(simd_double3 x); -/*! @abstract Do not call this function; instead use `erfc` in C and - * Objective-C, and `simd::erfc` in C++. */ -static inline SIMD_CFUNC simd_double4 __tg_erfc(simd_double4 x); -/*! @abstract Do not call this function; instead use `erfc` in C and - * Objective-C, and `simd::erfc` in C++. */ -static inline SIMD_CFUNC simd_double8 __tg_erfc(simd_double8 x); - -/*! @abstract Do not call this function; instead use `tgamma` in C and - * Objective-C, and `simd::tgamma` in C++. */ -static inline SIMD_CFUNC simd_float2 __tg_tgamma(simd_float2 x); -/*! @abstract Do not call this function; instead use `tgamma` in C and - * Objective-C, and `simd::tgamma` in C++. */ -static inline SIMD_CFUNC simd_float3 __tg_tgamma(simd_float3 x); -/*! @abstract Do not call this function; instead use `tgamma` in C and - * Objective-C, and `simd::tgamma` in C++. */ -static inline SIMD_CFUNC simd_float4 __tg_tgamma(simd_float4 x); -/*! @abstract Do not call this function; instead use `tgamma` in C and - * Objective-C, and `simd::tgamma` in C++. */ -static inline SIMD_CFUNC simd_float8 __tg_tgamma(simd_float8 x); -/*! @abstract Do not call this function; instead use `tgamma` in C and - * Objective-C, and `simd::tgamma` in C++. */ -static inline SIMD_CFUNC simd_float16 __tg_tgamma(simd_float16 x); -/*! @abstract Do not call this function; instead use `tgamma` in C and - * Objective-C, and `simd::tgamma` in C++. */ -static inline SIMD_CFUNC simd_double2 __tg_tgamma(simd_double2 x); -/*! @abstract Do not call this function; instead use `tgamma` in C and - * Objective-C, and `simd::tgamma` in C++. */ -static inline SIMD_CFUNC simd_double3 __tg_tgamma(simd_double3 x); -/*! @abstract Do not call this function; instead use `tgamma` in C and - * Objective-C, and `simd::tgamma` in C++. */ -static inline SIMD_CFUNC simd_double4 __tg_tgamma(simd_double4 x); -/*! @abstract Do not call this function; instead use `tgamma` in C and - * Objective-C, and `simd::tgamma` in C++. */ -static inline SIMD_CFUNC simd_double8 __tg_tgamma(simd_double8 x); - -/*! @abstract Do not call this function; instead use `lgamma` in C and - * Objective-C, and `simd::lgamma` in C++. */ -static inline SIMD_CFUNC simd_float2 __tg_lgamma(simd_float2 x); -/*! @abstract Do not call this function; instead use `lgamma` in C and - * Objective-C, and `simd::lgamma` in C++. */ -static inline SIMD_CFUNC simd_float3 __tg_lgamma(simd_float3 x); -/*! @abstract Do not call this function; instead use `lgamma` in C and - * Objective-C, and `simd::lgamma` in C++. */ -static inline SIMD_CFUNC simd_float4 __tg_lgamma(simd_float4 x); -/*! @abstract Do not call this function; instead use `lgamma` in C and - * Objective-C, and `simd::lgamma` in C++. */ -static inline SIMD_CFUNC simd_float8 __tg_lgamma(simd_float8 x); -/*! @abstract Do not call this function; instead use `lgamma` in C and - * Objective-C, and `simd::lgamma` in C++. */ -static inline SIMD_CFUNC simd_float16 __tg_lgamma(simd_float16 x); -/*! @abstract Do not call this function; instead use `lgamma` in C and - * Objective-C, and `simd::lgamma` in C++. */ -static inline SIMD_CFUNC simd_double2 __tg_lgamma(simd_double2 x); -/*! @abstract Do not call this function; instead use `lgamma` in C and - * Objective-C, and `simd::lgamma` in C++. */ -static inline SIMD_CFUNC simd_double3 __tg_lgamma(simd_double3 x); -/*! @abstract Do not call this function; instead use `lgamma` in C and - * Objective-C, and `simd::lgamma` in C++. */ -static inline SIMD_CFUNC simd_double4 __tg_lgamma(simd_double4 x); -/*! @abstract Do not call this function; instead use `lgamma` in C and - * Objective-C, and `simd::lgamma` in C++. */ -static inline SIMD_CFUNC simd_double8 __tg_lgamma(simd_double8 x); - -/*! @abstract Do not call this function; instead use `ceil` in C and - * Objective-C, and `simd::ceil` in C++. */ -static inline SIMD_CFUNC simd_float2 __tg_ceil(simd_float2 x); -/*! @abstract Do not call this function; instead use `ceil` in C and - * Objective-C, and `simd::ceil` in C++. */ -static inline SIMD_CFUNC simd_float3 __tg_ceil(simd_float3 x); -/*! @abstract Do not call this function; instead use `ceil` in C and - * Objective-C, and `simd::ceil` in C++. */ -static inline SIMD_CFUNC simd_float4 __tg_ceil(simd_float4 x); -/*! @abstract Do not call this function; instead use `ceil` in C and - * Objective-C, and `simd::ceil` in C++. */ -static inline SIMD_CFUNC simd_float8 __tg_ceil(simd_float8 x); -/*! @abstract Do not call this function; instead use `ceil` in C and - * Objective-C, and `simd::ceil` in C++. */ -static inline SIMD_CFUNC simd_float16 __tg_ceil(simd_float16 x); -/*! @abstract Do not call this function; instead use `ceil` in C and - * Objective-C, and `simd::ceil` in C++. */ -static inline SIMD_CFUNC simd_double2 __tg_ceil(simd_double2 x); -/*! @abstract Do not call this function; instead use `ceil` in C and - * Objective-C, and `simd::ceil` in C++. */ -static inline SIMD_CFUNC simd_double3 __tg_ceil(simd_double3 x); -/*! @abstract Do not call this function; instead use `ceil` in C and - * Objective-C, and `simd::ceil` in C++. */ -static inline SIMD_CFUNC simd_double4 __tg_ceil(simd_double4 x); -/*! @abstract Do not call this function; instead use `ceil` in C and - * Objective-C, and `simd::ceil` in C++. */ -static inline SIMD_CFUNC simd_double8 __tg_ceil(simd_double8 x); - -/*! @abstract Do not call this function; instead use `floor` in C and - * Objective-C, and `simd::floor` in C++. */ -static inline SIMD_CFUNC simd_float2 __tg_floor(simd_float2 x); -/*! @abstract Do not call this function; instead use `floor` in C and - * Objective-C, and `simd::floor` in C++. */ -static inline SIMD_CFUNC simd_float3 __tg_floor(simd_float3 x); -/*! @abstract Do not call this function; instead use `floor` in C and - * Objective-C, and `simd::floor` in C++. */ -static inline SIMD_CFUNC simd_float4 __tg_floor(simd_float4 x); -/*! @abstract Do not call this function; instead use `floor` in C and - * Objective-C, and `simd::floor` in C++. */ -static inline SIMD_CFUNC simd_float8 __tg_floor(simd_float8 x); -/*! @abstract Do not call this function; instead use `floor` in C and - * Objective-C, and `simd::floor` in C++. */ -static inline SIMD_CFUNC simd_float16 __tg_floor(simd_float16 x); -/*! @abstract Do not call this function; instead use `floor` in C and - * Objective-C, and `simd::floor` in C++. */ -static inline SIMD_CFUNC simd_double2 __tg_floor(simd_double2 x); -/*! @abstract Do not call this function; instead use `floor` in C and - * Objective-C, and `simd::floor` in C++. */ -static inline SIMD_CFUNC simd_double3 __tg_floor(simd_double3 x); -/*! @abstract Do not call this function; instead use `floor` in C and - * Objective-C, and `simd::floor` in C++. */ -static inline SIMD_CFUNC simd_double4 __tg_floor(simd_double4 x); -/*! @abstract Do not call this function; instead use `floor` in C and - * Objective-C, and `simd::floor` in C++. */ -static inline SIMD_CFUNC simd_double8 __tg_floor(simd_double8 x); - -/*! @abstract Do not call this function; instead use `rint` in C and - * Objective-C, and `simd::rint` in C++. */ -static inline SIMD_CFUNC simd_float2 __tg_rint(simd_float2 x); -/*! @abstract Do not call this function; instead use `rint` in C and - * Objective-C, and `simd::rint` in C++. */ -static inline SIMD_CFUNC simd_float3 __tg_rint(simd_float3 x); -/*! @abstract Do not call this function; instead use `rint` in C and - * Objective-C, and `simd::rint` in C++. */ -static inline SIMD_CFUNC simd_float4 __tg_rint(simd_float4 x); -/*! @abstract Do not call this function; instead use `rint` in C and - * Objective-C, and `simd::rint` in C++. */ -static inline SIMD_CFUNC simd_float8 __tg_rint(simd_float8 x); -/*! @abstract Do not call this function; instead use `rint` in C and - * Objective-C, and `simd::rint` in C++. */ -static inline SIMD_CFUNC simd_float16 __tg_rint(simd_float16 x); -/*! @abstract Do not call this function; instead use `rint` in C and - * Objective-C, and `simd::rint` in C++. */ -static inline SIMD_CFUNC simd_double2 __tg_rint(simd_double2 x); -/*! @abstract Do not call this function; instead use `rint` in C and - * Objective-C, and `simd::rint` in C++. */ -static inline SIMD_CFUNC simd_double3 __tg_rint(simd_double3 x); -/*! @abstract Do not call this function; instead use `rint` in C and - * Objective-C, and `simd::rint` in C++. */ -static inline SIMD_CFUNC simd_double4 __tg_rint(simd_double4 x); -/*! @abstract Do not call this function; instead use `rint` in C and - * Objective-C, and `simd::rint` in C++. */ -static inline SIMD_CFUNC simd_double8 __tg_rint(simd_double8 x); - -/*! @abstract Do not call this function; instead use `round` in C and - * Objective-C, and `simd::round` in C++. */ -static inline SIMD_CFUNC simd_float2 __tg_round(simd_float2 x); -/*! @abstract Do not call this function; instead use `round` in C and - * Objective-C, and `simd::round` in C++. */ -static inline SIMD_CFUNC simd_float3 __tg_round(simd_float3 x); -/*! @abstract Do not call this function; instead use `round` in C and - * Objective-C, and `simd::round` in C++. */ -static inline SIMD_CFUNC simd_float4 __tg_round(simd_float4 x); -/*! @abstract Do not call this function; instead use `round` in C and - * Objective-C, and `simd::round` in C++. */ -static inline SIMD_CFUNC simd_float8 __tg_round(simd_float8 x); -/*! @abstract Do not call this function; instead use `round` in C and - * Objective-C, and `simd::round` in C++. */ -static inline SIMD_CFUNC simd_float16 __tg_round(simd_float16 x); -/*! @abstract Do not call this function; instead use `round` in C and - * Objective-C, and `simd::round` in C++. */ -static inline SIMD_CFUNC simd_double2 __tg_round(simd_double2 x); -/*! @abstract Do not call this function; instead use `round` in C and - * Objective-C, and `simd::round` in C++. */ -static inline SIMD_CFUNC simd_double3 __tg_round(simd_double3 x); -/*! @abstract Do not call this function; instead use `round` in C and - * Objective-C, and `simd::round` in C++. */ -static inline SIMD_CFUNC simd_double4 __tg_round(simd_double4 x); -/*! @abstract Do not call this function; instead use `round` in C and - * Objective-C, and `simd::round` in C++. */ -static inline SIMD_CFUNC simd_double8 __tg_round(simd_double8 x); - -/*! @abstract Do not call this function; instead use `trunc` in C and - * Objective-C, and `simd::trunc` in C++. */ -static inline SIMD_CFUNC simd_float2 __tg_trunc(simd_float2 x); -/*! @abstract Do not call this function; instead use `trunc` in C and - * Objective-C, and `simd::trunc` in C++. */ -static inline SIMD_CFUNC simd_float3 __tg_trunc(simd_float3 x); -/*! @abstract Do not call this function; instead use `trunc` in C and - * Objective-C, and `simd::trunc` in C++. */ -static inline SIMD_CFUNC simd_float4 __tg_trunc(simd_float4 x); -/*! @abstract Do not call this function; instead use `trunc` in C and - * Objective-C, and `simd::trunc` in C++. */ -static inline SIMD_CFUNC simd_float8 __tg_trunc(simd_float8 x); -/*! @abstract Do not call this function; instead use `trunc` in C and - * Objective-C, and `simd::trunc` in C++. */ -static inline SIMD_CFUNC simd_float16 __tg_trunc(simd_float16 x); -/*! @abstract Do not call this function; instead use `trunc` in C and - * Objective-C, and `simd::trunc` in C++. */ -static inline SIMD_CFUNC simd_double2 __tg_trunc(simd_double2 x); -/*! @abstract Do not call this function; instead use `trunc` in C and - * Objective-C, and `simd::trunc` in C++. */ -static inline SIMD_CFUNC simd_double3 __tg_trunc(simd_double3 x); -/*! @abstract Do not call this function; instead use `trunc` in C and - * Objective-C, and `simd::trunc` in C++. */ -static inline SIMD_CFUNC simd_double4 __tg_trunc(simd_double4 x); -/*! @abstract Do not call this function; instead use `trunc` in C and - * Objective-C, and `simd::trunc` in C++. */ -static inline SIMD_CFUNC simd_double8 __tg_trunc(simd_double8 x); - -/*! @abstract Do not call this function; instead use `isfinite` in C and - * Objective-C, and `simd::isfinite` in C++. */ -static inline SIMD_CFUNC simd_int2 __tg_isfinite(simd_float2 x); -/*! @abstract Do not call this function; instead use `isfinite` in C and - * Objective-C, and `simd::isfinite` in C++. */ -static inline SIMD_CFUNC simd_int3 __tg_isfinite(simd_float3 x); -/*! @abstract Do not call this function; instead use `isfinite` in C and - * Objective-C, and `simd::isfinite` in C++. */ -static inline SIMD_CFUNC simd_int4 __tg_isfinite(simd_float4 x); -/*! @abstract Do not call this function; instead use `isfinite` in C and - * Objective-C, and `simd::isfinite` in C++. */ -static inline SIMD_CFUNC simd_int8 __tg_isfinite(simd_float8 x); -/*! @abstract Do not call this function; instead use `isfinite` in C and - * Objective-C, and `simd::isfinite` in C++. */ -static inline SIMD_CFUNC simd_int16 __tg_isfinite(simd_float16 x); -/*! @abstract Do not call this function; instead use `isfinite` in C and - * Objective-C, and `simd::isfinite` in C++. */ -static inline SIMD_CFUNC simd_long2 __tg_isfinite(simd_double2 x); -/*! @abstract Do not call this function; instead use `isfinite` in C and - * Objective-C, and `simd::isfinite` in C++. */ -static inline SIMD_CFUNC simd_long3 __tg_isfinite(simd_double3 x); -/*! @abstract Do not call this function; instead use `isfinite` in C and - * Objective-C, and `simd::isfinite` in C++. */ -static inline SIMD_CFUNC simd_long4 __tg_isfinite(simd_double4 x); -/*! @abstract Do not call this function; instead use `isfinite` in C and - * Objective-C, and `simd::isfinite` in C++. */ -static inline SIMD_CFUNC simd_long8 __tg_isfinite(simd_double8 x); - -/*! @abstract Do not call this function; instead use `isinf` in C and - * Objective-C, and `simd::isinf` in C++. */ -static inline SIMD_CFUNC simd_int2 __tg_isinf(simd_float2 x); -/*! @abstract Do not call this function; instead use `isinf` in C and - * Objective-C, and `simd::isinf` in C++. */ -static inline SIMD_CFUNC simd_int3 __tg_isinf(simd_float3 x); -/*! @abstract Do not call this function; instead use `isinf` in C and - * Objective-C, and `simd::isinf` in C++. */ -static inline SIMD_CFUNC simd_int4 __tg_isinf(simd_float4 x); -/*! @abstract Do not call this function; instead use `isinf` in C and - * Objective-C, and `simd::isinf` in C++. */ -static inline SIMD_CFUNC simd_int8 __tg_isinf(simd_float8 x); -/*! @abstract Do not call this function; instead use `isinf` in C and - * Objective-C, and `simd::isinf` in C++. */ -static inline SIMD_CFUNC simd_int16 __tg_isinf(simd_float16 x); -/*! @abstract Do not call this function; instead use `isinf` in C and - * Objective-C, and `simd::isinf` in C++. */ -static inline SIMD_CFUNC simd_long2 __tg_isinf(simd_double2 x); -/*! @abstract Do not call this function; instead use `isinf` in C and - * Objective-C, and `simd::isinf` in C++. */ -static inline SIMD_CFUNC simd_long3 __tg_isinf(simd_double3 x); -/*! @abstract Do not call this function; instead use `isinf` in C and - * Objective-C, and `simd::isinf` in C++. */ -static inline SIMD_CFUNC simd_long4 __tg_isinf(simd_double4 x); -/*! @abstract Do not call this function; instead use `isinf` in C and - * Objective-C, and `simd::isinf` in C++. */ -static inline SIMD_CFUNC simd_long8 __tg_isinf(simd_double8 x); - -/*! @abstract Do not call this function; instead use `isnan` in C and - * Objective-C, and `simd::isnan` in C++. */ -static inline SIMD_CFUNC simd_int2 __tg_isnan(simd_float2 x); -/*! @abstract Do not call this function; instead use `isnan` in C and - * Objective-C, and `simd::isnan` in C++. */ -static inline SIMD_CFUNC simd_int3 __tg_isnan(simd_float3 x); -/*! @abstract Do not call this function; instead use `isnan` in C and - * Objective-C, and `simd::isnan` in C++. */ -static inline SIMD_CFUNC simd_int4 __tg_isnan(simd_float4 x); -/*! @abstract Do not call this function; instead use `isnan` in C and - * Objective-C, and `simd::isnan` in C++. */ -static inline SIMD_CFUNC simd_int8 __tg_isnan(simd_float8 x); -/*! @abstract Do not call this function; instead use `isnan` in C and - * Objective-C, and `simd::isnan` in C++. */ -static inline SIMD_CFUNC simd_int16 __tg_isnan(simd_float16 x); -/*! @abstract Do not call this function; instead use `isnan` in C and - * Objective-C, and `simd::isnan` in C++. */ -static inline SIMD_CFUNC simd_long2 __tg_isnan(simd_double2 x); -/*! @abstract Do not call this function; instead use `isnan` in C and - * Objective-C, and `simd::isnan` in C++. */ -static inline SIMD_CFUNC simd_long3 __tg_isnan(simd_double3 x); -/*! @abstract Do not call this function; instead use `isnan` in C and - * Objective-C, and `simd::isnan` in C++. */ -static inline SIMD_CFUNC simd_long4 __tg_isnan(simd_double4 x); -/*! @abstract Do not call this function; instead use `isnan` in C and - * Objective-C, and `simd::isnan` in C++. */ -static inline SIMD_CFUNC simd_long8 __tg_isnan(simd_double8 x); - -/*! @abstract Do not call this function; instead use `isnormal` in C and - * Objective-C, and `simd::isnormal` in C++. */ -static inline SIMD_CFUNC simd_int2 __tg_isnormal(simd_float2 x); -/*! @abstract Do not call this function; instead use `isnormal` in C and - * Objective-C, and `simd::isnormal` in C++. */ -static inline SIMD_CFUNC simd_int3 __tg_isnormal(simd_float3 x); -/*! @abstract Do not call this function; instead use `isnormal` in C and - * Objective-C, and `simd::isnormal` in C++. */ -static inline SIMD_CFUNC simd_int4 __tg_isnormal(simd_float4 x); -/*! @abstract Do not call this function; instead use `isnormal` in C and - * Objective-C, and `simd::isnormal` in C++. */ -static inline SIMD_CFUNC simd_int8 __tg_isnormal(simd_float8 x); -/*! @abstract Do not call this function; instead use `isnormal` in C and - * Objective-C, and `simd::isnormal` in C++. */ -static inline SIMD_CFUNC simd_int16 __tg_isnormal(simd_float16 x); -/*! @abstract Do not call this function; instead use `isnormal` in C and - * Objective-C, and `simd::isnormal` in C++. */ -static inline SIMD_CFUNC simd_long2 __tg_isnormal(simd_double2 x); -/*! @abstract Do not call this function; instead use `isnormal` in C and - * Objective-C, and `simd::isnormal` in C++. */ -static inline SIMD_CFUNC simd_long3 __tg_isnormal(simd_double3 x); -/*! @abstract Do not call this function; instead use `isnormal` in C and - * Objective-C, and `simd::isnormal` in C++. */ -static inline SIMD_CFUNC simd_long4 __tg_isnormal(simd_double4 x); -/*! @abstract Do not call this function; instead use `isnormal` in C and - * Objective-C, and `simd::isnormal` in C++. */ -static inline SIMD_CFUNC simd_long8 __tg_isnormal(simd_double8 x); - - -/*! @abstract Do not call this function; instead use `atan2` in C and - * Objective-C, and `simd::atan2` in C++. */ -static inline SIMD_CFUNC simd_float2 __tg_atan2(simd_float2 y, simd_float2 x); -/*! @abstract Do not call this function; instead use `atan2` in C and - * Objective-C, and `simd::atan2` in C++. */ -static inline SIMD_CFUNC simd_float3 __tg_atan2(simd_float3 y, simd_float3 x); -/*! @abstract Do not call this function; instead use `atan2` in C and - * Objective-C, and `simd::atan2` in C++. */ -static inline SIMD_CFUNC simd_float4 __tg_atan2(simd_float4 y, simd_float4 x); -/*! @abstract Do not call this function; instead use `atan2` in C and - * Objective-C, and `simd::atan2` in C++. */ -static inline SIMD_CFUNC simd_float8 __tg_atan2(simd_float8 y, simd_float8 x); -/*! @abstract Do not call this function; instead use `atan2` in C and - * Objective-C, and `simd::atan2` in C++. */ -static inline SIMD_CFUNC simd_float16 __tg_atan2(simd_float16 y, simd_float16 x); -/*! @abstract Do not call this function; instead use `atan2` in C and - * Objective-C, and `simd::atan2` in C++. */ -static inline SIMD_CFUNC simd_double2 __tg_atan2(simd_double2 y, simd_double2 x); -/*! @abstract Do not call this function; instead use `atan2` in C and - * Objective-C, and `simd::atan2` in C++. */ -static inline SIMD_CFUNC simd_double3 __tg_atan2(simd_double3 y, simd_double3 x); -/*! @abstract Do not call this function; instead use `atan2` in C and - * Objective-C, and `simd::atan2` in C++. */ -static inline SIMD_CFUNC simd_double4 __tg_atan2(simd_double4 y, simd_double4 x); -/*! @abstract Do not call this function; instead use `atan2` in C and - * Objective-C, and `simd::atan2` in C++. */ -static inline SIMD_CFUNC simd_double8 __tg_atan2(simd_double8 y, simd_double8 x); - -/*! @abstract Do not call this function; instead use `hypot` in C and - * Objective-C, and `simd::hypot` in C++. */ -static inline SIMD_CFUNC simd_float2 __tg_hypot(simd_float2 x, simd_float2 y); -/*! @abstract Do not call this function; instead use `hypot` in C and - * Objective-C, and `simd::hypot` in C++. */ -static inline SIMD_CFUNC simd_float3 __tg_hypot(simd_float3 x, simd_float3 y); -/*! @abstract Do not call this function; instead use `hypot` in C and - * Objective-C, and `simd::hypot` in C++. */ -static inline SIMD_CFUNC simd_float4 __tg_hypot(simd_float4 x, simd_float4 y); -/*! @abstract Do not call this function; instead use `hypot` in C and - * Objective-C, and `simd::hypot` in C++. */ -static inline SIMD_CFUNC simd_float8 __tg_hypot(simd_float8 x, simd_float8 y); -/*! @abstract Do not call this function; instead use `hypot` in C and - * Objective-C, and `simd::hypot` in C++. */ -static inline SIMD_CFUNC simd_float16 __tg_hypot(simd_float16 x, simd_float16 y); -/*! @abstract Do not call this function; instead use `hypot` in C and - * Objective-C, and `simd::hypot` in C++. */ -static inline SIMD_CFUNC simd_double2 __tg_hypot(simd_double2 x, simd_double2 y); -/*! @abstract Do not call this function; instead use `hypot` in C and - * Objective-C, and `simd::hypot` in C++. */ -static inline SIMD_CFUNC simd_double3 __tg_hypot(simd_double3 x, simd_double3 y); -/*! @abstract Do not call this function; instead use `hypot` in C and - * Objective-C, and `simd::hypot` in C++. */ -static inline SIMD_CFUNC simd_double4 __tg_hypot(simd_double4 x, simd_double4 y); -/*! @abstract Do not call this function; instead use `hypot` in C and - * Objective-C, and `simd::hypot` in C++. */ -static inline SIMD_CFUNC simd_double8 __tg_hypot(simd_double8 x, simd_double8 y); - -/*! @abstract Do not call this function; instead use `pow` in C and - * Objective-C, and `simd::pow` in C++. */ -static inline SIMD_CFUNC simd_float2 __tg_pow(simd_float2 x, simd_float2 y); -/*! @abstract Do not call this function; instead use `pow` in C and - * Objective-C, and `simd::pow` in C++. */ -static inline SIMD_CFUNC simd_float3 __tg_pow(simd_float3 x, simd_float3 y); -/*! @abstract Do not call this function; instead use `pow` in C and - * Objective-C, and `simd::pow` in C++. */ -static inline SIMD_CFUNC simd_float4 __tg_pow(simd_float4 x, simd_float4 y); -/*! @abstract Do not call this function; instead use `pow` in C and - * Objective-C, and `simd::pow` in C++. */ -static inline SIMD_CFUNC simd_float8 __tg_pow(simd_float8 x, simd_float8 y); -/*! @abstract Do not call this function; instead use `pow` in C and - * Objective-C, and `simd::pow` in C++. */ -static inline SIMD_CFUNC simd_float16 __tg_pow(simd_float16 x, simd_float16 y); -/*! @abstract Do not call this function; instead use `pow` in C and - * Objective-C, and `simd::pow` in C++. */ -static inline SIMD_CFUNC simd_double2 __tg_pow(simd_double2 x, simd_double2 y); -/*! @abstract Do not call this function; instead use `pow` in C and - * Objective-C, and `simd::pow` in C++. */ -static inline SIMD_CFUNC simd_double3 __tg_pow(simd_double3 x, simd_double3 y); -/*! @abstract Do not call this function; instead use `pow` in C and - * Objective-C, and `simd::pow` in C++. */ -static inline SIMD_CFUNC simd_double4 __tg_pow(simd_double4 x, simd_double4 y); -/*! @abstract Do not call this function; instead use `pow` in C and - * Objective-C, and `simd::pow` in C++. */ -static inline SIMD_CFUNC simd_double8 __tg_pow(simd_double8 x, simd_double8 y); - -/*! @abstract Do not call this function; instead use `fmod` in C and - * Objective-C, and `simd::fmod` in C++. */ -static inline SIMD_CFUNC simd_float2 __tg_fmod(simd_float2 x, simd_float2 y); -/*! @abstract Do not call this function; instead use `fmod` in C and - * Objective-C, and `simd::fmod` in C++. */ -static inline SIMD_CFUNC simd_float3 __tg_fmod(simd_float3 x, simd_float3 y); -/*! @abstract Do not call this function; instead use `fmod` in C and - * Objective-C, and `simd::fmod` in C++. */ -static inline SIMD_CFUNC simd_float4 __tg_fmod(simd_float4 x, simd_float4 y); -/*! @abstract Do not call this function; instead use `fmod` in C and - * Objective-C, and `simd::fmod` in C++. */ -static inline SIMD_CFUNC simd_float8 __tg_fmod(simd_float8 x, simd_float8 y); -/*! @abstract Do not call this function; instead use `fmod` in C and - * Objective-C, and `simd::fmod` in C++. */ -static inline SIMD_CFUNC simd_float16 __tg_fmod(simd_float16 x, simd_float16 y); -/*! @abstract Do not call this function; instead use `fmod` in C and - * Objective-C, and `simd::fmod` in C++. */ -static inline SIMD_CFUNC simd_double2 __tg_fmod(simd_double2 x, simd_double2 y); -/*! @abstract Do not call this function; instead use `fmod` in C and - * Objective-C, and `simd::fmod` in C++. */ -static inline SIMD_CFUNC simd_double3 __tg_fmod(simd_double3 x, simd_double3 y); -/*! @abstract Do not call this function; instead use `fmod` in C and - * Objective-C, and `simd::fmod` in C++. */ -static inline SIMD_CFUNC simd_double4 __tg_fmod(simd_double4 x, simd_double4 y); -/*! @abstract Do not call this function; instead use `fmod` in C and - * Objective-C, and `simd::fmod` in C++. */ -static inline SIMD_CFUNC simd_double8 __tg_fmod(simd_double8 x, simd_double8 y); - -/*! @abstract Do not call this function; instead use `remainder` in C and - * Objective-C, and `simd::remainder` in C++. */ -static inline SIMD_CFUNC simd_float2 __tg_remainder(simd_float2 x, simd_float2 y); -/*! @abstract Do not call this function; instead use `remainder` in C and - * Objective-C, and `simd::remainder` in C++. */ -static inline SIMD_CFUNC simd_float3 __tg_remainder(simd_float3 x, simd_float3 y); -/*! @abstract Do not call this function; instead use `remainder` in C and - * Objective-C, and `simd::remainder` in C++. */ -static inline SIMD_CFUNC simd_float4 __tg_remainder(simd_float4 x, simd_float4 y); -/*! @abstract Do not call this function; instead use `remainder` in C and - * Objective-C, and `simd::remainder` in C++. */ -static inline SIMD_CFUNC simd_float8 __tg_remainder(simd_float8 x, simd_float8 y); -/*! @abstract Do not call this function; instead use `remainder` in C and - * Objective-C, and `simd::remainder` in C++. */ -static inline SIMD_CFUNC simd_float16 __tg_remainder(simd_float16 x, simd_float16 y); -/*! @abstract Do not call this function; instead use `remainder` in C and - * Objective-C, and `simd::remainder` in C++. */ -static inline SIMD_CFUNC simd_double2 __tg_remainder(simd_double2 x, simd_double2 y); -/*! @abstract Do not call this function; instead use `remainder` in C and - * Objective-C, and `simd::remainder` in C++. */ -static inline SIMD_CFUNC simd_double3 __tg_remainder(simd_double3 x, simd_double3 y); -/*! @abstract Do not call this function; instead use `remainder` in C and - * Objective-C, and `simd::remainder` in C++. */ -static inline SIMD_CFUNC simd_double4 __tg_remainder(simd_double4 x, simd_double4 y); -/*! @abstract Do not call this function; instead use `remainder` in C and - * Objective-C, and `simd::remainder` in C++. */ -static inline SIMD_CFUNC simd_double8 __tg_remainder(simd_double8 x, simd_double8 y); - -/*! @abstract Do not call this function; instead use `copysign` in C and - * Objective-C, and `simd::copysign` in C++. */ -static inline SIMD_CFUNC simd_float2 __tg_copysign(simd_float2 x, simd_float2 y); -/*! @abstract Do not call this function; instead use `copysign` in C and - * Objective-C, and `simd::copysign` in C++. */ -static inline SIMD_CFUNC simd_float3 __tg_copysign(simd_float3 x, simd_float3 y); -/*! @abstract Do not call this function; instead use `copysign` in C and - * Objective-C, and `simd::copysign` in C++. */ -static inline SIMD_CFUNC simd_float4 __tg_copysign(simd_float4 x, simd_float4 y); -/*! @abstract Do not call this function; instead use `copysign` in C and - * Objective-C, and `simd::copysign` in C++. */ -static inline SIMD_CFUNC simd_float8 __tg_copysign(simd_float8 x, simd_float8 y); -/*! @abstract Do not call this function; instead use `copysign` in C and - * Objective-C, and `simd::copysign` in C++. */ -static inline SIMD_CFUNC simd_float16 __tg_copysign(simd_float16 x, simd_float16 y); -/*! @abstract Do not call this function; instead use `copysign` in C and - * Objective-C, and `simd::copysign` in C++. */ -static inline SIMD_CFUNC simd_double2 __tg_copysign(simd_double2 x, simd_double2 y); -/*! @abstract Do not call this function; instead use `copysign` in C and - * Objective-C, and `simd::copysign` in C++. */ -static inline SIMD_CFUNC simd_double3 __tg_copysign(simd_double3 x, simd_double3 y); -/*! @abstract Do not call this function; instead use `copysign` in C and - * Objective-C, and `simd::copysign` in C++. */ -static inline SIMD_CFUNC simd_double4 __tg_copysign(simd_double4 x, simd_double4 y); -/*! @abstract Do not call this function; instead use `copysign` in C and - * Objective-C, and `simd::copysign` in C++. */ -static inline SIMD_CFUNC simd_double8 __tg_copysign(simd_double8 x, simd_double8 y); - -/*! @abstract Do not call this function; instead use `nextafter` in C and - * Objective-C, and `simd::nextafter` in C++. */ -static inline SIMD_CFUNC simd_float2 __tg_nextafter(simd_float2 x, simd_float2 y); -/*! @abstract Do not call this function; instead use `nextafter` in C and - * Objective-C, and `simd::nextafter` in C++. */ -static inline SIMD_CFUNC simd_float3 __tg_nextafter(simd_float3 x, simd_float3 y); -/*! @abstract Do not call this function; instead use `nextafter` in C and - * Objective-C, and `simd::nextafter` in C++. */ -static inline SIMD_CFUNC simd_float4 __tg_nextafter(simd_float4 x, simd_float4 y); -/*! @abstract Do not call this function; instead use `nextafter` in C and - * Objective-C, and `simd::nextafter` in C++. */ -static inline SIMD_CFUNC simd_float8 __tg_nextafter(simd_float8 x, simd_float8 y); -/*! @abstract Do not call this function; instead use `nextafter` in C and - * Objective-C, and `simd::nextafter` in C++. */ -static inline SIMD_CFUNC simd_float16 __tg_nextafter(simd_float16 x, simd_float16 y); -/*! @abstract Do not call this function; instead use `nextafter` in C and - * Objective-C, and `simd::nextafter` in C++. */ -static inline SIMD_CFUNC simd_double2 __tg_nextafter(simd_double2 x, simd_double2 y); -/*! @abstract Do not call this function; instead use `nextafter` in C and - * Objective-C, and `simd::nextafter` in C++. */ -static inline SIMD_CFUNC simd_double3 __tg_nextafter(simd_double3 x, simd_double3 y); -/*! @abstract Do not call this function; instead use `nextafter` in C and - * Objective-C, and `simd::nextafter` in C++. */ -static inline SIMD_CFUNC simd_double4 __tg_nextafter(simd_double4 x, simd_double4 y); -/*! @abstract Do not call this function; instead use `nextafter` in C and - * Objective-C, and `simd::nextafter` in C++. */ -static inline SIMD_CFUNC simd_double8 __tg_nextafter(simd_double8 x, simd_double8 y); - -/*! @abstract Do not call this function; instead use `fdim` in C and - * Objective-C, and `simd::fdim` in C++. */ -static inline SIMD_CFUNC simd_float2 __tg_fdim(simd_float2 x, simd_float2 y); -/*! @abstract Do not call this function; instead use `fdim` in C and - * Objective-C, and `simd::fdim` in C++. */ -static inline SIMD_CFUNC simd_float3 __tg_fdim(simd_float3 x, simd_float3 y); -/*! @abstract Do not call this function; instead use `fdim` in C and - * Objective-C, and `simd::fdim` in C++. */ -static inline SIMD_CFUNC simd_float4 __tg_fdim(simd_float4 x, simd_float4 y); -/*! @abstract Do not call this function; instead use `fdim` in C and - * Objective-C, and `simd::fdim` in C++. */ -static inline SIMD_CFUNC simd_float8 __tg_fdim(simd_float8 x, simd_float8 y); -/*! @abstract Do not call this function; instead use `fdim` in C and - * Objective-C, and `simd::fdim` in C++. */ -static inline SIMD_CFUNC simd_float16 __tg_fdim(simd_float16 x, simd_float16 y); -/*! @abstract Do not call this function; instead use `fdim` in C and - * Objective-C, and `simd::fdim` in C++. */ -static inline SIMD_CFUNC simd_double2 __tg_fdim(simd_double2 x, simd_double2 y); -/*! @abstract Do not call this function; instead use `fdim` in C and - * Objective-C, and `simd::fdim` in C++. */ -static inline SIMD_CFUNC simd_double3 __tg_fdim(simd_double3 x, simd_double3 y); -/*! @abstract Do not call this function; instead use `fdim` in C and - * Objective-C, and `simd::fdim` in C++. */ -static inline SIMD_CFUNC simd_double4 __tg_fdim(simd_double4 x, simd_double4 y); -/*! @abstract Do not call this function; instead use `fdim` in C and - * Objective-C, and `simd::fdim` in C++. */ -static inline SIMD_CFUNC simd_double8 __tg_fdim(simd_double8 x, simd_double8 y); - -/*! @abstract Do not call this function; instead use `fmax` in C and - * Objective-C, and `simd::fmax` in C++. */ -static inline SIMD_CFUNC simd_float2 __tg_fmax(simd_float2 x, simd_float2 y); -/*! @abstract Do not call this function; instead use `fmax` in C and - * Objective-C, and `simd::fmax` in C++. */ -static inline SIMD_CFUNC simd_float3 __tg_fmax(simd_float3 x, simd_float3 y); -/*! @abstract Do not call this function; instead use `fmax` in C and - * Objective-C, and `simd::fmax` in C++. */ -static inline SIMD_CFUNC simd_float4 __tg_fmax(simd_float4 x, simd_float4 y); -/*! @abstract Do not call this function; instead use `fmax` in C and - * Objective-C, and `simd::fmax` in C++. */ -static inline SIMD_CFUNC simd_float8 __tg_fmax(simd_float8 x, simd_float8 y); -/*! @abstract Do not call this function; instead use `fmax` in C and - * Objective-C, and `simd::fmax` in C++. */ -static inline SIMD_CFUNC simd_float16 __tg_fmax(simd_float16 x, simd_float16 y); -/*! @abstract Do not call this function; instead use `fmax` in C and - * Objective-C, and `simd::fmax` in C++. */ -static inline SIMD_CFUNC simd_double2 __tg_fmax(simd_double2 x, simd_double2 y); -/*! @abstract Do not call this function; instead use `fmax` in C and - * Objective-C, and `simd::fmax` in C++. */ -static inline SIMD_CFUNC simd_double3 __tg_fmax(simd_double3 x, simd_double3 y); -/*! @abstract Do not call this function; instead use `fmax` in C and - * Objective-C, and `simd::fmax` in C++. */ -static inline SIMD_CFUNC simd_double4 __tg_fmax(simd_double4 x, simd_double4 y); -/*! @abstract Do not call this function; instead use `fmax` in C and - * Objective-C, and `simd::fmax` in C++. */ -static inline SIMD_CFUNC simd_double8 __tg_fmax(simd_double8 x, simd_double8 y); - -/*! @abstract Do not call this function; instead use `fmin` in C and - * Objective-C, and `simd::fmin` in C++. */ -static inline SIMD_CFUNC simd_float2 __tg_fmin(simd_float2 x, simd_float2 y); -/*! @abstract Do not call this function; instead use `fmin` in C and - * Objective-C, and `simd::fmin` in C++. */ -static inline SIMD_CFUNC simd_float3 __tg_fmin(simd_float3 x, simd_float3 y); -/*! @abstract Do not call this function; instead use `fmin` in C and - * Objective-C, and `simd::fmin` in C++. */ -static inline SIMD_CFUNC simd_float4 __tg_fmin(simd_float4 x, simd_float4 y); -/*! @abstract Do not call this function; instead use `fmin` in C and - * Objective-C, and `simd::fmin` in C++. */ -static inline SIMD_CFUNC simd_float8 __tg_fmin(simd_float8 x, simd_float8 y); -/*! @abstract Do not call this function; instead use `fmin` in C and - * Objective-C, and `simd::fmin` in C++. */ -static inline SIMD_CFUNC simd_float16 __tg_fmin(simd_float16 x, simd_float16 y); -/*! @abstract Do not call this function; instead use `fmin` in C and - * Objective-C, and `simd::fmin` in C++. */ -static inline SIMD_CFUNC simd_double2 __tg_fmin(simd_double2 x, simd_double2 y); -/*! @abstract Do not call this function; instead use `fmin` in C and - * Objective-C, and `simd::fmin` in C++. */ -static inline SIMD_CFUNC simd_double3 __tg_fmin(simd_double3 x, simd_double3 y); -/*! @abstract Do not call this function; instead use `fmin` in C and - * Objective-C, and `simd::fmin` in C++. */ -static inline SIMD_CFUNC simd_double4 __tg_fmin(simd_double4 x, simd_double4 y); -/*! @abstract Do not call this function; instead use `fmin` in C and - * Objective-C, and `simd::fmin` in C++. */ -static inline SIMD_CFUNC simd_double8 __tg_fmin(simd_double8 x, simd_double8 y); - - -/*! @abstract Do not call this function; instead use `fma` in C and Objective-C, - * and `simd::fma` in C++. */ -static inline SIMD_CFUNC simd_float2 __tg_fma(simd_float2 x, simd_float2 y, simd_float2 z); -/*! @abstract Do not call this function; instead use `fma` in C and Objective-C, - * and `simd::fma` in C++. */ -static inline SIMD_CFUNC simd_float3 __tg_fma(simd_float3 x, simd_float3 y, simd_float3 z); -/*! @abstract Do not call this function; instead use `fma` in C and Objective-C, - * and `simd::fma` in C++. */ -static inline SIMD_CFUNC simd_float4 __tg_fma(simd_float4 x, simd_float4 y, simd_float4 z); -/*! @abstract Do not call this function; instead use `fma` in C and Objective-C, - * and `simd::fma` in C++. */ -static inline SIMD_CFUNC simd_float8 __tg_fma(simd_float8 x, simd_float8 y, simd_float8 z); -/*! @abstract Do not call this function; instead use `fma` in C and Objective-C, - * and `simd::fma` in C++. */ -static inline SIMD_CFUNC simd_float16 __tg_fma(simd_float16 x, simd_float16 y, simd_float16 z); -/*! @abstract Do not call this function; instead use `fma` in C and Objective-C, - * and `simd::fma` in C++. */ -static inline SIMD_CFUNC simd_double2 __tg_fma(simd_double2 x, simd_double2 y, simd_double2 z); -/*! @abstract Do not call this function; instead use `fma` in C and Objective-C, - * and `simd::fma` in C++. */ -static inline SIMD_CFUNC simd_double3 __tg_fma(simd_double3 x, simd_double3 y, simd_double3 z); -/*! @abstract Do not call this function; instead use `fma` in C and Objective-C, - * and `simd::fma` in C++. */ -static inline SIMD_CFUNC simd_double4 __tg_fma(simd_double4 x, simd_double4 y, simd_double4 z); -/*! @abstract Do not call this function; instead use `fma` in C and Objective-C, - * and `simd::fma` in C++. */ -static inline SIMD_CFUNC simd_double8 __tg_fma(simd_double8 x, simd_double8 y, simd_double8 z); - -/*! @abstract Computes accum + x*y by the most efficient means available; - * either a fused multiply add or separate multiply and add instructions. */ -static inline SIMD_CFUNC float simd_muladd(float x, float y, float z); -/*! @abstract Computes accum + x*y by the most efficient means available; - * either a fused multiply add or separate multiply and add instructions. */ -static inline SIMD_CFUNC simd_float2 simd_muladd(simd_float2 x, simd_float2 y, simd_float2 z); -/*! @abstract Computes accum + x*y by the most efficient means available; - * either a fused multiply add or separate multiply and add instructions. */ -static inline SIMD_CFUNC simd_float3 simd_muladd(simd_float3 x, simd_float3 y, simd_float3 z); -/*! @abstract Computes accum + x*y by the most efficient means available; - * either a fused multiply add or separate multiply and add instructions. */ -static inline SIMD_CFUNC simd_float4 simd_muladd(simd_float4 x, simd_float4 y, simd_float4 z); -/*! @abstract Computes accum + x*y by the most efficient means available; - * either a fused multiply add or separate multiply and add instructions. */ -static inline SIMD_CFUNC simd_float8 simd_muladd(simd_float8 x, simd_float8 y, simd_float8 z); -/*! @abstract Computes accum + x*y by the most efficient means available; - * either a fused multiply add or separate multiply and add instructions. */ -static inline SIMD_CFUNC simd_float16 simd_muladd(simd_float16 x, simd_float16 y, simd_float16 z); -/*! @abstract Computes accum + x*y by the most efficient means available; - * either a fused multiply add or separate multiply and add instructions. */ -static inline SIMD_CFUNC double simd_muladd(double x, double y, double z); -/*! @abstract Computes accum + x*y by the most efficient means available; - * either a fused multiply add or separate multiply and add instructions. */ -static inline SIMD_CFUNC simd_double2 simd_muladd(simd_double2 x, simd_double2 y, simd_double2 z); -/*! @abstract Computes accum + x*y by the most efficient means available; - * either a fused multiply add or separate multiply and add instructions. */ -static inline SIMD_CFUNC simd_double3 simd_muladd(simd_double3 x, simd_double3 y, simd_double3 z); -/*! @abstract Computes accum + x*y by the most efficient means available; - * either a fused multiply add or separate multiply and add instructions. */ -static inline SIMD_CFUNC simd_double4 simd_muladd(simd_double4 x, simd_double4 y, simd_double4 z); -/*! @abstract Computes accum + x*y by the most efficient means available; - * either a fused multiply add or separate multiply and add instructions. */ -static inline SIMD_CFUNC simd_double8 simd_muladd(simd_double8 x, simd_double8 y, simd_double8 z); - -#ifdef __cplusplus -} /* extern "C" */ - -#include -/*! @abstract Do not call this function directly; use simd::acos instead. */ -static SIMD_CPPFUNC float __tg_acos(float x) { return ::acos(x); } -/*! @abstract Do not call this function directly; use simd::acos instead. */ -static SIMD_CPPFUNC double __tg_acos(double x) { return ::acos(x); } -/*! @abstract Do not call this function directly; use simd::asin instead. */ -static SIMD_CPPFUNC float __tg_asin(float x) { return ::asin(x); } -/*! @abstract Do not call this function directly; use simd::asin instead. */ -static SIMD_CPPFUNC double __tg_asin(double x) { return ::asin(x); } -/*! @abstract Do not call this function directly; use simd::atan instead. */ -static SIMD_CPPFUNC float __tg_atan(float x) { return ::atan(x); } -/*! @abstract Do not call this function directly; use simd::atan instead. */ -static SIMD_CPPFUNC double __tg_atan(double x) { return ::atan(x); } -/*! @abstract Do not call this function directly; use simd::cos instead. */ -static SIMD_CPPFUNC float __tg_cos(float x) { return ::cos(x); } -/*! @abstract Do not call this function directly; use simd::cos instead. */ -static SIMD_CPPFUNC double __tg_cos(double x) { return ::cos(x); } -/*! @abstract Do not call this function directly; use simd::sin instead. */ -static SIMD_CPPFUNC float __tg_sin(float x) { return ::sin(x); } -/*! @abstract Do not call this function directly; use simd::sin instead. */ -static SIMD_CPPFUNC double __tg_sin(double x) { return ::sin(x); } -/*! @abstract Do not call this function directly; use simd::tan instead. */ -static SIMD_CPPFUNC float __tg_tan(float x) { return ::tan(x); } -/*! @abstract Do not call this function directly; use simd::tan instead. */ -static SIMD_CPPFUNC double __tg_tan(double x) { return ::tan(x); } -/*! @abstract Do not call this function directly; use simd::cospi instead. */ -static SIMD_CPPFUNC float __tg_cospi(float x) { return ::__cospi(x); } -/*! @abstract Do not call this function directly; use simd::cospi instead. */ -static SIMD_CPPFUNC double __tg_cospi(double x) { return ::__cospi(x); } -/*! @abstract Do not call this function directly; use simd::sinpi instead. */ -static SIMD_CPPFUNC float __tg_sinpi(float x) { return ::__sinpi(x); } -/*! @abstract Do not call this function directly; use simd::sinpi instead. */ -static SIMD_CPPFUNC double __tg_sinpi(double x) { return ::__sinpi(x); } -/*! @abstract Do not call this function directly; use simd::tanpi instead. */ -static SIMD_CPPFUNC float __tg_tanpi(float x) { return ::__tanpi(x); } -/*! @abstract Do not call this function directly; use simd::tanpi instead. */ -static SIMD_CPPFUNC double __tg_tanpi(double x) { return ::__tanpi(x); } -/*! @abstract Do not call this function directly; use simd::acosh instead. */ -static SIMD_CPPFUNC float __tg_acosh(float x) { return ::acosh(x); } -/*! @abstract Do not call this function directly; use simd::acosh instead. */ -static SIMD_CPPFUNC double __tg_acosh(double x) { return ::acosh(x); } -/*! @abstract Do not call this function directly; use simd::asinh instead. */ -static SIMD_CPPFUNC float __tg_asinh(float x) { return ::asinh(x); } -/*! @abstract Do not call this function directly; use simd::asinh instead. */ -static SIMD_CPPFUNC double __tg_asinh(double x) { return ::asinh(x); } -/*! @abstract Do not call this function directly; use simd::atanh instead. */ -static SIMD_CPPFUNC float __tg_atanh(float x) { return ::atanh(x); } -/*! @abstract Do not call this function directly; use simd::atanh instead. */ -static SIMD_CPPFUNC double __tg_atanh(double x) { return ::atanh(x); } -/*! @abstract Do not call this function directly; use simd::cosh instead. */ -static SIMD_CPPFUNC float __tg_cosh(float x) { return ::cosh(x); } -/*! @abstract Do not call this function directly; use simd::cosh instead. */ -static SIMD_CPPFUNC double __tg_cosh(double x) { return ::cosh(x); } -/*! @abstract Do not call this function directly; use simd::sinh instead. */ -static SIMD_CPPFUNC float __tg_sinh(float x) { return ::sinh(x); } -/*! @abstract Do not call this function directly; use simd::sinh instead. */ -static SIMD_CPPFUNC double __tg_sinh(double x) { return ::sinh(x); } -/*! @abstract Do not call this function directly; use simd::tanh instead. */ -static SIMD_CPPFUNC float __tg_tanh(float x) { return ::tanh(x); } -/*! @abstract Do not call this function directly; use simd::tanh instead. */ -static SIMD_CPPFUNC double __tg_tanh(double x) { return ::tanh(x); } -/*! @abstract Do not call this function directly; use simd::exp instead. */ -static SIMD_CPPFUNC float __tg_exp(float x) { return ::exp(x); } -/*! @abstract Do not call this function directly; use simd::exp instead. */ -static SIMD_CPPFUNC double __tg_exp(double x) { return ::exp(x); } -/*! @abstract Do not call this function directly; use simd::exp2 instead. */ -static SIMD_CPPFUNC float __tg_exp2(float x) { return ::exp2(x); } -/*! @abstract Do not call this function directly; use simd::exp2 instead. */ -static SIMD_CPPFUNC double __tg_exp2(double x) { return ::exp2(x); } -/*! @abstract Do not call this function directly; use simd::exp10 instead. */ -static SIMD_CPPFUNC float __tg_exp10(float x) { return ::__exp10(x); } -/*! @abstract Do not call this function directly; use simd::exp10 instead. */ -static SIMD_CPPFUNC double __tg_exp10(double x) { return ::__exp10(x); } -/*! @abstract Do not call this function directly; use simd::expm1 instead. */ -static SIMD_CPPFUNC float __tg_expm1(float x) { return ::expm1(x); } -/*! @abstract Do not call this function directly; use simd::expm1 instead. */ -static SIMD_CPPFUNC double __tg_expm1(double x) { return ::expm1(x); } -/*! @abstract Do not call this function directly; use simd::log instead. */ -static SIMD_CPPFUNC float __tg_log(float x) { return ::log(x); } -/*! @abstract Do not call this function directly; use simd::log instead. */ -static SIMD_CPPFUNC double __tg_log(double x) { return ::log(x); } -/*! @abstract Do not call this function directly; use simd::log2 instead. */ -static SIMD_CPPFUNC float __tg_log2(float x) { return ::log2(x); } -/*! @abstract Do not call this function directly; use simd::log2 instead. */ -static SIMD_CPPFUNC double __tg_log2(double x) { return ::log2(x); } -/*! @abstract Do not call this function directly; use simd::log10 instead. */ -static SIMD_CPPFUNC float __tg_log10(float x) { return ::log10(x); } -/*! @abstract Do not call this function directly; use simd::log10 instead. */ -static SIMD_CPPFUNC double __tg_log10(double x) { return ::log10(x); } -/*! @abstract Do not call this function directly; use simd::log1p instead. */ -static SIMD_CPPFUNC float __tg_log1p(float x) { return ::log1p(x); } -/*! @abstract Do not call this function directly; use simd::log1p instead. */ -static SIMD_CPPFUNC double __tg_log1p(double x) { return ::log1p(x); } -/*! @abstract Do not call this function directly; use simd::fabs instead. */ -static SIMD_CPPFUNC float __tg_fabs(float x) { return ::fabs(x); } -/*! @abstract Do not call this function directly; use simd::fabs instead. */ -static SIMD_CPPFUNC double __tg_fabs(double x) { return ::fabs(x); } -/*! @abstract Do not call this function directly; use simd::cbrt instead. */ -static SIMD_CPPFUNC float __tg_cbrt(float x) { return ::cbrt(x); } -/*! @abstract Do not call this function directly; use simd::cbrt instead. */ -static SIMD_CPPFUNC double __tg_cbrt(double x) { return ::cbrt(x); } -/*! @abstract Do not call this function directly; use simd::sqrt instead. */ -static SIMD_CPPFUNC float __tg_sqrt(float x) { return ::sqrt(x); } -/*! @abstract Do not call this function directly; use simd::sqrt instead. */ -static SIMD_CPPFUNC double __tg_sqrt(double x) { return ::sqrt(x); } -/*! @abstract Do not call this function directly; use simd::erf instead. */ -static SIMD_CPPFUNC float __tg_erf(float x) { return ::erf(x); } -/*! @abstract Do not call this function directly; use simd::erf instead. */ -static SIMD_CPPFUNC double __tg_erf(double x) { return ::erf(x); } -/*! @abstract Do not call this function directly; use simd::erfc instead. */ -static SIMD_CPPFUNC float __tg_erfc(float x) { return ::erfc(x); } -/*! @abstract Do not call this function directly; use simd::erfc instead. */ -static SIMD_CPPFUNC double __tg_erfc(double x) { return ::erfc(x); } -/*! @abstract Do not call this function directly; use simd::tgamma instead. */ -static SIMD_CPPFUNC float __tg_tgamma(float x) { return ::tgamma(x); } -/*! @abstract Do not call this function directly; use simd::tgamma instead. */ -static SIMD_CPPFUNC double __tg_tgamma(double x) { return ::tgamma(x); } -/*! @abstract Do not call this function directly; use simd::lgamma instead. */ -static SIMD_CPPFUNC float __tg_lgamma(float x) { return ::lgamma(x); } -/*! @abstract Do not call this function directly; use simd::lgamma instead. */ -static SIMD_CPPFUNC double __tg_lgamma(double x) { return ::lgamma(x); } -/*! @abstract Do not call this function directly; use simd::ceil instead. */ -static SIMD_CPPFUNC float __tg_ceil(float x) { return ::ceil(x); } -/*! @abstract Do not call this function directly; use simd::ceil instead. */ -static SIMD_CPPFUNC double __tg_ceil(double x) { return ::ceil(x); } -/*! @abstract Do not call this function directly; use simd::floor instead. */ -static SIMD_CPPFUNC float __tg_floor(float x) { return ::floor(x); } -/*! @abstract Do not call this function directly; use simd::floor instead. */ -static SIMD_CPPFUNC double __tg_floor(double x) { return ::floor(x); } -/*! @abstract Do not call this function directly; use simd::rint instead. */ -static SIMD_CPPFUNC float __tg_rint(float x) { return ::rint(x); } -/*! @abstract Do not call this function directly; use simd::rint instead. */ -static SIMD_CPPFUNC double __tg_rint(double x) { return ::rint(x); } -/*! @abstract Do not call this function directly; use simd::round instead. */ -static SIMD_CPPFUNC float __tg_round(float x) { return ::round(x); } -/*! @abstract Do not call this function directly; use simd::round instead. */ -static SIMD_CPPFUNC double __tg_round(double x) { return ::round(x); } -/*! @abstract Do not call this function directly; use simd::trunc instead. */ -static SIMD_CPPFUNC float __tg_trunc(float x) { return ::trunc(x); } -/*! @abstract Do not call this function directly; use simd::trunc instead. */ -static SIMD_CPPFUNC double __tg_trunc(double x) { return ::trunc(x); } -/*! @abstract Do not call this function directly; use simd::isfinite - * instead. */ -static SIMD_CPPFUNC float __tg_isfinite(float x) { return ::isfinite(x); } -/*! @abstract Do not call this function directly; use simd::isfinite - * instead. */ -static SIMD_CPPFUNC double __tg_isfinite(double x) { return ::isfinite(x); } -/*! @abstract Do not call this function directly; use simd::isinf instead. */ -static SIMD_CPPFUNC float __tg_isinf(float x) { return ::isinf(x); } -/*! @abstract Do not call this function directly; use simd::isinf instead. */ -static SIMD_CPPFUNC double __tg_isinf(double x) { return ::isinf(x); } -/*! @abstract Do not call this function directly; use simd::isnan instead. */ -static SIMD_CPPFUNC float __tg_isnan(float x) { return ::isnan(x); } -/*! @abstract Do not call this function directly; use simd::isnan instead. */ -static SIMD_CPPFUNC double __tg_isnan(double x) { return ::isnan(x); } -/*! @abstract Do not call this function directly; use simd::isnormal - * instead. */ -static SIMD_CPPFUNC float __tg_isnormal(float x) { return ::isnormal(x); } -/*! @abstract Do not call this function directly; use simd::isnormal - * instead. */ -static SIMD_CPPFUNC double __tg_isnormal(double x) { return ::isnormal(x); } -/*! @abstract Do not call this function directly; use simd::atan2 instead. */ -static SIMD_CPPFUNC float __tg_atan2(float x, float y) { return ::atan2(x, y); } -/*! @abstract Do not call this function directly; use simd::atan2 instead. */ -static SIMD_CPPFUNC double __tg_atan2(double x, double y) { return ::atan2(x, y); } -/*! @abstract Do not call this function directly; use simd::hypot instead. */ -static SIMD_CPPFUNC float __tg_hypot(float x, float y) { return ::hypot(x, y); } -/*! @abstract Do not call this function directly; use simd::hypot instead. */ -static SIMD_CPPFUNC double __tg_hypot(double x, double y) { return ::hypot(x, y); } -/*! @abstract Do not call this function directly; use simd::pow instead. */ -static SIMD_CPPFUNC float __tg_pow(float x, float y) { return ::pow(x, y); } -/*! @abstract Do not call this function directly; use simd::pow instead. */ -static SIMD_CPPFUNC double __tg_pow(double x, double y) { return ::pow(x, y); } -/*! @abstract Do not call this function directly; use simd::fmod instead. */ -static SIMD_CPPFUNC float __tg_fmod(float x, float y) { return ::fmod(x, y); } -/*! @abstract Do not call this function directly; use simd::fmod instead. */ -static SIMD_CPPFUNC double __tg_fmod(double x, double y) { return ::fmod(x, y); } -/*! @abstract Do not call this function directly; use simd::remainder - * instead. */ -static SIMD_CPPFUNC float __tg_remainder(float x, float y) { return ::remainder(x, y); } -/*! @abstract Do not call this function directly; use simd::remainder - * instead. */ -static SIMD_CPPFUNC double __tg_remainder(double x, double y) { return ::remainder(x, y); } -/*! @abstract Do not call this function directly; use simd::copysign - * instead. */ -static SIMD_CPPFUNC float __tg_copysign(float x, float y) { return ::copysign(x, y); } -/*! @abstract Do not call this function directly; use simd::copysign - * instead. */ -static SIMD_CPPFUNC double __tg_copysign(double x, double y) { return ::copysign(x, y); } -/*! @abstract Do not call this function directly; use simd::nextafter - * instead. */ -static SIMD_CPPFUNC float __tg_nextafter(float x, float y) { return ::nextafter(x, y); } -/*! @abstract Do not call this function directly; use simd::nextafter - * instead. */ -static SIMD_CPPFUNC double __tg_nextafter(double x, double y) { return ::nextafter(x, y); } -/*! @abstract Do not call this function directly; use simd::fdim instead. */ -static SIMD_CPPFUNC float __tg_fdim(float x, float y) { return ::fdim(x, y); } -/*! @abstract Do not call this function directly; use simd::fdim instead. */ -static SIMD_CPPFUNC double __tg_fdim(double x, double y) { return ::fdim(x, y); } -/*! @abstract Do not call this function directly; use simd::fmax instead. */ -static SIMD_CPPFUNC float __tg_fmax(float x, float y) { return ::fmax(x, y); } -/*! @abstract Do not call this function directly; use simd::fmax instead. */ -static SIMD_CPPFUNC double __tg_fmax(double x, double y) { return ::fmax(x, y); } -/*! @abstract Do not call this function directly; use simd::fmin instead. */ -static SIMD_CPPFUNC float __tg_fmin(float x, float y) { return ::fmin(x, y); } -/*! @abstract Do not call this function directly; use simd::fmin instead. */ -static SIMD_CPPFUNC double __tg_fmin(double x, double y) { return ::fmin(x, y); } -/*! @abstract Do not call this function directly; use simd::fma instead. */ -static SIMD_CPPFUNC float __tg_fma(float x, float y, float z) { return ::fma(x, y, z); } -/*! @abstract Do not call this function directly; use simd::fma instead. */ -static SIMD_CPPFUNC double __tg_fma(double x, double y, double z) { return ::fma(x, y, z); } - -namespace simd { -/*! @abstract Generalizes the function acos to operate on vectors of - * floats and doubles. */ - template - static SIMD_CPPFUNC fptypeN acos(fptypeN x) { return ::__tg_acos(x); } - -/*! @abstract Generalizes the function asin to operate on vectors of - * floats and doubles. */ - template - static SIMD_CPPFUNC fptypeN asin(fptypeN x) { return ::__tg_asin(x); } - -/*! @abstract Generalizes the function atan to operate on vectors of - * floats and doubles. */ - template - static SIMD_CPPFUNC fptypeN atan(fptypeN x) { return ::__tg_atan(x); } - -/*! @abstract Generalizes the function cos to operate on vectors of - * floats and doubles. */ - template - static SIMD_CPPFUNC fptypeN cos(fptypeN x) { return ::__tg_cos(x); } - -/*! @abstract Generalizes the function sin to operate on vectors of - * floats and doubles. */ - template - static SIMD_CPPFUNC fptypeN sin(fptypeN x) { return ::__tg_sin(x); } - -/*! @abstract Generalizes the function tan to operate on vectors of - * floats and doubles. */ - template - static SIMD_CPPFUNC fptypeN tan(fptypeN x) { return ::__tg_tan(x); } - -#if SIMD_LIBRARY_VERSION >= 1 -/*! @abstract Generalizes the function cospi to operate on vectors - * of floats and doubles. */ - template - static SIMD_CPPFUNC fptypeN cospi(fptypeN x) { return ::__tg_cospi(x); } -#endif - -#if SIMD_LIBRARY_VERSION >= 1 -/*! @abstract Generalizes the function sinpi to operate on vectors - * of floats and doubles. */ - template - static SIMD_CPPFUNC fptypeN sinpi(fptypeN x) { return ::__tg_sinpi(x); } -#endif - -#if SIMD_LIBRARY_VERSION >= 1 -/*! @abstract Generalizes the function tanpi to operate on vectors - * of floats and doubles. */ - template - static SIMD_CPPFUNC fptypeN tanpi(fptypeN x) { return ::__tg_tanpi(x); } -#endif - -/*! @abstract Generalizes the function acosh to operate on vectors - * of floats and doubles. */ - template - static SIMD_CPPFUNC fptypeN acosh(fptypeN x) { return ::__tg_acosh(x); } - -/*! @abstract Generalizes the function asinh to operate on vectors - * of floats and doubles. */ - template - static SIMD_CPPFUNC fptypeN asinh(fptypeN x) { return ::__tg_asinh(x); } - -/*! @abstract Generalizes the function atanh to operate on vectors - * of floats and doubles. */ - template - static SIMD_CPPFUNC fptypeN atanh(fptypeN x) { return ::__tg_atanh(x); } - -/*! @abstract Generalizes the function cosh to operate on vectors of - * floats and doubles. */ - template - static SIMD_CPPFUNC fptypeN cosh(fptypeN x) { return ::__tg_cosh(x); } - -/*! @abstract Generalizes the function sinh to operate on vectors of - * floats and doubles. */ - template - static SIMD_CPPFUNC fptypeN sinh(fptypeN x) { return ::__tg_sinh(x); } - -/*! @abstract Generalizes the function tanh to operate on vectors of - * floats and doubles. */ - template - static SIMD_CPPFUNC fptypeN tanh(fptypeN x) { return ::__tg_tanh(x); } - -/*! @abstract Generalizes the function exp to operate on vectors of - * floats and doubles. */ - template - static SIMD_CPPFUNC fptypeN exp(fptypeN x) { return ::__tg_exp(x); } - -/*! @abstract Generalizes the function exp2 to operate on vectors of - * floats and doubles. */ - template - static SIMD_CPPFUNC fptypeN exp2(fptypeN x) { return ::__tg_exp2(x); } - -#if SIMD_LIBRARY_VERSION >= 1 -/*! @abstract Generalizes the function exp10 to operate on vectors - * of floats and doubles. */ - template - static SIMD_CPPFUNC fptypeN exp10(fptypeN x) { return ::__tg_exp10(x); } -#endif - -/*! @abstract Generalizes the function expm1 to operate on vectors - * of floats and doubles. */ - template - static SIMD_CPPFUNC fptypeN expm1(fptypeN x) { return ::__tg_expm1(x); } - -/*! @abstract Generalizes the function log to operate on vectors of - * floats and doubles. */ - template - static SIMD_CPPFUNC fptypeN log(fptypeN x) { return ::__tg_log(x); } - -/*! @abstract Generalizes the function log2 to operate on vectors of - * floats and doubles. */ - template - static SIMD_CPPFUNC fptypeN log2(fptypeN x) { return ::__tg_log2(x); } - -/*! @abstract Generalizes the function log10 to operate on vectors - * of floats and doubles. */ - template - static SIMD_CPPFUNC fptypeN log10(fptypeN x) { return ::__tg_log10(x); } - -/*! @abstract Generalizes the function log1p to operate on vectors - * of floats and doubles. */ - template - static SIMD_CPPFUNC fptypeN log1p(fptypeN x) { return ::__tg_log1p(x); } - -/*! @abstract Generalizes the function fabs to operate on vectors of - * floats and doubles. */ - template - static SIMD_CPPFUNC fptypeN fabs(fptypeN x) { return ::__tg_fabs(x); } - -/*! @abstract Generalizes the function cbrt to operate on vectors of - * floats and doubles. */ - template - static SIMD_CPPFUNC fptypeN cbrt(fptypeN x) { return ::__tg_cbrt(x); } - -/*! @abstract Generalizes the function sqrt to operate on vectors of - * floats and doubles. */ - template - static SIMD_CPPFUNC fptypeN sqrt(fptypeN x) { return ::__tg_sqrt(x); } - -/*! @abstract Generalizes the function erf to operate on vectors of - * floats and doubles. */ - template - static SIMD_CPPFUNC fptypeN erf(fptypeN x) { return ::__tg_erf(x); } - -/*! @abstract Generalizes the function erfc to operate on vectors of - * floats and doubles. */ - template - static SIMD_CPPFUNC fptypeN erfc(fptypeN x) { return ::__tg_erfc(x); } - -/*! @abstract Generalizes the function tgamma to operate on vectors - * of floats and doubles. */ - template - static SIMD_CPPFUNC fptypeN tgamma(fptypeN x) { return ::__tg_tgamma(x); } - -/*! @abstract Generalizes the function lgamma to operate on vectors - * of floats and doubles. */ - template - static SIMD_CPPFUNC fptypeN lgamma(fptypeN x) { return ::__tg_lgamma(x); } - -/*! @abstract Generalizes the function ceil to operate on vectors of - * floats and doubles. */ - template - static SIMD_CPPFUNC fptypeN ceil(fptypeN x) { return ::__tg_ceil(x); } - -/*! @abstract Generalizes the function floor to operate on vectors - * of floats and doubles. */ - template - static SIMD_CPPFUNC fptypeN floor(fptypeN x) { return ::__tg_floor(x); } - -/*! @abstract Generalizes the function rint to operate on vectors of - * floats and doubles. */ - template - static SIMD_CPPFUNC fptypeN rint(fptypeN x) { return ::__tg_rint(x); } - -/*! @abstract Generalizes the function round to operate on vectors - * of floats and doubles. */ - template - static SIMD_CPPFUNC fptypeN round(fptypeN x) { return ::__tg_round(x); } - -/*! @abstract Generalizes the function trunc to operate on vectors - * of floats and doubles. */ - template - static SIMD_CPPFUNC fptypeN trunc(fptypeN x) { return ::__tg_trunc(x); } - -/*! @abstract Generalizes the function isfinite to operate on - * vectors of floats and doubles. */ - template - static SIMD_CPPFUNC - typename std::enable_if::scalar_t>::value, typename traits::mask_t>::type - isfinite(fptypeN x) { return ::__tg_isfinite(x); } - -/*! @abstract Generalizes the function isinf to operate on vectors - * of floats and doubles. */ - template - static SIMD_CPPFUNC - typename std::enable_if::scalar_t>::value, typename traits::mask_t>::type - isinf(fptypeN x) { return ::__tg_isinf(x); } - -/*! @abstract Generalizes the function isnan to operate on vectors - * of floats and doubles. */ - template - static SIMD_CPPFUNC - typename std::enable_if::scalar_t>::value, typename traits::mask_t>::type - isnan(fptypeN x) { return ::__tg_isnan(x); } - -/*! @abstract Generalizes the function isnormal to operate on - * vectors of floats and doubles. */ - template - static SIMD_CPPFUNC - typename std::enable_if::scalar_t>::value, typename traits::mask_t>::type - isnormal(fptypeN x) { return ::__tg_isnormal(x); } - -/*! @abstract Generalizes the function atan2 to operate on vectors - * of floats and doubles. */ - template - static SIMD_CPPFUNC fptypeN atan2(fptypeN y, fptypeN x) { return ::__tg_atan2(y, x); } - -/*! @abstract Generalizes the function hypot to operate on vectors - * of floats and doubles. */ - template - static SIMD_CPPFUNC fptypeN hypot(fptypeN x, fptypeN y) { return ::__tg_hypot(x, y); } - -/*! @abstract Generalizes the function pow to operate on vectors of - * floats and doubles. */ - template - static SIMD_CPPFUNC fptypeN pow(fptypeN x, fptypeN y) { return ::__tg_pow(x, y); } - -/*! @abstract Generalizes the function fmod to operate on vectors of - * floats and doubles. */ - template - static SIMD_CPPFUNC fptypeN fmod(fptypeN x, fptypeN y) { return ::__tg_fmod(x, y); } - -/*! @abstract Generalizes the function remainder to operate on - * vectors of floats and doubles. */ - template - static SIMD_CPPFUNC fptypeN remainder(fptypeN x, fptypeN y) { return ::__tg_remainder(x, y); } - -/*! @abstract Generalizes the function copysign to operate on - * vectors of floats and doubles. */ - template - static SIMD_CPPFUNC fptypeN copysign(fptypeN x, fptypeN y) { return ::__tg_copysign(x, y); } - -/*! @abstract Generalizes the function nextafter to operate on - * vectors of floats and doubles. */ - template - static SIMD_CPPFUNC fptypeN nextafter(fptypeN x, fptypeN y) { return ::__tg_nextafter(x, y); } - -/*! @abstract Generalizes the function fdim to operate on vectors of - * floats and doubles. */ - template - static SIMD_CPPFUNC fptypeN fdim(fptypeN x, fptypeN y) { return ::__tg_fdim(x, y); } - -/*! @abstract Generalizes the function fmax to operate on vectors of - * floats and doubles. */ - template - static SIMD_CPPFUNC fptypeN fmax(fptypeN x, fptypeN y) { return ::__tg_fmax(x, y); } - -/*! @abstract Generalizes the function fmin to operate on vectors of - * floats and doubles. */ - template - static SIMD_CPPFUNC fptypeN fmin(fptypeN x, fptypeN y) { return ::__tg_fmin(x, y); } - -/*! @abstract Generalizes the function fma to operate on vectors of - * floats and doubles. */ - template - static SIMD_CPPFUNC fptypeN fma(fptypeN x, fptypeN y, fptypeN z) { return ::__tg_fma(x, y, z); } - -/*! @abstract Computes x*y + z by the most efficient means available; either - * a fused multiply add or separate multiply and add. */ - template - static SIMD_CPPFUNC fptypeN muladd(fptypeN x, fptypeN y, fptypeN z) { return ::simd_muladd(x, y, z); } -}; - -extern "C" { -#else -#include -/* C and Objective-C, we need some infrastructure to piggyback on tgmath.h */ -static SIMD_OVERLOAD simd_float2 __tg_promote(simd_float2); -static SIMD_OVERLOAD simd_float3 __tg_promote(simd_float3); -static SIMD_OVERLOAD simd_float4 __tg_promote(simd_float4); -static SIMD_OVERLOAD simd_float8 __tg_promote(simd_float8); -static SIMD_OVERLOAD simd_float16 __tg_promote(simd_float16); -static SIMD_OVERLOAD simd_double2 __tg_promote(simd_double2); -static SIMD_OVERLOAD simd_double3 __tg_promote(simd_double3); -static SIMD_OVERLOAD simd_double4 __tg_promote(simd_double4); -static SIMD_OVERLOAD simd_double8 __tg_promote(simd_double8); - -/* Apple extensions to , added in macOS 10.9 and iOS 7.0 */ -#if __MAC_OS_X_VERSION_MIN_REQUIRED >= __MAC_10_9 || \ - __IPHONE_OS_VERSION_MIN_REQUIRED >= __IPHONE_7_0 || \ - __DRIVERKIT_VERSION_MIN_REQUIRED >= __DRIVERKIT_19_0 -static inline SIMD_CFUNC float __tg_cospi(float x) { return __cospif(x); } -static inline SIMD_CFUNC double __tg_cospi(double x) { return __cospi(x); } -#undef cospi -/*! @abstract `cospi(x)` computes `cos(pi * x)` without intermediate rounding. - * - * @discussion Both faster and more accurate than multiplying by `pi` and then - * calling `cos`. Defined for `float` and `double` as well as vectors of - * floats and doubles as provided by ``. */ -#define cospi(__x) __tg_cospi(__tg_promote1((__x))(__x)) - -static inline SIMD_CFUNC float __tg_sinpi(float x) { return __sinpif(x); } -static inline SIMD_CFUNC double __tg_sinpi(double x) { return __sinpi(x); } -#undef sinpi -/*! @abstract `sinpi(x)` computes `sin(pi * x)` without intermediate rounding. - * - * @discussion Both faster and more accurate than multiplying by `pi` and then - * calling `sin`. Defined for `float` and `double` as well as vectors - * of floats and doubles as provided by ``. */ -#define sinpi(__x) __tg_sinpi(__tg_promote1((__x))(__x)) - -static inline SIMD_CFUNC float __tg_tanpi(float x) { return __tanpif(x); } -static inline SIMD_CFUNC double __tg_tanpi(double x) { return __tanpi(x); } -#undef tanpi -/*! @abstract `tanpi(x)` computes `tan(pi * x)` without intermediate rounding. - * - * @discussion Both faster and more accurate than multiplying by `pi` and then - * calling `tan`. Defined for `float` and `double` as well as vectors of - * floats and doubles as provided by ``. */ -#define tanpi(__x) __tg_tanpi(__tg_promote1((__x))(__x)) - -static inline SIMD_CFUNC float __tg_exp10(float x) { return __exp10f(x); } -static inline SIMD_CFUNC double __tg_exp10(double x) { return __exp10(x); } -#undef exp10 -/*! @abstract `exp10(x)` computes `10**x` more efficiently and accurately - * than `pow(10, x)`. - * - * @discussion Defined for `float` and `double` as well as vectors of floats - * and doubles as provided by ``. */ -#define exp10(__x) __tg_exp10(__tg_promote1((__x))(__x)) -#endif - -#if (defined(__GNUC__) && 0 == __FINITE_MATH_ONLY__) -static inline SIMD_CFUNC int __tg_isfinite(float x) { return __inline_isfinitef(x); } -static inline SIMD_CFUNC int __tg_isfinite(double x) { return __inline_isfinited(x); } -static inline SIMD_CFUNC int __tg_isfinite(long double x) { return __inline_isfinitel(x); } -#undef isfinite -/*! @abstract `__tg_isfinite(x)` determines if x is a finite value. - * - * @discussion Defined for `float`, `double` and `long double` as well as vectors of floats - * and doubles as provided by ``. */ -#define isfinite(__x) __tg_isfinite(__tg_promote1((__x))(__x)) - -static inline SIMD_CFUNC int __tg_isinf(float x) { return __inline_isinff(x); } -static inline SIMD_CFUNC int __tg_isinf(double x) { return __inline_isinfd(x); } -static inline SIMD_CFUNC int __tg_isinf(long double x) { return __inline_isinfl(x); } -#undef isinf -/*! @abstract `__tg_isinf(x)` determines if x is positive or negative infinity. - * - * @discussion Defined for `float`, `double` and `long double` as well as vectors of floats - * and doubles as provided by ``. */ -#define isinf(__x) __tg_isinf(__tg_promote1((__x))(__x)) - -static inline SIMD_CFUNC int __tg_isnan(float x) { return __inline_isnanf(x); } -static inline SIMD_CFUNC int __tg_isnan(double x) { return __inline_isnand(x); } -static inline SIMD_CFUNC int __tg_isnan(long double x) { return __inline_isnanl(x); } -#undef isnan -/*! @abstract `__tg_isnan(x)` determines if x is a not-a-number (NaN) value. - * - * @discussion Defined for `float`, `double` and `long double` as well as vectors of floats - * and doubles as provided by ``. */ -#define isnan(__x) __tg_isnan(__tg_promote1((__x))(__x)) - -static inline SIMD_CFUNC int __tg_isnormal(float x) { return __inline_isnormalf(x); } -static inline SIMD_CFUNC int __tg_isnormal(double x) { return __inline_isnormald(x); } -static inline SIMD_CFUNC int __tg_isnormal(long double x) { return __inline_isnormall(x); } -#undef isnormal -/*! @abstract `__tg_isnormal(x)` determines if x is a normal value. - * - * @discussion Defined for `float`, `double` and `long double` as well as vectors of floats - * and doubles as provided by ``. */ -#define isnormal(__x) __tg_isnormal(__tg_promote1((__x))(__x)) - -#else /* defined(__GNUC__) && 0 == __FINITE_MATH_ONLY__ */ - -static inline SIMD_CFUNC int __tg_isfinite(float x) { return __isfinitef(x); } -static inline SIMD_CFUNC int __tg_isfinite(double x) { return __isfinited(x); } -static inline SIMD_CFUNC int __tg_isfinite(long double x) { return __isfinitel(x); } -#undef isfinite -/*! @abstract `__tg_isfinite(x)` determines if x is a finite value. - * - * @discussion Defined for `float`, `double` and `long double` as well as vectors of floats - * and doubles as provided by ``. */ -#define isfinite(__x) __tg_isfinite(__tg_promote1((__x))(__x)) - -static inline SIMD_CFUNC int __tg_isinf(float x) { return __isinff(x); } -static inline SIMD_CFUNC int __tg_isinf(double x) { return __isinfd(x); } -static inline SIMD_CFUNC int __tg_isinf(long double x) { return __isinfl(x); } -#undef isinf -/*! @abstract `__tg_isinf(x)` determines if x is positive or negative infinity. - * - * @discussion Defined for `float`, `double` and `long double` as well as vectors of floats - * and doubles as provided by ``. */ -#define isinf(__x) __tg_isinf(__tg_promote1((__x))(__x)) - -static inline SIMD_CFUNC int __tg_isnan(float x) { return __isnanf(x); } -static inline SIMD_CFUNC int __tg_isnan(double x) { return __isnand(x); } -static inline SIMD_CFUNC int __tg_isnan(long double x) { return __isnanl(x); } -#undef isnan -/*! @abstract `__tg_isnan(x)` determines if x is a not-a-number (NaN) value. - * - * @discussion Defined for `float`, `double` and `long double` as well as vectors of floats - * and doubles as provided by ``. */ -#define isnan(__x) __tg_isnan(__tg_promote1((__x))(__x)) - -static inline SIMD_CFUNC int __tg_isnormal(float x) { return __isnormalf(x); } -static inline SIMD_CFUNC int __tg_isnormal(double x) { return __isnormald(x); } -static inline SIMD_CFUNC int __tg_isnormal(long double x) { return __isnormall(x); } -#undef isnormal -/*! @abstract `__tg_isnormal(x)` determines if x is a normal value. - * - * @discussion Defined for `float`, `double` and `long double` as well as vectors of floats - * and doubles as provided by ``. */ -#define isnormal(__x) __tg_isnormal(__tg_promote1((__x))(__x)) -#endif /* defined(__GNUC__) && 0 == __FINITE_MATH_ONLY__ */ -#endif /* !__cplusplus */ - -#pragma mark - fabs implementation -static inline SIMD_CFUNC simd_float2 __tg_fabs(simd_float2 x) { return simd_bitselect(0.0, x, 0x7fffffff); } -static inline SIMD_CFUNC simd_float3 __tg_fabs(simd_float3 x) { return simd_bitselect(0.0, x, 0x7fffffff); } -static inline SIMD_CFUNC simd_float4 __tg_fabs(simd_float4 x) { return simd_bitselect(0.0, x, 0x7fffffff); } -static inline SIMD_CFUNC simd_float8 __tg_fabs(simd_float8 x) { return simd_bitselect(0.0, x, 0x7fffffff); } -static inline SIMD_CFUNC simd_float16 __tg_fabs(simd_float16 x) { return simd_bitselect(0.0, x, 0x7fffffff); } -static inline SIMD_CFUNC simd_double2 __tg_fabs(simd_double2 x) { return simd_bitselect(0.0, x, 0x7fffffffffffffffL); } -static inline SIMD_CFUNC simd_double3 __tg_fabs(simd_double3 x) { return simd_bitselect(0.0, x, 0x7fffffffffffffffL); } -static inline SIMD_CFUNC simd_double4 __tg_fabs(simd_double4 x) { return simd_bitselect(0.0, x, 0x7fffffffffffffffL); } -static inline SIMD_CFUNC simd_double8 __tg_fabs(simd_double8 x) { return simd_bitselect(0.0, x, 0x7fffffffffffffffL); } - -#pragma mark - isfinite implementation -static inline SIMD_CFUNC simd_int2 __tg_isfinite(simd_float2 x) { return x == x && __tg_fabs(x) != (simd_float2)INFINITY; } -static inline SIMD_CFUNC simd_int3 __tg_isfinite(simd_float3 x) { return x == x && __tg_fabs(x) != (simd_float3)INFINITY; } -static inline SIMD_CFUNC simd_int4 __tg_isfinite(simd_float4 x) { return x == x && __tg_fabs(x) != (simd_float4)INFINITY; } -static inline SIMD_CFUNC simd_int8 __tg_isfinite(simd_float8 x) { return x == x && __tg_fabs(x) != (simd_float8)INFINITY; } -static inline SIMD_CFUNC simd_int16 __tg_isfinite(simd_float16 x) { return x == x && __tg_fabs(x) != (simd_float16)INFINITY; } -static inline SIMD_CFUNC simd_long2 __tg_isfinite(simd_double2 x) { return x == x && __tg_fabs(x) != (simd_double2)INFINITY; } -static inline SIMD_CFUNC simd_long3 __tg_isfinite(simd_double3 x) { return x == x && __tg_fabs(x) != (simd_double3)INFINITY; } -static inline SIMD_CFUNC simd_long4 __tg_isfinite(simd_double4 x) { return x == x && __tg_fabs(x) != (simd_double4)INFINITY; } -static inline SIMD_CFUNC simd_long8 __tg_isfinite(simd_double8 x) { return x == x && __tg_fabs(x) != (simd_double8)INFINITY; } - -#pragma mark - isinf implementation -static inline SIMD_CFUNC simd_int2 __tg_isinf(simd_float2 x) { return __tg_fabs(x) == (simd_float2)INFINITY; } -static inline SIMD_CFUNC simd_int3 __tg_isinf(simd_float3 x) { return __tg_fabs(x) == (simd_float3)INFINITY; } -static inline SIMD_CFUNC simd_int4 __tg_isinf(simd_float4 x) { return __tg_fabs(x) == (simd_float4)INFINITY; } -static inline SIMD_CFUNC simd_int8 __tg_isinf(simd_float8 x) { return __tg_fabs(x) == (simd_float8)INFINITY; } -static inline SIMD_CFUNC simd_int16 __tg_isinf(simd_float16 x) { return __tg_fabs(x) == (simd_float16)INFINITY; } -static inline SIMD_CFUNC simd_long2 __tg_isinf(simd_double2 x) { return __tg_fabs(x) == (simd_double2)INFINITY; } -static inline SIMD_CFUNC simd_long3 __tg_isinf(simd_double3 x) { return __tg_fabs(x) == (simd_double3)INFINITY; } -static inline SIMD_CFUNC simd_long4 __tg_isinf(simd_double4 x) { return __tg_fabs(x) == (simd_double4)INFINITY; } -static inline SIMD_CFUNC simd_long8 __tg_isinf(simd_double8 x) { return __tg_fabs(x) == (simd_double8)INFINITY; } - -#pragma mark - isnan implementation -static inline SIMD_CFUNC simd_int2 __tg_isnan(simd_float2 x) { return x != x; } -static inline SIMD_CFUNC simd_int3 __tg_isnan(simd_float3 x) { return x != x; } -static inline SIMD_CFUNC simd_int4 __tg_isnan(simd_float4 x) { return x != x; } -static inline SIMD_CFUNC simd_int8 __tg_isnan(simd_float8 x) { return x != x; } -static inline SIMD_CFUNC simd_int16 __tg_isnan(simd_float16 x) { return x != x; } -static inline SIMD_CFUNC simd_long2 __tg_isnan(simd_double2 x) { return x != x; } -static inline SIMD_CFUNC simd_long3 __tg_isnan(simd_double3 x) { return x != x; } -static inline SIMD_CFUNC simd_long4 __tg_isnan(simd_double4 x) { return x != x; } -static inline SIMD_CFUNC simd_long8 __tg_isnan(simd_double8 x) { return x != x; } - -#pragma mark - isnormal implementation -static inline SIMD_CFUNC simd_int2 __tg_isnormal(simd_float2 x) { return __tg_isfinite(x) && __tg_fabs(x) >= (simd_float2)__FLT_MIN__; } -static inline SIMD_CFUNC simd_int3 __tg_isnormal(simd_float3 x) { return __tg_isfinite(x) && __tg_fabs(x) >= (simd_float3)__FLT_MIN__; } -static inline SIMD_CFUNC simd_int4 __tg_isnormal(simd_float4 x) { return __tg_isfinite(x) && __tg_fabs(x) >= (simd_float4)__FLT_MIN__; } -static inline SIMD_CFUNC simd_int8 __tg_isnormal(simd_float8 x) { return __tg_isfinite(x) && __tg_fabs(x) >= (simd_float8)__FLT_MIN__; } -static inline SIMD_CFUNC simd_int16 __tg_isnormal(simd_float16 x) { return __tg_isfinite(x) && __tg_fabs(x) >= (simd_float16)__FLT_MIN__; } -static inline SIMD_CFUNC simd_long2 __tg_isnormal(simd_double2 x) { return __tg_isfinite(x) && __tg_fabs(x) >= (simd_double2)__DBL_MIN__; } -static inline SIMD_CFUNC simd_long3 __tg_isnormal(simd_double3 x) { return __tg_isfinite(x) && __tg_fabs(x) >= (simd_double3)__DBL_MIN__; } -static inline SIMD_CFUNC simd_long4 __tg_isnormal(simd_double4 x) { return __tg_isfinite(x) && __tg_fabs(x) >= (simd_double4)__DBL_MIN__; } -static inline SIMD_CFUNC simd_long8 __tg_isnormal(simd_double8 x) { return __tg_isfinite(x) && __tg_fabs(x) >= (simd_double8)__DBL_MIN__; } - -#pragma mark - fmin, fmax implementation -static SIMD_CFUNC simd_float2 __tg_fmin(simd_float2 x, simd_float2 y) { -#if defined __SSE2__ - return simd_make_float2(__tg_fmin(simd_make_float4_undef(x), simd_make_float4_undef(y))); -#elif defined __arm64__ - return vminnm_f32(x, y); -#elif defined __arm__ && __FINITE_MATH_ONLY__ - return vmin_f32(x, y); -#else - return simd_bitselect(y, x, (x <= y) | (y != y)); -#endif -} - -static SIMD_CFUNC simd_float3 __tg_fmin(simd_float3 x, simd_float3 y) { - return simd_make_float3(__tg_fmin(simd_make_float4_undef(x), simd_make_float4_undef(y))); -} - -static SIMD_CFUNC simd_float4 __tg_fmin(simd_float4 x, simd_float4 y) { -#if defined __AVX512DQ__ && defined __AVX512VL__ && !__FINITE_MATH_ONLY__ - return _mm_range_ps(x, y, 4); -#elif defined __SSE2__ && __FINITE_MATH_ONLY__ - return _mm_min_ps(x, y); -#elif defined __SSE2__ - return simd_bitselect(_mm_min_ps(x, y), x, y != y); -#elif defined __arm64__ - return vminnmq_f32(x, y); -#elif defined __arm__ && __FINITE_MATH_ONLY__ - return vminq_f32(x, y); -#else - return simd_bitselect(y, x, (x <= y) | (y != y)); -#endif -} - -static SIMD_CFUNC simd_float8 __tg_fmin(simd_float8 x, simd_float8 y) { -#if defined __AVX512DQ__ && defined __AVX512VL__ && !__FINITE_MATH_ONLY__ - return _mm256_range_ps(x, y, 4); -#elif defined __AVX__ && __FINITE_MATH_ONLY__ - return _mm256_min_ps(x, y); -#elif defined __AVX__ - return simd_bitselect(_mm256_min_ps(x, y), x, y != y); -#else - return simd_make_float8(__tg_fmin(x.lo, y.lo), __tg_fmin(x.hi, y.hi)); -#endif -} - -static SIMD_CFUNC simd_float16 __tg_fmin(simd_float16 x, simd_float16 y) { -#if defined __x86_64__ && defined __AVX512DQ__ && !__FINITE_MATH_ONLY__ - return _mm512_range_ps(x, y, 4); -#elif defined __x86_64__ && defined __AVX512F__ && __FINITE_MATH_ONLY__ - return _mm512_min_ps(x, y); -#elif defined __x86_64__ && defined __AVX512F__ - return simd_bitselect(_mm512_min_ps(x, y), x, y != y); -#else - return simd_make_float16(__tg_fmin(x.lo, y.lo), __tg_fmin(x.hi, y.hi)); -#endif -} - -static SIMD_CFUNC simd_double2 __tg_fmin(simd_double2 x, simd_double2 y) { -#if defined __AVX512DQ__ && defined __AVX512VL__ - return _mm_range_pd(x, y, 4); -#elif defined __SSE2__ && __FINITE_MATH_ONLY__ - return _mm_min_pd(x, y); -#elif defined __SSE2__ - return simd_bitselect(_mm_min_pd(x, y), x, y != y); -#elif defined __arm64__ - return vminnmq_f64(x, y); -#else - return simd_bitselect(y, x, (x <= y) | (y != y)); -#endif -} - -static SIMD_CFUNC simd_double3 __tg_fmin(simd_double3 x, simd_double3 y) { - return simd_make_double3(__tg_fmin(simd_make_double4_undef(x), simd_make_double4_undef(y))); -} - -static SIMD_CFUNC simd_double4 __tg_fmin(simd_double4 x, simd_double4 y) { -#if defined __AVX512DQ__ && defined __AVX512VL__ - return _mm256_range_pd(x, y, 4); -#elif defined __AVX__ && __FINITE_MATH_ONLY__ - return _mm256_min_pd(x, y); -#elif defined __AVX__ - return simd_bitselect(_mm256_min_pd(x, y), x, y != y); -#else - return simd_make_double4(__tg_fmin(x.lo, y.lo), __tg_fmin(x.hi, y.hi)); -#endif -} - -static SIMD_CFUNC simd_double8 __tg_fmin(simd_double8 x, simd_double8 y) { -#if defined __x86_64__ && defined __AVX512DQ__ - return _mm512_range_pd(x, y, 4); -#elif defined __x86_64__ && defined __AVX512F__ && __FINITE_MATH_ONLY__ - return _mm512_min_pd(x, y); -#elif defined __x86_64__ && defined __AVX512F__ - return simd_bitselect(_mm512_min_pd(x, y), x, y != y); -#else - return simd_make_double8(__tg_fmin(x.lo, y.lo), __tg_fmin(x.hi, y.hi)); -#endif -} - -static SIMD_CFUNC simd_float2 __tg_fmax(simd_float2 x, simd_float2 y) { -#if defined __SSE2__ - return simd_make_float2(__tg_fmax(simd_make_float4_undef(x), simd_make_float4_undef(y))); -#elif defined __arm64__ - return vmaxnm_f32(x, y); -#elif defined __arm__ && __FINITE_MATH_ONLY__ - return vmax_f32(x, y); -#else - return simd_bitselect(y, x, (x >= y) | (y != y)); -#endif -} - -static SIMD_CFUNC simd_float3 __tg_fmax(simd_float3 x, simd_float3 y) { - return simd_make_float3(__tg_fmax(simd_make_float4_undef(x), simd_make_float4_undef(y))); -} - -static SIMD_CFUNC simd_float4 __tg_fmax(simd_float4 x, simd_float4 y) { -#if defined __AVX512DQ__ && defined __AVX512VL__ && !__FINITE_MATH_ONLY__ - return _mm_range_ps(x, y, 5); -#elif defined __SSE2__ && __FINITE_MATH_ONLY__ - return _mm_max_ps(x, y); -#elif defined __SSE2__ - return simd_bitselect(_mm_max_ps(x, y), x, y != y); -#elif defined __arm64__ - return vmaxnmq_f32(x, y); -#elif defined __arm__ && __FINITE_MATH_ONLY__ - return vmaxq_f32(x, y); -#else - return simd_bitselect(y, x, (x >= y) | (y != y)); -#endif -} - -static SIMD_CFUNC simd_float8 __tg_fmax(simd_float8 x, simd_float8 y) { -#if defined __AVX512DQ__ && defined __AVX512VL__ && !__FINITE_MATH_ONLY__ - return _mm256_range_ps(x, y, 5); -#elif defined __AVX__ && __FINITE_MATH_ONLY__ - return _mm256_max_ps(x, y); -#elif defined __AVX__ - return simd_bitselect(_mm256_max_ps(x, y), x, y != y); -#else - return simd_make_float8(__tg_fmax(x.lo, y.lo), __tg_fmax(x.hi, y.hi)); -#endif -} - -static SIMD_CFUNC simd_float16 __tg_fmax(simd_float16 x, simd_float16 y) { -#if defined __x86_64__ && defined __AVX512DQ__ && !__FINITE_MATH_ONLY__ - return _mm512_range_ps(x, y, 5); -#elif defined __x86_64__ && defined __AVX512F__ && __FINITE_MATH_ONLY__ - return _mm512_max_ps(x, y); -#elif defined __x86_64__ && defined __AVX512F__ - return simd_bitselect(_mm512_max_ps(x, y), x, y != y); -#else - return simd_make_float16(__tg_fmax(x.lo, y.lo), __tg_fmax(x.hi, y.hi)); -#endif -} - -static SIMD_CFUNC simd_double2 __tg_fmax(simd_double2 x, simd_double2 y) { -#if defined __AVX512DQ__ && defined __AVX512VL__ - return _mm_range_pd(x, y, 5); -#elif defined __SSE2__ && __FINITE_MATH_ONLY__ - return _mm_max_pd(x, y); -#elif defined __SSE2__ - return simd_bitselect(_mm_max_pd(x, y), x, y != y); -#elif defined __arm64__ - return vmaxnmq_f64(x, y); -#else - return simd_bitselect(y, x, (x >= y) | (y != y)); -#endif -} - -static SIMD_CFUNC simd_double3 __tg_fmax(simd_double3 x, simd_double3 y) { - return simd_make_double3(__tg_fmax(simd_make_double4_undef(x), simd_make_double4_undef(y))); -} - -static SIMD_CFUNC simd_double4 __tg_fmax(simd_double4 x, simd_double4 y) { -#if defined __AVX512DQ__ && defined __AVX512VL__ - return _mm256_range_pd(x, y, 5); -#elif defined __AVX__ && __FINITE_MATH_ONLY__ - return _mm256_max_pd(x, y); -#elif defined __AVX__ - return simd_bitselect(_mm256_max_pd(x, y), x, y != y); -#else - return simd_make_double4(__tg_fmax(x.lo, y.lo), __tg_fmax(x.hi, y.hi)); -#endif -} - -static SIMD_CFUNC simd_double8 __tg_fmax(simd_double8 x, simd_double8 y) { -#if defined __x86_64__ && defined __AVX512DQ__ - return _mm512_range_pd(x, y, 5); -#elif defined __x86_64__ && defined __AVX512F__ && __FINITE_MATH_ONLY__ - return _mm512_max_pd(x, y); -#elif defined __x86_64__ && defined __AVX512F__ - return simd_bitselect(_mm512_max_pd(x, y), x, y != y); -#else - return simd_make_double8(__tg_fmax(x.lo, y.lo), __tg_fmax(x.hi, y.hi)); -#endif -} - -#pragma mark - copysign implementation -static inline SIMD_CFUNC simd_float2 __tg_copysign(simd_float2 x, simd_float2 y) { return simd_bitselect(y, x, 0x7fffffff); } -static inline SIMD_CFUNC simd_float3 __tg_copysign(simd_float3 x, simd_float3 y) { return simd_bitselect(y, x, 0x7fffffff); } -static inline SIMD_CFUNC simd_float4 __tg_copysign(simd_float4 x, simd_float4 y) { return simd_bitselect(y, x, 0x7fffffff); } -static inline SIMD_CFUNC simd_float8 __tg_copysign(simd_float8 x, simd_float8 y) { return simd_bitselect(y, x, 0x7fffffff); } -static inline SIMD_CFUNC simd_float16 __tg_copysign(simd_float16 x, simd_float16 y) { return simd_bitselect(y, x, 0x7fffffff); } -static inline SIMD_CFUNC simd_double2 __tg_copysign(simd_double2 x, simd_double2 y) { return simd_bitselect(y, x, 0x7fffffffffffffffL); } -static inline SIMD_CFUNC simd_double3 __tg_copysign(simd_double3 x, simd_double3 y) { return simd_bitselect(y, x, 0x7fffffffffffffffL); } -static inline SIMD_CFUNC simd_double4 __tg_copysign(simd_double4 x, simd_double4 y) { return simd_bitselect(y, x, 0x7fffffffffffffffL); } -static inline SIMD_CFUNC simd_double8 __tg_copysign(simd_double8 x, simd_double8 y) { return simd_bitselect(y, x, 0x7fffffffffffffffL); } - -#pragma mark - sqrt implementation -static SIMD_CFUNC simd_float2 __tg_sqrt(simd_float2 x) { -#if defined __SSE2__ - return simd_make_float2(__tg_sqrt(simd_make_float4_undef(x))); -#elif defined __arm64__ - return vsqrt_f32(x); -#else - return simd_make_float2(sqrt(x.x), sqrt(x.y)); -#endif -} - -static SIMD_CFUNC simd_float3 __tg_sqrt(simd_float3 x) { - return simd_make_float3(__tg_sqrt(simd_make_float4_undef(x))); -} - -static SIMD_CFUNC simd_float4 __tg_sqrt(simd_float4 x) { -#if defined __SSE2__ - return _mm_sqrt_ps(x); -#elif defined __arm64__ - return vsqrtq_f32(x); -#else - return simd_make_float4(__tg_sqrt(x.lo), __tg_sqrt(x.hi)); -#endif -} - -static SIMD_CFUNC simd_float8 __tg_sqrt(simd_float8 x) { -#if defined __AVX__ - return _mm256_sqrt_ps(x); -#else - return simd_make_float8(__tg_sqrt(x.lo), __tg_sqrt(x.hi)); -#endif -} - -static SIMD_CFUNC simd_float16 __tg_sqrt(simd_float16 x) { -#if defined __x86_64__ && defined __AVX512F__ - return _mm512_sqrt_ps(x); -#else - return simd_make_float16(__tg_sqrt(x.lo), __tg_sqrt(x.hi)); -#endif -} - -static SIMD_CFUNC simd_double2 __tg_sqrt(simd_double2 x) { -#if defined __SSE2__ - return _mm_sqrt_pd(x); -#elif defined __arm64__ - return vsqrtq_f64(x); -#else - return simd_make_double2(sqrt(x.x), sqrt(x.y)); -#endif -} - -static SIMD_CFUNC simd_double3 __tg_sqrt(simd_double3 x) { - return simd_make_double3(__tg_sqrt(simd_make_double4_undef(x))); -} - -static SIMD_CFUNC simd_double4 __tg_sqrt(simd_double4 x) { -#if defined __AVX__ - return _mm256_sqrt_pd(x); -#else - return simd_make_double4(__tg_sqrt(x.lo), __tg_sqrt(x.hi)); -#endif -} - -static SIMD_CFUNC simd_double8 __tg_sqrt(simd_double8 x) { -#if defined __x86_64__ && defined __AVX512F__ - return _mm512_sqrt_pd(x); -#else - return simd_make_double8(__tg_sqrt(x.lo), __tg_sqrt(x.hi)); -#endif -} - -#pragma mark - ceil, floor, rint, trunc implementation -static SIMD_CFUNC simd_float2 __tg_ceil(simd_float2 x) { -#if defined __arm64__ - return vrndp_f32(x); -#else - return simd_make_float2(__tg_ceil(simd_make_float4_undef(x))); -#endif -} - -static SIMD_CFUNC simd_float3 __tg_ceil(simd_float3 x) { - return simd_make_float3(__tg_ceil(simd_make_float4_undef(x))); -} - -#if defined __arm__ && SIMD_LIBRARY_VERSION >= 3 -extern simd_float4 _simd_ceil_f4(simd_float4 x); -#endif - -static SIMD_CFUNC simd_float4 __tg_ceil(simd_float4 x) { -#if defined __SSE4_1__ - return _mm_round_ps(x, _MM_FROUND_TO_POS_INF | _MM_FROUND_NO_EXC); -#elif defined __arm64__ - return vrndpq_f32(x); -#elif defined __arm__ && SIMD_LIBRARY_VERSION >= 3 - return _simd_ceil_f4(x); -#else - simd_float4 truncated = __tg_trunc(x); - simd_float4 adjust = simd_bitselect((simd_float4)0, 1, truncated < x); - return __tg_copysign(truncated + adjust, x); -#endif -} - -static SIMD_CFUNC simd_float8 __tg_ceil(simd_float8 x) { -#if defined __AVX__ - return _mm256_round_ps(x, _MM_FROUND_TO_POS_INF | _MM_FROUND_NO_EXC); -#else - return simd_make_float8(__tg_ceil(x.lo), __tg_ceil(x.hi)); -#endif -} - -static SIMD_CFUNC simd_float16 __tg_ceil(simd_float16 x) { -#if defined __x86_64__ && defined __AVX512F__ - return _mm512_roundscale_ps(x, _MM_FROUND_TO_POS_INF | _MM_FROUND_NO_EXC); -#else - return simd_make_float16(__tg_ceil(x.lo), __tg_ceil(x.hi)); -#endif -} - -#if defined __arm__ && SIMD_LIBRARY_VERSION >= 3 -extern simd_double2 _simd_ceil_d2(simd_double2 x); -#endif - -static SIMD_CFUNC simd_double2 __tg_ceil(simd_double2 x) { -#if defined __SSE4_1__ - return _mm_round_pd(x, _MM_FROUND_TO_POS_INF | _MM_FROUND_NO_EXC); -#elif defined __arm64__ - return vrndpq_f64(x); -#elif defined __arm__ && SIMD_LIBRARY_VERSION >= 3 - return _simd_ceil_d2(x); -#else - simd_double2 truncated = __tg_trunc(x); - simd_double2 adjust = simd_bitselect((simd_double2)0, 1, truncated < x); - return __tg_copysign(truncated + adjust, x); -#endif -} - -static SIMD_CFUNC simd_double3 __tg_ceil(simd_double3 x) { - return simd_make_double3(__tg_ceil(simd_make_double4_undef(x))); -} - -static SIMD_CFUNC simd_double4 __tg_ceil(simd_double4 x) { -#if defined __AVX__ - return _mm256_round_pd(x, _MM_FROUND_TO_POS_INF | _MM_FROUND_NO_EXC); -#else - return simd_make_double4(__tg_ceil(x.lo), __tg_ceil(x.hi)); -#endif -} - -static SIMD_CFUNC simd_double8 __tg_ceil(simd_double8 x) { -#if defined __x86_64__ && defined __AVX512F__ - return _mm512_roundscale_pd(x, _MM_FROUND_TO_POS_INF | _MM_FROUND_NO_EXC); -#else - return simd_make_double8(__tg_ceil(x.lo), __tg_ceil(x.hi)); -#endif -} - -static SIMD_CFUNC simd_float2 __tg_floor(simd_float2 x) { -#if defined __arm64__ - return vrndm_f32(x); -#else - return simd_make_float2(__tg_floor(simd_make_float4_undef(x))); -#endif -} - -static SIMD_CFUNC simd_float3 __tg_floor(simd_float3 x) { - return simd_make_float3(__tg_floor(simd_make_float4_undef(x))); -} - -#if defined __arm__ && SIMD_LIBRARY_VERSION >= 3 -extern simd_float4 _simd_floor_f4(simd_float4 x); -#endif - -static SIMD_CFUNC simd_float4 __tg_floor(simd_float4 x) { -#if defined __SSE4_1__ - return _mm_round_ps(x, _MM_FROUND_TO_NEG_INF | _MM_FROUND_NO_EXC); -#elif defined __arm64__ - return vrndmq_f32(x); -#elif defined __arm__ && SIMD_LIBRARY_VERSION >= 3 - return _simd_floor_f4(x); -#else - simd_float4 truncated = __tg_trunc(x); - simd_float4 adjust = simd_bitselect((simd_float4)0, 1, truncated > x); - return truncated - adjust; -#endif -} - -static SIMD_CFUNC simd_float8 __tg_floor(simd_float8 x) { -#if defined __AVX__ - return _mm256_round_ps(x, _MM_FROUND_TO_NEG_INF | _MM_FROUND_NO_EXC); -#else - return simd_make_float8(__tg_floor(x.lo), __tg_floor(x.hi)); -#endif -} - -static SIMD_CFUNC simd_float16 __tg_floor(simd_float16 x) { -#if defined __x86_64__ && defined __AVX512F__ - return _mm512_roundscale_ps(x, _MM_FROUND_TO_NEG_INF | _MM_FROUND_NO_EXC); -#else - return simd_make_float16(__tg_floor(x.lo), __tg_floor(x.hi)); -#endif -} - -#if defined __arm__ && SIMD_LIBRARY_VERSION >= 3 -extern simd_double2 _simd_floor_d2(simd_double2 x); -#endif - -static SIMD_CFUNC simd_double2 __tg_floor(simd_double2 x) { -#if defined __SSE4_1__ - return _mm_round_pd(x, _MM_FROUND_TO_NEG_INF | _MM_FROUND_NO_EXC); -#elif defined __arm64__ - return vrndmq_f64(x); -#elif defined __arm__ && SIMD_LIBRARY_VERSION >= 3 - return _simd_floor_d2(x); -#else - simd_double2 truncated = __tg_trunc(x); - simd_double2 adjust = simd_bitselect((simd_double2)0, 1, truncated > x); - return truncated - adjust; -#endif -} - -static SIMD_CFUNC simd_double3 __tg_floor(simd_double3 x) { - return simd_make_double3(__tg_floor(simd_make_double4_undef(x))); -} - -static SIMD_CFUNC simd_double4 __tg_floor(simd_double4 x) { -#if defined __AVX__ - return _mm256_round_pd(x, _MM_FROUND_TO_NEG_INF | _MM_FROUND_NO_EXC); -#else - return simd_make_double4(__tg_floor(x.lo), __tg_floor(x.hi)); -#endif -} - -static SIMD_CFUNC simd_double8 __tg_floor(simd_double8 x) { -#if defined __x86_64__ && defined __AVX512F__ - return _mm512_roundscale_pd(x, _MM_FROUND_TO_NEG_INF | _MM_FROUND_NO_EXC); -#else - return simd_make_double8(__tg_floor(x.lo), __tg_floor(x.hi)); -#endif -} - -static SIMD_CFUNC simd_float2 __tg_rint(simd_float2 x) { -#if defined __arm64__ - return vrndx_f32(x); -#else - return simd_make_float2(__tg_rint(simd_make_float4_undef(x))); -#endif -} - -static SIMD_CFUNC simd_float3 __tg_rint(simd_float3 x) { - return simd_make_float3(__tg_rint(simd_make_float4_undef(x))); -} - -#if defined __arm__ && SIMD_LIBRARY_VERSION >= 3 -extern simd_float4 _simd_rint_f4(simd_float4 x); -#endif - -static SIMD_CFUNC simd_float4 __tg_rint(simd_float4 x) { -#if defined __SSE4_1__ - return _mm_round_ps(x, _MM_FROUND_RINT); -#elif defined __arm64__ - return vrndxq_f32(x); -#elif defined __arm__ && SIMD_LIBRARY_VERSION >= 3 - return _simd_rint_f4(x); -#else - simd_float4 magic = __tg_copysign(0x1.0p23, x); - simd_int4 x_is_small = __tg_fabs(x) < 0x1.0p23; - return simd_bitselect(x, (x + magic) - magic, x_is_small & 0x7fffffff); -#endif -} - -static SIMD_CFUNC simd_float8 __tg_rint(simd_float8 x) { -#if defined __AVX__ - return _mm256_round_ps(x, _MM_FROUND_RINT); -#else - return simd_make_float8(__tg_rint(x.lo), __tg_rint(x.hi)); -#endif -} - -static SIMD_CFUNC simd_float16 __tg_rint(simd_float16 x) { -#if defined __x86_64__ && defined __AVX512F__ - return _mm512_roundscale_ps(x, _MM_FROUND_RINT); -#else - return simd_make_float16(__tg_rint(x.lo), __tg_rint(x.hi)); -#endif -} - -#if defined __arm__ && SIMD_LIBRARY_VERSION >= 3 -extern simd_double2 _simd_rint_d2(simd_double2 x); -#endif - -static SIMD_CFUNC simd_double2 __tg_rint(simd_double2 x) { -#if defined __SSE4_1__ - return _mm_round_pd(x, _MM_FROUND_RINT); -#elif defined __arm64__ - return vrndxq_f64(x); -#elif defined __arm__ && SIMD_LIBRARY_VERSION >= 3 - return _simd_rint_d2(x); -#else - simd_double2 magic = __tg_copysign(0x1.0p52, x); - simd_long2 x_is_small = __tg_fabs(x) < 0x1.0p52; - return simd_bitselect(x, (x + magic) - magic, x_is_small & 0x7fffffffffffffff); -#endif -} - -static SIMD_CFUNC simd_double3 __tg_rint(simd_double3 x) { - return simd_make_double3(__tg_rint(simd_make_double4_undef(x))); -} - -static SIMD_CFUNC simd_double4 __tg_rint(simd_double4 x) { -#if defined __AVX__ - return _mm256_round_pd(x, _MM_FROUND_RINT); -#else - return simd_make_double4(__tg_rint(x.lo), __tg_rint(x.hi)); -#endif -} - -static SIMD_CFUNC simd_double8 __tg_rint(simd_double8 x) { -#if defined __x86_64__ && defined __AVX512F__ - return _mm512_roundscale_pd(x, _MM_FROUND_RINT); -#else - return simd_make_double8(__tg_rint(x.lo), __tg_rint(x.hi)); -#endif -} - -static SIMD_CFUNC simd_float2 __tg_trunc(simd_float2 x) { -#if defined __arm64__ - return vrnd_f32(x); -#else - return simd_make_float2(__tg_trunc(simd_make_float4_undef(x))); -#endif -} - -static SIMD_CFUNC simd_float3 __tg_trunc(simd_float3 x) { - return simd_make_float3(__tg_trunc(simd_make_float4_undef(x))); -} - -#if defined __arm__ && SIMD_LIBRARY_VERSION >= 3 -extern simd_float4 _simd_trunc_f4(simd_float4 x); -#endif - -static SIMD_CFUNC simd_float4 __tg_trunc(simd_float4 x) { -#if defined __SSE4_1__ - return _mm_round_ps(x, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -#elif defined __arm64__ - return vrndq_f32(x); -#elif defined __arm__ && SIMD_LIBRARY_VERSION >= 3 - return _simd_trunc_f4(x); -#else - simd_float4 binade = simd_bitselect(0, x, 0x7f800000); - simd_int4 mask = (simd_int4)__tg_fmin(-2*binade + 1, -0); - simd_float4 result = simd_bitselect(0, x, mask); - return simd_bitselect(x, result, binade < 0x1.0p23); -#endif -} - -static SIMD_CFUNC simd_float8 __tg_trunc(simd_float8 x) { -#if defined __AVX__ - return _mm256_round_ps(x, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -#else - return simd_make_float8(__tg_trunc(x.lo), __tg_trunc(x.hi)); -#endif -} - -static SIMD_CFUNC simd_float16 __tg_trunc(simd_float16 x) { -#if defined __x86_64__ && defined __AVX512F__ - return _mm512_roundscale_ps(x, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -#else - return simd_make_float16(__tg_trunc(x.lo), __tg_trunc(x.hi)); -#endif -} - -#if defined __arm__ && SIMD_LIBRARY_VERSION >= 3 -extern simd_double2 _simd_trunc_d2(simd_double2 x); -#endif - -static SIMD_CFUNC simd_double2 __tg_trunc(simd_double2 x) { -#if defined __SSE4_1__ - return _mm_round_pd(x, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -#elif defined __arm64__ - return vrndq_f64(x); -#elif defined __arm__ && SIMD_LIBRARY_VERSION >= 3 - return _simd_trunc_d2(x); -#else - simd_double2 binade = simd_bitselect(0, x, 0x7ff0000000000000); - simd_long2 mask = (simd_long2)__tg_fmin(-2*binade + 1, -0); - simd_double2 result = simd_bitselect(0, x, mask); - return simd_bitselect(x, result, binade < 0x1.0p52); -#endif -} - -static SIMD_CFUNC simd_double3 __tg_trunc(simd_double3 x) { - return simd_make_double3(__tg_trunc(simd_make_double4_undef(x))); -} - -static SIMD_CFUNC simd_double4 __tg_trunc(simd_double4 x) { -#if defined __AVX__ - return _mm256_round_pd(x, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -#else - return simd_make_double4(__tg_trunc(x.lo), __tg_trunc(x.hi)); -#endif -} - -static SIMD_CFUNC simd_double8 __tg_trunc(simd_double8 x) { -#if defined __x86_64__ && defined __AVX512F__ - return _mm512_roundscale_pd(x, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC); -#else - return simd_make_double8(__tg_trunc(x.lo), __tg_trunc(x.hi)); -#endif -} - -#pragma mark - sine, cosine implementation -static inline SIMD_CFUNC simd_float2 __tg_sin(simd_float2 x) { - return simd_make_float2(__tg_sin(simd_make_float4(x))); -} - -static inline SIMD_CFUNC simd_float3 __tg_sin(simd_float3 x) { - return simd_make_float3(__tg_sin(simd_make_float4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_float4 _simd_sin_f4(simd_float4 x); -static inline SIMD_CFUNC simd_float4 __tg_sin(simd_float4 x) { - return _simd_sin_f4(x); -} -#elif SIMD_LIBRARY_VERSION == 1 -extern simd_float4 __sin_f4(simd_float4 x); -static inline SIMD_CFUNC simd_float4 __tg_sin(simd_float4 x) { - return __sin_f4(x); -} -#else -static inline SIMD_CFUNC simd_float4 __tg_sin(simd_float4 x) { - return simd_make_float4(sin(x.x), sin(x.y), sin(x.z), sin(x.w)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_float8 _simd_sin_f8(simd_float8 x); -static inline SIMD_CFUNC simd_float8 __tg_sin(simd_float8 x) { - return _simd_sin_f8(x); -} -#else -static inline SIMD_CFUNC simd_float8 __tg_sin(simd_float8 x) { - return simd_make_float8(__tg_sin(x.lo), __tg_sin(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_float16 _simd_sin_f16(simd_float16 x); -static inline SIMD_CFUNC simd_float16 __tg_sin(simd_float16 x) { - return _simd_sin_f16(x); -} -#else -static inline SIMD_CFUNC simd_float16 __tg_sin(simd_float16 x) { - return simd_make_float16(__tg_sin(x.lo), __tg_sin(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_double2 _simd_sin_d2(simd_double2 x); -static inline SIMD_CFUNC simd_double2 __tg_sin(simd_double2 x) { - return _simd_sin_d2(x); -} -#elif SIMD_LIBRARY_VERSION == 1 -extern simd_double2 __sin_d2(simd_double2 x); -static inline SIMD_CFUNC simd_double2 __tg_sin(simd_double2 x) { - return __sin_d2(x); -} -#else -static inline SIMD_CFUNC simd_double2 __tg_sin(simd_double2 x) { - return simd_make_double2(sin(x.x), sin(x.y)); -} -#endif - -static inline SIMD_CFUNC simd_double3 __tg_sin(simd_double3 x) { - return simd_make_double3(__tg_sin(simd_make_double4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_double4 _simd_sin_d4(simd_double4 x); -static inline SIMD_CFUNC simd_double4 __tg_sin(simd_double4 x) { - return _simd_sin_d4(x); -} -#else -static inline SIMD_CFUNC simd_double4 __tg_sin(simd_double4 x) { - return simd_make_double4(__tg_sin(x.lo), __tg_sin(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_double8 _simd_sin_d8(simd_double8 x); -static inline SIMD_CFUNC simd_double8 __tg_sin(simd_double8 x) { - return _simd_sin_d8(x); -} -#else -static inline SIMD_CFUNC simd_double8 __tg_sin(simd_double8 x) { - return simd_make_double8(__tg_sin(x.lo), __tg_sin(x.hi)); -} -#endif - -static inline SIMD_CFUNC simd_float2 __tg_cos(simd_float2 x) { - return simd_make_float2(__tg_cos(simd_make_float4(x))); -} - -static inline SIMD_CFUNC simd_float3 __tg_cos(simd_float3 x) { - return simd_make_float3(__tg_cos(simd_make_float4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_float4 _simd_cos_f4(simd_float4 x); -static inline SIMD_CFUNC simd_float4 __tg_cos(simd_float4 x) { - return _simd_cos_f4(x); -} -#elif SIMD_LIBRARY_VERSION == 1 -extern simd_float4 __cos_f4(simd_float4 x); -static inline SIMD_CFUNC simd_float4 __tg_cos(simd_float4 x) { - return __cos_f4(x); -} -#else -static inline SIMD_CFUNC simd_float4 __tg_cos(simd_float4 x) { - return simd_make_float4(cos(x.x), cos(x.y), cos(x.z), cos(x.w)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_float8 _simd_cos_f8(simd_float8 x); -static inline SIMD_CFUNC simd_float8 __tg_cos(simd_float8 x) { - return _simd_cos_f8(x); -} -#else -static inline SIMD_CFUNC simd_float8 __tg_cos(simd_float8 x) { - return simd_make_float8(__tg_cos(x.lo), __tg_cos(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_float16 _simd_cos_f16(simd_float16 x); -static inline SIMD_CFUNC simd_float16 __tg_cos(simd_float16 x) { - return _simd_cos_f16(x); -} -#else -static inline SIMD_CFUNC simd_float16 __tg_cos(simd_float16 x) { - return simd_make_float16(__tg_cos(x.lo), __tg_cos(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_double2 _simd_cos_d2(simd_double2 x); -static inline SIMD_CFUNC simd_double2 __tg_cos(simd_double2 x) { - return _simd_cos_d2(x); -} -#elif SIMD_LIBRARY_VERSION == 1 -extern simd_double2 __cos_d2(simd_double2 x); -static inline SIMD_CFUNC simd_double2 __tg_cos(simd_double2 x) { - return __cos_d2(x); -} -#else -static inline SIMD_CFUNC simd_double2 __tg_cos(simd_double2 x) { - return simd_make_double2(cos(x.x), cos(x.y)); -} -#endif - -static inline SIMD_CFUNC simd_double3 __tg_cos(simd_double3 x) { - return simd_make_double3(__tg_cos(simd_make_double4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_double4 _simd_cos_d4(simd_double4 x); -static inline SIMD_CFUNC simd_double4 __tg_cos(simd_double4 x) { - return _simd_cos_d4(x); -} -#else -static inline SIMD_CFUNC simd_double4 __tg_cos(simd_double4 x) { - return simd_make_double4(__tg_cos(x.lo), __tg_cos(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_double8 _simd_cos_d8(simd_double8 x); -static inline SIMD_CFUNC simd_double8 __tg_cos(simd_double8 x) { - return _simd_cos_d8(x); -} -#else -static inline SIMD_CFUNC simd_double8 __tg_cos(simd_double8 x) { - return simd_make_double8(__tg_cos(x.lo), __tg_cos(x.hi)); -} -#endif - - -#pragma mark - acos implementation -static inline SIMD_CFUNC simd_float2 __tg_acos(simd_float2 x) { - return simd_make_float2(__tg_acos(simd_make_float4(x))); -} - -static inline SIMD_CFUNC simd_float3 __tg_acos(simd_float3 x) { - return simd_make_float3(__tg_acos(simd_make_float4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_float4 _simd_acos_f4(simd_float4 x); -static inline SIMD_CFUNC simd_float4 __tg_acos(simd_float4 x) { - return _simd_acos_f4(x); -} -#else -static inline SIMD_CFUNC simd_float4 __tg_acos(simd_float4 x) { - return simd_make_float4(acos(x.x), acos(x.y), acos(x.z), acos(x.w)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_float8 _simd_acos_f8(simd_float8 x); -static inline SIMD_CFUNC simd_float8 __tg_acos(simd_float8 x) { - return _simd_acos_f8(x); -} -#else -static inline SIMD_CFUNC simd_float8 __tg_acos(simd_float8 x) { - return simd_make_float8(__tg_acos(x.lo), __tg_acos(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_float16 _simd_acos_f16(simd_float16 x); -static inline SIMD_CFUNC simd_float16 __tg_acos(simd_float16 x) { - return _simd_acos_f16(x); -} -#else -static inline SIMD_CFUNC simd_float16 __tg_acos(simd_float16 x) { - return simd_make_float16(__tg_acos(x.lo), __tg_acos(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_double2 _simd_acos_d2(simd_double2 x); -static inline SIMD_CFUNC simd_double2 __tg_acos(simd_double2 x) { - return _simd_acos_d2(x); -} -#else -static inline SIMD_CFUNC simd_double2 __tg_acos(simd_double2 x) { - return simd_make_double2(acos(x.x), acos(x.y)); -} -#endif - -static inline SIMD_CFUNC simd_double3 __tg_acos(simd_double3 x) { - return simd_make_double3(__tg_acos(simd_make_double4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_double4 _simd_acos_d4(simd_double4 x); -static inline SIMD_CFUNC simd_double4 __tg_acos(simd_double4 x) { - return _simd_acos_d4(x); -} -#else -static inline SIMD_CFUNC simd_double4 __tg_acos(simd_double4 x) { - return simd_make_double4(__tg_acos(x.lo), __tg_acos(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_double8 _simd_acos_d8(simd_double8 x); -static inline SIMD_CFUNC simd_double8 __tg_acos(simd_double8 x) { - return _simd_acos_d8(x); -} -#else -static inline SIMD_CFUNC simd_double8 __tg_acos(simd_double8 x) { - return simd_make_double8(__tg_acos(x.lo), __tg_acos(x.hi)); -} -#endif - -#pragma mark - asin implementation -static inline SIMD_CFUNC simd_float2 __tg_asin(simd_float2 x) { - return simd_make_float2(__tg_asin(simd_make_float4(x))); -} - -static inline SIMD_CFUNC simd_float3 __tg_asin(simd_float3 x) { - return simd_make_float3(__tg_asin(simd_make_float4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_float4 _simd_asin_f4(simd_float4 x); -static inline SIMD_CFUNC simd_float4 __tg_asin(simd_float4 x) { - return _simd_asin_f4(x); -} -#else -static inline SIMD_CFUNC simd_float4 __tg_asin(simd_float4 x) { - return simd_make_float4(asin(x.x), asin(x.y), asin(x.z), asin(x.w)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_float8 _simd_asin_f8(simd_float8 x); -static inline SIMD_CFUNC simd_float8 __tg_asin(simd_float8 x) { - return _simd_asin_f8(x); -} -#else -static inline SIMD_CFUNC simd_float8 __tg_asin(simd_float8 x) { - return simd_make_float8(__tg_asin(x.lo), __tg_asin(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_float16 _simd_asin_f16(simd_float16 x); -static inline SIMD_CFUNC simd_float16 __tg_asin(simd_float16 x) { - return _simd_asin_f16(x); -} -#else -static inline SIMD_CFUNC simd_float16 __tg_asin(simd_float16 x) { - return simd_make_float16(__tg_asin(x.lo), __tg_asin(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_double2 _simd_asin_d2(simd_double2 x); -static inline SIMD_CFUNC simd_double2 __tg_asin(simd_double2 x) { - return _simd_asin_d2(x); -} -#else -static inline SIMD_CFUNC simd_double2 __tg_asin(simd_double2 x) { - return simd_make_double2(asin(x.x), asin(x.y)); -} -#endif - -static inline SIMD_CFUNC simd_double3 __tg_asin(simd_double3 x) { - return simd_make_double3(__tg_asin(simd_make_double4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_double4 _simd_asin_d4(simd_double4 x); -static inline SIMD_CFUNC simd_double4 __tg_asin(simd_double4 x) { - return _simd_asin_d4(x); -} -#else -static inline SIMD_CFUNC simd_double4 __tg_asin(simd_double4 x) { - return simd_make_double4(__tg_asin(x.lo), __tg_asin(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_double8 _simd_asin_d8(simd_double8 x); -static inline SIMD_CFUNC simd_double8 __tg_asin(simd_double8 x) { - return _simd_asin_d8(x); -} -#else -static inline SIMD_CFUNC simd_double8 __tg_asin(simd_double8 x) { - return simd_make_double8(__tg_asin(x.lo), __tg_asin(x.hi)); -} -#endif - -#pragma mark - atan implementation -static inline SIMD_CFUNC simd_float2 __tg_atan(simd_float2 x) { - return simd_make_float2(__tg_atan(simd_make_float4(x))); -} - -static inline SIMD_CFUNC simd_float3 __tg_atan(simd_float3 x) { - return simd_make_float3(__tg_atan(simd_make_float4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_float4 _simd_atan_f4(simd_float4 x); -static inline SIMD_CFUNC simd_float4 __tg_atan(simd_float4 x) { - return _simd_atan_f4(x); -} -#else -static inline SIMD_CFUNC simd_float4 __tg_atan(simd_float4 x) { - return simd_make_float4(atan(x.x), atan(x.y), atan(x.z), atan(x.w)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_float8 _simd_atan_f8(simd_float8 x); -static inline SIMD_CFUNC simd_float8 __tg_atan(simd_float8 x) { - return _simd_atan_f8(x); -} -#else -static inline SIMD_CFUNC simd_float8 __tg_atan(simd_float8 x) { - return simd_make_float8(__tg_atan(x.lo), __tg_atan(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_float16 _simd_atan_f16(simd_float16 x); -static inline SIMD_CFUNC simd_float16 __tg_atan(simd_float16 x) { - return _simd_atan_f16(x); -} -#else -static inline SIMD_CFUNC simd_float16 __tg_atan(simd_float16 x) { - return simd_make_float16(__tg_atan(x.lo), __tg_atan(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_double2 _simd_atan_d2(simd_double2 x); -static inline SIMD_CFUNC simd_double2 __tg_atan(simd_double2 x) { - return _simd_atan_d2(x); -} -#else -static inline SIMD_CFUNC simd_double2 __tg_atan(simd_double2 x) { - return simd_make_double2(atan(x.x), atan(x.y)); -} -#endif - -static inline SIMD_CFUNC simd_double3 __tg_atan(simd_double3 x) { - return simd_make_double3(__tg_atan(simd_make_double4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_double4 _simd_atan_d4(simd_double4 x); -static inline SIMD_CFUNC simd_double4 __tg_atan(simd_double4 x) { - return _simd_atan_d4(x); -} -#else -static inline SIMD_CFUNC simd_double4 __tg_atan(simd_double4 x) { - return simd_make_double4(__tg_atan(x.lo), __tg_atan(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_double8 _simd_atan_d8(simd_double8 x); -static inline SIMD_CFUNC simd_double8 __tg_atan(simd_double8 x) { - return _simd_atan_d8(x); -} -#else -static inline SIMD_CFUNC simd_double8 __tg_atan(simd_double8 x) { - return simd_make_double8(__tg_atan(x.lo), __tg_atan(x.hi)); -} -#endif - -#pragma mark - tan implementation -static inline SIMD_CFUNC simd_float2 __tg_tan(simd_float2 x) { - return simd_make_float2(__tg_tan(simd_make_float4(x))); -} - -static inline SIMD_CFUNC simd_float3 __tg_tan(simd_float3 x) { - return simd_make_float3(__tg_tan(simd_make_float4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_float4 _simd_tan_f4(simd_float4 x); -static inline SIMD_CFUNC simd_float4 __tg_tan(simd_float4 x) { - return _simd_tan_f4(x); -} -#else -static inline SIMD_CFUNC simd_float4 __tg_tan(simd_float4 x) { - return simd_make_float4(tan(x.x), tan(x.y), tan(x.z), tan(x.w)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_float8 _simd_tan_f8(simd_float8 x); -static inline SIMD_CFUNC simd_float8 __tg_tan(simd_float8 x) { - return _simd_tan_f8(x); -} -#else -static inline SIMD_CFUNC simd_float8 __tg_tan(simd_float8 x) { - return simd_make_float8(__tg_tan(x.lo), __tg_tan(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_float16 _simd_tan_f16(simd_float16 x); -static inline SIMD_CFUNC simd_float16 __tg_tan(simd_float16 x) { - return _simd_tan_f16(x); -} -#else -static inline SIMD_CFUNC simd_float16 __tg_tan(simd_float16 x) { - return simd_make_float16(__tg_tan(x.lo), __tg_tan(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_double2 _simd_tan_d2(simd_double2 x); -static inline SIMD_CFUNC simd_double2 __tg_tan(simd_double2 x) { - return _simd_tan_d2(x); -} -#else -static inline SIMD_CFUNC simd_double2 __tg_tan(simd_double2 x) { - return simd_make_double2(tan(x.x), tan(x.y)); -} -#endif - -static inline SIMD_CFUNC simd_double3 __tg_tan(simd_double3 x) { - return simd_make_double3(__tg_tan(simd_make_double4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_double4 _simd_tan_d4(simd_double4 x); -static inline SIMD_CFUNC simd_double4 __tg_tan(simd_double4 x) { - return _simd_tan_d4(x); -} -#else -static inline SIMD_CFUNC simd_double4 __tg_tan(simd_double4 x) { - return simd_make_double4(__tg_tan(x.lo), __tg_tan(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_double8 _simd_tan_d8(simd_double8 x); -static inline SIMD_CFUNC simd_double8 __tg_tan(simd_double8 x) { - return _simd_tan_d8(x); -} -#else -static inline SIMD_CFUNC simd_double8 __tg_tan(simd_double8 x) { - return simd_make_double8(__tg_tan(x.lo), __tg_tan(x.hi)); -} -#endif - -#pragma mark - cospi implementation -#if SIMD_LIBRARY_VERSION >= 1 -static inline SIMD_CFUNC simd_float2 __tg_cospi(simd_float2 x) { - return simd_make_float2(__tg_cospi(simd_make_float4(x))); -} - -static inline SIMD_CFUNC simd_float3 __tg_cospi(simd_float3 x) { - return simd_make_float3(__tg_cospi(simd_make_float4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_float4 _simd_cospi_f4(simd_float4 x); -static inline SIMD_CFUNC simd_float4 __tg_cospi(simd_float4 x) { - return _simd_cospi_f4(x); -} -#else -static inline SIMD_CFUNC simd_float4 __tg_cospi(simd_float4 x) { - return simd_make_float4(__cospi(x.x), __cospi(x.y), __cospi(x.z), __cospi(x.w)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_float8 _simd_cospi_f8(simd_float8 x); -static inline SIMD_CFUNC simd_float8 __tg_cospi(simd_float8 x) { - return _simd_cospi_f8(x); -} -#else -static inline SIMD_CFUNC simd_float8 __tg_cospi(simd_float8 x) { - return simd_make_float8(__tg_cospi(x.lo), __tg_cospi(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_float16 _simd_cospi_f16(simd_float16 x); -static inline SIMD_CFUNC simd_float16 __tg_cospi(simd_float16 x) { - return _simd_cospi_f16(x); -} -#else -static inline SIMD_CFUNC simd_float16 __tg_cospi(simd_float16 x) { - return simd_make_float16(__tg_cospi(x.lo), __tg_cospi(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_double2 _simd_cospi_d2(simd_double2 x); -static inline SIMD_CFUNC simd_double2 __tg_cospi(simd_double2 x) { - return _simd_cospi_d2(x); -} -#else -static inline SIMD_CFUNC simd_double2 __tg_cospi(simd_double2 x) { - return simd_make_double2(__cospi(x.x), __cospi(x.y)); -} -#endif - -static inline SIMD_CFUNC simd_double3 __tg_cospi(simd_double3 x) { - return simd_make_double3(__tg_cospi(simd_make_double4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_double4 _simd_cospi_d4(simd_double4 x); -static inline SIMD_CFUNC simd_double4 __tg_cospi(simd_double4 x) { - return _simd_cospi_d4(x); -} -#else -static inline SIMD_CFUNC simd_double4 __tg_cospi(simd_double4 x) { - return simd_make_double4(__tg_cospi(x.lo), __tg_cospi(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_double8 _simd_cospi_d8(simd_double8 x); -static inline SIMD_CFUNC simd_double8 __tg_cospi(simd_double8 x) { - return _simd_cospi_d8(x); -} -#else -static inline SIMD_CFUNC simd_double8 __tg_cospi(simd_double8 x) { - return simd_make_double8(__tg_cospi(x.lo), __tg_cospi(x.hi)); -} -#endif - -#endif /* SIMD_LIBRARY_VERSION */ -#pragma mark - sinpi implementation -#if SIMD_LIBRARY_VERSION >= 1 -static inline SIMD_CFUNC simd_float2 __tg_sinpi(simd_float2 x) { - return simd_make_float2(__tg_sinpi(simd_make_float4(x))); -} - -static inline SIMD_CFUNC simd_float3 __tg_sinpi(simd_float3 x) { - return simd_make_float3(__tg_sinpi(simd_make_float4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_float4 _simd_sinpi_f4(simd_float4 x); -static inline SIMD_CFUNC simd_float4 __tg_sinpi(simd_float4 x) { - return _simd_sinpi_f4(x); -} -#else -static inline SIMD_CFUNC simd_float4 __tg_sinpi(simd_float4 x) { - return simd_make_float4(__sinpi(x.x), __sinpi(x.y), __sinpi(x.z), __sinpi(x.w)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_float8 _simd_sinpi_f8(simd_float8 x); -static inline SIMD_CFUNC simd_float8 __tg_sinpi(simd_float8 x) { - return _simd_sinpi_f8(x); -} -#else -static inline SIMD_CFUNC simd_float8 __tg_sinpi(simd_float8 x) { - return simd_make_float8(__tg_sinpi(x.lo), __tg_sinpi(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_float16 _simd_sinpi_f16(simd_float16 x); -static inline SIMD_CFUNC simd_float16 __tg_sinpi(simd_float16 x) { - return _simd_sinpi_f16(x); -} -#else -static inline SIMD_CFUNC simd_float16 __tg_sinpi(simd_float16 x) { - return simd_make_float16(__tg_sinpi(x.lo), __tg_sinpi(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_double2 _simd_sinpi_d2(simd_double2 x); -static inline SIMD_CFUNC simd_double2 __tg_sinpi(simd_double2 x) { - return _simd_sinpi_d2(x); -} -#else -static inline SIMD_CFUNC simd_double2 __tg_sinpi(simd_double2 x) { - return simd_make_double2(__sinpi(x.x), __sinpi(x.y)); -} -#endif - -static inline SIMD_CFUNC simd_double3 __tg_sinpi(simd_double3 x) { - return simd_make_double3(__tg_sinpi(simd_make_double4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_double4 _simd_sinpi_d4(simd_double4 x); -static inline SIMD_CFUNC simd_double4 __tg_sinpi(simd_double4 x) { - return _simd_sinpi_d4(x); -} -#else -static inline SIMD_CFUNC simd_double4 __tg_sinpi(simd_double4 x) { - return simd_make_double4(__tg_sinpi(x.lo), __tg_sinpi(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_double8 _simd_sinpi_d8(simd_double8 x); -static inline SIMD_CFUNC simd_double8 __tg_sinpi(simd_double8 x) { - return _simd_sinpi_d8(x); -} -#else -static inline SIMD_CFUNC simd_double8 __tg_sinpi(simd_double8 x) { - return simd_make_double8(__tg_sinpi(x.lo), __tg_sinpi(x.hi)); -} -#endif - -#endif /* SIMD_LIBRARY_VERSION */ -#pragma mark - tanpi implementation -#if SIMD_LIBRARY_VERSION >= 1 -static inline SIMD_CFUNC simd_float2 __tg_tanpi(simd_float2 x) { - return simd_make_float2(__tg_tanpi(simd_make_float4(x))); -} - -static inline SIMD_CFUNC simd_float3 __tg_tanpi(simd_float3 x) { - return simd_make_float3(__tg_tanpi(simd_make_float4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_float4 _simd_tanpi_f4(simd_float4 x); -static inline SIMD_CFUNC simd_float4 __tg_tanpi(simd_float4 x) { - return _simd_tanpi_f4(x); -} -#else -static inline SIMD_CFUNC simd_float4 __tg_tanpi(simd_float4 x) { - return simd_make_float4(__tanpi(x.x), __tanpi(x.y), __tanpi(x.z), __tanpi(x.w)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_float8 _simd_tanpi_f8(simd_float8 x); -static inline SIMD_CFUNC simd_float8 __tg_tanpi(simd_float8 x) { - return _simd_tanpi_f8(x); -} -#else -static inline SIMD_CFUNC simd_float8 __tg_tanpi(simd_float8 x) { - return simd_make_float8(__tg_tanpi(x.lo), __tg_tanpi(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_float16 _simd_tanpi_f16(simd_float16 x); -static inline SIMD_CFUNC simd_float16 __tg_tanpi(simd_float16 x) { - return _simd_tanpi_f16(x); -} -#else -static inline SIMD_CFUNC simd_float16 __tg_tanpi(simd_float16 x) { - return simd_make_float16(__tg_tanpi(x.lo), __tg_tanpi(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_double2 _simd_tanpi_d2(simd_double2 x); -static inline SIMD_CFUNC simd_double2 __tg_tanpi(simd_double2 x) { - return _simd_tanpi_d2(x); -} -#else -static inline SIMD_CFUNC simd_double2 __tg_tanpi(simd_double2 x) { - return simd_make_double2(__tanpi(x.x), __tanpi(x.y)); -} -#endif - -static inline SIMD_CFUNC simd_double3 __tg_tanpi(simd_double3 x) { - return simd_make_double3(__tg_tanpi(simd_make_double4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_double4 _simd_tanpi_d4(simd_double4 x); -static inline SIMD_CFUNC simd_double4 __tg_tanpi(simd_double4 x) { - return _simd_tanpi_d4(x); -} -#else -static inline SIMD_CFUNC simd_double4 __tg_tanpi(simd_double4 x) { - return simd_make_double4(__tg_tanpi(x.lo), __tg_tanpi(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_double8 _simd_tanpi_d8(simd_double8 x); -static inline SIMD_CFUNC simd_double8 __tg_tanpi(simd_double8 x) { - return _simd_tanpi_d8(x); -} -#else -static inline SIMD_CFUNC simd_double8 __tg_tanpi(simd_double8 x) { - return simd_make_double8(__tg_tanpi(x.lo), __tg_tanpi(x.hi)); -} -#endif - -#endif /* SIMD_LIBRARY_VERSION */ -#pragma mark - acosh implementation -static inline SIMD_CFUNC simd_float2 __tg_acosh(simd_float2 x) { - return simd_make_float2(__tg_acosh(simd_make_float4(x))); -} - -static inline SIMD_CFUNC simd_float3 __tg_acosh(simd_float3 x) { - return simd_make_float3(__tg_acosh(simd_make_float4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_float4 _simd_acosh_f4(simd_float4 x); -static inline SIMD_CFUNC simd_float4 __tg_acosh(simd_float4 x) { - return _simd_acosh_f4(x); -} -#else -static inline SIMD_CFUNC simd_float4 __tg_acosh(simd_float4 x) { - return simd_make_float4(acosh(x.x), acosh(x.y), acosh(x.z), acosh(x.w)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_float8 _simd_acosh_f8(simd_float8 x); -static inline SIMD_CFUNC simd_float8 __tg_acosh(simd_float8 x) { - return _simd_acosh_f8(x); -} -#else -static inline SIMD_CFUNC simd_float8 __tg_acosh(simd_float8 x) { - return simd_make_float8(__tg_acosh(x.lo), __tg_acosh(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_float16 _simd_acosh_f16(simd_float16 x); -static inline SIMD_CFUNC simd_float16 __tg_acosh(simd_float16 x) { - return _simd_acosh_f16(x); -} -#else -static inline SIMD_CFUNC simd_float16 __tg_acosh(simd_float16 x) { - return simd_make_float16(__tg_acosh(x.lo), __tg_acosh(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_double2 _simd_acosh_d2(simd_double2 x); -static inline SIMD_CFUNC simd_double2 __tg_acosh(simd_double2 x) { - return _simd_acosh_d2(x); -} -#else -static inline SIMD_CFUNC simd_double2 __tg_acosh(simd_double2 x) { - return simd_make_double2(acosh(x.x), acosh(x.y)); -} -#endif - -static inline SIMD_CFUNC simd_double3 __tg_acosh(simd_double3 x) { - return simd_make_double3(__tg_acosh(simd_make_double4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_double4 _simd_acosh_d4(simd_double4 x); -static inline SIMD_CFUNC simd_double4 __tg_acosh(simd_double4 x) { - return _simd_acosh_d4(x); -} -#else -static inline SIMD_CFUNC simd_double4 __tg_acosh(simd_double4 x) { - return simd_make_double4(__tg_acosh(x.lo), __tg_acosh(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_double8 _simd_acosh_d8(simd_double8 x); -static inline SIMD_CFUNC simd_double8 __tg_acosh(simd_double8 x) { - return _simd_acosh_d8(x); -} -#else -static inline SIMD_CFUNC simd_double8 __tg_acosh(simd_double8 x) { - return simd_make_double8(__tg_acosh(x.lo), __tg_acosh(x.hi)); -} -#endif - -#pragma mark - asinh implementation -static inline SIMD_CFUNC simd_float2 __tg_asinh(simd_float2 x) { - return simd_make_float2(__tg_asinh(simd_make_float4(x))); -} - -static inline SIMD_CFUNC simd_float3 __tg_asinh(simd_float3 x) { - return simd_make_float3(__tg_asinh(simd_make_float4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_float4 _simd_asinh_f4(simd_float4 x); -static inline SIMD_CFUNC simd_float4 __tg_asinh(simd_float4 x) { - return _simd_asinh_f4(x); -} -#else -static inline SIMD_CFUNC simd_float4 __tg_asinh(simd_float4 x) { - return simd_make_float4(asinh(x.x), asinh(x.y), asinh(x.z), asinh(x.w)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_float8 _simd_asinh_f8(simd_float8 x); -static inline SIMD_CFUNC simd_float8 __tg_asinh(simd_float8 x) { - return _simd_asinh_f8(x); -} -#else -static inline SIMD_CFUNC simd_float8 __tg_asinh(simd_float8 x) { - return simd_make_float8(__tg_asinh(x.lo), __tg_asinh(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_float16 _simd_asinh_f16(simd_float16 x); -static inline SIMD_CFUNC simd_float16 __tg_asinh(simd_float16 x) { - return _simd_asinh_f16(x); -} -#else -static inline SIMD_CFUNC simd_float16 __tg_asinh(simd_float16 x) { - return simd_make_float16(__tg_asinh(x.lo), __tg_asinh(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_double2 _simd_asinh_d2(simd_double2 x); -static inline SIMD_CFUNC simd_double2 __tg_asinh(simd_double2 x) { - return _simd_asinh_d2(x); -} -#else -static inline SIMD_CFUNC simd_double2 __tg_asinh(simd_double2 x) { - return simd_make_double2(asinh(x.x), asinh(x.y)); -} -#endif - -static inline SIMD_CFUNC simd_double3 __tg_asinh(simd_double3 x) { - return simd_make_double3(__tg_asinh(simd_make_double4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_double4 _simd_asinh_d4(simd_double4 x); -static inline SIMD_CFUNC simd_double4 __tg_asinh(simd_double4 x) { - return _simd_asinh_d4(x); -} -#else -static inline SIMD_CFUNC simd_double4 __tg_asinh(simd_double4 x) { - return simd_make_double4(__tg_asinh(x.lo), __tg_asinh(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_double8 _simd_asinh_d8(simd_double8 x); -static inline SIMD_CFUNC simd_double8 __tg_asinh(simd_double8 x) { - return _simd_asinh_d8(x); -} -#else -static inline SIMD_CFUNC simd_double8 __tg_asinh(simd_double8 x) { - return simd_make_double8(__tg_asinh(x.lo), __tg_asinh(x.hi)); -} -#endif - -#pragma mark - atanh implementation -static inline SIMD_CFUNC simd_float2 __tg_atanh(simd_float2 x) { - return simd_make_float2(__tg_atanh(simd_make_float4(x))); -} - -static inline SIMD_CFUNC simd_float3 __tg_atanh(simd_float3 x) { - return simd_make_float3(__tg_atanh(simd_make_float4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_float4 _simd_atanh_f4(simd_float4 x); -static inline SIMD_CFUNC simd_float4 __tg_atanh(simd_float4 x) { - return _simd_atanh_f4(x); -} -#else -static inline SIMD_CFUNC simd_float4 __tg_atanh(simd_float4 x) { - return simd_make_float4(atanh(x.x), atanh(x.y), atanh(x.z), atanh(x.w)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_float8 _simd_atanh_f8(simd_float8 x); -static inline SIMD_CFUNC simd_float8 __tg_atanh(simd_float8 x) { - return _simd_atanh_f8(x); -} -#else -static inline SIMD_CFUNC simd_float8 __tg_atanh(simd_float8 x) { - return simd_make_float8(__tg_atanh(x.lo), __tg_atanh(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_float16 _simd_atanh_f16(simd_float16 x); -static inline SIMD_CFUNC simd_float16 __tg_atanh(simd_float16 x) { - return _simd_atanh_f16(x); -} -#else -static inline SIMD_CFUNC simd_float16 __tg_atanh(simd_float16 x) { - return simd_make_float16(__tg_atanh(x.lo), __tg_atanh(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_double2 _simd_atanh_d2(simd_double2 x); -static inline SIMD_CFUNC simd_double2 __tg_atanh(simd_double2 x) { - return _simd_atanh_d2(x); -} -#else -static inline SIMD_CFUNC simd_double2 __tg_atanh(simd_double2 x) { - return simd_make_double2(atanh(x.x), atanh(x.y)); -} -#endif - -static inline SIMD_CFUNC simd_double3 __tg_atanh(simd_double3 x) { - return simd_make_double3(__tg_atanh(simd_make_double4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_double4 _simd_atanh_d4(simd_double4 x); -static inline SIMD_CFUNC simd_double4 __tg_atanh(simd_double4 x) { - return _simd_atanh_d4(x); -} -#else -static inline SIMD_CFUNC simd_double4 __tg_atanh(simd_double4 x) { - return simd_make_double4(__tg_atanh(x.lo), __tg_atanh(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_double8 _simd_atanh_d8(simd_double8 x); -static inline SIMD_CFUNC simd_double8 __tg_atanh(simd_double8 x) { - return _simd_atanh_d8(x); -} -#else -static inline SIMD_CFUNC simd_double8 __tg_atanh(simd_double8 x) { - return simd_make_double8(__tg_atanh(x.lo), __tg_atanh(x.hi)); -} -#endif - -#pragma mark - cosh implementation -static inline SIMD_CFUNC simd_float2 __tg_cosh(simd_float2 x) { - return simd_make_float2(__tg_cosh(simd_make_float4(x))); -} - -static inline SIMD_CFUNC simd_float3 __tg_cosh(simd_float3 x) { - return simd_make_float3(__tg_cosh(simd_make_float4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_float4 _simd_cosh_f4(simd_float4 x); -static inline SIMD_CFUNC simd_float4 __tg_cosh(simd_float4 x) { - return _simd_cosh_f4(x); -} -#else -static inline SIMD_CFUNC simd_float4 __tg_cosh(simd_float4 x) { - return simd_make_float4(cosh(x.x), cosh(x.y), cosh(x.z), cosh(x.w)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_float8 _simd_cosh_f8(simd_float8 x); -static inline SIMD_CFUNC simd_float8 __tg_cosh(simd_float8 x) { - return _simd_cosh_f8(x); -} -#else -static inline SIMD_CFUNC simd_float8 __tg_cosh(simd_float8 x) { - return simd_make_float8(__tg_cosh(x.lo), __tg_cosh(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_float16 _simd_cosh_f16(simd_float16 x); -static inline SIMD_CFUNC simd_float16 __tg_cosh(simd_float16 x) { - return _simd_cosh_f16(x); -} -#else -static inline SIMD_CFUNC simd_float16 __tg_cosh(simd_float16 x) { - return simd_make_float16(__tg_cosh(x.lo), __tg_cosh(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_double2 _simd_cosh_d2(simd_double2 x); -static inline SIMD_CFUNC simd_double2 __tg_cosh(simd_double2 x) { - return _simd_cosh_d2(x); -} -#else -static inline SIMD_CFUNC simd_double2 __tg_cosh(simd_double2 x) { - return simd_make_double2(cosh(x.x), cosh(x.y)); -} -#endif - -static inline SIMD_CFUNC simd_double3 __tg_cosh(simd_double3 x) { - return simd_make_double3(__tg_cosh(simd_make_double4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_double4 _simd_cosh_d4(simd_double4 x); -static inline SIMD_CFUNC simd_double4 __tg_cosh(simd_double4 x) { - return _simd_cosh_d4(x); -} -#else -static inline SIMD_CFUNC simd_double4 __tg_cosh(simd_double4 x) { - return simd_make_double4(__tg_cosh(x.lo), __tg_cosh(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_double8 _simd_cosh_d8(simd_double8 x); -static inline SIMD_CFUNC simd_double8 __tg_cosh(simd_double8 x) { - return _simd_cosh_d8(x); -} -#else -static inline SIMD_CFUNC simd_double8 __tg_cosh(simd_double8 x) { - return simd_make_double8(__tg_cosh(x.lo), __tg_cosh(x.hi)); -} -#endif - -#pragma mark - sinh implementation -static inline SIMD_CFUNC simd_float2 __tg_sinh(simd_float2 x) { - return simd_make_float2(__tg_sinh(simd_make_float4(x))); -} - -static inline SIMD_CFUNC simd_float3 __tg_sinh(simd_float3 x) { - return simd_make_float3(__tg_sinh(simd_make_float4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_float4 _simd_sinh_f4(simd_float4 x); -static inline SIMD_CFUNC simd_float4 __tg_sinh(simd_float4 x) { - return _simd_sinh_f4(x); -} -#else -static inline SIMD_CFUNC simd_float4 __tg_sinh(simd_float4 x) { - return simd_make_float4(sinh(x.x), sinh(x.y), sinh(x.z), sinh(x.w)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_float8 _simd_sinh_f8(simd_float8 x); -static inline SIMD_CFUNC simd_float8 __tg_sinh(simd_float8 x) { - return _simd_sinh_f8(x); -} -#else -static inline SIMD_CFUNC simd_float8 __tg_sinh(simd_float8 x) { - return simd_make_float8(__tg_sinh(x.lo), __tg_sinh(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_float16 _simd_sinh_f16(simd_float16 x); -static inline SIMD_CFUNC simd_float16 __tg_sinh(simd_float16 x) { - return _simd_sinh_f16(x); -} -#else -static inline SIMD_CFUNC simd_float16 __tg_sinh(simd_float16 x) { - return simd_make_float16(__tg_sinh(x.lo), __tg_sinh(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_double2 _simd_sinh_d2(simd_double2 x); -static inline SIMD_CFUNC simd_double2 __tg_sinh(simd_double2 x) { - return _simd_sinh_d2(x); -} -#else -static inline SIMD_CFUNC simd_double2 __tg_sinh(simd_double2 x) { - return simd_make_double2(sinh(x.x), sinh(x.y)); -} -#endif - -static inline SIMD_CFUNC simd_double3 __tg_sinh(simd_double3 x) { - return simd_make_double3(__tg_sinh(simd_make_double4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_double4 _simd_sinh_d4(simd_double4 x); -static inline SIMD_CFUNC simd_double4 __tg_sinh(simd_double4 x) { - return _simd_sinh_d4(x); -} -#else -static inline SIMD_CFUNC simd_double4 __tg_sinh(simd_double4 x) { - return simd_make_double4(__tg_sinh(x.lo), __tg_sinh(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_double8 _simd_sinh_d8(simd_double8 x); -static inline SIMD_CFUNC simd_double8 __tg_sinh(simd_double8 x) { - return _simd_sinh_d8(x); -} -#else -static inline SIMD_CFUNC simd_double8 __tg_sinh(simd_double8 x) { - return simd_make_double8(__tg_sinh(x.lo), __tg_sinh(x.hi)); -} -#endif - -#pragma mark - tanh implementation -static inline SIMD_CFUNC simd_float2 __tg_tanh(simd_float2 x) { - return simd_make_float2(__tg_tanh(simd_make_float4(x))); -} - -static inline SIMD_CFUNC simd_float3 __tg_tanh(simd_float3 x) { - return simd_make_float3(__tg_tanh(simd_make_float4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_float4 _simd_tanh_f4(simd_float4 x); -static inline SIMD_CFUNC simd_float4 __tg_tanh(simd_float4 x) { - return _simd_tanh_f4(x); -} -#else -static inline SIMD_CFUNC simd_float4 __tg_tanh(simd_float4 x) { - return simd_make_float4(tanh(x.x), tanh(x.y), tanh(x.z), tanh(x.w)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_float8 _simd_tanh_f8(simd_float8 x); -static inline SIMD_CFUNC simd_float8 __tg_tanh(simd_float8 x) { - return _simd_tanh_f8(x); -} -#else -static inline SIMD_CFUNC simd_float8 __tg_tanh(simd_float8 x) { - return simd_make_float8(__tg_tanh(x.lo), __tg_tanh(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_float16 _simd_tanh_f16(simd_float16 x); -static inline SIMD_CFUNC simd_float16 __tg_tanh(simd_float16 x) { - return _simd_tanh_f16(x); -} -#else -static inline SIMD_CFUNC simd_float16 __tg_tanh(simd_float16 x) { - return simd_make_float16(__tg_tanh(x.lo), __tg_tanh(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_double2 _simd_tanh_d2(simd_double2 x); -static inline SIMD_CFUNC simd_double2 __tg_tanh(simd_double2 x) { - return _simd_tanh_d2(x); -} -#else -static inline SIMD_CFUNC simd_double2 __tg_tanh(simd_double2 x) { - return simd_make_double2(tanh(x.x), tanh(x.y)); -} -#endif - -static inline SIMD_CFUNC simd_double3 __tg_tanh(simd_double3 x) { - return simd_make_double3(__tg_tanh(simd_make_double4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_double4 _simd_tanh_d4(simd_double4 x); -static inline SIMD_CFUNC simd_double4 __tg_tanh(simd_double4 x) { - return _simd_tanh_d4(x); -} -#else -static inline SIMD_CFUNC simd_double4 __tg_tanh(simd_double4 x) { - return simd_make_double4(__tg_tanh(x.lo), __tg_tanh(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_double8 _simd_tanh_d8(simd_double8 x); -static inline SIMD_CFUNC simd_double8 __tg_tanh(simd_double8 x) { - return _simd_tanh_d8(x); -} -#else -static inline SIMD_CFUNC simd_double8 __tg_tanh(simd_double8 x) { - return simd_make_double8(__tg_tanh(x.lo), __tg_tanh(x.hi)); -} -#endif - -#pragma mark - exp implementation -static inline SIMD_CFUNC simd_float2 __tg_exp(simd_float2 x) { - return simd_make_float2(__tg_exp(simd_make_float4(x))); -} - -static inline SIMD_CFUNC simd_float3 __tg_exp(simd_float3 x) { - return simd_make_float3(__tg_exp(simd_make_float4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_float4 _simd_exp_f4(simd_float4 x); -static inline SIMD_CFUNC simd_float4 __tg_exp(simd_float4 x) { - return _simd_exp_f4(x); -} -#else -static inline SIMD_CFUNC simd_float4 __tg_exp(simd_float4 x) { - return simd_make_float4(exp(x.x), exp(x.y), exp(x.z), exp(x.w)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_float8 _simd_exp_f8(simd_float8 x); -static inline SIMD_CFUNC simd_float8 __tg_exp(simd_float8 x) { - return _simd_exp_f8(x); -} -#else -static inline SIMD_CFUNC simd_float8 __tg_exp(simd_float8 x) { - return simd_make_float8(__tg_exp(x.lo), __tg_exp(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_float16 _simd_exp_f16(simd_float16 x); -static inline SIMD_CFUNC simd_float16 __tg_exp(simd_float16 x) { - return _simd_exp_f16(x); -} -#else -static inline SIMD_CFUNC simd_float16 __tg_exp(simd_float16 x) { - return simd_make_float16(__tg_exp(x.lo), __tg_exp(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_double2 _simd_exp_d2(simd_double2 x); -static inline SIMD_CFUNC simd_double2 __tg_exp(simd_double2 x) { - return _simd_exp_d2(x); -} -#else -static inline SIMD_CFUNC simd_double2 __tg_exp(simd_double2 x) { - return simd_make_double2(exp(x.x), exp(x.y)); -} -#endif - -static inline SIMD_CFUNC simd_double3 __tg_exp(simd_double3 x) { - return simd_make_double3(__tg_exp(simd_make_double4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_double4 _simd_exp_d4(simd_double4 x); -static inline SIMD_CFUNC simd_double4 __tg_exp(simd_double4 x) { - return _simd_exp_d4(x); -} -#else -static inline SIMD_CFUNC simd_double4 __tg_exp(simd_double4 x) { - return simd_make_double4(__tg_exp(x.lo), __tg_exp(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_double8 _simd_exp_d8(simd_double8 x); -static inline SIMD_CFUNC simd_double8 __tg_exp(simd_double8 x) { - return _simd_exp_d8(x); -} -#else -static inline SIMD_CFUNC simd_double8 __tg_exp(simd_double8 x) { - return simd_make_double8(__tg_exp(x.lo), __tg_exp(x.hi)); -} -#endif - -#pragma mark - exp2 implementation -static inline SIMD_CFUNC simd_float2 __tg_exp2(simd_float2 x) { - return simd_make_float2(__tg_exp2(simd_make_float4(x))); -} - -static inline SIMD_CFUNC simd_float3 __tg_exp2(simd_float3 x) { - return simd_make_float3(__tg_exp2(simd_make_float4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_float4 _simd_exp2_f4(simd_float4 x); -static inline SIMD_CFUNC simd_float4 __tg_exp2(simd_float4 x) { - return _simd_exp2_f4(x); -} -#else -static inline SIMD_CFUNC simd_float4 __tg_exp2(simd_float4 x) { - return simd_make_float4(exp2(x.x), exp2(x.y), exp2(x.z), exp2(x.w)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_float8 _simd_exp2_f8(simd_float8 x); -static inline SIMD_CFUNC simd_float8 __tg_exp2(simd_float8 x) { - return _simd_exp2_f8(x); -} -#else -static inline SIMD_CFUNC simd_float8 __tg_exp2(simd_float8 x) { - return simd_make_float8(__tg_exp2(x.lo), __tg_exp2(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_float16 _simd_exp2_f16(simd_float16 x); -static inline SIMD_CFUNC simd_float16 __tg_exp2(simd_float16 x) { - return _simd_exp2_f16(x); -} -#else -static inline SIMD_CFUNC simd_float16 __tg_exp2(simd_float16 x) { - return simd_make_float16(__tg_exp2(x.lo), __tg_exp2(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_double2 _simd_exp2_d2(simd_double2 x); -static inline SIMD_CFUNC simd_double2 __tg_exp2(simd_double2 x) { - return _simd_exp2_d2(x); -} -#else -static inline SIMD_CFUNC simd_double2 __tg_exp2(simd_double2 x) { - return simd_make_double2(exp2(x.x), exp2(x.y)); -} -#endif - -static inline SIMD_CFUNC simd_double3 __tg_exp2(simd_double3 x) { - return simd_make_double3(__tg_exp2(simd_make_double4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_double4 _simd_exp2_d4(simd_double4 x); -static inline SIMD_CFUNC simd_double4 __tg_exp2(simd_double4 x) { - return _simd_exp2_d4(x); -} -#else -static inline SIMD_CFUNC simd_double4 __tg_exp2(simd_double4 x) { - return simd_make_double4(__tg_exp2(x.lo), __tg_exp2(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_double8 _simd_exp2_d8(simd_double8 x); -static inline SIMD_CFUNC simd_double8 __tg_exp2(simd_double8 x) { - return _simd_exp2_d8(x); -} -#else -static inline SIMD_CFUNC simd_double8 __tg_exp2(simd_double8 x) { - return simd_make_double8(__tg_exp2(x.lo), __tg_exp2(x.hi)); -} -#endif - -#pragma mark - exp10 implementation -#if SIMD_LIBRARY_VERSION >= 1 -static inline SIMD_CFUNC simd_float2 __tg_exp10(simd_float2 x) { - return simd_make_float2(__tg_exp10(simd_make_float4(x))); -} - -static inline SIMD_CFUNC simd_float3 __tg_exp10(simd_float3 x) { - return simd_make_float3(__tg_exp10(simd_make_float4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_float4 _simd_exp10_f4(simd_float4 x); -static inline SIMD_CFUNC simd_float4 __tg_exp10(simd_float4 x) { - return _simd_exp10_f4(x); -} -#else -static inline SIMD_CFUNC simd_float4 __tg_exp10(simd_float4 x) { - return simd_make_float4(__exp10(x.x), __exp10(x.y), __exp10(x.z), __exp10(x.w)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_float8 _simd_exp10_f8(simd_float8 x); -static inline SIMD_CFUNC simd_float8 __tg_exp10(simd_float8 x) { - return _simd_exp10_f8(x); -} -#else -static inline SIMD_CFUNC simd_float8 __tg_exp10(simd_float8 x) { - return simd_make_float8(__tg_exp10(x.lo), __tg_exp10(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_float16 _simd_exp10_f16(simd_float16 x); -static inline SIMD_CFUNC simd_float16 __tg_exp10(simd_float16 x) { - return _simd_exp10_f16(x); -} -#else -static inline SIMD_CFUNC simd_float16 __tg_exp10(simd_float16 x) { - return simd_make_float16(__tg_exp10(x.lo), __tg_exp10(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_double2 _simd_exp10_d2(simd_double2 x); -static inline SIMD_CFUNC simd_double2 __tg_exp10(simd_double2 x) { - return _simd_exp10_d2(x); -} -#else -static inline SIMD_CFUNC simd_double2 __tg_exp10(simd_double2 x) { - return simd_make_double2(__exp10(x.x), __exp10(x.y)); -} -#endif - -static inline SIMD_CFUNC simd_double3 __tg_exp10(simd_double3 x) { - return simd_make_double3(__tg_exp10(simd_make_double4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_double4 _simd_exp10_d4(simd_double4 x); -static inline SIMD_CFUNC simd_double4 __tg_exp10(simd_double4 x) { - return _simd_exp10_d4(x); -} -#else -static inline SIMD_CFUNC simd_double4 __tg_exp10(simd_double4 x) { - return simd_make_double4(__tg_exp10(x.lo), __tg_exp10(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_double8 _simd_exp10_d8(simd_double8 x); -static inline SIMD_CFUNC simd_double8 __tg_exp10(simd_double8 x) { - return _simd_exp10_d8(x); -} -#else -static inline SIMD_CFUNC simd_double8 __tg_exp10(simd_double8 x) { - return simd_make_double8(__tg_exp10(x.lo), __tg_exp10(x.hi)); -} -#endif - -#endif /* SIMD_LIBRARY_VERSION */ -#pragma mark - expm1 implementation -static inline SIMD_CFUNC simd_float2 __tg_expm1(simd_float2 x) { - return simd_make_float2(__tg_expm1(simd_make_float4(x))); -} - -static inline SIMD_CFUNC simd_float3 __tg_expm1(simd_float3 x) { - return simd_make_float3(__tg_expm1(simd_make_float4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_float4 _simd_expm1_f4(simd_float4 x); -static inline SIMD_CFUNC simd_float4 __tg_expm1(simd_float4 x) { - return _simd_expm1_f4(x); -} -#else -static inline SIMD_CFUNC simd_float4 __tg_expm1(simd_float4 x) { - return simd_make_float4(expm1(x.x), expm1(x.y), expm1(x.z), expm1(x.w)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_float8 _simd_expm1_f8(simd_float8 x); -static inline SIMD_CFUNC simd_float8 __tg_expm1(simd_float8 x) { - return _simd_expm1_f8(x); -} -#else -static inline SIMD_CFUNC simd_float8 __tg_expm1(simd_float8 x) { - return simd_make_float8(__tg_expm1(x.lo), __tg_expm1(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_float16 _simd_expm1_f16(simd_float16 x); -static inline SIMD_CFUNC simd_float16 __tg_expm1(simd_float16 x) { - return _simd_expm1_f16(x); -} -#else -static inline SIMD_CFUNC simd_float16 __tg_expm1(simd_float16 x) { - return simd_make_float16(__tg_expm1(x.lo), __tg_expm1(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_double2 _simd_expm1_d2(simd_double2 x); -static inline SIMD_CFUNC simd_double2 __tg_expm1(simd_double2 x) { - return _simd_expm1_d2(x); -} -#else -static inline SIMD_CFUNC simd_double2 __tg_expm1(simd_double2 x) { - return simd_make_double2(expm1(x.x), expm1(x.y)); -} -#endif - -static inline SIMD_CFUNC simd_double3 __tg_expm1(simd_double3 x) { - return simd_make_double3(__tg_expm1(simd_make_double4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_double4 _simd_expm1_d4(simd_double4 x); -static inline SIMD_CFUNC simd_double4 __tg_expm1(simd_double4 x) { - return _simd_expm1_d4(x); -} -#else -static inline SIMD_CFUNC simd_double4 __tg_expm1(simd_double4 x) { - return simd_make_double4(__tg_expm1(x.lo), __tg_expm1(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_double8 _simd_expm1_d8(simd_double8 x); -static inline SIMD_CFUNC simd_double8 __tg_expm1(simd_double8 x) { - return _simd_expm1_d8(x); -} -#else -static inline SIMD_CFUNC simd_double8 __tg_expm1(simd_double8 x) { - return simd_make_double8(__tg_expm1(x.lo), __tg_expm1(x.hi)); -} -#endif - -#pragma mark - log implementation -static inline SIMD_CFUNC simd_float2 __tg_log(simd_float2 x) { - return simd_make_float2(__tg_log(simd_make_float4(x))); -} - -static inline SIMD_CFUNC simd_float3 __tg_log(simd_float3 x) { - return simd_make_float3(__tg_log(simd_make_float4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_float4 _simd_log_f4(simd_float4 x); -static inline SIMD_CFUNC simd_float4 __tg_log(simd_float4 x) { - return _simd_log_f4(x); -} -#else -static inline SIMD_CFUNC simd_float4 __tg_log(simd_float4 x) { - return simd_make_float4(log(x.x), log(x.y), log(x.z), log(x.w)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_float8 _simd_log_f8(simd_float8 x); -static inline SIMD_CFUNC simd_float8 __tg_log(simd_float8 x) { - return _simd_log_f8(x); -} -#else -static inline SIMD_CFUNC simd_float8 __tg_log(simd_float8 x) { - return simd_make_float8(__tg_log(x.lo), __tg_log(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_float16 _simd_log_f16(simd_float16 x); -static inline SIMD_CFUNC simd_float16 __tg_log(simd_float16 x) { - return _simd_log_f16(x); -} -#else -static inline SIMD_CFUNC simd_float16 __tg_log(simd_float16 x) { - return simd_make_float16(__tg_log(x.lo), __tg_log(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_double2 _simd_log_d2(simd_double2 x); -static inline SIMD_CFUNC simd_double2 __tg_log(simd_double2 x) { - return _simd_log_d2(x); -} -#else -static inline SIMD_CFUNC simd_double2 __tg_log(simd_double2 x) { - return simd_make_double2(log(x.x), log(x.y)); -} -#endif - -static inline SIMD_CFUNC simd_double3 __tg_log(simd_double3 x) { - return simd_make_double3(__tg_log(simd_make_double4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_double4 _simd_log_d4(simd_double4 x); -static inline SIMD_CFUNC simd_double4 __tg_log(simd_double4 x) { - return _simd_log_d4(x); -} -#else -static inline SIMD_CFUNC simd_double4 __tg_log(simd_double4 x) { - return simd_make_double4(__tg_log(x.lo), __tg_log(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_double8 _simd_log_d8(simd_double8 x); -static inline SIMD_CFUNC simd_double8 __tg_log(simd_double8 x) { - return _simd_log_d8(x); -} -#else -static inline SIMD_CFUNC simd_double8 __tg_log(simd_double8 x) { - return simd_make_double8(__tg_log(x.lo), __tg_log(x.hi)); -} -#endif - -#pragma mark - log2 implementation -static inline SIMD_CFUNC simd_float2 __tg_log2(simd_float2 x) { - return simd_make_float2(__tg_log2(simd_make_float4(x))); -} - -static inline SIMD_CFUNC simd_float3 __tg_log2(simd_float3 x) { - return simd_make_float3(__tg_log2(simd_make_float4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_float4 _simd_log2_f4(simd_float4 x); -static inline SIMD_CFUNC simd_float4 __tg_log2(simd_float4 x) { - return _simd_log2_f4(x); -} -#else -static inline SIMD_CFUNC simd_float4 __tg_log2(simd_float4 x) { - return simd_make_float4(log2(x.x), log2(x.y), log2(x.z), log2(x.w)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_float8 _simd_log2_f8(simd_float8 x); -static inline SIMD_CFUNC simd_float8 __tg_log2(simd_float8 x) { - return _simd_log2_f8(x); -} -#else -static inline SIMD_CFUNC simd_float8 __tg_log2(simd_float8 x) { - return simd_make_float8(__tg_log2(x.lo), __tg_log2(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_float16 _simd_log2_f16(simd_float16 x); -static inline SIMD_CFUNC simd_float16 __tg_log2(simd_float16 x) { - return _simd_log2_f16(x); -} -#else -static inline SIMD_CFUNC simd_float16 __tg_log2(simd_float16 x) { - return simd_make_float16(__tg_log2(x.lo), __tg_log2(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_double2 _simd_log2_d2(simd_double2 x); -static inline SIMD_CFUNC simd_double2 __tg_log2(simd_double2 x) { - return _simd_log2_d2(x); -} -#else -static inline SIMD_CFUNC simd_double2 __tg_log2(simd_double2 x) { - return simd_make_double2(log2(x.x), log2(x.y)); -} -#endif - -static inline SIMD_CFUNC simd_double3 __tg_log2(simd_double3 x) { - return simd_make_double3(__tg_log2(simd_make_double4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_double4 _simd_log2_d4(simd_double4 x); -static inline SIMD_CFUNC simd_double4 __tg_log2(simd_double4 x) { - return _simd_log2_d4(x); -} -#else -static inline SIMD_CFUNC simd_double4 __tg_log2(simd_double4 x) { - return simd_make_double4(__tg_log2(x.lo), __tg_log2(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_double8 _simd_log2_d8(simd_double8 x); -static inline SIMD_CFUNC simd_double8 __tg_log2(simd_double8 x) { - return _simd_log2_d8(x); -} -#else -static inline SIMD_CFUNC simd_double8 __tg_log2(simd_double8 x) { - return simd_make_double8(__tg_log2(x.lo), __tg_log2(x.hi)); -} -#endif - -#pragma mark - log10 implementation -static inline SIMD_CFUNC simd_float2 __tg_log10(simd_float2 x) { - return simd_make_float2(__tg_log10(simd_make_float4(x))); -} - -static inline SIMD_CFUNC simd_float3 __tg_log10(simd_float3 x) { - return simd_make_float3(__tg_log10(simd_make_float4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_float4 _simd_log10_f4(simd_float4 x); -static inline SIMD_CFUNC simd_float4 __tg_log10(simd_float4 x) { - return _simd_log10_f4(x); -} -#else -static inline SIMD_CFUNC simd_float4 __tg_log10(simd_float4 x) { - return simd_make_float4(log10(x.x), log10(x.y), log10(x.z), log10(x.w)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_float8 _simd_log10_f8(simd_float8 x); -static inline SIMD_CFUNC simd_float8 __tg_log10(simd_float8 x) { - return _simd_log10_f8(x); -} -#else -static inline SIMD_CFUNC simd_float8 __tg_log10(simd_float8 x) { - return simd_make_float8(__tg_log10(x.lo), __tg_log10(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_float16 _simd_log10_f16(simd_float16 x); -static inline SIMD_CFUNC simd_float16 __tg_log10(simd_float16 x) { - return _simd_log10_f16(x); -} -#else -static inline SIMD_CFUNC simd_float16 __tg_log10(simd_float16 x) { - return simd_make_float16(__tg_log10(x.lo), __tg_log10(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_double2 _simd_log10_d2(simd_double2 x); -static inline SIMD_CFUNC simd_double2 __tg_log10(simd_double2 x) { - return _simd_log10_d2(x); -} -#else -static inline SIMD_CFUNC simd_double2 __tg_log10(simd_double2 x) { - return simd_make_double2(log10(x.x), log10(x.y)); -} -#endif - -static inline SIMD_CFUNC simd_double3 __tg_log10(simd_double3 x) { - return simd_make_double3(__tg_log10(simd_make_double4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_double4 _simd_log10_d4(simd_double4 x); -static inline SIMD_CFUNC simd_double4 __tg_log10(simd_double4 x) { - return _simd_log10_d4(x); -} -#else -static inline SIMD_CFUNC simd_double4 __tg_log10(simd_double4 x) { - return simd_make_double4(__tg_log10(x.lo), __tg_log10(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_double8 _simd_log10_d8(simd_double8 x); -static inline SIMD_CFUNC simd_double8 __tg_log10(simd_double8 x) { - return _simd_log10_d8(x); -} -#else -static inline SIMD_CFUNC simd_double8 __tg_log10(simd_double8 x) { - return simd_make_double8(__tg_log10(x.lo), __tg_log10(x.hi)); -} -#endif - -#pragma mark - log1p implementation -static inline SIMD_CFUNC simd_float2 __tg_log1p(simd_float2 x) { - return simd_make_float2(__tg_log1p(simd_make_float4(x))); -} - -static inline SIMD_CFUNC simd_float3 __tg_log1p(simd_float3 x) { - return simd_make_float3(__tg_log1p(simd_make_float4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_float4 _simd_log1p_f4(simd_float4 x); -static inline SIMD_CFUNC simd_float4 __tg_log1p(simd_float4 x) { - return _simd_log1p_f4(x); -} -#else -static inline SIMD_CFUNC simd_float4 __tg_log1p(simd_float4 x) { - return simd_make_float4(log1p(x.x), log1p(x.y), log1p(x.z), log1p(x.w)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_float8 _simd_log1p_f8(simd_float8 x); -static inline SIMD_CFUNC simd_float8 __tg_log1p(simd_float8 x) { - return _simd_log1p_f8(x); -} -#else -static inline SIMD_CFUNC simd_float8 __tg_log1p(simd_float8 x) { - return simd_make_float8(__tg_log1p(x.lo), __tg_log1p(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_float16 _simd_log1p_f16(simd_float16 x); -static inline SIMD_CFUNC simd_float16 __tg_log1p(simd_float16 x) { - return _simd_log1p_f16(x); -} -#else -static inline SIMD_CFUNC simd_float16 __tg_log1p(simd_float16 x) { - return simd_make_float16(__tg_log1p(x.lo), __tg_log1p(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_double2 _simd_log1p_d2(simd_double2 x); -static inline SIMD_CFUNC simd_double2 __tg_log1p(simd_double2 x) { - return _simd_log1p_d2(x); -} -#else -static inline SIMD_CFUNC simd_double2 __tg_log1p(simd_double2 x) { - return simd_make_double2(log1p(x.x), log1p(x.y)); -} -#endif - -static inline SIMD_CFUNC simd_double3 __tg_log1p(simd_double3 x) { - return simd_make_double3(__tg_log1p(simd_make_double4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_double4 _simd_log1p_d4(simd_double4 x); -static inline SIMD_CFUNC simd_double4 __tg_log1p(simd_double4 x) { - return _simd_log1p_d4(x); -} -#else -static inline SIMD_CFUNC simd_double4 __tg_log1p(simd_double4 x) { - return simd_make_double4(__tg_log1p(x.lo), __tg_log1p(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_double8 _simd_log1p_d8(simd_double8 x); -static inline SIMD_CFUNC simd_double8 __tg_log1p(simd_double8 x) { - return _simd_log1p_d8(x); -} -#else -static inline SIMD_CFUNC simd_double8 __tg_log1p(simd_double8 x) { - return simd_make_double8(__tg_log1p(x.lo), __tg_log1p(x.hi)); -} -#endif - -#pragma mark - cbrt implementation -static inline SIMD_CFUNC simd_float2 __tg_cbrt(simd_float2 x) { - return simd_make_float2(__tg_cbrt(simd_make_float4(x))); -} - -static inline SIMD_CFUNC simd_float3 __tg_cbrt(simd_float3 x) { - return simd_make_float3(__tg_cbrt(simd_make_float4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_float4 _simd_cbrt_f4(simd_float4 x); -static inline SIMD_CFUNC simd_float4 __tg_cbrt(simd_float4 x) { - return _simd_cbrt_f4(x); -} -#else -static inline SIMD_CFUNC simd_float4 __tg_cbrt(simd_float4 x) { - return simd_make_float4(cbrt(x.x), cbrt(x.y), cbrt(x.z), cbrt(x.w)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_float8 _simd_cbrt_f8(simd_float8 x); -static inline SIMD_CFUNC simd_float8 __tg_cbrt(simd_float8 x) { - return _simd_cbrt_f8(x); -} -#else -static inline SIMD_CFUNC simd_float8 __tg_cbrt(simd_float8 x) { - return simd_make_float8(__tg_cbrt(x.lo), __tg_cbrt(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_float16 _simd_cbrt_f16(simd_float16 x); -static inline SIMD_CFUNC simd_float16 __tg_cbrt(simd_float16 x) { - return _simd_cbrt_f16(x); -} -#else -static inline SIMD_CFUNC simd_float16 __tg_cbrt(simd_float16 x) { - return simd_make_float16(__tg_cbrt(x.lo), __tg_cbrt(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_double2 _simd_cbrt_d2(simd_double2 x); -static inline SIMD_CFUNC simd_double2 __tg_cbrt(simd_double2 x) { - return _simd_cbrt_d2(x); -} -#else -static inline SIMD_CFUNC simd_double2 __tg_cbrt(simd_double2 x) { - return simd_make_double2(cbrt(x.x), cbrt(x.y)); -} -#endif - -static inline SIMD_CFUNC simd_double3 __tg_cbrt(simd_double3 x) { - return simd_make_double3(__tg_cbrt(simd_make_double4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_double4 _simd_cbrt_d4(simd_double4 x); -static inline SIMD_CFUNC simd_double4 __tg_cbrt(simd_double4 x) { - return _simd_cbrt_d4(x); -} -#else -static inline SIMD_CFUNC simd_double4 __tg_cbrt(simd_double4 x) { - return simd_make_double4(__tg_cbrt(x.lo), __tg_cbrt(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_double8 _simd_cbrt_d8(simd_double8 x); -static inline SIMD_CFUNC simd_double8 __tg_cbrt(simd_double8 x) { - return _simd_cbrt_d8(x); -} -#else -static inline SIMD_CFUNC simd_double8 __tg_cbrt(simd_double8 x) { - return simd_make_double8(__tg_cbrt(x.lo), __tg_cbrt(x.hi)); -} -#endif - -#pragma mark - erf implementation -static inline SIMD_CFUNC simd_float2 __tg_erf(simd_float2 x) { - return simd_make_float2(__tg_erf(simd_make_float4(x))); -} - -static inline SIMD_CFUNC simd_float3 __tg_erf(simd_float3 x) { - return simd_make_float3(__tg_erf(simd_make_float4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_float4 _simd_erf_f4(simd_float4 x); -static inline SIMD_CFUNC simd_float4 __tg_erf(simd_float4 x) { - return _simd_erf_f4(x); -} -#else -static inline SIMD_CFUNC simd_float4 __tg_erf(simd_float4 x) { - return simd_make_float4(erf(x.x), erf(x.y), erf(x.z), erf(x.w)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_float8 _simd_erf_f8(simd_float8 x); -static inline SIMD_CFUNC simd_float8 __tg_erf(simd_float8 x) { - return _simd_erf_f8(x); -} -#else -static inline SIMD_CFUNC simd_float8 __tg_erf(simd_float8 x) { - return simd_make_float8(__tg_erf(x.lo), __tg_erf(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_float16 _simd_erf_f16(simd_float16 x); -static inline SIMD_CFUNC simd_float16 __tg_erf(simd_float16 x) { - return _simd_erf_f16(x); -} -#else -static inline SIMD_CFUNC simd_float16 __tg_erf(simd_float16 x) { - return simd_make_float16(__tg_erf(x.lo), __tg_erf(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_double2 _simd_erf_d2(simd_double2 x); -static inline SIMD_CFUNC simd_double2 __tg_erf(simd_double2 x) { - return _simd_erf_d2(x); -} -#else -static inline SIMD_CFUNC simd_double2 __tg_erf(simd_double2 x) { - return simd_make_double2(erf(x.x), erf(x.y)); -} -#endif - -static inline SIMD_CFUNC simd_double3 __tg_erf(simd_double3 x) { - return simd_make_double3(__tg_erf(simd_make_double4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_double4 _simd_erf_d4(simd_double4 x); -static inline SIMD_CFUNC simd_double4 __tg_erf(simd_double4 x) { - return _simd_erf_d4(x); -} -#else -static inline SIMD_CFUNC simd_double4 __tg_erf(simd_double4 x) { - return simd_make_double4(__tg_erf(x.lo), __tg_erf(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_double8 _simd_erf_d8(simd_double8 x); -static inline SIMD_CFUNC simd_double8 __tg_erf(simd_double8 x) { - return _simd_erf_d8(x); -} -#else -static inline SIMD_CFUNC simd_double8 __tg_erf(simd_double8 x) { - return simd_make_double8(__tg_erf(x.lo), __tg_erf(x.hi)); -} -#endif - -#pragma mark - erfc implementation -static inline SIMD_CFUNC simd_float2 __tg_erfc(simd_float2 x) { - return simd_make_float2(__tg_erfc(simd_make_float4(x))); -} - -static inline SIMD_CFUNC simd_float3 __tg_erfc(simd_float3 x) { - return simd_make_float3(__tg_erfc(simd_make_float4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_float4 _simd_erfc_f4(simd_float4 x); -static inline SIMD_CFUNC simd_float4 __tg_erfc(simd_float4 x) { - return _simd_erfc_f4(x); -} -#else -static inline SIMD_CFUNC simd_float4 __tg_erfc(simd_float4 x) { - return simd_make_float4(erfc(x.x), erfc(x.y), erfc(x.z), erfc(x.w)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_float8 _simd_erfc_f8(simd_float8 x); -static inline SIMD_CFUNC simd_float8 __tg_erfc(simd_float8 x) { - return _simd_erfc_f8(x); -} -#else -static inline SIMD_CFUNC simd_float8 __tg_erfc(simd_float8 x) { - return simd_make_float8(__tg_erfc(x.lo), __tg_erfc(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_float16 _simd_erfc_f16(simd_float16 x); -static inline SIMD_CFUNC simd_float16 __tg_erfc(simd_float16 x) { - return _simd_erfc_f16(x); -} -#else -static inline SIMD_CFUNC simd_float16 __tg_erfc(simd_float16 x) { - return simd_make_float16(__tg_erfc(x.lo), __tg_erfc(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_double2 _simd_erfc_d2(simd_double2 x); -static inline SIMD_CFUNC simd_double2 __tg_erfc(simd_double2 x) { - return _simd_erfc_d2(x); -} -#else -static inline SIMD_CFUNC simd_double2 __tg_erfc(simd_double2 x) { - return simd_make_double2(erfc(x.x), erfc(x.y)); -} -#endif - -static inline SIMD_CFUNC simd_double3 __tg_erfc(simd_double3 x) { - return simd_make_double3(__tg_erfc(simd_make_double4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_double4 _simd_erfc_d4(simd_double4 x); -static inline SIMD_CFUNC simd_double4 __tg_erfc(simd_double4 x) { - return _simd_erfc_d4(x); -} -#else -static inline SIMD_CFUNC simd_double4 __tg_erfc(simd_double4 x) { - return simd_make_double4(__tg_erfc(x.lo), __tg_erfc(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_double8 _simd_erfc_d8(simd_double8 x); -static inline SIMD_CFUNC simd_double8 __tg_erfc(simd_double8 x) { - return _simd_erfc_d8(x); -} -#else -static inline SIMD_CFUNC simd_double8 __tg_erfc(simd_double8 x) { - return simd_make_double8(__tg_erfc(x.lo), __tg_erfc(x.hi)); -} -#endif - -#pragma mark - tgamma implementation -static inline SIMD_CFUNC simd_float2 __tg_tgamma(simd_float2 x) { - return simd_make_float2(__tg_tgamma(simd_make_float4(x))); -} - -static inline SIMD_CFUNC simd_float3 __tg_tgamma(simd_float3 x) { - return simd_make_float3(__tg_tgamma(simd_make_float4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_float4 _simd_tgamma_f4(simd_float4 x); -static inline SIMD_CFUNC simd_float4 __tg_tgamma(simd_float4 x) { - return _simd_tgamma_f4(x); -} -#else -static inline SIMD_CFUNC simd_float4 __tg_tgamma(simd_float4 x) { - return simd_make_float4(tgamma(x.x), tgamma(x.y), tgamma(x.z), tgamma(x.w)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_float8 _simd_tgamma_f8(simd_float8 x); -static inline SIMD_CFUNC simd_float8 __tg_tgamma(simd_float8 x) { - return _simd_tgamma_f8(x); -} -#else -static inline SIMD_CFUNC simd_float8 __tg_tgamma(simd_float8 x) { - return simd_make_float8(__tg_tgamma(x.lo), __tg_tgamma(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_float16 _simd_tgamma_f16(simd_float16 x); -static inline SIMD_CFUNC simd_float16 __tg_tgamma(simd_float16 x) { - return _simd_tgamma_f16(x); -} -#else -static inline SIMD_CFUNC simd_float16 __tg_tgamma(simd_float16 x) { - return simd_make_float16(__tg_tgamma(x.lo), __tg_tgamma(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_double2 _simd_tgamma_d2(simd_double2 x); -static inline SIMD_CFUNC simd_double2 __tg_tgamma(simd_double2 x) { - return _simd_tgamma_d2(x); -} -#else -static inline SIMD_CFUNC simd_double2 __tg_tgamma(simd_double2 x) { - return simd_make_double2(tgamma(x.x), tgamma(x.y)); -} -#endif - -static inline SIMD_CFUNC simd_double3 __tg_tgamma(simd_double3 x) { - return simd_make_double3(__tg_tgamma(simd_make_double4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_double4 _simd_tgamma_d4(simd_double4 x); -static inline SIMD_CFUNC simd_double4 __tg_tgamma(simd_double4 x) { - return _simd_tgamma_d4(x); -} -#else -static inline SIMD_CFUNC simd_double4 __tg_tgamma(simd_double4 x) { - return simd_make_double4(__tg_tgamma(x.lo), __tg_tgamma(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_double8 _simd_tgamma_d8(simd_double8 x); -static inline SIMD_CFUNC simd_double8 __tg_tgamma(simd_double8 x) { - return _simd_tgamma_d8(x); -} -#else -static inline SIMD_CFUNC simd_double8 __tg_tgamma(simd_double8 x) { - return simd_make_double8(__tg_tgamma(x.lo), __tg_tgamma(x.hi)); -} -#endif - -#pragma mark - round implementation -static inline SIMD_CFUNC simd_float2 __tg_round(simd_float2 x) { - return simd_make_float2(__tg_round(simd_make_float4(x))); -} - -static inline SIMD_CFUNC simd_float3 __tg_round(simd_float3 x) { - return simd_make_float3(__tg_round(simd_make_float4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_float4 _simd_round_f4(simd_float4 x); -static inline SIMD_CFUNC simd_float4 __tg_round(simd_float4 x) { -#if defined __arm64__ - return vrndaq_f32(x); -#else - return _simd_round_f4(x); -#endif -} -#else -static inline SIMD_CFUNC simd_float4 __tg_round(simd_float4 x) { - return simd_make_float4(round(x.x), round(x.y), round(x.z), round(x.w)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_float8 _simd_round_f8(simd_float8 x); -static inline SIMD_CFUNC simd_float8 __tg_round(simd_float8 x) { - return _simd_round_f8(x); -} -#else -static inline SIMD_CFUNC simd_float8 __tg_round(simd_float8 x) { - return simd_make_float8(__tg_round(x.lo), __tg_round(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_float16 _simd_round_f16(simd_float16 x); -static inline SIMD_CFUNC simd_float16 __tg_round(simd_float16 x) { - return _simd_round_f16(x); -} -#else -static inline SIMD_CFUNC simd_float16 __tg_round(simd_float16 x) { - return simd_make_float16(__tg_round(x.lo), __tg_round(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_double2 _simd_round_d2(simd_double2 x); -static inline SIMD_CFUNC simd_double2 __tg_round(simd_double2 x) { -#if defined __arm64__ - return vrndaq_f64(x); -#else - return _simd_round_d2(x); -#endif -} -#else -static inline SIMD_CFUNC simd_double2 __tg_round(simd_double2 x) { - return simd_make_double2(round(x.x), round(x.y)); -} -#endif - -static inline SIMD_CFUNC simd_double3 __tg_round(simd_double3 x) { - return simd_make_double3(__tg_round(simd_make_double4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_double4 _simd_round_d4(simd_double4 x); -static inline SIMD_CFUNC simd_double4 __tg_round(simd_double4 x) { - return _simd_round_d4(x); -} -#else -static inline SIMD_CFUNC simd_double4 __tg_round(simd_double4 x) { - return simd_make_double4(__tg_round(x.lo), __tg_round(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_double8 _simd_round_d8(simd_double8 x); -static inline SIMD_CFUNC simd_double8 __tg_round(simd_double8 x) { - return _simd_round_d8(x); -} -#else -static inline SIMD_CFUNC simd_double8 __tg_round(simd_double8 x) { - return simd_make_double8(__tg_round(x.lo), __tg_round(x.hi)); -} -#endif - -#pragma mark - atan2 implementation -static inline SIMD_CFUNC simd_float2 __tg_atan2(simd_float2 y, simd_float2 x) { - return simd_make_float2(__tg_atan2(simd_make_float4(y), simd_make_float4(x))); -} - -static inline SIMD_CFUNC simd_float3 __tg_atan2(simd_float3 y, simd_float3 x) { - return simd_make_float3(__tg_atan2(simd_make_float4(y), simd_make_float4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_float4 _simd_atan2_f4(simd_float4 y, simd_float4 x); -static inline SIMD_CFUNC simd_float4 __tg_atan2(simd_float4 y, simd_float4 x) { - return _simd_atan2_f4(y, x); -} -#else -static inline SIMD_CFUNC simd_float4 __tg_atan2(simd_float4 y, simd_float4 x) { - return simd_make_float4(atan2(y.x, x.x), atan2(y.y, x.y), atan2(y.z, x.z), atan2(y.w, x.w)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_float8 _simd_atan2_f8(simd_float8 y, simd_float8 x); -static inline SIMD_CFUNC simd_float8 __tg_atan2(simd_float8 y, simd_float8 x) { - return _simd_atan2_f8(y, x); -} -#else -static inline SIMD_CFUNC simd_float8 __tg_atan2(simd_float8 y, simd_float8 x) { - return simd_make_float8(__tg_atan2(y.lo, x.lo), __tg_atan2(y.hi, x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_float16 _simd_atan2_f16(simd_float16 y, simd_float16 x); -static inline SIMD_CFUNC simd_float16 __tg_atan2(simd_float16 y, simd_float16 x) { - return _simd_atan2_f16(y, x); -} -#else -static inline SIMD_CFUNC simd_float16 __tg_atan2(simd_float16 y, simd_float16 x) { - return simd_make_float16(__tg_atan2(y.lo, x.lo), __tg_atan2(y.hi, x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_double2 _simd_atan2_d2(simd_double2 y, simd_double2 x); -static inline SIMD_CFUNC simd_double2 __tg_atan2(simd_double2 y, simd_double2 x) { - return _simd_atan2_d2(y, x); -} -#else -static inline SIMD_CFUNC simd_double2 __tg_atan2(simd_double2 y, simd_double2 x) { - return simd_make_double2(atan2(y.x, x.x), atan2(y.y, x.y)); -} -#endif - -static inline SIMD_CFUNC simd_double3 __tg_atan2(simd_double3 y, simd_double3 x) { - return simd_make_double3(__tg_atan2(simd_make_double4(y), simd_make_double4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_double4 _simd_atan2_d4(simd_double4 y, simd_double4 x); -static inline SIMD_CFUNC simd_double4 __tg_atan2(simd_double4 y, simd_double4 x) { - return _simd_atan2_d4(y, x); -} -#else -static inline SIMD_CFUNC simd_double4 __tg_atan2(simd_double4 y, simd_double4 x) { - return simd_make_double4(__tg_atan2(y.lo, x.lo), __tg_atan2(y.hi, x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_double8 _simd_atan2_d8(simd_double8 y, simd_double8 x); -static inline SIMD_CFUNC simd_double8 __tg_atan2(simd_double8 y, simd_double8 x) { - return _simd_atan2_d8(y, x); -} -#else -static inline SIMD_CFUNC simd_double8 __tg_atan2(simd_double8 y, simd_double8 x) { - return simd_make_double8(__tg_atan2(y.lo, x.lo), __tg_atan2(y.hi, x.hi)); -} -#endif - -#pragma mark - hypot implementation -static inline SIMD_CFUNC simd_float2 __tg_hypot(simd_float2 x, simd_float2 y) { - return simd_make_float2(__tg_hypot(simd_make_float4(x), simd_make_float4(y))); -} - -static inline SIMD_CFUNC simd_float3 __tg_hypot(simd_float3 x, simd_float3 y) { - return simd_make_float3(__tg_hypot(simd_make_float4(x), simd_make_float4(y))); -} - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_float4 _simd_hypot_f4(simd_float4 x, simd_float4 y); -static inline SIMD_CFUNC simd_float4 __tg_hypot(simd_float4 x, simd_float4 y) { - return _simd_hypot_f4(x, y); -} -#else -static inline SIMD_CFUNC simd_float4 __tg_hypot(simd_float4 x, simd_float4 y) { - return simd_make_float4(hypot(x.x, y.x), hypot(x.y, y.y), hypot(x.z, y.z), hypot(x.w, y.w)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_float8 _simd_hypot_f8(simd_float8 x, simd_float8 y); -static inline SIMD_CFUNC simd_float8 __tg_hypot(simd_float8 x, simd_float8 y) { - return _simd_hypot_f8(x, y); -} -#else -static inline SIMD_CFUNC simd_float8 __tg_hypot(simd_float8 x, simd_float8 y) { - return simd_make_float8(__tg_hypot(x.lo, y.lo), __tg_hypot(x.hi, y.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_float16 _simd_hypot_f16(simd_float16 x, simd_float16 y); -static inline SIMD_CFUNC simd_float16 __tg_hypot(simd_float16 x, simd_float16 y) { - return _simd_hypot_f16(x, y); -} -#else -static inline SIMD_CFUNC simd_float16 __tg_hypot(simd_float16 x, simd_float16 y) { - return simd_make_float16(__tg_hypot(x.lo, y.lo), __tg_hypot(x.hi, y.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_double2 _simd_hypot_d2(simd_double2 x, simd_double2 y); -static inline SIMD_CFUNC simd_double2 __tg_hypot(simd_double2 x, simd_double2 y) { - return _simd_hypot_d2(x, y); -} -#else -static inline SIMD_CFUNC simd_double2 __tg_hypot(simd_double2 x, simd_double2 y) { - return simd_make_double2(hypot(x.x, y.x), hypot(x.y, y.y)); -} -#endif - -static inline SIMD_CFUNC simd_double3 __tg_hypot(simd_double3 x, simd_double3 y) { - return simd_make_double3(__tg_hypot(simd_make_double4(x), simd_make_double4(y))); -} - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_double4 _simd_hypot_d4(simd_double4 x, simd_double4 y); -static inline SIMD_CFUNC simd_double4 __tg_hypot(simd_double4 x, simd_double4 y) { - return _simd_hypot_d4(x, y); -} -#else -static inline SIMD_CFUNC simd_double4 __tg_hypot(simd_double4 x, simd_double4 y) { - return simd_make_double4(__tg_hypot(x.lo, y.lo), __tg_hypot(x.hi, y.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_double8 _simd_hypot_d8(simd_double8 x, simd_double8 y); -static inline SIMD_CFUNC simd_double8 __tg_hypot(simd_double8 x, simd_double8 y) { - return _simd_hypot_d8(x, y); -} -#else -static inline SIMD_CFUNC simd_double8 __tg_hypot(simd_double8 x, simd_double8 y) { - return simd_make_double8(__tg_hypot(x.lo, y.lo), __tg_hypot(x.hi, y.hi)); -} -#endif - -#pragma mark - pow implementation -static inline SIMD_CFUNC simd_float2 __tg_pow(simd_float2 x, simd_float2 y) { - return simd_make_float2(__tg_pow(simd_make_float4(x), simd_make_float4(y))); -} - -static inline SIMD_CFUNC simd_float3 __tg_pow(simd_float3 x, simd_float3 y) { - return simd_make_float3(__tg_pow(simd_make_float4(x), simd_make_float4(y))); -} - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_float4 _simd_pow_f4(simd_float4 x, simd_float4 y); -static inline SIMD_CFUNC simd_float4 __tg_pow(simd_float4 x, simd_float4 y) { - return _simd_pow_f4(x, y); -} -#else -static inline SIMD_CFUNC simd_float4 __tg_pow(simd_float4 x, simd_float4 y) { - return simd_make_float4(pow(x.x, y.x), pow(x.y, y.y), pow(x.z, y.z), pow(x.w, y.w)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_float8 _simd_pow_f8(simd_float8 x, simd_float8 y); -static inline SIMD_CFUNC simd_float8 __tg_pow(simd_float8 x, simd_float8 y) { - return _simd_pow_f8(x, y); -} -#else -static inline SIMD_CFUNC simd_float8 __tg_pow(simd_float8 x, simd_float8 y) { - return simd_make_float8(__tg_pow(x.lo, y.lo), __tg_pow(x.hi, y.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_float16 _simd_pow_f16(simd_float16 x, simd_float16 y); -static inline SIMD_CFUNC simd_float16 __tg_pow(simd_float16 x, simd_float16 y) { - return _simd_pow_f16(x, y); -} -#else -static inline SIMD_CFUNC simd_float16 __tg_pow(simd_float16 x, simd_float16 y) { - return simd_make_float16(__tg_pow(x.lo, y.lo), __tg_pow(x.hi, y.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_double2 _simd_pow_d2(simd_double2 x, simd_double2 y); -static inline SIMD_CFUNC simd_double2 __tg_pow(simd_double2 x, simd_double2 y) { - return _simd_pow_d2(x, y); -} -#else -static inline SIMD_CFUNC simd_double2 __tg_pow(simd_double2 x, simd_double2 y) { - return simd_make_double2(pow(x.x, y.x), pow(x.y, y.y)); -} -#endif - -static inline SIMD_CFUNC simd_double3 __tg_pow(simd_double3 x, simd_double3 y) { - return simd_make_double3(__tg_pow(simd_make_double4(x), simd_make_double4(y))); -} - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_double4 _simd_pow_d4(simd_double4 x, simd_double4 y); -static inline SIMD_CFUNC simd_double4 __tg_pow(simd_double4 x, simd_double4 y) { - return _simd_pow_d4(x, y); -} -#else -static inline SIMD_CFUNC simd_double4 __tg_pow(simd_double4 x, simd_double4 y) { - return simd_make_double4(__tg_pow(x.lo, y.lo), __tg_pow(x.hi, y.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_double8 _simd_pow_d8(simd_double8 x, simd_double8 y); -static inline SIMD_CFUNC simd_double8 __tg_pow(simd_double8 x, simd_double8 y) { - return _simd_pow_d8(x, y); -} -#else -static inline SIMD_CFUNC simd_double8 __tg_pow(simd_double8 x, simd_double8 y) { - return simd_make_double8(__tg_pow(x.lo, y.lo), __tg_pow(x.hi, y.hi)); -} -#endif - -#pragma mark - fmod implementation -static inline SIMD_CFUNC simd_float2 __tg_fmod(simd_float2 x, simd_float2 y) { - return simd_make_float2(__tg_fmod(simd_make_float4(x), simd_make_float4(y))); -} - -static inline SIMD_CFUNC simd_float3 __tg_fmod(simd_float3 x, simd_float3 y) { - return simd_make_float3(__tg_fmod(simd_make_float4(x), simd_make_float4(y))); -} - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_float4 _simd_fmod_f4(simd_float4 x, simd_float4 y); -static inline SIMD_CFUNC simd_float4 __tg_fmod(simd_float4 x, simd_float4 y) { - return _simd_fmod_f4(x, y); -} -#else -static inline SIMD_CFUNC simd_float4 __tg_fmod(simd_float4 x, simd_float4 y) { - return simd_make_float4(fmod(x.x, y.x), fmod(x.y, y.y), fmod(x.z, y.z), fmod(x.w, y.w)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_float8 _simd_fmod_f8(simd_float8 x, simd_float8 y); -static inline SIMD_CFUNC simd_float8 __tg_fmod(simd_float8 x, simd_float8 y) { - return _simd_fmod_f8(x, y); -} -#else -static inline SIMD_CFUNC simd_float8 __tg_fmod(simd_float8 x, simd_float8 y) { - return simd_make_float8(__tg_fmod(x.lo, y.lo), __tg_fmod(x.hi, y.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_float16 _simd_fmod_f16(simd_float16 x, simd_float16 y); -static inline SIMD_CFUNC simd_float16 __tg_fmod(simd_float16 x, simd_float16 y) { - return _simd_fmod_f16(x, y); -} -#else -static inline SIMD_CFUNC simd_float16 __tg_fmod(simd_float16 x, simd_float16 y) { - return simd_make_float16(__tg_fmod(x.lo, y.lo), __tg_fmod(x.hi, y.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_double2 _simd_fmod_d2(simd_double2 x, simd_double2 y); -static inline SIMD_CFUNC simd_double2 __tg_fmod(simd_double2 x, simd_double2 y) { - return _simd_fmod_d2(x, y); -} -#else -static inline SIMD_CFUNC simd_double2 __tg_fmod(simd_double2 x, simd_double2 y) { - return simd_make_double2(fmod(x.x, y.x), fmod(x.y, y.y)); -} -#endif - -static inline SIMD_CFUNC simd_double3 __tg_fmod(simd_double3 x, simd_double3 y) { - return simd_make_double3(__tg_fmod(simd_make_double4(x), simd_make_double4(y))); -} - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_double4 _simd_fmod_d4(simd_double4 x, simd_double4 y); -static inline SIMD_CFUNC simd_double4 __tg_fmod(simd_double4 x, simd_double4 y) { - return _simd_fmod_d4(x, y); -} -#else -static inline SIMD_CFUNC simd_double4 __tg_fmod(simd_double4 x, simd_double4 y) { - return simd_make_double4(__tg_fmod(x.lo, y.lo), __tg_fmod(x.hi, y.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_double8 _simd_fmod_d8(simd_double8 x, simd_double8 y); -static inline SIMD_CFUNC simd_double8 __tg_fmod(simd_double8 x, simd_double8 y) { - return _simd_fmod_d8(x, y); -} -#else -static inline SIMD_CFUNC simd_double8 __tg_fmod(simd_double8 x, simd_double8 y) { - return simd_make_double8(__tg_fmod(x.lo, y.lo), __tg_fmod(x.hi, y.hi)); -} -#endif - -#pragma mark - remainder implementation -static inline SIMD_CFUNC simd_float2 __tg_remainder(simd_float2 x, simd_float2 y) { - return simd_make_float2(__tg_remainder(simd_make_float4(x), simd_make_float4(y))); -} - -static inline SIMD_CFUNC simd_float3 __tg_remainder(simd_float3 x, simd_float3 y) { - return simd_make_float3(__tg_remainder(simd_make_float4(x), simd_make_float4(y))); -} - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_float4 _simd_remainder_f4(simd_float4 x, simd_float4 y); -static inline SIMD_CFUNC simd_float4 __tg_remainder(simd_float4 x, simd_float4 y) { - return _simd_remainder_f4(x, y); -} -#else -static inline SIMD_CFUNC simd_float4 __tg_remainder(simd_float4 x, simd_float4 y) { - return simd_make_float4(remainder(x.x, y.x), remainder(x.y, y.y), remainder(x.z, y.z), remainder(x.w, y.w)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_float8 _simd_remainder_f8(simd_float8 x, simd_float8 y); -static inline SIMD_CFUNC simd_float8 __tg_remainder(simd_float8 x, simd_float8 y) { - return _simd_remainder_f8(x, y); -} -#else -static inline SIMD_CFUNC simd_float8 __tg_remainder(simd_float8 x, simd_float8 y) { - return simd_make_float8(__tg_remainder(x.lo, y.lo), __tg_remainder(x.hi, y.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_float16 _simd_remainder_f16(simd_float16 x, simd_float16 y); -static inline SIMD_CFUNC simd_float16 __tg_remainder(simd_float16 x, simd_float16 y) { - return _simd_remainder_f16(x, y); -} -#else -static inline SIMD_CFUNC simd_float16 __tg_remainder(simd_float16 x, simd_float16 y) { - return simd_make_float16(__tg_remainder(x.lo, y.lo), __tg_remainder(x.hi, y.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_double2 _simd_remainder_d2(simd_double2 x, simd_double2 y); -static inline SIMD_CFUNC simd_double2 __tg_remainder(simd_double2 x, simd_double2 y) { - return _simd_remainder_d2(x, y); -} -#else -static inline SIMD_CFUNC simd_double2 __tg_remainder(simd_double2 x, simd_double2 y) { - return simd_make_double2(remainder(x.x, y.x), remainder(x.y, y.y)); -} -#endif - -static inline SIMD_CFUNC simd_double3 __tg_remainder(simd_double3 x, simd_double3 y) { - return simd_make_double3(__tg_remainder(simd_make_double4(x), simd_make_double4(y))); -} - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_double4 _simd_remainder_d4(simd_double4 x, simd_double4 y); -static inline SIMD_CFUNC simd_double4 __tg_remainder(simd_double4 x, simd_double4 y) { - return _simd_remainder_d4(x, y); -} -#else -static inline SIMD_CFUNC simd_double4 __tg_remainder(simd_double4 x, simd_double4 y) { - return simd_make_double4(__tg_remainder(x.lo, y.lo), __tg_remainder(x.hi, y.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_double8 _simd_remainder_d8(simd_double8 x, simd_double8 y); -static inline SIMD_CFUNC simd_double8 __tg_remainder(simd_double8 x, simd_double8 y) { - return _simd_remainder_d8(x, y); -} -#else -static inline SIMD_CFUNC simd_double8 __tg_remainder(simd_double8 x, simd_double8 y) { - return simd_make_double8(__tg_remainder(x.lo, y.lo), __tg_remainder(x.hi, y.hi)); -} -#endif - -#pragma mark - nextafter implementation -static inline SIMD_CFUNC simd_float2 __tg_nextafter(simd_float2 x, simd_float2 y) { - return simd_make_float2(__tg_nextafter(simd_make_float4(x), simd_make_float4(y))); -} - -static inline SIMD_CFUNC simd_float3 __tg_nextafter(simd_float3 x, simd_float3 y) { - return simd_make_float3(__tg_nextafter(simd_make_float4(x), simd_make_float4(y))); -} - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_float4 _simd_nextafter_f4(simd_float4 x, simd_float4 y); -static inline SIMD_CFUNC simd_float4 __tg_nextafter(simd_float4 x, simd_float4 y) { - return _simd_nextafter_f4(x, y); -} -#else -static inline SIMD_CFUNC simd_float4 __tg_nextafter(simd_float4 x, simd_float4 y) { - return simd_make_float4(nextafter(x.x, y.x), nextafter(x.y, y.y), nextafter(x.z, y.z), nextafter(x.w, y.w)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_float8 _simd_nextafter_f8(simd_float8 x, simd_float8 y); -static inline SIMD_CFUNC simd_float8 __tg_nextafter(simd_float8 x, simd_float8 y) { - return _simd_nextafter_f8(x, y); -} -#else -static inline SIMD_CFUNC simd_float8 __tg_nextafter(simd_float8 x, simd_float8 y) { - return simd_make_float8(__tg_nextafter(x.lo, y.lo), __tg_nextafter(x.hi, y.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_float16 _simd_nextafter_f16(simd_float16 x, simd_float16 y); -static inline SIMD_CFUNC simd_float16 __tg_nextafter(simd_float16 x, simd_float16 y) { - return _simd_nextafter_f16(x, y); -} -#else -static inline SIMD_CFUNC simd_float16 __tg_nextafter(simd_float16 x, simd_float16 y) { - return simd_make_float16(__tg_nextafter(x.lo, y.lo), __tg_nextafter(x.hi, y.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_double2 _simd_nextafter_d2(simd_double2 x, simd_double2 y); -static inline SIMD_CFUNC simd_double2 __tg_nextafter(simd_double2 x, simd_double2 y) { - return _simd_nextafter_d2(x, y); -} -#else -static inline SIMD_CFUNC simd_double2 __tg_nextafter(simd_double2 x, simd_double2 y) { - return simd_make_double2(nextafter(x.x, y.x), nextafter(x.y, y.y)); -} -#endif - -static inline SIMD_CFUNC simd_double3 __tg_nextafter(simd_double3 x, simd_double3 y) { - return simd_make_double3(__tg_nextafter(simd_make_double4(x), simd_make_double4(y))); -} - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX2__ -extern simd_double4 _simd_nextafter_d4(simd_double4 x, simd_double4 y); -static inline SIMD_CFUNC simd_double4 __tg_nextafter(simd_double4 x, simd_double4 y) { - return _simd_nextafter_d4(x, y); -} -#else -static inline SIMD_CFUNC simd_double4 __tg_nextafter(simd_double4 x, simd_double4 y) { - return simd_make_double4(__tg_nextafter(x.lo, y.lo), __tg_nextafter(x.hi, y.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 3 && defined __x86_64__ && defined __AVX512F__ -extern simd_double8 _simd_nextafter_d8(simd_double8 x, simd_double8 y); -static inline SIMD_CFUNC simd_double8 __tg_nextafter(simd_double8 x, simd_double8 y) { - return _simd_nextafter_d8(x, y); -} -#else -static inline SIMD_CFUNC simd_double8 __tg_nextafter(simd_double8 x, simd_double8 y) { - return simd_make_double8(__tg_nextafter(x.lo, y.lo), __tg_nextafter(x.hi, y.hi)); -} -#endif - -#pragma mark - lgamma implementation -static inline SIMD_CFUNC simd_float2 __tg_lgamma(simd_float2 x) { - return simd_make_float2(__tg_lgamma(simd_make_float4(x))); -} - -static inline SIMD_CFUNC simd_float3 __tg_lgamma(simd_float3 x) { - return simd_make_float3(__tg_lgamma(simd_make_float4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 4 -extern simd_float4 _simd_lgamma_f4(simd_float4 x); -static inline SIMD_CFUNC simd_float4 __tg_lgamma(simd_float4 x) { - return _simd_lgamma_f4(x); -} -#else -static inline SIMD_CFUNC simd_float4 __tg_lgamma(simd_float4 x) { - return simd_make_float4(lgamma(x.x), lgamma(x.y), lgamma(x.z), lgamma(x.w)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 4 && defined __x86_64__ && defined __AVX2__ -extern simd_float8 _simd_lgamma_f8(simd_float8 x); -static inline SIMD_CFUNC simd_float8 __tg_lgamma(simd_float8 x) { - return _simd_lgamma_f8(x); -} -#else -static inline SIMD_CFUNC simd_float8 __tg_lgamma(simd_float8 x) { - return simd_make_float8(__tg_lgamma(x.lo), __tg_lgamma(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 4 && defined __x86_64__ && defined __AVX512F__ -extern simd_float16 _simd_lgamma_f16(simd_float16 x); -static inline SIMD_CFUNC simd_float16 __tg_lgamma(simd_float16 x) { - return _simd_lgamma_f16(x); -} -#else -static inline SIMD_CFUNC simd_float16 __tg_lgamma(simd_float16 x) { - return simd_make_float16(__tg_lgamma(x.lo), __tg_lgamma(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 4 -extern simd_double2 _simd_lgamma_d2(simd_double2 x); -static inline SIMD_CFUNC simd_double2 __tg_lgamma(simd_double2 x) { - return _simd_lgamma_d2(x); -} -#else -static inline SIMD_CFUNC simd_double2 __tg_lgamma(simd_double2 x) { - return simd_make_double2(lgamma(x.x), lgamma(x.y)); -} -#endif - -static inline SIMD_CFUNC simd_double3 __tg_lgamma(simd_double3 x) { - return simd_make_double3(__tg_lgamma(simd_make_double4(x))); -} - -#if SIMD_LIBRARY_VERSION >= 4 && defined __x86_64__ && defined __AVX2__ -extern simd_double4 _simd_lgamma_d4(simd_double4 x); -static inline SIMD_CFUNC simd_double4 __tg_lgamma(simd_double4 x) { - return _simd_lgamma_d4(x); -} -#else -static inline SIMD_CFUNC simd_double4 __tg_lgamma(simd_double4 x) { - return simd_make_double4(__tg_lgamma(x.lo), __tg_lgamma(x.hi)); -} -#endif - -#if SIMD_LIBRARY_VERSION >= 4 && defined __x86_64__ && defined __AVX512F__ -extern simd_double8 _simd_lgamma_d8(simd_double8 x); -static inline SIMD_CFUNC simd_double8 __tg_lgamma(simd_double8 x) { - return _simd_lgamma_d8(x); -} -#else -static inline SIMD_CFUNC simd_double8 __tg_lgamma(simd_double8 x) { - return simd_make_double8(__tg_lgamma(x.lo), __tg_lgamma(x.hi)); -} -#endif - -static inline SIMD_CFUNC simd_float2 __tg_fdim(simd_float2 x, simd_float2 y) { return simd_bitselect(x-y, 0, x= 3 -extern simd_float4 _simd_fma_f4(simd_float4 x, simd_float4 y, simd_float4 z); -#endif -static inline SIMD_CFUNC simd_float4 __tg_fma(simd_float4 x, simd_float4 y, simd_float4 z) { -#if defined __arm64__ || defined __ARM_VFPV4__ - return vfmaq_f32(z, x, y); -#elif (defined __i386__ || defined __x86_64__) && defined __FMA__ - return _mm_fmadd_ps(x, y, z); -#elif SIMD_LIBRARY_VERSION >= 3 - return _simd_fma_f4(x, y, z); -#else - return simd_make_float4(fma(x.x, y.x, z.x), fma(x.y, y.y, z.y), fma(x.z, y.z, z.z), fma(x.w, y.w, z.w)); -#endif -} - -static inline SIMD_CFUNC simd_float8 __tg_fma(simd_float8 x, simd_float8 y, simd_float8 z) { -#if (defined __i386__ || defined __x86_64__) && defined __FMA__ - return _mm256_fmadd_ps(x, y, z); -#else - return simd_make_float8(__tg_fma(x.lo, y.lo, z.lo), __tg_fma(x.hi, y.hi, z.hi)); -#endif -} - -static inline SIMD_CFUNC simd_float16 __tg_fma(simd_float16 x, simd_float16 y, simd_float16 z) { -#if defined __x86_64__ && defined __AVX512F__ - return _mm512_fmadd_ps(x, y, z); -#else - return simd_make_float16(__tg_fma(x.lo, y.lo, z.lo), __tg_fma(x.hi, y.hi, z.hi)); -#endif -} - -#if SIMD_LIBRARY_VERSION >= 3 -extern simd_double2 _simd_fma_d2(simd_double2 x, simd_double2 y, simd_double2 z); -#endif -static inline SIMD_CFUNC simd_double2 __tg_fma(simd_double2 x, simd_double2 y, simd_double2 z) { -#if defined __arm64__ - return vfmaq_f64(z, x, y); -#elif (defined __i386__ || defined __x86_64__) && defined __FMA__ - return _mm_fmadd_pd(x, y, z); -#elif SIMD_LIBRARY_VERSION >= 3 - return _simd_fma_d2(x, y, z); -#else - return simd_make_double2(fma(x.x, y.x, z.x), fma(x.y, y.y, z.y)); -#endif -} - -static inline SIMD_CFUNC simd_double3 __tg_fma(simd_double3 x, simd_double3 y, simd_double3 z) { - return simd_make_double3(__tg_fma(simd_make_double4(x), simd_make_double4(y), simd_make_double4(z))); -} - -static inline SIMD_CFUNC simd_double4 __tg_fma(simd_double4 x, simd_double4 y, simd_double4 z) { -#if (defined __i386__ || defined __x86_64__) && defined __FMA__ - return _mm256_fmadd_pd(x, y, z); -#else - return simd_make_double4(__tg_fma(x.lo, y.lo, z.lo), __tg_fma(x.hi, y.hi, z.hi)); -#endif -} - -static inline SIMD_CFUNC simd_double8 __tg_fma(simd_double8 x, simd_double8 y, simd_double8 z) { -#if defined __x86_64__ && defined __AVX512F__ - return _mm512_fmadd_pd(x, y, z); -#else - return simd_make_double8(__tg_fma(x.lo, y.lo, z.lo), __tg_fma(x.hi, y.hi, z.hi)); -#endif -} - -static inline SIMD_CFUNC float simd_muladd(float x, float y, float z) { -#pragma STDC FP_CONTRACT ON - return x*y + z; -} -static inline SIMD_CFUNC simd_float2 simd_muladd(simd_float2 x, simd_float2 y, simd_float2 z) { -#pragma STDC FP_CONTRACT ON - return x*y + z; -} -static inline SIMD_CFUNC simd_float3 simd_muladd(simd_float3 x, simd_float3 y, simd_float3 z) { -#pragma STDC FP_CONTRACT ON - return x*y + z; -} -static inline SIMD_CFUNC simd_float4 simd_muladd(simd_float4 x, simd_float4 y, simd_float4 z) { -#pragma STDC FP_CONTRACT ON - return x*y + z; -} -static inline SIMD_CFUNC simd_float8 simd_muladd(simd_float8 x, simd_float8 y, simd_float8 z) { -#pragma STDC FP_CONTRACT ON - return x*y + z; -} -static inline SIMD_CFUNC simd_float16 simd_muladd(simd_float16 x, simd_float16 y, simd_float16 z) { -#pragma STDC FP_CONTRACT ON - return x*y + z; -} -static inline SIMD_CFUNC double simd_muladd(double x, double y, double z) { -#pragma STDC FP_CONTRACT ON - return x*y + z; -} -static inline SIMD_CFUNC simd_double2 simd_muladd(simd_double2 x, simd_double2 y, simd_double2 z) { -#pragma STDC FP_CONTRACT ON - return x*y + z; -} -static inline SIMD_CFUNC simd_double3 simd_muladd(simd_double3 x, simd_double3 y, simd_double3 z) { -#pragma STDC FP_CONTRACT ON - return x*y + z; -} -static inline SIMD_CFUNC simd_double4 simd_muladd(simd_double4 x, simd_double4 y, simd_double4 z) { -#pragma STDC FP_CONTRACT ON - return x*y + z; -} -static inline SIMD_CFUNC simd_double8 simd_muladd(simd_double8 x, simd_double8 y, simd_double8 z) { -#pragma STDC FP_CONTRACT ON - return x*y + z; -} -#ifdef __cplusplus -} /* extern "C" */ -#endif -#endif /* SIMD_COMPILER_HAS_REQUIRED_FEATURES */ -#endif /* SIMD_MATH_HEADER */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.12-any/stdio.h b/lib/libc/include/any-macos.12-any/stdio.h deleted file mode 100644 index dbe813960c..0000000000 --- a/lib/libc/include/any-macos.12-any/stdio.h +++ /dev/null @@ -1,402 +0,0 @@ -/* - * Copyright (c) 2000, 2005, 2007, 2009, 2010 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@ - */ -/*- - * Copyright (c) 1990, 1993 - * The Regents of the University of California. All rights reserved. - * - * This code is derived from software contributed to Berkeley by - * Chris Torek. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)stdio.h 8.5 (Berkeley) 4/29/95 - */ - -#ifndef _STDIO_H_ -#define _STDIO_H_ - -#include <_stdio.h> - -__BEGIN_DECLS -extern FILE *__stdinp; -extern FILE *__stdoutp; -extern FILE *__stderrp; -__END_DECLS - -#define __SLBF 0x0001 /* line buffered */ -#define __SNBF 0x0002 /* unbuffered */ -#define __SRD 0x0004 /* OK to read */ -#define __SWR 0x0008 /* OK to write */ - /* RD and WR are never simultaneously asserted */ -#define __SRW 0x0010 /* open for reading & writing */ -#define __SEOF 0x0020 /* found EOF */ -#define __SERR 0x0040 /* found error */ -#define __SMBF 0x0080 /* _buf is from malloc */ -#define __SAPP 0x0100 /* fdopen()ed in append mode */ -#define __SSTR 0x0200 /* this is an sprintf/snprintf string */ -#define __SOPT 0x0400 /* do fseek() optimisation */ -#define __SNPT 0x0800 /* do not do fseek() optimisation */ -#define __SOFF 0x1000 /* set iff _offset is in fact correct */ -#define __SMOD 0x2000 /* true => fgetln modified _p text */ -#define __SALC 0x4000 /* allocate string space dynamically */ -#define __SIGN 0x8000 /* ignore this file in _fwalk */ - -/* - * The following three definitions are for ANSI C, which took them - * from System V, which brilliantly took internal interface macros and - * made them official arguments to setvbuf(), without renaming them. - * Hence, these ugly _IOxxx names are *supposed* to appear in user code. - * - * Although numbered as their counterparts above, the implementation - * does not rely on this. - */ -#define _IOFBF 0 /* setvbuf should set fully buffered */ -#define _IOLBF 1 /* setvbuf should set line buffered */ -#define _IONBF 2 /* setvbuf should set unbuffered */ - -#define BUFSIZ 1024 /* size of buffer used by setbuf */ -#define EOF (-1) - - /* must be == _POSIX_STREAM_MAX */ -#define FOPEN_MAX 20 /* must be <= OPEN_MAX */ -#define FILENAME_MAX 1024 /* must be <= PATH_MAX */ - -/* System V/ANSI C; this is the wrong way to do this, do *not* use these. */ -#ifndef _ANSI_SOURCE -#define P_tmpdir "/var/tmp/" -#endif -#define L_tmpnam 1024 /* XXX must be == PATH_MAX */ -#define TMP_MAX 308915776 - -#ifndef SEEK_SET -#define SEEK_SET 0 /* set file offset to offset */ -#endif -#ifndef SEEK_CUR -#define SEEK_CUR 1 /* set file offset to current plus offset */ -#endif -#ifndef SEEK_END -#define SEEK_END 2 /* set file offset to EOF plus offset */ -#endif - -#define stdin __stdinp -#define stdout __stdoutp -#define stderr __stderrp - -#ifdef _DARWIN_UNLIMITED_STREAMS -#if defined(__IPHONE_OS_VERSION_MIN_REQUIRED) && __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_3_2 -#error "_DARWIN_UNLIMITED_STREAMS specified, but -miphoneos-version-min version does not support it." -#elif defined(__MAC_OS_X_VERSION_MIN_REQUIRED) && __MAC_OS_X_VERSION_MIN_REQUIRED < __MAC_10_6 -#error "_DARWIN_UNLIMITED_STREAMS specified, but -mmacosx-version-min version does not support it." -#endif -#endif - -/* ANSI-C */ - -__BEGIN_DECLS -void clearerr(FILE *); -int fclose(FILE *); -int feof(FILE *); -int ferror(FILE *); -int fflush(FILE *); -int fgetc(FILE *); -int fgetpos(FILE * __restrict, fpos_t *); -char *fgets(char * __restrict, int, 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 */ -FILE *fopen(const char * __restrict __filename, const char * __restrict __mode) __DARWIN_ALIAS_STARTING(__MAC_10_6, __IPHONE_2_0, __DARWIN_ALIAS(fopen)); -#endif /* (DARWIN_UNLIMITED_STREAMS || _DARWIN_C_SOURCE) */ -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); -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); -int getc(FILE *); -int getchar(void); -char *gets(char *); -void perror(const char *) __cold; -int printf(const char * __restrict, ...) __printflike(1, 2); -int putc(int, FILE *); -int putchar(int); -int puts(const char *); -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); -int sprintf(char * __restrict, const char * __restrict, ...) __printflike(2, 3) __swift_unavailable("Use snprintf instead."); -int sscanf(const char * __restrict, const char * __restrict, ...) __scanflike(2, 3); -FILE *tmpfile(void); - -__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 *); -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); -int vsprintf(char * __restrict, const char * __restrict, va_list) __printflike(2, 0) __swift_unavailable("Use vsnprintf instead."); -__END_DECLS - - - -/* Additional functionality provided by: - * POSIX.1-1988 - */ - -#if __DARWIN_C_LEVEL >= 198808L -#define L_ctermid 1024 /* size for ctermid(); PATH_MAX */ - -__BEGIN_DECLS -#include <_ctermid.h> - -#if defined(_DARWIN_UNLIMITED_STREAMS) || defined(_DARWIN_C_SOURCE) -FILE *fdopen(int, const char *) __DARWIN_ALIAS_STARTING(__MAC_10_6, __IPHONE_3_2, __DARWIN_EXTSN(fdopen)); -#else /* !_DARWIN_UNLIMITED_STREAMS && !_DARWIN_C_SOURCE */ -FILE *fdopen(int, const char *) __DARWIN_ALIAS_STARTING(__MAC_10_6, __IPHONE_2_0, __DARWIN_ALIAS(fdopen)); -#endif /* (DARWIN_UNLIMITED_STREAMS || _DARWIN_C_SOURCE) */ -int fileno(FILE *); -__END_DECLS -#endif /* __DARWIN_C_LEVEL >= 198808L */ - - -/* Additional functionality provided by: - * POSIX.2-1992 C Language Binding Option - */ - -#if __DARWIN_C_LEVEL >= 199209L -__BEGIN_DECLS -int pclose(FILE *) __swift_unavailable("Use posix_spawn APIs or NSTask instead. (On iOS, process spawning is unavailable.)"); -#if defined(_DARWIN_UNLIMITED_STREAMS) || defined(_DARWIN_C_SOURCE) -FILE *popen(const char *, const char *) __DARWIN_ALIAS_STARTING(__MAC_10_6, __IPHONE_3_2, __DARWIN_EXTSN(popen)) __swift_unavailable("Use posix_spawn APIs or NSTask instead. (On iOS, process spawning is unavailable.)"); -#else /* !_DARWIN_UNLIMITED_STREAMS && !_DARWIN_C_SOURCE */ -FILE *popen(const char *, const char *) __DARWIN_ALIAS_STARTING(__MAC_10_6, __IPHONE_2_0, __DARWIN_ALIAS(popen)) __swift_unavailable("Use posix_spawn APIs or NSTask instead. (On iOS, process spawning is unavailable.)"); -#endif /* (DARWIN_UNLIMITED_STREAMS || _DARWIN_C_SOURCE) */ -__END_DECLS -#endif /* __DARWIN_C_LEVEL >= 199209L */ - -/* Additional functionality provided by: - * POSIX.1c-1995, - * POSIX.1i-1995, - * and the omnibus ISO/IEC 9945-1: 1996 - */ - -#if __DARWIN_C_LEVEL >= 199506L - -/* Functions internal to the implementation. */ -__BEGIN_DECLS -int __srget(FILE *); -int __svfscanf(FILE *, const char *, va_list) __scanflike(2, 0); -int __swbuf(int, FILE *); -__END_DECLS - -/* - * The __sfoo macros are here so that we can - * define function versions in the C library. - */ -#define __sgetc(p) (--(p)->_r < 0 ? __srget(p) : (int)(*(p)->_p++)) -#if defined(__GNUC__) && defined(__STDC__) -__header_always_inline int __sputc(int _c, FILE *_p) { - if (--_p->_w >= 0 || (_p->_w >= _p->_lbfsize && (char)_c != '\n')) - return (*_p->_p++ = _c); - else - return (__swbuf(_c, _p)); -} -#else -/* - * This has been tuned to generate reasonable code on the vax using pcc. - */ -#define __sputc(c, p) \ - (--(p)->_w < 0 ? \ - (p)->_w >= (p)->_lbfsize ? \ - (*(p)->_p = (c)), *(p)->_p != '\n' ? \ - (int)*(p)->_p++ : \ - __swbuf('\n', p) : \ - __swbuf((int)(c), p) : \ - (*(p)->_p = (c), (int)*(p)->_p++)) -#endif - -#define __sfeof(p) (((p)->_flags & __SEOF) != 0) -#define __sferror(p) (((p)->_flags & __SERR) != 0) -#define __sclearerr(p) ((void)((p)->_flags &= ~(__SERR|__SEOF))) -#define __sfileno(p) ((p)->_file) - -__BEGIN_DECLS -void flockfile(FILE *); -int ftrylockfile(FILE *); -void funlockfile(FILE *); -int getc_unlocked(FILE *); -int getchar_unlocked(void); -int putc_unlocked(int, FILE *); -int putchar_unlocked(int); - -/* Removed in Issue 6 */ -#if !defined(_POSIX_C_SOURCE) || _POSIX_C_SOURCE < 200112L -int getw(FILE *); -int putw(int, FILE *); -#endif - -__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); -__END_DECLS - -#ifndef lint -#define getc_unlocked(fp) __sgetc(fp) -#define putc_unlocked(x, fp) __sputc(x, fp) -#endif /* lint */ - -#define getchar_unlocked() getc_unlocked(stdin) -#define putchar_unlocked(x) putc_unlocked(x, stdout) -#endif /* __DARWIN_C_LEVEL >= 199506L */ - - - -/* Additional functionality provided by: - * POSIX.1-2001 - * ISO C99 - */ - -#if __DARWIN_C_LEVEL >= 200112L -#include - -__BEGIN_DECLS -int fseeko(FILE * __stream, off_t __offset, int __whence); -off_t ftello(FILE * __stream); -__END_DECLS -#endif /* __DARWIN_C_LEVEL >= 200112L */ - -#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 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 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) */ - - - -/* Additional functionality provided by: - * POSIX.1-2008 - */ - -#if __DARWIN_C_LEVEL >= 200809L -#include - -__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)); -__END_DECLS -#endif /* __DARWIN_C_LEVEL >= 200809L */ - - - -/* Darwin extensions */ - -#if __DARWIN_C_LEVEL >= __DARWIN_C_FULL -__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 *); -__const char *fmtcheck(const char *, const char *); -int fpurge(FILE *); -void setbuffer(FILE *, char *, int); -int setlinebuf(FILE *); -int vasprintf(char ** __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), - fpos_t (* _Nullable)(void *, fpos_t, int), - int (* _Nullable)(void *)); -__END_DECLS -#define fropen(cookie, fn) funopen(cookie, fn, 0, 0, 0) -#define fwopen(cookie, fn) funopen(cookie, 0, fn, 0, 0) - -#define feof_unlocked(p) __sfeof(p) -#define ferror_unlocked(p) __sferror(p) -#define clearerr_unlocked(p) __sclearerr(p) -#define fileno_unlocked(p) __sfileno(p) - -#endif /* __DARWIN_C_LEVEL >= __DARWIN_C_FULL */ - - -#ifdef _USE_EXTENDED_LOCALES_ -#include -#endif /* _USE_EXTENDED_LOCALES_ */ - -#if defined (__GNUC__) && _FORTIFY_SOURCE > 0 && !defined (__cplusplus) -/* Security checking functions. */ -#include -#endif - -#endif /* _STDIO_H_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.12-any/stdlib.h b/lib/libc/include/any-macos.12-any/stdlib.h deleted file mode 100644 index c66656215b..0000000000 --- a/lib/libc/include/any-macos.12-any/stdlib.h +++ /dev/null @@ -1,375 +0,0 @@ -/* - * Copyright (c) 2000, 2002 - 2008 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@ - */ -/*- - * Copyright (c) 1990, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)stdlib.h 8.5 (Berkeley) 5/19/95 - */ - -#ifndef _STDLIB_H_ -#define _STDLIB_H_ - -#include -#include - -#include <_types.h> -#if !defined(_ANSI_SOURCE) -#include -#if (!defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)) -#include -#endif /* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */ -#endif /* !_ANSI_SOURCE */ - -/* DO NOT REMOVE THIS COMMENT: fixincludes needs to see: - * _GCC_SIZE_T */ -#include - -#if !defined(_ANSI_SOURCE) && (!defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)) -#include -#include -#endif /* !_ANSI_SOURCE && (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */ - -#include - -typedef struct { - int quot; /* quotient */ - int rem; /* remainder */ -} div_t; - -typedef struct { - long quot; /* quotient */ - long rem; /* remainder */ -} ldiv_t; - -#if !__DARWIN_NO_LONG_LONG -typedef struct { - long long quot; - long long rem; -} lldiv_t; -#endif /* !__DARWIN_NO_LONG_LONG */ - -#include - -#define EXIT_FAILURE 1 -#define EXIT_SUCCESS 0 - -#define RAND_MAX 0x7fffffff - -#ifdef _USE_EXTENDED_LOCALES_ -#include <_xlocale.h> -#endif /* _USE_EXTENDED_LOCALES_ */ - -#ifndef MB_CUR_MAX -#ifdef _USE_EXTENDED_LOCALES_ -#define MB_CUR_MAX (___mb_cur_max()) -#ifndef MB_CUR_MAX_L -#define MB_CUR_MAX_L(x) (___mb_cur_max_l(x)) -#endif /* !MB_CUR_MAX_L */ -#else /* !_USE_EXTENDED_LOCALES_ */ -extern int __mb_cur_max; -#define MB_CUR_MAX __mb_cur_max -#endif /* _USE_EXTENDED_LOCALES_ */ -#endif /* MB_CUR_MAX */ - -#if !defined(_ANSI_SOURCE) && (!defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)) \ - && defined(_USE_EXTENDED_LOCALES_) && !defined(MB_CUR_MAX_L) -#define MB_CUR_MAX_L(x) (___mb_cur_max_l(x)) -#endif - -#include - -__BEGIN_DECLS -void abort(void) __cold __dead2; -int abs(int) __pure2; -int atexit(void (* _Nonnull)(void)); -double atof(const char *); -int atoi(const char *); -long atol(const char *); -#if !__DARWIN_NO_LONG_LONG -long long - atoll(const char *); -#endif /* !__DARWIN_NO_LONG_LONG */ -void *bsearch(const void *__key, const void *__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 *); -long labs(long) __pure2; -ldiv_t ldiv(long, long) __pure2; -#if !__DARWIN_NO_LONG_LONG -long long - llabs(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); -/* posix_memalign is now declared in _malloc.h */ -void qsort(void *__base, size_t __nel, size_t __width, - int (* _Nonnull __compar)(const void *, const void *)); -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); -long double - strtold(const char *, char **); -#if !__DARWIN_NO_LONG_LONG -long long - strtoll(const char *__str, char **__endptr, int __base); -#endif /* !__DARWIN_NO_LONG_LONG */ -unsigned long - strtoul(const char *__str, char **__endptr, int __base); -#if !__DARWIN_NO_LONG_LONG -unsigned long long - strtoull(const char *__str, char **__endptr, int __base); -#endif /* !__DARWIN_NO_LONG_LONG */ - -__swift_unavailable("Use posix_spawn APIs or NSTask instead. (On iOS, process spawning is unavailable.)") -__API_AVAILABLE(macos(10.0)) __IOS_PROHIBITED -__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); - -#ifndef _ANSI_SOURCE -void _Exit(int) __dead2; -long a64l(const char *); -double drand48(void); -char *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 **); -int grantpt(int); -#if __DARWIN_UNIX03 -char *initstate(unsigned, char *, size_t); /* no __DARWIN_ALIAS needed */ -#else /* !__DARWIN_UNIX03 */ -char *initstate(unsigned long, char *, long); -#endif /* __DARWIN_UNIX03 */ -long jrand48(unsigned short[3]) __swift_unavailable("Use arc4random instead."); -char *l64a(long); -void lcong48(unsigned short[7]); -long lrand48(void) __swift_unavailable("Use arc4random instead."); -char *mktemp(char *); -int mkstemp(char *); -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); - -#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)); -#endif - -int putenv(char *) __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); -#else /* (!__DARWIN_UNIX03 || _POSIX_C_SOURCE) && !_DARWIN_C_SOURCE && !_DARWIN_BETTER_REALPATH */ -char *realpath(const char * __restrict, char * __restrict) __DARWIN_ALIAS(realpath); -#endif /* (__DARWIN_UNIX03 && _POSIX_C_SOURCE) || _DARWIN_C_SOURCE || _DARWIN_BETTER_REALPATH */ -unsigned short - *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 *); -void srand48(long); -#if __DARWIN_UNIX03 -void srandom(unsigned); -#else /* !__DARWIN_UNIX03 */ -void srandom(unsigned long); -#endif /* __DARWIN_UNIX03 */ -int unlockpt(int); -#if __DARWIN_UNIX03 -int unsetenv(const char *) __DARWIN_ALIAS(unsetenv); -#else /* !__DARWIN_UNIX03 */ -void unsetenv(const char *); -#endif /* __DARWIN_UNIX03 */ -#endif /* !_ANSI_SOURCE */ - -#if !defined(_ANSI_SOURCE) && (!defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)) -#include -#include -#include -#include <_types/_uint32_t.h> - -uint32_t arc4random(void); -void arc4random_addrandom(unsigned char * /*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_stir(void); -uint32_t - arc4random_uniform(uint32_t __upper_bound) __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_4_3); -#ifdef __BLOCKS__ -int atexit_b(void (^ _Nonnull)(void)) __OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_3_2); - -#ifdef __BLOCKS__ -#if __has_attribute(noescape) -#define __bsearch_noescape __attribute__((__noescape__)) -#else -#define __bsearch_noescape -#endif -#endif /* __BLOCKS__ */ -void *bsearch_b(const void *__key, const void *__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); -int cgetclose(void); -int cgetent(char **, char **, const char *); -int cgetfirst(char **, char **); -int cgetmatch(const char *, const char *); -int cgetnext(char **, char **); -int cgetnum(char *, const char *, long *); -int cgetset(const char *); -int cgetstr(char *, const char *, char **); -int cgetustr(char *, const char *, char **); - -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); -const char - *getprogname(void); -void setprogname(const char *); - -#ifdef __BLOCKS__ -#if __has_attribute(noescape) -#define __sort_noescape __attribute__((__noescape__)) -#else -#define __sort_noescape -#endif -#endif /* __BLOCKS__ */ - -int heapsort(void *__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 (^ _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 (* _Nonnull __compar)(const void *, const void *)); -#ifdef __BLOCKS__ -int mergesort_b(void *__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, - 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, - 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 *, - 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, - 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 *, - int (* _Nonnull __compar)(void *, const void *, const void *)); -int radixsort(const unsigned char **__base, int __nel, const unsigned char *__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, - unsigned __endbyte); -void sranddev(void); -void srandomdev(void); -void *reallocf(void *__ptr, size_t __size) __alloc_size(2); -long long - strtonum(const char *__numstr, long long __minval, long long __maxval, const char **__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); -unsigned long long - strtouq(const char *__str, char **__endptr, int __base); -#endif /* !__DARWIN_NO_LONG_LONG */ -extern char *suboptarg; /* getsubopt(3) external variable */ -/* valloc is now declared in _malloc.h */ -#endif /* !_ANSI_SOURCE && !_POSIX_SOURCE */ - -/* Poison the following routines if -fshort-wchar is set */ -#if !defined(__cplusplus) && defined(__WCHAR_MAX__) && __WCHAR_MAX__ <= 0xffffU -#pragma GCC poison mbstowcs mbtowc wcstombs wctomb -#endif -__END_DECLS - -#ifdef _USE_EXTENDED_LOCALES_ -#include -#endif /* _USE_EXTENDED_LOCALES_ */ - -#endif /* _STDLIB_H_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.12-any/sys/_symbol_aliasing.h b/lib/libc/include/any-macos.12-any/sys/_symbol_aliasing.h deleted file mode 100644 index 8dd6e6c8a8..0000000000 --- a/lib/libc/include/any-macos.12-any/sys/_symbol_aliasing.h +++ /dev/null @@ -1,612 +0,0 @@ -/* Copyright (c) 2010 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 _CDEFS_H_ -# error "Never use directly. Use instead." -#endif - -#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 20000 -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_2_0(x) x -#else -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_2_0(x) -#endif - -#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 20100 -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_2_1(x) x -#else -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_2_1(x) -#endif - -#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 20200 -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_2_2(x) x -#else -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_2_2(x) -#endif - -#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 30000 -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_3_0(x) x -#else -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_3_0(x) -#endif - -#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 30100 -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_3_1(x) x -#else -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_3_1(x) -#endif - -#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 30200 -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_3_2(x) x -#else -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_3_2(x) -#endif - -#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 40000 -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_4_0(x) x -#else -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_4_0(x) -#endif - -#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 40100 -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_4_1(x) x -#else -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_4_1(x) -#endif - -#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 40200 -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_4_2(x) x -#else -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_4_2(x) -#endif - -#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 40300 -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_4_3(x) x -#else -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_4_3(x) -#endif - -#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 50000 -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_5_0(x) x -#else -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_5_0(x) -#endif - -#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 50100 -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_5_1(x) x -#else -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_5_1(x) -#endif - -#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 60000 -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_6_0(x) x -#else -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_6_0(x) -#endif - -#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 60100 -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_6_1(x) x -#else -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_6_1(x) -#endif - -#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 70000 -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_7_0(x) x -#else -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_7_0(x) -#endif - -#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 70100 -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_7_1(x) x -#else -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_7_1(x) -#endif - -#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 80000 -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_8_0(x) x -#else -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_8_0(x) -#endif - -#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 80100 -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_8_1(x) x -#else -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_8_1(x) -#endif - -#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 80200 -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_8_2(x) x -#else -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_8_2(x) -#endif - -#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 80300 -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_8_3(x) x -#else -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_8_3(x) -#endif - -#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 80400 -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_8_4(x) x -#else -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_8_4(x) -#endif - -#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 90000 -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_9_0(x) x -#else -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_9_0(x) -#endif - -#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 90100 -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_9_1(x) x -#else -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_9_1(x) -#endif - -#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 90200 -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_9_2(x) x -#else -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_9_2(x) -#endif - -#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 90300 -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_9_3(x) x -#else -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_9_3(x) -#endif - -#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 100000 -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_10_0(x) x -#else -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_10_0(x) -#endif - -#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 100100 -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_10_1(x) x -#else -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_10_1(x) -#endif - -#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 100200 -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_10_2(x) x -#else -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_10_2(x) -#endif - -#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 100300 -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_10_3(x) x -#else -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_10_3(x) -#endif - -#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 110000 -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_11_0(x) x -#else -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_11_0(x) -#endif - -#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 110100 -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_11_1(x) x -#else -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_11_1(x) -#endif - -#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 110200 -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_11_2(x) x -#else -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_11_2(x) -#endif - -#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 110300 -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_11_3(x) x -#else -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_11_3(x) -#endif - -#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 110400 -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_11_4(x) x -#else -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_11_4(x) -#endif - -#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 120000 -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_12_0(x) x -#else -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_12_0(x) -#endif - -#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 120100 -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_12_1(x) x -#else -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_12_1(x) -#endif - -#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 120200 -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_12_2(x) x -#else -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_12_2(x) -#endif - -#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 120300 -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_12_3(x) x -#else -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_12_3(x) -#endif - -#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 120400 -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_12_4(x) x -#else -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_12_4(x) -#endif - -#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 130000 -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_13_0(x) x -#else -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_13_0(x) -#endif - -#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 130100 -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_13_1(x) x -#else -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_13_1(x) -#endif - -#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 130200 -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_13_2(x) x -#else -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_13_2(x) -#endif - -#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 130300 -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_13_3(x) x -#else -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_13_3(x) -#endif - -#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 130400 -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_13_4(x) x -#else -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_13_4(x) -#endif - -#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 130500 -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_13_5(x) x -#else -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_13_5(x) -#endif - -#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 130600 -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_13_6(x) x -#else -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_13_6(x) -#endif - -#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 130700 -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_13_7(x) x -#else -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_13_7(x) -#endif - -#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 140000 -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_14_0(x) x -#else -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_14_0(x) -#endif - -#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 140100 -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_14_1(x) x -#else -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_14_1(x) -#endif - -#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 140200 -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_14_2(x) x -#else -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_14_2(x) -#endif - -#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 140300 -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_14_3(x) x -#else -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_14_3(x) -#endif - -#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 140500 -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_14_5(x) x -#else -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_14_5(x) -#endif - -#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 150000 -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_15_0(x) x -#else -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_15_0(x) -#endif - -#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 150100 -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_15_1(x) x -#else -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_15_1(x) -#endif - -#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 150200 -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_15_2(x) x -#else -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_15_2(x) -#endif - -#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 150300 -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_15_3(x) x -#else -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_15_3(x) -#endif - -#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 150400 -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_15_4(x) x -#else -#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_15_4(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 -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_0(x) -#endif - -#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 1010 -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_1(x) x -#else -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_1(x) -#endif - -#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 1020 -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_2(x) x -#else -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_2(x) -#endif - -#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 1030 -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_3(x) x -#else -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_3(x) -#endif - -#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 1040 -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_4(x) x -#else -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_4(x) -#endif - -#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 1050 -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_5(x) x -#else -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_5(x) -#endif - -#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 1060 -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_6(x) x -#else -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_6(x) -#endif - -#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 1070 -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_7(x) x -#else -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_7(x) -#endif - -#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 1080 -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_8(x) x -#else -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_8(x) -#endif - -#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 1090 -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_9(x) x -#else -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_9(x) -#endif - -#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 101000 -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_10(x) x -#else -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_10(x) -#endif - -#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 101002 -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_10_2(x) x -#else -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_10_2(x) -#endif - -#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 101003 -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_10_3(x) x -#else -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_10_3(x) -#endif - -#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 101100 -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_11(x) x -#else -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_11(x) -#endif - -#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 101102 -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_11_2(x) x -#else -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_11_2(x) -#endif - -#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 101103 -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_11_3(x) x -#else -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_11_3(x) -#endif - -#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 101104 -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_11_4(x) x -#else -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_11_4(x) -#endif - -#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 101200 -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_12(x) x -#else -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_12(x) -#endif - -#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 101201 -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_12_1(x) x -#else -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_12_1(x) -#endif - -#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 101202 -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_12_2(x) x -#else -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_12_2(x) -#endif - -#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 101204 -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_12_4(x) x -#else -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_12_4(x) -#endif - -#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 101300 -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_13(x) x -#else -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_13(x) -#endif - -#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 101301 -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_13_1(x) x -#else -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_13_1(x) -#endif - -#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 101302 -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_13_2(x) x -#else -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_13_2(x) -#endif - -#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 101304 -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_13_4(x) x -#else -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_13_4(x) -#endif - -#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 101400 -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_14(x) x -#else -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_14(x) -#endif - -#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 101401 -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_14_1(x) x -#else -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_14_1(x) -#endif - -#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 101404 -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_14_4(x) x -#else -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_14_4(x) -#endif - -#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 101405 -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_14_5(x) x -#else -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_14_5(x) -#endif - -#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 101406 -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_14_6(x) x -#else -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_14_6(x) -#endif - -#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 101500 -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_15(x) x -#else -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_15(x) -#endif - -#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 101501 -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_15_1(x) x -#else -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_15_1(x) -#endif - -#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 101600 -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_16(x) x -#else -#define __DARWIN_ALIAS_STARTING_MAC___MAC_10_16(x) -#endif - -#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 110000 -#define __DARWIN_ALIAS_STARTING_MAC___MAC_11_0(x) x -#else -#define __DARWIN_ALIAS_STARTING_MAC___MAC_11_0(x) -#endif - -#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 110100 -#define __DARWIN_ALIAS_STARTING_MAC___MAC_11_1(x) x -#else -#define __DARWIN_ALIAS_STARTING_MAC___MAC_11_1(x) -#endif - -#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 110300 -#define __DARWIN_ALIAS_STARTING_MAC___MAC_11_3(x) x -#else -#define __DARWIN_ALIAS_STARTING_MAC___MAC_11_3(x) -#endif - -#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 120000 -#define __DARWIN_ALIAS_STARTING_MAC___MAC_12_0(x) x -#else -#define __DARWIN_ALIAS_STARTING_MAC___MAC_12_0(x) -#endif - -#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 120100 -#define __DARWIN_ALIAS_STARTING_MAC___MAC_12_1(x) x -#else -#define __DARWIN_ALIAS_STARTING_MAC___MAC_12_1(x) -#endif - -#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 120200 -#define __DARWIN_ALIAS_STARTING_MAC___MAC_12_2(x) x -#else -#define __DARWIN_ALIAS_STARTING_MAC___MAC_12_2(x) -#endif - -#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 120300 -#define __DARWIN_ALIAS_STARTING_MAC___MAC_12_3(x) x -#else -#define __DARWIN_ALIAS_STARTING_MAC___MAC_12_3(x) -#endif \ No newline at end of file diff --git a/lib/libc/include/any-macos.12-any/sys/attr.h b/lib/libc/include/any-macos.12-any/sys/attr.h deleted file mode 100644 index 79a912cd1e..0000000000 --- a/lib/libc/include/any-macos.12-any/sys/attr.h +++ /dev/null @@ -1,592 +0,0 @@ -/* - * Copyright (c) 2000-2018 Apple Computer, 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@ - */ - -/* - * attr.h - attribute data structures and interfaces - * - * Copyright (c) 1998, Apple Computer, Inc. All Rights Reserved. - */ - -#ifndef _SYS_ATTR_H_ -#define _SYS_ATTR_H_ - -#include - -#ifdef __APPLE_API_UNSTABLE -#include -#include -#include -#include - -#define FSOPT_NOFOLLOW 0x00000001 -#define FSOPT_NOINMEMUPDATE 0x00000002 -#define FSOPT_REPORT_FULLSIZE 0x00000004 -/* The following option only valid when requesting ATTR_CMN_RETURNED_ATTRS */ -#define FSOPT_PACK_INVAL_ATTRS 0x00000008 - - -#define FSOPT_ATTR_CMN_EXTENDED 0x00000020 -#define FSOPT_RETURN_REALDEV 0x00000200 -#define FSOPT_NOFOLLOW_ANY 0x00000800 - -/* we currently aren't anywhere near this amount for a valid - * fssearchblock.sizeofsearchparams1 or fssearchblock.sizeofsearchparams2 - * but we put a sanity check in to avoid abuse of the value passed in from - * user land. - */ -#define SEARCHFS_MAX_SEARCHPARMS 4096 - -typedef u_int32_t text_encoding_t; - -typedef u_int32_t fsobj_type_t; - -typedef u_int32_t fsobj_tag_t; - -typedef u_int32_t fsfile_type_t; - -typedef u_int32_t fsvolid_t; - -#include /* file object id type */ - -typedef u_int32_t attrgroup_t; - -struct attrlist { - u_short bitmapcount; /* number of attr. bit sets in list (should be 5) */ - u_int16_t reserved; /* (to maintain 4-byte alignment) */ - attrgroup_t commonattr; /* common attribute group */ - attrgroup_t volattr; /* Volume attribute group */ - attrgroup_t dirattr; /* directory attribute group */ - attrgroup_t fileattr; /* file attribute group */ - attrgroup_t forkattr; /* fork attribute group */ -}; - -#define ATTR_BIT_MAP_COUNT 5 - -typedef struct attribute_set { - attrgroup_t commonattr; /* common attribute group */ - attrgroup_t volattr; /* Volume attribute group */ - attrgroup_t dirattr; /* directory attribute group */ - attrgroup_t fileattr; /* file attribute group */ - attrgroup_t forkattr; /* fork attribute group */ -} attribute_set_t; - -#define ATTRIBUTE_SET_INIT(a) do {(a)->commonattr = (a)->volattr = (a)->dirattr = (a)->fileattr = (a)->forkattr = 0; } while(0) - - -typedef struct attrreference { - int32_t attr_dataoffset; - u_int32_t attr_length; -} attrreference_t; - -/* XXX PPD This is derived from HFSVolumePriv.h and should perhaps be referenced from there? */ - -struct diskextent { - u_int32_t startblock; /* first block allocated */ - u_int32_t blockcount; /* number of blocks allocated */ -}; - -typedef struct diskextent extentrecord[8]; - -typedef u_int32_t vol_capabilities_set_t[4]; - -#define VOL_CAPABILITIES_FORMAT 0 -#define VOL_CAPABILITIES_INTERFACES 1 -#define VOL_CAPABILITIES_RESERVED1 2 -#define VOL_CAPABILITIES_RESERVED2 3 - -typedef struct vol_capabilities_attr { - vol_capabilities_set_t capabilities; - vol_capabilities_set_t valid; -} vol_capabilities_attr_t; - -/* - * XXX this value needs to be raised - 3893388 - */ -#define ATTR_MAX_BUFFER 8192 - -/* - * VOL_CAP_FMT_PERSISTENTOBJECTIDS: When set, the volume has object IDs - * that are persistent (retain their values even when the volume is - * unmounted and remounted), and a file or directory can be looked up - * by ID. Volumes that support VolFS and can support Carbon File ID - * references should set this bit. - * - * VOL_CAP_FMT_SYMBOLICLINKS: When set, the volume supports symbolic - * links. The symlink(), readlink(), and lstat() calls all use this - * symbolic link. - * - * VOL_CAP_FMT_HARDLINKS: When set, the volume supports hard links. - * The link() call creates hard links. - * - * VOL_CAP_FMT_JOURNAL: When set, the volume is capable of supporting - * a journal used to speed recovery in case of unplanned shutdown - * (such as a power outage or crash). This bit does not necessarily - * mean the volume is actively using a journal for recovery. - * - * VOL_CAP_FMT_JOURNAL_ACTIVE: When set, the volume is currently using - * a journal for use in speeding recovery after an unplanned shutdown. - * This bit can be set only if VOL_CAP_FMT_JOURNAL is also set. - * - * VOL_CAP_FMT_NO_ROOT_TIMES: When set, the volume format does not - * store reliable times for the root directory, so you should not - * depend on them to detect changes, etc. - * - * VOL_CAP_FMT_SPARSE_FILES: When set, the volume supports sparse files. - * That is, files which can have "holes" that have never been written - * to, and are not allocated on disk. Sparse files may have an - * allocated size that is less than the file's logical length. - * - * VOL_CAP_FMT_ZERO_RUNS: For security reasons, parts of a file (runs) - * that have never been written to must appear to contain zeroes. When - * this bit is set, the volume keeps track of allocated but unwritten - * runs of a file so that it can substitute zeroes without actually - * writing zeroes to the media. This provides performance similar to - * sparse files, but not the space savings. - * - * VOL_CAP_FMT_CASE_SENSITIVE: When set, file and directory names are - * case sensitive (upper and lower case are different). When clear, - * an upper case character is equivalent to a lower case character, - * and you can't have two names that differ solely in the case of - * the characters. - * - * VOL_CAP_FMT_CASE_PRESERVING: When set, file and directory names - * preserve the difference between upper and lower case. If clear, - * the volume may change the case of some characters (typically - * making them all upper or all lower case). A volume that sets - * VOL_CAP_FMT_CASE_SENSITIVE should also set VOL_CAP_FMT_CASE_PRESERVING. - * - * VOL_CAP_FMT_FAST_STATFS: This bit is used as a hint to upper layers - * (especially Carbon) that statfs() is fast enough that its results - * need not be cached by those upper layers. A volume that caches - * the statfs information in its in-memory structures should set this bit. - * A volume that must always read from disk or always perform a network - * transaction should not set this bit. - * - * VOL_CAP_FMT_2TB_FILESIZE: If this bit is set the volume format supports - * file sizes larger than 4GB, and potentially up to 2TB; it does not - * indicate whether the filesystem supports files larger than that. - * - * VOL_CAP_FMT_OPENDENYMODES: When set, the volume supports open deny - * modes (e.g. "open for read write, deny write"; effectively, mandatory - * file locking based on open modes). - * - * VOL_CAP_FMT_HIDDEN_FILES: When set, the volume supports the UF_HIDDEN - * file flag, and the UF_HIDDEN flag is mapped to that volume's native - * "hidden" or "invisible" bit (which may be the invisible bit from the - * Finder Info extended attribute). - * - * VOL_CAP_FMT_PATH_FROM_ID: When set, the volume supports the ability - * to derive a pathname to the root of the file system given only the - * id of an object. This also implies that object ids on this file - * system are persistent and not recycled. This is a very specialized - * capability and it is assumed that most file systems will not support - * it. Its use is for legacy non-posix APIs like ResolveFileIDRef. - * - * VOL_CAP_FMT_NO_VOLUME_SIZES: When set, the volume does not support - * returning values for total data blocks, available blocks, or free blocks - * (as in f_blocks, f_bavail, or f_bfree in "struct statfs"). Historically, - * those values were set to 0xFFFFFFFF for volumes that did not support them. - * - * VOL_CAP_FMT_DECMPFS_COMPRESSION: When set, the volume supports transparent - * decompression of compressed files using decmpfs. - * - * VOL_CAP_FMT_64BIT_OBJECT_IDS: When set, the volume uses object IDs that - * are 64-bit. This means that ATTR_CMN_FILEID and ATTR_CMN_PARENTID are the - * only legitimate attributes for obtaining object IDs from this volume and the - * 32-bit fid_objno fields of the fsobj_id_t returned by ATTR_CMN_OBJID, - * ATTR_CMN_OBJPERMID, and ATTR_CMN_PAROBJID are undefined. - * - * VOL_CAP_FMT_DIR_HARDLINKS: When set, the volume supports directory - * hard links. - * - * VOL_CAP_FMT_DOCUMENT_ID: When set, the volume supports document IDs - * (an ID which persists across object ID changes) for document revisions. - * - * VOL_CAP_FMT_WRITE_GENERATION_COUNT: When set, the volume supports write - * generation counts (a count of how many times an object has been modified) - * - * VOL_CAP_FMT_NO_IMMUTABLE_FILES: When set, the volume does not support - * setting the UF_IMMUTABLE flag. - * - * VOL_CAP_FMT_NO_PERMISSIONS: When set, the volume does not support setting - * permissions. - * - * VOL_CAP_FMT_SHARED_SPACE: When set, the volume supports sharing space with - * other filesystems i.e. multiple logical filesystems can exist in the same - * "partition". An implication of this is that the filesystem which sets - * this capability treats waitfor arguments to VFS_SYNC as bit flags. - * - * VOL_CAP_FMT_VOL_GROUPS: When set, this volume is part of a volume-group - * that implies multiple volumes must be mounted in order to boot and root the - * operating system. Typically, this means a read-only system volume and a - * writable data volume. - * - * VOL_CAP_FMT_SEALED: When set, this volume is cryptographically sealed. - * Any modifications to volume data or metadata will be detected and may - * render the volume unusable. - */ -#define VOL_CAP_FMT_PERSISTENTOBJECTIDS 0x00000001 -#define VOL_CAP_FMT_SYMBOLICLINKS 0x00000002 -#define VOL_CAP_FMT_HARDLINKS 0x00000004 -#define VOL_CAP_FMT_JOURNAL 0x00000008 -#define VOL_CAP_FMT_JOURNAL_ACTIVE 0x00000010 -#define VOL_CAP_FMT_NO_ROOT_TIMES 0x00000020 -#define VOL_CAP_FMT_SPARSE_FILES 0x00000040 -#define VOL_CAP_FMT_ZERO_RUNS 0x00000080 -#define VOL_CAP_FMT_CASE_SENSITIVE 0x00000100 -#define VOL_CAP_FMT_CASE_PRESERVING 0x00000200 -#define VOL_CAP_FMT_FAST_STATFS 0x00000400 -#define VOL_CAP_FMT_2TB_FILESIZE 0x00000800 -#define VOL_CAP_FMT_OPENDENYMODES 0x00001000 -#define VOL_CAP_FMT_HIDDEN_FILES 0x00002000 -#define VOL_CAP_FMT_PATH_FROM_ID 0x00004000 -#define VOL_CAP_FMT_NO_VOLUME_SIZES 0x00008000 -#define VOL_CAP_FMT_DECMPFS_COMPRESSION 0x00010000 -#define VOL_CAP_FMT_64BIT_OBJECT_IDS 0x00020000 -#define VOL_CAP_FMT_DIR_HARDLINKS 0x00040000 -#define VOL_CAP_FMT_DOCUMENT_ID 0x00080000 -#define VOL_CAP_FMT_WRITE_GENERATION_COUNT 0x00100000 -#define VOL_CAP_FMT_NO_IMMUTABLE_FILES 0x00200000 -#define VOL_CAP_FMT_NO_PERMISSIONS 0x00400000 -#define VOL_CAP_FMT_SHARED_SPACE 0x00800000 -#define VOL_CAP_FMT_VOL_GROUPS 0x01000000 -#define VOL_CAP_FMT_SEALED 0x02000000 - -/* - * VOL_CAP_INT_SEARCHFS: When set, the volume implements the - * searchfs() system call (the vnop_searchfs vnode operation). - * - * VOL_CAP_INT_ATTRLIST: When set, the volume implements the - * getattrlist() and setattrlist() system calls (vnop_getattrlist - * and vnop_setattrlist vnode operations) for the volume, files, - * and directories. The volume may or may not implement the - * readdirattr() system call. XXX Is there any minimum set - * of attributes that should be supported? To determine the - * set of supported attributes, get the ATTR_VOL_ATTRIBUTES - * attribute of the volume. - * - * VOL_CAP_INT_NFSEXPORT: When set, the volume implements exporting - * of NFS volumes. - * - * VOL_CAP_INT_READDIRATTR: When set, the volume implements the - * readdirattr() system call (vnop_readdirattr vnode operation). - * - * VOL_CAP_INT_EXCHANGEDATA: When set, the volume implements the - * exchangedata() system call (VNOP_EXCHANGE vnode operation). - * - * VOL_CAP_INT_COPYFILE: When set, the volume implements the - * VOP_COPYFILE vnode operation. (XXX There should be a copyfile() - * system call in .) - * - * VOL_CAP_INT_ALLOCATE: When set, the volume implements the - * VNOP_ALLOCATE vnode operation, which means it implements the - * F_PREALLOCATE selector of fcntl(2). - * - * VOL_CAP_INT_VOL_RENAME: When set, the volume implements the - * ATTR_VOL_NAME attribute for both getattrlist() and setattrlist(). - * The volume can be renamed by setting ATTR_VOL_NAME with setattrlist(). - * - * VOL_CAP_INT_ADVLOCK: When set, the volume implements POSIX style - * byte range locks via vnop_advlock (accessible from fcntl(2)). - * - * VOL_CAP_INT_FLOCK: When set, the volume implements whole-file flock(2) - * style locks via vnop_advlock. This includes the O_EXLOCK and O_SHLOCK - * flags of the open(2) call. - * - * VOL_CAP_INT_EXTENDED_SECURITY: When set, the volume implements - * extended security (ACLs). - * - * VOL_CAP_INT_USERACCESS: When set, the volume supports the - * ATTR_CMN_USERACCESS attribute (used to get the user's access - * mode to the file). - * - * VOL_CAP_INT_MANLOCK: When set, the volume supports AFP-style - * mandatory byte range locks via an ioctl(). - * - * VOL_CAP_INT_EXTENDED_ATTR: When set, the volume implements - * native extended attribues. - * - * VOL_CAP_INT_NAMEDSTREAMS: When set, the volume supports - * native named streams. - * - * VOL_CAP_INT_CLONE: When set, the volume supports clones. - * - * VOL_CAP_INT_SNAPSHOT: When set, the volume supports snapshots. - * - * VOL_CAP_INT_RENAME_SWAP: When set, the volume supports swapping - * file system objects. - * - * VOL_CAP_INT_RENAME_EXCL: When set, the volume supports an - * exclusive rename operation. - * - * VOL_CAP_INT_RENAME_OPENFAIL: When set, the volume may fail rename - * operations on files that are open. - */ -#define VOL_CAP_INT_SEARCHFS 0x00000001 -#define VOL_CAP_INT_ATTRLIST 0x00000002 -#define VOL_CAP_INT_NFSEXPORT 0x00000004 -#define VOL_CAP_INT_READDIRATTR 0x00000008 -#define VOL_CAP_INT_EXCHANGEDATA 0x00000010 -#define VOL_CAP_INT_COPYFILE 0x00000020 -#define VOL_CAP_INT_ALLOCATE 0x00000040 -#define VOL_CAP_INT_VOL_RENAME 0x00000080 -#define VOL_CAP_INT_ADVLOCK 0x00000100 -#define VOL_CAP_INT_FLOCK 0x00000200 -#define VOL_CAP_INT_EXTENDED_SECURITY 0x00000400 -#define VOL_CAP_INT_USERACCESS 0x00000800 -#define VOL_CAP_INT_MANLOCK 0x00001000 -#define VOL_CAP_INT_NAMEDSTREAMS 0x00002000 -#define VOL_CAP_INT_EXTENDED_ATTR 0x00004000 -#define VOL_CAP_INT_CLONE 0x00010000 -#define VOL_CAP_INT_SNAPSHOT 0x00020000 -#define VOL_CAP_INT_RENAME_SWAP 0x00040000 -#define VOL_CAP_INT_RENAME_EXCL 0x00080000 -#define VOL_CAP_INT_RENAME_OPENFAIL 0x00100000 - -typedef struct vol_attributes_attr { - attribute_set_t validattr; - attribute_set_t nativeattr; -} vol_attributes_attr_t; - -#define ATTR_CMN_NAME 0x00000001 -#define ATTR_CMN_DEVID 0x00000002 -#define ATTR_CMN_FSID 0x00000004 -#define ATTR_CMN_OBJTYPE 0x00000008 -#define ATTR_CMN_OBJTAG 0x00000010 -#define ATTR_CMN_OBJID 0x00000020 -#define ATTR_CMN_OBJPERMANENTID 0x00000040 -#define ATTR_CMN_PAROBJID 0x00000080 -#define ATTR_CMN_SCRIPT 0x00000100 -#define ATTR_CMN_CRTIME 0x00000200 -#define ATTR_CMN_MODTIME 0x00000400 -#define ATTR_CMN_CHGTIME 0x00000800 -#define ATTR_CMN_ACCTIME 0x00001000 -#define ATTR_CMN_BKUPTIME 0x00002000 -#define ATTR_CMN_FNDRINFO 0x00004000 -#define ATTR_CMN_OWNERID 0x00008000 -#define ATTR_CMN_GRPID 0x00010000 -#define ATTR_CMN_ACCESSMASK 0x00020000 -#define ATTR_CMN_FLAGS 0x00040000 - -/* The following were defined as: */ -/* #define ATTR_CMN_NAMEDATTRCOUNT 0x00080000 */ -/* #define ATTR_CMN_NAMEDATTRLIST 0x00100000 */ -/* These bits have been salvaged for use as: */ -/* #define ATTR_CMN_GEN_COUNT 0x00080000 */ -/* #define ATTR_CMN_DOCUMENT_ID 0x00100000 */ -/* They can only be used with the FSOPT_ATTR_CMN_EXTENDED */ -/* option flag. */ - -#define ATTR_CMN_GEN_COUNT 0x00080000 -#define ATTR_CMN_DOCUMENT_ID 0x00100000 - -#define ATTR_CMN_USERACCESS 0x00200000 -#define ATTR_CMN_EXTENDED_SECURITY 0x00400000 -#define ATTR_CMN_UUID 0x00800000 -#define ATTR_CMN_GRPUUID 0x01000000 -#define ATTR_CMN_FILEID 0x02000000 -#define ATTR_CMN_PARENTID 0x04000000 -#define ATTR_CMN_FULLPATH 0x08000000 -#define ATTR_CMN_ADDEDTIME 0x10000000 -#define ATTR_CMN_ERROR 0x20000000 -#define ATTR_CMN_DATA_PROTECT_FLAGS 0x40000000 - -/* - * ATTR_CMN_RETURNED_ATTRS is only valid with getattrlist(2) and - * getattrlistbulk(2). It is always the first attribute in the return buffer. - */ -#define ATTR_CMN_RETURNED_ATTRS 0x80000000 - -#define ATTR_CMN_VALIDMASK 0xFFFFFFFF -/* - * The settable ATTR_CMN_* attributes include the following: - * ATTR_CMN_SCRIPT - * ATTR_CMN_CRTIME - * ATTR_CMN_MODTIME - * ATTR_CMN_CHGTIME - * - * ATTR_CMN_ACCTIME - * ATTR_CMN_BKUPTIME - * ATTR_CMN_FNDRINFO - * ATTR_CMN_OWNERID - * - * ATTR_CMN_GRPID - * ATTR_CMN_ACCESSMASK - * ATTR_CMN_FLAGS - * - * ATTR_CMN_EXTENDED_SECURITY - * ATTR_CMN_UUID - * - * ATTR_CMN_GRPUUID - * - * ATTR_CMN_DATA_PROTECT_FLAGS - */ -#define ATTR_CMN_SETMASK 0x51C7FF00 -#define ATTR_CMN_VOLSETMASK 0x00006700 - -#define ATTR_VOL_FSTYPE 0x00000001 -#define ATTR_VOL_SIGNATURE 0x00000002 -#define ATTR_VOL_SIZE 0x00000004 -#define ATTR_VOL_SPACEFREE 0x00000008 -#define ATTR_VOL_SPACEAVAIL 0x00000010 -#define ATTR_VOL_MINALLOCATION 0x00000020 -#define ATTR_VOL_ALLOCATIONCLUMP 0x00000040 -#define ATTR_VOL_IOBLOCKSIZE 0x00000080 -#define ATTR_VOL_OBJCOUNT 0x00000100 -#define ATTR_VOL_FILECOUNT 0x00000200 -#define ATTR_VOL_DIRCOUNT 0x00000400 -#define ATTR_VOL_MAXOBJCOUNT 0x00000800 -#define ATTR_VOL_MOUNTPOINT 0x00001000 -#define ATTR_VOL_NAME 0x00002000 -#define ATTR_VOL_MOUNTFLAGS 0x00004000 -#define ATTR_VOL_MOUNTEDDEVICE 0x00008000 -#define ATTR_VOL_ENCODINGSUSED 0x00010000 -#define ATTR_VOL_CAPABILITIES 0x00020000 -#define ATTR_VOL_UUID 0x00040000 -#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 0xF087FFFF - -/* - * The list of settable ATTR_VOL_* attributes include the following: - * ATTR_VOL_NAME - * ATTR_VOL_INFO - */ -#define ATTR_VOL_SETMASK 0x80002000 - - -/* File/directory attributes: */ -#define ATTR_DIR_LINKCOUNT 0x00000001 -#define ATTR_DIR_ENTRYCOUNT 0x00000002 -#define ATTR_DIR_MOUNTSTATUS 0x00000004 -#define ATTR_DIR_ALLOCSIZE 0x00000008 -#define ATTR_DIR_IOBLOCKSIZE 0x00000010 -#define ATTR_DIR_DATALENGTH 0x00000020 - -/* ATTR_DIR_MOUNTSTATUS Flags: */ -#define DIR_MNTSTATUS_MNTPOINT 0x00000001 -#define DIR_MNTSTATUS_TRIGGER 0x00000002 - -#define ATTR_DIR_VALIDMASK 0x0000003f -#define ATTR_DIR_SETMASK 0x00000000 - -#define ATTR_FILE_LINKCOUNT 0x00000001 -#define ATTR_FILE_TOTALSIZE 0x00000002 -#define ATTR_FILE_ALLOCSIZE 0x00000004 -#define ATTR_FILE_IOBLOCKSIZE 0x00000008 -#define ATTR_FILE_DEVTYPE 0x00000020 -#define ATTR_FILE_FORKCOUNT 0x00000080 -#define ATTR_FILE_FORKLIST 0x00000100 -#define ATTR_FILE_DATALENGTH 0x00000200 -#define ATTR_FILE_DATAALLOCSIZE 0x00000400 -#define ATTR_FILE_RSRCLENGTH 0x00001000 -#define ATTR_FILE_RSRCALLOCSIZE 0x00002000 - -#define ATTR_FILE_VALIDMASK 0x000037FF -/* - * Settable ATTR_FILE_* attributes include: - * ATTR_FILE_DEVTYPE - */ -#define ATTR_FILE_SETMASK 0x00000020 - -/* CMNEXT attributes extend the common attributes, but in the forkattr field */ -#define ATTR_CMNEXT_RELPATH 0x00000004 -#define ATTR_CMNEXT_PRIVATESIZE 0x00000008 -#define ATTR_CMNEXT_LINKID 0x00000010 -#define ATTR_CMNEXT_NOFIRMLINKPATH 0x00000020 -#define ATTR_CMNEXT_REALDEVID 0x00000040 -#define ATTR_CMNEXT_REALFSID 0x00000080 -#define ATTR_CMNEXT_CLONEID 0x00000100 -#define ATTR_CMNEXT_EXT_FLAGS 0x00000200 -#define ATTR_CMNEXT_RECURSIVE_GENCOUNT 0x00000400 - -#define ATTR_CMNEXT_VALIDMASK 0x000007fc -#define ATTR_CMNEXT_SETMASK 0x00000000 - -/* Deprecated fork attributes */ -#define ATTR_FORK_TOTALSIZE 0x00000001 -#define ATTR_FORK_ALLOCSIZE 0x00000002 -#define ATTR_FORK_RESERVED 0xffffffff - -#define ATTR_FORK_VALIDMASK 0x00000003 -#define ATTR_FORK_SETMASK 0x00000000 - -/* Obsolete, implemented, not supported */ -#define ATTR_CMN_NAMEDATTRCOUNT 0x00080000 -#define ATTR_CMN_NAMEDATTRLIST 0x00100000 -#define ATTR_FILE_CLUMPSIZE 0x00000010 /* obsolete */ -#define ATTR_FILE_FILETYPE 0x00000040 /* always zero */ -#define ATTR_FILE_DATAEXTENTS 0x00000800 /* obsolete, HFS-specific */ -#define ATTR_FILE_RSRCEXTENTS 0x00004000 /* obsolete, HFS-specific */ - -/* Required attributes for getattrlistbulk(2) */ -#define ATTR_BULK_REQUIRED (ATTR_CMN_NAME | ATTR_CMN_RETURNED_ATTRS) - -/* - * Searchfs - */ -#define SRCHFS_START 0x00000001 -#define SRCHFS_MATCHPARTIALNAMES 0x00000002 -#define SRCHFS_MATCHDIRS 0x00000004 -#define SRCHFS_MATCHFILES 0x00000008 -#define SRCHFS_SKIPLINKS 0x00000010 -#define SRCHFS_SKIPINVISIBLE 0x00000020 -#define SRCHFS_SKIPPACKAGES 0x00000040 -#define SRCHFS_SKIPINAPPROPRIATE 0x00000080 - -#define SRCHFS_NEGATEPARAMS 0x80000000 -#define SRCHFS_VALIDOPTIONSMASK 0x800000FF - -struct fssearchblock { - struct attrlist *returnattrs; - void *returnbuffer; - size_t returnbuffersize; - u_long maxmatches; - struct timeval timelimit; - void *searchparams1; - size_t sizeofsearchparams1; - void *searchparams2; - size_t sizeofsearchparams2; - struct attrlist searchattrs; -}; - - -struct searchstate { - uint32_t ss_union_flags; // for SRCHFS_START - uint32_t ss_union_layer; // 0 = top - u_char ss_fsstate[548]; // fs private -} __attribute__((packed)); - -#define FST_EOF (-1) /* end-of-file offset */ - -#endif /* __APPLE_API_UNSTABLE */ -#endif /* !_SYS_ATTR_H_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.12-any/sys/cdefs.h b/lib/libc/include/any-macos.12-any/sys/cdefs.h deleted file mode 100644 index 3e0de09e78..0000000000 --- a/lib/libc/include/any-macos.12-any/sys/cdefs.h +++ /dev/null @@ -1,937 +0,0 @@ -/* - * Copyright (c) 2000-2018 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@ - */ -/* Copyright 1995 NeXT Computer, Inc. All rights reserved. */ -/* - * Copyright (c) 1991, 1993 - * The Regents of the University of California. All rights reserved. - * - * This code is derived from software contributed to Berkeley by - * Berkeley Software Design, Inc. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)cdefs.h 8.8 (Berkeley) 1/9/95 - */ - -#ifndef _CDEFS_H_ -#define _CDEFS_H_ - -#if defined(__cplusplus) -#define __BEGIN_DECLS extern "C" { -#define __END_DECLS } -#else -#define __BEGIN_DECLS -#define __END_DECLS -#endif - -/* This SDK is designed to work with clang and specific versions of - * gcc >= 4.0 with Apple's patch sets */ -#if !defined(__GNUC__) || __GNUC__ < 4 -#warning "Unsupported compiler detected" -#endif - -/* - * Compatibility with compilers and environments that don't support compiler - * feature checking function-like macros. - */ -#ifndef __has_builtin -#define __has_builtin(x) 0 -#endif -#ifndef __has_include -#define __has_include(x) 0 -#endif -#ifndef __has_feature -#define __has_feature(x) 0 -#endif -#ifndef __has_attribute -#define __has_attribute(x) 0 -#endif -#ifndef __has_extension -#define __has_extension(x) 0 -#endif - -/* - * The __CONCAT macro is used to concatenate parts of symbol names, e.g. - * with "#define OLD(foo) __CONCAT(old,foo)", OLD(foo) produces oldfoo. - * The __CONCAT macro is a bit tricky -- make sure you don't put spaces - * in between its arguments. __CONCAT can also concatenate double-quoted - * strings produced by the __STRING macro, but this only works with ANSI C. - */ -#if defined(__STDC__) || defined(__cplusplus) -#define __P(protos) protos /* full-blown ANSI C */ -#define __CONCAT(x, y) x ## y -#define __STRING(x) #x - -#define __const const /* define reserved names to standard */ -#define __signed signed -#define __volatile volatile -#if defined(__cplusplus) -#define __inline inline /* convert to C++ keyword */ -#else -#ifndef __GNUC__ -#define __inline /* delete GCC keyword */ -#endif /* !__GNUC__ */ -#endif /* !__cplusplus */ - -#else /* !(__STDC__ || __cplusplus) */ -#define __P(protos) () /* traditional C preprocessor */ -#define __CONCAT(x, y) x /**/ y -#define __STRING(x) "x" - -#ifndef __GNUC__ -#define __const /* delete pseudo-ANSI C keywords */ -#define __inline -#define __signed -#define __volatile -#endif /* !__GNUC__ */ - -/* - * In non-ANSI C environments, new programs will want ANSI-only C keywords - * deleted from the program and old programs will want them left alone. - * When using a compiler other than gcc, programs using the ANSI C keywords - * const, inline etc. as normal identifiers should define -DNO_ANSI_KEYWORDS. - * When using "gcc -traditional", we assume that this is the intent; if - * __GNUC__ is defined but __STDC__ is not, we leave the new keywords alone. - */ -#ifndef NO_ANSI_KEYWORDS -#define const __const /* convert ANSI C keywords */ -#define inline __inline -#define signed __signed -#define volatile __volatile -#endif /* !NO_ANSI_KEYWORDS */ -#endif /* !(__STDC__ || __cplusplus) */ - -/* - * __pure2 can be used for functions that are only a function of their scalar - * arguments (meaning they can't dereference pointers). - * - * __stateful_pure can be used for functions that have no side effects, - * but depend on the state of the memory. - */ -#define __dead2 __attribute__((__noreturn__)) -#define __pure2 __attribute__((__const__)) -#define __stateful_pure __attribute__((__pure__)) - -/* __unused denotes variables and functions that may not be used, preventing - * the compiler from warning about it if not used. - */ -#define __unused __attribute__((__unused__)) - -/* __used forces variables and functions to be included even if it appears - * to the compiler that they are not used (and would thust be discarded). - */ -#define __used __attribute__((__used__)) - -/* __cold marks code used for debugging or that is rarely taken - * and tells the compiler to optimize for size and outline code. - */ -#if __has_attribute(cold) -#define __cold __attribute__((__cold__)) -#else -#define __cold -#endif - -/* __exported denotes symbols that should be exported even when symbols - * are hidden by default. - * __exported_push/_exported_pop are pragmas used to delimit a range of - * symbols that should be exported even when symbols are hidden by default. - */ -#define __exported __attribute__((__visibility__("default"))) -#define __exported_push _Pragma("GCC visibility push(default)") -#define __exported_pop _Pragma("GCC visibility pop") - -/* __deprecated causes the compiler to produce a warning when encountering - * code using the deprecated functionality. - * __deprecated_msg() does the same, and compilers that support it will print - * a message along with the deprecation warning. - * This may require turning on such warning with the -Wdeprecated flag. - * __deprecated_enum_msg() should be used on enums, and compilers that support - * it will print the deprecation warning. - * __kpi_deprecated() specifically indicates deprecation of kernel programming - * interfaces in Kernel.framework used by KEXTs. - */ -#define __deprecated __attribute__((__deprecated__)) - -#if __has_extension(attribute_deprecated_with_message) || \ - (defined(__GNUC__) && ((__GNUC__ >= 5) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 5)))) - #define __deprecated_msg(_msg) __attribute__((__deprecated__(_msg))) -#else - #define __deprecated_msg(_msg) __attribute__((__deprecated__)) -#endif - -#if __has_extension(enumerator_attributes) - #define __deprecated_enum_msg(_msg) __deprecated_msg(_msg) -#else - #define __deprecated_enum_msg(_msg) -#endif - -#define __kpi_deprecated(_msg) - -/* __unavailable causes the compiler to error out when encountering - * code using the tagged function - */ -#if __has_attribute(unavailable) -#define __unavailable __attribute__((__unavailable__)) -#else -#define __unavailable -#endif - -#define __kpi_unavailable - -#define __kpi_deprecated_arm64_macos_unavailable - -/* Delete pseudo-keywords wherever they are not available or needed. */ -#ifndef __dead -#define __dead -#define __pure -#endif - -/* - * We use `__restrict' as a way to define the `restrict' type qualifier - * without disturbing older software that is unaware of C99 keywords. - */ -#if __STDC_VERSION__ < 199901 -#define __restrict -#else -#define __restrict restrict -#endif - -/* Compatibility with compilers and environments that don't support the - * nullability feature. - */ - -#if !__has_feature(nullability) -#ifndef __nullable -#define __nullable -#endif -#ifndef __nonnull -#define __nonnull -#endif -#ifndef __null_unspecified -#define __null_unspecified -#endif -#ifndef _Nullable -#define _Nullable -#endif -#ifndef _Nonnull -#define _Nonnull -#endif -#ifndef _Null_unspecified -#define _Null_unspecified -#endif -#endif - -/* - * __disable_tail_calls causes the compiler to not perform tail call - * optimization inside the marked function. - */ -#if __has_attribute(disable_tail_calls) -#define __disable_tail_calls __attribute__((__disable_tail_calls__)) -#else -#define __disable_tail_calls -#endif - -/* - * __not_tail_called causes the compiler to prevent tail call optimization - * on statically bound calls to the function. It has no effect on indirect - * calls. Virtual functions, objective-c methods, and functions marked as - * "always_inline" cannot be marked as __not_tail_called. - */ -#if __has_attribute(not_tail_called) -#define __not_tail_called __attribute__((__not_tail_called__)) -#else -#define __not_tail_called -#endif - -/* - * __result_use_check warns callers of a function that not using the function - * return value is a bug, i.e. dismissing malloc() return value results in a - * memory leak. - */ -#if __has_attribute(warn_unused_result) -#define __result_use_check __attribute__((__warn_unused_result__)) -#else -#define __result_use_check -#endif - -/* - * __swift_unavailable causes the compiler to mark a symbol as specifically - * unavailable in Swift, regardless of any other availability in C. - */ -#if __has_feature(attribute_availability_swift) -#define __swift_unavailable(_msg) __attribute__((__availability__(swift, unavailable, message=_msg))) -#else -#define __swift_unavailable(_msg) -#endif - -/* - * __abortlike is the attribute to put on functions like abort() that are - * typically used to mark assertions. These optimize the codegen - * for outlining while still maintaining debugability. - */ -#ifndef __abortlike -#define __abortlike __dead2 __cold __not_tail_called -#endif - -/* Declaring inline functions within headers is error-prone due to differences - * across various versions of the C language and extensions. __header_inline - * can be used to declare inline functions within system headers. In cases - * where you want to force inlining instead of letting the compiler make - * the decision, you can use __header_always_inline. - * - * Be aware that using inline for functions which compilers may also provide - * builtins can behave differently under various compilers. If you intend to - * provide an inline version of such a function, you may want to use a macro - * instead. - * - * The check for !__GNUC__ || __clang__ is because gcc doesn't correctly - * support c99 inline in some cases: - * http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55965 - */ - -#if defined(__cplusplus) || \ - (__STDC_VERSION__ >= 199901L && \ - !defined(__GNUC_GNU_INLINE__) && \ - (!defined(__GNUC__) || defined(__clang__))) -# define __header_inline inline -#elif defined(__GNUC__) && defined(__GNUC_STDC_INLINE__) -# define __header_inline extern __inline __attribute__((__gnu_inline__)) -#elif defined(__GNUC__) -# define __header_inline extern __inline -#else -/* If we land here, we've encountered an unsupported compiler, - * so hopefully it understands static __inline as a fallback. - */ -# define __header_inline static __inline -#endif - -#ifdef __GNUC__ -# define __header_always_inline __header_inline __attribute__ ((__always_inline__)) -#else -/* Unfortunately, we're using a compiler that we don't know how to force to - * inline. Oh well. - */ -# define __header_always_inline __header_inline -#endif - -/* - * Compiler-dependent macros that bracket portions of code where the - * "-Wunreachable-code" warning should be ignored. Please use sparingly. - */ -#if defined(__clang__) -# define __unreachable_ok_push \ - _Pragma("clang diagnostic push") \ - _Pragma("clang diagnostic ignored \"-Wunreachable-code\"") -# define __unreachable_ok_pop \ - _Pragma("clang diagnostic pop") -#elif defined(__GNUC__) && ((__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)) -# define __unreachable_ok_push \ - _Pragma("GCC diagnostic push") \ - _Pragma("GCC diagnostic ignored \"-Wunreachable-code\"") -# define __unreachable_ok_pop \ - _Pragma("GCC diagnostic pop") -#else -# define __unreachable_ok_push -# define __unreachable_ok_pop -#endif - -/* - * Compiler-dependent macros to declare that functions take printf-like - * or scanf-like arguments. They are null except for versions of gcc - * that are known to support the features properly. Functions declared - * with these attributes will cause compilation warnings if there is a - * mismatch between the format string and subsequent function parameter - * types. - */ -#define __printflike(fmtarg, firstvararg) \ - __attribute__((__format__ (__printf__, fmtarg, firstvararg))) -#define __printf0like(fmtarg, firstvararg) \ - __attribute__((__format__ (__printf0__, fmtarg, firstvararg))) -#define __scanflike(fmtarg, firstvararg) \ - __attribute__((__format__ (__scanf__, fmtarg, firstvararg))) -#define __osloglike(fmtarg, firstvararg) \ - __attribute__((__format__ (__os_log__, fmtarg, firstvararg))) - -#define __IDSTRING(name, string) static const char name[] __used = string - -#ifndef __COPYRIGHT -#define __COPYRIGHT(s) __IDSTRING(copyright,s) -#endif - -#ifndef __RCSID -#define __RCSID(s) __IDSTRING(rcsid,s) -#endif - -#ifndef __SCCSID -#define __SCCSID(s) __IDSTRING(sccsid,s) -#endif - -#ifndef __PROJECT_VERSION -#define __PROJECT_VERSION(s) __IDSTRING(project_version,s) -#endif - -/* Source compatibility only, ID string not emitted in object file */ -#ifndef __FBSDID -#define __FBSDID(s) -#endif - -#ifndef __DECONST -#define __DECONST(type, var) __CAST_AWAY_QUALIFIER(var, const, type) -#endif - -#ifndef __DEVOLATILE -#define __DEVOLATILE(type, var) __CAST_AWAY_QUALIFIER(var, volatile, type) -#endif - -#ifndef __DEQUALIFY -#define __DEQUALIFY(type, var) __CAST_AWAY_QUALIFIER(var, const volatile, type) -#endif - -/* - * __alloc_size can be used to label function arguments that represent the - * size of memory that the function allocates and returns. The one-argument - * form labels a single argument that gives the allocation size (where the - * arguments are numbered from 1): - * - * void *malloc(size_t __size) __alloc_size(1); - * - * The two-argument form handles the case where the size is calculated as the - * product of two arguments: - * - * void *calloc(size_t __count, size_t __size) __alloc_size(1,2); - */ -#ifndef __alloc_size -#if __has_attribute(alloc_size) -#define __alloc_size(...) __attribute__((alloc_size(__VA_ARGS__))) -#else -#define __alloc_size(...) -#endif -#endif // __alloc_size - -/* - * COMPILATION ENVIRONMENTS -- see compat(5) for additional detail - * - * DEFAULT By default newly complied code will get POSIX APIs plus - * Apple API extensions in scope. - * - * Most users will use this compilation environment to avoid - * behavioral differences between 32 and 64 bit code. - * - * LEGACY Defining _NONSTD_SOURCE will get pre-POSIX APIs plus Apple - * API extensions in scope. - * - * This is generally equivalent to the Tiger release compilation - * environment, except that it cannot be applied to 64 bit code; - * its use is discouraged. - * - * We expect this environment to be deprecated in the future. - * - * STRICT Defining _POSIX_C_SOURCE or _XOPEN_SOURCE restricts the - * available APIs to exactly the set of APIs defined by the - * corresponding standard, based on the value defined. - * - * A correct, portable definition for _POSIX_C_SOURCE is 200112L. - * A correct, portable definition for _XOPEN_SOURCE is 600L. - * - * Apple API extensions are not visible in this environment, - * which can cause Apple specific code to fail to compile, - * or behave incorrectly if prototypes are not in scope or - * warnings about missing prototypes are not enabled or ignored. - * - * In any compilation environment, for correct symbol resolution to occur, - * function prototypes must be in scope. It is recommended that all Apple - * tools users add either the "-Wall" or "-Wimplicit-function-declaration" - * compiler flags to their projects to be warned when a function is being - * used without a prototype in scope. - */ - -/* These settings are particular to each product. */ -/* Platform: MacOSX */ -#if defined(__i386__) -#define __DARWIN_ONLY_64_BIT_INO_T 0 -#define __DARWIN_ONLY_UNIX_CONFORMANCE 0 -#define __DARWIN_ONLY_VERS_1050 0 -#elif defined(__x86_64__) -#define __DARWIN_ONLY_64_BIT_INO_T 0 -#define __DARWIN_ONLY_UNIX_CONFORMANCE 1 -#define __DARWIN_ONLY_VERS_1050 0 -#else -#define __DARWIN_ONLY_64_BIT_INO_T 1 -#define __DARWIN_ONLY_UNIX_CONFORMANCE 1 -#define __DARWIN_ONLY_VERS_1050 1 -#endif - -/* - * The __DARWIN_ALIAS macros are used to do symbol renaming; they allow - * legacy code to use the old symbol, thus maintaining binary compatibility - * while new code can use a standards compliant version of the same function. - * - * __DARWIN_ALIAS is used by itself if the function signature has not - * changed, it is used along with a #ifdef check for __DARWIN_UNIX03 - * if the signature has changed. Because the __LP64__ environment - * only supports UNIX03 semantics it causes __DARWIN_UNIX03 to be - * defined, but causes __DARWIN_ALIAS to do no symbol mangling. - * - * As a special case, when XCode is used to target a specific version of the - * OS, the manifest constant __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ - * will be defined by the compiler, with the digits representing major version - * time 100 + minor version times 10 (e.g. 10.5 := 1050). If we are targeting - * pre-10.5, and it is the default compilation environment, revert the - * compilation environment to pre-__DARWIN_UNIX03. - */ -#if !defined(__DARWIN_UNIX03) -# if __DARWIN_ONLY_UNIX_CONFORMANCE -# if defined(_NONSTD_SOURCE) -# error "Can't define _NONSTD_SOURCE when only UNIX conformance is available." -# endif /* _NONSTD_SOURCE */ -# define __DARWIN_UNIX03 1 -# elif defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && ((__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ - 0) < 1040) -# define __DARWIN_UNIX03 0 -# elif defined(_DARWIN_C_SOURCE) || defined(_XOPEN_SOURCE) || defined(_POSIX_C_SOURCE) -# if defined(_NONSTD_SOURCE) -# error "Can't define both _NONSTD_SOURCE and any of _DARWIN_C_SOURCE, _XOPEN_SOURCE or _POSIX_C_SOURCE." -# endif /* _NONSTD_SOURCE */ -# define __DARWIN_UNIX03 1 -# elif defined(_NONSTD_SOURCE) -# define __DARWIN_UNIX03 0 -# else /* default */ -# if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && ((__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ - 0) < 1050) -# define __DARWIN_UNIX03 0 -# else /* __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 1050 */ -# define __DARWIN_UNIX03 1 -# endif /* __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 1050 */ -# endif /* _DARWIN_C_SOURCE || _XOPEN_SOURCE || _POSIX_C_SOURCE || __LP64__ */ -#endif /* !__DARWIN_UNIX03 */ - -#if !defined(__DARWIN_64_BIT_INO_T) -# if defined(_DARWIN_USE_64_BIT_INODE) -# if defined(_DARWIN_NO_64_BIT_INODE) -# error "Can't define both _DARWIN_USE_64_BIT_INODE and _DARWIN_NO_64_BIT_INODE." -# endif /* _DARWIN_NO_64_BIT_INODE */ -# define __DARWIN_64_BIT_INO_T 1 -# elif defined(_DARWIN_NO_64_BIT_INODE) -# if __DARWIN_ONLY_64_BIT_INO_T -# error "Can't define _DARWIN_NO_64_BIT_INODE when only 64-bit inodes are available." -# endif /* __DARWIN_ONLY_64_BIT_INO_T */ -# define __DARWIN_64_BIT_INO_T 0 -# else /* default */ -# if __DARWIN_ONLY_64_BIT_INO_T -# define __DARWIN_64_BIT_INO_T 1 -# elif defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && ((__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ - 0) < 1060) || __DARWIN_UNIX03 == 0 -# define __DARWIN_64_BIT_INO_T 0 -# else /* default */ -# define __DARWIN_64_BIT_INO_T 1 -# endif /* __DARWIN_ONLY_64_BIT_INO_T */ -# endif -#endif /* !__DARWIN_64_BIT_INO_T */ - -#if !defined(__DARWIN_VERS_1050) -# if __DARWIN_ONLY_VERS_1050 -# define __DARWIN_VERS_1050 1 -# elif defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && ((__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ - 0) < 1050) || __DARWIN_UNIX03 == 0 -# define __DARWIN_VERS_1050 0 -# else /* default */ -# define __DARWIN_VERS_1050 1 -# endif -#endif /* !__DARWIN_VERS_1050 */ - -#if !defined(__DARWIN_NON_CANCELABLE) -# define __DARWIN_NON_CANCELABLE 0 -#endif /* !__DARWIN_NON_CANCELABLE */ - -/* - * symbol suffixes used for symbol versioning - */ -#if __DARWIN_UNIX03 -# if __DARWIN_ONLY_UNIX_CONFORMANCE -# define __DARWIN_SUF_UNIX03 /* nothing */ -# else /* !__DARWIN_ONLY_UNIX_CONFORMANCE */ -# define __DARWIN_SUF_UNIX03 "$UNIX2003" -# endif /* __DARWIN_ONLY_UNIX_CONFORMANCE */ - -# if __DARWIN_64_BIT_INO_T -# if __DARWIN_ONLY_64_BIT_INO_T -# define __DARWIN_SUF_64_BIT_INO_T /* nothing */ -# else /* !__DARWIN_ONLY_64_BIT_INO_T */ -# define __DARWIN_SUF_64_BIT_INO_T "$INODE64" -# endif /* __DARWIN_ONLY_64_BIT_INO_T */ -# else /* !__DARWIN_64_BIT_INO_T */ -# define __DARWIN_SUF_64_BIT_INO_T /* nothing */ -# endif /* __DARWIN_64_BIT_INO_T */ - -# if __DARWIN_VERS_1050 -# if __DARWIN_ONLY_VERS_1050 -# define __DARWIN_SUF_1050 /* nothing */ -# else /* !__DARWIN_ONLY_VERS_1050 */ -# define __DARWIN_SUF_1050 "$1050" -# endif /* __DARWIN_ONLY_VERS_1050 */ -# else /* !__DARWIN_VERS_1050 */ -# define __DARWIN_SUF_1050 /* nothing */ -# endif /* __DARWIN_VERS_1050 */ - -# if __DARWIN_NON_CANCELABLE -# define __DARWIN_SUF_NON_CANCELABLE "$NOCANCEL" -# else /* !__DARWIN_NON_CANCELABLE */ -# define __DARWIN_SUF_NON_CANCELABLE /* nothing */ -# endif /* __DARWIN_NON_CANCELABLE */ - -#else /* !__DARWIN_UNIX03 */ -# define __DARWIN_SUF_UNIX03 /* nothing */ -# define __DARWIN_SUF_64_BIT_INO_T /* nothing */ -# define __DARWIN_SUF_NON_CANCELABLE /* nothing */ -# define __DARWIN_SUF_1050 /* nothing */ -#endif /* __DARWIN_UNIX03 */ - -#define __DARWIN_SUF_EXTSN "$DARWIN_EXTSN" - -/* - * symbol versioning macros - */ -#define __DARWIN_ALIAS(sym) __asm("_" __STRING(sym) __DARWIN_SUF_UNIX03) -#define __DARWIN_ALIAS_C(sym) __asm("_" __STRING(sym) __DARWIN_SUF_NON_CANCELABLE __DARWIN_SUF_UNIX03) -#define __DARWIN_ALIAS_I(sym) __asm("_" __STRING(sym) __DARWIN_SUF_64_BIT_INO_T __DARWIN_SUF_UNIX03) -#define __DARWIN_NOCANCEL(sym) __asm("_" __STRING(sym) __DARWIN_SUF_NON_CANCELABLE) -#define __DARWIN_INODE64(sym) __asm("_" __STRING(sym) __DARWIN_SUF_64_BIT_INO_T) - -#define __DARWIN_1050(sym) __asm("_" __STRING(sym) __DARWIN_SUF_1050) -#define __DARWIN_1050ALIAS(sym) __asm("_" __STRING(sym) __DARWIN_SUF_1050 __DARWIN_SUF_UNIX03) -#define __DARWIN_1050ALIAS_C(sym) __asm("_" __STRING(sym) __DARWIN_SUF_1050 __DARWIN_SUF_NON_CANCELABLE __DARWIN_SUF_UNIX03) -#define __DARWIN_1050ALIAS_I(sym) __asm("_" __STRING(sym) __DARWIN_SUF_1050 __DARWIN_SUF_64_BIT_INO_T __DARWIN_SUF_UNIX03) -#define __DARWIN_1050INODE64(sym) __asm("_" __STRING(sym) __DARWIN_SUF_1050 __DARWIN_SUF_64_BIT_INO_T) - -#define __DARWIN_EXTSN(sym) __asm("_" __STRING(sym) __DARWIN_SUF_EXTSN) -#define __DARWIN_EXTSN_C(sym) __asm("_" __STRING(sym) __DARWIN_SUF_EXTSN __DARWIN_SUF_NON_CANCELABLE) - -/* - * symbol release macros - */ -#include - -#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) -#define __DARWIN_ALIAS_STARTING(_mac, _iphone, x) __DARWIN_ALIAS_STARTING_IPHONE_##_iphone(x) -#elif defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) -#define __DARWIN_ALIAS_STARTING(_mac, _iphone, x) __DARWIN_ALIAS_STARTING_MAC_##_mac(x) -#else -#define __DARWIN_ALIAS_STARTING(_mac, _iphone, x) x -#endif - - -/* - * POSIX.1 requires that the macros we test be defined before any standard - * header file is included. This permits us to convert values for feature - * testing, as necessary, using only _POSIX_C_SOURCE. - * - * Here's a quick run-down of the versions: - * defined(_POSIX_SOURCE) 1003.1-1988 - * _POSIX_C_SOURCE == 1L 1003.1-1990 - * _POSIX_C_SOURCE == 2L 1003.2-1992 C Language Binding Option - * _POSIX_C_SOURCE == 199309L 1003.1b-1993 - * _POSIX_C_SOURCE == 199506L 1003.1c-1995, 1003.1i-1995, - * and the omnibus ISO/IEC 9945-1: 1996 - * _POSIX_C_SOURCE == 200112L 1003.1-2001 - * _POSIX_C_SOURCE == 200809L 1003.1-2008 - * - * In addition, the X/Open Portability Guide, which is now the Single UNIX - * Specification, defines a feature-test macro which indicates the version of - * that specification, and which subsumes _POSIX_C_SOURCE. - */ - -/* Deal with IEEE Std. 1003.1-1990, in which _POSIX_C_SOURCE == 1L. */ -#if defined(_POSIX_C_SOURCE) && _POSIX_C_SOURCE == 1L -#undef _POSIX_C_SOURCE -#define _POSIX_C_SOURCE 199009L -#endif - -/* Deal with IEEE Std. 1003.2-1992, in which _POSIX_C_SOURCE == 2L. */ -#if defined(_POSIX_C_SOURCE) && _POSIX_C_SOURCE == 2L -#undef _POSIX_C_SOURCE -#define _POSIX_C_SOURCE 199209L -#endif - -/* Deal with various X/Open Portability Guides and Single UNIX Spec. */ -#ifdef _XOPEN_SOURCE -#if _XOPEN_SOURCE - 0L >= 700L && (!defined(_POSIX_C_SOURCE) || _POSIX_C_SOURCE - 0L < 200809L) -#undef _POSIX_C_SOURCE -#define _POSIX_C_SOURCE 200809L -#elif _XOPEN_SOURCE - 0L >= 600L && (!defined(_POSIX_C_SOURCE) || _POSIX_C_SOURCE - 0L < 200112L) -#undef _POSIX_C_SOURCE -#define _POSIX_C_SOURCE 200112L -#elif _XOPEN_SOURCE - 0L >= 500L && (!defined(_POSIX_C_SOURCE) || _POSIX_C_SOURCE - 0L < 199506L) -#undef _POSIX_C_SOURCE -#define _POSIX_C_SOURCE 199506L -#endif -#endif - -/* - * Deal with all versions of POSIX. The ordering relative to the tests above is - * important. - */ -#if defined(_POSIX_SOURCE) && !defined(_POSIX_C_SOURCE) -#define _POSIX_C_SOURCE 198808L -#endif - -/* POSIX C deprecation macros */ -#include - -#define __POSIX_C_DEPRECATED(ver) ___POSIX_C_DEPRECATED_STARTING_##ver - -/* - * Set a single macro which will always be defined and can be used to determine - * the appropriate namespace. For POSIX, these values will correspond to - * _POSIX_C_SOURCE value. Currently there are two additional levels corresponding - * to ANSI (_ANSI_SOURCE) and Darwin extensions (_DARWIN_C_SOURCE) - */ -#define __DARWIN_C_ANSI 010000L -#define __DARWIN_C_FULL 900000L - -#if defined(_ANSI_SOURCE) -#define __DARWIN_C_LEVEL __DARWIN_C_ANSI -#elif defined(_POSIX_C_SOURCE) && !defined(_DARWIN_C_SOURCE) && !defined(_NONSTD_SOURCE) -#define __DARWIN_C_LEVEL _POSIX_C_SOURCE -#else -#define __DARWIN_C_LEVEL __DARWIN_C_FULL -#endif - -/* If the developer has neither requested a strict language mode nor a version - * of POSIX, turn on functionality provided by __STDC_WANT_LIB_EXT1__ as part - * of __DARWIN_C_FULL. - */ -#if !defined(__STDC_WANT_LIB_EXT1__) && !defined(__STRICT_ANSI__) && __DARWIN_C_LEVEL >= __DARWIN_C_FULL -#define __STDC_WANT_LIB_EXT1__ 1 -#endif - -/* - * long long is not supported in c89 (__STRICT_ANSI__), but g++ -ansi and - * c99 still want long longs. While not perfect, we allow long longs for - * g++. - */ -#if (defined(__STRICT_ANSI__) && (__STDC_VERSION__ - 0 < 199901L) && !defined(__GNUG__)) -#define __DARWIN_NO_LONG_LONG 1 -#else -#define __DARWIN_NO_LONG_LONG 0 -#endif - -/***************************************** -* Public darwin-specific feature macros -*****************************************/ - -/* - * _DARWIN_FEATURE_64_BIT_INODE indicates that the ino_t type is 64-bit, and - * structures modified for 64-bit inodes (like struct stat) will be used. - */ -#if __DARWIN_64_BIT_INO_T -#define _DARWIN_FEATURE_64_BIT_INODE 1 -#endif - -/* - * _DARWIN_FEATURE_64_ONLY_BIT_INODE indicates that the ino_t type may only - * be 64-bit; there is no support for 32-bit ino_t when this macro is defined - * (and non-zero). There is no struct stat64 either, as the regular - * struct stat will already be the 64-bit version. - */ -#if __DARWIN_ONLY_64_BIT_INO_T -#define _DARWIN_FEATURE_ONLY_64_BIT_INODE 1 -#endif - -/* - * _DARWIN_FEATURE_ONLY_VERS_1050 indicates that only those APIs updated - * in 10.5 exists; no pre-10.5 variants are available. - */ -#if __DARWIN_ONLY_VERS_1050 -#define _DARWIN_FEATURE_ONLY_VERS_1050 1 -#endif - -/* - * _DARWIN_FEATURE_ONLY_UNIX_CONFORMANCE indicates only UNIX conforming API - * are available (the legacy BSD APIs are not available) - */ -#if __DARWIN_ONLY_UNIX_CONFORMANCE -#define _DARWIN_FEATURE_ONLY_UNIX_CONFORMANCE 1 -#endif - -/* - * _DARWIN_FEATURE_UNIX_CONFORMANCE indicates whether UNIX conformance is on, - * and specifies the conformance level (3 is SUSv3) - */ -#if __DARWIN_UNIX03 -#define _DARWIN_FEATURE_UNIX_CONFORMANCE 3 -#endif - - -/* - * This macro casts away the qualifier from the variable - * - * Note: use at your own risk, removing qualifiers can result in - * catastrophic run-time failures. - */ -#ifndef __CAST_AWAY_QUALIFIER -#define __CAST_AWAY_QUALIFIER(variable, qualifier, type) (type) (long)(variable) -#endif - -/* - * __XNU_PRIVATE_EXTERN is a linkage decoration indicating that a symbol can be - * used from other compilation units, but not other libraries or executables. - */ -#ifndef __XNU_PRIVATE_EXTERN -#define __XNU_PRIVATE_EXTERN __attribute__((visibility("hidden"))) -#endif - -#if __has_include() -#include -#else -/* - * We intentionally define to nothing pointer attributes which do not have an - * impact on the ABI. __indexable and __bidi_indexable are not defined because - * of the ABI incompatibility that makes the diagnostic preferable. - */ -#define __has_ptrcheck 0 -#define __single -#define __unsafe_indexable -#define __counted_by(N) -#define __sized_by(N) -#define __ended_by(E) - -/* - * Similarly, we intentionally define to nothing the - * __ptrcheck_abi_assume_single and __ptrcheck_abi_assume_unsafe_indexable - * macros because they do not lead to an ABI incompatibility. However, we do not - * define the indexable and unsafe_indexable ones because the diagnostic is - * better than the silent ABI break. - */ -#define __ptrcheck_abi_assume_single() -#define __ptrcheck_abi_assume_unsafe_indexable() - -/* __unsafe_forge intrinsics are defined as regular C casts. */ -#define __unsafe_forge_bidi_indexable(T, P, S) ((T)(P)) -#define __unsafe_forge_single(T, P) ((T)(P)) - -/* decay operates normally; attribute is meaningless without pointer checks. */ -#define __array_decay_dicards_count_in_parameters -#endif /* !__has_include() */ - -#define __ASSUME_PTR_ABI_SINGLE_BEGIN __ptrcheck_abi_assume_single() -#define __ASSUME_PTR_ABI_SINGLE_END __ptrcheck_abi_assume_unsafe_indexable() - -#if __has_ptrcheck -#define __header_indexable __indexable -#define __header_bidi_indexable __bidi_indexable -#else -#define __header_indexable -#define __header_bidi_indexable -#endif - -/* - * Architecture validation for current SDK - */ -#if !defined(__sys_cdefs_arch_unknown__) && defined(__i386__) -#elif !defined(__sys_cdefs_arch_unknown__) && defined(__x86_64__) -#elif !defined(__sys_cdefs_arch_unknown__) && defined(__arm__) -#elif !defined(__sys_cdefs_arch_unknown__) && defined(__arm64__) -#else -#error Unsupported architecture -#endif - - - -#define __compiler_barrier() __asm__ __volatile__("" ::: "memory") - -#if __has_attribute(enum_extensibility) -#define __enum_open __attribute__((__enum_extensibility__(open))) -#define __enum_closed __attribute__((__enum_extensibility__(closed))) -#else -#define __enum_open -#define __enum_closed -#endif // __has_attribute(enum_extensibility) - -#if __has_attribute(flag_enum) -#define __enum_options __attribute__((__flag_enum__)) -#else -#define __enum_options -#endif - -/* - * Similar to OS_ENUM/OS_CLOSED_ENUM/OS_OPTIONS/OS_CLOSED_OPTIONS - * - * This provides more advanced type checking on compilers supporting - * the proper extensions, even in C. - */ -#if __has_feature(objc_fixed_enum) || __has_extension(cxx_fixed_enum) || \ - __has_extension(cxx_strong_enums) -#define __enum_decl(_name, _type, ...) \ - typedef enum : _type __VA_ARGS__ __enum_open _name -#define __enum_closed_decl(_name, _type, ...) \ - typedef enum : _type __VA_ARGS__ __enum_closed _name -#define __options_decl(_name, _type, ...) \ - typedef enum : _type __VA_ARGS__ __enum_open __enum_options _name -#define __options_closed_decl(_name, _type, ...) \ - typedef enum : _type __VA_ARGS__ __enum_closed __enum_options _name -#else -#define __enum_decl(_name, _type, ...) \ - typedef _type _name; enum __VA_ARGS__ __enum_open -#define __enum_closed_decl(_name, _type, ...) \ - typedef _type _name; enum __VA_ARGS__ __enum_closed -#define __options_decl(_name, _type, ...) \ - typedef _type _name; enum __VA_ARGS__ __enum_open __enum_options -#define __options_closed_decl(_name, _type, ...) \ - typedef _type _name; enum __VA_ARGS__ __enum_closed __enum_options -#endif - - - -#define __kernel_ptr_semantics -#define __kernel_data_semantics -#define __kernel_dual_semantics - - -#endif /* !_CDEFS_H_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.12-any/sys/event.h b/lib/libc/include/any-macos.12-any/sys/event.h deleted file mode 100644 index 3b1535998c..0000000000 --- a/lib/libc/include/any-macos.12-any/sys/event.h +++ /dev/null @@ -1,395 +0,0 @@ -/* - * Copyright (c) 2003-2021 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@ - */ -/*- - * Copyright (c) 1999,2000,2001 Jonathan Lemon - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * $FreeBSD: src/sys/sys/event.h,v 1.5.2.5 2001/12/14 19:21:22 jlemon Exp $ - */ - -#ifndef _SYS_EVENT_H_ -#define _SYS_EVENT_H_ - -#include -#include -#include -#include -#include - -/* - * Filter types - */ -#define EVFILT_READ (-1) -#define EVFILT_WRITE (-2) -#define EVFILT_AIO (-3) /* attached to aio requests */ -#define EVFILT_VNODE (-4) /* attached to vnodes */ -#define EVFILT_PROC (-5) /* attached to struct proc */ -#define EVFILT_SIGNAL (-6) /* attached to struct proc */ -#define EVFILT_TIMER (-7) /* timers */ -#define EVFILT_MACHPORT (-8) /* Mach portsets */ -#define EVFILT_FS (-9) /* Filesystem events */ -#define EVFILT_USER (-10) /* User events */ -#define EVFILT_VM (-12) /* Virtual memory events */ -#define EVFILT_EXCEPT (-15) /* Exception events */ - -#define EVFILT_SYSCOUNT 17 -#define EVFILT_THREADMARKER EVFILT_SYSCOUNT /* Internal use only */ - -#pragma pack(4) - -struct kevent { - uintptr_t ident; /* identifier for this event */ - int16_t filter; /* filter for event */ - uint16_t flags; /* general flags */ - uint32_t fflags; /* filter-specific flags */ - intptr_t data; /* filter-specific data */ - void *udata; /* opaque user data identifier */ -}; - - -#pragma pack() - -struct kevent64_s { - uint64_t ident; /* identifier for this event */ - int16_t filter; /* filter for event */ - uint16_t flags; /* general flags */ - uint32_t fflags; /* filter-specific flags */ - int64_t data; /* filter-specific data */ - uint64_t udata; /* opaque user data identifier */ - uint64_t ext[2]; /* filter-specific extensions */ -}; - - -#define EV_SET(kevp, a, b, c, d, e, f) do { \ - struct kevent *__kevp__ = (kevp); \ - __kevp__->ident = (a); \ - __kevp__->filter = (b); \ - __kevp__->flags = (c); \ - __kevp__->fflags = (d); \ - __kevp__->data = (e); \ - __kevp__->udata = (f); \ -} while(0) - -#define EV_SET64(kevp, a, b, c, d, e, f, g, h) do { \ - struct kevent64_s *__kevp__ = (kevp); \ - __kevp__->ident = (a); \ - __kevp__->filter = (b); \ - __kevp__->flags = (c); \ - __kevp__->fflags = (d); \ - __kevp__->data = (e); \ - __kevp__->udata = (f); \ - __kevp__->ext[0] = (g); \ - __kevp__->ext[1] = (h); \ -} while(0) - - -/* kevent system call flags */ -#define KEVENT_FLAG_NONE 0x000000 /* no flag value */ -#define KEVENT_FLAG_IMMEDIATE 0x000001 /* immediate timeout */ -#define KEVENT_FLAG_ERROR_EVENTS 0x000002 /* output events only include change errors */ - - -/* actions */ -#define EV_ADD 0x0001 /* add event to kq (implies enable) */ -#define EV_DELETE 0x0002 /* delete event from kq */ -#define EV_ENABLE 0x0004 /* enable event */ -#define EV_DISABLE 0x0008 /* disable event (not reported) */ - -/* flags */ -#define EV_ONESHOT 0x0010 /* only report one occurrence */ -#define EV_CLEAR 0x0020 /* clear event state after reporting */ -#define EV_RECEIPT 0x0040 /* force immediate event output */ - /* ... with or without EV_ERROR */ - /* ... use KEVENT_FLAG_ERROR_EVENTS */ - /* on syscalls supporting flags */ - -#define EV_DISPATCH 0x0080 /* disable event after reporting */ -#define EV_UDATA_SPECIFIC 0x0100 /* unique kevent per udata value */ - -#define EV_DISPATCH2 (EV_DISPATCH | EV_UDATA_SPECIFIC) -/* ... in combination with EV_DELETE */ -/* will defer delete until udata-specific */ -/* event enabled. EINPROGRESS will be */ -/* returned to indicate the deferral */ - -#define EV_VANISHED 0x0200 /* report that source has vanished */ - /* ... only valid with EV_DISPATCH2 */ - -#define EV_SYSFLAGS 0xF000 /* reserved by system */ -#define EV_FLAG0 0x1000 /* filter-specific flag */ -#define EV_FLAG1 0x2000 /* filter-specific flag */ - -/* returned values */ -#define EV_EOF 0x8000 /* EOF detected */ -#define EV_ERROR 0x4000 /* error, data contains errno */ - -/* - * Filter specific flags for EVFILT_READ - * - * The default behavior for EVFILT_READ is to make the "read" determination - * relative to the current file descriptor read pointer. - * - * The EV_POLL flag indicates the determination should be made via poll(2) - * semantics. These semantics dictate always returning true for regular files, - * regardless of the amount of unread data in the file. - * - * On input, EV_OOBAND specifies that filter should actively return in the - * presence of OOB on the descriptor. It implies that filter will return - * if there is OOB data available to read OR when any other condition - * for the read are met (for example number of bytes regular data becomes >= - * low-watermark). - * If EV_OOBAND is not set on input, it implies that the filter should not actively - * return for out of band data on the descriptor. The filter will then only return - * when some other condition for read is met (ex: when number of regular data bytes - * >=low-watermark OR when socket can't receive more data (SS_CANTRCVMORE)). - * - * On output, EV_OOBAND indicates the presence of OOB data on the descriptor. - * If it was not specified as an input parameter, then the data count is the - * number of bytes before the current OOB marker, else data count is the number - * of bytes beyond OOB marker. - */ -#define EV_POLL EV_FLAG0 -#define EV_OOBAND EV_FLAG1 - -/* - * data/hint fflags for EVFILT_USER, shared with userspace - */ - -/* - * On input, NOTE_TRIGGER causes the event to be triggered for output. - */ -#define NOTE_TRIGGER 0x01000000 - -/* - * On input, the top two bits of fflags specifies how the lower twenty four - * bits should be applied to the stored value of fflags. - * - * On output, the top two bits will always be set to NOTE_FFNOP and the - * remaining twenty four bits will contain the stored fflags value. - */ -#define NOTE_FFNOP 0x00000000 /* ignore input fflags */ -#define NOTE_FFAND 0x40000000 /* and fflags */ -#define NOTE_FFOR 0x80000000 /* or fflags */ -#define NOTE_FFCOPY 0xc0000000 /* copy fflags */ -#define NOTE_FFCTRLMASK 0xc0000000 /* mask for operations */ -#define NOTE_FFLAGSMASK 0x00ffffff - - -/* - * data/hint fflags for EVFILT_{READ|WRITE}, shared with userspace - * - * The default behavior for EVFILT_READ is to make the determination - * realtive to the current file descriptor read pointer. - */ -#define NOTE_LOWAT 0x00000001 /* low water mark */ - -/* data/hint flags for EVFILT_EXCEPT, shared with userspace */ -#define NOTE_OOB 0x00000002 /* OOB data */ - -/* - * data/hint fflags for EVFILT_VNODE, shared with userspace - */ -#define NOTE_DELETE 0x00000001 /* vnode was removed */ -#define NOTE_WRITE 0x00000002 /* data contents changed */ -#define NOTE_EXTEND 0x00000004 /* size increased */ -#define NOTE_ATTRIB 0x00000008 /* attributes changed */ -#define NOTE_LINK 0x00000010 /* link count changed */ -#define NOTE_RENAME 0x00000020 /* vnode was renamed */ -#define NOTE_REVOKE 0x00000040 /* vnode access was revoked */ -#define NOTE_NONE 0x00000080 /* No specific vnode event: to test for EVFILT_READ activation*/ -#define NOTE_FUNLOCK 0x00000100 /* vnode was unlocked by flock(2) */ - -/* - * data/hint fflags for EVFILT_PROC, shared with userspace - * - * Please note that EVFILT_PROC and EVFILT_SIGNAL share the same knote list - * that hangs off the proc structure. They also both play games with the hint - * passed to KNOTE(). If NOTE_SIGNAL is passed as a hint, then the lower bits - * of the hint contain the signal. IF NOTE_FORK is passed, then the lower bits - * contain the PID of the child (but the pid does not get passed through in - * the actual kevent). - */ -enum { - eNoteReapDeprecated __deprecated_enum_msg("This kqueue(2) EVFILT_PROC flag is deprecated") = 0x10000000 -}; - -#define NOTE_EXIT 0x80000000 /* process exited */ -#define NOTE_FORK 0x40000000 /* process forked */ -#define NOTE_EXEC 0x20000000 /* process exec'd */ -#define NOTE_REAP ((unsigned int)eNoteReapDeprecated /* 0x10000000 */ ) /* process reaped */ -#define NOTE_SIGNAL 0x08000000 /* shared with EVFILT_SIGNAL */ -#define NOTE_EXITSTATUS 0x04000000 /* exit status to be returned, valid for child process or when allowed to signal target pid */ -#define NOTE_EXIT_DETAIL 0x02000000 /* provide details on reasons for exit */ - -#define NOTE_PDATAMASK 0x000fffff /* mask for signal & exit status */ -#define NOTE_PCTRLMASK (~NOTE_PDATAMASK) - -/* - * If NOTE_EXITSTATUS is present, provide additional info about exiting process. - */ -enum { - eNoteExitReparentedDeprecated __deprecated_enum_msg("This kqueue(2) EVFILT_PROC flag is no longer sent") = 0x00080000 -}; -#define NOTE_EXIT_REPARENTED ((unsigned int)eNoteExitReparentedDeprecated) /* exited while reparented */ - -/* - * If NOTE_EXIT_DETAIL is present, these bits indicate specific reasons for exiting. - */ -#define NOTE_EXIT_DETAIL_MASK 0x00070000 -#define NOTE_EXIT_DECRYPTFAIL 0x00010000 -#define NOTE_EXIT_MEMORY 0x00020000 -#define NOTE_EXIT_CSERROR 0x00040000 - - -/* - * data/hint fflags for EVFILT_VM, shared with userspace. - */ -#define NOTE_VM_PRESSURE 0x80000000 /* will react on memory pressure */ -#define NOTE_VM_PRESSURE_TERMINATE 0x40000000 /* will quit on memory pressure, possibly after cleaning up dirty state */ -#define NOTE_VM_PRESSURE_SUDDEN_TERMINATE 0x20000000 /* will quit immediately on memory pressure */ -#define NOTE_VM_ERROR 0x10000000 /* there was an error */ - - -/* - * data/hint fflags for EVFILT_TIMER, shared with userspace. - * The default is a (repeating) interval timer with the data - * specifying the timeout interval in milliseconds. - * - * All timeouts are implicitly EV_CLEAR events. - */ -#define NOTE_SECONDS 0x00000001 /* data is seconds */ -#define NOTE_USECONDS 0x00000002 /* data is microseconds */ -#define NOTE_NSECONDS 0x00000004 /* data is nanoseconds */ -#define NOTE_ABSOLUTE 0x00000008 /* absolute timeout */ -/* ... implicit EV_ONESHOT, timeout uses the gettimeofday epoch */ -#define NOTE_LEEWAY 0x00000010 /* ext[1] holds leeway for power aware timers */ -#define NOTE_CRITICAL 0x00000020 /* system does minimal timer coalescing */ -#define NOTE_BACKGROUND 0x00000040 /* system does maximum timer coalescing */ -#define NOTE_MACH_CONTINUOUS_TIME 0x00000080 -/* - * NOTE_MACH_CONTINUOUS_TIME: - * with NOTE_ABSOLUTE: causes the timer to continue to tick across sleep, - * still uses gettimeofday epoch - * with NOTE_MACHTIME and NOTE_ABSOLUTE: uses mach continuous time epoch - * without NOTE_ABSOLUTE (interval timer mode): continues to tick across sleep - */ -#define NOTE_MACHTIME 0x00000100 /* data is mach absolute time units */ -/* timeout uses the mach absolute time epoch */ - - -/* - * data/hint fflags for EVFILT_MACHPORT, shared with userspace. - * - * Only portsets are supported at this time. - * - * The fflags field can optionally contain the MACH_RCV_MSG, MACH_RCV_LARGE, - * and related trailer receive options as defined in . - * The presence of these flags directs the kevent64() call to attempt to receive - * the message during kevent delivery, rather than just indicate that a message exists. - * On setup, The ext[0] field contains the receive buffer pointer and ext[1] contains - * the receive buffer length. Upon event delivery, the actual received message size - * is returned in ext[1]. As with mach_msg(), the buffer must be large enough to - * receive the message and the requested (or default) message trailers. In addition, - * the fflags field contains the return code normally returned by mach_msg(). - * - * If MACH_RCV_MSG is specified, and the ext[1] field specifies a zero length, the - * system call argument specifying an ouput area (kevent_qos) will be consulted. If - * the system call specified an output data area, the user-space address - * of the received message is carved from that provided output data area (if enough - * space remains there). The address and length of each received message is - * returned in the ext[0] and ext[1] fields (respectively) of the corresponding kevent. - * - * IF_MACH_RCV_VOUCHER_CONTENT is specified, the contents of the message voucher is - * extracted (as specified in the xflags field) and stored in ext[2] up to ext[3] - * length. If the input length is zero, and the system call provided a data area, - * the space for the voucher content is carved from the provided space and its - * address and length is returned in ext[2] and ext[3] respectively. - * - * If no message receipt options were provided in the fflags field on setup, no - * message is received by this call. Instead, on output, the data field simply - * contains the name of the actual port detected with a message waiting. - */ - -/* - * DEPRECATED!!!!!!!!! - * NOTE_TRACK, NOTE_TRACKERR, and NOTE_CHILD are no longer supported as of 10.5 - */ -/* additional flags for EVFILT_PROC */ -#define NOTE_TRACK 0x00000001 /* follow across forks */ -#define NOTE_TRACKERR 0x00000002 /* could not track child */ -#define NOTE_CHILD 0x00000004 /* am a child process */ - - - -/* Temporay solution for BootX to use inode.h till kqueue moves to vfs layer */ -struct knote; -SLIST_HEAD(klist, knote); - - -struct timespec; - -__BEGIN_DECLS -int kqueue(void); -int kevent(int kq, - const struct kevent *changelist, int nchanges, - struct kevent *eventlist, int nevents, - const struct timespec *timeout); -int kevent64(int kq, - const struct kevent64_s *changelist, int nchanges, - struct kevent64_s *eventlist, int nevents, - unsigned int flags, - const struct timespec *timeout); - - -__END_DECLS - - - - -#endif /* !_SYS_EVENT_H_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.12-any/sys/fcntl.h b/lib/libc/include/any-macos.12-any/sys/fcntl.h deleted file mode 100644 index 22ef74cb58..0000000000 --- a/lib/libc/include/any-macos.12-any/sys/fcntl.h +++ /dev/null @@ -1,592 +0,0 @@ -/* - * Copyright (c) 2000-2013 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@ - */ -/* Copyright (c) 1995 NeXT Computer, Inc. All Rights Reserved */ -/*- - * Copyright (c) 1983, 1990, 1993 - * The Regents of the University of California. All rights reserved. - * (c) UNIX System Laboratories, Inc. - * All or some portions of this file are derived from material licensed - * to the University of California by American Telephone and Telegraph - * Co. or Unix System Laboratories, Inc. and are reproduced herein with - * the permission of UNIX System Laboratories, Inc. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)fcntl.h 8.3 (Berkeley) 1/21/94 - */ - - -#ifndef _SYS_FCNTL_H_ -#define _SYS_FCNTL_H_ - -/* - * This file includes the definitions for open and fcntl - * described by POSIX for ; it also includes - * related kernel definitions. - */ -#include -#include -#include - -/* We should not be exporting size_t here. Temporary for gcc bootstrapping. */ -#include -#include -#include -#include - -/* - * File status flags: these are used by open(2), fcntl(2). - * They are also used (indirectly) in the kernel file structure f_flags, - * which is a superset of the open/fcntl flags. Open flags and f_flags - * are inter-convertible using OFLAGS(fflags) and FFLAGS(oflags). - * Open/fcntl flags begin with O_; kernel-internal flags begin with F. - */ -/* open-only flags */ -#define O_RDONLY 0x0000 /* open for reading only */ -#define O_WRONLY 0x0001 /* open for writing only */ -#define O_RDWR 0x0002 /* open for reading and writing */ -#define O_ACCMODE 0x0003 /* mask for above modes */ - -/* - * Kernel encoding of open mode; separate read and write bits that are - * independently testable: 1 greater than the above. - * - * XXX - * FREAD and FWRITE are excluded from the #ifdef KERNEL so that TIOCFLUSH, - * which was documented to use FREAD/FWRITE, continues to work. - */ -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -#define FREAD 0x00000001 -#define FWRITE 0x00000002 -#endif -#define O_NONBLOCK 0x00000004 /* no delay */ -#define O_APPEND 0x00000008 /* set append mode */ - -#include - -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -#define O_SHLOCK 0x00000010 /* open with shared file lock */ -#define O_EXLOCK 0x00000020 /* open with exclusive file lock */ -#define O_ASYNC 0x00000040 /* signal pgrp when data ready */ -#define O_FSYNC O_SYNC /* source compatibility: do not use */ -#define O_NOFOLLOW 0x00000100 /* don't follow symlinks */ -#endif /* (_POSIX_C_SOURCE && !_DARWIN_C_SOURCE) */ -#define O_CREAT 0x00000200 /* create if nonexistant */ -#define O_TRUNC 0x00000400 /* truncate to zero length */ -#define O_EXCL 0x00000800 /* error if already exists */ - -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -#define O_EVTONLY 0x00008000 /* descriptor requested for event notifications only */ -#endif - - -#define O_NOCTTY 0x00020000 /* don't assign controlling terminal */ - - -#if __DARWIN_C_LEVEL >= 200809L -#define O_DIRECTORY 0x00100000 -#endif - -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -#define O_SYMLINK 0x00200000 /* allow open of a symlink */ -#endif - -// O_DSYNC 0x00400000 /* synch I/O data integrity */ -#include - - -#if __DARWIN_C_LEVEL >= 200809L -#define O_CLOEXEC 0x01000000 /* implicitly set FD_CLOEXEC */ -#endif - - -#if __DARWIN_C_LEVEL >= __DARWIN_C_FULL -#define O_NOFOLLOW_ANY 0x20000000 /* no symlinks allowed in path */ -#endif - - -#if __DARWIN_C_LEVEL >= 200809L -/* - * Descriptor value for the current working directory - */ -#define AT_FDCWD -2 - -/* - * Flags for the at functions - */ -#define AT_EACCESS 0x0010 /* Use effective ids in access check */ -#define AT_SYMLINK_NOFOLLOW 0x0020 /* Act on the symlink itself not the target */ -#define AT_SYMLINK_FOLLOW 0x0040 /* Act on target of symlink */ -#define AT_REMOVEDIR 0x0080 /* Path refers to directory */ -#if __DARWIN_C_LEVEL >= __DARWIN_C_FULL -#define AT_REALDEV 0x0200 /* Return real device inodes resides on for fstatat(2) */ -#define AT_FDONLY 0x0400 /* Use only the fd and Ignore the path for fstatat(2) */ -#define AT_SYMLINK_NOFOLLOW_ANY 0x0800 /* Path should not contain any symlinks */ -#endif -#endif - -/* Data Protection Flags */ -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -#define O_DP_GETRAWENCRYPTED 0x0001 -#define O_DP_GETRAWUNENCRYPTED 0x0002 -#endif - - - -/* - * The O_* flags used to have only F* names, which were used in the kernel - * and by fcntl. We retain the F* names for the kernel f_flags field - * and for backward compatibility for fcntl. - */ -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -#define FAPPEND O_APPEND /* kernel/compat */ -#define FASYNC O_ASYNC /* kernel/compat */ -#define FFSYNC O_FSYNC /* kernel */ -#define FFDSYNC O_DSYNC /* kernel */ -#define FNONBLOCK O_NONBLOCK /* kernel */ -#define FNDELAY O_NONBLOCK /* compat */ -#define O_NDELAY O_NONBLOCK /* compat */ -#endif - -/* - * Flags used for copyfile(2) - */ - -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -#define CPF_OVERWRITE 0x0001 -#define CPF_IGNORE_MODE 0x0002 -#define CPF_MASK (CPF_OVERWRITE|CPF_IGNORE_MODE) -#endif - -/* - * Constants used for fcntl(2) - */ - -/* command values */ -#define F_DUPFD 0 /* duplicate file descriptor */ -#define F_GETFD 1 /* get file descriptor flags */ -#define F_SETFD 2 /* set file descriptor flags */ -#define F_GETFL 3 /* get file status flags */ -#define F_SETFL 4 /* set file status flags */ -#define F_GETOWN 5 /* get SIGIO/SIGURG proc/pgrp */ -#define F_SETOWN 6 /* set SIGIO/SIGURG proc/pgrp */ -#define F_GETLK 7 /* get record locking information */ -#define F_SETLK 8 /* set record locking information */ -#define F_SETLKW 9 /* F_SETLK; wait if blocked */ -#if __DARWIN_C_LEVEL >= __DARWIN_C_FULL -#define F_SETLKWTIMEOUT 10 /* F_SETLK; wait if blocked, return on timeout */ -#endif /* __DARWIN_C_LEVEL >= __DARWIN_C_FULL */ -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -#define F_FLUSH_DATA 40 -#define F_CHKCLEAN 41 /* Used for regression test */ -#define F_PREALLOCATE 42 /* Preallocate storage */ -#define F_SETSIZE 43 /* Truncate a file. Equivalent to calling truncate(2) */ -#define F_RDADVISE 44 /* Issue an advisory read async with no copy to user */ -#define F_RDAHEAD 45 /* turn read ahead off/on for this fd */ -/* - * 46,47 used to be F_READBOOTSTRAP and F_WRITEBOOTSTRAP - */ -#define F_NOCACHE 48 /* turn data caching off/on for this fd */ -#define F_LOG2PHYS 49 /* file offset to device offset */ -#define F_GETPATH 50 /* return the full path of the fd */ -#define F_FULLFSYNC 51 /* fsync + ask the drive to flush to the media */ -#define F_PATHPKG_CHECK 52 /* find which component (if any) is a package */ -#define F_FREEZE_FS 53 /* "freeze" all fs operations */ -#define F_THAW_FS 54 /* "thaw" all fs operations */ -#define F_GLOBAL_NOCACHE 55 /* turn data caching off/on (globally) for this file */ - - -#define F_ADDSIGS 59 /* add detached signatures */ - - -#define F_ADDFILESIGS 61 /* add signature from same file (used by dyld for shared libs) */ - -#define F_NODIRECT 62 /* used in conjunction with F_NOCACHE to indicate that DIRECT, synchonous writes */ - /* should not be used (i.e. its ok to temporaily create cached pages) */ - -#define F_GETPROTECTIONCLASS 63 /* Get the protection class of a file from the EA, returns int */ -#define F_SETPROTECTIONCLASS 64 /* Set the protection class of a file for the EA, requires int */ - -#define F_LOG2PHYS_EXT 65 /* file offset to device offset, extended */ - -#define F_GETLKPID 66 /* See man fcntl(2) F_GETLK - * Similar to F_GETLK but in addition l_pid is treated as an input parameter - * which is used as a matching value when searching locks on the file - * so that only locks owned by the process with pid l_pid are returned. - * However, any flock(2) type lock will also be found with the returned value - * of l_pid set to -1 (as with F_GETLK). - */ - -/* See F_DUPFD_CLOEXEC below for 67 */ - - -#define F_SETBACKINGSTORE 70 /* Mark the file as being the backing store for another filesystem */ -#define F_GETPATH_MTMINFO 71 /* return the full path of the FD, but error in specific mtmd circumstances */ - -#define F_GETCODEDIR 72 /* Returns the code directory, with associated hashes, to the caller */ - -#define F_SETNOSIGPIPE 73 /* No SIGPIPE generated on EPIPE */ -#define F_GETNOSIGPIPE 74 /* Status of SIGPIPE for this fd */ - -#define F_TRANSCODEKEY 75 /* For some cases, we need to rewrap the key for AKS/MKB */ - -#define F_SINGLE_WRITER 76 /* file being written to a by single writer... if throttling enabled, writes */ - /* may be broken into smaller chunks with throttling in between */ - -#define F_GETPROTECTIONLEVEL 77 /* Get the protection version number for this filesystem */ - -#define F_FINDSIGS 78 /* Add detached code signatures (used by dyld for shared libs) */ - - -#define F_ADDFILESIGS_FOR_DYLD_SIM 83 /* Add signature from same file, only if it is signed by Apple (used by dyld for simulator) */ - - -#define F_BARRIERFSYNC 85 /* fsync + issue barrier to drive */ - - -#define F_ADDFILESIGS_RETURN 97 /* Add signature from same file, return end offset in structure on success */ -#define F_CHECK_LV 98 /* Check if Library Validation allows this Mach-O file to be mapped into the calling process */ - -#define F_PUNCHHOLE 99 /* Deallocate a range of the file */ - -#define F_TRIM_ACTIVE_FILE 100 /* Trim an active file */ - -#define F_SPECULATIVE_READ 101 /* Synchronous advisory read fcntl for regular and compressed file */ - -#define F_GETPATH_NOFIRMLINK 102 /* return the full path without firmlinks of the fd */ - -#define F_ADDFILESIGS_INFO 103 /* Add signature from same file, return information */ -#define F_ADDFILESUPPL 104 /* Add supplemental signature from same file with fd reference to original */ -#define F_GETSIGSINFO 105 /* Look up code signature information attached to a file or slice */ -#define F_FSRESERVED 106 /* Placeholder for future usage */ - -// FS-specific fcntl()'s numbers begin at 0x00010000 and go up -#define FCNTL_FS_SPECIFIC_BASE 0x00010000 - -#endif /* (_POSIX_C_SOURCE && !_DARWIN_C_SOURCE) */ - -#if __DARWIN_C_LEVEL >= 200809L -#define F_DUPFD_CLOEXEC 67 /* mark the dup with FD_CLOEXEC */ -#endif - -/* file descriptor flags (F_GETFD, F_SETFD) */ -#define FD_CLOEXEC 1 /* close-on-exec flag */ - -/* record locking flags (F_GETLK, F_SETLK, F_SETLKW) */ -#define F_RDLCK 1 /* shared or read lock */ -#define F_UNLCK 2 /* unlock */ -#define F_WRLCK 3 /* exclusive or write lock */ - - -/* - * [XSI] The values used for l_whence shall be defined as described - * in - */ -#include - -/* - * [XSI] The symbolic names for file modes for use as values of mode_t - * shall be defined as described in - */ -#include - -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -/* allocate flags (F_PREALLOCATE) */ - -#define F_ALLOCATECONTIG 0x00000002 /* allocate contigious space */ -#define F_ALLOCATEALL 0x00000004 /* allocate all requested space or no space at all */ - -/* Position Modes (fst_posmode) for F_PREALLOCATE */ - -#define F_PEOFPOSMODE 3 /* Make it past all of the SEEK pos modes so that */ - /* we can keep them in sync should we desire */ -#define F_VOLPOSMODE 4 /* specify volume starting postion */ -#endif /* (_POSIX_C_SOURCE && !_DARWIN_C_SOURCE) */ - -/* - * Advisory file segment locking data type - - * information passed to system by user - */ -struct flock { - off_t l_start; /* starting offset */ - off_t l_len; /* len = 0 means until end of file */ - pid_t l_pid; /* lock owner */ - short l_type; /* lock type: read/write, etc. */ - short l_whence; /* type of l_start */ -}; - -#include - -#if __DARWIN_C_LEVEL >= __DARWIN_C_FULL -/* - * Advisory file segment locking with time out - - * Information passed to system by user for F_SETLKWTIMEOUT - */ -struct flocktimeout { - struct flock fl; /* flock passed for file locking */ - struct timespec timeout; /* timespec struct for timeout */ -}; -#endif /* __DARWIN_C_LEVEL >= __DARWIN_C_FULL */ - -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -/* - * advisory file read data type - - * information passed by user to system - */ - - -struct radvisory { - off_t ra_offset; - int ra_count; -}; - - -/* - * detached code signatures data type - - * information passed by user to system used by F_ADDSIGS and F_ADDFILESIGS. - * F_ADDFILESIGS is a shortcut for files that contain their own signature and - * doesn't require mapping of the file in order to load the signature. - */ -#define USER_FSIGNATURES_CDHASH_LEN 20 -typedef struct fsignatures { - off_t fs_file_start; - void *fs_blob_start; - size_t fs_blob_size; - - /* The following fields are only applicable to F_ADDFILESIGS_INFO (64bit only). */ - /* Prior to F_ADDFILESIGS_INFO, this struct ended after fs_blob_size. */ - size_t fs_fsignatures_size;// input: size of this struct (for compatibility) - char fs_cdhash[USER_FSIGNATURES_CDHASH_LEN]; // output: cdhash - int fs_hash_type;// output: hash algorithm type for cdhash -} fsignatures_t; - -typedef struct fsupplement { - off_t fs_file_start; /* offset of Mach-O image in FAT file */ - off_t fs_blob_start; /* offset of signature in Mach-O image */ - size_t fs_blob_size; /* signature blob size */ - int fs_orig_fd; /* address of original image */ -} fsupplement_t; - - - -/* - * DYLD needs to check if the object is allowed to be combined - * into the main binary. This is done between the code signature - * is loaded and dyld is doing all the work to process the LOAD commands. - * - * While this could be done in F_ADDFILESIGS.* family the hook into - * the MAC module doesn't say no when LV isn't enabled and then that - * is cached on the vnode, and the MAC module never gets change once - * a process that library validation enabled. - */ -typedef struct fchecklv { - off_t lv_file_start; - size_t lv_error_message_size; - void *lv_error_message; -} fchecklv_t; - - -/* At this time F_GETSIGSINFO can only indicate platformness. - * As additional requestable information is defined, new keys will be added and the - * fgetsigsinfo_t structure will be lengthened to add space for the additional information - */ -#define GETSIGSINFO_PLATFORM_BINARY 1 - -/* fgetsigsinfo_t used by F_GETSIGSINFO command */ -typedef struct fgetsigsinfo { - off_t fg_file_start; /* IN: Offset in the file to look for a signature, -1 for any signature */ - int fg_info_request; /* IN: Key indicating the info requested */ - int fg_sig_is_platform; /* OUT: 1 if the signature is a plat form binary, 0 if not */ -} fgetsigsinfo_t; - - -/* lock operations for flock(2) */ -#define LOCK_SH 0x01 /* shared file lock */ -#define LOCK_EX 0x02 /* exclusive file lock */ -#define LOCK_NB 0x04 /* don't block when locking */ -#define LOCK_UN 0x08 /* unlock file */ - -/* fstore_t type used by F_PREALLOCATE command */ - -typedef struct fstore { - unsigned int fst_flags; /* IN: flags word */ - int fst_posmode; /* IN: indicates use of offset field */ - off_t fst_offset; /* IN: start of the region */ - off_t fst_length; /* IN: size of the region */ - off_t fst_bytesalloc; /* OUT: number of bytes allocated */ -} fstore_t; - -/* fpunchhole_t used by F_PUNCHHOLE */ -typedef struct fpunchhole { - unsigned int fp_flags; /* unused */ - unsigned int reserved; /* (to maintain 8-byte alignment) */ - off_t fp_offset; /* IN: start of the region */ - off_t fp_length; /* IN: size of the region */ -} fpunchhole_t; - -/* factive_file_trim_t used by F_TRIM_ACTIVE_FILE */ -typedef struct ftrimactivefile { - off_t fta_offset; /* IN: start of the region */ - off_t fta_length; /* IN: size of the region */ -} ftrimactivefile_t; - -/* fspecread_t used by F_SPECULATIVE_READ */ -typedef struct fspecread { - unsigned int fsr_flags; /* IN: flags word */ - unsigned int reserved; /* to maintain 8-byte alignment */ - off_t fsr_offset; /* IN: start of the region */ - off_t fsr_length; /* IN: size of the region */ -} fspecread_t; - -/* fbootstraptransfer_t used by F_READBOOTSTRAP and F_WRITEBOOTSTRAP commands */ - -typedef struct fbootstraptransfer { - off_t fbt_offset; /* IN: offset to start read/write */ - size_t fbt_length; /* IN: number of bytes to transfer */ - void *fbt_buffer; /* IN: buffer to be read/written */ -} fbootstraptransfer_t; - - -/* - * For F_LOG2PHYS this information is passed back to user - * Currently only devoffset is returned - that is the VOP_BMAP - * result - the disk device address corresponding to the - * current file offset (likely set with an lseek). - * - * The flags could hold an indication of whether the # of - * contiguous bytes reflects the true extent length on disk, - * or is an advisory value that indicates there is at least that - * many bytes contiguous. For some filesystems it might be too - * inefficient to provide anything beyond the advisory value. - * Flags and contiguous bytes return values are not yet implemented. - * For them the fcntl will nedd to switch from using BMAP to CMAP - * and a per filesystem type flag will be needed to interpret the - * contiguous bytes count result from CMAP. - * - * F_LOG2PHYS_EXT is a variant of F_LOG2PHYS that uses a passed in - * file offset and length instead of the current file offset. - * F_LOG2PHYS_EXT operates on the same structure as F_LOG2PHYS, but - * treats it as an in/out. - */ -#pragma pack(4) - -struct log2phys { - unsigned int l2p_flags; /* unused so far */ - off_t l2p_contigbytes; /* F_LOG2PHYS: unused so far */ - /* F_LOG2PHYS_EXT: IN: number of bytes to be queried */ - /* OUT: number of contiguous bytes at this position */ - off_t l2p_devoffset; /* F_LOG2PHYS: OUT: bytes into device */ - /* F_LOG2PHYS_EXT: IN: bytes into file */ - /* OUT: bytes into device */ -}; - -#pragma pack() - -#define O_POPUP 0x80000000 /* force window to popup on open */ -#define O_ALERT 0x20000000 /* small, clean popup window */ - - -#endif /* (_POSIX_C_SOURCE && !_DARWIN_C_SOURCE) */ - - -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) - -#include - -typedef enum { - FILESEC_OWNER = 1, - FILESEC_GROUP = 2, - FILESEC_UUID = 3, - FILESEC_MODE = 4, - FILESEC_ACL = 5, - FILESEC_GRPUUID = 6, - -/* XXX these are private to the implementation */ - FILESEC_ACL_RAW = 100, - FILESEC_ACL_ALLOCSIZE = 101 -} filesec_property_t; - -/* XXX backwards compatibility */ -#define FILESEC_GUID FILESEC_UUID -#endif /* (_POSIX_C_SOURCE && !_DARWIN_C_SOURCE) */ - -__BEGIN_DECLS -int open(const char *, int, ...) __DARWIN_ALIAS_C(open); -#if __DARWIN_C_LEVEL >= 200809L -int openat(int, const char *, int, ...) __DARWIN_NOCANCEL(openat) __OSX_AVAILABLE_STARTING(__MAC_10_10, __IPHONE_8_0); -#endif -int creat(const char *, mode_t) __DARWIN_ALIAS_C(creat); -int fcntl(int, int, ...) __DARWIN_ALIAS_C(fcntl); -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) - -int openx_np(const char *, int, filesec_t); -/* - * data-protected non-portable open(2) : - * int open_dprotected_np(user_addr_t path, int flags, int class, int dpflags, int mode) - */ -int open_dprotected_np( const char *, int, int, int, ...); -int flock(int, int); -filesec_t filesec_init(void); -filesec_t filesec_dup(filesec_t); -void filesec_free(filesec_t); -int filesec_get_property(filesec_t, filesec_property_t, void *); -int filesec_query_property(filesec_t, filesec_property_t, int *); -int filesec_set_property(filesec_t, filesec_property_t, const void *); -int filesec_unset_property(filesec_t, filesec_property_t) __OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_3_2); -#define _FILESEC_UNSET_PROPERTY ((void *)0) -#define _FILESEC_REMOVE_ACL ((void *)1) -#endif /* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */ -__END_DECLS - -#endif /* !_SYS_FCNTL_H_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.12-any/sys/mount.h b/lib/libc/include/any-macos.12-any/sys/mount.h deleted file mode 100644 index 9b7e523603..0000000000 --- a/lib/libc/include/any-macos.12-any/sys/mount.h +++ /dev/null @@ -1,436 +0,0 @@ -/* - * Copyright (c) 2000-2018 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@ - */ -/* Copyright (c) 1995 NeXT Computer, Inc. All Rights Reserved */ -/* - * Copyright (c) 1989, 1991, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)mount.h 8.21 (Berkeley) 5/20/95 - */ -/* - * NOTICE: This file was modified by SPARTA, Inc. in 2005 to introduce - * support for mandatory and extensible security protections. This notice - * is included in support of clause 2.2 (b) of the Apple Public License, - * Version 2.0. - */ - - -#ifndef _SYS_MOUNT_H_ -#define _SYS_MOUNT_H_ - -#include -#include -#include /* needed for vol_capabilities_attr_t */ -#include - -#include -#include -#include /* XXX needed for user builds */ -#include - -#include /* file system id type */ - -/* - * file system statistics - */ - -#define MFSNAMELEN 15 /* length of fs type name, not inc. null */ -#define MFSTYPENAMELEN 16 /* length of fs type name including null */ - -#if __DARWIN_64_BIT_INO_T -#define MNAMELEN MAXPATHLEN /* length of buffer for returned name */ -#else /* ! __DARWIN_64_BIT_INO_T */ -#define MNAMELEN 90 /* length of buffer for returned name */ -#endif /* __DARWIN_64_BIT_INO_T */ - -#define MNT_EXT_ROOT_DATA_VOL 0x00000001 /* Data volume of root volume group */ - -#define __DARWIN_STRUCT_STATFS64 { \ - uint32_t f_bsize; /* fundamental file system block size */ \ - int32_t f_iosize; /* optimal transfer block size */ \ - uint64_t f_blocks; /* total data blocks in file system */ \ - uint64_t f_bfree; /* free blocks in fs */ \ - uint64_t f_bavail; /* free blocks avail to non-superuser */ \ - uint64_t f_files; /* total file nodes in file system */ \ - uint64_t f_ffree; /* free file nodes in fs */ \ - fsid_t f_fsid; /* file system id */ \ - uid_t f_owner; /* user that mounted the filesystem */ \ - uint32_t f_type; /* type of filesystem */ \ - uint32_t f_flags; /* copy of mount exported flags */ \ - uint32_t f_fssubtype; /* fs sub-type (flavor) */ \ - char f_fstypename[MFSTYPENAMELEN]; /* fs type name */ \ - char f_mntonname[MAXPATHLEN]; /* directory on which mounted */ \ - char f_mntfromname[MAXPATHLEN]; /* mounted filesystem */ \ - uint32_t f_flags_ext; /* extended flags */ \ - uint32_t f_reserved[7]; /* For future use */ \ -} - -#if !__DARWIN_ONLY_64_BIT_INO_T - -struct statfs64 __DARWIN_STRUCT_STATFS64; - -#endif /* !__DARWIN_ONLY_64_BIT_INO_T */ - -#if __DARWIN_64_BIT_INO_T - -struct statfs __DARWIN_STRUCT_STATFS64; - -#else /* !__DARWIN_64_BIT_INO_T */ - -/* - * LP64 - WARNING - must be kept in sync with struct user_statfs in mount_internal.h. - */ -struct statfs { - short f_otype; /* TEMPORARY SHADOW COPY OF f_type */ - short f_oflags; /* TEMPORARY SHADOW COPY OF f_flags */ - long f_bsize; /* fundamental file system block size */ - long f_iosize; /* optimal transfer block size */ - long f_blocks; /* total data blocks in file system */ - long f_bfree; /* free blocks in fs */ - long f_bavail; /* free blocks avail to non-superuser */ - long f_files; /* total file nodes in file system */ - long f_ffree; /* free file nodes in fs */ - fsid_t f_fsid; /* file system id */ - uid_t f_owner; /* user that mounted the filesystem */ - short f_reserved1; /* spare for later */ - short f_type; /* type of filesystem */ - long f_flags; /* copy of mount exported flags */ - long f_reserved2[2]; /* reserved for future use */ - char f_fstypename[MFSNAMELEN]; /* fs type name */ - char f_mntonname[MNAMELEN]; /* directory on which mounted */ - char f_mntfromname[MNAMELEN];/* mounted filesystem */ - char f_reserved3; /* For alignment */ - long f_reserved4[4]; /* For future use */ -}; - -#endif /* __DARWIN_64_BIT_INO_T */ - -#pragma pack(4) - -struct vfsstatfs { - uint32_t f_bsize; /* fundamental file system block size */ - size_t f_iosize; /* optimal transfer block size */ - uint64_t f_blocks; /* total data blocks in file system */ - uint64_t f_bfree; /* free blocks in fs */ - uint64_t f_bavail; /* free blocks avail to non-superuser */ - uint64_t f_bused; /* free blocks avail to non-superuser */ - uint64_t f_files; /* total file nodes in file system */ - uint64_t f_ffree; /* free file nodes in fs */ - fsid_t f_fsid; /* file system id */ - uid_t f_owner; /* user that mounted the filesystem */ - uint64_t f_flags; /* copy of mount exported flags */ - char f_fstypename[MFSTYPENAMELEN];/* fs type name inclus */ - char f_mntonname[MAXPATHLEN];/* directory on which mounted */ - char f_mntfromname[MAXPATHLEN];/* mounted filesystem */ - uint32_t f_fssubtype; /* fs sub-type (flavor) */ - void *f_reserved[2]; /* For future use == 0 */ -}; - -#pragma pack() - - -/* - * User specifiable flags. - * - * Unmount uses MNT_FORCE flag. - */ -#define MNT_RDONLY 0x00000001 /* read only filesystem */ -#define MNT_SYNCHRONOUS 0x00000002 /* file system written synchronously */ -#define MNT_NOEXEC 0x00000004 /* can't exec from filesystem */ -#define MNT_NOSUID 0x00000008 /* don't honor setuid bits on fs */ -#define MNT_NODEV 0x00000010 /* don't interpret special files */ -#define MNT_UNION 0x00000020 /* union with underlying filesystem */ -#define MNT_ASYNC 0x00000040 /* file system written asynchronously */ -#define MNT_CPROTECT 0x00000080 /* file system supports content protection */ - -/* - * NFS export related mount flags. - */ -#define MNT_EXPORTED 0x00000100 /* file system is exported */ - -/* - * Denotes storage which can be removed from the system by the user. - */ - -#define MNT_REMOVABLE 0x00000200 - -/* - * MAC labeled / "quarantined" flag - */ -#define MNT_QUARANTINE 0x00000400 /* file system is quarantined */ - -/* - * Flags set by internal operations. - */ -#define MNT_LOCAL 0x00001000 /* filesystem is stored locally */ -#define MNT_QUOTA 0x00002000 /* quotas are enabled on filesystem */ -#define MNT_ROOTFS 0x00004000 /* identifies the root filesystem */ -#define MNT_DOVOLFS 0x00008000 /* FS supports volfs (deprecated flag in Mac OS X 10.5) */ - - -#define MNT_DONTBROWSE 0x00100000 /* file system is not appropriate path to user data */ -#define MNT_IGNORE_OWNERSHIP 0x00200000 /* VFS will ignore ownership information on filesystem objects */ -#define MNT_AUTOMOUNTED 0x00400000 /* filesystem was mounted by automounter */ -#define MNT_JOURNALED 0x00800000 /* filesystem is journaled */ -#define MNT_NOUSERXATTR 0x01000000 /* Don't allow user extended attributes */ -#define MNT_DEFWRITE 0x02000000 /* filesystem should defer writes */ -#define MNT_MULTILABEL 0x04000000 /* MAC support for individual labels */ -#define MNT_NOFOLLOW 0x08000000 /* don't follow symlink when resolving mount point */ -#define MNT_NOATIME 0x10000000 /* disable update of file access time */ -#define MNT_SNAPSHOT 0x40000000 /* The mount is a snapshot */ -#define MNT_STRICTATIME 0x80000000 /* enable strict update of file access time */ - -/* backwards compatibility only */ -#define MNT_UNKNOWNPERMISSIONS MNT_IGNORE_OWNERSHIP - - -/* - * XXX I think that this could now become (~(MNT_CMDFLAGS)) - * but the 'mount' program may need changing to handle this. - */ -#define MNT_VISFLAGMASK (MNT_RDONLY | MNT_SYNCHRONOUS | MNT_NOEXEC | \ - MNT_NOSUID | MNT_NODEV | MNT_UNION | \ - MNT_ASYNC | MNT_EXPORTED | MNT_QUARANTINE | \ - MNT_LOCAL | MNT_QUOTA | MNT_REMOVABLE | \ - MNT_ROOTFS | MNT_DOVOLFS | MNT_DONTBROWSE | \ - MNT_IGNORE_OWNERSHIP | MNT_AUTOMOUNTED | MNT_JOURNALED | \ - MNT_NOUSERXATTR | MNT_DEFWRITE | MNT_MULTILABEL | \ - MNT_NOFOLLOW | MNT_NOATIME | MNT_STRICTATIME | \ - MNT_SNAPSHOT | MNT_CPROTECT) -/* - * External filesystem command modifier flags. - * Unmount can use the MNT_FORCE flag. - * XXX These are not STATES and really should be somewhere else. - * External filesystem control flags. - */ -#define MNT_UPDATE 0x00010000 /* not a real mount, just an update */ -#define MNT_NOBLOCK 0x00020000 /* don't block unmount if not responding */ -#define MNT_RELOAD 0x00040000 /* reload filesystem data */ -#define MNT_FORCE 0x00080000 /* force unmount or readonly change */ -#define MNT_CMDFLAGS (MNT_UPDATE|MNT_NOBLOCK|MNT_RELOAD|MNT_FORCE) - - - -/* - * Sysctl CTL_VFS definitions. - * - * Second level identifier specifies which filesystem. Second level - * identifier VFS_GENERIC returns information about all filesystems. - */ -#define VFS_GENERIC 0 /* generic filesystem information */ -#define VFS_NUMMNTOPS 1 /* int: total num of vfs mount/unmount operations */ -/* - * Third level identifiers for VFS_GENERIC are given below; third - * level identifiers for specific filesystems are given in their - * mount specific header files. - */ -#define VFS_MAXTYPENUM 1 /* int: highest defined filesystem type */ -#define VFS_CONF 2 /* struct: vfsconf for filesystem given - * as next argument */ - -/* - * Flags for various system call interfaces. - * - * waitfor flags to vfs_sync() and getfsstat() - */ -#define MNT_WAIT 1 /* synchronized I/O file integrity completion */ -#define MNT_NOWAIT 2 /* start all I/O, but do not wait for it */ -#define MNT_DWAIT 4 /* synchronized I/O data integrity completion */ - - -#if !defined(KERNEL) && !defined(_KERN_SYS_KERNELTYPES_H_) /* also defined in kernel_types.h */ -struct mount; -typedef struct mount * mount_t; -struct vnode; -typedef struct vnode * vnode_t; -#endif - -/* Reserved fields preserve binary compatibility */ -struct vfsconf { - uint32_t vfc_reserved1; /* opaque */ - char vfc_name[MFSNAMELEN]; /* filesystem type name */ - int vfc_typenum; /* historic filesystem type number */ - int vfc_refcount; /* number mounted of this type */ - int vfc_flags; /* permanent flags */ - uint32_t vfc_reserved2; /* opaque */ - uint32_t vfc_reserved3; /* opaque */ -}; - -struct vfsidctl { - int vc_vers; /* should be VFSIDCTL_VERS1 (below) */ - fsid_t vc_fsid; /* fsid to operate on. */ - void *vc_ptr; /* pointer to data structure. */ - size_t vc_len; /* sizeof said structure. */ - u_int32_t vc_spare[12]; /* spare (must be zero). */ -}; - - -/* vfsidctl API version. */ -#define VFS_CTL_VERS1 0x01 - - -/* - * New style VFS sysctls, do not reuse/conflict with the namespace for - * private sysctls. - */ -#define VFS_CTL_OSTATFS 0x00010001 /* old legacy statfs */ -#define VFS_CTL_UMOUNT 0x00010002 /* unmount */ -#define VFS_CTL_QUERY 0x00010003 /* anything wrong? (vfsquery) */ -#define VFS_CTL_NEWADDR 0x00010004 /* reconnect to new address */ -#define VFS_CTL_TIMEO 0x00010005 /* set timeout for vfs notification */ -#define VFS_CTL_NOLOCKS 0x00010006 /* disable file locking */ -#define VFS_CTL_SADDR 0x00010007 /* get server address */ -#define VFS_CTL_DISC 0x00010008 /* server disconnected */ -#define VFS_CTL_SERVERINFO 0x00010009 /* information about fs server */ -#define VFS_CTL_NSTATUS 0x0001000A /* netfs mount status */ -#define VFS_CTL_STATFS64 0x0001000B /* statfs64 */ - -/* - * Automatically select the correct VFS_CTL_*STATFS* flavor based - * on what "struct statfs" layout the client will use. - */ -#if __DARWIN_64_BIT_INO_T -#define VFS_CTL_STATFS VFS_CTL_STATFS64 -#else -#define VFS_CTL_STATFS VFS_CTL_OSTATFS -#endif - -struct vfsquery { - u_int32_t vq_flags; - u_int32_t vq_spare[31]; -}; - -struct vfs_server { - int32_t vs_minutes; /* minutes until server goes down. */ - u_int8_t vs_server_name[MAXHOSTNAMELEN * 3]; /* UTF8 server name to display (null terminated) */ -}; - -/* - * NetFS mount status - returned by VFS_CTL_NSTATUS - */ -struct netfs_status { - u_int32_t ns_status; // Current status of mount (vfsquery flags) - char ns_mountopts[512]; // Significant mount options - uint32_t ns_waittime; // Time waiting for reply (sec) - uint32_t ns_threadcount; // Number of threads blocked on network calls - uint64_t ns_threadids[0]; // Thread IDs of those blocked threads -}; - -/* vfsquery flags */ -#define VQ_NOTRESP 0x0001 /* server down */ -#define VQ_NEEDAUTH 0x0002 /* server bad auth */ -#define VQ_LOWDISK 0x0004 /* we're low on space */ -#define VQ_MOUNT 0x0008 /* new filesystem arrived */ -#define VQ_UNMOUNT 0x0010 /* filesystem has left */ -#define VQ_DEAD 0x0020 /* filesystem is dead, needs force unmount */ -#define VQ_ASSIST 0x0040 /* filesystem needs assistance from external program */ -#define VQ_NOTRESPLOCK 0x0080 /* server lockd down */ -#define VQ_UPDATE 0x0100 /* filesystem information has changed */ -#define VQ_VERYLOWDISK 0x0200 /* file system has *very* little disk space left */ -#define VQ_SYNCEVENT 0x0400 /* a sync just happened (not set by kernel starting Mac OS X 10.9) */ -#define VQ_SERVEREVENT 0x0800 /* server issued notification/warning */ -#define VQ_QUOTA 0x1000 /* a user quota has been hit */ -#define VQ_NEARLOWDISK 0x2000 /* Above lowdisk and below desired disk space */ -#define VQ_DESIRED_DISK 0x4000 /* the desired disk space */ -#define VQ_FREE_SPACE_CHANGE 0x8000 /* free disk space has significantly changed */ -#define VQ_FLAG10000 0x10000 /* placeholder */ - - - -/* - * Generic file handle - */ -#define NFS_MAX_FH_SIZE NFSV4_MAX_FH_SIZE -#define NFSV4_MAX_FH_SIZE 128 -#define NFSV3_MAX_FH_SIZE 64 -#define NFSV2_MAX_FH_SIZE 32 -struct fhandle { - unsigned int fh_len; /* length of file handle */ - unsigned char fh_data[NFS_MAX_FH_SIZE]; /* file handle value */ -}; -typedef struct fhandle fhandle_t; - - - -__BEGIN_DECLS -int fhopen(const struct fhandle *, int); -int fstatfs(int, struct statfs *) __DARWIN_INODE64(fstatfs); -#if !__DARWIN_ONLY_64_BIT_INO_T -int fstatfs64(int, struct statfs64 *) __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_5, __MAC_10_6, __IPHONE_NA, __IPHONE_NA); -#endif /* !__DARWIN_ONLY_64_BIT_INO_T */ -int getfh(const char *, fhandle_t *); -int getfsstat(struct statfs *, int, int) __DARWIN_INODE64(getfsstat); -#if !__DARWIN_ONLY_64_BIT_INO_T -int getfsstat64(struct statfs64 *, int, int) __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_5, __MAC_10_6, __IPHONE_NA, __IPHONE_NA); -#endif /* !__DARWIN_ONLY_64_BIT_INO_T */ -int getmntinfo(struct statfs **, int) __DARWIN_INODE64(getmntinfo); -int getmntinfo_r_np(struct statfs **, int) __DARWIN_INODE64(getmntinfo_r_np) -__OSX_AVAILABLE(10.13) __IOS_AVAILABLE(11.0) -__TVOS_AVAILABLE(11.0) __WATCHOS_AVAILABLE(4.0); -#if !__DARWIN_ONLY_64_BIT_INO_T -int getmntinfo64(struct statfs64 **, int) __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_5, __MAC_10_6, __IPHONE_NA, __IPHONE_NA); -#endif /* !__DARWIN_ONLY_64_BIT_INO_T */ -int mount(const char *, const char *, int, void *); -int fmount(const char *, int, int, void *) __OSX_AVAILABLE(10.13) __IOS_AVAILABLE(11.0) __TVOS_AVAILABLE(11.0) __WATCHOS_AVAILABLE(4.0); -int statfs(const char *, struct statfs *) __DARWIN_INODE64(statfs); -#if !__DARWIN_ONLY_64_BIT_INO_T -int statfs64(const char *, struct statfs64 *) __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_5, __MAC_10_6, __IPHONE_NA, __IPHONE_NA); -#endif /* !__DARWIN_ONLY_64_BIT_INO_T */ -int unmount(const char *, int); -int getvfsbyname(const char *, struct vfsconf *); -__END_DECLS - -#endif /* !_SYS_MOUNT_H_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.12-any/sys/proc_info.h b/lib/libc/include/any-macos.12-any/sys/proc_info.h deleted file mode 100644 index d3406a5a9b..0000000000 --- a/lib/libc/include/any-macos.12-any/sys/proc_info.h +++ /dev/null @@ -1,835 +0,0 @@ -/* - * Copyright (c) 2005-2021 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 _SYS_PROC_INFO_H -#define _SYS_PROC_INFO_H - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -__BEGIN_DECLS - - -#define PROC_ALL_PIDS 1 -#define PROC_PGRP_ONLY 2 -#define PROC_TTY_ONLY 3 -#define PROC_UID_ONLY 4 -#define PROC_RUID_ONLY 5 -#define PROC_PPID_ONLY 6 -#define PROC_KDBG_ONLY 7 - -struct proc_bsdinfo { - uint32_t pbi_flags; /* 64bit; emulated etc */ - uint32_t pbi_status; - uint32_t pbi_xstatus; - uint32_t pbi_pid; - uint32_t pbi_ppid; - uid_t pbi_uid; - gid_t pbi_gid; - uid_t pbi_ruid; - gid_t pbi_rgid; - uid_t pbi_svuid; - gid_t pbi_svgid; - uint32_t rfu_1; /* reserved */ - char pbi_comm[MAXCOMLEN]; - char pbi_name[2 * MAXCOMLEN]; /* empty if no name is registered */ - uint32_t pbi_nfiles; - uint32_t pbi_pgid; - uint32_t pbi_pjobc; - uint32_t e_tdev; /* controlling tty dev */ - uint32_t e_tpgid; /* tty process group id */ - int32_t pbi_nice; - uint64_t pbi_start_tvsec; - uint64_t pbi_start_tvusec; -}; - - -struct proc_bsdshortinfo { - uint32_t pbsi_pid; /* process id */ - uint32_t pbsi_ppid; /* process parent id */ - uint32_t pbsi_pgid; /* process perp id */ - uint32_t pbsi_status; /* p_stat value, SZOMB, SRUN, etc */ - char pbsi_comm[MAXCOMLEN]; /* upto 16 characters of process name */ - uint32_t pbsi_flags; /* 64bit; emulated etc */ - uid_t pbsi_uid; /* current uid on process */ - gid_t pbsi_gid; /* current gid on process */ - uid_t pbsi_ruid; /* current ruid on process */ - gid_t pbsi_rgid; /* current tgid on process */ - uid_t pbsi_svuid; /* current svuid on process */ - gid_t pbsi_svgid; /* current svgid on process */ - uint32_t pbsi_rfu; /* reserved for future use*/ -}; - - - - -/* pbi_flags values */ -#define PROC_FLAG_SYSTEM 1 /* System process */ -#define PROC_FLAG_TRACED 2 /* process currently being traced, possibly by gdb */ -#define PROC_FLAG_INEXIT 4 /* process is working its way in exit() */ -#define PROC_FLAG_PPWAIT 8 -#define PROC_FLAG_LP64 0x10 /* 64bit process */ -#define PROC_FLAG_SLEADER 0x20 /* The process is the session leader */ -#define PROC_FLAG_CTTY 0x40 /* process has a control tty */ -#define PROC_FLAG_CONTROLT 0x80 /* Has a controlling terminal */ -#define PROC_FLAG_THCWD 0x100 /* process has a thread with cwd */ -/* process control bits for resource starvation */ -#define PROC_FLAG_PC_THROTTLE 0x200 /* In resource starvation situations, this process is to be throttled */ -#define PROC_FLAG_PC_SUSP 0x400 /* In resource starvation situations, this process is to be suspended */ -#define PROC_FLAG_PC_KILL 0x600 /* In resource starvation situations, this process is to be terminated */ -#define PROC_FLAG_PC_MASK 0x600 -/* process action bits for resource starvation */ -#define PROC_FLAG_PA_THROTTLE 0x800 /* The process is currently throttled due to resource starvation */ -#define PROC_FLAG_PA_SUSP 0x1000 /* The process is currently suspended due to resource starvation */ -#define PROC_FLAG_PSUGID 0x2000 /* process has set privileges since last exec */ -#define PROC_FLAG_EXEC 0x4000 /* process has called exec */ - - -struct proc_taskinfo { - uint64_t pti_virtual_size; /* virtual memory size (bytes) */ - uint64_t pti_resident_size; /* resident memory size (bytes) */ - uint64_t pti_total_user; /* total time */ - uint64_t pti_total_system; - uint64_t pti_threads_user; /* existing threads only */ - uint64_t pti_threads_system; - int32_t pti_policy; /* default policy for new threads */ - int32_t pti_faults; /* number of page faults */ - int32_t pti_pageins; /* number of actual pageins */ - int32_t pti_cow_faults; /* number of copy-on-write faults */ - int32_t pti_messages_sent; /* number of messages sent */ - int32_t pti_messages_received; /* number of messages received */ - int32_t pti_syscalls_mach; /* number of mach system calls */ - int32_t pti_syscalls_unix; /* number of unix system calls */ - int32_t pti_csw; /* number of context switches */ - int32_t pti_threadnum; /* number of threads in the task */ - int32_t pti_numrunning; /* number of running threads */ - int32_t pti_priority; /* task priority*/ -}; - -struct proc_taskallinfo { - struct proc_bsdinfo pbsd; - struct proc_taskinfo ptinfo; -}; - -#define MAXTHREADNAMESIZE 64 - -struct proc_threadinfo { - uint64_t pth_user_time; /* user run time */ - uint64_t pth_system_time; /* system run time */ - int32_t pth_cpu_usage; /* scaled cpu usage percentage */ - int32_t pth_policy; /* scheduling policy in effect */ - int32_t pth_run_state; /* run state (see below) */ - int32_t pth_flags; /* various flags (see below) */ - int32_t pth_sleep_time; /* number of seconds that thread */ - int32_t pth_curpri; /* cur priority*/ - int32_t pth_priority; /* priority*/ - int32_t pth_maxpriority; /* max priority*/ - char pth_name[MAXTHREADNAMESIZE]; /* thread name, if any */ -}; - -struct proc_regioninfo { - uint32_t pri_protection; - uint32_t pri_max_protection; - uint32_t pri_inheritance; - uint32_t pri_flags; /* shared, external pager, is submap */ - uint64_t pri_offset; - uint32_t pri_behavior; - uint32_t pri_user_wired_count; - uint32_t pri_user_tag; - uint32_t pri_pages_resident; - uint32_t pri_pages_shared_now_private; - uint32_t pri_pages_swapped_out; - uint32_t pri_pages_dirtied; - uint32_t pri_ref_count; - uint32_t pri_shadow_depth; - uint32_t pri_share_mode; - uint32_t pri_private_pages_resident; - uint32_t pri_shared_pages_resident; - uint32_t pri_obj_id; - uint32_t pri_depth; - uint64_t pri_address; - uint64_t pri_size; -}; - -#define PROC_REGION_SUBMAP 1 -#define PROC_REGION_SHARED 2 - -#define SM_COW 1 -#define SM_PRIVATE 2 -#define SM_EMPTY 3 -#define SM_SHARED 4 -#define SM_TRUESHARED 5 -#define SM_PRIVATE_ALIASED 6 -#define SM_SHARED_ALIASED 7 -#define SM_LARGE_PAGE 8 - - -/* - * Thread run states (state field). - */ - -#define TH_STATE_RUNNING 1 /* thread is running normally */ -#define TH_STATE_STOPPED 2 /* thread is stopped */ -#define TH_STATE_WAITING 3 /* thread is waiting normally */ -#define TH_STATE_UNINTERRUPTIBLE 4 /* thread is in an uninterruptible - * wait */ -#define TH_STATE_HALTED 5 /* thread is halted at a - * clean point */ - -/* - * Thread flags (flags field). - */ -#define TH_FLAGS_SWAPPED 0x1 /* thread is swapped out */ -#define TH_FLAGS_IDLE 0x2 /* thread is an idle thread */ - - -struct proc_workqueueinfo { - uint32_t pwq_nthreads; /* total number of workqueue threads */ - uint32_t pwq_runthreads; /* total number of running workqueue threads */ - uint32_t pwq_blockedthreads; /* total number of blocked workqueue threads */ - uint32_t pwq_state; -}; - -/* - * workqueue state (pwq_state field) - */ -#define WQ_EXCEEDED_CONSTRAINED_THREAD_LIMIT 0x1 -#define WQ_EXCEEDED_TOTAL_THREAD_LIMIT 0x2 -#define WQ_FLAGS_AVAILABLE 0x4 - -struct proc_fileinfo { - uint32_t fi_openflags; - uint32_t fi_status; - off_t fi_offset; - int32_t fi_type; - uint32_t fi_guardflags; -}; - -/* stats flags in proc_fileinfo */ -#define PROC_FP_SHARED 1 /* shared by more than one fd */ -#define PROC_FP_CLEXEC 2 /* close on exec */ -#define PROC_FP_GUARDED 4 /* guarded fd */ -#define PROC_FP_CLFORK 8 /* close on fork */ - -#define PROC_FI_GUARD_CLOSE (1u << 0) -#define PROC_FI_GUARD_DUP (1u << 1) -#define PROC_FI_GUARD_SOCKET_IPC (1u << 2) -#define PROC_FI_GUARD_FILEPORT (1u << 3) - -struct proc_exitreasonbasicinfo { - uint32_t beri_namespace; - uint64_t beri_code; - uint64_t beri_flags; - uint32_t beri_reason_buf_size; -} __attribute__((packed)); - -struct proc_exitreasoninfo { - uint32_t eri_namespace; - uint64_t eri_code; - uint64_t eri_flags; - uint32_t eri_reason_buf_size; - uint64_t eri_kcd_buf; -} __attribute__((packed)); - -/* - * A copy of stat64 with static sized fields. - */ -struct vinfo_stat { - uint32_t vst_dev; /* [XSI] ID of device containing file */ - uint16_t vst_mode; /* [XSI] Mode of file (see below) */ - uint16_t vst_nlink; /* [XSI] Number of hard links */ - uint64_t vst_ino; /* [XSI] File serial number */ - uid_t vst_uid; /* [XSI] User ID of the file */ - gid_t vst_gid; /* [XSI] Group ID of the file */ - int64_t vst_atime; /* [XSI] Time of last access */ - int64_t vst_atimensec; /* nsec of last access */ - int64_t vst_mtime; /* [XSI] Last data modification time */ - int64_t vst_mtimensec; /* last data modification nsec */ - int64_t vst_ctime; /* [XSI] Time of last status change */ - int64_t vst_ctimensec; /* nsec of last status change */ - int64_t vst_birthtime; /* File creation time(birth) */ - int64_t vst_birthtimensec; /* nsec of File creation time */ - off_t vst_size; /* [XSI] file size, in bytes */ - int64_t vst_blocks; /* [XSI] blocks allocated for file */ - int32_t vst_blksize; /* [XSI] optimal blocksize for I/O */ - uint32_t vst_flags; /* user defined flags for file */ - uint32_t vst_gen; /* file generation number */ - uint32_t vst_rdev; /* [XSI] Device ID */ - int64_t vst_qspare[2]; /* RESERVED: DO NOT USE! */ -}; - -struct vnode_info { - struct vinfo_stat vi_stat; - int vi_type; - int vi_pad; - fsid_t vi_fsid; -}; - -struct vnode_info_path { - struct vnode_info vip_vi; - char vip_path[MAXPATHLEN]; /* tail end of it */ -}; - -struct vnode_fdinfo { - struct proc_fileinfo pfi; - struct vnode_info pvi; -}; - -struct vnode_fdinfowithpath { - struct proc_fileinfo pfi; - struct vnode_info_path pvip; -}; - -struct proc_regionwithpathinfo { - struct proc_regioninfo prp_prinfo; - struct vnode_info_path prp_vip; -}; - -struct proc_regionpath { - uint64_t prpo_addr; - uint64_t prpo_regionlength; - char prpo_path[MAXPATHLEN]; -}; - -struct proc_vnodepathinfo { - struct vnode_info_path pvi_cdir; - struct vnode_info_path pvi_rdir; -}; - -struct proc_threadwithpathinfo { - struct proc_threadinfo pt; - struct vnode_info_path pvip; -}; - -/* - * Socket - */ - - -/* - * IPv4 and IPv6 Sockets - */ - -#define INI_IPV4 0x1 -#define INI_IPV6 0x2 - -struct in4in6_addr { - u_int32_t i46a_pad32[3]; - struct in_addr i46a_addr4; -}; - -struct in_sockinfo { - int insi_fport; /* foreign port */ - int insi_lport; /* local port */ - uint64_t insi_gencnt; /* generation count of this instance */ - uint32_t insi_flags; /* generic IP/datagram flags */ - uint32_t insi_flow; - - uint8_t insi_vflag; /* ini_IPV4 or ini_IPV6 */ - uint8_t insi_ip_ttl; /* time to live proto */ - uint32_t rfu_1; /* reserved */ - /* protocol dependent part */ - union { - struct in4in6_addr ina_46; - struct in6_addr ina_6; - } insi_faddr; /* foreign host table entry */ - union { - struct in4in6_addr ina_46; - struct in6_addr ina_6; - } insi_laddr; /* local host table entry */ - struct { - u_char in4_tos; /* type of service */ - } insi_v4; - struct { - uint8_t in6_hlim; - int in6_cksum; - u_short in6_ifindex; - short in6_hops; - } insi_v6; -}; - -/* - * TCP Sockets - */ - -#define TSI_T_REXMT 0 /* retransmit */ -#define TSI_T_PERSIST 1 /* retransmit persistence */ -#define TSI_T_KEEP 2 /* keep alive */ -#define TSI_T_2MSL 3 /* 2*msl quiet time timer */ -#define TSI_T_NTIMERS 4 - -#define TSI_S_CLOSED 0 /* closed */ -#define TSI_S_LISTEN 1 /* listening for connection */ -#define TSI_S_SYN_SENT 2 /* active, have sent syn */ -#define TSI_S_SYN_RECEIVED 3 /* have send and received syn */ -#define TSI_S_ESTABLISHED 4 /* established */ -#define TSI_S__CLOSE_WAIT 5 /* rcvd fin, waiting for close */ -#define TSI_S_FIN_WAIT_1 6 /* have closed, sent fin */ -#define TSI_S_CLOSING 7 /* closed xchd FIN; await FIN ACK */ -#define TSI_S_LAST_ACK 8 /* had fin and close; await FIN ACK */ -#define TSI_S_FIN_WAIT_2 9 /* have closed, fin is acked */ -#define TSI_S_TIME_WAIT 10 /* in 2*msl quiet wait after close */ -#define TSI_S_RESERVED 11 /* pseudo state: reserved */ - -struct tcp_sockinfo { - struct in_sockinfo tcpsi_ini; - int tcpsi_state; - int tcpsi_timer[TSI_T_NTIMERS]; - int tcpsi_mss; - uint32_t tcpsi_flags; - uint32_t rfu_1; /* reserved */ - uint64_t tcpsi_tp; /* opaque handle of TCP protocol control block */ -}; - -/* - * Unix Domain Sockets - */ - - -struct un_sockinfo { - uint64_t unsi_conn_so; /* opaque handle of connected socket */ - uint64_t unsi_conn_pcb; /* opaque handle of connected protocol control block */ - union { - struct sockaddr_un ua_sun; - char ua_dummy[SOCK_MAXADDRLEN]; - } unsi_addr; /* bound address */ - union { - struct sockaddr_un ua_sun; - char ua_dummy[SOCK_MAXADDRLEN]; - } unsi_caddr; /* address of socket connected to */ -}; - -/* - * PF_NDRV Sockets - */ - -struct ndrv_info { - uint32_t ndrvsi_if_family; - uint32_t ndrvsi_if_unit; - char ndrvsi_if_name[IF_NAMESIZE]; -}; - -/* - * Kernel Event Sockets - */ - -struct kern_event_info { - uint32_t kesi_vendor_code_filter; - uint32_t kesi_class_filter; - uint32_t kesi_subclass_filter; -}; - -/* - * Kernel Control Sockets - */ - -struct kern_ctl_info { - uint32_t kcsi_id; - uint32_t kcsi_reg_unit; - uint32_t kcsi_flags; /* support flags */ - uint32_t kcsi_recvbufsize; /* request more than the default buffer size */ - uint32_t kcsi_sendbufsize; /* request more than the default buffer size */ - uint32_t kcsi_unit; - char kcsi_name[MAX_KCTL_NAME]; /* unique nke identifier, provided by DTS */ -}; - -/* - * VSock Sockets - */ - -struct vsock_sockinfo { - uint32_t local_cid; - uint32_t local_port; - uint32_t remote_cid; - uint32_t remote_port; -}; - -/* soi_state */ - -#define SOI_S_NOFDREF 0x0001 /* no file table ref any more */ -#define SOI_S_ISCONNECTED 0x0002 /* socket connected to a peer */ -#define SOI_S_ISCONNECTING 0x0004 /* in process of connecting to peer */ -#define SOI_S_ISDISCONNECTING 0x0008 /* in process of disconnecting */ -#define SOI_S_CANTSENDMORE 0x0010 /* can't send more data to peer */ -#define SOI_S_CANTRCVMORE 0x0020 /* can't receive more data from peer */ -#define SOI_S_RCVATMARK 0x0040 /* at mark on input */ -#define SOI_S_PRIV 0x0080 /* privileged for broadcast, raw... */ -#define SOI_S_NBIO 0x0100 /* non-blocking ops */ -#define SOI_S_ASYNC 0x0200 /* async i/o notify */ -#define SOI_S_INCOMP 0x0800 /* Unaccepted, incomplete connection */ -#define SOI_S_COMP 0x1000 /* unaccepted, complete connection */ -#define SOI_S_ISDISCONNECTED 0x2000 /* socket disconnected from peer */ -#define SOI_S_DRAINING 0x4000 /* close waiting for blocked system calls to drain */ - -struct sockbuf_info { - uint32_t sbi_cc; - uint32_t sbi_hiwat; /* SO_RCVBUF, SO_SNDBUF */ - uint32_t sbi_mbcnt; - uint32_t sbi_mbmax; - uint32_t sbi_lowat; - short sbi_flags; - short sbi_timeo; -}; - -enum { - SOCKINFO_GENERIC = 0, - SOCKINFO_IN = 1, - SOCKINFO_TCP = 2, - SOCKINFO_UN = 3, - SOCKINFO_NDRV = 4, - SOCKINFO_KERN_EVENT = 5, - SOCKINFO_KERN_CTL = 6, - SOCKINFO_VSOCK = 7, -}; - -struct socket_info { - struct vinfo_stat soi_stat; - uint64_t soi_so; /* opaque handle of socket */ - uint64_t soi_pcb; /* opaque handle of protocol control block */ - int soi_type; - int soi_protocol; - int soi_family; - short soi_options; - short soi_linger; - short soi_state; - short soi_qlen; - short soi_incqlen; - short soi_qlimit; - short soi_timeo; - u_short soi_error; - uint32_t soi_oobmark; - struct sockbuf_info soi_rcv; - struct sockbuf_info soi_snd; - int soi_kind; - uint32_t rfu_1; /* reserved */ - union { - struct in_sockinfo pri_in; /* SOCKINFO_IN */ - struct tcp_sockinfo pri_tcp; /* SOCKINFO_TCP */ - struct un_sockinfo pri_un; /* SOCKINFO_UN */ - struct ndrv_info pri_ndrv; /* SOCKINFO_NDRV */ - struct kern_event_info pri_kern_event; /* SOCKINFO_KERN_EVENT */ - struct kern_ctl_info pri_kern_ctl; /* SOCKINFO_KERN_CTL */ - struct vsock_sockinfo pri_vsock; /* SOCKINFO_VSOCK */ - } soi_proto; -}; - -struct socket_fdinfo { - struct proc_fileinfo pfi; - struct socket_info psi; -}; - - - -struct psem_info { - struct vinfo_stat psem_stat; - char psem_name[MAXPATHLEN]; -}; - -struct psem_fdinfo { - struct proc_fileinfo pfi; - struct psem_info pseminfo; -}; - - - -struct pshm_info { - struct vinfo_stat pshm_stat; - uint64_t pshm_mappaddr; - char pshm_name[MAXPATHLEN]; -}; - -struct pshm_fdinfo { - struct proc_fileinfo pfi; - struct pshm_info pshminfo; -}; - - -struct pipe_info { - struct vinfo_stat pipe_stat; - uint64_t pipe_handle; - uint64_t pipe_peerhandle; - int pipe_status; - int rfu_1; /* reserved */ -}; - -struct pipe_fdinfo { - struct proc_fileinfo pfi; - struct pipe_info pipeinfo; -}; - - -struct kqueue_info { - struct vinfo_stat kq_stat; - uint32_t kq_state; - uint32_t rfu_1; /* reserved */ -}; - -struct kqueue_dyninfo { - struct kqueue_info kqdi_info; - uint64_t kqdi_servicer; - uint64_t kqdi_owner; - uint32_t kqdi_sync_waiters; - uint8_t kqdi_sync_waiter_qos; - uint8_t kqdi_async_qos; - uint16_t kqdi_request_state; - uint8_t kqdi_events_qos; - uint8_t kqdi_pri; - uint8_t kqdi_pol; - uint8_t kqdi_cpupercent; - uint8_t _kqdi_reserved0[4]; - uint64_t _kqdi_reserved1[4]; -}; - -/* keep in sync with KQ_* in sys/eventvar.h */ -#define PROC_KQUEUE_SELECT 0x0001 -#define PROC_KQUEUE_SLEEP 0x0002 -#define PROC_KQUEUE_32 0x0008 -#define PROC_KQUEUE_64 0x0010 -#define PROC_KQUEUE_QOS 0x0020 - -struct kqueue_fdinfo { - struct proc_fileinfo pfi; - struct kqueue_info kqueueinfo; -}; - -struct appletalk_info { - struct vinfo_stat atalk_stat; -}; - -struct appletalk_fdinfo { - struct proc_fileinfo pfi; - struct appletalk_info appletalkinfo; -}; - -typedef uint64_t proc_info_udata_t; - -/* defns of process file desc type */ -#define PROX_FDTYPE_ATALK 0 -#define PROX_FDTYPE_VNODE 1 -#define PROX_FDTYPE_SOCKET 2 -#define PROX_FDTYPE_PSHM 3 -#define PROX_FDTYPE_PSEM 4 -#define PROX_FDTYPE_KQUEUE 5 -#define PROX_FDTYPE_PIPE 6 -#define PROX_FDTYPE_FSEVENTS 7 -#define PROX_FDTYPE_NETPOLICY 9 -#define PROX_FDTYPE_CHANNEL 10 -#define PROX_FDTYPE_NEXUS 11 - -struct proc_fdinfo { - int32_t proc_fd; - uint32_t proc_fdtype; -}; - -struct proc_fileportinfo { - uint32_t proc_fileport; - uint32_t proc_fdtype; -}; - -/* - * Channel - */ - -/* type */ -#define PROC_CHANNEL_TYPE_USER_PIPE 0 -#define PROC_CHANNEL_TYPE_KERNEL_PIPE 1 -#define PROC_CHANNEL_TYPE_NET_IF 2 -#define PROC_CHANNEL_TYPE_FLOW_SWITCH 3 - -/* flags */ -#define PROC_CHANNEL_FLAGS_MONITOR_TX 0x1 -#define PROC_CHANNEL_FLAGS_MONITOR_RX 0x2 -#define PROC_CHANNEL_FLAGS_MONITOR_NO_COPY 0x4 -#define PROC_CHANNEL_FLAGS_EXCLUSIVE 0x10 -#define PROC_CHANNEL_FLAGS_USER_PACKET_POOL 0x20 -#define PROC_CHANNEL_FLAGS_DEFUNCT_OK 0x40 -#define PROC_CHANNEL_FLAGS_LOW_LATENCY 0x80 -#define PROC_CHANNEL_FLAGS_MONITOR \ - (PROC_CHANNEL_FLAGS_MONITOR_TX | PROC_CHANNEL_FLAGS_MONITOR_RX) - -struct proc_channel_info { - uuid_t chi_instance; - uint32_t chi_port; - uint32_t chi_type; - uint32_t chi_flags; - uint32_t rfu_1;/* reserved */ -}; - -struct channel_fdinfo { - struct proc_fileinfo pfi; - struct proc_channel_info channelinfo; -}; - -/* Flavors for proc_pidinfo() */ -#define PROC_PIDLISTFDS 1 -#define PROC_PIDLISTFD_SIZE (sizeof(struct proc_fdinfo)) - -#define PROC_PIDTASKALLINFO 2 -#define PROC_PIDTASKALLINFO_SIZE (sizeof(struct proc_taskallinfo)) - -#define PROC_PIDTBSDINFO 3 -#define PROC_PIDTBSDINFO_SIZE (sizeof(struct proc_bsdinfo)) - -#define PROC_PIDTASKINFO 4 -#define PROC_PIDTASKINFO_SIZE (sizeof(struct proc_taskinfo)) - -#define PROC_PIDTHREADINFO 5 -#define PROC_PIDTHREADINFO_SIZE (sizeof(struct proc_threadinfo)) - -#define PROC_PIDLISTTHREADS 6 -#define PROC_PIDLISTTHREADS_SIZE (2* sizeof(uint32_t)) - -#define PROC_PIDREGIONINFO 7 -#define PROC_PIDREGIONINFO_SIZE (sizeof(struct proc_regioninfo)) - -#define PROC_PIDREGIONPATHINFO 8 -#define PROC_PIDREGIONPATHINFO_SIZE (sizeof(struct proc_regionwithpathinfo)) - -#define PROC_PIDVNODEPATHINFO 9 -#define PROC_PIDVNODEPATHINFO_SIZE (sizeof(struct proc_vnodepathinfo)) - -#define PROC_PIDTHREADPATHINFO 10 -#define PROC_PIDTHREADPATHINFO_SIZE (sizeof(struct proc_threadwithpathinfo)) - -#define PROC_PIDPATHINFO 11 -#define PROC_PIDPATHINFO_SIZE (MAXPATHLEN) -#define PROC_PIDPATHINFO_MAXSIZE (4*MAXPATHLEN) - -#define PROC_PIDWORKQUEUEINFO 12 -#define PROC_PIDWORKQUEUEINFO_SIZE (sizeof(struct proc_workqueueinfo)) - -#define PROC_PIDT_SHORTBSDINFO 13 -#define PROC_PIDT_SHORTBSDINFO_SIZE (sizeof(struct proc_bsdshortinfo)) - -#define PROC_PIDLISTFILEPORTS 14 -#define PROC_PIDLISTFILEPORTS_SIZE (sizeof(struct proc_fileportinfo)) - -#define PROC_PIDTHREADID64INFO 15 -#define PROC_PIDTHREADID64INFO_SIZE (sizeof(struct proc_threadinfo)) - -#define PROC_PID_RUSAGE 16 -#define PROC_PID_RUSAGE_SIZE 0 - -/* Flavors for proc_pidfdinfo */ - -#define PROC_PIDFDVNODEINFO 1 -#define PROC_PIDFDVNODEINFO_SIZE (sizeof(struct vnode_fdinfo)) - -#define PROC_PIDFDVNODEPATHINFO 2 -#define PROC_PIDFDVNODEPATHINFO_SIZE (sizeof(struct vnode_fdinfowithpath)) - -#define PROC_PIDFDSOCKETINFO 3 -#define PROC_PIDFDSOCKETINFO_SIZE (sizeof(struct socket_fdinfo)) - -#define PROC_PIDFDPSEMINFO 4 -#define PROC_PIDFDPSEMINFO_SIZE (sizeof(struct psem_fdinfo)) - -#define PROC_PIDFDPSHMINFO 5 -#define PROC_PIDFDPSHMINFO_SIZE (sizeof(struct pshm_fdinfo)) - -#define PROC_PIDFDPIPEINFO 6 -#define PROC_PIDFDPIPEINFO_SIZE (sizeof(struct pipe_fdinfo)) - -#define PROC_PIDFDKQUEUEINFO 7 -#define PROC_PIDFDKQUEUEINFO_SIZE (sizeof(struct kqueue_fdinfo)) - -#define PROC_PIDFDATALKINFO 8 -#define PROC_PIDFDATALKINFO_SIZE (sizeof(struct appletalk_fdinfo)) - - -#define PROC_PIDFDCHANNELINFO 10 -#define PROC_PIDFDCHANNELINFO_SIZE (sizeof(struct channel_fdinfo)) - -/* Flavors for proc_pidfileportinfo */ - -#define PROC_PIDFILEPORTVNODEPATHINFO 2 /* out: vnode_fdinfowithpath */ -#define PROC_PIDFILEPORTVNODEPATHINFO_SIZE \ - PROC_PIDFDVNODEPATHINFO_SIZE - -#define PROC_PIDFILEPORTSOCKETINFO 3 /* out: socket_fdinfo */ -#define PROC_PIDFILEPORTSOCKETINFO_SIZE PROC_PIDFDSOCKETINFO_SIZE - -#define PROC_PIDFILEPORTPSHMINFO 5 /* out: pshm_fdinfo */ -#define PROC_PIDFILEPORTPSHMINFO_SIZE PROC_PIDFDPSHMINFO_SIZE - -#define PROC_PIDFILEPORTPIPEINFO 6 /* out: pipe_fdinfo */ -#define PROC_PIDFILEPORTPIPEINFO_SIZE PROC_PIDFDPIPEINFO_SIZE - -/* used for proc_setcontrol */ -#define PROC_SELFSET_PCONTROL 1 - -#define PROC_SELFSET_THREADNAME 2 -#define PROC_SELFSET_THREADNAME_SIZE (MAXTHREADNAMESIZE -1) - -#define PROC_SELFSET_VMRSRCOWNER 3 - -#define PROC_SELFSET_DELAYIDLESLEEP 4 - -/* used for proc_dirtycontrol */ -#define PROC_DIRTYCONTROL_TRACK 1 -#define PROC_DIRTYCONTROL_SET 2 -#define PROC_DIRTYCONTROL_GET 3 -#define PROC_DIRTYCONTROL_CLEAR 4 - -/* proc_track_dirty() flags */ -#define PROC_DIRTY_TRACK 0x1 -#define PROC_DIRTY_ALLOW_IDLE_EXIT 0x2 -#define PROC_DIRTY_DEFER 0x4 -#define PROC_DIRTY_LAUNCH_IN_PROGRESS 0x8 -#define PROC_DIRTY_DEFER_ALWAYS 0x10 - -/* proc_get_dirty() flags */ -#define PROC_DIRTY_TRACKED 0x1 -#define PROC_DIRTY_ALLOWS_IDLE_EXIT 0x2 -#define PROC_DIRTY_IS_DIRTY 0x4 -#define PROC_DIRTY_LAUNCH_IS_IN_PROGRESS 0x8 - -/* Flavors for proc_udata_info */ -#define PROC_UDATA_INFO_GET 1 -#define PROC_UDATA_INFO_SET 2 - - - - -__END_DECLS - -#endif /*_SYS_PROC_INFO_H */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.12-any/sys/resource.h b/lib/libc/include/any-macos.12-any/sys/resource.h deleted file mode 100644 index 0d99c7693e..0000000000 --- a/lib/libc/include/any-macos.12-any/sys/resource.h +++ /dev/null @@ -1,524 +0,0 @@ -/* - * Copyright (c) 2000-2018 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@ - */ -/* Copyright (c) 1995 NeXT Computer, Inc. All Rights Reserved */ -/* - * Copyright (c) 1982, 1986, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)resource.h 8.2 (Berkeley) 1/4/94 - */ - -#ifndef _SYS_RESOURCE_H_ -#define _SYS_RESOURCE_H_ - -#include -#include -#include - -#if __DARWIN_C_LEVEL >= __DARWIN_C_FULL -#include -#endif /* __DARWIN_C_LEVEL >= __DARWIN_C_FULL */ - -#include - -/* [XSI] The timeval structure shall be defined as described in - * - */ -#include - -/* The id_t type shall be defined as described in */ -#include - - -/* - * Resource limit type (low 63 bits, excluding the sign bit) - */ -typedef __uint64_t rlim_t; - - -/***** - * PRIORITY - */ - -/* - * Possible values of the first parameter to getpriority()/setpriority(), - * used to indicate the type of the second parameter. - */ -#define PRIO_PROCESS 0 /* Second argument is a PID */ -#define PRIO_PGRP 1 /* Second argument is a GID */ -#define PRIO_USER 2 /* Second argument is a UID */ - -#if __DARWIN_C_LEVEL >= __DARWIN_C_FULL -#define PRIO_DARWIN_THREAD 3 /* Second argument is always 0 (current thread) */ -#define PRIO_DARWIN_PROCESS 4 /* Second argument is a PID */ - - -/* - * Range limitations for the value of the third parameter to setpriority(). - */ -#define PRIO_MIN -20 -#define PRIO_MAX 20 - -/* - * use PRIO_DARWIN_BG to set the current thread into "background" state - * which lowers CPU, disk IO, and networking priorites until thread terminates - * or "background" state is revoked - */ -#define PRIO_DARWIN_BG 0x1000 - -/* - * use PRIO_DARWIN_NONUI to restrict a process's ability to make calls to - * the GPU. (deprecated) - */ -#define PRIO_DARWIN_NONUI 0x1001 - -#endif /* __DARWIN_C_LEVEL >= __DARWIN_C_FULL */ - - - -/***** - * RESOURCE USAGE - */ - -/* - * Possible values of the first parameter to getrusage(), used to indicate - * the scope of the information to be returned. - */ -#define RUSAGE_SELF 0 /* Current process information */ -#define RUSAGE_CHILDREN -1 /* Current process' children */ - -/* - * A structure representing an accounting of resource utilization. The - * address of an instance of this structure is the second parameter to - * getrusage(). - * - * Note: All values other than ru_utime and ru_stime are implementaiton - * defined and subject to change in a future release. Their use - * is discouraged for standards compliant programs. - */ -struct rusage { - struct timeval ru_utime; /* user time used (PL) */ - struct timeval ru_stime; /* system time used (PL) */ -#if __DARWIN_C_LEVEL < __DARWIN_C_FULL - long ru_opaque[14]; /* implementation defined */ -#else - /* - * Informational aliases for source compatibility with programs - * that need more information than that provided by standards, - * and which do not mind being OS-dependent. - */ - long ru_maxrss; /* max resident set size (PL) */ -#define ru_first ru_ixrss /* internal: ruadd() range start */ - long ru_ixrss; /* integral shared memory size (NU) */ - long ru_idrss; /* integral unshared data (NU) */ - long ru_isrss; /* integral unshared stack (NU) */ - long ru_minflt; /* page reclaims (NU) */ - long ru_majflt; /* page faults (NU) */ - long ru_nswap; /* swaps (NU) */ - long ru_inblock; /* block input operations (atomic) */ - long ru_oublock; /* block output operations (atomic) */ - long ru_msgsnd; /* messages sent (atomic) */ - long ru_msgrcv; /* messages received (atomic) */ - long ru_nsignals; /* signals received (atomic) */ - long ru_nvcsw; /* voluntary context switches (atomic) */ - long ru_nivcsw; /* involuntary " */ -#define ru_last ru_nivcsw /* internal: ruadd() range end */ -#endif /* __DARWIN_C_LEVEL >= __DARWIN_C_FULL */ -}; - -#if __DARWIN_C_LEVEL >= __DARWIN_C_FULL -/* - * Flavors for proc_pid_rusage(). - */ -#define RUSAGE_INFO_V0 0 -#define RUSAGE_INFO_V1 1 -#define RUSAGE_INFO_V2 2 -#define RUSAGE_INFO_V3 3 -#define RUSAGE_INFO_V4 4 -#define RUSAGE_INFO_V5 5 -#define RUSAGE_INFO_CURRENT RUSAGE_INFO_V5 - -/* - * Flags for RUSAGE_INFO_V5 - */ -#define RU_PROC_RUNS_RESLIDE 0x00000001 /* proc has reslid shared cache */ - -typedef void *rusage_info_t; - -struct rusage_info_v0 { - uint8_t ri_uuid[16]; - uint64_t ri_user_time; - uint64_t ri_system_time; - uint64_t ri_pkg_idle_wkups; - uint64_t ri_interrupt_wkups; - uint64_t ri_pageins; - uint64_t ri_wired_size; - uint64_t ri_resident_size; - uint64_t ri_phys_footprint; - uint64_t ri_proc_start_abstime; - uint64_t ri_proc_exit_abstime; -}; - -struct rusage_info_v1 { - uint8_t ri_uuid[16]; - uint64_t ri_user_time; - uint64_t ri_system_time; - uint64_t ri_pkg_idle_wkups; - uint64_t ri_interrupt_wkups; - uint64_t ri_pageins; - uint64_t ri_wired_size; - uint64_t ri_resident_size; - uint64_t ri_phys_footprint; - uint64_t ri_proc_start_abstime; - uint64_t ri_proc_exit_abstime; - uint64_t ri_child_user_time; - uint64_t ri_child_system_time; - uint64_t ri_child_pkg_idle_wkups; - uint64_t ri_child_interrupt_wkups; - uint64_t ri_child_pageins; - uint64_t ri_child_elapsed_abstime; -}; - -struct rusage_info_v2 { - uint8_t ri_uuid[16]; - uint64_t ri_user_time; - uint64_t ri_system_time; - uint64_t ri_pkg_idle_wkups; - uint64_t ri_interrupt_wkups; - uint64_t ri_pageins; - uint64_t ri_wired_size; - uint64_t ri_resident_size; - uint64_t ri_phys_footprint; - uint64_t ri_proc_start_abstime; - uint64_t ri_proc_exit_abstime; - uint64_t ri_child_user_time; - uint64_t ri_child_system_time; - uint64_t ri_child_pkg_idle_wkups; - uint64_t ri_child_interrupt_wkups; - uint64_t ri_child_pageins; - uint64_t ri_child_elapsed_abstime; - uint64_t ri_diskio_bytesread; - uint64_t ri_diskio_byteswritten; -}; - -struct rusage_info_v3 { - uint8_t ri_uuid[16]; - uint64_t ri_user_time; - uint64_t ri_system_time; - uint64_t ri_pkg_idle_wkups; - uint64_t ri_interrupt_wkups; - uint64_t ri_pageins; - uint64_t ri_wired_size; - uint64_t ri_resident_size; - uint64_t ri_phys_footprint; - uint64_t ri_proc_start_abstime; - uint64_t ri_proc_exit_abstime; - uint64_t ri_child_user_time; - uint64_t ri_child_system_time; - uint64_t ri_child_pkg_idle_wkups; - uint64_t ri_child_interrupt_wkups; - uint64_t ri_child_pageins; - uint64_t ri_child_elapsed_abstime; - uint64_t ri_diskio_bytesread; - uint64_t ri_diskio_byteswritten; - uint64_t ri_cpu_time_qos_default; - uint64_t ri_cpu_time_qos_maintenance; - uint64_t ri_cpu_time_qos_background; - uint64_t ri_cpu_time_qos_utility; - uint64_t ri_cpu_time_qos_legacy; - uint64_t ri_cpu_time_qos_user_initiated; - uint64_t ri_cpu_time_qos_user_interactive; - uint64_t ri_billed_system_time; - uint64_t ri_serviced_system_time; -}; - -struct rusage_info_v4 { - uint8_t ri_uuid[16]; - uint64_t ri_user_time; - uint64_t ri_system_time; - uint64_t ri_pkg_idle_wkups; - uint64_t ri_interrupt_wkups; - uint64_t ri_pageins; - uint64_t ri_wired_size; - uint64_t ri_resident_size; - uint64_t ri_phys_footprint; - uint64_t ri_proc_start_abstime; - uint64_t ri_proc_exit_abstime; - uint64_t ri_child_user_time; - uint64_t ri_child_system_time; - uint64_t ri_child_pkg_idle_wkups; - uint64_t ri_child_interrupt_wkups; - uint64_t ri_child_pageins; - uint64_t ri_child_elapsed_abstime; - uint64_t ri_diskio_bytesread; - uint64_t ri_diskio_byteswritten; - uint64_t ri_cpu_time_qos_default; - uint64_t ri_cpu_time_qos_maintenance; - uint64_t ri_cpu_time_qos_background; - uint64_t ri_cpu_time_qos_utility; - uint64_t ri_cpu_time_qos_legacy; - uint64_t ri_cpu_time_qos_user_initiated; - uint64_t ri_cpu_time_qos_user_interactive; - uint64_t ri_billed_system_time; - uint64_t ri_serviced_system_time; - uint64_t ri_logical_writes; - uint64_t ri_lifetime_max_phys_footprint; - uint64_t ri_instructions; - uint64_t ri_cycles; - uint64_t ri_billed_energy; - uint64_t ri_serviced_energy; - uint64_t ri_interval_max_phys_footprint; - uint64_t ri_runnable_time; -}; - -struct rusage_info_v5 { - uint8_t ri_uuid[16]; - uint64_t ri_user_time; - uint64_t ri_system_time; - uint64_t ri_pkg_idle_wkups; - uint64_t ri_interrupt_wkups; - uint64_t ri_pageins; - uint64_t ri_wired_size; - uint64_t ri_resident_size; - uint64_t ri_phys_footprint; - uint64_t ri_proc_start_abstime; - uint64_t ri_proc_exit_abstime; - uint64_t ri_child_user_time; - uint64_t ri_child_system_time; - uint64_t ri_child_pkg_idle_wkups; - uint64_t ri_child_interrupt_wkups; - uint64_t ri_child_pageins; - uint64_t ri_child_elapsed_abstime; - uint64_t ri_diskio_bytesread; - uint64_t ri_diskio_byteswritten; - uint64_t ri_cpu_time_qos_default; - uint64_t ri_cpu_time_qos_maintenance; - uint64_t ri_cpu_time_qos_background; - uint64_t ri_cpu_time_qos_utility; - uint64_t ri_cpu_time_qos_legacy; - uint64_t ri_cpu_time_qos_user_initiated; - uint64_t ri_cpu_time_qos_user_interactive; - uint64_t ri_billed_system_time; - uint64_t ri_serviced_system_time; - uint64_t ri_logical_writes; - uint64_t ri_lifetime_max_phys_footprint; - uint64_t ri_instructions; - uint64_t ri_cycles; - uint64_t ri_billed_energy; - uint64_t ri_serviced_energy; - uint64_t ri_interval_max_phys_footprint; - uint64_t ri_runnable_time; - uint64_t ri_flags; -}; - -typedef struct rusage_info_v5 rusage_info_current; - -#endif /* __DARWIN_C_LEVEL >= __DARWIN_C_FULL */ - - - -/***** - * RESOURCE LIMITS - */ - -/* - * Symbolic constants for resource limits; since all limits are representable - * as a type rlim_t, we are permitted to define RLIM_SAVED_* in terms of - * RLIM_INFINITY. - */ -#define RLIM_INFINITY (((__uint64_t)1 << 63) - 1) /* no limit */ -#define RLIM_SAVED_MAX RLIM_INFINITY /* Unrepresentable hard limit */ -#define RLIM_SAVED_CUR RLIM_INFINITY /* Unrepresentable soft limit */ - -/* - * Possible values of the first parameter to getrlimit()/setrlimit(), to - * indicate for which resource the operation is being performed. - */ -#define RLIMIT_CPU 0 /* cpu time per process */ -#define RLIMIT_FSIZE 1 /* file size */ -#define RLIMIT_DATA 2 /* data segment size */ -#define RLIMIT_STACK 3 /* stack size */ -#define RLIMIT_CORE 4 /* core file size */ -#define RLIMIT_AS 5 /* address space (resident set size) */ -#if __DARWIN_C_LEVEL >= __DARWIN_C_FULL -#define RLIMIT_RSS RLIMIT_AS /* source compatibility alias */ -#define RLIMIT_MEMLOCK 6 /* locked-in-memory address space */ -#define RLIMIT_NPROC 7 /* number of processes */ -#endif /* __DARWIN_C_LEVEL >= __DARWIN_C_FULL */ -#define RLIMIT_NOFILE 8 /* number of open files */ -#if __DARWIN_C_LEVEL >= __DARWIN_C_FULL -#define RLIM_NLIMITS 9 /* total number of resource limits */ -#endif /* __DARWIN_C_LEVEL >= __DARWIN_C_FULL */ -#define _RLIMIT_POSIX_FLAG 0x1000 /* Set bit for strict POSIX */ - -/* - * A structure representing a resource limit. The address of an instance - * of this structure is the second parameter to getrlimit()/setrlimit(). - */ -struct rlimit { - rlim_t rlim_cur; /* current (soft) limit */ - rlim_t rlim_max; /* maximum value for rlim_cur */ -}; - -#if __DARWIN_C_LEVEL >= __DARWIN_C_FULL -/* - * proc_rlimit_control() - * - * Resource limit flavors - */ -#define RLIMIT_WAKEUPS_MONITOR 0x1 /* Configure the wakeups monitor. */ -#define RLIMIT_CPU_USAGE_MONITOR 0x2 /* Configure the CPU usage monitor. */ -#define RLIMIT_THREAD_CPULIMITS 0x3 /* Configure a blocking, per-thread, CPU limits. */ -#define RLIMIT_FOOTPRINT_INTERVAL 0x4 /* Configure memory footprint interval tracking */ - -/* - * Flags for wakeups monitor control. - */ -#define WAKEMON_ENABLE 0x01 -#define WAKEMON_DISABLE 0x02 -#define WAKEMON_GET_PARAMS 0x04 -#define WAKEMON_SET_DEFAULTS 0x08 -#define WAKEMON_MAKE_FATAL 0x10 /* Configure the task so that violations are fatal. */ - -/* - * Flags for CPU usage monitor control. - */ -#define CPUMON_MAKE_FATAL 0x1000 - -/* - * Flags for memory footprint interval tracking. - */ -#define FOOTPRINT_INTERVAL_RESET 0x1 /* Reset the footprint interval counter to zero */ - -struct proc_rlimit_control_wakeupmon { - uint32_t wm_flags; - int32_t wm_rate; -}; - - - -/* I/O type */ -#define IOPOL_TYPE_DISK 0 -#define IOPOL_TYPE_VFS_ATIME_UPDATES 2 -#define IOPOL_TYPE_VFS_MATERIALIZE_DATALESS_FILES 3 -#define IOPOL_TYPE_VFS_STATFS_NO_DATA_VOLUME 4 -#define IOPOL_TYPE_VFS_TRIGGER_RESOLVE 5 -#define IOPOL_TYPE_VFS_IGNORE_CONTENT_PROTECTION 6 -#define IOPOL_TYPE_VFS_IGNORE_PERMISSIONS 7 -#define IOPOL_TYPE_VFS_SKIP_MTIME_UPDATE 8 -#define IOPOL_TYPE_VFS_ALLOW_LOW_SPACE_WRITES 9 - -/* scope */ -#define IOPOL_SCOPE_PROCESS 0 -#define IOPOL_SCOPE_THREAD 1 -#define IOPOL_SCOPE_DARWIN_BG 2 - -/* I/O Priority */ -#define IOPOL_DEFAULT 0 -#define IOPOL_IMPORTANT 1 -#define IOPOL_PASSIVE 2 -#define IOPOL_THROTTLE 3 -#define IOPOL_UTILITY 4 -#define IOPOL_STANDARD 5 - -/* compatibility with older names */ -#define IOPOL_APPLICATION IOPOL_STANDARD -#define IOPOL_NORMAL IOPOL_IMPORTANT - - -#define IOPOL_ATIME_UPDATES_DEFAULT 0 -#define IOPOL_ATIME_UPDATES_OFF 1 - -#define IOPOL_MATERIALIZE_DATALESS_FILES_DEFAULT 0 -#define IOPOL_MATERIALIZE_DATALESS_FILES_OFF 1 -#define IOPOL_MATERIALIZE_DATALESS_FILES_ON 2 - -#define IOPOL_VFS_STATFS_NO_DATA_VOLUME_DEFAULT 0 -#define IOPOL_VFS_STATFS_FORCE_NO_DATA_VOLUME 1 - -#define IOPOL_VFS_TRIGGER_RESOLVE_DEFAULT 0 -#define IOPOL_VFS_TRIGGER_RESOLVE_OFF 1 - -#define IOPOL_VFS_CONTENT_PROTECTION_DEFAULT 0 -#define IOPOL_VFS_CONTENT_PROTECTION_IGNORE 1 - -#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_ALLOW_LOW_SPACE_WRITES_OFF 0 -#define IOPOL_VFS_ALLOW_LOW_SPACE_WRITES_ON 1 - -#endif /* __DARWIN_C_LEVEL >= __DARWIN_C_FULL */ - - -__BEGIN_DECLS -int getpriority(int, id_t); -#if __DARWIN_C_LEVEL >= __DARWIN_C_FULL -int getiopolicy_np(int, int) __OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_2_0); -#endif /* __DARWIN_C_LEVEL >= __DARWIN_C_FULL */ -int getrlimit(int, struct rlimit *) __DARWIN_ALIAS(getrlimit); -int getrusage(int, struct rusage *); -int setpriority(int, id_t, int); -#if __DARWIN_C_LEVEL >= __DARWIN_C_FULL -int setiopolicy_np(int, int, int) __OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_2_0); -#endif /* __DARWIN_C_LEVEL >= __DARWIN_C_FULL */ -int setrlimit(int, const struct rlimit *) __DARWIN_ALIAS(setrlimit); -__END_DECLS - -#endif /* !_SYS_RESOURCE_H_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.12-any/sys/socket.h b/lib/libc/include/any-macos.12-any/sys/socket.h deleted file mode 100644 index 5dce291591..0000000000 --- a/lib/libc/include/any-macos.12-any/sys/socket.h +++ /dev/null @@ -1,745 +0,0 @@ -/* - * Copyright (c) 2000-2019 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@ - */ -/* Copyright (c) 1998, 1999 Apple Computer, Inc. All Rights Reserved */ -/* Copyright (c) 1995 NeXT Computer, Inc. All Rights Reserved */ -/* - * Copyright (c) 1982, 1985, 1986, 1988, 1993, 1994 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)socket.h 8.4 (Berkeley) 2/21/94 - * $FreeBSD: src/sys/sys/socket.h,v 1.39.2.7 2001/07/03 11:02:01 ume Exp $ - */ -/* - * NOTICE: This file was modified by SPARTA, Inc. in 2005 to introduce - * support for mandatory and extensible security protections. This notice - * is included in support of clause 2.2 (b) of the Apple Public License, - * Version 2.0. - */ - -#ifndef _SYS_SOCKET_H_ -#define _SYS_SOCKET_H_ - -#include -#include -#include -#include - - - -#include - -/* - * Definitions related to sockets: types, address families, options. - */ - -/* - * Data types. - */ - -#include -#include -#include -#include -#include - -/* XXX Not explicitly defined by POSIX, but function return types are */ -#include - -/* XXX Not explicitly defined by POSIX, but function return types are */ -#include - -/* - * [XSI] The iovec structure shall be defined as described in . - */ -#include - -/* - * Types - */ -#define SOCK_STREAM 1 /* stream socket */ -#define SOCK_DGRAM 2 /* datagram socket */ -#define SOCK_RAW 3 /* raw-protocol interface */ -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -#define SOCK_RDM 4 /* reliably-delivered message */ -#endif /* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */ -#define SOCK_SEQPACKET 5 /* sequenced packet stream */ - -/* - * Option flags per-socket. - */ -#define SO_DEBUG 0x0001 /* turn on debugging info recording */ -#define SO_ACCEPTCONN 0x0002 /* socket has had listen() */ -#define SO_REUSEADDR 0x0004 /* allow local address reuse */ -#define SO_KEEPALIVE 0x0008 /* keep connections alive */ -#define SO_DONTROUTE 0x0010 /* just use interface addresses */ -#define SO_BROADCAST 0x0020 /* permit sending of broadcast msgs */ -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -#define SO_USELOOPBACK 0x0040 /* bypass hardware when possible */ -#define SO_LINGER 0x0080 /* linger on close if data present (in ticks) */ -#else -#define SO_LINGER 0x1080 /* linger on close if data present (in seconds) */ -#endif /* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */ -#define SO_OOBINLINE 0x0100 /* leave received OOB data in line */ -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -#define SO_REUSEPORT 0x0200 /* allow local address & port reuse */ -#define SO_TIMESTAMP 0x0400 /* timestamp received dgram traffic */ -#define SO_TIMESTAMP_MONOTONIC 0x0800 /* Monotonically increasing timestamp on rcvd dgram */ -#ifndef __APPLE__ -#define SO_ACCEPTFILTER 0x1000 /* there is an accept filter */ -#else -#define SO_DONTTRUNC 0x2000 /* APPLE: Retain unread data */ - /* (ATOMIC proto) */ -#define SO_WANTMORE 0x4000 /* APPLE: Give hint when more data ready */ -#define SO_WANTOOBFLAG 0x8000 /* APPLE: Want OOB in MSG_FLAG on receive */ - - -#endif /* (!__APPLE__) */ -#endif /* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */ - -/* - * Additional options, not kept in so_options. - */ -#define SO_SNDBUF 0x1001 /* send buffer size */ -#define SO_RCVBUF 0x1002 /* receive buffer size */ -#define SO_SNDLOWAT 0x1003 /* send low-water mark */ -#define SO_RCVLOWAT 0x1004 /* receive low-water mark */ -#define SO_SNDTIMEO 0x1005 /* send timeout */ -#define SO_RCVTIMEO 0x1006 /* receive timeout */ -#define SO_ERROR 0x1007 /* get error status and clear */ -#define SO_TYPE 0x1008 /* get socket type */ -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -#define SO_LABEL 0x1010 /* deprecated */ -#define SO_PEERLABEL 0x1011 /* deprecated */ -#ifdef __APPLE__ -#define SO_NREAD 0x1020 /* APPLE: get 1st-packet byte count */ -#define SO_NKE 0x1021 /* APPLE: Install socket-level NKE */ -#define SO_NOSIGPIPE 0x1022 /* APPLE: No SIGPIPE on EPIPE */ -#define SO_NOADDRERR 0x1023 /* APPLE: Returns EADDRNOTAVAIL when src is not available anymore */ -#define SO_NWRITE 0x1024 /* APPLE: Get number of bytes currently in send socket buffer */ -#define SO_REUSESHAREUID 0x1025 /* APPLE: Allow reuse of port/socket by different userids */ -#ifdef __APPLE_API_PRIVATE -#define SO_NOTIFYCONFLICT 0x1026 /* APPLE: send notification if there is a bind on a port which is already in use */ -#define SO_UPCALLCLOSEWAIT 0x1027 /* APPLE: block on close until an upcall returns */ -#endif -#define SO_LINGER_SEC 0x1080 /* linger on close if data present (in seconds) */ -#define SO_RANDOMPORT 0x1082 /* APPLE: request local port randomization */ -#define SO_NP_EXTENSIONS 0x1083 /* To turn off some POSIX behavior */ -#endif - -#define SO_NUMRCVPKT 0x1112 /* number of datagrams in receive socket buffer */ -#define SO_NET_SERVICE_TYPE 0x1116 /* Network service type */ - - -#define SO_NETSVC_MARKING_LEVEL 0x1119 /* Get QoS marking in effect for socket */ - - -/* When adding new socket-options, you need to make sure MPTCP supports these as well! */ - -/* - * Network Service Type for option SO_NET_SERVICE_TYPE - * - * The vast majority of sockets should use Best Effort that is the default - * Network Service Type. Other Network Service Types have to be used only if - * the traffic actually matches the description of the Network Service Type. - * - * Network Service Types do not represent priorities but rather describe - * different categories of delay, jitter and loss parameters. - * Those parameters may influence protocols from layer 4 protocols like TCP - * to layer 2 protocols like Wi-Fi. The Network Service Type can determine - * how the traffic is queued and scheduled by the host networking stack and - * by other entities on the network like switches and routers. For example - * for Wi-Fi, the Network Service Type can select the marking of the - * layer 2 packet with the appropriate WMM Access Category. - * - * There is no point in attempting to game the system and use - * a Network Service Type that does not correspond to the actual - * traffic characteristic but one that seems to have a higher precedence. - * The reason is that for service classes that have lower tolerance - * for delay and jitter, the queues size is lower than for service - * classes that are more tolerant to delay and jitter. - * - * For example using a voice service type for bulk data transfer will lead - * to disastrous results as soon as congestion happens because the voice - * queue overflows and packets get dropped. This is not only bad for the bulk - * data transfer but it is also bad for VoIP apps that legitimately are using - * the voice service type. - * - * The characteristics of the Network Service Types are based on the service - * classes defined in RFC 4594 "Configuration Guidelines for DiffServ Service - * Classes" - * - * When system detects the outgoing interface belongs to a DiffServ domain - * that follows the recommendation of the IETF draft "Guidelines for DiffServ to - * IEEE 802.11 Mapping", the packet will marked at layer 3 with a DSCP value - * that corresponds to Network Service Type. - * - * NET_SERVICE_TYPE_BE - * "Best Effort", unclassified/standard. This is the default service - * class and cover the majority of the traffic. - * - * NET_SERVICE_TYPE_BK - * "Background", high delay tolerant, loss tolerant. elastic flow, - * variable size & long-lived. E.g: non-interactive network bulk transfer - * like synching or backup. - * - * NET_SERVICE_TYPE_RD - * "Responsive Data", a notch higher than "Best Effort", medium delay - * tolerant, elastic & inelastic flow, bursty, long-lived. E.g. email, - * instant messaging, for which there is a sense of interactivity and - * urgency (user waiting for output). - * - * NET_SERVICE_TYPE_OAM - * "Operations, Administration, and Management", medium delay tolerant, - * low-medium loss tolerant, elastic & inelastic flows, variable size. - * E.g. VPN tunnels. - * - * NET_SERVICE_TYPE_AV - * "Multimedia Audio/Video Streaming", medium delay tolerant, low-medium - * loss tolerant, elastic flow, constant packet interval, variable rate - * and size. E.g. video and audio playback with buffering. - * - * NET_SERVICE_TYPE_RV - * "Responsive Multimedia Audio/Video", low delay tolerant, low-medium - * loss tolerant, elastic flow, variable packet interval, rate and size. - * E.g. screen sharing. - * - * NET_SERVICE_TYPE_VI - * "Interactive Video", low delay tolerant, low-medium loss tolerant, - * elastic flow, constant packet interval, variable rate & size. E.g. - * video telephony. - * - * NET_SERVICE_TYPE_SIG - * "Signaling", low delay tolerant, low loss tolerant, inelastic flow, - * jitter tolerant, rate is bursty but short, variable size. E.g. SIP. - * - * NET_SERVICE_TYPE_VO - * "Interactive Voice", very low delay tolerant, very low loss tolerant, - * inelastic flow, constant packet rate, somewhat fixed size. - * E.g. VoIP. - */ - -#define NET_SERVICE_TYPE_BE 0 /* Best effort */ -#define NET_SERVICE_TYPE_BK 1 /* Background system initiated */ -#define NET_SERVICE_TYPE_SIG 2 /* Signaling */ -#define NET_SERVICE_TYPE_VI 3 /* Interactive Video */ -#define NET_SERVICE_TYPE_VO 4 /* Interactive Voice */ -#define NET_SERVICE_TYPE_RV 5 /* Responsive Multimedia Audio/Video */ -#define NET_SERVICE_TYPE_AV 6 /* Multimedia Audio/Video Streaming */ -#define NET_SERVICE_TYPE_OAM 7 /* Operations, Administration, and Management */ -#define NET_SERVICE_TYPE_RD 8 /* Responsive Data */ - - -/* These are supported values for SO_NETSVC_MARKING_LEVEL */ -#define NETSVC_MRKNG_UNKNOWN 0 /* The outgoing network interface is not known */ -#define NETSVC_MRKNG_LVL_L2 1 /* Default marking at layer 2 (for example Wi-Fi WMM) */ -#define NETSVC_MRKNG_LVL_L3L2_ALL 2 /* Layer 3 DSCP marking and layer 2 marking for all Network Service Types */ -#define NETSVC_MRKNG_LVL_L3L2_BK 3 /* The system policy limits layer 3 DSCP marking and layer 2 marking - * to background Network Service Types */ - - -typedef __uint32_t sae_associd_t; -#define SAE_ASSOCID_ANY 0 -#define SAE_ASSOCID_ALL ((sae_associd_t)(-1ULL)) - -typedef __uint32_t sae_connid_t; -#define SAE_CONNID_ANY 0 -#define SAE_CONNID_ALL ((sae_connid_t)(-1ULL)) - -/* connectx() flag parameters */ -#define CONNECT_RESUME_ON_READ_WRITE 0x1 /* resume connect() on read/write */ -#define CONNECT_DATA_IDEMPOTENT 0x2 /* data is idempotent */ -#define CONNECT_DATA_AUTHENTICATED 0x4 /* data includes security that replaces the TFO-cookie */ - -/* sockaddr endpoints */ -typedef struct sa_endpoints { - unsigned int sae_srcif; /* optional source interface */ - const struct sockaddr *sae_srcaddr; /* optional source address */ - socklen_t sae_srcaddrlen; /* size of source address */ - const struct sockaddr *sae_dstaddr; /* destination address */ - socklen_t sae_dstaddrlen; /* size of destination address */ -} sa_endpoints_t; -#endif /* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */ - -/* - * Structure used for manipulating linger option. - */ -struct linger { - int l_onoff; /* option on/off */ - int l_linger; /* linger time */ -}; - -#ifndef __APPLE__ -struct accept_filter_arg { - char af_name[16]; - char af_arg[256 - 16]; -}; -#endif - -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -#ifdef __APPLE__ - -/* - * Structure to control non-portable Sockets extension to POSIX - */ -struct so_np_extensions { - u_int32_t npx_flags; - u_int32_t npx_mask; -}; - -#define SONPX_SETOPTSHUT 0x000000001 /* flag for allowing setsockopt after shutdown */ - - - -#endif -#endif - -/* - * Level number for (get/set)sockopt() to apply to socket itself. - */ -#define SOL_SOCKET 0xffff /* options for socket level */ - - -/* - * Address families. - */ -#define AF_UNSPEC 0 /* unspecified */ -#define AF_UNIX 1 /* local to host (pipes) */ -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -#define AF_LOCAL AF_UNIX /* backward compatibility */ -#endif /* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */ -#define AF_INET 2 /* internetwork: UDP, TCP, etc. */ -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -#define AF_IMPLINK 3 /* arpanet imp addresses */ -#define AF_PUP 4 /* pup protocols: e.g. BSP */ -#define AF_CHAOS 5 /* mit CHAOS protocols */ -#define AF_NS 6 /* XEROX NS protocols */ -#define AF_ISO 7 /* ISO protocols */ -#define AF_OSI AF_ISO -#define AF_ECMA 8 /* European computer manufacturers */ -#define AF_DATAKIT 9 /* datakit protocols */ -#define AF_CCITT 10 /* CCITT protocols, X.25 etc */ -#define AF_SNA 11 /* IBM SNA */ -#define AF_DECnet 12 /* DECnet */ -#define AF_DLI 13 /* DEC Direct data link interface */ -#define AF_LAT 14 /* LAT */ -#define AF_HYLINK 15 /* NSC Hyperchannel */ -#define AF_APPLETALK 16 /* Apple Talk */ -#define AF_ROUTE 17 /* Internal Routing Protocol */ -#define AF_LINK 18 /* Link layer interface */ -#define pseudo_AF_XTP 19 /* eXpress Transfer Protocol (no AF) */ -#define AF_COIP 20 /* connection-oriented IP, aka ST II */ -#define AF_CNT 21 /* Computer Network Technology */ -#define pseudo_AF_RTIP 22 /* Help Identify RTIP packets */ -#define AF_IPX 23 /* Novell Internet Protocol */ -#define AF_SIP 24 /* Simple Internet Protocol */ -#define pseudo_AF_PIP 25 /* Help Identify PIP packets */ -#define AF_NDRV 27 /* Network Driver 'raw' access */ -#define AF_ISDN 28 /* Integrated Services Digital Network */ -#define AF_E164 AF_ISDN /* CCITT E.164 recommendation */ -#define pseudo_AF_KEY 29 /* Internal key-management function */ -#endif /* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */ -#define AF_INET6 30 /* IPv6 */ -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -#define AF_NATM 31 /* native ATM access */ -#define AF_SYSTEM 32 /* Kernel event messages */ -#define AF_NETBIOS 33 /* NetBIOS */ -#define AF_PPP 34 /* PPP communication protocol */ -#define pseudo_AF_HDRCMPLT 35 /* Used by BPF to not rewrite headers - * in interface output routine */ -#define AF_RESERVED_36 36 /* Reserved for internal usage */ -#define AF_IEEE80211 37 /* IEEE 802.11 protocol */ -#define AF_UTUN 38 -#define AF_VSOCK 40 /* VM Sockets */ -#define AF_MAX 41 -#endif /* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */ - -/* - * [XSI] Structure used by kernel to store most addresses. - */ -struct sockaddr { - __uint8_t sa_len; /* total length */ - sa_family_t sa_family; /* [XSI] address family */ - char sa_data[14]; /* [XSI] addr value (actually larger) */ -}; - -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -#define SOCK_MAXADDRLEN 255 /* longest possible addresses */ - -/* - * Structure used by kernel to pass protocol - * information in raw sockets. - */ -struct sockproto { - __uint16_t sp_family; /* address family */ - __uint16_t sp_protocol; /* protocol */ -}; -#endif /* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */ - -/* - * RFC 2553: protocol-independent placeholder for socket addresses - */ -#define _SS_MAXSIZE 128 -#define _SS_ALIGNSIZE (sizeof(__int64_t)) -#define _SS_PAD1SIZE \ - (_SS_ALIGNSIZE - sizeof(__uint8_t) - sizeof(sa_family_t)) -#define _SS_PAD2SIZE \ - (_SS_MAXSIZE - sizeof(__uint8_t) - sizeof(sa_family_t) - \ - _SS_PAD1SIZE - _SS_ALIGNSIZE) - -/* - * [XSI] sockaddr_storage - */ -struct sockaddr_storage { - __uint8_t ss_len; /* address length */ - sa_family_t ss_family; /* [XSI] address family */ - char __ss_pad1[_SS_PAD1SIZE]; - __int64_t __ss_align; /* force structure storage alignment */ - char __ss_pad2[_SS_PAD2SIZE]; -}; - -/* - * Protocol families, same as address families for now. - */ -#define PF_UNSPEC AF_UNSPEC -#define PF_LOCAL AF_LOCAL -#define PF_UNIX PF_LOCAL /* backward compatibility */ -#define PF_INET AF_INET -#define PF_IMPLINK AF_IMPLINK -#define PF_PUP AF_PUP -#define PF_CHAOS AF_CHAOS -#define PF_NS AF_NS -#define PF_ISO AF_ISO -#define PF_OSI AF_ISO -#define PF_ECMA AF_ECMA -#define PF_DATAKIT AF_DATAKIT -#define PF_CCITT AF_CCITT -#define PF_SNA AF_SNA -#define PF_DECnet AF_DECnet -#define PF_DLI AF_DLI -#define PF_LAT AF_LAT -#define PF_HYLINK AF_HYLINK -#define PF_APPLETALK AF_APPLETALK -#define PF_ROUTE AF_ROUTE -#define PF_LINK AF_LINK -#define PF_XTP pseudo_AF_XTP /* really just proto family, no AF */ -#define PF_COIP AF_COIP -#define PF_CNT AF_CNT -#define PF_SIP AF_SIP -#define PF_IPX AF_IPX /* same format as AF_NS */ -#define PF_RTIP pseudo_AF_RTIP /* same format as AF_INET */ -#define PF_PIP pseudo_AF_PIP -#define PF_NDRV AF_NDRV -#define PF_ISDN AF_ISDN -#define PF_KEY pseudo_AF_KEY -#define PF_INET6 AF_INET6 -#define PF_NATM AF_NATM -#define PF_SYSTEM AF_SYSTEM -#define PF_NETBIOS AF_NETBIOS -#define PF_PPP AF_PPP -#define PF_RESERVED_36 AF_RESERVED_36 -#define PF_UTUN AF_UTUN -#define PF_VSOCK AF_VSOCK -#define PF_MAX AF_MAX - -/* - * These do not have socket-layer support: - */ -#define PF_VLAN ((uint32_t)0x766c616e) /* 'vlan' */ -#define PF_BOND ((uint32_t)0x626f6e64) /* 'bond' */ - -/* - * Definitions for network related sysctl, CTL_NET. - * - * Second level is protocol family. - * Third level is protocol number. - * - * Further levels are defined by the individual families below. - */ -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -#define NET_MAXID AF_MAX -#endif /* (_POSIX_C_SOURCE && !_DARWIN_C_SOURCE) */ - - -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -/* - * PF_ROUTE - Routing table - * - * Three additional levels are defined: - * Fourth: address family, 0 is wildcard - * Fifth: type of info, defined below - * Sixth: flag(s) to mask with for NET_RT_FLAGS - */ -#define NET_RT_DUMP 1 /* dump; may limit to a.f. */ -#define NET_RT_FLAGS 2 /* by flags, e.g. RESOLVING */ -#define NET_RT_IFLIST 3 /* survey interface list */ -#define NET_RT_STAT 4 /* routing statistics */ -#define NET_RT_TRASH 5 /* routes not in table but not freed */ -#define NET_RT_IFLIST2 6 /* interface list with addresses */ -#define NET_RT_DUMP2 7 /* dump; may limit to a.f. */ -/* - * Allows read access non-local host's MAC address - * if the process has neighbor cache entitlement. - */ -#define NET_RT_FLAGS_PRIV 10 -#define NET_RT_MAXID 11 -#endif /* (_POSIX_C_SOURCE && !_DARWIN_C_SOURCE) */ - - - - -/* - * Maximum queue length specifiable by listen. - */ -#define SOMAXCONN 128 - -/* - * [XSI] Message header for recvmsg and sendmsg calls. - * Used value-result for recvmsg, value only for sendmsg. - */ -struct msghdr { - void *msg_name; /* [XSI] optional address */ - socklen_t msg_namelen; /* [XSI] size of address */ - struct iovec *msg_iov; /* [XSI] scatter/gather array */ - int msg_iovlen; /* [XSI] # elements in msg_iov */ - void *msg_control; /* [XSI] ancillary data, see below */ - socklen_t msg_controllen; /* [XSI] ancillary data buffer len */ - int msg_flags; /* [XSI] flags on received message */ -}; - - - -#define MSG_OOB 0x1 /* process out-of-band data */ -#define MSG_PEEK 0x2 /* peek at incoming message */ -#define MSG_DONTROUTE 0x4 /* send without using routing tables */ -#define MSG_EOR 0x8 /* data completes record */ -#define MSG_TRUNC 0x10 /* data discarded before delivery */ -#define MSG_CTRUNC 0x20 /* control data lost before delivery */ -#define MSG_WAITALL 0x40 /* wait for full request or error */ -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -#define MSG_DONTWAIT 0x80 /* this message should be nonblocking */ -#define MSG_EOF 0x100 /* data completes connection */ -#ifdef __APPLE__ -#ifdef __APPLE_API_OBSOLETE -#define MSG_WAITSTREAM 0x200 /* wait up to full request.. may return partial */ -#endif -#define MSG_FLUSH 0x400 /* Start of 'hold' seq; dump so_temp, deprecated */ -#define MSG_HOLD 0x800 /* Hold frag in so_temp, deprecated */ -#define MSG_SEND 0x1000 /* Send the packet in so_temp, deprecated */ -#define MSG_HAVEMORE 0x2000 /* Data ready to be read */ -#define MSG_RCVMORE 0x4000 /* Data remains in current pkt */ -#endif -#define MSG_NEEDSA 0x10000 /* Fail receive if socket address cannot be allocated */ -#endif /* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */ - -#if __DARWIN_C_LEVEL >= 200809L -#define MSG_NOSIGNAL 0x80000 /* do not generate SIGPIPE on EOF */ -#endif /* __DARWIN_C_LEVEL */ - -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -#endif /* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */ - -/* - * Header for ancillary data objects in msg_control buffer. - * Used for additional information with/about a datagram - * not expressible by flags. The format is a sequence - * of message elements headed by cmsghdr structures. - */ -struct cmsghdr { - socklen_t cmsg_len; /* [XSI] data byte count, including hdr */ - int cmsg_level; /* [XSI] originating protocol */ - int cmsg_type; /* [XSI] protocol-specific type */ -/* followed by unsigned char cmsg_data[]; */ -}; - -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -#ifndef __APPLE__ -/* - * While we may have more groups than this, the cmsgcred struct must - * be able to fit in an mbuf, and NGROUPS_MAX is too large to allow - * this. - */ -#define CMGROUP_MAX 16 - -/* - * Credentials structure, used to verify the identity of a peer - * process that has sent us a message. This is allocated by the - * peer process but filled in by the kernel. This prevents the - * peer from lying about its identity. (Note that cmcred_groups[0] - * is the effective GID.) - */ -struct cmsgcred { - pid_t cmcred_pid; /* PID of sending process */ - uid_t cmcred_uid; /* real UID of sending process */ - uid_t cmcred_euid; /* effective UID of sending process */ - gid_t cmcred_gid; /* real GID of sending process */ - short cmcred_ngroups; /* number or groups */ - gid_t cmcred_groups[CMGROUP_MAX]; /* groups */ -}; -#endif -#endif /* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */ - -/* given pointer to struct cmsghdr, return pointer to data */ -#define CMSG_DATA(cmsg) ((unsigned char *)(cmsg) + \ - __DARWIN_ALIGN32(sizeof(struct cmsghdr))) - -/* - * RFC 2292 requires to check msg_controllen, in case that the kernel returns - * an empty list for some reasons. - */ -#define CMSG_FIRSTHDR(mhdr) \ - ((mhdr)->msg_controllen >= sizeof(struct cmsghdr) ? \ - (struct cmsghdr *)(mhdr)->msg_control : \ - (struct cmsghdr *)0L) - - -/* - * Given pointer to struct cmsghdr, return pointer to next cmsghdr - * RFC 2292 says that CMSG_NXTHDR(mhdr, NULL) is equivalent to CMSG_FIRSTHDR(mhdr) - */ -#define CMSG_NXTHDR(mhdr, cmsg) \ - ((char *)(cmsg) == (char *)0L ? CMSG_FIRSTHDR(mhdr) : \ - ((((unsigned char *)(cmsg) + \ - __DARWIN_ALIGN32((__uint32_t)(cmsg)->cmsg_len) + \ - __DARWIN_ALIGN32(sizeof(struct cmsghdr))) > \ - ((unsigned char *)(mhdr)->msg_control + \ - (mhdr)->msg_controllen)) ? \ - (struct cmsghdr *)0L /* NULL */ : \ - (struct cmsghdr *)(void *)((unsigned char *)(cmsg) + \ - __DARWIN_ALIGN32((__uint32_t)(cmsg)->cmsg_len)))) - -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -/* RFC 2292 additions */ -#define CMSG_SPACE(l) (__DARWIN_ALIGN32(sizeof(struct cmsghdr)) + __DARWIN_ALIGN32(l)) -#define CMSG_LEN(l) (__DARWIN_ALIGN32(sizeof(struct cmsghdr)) + (l)) - -#endif /* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */ - -/* "Socket"-level control message types: */ -#define SCM_RIGHTS 0x01 /* access rights (array of int) */ -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -#define SCM_TIMESTAMP 0x02 /* timestamp (struct timeval) */ -#define SCM_CREDS 0x03 /* process creds (struct cmsgcred) */ -#define SCM_TIMESTAMP_MONOTONIC 0x04 /* timestamp (uint64_t) */ - - -#endif /* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */ - -/* - * howto arguments for shutdown(2), specified by Posix.1g. - */ -#define SHUT_RD 0 /* shut down the reading side */ -#define SHUT_WR 1 /* shut down the writing side */ -#define SHUT_RDWR 2 /* shut down both sides */ - -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -/* - * sendfile(2) header/trailer struct - */ -struct sf_hdtr { - struct iovec *headers; /* pointer to an array of header struct iovec's */ - int hdr_cnt; /* number of header iovec's */ - struct iovec *trailers; /* pointer to an array of trailer struct iovec's */ - int trl_cnt; /* number of trailer iovec's */ -}; - - -#endif /* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */ - - -__BEGIN_DECLS - -int accept(int, struct sockaddr * __restrict, socklen_t * __restrict) -__DARWIN_ALIAS_C(accept); -int bind(int, const struct sockaddr *, socklen_t) __DARWIN_ALIAS(bind); -int connect(int, const struct sockaddr *, socklen_t) __DARWIN_ALIAS_C(connect); -int getpeername(int, struct sockaddr * __restrict, socklen_t * __restrict) -__DARWIN_ALIAS(getpeername); -int getsockname(int, struct sockaddr * __restrict, socklen_t * __restrict) -__DARWIN_ALIAS(getsockname); -int getsockopt(int, int, int, void * __restrict, socklen_t * __restrict); -int listen(int, int) __DARWIN_ALIAS(listen); -ssize_t recv(int, void *, size_t, int) __DARWIN_ALIAS_C(recv); -ssize_t recvfrom(int, void *, size_t, int, struct sockaddr * __restrict, - socklen_t * __restrict) __DARWIN_ALIAS_C(recvfrom); -ssize_t recvmsg(int, struct msghdr *, int) __DARWIN_ALIAS_C(recvmsg); -ssize_t send(int, const void *, size_t, int) __DARWIN_ALIAS_C(send); -ssize_t sendmsg(int, const struct msghdr *, int) __DARWIN_ALIAS_C(sendmsg); -ssize_t sendto(int, const void *, size_t, - int, const struct sockaddr *, socklen_t) __DARWIN_ALIAS_C(sendto); -int setsockopt(int, int, int, const void *, socklen_t); -int shutdown(int, int); -int sockatmark(int) __OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_2_0); -int socket(int, int, int); -int socketpair(int, int, int, int *) __DARWIN_ALIAS(socketpair); - -#if !defined(_POSIX_C_SOURCE) -int sendfile(int, int, off_t, off_t *, struct sf_hdtr *, int); -#endif /* !_POSIX_C_SOURCE */ - -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -void pfctlinput(int, struct sockaddr *); - -__API_AVAILABLE(macosx(10.11), ios(9.0), tvos(9.0), watchos(2.0)) -int connectx(int, const sa_endpoints_t *, sae_associd_t, unsigned int, - const struct iovec *, unsigned int, size_t *, sae_connid_t *); - -__API_AVAILABLE(macosx(10.11), ios(9.0), tvos(9.0), watchos(2.0)) -int disconnectx(int, sae_associd_t, sae_connid_t); -#endif /* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */ -__END_DECLS - - -#endif /* !_SYS_SOCKET_H_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.12-any/sys/sysctl.h b/lib/libc/include/any-macos.12-any/sys/sysctl.h deleted file mode 100644 index 0993370d34..0000000000 --- a/lib/libc/include/any-macos.12-any/sys/sysctl.h +++ /dev/null @@ -1,803 +0,0 @@ -/* - * Copyright (c) 2000-2021 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@ - */ -/* Copyright (c) 1995 NeXT Computer, Inc. All Rights Reserved */ -/* - * Copyright (c) 1989, 1993 - * The Regents of the University of California. All rights reserved. - * - * This code is derived from software contributed to Berkeley by - * Mike Karels at Berkeley Software Design, Inc. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)sysctl.h 8.1 (Berkeley) 6/2/93 - */ -/* - * NOTICE: This file was modified by SPARTA, Inc. in 2005 to introduce - * support for mandatory and extensible security protections. This notice - * is included in support of clause 2.2 (b) of the Apple Public License, - * Version 2.0. - */ - -#ifndef _SYS_SYSCTL_H_ -#define _SYS_SYSCTL_H_ - -/* - * These are for the eproc structure defined below. - */ -#include - -#include -#include -#include - -#include -#include - -/* - * Definitions for sysctl call. The sysctl call uses a hierarchical name - * for objects that can be examined or modified. The name is expressed as - * a sequence of integers. Like a file path name, the meaning of each - * component depends on its place in the hierarchy. The top-level and kern - * identifiers are defined here, and other identifiers are defined in the - * respective subsystem header files. - */ - -#define CTL_MAXNAME 12 /* largest number of components supported */ - -/* - * Each subsystem defined by sysctl defines a list of variables - * for that subsystem. Each name is either a node with further - * levels defined below it, or it is a leaf of some particular - * type given below. Each sysctl level defines a set of name/type - * pairs to be used by sysctl(1) in manipulating the subsystem. - * - * When declaring new sysctl names, use the CTLFLAG_LOCKED flag in the - * type to indicate that all necessary locking will be handled - * within the sysctl. - * - * Any sysctl defined without CTLFLAG_LOCKED is considered legacy - * and will be protected by a global mutex. - * - * Note: This is not optimal, so it is best to handle locking - * yourself, if you are able to do so. A simple design - * pattern for use to avoid in a single function known - * to potentially be in the paging path ot doing a DMA - * to physical memory in a user space process is: - * - * lock - * perform operation vs. local buffer - * unlock - * SYSCTL_OUT(rey, local buffer, length) - * - * ...this assumes you are not using a deep call graph - * or are unable to pass a local buffer address as a - * parameter into your deep call graph. - * - * Note that very large user buffers can fail the wire - * if to do so would require more physical pages than - * are available (the caller will get an ENOMEM error, - * see sysctl_mem_hold() for details). - */ -struct ctlname { - char *ctl_name; /* subsystem name */ - int ctl_type; /* type of name */ -}; - -#define CTLTYPE 0xf /* Mask for the type */ -#define CTLTYPE_NODE 1 /* name is a node */ -#define CTLTYPE_INT 2 /* name describes an integer */ -#define CTLTYPE_STRING 3 /* name describes a string */ -#define CTLTYPE_QUAD 4 /* name describes a 64-bit number */ -#define CTLTYPE_OPAQUE 5 /* name describes a structure */ -#define CTLTYPE_STRUCT CTLTYPE_OPAQUE /* name describes a structure */ - -#define CTLFLAG_RD 0x80000000 /* Allow reads of variable */ -#define CTLFLAG_WR 0x40000000 /* Allow writes to the variable */ -#define CTLFLAG_RW (CTLFLAG_RD|CTLFLAG_WR) -#define CTLFLAG_NOLOCK 0x20000000 /* XXX Don't Lock */ -#define CTLFLAG_ANYBODY 0x10000000 /* All users can set this var */ -#define CTLFLAG_SECURE 0x08000000 /* Permit set only if securelevel<=0 */ -#define CTLFLAG_MASKED 0x04000000 /* deprecated variable, do not display */ -#define CTLFLAG_NOAUTO 0x02000000 /* do not auto-register */ -#define CTLFLAG_KERN 0x01000000 /* valid inside the kernel */ -#define CTLFLAG_LOCKED 0x00800000 /* node will handle locking itself */ -#define CTLFLAG_OID2 0x00400000 /* struct sysctl_oid has version info */ -#define CTLFLAG_EXPERIMENT 0x00100000 /* Allows writing w/ the trial experiment entitlement. */ - -/* - * USE THIS instead of a hardwired number from the categories below - * to get dynamically assigned sysctl entries using the linker-set - * technology. This is the way nearly all new sysctl variables should - * be implemented. - * - * e.g. SYSCTL_INT(_parent, OID_AUTO, name, CTLFLAG_RW, &variable, 0, ""); - * - * Note that linker set technology will automatically register all nodes - * declared like this on kernel initialization, UNLESS they are defined - * in I/O-Kit. In this case, you have to call sysctl_register_oid() - * manually - just like in a KEXT. - */ -#define OID_AUTO (-1) -#define OID_AUTO_START 100 /* conventional */ - - -#define SYSCTL_DEF_ENABLED - -#ifdef SYSCTL_DEF_ENABLED -/* - * Top-level identifiers - */ -#define CTL_UNSPEC 0 /* unused */ -#define CTL_KERN 1 /* "high kernel": proc, limits */ -#define CTL_VM 2 /* virtual memory */ -#define CTL_VFS 3 /* file system, mount type is next */ -#define CTL_NET 4 /* network, see socket.h */ -#define CTL_DEBUG 5 /* debugging parameters */ -#define CTL_HW 6 /* generic cpu/io */ -#define CTL_MACHDEP 7 /* machine dependent */ -#define CTL_USER 8 /* user-level */ -#define CTL_MAXID 9 /* number of valid top-level ids */ - -#define CTL_NAMES { \ - { 0, 0 }, \ - { "kern", CTLTYPE_NODE }, \ - { "vm", CTLTYPE_NODE }, \ - { "vfs", CTLTYPE_NODE }, \ - { "net", CTLTYPE_NODE }, \ - { "debug", CTLTYPE_NODE }, \ - { "hw", CTLTYPE_NODE }, \ - { "machdep", CTLTYPE_NODE }, \ - { "user", CTLTYPE_NODE }, \ -} - -/* - * CTL_KERN identifiers - */ -#define KERN_OSTYPE 1 /* string: system version */ -#define KERN_OSRELEASE 2 /* string: system release */ -#define KERN_OSREV 3 /* int: system revision */ -#define KERN_VERSION 4 /* string: compile time info */ -#define KERN_MAXVNODES 5 /* int: max vnodes */ -#define KERN_MAXPROC 6 /* int: max processes */ -#define KERN_MAXFILES 7 /* int: max open files */ -#define KERN_ARGMAX 8 /* int: max arguments to exec */ -#define KERN_SECURELVL 9 /* int: system security level */ -#define KERN_HOSTNAME 10 /* string: hostname */ -#define KERN_HOSTID 11 /* int: host identifier */ -#define KERN_CLOCKRATE 12 /* struct: struct clockrate */ -#define KERN_VNODE 13 /* struct: vnode structures */ -#define KERN_PROC 14 /* struct: process entries */ -#define KERN_FILE 15 /* struct: file entries */ -#define KERN_PROF 16 /* node: kernel profiling info */ -#define KERN_POSIX1 17 /* int: POSIX.1 version */ -#define KERN_NGROUPS 18 /* int: # of supplemental group ids */ -#define KERN_JOB_CONTROL 19 /* int: is job control available */ -#define KERN_SAVED_IDS 20 /* int: saved set-user/group-ID */ -#define KERN_BOOTTIME 21 /* struct: time kernel was booted */ -#define KERN_NISDOMAINNAME 22 /* string: YP domain name */ -#define KERN_DOMAINNAME KERN_NISDOMAINNAME -#define KERN_MAXPARTITIONS 23 /* int: number of partitions/disk */ -#define KERN_KDEBUG 24 /* int: kernel trace points */ -#define KERN_UPDATEINTERVAL 25 /* int: update process sleep time */ -#define KERN_OSRELDATE 26 /* int: OS release date */ -#define KERN_NTP_PLL 27 /* node: NTP PLL control */ -#define KERN_BOOTFILE 28 /* string: name of booted kernel */ -#define KERN_MAXFILESPERPROC 29 /* int: max open files per proc */ -#define KERN_MAXPROCPERUID 30 /* int: max processes per uid */ -#define KERN_DUMPDEV 31 /* dev_t: device to dump on */ -#define KERN_IPC 32 /* node: anything related to IPC */ -#define KERN_DUMMY 33 /* unused */ -#define KERN_PS_STRINGS 34 /* int: address of PS_STRINGS */ -#define KERN_USRSTACK32 35 /* int: address of USRSTACK */ -#define KERN_LOGSIGEXIT 36 /* int: do we log sigexit procs? */ -#define KERN_SYMFILE 37 /* string: kernel symbol filename */ -#define KERN_PROCARGS 38 -/* 39 was KERN_PCSAMPLES... now obsolete */ -#define KERN_NETBOOT 40 /* int: are we netbooted? 1=yes,0=no */ -/* 41 was KERN_PANICINFO : panic UI information (deprecated) */ -#define KERN_SYSV 42 /* node: System V IPC information */ -#define KERN_AFFINITY 43 /* xxx */ -#define KERN_TRANSLATE 44 /* xxx */ -#define KERN_CLASSIC KERN_TRANSLATE /* XXX backwards compat */ -#define KERN_EXEC 45 /* xxx */ -#define KERN_CLASSICHANDLER KERN_EXEC /* XXX backwards compatibility */ -#define KERN_AIOMAX 46 /* int: max aio requests */ -#define KERN_AIOPROCMAX 47 /* int: max aio requests per process */ -#define KERN_AIOTHREADS 48 /* int: max aio worker threads */ -#ifdef __APPLE_API_UNSTABLE -#define KERN_PROCARGS2 49 -#endif /* __APPLE_API_UNSTABLE */ -#define KERN_COREFILE 50 /* string: corefile format string */ -#define KERN_COREDUMP 51 /* int: whether to coredump at all */ -#define KERN_SUGID_COREDUMP 52 /* int: whether to dump SUGID cores */ -#define KERN_PROCDELAYTERM 53 /* int: set/reset current proc for delayed termination during shutdown */ -#define KERN_SHREG_PRIVATIZABLE 54 /* int: can shared regions be privatized ? */ -/* 55 was KERN_PROC_LOW_PRI_IO... now deprecated */ -#define KERN_LOW_PRI_WINDOW 56 /* int: set/reset throttle window - milliseconds */ -#define KERN_LOW_PRI_DELAY 57 /* int: set/reset throttle delay - milliseconds */ -#define KERN_POSIX 58 /* node: posix tunables */ -#define KERN_USRSTACK64 59 /* LP64 user stack query */ -#define KERN_NX_PROTECTION 60 /* int: whether no-execute protection is enabled */ -#define KERN_TFP 61 /* Task for pid settings */ -#define KERN_PROCNAME 62 /* setup process program name(2*MAXCOMLEN) */ -#define KERN_THALTSTACK 63 /* for compat with older x86 and does nothing */ -#define KERN_SPECULATIVE_READS 64 /* int: whether speculative reads are disabled */ -#define KERN_OSVERSION 65 /* for build number i.e. 9A127 */ -#define KERN_SAFEBOOT 66 /* are we booted safe? */ -/* 67 was KERN_LCTX (login context) */ -#define KERN_RAGEVNODE 68 -#define KERN_TTY 69 /* node: tty settings */ -#define KERN_CHECKOPENEVT 70 /* spi: check the VOPENEVT flag on vnodes at open time */ -#define KERN_THREADNAME 71 /* set/get thread name */ -#define KERN_MAXID 72 /* number of valid kern ids */ -/* - * Don't add any more sysctls like this. Instead, use the SYSCTL_*() macros - * and OID_AUTO. This will have the added benefit of not having to recompile - * sysctl(8) to pick up your changes. - */ - - -#if defined(__LP64__) -#define KERN_USRSTACK KERN_USRSTACK64 -#else -#define KERN_USRSTACK KERN_USRSTACK32 -#endif - - -/* KERN_RAGEVNODE types */ -#define KERN_RAGE_PROC 1 -#define KERN_RAGE_THREAD 2 -#define KERN_UNRAGE_PROC 3 -#define KERN_UNRAGE_THREAD 4 - -/* KERN_OPENEVT types */ -#define KERN_OPENEVT_PROC 1 -#define KERN_UNOPENEVT_PROC 2 - -/* KERN_TFP types */ -#define KERN_TFP_POLICY 1 - -/* KERN_TFP_POLICY values . All policies allow task port for self */ -#define KERN_TFP_POLICY_DENY 0 /* Deny Mode: None allowed except privileged */ -#define KERN_TFP_POLICY_DEFAULT 2 /* Default Mode: related ones allowed and upcall authentication */ - -/* KERN_KDEBUG types */ -#define KERN_KDEFLAGS 1 -#define KERN_KDDFLAGS 2 -#define KERN_KDENABLE 3 -#define KERN_KDSETBUF 4 -#define KERN_KDGETBUF 5 -#define KERN_KDSETUP 6 -#define KERN_KDREMOVE 7 -#define KERN_KDSETREG 8 -#define KERN_KDGETREG 9 -#define KERN_KDREADTR 10 -#define KERN_KDPIDTR 11 -#define KERN_KDTHRMAP 12 -/* Don't use 13 as it is overloaded with KERN_VNODE */ -#define KERN_KDPIDEX 14 -#define KERN_KDSETRTCDEC 15 /* obsolete */ -#define KERN_KDGETENTROPY 16 /* obsolete */ -#define KERN_KDWRITETR 17 -#define KERN_KDWRITEMAP 18 -#define KERN_KDTEST 19 -/* 20 unused */ -#define KERN_KDREADCURTHRMAP 21 -#define KERN_KDSET_TYPEFILTER 22 -#define KERN_KDBUFWAIT 23 -#define KERN_KDCPUMAP 24 -#define KERN_KDCPUMAP_EXT 25 -#define KERN_KDSET_EDM 26 -#define KERN_KDGET_EDM 27 -#define KERN_KDWRITETR_V3 28 - -#define CTL_KERN_NAMES { \ - { 0, 0 }, \ - { "ostype", CTLTYPE_STRING }, \ - { "osrelease", CTLTYPE_STRING }, \ - { "osrevision", CTLTYPE_INT }, \ - { "version", CTLTYPE_STRING }, \ - { "maxvnodes", CTLTYPE_INT }, \ - { "maxproc", CTLTYPE_INT }, \ - { "maxfiles", CTLTYPE_INT }, \ - { "argmax", CTLTYPE_INT }, \ - { "securelevel", CTLTYPE_INT }, \ - { "hostname", CTLTYPE_STRING }, \ - { "hostid", CTLTYPE_INT }, \ - { "clockrate", CTLTYPE_STRUCT }, \ - { "vnode", CTLTYPE_STRUCT }, \ - { "proc", CTLTYPE_STRUCT }, \ - { "file", CTLTYPE_STRUCT }, \ - { "profiling", CTLTYPE_NODE }, \ - { "posix1version", CTLTYPE_INT }, \ - { "ngroups", CTLTYPE_INT }, \ - { "job_control", CTLTYPE_INT }, \ - { "saved_ids", CTLTYPE_INT }, \ - { "boottime", CTLTYPE_STRUCT }, \ - { "nisdomainname", CTLTYPE_STRING }, \ - { "maxpartitions", CTLTYPE_INT }, \ - { "kdebug", CTLTYPE_INT }, \ - { "update", CTLTYPE_INT }, \ - { "osreldate", CTLTYPE_INT }, \ - { "ntp_pll", CTLTYPE_NODE }, \ - { "bootfile", CTLTYPE_STRING }, \ - { "maxfilesperproc", CTLTYPE_INT }, \ - { "maxprocperuid", CTLTYPE_INT }, \ - { "dumpdev", CTLTYPE_STRUCT }, /* we lie; don't print as int */ \ - { "ipc", CTLTYPE_NODE }, \ - { "dummy", CTLTYPE_INT }, \ - { "dummy", CTLTYPE_INT }, \ - { "usrstack", CTLTYPE_INT }, \ - { "logsigexit", CTLTYPE_INT }, \ - { "symfile",CTLTYPE_STRING },\ - { "procargs",CTLTYPE_STRUCT },\ - { "dummy", CTLTYPE_INT }, /* deprecated pcsamples */ \ - { "netboot", CTLTYPE_INT }, \ - { "dummy", CTLTYPE_INT }, /* deprecated: panicinfo */ \ - { "sysv", CTLTYPE_NODE }, \ - { "dummy", CTLTYPE_INT }, \ - { "dummy", CTLTYPE_INT }, \ - { "exec", CTLTYPE_NODE }, \ - { "aiomax", CTLTYPE_INT }, \ - { "aioprocmax", CTLTYPE_INT }, \ - { "aiothreads", CTLTYPE_INT }, \ - { "procargs2",CTLTYPE_STRUCT }, \ - { "corefile",CTLTYPE_STRING }, \ - { "coredump", CTLTYPE_INT }, \ - { "sugid_coredump", CTLTYPE_INT }, \ - { "delayterm", CTLTYPE_INT }, \ - { "shreg_private", CTLTYPE_INT }, \ - { "proc_low_pri_io", CTLTYPE_INT }, \ - { "low_pri_window", CTLTYPE_INT }, \ - { "low_pri_delay", CTLTYPE_INT }, \ - { "posix", CTLTYPE_NODE }, \ - { "usrstack64", CTLTYPE_QUAD }, \ - { "nx", CTLTYPE_INT }, \ - { "tfp", CTLTYPE_NODE }, \ - { "procname", CTLTYPE_STRING }, \ - { "threadsigaltstack", CTLTYPE_INT }, \ - { "speculative_reads_disabled", CTLTYPE_INT }, \ - { "osversion", CTLTYPE_STRING }, \ - { "safeboot", CTLTYPE_INT }, \ - { "dummy", CTLTYPE_INT }, /* deprecated: lctx */ \ - { "rage_vnode", CTLTYPE_INT }, \ - { "tty", CTLTYPE_NODE }, \ - { "check_openevt", CTLTYPE_INT }, \ - { "thread_name", CTLTYPE_STRING } \ -} - -/* - * CTL_VFS identifiers - */ -#define CTL_VFS_NAMES { \ - { "vfsconf", CTLTYPE_STRUCT } \ -} - -/* - * KERN_PROC subtypes - */ -#define KERN_PROC_ALL 0 /* everything */ -#define KERN_PROC_PID 1 /* by process id */ -#define KERN_PROC_PGRP 2 /* by process group id */ -#define KERN_PROC_SESSION 3 /* by session of pid */ -#define KERN_PROC_TTY 4 /* by controlling tty */ -#define KERN_PROC_UID 5 /* by effective uid */ -#define KERN_PROC_RUID 6 /* by real uid */ -#define KERN_PROC_LCID 7 /* by login context id */ - -/* - * KERN_VFSNSPACE subtypes - */ -#define KERN_VFSNSPACE_HANDLE_PROC 1 -#define KERN_VFSNSPACE_UNHANDLE_PROC 2 - -/* - * KERN_PROC subtype ops return arrays of augmented proc structures: - */ - -struct _pcred { - char pc_lock[72]; /* opaque content */ - struct ucred *pc_ucred; /* Current credentials. */ - uid_t p_ruid; /* Real user id. */ - uid_t p_svuid; /* Saved effective user id. */ - gid_t p_rgid; /* Real group id. */ - gid_t p_svgid; /* Saved effective group id. */ - int p_refcnt; /* Number of references. */ -}; - -struct _ucred { - int32_t cr_ref; /* reference count */ - uid_t cr_uid; /* effective user id */ - short cr_ngroups; /* number of groups */ - gid_t cr_groups[NGROUPS]; /* groups */ -}; - -struct kinfo_proc { - struct extern_proc kp_proc; /* proc structure */ - struct eproc { - struct proc *e_paddr; /* address of proc */ - struct session *e_sess; /* session pointer */ - struct _pcred e_pcred; /* process credentials */ - struct _ucred e_ucred; /* current credentials */ - struct vmspace e_vm; /* address space */ - pid_t e_ppid; /* parent process id */ - pid_t e_pgid; /* process group id */ - short e_jobc; /* job control counter */ - dev_t e_tdev; /* controlling tty dev */ - pid_t e_tpgid; /* tty process group id */ - struct session *e_tsess; /* tty session pointer */ -#define WMESGLEN 7 - char e_wmesg[WMESGLEN + 1]; /* wchan message */ - segsz_t e_xsize; /* text size */ - short e_xrssize; /* text rss */ - short e_xccount; /* text references */ - short e_xswrss; - int32_t e_flag; -#define EPROC_CTTY 0x01 /* controlling tty vnode active */ -#define EPROC_SLEADER 0x02 /* session leader */ -#define COMAPT_MAXLOGNAME 12 - char e_login[COMAPT_MAXLOGNAME]; /* short setlogin() name */ - int32_t e_spare[4]; - } kp_eproc; -}; - - - -/* - * KERN_IPC identifiers - */ -#define KIPC_MAXSOCKBUF 1 /* int: max size of a socket buffer */ -#define KIPC_SOCKBUF_WASTE 2 /* int: wastage factor in sockbuf */ -#define KIPC_SOMAXCONN 3 /* int: max length of connection q */ -#define KIPC_MAX_LINKHDR 4 /* int: max length of link header */ -#define KIPC_MAX_PROTOHDR 5 /* int: max length of network header */ -#define KIPC_MAX_HDR 6 /* int: max total length of headers */ -#define KIPC_MAX_DATALEN 7 /* int: max length of data? */ -#define KIPC_MBSTAT 8 /* struct: mbuf usage statistics */ -#define KIPC_NMBCLUSTERS 9 /* int: maximum mbuf clusters */ -#define KIPC_SOQLIMITCOMPAT 10 /* int: socket queue limit */ - -/* - * CTL_VM identifiers - */ -#define VM_METER 1 /* struct vmmeter */ -#define VM_LOADAVG 2 /* struct loadavg */ -/* - * Note: "3" was skipped sometime ago and should probably remain unused - * to avoid any new entry from being accepted by older kernels... - */ -#define VM_MACHFACTOR 4 /* struct loadavg with mach factor*/ -#define VM_SWAPUSAGE 5 /* total swap usage */ -#define VM_MAXID 6 /* number of valid vm ids */ - -#define CTL_VM_NAMES { \ - { 0, 0 }, \ - { "vmmeter", CTLTYPE_STRUCT }, \ - { "loadavg", CTLTYPE_STRUCT }, \ - { 0, 0 }, /* placeholder for "3" (see comment above) */ \ - { "dummy", CTLTYPE_INT }, \ - { "swapusage", CTLTYPE_STRUCT } \ -} - -struct xsw_usage { - u_int64_t xsu_total; - u_int64_t xsu_avail; - u_int64_t xsu_used; - u_int32_t xsu_pagesize; - boolean_t xsu_encrypted; -}; - -#ifdef __APPLE_API_PRIVATE -/* Load average structure. Use of fixpt_t assume in scope. */ -/* XXX perhaps we should protect fixpt_t, and define it here (or discard it) */ -struct loadavg { - fixpt_t ldavg[3]; - long fscale; -}; -extern struct loadavg averunnable; -#define LSCALE 1000 /* scaling for "fixed point" arithmetic */ - -#endif /* __APPLE_API_PRIVATE */ - - -/* - * CTL_HW identifiers - */ -#define HW_MACHINE 1 /* string: machine class (deprecated: use HW_PRODUCT) */ -#define HW_MODEL 2 /* string: specific machine model (deprecated: use HW_TARGET) */ -#define HW_NCPU 3 /* int: number of cpus */ -#define HW_BYTEORDER 4 /* int: machine byte order */ -#define HW_PHYSMEM 5 /* int: total memory */ -#define HW_USERMEM 6 /* int: non-kernel memory */ -#define HW_PAGESIZE 7 /* int: software page size */ -#define HW_DISKNAMES 8 /* strings: disk drive names */ -#define HW_DISKSTATS 9 /* struct: diskstats[] */ -#define HW_EPOCH 10 /* int: 0 for Legacy, else NewWorld */ -#define HW_FLOATINGPT 11 /* int: has HW floating point? */ -#define HW_MACHINE_ARCH 12 /* string: machine architecture */ -#define HW_VECTORUNIT 13 /* int: has HW vector unit? */ -#define HW_BUS_FREQ 14 /* int: Bus Frequency */ -#define HW_CPU_FREQ 15 /* int: CPU Frequency */ -#define HW_CACHELINE 16 /* int: Cache Line Size in Bytes */ -#define HW_L1ICACHESIZE 17 /* int: L1 I Cache Size in Bytes */ -#define HW_L1DCACHESIZE 18 /* int: L1 D Cache Size in Bytes */ -#define HW_L2SETTINGS 19 /* int: L2 Cache Settings */ -#define HW_L2CACHESIZE 20 /* int: L2 Cache Size in Bytes */ -#define HW_L3SETTINGS 21 /* int: L3 Cache Settings */ -#define HW_L3CACHESIZE 22 /* int: L3 Cache Size in Bytes */ -#define HW_TB_FREQ 23 /* int: Bus Frequency */ -#define HW_MEMSIZE 24 /* uint64_t: physical ram size */ -#define HW_AVAILCPU 25 /* int: number of available CPUs */ -#define HW_TARGET 26 /* string: model identifier */ -#define HW_PRODUCT 27 /* string: product identifier */ -#define HW_MAXID 28 /* number of valid hw ids */ - -#define CTL_HW_NAMES { \ - { 0, 0 }, \ - { "machine", CTLTYPE_STRING }, /* Deprecated: use hw.product */ \ - { "model", CTLTYPE_STRING }, /* Deprecated: use hw.target */ \ - { "ncpu", CTLTYPE_INT }, \ - { "byteorder", CTLTYPE_INT }, \ - { "physmem", CTLTYPE_INT }, \ - { "usermem", CTLTYPE_INT }, \ - { "pagesize", CTLTYPE_INT }, \ - { "disknames", CTLTYPE_STRUCT }, \ - { "diskstats", CTLTYPE_STRUCT }, \ - { "epoch", CTLTYPE_INT }, \ - { "floatingpoint", CTLTYPE_INT }, \ - { "machinearch", CTLTYPE_STRING }, \ - { "vectorunit", CTLTYPE_INT }, \ - { "busfrequency", CTLTYPE_INT }, \ - { "cpufrequency", CTLTYPE_INT }, \ - { "cachelinesize", CTLTYPE_INT }, \ - { "l1icachesize", CTLTYPE_INT }, \ - { "l1dcachesize", CTLTYPE_INT }, \ - { "l2settings", CTLTYPE_INT }, \ - { "l2cachesize", CTLTYPE_INT }, \ - { "l3settings", CTLTYPE_INT }, \ - { "l3cachesize", CTLTYPE_INT }, \ - { "tbfrequency", CTLTYPE_INT }, \ - { "memsize", CTLTYPE_QUAD }, \ - { "availcpu", CTLTYPE_INT }, \ - { "target", CTLTYPE_STRING }, \ - { "product", CTLTYPE_STRING }, \ -} - -/* - * XXX This information should be moved to the man page. - * - * These are the support HW selectors for sysctlbyname. Parameters that are byte counts or frequencies are 64 bit numbers. - * All other parameters are 32 bit numbers. - * - * hw.memsize - The number of bytes of physical memory in the system. - * - * hw.ncpu - The maximum number of processors that could be available this boot. - * Use this value for sizing of static per processor arrays; i.e. processor load statistics. - * - * hw.activecpu - The number of processors currently available for executing threads. - * Use this number to determine the number threads to create in SMP aware applications. - * This number can change when power management modes are changed. - * - * hw.physicalcpu - The number of physical processors available in the current power management mode. - * hw.physicalcpu_max - The maximum number of physical processors that could be available this boot - * - * hw.logicalcpu - The number of logical processors available in the current power management mode. - * hw.logicalcpu_max - The maximum number of logical processors that could be available this boot - * - * hw.tbfrequency - This gives the time base frequency used by the OS and is the basis of all timing services. - * In general is is better to use mach's or higher level timing services, but this value - * is needed to convert the PPC Time Base registers to real time. - * - * hw.cpufrequency - These values provide the current, min and max cpu frequency. The min and max are for - * hw.cpufrequency_max - all power management modes. The current frequency is the max frequency in the current mode. - * hw.cpufrequency_min - All frequencies are in Hz. - * - * hw.busfrequency - These values provide the current, min and max bus frequency. The min and max are for - * hw.busfrequency_max - all power management modes. The current frequency is the max frequency in the current mode. - * hw.busfrequency_min - All frequencies are in Hz. - * - * hw.cputype - These values provide the mach-o cpu type and subtype. A complete list is in - * hw.cpusubtype - These values should be used to determine what processor family the running cpu is from so that - * the best binary can be chosen, or the best dynamic code generated. They should not be used - * to determine if a given processor feature is available. - * hw.cputhreadtype - This value will be present if the processor supports threads. Like hw.cpusubtype this selector - * should not be used to infer features, and only used to name the processors thread architecture. - * The values are defined in - * - * hw.byteorder - Gives the byte order of the processor. 4321 for big endian, 1234 for little. - * - * hw.pagesize - Gives the size in bytes of the pages used by the processor and VM system. - * - * hw.cachelinesize - Gives the size in bytes of the processor's cache lines. - * This value should be use to control the strides of loops that use cache control instructions - * like dcbz, dcbt or dcbst. - * - * hw.l1dcachesize - These values provide the size in bytes of the L1, L2 and L3 caches. If a cache is not present - * hw.l1icachesize - then the selector will return and error. - * hw.l2cachesize - - * hw.l3cachesize - - * - * hw.nperflevels - Number of core types in the system. See the parameters below, which can be used to get - * - information associated with a specific perf level. - * - * The following parameters apply to perflevel N, where N is a number between 0 and the number of core types in the system minus one. - * perflevel 0 always refers to the highest performance core type in the system. - * - * hw.perflevelN.physicalcpu - The number of physical processors available in the current power management mode. - * hw.perflevelN.physicalcpumax - The maximum number of physical processors that could be available this boot. - * hw.perflevelN.logicalcpu - The number of logical processors available in the current power management mode. - * hw.perflevelN.logicalcpumax - The maximum number of logical processors that could be available this boot. - * - * hw.perflevelN.l1dcachesize - These values provide the size in bytes of the L1, L2 and L3 caches. If a cache is not present - * hw.perflevelN.l1icachesize - then the selector will return and error. - * hw.perflevelN.l2cachesize - - * hw.perflevelN.l3cachesize - - * - * hw.perflevelN.cpusperl2 - These values provide the number of CPUs of the same type that share L2 and L3 caches. - * hw.perflevelN.cpusperl3 - If a cache is not present then the selector will return and error. - * - * hw.perflevelN.l2perflevels - These values provide a bitmap, where bit number of CPUs of the same type that share L2 and L3 caches. - * hw.perflevelN.l3perflevels - If a cache is not present then the selector will return and error. - * - * hw.packages - Gives the number of processor packages. - * - * These are the selectors for optional processor features for specific processors. Selectors that return errors are not support - * on the system. Supported features will return 1 if they are recommended or 0 if they are supported but are not expected to help . - * performance. Future versions of these selectors may return larger values as necessary so it is best to test for non zero. - * - * For PowerPC: - * - * hw.optional.floatingpoint - Floating Point Instructions - * hw.optional.altivec - AltiVec Instructions - * hw.optional.graphicsops - Graphics Operations - * hw.optional.64bitops - 64-bit Instructions - * hw.optional.fsqrt - HW Floating Point Square Root Instruction - * hw.optional.stfiwx - Store Floating Point as Integer Word Indexed Instructions - * hw.optional.dcba - Data Cache Block Allocate Instruction - * hw.optional.datastreams - Data Streams Instructions - * hw.optional.dcbtstreams - Data Cache Block Touch Steams Instruction Form - * - * For x86 Architecture: - * - * hw.optional.floatingpoint - Floating Point Instructions - * hw.optional.mmx - Original MMX vector instructions - * hw.optional.sse - Streaming SIMD Extensions - * hw.optional.sse2 - Streaming SIMD Extensions 2 - * hw.optional.sse3 - Streaming SIMD Extensions 3 - * hw.optional.supplementalsse3 - Supplemental Streaming SIMD Extensions 3 - * hw.optional.x86_64 - 64-bit support - */ - - -/* - * CTL_USER definitions - */ -#define USER_CS_PATH 1 /* string: _CS_PATH */ -#define USER_BC_BASE_MAX 2 /* int: BC_BASE_MAX */ -#define USER_BC_DIM_MAX 3 /* int: BC_DIM_MAX */ -#define USER_BC_SCALE_MAX 4 /* int: BC_SCALE_MAX */ -#define USER_BC_STRING_MAX 5 /* int: BC_STRING_MAX */ -#define USER_COLL_WEIGHTS_MAX 6 /* int: COLL_WEIGHTS_MAX */ -#define USER_EXPR_NEST_MAX 7 /* int: EXPR_NEST_MAX */ -#define USER_LINE_MAX 8 /* int: LINE_MAX */ -#define USER_RE_DUP_MAX 9 /* int: RE_DUP_MAX */ -#define USER_POSIX2_VERSION 10 /* int: POSIX2_VERSION */ -#define USER_POSIX2_C_BIND 11 /* int: POSIX2_C_BIND */ -#define USER_POSIX2_C_DEV 12 /* int: POSIX2_C_DEV */ -#define USER_POSIX2_CHAR_TERM 13 /* int: POSIX2_CHAR_TERM */ -#define USER_POSIX2_FORT_DEV 14 /* int: POSIX2_FORT_DEV */ -#define USER_POSIX2_FORT_RUN 15 /* int: POSIX2_FORT_RUN */ -#define USER_POSIX2_LOCALEDEF 16 /* int: POSIX2_LOCALEDEF */ -#define USER_POSIX2_SW_DEV 17 /* int: POSIX2_SW_DEV */ -#define USER_POSIX2_UPE 18 /* int: POSIX2_UPE */ -#define USER_STREAM_MAX 19 /* int: POSIX2_STREAM_MAX */ -#define USER_TZNAME_MAX 20 /* int: POSIX2_TZNAME_MAX */ -#define USER_MAXID 21 /* number of valid user ids */ - -#define CTL_USER_NAMES { \ - { 0, 0 }, \ - { "cs_path", CTLTYPE_STRING }, \ - { "bc_base_max", CTLTYPE_INT }, \ - { "bc_dim_max", CTLTYPE_INT }, \ - { "bc_scale_max", CTLTYPE_INT }, \ - { "bc_string_max", CTLTYPE_INT }, \ - { "coll_weights_max", CTLTYPE_INT }, \ - { "expr_nest_max", CTLTYPE_INT }, \ - { "line_max", CTLTYPE_INT }, \ - { "re_dup_max", CTLTYPE_INT }, \ - { "posix2_version", CTLTYPE_INT }, \ - { "posix2_c_bind", CTLTYPE_INT }, \ - { "posix2_c_dev", CTLTYPE_INT }, \ - { "posix2_char_term", CTLTYPE_INT }, \ - { "posix2_fort_dev", CTLTYPE_INT }, \ - { "posix2_fort_run", CTLTYPE_INT }, \ - { "posix2_localedef", CTLTYPE_INT }, \ - { "posix2_sw_dev", CTLTYPE_INT }, \ - { "posix2_upe", CTLTYPE_INT }, \ - { "stream_max", CTLTYPE_INT }, \ - { "tzname_max", CTLTYPE_INT } \ -} - - - -/* - * CTL_DEBUG definitions - * - * Second level identifier specifies which debug variable. - * Third level identifier specifies which stucture component. - */ -#define CTL_DEBUG_NAME 0 /* string: variable name */ -#define CTL_DEBUG_VALUE 1 /* int: variable value */ -#define CTL_DEBUG_MAXID 20 - - -#if (CTL_MAXID != 9) || (KERN_MAXID != 72) || (VM_MAXID != 6) || (HW_MAXID != 28) || (USER_MAXID != 21) || (CTL_DEBUG_MAXID != 20) -#error Use the SYSCTL_*() macros and OID_AUTO instead! -#endif - - - -__BEGIN_DECLS -int sysctl(int *, u_int, void *, size_t *, void *, size_t); -int sysctlbyname(const char *, void *, size_t *, void *, size_t); -int sysctlnametomib(const char *, int *, size_t *); -__END_DECLS - - - -#endif /* SYSCTL_DEF_ENABLED */ - - -#endif /* !_SYS_SYSCTL_H_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.12-any/sys/unistd.h b/lib/libc/include/any-macos.12-any/sys/unistd.h deleted file mode 100644 index 08bcb19e33..0000000000 --- a/lib/libc/include/any-macos.12-any/sys/unistd.h +++ /dev/null @@ -1,219 +0,0 @@ -/* - * Copyright (c) 2000-2013 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@ - */ -/* Copyright (c) 1995 NeXT Computer, Inc. All Rights Reserved */ -/* - * Copyright (c) 1989, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)unistd.h 8.2 (Berkeley) 1/7/94 - */ - -#ifndef _SYS_UNISTD_H_ -#define _SYS_UNISTD_H_ - -#include - -/* - * Although we have saved user/group IDs, we do not use them in setuid - * as described in POSIX 1003.1, because the feature does not work for - * root. We use the saved IDs in seteuid/setegid, which are not currently - * part of the POSIX 1003.1 specification. - */ -#ifdef _NOT_AVAILABLE -#define _POSIX_SAVED_IDS /* saved set-user-ID and set-group-ID */ -#endif - -#define _POSIX_VERSION 200112L -#define _POSIX2_VERSION 200112L - -/* execution-time symbolic constants */ -/* may disable terminal special characters */ -#include - -#define _POSIX_THREAD_KEYS_MAX 128 - -/* access function */ -#define F_OK 0 /* test for existence of file */ -#define X_OK (1<<0) /* test for execute or search permission */ -#define W_OK (1<<1) /* test for write permission */ -#define R_OK (1<<2) /* test for read permission */ - -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -/* - * Extended access functions. - * Note that we depend on these matching the definitions in sys/kauth.h, - * but with the bits shifted left by 8. - */ -#define _READ_OK (1<<9) /* read file data / read directory */ -#define _WRITE_OK (1<<10) /* write file data / add file to directory */ -#define _EXECUTE_OK (1<<11) /* execute file / search in directory*/ -#define _DELETE_OK (1<<12) /* delete file / delete directory */ -#define _APPEND_OK (1<<13) /* append to file / add subdirectory to directory */ -#define _RMFILE_OK (1<<14) /* - / remove file from directory */ -#define _RATTR_OK (1<<15) /* read basic attributes */ -#define _WATTR_OK (1<<16) /* write basic attributes */ -#define _REXT_OK (1<<17) /* read extended attributes */ -#define _WEXT_OK (1<<18) /* write extended attributes */ -#define _RPERM_OK (1<<19) /* read permissions */ -#define _WPERM_OK (1<<20) /* write permissions */ -#define _CHOWN_OK (1<<21) /* change ownership */ - -#define _ACCESS_EXTENDED_MASK (_READ_OK | _WRITE_OK | _EXECUTE_OK | \ - _DELETE_OK | _APPEND_OK | \ - _RMFILE_OK | _REXT_OK | \ - _WEXT_OK | _RATTR_OK | _WATTR_OK | _RPERM_OK | \ - _WPERM_OK | _CHOWN_OK) -#endif - -/* whence values for lseek(2) */ -#include - -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -/* whence values for lseek(2); renamed by POSIX 1003.1 */ -#define L_SET SEEK_SET -#define L_INCR SEEK_CUR -#define L_XTND SEEK_END -#endif - -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -struct accessx_descriptor { - unsigned int ad_name_offset; - int ad_flags; - int ad_pad[2]; -}; -#define ACCESSX_MAX_DESCRIPTORS 100 -#define ACCESSX_MAX_TABLESIZE (16 * 1024) -#endif - -/* configurable pathname variables */ -#define _PC_LINK_MAX 1 -#define _PC_MAX_CANON 2 -#define _PC_MAX_INPUT 3 -#define _PC_NAME_MAX 4 -#define _PC_PATH_MAX 5 -#define _PC_PIPE_BUF 6 -#define _PC_CHOWN_RESTRICTED 7 -#define _PC_NO_TRUNC 8 -#define _PC_VDISABLE 9 - -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -#define _PC_NAME_CHARS_MAX 10 -#define _PC_CASE_SENSITIVE 11 -#define _PC_CASE_PRESERVING 12 -#define _PC_EXTENDED_SECURITY_NP 13 -#define _PC_AUTH_OPAQUE_NP 14 -#endif - -#define _PC_2_SYMLINKS 15 /* Symlink supported in directory */ -#define _PC_ALLOC_SIZE_MIN 16 /* Minimum storage actually allocated */ -#define _PC_ASYNC_IO 17 /* Async I/O [AIO] supported? */ -#define _PC_FILESIZEBITS 18 /* # of bits to represent file size */ -#define _PC_PRIO_IO 19 /* Priority I/O [PIO] supported? */ -#define _PC_REC_INCR_XFER_SIZE 20 /* Recommended increment for next two */ -#define _PC_REC_MAX_XFER_SIZE 21 /* Recommended max file transfer size */ -#define _PC_REC_MIN_XFER_SIZE 22 /* Recommended min file transfer size */ -#define _PC_REC_XFER_ALIGN 23 /* Recommended buffer alignment */ -#define _PC_SYMLINK_MAX 24 /* Max # of bytes in symlink name */ -#define _PC_SYNC_IO 25 /* Sync I/O [SIO] supported? */ -#define _PC_XATTR_SIZE_BITS 26 /* # of bits to represent maximum xattr size */ -#define _PC_MIN_HOLE_SIZE 27 /* Recommended minimum hole size for sparse files */ - -/* configurable system strings */ -#define _CS_PATH 1 - -#if __DARWIN_C_LEVEL >= __DARWIN_C_FULL - -#include -#include -#include -#include <_types/_uint64_t.h> -#include <_types/_uint32_t.h> -#include - -__BEGIN_DECLS - -int getattrlistbulk(int, void *, void *, size_t, uint64_t) __OSX_AVAILABLE_STARTING(__MAC_10_10, __IPHONE_8_0); -int getattrlistat(int, const char *, void *, void *, size_t, unsigned long) __OSX_AVAILABLE_STARTING(__MAC_10_10, __IPHONE_8_0); -int setattrlistat(int, const char *, void *, void *, size_t, uint32_t) __OSX_AVAILABLE(10.13) __IOS_AVAILABLE(11.0) __TVOS_AVAILABLE(11.0) __WATCHOS_AVAILABLE(4.0); - -__END_DECLS - -#endif /* __DARWIN_C_LEVEL >= __DARWIN_C_FULL */ - -#if __DARWIN_C_LEVEL >= 200809L - -#include -#include -#include -#include -#include -#include -#include - -__BEGIN_DECLS - -int faccessat(int, const char *, int, int) __OSX_AVAILABLE_STARTING(__MAC_10_10, __IPHONE_8_0); -int fchownat(int, const char *, uid_t, gid_t, int) __OSX_AVAILABLE_STARTING(__MAC_10_10, __IPHONE_8_0); -int linkat(int, const char *, int, const char *, int) __OSX_AVAILABLE_STARTING(__MAC_10_10, __IPHONE_8_0); -ssize_t readlinkat(int, const char *, char *, size_t) __OSX_AVAILABLE_STARTING(__MAC_10_10, __IPHONE_8_0); -int symlinkat(const char *, int, const char *) __OSX_AVAILABLE_STARTING(__MAC_10_10, __IPHONE_8_0); -int unlinkat(int, const char *, int) __OSX_AVAILABLE_STARTING(__MAC_10_10, __IPHONE_8_0); - -__END_DECLS - -#endif /* __DARWIN_C_LEVEL >= 200809L */ - -#endif /* !_SYS_UNISTD_H_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.12-any/unistd.h b/lib/libc/include/any-macos.12-any/unistd.h deleted file mode 100644 index 0a3f14a66a..0000000000 --- a/lib/libc/include/any-macos.12-any/unistd.h +++ /dev/null @@ -1,791 +0,0 @@ -/* - * Copyright (c) 2000, 2002-2006, 2008-2010, 2012 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@ - */ -/*- - * Copyright (c) 1998-1999 Apple Computer, Inc. All Rights Reserved - * Copyright (c) 1991, 1993, 1994 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)unistd.h 8.12 (Berkeley) 4/27/95 - * - * Copyright (c) 1998 Apple Compter, Inc. - * All Rights Reserved - */ - -/* History: - 7/14/99 EKN at Apple fixed getdirentriesattr from getdirentryattr - 3/26/98 CHW at Apple added real interface to searchfs call - 3/5/98 CHW at Apple added hfs semantic system calls headers -*/ - -#ifndef _UNISTD_H_ -#define _UNISTD_H_ - -#include <_types.h> -#include -#include -#include -#include -#include -#include -/* DO NOT REMOVE THIS COMMENT: fixincludes needs to see: - * _GCC_SIZE_T */ -#include -#include -#include -#include -#include - -#define STDIN_FILENO 0 /* standard input file descriptor */ -#define STDOUT_FILENO 1 /* standard output file descriptor */ -#define STDERR_FILENO 2 /* standard error file descriptor */ - - -/* Version test macros */ -/* _POSIX_VERSION and _POSIX2_VERSION from sys/unistd.h */ -#define _XOPEN_VERSION 600 /* [XSI] */ -#define _XOPEN_XCU_VERSION 4 /* Older standard */ - - -/* Please keep this list in the same order as the applicable standard */ -#define _POSIX_ADVISORY_INFO (-1) /* [ADV] */ -#define _POSIX_ASYNCHRONOUS_IO (-1) /* [AIO] */ -#define _POSIX_BARRIERS (-1) /* [BAR] */ -#define _POSIX_CHOWN_RESTRICTED 200112L -#define _POSIX_CLOCK_SELECTION (-1) /* [CS] */ -#define _POSIX_CPUTIME (-1) /* [CPT] */ -#define _POSIX_FSYNC 200112L /* [FSC] */ -#define _POSIX_IPV6 200112L -#define _POSIX_JOB_CONTROL 200112L -#define _POSIX_MAPPED_FILES 200112L /* [MF] */ -#define _POSIX_MEMLOCK (-1) /* [ML] */ -#define _POSIX_MEMLOCK_RANGE (-1) /* [MR] */ -#define _POSIX_MEMORY_PROTECTION 200112L /* [MPR] */ -#define _POSIX_MESSAGE_PASSING (-1) /* [MSG] */ -#define _POSIX_MONOTONIC_CLOCK (-1) /* [MON] */ -#define _POSIX_NO_TRUNC 200112L -#define _POSIX_PRIORITIZED_IO (-1) /* [PIO] */ -#define _POSIX_PRIORITY_SCHEDULING (-1) /* [PS] */ -#define _POSIX_RAW_SOCKETS (-1) /* [RS] */ -#define _POSIX_READER_WRITER_LOCKS 200112L /* [THR] */ -#define _POSIX_REALTIME_SIGNALS (-1) /* [RTS] */ -#define _POSIX_REGEXP 200112L -#define _POSIX_SAVED_IDS 200112L /* XXX required */ -#define _POSIX_SEMAPHORES (-1) /* [SEM] */ -#define _POSIX_SHARED_MEMORY_OBJECTS (-1) /* [SHM] */ -#define _POSIX_SHELL 200112L -#define _POSIX_SPAWN (-1) /* [SPN] */ -#define _POSIX_SPIN_LOCKS (-1) /* [SPI] */ -#define _POSIX_SPORADIC_SERVER (-1) /* [SS] */ -#define _POSIX_SYNCHRONIZED_IO (-1) /* [SIO] */ -#define _POSIX_THREAD_ATTR_STACKADDR 200112L /* [TSA] */ -#define _POSIX_THREAD_ATTR_STACKSIZE 200112L /* [TSS] */ -#define _POSIX_THREAD_CPUTIME (-1) /* [TCT] */ -#define _POSIX_THREAD_PRIO_INHERIT (-1) /* [TPI] */ -#define _POSIX_THREAD_PRIO_PROTECT (-1) /* [TPP] */ -#define _POSIX_THREAD_PRIORITY_SCHEDULING (-1) /* [TPS] */ -#define _POSIX_THREAD_PROCESS_SHARED 200112L /* [TSH] */ -#define _POSIX_THREAD_SAFE_FUNCTIONS 200112L /* [TSF] */ -#define _POSIX_THREAD_SPORADIC_SERVER (-1) /* [TSP] */ -#define _POSIX_THREADS 200112L /* [THR] */ -#define _POSIX_TIMEOUTS (-1) /* [TMO] */ -#define _POSIX_TIMERS (-1) /* [TMR] */ -#define _POSIX_TRACE (-1) /* [TRC] */ -#define _POSIX_TRACE_EVENT_FILTER (-1) /* [TEF] */ -#define _POSIX_TRACE_INHERIT (-1) /* [TRI] */ -#define _POSIX_TRACE_LOG (-1) /* [TRL] */ -#define _POSIX_TYPED_MEMORY_OBJECTS (-1) /* [TYM] */ -#ifndef _POSIX_VDISABLE -#define _POSIX_VDISABLE 0xff /* same as sys/termios.h */ -#endif /* _POSIX_VDISABLE */ - -#if __DARWIN_C_LEVEL >= 199209L -#define _POSIX2_C_BIND 200112L -#define _POSIX2_C_DEV 200112L /* c99 command */ -#define _POSIX2_CHAR_TERM 200112L -#define _POSIX2_FORT_DEV (-1) /* fort77 command */ -#define _POSIX2_FORT_RUN 200112L -#define _POSIX2_LOCALEDEF 200112L /* localedef command */ -#define _POSIX2_PBS (-1) -#define _POSIX2_PBS_ACCOUNTING (-1) -#define _POSIX2_PBS_CHECKPOINT (-1) -#define _POSIX2_PBS_LOCATE (-1) -#define _POSIX2_PBS_MESSAGE (-1) -#define _POSIX2_PBS_TRACK (-1) -#define _POSIX2_SW_DEV 200112L -#define _POSIX2_UPE 200112L /* XXXX no fc, newgrp, tabs */ -#endif /* __DARWIN_C_LEVEL */ - -#define __ILP32_OFF32 (-1) -#define __ILP32_OFFBIG (-1) - -#define __LP64_OFF64 (1) -#define __LPBIG_OFFBIG (1) - -#if __DARWIN_C_LEVEL >= 200112L -#define _POSIX_V6_ILP32_OFF32 __ILP32_OFF32 -#define _POSIX_V6_ILP32_OFFBIG __ILP32_OFFBIG -#define _POSIX_V6_LP64_OFF64 __LP64_OFF64 -#define _POSIX_V6_LPBIG_OFFBIG __LPBIG_OFFBIG -#endif /* __DARWIN_C_LEVEL >= 200112L */ - -#if __DARWIN_C_LEVEL >= 200809L -#define _POSIX_V7_ILP32_OFF32 __ILP32_OFF32 -#define _POSIX_V7_ILP32_OFFBIG __ILP32_OFFBIG -#define _POSIX_V7_LP64_OFF64 __LP64_OFF64 -#define _POSIX_V7_LPBIG_OFFBIG __LPBIG_OFFBIG -#endif /* __DARWIN_C_LEVEL >= 200809L */ - -#if __DARWIN_C_LEVEL >= __DARWIN_C_FULL -#define _V6_ILP32_OFF32 __ILP32_OFF32 -#define _V6_ILP32_OFFBIG __ILP32_OFFBIG -#define _V6_LP64_OFF64 __LP64_OFF64 -#define _V6_LPBIG_OFFBIG __LPBIG_OFFBIG -#endif /* __DARWIN_C_LEVEL >= __DARWIN_C_FULL */ - -#if (__DARWIN_C_LEVEL >= 199506L && __DARWIN_C_LEVEL < 200809L) || __DARWIN_C_LEVEL >= __DARWIN_C_FULL -/* Removed in Issue 7 */ -#define _XBS5_ILP32_OFF32 __ILP32_OFF32 -#define _XBS5_ILP32_OFFBIG __ILP32_OFFBIG -#define _XBS5_LP64_OFF64 __LP64_OFF64 -#define _XBS5_LPBIG_OFFBIG __LPBIG_OFFBIG -#endif /* __DARWIN_C_LEVEL < 200809L */ - -#if __DARWIN_C_LEVEL >= 199506L /* This really should be XSI */ -#define _XOPEN_CRYPT (1) -#define _XOPEN_ENH_I18N (1) /* XXX required */ -#define _XOPEN_LEGACY (-1) /* no ftime gcvt, wcswcs */ -#define _XOPEN_REALTIME (-1) /* no q'ed signals, mq_* */ -#define _XOPEN_REALTIME_THREADS (-1) /* no posix_spawn, et. al. */ -#define _XOPEN_SHM (1) -#define _XOPEN_STREAMS (-1) /* Issue 6 */ -#define _XOPEN_UNIX (1) -#endif /* XSI */ - -/* configurable system variables */ -#define _SC_ARG_MAX 1 -#define _SC_CHILD_MAX 2 -#define _SC_CLK_TCK 3 -#define _SC_NGROUPS_MAX 4 -#define _SC_OPEN_MAX 5 -#define _SC_JOB_CONTROL 6 -#define _SC_SAVED_IDS 7 -#define _SC_VERSION 8 -#define _SC_BC_BASE_MAX 9 -#define _SC_BC_DIM_MAX 10 -#define _SC_BC_SCALE_MAX 11 -#define _SC_BC_STRING_MAX 12 -#define _SC_COLL_WEIGHTS_MAX 13 -#define _SC_EXPR_NEST_MAX 14 -#define _SC_LINE_MAX 15 -#define _SC_RE_DUP_MAX 16 -#define _SC_2_VERSION 17 -#define _SC_2_C_BIND 18 -#define _SC_2_C_DEV 19 -#define _SC_2_CHAR_TERM 20 -#define _SC_2_FORT_DEV 21 -#define _SC_2_FORT_RUN 22 -#define _SC_2_LOCALEDEF 23 -#define _SC_2_SW_DEV 24 -#define _SC_2_UPE 25 -#define _SC_STREAM_MAX 26 -#define _SC_TZNAME_MAX 27 - -#if __DARWIN_C_LEVEL >= 199309L -#define _SC_ASYNCHRONOUS_IO 28 -#define _SC_PAGESIZE 29 -#define _SC_MEMLOCK 30 -#define _SC_MEMLOCK_RANGE 31 -#define _SC_MEMORY_PROTECTION 32 -#define _SC_MESSAGE_PASSING 33 -#define _SC_PRIORITIZED_IO 34 -#define _SC_PRIORITY_SCHEDULING 35 -#define _SC_REALTIME_SIGNALS 36 -#define _SC_SEMAPHORES 37 -#define _SC_FSYNC 38 -#define _SC_SHARED_MEMORY_OBJECTS 39 -#define _SC_SYNCHRONIZED_IO 40 -#define _SC_TIMERS 41 -#define _SC_AIO_LISTIO_MAX 42 -#define _SC_AIO_MAX 43 -#define _SC_AIO_PRIO_DELTA_MAX 44 -#define _SC_DELAYTIMER_MAX 45 -#define _SC_MQ_OPEN_MAX 46 -#define _SC_MAPPED_FILES 47 /* swap _SC_PAGESIZE vs. BSD */ -#define _SC_RTSIG_MAX 48 -#define _SC_SEM_NSEMS_MAX 49 -#define _SC_SEM_VALUE_MAX 50 -#define _SC_SIGQUEUE_MAX 51 -#define _SC_TIMER_MAX 52 -#endif /* __DARWIN_C_LEVEL >= 199309L */ - -#if __DARWIN_C_LEVEL >= __DARWIN_C_FULL -#define _SC_NPROCESSORS_CONF 57 -#define _SC_NPROCESSORS_ONLN 58 -#endif /* __DARWIN_C_LEVEL >= __DARWIN_C_FULL */ - -#if __DARWIN_C_LEVEL >= 200112L -#define _SC_2_PBS 59 -#define _SC_2_PBS_ACCOUNTING 60 -#define _SC_2_PBS_CHECKPOINT 61 -#define _SC_2_PBS_LOCATE 62 -#define _SC_2_PBS_MESSAGE 63 -#define _SC_2_PBS_TRACK 64 -#define _SC_ADVISORY_INFO 65 -#define _SC_BARRIERS 66 -#define _SC_CLOCK_SELECTION 67 -#define _SC_CPUTIME 68 -#define _SC_FILE_LOCKING 69 -#define _SC_GETGR_R_SIZE_MAX 70 -#define _SC_GETPW_R_SIZE_MAX 71 -#define _SC_HOST_NAME_MAX 72 -#define _SC_LOGIN_NAME_MAX 73 -#define _SC_MONOTONIC_CLOCK 74 -#define _SC_MQ_PRIO_MAX 75 -#define _SC_READER_WRITER_LOCKS 76 -#define _SC_REGEXP 77 -#define _SC_SHELL 78 -#define _SC_SPAWN 79 -#define _SC_SPIN_LOCKS 80 -#define _SC_SPORADIC_SERVER 81 -#define _SC_THREAD_ATTR_STACKADDR 82 -#define _SC_THREAD_ATTR_STACKSIZE 83 -#define _SC_THREAD_CPUTIME 84 -#define _SC_THREAD_DESTRUCTOR_ITERATIONS 85 -#define _SC_THREAD_KEYS_MAX 86 -#define _SC_THREAD_PRIO_INHERIT 87 -#define _SC_THREAD_PRIO_PROTECT 88 -#define _SC_THREAD_PRIORITY_SCHEDULING 89 -#define _SC_THREAD_PROCESS_SHARED 90 -#define _SC_THREAD_SAFE_FUNCTIONS 91 -#define _SC_THREAD_SPORADIC_SERVER 92 -#define _SC_THREAD_STACK_MIN 93 -#define _SC_THREAD_THREADS_MAX 94 -#define _SC_TIMEOUTS 95 -#define _SC_THREADS 96 -#define _SC_TRACE 97 -#define _SC_TRACE_EVENT_FILTER 98 -#define _SC_TRACE_INHERIT 99 -#define _SC_TRACE_LOG 100 -#define _SC_TTY_NAME_MAX 101 -#define _SC_TYPED_MEMORY_OBJECTS 102 -#define _SC_V6_ILP32_OFF32 103 -#define _SC_V6_ILP32_OFFBIG 104 -#define _SC_V6_LP64_OFF64 105 -#define _SC_V6_LPBIG_OFFBIG 106 -#define _SC_IPV6 118 -#define _SC_RAW_SOCKETS 119 -#define _SC_SYMLOOP_MAX 120 -#endif /* __DARWIN_C_LEVEL >= 200112L */ - -#if __DARWIN_C_LEVEL >= 199506L /* Really XSI */ -#define _SC_ATEXIT_MAX 107 -#define _SC_IOV_MAX 56 -#define _SC_PAGE_SIZE _SC_PAGESIZE -#define _SC_XOPEN_CRYPT 108 -#define _SC_XOPEN_ENH_I18N 109 -#define _SC_XOPEN_LEGACY 110 /* Issue 6 */ -#define _SC_XOPEN_REALTIME 111 /* Issue 6 */ -#define _SC_XOPEN_REALTIME_THREADS 112 /* Issue 6 */ -#define _SC_XOPEN_SHM 113 -#define _SC_XOPEN_STREAMS 114 /* Issue 6 */ -#define _SC_XOPEN_UNIX 115 -#define _SC_XOPEN_VERSION 116 -#define _SC_XOPEN_XCU_VERSION 121 -#endif /* XSI */ - -#if (__DARWIN_C_LEVEL >= 199506L && __DARWIN_C_LEVEL < 200809L) || __DARWIN_C_LEVEL >= __DARWIN_C_FULL -/* Removed in Issue 7 */ -#define _SC_XBS5_ILP32_OFF32 122 -#define _SC_XBS5_ILP32_OFFBIG 123 -#define _SC_XBS5_LP64_OFF64 124 -#define _SC_XBS5_LPBIG_OFFBIG 125 -#endif /* __DARWIN_C_LEVEL <= 200809L */ - -#if __DARWIN_C_LEVEL >= 200112L -#define _SC_SS_REPL_MAX 126 -#define _SC_TRACE_EVENT_NAME_MAX 127 -#define _SC_TRACE_NAME_MAX 128 -#define _SC_TRACE_SYS_MAX 129 -#define _SC_TRACE_USER_EVENT_MAX 130 -#endif - -#if __DARWIN_C_LEVEL < 200112L || __DARWIN_C_LEVEL >= __DARWIN_C_FULL -/* Removed in Issue 6 */ -#define _SC_PASS_MAX 131 -#endif - -/* 132-199 available for future use */ -#if __DARWIN_C_LEVEL >= __DARWIN_C_FULL -#define _SC_PHYS_PAGES 200 -#endif /* __DARWIN_C_LEVEL >= __DARWIN_C_FULL */ - -#if __DARWIN_C_LEVEL >= 199209L -#ifndef _CS_PATH /* Defined in */ -#define _CS_PATH 1 -#endif -#endif - -#if __DARWIN_C_LEVEL >= 200112 -#define _CS_POSIX_V6_ILP32_OFF32_CFLAGS 2 -#define _CS_POSIX_V6_ILP32_OFF32_LDFLAGS 3 -#define _CS_POSIX_V6_ILP32_OFF32_LIBS 4 -#define _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS 5 -#define _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS 6 -#define _CS_POSIX_V6_ILP32_OFFBIG_LIBS 7 -#define _CS_POSIX_V6_LP64_OFF64_CFLAGS 8 -#define _CS_POSIX_V6_LP64_OFF64_LDFLAGS 9 -#define _CS_POSIX_V6_LP64_OFF64_LIBS 10 -#define _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS 11 -#define _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS 12 -#define _CS_POSIX_V6_LPBIG_OFFBIG_LIBS 13 -#define _CS_POSIX_V6_WIDTH_RESTRICTED_ENVS 14 -#endif - -#if (__DARWIN_C_LEVEL >= 199506L && __DARWIN_C_LEVEL < 200809L) || __DARWIN_C_LEVEL >= __DARWIN_C_FULL -/* Removed in Issue 7 */ -#define _CS_XBS5_ILP32_OFF32_CFLAGS 20 -#define _CS_XBS5_ILP32_OFF32_LDFLAGS 21 -#define _CS_XBS5_ILP32_OFF32_LIBS 22 -#define _CS_XBS5_ILP32_OFF32_LINTFLAGS 23 -#define _CS_XBS5_ILP32_OFFBIG_CFLAGS 24 -#define _CS_XBS5_ILP32_OFFBIG_LDFLAGS 25 -#define _CS_XBS5_ILP32_OFFBIG_LIBS 26 -#define _CS_XBS5_ILP32_OFFBIG_LINTFLAGS 27 -#define _CS_XBS5_LP64_OFF64_CFLAGS 28 -#define _CS_XBS5_LP64_OFF64_LDFLAGS 29 -#define _CS_XBS5_LP64_OFF64_LIBS 30 -#define _CS_XBS5_LP64_OFF64_LINTFLAGS 31 -#define _CS_XBS5_LPBIG_OFFBIG_CFLAGS 32 -#define _CS_XBS5_LPBIG_OFFBIG_LDFLAGS 33 -#define _CS_XBS5_LPBIG_OFFBIG_LIBS 34 -#define _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS 35 -#endif - -#if __DARWIN_C_LEVEL >= __DARWIN_C_FULL -#define _CS_DARWIN_USER_DIR 65536 -#define _CS_DARWIN_USER_TEMP_DIR 65537 -#define _CS_DARWIN_USER_CACHE_DIR 65538 -#endif /* __DARWIN_C_LEVEL >= __DARWIN_C_FULL */ - - -#ifdef _DARWIN_UNLIMITED_GETGROUPS -#if defined(__IPHONE_OS_VERSION_MIN_REQUIRED) && __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_3_2 -#error "_DARWIN_UNLIMITED_GETGROUPS specified, but -miphoneos-version-min version does not support it." -#elif defined(__MAC_OS_X_VERSION_MIN_REQUIRED) && __MAC_OS_X_VERSION_MIN_REQUIRED < __MAC_10_6 -#error "_DARWIN_UNLIMITED_GETGROUPS specified, but -mmacosx-version-min version does not support it." -#endif -#endif - -/* POSIX.1-1990 */ - -__BEGIN_DECLS -void _exit(int) __dead2; -int access(const char *, int); -unsigned int - alarm(unsigned int); -int chdir(const char *); -int chown(const char *, uid_t, gid_t); - -int close(int) __DARWIN_ALIAS_C(close); - -int dup(int); -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; -pid_t fork(void) __WATCHOS_PROHIBITED __TVOS_PROHIBITED; -long fpathconf(int, int); -char *getcwd(char *, size_t); -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)); -#else /* !_DARWIN_UNLIMITED_GETGROUPS && !_DARWIN_C_SOURCE */ -int getgroups(int, gid_t []); -#endif /* _DARWIN_UNLIMITED_GETGROUPS || _DARWIN_C_SOURCE */ -char *getlogin(void); -pid_t getpgrp(void); -pid_t getpid(void); -pid_t getppid(void); -uid_t getuid(void); -int isatty(int); -int link(const char *, const char *); -off_t lseek(int, off_t, int); -long pathconf(const char *, int); - -int pause(void) __DARWIN_ALIAS_C(pause); - -int pipe(int [2]); - -ssize_t read(int, void *, size_t) __DARWIN_ALIAS_C(read); - -int rmdir(const char *); -int setgid(gid_t); -int setpgid(pid_t, pid_t); -pid_t setsid(void); -int setuid(uid_t); - -unsigned int - sleep(unsigned int) __DARWIN_ALIAS_C(sleep); - -long sysconf(int); -pid_t tcgetpgrp(int); -int tcsetpgrp(int, pid_t); -char *ttyname(int); - -#if __DARWIN_UNIX03 -int ttyname_r(int, char *, size_t) __DARWIN_ALIAS(ttyname_r); -#else /* !__DARWIN_UNIX03 */ -char *ttyname_r(int, char *, size_t); -#endif /* __DARWIN_UNIX03 */ - -int unlink(const char *); - -ssize_t write(int __fd, const void * __buf, size_t __nbyte) __DARWIN_ALIAS_C(write); -__END_DECLS - - - -/* Additional functionality provided by: - * POSIX.2-1992 C Language Binding Option - */ - -#if __DARWIN_C_LEVEL >= 199209L -__BEGIN_DECLS -size_t confstr(int, char *, size_t) __DARWIN_ALIAS(confstr); - -int getopt(int, char * const [], const char *) __DARWIN_ALIAS(getopt); - -extern char *optarg; /* getopt(3) external variables */ -extern int optind, opterr, optopt; -__END_DECLS -#endif /* __DARWIN_C_LEVEL >= 199209L */ - - - -/* Additional functionality provided by: - * POSIX.1c-1995, - * POSIX.1i-1995, - * and the omnibus ISO/IEC 9945-1: 1996 - */ - -#if __DARWIN_C_LEVEL >= 199506L -#include <_ctermid.h> - /* These F_* are really XSI or Issue 6 */ -#define F_ULOCK 0 /* unlock locked section */ -#define F_LOCK 1 /* lock a section for exclusive use */ -#define F_TLOCK 2 /* test and lock a section for exclusive use */ -#define F_TEST 3 /* test a section for locks by other procs */ - - __BEGIN_DECLS - -/* Begin XSI */ -/* Removed in Issue 6 */ -#if !defined(_POSIX_C_SOURCE) || _POSIX_C_SOURCE < 200112L -#if !defined(_POSIX_C_SOURCE) -__deprecated __WATCHOS_PROHIBITED __TVOS_PROHIBITED -#endif -void *brk(const void *); -int chroot(const char *) __POSIX_C_DEPRECATED(199506L); -#endif - -char *crypt(const char *, const char *); -#if __DARWIN_UNIX03 -void encrypt(char *, int) __DARWIN_ALIAS(encrypt); -#else /* !__DARWIN_UNIX03 */ -int encrypt(char *, int); -#endif /* __DARWIN_UNIX03 */ -int fchdir(int); -long gethostid(void); -pid_t getpgid(pid_t); -pid_t getsid(pid_t); - -/* Removed in Issue 6 */ -#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); -#endif - -/* Removed in Issue 7 */ -#if !defined(_POSIX_C_SOURCE) || _POSIX_C_SOURCE < 200809L -char *getwd(char *) __POSIX_C_DEPRECATED(200112L); /* obsoleted by getcwd() */ -#endif - -int lchown(const char *, uid_t, gid_t) __DARWIN_ALIAS(lchown); - -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 pwrite(int __fd, const void * __buf, size_t __nbyte, off_t __offset) __DARWIN_ALIAS_C(pwrite); - -/* Removed in Issue 6 */ -#if !defined(_POSIX_C_SOURCE) || _POSIX_C_SOURCE < 200112L -/* Note that Issue 5 changed the argument as intprt_t, - * but we keep it as int for binary compatability. */ -#if !defined(_POSIX_C_SOURCE) -__deprecated __WATCHOS_PROHIBITED __TVOS_PROHIBITED -#endif -void *sbrk(int); -#endif - -#if __DARWIN_UNIX03 -pid_t setpgrp(void) __DARWIN_ALIAS(setpgrp); -#else /* !__DARWIN_UNIX03 */ -int setpgrp(pid_t pid, pid_t pgrp); /* obsoleted by setpgid() */ -#endif /* __DARWIN_UNIX03 */ - -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 sync(void); -int truncate(const char *, off_t); -useconds_t ualarm(useconds_t, useconds_t); -int usleep(useconds_t) __DARWIN_ALIAS_C(usleep); - -#if !defined(_POSIX_C_SOURCE) -__deprecated_msg("Use posix_spawn or fork") -#endif -pid_t vfork(void) __WATCHOS_PROHIBITED __TVOS_PROHIBITED; -/* End XSI */ - -int fsync(int) __DARWIN_ALIAS_C(fsync); - -int ftruncate(int, off_t); -int getlogin_r(char *, size_t); -__END_DECLS -#endif /* __DARWIN_C_LEVEL >= 199506L */ - - - -/* Additional functionality provided by: - * POSIX.1-2001 - * ISO C99 - */ - -#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 setegid(gid_t); -int seteuid(uid_t); -int symlink(const char *, const char *); -__END_DECLS -#endif /* __DARWIN_C_LEVEL >= 200112L */ - - - -/* Darwin extensions */ - -#if __DARWIN_C_LEVEL >= __DARWIN_C_FULL -#include - -#include -#include -#include - -__BEGIN_DECLS -void _Exit(int) __dead2; -int accessx_np(const struct accessx_descriptor *, size_t, int *, uid_t); -int acct(const char *); -int add_profil(char *, size_t, 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 *); -#if defined(__has_include) -#if __has_include() -#include -#else -#include -#endif -#else -#include -#endif -mode_t getmode(const void *, mode_t); -int getpeereid(int, uid_t *, gid_t *); -int getsgroups_np(int *, uuid_t); -char *getusershell(void); -int getwgroups_np(int *, uuid_t); -int initgroups(const char *, int); -int issetugid(void); -char *mkdtemp(char *); -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) - __OSX_AVAILABLE(10.12) __IOS_AVAILABLE(10.0) - __TVOS_AVAILABLE(10.0) __WATCHOS_AVAILABLE(3.0); -int mkostemps(char *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) - __OSX_UNAVAILABLE __IOS_AVAILABLE(10.0) - __TVOS_AVAILABLE(10.0) __WATCHOS_AVAILABLE(3.0); -char *mkdtempat_np(int dfd, char *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) - __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) - __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); - -__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 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 *, - int); -__deprecated int rresvport(int *); -__deprecated int rresvport_af(int *, int); -__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 setgroups(int, const gid_t *); -void sethostid(long); -int sethostname(const char *, int); -#if __DARWIN_UNIX03 -void setkey(const char *) __DARWIN_ALIAS(setkey); -#else /* !__DARWIN_UNIX03 */ -int setkey(const char *); -#endif /* __DARWIN_UNIX03 */ -int setlogin(const char *); -void *setmode(const char *) __DARWIN_ALIAS_STARTING(__MAC_10_6, __IPHONE_2_0, __DARWIN_ALIAS(setmode)); -int setrgid(gid_t); -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 swapon(const char *); -int ttyslot(void); -int undelete(const char *); -int unwhiteout(const char *); -void *valloc(size_t); - -__WATCHOS_PROHIBITED __TVOS_PROHIBITED -__OS_AVAILABILITY_MSG(ios,deprecated=10.0,"syscall(2) is unsupported; " - "please switch to a supported interface. For SYS_kdebug_trace use kdebug_signpost().") -__OS_AVAILABILITY_MSG(macosx,deprecated=10.12,"syscall(2) is unsupported; " - "please switch to a supported interface. For SYS_kdebug_trace use kdebug_signpost().") -int syscall(int, ...); - -extern char *suboptarg; /* getsubopt(3) external variable */ -int getsubopt(char **, char * const *, char **); - -/* 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 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; - -#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 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; - -#endif /* __LP64__ */ - -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); - -#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 */ - -int fsync_volume_np(int, int) __OSX_AVAILABLE_STARTING(__MAC_10_8, __IPHONE_6_0); -int sync_volume_np(const char *, int) __OSX_AVAILABLE_STARTING(__MAC_10_8, __IPHONE_6_0); - -extern int optreset; - -__END_DECLS -#endif /* __DARWIN_C_LEVEL >= __DARWIN_C_FULL */ - -#endif /* _UNISTD_H_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.12-any/xpc/availability.h b/lib/libc/include/any-macos.12-any/xpc/availability.h deleted file mode 100644 index 63c328b0d0..0000000000 --- a/lib/libc/include/any-macos.12-any/xpc/availability.h +++ /dev/null @@ -1,130 +0,0 @@ -#ifndef __XPC_AVAILABILITY_H__ -#define __XPC_AVAILABILITY_H__ - -#include - -// Certain parts of the project use all the project's headers but have to build -// against newer OSX SDKs than ebuild uses -- liblaunch_host being the example. -// So we need to define these. -#ifndef __MAC_10_16 -#define __MAC_10_16 101600 -#endif // __MAC_10_16 - -#ifndef __MAC_10_15 -#define __MAC_10_15 101500 -#define __AVAILABILITY_INTERNAL__MAC_10_15 \ -__attribute__((availability(macosx, introduced=10.15))) -#endif // __MAC_10_15 - -#ifndef __MAC_10_14 -#define __MAC_10_14 101400 -#define __AVAILABILITY_INTERNAL__MAC_10_14 \ -__attribute__((availability(macosx, introduced=10.14))) -#endif // __MAC_10_14 - -#ifndef __MAC_10_13 -#define __MAC_10_13 101300 -#define __AVAILABILITY_INTERNAL__MAC_10_13 \ - __attribute__((availability(macosx, introduced=10.13))) -#endif // __MAC_10_13 - -#ifndef __MAC_10_12 -#define __MAC_10_12 101200 -#define __AVAILABILITY_INTERNAL__MAC_10_12 \ - __attribute__((availability(macosx, introduced=10.12))) -#endif // __MAC_10_12 - -#ifndef __MAC_10_11 -#define __MAC_10_11 101100 -#define __AVAILABILITY_INTERNAL__MAC_10_11 \ - __attribute__((availability(macosx, introduced=10.11))) -#endif // __MAC_10_11 - -#ifndef __MAC_12_0 -#define __MAC_12_0 120000 -#define __AVAILABILITY_INTERNAL__MAC_12_0 \ - __attribute__((availability(macosx, introduced=12.0))) -#endif // __MAC_12_0 - -#ifndef __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_11 -#define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_11 -#endif // __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_11 - -#ifndef __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_11 -#define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_11 -#endif // __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_11 - -#ifndef __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_11 -#define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_11 -#endif // __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_11 - -#ifndef __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_11 -#define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_11 -#endif // __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_11 - -#ifndef __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_10_11 -#define __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_10_11 -#endif // __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_10_11 - -#ifndef __AVAILABILITY_INTERNAL__MAC_10_7_DEP__MAC_10_11 -#define __AVAILABILITY_INTERNAL__MAC_10_7_DEP__MAC_10_11 -#endif // __AVAILABILITY_INTERNAL__MAC_10_7_DEP__MAC_10_11 - -#ifndef __AVAILABILITY_INTERNAL__MAC_10_8_DEP__MAC_10_11 -#define __AVAILABILITY_INTERNAL__MAC_10_8_DEP__MAC_10_11 -#endif // __AVAILABILITY_INTERNAL__MAC_10_8_DEP__MAC_10_11 - -#ifndef __AVAILABILITY_INTERNAL__MAC_10_9_DEP__MAC_10_11 -#define __AVAILABILITY_INTERNAL__MAC_10_9_DEP__MAC_10_11 -#endif // __AVAILABILITY_INTERNAL__MAC_10_9_DEP__MAC_10_11 - -#ifndef __AVAILABILITY_INTERNAL__MAC_10_10_DEP__MAC_10_11 -#define __AVAILABILITY_INTERNAL__MAC_10_10_DEP__MAC_10_11 -#endif // __AVAILABILITY_INTERNAL__MAC_10_10_DEP__MAC_10_11 - -#ifndef __AVAILABILITY_INTERNAL__MAC_10_11_DEP__MAC_10_11 -#define __AVAILABILITY_INTERNAL__MAC_10_11_DEP__MAC_10_11 -#endif // __AVAILABILITY_INTERNAL__MAC_10_11_DEP__MAC_10_11 - -#ifndef __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_10_13 -#define __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_10_13 -#endif // __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_10_13 - -#if __has_include() -#include -#else // __has_include() -#ifndef IPHONE_SIMULATOR_HOST_MIN_VERSION_REQUIRED -#define IPHONE_SIMULATOR_HOST_MIN_VERSION_REQUIRED 999999 -#endif // IPHONE_SIMULATOR_HOST_MIN_VERSION_REQUIRED -#endif // __has_include() - -#ifndef __WATCHOS_UNAVAILABLE -#define __WATCHOS_UNAVAILABLE -#endif - -#ifndef __TVOS_UNAVAILABLE -#define __TVOS_UNAVAILABLE -#endif - -// simulator host-side bits build against SDKs not having __*_AVAILABLE() yet -#ifndef __OSX_AVAILABLE -#define __OSX_AVAILABLE(...) -#endif - -#ifndef __IOS_AVAILABLE -#define __IOS_AVAILABLE(...) -#endif - -#ifndef __TVOS_AVAILABLE -#define __TVOS_AVAILABLE(...) -#endif - -#ifndef __WATCHOS_AVAILABLE -#define __WATCHOS_AVAILABLE(...) -#endif - -#ifndef __API_AVAILABLE -#define __API_AVAILABLE(...) -#endif - -#endif // __XPC_AVAILABILITY_H__ \ No newline at end of file diff --git a/lib/libc/include/any-macos.12-any/xpc/base.h b/lib/libc/include/any-macos.12-any/xpc/base.h deleted file mode 100644 index b8bb859dc6..0000000000 --- a/lib/libc/include/any-macos.12-any/xpc/base.h +++ /dev/null @@ -1,216 +0,0 @@ -// Copyright (c) 2009-2011 Apple Inc. All rights reserved. - -#ifndef __XPC_BASE_H__ -#define __XPC_BASE_H__ - -#include - -__BEGIN_DECLS - -#if !defined(__has_include) -#define __has_include(x) 0 -#endif // !defined(__has_include) - -#if !defined(__has_attribute) -#define __has_attribute(x) 0 -#endif // !defined(__has_attribute) - -#if !defined(__has_feature) -#define __has_feature(x) 0 -#endif // !defined(__has_feature) - -#if !defined(__has_extension) -#define __has_extension(x) 0 -#endif // !defined(__has_extension) - -#if __has_include() -#include -#else // __has_include() -#include -#endif // __has_include() - -#include - -#ifndef __XPC_INDIRECT__ -#error "Please #include instead of this file directly." -#endif // __XPC_INDIRECT__ - -#pragma mark Attribute Shims -#ifdef __GNUC__ -#define XPC_CONSTRUCTOR __attribute__((constructor)) -#define XPC_NORETURN __attribute__((__noreturn__)) -#define XPC_NOTHROW __attribute__((__nothrow__)) -#define XPC_NONNULL1 __attribute__((__nonnull__(1))) -#define XPC_NONNULL2 __attribute__((__nonnull__(2))) -#define XPC_NONNULL3 __attribute__((__nonnull__(3))) -#define XPC_NONNULL4 __attribute__((__nonnull__(4))) -#define XPC_NONNULL5 __attribute__((__nonnull__(5))) -#define XPC_NONNULL6 __attribute__((__nonnull__(6))) -#define XPC_NONNULL7 __attribute__((__nonnull__(7))) -#define XPC_NONNULL8 __attribute__((__nonnull__(8))) -#define XPC_NONNULL9 __attribute__((__nonnull__(9))) -#define XPC_NONNULL10 __attribute__((__nonnull__(10))) -#define XPC_NONNULL11 __attribute__((__nonnull__(11))) -#define XPC_NONNULL_ALL __attribute__((__nonnull__)) -#define XPC_SENTINEL __attribute__((__sentinel__)) -#define XPC_PURE __attribute__((__pure__)) -#define XPC_WARN_RESULT __attribute__((__warn_unused_result__)) -#define XPC_MALLOC __attribute__((__malloc__)) -#define XPC_UNUSED __attribute__((__unused__)) -#define XPC_USED __attribute__((__used__)) -#define XPC_PACKED __attribute__((__packed__)) -#define XPC_PRINTF(m, n) __attribute__((format(printf, m, n))) -#define XPC_INLINE static __inline__ __attribute__((__always_inline__)) -#define XPC_NOINLINE __attribute__((noinline)) -#define XPC_NOIMPL __attribute__((unavailable)) - -#if __has_attribute(noescape) -#define XPC_NOESCAPE __attribute__((__noescape__)) -#else -#define XPC_NOESCAPE -#endif - -#if __has_extension(attribute_unavailable_with_message) -#define XPC_UNAVAILABLE(m) __attribute__((unavailable(m))) -#else // __has_extension(attribute_unavailable_with_message) -#define XPC_UNAVAILABLE(m) XPC_NOIMPL -#endif // __has_extension(attribute_unavailable_with_message) - -#define XPC_EXPORT extern __attribute__((visibility("default"))) -#define XPC_NOEXPORT __attribute__((visibility("hidden"))) -#define XPC_WEAKIMPORT extern __attribute__((weak_import)) -#define XPC_DEBUGGER_EXCL XPC_NOEXPORT XPC_USED -#define XPC_TRANSPARENT_UNION __attribute__((transparent_union)) -#if __clang__ -#define XPC_DEPRECATED(m) __attribute__((deprecated(m))) -#else // __clang__ -#define XPC_DEPRECATED(m) __attribute__((deprecated)) -#endif // __clang -#ifndef XPC_TESTEXPORT -#define XPC_TESTEXPORT XPC_NOEXPORT -#endif // XPC_TESTEXPORT - -#if defined(__XPC_TEST__) && __XPC_TEST__ -#define XPC_TESTSTATIC -#define XPC_TESTEXTERN extern -#else // defined(__XPC_TEST__) && __XPC_TEST__ -#define XPC_TESTSTATIC static -#endif // defined(__XPC_TEST__) && __XPC_TEST__ - -#if __has_feature(objc_arc) -#define XPC_GIVES_REFERENCE __strong -#define XPC_UNRETAINED __unsafe_unretained -#define XPC_BRIDGE(xo) ((__bridge void *)(xo)) -#define XPC_BRIDGEREF_BEGIN(xo) ((__bridge_retained void *)(xo)) -#define XPC_BRIDGEREF_BEGIN_WITH_REF(xo) ((__bridge void *)(xo)) -#define XPC_BRIDGEREF_MIDDLE(xo) ((__bridge id)(xo)) -#define XPC_BRIDGEREF_END(xo) ((__bridge_transfer id)(xo)) -#else // __has_feature(objc_arc) -#define XPC_GIVES_REFERENCE -#define XPC_UNRETAINED -#define XPC_BRIDGE(xo) (xo) -#define XPC_BRIDGEREF_BEGIN(xo) (xo) -#define XPC_BRIDGEREF_BEGIN_WITH_REF(xo) (xo) -#define XPC_BRIDGEREF_MIDDLE(xo) (xo) -#define XPC_BRIDGEREF_END(xo) (xo) -#endif // __has_feature(objc_arc) - -#define _xpc_unreachable() __builtin_unreachable() -#else // __GNUC__ -/*! @parseOnly */ -#define XPC_CONSTRUCTOR -/*! @parseOnly */ -#define XPC_NORETURN -/*! @parseOnly */ -#define XPC_NOTHROW -/*! @parseOnly */ -#define XPC_NONNULL1 -/*! @parseOnly */ -#define XPC_NONNULL2 -/*! @parseOnly */ -#define XPC_NONNULL3 -/*! @parseOnly */ -#define XPC_NONNULL4 -/*! @parseOnly */ -#define XPC_NONNULL5 -/*! @parseOnly */ -#define XPC_NONNULL6 -/*! @parseOnly */ -#define XPC_NONNULL7 -/*! @parseOnly */ -#define XPC_NONNULL8 -/*! @parseOnly */ -#define XPC_NONNULL9 -/*! @parseOnly */ -#define XPC_NONNULL10 -/*! @parseOnly */ -#define XPC_NONNULL11 -/*! @parseOnly */ -#define XPC_NONNULL(n) -/*! @parseOnly */ -#define XPC_NONNULL_ALL -/*! @parseOnly */ -#define XPC_SENTINEL -/*! @parseOnly */ -#define XPC_PURE -/*! @parseOnly */ -#define XPC_WARN_RESULT -/*! @parseOnly */ -#define XPC_MALLOC -/*! @parseOnly */ -#define XPC_UNUSED -/*! @parseOnly */ -#define XPC_PACKED -/*! @parseOnly */ -#define XPC_PRINTF(m, n) -/*! @parseOnly */ -#define XPC_INLINE static inline -/*! @parseOnly */ -#define XPC_NOINLINE -/*! @parseOnly */ -#define XPC_NOIMPL -/*! @parseOnly */ -#define XPC_EXPORT extern -/*! @parseOnly */ -#define XPC_WEAKIMPORT -/*! @parseOnly */ -#define XPC_DEPRECATED -/*! @parseOnly */ -#define XPC_UNAVAILABLE(m) -/*! @parseOnly */ -#define XPC_NOESCAPE -#endif // __GNUC__ - -#if __has_feature(assume_nonnull) -#define XPC_ASSUME_NONNULL_BEGIN _Pragma("clang assume_nonnull begin") -#define XPC_ASSUME_NONNULL_END _Pragma("clang assume_nonnull end") -#else -#define XPC_ASSUME_NONNULL_BEGIN -#define XPC_ASSUME_NONNULL_END -#endif - -#if __has_feature(nullability_on_arrays) -#define XPC_NONNULL_ARRAY _Nonnull -#else -#define XPC_NONNULL_ARRAY -#endif - -#ifdef OS_CLOSED_OPTIONS -#define XPC_FLAGS_ENUM(_name, _type, ...) \ - OS_CLOSED_OPTIONS(_name, _type, __VA_ARGS__) -#else // OS_CLOSED_ENUM -#define XPC_FLAGS_ENUM(_name, _type, ...) \ - OS_ENUM(_name, _type, __VA_ARGS__) -#endif // OS_CLOSED_ENUM - -#ifdef OS_CLOSED_ENUM -#define XPC_ENUM(_name, _type, ...) \ - OS_CLOSED_ENUM(_name, _type, __VA_ARGS__) -#else // OS_CLOSED_ENUM -#define XPC_ENUM(_name, _type, ...) \ - OS_ENUM(_name, _type, __VA_ARGS__) -#endif // OS_CLOSED_ENUM - -__END_DECLS - -#endif // __XPC_BASE_H__ \ No newline at end of file diff --git a/lib/libc/include/any-macos.12-any/xpc/connection.h b/lib/libc/include/any-macos.12-any/xpc/connection.h deleted file mode 100644 index 01a8324fbf..0000000000 --- a/lib/libc/include/any-macos.12-any/xpc/connection.h +++ /dev/null @@ -1,794 +0,0 @@ -#ifndef __XPC_CONNECTION_H__ -#define __XPC_CONNECTION_H__ - -#ifndef __XPC_INDIRECT__ -#error "Please #include instead of this file directly." -// For HeaderDoc. -#include -#endif // __XPC_INDIRECT__ - -#ifndef __BLOCKS__ -#error "XPC connections require Blocks support." -#endif // __BLOCKS__ - -XPC_ASSUME_NONNULL_BEGIN -__BEGIN_DECLS - -/*! - * @constant XPC_ERROR_CONNECTION_INTERRUPTED - * Will be delivered to the connection's event handler if the remote service - * exited. The connection is still live even in this case, and resending a - * message will cause the service to be launched on-demand. This error serves - * as a client's indication that it should resynchronize any state that it had - * given the service. - * - * Any messages in the queue to be sent will be unwound and canceled when this - * error occurs. In the case where a message waiting to be sent has a reply - * handler, that handler will be invoked with this error. In the context of the - * reply handler, this error indicates that a reply to the message will never - * arrive. - * - * Messages that do not have reply handlers associated with them will be - * silently disposed of. This error will only be given to peer connections. - */ -#define XPC_ERROR_CONNECTION_INTERRUPTED \ - XPC_GLOBAL_OBJECT(_xpc_error_connection_interrupted) -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT -const struct _xpc_dictionary_s _xpc_error_connection_interrupted; - -/*! - * @constant XPC_ERROR_CONNECTION_INVALID - * Will be delivered to the connection's event handler if the named service - * provided to xpc_connection_create() could not be found in the XPC service - * namespace. The connection is useless and should be disposed of. - * - * Any messages in the queue to be sent will be unwound and canceled when this - * error occurs, similarly to the behavior when XPC_ERROR_CONNECTION_INTERRUPTED - * occurs. The only difference is that the XPC_ERROR_CONNECTION_INVALID will be - * given to outstanding reply handlers and the connection's event handler. - * - * This error may be given to any type of connection. - */ -#define XPC_ERROR_CONNECTION_INVALID \ - XPC_GLOBAL_OBJECT(_xpc_error_connection_invalid) -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT -const struct _xpc_dictionary_s _xpc_error_connection_invalid; - -/*! - * @constant XPC_ERROR_TERMINATION_IMMINENT - * On macOS, this error will be delivered to a peer connection's event handler - * when the XPC runtime has determined that the program should exit and that - * all outstanding transactions must be wound down, and no new transactions can - * be opened. - * - * After this error has been delivered to the event handler, no more messages - * will be received by the connection. The runtime will still attempt to deliver - * outgoing messages, but this error should be treated as an indication that - * the program will exit very soon, and any outstanding business over the - * connection should be wrapped up as quickly as possible and the connection - * canceled shortly thereafter. - * - * This error will only be delivered to peer connections received through a - * listener or the xpc_main() event handler. - */ -#define XPC_ERROR_TERMINATION_IMMINENT \ - XPC_GLOBAL_OBJECT(_xpc_error_termination_imminent) -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT -const struct _xpc_dictionary_s _xpc_error_termination_imminent; - -/*! - * @constant XPC_ERROR_PEER_CODE_SIGNING_REQUIREMENT - * On macOS, this error will be delivered to a peer connection's event handler - * when the XPC runtime has detected that a peer connection does not - * satisfy the code signing requirement specified for the connection. - * - * See {@link xpc_connection_set_peer_code_signing_requirement} - */ -#define XPC_ERROR_PEER_CODE_SIGNING_REQUIREMENT \ - XPC_GLOBAL_OBJECT(_xpc_error_peer_code_signing_requirement) -__API_AVAILABLE(macos(12.0)) -XPC_EXPORT -const struct _xpc_dictionary_s _xpc_error_peer_code_signing_requirement; - -/*! - * @constant XPC_CONNECTION_MACH_SERVICE_LISTENER - * Passed to xpc_connection_create_mach_service(). This flag indicates that the - * caller is the listener for the named service. This flag may only be passed - * for services which are advertised in the process' launchd.plist(5). You may - * not use this flag to dynamically add services to the Mach bootstrap - * namespace. - */ -#define XPC_CONNECTION_MACH_SERVICE_LISTENER (1 << 0) - -/*! - * @constant XPC_CONNECTION_MACH_SERVICE_PRIVILEGED - * Passed to xpc_connection_create_mach_service(). This flag indicates that the - * job advertising the service name in its launchd.plist(5) should be in the - * privileged Mach bootstrap. This is typically accomplished by placing your - * launchd.plist(5) in /Library/LaunchDaemons. If specified alongside the - * XPC_CONNECTION_MACH_SERVICE_LISTENER flag, this flag is a no-op. - */ -#define XPC_CONNECTION_MACH_SERVICE_PRIVILEGED (1 << 1) - -/*! - * @typedef xpc_finalizer_f - * A function that is invoked when a connection is being torn down and its - * context needs to be freed. The sole argument is the value that was given to - * {@link xpc_connection_set_context} or NULL if no context has been set. It is - * not safe to reference the connection from within this function. - * - * @param value - * The context object that is to be disposed of. - */ -typedef void (*xpc_finalizer_t)(void * _Nullable value); - -/*! - * @function xpc_connection_create - * Creates a new connection object. - * - * @param name - * If non-NULL, the name of the service with which to connect. The returned - * connection will be a peer. - * - * If NULL, an anonymous listener connection will be created. You can embed the - * ability to create new peer connections in an endpoint, which can be inserted - * into a message and sent to another process . - * - * @param targetq - * The GCD queue to which the event handler block will be submitted. This - * parameter may be NULL, in which case the connection's target queue will be - * libdispatch's default target queue, defined as DISPATCH_TARGET_QUEUE_DEFAULT. - * The target queue may be changed later with a call to - * xpc_connection_set_target_queue(). - * - * @result - * A new connection object. The caller is responsible for disposing of the - * returned object with {@link xpc_release} when it is no longer needed. - * - * @discussion - * This method will succeed even if the named service does not exist. This is - * because the XPC namespace is not queried for the service name until the - * connection has been activated. See {@link xpc_connection_activate()}. - * - * XPC connections, like dispatch sources, are returned in an inactive state, so - * you must call {@link xpc_connection_activate()} in order to begin receiving - * events from the connection. Also like dispatch sources, connections must be - * activated and not suspended in order to be safely released. It is - * a programming error to release an inactive or suspended connection. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_MALLOC XPC_RETURNS_RETAINED XPC_WARN_RESULT -xpc_connection_t -xpc_connection_create(const char * _Nullable name, - dispatch_queue_t _Nullable targetq); - -/*! - * @function xpc_connection_create_mach_service - * Creates a new connection object representing a Mach service. - * - * @param name - * The name of the remote service with which to connect. The service name must - * exist in a Mach bootstrap that is accessible to the process and be advertised - * in a launchd.plist. - * - * @param targetq - * The GCD queue to which the event handler block will be submitted. This - * parameter may be NULL, in which case the connection's target queue will be - * libdispatch's default target queue, defined as DISPATCH_TARGET_QUEUE_DEFAULT. - * The target queue may be changed later with a call to - * xpc_connection_set_target_queue(). - * - * @param flags - * Additional attributes with which to create the connection. - * - * @result - * A new connection object. - * - * @discussion - * If the XPC_CONNECTION_MACH_SERVICE_LISTENER flag is given to this method, - * then the connection returned will be a listener connection. Otherwise, a peer - * connection will be returned. See the documentation for - * {@link xpc_connection_set_event_handler()} for the semantics of listener - * connections versus peer connections. - * - * This method will succeed even if the named service does not exist. This is - * because the Mach namespace is not queried for the service name until the - * connection has been activated. See {@link xpc_connection_activate()}. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_MALLOC XPC_RETURNS_RETAINED XPC_WARN_RESULT XPC_NONNULL1 -xpc_connection_t -xpc_connection_create_mach_service(const char *name, - dispatch_queue_t _Nullable targetq, uint64_t flags); - -/*! - * @function xpc_connection_create_from_endpoint - * Creates a new connection from the given endpoint. - * - * @param endpoint - * The endpoint from which to create the new connection. - * - * @result - * A new peer connection to the listener represented by the given endpoint. - * - * The same responsibilities of setting an event handler and activating the - * connection after calling xpc_connection_create() apply to the connection - * returned by this API. Since the connection yielded by this API is not - * associated with a name (and therefore is not rediscoverable), this connection - * will receive XPC_ERROR_CONNECTION_INVALID if the listening side crashes, - * exits or cancels the listener connection. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_MALLOC XPC_RETURNS_RETAINED XPC_WARN_RESULT XPC_NONNULL_ALL -xpc_connection_t -xpc_connection_create_from_endpoint(xpc_endpoint_t endpoint); - -/*! - * @function xpc_connection_set_target_queue - * Sets the target queue of the given connection. - * - * @param connection - * The connection object which is to be manipulated. - * - * @param targetq - * The GCD queue to which the event handler block will be submitted. This - * parameter may be NULL, in which case the connection's target queue will be - * libdispatch's default target queue, defined as DISPATCH_TARGET_QUEUE_DEFAULT. - * - * @discussion - * Setting the target queue is asynchronous and non-preemptive and therefore - * this method will not interrupt the execution of an already-running event - * handler block. Setting the target queue may be likened to issuing a barrier - * to the connection which does the actual work of changing the target queue. - * - * The XPC runtime guarantees this non-preemptiveness even for concurrent target - * queues. If the target queue is a concurrent queue, then XPC still guarantees - * that there will never be more than one invocation of the connection's event - * handler block executing concurrently. If you wish to process events - * concurrently, you can dispatch_async(3) to a concurrent queue from within - * the event handler. - * - * IMPORTANT: When called from within the event handler block, - * dispatch_get_current_queue(3) is NOT guaranteed to return a pointer to the - * queue set with this method. - * - * Despite this seeming inconsistency, the XPC runtime guarantees that, when the - * target queue is a serial queue, the event handler block will execute - * synchonously with respect to other blocks submitted to that same queue. When - * the target queue is a concurrent queue, the event handler block may run - * concurrently with other blocks submitted to that queue, but it will never run - * concurrently with other invocations of itself for the same connection, as - * discussed previously. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_NONNULL1 -void -xpc_connection_set_target_queue(xpc_connection_t connection, - dispatch_queue_t _Nullable targetq); - -/*! - * @function xpc_connection_set_event_handler - * Sets the event handler block for the connection. - * - * @param connection - * The connection object which is to be manipulated. - * - * @param handler - * The event handler block. - * - * @discussion - * Setting the event handler is asynchronous and non-preemptive, and therefore - * this method will not interrupt the execution of an already-running event - * handler block. If the event handler is executing at the time of this call, it - * will finish, and then the connection's event handler will be changed before - * the next invocation of the event handler. The XPC runtime guarantees this - * non-preemptiveness even for concurrent target queues. - * - * Connection event handlers are non-reentrant, so it is safe to call - * xpc_connection_set_event_handler() from within the event handler block. - * - * The event handler's execution should be treated as a barrier to all - * connection activity. When it is executing, the connection will not attempt to - * send or receive messages, including reply messages. Thus, it is not safe to - * call xpc_connection_send_message_with_reply_sync() on the connection from - * within the event handler. - * - * You do not hold a reference on the object received as the event handler's - * only argument. Regardless of the type of object received, it is safe to call - * xpc_retain() on the object to obtain a reference to it. - * - * A connection may receive different events depending upon whether it is a - * listener or not. Any connection may receive an error in its event handler. - * But while normal connections may receive messages in addition to errors, - * listener connections will receive connections and and not messages. - * - * Connections received by listeners are equivalent to those returned by - * xpc_connection_create() with a non-NULL name argument and a NULL targetq - * argument with the exception that you do not hold a reference on them. - * You must set an event handler and activate the connection. If you do not wish - * to accept the connection, you may simply call xpc_connection_cancel() on it - * and return. The runtime will dispose of it for you. - * - * If there is an error in the connection, this handler will be invoked with the - * error dictionary as its argument. This dictionary will be one of the well- - * known XPC_ERROR_* dictionaries. - * - * Regardless of the type of event, ownership of the event object is NOT - * implicitly transferred. Thus, the object will be released and deallocated at - * some point in the future after the event handler returns. If you wish the - * event's lifetime to persist, you must retain it with xpc_retain(). - * - * Connections received through the event handler will be released and - * deallocated after the connection has gone invalid and delivered that event to - * its event handler. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_NONNULL_ALL -void -xpc_connection_set_event_handler(xpc_connection_t connection, - xpc_handler_t handler); - -/*! - * @function xpc_connection_activate - * Activates the connection. Connections start in an inactive state, so you must - * call xpc_connection_activate() on a connection before it will send or receive - * any messages. - * - * @param connection - * The connection object which is to be manipulated. - * - * @discussion - * Calling xpc_connection_activate() on an active connection has no effect. - * Releasing the last reference on an inactive connection that was created with - * an xpc_connection_create*() call is undefined. - * - * For backward compatibility reasons, xpc_connection_resume() on an inactive - * and not otherwise suspended xpc connection has the same effect as calling - * xpc_connection_activate(). For new code, using xpc_connection_activate() - * is preferred. - */ -__OSX_AVAILABLE(10.12) __IOS_AVAILABLE(10.0) -__TVOS_AVAILABLE(10.0) __WATCHOS_AVAILABLE(3.0) -XPC_EXPORT XPC_NONNULL_ALL -void -xpc_connection_activate(xpc_connection_t connection); - -/*! - * @function xpc_connection_suspend - * Suspends the connection so that the event handler block will not fire and - * that the connection will not attempt to send any messages it has in its - * queue. All calls to xpc_connection_suspend() must be balanced with calls to - * xpc_connection_resume() before releasing the last reference to the - * connection. - * - * @param connection - * The connection object which is to be manipulated. - * - * @discussion - * Suspension is asynchronous and non-preemptive, and therefore this method will - * not interrupt the execution of an already-running event handler block. If - * the event handler is executing at the time of this call, it will finish, and - * then the connection will be suspended before the next scheduled invocation - * of the event handler. The XPC runtime guarantees this non-preemptiveness even - * for concurrent target queues. - * - * Connection event handlers are non-reentrant, so it is safe to call - * xpc_connection_suspend() from within the event handler block. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_NONNULL_ALL -void -xpc_connection_suspend(xpc_connection_t connection); - -/*! - * @function xpc_connection_resume - * Resumes the connection. - * - * @param connection - * The connection object which is to be manipulated. - * - * @discussion - * In order for a connection to become live, every call to - * xpc_connection_suspend() must be balanced with a call to - * xpc_connection_resume(). - * - * For backward compatibility reasons, xpc_connection_resume() on an inactive - * and not otherwise suspended xpc connection has the same effect as calling - * xpc_connection_activate(). For new code, using xpc_connection_activate() - * is preferred. - * - * Calling xpc_connection_resume() more times than xpc_connection_suspend() - * has been called is otherwise considered an error. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_NONNULL_ALL -void -xpc_connection_resume(xpc_connection_t connection); - -/*! - * @function xpc_connection_send_message - * Sends a message over the connection to the destination service. - * - * @param connection - * The connection over which the message shall be sent. - * - * @param message - * The message to send. This must be a dictionary object. This dictionary is - * logically copied by the connection, so it is safe to modify the dictionary - * after this call. - * - * @discussion - * Messages are delivered in FIFO order. This API is safe to call from multiple - * GCD queues. There is no indication that a message was delivered successfully. - * This is because even once the message has been successfully enqueued on the - * remote end, there are no guarantees about when the runtime will dequeue the - * message and invoke the other connection's event handler block. - * - * If this API is used to send a message that is in reply to another message, - * there is no guarantee of ordering between the invocations of the connection's - * event handler and the reply handler for that message, even if they are - * targeted to the same queue. - * - * After extensive study, we have found that clients who are interested in - * the state of the message on the server end are typically holding open - * transactions related to that message. And the only reliable way to track the - * lifetime of that transaction is at the protocol layer. So the server should - * send a reply message, which upon receiving, will cause the client to close - * its transaction. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_NONNULL_ALL -void -xpc_connection_send_message(xpc_connection_t connection, xpc_object_t message); - -/*! - * @function xpc_connection_send_barrier - * Issues a barrier against the connection's message-send activity. - * - * @param connection - * The connection against which the barrier is to be issued. - * - * @param barrier - * The barrier block to issue. This barrier prevents concurrent message-send - * activity on the connection. No messages will be sent while the barrier block - * is executing. - * - * @discussion - * XPC guarantees that, even if the connection's target queue is a concurrent - * queue, there are no other messages being sent concurrently while the barrier - * block is executing. XPC does not guarantee that the receipt of messages - * (either through the connection's event handler or through reply handlers) - * will be suspended while the barrier is executing. - * - * A barrier is issued relative to the message-send queue. Thus, if you call - * xpc_connection_send_message() five times and then call - * xpc_connection_send_barrier(), the barrier will be invoked after the fifth - * message has been sent and its memory disposed of. You may safely cancel a - * connection from within a barrier block. - * - * If a barrier is issued after sending a message which expects a reply, the - * behavior is the same as described above. The receipt of a reply message will - * not influence when the barrier runs. - * - * A barrier block can be useful for throttling resource consumption on the - * connected side of a connection. For example, if your connection sends many - * large messages, you can use a barrier to limit the number of messages that - * are inflight at any given time. This can be particularly useful for messages - * that contain kernel resources (like file descriptors) which have a system- - * wide limit. - * - * If a barrier is issued on a canceled connection, it will be invoked - * immediately. If a connection has been canceled and still has outstanding - * barriers, those barriers will be invoked as part of the connection's - * unwinding process. - * - * It is important to note that a barrier block's execution order is not - * guaranteed with respect to other blocks that have been scheduled on the - * target queue of the connection. Or said differently, - * xpc_connection_send_barrier(3) is not equivalent to dispatch_async(3). - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_NONNULL_ALL -void -xpc_connection_send_barrier(xpc_connection_t connection, - dispatch_block_t barrier); - -/*! - * @function xpc_connection_send_message_with_reply - * Sends a message over the connection to the destination service and associates - * a handler to be invoked when the remote service sends a reply message. - * - * @param connection - * The connection over which the message shall be sent. - * - * @param message - * The message to send. This must be a dictionary object. - * - * @param replyq - * The GCD queue to which the reply handler will be submitted. This may be a - * concurrent queue. - * - * @param handler - * The handler block to invoke when a reply to the message is received from - * the connection. If the remote service exits prematurely before the reply was - * received, the XPC_ERROR_CONNECTION_INTERRUPTED error will be returned. - * If the connection went invalid before the message could be sent, the - * XPC_ERROR_CONNECTION_INVALID error will be returned. - * - * @discussion - * If the given GCD queue is a concurrent queue, XPC cannot guarantee that there - * will not be multiple reply handlers being invoked concurrently. XPC does not - * guarantee any ordering for the invocation of reply handers. So if multiple - * messages are waiting for replies and the connection goes invalid, there is no - * guarantee that the reply handlers will be invoked in FIFO order. Similarly, - * XPC does not guarantee that reply handlers will not run concurrently with - * the connection's event handler in the case that the reply queue and the - * connection's target queue are the same concurrent queue. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_NONNULL1 XPC_NONNULL2 XPC_NONNULL4 -void -xpc_connection_send_message_with_reply(xpc_connection_t connection, - xpc_object_t message, dispatch_queue_t _Nullable replyq, - xpc_handler_t handler); - -/*! - * @function xpc_connection_send_message_with_reply_sync - * Sends a message over the connection and blocks the caller until a reply is - * received. - * - * @param connection - * The connection over which the message shall be sent. - * - * @param message - * The message to send. This must be a dictionary object. - * - * @result - * The message that the remote service sent in reply to the original message. - * If the remote service exits prematurely before the reply was received, the - * XPC_ERROR_CONNECTION_INTERRUPTED error will be returned. If the connection - * went invalid before the message could be sent, the - * XPC_ERROR_CONNECTION_INVALID error will be returned. - * - * You are responsible for releasing the returned object. - * - * @discussion - * This API supports priority inversion avoidance, and should be used instead of - * combining xpc_connection_send_message_with_reply() with a semaphore. - * - * Invoking this API from a queue that is a part of the target queue hierarchy - * results in deadlocks under certain conditions. - * - * Be judicious about your use of this API. It can block indefinitely, so if you - * are using it to implement an API that can be called from the main thread, you - * may wish to consider allowing the API to take a queue and callback block so - * that results may be delivered asynchronously if possible. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_NONNULL_ALL XPC_WARN_RESULT XPC_RETURNS_RETAINED -xpc_object_t -xpc_connection_send_message_with_reply_sync(xpc_connection_t connection, - xpc_object_t message); - -/*! - * @function xpc_connection_cancel - * Cancels the connection and ensures that its event handler will not fire - * again. After this call, any messages that have not yet been sent will be - * discarded, and the connection will be unwound. If there are messages that are - * awaiting replies, they will have their reply handlers invoked with the - * XPC_ERROR_CONNECTION_INVALID error. - * - * @param connection - * The connection object which is to be manipulated. - * - * @discussion - * Cancellation is asynchronous and non-preemptive and therefore this method - * will not interrupt the execution of an already-running event handler block. - * If the event handler is executing at the time of this call, it will finish, - * and then the connection will be canceled, causing a final invocation of the - * event handler to be scheduled with the XPC_ERROR_CONNECTION_INVALID error. - * After that invocation, there will be no further invocations of the event - * handler. - * - * The XPC runtime guarantees this non-preemptiveness even for concurrent target - * queues. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_NONNULL_ALL -void -xpc_connection_cancel(xpc_connection_t connection); - -/*! - * @function xpc_connection_get_name - * Returns the name of the service with which the connections was created. - * - * @param connection - * The connection object which is to be examined. - * - * @result - * The name of the remote service. If you obtained the connection through an - * invocation of another connection's event handler, NULL is returned. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_NONNULL_ALL XPC_WARN_RESULT -const char * _Nullable -xpc_connection_get_name(xpc_connection_t connection); - -/*! - * @function xpc_connection_get_euid - * Returns the EUID of the remote peer. - * - * @param connection - * The connection object which is to be examined. - * - * @result - * The EUID of the remote peer at the time the connection was made. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_NONNULL_ALL XPC_WARN_RESULT -uid_t -xpc_connection_get_euid(xpc_connection_t connection); - -/*! - * @function xpc_connection_get_egid - * Returns the EGID of the remote peer. - * - * @param connection - * The connection object which is to be examined. - * - * @result - * The EGID of the remote peer at the time the connection was made. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_NONNULL_ALL XPC_WARN_RESULT -gid_t -xpc_connection_get_egid(xpc_connection_t connection); - -/*! - * @function xpc_connection_get_pid - * Returns the PID of the remote peer. - * - * @param connection - * The connection object which is to be examined. - * - * @result - * The PID of the remote peer. - * - * @discussion - * A given PID is not guaranteed to be unique across an entire boot cycle. - * Great care should be taken when dealing with this information, as it can go - * stale after the connection is established. OS X recycles PIDs, and therefore - * another process could spawn and claim the PID before a message is actually - * received from the connection. - * - * XPC will deliver an error to your event handler if the remote process goes - * away, but there are no guarantees as to the timing of this notification's - * delivery either at the kernel layer or at the XPC layer. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_NONNULL_ALL XPC_WARN_RESULT -pid_t -xpc_connection_get_pid(xpc_connection_t connection); - -/*! - * @function xpc_connection_get_asid - * Returns the audit session identifier of the remote peer. - * - * @param connection - * The connection object which is to be examined. - * - * @result - * The audit session ID of the remote peer at the time the connection was made. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_NONNULL_ALL XPC_WARN_RESULT -au_asid_t -xpc_connection_get_asid(xpc_connection_t connection); - -/*! - * @function xpc_connection_set_context - * Sets context on an connection. - * - * @param connection - * The connection which is to be manipulated. - * - * @param context - * The context to associate with the connection. - * - * @discussion - * If you must manage the memory of the context object, you must set a finalizer - * to dispose of it. If this method is called on a connection which already has - * context associated with it, the finalizer will NOT be invoked. The finalizer - * is only invoked when the connection is being deallocated. - * - * It is recommended that, instead of changing the actual context pointer - * associated with the object, you instead change the state of the context - * object itself. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_NONNULL1 -void -xpc_connection_set_context(xpc_connection_t connection, - void * _Nullable context); - -/*! - * @function xpc_connection_get_context - * Returns the context associated with the connection. - * - * @param connection - * The connection which is to be examined. - * - * @result - * The context associated with the connection. NULL if there has been no context - * associated with the object. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_NONNULL_ALL XPC_WARN_RESULT -void * _Nullable -xpc_connection_get_context(xpc_connection_t connection); - -/*! - * @function xpc_connection_set_finalizer_f - * Sets the finalizer for the given connection. - * - * @param connection - * The connection on which to set the finalizer. - * - * @param finalizer - * The function that will be invoked when the connection's retain count has - * dropped to zero and is being torn down. - * - * @discussion - * This method disposes of the context value associated with a connection, as - * set by {@link xpc_connection_set_context}. - * - * For many uses of context objects, this API allows for a convenient shorthand - * for freeing them. For example, for a context object allocated with malloc(3): - * - * xpc_connection_set_finalizer_f(object, free); - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_NONNULL1 -void -xpc_connection_set_finalizer_f(xpc_connection_t connection, - xpc_finalizer_t _Nullable finalizer); - -/*! - * @function xpc_connection_set_peer_code_signing_requirement - * Requires that the connection peer satisfies a code signing requirement. - * - * @param connection - * The connection object which is to be modified. - * - * @param requirement - * The code signing requirement to be satisfied by the peer - * It is safe to deallocate the requirement string after calling `xpc_connection_set_peer_code_signing_requirement` - * - * @result - * 0 on success, non-zero on error - * - * @discussion - * This function will return an error promptly if the code signing requirement string is invalid. - * - * It is a programming error to call `xpc_connection_set_peer_code_signing_requirement` more than once per connection. - * - * All messages received on this connection will be checked to ensure they come from a peer who satisfies - * the code signing requirement. For a listener connection, requests that do not satisfy the requirement - * are dropped. When a reply is expected on the connection and the peer does not satisfy the requirement - * XPC_ERROR_PEER_CODE_SIGNING_REQUIREMENT will be delivered instead of the reply. - * - * @see https://developer.apple.com/library/archive/documentation/Security/Conceptual/CodeSigningGuide/RequirementLang/RequirementLang.html - */ -__API_AVAILABLE(macos(12.0)) -XPC_EXPORT XPC_NONNULL_ALL XPC_WARN_RESULT -int -xpc_connection_set_peer_code_signing_requirement(xpc_connection_t connection, const char *requirement); - - -__END_DECLS -XPC_ASSUME_NONNULL_END - -#endif // __XPC_CONNECTION_H__ \ No newline at end of file diff --git a/lib/libc/include/any-macos.13-any/Availability.h b/lib/libc/include/any-macos.13-any/Availability.h deleted file mode 100644 index 2780aa571f..0000000000 --- a/lib/libc/include/any-macos.13-any/Availability.h +++ /dev/null @@ -1,514 +0,0 @@ -/* - * Copyright (c) 2007-2016 by 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 __AVAILABILITY__ -#define __AVAILABILITY__ - /* - 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. - - The desktop Mac OS X and iOS each have different version numbers. - The __OSX_AVAILABLE_STARTING() macro allows you to specify both the desktop - and iOS version numbers. For instance: - __OSX_AVAILABLE_STARTING(__MAC_10_2,__IPHONE_2_0) - means the function/method was first available on Mac OS X 10.2 on the desktop - and first available in iOS 2.0 on the iPhone. - - If a function is available on one platform, but not the other a _NA (not - applicable) parameter is used. For instance: - __OSX_AVAILABLE_STARTING(__MAC_10_3,__IPHONE_NA) - means that the function/method was first available on Mac OS X 10.3, and it - currently not implemented on the iPhone. - - At some point, a function/method may be deprecated. That means Apple - recommends applications stop using the function, either because there is a - better replacement or the functionality is being phased out. Deprecated - functions/methods can be tagged with a __OSX_AVAILABLE_BUT_DEPRECATED() - macro which specifies the OS version where the function became available - as well as the OS version in which it became deprecated. For instance: - __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0,__MAC_10_5,__IPHONE_NA,__IPHONE_NA) - means that the function/method was introduced in Mac OS X 10.0, then - became deprecated beginning in Mac OS X 10.5. On iOS the function - has never been available. - - For these macros to function properly, a program must specify the OS version range - it is targeting. The min OS version is specified as an option to the compiler: - -mmacosx-version-min=10.x when building for Mac OS X, and -miphoneos-version-min=y.z - when building for the iPhone. The upper bound for the OS version is rarely needed, - but it can be set on the command line via: -D__MAC_OS_X_VERSION_MAX_ALLOWED=10x0 for - Mac OS X and __IPHONE_OS_VERSION_MAX_ALLOWED = y0z00 for iOS. - - Examples: - - A function available in Mac OS X 10.5 and later, but not on the phone: - - extern void mymacfunc() __OSX_AVAILABLE_STARTING(__MAC_10_5,__IPHONE_NA); - - - An Objective-C method in Mac OS X 10.5 and later, but not on the phone: - - @interface MyClass : NSObject - -(void) mymacmethod __OSX_AVAILABLE_STARTING(__MAC_10_5,__IPHONE_NA); - @end - - - An enum available on the phone, but not available on Mac OS X: - - #if __IPHONE_OS_VERSION_MIN_REQUIRED - enum { myEnum = 1 }; - #endif - Note: this works when targeting the Mac OS X platform because - __IPHONE_OS_VERSION_MIN_REQUIRED is undefined which evaluates to zero. - - - An enum with values added in different iPhoneOS versions: - - enum { - myX = 1, // Usable on iPhoneOS 2.1 and later - myY = 2, // Usable on iPhoneOS 3.0 and later - myZ = 3, // Usable on iPhoneOS 3.0 and later - ... - Note: you do not want to use #if with enumeration values - when a client needs to see all values at compile time - and use runtime logic to only use the viable values. - - - It is also possible to use the *_VERSION_MIN_REQUIRED in source code to make one - source base that can be compiled to target a range of OS versions. It is best - to not use the _MAC_* and __IPHONE_* macros for comparisons, but rather their values. - That is because you might get compiled on an old OS that does not define a later - OS version macro, and in the C preprocessor undefined values evaluate to zero - in expresssions, which could cause the #if expression to evaluate in an unexpected - way. - - #ifdef __MAC_OS_X_VERSION_MIN_REQUIRED - // code only compiled when targeting Mac OS X and not iPhone - // note use of 1050 instead of __MAC_10_5 - #if __MAC_OS_X_VERSION_MIN_REQUIRED < 1050 - // code in here might run on pre-Leopard OS - #else - // code here can assume Leopard or later - #endif - #endif - - -*/ - -/* - * __API_TO_BE_DEPRECATED is used as a version number in API that will be deprecated - * in an upcoming release. This soft deprecation is an intermediate step before formal - * deprecation to notify developers about the API before compiler warnings are generated. - * You can find all places in your code that use soft deprecated API by redefining the - * value of this macro to your current minimum deployment target, for example: - * (macOS) - * clang -D__API_TO_BE_DEPRECATED=10.12 - * (iOS) - * clang -D__API_TO_BE_DEPRECATED=11.0 - */ - -#ifndef __API_TO_BE_DEPRECATED -#define __API_TO_BE_DEPRECATED 100000 -#endif - -#ifndef __API_TO_BE_DEPRECATED_MACOS -#define __API_TO_BE_DEPRECATED_MACOS 100000 -#endif - -#ifndef __API_TO_BE_DEPRECATED_IOS -#define __API_TO_BE_DEPRECATED_IOS 100000 -#endif - -#ifndef __API_TO_BE_DEPRECATED_TVOS -#define __API_TO_BE_DEPRECATED_TVOS 100000 -#endif - -#ifndef __API_TO_BE_DEPRECATED_WATCHOS -#define __API_TO_BE_DEPRECATED_WATCHOS 100000 -#endif - -#ifndef __API_TO_BE_DEPRECATED_BRIDGEOS - -#endif - -#ifndef __API_TO_BE_DEPRECATED_MACCATALYST -#define __API_TO_BE_DEPRECATED_MACCATALYST 100000 -#endif - -#ifndef __API_TO_BE_DEPRECATED_DRIVERKIT -#define __API_TO_BE_DEPRECATED_DRIVERKIT 100000 -#endif - - - -#include -#include - -#ifdef __IPHONE_OS_VERSION_MIN_REQUIRED - #define __OSX_AVAILABLE_STARTING(_osx, _ios) __AVAILABILITY_INTERNAL##_ios - #define __OSX_AVAILABLE_BUT_DEPRECATED(_osxIntro, _osxDep, _iosIntro, _iosDep) \ - __AVAILABILITY_INTERNAL##_iosIntro##_DEP##_iosDep - #define __OSX_AVAILABLE_BUT_DEPRECATED_MSG(_osxIntro, _osxDep, _iosIntro, _iosDep, _msg) \ - __AVAILABILITY_INTERNAL##_iosIntro##_DEP##_iosDep##_MSG(_msg) - -#elif defined(__MAC_OS_X_VERSION_MIN_REQUIRED) - - #if defined(__has_builtin) - #if __has_builtin(__is_target_arch) - #if __has_builtin(__is_target_vendor) - #if __has_builtin(__is_target_os) - #if __has_builtin(__is_target_environment) - #if __has_builtin(__is_target_variant_os) - #if __has_builtin(__is_target_variant_environment) - #if (__is_target_arch(x86_64) && __is_target_vendor(apple) && ((__is_target_os(ios) && __is_target_environment(macabi)) || (__is_target_variant_os(ios) && __is_target_variant_environment(macabi)))) - #define __OSX_AVAILABLE_STARTING(_osx, _ios) __AVAILABILITY_INTERNAL##_osx __AVAILABILITY_INTERNAL##_ios - #define __OSX_AVAILABLE_BUT_DEPRECATED(_osxIntro, _osxDep, _iosIntro, _iosDep) \ - __AVAILABILITY_INTERNAL##_osxIntro##_DEP##_osxDep __AVAILABILITY_INTERNAL##_iosIntro##_DEP##_iosDep - #define __OSX_AVAILABLE_BUT_DEPRECATED_MSG(_osxIntro, _osxDep, _iosIntro, _iosDep, _msg) \ - __AVAILABILITY_INTERNAL##_osxIntro##_DEP##_osxDep##_MSG(_msg) __AVAILABILITY_INTERNAL##_iosIntro##_DEP##_iosDep##_MSG(_msg) - #endif /* # if __is_target_arch... */ - #endif /* #if __has_builtin(__is_target_variant_environment) */ - #endif /* #if __has_builtin(__is_target_variant_os) */ - #endif /* #if __has_builtin(__is_target_environment) */ - #endif /* #if __has_builtin(__is_target_os) */ - #endif /* #if __has_builtin(__is_target_vendor) */ - #endif /* #if __has_builtin(__is_target_arch) */ - #endif /* #if defined(__has_builtin) */ - - #ifndef __OSX_AVAILABLE_STARTING - #if defined(__has_attribute) && defined(__has_feature) - #if __has_attribute(availability) - #define __OSX_AVAILABLE_STARTING(_osx, _ios) __AVAILABILITY_INTERNAL##_osx - #define __OSX_AVAILABLE_BUT_DEPRECATED(_osxIntro, _osxDep, _iosIntro, _iosDep) \ - __AVAILABILITY_INTERNAL##_osxIntro##_DEP##_osxDep - #define __OSX_AVAILABLE_BUT_DEPRECATED_MSG(_osxIntro, _osxDep, _iosIntro, _iosDep, _msg) \ - __AVAILABILITY_INTERNAL##_osxIntro##_DEP##_osxDep##_MSG(_msg) - #else - #define __OSX_AVAILABLE_STARTING(_osx, _ios) - #define __OSX_AVAILABLE_BUT_DEPRECATED(_osxIntro, _osxDep, _iosIntro, _iosDep) - #define __OSX_AVAILABLE_BUT_DEPRECATED_MSG(_osxIntro, _osxDep, _iosIntro, _iosDep, _msg) - #endif - #else - #define __OSX_AVAILABLE_STARTING(_osx, _ios) - #define __OSX_AVAILABLE_BUT_DEPRECATED(_osxIntro, _osxDep, _iosIntro, _iosDep) - #define __OSX_AVAILABLE_BUT_DEPRECATED_MSG(_osxIntro, _osxDep, _iosIntro, _iosDep, _msg) - #endif -#endif /* __OSX_AVAILABLE_STARTING */ - -#else - #define __OSX_AVAILABLE_STARTING(_osx, _ios) - #define __OSX_AVAILABLE_BUT_DEPRECATED(_osxIntro, _osxDep, _iosIntro, _iosDep) - #define __OSX_AVAILABLE_BUT_DEPRECATED_MSG(_osxIntro, _osxDep, _iosIntro, _iosDep, _msg) -#endif - - -#if defined(__has_feature) - #if __has_feature(attribute_availability_with_message) - #define __OS_AVAILABILITY(_target, _availability) __attribute__((availability(_target,_availability))) - #define __OS_AVAILABILITY_MSG(_target, _availability, _msg) __attribute__((availability(_target,_availability,message=_msg))) - #elif __has_feature(attribute_availability) - #define __OS_AVAILABILITY(_target, _availability) __attribute__((availability(_target,_availability))) - #define __OS_AVAILABILITY_MSG(_target, _availability, _msg) __attribute__((availability(_target,_availability))) - #else - #define __OS_AVAILABILITY(_target, _availability) - #define __OS_AVAILABILITY_MSG(_target, _availability, _msg) - #endif -#else - #define __OS_AVAILABILITY(_target, _availability) - #define __OS_AVAILABILITY_MSG(_target, _availability, _msg) -#endif - - -/* for use to document app extension usage */ -#if defined(__has_feature) - #if __has_feature(attribute_availability_app_extension) - #define __OSX_EXTENSION_UNAVAILABLE(_msg) __OS_AVAILABILITY_MSG(macosx_app_extension,unavailable,_msg) - #define __IOS_EXTENSION_UNAVAILABLE(_msg) __OS_AVAILABILITY_MSG(ios_app_extension,unavailable,_msg) - #else - #define __OSX_EXTENSION_UNAVAILABLE(_msg) - #define __IOS_EXTENSION_UNAVAILABLE(_msg) - #endif -#else - #define __OSX_EXTENSION_UNAVAILABLE(_msg) - #define __IOS_EXTENSION_UNAVAILABLE(_msg) -#endif - -#define __OS_EXTENSION_UNAVAILABLE(_msg) __OSX_EXTENSION_UNAVAILABLE(_msg) __IOS_EXTENSION_UNAVAILABLE(_msg) - - - -/* for use marking APIs available info for Mac OSX */ -#if defined(__has_attribute) - #if __has_attribute(availability) - #define __OSX_UNAVAILABLE __OS_AVAILABILITY(macosx,unavailable) - #define __OSX_AVAILABLE(_vers) __OS_AVAILABILITY(macosx,introduced=_vers) - #define __OSX_DEPRECATED(_start, _dep, _msg) __OSX_AVAILABLE(_start) __OS_AVAILABILITY_MSG(macosx,deprecated=_dep,_msg) - #endif -#endif - -#ifndef __OSX_UNAVAILABLE - #define __OSX_UNAVAILABLE -#endif - -#ifndef __OSX_AVAILABLE - #define __OSX_AVAILABLE(_vers) -#endif - -#ifndef __OSX_DEPRECATED - #define __OSX_DEPRECATED(_start, _dep, _msg) -#endif - - -/* for use marking APIs available info for iOS */ -#if defined(__has_attribute) - #if __has_attribute(availability) - #define __IOS_UNAVAILABLE __OS_AVAILABILITY(ios,unavailable) - #define __IOS_PROHIBITED __OS_AVAILABILITY(ios,unavailable) - #define __IOS_AVAILABLE(_vers) __OS_AVAILABILITY(ios,introduced=_vers) - #define __IOS_DEPRECATED(_start, _dep, _msg) __IOS_AVAILABLE(_start) __OS_AVAILABILITY_MSG(ios,deprecated=_dep,_msg) - #endif -#endif - -#ifndef __IOS_UNAVAILABLE - #define __IOS_UNAVAILABLE -#endif - -#ifndef __IOS_PROHIBITED - #define __IOS_PROHIBITED -#endif - -#ifndef __IOS_AVAILABLE - #define __IOS_AVAILABLE(_vers) -#endif - -#ifndef __IOS_DEPRECATED - #define __IOS_DEPRECATED(_start, _dep, _msg) -#endif - - -/* for use marking APIs available info for tvOS */ -#if defined(__has_feature) - #if __has_feature(attribute_availability_tvos) - #define __TVOS_UNAVAILABLE __OS_AVAILABILITY(tvos,unavailable) - #define __TVOS_PROHIBITED __OS_AVAILABILITY(tvos,unavailable) - #define __TVOS_AVAILABLE(_vers) __OS_AVAILABILITY(tvos,introduced=_vers) - #define __TVOS_DEPRECATED(_start, _dep, _msg) __TVOS_AVAILABLE(_start) __OS_AVAILABILITY_MSG(tvos,deprecated=_dep,_msg) - #endif -#endif - -#ifndef __TVOS_UNAVAILABLE - #define __TVOS_UNAVAILABLE -#endif - -#ifndef __TVOS_PROHIBITED - #define __TVOS_PROHIBITED -#endif - -#ifndef __TVOS_AVAILABLE - #define __TVOS_AVAILABLE(_vers) -#endif - -#ifndef __TVOS_DEPRECATED - #define __TVOS_DEPRECATED(_start, _dep, _msg) -#endif - - -/* for use marking APIs available info for Watch OS */ -#if defined(__has_feature) - #if __has_feature(attribute_availability_watchos) - #define __WATCHOS_UNAVAILABLE __OS_AVAILABILITY(watchos,unavailable) - #define __WATCHOS_PROHIBITED __OS_AVAILABILITY(watchos,unavailable) - #define __WATCHOS_AVAILABLE(_vers) __OS_AVAILABILITY(watchos,introduced=_vers) - #define __WATCHOS_DEPRECATED(_start, _dep, _msg) __WATCHOS_AVAILABLE(_start) __OS_AVAILABILITY_MSG(watchos,deprecated=_dep,_msg) - #endif -#endif - -#ifndef __WATCHOS_UNAVAILABLE - #define __WATCHOS_UNAVAILABLE -#endif - -#ifndef __WATCHOS_PROHIBITED - #define __WATCHOS_PROHIBITED -#endif - -#ifndef __WATCHOS_AVAILABLE - #define __WATCHOS_AVAILABLE(_vers) -#endif - -#ifndef __WATCHOS_DEPRECATED - #define __WATCHOS_DEPRECATED(_start, _dep, _msg) -#endif - - - - -/* for use marking APIs unavailable for swift */ -#if defined(__has_feature) - #if __has_feature(attribute_availability_swift) - #define __SWIFT_UNAVAILABLE __OS_AVAILABILITY(swift,unavailable) - #define __SWIFT_UNAVAILABLE_MSG(_msg) __OS_AVAILABILITY_MSG(swift,unavailable,_msg) - #endif -#endif - -#ifndef __SWIFT_UNAVAILABLE - #define __SWIFT_UNAVAILABLE -#endif - -#ifndef __SWIFT_UNAVAILABLE_MSG - #define __SWIFT_UNAVAILABLE_MSG(_msg) -#endif - -/* - Macros for defining which versions/platform a given symbol can be used. - - @see http://clang.llvm.org/docs/AttributeReference.html#availability - - * Note that these macros are only compatible with clang compilers that - * support the following target selection options: - * - * -mmacosx-version-min - * -miphoneos-version-min - * -mwatchos-version-min - * -mtvos-version-min - */ - -#if defined(__has_feature) && defined(__has_attribute) - #if __has_attribute(availability) - - /* - * API Introductions - * - * Use to specify the release that a particular API became available. - * - * Platform names: - * macos, ios, tvos, watchos - * - * 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, 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, 0)(__VA_ARGS__) - #define __API_AVAILABLE_END _Pragma("clang attribute pop") - - /* - * API Deprecations - * - * Use to specify the release that a particular API became unavailable. - * - * Platform names: - * macos, ios, tvos, watchos - * - * 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_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_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, 0)(__VA_ARGS__) - #define __API_DEPRECATED_WITH_REPLACEMENT(...) __API_DEPRECATED_REP_GET_MACRO(__VA_ARGS__,__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, 0)(__VA_ARGS__) - - #define __API_DEPRECATED_BEGIN(...) _Pragma("clang attribute push") __API_DEPRECATED_BEGIN_MSG_GET_MACRO(__VA_ARGS__,__API_DEPRECATED_BEGIN_MSG9, __API_DEPRECATED_BEGIN_MSG8,__API_DEPRECATED_BEGIN_MSG7, __API_DEPRECATED_BEGIN_MSG6, __API_DEPRECATED_BEGIN_MSG5, __API_DEPRECATED_BEGIN_MSG4, __API_DEPRECATED_BEGIN_MSG3, __API_DEPRECATED_BEGIN_MSG2, __API_DEPRECATED_BEGIN_MSG1, 0)(__VA_ARGS__) - #define __API_DEPRECATED_END _Pragma("clang attribute pop") - - #define __API_DEPRECATED_WITH_REPLACEMENT_BEGIN(...) _Pragma("clang attribute push") __API_DEPRECATED_BEGIN_REP_GET_MACRO(__VA_ARGS__,__API_DEPRECATED_BEGIN_REP9, __API_DEPRECATED_BEGIN_REP8,__API_DEPRECATED_BEGIN_REP7, __API_DEPRECATED_BEGIN_REP6, __API_DEPRECATED_BEGIN_REP5, __API_DEPRECATED_BEGIN_REP4, __API_DEPRECATED_BEGIN_REP3, __API_DEPRECATED_BEGIN_REP2, __API_DEPRECATED_BEGIN_REP1, 0)(__VA_ARGS__) - #define __API_DEPRECATED_WITH_REPLACEMENT_END _Pragma("clang attribute pop") - - /* - * API Unavailability - * Use to specify that an API is unavailable for a particular platform. - * - * Example: - * __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, 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, 0)(__VA_ARGS__) - #define __API_UNAVAILABLE_END _Pragma("clang attribute pop") - #else - - /* - * Evaluate to nothing for compilers that don't support availability. - */ - - #define __API_AVAILABLE(...) - #define __API_AVAILABLE_BEGIN(...) - #define __API_AVAILABLE_END - #define __API_DEPRECATED(...) - #define __API_DEPRECATED_WITH_REPLACEMENT(...) - #define __API_DEPRECATED_BEGIN(...) - #define __API_DEPRECATED_END - #define __API_DEPRECATED_WITH_REPLACEMENT_BEGIN(...) - #define __API_DEPRECATED_WITH_REPLACEMENT_END - #define __API_UNAVAILABLE(...) - #define __API_UNAVAILABLE_BEGIN(...) - #define __API_UNAVAILABLE_END - #endif /* __has_attribute(availability) */ -#else - - /* - * Evaluate to nothing for compilers that don't support clang language extensions. - */ - - #define __API_AVAILABLE(...) - #define __API_AVAILABLE_BEGIN(...) - #define __API_AVAILABLE_END - #define __API_DEPRECATED(...) - #define __API_DEPRECATED_WITH_REPLACEMENT(...) - #define __API_DEPRECATED_BEGIN(...) - #define __API_DEPRECATED_END - #define __API_DEPRECATED_WITH_REPLACEMENT_BEGIN(...) - #define __API_DEPRECATED_WITH_REPLACEMENT_END - #define __API_UNAVAILABLE(...) - #define __API_UNAVAILABLE_BEGIN(...) - #define __API_UNAVAILABLE_END -#endif /* #if defined(__has_feature) && defined(__has_attribute) */ - -#if __has_include() - #include -#endif - -/* - * If SPI decorations have not been defined elsewhere, disable them. - */ - -#ifndef __SPI_AVAILABLE - #define __SPI_AVAILABLE(...) -#endif - -#ifndef __SPI_DEPRECATED - #define __SPI_DEPRECATED(...) -#endif - -#ifndef __SPI_DEPRECATED_WITH_REPLACEMENT - #define __SPI_DEPRECATED_WITH_REPLACEMENT(...) -#endif - -#endif /* __AVAILABILITY__ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.13-any/AvailabilityInternal.h b/lib/libc/include/any-macos.13-any/AvailabilityInternal.h deleted file mode 100644 index 854942b98c..0000000000 --- a/lib/libc/include/any-macos.13-any/AvailabilityInternal.h +++ /dev/null @@ -1,4687 +0,0 @@ -/* - * Copyright (c) 2007-2016 by 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@ - */ - -/* - File: AvailabilityInternal.h - - Contains: implementation details of __OSX_AVAILABLE_* macros from - -*/ -#ifndef __AVAILABILITY_INTERNAL__ -#define __AVAILABILITY_INTERNAL__ - -#if __has_include() - #include -#endif - -#ifndef __MAC_OS_X_VERSION_MIN_REQUIRED - #ifdef __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ - /* compiler for Mac OS X sets __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ */ - #define __MAC_OS_X_VERSION_MIN_REQUIRED __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ - #endif -#endif /* __MAC_OS_X_VERSION_MIN_REQUIRED*/ - -#ifndef __IPHONE_OS_VERSION_MIN_REQUIRED - #ifdef __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ - /* compiler sets __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ when -miphoneos-version-min is used */ - #define __IPHONE_OS_VERSION_MIN_REQUIRED __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ - /* set to 1 when RC_FALLBACK_PLATFORM=iphoneos */ - #elif 0 - #define __IPHONE_OS_VERSION_MIN_REQUIRED 0 - #endif -#endif /* __IPHONE_OS_VERSION_MIN_REQUIRED */ - -#ifndef __TV_OS_VERSION_MIN_REQUIRED - #ifdef __ENVIRONMENT_TV_OS_VERSION_MIN_REQUIRED__ - /* compiler sets __ENVIRONMENT_TV_OS_VERSION_MIN_REQUIRED__ when -mtvos-version-min is used */ - #define __TV_OS_VERSION_MIN_REQUIRED __ENVIRONMENT_TV_OS_VERSION_MIN_REQUIRED__ - #define __TV_OS_VERSION_MAX_ALLOWED __TVOS_16_4 - /* for compatibility with existing code. New code should use platform specific checks */ - #define __IPHONE_OS_VERSION_MIN_REQUIRED 90000 - #endif -#endif - -#ifndef __WATCH_OS_VERSION_MIN_REQUIRED - #ifdef __ENVIRONMENT_WATCH_OS_VERSION_MIN_REQUIRED__ - /* compiler sets __ENVIRONMENT_WATCH_OS_VERSION_MIN_REQUIRED__ when -mwatchos-version-min is used */ - #define __WATCH_OS_VERSION_MIN_REQUIRED __ENVIRONMENT_WATCH_OS_VERSION_MIN_REQUIRED__ - #define __WATCH_OS_VERSION_MAX_ALLOWED __WATCHOS_9_4 - /* for compatibility with existing code. New code should use platform specific checks */ - #define __IPHONE_OS_VERSION_MIN_REQUIRED 90000 - #endif -#endif - -#ifndef __BRIDGE_OS_VERSION_MIN_REQUIRED - #ifdef __ENVIRONMENT_BRIDGE_OS_VERSION_MIN_REQUIRED__ - - #define __BRIDGE_OS_VERSION_MIN_REQUIRED __ENVIRONMENT_BRIDGE_OS_VERSION_MIN_REQUIRED__ - #define __BRIDGE_OS_VERSION_MAX_ALLOWED 70300 - /* for compatibility with existing code. New code should use platform specific checks */ - #define __IPHONE_OS_VERSION_MIN_REQUIRED 110000 - #endif -#endif - -#ifndef __DRIVERKIT_VERSION_MIN_REQUIRED - #ifdef __ENVIRONMENT_DRIVERKIT_VERSION_MIN_REQUIRED__ - #define __DRIVERKIT_VERSION_MIN_REQUIRED __ENVIRONMENT_DRIVERKIT_VERSION_MIN_REQUIRED__ - #endif -#endif - -#ifdef __MAC_OS_X_VERSION_MIN_REQUIRED - /* make sure a default max version is set */ - #ifndef __MAC_OS_X_VERSION_MAX_ALLOWED - #define __MAC_OS_X_VERSION_MAX_ALLOWED __MAC_13_3 - #endif -#endif /* __MAC_OS_X_VERSION_MIN_REQUIRED */ - -#ifdef __IPHONE_OS_VERSION_MIN_REQUIRED - /* make sure a default max version is set */ - #ifndef __IPHONE_OS_VERSION_MAX_ALLOWED - #define __IPHONE_OS_VERSION_MAX_ALLOWED __IPHONE_16_4 - #endif - /* make sure a valid min is set */ - #if __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_2_0 - #undef __IPHONE_OS_VERSION_MIN_REQUIRED - #define __IPHONE_OS_VERSION_MIN_REQUIRED __IPHONE_2_0 - #endif -#endif - -#define __AVAILABILITY_INTERNAL_DEPRECATED __attribute__((deprecated)) -#ifdef __has_feature - #if __has_feature(attribute_deprecated_with_message) - #define __AVAILABILITY_INTERNAL_DEPRECATED_MSG(_msg) __attribute__((deprecated(_msg))) - #else - #define __AVAILABILITY_INTERNAL_DEPRECATED_MSG(_msg) __attribute__((deprecated)) - #endif -#elif defined(__GNUC__) && ((__GNUC__ >= 5) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 5))) - #define __AVAILABILITY_INTERNAL_DEPRECATED_MSG(_msg) __attribute__((deprecated(_msg))) -#else - #define __AVAILABILITY_INTERNAL_DEPRECATED_MSG(_msg) __attribute__((deprecated)) -#endif -#define __AVAILABILITY_INTERNAL_UNAVAILABLE __attribute__((unavailable)) -#define __AVAILABILITY_INTERNAL_WEAK_IMPORT __attribute__((weak_import)) -#define __AVAILABILITY_INTERNAL_REGULAR - -#if defined(__has_builtin) - #if __has_builtin(__is_target_arch) - #if __has_builtin(__is_target_vendor) - #if __has_builtin(__is_target_os) - #if __has_builtin(__is_target_environment) - #if __has_builtin(__is_target_variant_os) - #if __has_builtin(__is_target_variant_environment) - #if (__is_target_arch(x86_64) && __is_target_vendor(apple) && ((__is_target_os(ios) && __is_target_environment(macabi)) || (__is_target_variant_os(ios) && __is_target_variant_environment(macabi)))) - #define __ENABLE_LEGACY_IPHONE_AVAILABILITY 1 - #define __ENABLE_LEGACY_MAC_AVAILABILITY 1 - #endif /* # if __is_target_arch... */ - #endif /* #if __has_builtin(__is_target_variant_environment) */ - #endif /* #if __has_builtin(__is_target_variant_os) */ - #endif /* #if __has_builtin(__is_target_environment) */ - #endif /* #if __has_builtin(__is_target_os) */ - #endif /* #if __has_builtin(__is_target_vendor) */ - #endif /* #if __has_builtin(__is_target_arch) */ -#endif /* #if defined(__has_builtin) */ - -#ifndef __ENABLE_LEGACY_IPHONE_AVAILABILITY - #ifdef __IPHONE_OS_VERSION_MIN_REQUIRED - #define __ENABLE_LEGACY_IPHONE_AVAILABILITY 1 - #elif defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) - #define __ENABLE_LEGACY_MAC_AVAILABILITY 1 - #endif -#endif /* __ENABLE_LEGACY_IPHONE_AVAILABILITY */ - -#ifdef __ENABLE_LEGACY_IPHONE_AVAILABILITY - #if defined(__has_attribute) && defined(__has_feature) - #if __has_attribute(availability) - /* use better attributes if possible */ - #define __AVAILABILITY_INTERNAL__IPHONE_2_0 __attribute__((availability(ios,introduced=2.0))) - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_10_0 __attribute__((availability(ios,introduced=2.0,deprecated=10.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_10_0_MSG(_msg) __attribute__((availability(ios,introduced=2.0,deprecated=10.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_10_0_MSG(_msg) __attribute__((availability(ios,introduced=2.0,deprecated=10.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_10_1 __attribute__((availability(ios,introduced=2.0,deprecated=10.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_10_1_MSG(_msg) __attribute__((availability(ios,introduced=2.0,deprecated=10.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_10_1_MSG(_msg) __attribute__((availability(ios,introduced=2.0,deprecated=10.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_10_2 __attribute__((availability(ios,introduced=2.0,deprecated=10.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_10_2_MSG(_msg) __attribute__((availability(ios,introduced=2.0,deprecated=10.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_10_2_MSG(_msg) __attribute__((availability(ios,introduced=2.0,deprecated=10.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_10_3 __attribute__((availability(ios,introduced=2.0,deprecated=10.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_10_3_MSG(_msg) __attribute__((availability(ios,introduced=2.0,deprecated=10.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_10_3_MSG(_msg) __attribute__((availability(ios,introduced=2.0,deprecated=10.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_11_0 __attribute__((availability(ios,introduced=2.0,deprecated=11.0))) - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_2_0 __attribute__((availability(ios,introduced=2.0,deprecated=2.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_2_0_MSG(_msg) __attribute__((availability(ios,introduced=2.0,deprecated=2.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_2_0_MSG(_msg) __attribute__((availability(ios,introduced=2.0,deprecated=2.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_2_1 __attribute__((availability(ios,introduced=2.0,deprecated=2.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_2_1_MSG(_msg) __attribute__((availability(ios,introduced=2.0,deprecated=2.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_2_1_MSG(_msg) __attribute__((availability(ios,introduced=2.0,deprecated=2.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_2_2 __attribute__((availability(ios,introduced=2.0,deprecated=2.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_2_2_MSG(_msg) __attribute__((availability(ios,introduced=2.0,deprecated=2.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_2_2_MSG(_msg) __attribute__((availability(ios,introduced=2.0,deprecated=2.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_3_0 __attribute__((availability(ios,introduced=2.0,deprecated=3.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_3_0_MSG(_msg) __attribute__((availability(ios,introduced=2.0,deprecated=3.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_3_0_MSG(_msg) __attribute__((availability(ios,introduced=2.0,deprecated=3.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_3_1 __attribute__((availability(ios,introduced=2.0,deprecated=3.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_3_1_MSG(_msg) __attribute__((availability(ios,introduced=2.0,deprecated=3.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_3_1_MSG(_msg) __attribute__((availability(ios,introduced=2.0,deprecated=3.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_3_2 __attribute__((availability(ios,introduced=2.0,deprecated=3.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_3_2_MSG(_msg) __attribute__((availability(ios,introduced=2.0,deprecated=3.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_3_2_MSG(_msg) __attribute__((availability(ios,introduced=2.0,deprecated=3.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_4_0 __attribute__((availability(ios,introduced=2.0,deprecated=4.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_4_0_MSG(_msg) __attribute__((availability(ios,introduced=2.0,deprecated=4.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_4_0_MSG(_msg) __attribute__((availability(ios,introduced=2.0,deprecated=4.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_4_1 __attribute__((availability(ios,introduced=2.0,deprecated=4.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_4_1_MSG(_msg) __attribute__((availability(ios,introduced=2.0,deprecated=4.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_4_1_MSG(_msg) __attribute__((availability(ios,introduced=2.0,deprecated=4.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_4_2 __attribute__((availability(ios,introduced=2.0,deprecated=4.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_4_2_MSG(_msg) __attribute__((availability(ios,introduced=2.0,deprecated=4.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_4_2_MSG(_msg) __attribute__((availability(ios,introduced=2.0,deprecated=4.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_4_3 __attribute__((availability(ios,introduced=2.0,deprecated=4.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_4_3_MSG(_msg) __attribute__((availability(ios,introduced=2.0,deprecated=4.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_4_3_MSG(_msg) __attribute__((availability(ios,introduced=2.0,deprecated=4.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_5_0 __attribute__((availability(ios,introduced=2.0,deprecated=5.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_5_0_MSG(_msg) __attribute__((availability(ios,introduced=2.0,deprecated=5.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_5_0_MSG(_msg) __attribute__((availability(ios,introduced=2.0,deprecated=5.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_5_1 __attribute__((availability(ios,introduced=2.0,deprecated=5.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_5_1_MSG(_msg) __attribute__((availability(ios,introduced=2.0,deprecated=5.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_5_1_MSG(_msg) __attribute__((availability(ios,introduced=2.0,deprecated=5.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_6_0 __attribute__((availability(ios,introduced=2.0,deprecated=6.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_6_0_MSG(_msg) __attribute__((availability(ios,introduced=2.0,deprecated=6.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_6_0_MSG(_msg) __attribute__((availability(ios,introduced=2.0,deprecated=6.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_6_1 __attribute__((availability(ios,introduced=2.0,deprecated=6.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_6_1_MSG(_msg) __attribute__((availability(ios,introduced=2.0,deprecated=6.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_6_1_MSG(_msg) __attribute__((availability(ios,introduced=2.0,deprecated=6.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_7_0 __attribute__((availability(ios,introduced=2.0,deprecated=7.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_7_0_MSG(_msg) __attribute__((availability(ios,introduced=2.0,deprecated=7.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_7_0_MSG(_msg) __attribute__((availability(ios,introduced=2.0,deprecated=7.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_7_1 __attribute__((availability(ios,introduced=2.0,deprecated=7.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_7_1_MSG(_msg) __attribute__((availability(ios,introduced=2.0,deprecated=7.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_7_1_MSG(_msg) __attribute__((availability(ios,introduced=2.0,deprecated=7.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_8_0 __attribute__((availability(ios,introduced=2.0,deprecated=8.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_8_0_MSG(_msg) __attribute__((availability(ios,introduced=2.0,deprecated=8.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_8_0_MSG(_msg) __attribute__((availability(ios,introduced=2.0,deprecated=8.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_8_1 __attribute__((availability(ios,introduced=2.0,deprecated=8.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_8_1_MSG(_msg) __attribute__((availability(ios,introduced=2.0,deprecated=8.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_8_1_MSG(_msg) __attribute__((availability(ios,introduced=2.0,deprecated=8.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_8_2 __attribute__((availability(ios,introduced=2.0,deprecated=8.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_8_2_MSG(_msg) __attribute__((availability(ios,introduced=2.0,deprecated=8.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_8_2_MSG(_msg) __attribute__((availability(ios,introduced=2.0,deprecated=8.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_8_3 __attribute__((availability(ios,introduced=2.0,deprecated=8.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_8_3_MSG(_msg) __attribute__((availability(ios,introduced=2.0,deprecated=8.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_8_3_MSG(_msg) __attribute__((availability(ios,introduced=2.0,deprecated=8.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_8_4 __attribute__((availability(ios,introduced=2.0,deprecated=8.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_8_4_MSG(_msg) __attribute__((availability(ios,introduced=2.0,deprecated=8.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_8_4_MSG(_msg) __attribute__((availability(ios,introduced=2.0,deprecated=8.4))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_9_0 __attribute__((availability(ios,introduced=2.0,deprecated=9.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_9_0_MSG(_msg) __attribute__((availability(ios,introduced=2.0,deprecated=9.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_9_0_MSG(_msg) __attribute__((availability(ios,introduced=2.0,deprecated=9.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_9_1 __attribute__((availability(ios,introduced=2.0,deprecated=9.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_9_1_MSG(_msg) __attribute__((availability(ios,introduced=2.0,deprecated=9.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_9_1_MSG(_msg) __attribute__((availability(ios,introduced=2.0,deprecated=9.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_9_2 __attribute__((availability(ios,introduced=2.0,deprecated=9.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_9_2_MSG(_msg) __attribute__((availability(ios,introduced=2.0,deprecated=9.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_9_2_MSG(_msg) __attribute__((availability(ios,introduced=2.0,deprecated=9.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_9_3 __attribute__((availability(ios,introduced=2.0,deprecated=9.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_9_3_MSG(_msg) __attribute__((availability(ios,introduced=2.0,deprecated=9.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_9_3_MSG(_msg) __attribute__((availability(ios,introduced=2.0,deprecated=9.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_NA __attribute__((availability(ios,introduced=2.0))) - #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_NA_MSG(_msg) __attribute__((availability(ios,introduced=2.0))) - #define __AVAILABILITY_INTERNAL__IPHONE_2_1 __attribute__((availability(ios,introduced=2.1))) - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_10_0 __attribute__((availability(ios,introduced=2.1,deprecated=10.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_10_0_MSG(_msg) __attribute__((availability(ios,introduced=2.1,deprecated=10.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_10_0_MSG(_msg) __attribute__((availability(ios,introduced=2.1,deprecated=10.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_10_1 __attribute__((availability(ios,introduced=2.1,deprecated=10.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_10_1_MSG(_msg) __attribute__((availability(ios,introduced=2.1,deprecated=10.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_10_1_MSG(_msg) __attribute__((availability(ios,introduced=2.1,deprecated=10.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_10_2 __attribute__((availability(ios,introduced=2.1,deprecated=10.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_10_2_MSG(_msg) __attribute__((availability(ios,introduced=2.1,deprecated=10.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_10_2_MSG(_msg) __attribute__((availability(ios,introduced=2.1,deprecated=10.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_10_3 __attribute__((availability(ios,introduced=2.1,deprecated=10.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_10_3_MSG(_msg) __attribute__((availability(ios,introduced=2.1,deprecated=10.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_10_3_MSG(_msg) __attribute__((availability(ios,introduced=2.1,deprecated=10.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_2_1 __attribute__((availability(ios,introduced=2.1,deprecated=2.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_2_1_MSG(_msg) __attribute__((availability(ios,introduced=2.1,deprecated=2.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_2_1_MSG(_msg) __attribute__((availability(ios,introduced=2.1,deprecated=2.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_2_2 __attribute__((availability(ios,introduced=2.1,deprecated=2.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_2_2_MSG(_msg) __attribute__((availability(ios,introduced=2.1,deprecated=2.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_2_2_MSG(_msg) __attribute__((availability(ios,introduced=2.1,deprecated=2.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_3_0 __attribute__((availability(ios,introduced=2.1,deprecated=3.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_3_0_MSG(_msg) __attribute__((availability(ios,introduced=2.1,deprecated=3.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_3_0_MSG(_msg) __attribute__((availability(ios,introduced=2.1,deprecated=3.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_3_1 __attribute__((availability(ios,introduced=2.1,deprecated=3.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_3_1_MSG(_msg) __attribute__((availability(ios,introduced=2.1,deprecated=3.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_3_1_MSG(_msg) __attribute__((availability(ios,introduced=2.1,deprecated=3.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_3_2 __attribute__((availability(ios,introduced=2.1,deprecated=3.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_3_2_MSG(_msg) __attribute__((availability(ios,introduced=2.1,deprecated=3.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_3_2_MSG(_msg) __attribute__((availability(ios,introduced=2.1,deprecated=3.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_4_0 __attribute__((availability(ios,introduced=2.1,deprecated=4.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_4_0_MSG(_msg) __attribute__((availability(ios,introduced=2.1,deprecated=4.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_4_0_MSG(_msg) __attribute__((availability(ios,introduced=2.1,deprecated=4.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_4_1 __attribute__((availability(ios,introduced=2.1,deprecated=4.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_4_1_MSG(_msg) __attribute__((availability(ios,introduced=2.1,deprecated=4.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_4_1_MSG(_msg) __attribute__((availability(ios,introduced=2.1,deprecated=4.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_4_2 __attribute__((availability(ios,introduced=2.1,deprecated=4.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_4_2_MSG(_msg) __attribute__((availability(ios,introduced=2.1,deprecated=4.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_4_2_MSG(_msg) __attribute__((availability(ios,introduced=2.1,deprecated=4.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_4_3 __attribute__((availability(ios,introduced=2.1,deprecated=4.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_4_3_MSG(_msg) __attribute__((availability(ios,introduced=2.1,deprecated=4.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_4_3_MSG(_msg) __attribute__((availability(ios,introduced=2.1,deprecated=4.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_5_0 __attribute__((availability(ios,introduced=2.1,deprecated=5.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_5_0_MSG(_msg) __attribute__((availability(ios,introduced=2.1,deprecated=5.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_5_0_MSG(_msg) __attribute__((availability(ios,introduced=2.1,deprecated=5.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_5_1 __attribute__((availability(ios,introduced=2.1,deprecated=5.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_5_1_MSG(_msg) __attribute__((availability(ios,introduced=2.1,deprecated=5.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_5_1_MSG(_msg) __attribute__((availability(ios,introduced=2.1,deprecated=5.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_6_0 __attribute__((availability(ios,introduced=2.1,deprecated=6.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_6_0_MSG(_msg) __attribute__((availability(ios,introduced=2.1,deprecated=6.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_6_0_MSG(_msg) __attribute__((availability(ios,introduced=2.1,deprecated=6.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_6_1 __attribute__((availability(ios,introduced=2.1,deprecated=6.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_6_1_MSG(_msg) __attribute__((availability(ios,introduced=2.1,deprecated=6.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_6_1_MSG(_msg) __attribute__((availability(ios,introduced=2.1,deprecated=6.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_7_0 __attribute__((availability(ios,introduced=2.1,deprecated=7.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_7_0_MSG(_msg) __attribute__((availability(ios,introduced=2.1,deprecated=7.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_7_0_MSG(_msg) __attribute__((availability(ios,introduced=2.1,deprecated=7.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_7_1 __attribute__((availability(ios,introduced=2.1,deprecated=7.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_7_1_MSG(_msg) __attribute__((availability(ios,introduced=2.1,deprecated=7.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_7_1_MSG(_msg) __attribute__((availability(ios,introduced=2.1,deprecated=7.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_8_0 __attribute__((availability(ios,introduced=2.1,deprecated=8.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_8_0_MSG(_msg) __attribute__((availability(ios,introduced=2.1,deprecated=8.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_8_0_MSG(_msg) __attribute__((availability(ios,introduced=2.1,deprecated=8.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_8_1 __attribute__((availability(ios,introduced=2.1,deprecated=8.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_8_1_MSG(_msg) __attribute__((availability(ios,introduced=2.1,deprecated=8.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_8_1_MSG(_msg) __attribute__((availability(ios,introduced=2.1,deprecated=8.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_8_2 __attribute__((availability(ios,introduced=2.1,deprecated=8.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_8_2_MSG(_msg) __attribute__((availability(ios,introduced=2.1,deprecated=8.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_8_2_MSG(_msg) __attribute__((availability(ios,introduced=2.1,deprecated=8.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_8_3 __attribute__((availability(ios,introduced=2.1,deprecated=8.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_8_3_MSG(_msg) __attribute__((availability(ios,introduced=2.1,deprecated=8.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_8_3_MSG(_msg) __attribute__((availability(ios,introduced=2.1,deprecated=8.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_8_4 __attribute__((availability(ios,introduced=2.1,deprecated=8.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_8_4_MSG(_msg) __attribute__((availability(ios,introduced=2.1,deprecated=8.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_8_4_MSG(_msg) __attribute__((availability(ios,introduced=2.1,deprecated=8.4))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_9_0 __attribute__((availability(ios,introduced=2.1,deprecated=9.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_9_0_MSG(_msg) __attribute__((availability(ios,introduced=2.1,deprecated=9.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_9_0_MSG(_msg) __attribute__((availability(ios,introduced=2.1,deprecated=9.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_9_1 __attribute__((availability(ios,introduced=2.1,deprecated=9.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_9_1_MSG(_msg) __attribute__((availability(ios,introduced=2.1,deprecated=9.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_9_1_MSG(_msg) __attribute__((availability(ios,introduced=2.1,deprecated=9.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_9_2 __attribute__((availability(ios,introduced=2.1,deprecated=9.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_9_2_MSG(_msg) __attribute__((availability(ios,introduced=2.1,deprecated=9.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_9_2_MSG(_msg) __attribute__((availability(ios,introduced=2.1,deprecated=9.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_9_3 __attribute__((availability(ios,introduced=2.1,deprecated=9.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_9_3_MSG(_msg) __attribute__((availability(ios,introduced=2.1,deprecated=9.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_9_3_MSG(_msg) __attribute__((availability(ios,introduced=2.1,deprecated=9.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_NA __attribute__((availability(ios,introduced=2.1))) - #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_NA_MSG(_msg) __attribute__((availability(ios,introduced=2.1))) - #define __AVAILABILITY_INTERNAL__IPHONE_2_2 __attribute__((availability(ios,introduced=2.2))) - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_10_0 __attribute__((availability(ios,introduced=2.2,deprecated=10.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_10_0_MSG(_msg) __attribute__((availability(ios,introduced=2.2,deprecated=10.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_10_0_MSG(_msg) __attribute__((availability(ios,introduced=2.2,deprecated=10.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_10_1 __attribute__((availability(ios,introduced=2.2,deprecated=10.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_10_1_MSG(_msg) __attribute__((availability(ios,introduced=2.2,deprecated=10.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_10_1_MSG(_msg) __attribute__((availability(ios,introduced=2.2,deprecated=10.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_10_2 __attribute__((availability(ios,introduced=2.2,deprecated=10.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_10_2_MSG(_msg) __attribute__((availability(ios,introduced=2.2,deprecated=10.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_10_2_MSG(_msg) __attribute__((availability(ios,introduced=2.2,deprecated=10.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_10_3 __attribute__((availability(ios,introduced=2.2,deprecated=10.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_10_3_MSG(_msg) __attribute__((availability(ios,introduced=2.2,deprecated=10.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_10_3_MSG(_msg) __attribute__((availability(ios,introduced=2.2,deprecated=10.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_2_2 __attribute__((availability(ios,introduced=2.2,deprecated=2.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_2_2_MSG(_msg) __attribute__((availability(ios,introduced=2.2,deprecated=2.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_2_2_MSG(_msg) __attribute__((availability(ios,introduced=2.2,deprecated=2.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_3_0 __attribute__((availability(ios,introduced=2.2,deprecated=3.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_3_0_MSG(_msg) __attribute__((availability(ios,introduced=2.2,deprecated=3.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_3_0_MSG(_msg) __attribute__((availability(ios,introduced=2.2,deprecated=3.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_3_1 __attribute__((availability(ios,introduced=2.2,deprecated=3.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_3_1_MSG(_msg) __attribute__((availability(ios,introduced=2.2,deprecated=3.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_3_1_MSG(_msg) __attribute__((availability(ios,introduced=2.2,deprecated=3.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_3_2 __attribute__((availability(ios,introduced=2.2,deprecated=3.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_3_2_MSG(_msg) __attribute__((availability(ios,introduced=2.2,deprecated=3.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_3_2_MSG(_msg) __attribute__((availability(ios,introduced=2.2,deprecated=3.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_4_0 __attribute__((availability(ios,introduced=2.2,deprecated=4.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_4_0_MSG(_msg) __attribute__((availability(ios,introduced=2.2,deprecated=4.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_4_0_MSG(_msg) __attribute__((availability(ios,introduced=2.2,deprecated=4.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_4_1 __attribute__((availability(ios,introduced=2.2,deprecated=4.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_4_1_MSG(_msg) __attribute__((availability(ios,introduced=2.2,deprecated=4.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_4_1_MSG(_msg) __attribute__((availability(ios,introduced=2.2,deprecated=4.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_4_2 __attribute__((availability(ios,introduced=2.2,deprecated=4.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_4_2_MSG(_msg) __attribute__((availability(ios,introduced=2.2,deprecated=4.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_4_2_MSG(_msg) __attribute__((availability(ios,introduced=2.2,deprecated=4.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_4_3 __attribute__((availability(ios,introduced=2.2,deprecated=4.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_4_3_MSG(_msg) __attribute__((availability(ios,introduced=2.2,deprecated=4.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_4_3_MSG(_msg) __attribute__((availability(ios,introduced=2.2,deprecated=4.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_5_0 __attribute__((availability(ios,introduced=2.2,deprecated=5.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_5_0_MSG(_msg) __attribute__((availability(ios,introduced=2.2,deprecated=5.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_5_0_MSG(_msg) __attribute__((availability(ios,introduced=2.2,deprecated=5.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_5_1 __attribute__((availability(ios,introduced=2.2,deprecated=5.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_5_1_MSG(_msg) __attribute__((availability(ios,introduced=2.2,deprecated=5.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_5_1_MSG(_msg) __attribute__((availability(ios,introduced=2.2,deprecated=5.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_6_0 __attribute__((availability(ios,introduced=2.2,deprecated=6.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_6_0_MSG(_msg) __attribute__((availability(ios,introduced=2.2,deprecated=6.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_6_0_MSG(_msg) __attribute__((availability(ios,introduced=2.2,deprecated=6.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_6_1 __attribute__((availability(ios,introduced=2.2,deprecated=6.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_6_1_MSG(_msg) __attribute__((availability(ios,introduced=2.2,deprecated=6.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_6_1_MSG(_msg) __attribute__((availability(ios,introduced=2.2,deprecated=6.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_7_0 __attribute__((availability(ios,introduced=2.2,deprecated=7.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_7_0_MSG(_msg) __attribute__((availability(ios,introduced=2.2,deprecated=7.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_7_0_MSG(_msg) __attribute__((availability(ios,introduced=2.2,deprecated=7.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_7_1 __attribute__((availability(ios,introduced=2.2,deprecated=7.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_7_1_MSG(_msg) __attribute__((availability(ios,introduced=2.2,deprecated=7.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_7_1_MSG(_msg) __attribute__((availability(ios,introduced=2.2,deprecated=7.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_8_0 __attribute__((availability(ios,introduced=2.2,deprecated=8.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_8_0_MSG(_msg) __attribute__((availability(ios,introduced=2.2,deprecated=8.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_8_0_MSG(_msg) __attribute__((availability(ios,introduced=2.2,deprecated=8.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_8_1 __attribute__((availability(ios,introduced=2.2,deprecated=8.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_8_1_MSG(_msg) __attribute__((availability(ios,introduced=2.2,deprecated=8.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_8_1_MSG(_msg) __attribute__((availability(ios,introduced=2.2,deprecated=8.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_8_2 __attribute__((availability(ios,introduced=2.2,deprecated=8.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_8_2_MSG(_msg) __attribute__((availability(ios,introduced=2.2,deprecated=8.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_8_2_MSG(_msg) __attribute__((availability(ios,introduced=2.2,deprecated=8.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_8_3 __attribute__((availability(ios,introduced=2.2,deprecated=8.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_8_3_MSG(_msg) __attribute__((availability(ios,introduced=2.2,deprecated=8.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_8_3_MSG(_msg) __attribute__((availability(ios,introduced=2.2,deprecated=8.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_8_4 __attribute__((availability(ios,introduced=2.2,deprecated=8.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_8_4_MSG(_msg) __attribute__((availability(ios,introduced=2.2,deprecated=8.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_8_4_MSG(_msg) __attribute__((availability(ios,introduced=2.2,deprecated=8.4))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_9_0 __attribute__((availability(ios,introduced=2.2,deprecated=9.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_9_0_MSG(_msg) __attribute__((availability(ios,introduced=2.2,deprecated=9.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_9_0_MSG(_msg) __attribute__((availability(ios,introduced=2.2,deprecated=9.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_9_1 __attribute__((availability(ios,introduced=2.2,deprecated=9.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_9_1_MSG(_msg) __attribute__((availability(ios,introduced=2.2,deprecated=9.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_9_1_MSG(_msg) __attribute__((availability(ios,introduced=2.2,deprecated=9.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_9_2 __attribute__((availability(ios,introduced=2.2,deprecated=9.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_9_2_MSG(_msg) __attribute__((availability(ios,introduced=2.2,deprecated=9.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_9_2_MSG(_msg) __attribute__((availability(ios,introduced=2.2,deprecated=9.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_9_3 __attribute__((availability(ios,introduced=2.2,deprecated=9.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_9_3_MSG(_msg) __attribute__((availability(ios,introduced=2.2,deprecated=9.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_9_3_MSG(_msg) __attribute__((availability(ios,introduced=2.2,deprecated=9.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_NA __attribute__((availability(ios,introduced=2.2))) - #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_NA_MSG(_msg) __attribute__((availability(ios,introduced=2.2))) - #define __AVAILABILITY_INTERNAL__IPHONE_3_0 __attribute__((availability(ios,introduced=3.0))) - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_10_0 __attribute__((availability(ios,introduced=3.0,deprecated=10.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_10_0_MSG(_msg) __attribute__((availability(ios,introduced=3.0,deprecated=10.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_10_0_MSG(_msg) __attribute__((availability(ios,introduced=3.0,deprecated=10.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_10_1 __attribute__((availability(ios,introduced=3.0,deprecated=10.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_10_1_MSG(_msg) __attribute__((availability(ios,introduced=3.0,deprecated=10.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_10_1_MSG(_msg) __attribute__((availability(ios,introduced=3.0,deprecated=10.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_10_2 __attribute__((availability(ios,introduced=3.0,deprecated=10.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_10_2_MSG(_msg) __attribute__((availability(ios,introduced=3.0,deprecated=10.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_10_2_MSG(_msg) __attribute__((availability(ios,introduced=3.0,deprecated=10.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_10_3 __attribute__((availability(ios,introduced=3.0,deprecated=10.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_10_3_MSG(_msg) __attribute__((availability(ios,introduced=3.0,deprecated=10.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_10_3_MSG(_msg) __attribute__((availability(ios,introduced=3.0,deprecated=10.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_3_0 __attribute__((availability(ios,introduced=3.0,deprecated=3.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_3_0_MSG(_msg) __attribute__((availability(ios,introduced=3.0,deprecated=3.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_3_0_MSG(_msg) __attribute__((availability(ios,introduced=3.0,deprecated=3.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_3_1 __attribute__((availability(ios,introduced=3.0,deprecated=3.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_3_1_MSG(_msg) __attribute__((availability(ios,introduced=3.0,deprecated=3.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_3_1_MSG(_msg) __attribute__((availability(ios,introduced=3.0,deprecated=3.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_3_2 __attribute__((availability(ios,introduced=3.0,deprecated=3.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_3_2_MSG(_msg) __attribute__((availability(ios,introduced=3.0,deprecated=3.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_3_2_MSG(_msg) __attribute__((availability(ios,introduced=3.0,deprecated=3.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_4_0 __attribute__((availability(ios,introduced=3.0,deprecated=4.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_4_0_MSG(_msg) __attribute__((availability(ios,introduced=3.0,deprecated=4.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_4_0_MSG(_msg) __attribute__((availability(ios,introduced=3.0,deprecated=4.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_4_1 __attribute__((availability(ios,introduced=3.0,deprecated=4.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_4_1_MSG(_msg) __attribute__((availability(ios,introduced=3.0,deprecated=4.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_4_1_MSG(_msg) __attribute__((availability(ios,introduced=3.0,deprecated=4.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_4_2 __attribute__((availability(ios,introduced=3.0,deprecated=4.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_4_2_MSG(_msg) __attribute__((availability(ios,introduced=3.0,deprecated=4.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_4_2_MSG(_msg) __attribute__((availability(ios,introduced=3.0,deprecated=4.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_4_3 __attribute__((availability(ios,introduced=3.0,deprecated=4.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_4_3_MSG(_msg) __attribute__((availability(ios,introduced=3.0,deprecated=4.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_4_3_MSG(_msg) __attribute__((availability(ios,introduced=3.0,deprecated=4.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_5_0 __attribute__((availability(ios,introduced=3.0,deprecated=5.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_5_0_MSG(_msg) __attribute__((availability(ios,introduced=3.0,deprecated=5.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_5_0_MSG(_msg) __attribute__((availability(ios,introduced=3.0,deprecated=5.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_5_1 __attribute__((availability(ios,introduced=3.0,deprecated=5.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_5_1_MSG(_msg) __attribute__((availability(ios,introduced=3.0,deprecated=5.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_5_1_MSG(_msg) __attribute__((availability(ios,introduced=3.0,deprecated=5.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_6_0 __attribute__((availability(ios,introduced=3.0,deprecated=6.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_6_0_MSG(_msg) __attribute__((availability(ios,introduced=3.0,deprecated=6.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_6_0_MSG(_msg) __attribute__((availability(ios,introduced=3.0,deprecated=6.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_6_1 __attribute__((availability(ios,introduced=3.0,deprecated=6.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_6_1_MSG(_msg) __attribute__((availability(ios,introduced=3.0,deprecated=6.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_6_1_MSG(_msg) __attribute__((availability(ios,introduced=3.0,deprecated=6.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_7_0 __attribute__((availability(ios,introduced=3.0,deprecated=7.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_7_0_MSG(_msg) __attribute__((availability(ios,introduced=3.0,deprecated=7.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_7_0_MSG(_msg) __attribute__((availability(ios,introduced=3.0,deprecated=7.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_7_1 __attribute__((availability(ios,introduced=3.0,deprecated=7.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_7_1_MSG(_msg) __attribute__((availability(ios,introduced=3.0,deprecated=7.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_7_1_MSG(_msg) __attribute__((availability(ios,introduced=3.0,deprecated=7.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_8_0 __attribute__((availability(ios,introduced=3.0,deprecated=8.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_8_0_MSG(_msg) __attribute__((availability(ios,introduced=3.0,deprecated=8.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_8_0_MSG(_msg) __attribute__((availability(ios,introduced=3.0,deprecated=8.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_8_1 __attribute__((availability(ios,introduced=3.0,deprecated=8.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_8_1_MSG(_msg) __attribute__((availability(ios,introduced=3.0,deprecated=8.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_8_1_MSG(_msg) __attribute__((availability(ios,introduced=3.0,deprecated=8.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_8_2 __attribute__((availability(ios,introduced=3.0,deprecated=8.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_8_2_MSG(_msg) __attribute__((availability(ios,introduced=3.0,deprecated=8.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_8_2_MSG(_msg) __attribute__((availability(ios,introduced=3.0,deprecated=8.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_8_3 __attribute__((availability(ios,introduced=3.0,deprecated=8.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_8_3_MSG(_msg) __attribute__((availability(ios,introduced=3.0,deprecated=8.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_8_3_MSG(_msg) __attribute__((availability(ios,introduced=3.0,deprecated=8.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_8_4 __attribute__((availability(ios,introduced=3.0,deprecated=8.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_8_4_MSG(_msg) __attribute__((availability(ios,introduced=3.0,deprecated=8.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_8_4_MSG(_msg) __attribute__((availability(ios,introduced=3.0,deprecated=8.4))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_9_0 __attribute__((availability(ios,introduced=3.0,deprecated=9.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_9_0_MSG(_msg) __attribute__((availability(ios,introduced=3.0,deprecated=9.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_9_0_MSG(_msg) __attribute__((availability(ios,introduced=3.0,deprecated=9.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_9_1 __attribute__((availability(ios,introduced=3.0,deprecated=9.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_9_1_MSG(_msg) __attribute__((availability(ios,introduced=3.0,deprecated=9.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_9_1_MSG(_msg) __attribute__((availability(ios,introduced=3.0,deprecated=9.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_9_2 __attribute__((availability(ios,introduced=3.0,deprecated=9.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_9_2_MSG(_msg) __attribute__((availability(ios,introduced=3.0,deprecated=9.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_9_2_MSG(_msg) __attribute__((availability(ios,introduced=3.0,deprecated=9.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_9_3 __attribute__((availability(ios,introduced=3.0,deprecated=9.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_9_3_MSG(_msg) __attribute__((availability(ios,introduced=3.0,deprecated=9.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_9_3_MSG(_msg) __attribute__((availability(ios,introduced=3.0,deprecated=9.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_NA __attribute__((availability(ios,introduced=3.0))) - #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_NA_MSG(_msg) __attribute__((availability(ios,introduced=3.0))) - #define __AVAILABILITY_INTERNAL__IPHONE_3_1 __attribute__((availability(ios,introduced=3.1))) - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_10_0 __attribute__((availability(ios,introduced=3.1,deprecated=10.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_10_0_MSG(_msg) __attribute__((availability(ios,introduced=3.1,deprecated=10.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_10_0_MSG(_msg) __attribute__((availability(ios,introduced=3.1,deprecated=10.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_10_1 __attribute__((availability(ios,introduced=3.1,deprecated=10.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_10_1_MSG(_msg) __attribute__((availability(ios,introduced=3.1,deprecated=10.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_10_1_MSG(_msg) __attribute__((availability(ios,introduced=3.1,deprecated=10.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_10_2 __attribute__((availability(ios,introduced=3.1,deprecated=10.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_10_2_MSG(_msg) __attribute__((availability(ios,introduced=3.1,deprecated=10.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_10_2_MSG(_msg) __attribute__((availability(ios,introduced=3.1,deprecated=10.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_10_3 __attribute__((availability(ios,introduced=3.1,deprecated=10.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_10_3_MSG(_msg) __attribute__((availability(ios,introduced=3.1,deprecated=10.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_10_3_MSG(_msg) __attribute__((availability(ios,introduced=3.1,deprecated=10.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_3_1 __attribute__((availability(ios,introduced=3.1,deprecated=3.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_3_1_MSG(_msg) __attribute__((availability(ios,introduced=3.1,deprecated=3.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_3_1_MSG(_msg) __attribute__((availability(ios,introduced=3.1,deprecated=3.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_3_2 __attribute__((availability(ios,introduced=3.1,deprecated=3.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_3_2_MSG(_msg) __attribute__((availability(ios,introduced=3.1,deprecated=3.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_3_2_MSG(_msg) __attribute__((availability(ios,introduced=3.1,deprecated=3.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_4_0 __attribute__((availability(ios,introduced=3.1,deprecated=4.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_4_0_MSG(_msg) __attribute__((availability(ios,introduced=3.1,deprecated=4.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_4_0_MSG(_msg) __attribute__((availability(ios,introduced=3.1,deprecated=4.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_4_1 __attribute__((availability(ios,introduced=3.1,deprecated=4.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_4_1_MSG(_msg) __attribute__((availability(ios,introduced=3.1,deprecated=4.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_4_1_MSG(_msg) __attribute__((availability(ios,introduced=3.1,deprecated=4.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_4_2 __attribute__((availability(ios,introduced=3.1,deprecated=4.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_4_2_MSG(_msg) __attribute__((availability(ios,introduced=3.1,deprecated=4.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_4_2_MSG(_msg) __attribute__((availability(ios,introduced=3.1,deprecated=4.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_4_3 __attribute__((availability(ios,introduced=3.1,deprecated=4.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_4_3_MSG(_msg) __attribute__((availability(ios,introduced=3.1,deprecated=4.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_4_3_MSG(_msg) __attribute__((availability(ios,introduced=3.1,deprecated=4.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_5_0 __attribute__((availability(ios,introduced=3.1,deprecated=5.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_5_0_MSG(_msg) __attribute__((availability(ios,introduced=3.1,deprecated=5.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_5_0_MSG(_msg) __attribute__((availability(ios,introduced=3.1,deprecated=5.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_5_1 __attribute__((availability(ios,introduced=3.1,deprecated=5.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_5_1_MSG(_msg) __attribute__((availability(ios,introduced=3.1,deprecated=5.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_5_1_MSG(_msg) __attribute__((availability(ios,introduced=3.1,deprecated=5.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_6_0 __attribute__((availability(ios,introduced=3.1,deprecated=6.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_6_0_MSG(_msg) __attribute__((availability(ios,introduced=3.1,deprecated=6.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_6_0_MSG(_msg) __attribute__((availability(ios,introduced=3.1,deprecated=6.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_6_1 __attribute__((availability(ios,introduced=3.1,deprecated=6.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_6_1_MSG(_msg) __attribute__((availability(ios,introduced=3.1,deprecated=6.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_6_1_MSG(_msg) __attribute__((availability(ios,introduced=3.1,deprecated=6.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_7_0 __attribute__((availability(ios,introduced=3.1,deprecated=7.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_7_0_MSG(_msg) __attribute__((availability(ios,introduced=3.1,deprecated=7.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_7_0_MSG(_msg) __attribute__((availability(ios,introduced=3.1,deprecated=7.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_7_1 __attribute__((availability(ios,introduced=3.1,deprecated=7.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_7_1_MSG(_msg) __attribute__((availability(ios,introduced=3.1,deprecated=7.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_7_1_MSG(_msg) __attribute__((availability(ios,introduced=3.1,deprecated=7.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_8_0 __attribute__((availability(ios,introduced=3.1,deprecated=8.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_8_0_MSG(_msg) __attribute__((availability(ios,introduced=3.1,deprecated=8.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_8_0_MSG(_msg) __attribute__((availability(ios,introduced=3.1,deprecated=8.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_8_1 __attribute__((availability(ios,introduced=3.1,deprecated=8.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_8_1_MSG(_msg) __attribute__((availability(ios,introduced=3.1,deprecated=8.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_8_1_MSG(_msg) __attribute__((availability(ios,introduced=3.1,deprecated=8.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_8_2 __attribute__((availability(ios,introduced=3.1,deprecated=8.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_8_2_MSG(_msg) __attribute__((availability(ios,introduced=3.1,deprecated=8.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_8_2_MSG(_msg) __attribute__((availability(ios,introduced=3.1,deprecated=8.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_8_3 __attribute__((availability(ios,introduced=3.1,deprecated=8.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_8_3_MSG(_msg) __attribute__((availability(ios,introduced=3.1,deprecated=8.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_8_3_MSG(_msg) __attribute__((availability(ios,introduced=3.1,deprecated=8.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_8_4 __attribute__((availability(ios,introduced=3.1,deprecated=8.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_8_4_MSG(_msg) __attribute__((availability(ios,introduced=3.1,deprecated=8.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_8_4_MSG(_msg) __attribute__((availability(ios,introduced=3.1,deprecated=8.4))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_9_0 __attribute__((availability(ios,introduced=3.1,deprecated=9.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_9_0_MSG(_msg) __attribute__((availability(ios,introduced=3.1,deprecated=9.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_9_0_MSG(_msg) __attribute__((availability(ios,introduced=3.1,deprecated=9.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_9_1 __attribute__((availability(ios,introduced=3.1,deprecated=9.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_9_1_MSG(_msg) __attribute__((availability(ios,introduced=3.1,deprecated=9.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_9_1_MSG(_msg) __attribute__((availability(ios,introduced=3.1,deprecated=9.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_9_2 __attribute__((availability(ios,introduced=3.1,deprecated=9.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_9_2_MSG(_msg) __attribute__((availability(ios,introduced=3.1,deprecated=9.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_9_2_MSG(_msg) __attribute__((availability(ios,introduced=3.1,deprecated=9.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_9_3 __attribute__((availability(ios,introduced=3.1,deprecated=9.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_9_3_MSG(_msg) __attribute__((availability(ios,introduced=3.1,deprecated=9.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_9_3_MSG(_msg) __attribute__((availability(ios,introduced=3.1,deprecated=9.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_NA __attribute__((availability(ios,introduced=3.1))) - #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_NA_MSG(_msg) __attribute__((availability(ios,introduced=3.1))) - #define __AVAILABILITY_INTERNAL__IPHONE_3_2 __attribute__((availability(ios,introduced=3.2))) - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_10_0 __attribute__((availability(ios,introduced=3.2,deprecated=10.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_10_0_MSG(_msg) __attribute__((availability(ios,introduced=3.2,deprecated=10.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_10_0_MSG(_msg) __attribute__((availability(ios,introduced=3.2,deprecated=10.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_10_1 __attribute__((availability(ios,introduced=3.2,deprecated=10.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_10_1_MSG(_msg) __attribute__((availability(ios,introduced=3.2,deprecated=10.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_10_1_MSG(_msg) __attribute__((availability(ios,introduced=3.2,deprecated=10.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_10_2 __attribute__((availability(ios,introduced=3.2,deprecated=10.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_10_2_MSG(_msg) __attribute__((availability(ios,introduced=3.2,deprecated=10.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_10_2_MSG(_msg) __attribute__((availability(ios,introduced=3.2,deprecated=10.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_10_3 __attribute__((availability(ios,introduced=3.2,deprecated=10.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_10_3_MSG(_msg) __attribute__((availability(ios,introduced=3.2,deprecated=10.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_10_3_MSG(_msg) __attribute__((availability(ios,introduced=3.2,deprecated=10.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_3_2 __attribute__((availability(ios,introduced=3.2,deprecated=3.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_3_2_MSG(_msg) __attribute__((availability(ios,introduced=3.2,deprecated=3.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_3_2_MSG(_msg) __attribute__((availability(ios,introduced=3.2,deprecated=3.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_4_0 __attribute__((availability(ios,introduced=3.2,deprecated=4.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_4_0_MSG(_msg) __attribute__((availability(ios,introduced=3.2,deprecated=4.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_4_0_MSG(_msg) __attribute__((availability(ios,introduced=3.2,deprecated=4.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_4_1 __attribute__((availability(ios,introduced=3.2,deprecated=4.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_4_1_MSG(_msg) __attribute__((availability(ios,introduced=3.2,deprecated=4.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_4_1_MSG(_msg) __attribute__((availability(ios,introduced=3.2,deprecated=4.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_4_2 __attribute__((availability(ios,introduced=3.2,deprecated=4.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_4_2_MSG(_msg) __attribute__((availability(ios,introduced=3.2,deprecated=4.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_4_2_MSG(_msg) __attribute__((availability(ios,introduced=3.2,deprecated=4.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_4_3 __attribute__((availability(ios,introduced=3.2,deprecated=4.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_4_3_MSG(_msg) __attribute__((availability(ios,introduced=3.2,deprecated=4.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_4_3_MSG(_msg) __attribute__((availability(ios,introduced=3.2,deprecated=4.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_5_0 __attribute__((availability(ios,introduced=3.2,deprecated=5.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_5_0_MSG(_msg) __attribute__((availability(ios,introduced=3.2,deprecated=5.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_5_0_MSG(_msg) __attribute__((availability(ios,introduced=3.2,deprecated=5.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_5_1 __attribute__((availability(ios,introduced=3.2,deprecated=5.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_5_1_MSG(_msg) __attribute__((availability(ios,introduced=3.2,deprecated=5.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_5_1_MSG(_msg) __attribute__((availability(ios,introduced=3.2,deprecated=5.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_6_0 __attribute__((availability(ios,introduced=3.2,deprecated=6.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_6_0_MSG(_msg) __attribute__((availability(ios,introduced=3.2,deprecated=6.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_6_0_MSG(_msg) __attribute__((availability(ios,introduced=3.2,deprecated=6.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_6_1 __attribute__((availability(ios,introduced=3.2,deprecated=6.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_6_1_MSG(_msg) __attribute__((availability(ios,introduced=3.2,deprecated=6.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_6_1_MSG(_msg) __attribute__((availability(ios,introduced=3.2,deprecated=6.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_7_0 __attribute__((availability(ios,introduced=3.2,deprecated=7.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_7_0_MSG(_msg) __attribute__((availability(ios,introduced=3.2,deprecated=7.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_7_0_MSG(_msg) __attribute__((availability(ios,introduced=3.2,deprecated=7.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_7_1 __attribute__((availability(ios,introduced=3.2,deprecated=7.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_7_1_MSG(_msg) __attribute__((availability(ios,introduced=3.2,deprecated=7.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_7_1_MSG(_msg) __attribute__((availability(ios,introduced=3.2,deprecated=7.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_8_0 __attribute__((availability(ios,introduced=3.2,deprecated=8.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_8_0_MSG(_msg) __attribute__((availability(ios,introduced=3.2,deprecated=8.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_8_0_MSG(_msg) __attribute__((availability(ios,introduced=3.2,deprecated=8.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_8_1 __attribute__((availability(ios,introduced=3.2,deprecated=8.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_8_1_MSG(_msg) __attribute__((availability(ios,introduced=3.2,deprecated=8.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_8_1_MSG(_msg) __attribute__((availability(ios,introduced=3.2,deprecated=8.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_8_2 __attribute__((availability(ios,introduced=3.2,deprecated=8.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_8_2_MSG(_msg) __attribute__((availability(ios,introduced=3.2,deprecated=8.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_8_2_MSG(_msg) __attribute__((availability(ios,introduced=3.2,deprecated=8.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_8_3 __attribute__((availability(ios,introduced=3.2,deprecated=8.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_8_3_MSG(_msg) __attribute__((availability(ios,introduced=3.2,deprecated=8.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_8_3_MSG(_msg) __attribute__((availability(ios,introduced=3.2,deprecated=8.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_8_4 __attribute__((availability(ios,introduced=3.2,deprecated=8.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_8_4_MSG(_msg) __attribute__((availability(ios,introduced=3.2,deprecated=8.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_8_4_MSG(_msg) __attribute__((availability(ios,introduced=3.2,deprecated=8.4))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_9_0 __attribute__((availability(ios,introduced=3.2,deprecated=9.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_9_0_MSG(_msg) __attribute__((availability(ios,introduced=3.2,deprecated=9.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_9_0_MSG(_msg) __attribute__((availability(ios,introduced=3.2,deprecated=9.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_9_1 __attribute__((availability(ios,introduced=3.2,deprecated=9.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_9_1_MSG(_msg) __attribute__((availability(ios,introduced=3.2,deprecated=9.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_9_1_MSG(_msg) __attribute__((availability(ios,introduced=3.2,deprecated=9.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_9_2 __attribute__((availability(ios,introduced=3.2,deprecated=9.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_9_2_MSG(_msg) __attribute__((availability(ios,introduced=3.2,deprecated=9.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_9_2_MSG(_msg) __attribute__((availability(ios,introduced=3.2,deprecated=9.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_9_3 __attribute__((availability(ios,introduced=3.2,deprecated=9.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_9_3_MSG(_msg) __attribute__((availability(ios,introduced=3.2,deprecated=9.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_9_3_MSG(_msg) __attribute__((availability(ios,introduced=3.2,deprecated=9.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_NA __attribute__((availability(ios,introduced=3.2))) - #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_NA_MSG(_msg) __attribute__((availability(ios,introduced=3.2))) - #define __AVAILABILITY_INTERNAL__IPHONE_4_0 __attribute__((availability(ios,introduced=4.0))) - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_10_0 __attribute__((availability(ios,introduced=4.0,deprecated=10.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_10_0_MSG(_msg) __attribute__((availability(ios,introduced=4.0,deprecated=10.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_10_0_MSG(_msg) __attribute__((availability(ios,introduced=4.0,deprecated=10.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_10_1 __attribute__((availability(ios,introduced=4.0,deprecated=10.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_10_1_MSG(_msg) __attribute__((availability(ios,introduced=4.0,deprecated=10.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_10_1_MSG(_msg) __attribute__((availability(ios,introduced=4.0,deprecated=10.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_10_2 __attribute__((availability(ios,introduced=4.0,deprecated=10.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_10_2_MSG(_msg) __attribute__((availability(ios,introduced=4.0,deprecated=10.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_10_2_MSG(_msg) __attribute__((availability(ios,introduced=4.0,deprecated=10.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_10_3 __attribute__((availability(ios,introduced=4.0,deprecated=10.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_10_3_MSG(_msg) __attribute__((availability(ios,introduced=4.0,deprecated=10.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_10_3_MSG(_msg) __attribute__((availability(ios,introduced=4.0,deprecated=10.3))) - #endif - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_12_0_MSG(_msg) __attribute__((availability(ios,introduced=4.0,deprecated=12.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_12_0_MSG(_msg) __attribute__((availability(ios,introduced=4.0,deprecated=12.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_4_0 __attribute__((availability(ios,introduced=4.0,deprecated=4.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_4_0_MSG(_msg) __attribute__((availability(ios,introduced=4.0,deprecated=4.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_4_0_MSG(_msg) __attribute__((availability(ios,introduced=4.0,deprecated=4.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_4_1 __attribute__((availability(ios,introduced=4.0,deprecated=4.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_4_1_MSG(_msg) __attribute__((availability(ios,introduced=4.0,deprecated=4.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_4_1_MSG(_msg) __attribute__((availability(ios,introduced=4.0,deprecated=4.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_4_2 __attribute__((availability(ios,introduced=4.0,deprecated=4.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_4_2_MSG(_msg) __attribute__((availability(ios,introduced=4.0,deprecated=4.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_4_2_MSG(_msg) __attribute__((availability(ios,introduced=4.0,deprecated=4.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_4_3 __attribute__((availability(ios,introduced=4.0,deprecated=4.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_4_3_MSG(_msg) __attribute__((availability(ios,introduced=4.0,deprecated=4.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_4_3_MSG(_msg) __attribute__((availability(ios,introduced=4.0,deprecated=4.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_5_0 __attribute__((availability(ios,introduced=4.0,deprecated=5.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_5_0_MSG(_msg) __attribute__((availability(ios,introduced=4.0,deprecated=5.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_5_0_MSG(_msg) __attribute__((availability(ios,introduced=4.0,deprecated=5.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_5_1 __attribute__((availability(ios,introduced=4.0,deprecated=5.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_5_1_MSG(_msg) __attribute__((availability(ios,introduced=4.0,deprecated=5.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_5_1_MSG(_msg) __attribute__((availability(ios,introduced=4.0,deprecated=5.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_6_0 __attribute__((availability(ios,introduced=4.0,deprecated=6.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_6_0_MSG(_msg) __attribute__((availability(ios,introduced=4.0,deprecated=6.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_6_0_MSG(_msg) __attribute__((availability(ios,introduced=4.0,deprecated=6.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_6_1 __attribute__((availability(ios,introduced=4.0,deprecated=6.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_6_1_MSG(_msg) __attribute__((availability(ios,introduced=4.0,deprecated=6.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_6_1_MSG(_msg) __attribute__((availability(ios,introduced=4.0,deprecated=6.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_7_0 __attribute__((availability(ios,introduced=4.0,deprecated=7.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_7_0_MSG(_msg) __attribute__((availability(ios,introduced=4.0,deprecated=7.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_7_0_MSG(_msg) __attribute__((availability(ios,introduced=4.0,deprecated=7.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_7_1 __attribute__((availability(ios,introduced=4.0,deprecated=7.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_7_1_MSG(_msg) __attribute__((availability(ios,introduced=4.0,deprecated=7.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_7_1_MSG(_msg) __attribute__((availability(ios,introduced=4.0,deprecated=7.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_8_0 __attribute__((availability(ios,introduced=4.0,deprecated=8.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_8_0_MSG(_msg) __attribute__((availability(ios,introduced=4.0,deprecated=8.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_8_0_MSG(_msg) __attribute__((availability(ios,introduced=4.0,deprecated=8.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_8_1 __attribute__((availability(ios,introduced=4.0,deprecated=8.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_8_1_MSG(_msg) __attribute__((availability(ios,introduced=4.0,deprecated=8.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_8_1_MSG(_msg) __attribute__((availability(ios,introduced=4.0,deprecated=8.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_8_2 __attribute__((availability(ios,introduced=4.0,deprecated=8.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_8_2_MSG(_msg) __attribute__((availability(ios,introduced=4.0,deprecated=8.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_8_2_MSG(_msg) __attribute__((availability(ios,introduced=4.0,deprecated=8.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_8_3 __attribute__((availability(ios,introduced=4.0,deprecated=8.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_8_3_MSG(_msg) __attribute__((availability(ios,introduced=4.0,deprecated=8.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_8_3_MSG(_msg) __attribute__((availability(ios,introduced=4.0,deprecated=8.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_8_4 __attribute__((availability(ios,introduced=4.0,deprecated=8.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_8_4_MSG(_msg) __attribute__((availability(ios,introduced=4.0,deprecated=8.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_8_4_MSG(_msg) __attribute__((availability(ios,introduced=4.0,deprecated=8.4))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_9_0 __attribute__((availability(ios,introduced=4.0,deprecated=9.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_9_0_MSG(_msg) __attribute__((availability(ios,introduced=4.0,deprecated=9.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_9_0_MSG(_msg) __attribute__((availability(ios,introduced=4.0,deprecated=9.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_9_1 __attribute__((availability(ios,introduced=4.0,deprecated=9.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_9_1_MSG(_msg) __attribute__((availability(ios,introduced=4.0,deprecated=9.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_9_1_MSG(_msg) __attribute__((availability(ios,introduced=4.0,deprecated=9.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_9_2 __attribute__((availability(ios,introduced=4.0,deprecated=9.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_9_2_MSG(_msg) __attribute__((availability(ios,introduced=4.0,deprecated=9.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_9_2_MSG(_msg) __attribute__((availability(ios,introduced=4.0,deprecated=9.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_9_3 __attribute__((availability(ios,introduced=4.0,deprecated=9.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_9_3_MSG(_msg) __attribute__((availability(ios,introduced=4.0,deprecated=9.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_9_3_MSG(_msg) __attribute__((availability(ios,introduced=4.0,deprecated=9.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_NA __attribute__((availability(ios,introduced=4.0))) - #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_NA_MSG(_msg) __attribute__((availability(ios,introduced=4.0))) - #define __AVAILABILITY_INTERNAL__IPHONE_4_1 __attribute__((availability(ios,introduced=4.1))) - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_10_0 __attribute__((availability(ios,introduced=4.1,deprecated=10.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_10_0_MSG(_msg) __attribute__((availability(ios,introduced=4.1,deprecated=10.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_10_0_MSG(_msg) __attribute__((availability(ios,introduced=4.1,deprecated=10.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_10_1 __attribute__((availability(ios,introduced=4.1,deprecated=10.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_10_1_MSG(_msg) __attribute__((availability(ios,introduced=4.1,deprecated=10.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_10_1_MSG(_msg) __attribute__((availability(ios,introduced=4.1,deprecated=10.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_10_2 __attribute__((availability(ios,introduced=4.1,deprecated=10.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_10_2_MSG(_msg) __attribute__((availability(ios,introduced=4.1,deprecated=10.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_10_2_MSG(_msg) __attribute__((availability(ios,introduced=4.1,deprecated=10.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_10_3 __attribute__((availability(ios,introduced=4.1,deprecated=10.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_10_3_MSG(_msg) __attribute__((availability(ios,introduced=4.1,deprecated=10.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_10_3_MSG(_msg) __attribute__((availability(ios,introduced=4.1,deprecated=10.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_4_1 __attribute__((availability(ios,introduced=4.1,deprecated=4.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_4_1_MSG(_msg) __attribute__((availability(ios,introduced=4.1,deprecated=4.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_4_1_MSG(_msg) __attribute__((availability(ios,introduced=4.1,deprecated=4.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_4_2 __attribute__((availability(ios,introduced=4.1,deprecated=4.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_4_2_MSG(_msg) __attribute__((availability(ios,introduced=4.1,deprecated=4.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_4_2_MSG(_msg) __attribute__((availability(ios,introduced=4.1,deprecated=4.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_4_3 __attribute__((availability(ios,introduced=4.1,deprecated=4.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_4_3_MSG(_msg) __attribute__((availability(ios,introduced=4.1,deprecated=4.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_4_3_MSG(_msg) __attribute__((availability(ios,introduced=4.1,deprecated=4.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_5_0 __attribute__((availability(ios,introduced=4.1,deprecated=5.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_5_0_MSG(_msg) __attribute__((availability(ios,introduced=4.1,deprecated=5.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_5_0_MSG(_msg) __attribute__((availability(ios,introduced=4.1,deprecated=5.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_5_1 __attribute__((availability(ios,introduced=4.1,deprecated=5.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_5_1_MSG(_msg) __attribute__((availability(ios,introduced=4.1,deprecated=5.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_5_1_MSG(_msg) __attribute__((availability(ios,introduced=4.1,deprecated=5.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_6_0 __attribute__((availability(ios,introduced=4.1,deprecated=6.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_6_0_MSG(_msg) __attribute__((availability(ios,introduced=4.1,deprecated=6.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_6_0_MSG(_msg) __attribute__((availability(ios,introduced=4.1,deprecated=6.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_6_1 __attribute__((availability(ios,introduced=4.1,deprecated=6.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_6_1_MSG(_msg) __attribute__((availability(ios,introduced=4.1,deprecated=6.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_6_1_MSG(_msg) __attribute__((availability(ios,introduced=4.1,deprecated=6.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_7_0 __attribute__((availability(ios,introduced=4.1,deprecated=7.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_7_0_MSG(_msg) __attribute__((availability(ios,introduced=4.1,deprecated=7.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_7_0_MSG(_msg) __attribute__((availability(ios,introduced=4.1,deprecated=7.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_7_1 __attribute__((availability(ios,introduced=4.1,deprecated=7.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_7_1_MSG(_msg) __attribute__((availability(ios,introduced=4.1,deprecated=7.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_7_1_MSG(_msg) __attribute__((availability(ios,introduced=4.1,deprecated=7.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_8_0 __attribute__((availability(ios,introduced=4.1,deprecated=8.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_8_0_MSG(_msg) __attribute__((availability(ios,introduced=4.1,deprecated=8.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_8_0_MSG(_msg) __attribute__((availability(ios,introduced=4.1,deprecated=8.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_8_1 __attribute__((availability(ios,introduced=4.1,deprecated=8.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_8_1_MSG(_msg) __attribute__((availability(ios,introduced=4.1,deprecated=8.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_8_1_MSG(_msg) __attribute__((availability(ios,introduced=4.1,deprecated=8.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_8_2 __attribute__((availability(ios,introduced=4.1,deprecated=8.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_8_2_MSG(_msg) __attribute__((availability(ios,introduced=4.1,deprecated=8.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_8_2_MSG(_msg) __attribute__((availability(ios,introduced=4.1,deprecated=8.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_8_3 __attribute__((availability(ios,introduced=4.1,deprecated=8.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_8_3_MSG(_msg) __attribute__((availability(ios,introduced=4.1,deprecated=8.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_8_3_MSG(_msg) __attribute__((availability(ios,introduced=4.1,deprecated=8.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_8_4 __attribute__((availability(ios,introduced=4.1,deprecated=8.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_8_4_MSG(_msg) __attribute__((availability(ios,introduced=4.1,deprecated=8.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_8_4_MSG(_msg) __attribute__((availability(ios,introduced=4.1,deprecated=8.4))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_9_0 __attribute__((availability(ios,introduced=4.1,deprecated=9.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_9_0_MSG(_msg) __attribute__((availability(ios,introduced=4.1,deprecated=9.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_9_0_MSG(_msg) __attribute__((availability(ios,introduced=4.1,deprecated=9.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_9_1 __attribute__((availability(ios,introduced=4.1,deprecated=9.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_9_1_MSG(_msg) __attribute__((availability(ios,introduced=4.1,deprecated=9.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_9_1_MSG(_msg) __attribute__((availability(ios,introduced=4.1,deprecated=9.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_9_2 __attribute__((availability(ios,introduced=4.1,deprecated=9.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_9_2_MSG(_msg) __attribute__((availability(ios,introduced=4.1,deprecated=9.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_9_2_MSG(_msg) __attribute__((availability(ios,introduced=4.1,deprecated=9.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_9_3 __attribute__((availability(ios,introduced=4.1,deprecated=9.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_9_3_MSG(_msg) __attribute__((availability(ios,introduced=4.1,deprecated=9.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_9_3_MSG(_msg) __attribute__((availability(ios,introduced=4.1,deprecated=9.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_NA __attribute__((availability(ios,introduced=4.1))) - #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_NA_MSG(_msg) __attribute__((availability(ios,introduced=4.1))) - #define __AVAILABILITY_INTERNAL__IPHONE_4_2 __attribute__((availability(ios,introduced=4.2))) - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_10_0 __attribute__((availability(ios,introduced=4.2,deprecated=10.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_10_0_MSG(_msg) __attribute__((availability(ios,introduced=4.2,deprecated=10.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_10_0_MSG(_msg) __attribute__((availability(ios,introduced=4.2,deprecated=10.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_10_1 __attribute__((availability(ios,introduced=4.2,deprecated=10.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_10_1_MSG(_msg) __attribute__((availability(ios,introduced=4.2,deprecated=10.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_10_1_MSG(_msg) __attribute__((availability(ios,introduced=4.2,deprecated=10.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_10_2 __attribute__((availability(ios,introduced=4.2,deprecated=10.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_10_2_MSG(_msg) __attribute__((availability(ios,introduced=4.2,deprecated=10.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_10_2_MSG(_msg) __attribute__((availability(ios,introduced=4.2,deprecated=10.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_10_3 __attribute__((availability(ios,introduced=4.2,deprecated=10.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_10_3_MSG(_msg) __attribute__((availability(ios,introduced=4.2,deprecated=10.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_10_3_MSG(_msg) __attribute__((availability(ios,introduced=4.2,deprecated=10.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_4_2 __attribute__((availability(ios,introduced=4.2,deprecated=4.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_4_2_MSG(_msg) __attribute__((availability(ios,introduced=4.2,deprecated=4.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_4_2_MSG(_msg) __attribute__((availability(ios,introduced=4.2,deprecated=4.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_4_3 __attribute__((availability(ios,introduced=4.2,deprecated=4.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_4_3_MSG(_msg) __attribute__((availability(ios,introduced=4.2,deprecated=4.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_4_3_MSG(_msg) __attribute__((availability(ios,introduced=4.2,deprecated=4.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_5_0 __attribute__((availability(ios,introduced=4.2,deprecated=5.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_5_0_MSG(_msg) __attribute__((availability(ios,introduced=4.2,deprecated=5.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_5_0_MSG(_msg) __attribute__((availability(ios,introduced=4.2,deprecated=5.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_5_1 __attribute__((availability(ios,introduced=4.2,deprecated=5.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_5_1_MSG(_msg) __attribute__((availability(ios,introduced=4.2,deprecated=5.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_5_1_MSG(_msg) __attribute__((availability(ios,introduced=4.2,deprecated=5.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_6_0 __attribute__((availability(ios,introduced=4.2,deprecated=6.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_6_0_MSG(_msg) __attribute__((availability(ios,introduced=4.2,deprecated=6.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_6_0_MSG(_msg) __attribute__((availability(ios,introduced=4.2,deprecated=6.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_6_1 __attribute__((availability(ios,introduced=4.2,deprecated=6.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_6_1_MSG(_msg) __attribute__((availability(ios,introduced=4.2,deprecated=6.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_6_1_MSG(_msg) __attribute__((availability(ios,introduced=4.2,deprecated=6.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_7_0 __attribute__((availability(ios,introduced=4.2,deprecated=7.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_7_0_MSG(_msg) __attribute__((availability(ios,introduced=4.2,deprecated=7.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_7_0_MSG(_msg) __attribute__((availability(ios,introduced=4.2,deprecated=7.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_7_1 __attribute__((availability(ios,introduced=4.2,deprecated=7.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_7_1_MSG(_msg) __attribute__((availability(ios,introduced=4.2,deprecated=7.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_7_1_MSG(_msg) __attribute__((availability(ios,introduced=4.2,deprecated=7.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_8_0 __attribute__((availability(ios,introduced=4.2,deprecated=8.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_8_0_MSG(_msg) __attribute__((availability(ios,introduced=4.2,deprecated=8.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_8_0_MSG(_msg) __attribute__((availability(ios,introduced=4.2,deprecated=8.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_8_1 __attribute__((availability(ios,introduced=4.2,deprecated=8.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_8_1_MSG(_msg) __attribute__((availability(ios,introduced=4.2,deprecated=8.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_8_1_MSG(_msg) __attribute__((availability(ios,introduced=4.2,deprecated=8.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_8_2 __attribute__((availability(ios,introduced=4.2,deprecated=8.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_8_2_MSG(_msg) __attribute__((availability(ios,introduced=4.2,deprecated=8.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_8_2_MSG(_msg) __attribute__((availability(ios,introduced=4.2,deprecated=8.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_8_3 __attribute__((availability(ios,introduced=4.2,deprecated=8.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_8_3_MSG(_msg) __attribute__((availability(ios,introduced=4.2,deprecated=8.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_8_3_MSG(_msg) __attribute__((availability(ios,introduced=4.2,deprecated=8.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_8_4 __attribute__((availability(ios,introduced=4.2,deprecated=8.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_8_4_MSG(_msg) __attribute__((availability(ios,introduced=4.2,deprecated=8.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_8_4_MSG(_msg) __attribute__((availability(ios,introduced=4.2,deprecated=8.4))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_9_0 __attribute__((availability(ios,introduced=4.2,deprecated=9.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_9_0_MSG(_msg) __attribute__((availability(ios,introduced=4.2,deprecated=9.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_9_0_MSG(_msg) __attribute__((availability(ios,introduced=4.2,deprecated=9.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_9_1 __attribute__((availability(ios,introduced=4.2,deprecated=9.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_9_1_MSG(_msg) __attribute__((availability(ios,introduced=4.2,deprecated=9.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_9_1_MSG(_msg) __attribute__((availability(ios,introduced=4.2,deprecated=9.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_9_2 __attribute__((availability(ios,introduced=4.2,deprecated=9.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_9_2_MSG(_msg) __attribute__((availability(ios,introduced=4.2,deprecated=9.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_9_2_MSG(_msg) __attribute__((availability(ios,introduced=4.2,deprecated=9.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_9_3 __attribute__((availability(ios,introduced=4.2,deprecated=9.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_9_3_MSG(_msg) __attribute__((availability(ios,introduced=4.2,deprecated=9.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_9_3_MSG(_msg) __attribute__((availability(ios,introduced=4.2,deprecated=9.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_NA __attribute__((availability(ios,introduced=4.2))) - #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_NA_MSG(_msg) __attribute__((availability(ios,introduced=4.2))) - #define __AVAILABILITY_INTERNAL__IPHONE_4_3 __attribute__((availability(ios,introduced=4.3))) - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_10_0 __attribute__((availability(ios,introduced=4.3,deprecated=10.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_10_0_MSG(_msg) __attribute__((availability(ios,introduced=4.3,deprecated=10.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_10_0_MSG(_msg) __attribute__((availability(ios,introduced=4.3,deprecated=10.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_10_1 __attribute__((availability(ios,introduced=4.3,deprecated=10.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_10_1_MSG(_msg) __attribute__((availability(ios,introduced=4.3,deprecated=10.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_10_1_MSG(_msg) __attribute__((availability(ios,introduced=4.3,deprecated=10.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_10_2 __attribute__((availability(ios,introduced=4.3,deprecated=10.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_10_2_MSG(_msg) __attribute__((availability(ios,introduced=4.3,deprecated=10.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_10_2_MSG(_msg) __attribute__((availability(ios,introduced=4.3,deprecated=10.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_10_3 __attribute__((availability(ios,introduced=4.3,deprecated=10.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_10_3_MSG(_msg) __attribute__((availability(ios,introduced=4.3,deprecated=10.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_10_3_MSG(_msg) __attribute__((availability(ios,introduced=4.3,deprecated=10.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_4_3 __attribute__((availability(ios,introduced=4.3,deprecated=4.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_4_3_MSG(_msg) __attribute__((availability(ios,introduced=4.3,deprecated=4.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_4_3_MSG(_msg) __attribute__((availability(ios,introduced=4.3,deprecated=4.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_5_0 __attribute__((availability(ios,introduced=4.3,deprecated=5.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_5_0_MSG(_msg) __attribute__((availability(ios,introduced=4.3,deprecated=5.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_5_0_MSG(_msg) __attribute__((availability(ios,introduced=4.3,deprecated=5.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_5_1 __attribute__((availability(ios,introduced=4.3,deprecated=5.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_5_1_MSG(_msg) __attribute__((availability(ios,introduced=4.3,deprecated=5.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_5_1_MSG(_msg) __attribute__((availability(ios,introduced=4.3,deprecated=5.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_6_0 __attribute__((availability(ios,introduced=4.3,deprecated=6.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_6_0_MSG(_msg) __attribute__((availability(ios,introduced=4.3,deprecated=6.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_6_0_MSG(_msg) __attribute__((availability(ios,introduced=4.3,deprecated=6.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_6_1 __attribute__((availability(ios,introduced=4.3,deprecated=6.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_6_1_MSG(_msg) __attribute__((availability(ios,introduced=4.3,deprecated=6.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_6_1_MSG(_msg) __attribute__((availability(ios,introduced=4.3,deprecated=6.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_7_0 __attribute__((availability(ios,introduced=4.3,deprecated=7.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_7_0_MSG(_msg) __attribute__((availability(ios,introduced=4.3,deprecated=7.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_7_0_MSG(_msg) __attribute__((availability(ios,introduced=4.3,deprecated=7.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_7_1 __attribute__((availability(ios,introduced=4.3,deprecated=7.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_7_1_MSG(_msg) __attribute__((availability(ios,introduced=4.3,deprecated=7.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_7_1_MSG(_msg) __attribute__((availability(ios,introduced=4.3,deprecated=7.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_8_0 __attribute__((availability(ios,introduced=4.3,deprecated=8.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_8_0_MSG(_msg) __attribute__((availability(ios,introduced=4.3,deprecated=8.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_8_0_MSG(_msg) __attribute__((availability(ios,introduced=4.3,deprecated=8.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_8_1 __attribute__((availability(ios,introduced=4.3,deprecated=8.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_8_1_MSG(_msg) __attribute__((availability(ios,introduced=4.3,deprecated=8.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_8_1_MSG(_msg) __attribute__((availability(ios,introduced=4.3,deprecated=8.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_8_2 __attribute__((availability(ios,introduced=4.3,deprecated=8.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_8_2_MSG(_msg) __attribute__((availability(ios,introduced=4.3,deprecated=8.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_8_2_MSG(_msg) __attribute__((availability(ios,introduced=4.3,deprecated=8.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_8_3 __attribute__((availability(ios,introduced=4.3,deprecated=8.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_8_3_MSG(_msg) __attribute__((availability(ios,introduced=4.3,deprecated=8.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_8_3_MSG(_msg) __attribute__((availability(ios,introduced=4.3,deprecated=8.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_8_4 __attribute__((availability(ios,introduced=4.3,deprecated=8.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_8_4_MSG(_msg) __attribute__((availability(ios,introduced=4.3,deprecated=8.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_8_4_MSG(_msg) __attribute__((availability(ios,introduced=4.3,deprecated=8.4))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_9_0 __attribute__((availability(ios,introduced=4.3,deprecated=9.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_9_0_MSG(_msg) __attribute__((availability(ios,introduced=4.3,deprecated=9.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_9_0_MSG(_msg) __attribute__((availability(ios,introduced=4.3,deprecated=9.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_9_1 __attribute__((availability(ios,introduced=4.3,deprecated=9.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_9_1_MSG(_msg) __attribute__((availability(ios,introduced=4.3,deprecated=9.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_9_1_MSG(_msg) __attribute__((availability(ios,introduced=4.3,deprecated=9.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_9_2 __attribute__((availability(ios,introduced=4.3,deprecated=9.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_9_2_MSG(_msg) __attribute__((availability(ios,introduced=4.3,deprecated=9.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_9_2_MSG(_msg) __attribute__((availability(ios,introduced=4.3,deprecated=9.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_9_3 __attribute__((availability(ios,introduced=4.3,deprecated=9.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_9_3_MSG(_msg) __attribute__((availability(ios,introduced=4.3,deprecated=9.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_9_3_MSG(_msg) __attribute__((availability(ios,introduced=4.3,deprecated=9.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_NA __attribute__((availability(ios,introduced=4.3))) - #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_NA_MSG(_msg) __attribute__((availability(ios,introduced=4.3))) - #define __AVAILABILITY_INTERNAL__IPHONE_5_0 __attribute__((availability(ios,introduced=5.0))) - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_10_0 __attribute__((availability(ios,introduced=5.0,deprecated=10.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_10_0_MSG(_msg) __attribute__((availability(ios,introduced=5.0,deprecated=10.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_10_0_MSG(_msg) __attribute__((availability(ios,introduced=5.0,deprecated=10.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_10_1 __attribute__((availability(ios,introduced=5.0,deprecated=10.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_10_1_MSG(_msg) __attribute__((availability(ios,introduced=5.0,deprecated=10.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_10_1_MSG(_msg) __attribute__((availability(ios,introduced=5.0,deprecated=10.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_10_2 __attribute__((availability(ios,introduced=5.0,deprecated=10.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_10_2_MSG(_msg) __attribute__((availability(ios,introduced=5.0,deprecated=10.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_10_2_MSG(_msg) __attribute__((availability(ios,introduced=5.0,deprecated=10.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_10_3 __attribute__((availability(ios,introduced=5.0,deprecated=10.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_10_3_MSG(_msg) __attribute__((availability(ios,introduced=5.0,deprecated=10.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_10_3_MSG(_msg) __attribute__((availability(ios,introduced=5.0,deprecated=10.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_11_0 __attribute__((availability(ios,introduced=5.0,deprecated=11.0))) - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_5_0 __attribute__((availability(ios,introduced=5.0,deprecated=5.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_5_0_MSG(_msg) __attribute__((availability(ios,introduced=5.0,deprecated=5.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_5_0_MSG(_msg) __attribute__((availability(ios,introduced=5.0,deprecated=5.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_5_1 __attribute__((availability(ios,introduced=5.0,deprecated=5.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_5_1_MSG(_msg) __attribute__((availability(ios,introduced=5.0,deprecated=5.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_5_1_MSG(_msg) __attribute__((availability(ios,introduced=5.0,deprecated=5.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_6_0 __attribute__((availability(ios,introduced=5.0,deprecated=6.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_6_0_MSG(_msg) __attribute__((availability(ios,introduced=5.0,deprecated=6.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_6_0_MSG(_msg) __attribute__((availability(ios,introduced=5.0,deprecated=6.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_6_1 __attribute__((availability(ios,introduced=5.0,deprecated=6.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_6_1_MSG(_msg) __attribute__((availability(ios,introduced=5.0,deprecated=6.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_6_1_MSG(_msg) __attribute__((availability(ios,introduced=5.0,deprecated=6.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_7_0 __attribute__((availability(ios,introduced=5.0,deprecated=7.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_7_0_MSG(_msg) __attribute__((availability(ios,introduced=5.0,deprecated=7.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_7_0_MSG(_msg) __attribute__((availability(ios,introduced=5.0,deprecated=7.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_7_1 __attribute__((availability(ios,introduced=5.0,deprecated=7.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_7_1_MSG(_msg) __attribute__((availability(ios,introduced=5.0,deprecated=7.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_7_1_MSG(_msg) __attribute__((availability(ios,introduced=5.0,deprecated=7.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_8_0 __attribute__((availability(ios,introduced=5.0,deprecated=8.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_8_0_MSG(_msg) __attribute__((availability(ios,introduced=5.0,deprecated=8.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_8_0_MSG(_msg) __attribute__((availability(ios,introduced=5.0,deprecated=8.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_8_1 __attribute__((availability(ios,introduced=5.0,deprecated=8.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_8_1_MSG(_msg) __attribute__((availability(ios,introduced=5.0,deprecated=8.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_8_1_MSG(_msg) __attribute__((availability(ios,introduced=5.0,deprecated=8.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_8_2 __attribute__((availability(ios,introduced=5.0,deprecated=8.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_8_2_MSG(_msg) __attribute__((availability(ios,introduced=5.0,deprecated=8.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_8_2_MSG(_msg) __attribute__((availability(ios,introduced=5.0,deprecated=8.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_8_3 __attribute__((availability(ios,introduced=5.0,deprecated=8.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_8_3_MSG(_msg) __attribute__((availability(ios,introduced=5.0,deprecated=8.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_8_3_MSG(_msg) __attribute__((availability(ios,introduced=5.0,deprecated=8.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_8_4 __attribute__((availability(ios,introduced=5.0,deprecated=8.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_8_4_MSG(_msg) __attribute__((availability(ios,introduced=5.0,deprecated=8.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_8_4_MSG(_msg) __attribute__((availability(ios,introduced=5.0,deprecated=8.4))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_9_0 __attribute__((availability(ios,introduced=5.0,deprecated=9.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_9_0_MSG(_msg) __attribute__((availability(ios,introduced=5.0,deprecated=9.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_9_0_MSG(_msg) __attribute__((availability(ios,introduced=5.0,deprecated=9.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_9_1 __attribute__((availability(ios,introduced=5.0,deprecated=9.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_9_1_MSG(_msg) __attribute__((availability(ios,introduced=5.0,deprecated=9.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_9_1_MSG(_msg) __attribute__((availability(ios,introduced=5.0,deprecated=9.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_9_2 __attribute__((availability(ios,introduced=5.0,deprecated=9.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_9_2_MSG(_msg) __attribute__((availability(ios,introduced=5.0,deprecated=9.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_9_2_MSG(_msg) __attribute__((availability(ios,introduced=5.0,deprecated=9.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_9_3 __attribute__((availability(ios,introduced=5.0,deprecated=9.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_9_3_MSG(_msg) __attribute__((availability(ios,introduced=5.0,deprecated=9.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_9_3_MSG(_msg) __attribute__((availability(ios,introduced=5.0,deprecated=9.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_NA __attribute__((availability(ios,introduced=5.0))) - #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_NA_MSG(_msg) __attribute__((availability(ios,introduced=5.0))) - #define __AVAILABILITY_INTERNAL__IPHONE_5_1 __attribute__((availability(ios,introduced=5.1))) - #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_10_0 __attribute__((availability(ios,introduced=5.1,deprecated=10.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_10_0_MSG(_msg) __attribute__((availability(ios,introduced=5.1,deprecated=10.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_10_0_MSG(_msg) __attribute__((availability(ios,introduced=5.1,deprecated=10.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_10_1 __attribute__((availability(ios,introduced=5.1,deprecated=10.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_10_1_MSG(_msg) __attribute__((availability(ios,introduced=5.1,deprecated=10.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_10_1_MSG(_msg) __attribute__((availability(ios,introduced=5.1,deprecated=10.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_10_2 __attribute__((availability(ios,introduced=5.1,deprecated=10.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_10_2_MSG(_msg) __attribute__((availability(ios,introduced=5.1,deprecated=10.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_10_2_MSG(_msg) __attribute__((availability(ios,introduced=5.1,deprecated=10.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_10_3 __attribute__((availability(ios,introduced=5.1,deprecated=10.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_10_3_MSG(_msg) __attribute__((availability(ios,introduced=5.1,deprecated=10.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_10_3_MSG(_msg) __attribute__((availability(ios,introduced=5.1,deprecated=10.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_5_1 __attribute__((availability(ios,introduced=5.1,deprecated=5.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_5_1_MSG(_msg) __attribute__((availability(ios,introduced=5.1,deprecated=5.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_5_1_MSG(_msg) __attribute__((availability(ios,introduced=5.1,deprecated=5.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_6_0 __attribute__((availability(ios,introduced=5.1,deprecated=6.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_6_0_MSG(_msg) __attribute__((availability(ios,introduced=5.1,deprecated=6.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_6_0_MSG(_msg) __attribute__((availability(ios,introduced=5.1,deprecated=6.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_6_1 __attribute__((availability(ios,introduced=5.1,deprecated=6.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_6_1_MSG(_msg) __attribute__((availability(ios,introduced=5.1,deprecated=6.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_6_1_MSG(_msg) __attribute__((availability(ios,introduced=5.1,deprecated=6.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_7_0 __attribute__((availability(ios,introduced=5.1,deprecated=7.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_7_0_MSG(_msg) __attribute__((availability(ios,introduced=5.1,deprecated=7.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_7_0_MSG(_msg) __attribute__((availability(ios,introduced=5.1,deprecated=7.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_7_1 __attribute__((availability(ios,introduced=5.1,deprecated=7.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_7_1_MSG(_msg) __attribute__((availability(ios,introduced=5.1,deprecated=7.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_7_1_MSG(_msg) __attribute__((availability(ios,introduced=5.1,deprecated=7.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_8_0 __attribute__((availability(ios,introduced=5.1,deprecated=8.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_8_0_MSG(_msg) __attribute__((availability(ios,introduced=5.1,deprecated=8.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_8_0_MSG(_msg) __attribute__((availability(ios,introduced=5.1,deprecated=8.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_8_1 __attribute__((availability(ios,introduced=5.1,deprecated=8.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_8_1_MSG(_msg) __attribute__((availability(ios,introduced=5.1,deprecated=8.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_8_1_MSG(_msg) __attribute__((availability(ios,introduced=5.1,deprecated=8.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_8_2 __attribute__((availability(ios,introduced=5.1,deprecated=8.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_8_2_MSG(_msg) __attribute__((availability(ios,introduced=5.1,deprecated=8.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_8_2_MSG(_msg) __attribute__((availability(ios,introduced=5.1,deprecated=8.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_8_3 __attribute__((availability(ios,introduced=5.1,deprecated=8.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_8_3_MSG(_msg) __attribute__((availability(ios,introduced=5.1,deprecated=8.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_8_3_MSG(_msg) __attribute__((availability(ios,introduced=5.1,deprecated=8.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_8_4 __attribute__((availability(ios,introduced=5.1,deprecated=8.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_8_4_MSG(_msg) __attribute__((availability(ios,introduced=5.1,deprecated=8.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_8_4_MSG(_msg) __attribute__((availability(ios,introduced=5.1,deprecated=8.4))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_9_0 __attribute__((availability(ios,introduced=5.1,deprecated=9.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_9_0_MSG(_msg) __attribute__((availability(ios,introduced=5.1,deprecated=9.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_9_0_MSG(_msg) __attribute__((availability(ios,introduced=5.1,deprecated=9.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_9_1 __attribute__((availability(ios,introduced=5.1,deprecated=9.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_9_1_MSG(_msg) __attribute__((availability(ios,introduced=5.1,deprecated=9.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_9_1_MSG(_msg) __attribute__((availability(ios,introduced=5.1,deprecated=9.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_9_2 __attribute__((availability(ios,introduced=5.1,deprecated=9.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_9_2_MSG(_msg) __attribute__((availability(ios,introduced=5.1,deprecated=9.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_9_2_MSG(_msg) __attribute__((availability(ios,introduced=5.1,deprecated=9.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_9_3 __attribute__((availability(ios,introduced=5.1,deprecated=9.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_9_3_MSG(_msg) __attribute__((availability(ios,introduced=5.1,deprecated=9.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_9_3_MSG(_msg) __attribute__((availability(ios,introduced=5.1,deprecated=9.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_NA __attribute__((availability(ios,introduced=5.1))) - #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_NA_MSG(_msg) __attribute__((availability(ios,introduced=5.1))) - #define __AVAILABILITY_INTERNAL__IPHONE_6_0 __attribute__((availability(ios,introduced=6.0))) - #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_10_0 __attribute__((availability(ios,introduced=6.0,deprecated=10.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_10_0_MSG(_msg) __attribute__((availability(ios,introduced=6.0,deprecated=10.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_10_0_MSG(_msg) __attribute__((availability(ios,introduced=6.0,deprecated=10.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_10_1 __attribute__((availability(ios,introduced=6.0,deprecated=10.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_10_1_MSG(_msg) __attribute__((availability(ios,introduced=6.0,deprecated=10.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_10_1_MSG(_msg) __attribute__((availability(ios,introduced=6.0,deprecated=10.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_10_2 __attribute__((availability(ios,introduced=6.0,deprecated=10.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_10_2_MSG(_msg) __attribute__((availability(ios,introduced=6.0,deprecated=10.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_10_2_MSG(_msg) __attribute__((availability(ios,introduced=6.0,deprecated=10.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_10_3 __attribute__((availability(ios,introduced=6.0,deprecated=10.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_10_3_MSG(_msg) __attribute__((availability(ios,introduced=6.0,deprecated=10.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_10_3_MSG(_msg) __attribute__((availability(ios,introduced=6.0,deprecated=10.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_6_0 __attribute__((availability(ios,introduced=6.0,deprecated=6.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_6_0_MSG(_msg) __attribute__((availability(ios,introduced=6.0,deprecated=6.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_6_0_MSG(_msg) __attribute__((availability(ios,introduced=6.0,deprecated=6.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_6_1 __attribute__((availability(ios,introduced=6.0,deprecated=6.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_6_1_MSG(_msg) __attribute__((availability(ios,introduced=6.0,deprecated=6.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_6_1_MSG(_msg) __attribute__((availability(ios,introduced=6.0,deprecated=6.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_7_0 __attribute__((availability(ios,introduced=6.0,deprecated=7.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_7_0_MSG(_msg) __attribute__((availability(ios,introduced=6.0,deprecated=7.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_7_0_MSG(_msg) __attribute__((availability(ios,introduced=6.0,deprecated=7.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_7_1 __attribute__((availability(ios,introduced=6.0,deprecated=7.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_7_1_MSG(_msg) __attribute__((availability(ios,introduced=6.0,deprecated=7.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_7_1_MSG(_msg) __attribute__((availability(ios,introduced=6.0,deprecated=7.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_8_0 __attribute__((availability(ios,introduced=6.0,deprecated=8.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_8_0_MSG(_msg) __attribute__((availability(ios,introduced=6.0,deprecated=8.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_8_0_MSG(_msg) __attribute__((availability(ios,introduced=6.0,deprecated=8.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_8_1 __attribute__((availability(ios,introduced=6.0,deprecated=8.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_8_1_MSG(_msg) __attribute__((availability(ios,introduced=6.0,deprecated=8.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_8_1_MSG(_msg) __attribute__((availability(ios,introduced=6.0,deprecated=8.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_8_2 __attribute__((availability(ios,introduced=6.0,deprecated=8.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_8_2_MSG(_msg) __attribute__((availability(ios,introduced=6.0,deprecated=8.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_8_2_MSG(_msg) __attribute__((availability(ios,introduced=6.0,deprecated=8.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_8_3 __attribute__((availability(ios,introduced=6.0,deprecated=8.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_8_3_MSG(_msg) __attribute__((availability(ios,introduced=6.0,deprecated=8.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_8_3_MSG(_msg) __attribute__((availability(ios,introduced=6.0,deprecated=8.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_8_4 __attribute__((availability(ios,introduced=6.0,deprecated=8.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_8_4_MSG(_msg) __attribute__((availability(ios,introduced=6.0,deprecated=8.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_8_4_MSG(_msg) __attribute__((availability(ios,introduced=6.0,deprecated=8.4))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_9_0 __attribute__((availability(ios,introduced=6.0,deprecated=9.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_9_0_MSG(_msg) __attribute__((availability(ios,introduced=6.0,deprecated=9.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_9_0_MSG(_msg) __attribute__((availability(ios,introduced=6.0,deprecated=9.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_9_1 __attribute__((availability(ios,introduced=6.0,deprecated=9.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_9_1_MSG(_msg) __attribute__((availability(ios,introduced=6.0,deprecated=9.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_9_1_MSG(_msg) __attribute__((availability(ios,introduced=6.0,deprecated=9.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_9_2 __attribute__((availability(ios,introduced=6.0,deprecated=9.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_9_2_MSG(_msg) __attribute__((availability(ios,introduced=6.0,deprecated=9.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_9_2_MSG(_msg) __attribute__((availability(ios,introduced=6.0,deprecated=9.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_9_3 __attribute__((availability(ios,introduced=6.0,deprecated=9.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_9_3_MSG(_msg) __attribute__((availability(ios,introduced=6.0,deprecated=9.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_9_3_MSG(_msg) __attribute__((availability(ios,introduced=6.0,deprecated=9.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_NA __attribute__((availability(ios,introduced=6.0))) - #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_NA_MSG(_msg) __attribute__((availability(ios,introduced=6.0))) - #define __AVAILABILITY_INTERNAL__IPHONE_6_1 __attribute__((availability(ios,introduced=6.1))) - #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_10_0 __attribute__((availability(ios,introduced=6.1,deprecated=10.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_10_0_MSG(_msg) __attribute__((availability(ios,introduced=6.1,deprecated=10.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_10_0_MSG(_msg) __attribute__((availability(ios,introduced=6.1,deprecated=10.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_10_1 __attribute__((availability(ios,introduced=6.1,deprecated=10.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_10_1_MSG(_msg) __attribute__((availability(ios,introduced=6.1,deprecated=10.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_10_1_MSG(_msg) __attribute__((availability(ios,introduced=6.1,deprecated=10.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_10_2 __attribute__((availability(ios,introduced=6.1,deprecated=10.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_10_2_MSG(_msg) __attribute__((availability(ios,introduced=6.1,deprecated=10.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_10_2_MSG(_msg) __attribute__((availability(ios,introduced=6.1,deprecated=10.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_10_3 __attribute__((availability(ios,introduced=6.1,deprecated=10.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_10_3_MSG(_msg) __attribute__((availability(ios,introduced=6.1,deprecated=10.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_10_3_MSG(_msg) __attribute__((availability(ios,introduced=6.1,deprecated=10.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_6_1 __attribute__((availability(ios,introduced=6.1,deprecated=6.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_6_1_MSG(_msg) __attribute__((availability(ios,introduced=6.1,deprecated=6.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_6_1_MSG(_msg) __attribute__((availability(ios,introduced=6.1,deprecated=6.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_7_0 __attribute__((availability(ios,introduced=6.1,deprecated=7.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_7_0_MSG(_msg) __attribute__((availability(ios,introduced=6.1,deprecated=7.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_7_0_MSG(_msg) __attribute__((availability(ios,introduced=6.1,deprecated=7.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_7_1 __attribute__((availability(ios,introduced=6.1,deprecated=7.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_7_1_MSG(_msg) __attribute__((availability(ios,introduced=6.1,deprecated=7.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_7_1_MSG(_msg) __attribute__((availability(ios,introduced=6.1,deprecated=7.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_8_0 __attribute__((availability(ios,introduced=6.1,deprecated=8.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_8_0_MSG(_msg) __attribute__((availability(ios,introduced=6.1,deprecated=8.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_8_0_MSG(_msg) __attribute__((availability(ios,introduced=6.1,deprecated=8.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_8_1 __attribute__((availability(ios,introduced=6.1,deprecated=8.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_8_1_MSG(_msg) __attribute__((availability(ios,introduced=6.1,deprecated=8.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_8_1_MSG(_msg) __attribute__((availability(ios,introduced=6.1,deprecated=8.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_8_2 __attribute__((availability(ios,introduced=6.1,deprecated=8.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_8_2_MSG(_msg) __attribute__((availability(ios,introduced=6.1,deprecated=8.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_8_2_MSG(_msg) __attribute__((availability(ios,introduced=6.1,deprecated=8.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_8_3 __attribute__((availability(ios,introduced=6.1,deprecated=8.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_8_3_MSG(_msg) __attribute__((availability(ios,introduced=6.1,deprecated=8.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_8_3_MSG(_msg) __attribute__((availability(ios,introduced=6.1,deprecated=8.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_8_4 __attribute__((availability(ios,introduced=6.1,deprecated=8.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_8_4_MSG(_msg) __attribute__((availability(ios,introduced=6.1,deprecated=8.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_8_4_MSG(_msg) __attribute__((availability(ios,introduced=6.1,deprecated=8.4))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_9_0 __attribute__((availability(ios,introduced=6.1,deprecated=9.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_9_0_MSG(_msg) __attribute__((availability(ios,introduced=6.1,deprecated=9.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_9_0_MSG(_msg) __attribute__((availability(ios,introduced=6.1,deprecated=9.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_9_1 __attribute__((availability(ios,introduced=6.1,deprecated=9.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_9_1_MSG(_msg) __attribute__((availability(ios,introduced=6.1,deprecated=9.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_9_1_MSG(_msg) __attribute__((availability(ios,introduced=6.1,deprecated=9.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_9_2 __attribute__((availability(ios,introduced=6.1,deprecated=9.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_9_2_MSG(_msg) __attribute__((availability(ios,introduced=6.1,deprecated=9.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_9_2_MSG(_msg) __attribute__((availability(ios,introduced=6.1,deprecated=9.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_9_3 __attribute__((availability(ios,introduced=6.1,deprecated=9.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_9_3_MSG(_msg) __attribute__((availability(ios,introduced=6.1,deprecated=9.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_9_3_MSG(_msg) __attribute__((availability(ios,introduced=6.1,deprecated=9.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_NA __attribute__((availability(ios,introduced=6.1))) - #define __AVAILABILITY_INTERNAL__IPHONE_6_1_DEP__IPHONE_NA_MSG(_msg) __attribute__((availability(ios,introduced=6.1))) - #define __AVAILABILITY_INTERNAL__IPHONE_7_0 __attribute__((availability(ios,introduced=7.0))) - #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_10_0 __attribute__((availability(ios,introduced=7.0,deprecated=10.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_10_0_MSG(_msg) __attribute__((availability(ios,introduced=7.0,deprecated=10.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_10_0_MSG(_msg) __attribute__((availability(ios,introduced=7.0,deprecated=10.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_10_1 __attribute__((availability(ios,introduced=7.0,deprecated=10.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_10_1_MSG(_msg) __attribute__((availability(ios,introduced=7.0,deprecated=10.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_10_1_MSG(_msg) __attribute__((availability(ios,introduced=7.0,deprecated=10.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_10_2 __attribute__((availability(ios,introduced=7.0,deprecated=10.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_10_2_MSG(_msg) __attribute__((availability(ios,introduced=7.0,deprecated=10.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_10_2_MSG(_msg) __attribute__((availability(ios,introduced=7.0,deprecated=10.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_10_3 __attribute__((availability(ios,introduced=7.0,deprecated=10.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_10_3_MSG(_msg) __attribute__((availability(ios,introduced=7.0,deprecated=10.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_10_3_MSG(_msg) __attribute__((availability(ios,introduced=7.0,deprecated=10.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_11_0 __attribute__((availability(ios,introduced=7.0,deprecated=11.0))) - #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_11_3 __attribute__((availability(ios,introduced=7.0,deprecated=11.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_12_0_MSG(_msg) __attribute__((availability(ios,introduced=7.0,deprecated=12.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_12_0_MSG(_msg) __attribute__((availability(ios,introduced=7.0,deprecated=12.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_7_0 __attribute__((availability(ios,introduced=7.0,deprecated=7.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_7_0_MSG(_msg) __attribute__((availability(ios,introduced=7.0,deprecated=7.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_7_0_MSG(_msg) __attribute__((availability(ios,introduced=7.0,deprecated=7.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_7_1 __attribute__((availability(ios,introduced=7.0,deprecated=7.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_7_1_MSG(_msg) __attribute__((availability(ios,introduced=7.0,deprecated=7.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_7_1_MSG(_msg) __attribute__((availability(ios,introduced=7.0,deprecated=7.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_8_0 __attribute__((availability(ios,introduced=7.0,deprecated=8.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_8_0_MSG(_msg) __attribute__((availability(ios,introduced=7.0,deprecated=8.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_8_0_MSG(_msg) __attribute__((availability(ios,introduced=7.0,deprecated=8.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_8_1 __attribute__((availability(ios,introduced=7.0,deprecated=8.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_8_1_MSG(_msg) __attribute__((availability(ios,introduced=7.0,deprecated=8.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_8_1_MSG(_msg) __attribute__((availability(ios,introduced=7.0,deprecated=8.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_8_2 __attribute__((availability(ios,introduced=7.0,deprecated=8.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_8_2_MSG(_msg) __attribute__((availability(ios,introduced=7.0,deprecated=8.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_8_2_MSG(_msg) __attribute__((availability(ios,introduced=7.0,deprecated=8.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_8_3 __attribute__((availability(ios,introduced=7.0,deprecated=8.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_8_3_MSG(_msg) __attribute__((availability(ios,introduced=7.0,deprecated=8.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_8_3_MSG(_msg) __attribute__((availability(ios,introduced=7.0,deprecated=8.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_8_4 __attribute__((availability(ios,introduced=7.0,deprecated=8.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_8_4_MSG(_msg) __attribute__((availability(ios,introduced=7.0,deprecated=8.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_8_4_MSG(_msg) __attribute__((availability(ios,introduced=7.0,deprecated=8.4))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_9_0 __attribute__((availability(ios,introduced=7.0,deprecated=9.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_9_0_MSG(_msg) __attribute__((availability(ios,introduced=7.0,deprecated=9.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_9_0_MSG(_msg) __attribute__((availability(ios,introduced=7.0,deprecated=9.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_9_1 __attribute__((availability(ios,introduced=7.0,deprecated=9.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_9_1_MSG(_msg) __attribute__((availability(ios,introduced=7.0,deprecated=9.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_9_1_MSG(_msg) __attribute__((availability(ios,introduced=7.0,deprecated=9.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_9_2 __attribute__((availability(ios,introduced=7.0,deprecated=9.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_9_2_MSG(_msg) __attribute__((availability(ios,introduced=7.0,deprecated=9.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_9_2_MSG(_msg) __attribute__((availability(ios,introduced=7.0,deprecated=9.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_9_3 __attribute__((availability(ios,introduced=7.0,deprecated=9.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_9_3_MSG(_msg) __attribute__((availability(ios,introduced=7.0,deprecated=9.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_9_3_MSG(_msg) __attribute__((availability(ios,introduced=7.0,deprecated=9.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_NA __attribute__((availability(ios,introduced=7.0))) - #define __AVAILABILITY_INTERNAL__IPHONE_7_0_DEP__IPHONE_NA_MSG(_msg) __attribute__((availability(ios,introduced=7.0))) - #define __AVAILABILITY_INTERNAL__IPHONE_7_1 __attribute__((availability(ios,introduced=7.1))) - #define __AVAILABILITY_INTERNAL__IPHONE_7_1_DEP__IPHONE_10_0 __attribute__((availability(ios,introduced=7.1,deprecated=10.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_7_1_DEP__IPHONE_10_0_MSG(_msg) __attribute__((availability(ios,introduced=7.1,deprecated=10.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_7_1_DEP__IPHONE_10_0_MSG(_msg) __attribute__((availability(ios,introduced=7.1,deprecated=10.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_7_1_DEP__IPHONE_10_1 __attribute__((availability(ios,introduced=7.1,deprecated=10.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_7_1_DEP__IPHONE_10_1_MSG(_msg) __attribute__((availability(ios,introduced=7.1,deprecated=10.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_7_1_DEP__IPHONE_10_1_MSG(_msg) __attribute__((availability(ios,introduced=7.1,deprecated=10.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_7_1_DEP__IPHONE_10_2 __attribute__((availability(ios,introduced=7.1,deprecated=10.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_7_1_DEP__IPHONE_10_2_MSG(_msg) __attribute__((availability(ios,introduced=7.1,deprecated=10.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_7_1_DEP__IPHONE_10_2_MSG(_msg) __attribute__((availability(ios,introduced=7.1,deprecated=10.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_7_1_DEP__IPHONE_10_3 __attribute__((availability(ios,introduced=7.1,deprecated=10.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_7_1_DEP__IPHONE_10_3_MSG(_msg) __attribute__((availability(ios,introduced=7.1,deprecated=10.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_7_1_DEP__IPHONE_10_3_MSG(_msg) __attribute__((availability(ios,introduced=7.1,deprecated=10.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_7_1_DEP__IPHONE_7_1 __attribute__((availability(ios,introduced=7.1,deprecated=7.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_7_1_DEP__IPHONE_7_1_MSG(_msg) __attribute__((availability(ios,introduced=7.1,deprecated=7.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_7_1_DEP__IPHONE_7_1_MSG(_msg) __attribute__((availability(ios,introduced=7.1,deprecated=7.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_7_1_DEP__IPHONE_8_0 __attribute__((availability(ios,introduced=7.1,deprecated=8.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_7_1_DEP__IPHONE_8_0_MSG(_msg) __attribute__((availability(ios,introduced=7.1,deprecated=8.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_7_1_DEP__IPHONE_8_0_MSG(_msg) __attribute__((availability(ios,introduced=7.1,deprecated=8.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_7_1_DEP__IPHONE_8_1 __attribute__((availability(ios,introduced=7.1,deprecated=8.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_7_1_DEP__IPHONE_8_1_MSG(_msg) __attribute__((availability(ios,introduced=7.1,deprecated=8.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_7_1_DEP__IPHONE_8_1_MSG(_msg) __attribute__((availability(ios,introduced=7.1,deprecated=8.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_7_1_DEP__IPHONE_8_2 __attribute__((availability(ios,introduced=7.1,deprecated=8.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_7_1_DEP__IPHONE_8_2_MSG(_msg) __attribute__((availability(ios,introduced=7.1,deprecated=8.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_7_1_DEP__IPHONE_8_2_MSG(_msg) __attribute__((availability(ios,introduced=7.1,deprecated=8.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_7_1_DEP__IPHONE_8_3 __attribute__((availability(ios,introduced=7.1,deprecated=8.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_7_1_DEP__IPHONE_8_3_MSG(_msg) __attribute__((availability(ios,introduced=7.1,deprecated=8.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_7_1_DEP__IPHONE_8_3_MSG(_msg) __attribute__((availability(ios,introduced=7.1,deprecated=8.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_7_1_DEP__IPHONE_8_4 __attribute__((availability(ios,introduced=7.1,deprecated=8.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_7_1_DEP__IPHONE_8_4_MSG(_msg) __attribute__((availability(ios,introduced=7.1,deprecated=8.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_7_1_DEP__IPHONE_8_4_MSG(_msg) __attribute__((availability(ios,introduced=7.1,deprecated=8.4))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_7_1_DEP__IPHONE_9_0 __attribute__((availability(ios,introduced=7.1,deprecated=9.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_7_1_DEP__IPHONE_9_0_MSG(_msg) __attribute__((availability(ios,introduced=7.1,deprecated=9.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_7_1_DEP__IPHONE_9_0_MSG(_msg) __attribute__((availability(ios,introduced=7.1,deprecated=9.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_7_1_DEP__IPHONE_9_1 __attribute__((availability(ios,introduced=7.1,deprecated=9.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_7_1_DEP__IPHONE_9_1_MSG(_msg) __attribute__((availability(ios,introduced=7.1,deprecated=9.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_7_1_DEP__IPHONE_9_1_MSG(_msg) __attribute__((availability(ios,introduced=7.1,deprecated=9.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_7_1_DEP__IPHONE_9_2 __attribute__((availability(ios,introduced=7.1,deprecated=9.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_7_1_DEP__IPHONE_9_2_MSG(_msg) __attribute__((availability(ios,introduced=7.1,deprecated=9.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_7_1_DEP__IPHONE_9_2_MSG(_msg) __attribute__((availability(ios,introduced=7.1,deprecated=9.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_7_1_DEP__IPHONE_9_3 __attribute__((availability(ios,introduced=7.1,deprecated=9.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_7_1_DEP__IPHONE_9_3_MSG(_msg) __attribute__((availability(ios,introduced=7.1,deprecated=9.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_7_1_DEP__IPHONE_9_3_MSG(_msg) __attribute__((availability(ios,introduced=7.1,deprecated=9.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_7_1_DEP__IPHONE_NA __attribute__((availability(ios,introduced=7.1))) - #define __AVAILABILITY_INTERNAL__IPHONE_7_1_DEP__IPHONE_NA_MSG(_msg) __attribute__((availability(ios,introduced=7.1))) - #define __AVAILABILITY_INTERNAL__IPHONE_8_0 __attribute__((availability(ios,introduced=8.0))) - #define __AVAILABILITY_INTERNAL__IPHONE_8_0_DEP__IPHONE_10_0 __attribute__((availability(ios,introduced=8.0,deprecated=10.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_8_0_DEP__IPHONE_10_0_MSG(_msg) __attribute__((availability(ios,introduced=8.0,deprecated=10.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_8_0_DEP__IPHONE_10_0_MSG(_msg) __attribute__((availability(ios,introduced=8.0,deprecated=10.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_8_0_DEP__IPHONE_10_1 __attribute__((availability(ios,introduced=8.0,deprecated=10.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_8_0_DEP__IPHONE_10_1_MSG(_msg) __attribute__((availability(ios,introduced=8.0,deprecated=10.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_8_0_DEP__IPHONE_10_1_MSG(_msg) __attribute__((availability(ios,introduced=8.0,deprecated=10.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_8_0_DEP__IPHONE_10_2 __attribute__((availability(ios,introduced=8.0,deprecated=10.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_8_0_DEP__IPHONE_10_2_MSG(_msg) __attribute__((availability(ios,introduced=8.0,deprecated=10.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_8_0_DEP__IPHONE_10_2_MSG(_msg) __attribute__((availability(ios,introduced=8.0,deprecated=10.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_8_0_DEP__IPHONE_10_3 __attribute__((availability(ios,introduced=8.0,deprecated=10.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_8_0_DEP__IPHONE_10_3_MSG(_msg) __attribute__((availability(ios,introduced=8.0,deprecated=10.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_8_0_DEP__IPHONE_10_3_MSG(_msg) __attribute__((availability(ios,introduced=8.0,deprecated=10.3))) - #endif - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_8_0_DEP__IPHONE_11_0_MSG(_msg) __attribute__((availability(ios,introduced=8.0,deprecated=11,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_8_0_DEP__IPHONE_11_0_MSG(_msg) __attribute__((availability(ios,introduced=8.0,deprecated=11))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_8_0_DEP__IPHONE_11_3 __attribute__((availability(ios,introduced=8.0,deprecated=11.3))) - #define __AVAILABILITY_INTERNAL__IPHONE_8_0_DEP__IPHONE_12_0 __attribute__((availability(ios,introduced=8.0,deprecated=12.0))) - #define __AVAILABILITY_INTERNAL__IPHONE_8_0_DEP__IPHONE_8_0 __attribute__((availability(ios,introduced=8.0,deprecated=8.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_8_0_DEP__IPHONE_8_0_MSG(_msg) __attribute__((availability(ios,introduced=8.0,deprecated=8.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_8_0_DEP__IPHONE_8_0_MSG(_msg) __attribute__((availability(ios,introduced=8.0,deprecated=8.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_8_0_DEP__IPHONE_8_1 __attribute__((availability(ios,introduced=8.0,deprecated=8.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_8_0_DEP__IPHONE_8_1_MSG(_msg) __attribute__((availability(ios,introduced=8.0,deprecated=8.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_8_0_DEP__IPHONE_8_1_MSG(_msg) __attribute__((availability(ios,introduced=8.0,deprecated=8.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_8_0_DEP__IPHONE_8_2 __attribute__((availability(ios,introduced=8.0,deprecated=8.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_8_0_DEP__IPHONE_8_2_MSG(_msg) __attribute__((availability(ios,introduced=8.0,deprecated=8.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_8_0_DEP__IPHONE_8_2_MSG(_msg) __attribute__((availability(ios,introduced=8.0,deprecated=8.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_8_0_DEP__IPHONE_8_3 __attribute__((availability(ios,introduced=8.0,deprecated=8.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_8_0_DEP__IPHONE_8_3_MSG(_msg) __attribute__((availability(ios,introduced=8.0,deprecated=8.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_8_0_DEP__IPHONE_8_3_MSG(_msg) __attribute__((availability(ios,introduced=8.0,deprecated=8.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_8_0_DEP__IPHONE_8_4 __attribute__((availability(ios,introduced=8.0,deprecated=8.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_8_0_DEP__IPHONE_8_4_MSG(_msg) __attribute__((availability(ios,introduced=8.0,deprecated=8.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_8_0_DEP__IPHONE_8_4_MSG(_msg) __attribute__((availability(ios,introduced=8.0,deprecated=8.4))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_8_0_DEP__IPHONE_9_0 __attribute__((availability(ios,introduced=8.0,deprecated=9.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_8_0_DEP__IPHONE_9_0_MSG(_msg) __attribute__((availability(ios,introduced=8.0,deprecated=9.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_8_0_DEP__IPHONE_9_0_MSG(_msg) __attribute__((availability(ios,introduced=8.0,deprecated=9.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_8_0_DEP__IPHONE_9_1 __attribute__((availability(ios,introduced=8.0,deprecated=9.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_8_0_DEP__IPHONE_9_1_MSG(_msg) __attribute__((availability(ios,introduced=8.0,deprecated=9.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_8_0_DEP__IPHONE_9_1_MSG(_msg) __attribute__((availability(ios,introduced=8.0,deprecated=9.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_8_0_DEP__IPHONE_9_2 __attribute__((availability(ios,introduced=8.0,deprecated=9.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_8_0_DEP__IPHONE_9_2_MSG(_msg) __attribute__((availability(ios,introduced=8.0,deprecated=9.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_8_0_DEP__IPHONE_9_2_MSG(_msg) __attribute__((availability(ios,introduced=8.0,deprecated=9.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_8_0_DEP__IPHONE_9_3 __attribute__((availability(ios,introduced=8.0,deprecated=9.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_8_0_DEP__IPHONE_9_3_MSG(_msg) __attribute__((availability(ios,introduced=8.0,deprecated=9.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_8_0_DEP__IPHONE_9_3_MSG(_msg) __attribute__((availability(ios,introduced=8.0,deprecated=9.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_8_0_DEP__IPHONE_NA __attribute__((availability(ios,introduced=8.0))) - #define __AVAILABILITY_INTERNAL__IPHONE_8_0_DEP__IPHONE_NA_MSG(_msg) __attribute__((availability(ios,introduced=8.0))) - #define __AVAILABILITY_INTERNAL__IPHONE_8_1 __attribute__((availability(ios,introduced=8.1))) - #define __AVAILABILITY_INTERNAL__IPHONE_8_1_DEP__IPHONE_10_0 __attribute__((availability(ios,introduced=8.1,deprecated=10.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_8_1_DEP__IPHONE_10_0_MSG(_msg) __attribute__((availability(ios,introduced=8.1,deprecated=10.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_8_1_DEP__IPHONE_10_0_MSG(_msg) __attribute__((availability(ios,introduced=8.1,deprecated=10.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_8_1_DEP__IPHONE_10_1 __attribute__((availability(ios,introduced=8.1,deprecated=10.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_8_1_DEP__IPHONE_10_1_MSG(_msg) __attribute__((availability(ios,introduced=8.1,deprecated=10.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_8_1_DEP__IPHONE_10_1_MSG(_msg) __attribute__((availability(ios,introduced=8.1,deprecated=10.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_8_1_DEP__IPHONE_10_2 __attribute__((availability(ios,introduced=8.1,deprecated=10.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_8_1_DEP__IPHONE_10_2_MSG(_msg) __attribute__((availability(ios,introduced=8.1,deprecated=10.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_8_1_DEP__IPHONE_10_2_MSG(_msg) __attribute__((availability(ios,introduced=8.1,deprecated=10.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_8_1_DEP__IPHONE_10_3 __attribute__((availability(ios,introduced=8.1,deprecated=10.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_8_1_DEP__IPHONE_10_3_MSG(_msg) __attribute__((availability(ios,introduced=8.1,deprecated=10.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_8_1_DEP__IPHONE_10_3_MSG(_msg) __attribute__((availability(ios,introduced=8.1,deprecated=10.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_8_1_DEP__IPHONE_8_1 __attribute__((availability(ios,introduced=8.1,deprecated=8.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_8_1_DEP__IPHONE_8_1_MSG(_msg) __attribute__((availability(ios,introduced=8.1,deprecated=8.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_8_1_DEP__IPHONE_8_1_MSG(_msg) __attribute__((availability(ios,introduced=8.1,deprecated=8.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_8_1_DEP__IPHONE_8_2 __attribute__((availability(ios,introduced=8.1,deprecated=8.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_8_1_DEP__IPHONE_8_2_MSG(_msg) __attribute__((availability(ios,introduced=8.1,deprecated=8.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_8_1_DEP__IPHONE_8_2_MSG(_msg) __attribute__((availability(ios,introduced=8.1,deprecated=8.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_8_1_DEP__IPHONE_8_3 __attribute__((availability(ios,introduced=8.1,deprecated=8.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_8_1_DEP__IPHONE_8_3_MSG(_msg) __attribute__((availability(ios,introduced=8.1,deprecated=8.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_8_1_DEP__IPHONE_8_3_MSG(_msg) __attribute__((availability(ios,introduced=8.1,deprecated=8.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_8_1_DEP__IPHONE_8_4 __attribute__((availability(ios,introduced=8.1,deprecated=8.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_8_1_DEP__IPHONE_8_4_MSG(_msg) __attribute__((availability(ios,introduced=8.1,deprecated=8.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_8_1_DEP__IPHONE_8_4_MSG(_msg) __attribute__((availability(ios,introduced=8.1,deprecated=8.4))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_8_1_DEP__IPHONE_9_0 __attribute__((availability(ios,introduced=8.1,deprecated=9.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_8_1_DEP__IPHONE_9_0_MSG(_msg) __attribute__((availability(ios,introduced=8.1,deprecated=9.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_8_1_DEP__IPHONE_9_0_MSG(_msg) __attribute__((availability(ios,introduced=8.1,deprecated=9.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_8_1_DEP__IPHONE_9_1 __attribute__((availability(ios,introduced=8.1,deprecated=9.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_8_1_DEP__IPHONE_9_1_MSG(_msg) __attribute__((availability(ios,introduced=8.1,deprecated=9.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_8_1_DEP__IPHONE_9_1_MSG(_msg) __attribute__((availability(ios,introduced=8.1,deprecated=9.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_8_1_DEP__IPHONE_9_2 __attribute__((availability(ios,introduced=8.1,deprecated=9.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_8_1_DEP__IPHONE_9_2_MSG(_msg) __attribute__((availability(ios,introduced=8.1,deprecated=9.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_8_1_DEP__IPHONE_9_2_MSG(_msg) __attribute__((availability(ios,introduced=8.1,deprecated=9.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_8_1_DEP__IPHONE_9_3 __attribute__((availability(ios,introduced=8.1,deprecated=9.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_8_1_DEP__IPHONE_9_3_MSG(_msg) __attribute__((availability(ios,introduced=8.1,deprecated=9.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_8_1_DEP__IPHONE_9_3_MSG(_msg) __attribute__((availability(ios,introduced=8.1,deprecated=9.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_8_1_DEP__IPHONE_NA __attribute__((availability(ios,introduced=8.1))) - #define __AVAILABILITY_INTERNAL__IPHONE_8_1_DEP__IPHONE_NA_MSG(_msg) __attribute__((availability(ios,introduced=8.1))) - #define __AVAILABILITY_INTERNAL__IPHONE_8_2 __attribute__((availability(ios,introduced=8.2))) - #define __AVAILABILITY_INTERNAL__IPHONE_8_2_DEP__IPHONE_10_0 __attribute__((availability(ios,introduced=8.2,deprecated=10.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_8_2_DEP__IPHONE_10_0_MSG(_msg) __attribute__((availability(ios,introduced=8.2,deprecated=10.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_8_2_DEP__IPHONE_10_0_MSG(_msg) __attribute__((availability(ios,introduced=8.2,deprecated=10.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_8_2_DEP__IPHONE_10_1 __attribute__((availability(ios,introduced=8.2,deprecated=10.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_8_2_DEP__IPHONE_10_1_MSG(_msg) __attribute__((availability(ios,introduced=8.2,deprecated=10.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_8_2_DEP__IPHONE_10_1_MSG(_msg) __attribute__((availability(ios,introduced=8.2,deprecated=10.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_8_2_DEP__IPHONE_10_2 __attribute__((availability(ios,introduced=8.2,deprecated=10.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_8_2_DEP__IPHONE_10_2_MSG(_msg) __attribute__((availability(ios,introduced=8.2,deprecated=10.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_8_2_DEP__IPHONE_10_2_MSG(_msg) __attribute__((availability(ios,introduced=8.2,deprecated=10.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_8_2_DEP__IPHONE_10_3 __attribute__((availability(ios,introduced=8.2,deprecated=10.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_8_2_DEP__IPHONE_10_3_MSG(_msg) __attribute__((availability(ios,introduced=8.2,deprecated=10.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_8_2_DEP__IPHONE_10_3_MSG(_msg) __attribute__((availability(ios,introduced=8.2,deprecated=10.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_8_2_DEP__IPHONE_8_2 __attribute__((availability(ios,introduced=8.2,deprecated=8.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_8_2_DEP__IPHONE_8_2_MSG(_msg) __attribute__((availability(ios,introduced=8.2,deprecated=8.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_8_2_DEP__IPHONE_8_2_MSG(_msg) __attribute__((availability(ios,introduced=8.2,deprecated=8.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_8_2_DEP__IPHONE_8_3 __attribute__((availability(ios,introduced=8.2,deprecated=8.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_8_2_DEP__IPHONE_8_3_MSG(_msg) __attribute__((availability(ios,introduced=8.2,deprecated=8.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_8_2_DEP__IPHONE_8_3_MSG(_msg) __attribute__((availability(ios,introduced=8.2,deprecated=8.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_8_2_DEP__IPHONE_8_4 __attribute__((availability(ios,introduced=8.2,deprecated=8.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_8_2_DEP__IPHONE_8_4_MSG(_msg) __attribute__((availability(ios,introduced=8.2,deprecated=8.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_8_2_DEP__IPHONE_8_4_MSG(_msg) __attribute__((availability(ios,introduced=8.2,deprecated=8.4))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_8_2_DEP__IPHONE_9_0 __attribute__((availability(ios,introduced=8.2,deprecated=9.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_8_2_DEP__IPHONE_9_0_MSG(_msg) __attribute__((availability(ios,introduced=8.2,deprecated=9.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_8_2_DEP__IPHONE_9_0_MSG(_msg) __attribute__((availability(ios,introduced=8.2,deprecated=9.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_8_2_DEP__IPHONE_9_1 __attribute__((availability(ios,introduced=8.2,deprecated=9.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_8_2_DEP__IPHONE_9_1_MSG(_msg) __attribute__((availability(ios,introduced=8.2,deprecated=9.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_8_2_DEP__IPHONE_9_1_MSG(_msg) __attribute__((availability(ios,introduced=8.2,deprecated=9.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_8_2_DEP__IPHONE_9_2 __attribute__((availability(ios,introduced=8.2,deprecated=9.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_8_2_DEP__IPHONE_9_2_MSG(_msg) __attribute__((availability(ios,introduced=8.2,deprecated=9.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_8_2_DEP__IPHONE_9_2_MSG(_msg) __attribute__((availability(ios,introduced=8.2,deprecated=9.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_8_2_DEP__IPHONE_9_3 __attribute__((availability(ios,introduced=8.2,deprecated=9.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_8_2_DEP__IPHONE_9_3_MSG(_msg) __attribute__((availability(ios,introduced=8.2,deprecated=9.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_8_2_DEP__IPHONE_9_3_MSG(_msg) __attribute__((availability(ios,introduced=8.2,deprecated=9.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_8_2_DEP__IPHONE_NA __attribute__((availability(ios,introduced=8.2))) - #define __AVAILABILITY_INTERNAL__IPHONE_8_2_DEP__IPHONE_NA_MSG(_msg) __attribute__((availability(ios,introduced=8.2))) - #define __AVAILABILITY_INTERNAL__IPHONE_8_3 __attribute__((availability(ios,introduced=8.3))) - #define __AVAILABILITY_INTERNAL__IPHONE_8_3_DEP__IPHONE_10_0 __attribute__((availability(ios,introduced=8.3,deprecated=10.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_8_3_DEP__IPHONE_10_0_MSG(_msg) __attribute__((availability(ios,introduced=8.3,deprecated=10.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_8_3_DEP__IPHONE_10_0_MSG(_msg) __attribute__((availability(ios,introduced=8.3,deprecated=10.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_8_3_DEP__IPHONE_10_1 __attribute__((availability(ios,introduced=8.3,deprecated=10.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_8_3_DEP__IPHONE_10_1_MSG(_msg) __attribute__((availability(ios,introduced=8.3,deprecated=10.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_8_3_DEP__IPHONE_10_1_MSG(_msg) __attribute__((availability(ios,introduced=8.3,deprecated=10.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_8_3_DEP__IPHONE_10_2 __attribute__((availability(ios,introduced=8.3,deprecated=10.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_8_3_DEP__IPHONE_10_2_MSG(_msg) __attribute__((availability(ios,introduced=8.3,deprecated=10.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_8_3_DEP__IPHONE_10_2_MSG(_msg) __attribute__((availability(ios,introduced=8.3,deprecated=10.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_8_3_DEP__IPHONE_10_3 __attribute__((availability(ios,introduced=8.3,deprecated=10.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_8_3_DEP__IPHONE_10_3_MSG(_msg) __attribute__((availability(ios,introduced=8.3,deprecated=10.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_8_3_DEP__IPHONE_10_3_MSG(_msg) __attribute__((availability(ios,introduced=8.3,deprecated=10.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_8_3_DEP__IPHONE_8_3 __attribute__((availability(ios,introduced=8.3,deprecated=8.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_8_3_DEP__IPHONE_8_3_MSG(_msg) __attribute__((availability(ios,introduced=8.3,deprecated=8.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_8_3_DEP__IPHONE_8_3_MSG(_msg) __attribute__((availability(ios,introduced=8.3,deprecated=8.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_8_3_DEP__IPHONE_8_4 __attribute__((availability(ios,introduced=8.3,deprecated=8.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_8_3_DEP__IPHONE_8_4_MSG(_msg) __attribute__((availability(ios,introduced=8.3,deprecated=8.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_8_3_DEP__IPHONE_8_4_MSG(_msg) __attribute__((availability(ios,introduced=8.3,deprecated=8.4))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_8_3_DEP__IPHONE_9_0 __attribute__((availability(ios,introduced=8.3,deprecated=9.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_8_3_DEP__IPHONE_9_0_MSG(_msg) __attribute__((availability(ios,introduced=8.3,deprecated=9.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_8_3_DEP__IPHONE_9_0_MSG(_msg) __attribute__((availability(ios,introduced=8.3,deprecated=9.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_8_3_DEP__IPHONE_9_1 __attribute__((availability(ios,introduced=8.3,deprecated=9.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_8_3_DEP__IPHONE_9_1_MSG(_msg) __attribute__((availability(ios,introduced=8.3,deprecated=9.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_8_3_DEP__IPHONE_9_1_MSG(_msg) __attribute__((availability(ios,introduced=8.3,deprecated=9.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_8_3_DEP__IPHONE_9_2 __attribute__((availability(ios,introduced=8.3,deprecated=9.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_8_3_DEP__IPHONE_9_2_MSG(_msg) __attribute__((availability(ios,introduced=8.3,deprecated=9.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_8_3_DEP__IPHONE_9_2_MSG(_msg) __attribute__((availability(ios,introduced=8.3,deprecated=9.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_8_3_DEP__IPHONE_9_3 __attribute__((availability(ios,introduced=8.3,deprecated=9.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_8_3_DEP__IPHONE_9_3_MSG(_msg) __attribute__((availability(ios,introduced=8.3,deprecated=9.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_8_3_DEP__IPHONE_9_3_MSG(_msg) __attribute__((availability(ios,introduced=8.3,deprecated=9.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_8_3_DEP__IPHONE_NA __attribute__((availability(ios,introduced=8.3))) - #define __AVAILABILITY_INTERNAL__IPHONE_8_3_DEP__IPHONE_NA_MSG(_msg) __attribute__((availability(ios,introduced=8.3))) - #define __AVAILABILITY_INTERNAL__IPHONE_8_4 __attribute__((availability(ios,introduced=8.4))) - #define __AVAILABILITY_INTERNAL__IPHONE_8_4_DEP__IPHONE_10_0 __attribute__((availability(ios,introduced=8.4,deprecated=10.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_8_4_DEP__IPHONE_10_0_MSG(_msg) __attribute__((availability(ios,introduced=8.4,deprecated=10.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_8_4_DEP__IPHONE_10_0_MSG(_msg) __attribute__((availability(ios,introduced=8.4,deprecated=10.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_8_4_DEP__IPHONE_10_1 __attribute__((availability(ios,introduced=8.4,deprecated=10.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_8_4_DEP__IPHONE_10_1_MSG(_msg) __attribute__((availability(ios,introduced=8.4,deprecated=10.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_8_4_DEP__IPHONE_10_1_MSG(_msg) __attribute__((availability(ios,introduced=8.4,deprecated=10.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_8_4_DEP__IPHONE_10_2 __attribute__((availability(ios,introduced=8.4,deprecated=10.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_8_4_DEP__IPHONE_10_2_MSG(_msg) __attribute__((availability(ios,introduced=8.4,deprecated=10.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_8_4_DEP__IPHONE_10_2_MSG(_msg) __attribute__((availability(ios,introduced=8.4,deprecated=10.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_8_4_DEP__IPHONE_10_3 __attribute__((availability(ios,introduced=8.4,deprecated=10.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_8_4_DEP__IPHONE_10_3_MSG(_msg) __attribute__((availability(ios,introduced=8.4,deprecated=10.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_8_4_DEP__IPHONE_10_3_MSG(_msg) __attribute__((availability(ios,introduced=8.4,deprecated=10.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_8_4_DEP__IPHONE_8_4 __attribute__((availability(ios,introduced=8.4,deprecated=8.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_8_4_DEP__IPHONE_8_4_MSG(_msg) __attribute__((availability(ios,introduced=8.4,deprecated=8.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_8_4_DEP__IPHONE_8_4_MSG(_msg) __attribute__((availability(ios,introduced=8.4,deprecated=8.4))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_8_4_DEP__IPHONE_9_0 __attribute__((availability(ios,introduced=8.4,deprecated=9.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_8_4_DEP__IPHONE_9_0_MSG(_msg) __attribute__((availability(ios,introduced=8.4,deprecated=9.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_8_4_DEP__IPHONE_9_0_MSG(_msg) __attribute__((availability(ios,introduced=8.4,deprecated=9.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_8_4_DEP__IPHONE_9_1 __attribute__((availability(ios,introduced=8.4,deprecated=9.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_8_4_DEP__IPHONE_9_1_MSG(_msg) __attribute__((availability(ios,introduced=8.4,deprecated=9.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_8_4_DEP__IPHONE_9_1_MSG(_msg) __attribute__((availability(ios,introduced=8.4,deprecated=9.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_8_4_DEP__IPHONE_9_2 __attribute__((availability(ios,introduced=8.4,deprecated=9.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_8_4_DEP__IPHONE_9_2_MSG(_msg) __attribute__((availability(ios,introduced=8.4,deprecated=9.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_8_4_DEP__IPHONE_9_2_MSG(_msg) __attribute__((availability(ios,introduced=8.4,deprecated=9.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_8_4_DEP__IPHONE_9_3 __attribute__((availability(ios,introduced=8.4,deprecated=9.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_8_4_DEP__IPHONE_9_3_MSG(_msg) __attribute__((availability(ios,introduced=8.4,deprecated=9.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_8_4_DEP__IPHONE_9_3_MSG(_msg) __attribute__((availability(ios,introduced=8.4,deprecated=9.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_8_4_DEP__IPHONE_NA __attribute__((availability(ios,introduced=8.4))) - #define __AVAILABILITY_INTERNAL__IPHONE_8_4_DEP__IPHONE_NA_MSG(_msg) __attribute__((availability(ios,introduced=8.4))) - #define __AVAILABILITY_INTERNAL__IPHONE_9_0 __attribute__((availability(ios,introduced=9.0))) - #define __AVAILABILITY_INTERNAL__IPHONE_9_0_DEP__IPHONE_10_0 __attribute__((availability(ios,introduced=9.0,deprecated=10.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_9_0_DEP__IPHONE_10_0_MSG(_msg) __attribute__((availability(ios,introduced=9.0,deprecated=10.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_9_0_DEP__IPHONE_10_0_MSG(_msg) __attribute__((availability(ios,introduced=9.0,deprecated=10.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_9_0_DEP__IPHONE_10_1 __attribute__((availability(ios,introduced=9.0,deprecated=10.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_9_0_DEP__IPHONE_10_1_MSG(_msg) __attribute__((availability(ios,introduced=9.0,deprecated=10.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_9_0_DEP__IPHONE_10_1_MSG(_msg) __attribute__((availability(ios,introduced=9.0,deprecated=10.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_9_0_DEP__IPHONE_10_2 __attribute__((availability(ios,introduced=9.0,deprecated=10.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_9_0_DEP__IPHONE_10_2_MSG(_msg) __attribute__((availability(ios,introduced=9.0,deprecated=10.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_9_0_DEP__IPHONE_10_2_MSG(_msg) __attribute__((availability(ios,introduced=9.0,deprecated=10.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_9_0_DEP__IPHONE_10_3 __attribute__((availability(ios,introduced=9.0,deprecated=10.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_9_0_DEP__IPHONE_10_3_MSG(_msg) __attribute__((availability(ios,introduced=9.0,deprecated=10.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_9_0_DEP__IPHONE_10_3_MSG(_msg) __attribute__((availability(ios,introduced=9.0,deprecated=10.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_9_0_DEP__IPHONE_9_0 __attribute__((availability(ios,introduced=9.0,deprecated=9.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_9_0_DEP__IPHONE_9_0_MSG(_msg) __attribute__((availability(ios,introduced=9.0,deprecated=9.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_9_0_DEP__IPHONE_9_0_MSG(_msg) __attribute__((availability(ios,introduced=9.0,deprecated=9.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_9_0_DEP__IPHONE_9_1 __attribute__((availability(ios,introduced=9.0,deprecated=9.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_9_0_DEP__IPHONE_9_1_MSG(_msg) __attribute__((availability(ios,introduced=9.0,deprecated=9.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_9_0_DEP__IPHONE_9_1_MSG(_msg) __attribute__((availability(ios,introduced=9.0,deprecated=9.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_9_0_DEP__IPHONE_9_2 __attribute__((availability(ios,introduced=9.0,deprecated=9.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_9_0_DEP__IPHONE_9_2_MSG(_msg) __attribute__((availability(ios,introduced=9.0,deprecated=9.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_9_0_DEP__IPHONE_9_2_MSG(_msg) __attribute__((availability(ios,introduced=9.0,deprecated=9.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_9_0_DEP__IPHONE_9_3 __attribute__((availability(ios,introduced=9.0,deprecated=9.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_9_0_DEP__IPHONE_9_3_MSG(_msg) __attribute__((availability(ios,introduced=9.0,deprecated=9.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_9_0_DEP__IPHONE_9_3_MSG(_msg) __attribute__((availability(ios,introduced=9.0,deprecated=9.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_9_0_DEP__IPHONE_NA __attribute__((availability(ios,introduced=9.0))) - #define __AVAILABILITY_INTERNAL__IPHONE_9_0_DEP__IPHONE_NA_MSG(_msg) __attribute__((availability(ios,introduced=9.0))) - #define __AVAILABILITY_INTERNAL__IPHONE_9_1 __attribute__((availability(ios,introduced=9.1))) - #define __AVAILABILITY_INTERNAL__IPHONE_9_1_DEP__IPHONE_10_0 __attribute__((availability(ios,introduced=9.1,deprecated=10.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_9_1_DEP__IPHONE_10_0_MSG(_msg) __attribute__((availability(ios,introduced=9.1,deprecated=10.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_9_1_DEP__IPHONE_10_0_MSG(_msg) __attribute__((availability(ios,introduced=9.1,deprecated=10.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_9_1_DEP__IPHONE_10_1 __attribute__((availability(ios,introduced=9.1,deprecated=10.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_9_1_DEP__IPHONE_10_1_MSG(_msg) __attribute__((availability(ios,introduced=9.1,deprecated=10.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_9_1_DEP__IPHONE_10_1_MSG(_msg) __attribute__((availability(ios,introduced=9.1,deprecated=10.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_9_1_DEP__IPHONE_10_2 __attribute__((availability(ios,introduced=9.1,deprecated=10.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_9_1_DEP__IPHONE_10_2_MSG(_msg) __attribute__((availability(ios,introduced=9.1,deprecated=10.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_9_1_DEP__IPHONE_10_2_MSG(_msg) __attribute__((availability(ios,introduced=9.1,deprecated=10.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_9_1_DEP__IPHONE_10_3 __attribute__((availability(ios,introduced=9.1,deprecated=10.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_9_1_DEP__IPHONE_10_3_MSG(_msg) __attribute__((availability(ios,introduced=9.1,deprecated=10.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_9_1_DEP__IPHONE_10_3_MSG(_msg) __attribute__((availability(ios,introduced=9.1,deprecated=10.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_9_1_DEP__IPHONE_9_1 __attribute__((availability(ios,introduced=9.1,deprecated=9.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_9_1_DEP__IPHONE_9_1_MSG(_msg) __attribute__((availability(ios,introduced=9.1,deprecated=9.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_9_1_DEP__IPHONE_9_1_MSG(_msg) __attribute__((availability(ios,introduced=9.1,deprecated=9.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_9_1_DEP__IPHONE_9_2 __attribute__((availability(ios,introduced=9.1,deprecated=9.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_9_1_DEP__IPHONE_9_2_MSG(_msg) __attribute__((availability(ios,introduced=9.1,deprecated=9.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_9_1_DEP__IPHONE_9_2_MSG(_msg) __attribute__((availability(ios,introduced=9.1,deprecated=9.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_9_1_DEP__IPHONE_9_3 __attribute__((availability(ios,introduced=9.1,deprecated=9.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_9_1_DEP__IPHONE_9_3_MSG(_msg) __attribute__((availability(ios,introduced=9.1,deprecated=9.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_9_1_DEP__IPHONE_9_3_MSG(_msg) __attribute__((availability(ios,introduced=9.1,deprecated=9.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_9_1_DEP__IPHONE_NA __attribute__((availability(ios,introduced=9.1))) - #define __AVAILABILITY_INTERNAL__IPHONE_9_1_DEP__IPHONE_NA_MSG(_msg) __attribute__((availability(ios,introduced=9.1))) - #define __AVAILABILITY_INTERNAL__IPHONE_9_2 __attribute__((availability(ios,introduced=9.2))) - #define __AVAILABILITY_INTERNAL__IPHONE_9_2_DEP__IPHONE_10_0 __attribute__((availability(ios,introduced=9.2,deprecated=10.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_9_2_DEP__IPHONE_10_0_MSG(_msg) __attribute__((availability(ios,introduced=9.2,deprecated=10.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_9_2_DEP__IPHONE_10_0_MSG(_msg) __attribute__((availability(ios,introduced=9.2,deprecated=10.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_9_2_DEP__IPHONE_10_1 __attribute__((availability(ios,introduced=9.2,deprecated=10.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_9_2_DEP__IPHONE_10_1_MSG(_msg) __attribute__((availability(ios,introduced=9.2,deprecated=10.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_9_2_DEP__IPHONE_10_1_MSG(_msg) __attribute__((availability(ios,introduced=9.2,deprecated=10.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_9_2_DEP__IPHONE_10_2 __attribute__((availability(ios,introduced=9.2,deprecated=10.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_9_2_DEP__IPHONE_10_2_MSG(_msg) __attribute__((availability(ios,introduced=9.2,deprecated=10.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_9_2_DEP__IPHONE_10_2_MSG(_msg) __attribute__((availability(ios,introduced=9.2,deprecated=10.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_9_2_DEP__IPHONE_10_3 __attribute__((availability(ios,introduced=9.2,deprecated=10.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_9_2_DEP__IPHONE_10_3_MSG(_msg) __attribute__((availability(ios,introduced=9.2,deprecated=10.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_9_2_DEP__IPHONE_10_3_MSG(_msg) __attribute__((availability(ios,introduced=9.2,deprecated=10.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_9_2_DEP__IPHONE_9_2 __attribute__((availability(ios,introduced=9.2,deprecated=9.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_9_2_DEP__IPHONE_9_2_MSG(_msg) __attribute__((availability(ios,introduced=9.2,deprecated=9.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_9_2_DEP__IPHONE_9_2_MSG(_msg) __attribute__((availability(ios,introduced=9.2,deprecated=9.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_9_2_DEP__IPHONE_9_3 __attribute__((availability(ios,introduced=9.2,deprecated=9.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_9_2_DEP__IPHONE_9_3_MSG(_msg) __attribute__((availability(ios,introduced=9.2,deprecated=9.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_9_2_DEP__IPHONE_9_3_MSG(_msg) __attribute__((availability(ios,introduced=9.2,deprecated=9.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_9_2_DEP__IPHONE_NA __attribute__((availability(ios,introduced=9.2))) - #define __AVAILABILITY_INTERNAL__IPHONE_9_2_DEP__IPHONE_NA_MSG(_msg) __attribute__((availability(ios,introduced=9.2))) - #define __AVAILABILITY_INTERNAL__IPHONE_9_3 __attribute__((availability(ios,introduced=9.3))) - #define __AVAILABILITY_INTERNAL__IPHONE_9_3_DEP__IPHONE_10_0 __attribute__((availability(ios,introduced=9.3,deprecated=10.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_9_3_DEP__IPHONE_10_0_MSG(_msg) __attribute__((availability(ios,introduced=9.3,deprecated=10.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_9_3_DEP__IPHONE_10_0_MSG(_msg) __attribute__((availability(ios,introduced=9.3,deprecated=10.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_9_3_DEP__IPHONE_10_1 __attribute__((availability(ios,introduced=9.3,deprecated=10.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_9_3_DEP__IPHONE_10_1_MSG(_msg) __attribute__((availability(ios,introduced=9.3,deprecated=10.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_9_3_DEP__IPHONE_10_1_MSG(_msg) __attribute__((availability(ios,introduced=9.3,deprecated=10.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_9_3_DEP__IPHONE_10_2 __attribute__((availability(ios,introduced=9.3,deprecated=10.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_9_3_DEP__IPHONE_10_2_MSG(_msg) __attribute__((availability(ios,introduced=9.3,deprecated=10.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_9_3_DEP__IPHONE_10_2_MSG(_msg) __attribute__((availability(ios,introduced=9.3,deprecated=10.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_9_3_DEP__IPHONE_10_3 __attribute__((availability(ios,introduced=9.3,deprecated=10.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_9_3_DEP__IPHONE_10_3_MSG(_msg) __attribute__((availability(ios,introduced=9.3,deprecated=10.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_9_3_DEP__IPHONE_10_3_MSG(_msg) __attribute__((availability(ios,introduced=9.3,deprecated=10.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_9_3_DEP__IPHONE_9_3 __attribute__((availability(ios,introduced=9.3,deprecated=9.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_9_3_DEP__IPHONE_9_3_MSG(_msg) __attribute__((availability(ios,introduced=9.3,deprecated=9.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_9_3_DEP__IPHONE_9_3_MSG(_msg) __attribute__((availability(ios,introduced=9.3,deprecated=9.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_9_3_DEP__IPHONE_NA __attribute__((availability(ios,introduced=9.3))) - #define __AVAILABILITY_INTERNAL__IPHONE_9_3_DEP__IPHONE_NA_MSG(_msg) __attribute__((availability(ios,introduced=9.3))) - #define __AVAILABILITY_INTERNAL__IPHONE_10_0 __attribute__((availability(ios,introduced=10.0))) - #define __AVAILABILITY_INTERNAL__IPHONE_10_0_DEP__IPHONE_10_0 __attribute__((availability(ios,introduced=10.0,deprecated=10.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_10_0_DEP__IPHONE_10_0_MSG(_msg) __attribute__((availability(ios,introduced=10.0,deprecated=10.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_10_0_DEP__IPHONE_10_0_MSG(_msg) __attribute__((availability(ios,introduced=10.0,deprecated=10.0))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_10_0_DEP__IPHONE_10_1 __attribute__((availability(ios,introduced=10.0,deprecated=10.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_10_0_DEP__IPHONE_10_1_MSG(_msg) __attribute__((availability(ios,introduced=10.0,deprecated=10.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_10_0_DEP__IPHONE_10_1_MSG(_msg) __attribute__((availability(ios,introduced=10.0,deprecated=10.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_10_0_DEP__IPHONE_10_2 __attribute__((availability(ios,introduced=10.0,deprecated=10.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_10_0_DEP__IPHONE_10_2_MSG(_msg) __attribute__((availability(ios,introduced=10.0,deprecated=10.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_10_0_DEP__IPHONE_10_2_MSG(_msg) __attribute__((availability(ios,introduced=10.0,deprecated=10.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_10_0_DEP__IPHONE_10_3 __attribute__((availability(ios,introduced=10.0,deprecated=10.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_10_0_DEP__IPHONE_10_3_MSG(_msg) __attribute__((availability(ios,introduced=10.0,deprecated=10.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_10_0_DEP__IPHONE_10_3_MSG(_msg) __attribute__((availability(ios,introduced=10.0,deprecated=10.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_10_0_DEP__IPHONE_11_0 __attribute__((availability(ios,introduced=10.0,deprecated=11.0))) - #define __AVAILABILITY_INTERNAL__IPHONE_10_0_DEP__IPHONE_12_0 __attribute__((availability(ios,introduced=10.0,deprecated=12.0))) - #define __AVAILABILITY_INTERNAL__IPHONE_10_0_DEP__IPHONE_NA __attribute__((availability(ios,introduced=10.0))) - #define __AVAILABILITY_INTERNAL__IPHONE_10_0_DEP__IPHONE_NA_MSG(_msg) __attribute__((availability(ios,introduced=10.0))) - #define __AVAILABILITY_INTERNAL__IPHONE_10_1 __attribute__((availability(ios,introduced=10.1))) - #define __AVAILABILITY_INTERNAL__IPHONE_10_1_DEP__IPHONE_10_1 __attribute__((availability(ios,introduced=10.1,deprecated=10.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_10_1_DEP__IPHONE_10_1_MSG(_msg) __attribute__((availability(ios,introduced=10.1,deprecated=10.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_10_1_DEP__IPHONE_10_1_MSG(_msg) __attribute__((availability(ios,introduced=10.1,deprecated=10.1))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_10_1_DEP__IPHONE_10_2 __attribute__((availability(ios,introduced=10.1,deprecated=10.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_10_1_DEP__IPHONE_10_2_MSG(_msg) __attribute__((availability(ios,introduced=10.1,deprecated=10.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_10_1_DEP__IPHONE_10_2_MSG(_msg) __attribute__((availability(ios,introduced=10.1,deprecated=10.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_10_1_DEP__IPHONE_10_3 __attribute__((availability(ios,introduced=10.1,deprecated=10.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_10_1_DEP__IPHONE_10_3_MSG(_msg) __attribute__((availability(ios,introduced=10.1,deprecated=10.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_10_1_DEP__IPHONE_10_3_MSG(_msg) __attribute__((availability(ios,introduced=10.1,deprecated=10.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_10_1_DEP__IPHONE_NA __attribute__((availability(ios,introduced=10.1))) - #define __AVAILABILITY_INTERNAL__IPHONE_10_1_DEP__IPHONE_NA_MSG(_msg) __attribute__((availability(ios,introduced=10.1))) - #define __AVAILABILITY_INTERNAL__IPHONE_10_2 __attribute__((availability(ios,introduced=10.2))) - #define __AVAILABILITY_INTERNAL__IPHONE_10_2_DEP__IPHONE_10_2 __attribute__((availability(ios,introduced=10.2,deprecated=10.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_10_2_DEP__IPHONE_10_2_MSG(_msg) __attribute__((availability(ios,introduced=10.2,deprecated=10.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_10_2_DEP__IPHONE_10_2_MSG(_msg) __attribute__((availability(ios,introduced=10.2,deprecated=10.2))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_10_2_DEP__IPHONE_10_3 __attribute__((availability(ios,introduced=10.2,deprecated=10.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_10_2_DEP__IPHONE_10_3_MSG(_msg) __attribute__((availability(ios,introduced=10.2,deprecated=10.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_10_2_DEP__IPHONE_10_3_MSG(_msg) __attribute__((availability(ios,introduced=10.2,deprecated=10.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_10_2_DEP__IPHONE_NA __attribute__((availability(ios,introduced=10.2))) - #define __AVAILABILITY_INTERNAL__IPHONE_10_2_DEP__IPHONE_NA_MSG(_msg) __attribute__((availability(ios,introduced=10.2))) - #define __AVAILABILITY_INTERNAL__IPHONE_10_3 __attribute__((availability(ios,introduced=10.3))) - #define __AVAILABILITY_INTERNAL__IPHONE_10_3_DEP__IPHONE_10_3 __attribute__((availability(ios,introduced=10.3,deprecated=10.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_10_3_DEP__IPHONE_10_3_MSG(_msg) __attribute__((availability(ios,introduced=10.3,deprecated=10.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_10_3_DEP__IPHONE_10_3_MSG(_msg) __attribute__((availability(ios,introduced=10.3,deprecated=10.3))) - #endif - #define __AVAILABILITY_INTERNAL__IPHONE_10_3_DEP__IPHONE_NA __attribute__((availability(ios,introduced=10.3))) - #define __AVAILABILITY_INTERNAL__IPHONE_10_3_DEP__IPHONE_NA_MSG(_msg) __attribute__((availability(ios,introduced=10.3))) - #define __AVAILABILITY_INTERNAL__IPHONE_11 __attribute__((availability(ios,introduced=11))) - #define __AVAILABILITY_INTERNAL__IPHONE_11_0 __attribute__((availability(ios,introduced=11.0))) - #define __AVAILABILITY_INTERNAL__IPHONE_11_3 __attribute__((availability(ios,introduced=11.3))) - #define __AVAILABILITY_INTERNAL__IPHONE_12_0 __attribute__((availability(ios,introduced=12.0))) - #define __AVAILABILITY_INTERNAL__IPHONE_13_0 __attribute__((availability(ios,introduced=13.0))) - - #define __AVAILABILITY_INTERNAL__IPHONE_NA __attribute__((availability(ios,unavailable))) - #define __AVAILABILITY_INTERNAL__IPHONE_NA__IPHONE_NA __attribute__((availability(ios,unavailable))) - #define __AVAILABILITY_INTERNAL__IPHONE_NA_DEP__IPHONE_NA __attribute__((availability(ios,unavailable))) - #define __AVAILABILITY_INTERNAL__IPHONE_NA_DEP__IPHONE_NA_MSG(_msg) __attribute__((availability(ios,unavailable))) - - #if __has_builtin(__is_target_arch) - #if __has_builtin(__is_target_vendor) - #if __has_builtin(__is_target_os) - #if __has_builtin(__is_target_environment) - #if __has_builtin(__is_target_variant_os) - #if __has_builtin(__is_target_variant_environment) - #if ((__is_target_arch(x86_64) || __is_target_arch(arm64) || __is_target_arch(arm64e)) && __is_target_vendor(apple) && __is_target_os(ios) && __is_target_environment(macabi)) - #define __AVAILABILITY_INTERNAL__IPHONE_COMPAT_VERSION __attribute__((availability(ios,introduced=4.0))) - #define __AVAILABILITY_INTERNAL__IPHONE_COMPAT_VERSION_DEP__IPHONE_COMPAT_VERSION __attribute__((availability(ios,unavailable))) - #define __AVAILABILITY_INTERNAL__IPHONE_COMPAT_VERSION_DEP__IPHONE_COMPAT_VERSION_MSG(_msg) __attribute__((availability(ios,unavailable))) - #endif - #endif /* #if __has_builtin(__is_target_variant_environment) */ - #endif /* #if __has_builtin(__is_target_variant_os) */ - #endif /* #if __has_builtin(__is_target_environment) */ - #endif /* #if __has_builtin(__is_target_os) */ - #endif /* #if __has_builtin(__is_target_vendor) */ - #endif /* #if __has_builtin(__is_target_arch) */ - - #ifndef __AVAILABILITY_INTERNAL__IPHONE_COMPAT_VERSION - #define __AVAILABILITY_INTERNAL__IPHONE_COMPAT_VERSION __attribute__((availability(ios,introduced=4.0))) - #define __AVAILABILITY_INTERNAL__IPHONE_COMPAT_VERSION_DEP__IPHONE_COMPAT_VERSION __attribute__((availability(ios,introduced=4.0,deprecated=4.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__IPHONE_COMPAT_VERSION_DEP__IPHONE_COMPAT_VERSION_MSG(_msg) __attribute__((availability(ios,introduced=4.0,deprecated=4.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__IPHONE_COMPAT_VERSION_DEP__IPHONE_COMPAT_VERSION_MSG(_msg) __attribute__((availability(ios,introduced=4.0,deprecated=4.0))) - #endif - #endif /* __AVAILABILITY_INTERNAL__IPHONE_COMPAT_VERSION */ - #endif - #endif -#endif - -#if __ENABLE_LEGACY_MAC_AVAILABILITY - #if defined(__has_attribute) && defined(__has_feature) - #if __has_attribute(availability) - /* use better attributes if possible */ - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_1 __attribute__((availability(macosx,introduced=10.1,deprecated=10.1))) - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_10 __attribute__((availability(macosx,introduced=10.1,deprecated=10.10))) - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_10_2 __attribute__((availability(macosx,introduced=10.1,deprecated=10.10.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_10_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.1,deprecated=10.10.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_10_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.1,deprecated=10.10.2))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_10_3 __attribute__((availability(macosx,introduced=10.1,deprecated=10.10.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_10_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.1,deprecated=10.10.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_10_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.1,deprecated=10.10.3))) - #endif - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_10_MSG(_msg) __attribute__((availability(macosx,introduced=10.1,deprecated=10.10,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_10_MSG(_msg) __attribute__((availability(macosx,introduced=10.1,deprecated=10.10))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_11 __attribute__((availability(macosx,introduced=10.1,deprecated=10.11))) - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_11_2 __attribute__((availability(macosx,introduced=10.1,deprecated=10.11.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_11_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.1,deprecated=10.11.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_11_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.1,deprecated=10.11.2))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_11_3 __attribute__((availability(macosx,introduced=10.1,deprecated=10.11.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_11_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.1,deprecated=10.11.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_11_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.1,deprecated=10.11.3))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_11_4 __attribute__((availability(macosx,introduced=10.1,deprecated=10.11.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_11_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.1,deprecated=10.11.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_11_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.1,deprecated=10.11.4))) - #endif - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_11_MSG(_msg) __attribute__((availability(macosx,introduced=10.1,deprecated=10.11,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_11_MSG(_msg) __attribute__((availability(macosx,introduced=10.1,deprecated=10.11))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_12 __attribute__((availability(macosx,introduced=10.1,deprecated=10.12))) - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_12_1 __attribute__((availability(macosx,introduced=10.1,deprecated=10.12.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_12_1_MSG(_msg) __attribute__((availability(macosx,introduced=10.1,deprecated=10.12.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_12_1_MSG(_msg) __attribute__((availability(macosx,introduced=10.1,deprecated=10.12.1))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_12_2 __attribute__((availability(macosx,introduced=10.1,deprecated=10.12.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_12_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.1,deprecated=10.12.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_12_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.1,deprecated=10.12.2))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_12_4 __attribute__((availability(macosx,introduced=10.1,deprecated=10.12.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_12_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.1,deprecated=10.12.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_12_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.1,deprecated=10.12.4))) - #endif - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_12_MSG(_msg) __attribute__((availability(macosx,introduced=10.1,deprecated=10.12,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_12_MSG(_msg) __attribute__((availability(macosx,introduced=10.1,deprecated=10.12))) - #endif - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_1_MSG(_msg) __attribute__((availability(macosx,introduced=10.1,deprecated=10.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_1_MSG(_msg) __attribute__((availability(macosx,introduced=10.1,deprecated=10.1))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_2 __attribute__((availability(macosx,introduced=10.1,deprecated=10.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.1,deprecated=10.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.1,deprecated=10.2))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_3 __attribute__((availability(macosx,introduced=10.1,deprecated=10.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.1,deprecated=10.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.1,deprecated=10.3))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_4 __attribute__((availability(macosx,introduced=10.1,deprecated=10.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.1,deprecated=10.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.1,deprecated=10.4))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_5 __attribute__((availability(macosx,introduced=10.1,deprecated=10.5))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_5_MSG(_msg) __attribute__((availability(macosx,introduced=10.1,deprecated=10.5,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_5_MSG(_msg) __attribute__((availability(macosx,introduced=10.1,deprecated=10.5))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_6 __attribute__((availability(macosx,introduced=10.1,deprecated=10.6))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_6_MSG(_msg) __attribute__((availability(macosx,introduced=10.1,deprecated=10.6,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_6_MSG(_msg) __attribute__((availability(macosx,introduced=10.1,deprecated=10.6))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_7 __attribute__((availability(macosx,introduced=10.1,deprecated=10.7))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_7_MSG(_msg) __attribute__((availability(macosx,introduced=10.1,deprecated=10.7,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_7_MSG(_msg) __attribute__((availability(macosx,introduced=10.1,deprecated=10.7))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_8 __attribute__((availability(macosx,introduced=10.1,deprecated=10.8))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_8_MSG(_msg) __attribute__((availability(macosx,introduced=10.1,deprecated=10.8,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_8_MSG(_msg) __attribute__((availability(macosx,introduced=10.1,deprecated=10.8))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_9 __attribute__((availability(macosx,introduced=10.1,deprecated=10.9))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_9_MSG(_msg) __attribute__((availability(macosx,introduced=10.1,deprecated=10.9,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_9_MSG(_msg) __attribute__((availability(macosx,introduced=10.1,deprecated=10.9))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_NA __attribute__((availability(macosx,introduced=10.1))) - #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_NA_MSG(_msg) __attribute__((availability(macosx,introduced=10.1))) - #define __AVAILABILITY_INTERNAL__MAC_10_2 __attribute__((availability(macosx,introduced=10.2))) - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_1 __attribute__((availability(macosx,introduced=10.2,deprecated=10.1))) - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_10 __attribute__((availability(macosx,introduced=10.2,deprecated=10.10))) - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_10_2 __attribute__((availability(macosx,introduced=10.2,deprecated=10.10.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_10_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.2,deprecated=10.10.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_10_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.2,deprecated=10.10.2))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_10_3 __attribute__((availability(macosx,introduced=10.2,deprecated=10.10.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_10_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.2,deprecated=10.10.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_10_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.2,deprecated=10.10.3))) - #endif - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_10_MSG(_msg) __attribute__((availability(macosx,introduced=10.2,deprecated=10.10,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_10_MSG(_msg) __attribute__((availability(macosx,introduced=10.2,deprecated=10.10))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_11 __attribute__((availability(macosx,introduced=10.2,deprecated=10.11))) - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_11_2 __attribute__((availability(macosx,introduced=10.2,deprecated=10.11.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_11_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.2,deprecated=10.11.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_11_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.2,deprecated=10.11.2))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_11_3 __attribute__((availability(macosx,introduced=10.2,deprecated=10.11.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_11_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.2,deprecated=10.11.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_11_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.2,deprecated=10.11.3))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_11_4 __attribute__((availability(macosx,introduced=10.2,deprecated=10.11.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_11_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.2,deprecated=10.11.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_11_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.2,deprecated=10.11.4))) - #endif - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_11_MSG(_msg) __attribute__((availability(macosx,introduced=10.2,deprecated=10.11,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_11_MSG(_msg) __attribute__((availability(macosx,introduced=10.2,deprecated=10.11))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_12 __attribute__((availability(macosx,introduced=10.2,deprecated=10.12))) - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_12_1 __attribute__((availability(macosx,introduced=10.2,deprecated=10.12.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_12_1_MSG(_msg) __attribute__((availability(macosx,introduced=10.2,deprecated=10.12.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_12_1_MSG(_msg) __attribute__((availability(macosx,introduced=10.2,deprecated=10.12.1))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_12_2 __attribute__((availability(macosx,introduced=10.2,deprecated=10.12.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_12_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.2,deprecated=10.12.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_12_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.2,deprecated=10.12.2))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_12_4 __attribute__((availability(macosx,introduced=10.2,deprecated=10.12.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_12_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.2,deprecated=10.12.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_12_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.2,deprecated=10.12.4))) - #endif - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_12_MSG(_msg) __attribute__((availability(macosx,introduced=10.2,deprecated=10.12,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_12_MSG(_msg) __attribute__((availability(macosx,introduced=10.2,deprecated=10.12))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_13 __attribute__((availability(macosx,introduced=10.2,deprecated=10.13))) - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_2 __attribute__((availability(macosx,introduced=10.2,deprecated=10.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.2,deprecated=10.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.2,deprecated=10.2))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_3 __attribute__((availability(macosx,introduced=10.2,deprecated=10.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.2,deprecated=10.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.2,deprecated=10.3))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_4 __attribute__((availability(macosx,introduced=10.2,deprecated=10.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.2,deprecated=10.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.2,deprecated=10.4))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_5 __attribute__((availability(macosx,introduced=10.2,deprecated=10.5))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_5_MSG(_msg) __attribute__((availability(macosx,introduced=10.2,deprecated=10.5,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_5_MSG(_msg) __attribute__((availability(macosx,introduced=10.2,deprecated=10.5))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_6 __attribute__((availability(macosx,introduced=10.2,deprecated=10.6))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_6_MSG(_msg) __attribute__((availability(macosx,introduced=10.2,deprecated=10.6,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_6_MSG(_msg) __attribute__((availability(macosx,introduced=10.2,deprecated=10.6))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_7 __attribute__((availability(macosx,introduced=10.2,deprecated=10.7))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_7_MSG(_msg) __attribute__((availability(macosx,introduced=10.2,deprecated=10.7,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_7_MSG(_msg) __attribute__((availability(macosx,introduced=10.2,deprecated=10.7))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_8 __attribute__((availability(macosx,introduced=10.2,deprecated=10.8))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_8_MSG(_msg) __attribute__((availability(macosx,introduced=10.2,deprecated=10.8,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_8_MSG(_msg) __attribute__((availability(macosx,introduced=10.2,deprecated=10.8))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_9 __attribute__((availability(macosx,introduced=10.2,deprecated=10.9))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_9_MSG(_msg) __attribute__((availability(macosx,introduced=10.2,deprecated=10.9,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_9_MSG(_msg) __attribute__((availability(macosx,introduced=10.2,deprecated=10.9))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_NA __attribute__((availability(macosx,introduced=10.2))) - #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_NA_MSG(_msg) __attribute__((availability(macosx,introduced=10.2))) - #define __AVAILABILITY_INTERNAL__MAC_10_3 __attribute__((availability(macosx,introduced=10.3))) - #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_1 __attribute__((availability(macosx,introduced=10.3,deprecated=10.1))) - #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_10 __attribute__((availability(macosx,introduced=10.3,deprecated=10.10))) - #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_10_2 __attribute__((availability(macosx,introduced=10.3,deprecated=10.10.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_10_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.3,deprecated=10.10.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_10_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.3,deprecated=10.10.2))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_10_3 __attribute__((availability(macosx,introduced=10.3,deprecated=10.10.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_10_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.3,deprecated=10.10.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_10_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.3,deprecated=10.10.3))) - #endif - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_10_MSG(_msg) __attribute__((availability(macosx,introduced=10.3,deprecated=10.10,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_10_MSG(_msg) __attribute__((availability(macosx,introduced=10.3,deprecated=10.10))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_11 __attribute__((availability(macosx,introduced=10.3,deprecated=10.11))) - #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_11_2 __attribute__((availability(macosx,introduced=10.3,deprecated=10.11.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_11_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.3,deprecated=10.11.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_11_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.3,deprecated=10.11.2))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_11_3 __attribute__((availability(macosx,introduced=10.3,deprecated=10.11.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_11_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.3,deprecated=10.11.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_11_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.3,deprecated=10.11.3))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_11_4 __attribute__((availability(macosx,introduced=10.3,deprecated=10.11.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_11_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.3,deprecated=10.11.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_11_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.3,deprecated=10.11.4))) - #endif - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_11_MSG(_msg) __attribute__((availability(macosx,introduced=10.3,deprecated=10.11,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_11_MSG(_msg) __attribute__((availability(macosx,introduced=10.3,deprecated=10.11))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_12 __attribute__((availability(macosx,introduced=10.3,deprecated=10.12))) - #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_12_1 __attribute__((availability(macosx,introduced=10.3,deprecated=10.12.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_12_1_MSG(_msg) __attribute__((availability(macosx,introduced=10.3,deprecated=10.12.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_12_1_MSG(_msg) __attribute__((availability(macosx,introduced=10.3,deprecated=10.12.1))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_12_2 __attribute__((availability(macosx,introduced=10.3,deprecated=10.12.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_12_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.3,deprecated=10.12.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_12_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.3,deprecated=10.12.2))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_12_4 __attribute__((availability(macosx,introduced=10.3,deprecated=10.12.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_12_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.3,deprecated=10.12.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_12_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.3,deprecated=10.12.4))) - #endif - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_12_MSG(_msg) __attribute__((availability(macosx,introduced=10.3,deprecated=10.12,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_12_MSG(_msg) __attribute__((availability(macosx,introduced=10.3,deprecated=10.12))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_13 __attribute__((availability(macosx,introduced=10.3,deprecated=10.13))) - #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_3 __attribute__((availability(macosx,introduced=10.3,deprecated=10.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.3,deprecated=10.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.3,deprecated=10.3))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_4 __attribute__((availability(macosx,introduced=10.3,deprecated=10.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.3,deprecated=10.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.3,deprecated=10.4))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_5 __attribute__((availability(macosx,introduced=10.3,deprecated=10.5))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_5_MSG(_msg) __attribute__((availability(macosx,introduced=10.3,deprecated=10.5,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_5_MSG(_msg) __attribute__((availability(macosx,introduced=10.3,deprecated=10.5))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_6 __attribute__((availability(macosx,introduced=10.3,deprecated=10.6))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_6_MSG(_msg) __attribute__((availability(macosx,introduced=10.3,deprecated=10.6,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_6_MSG(_msg) __attribute__((availability(macosx,introduced=10.3,deprecated=10.6))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_7 __attribute__((availability(macosx,introduced=10.3,deprecated=10.7))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_7_MSG(_msg) __attribute__((availability(macosx,introduced=10.3,deprecated=10.7,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_7_MSG(_msg) __attribute__((availability(macosx,introduced=10.3,deprecated=10.7))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_8 __attribute__((availability(macosx,introduced=10.3,deprecated=10.8))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_8_MSG(_msg) __attribute__((availability(macosx,introduced=10.3,deprecated=10.8,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_8_MSG(_msg) __attribute__((availability(macosx,introduced=10.3,deprecated=10.8))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_9 __attribute__((availability(macosx,introduced=10.3,deprecated=10.9))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_9_MSG(_msg) __attribute__((availability(macosx,introduced=10.3,deprecated=10.9,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_9_MSG(_msg) __attribute__((availability(macosx,introduced=10.3,deprecated=10.9))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_NA __attribute__((availability(macosx,introduced=10.3))) - #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_NA_MSG(_msg) __attribute__((availability(macosx,introduced=10.3))) - #define __AVAILABILITY_INTERNAL__MAC_10_4 __attribute__((availability(macosx,introduced=10.4))) - #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_1 __attribute__((availability(macosx,introduced=10.4,deprecated=10.1))) - #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_10 __attribute__((availability(macosx,introduced=10.4,deprecated=10.10))) - #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_10_2 __attribute__((availability(macosx,introduced=10.4,deprecated=10.10.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_10_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.4,deprecated=10.10.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_10_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.4,deprecated=10.10.2))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_10_3 __attribute__((availability(macosx,introduced=10.4,deprecated=10.10.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_10_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.4,deprecated=10.10.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_10_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.4,deprecated=10.10.3))) - #endif - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_10_MSG(_msg) __attribute__((availability(macosx,introduced=10.4,deprecated=10.10,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_10_MSG(_msg) __attribute__((availability(macosx,introduced=10.4,deprecated=10.10))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_11 __attribute__((availability(macosx,introduced=10.4,deprecated=10.11))) - #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_11_2 __attribute__((availability(macosx,introduced=10.4,deprecated=10.11.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_11_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.4,deprecated=10.11.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_11_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.4,deprecated=10.11.2))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_11_3 __attribute__((availability(macosx,introduced=10.4,deprecated=10.11.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_11_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.4,deprecated=10.11.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_11_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.4,deprecated=10.11.3))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_11_4 __attribute__((availability(macosx,introduced=10.4,deprecated=10.11.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_11_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.4,deprecated=10.11.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_11_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.4,deprecated=10.11.4))) - #endif - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_11_MSG(_msg) __attribute__((availability(macosx,introduced=10.4,deprecated=10.11,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_11_MSG(_msg) __attribute__((availability(macosx,introduced=10.4,deprecated=10.11))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_12 __attribute__((availability(macosx,introduced=10.4,deprecated=10.12))) - #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_12_1 __attribute__((availability(macosx,introduced=10.4,deprecated=10.12.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_12_1_MSG(_msg) __attribute__((availability(macosx,introduced=10.4,deprecated=10.12.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_12_1_MSG(_msg) __attribute__((availability(macosx,introduced=10.4,deprecated=10.12.1))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_12_2 __attribute__((availability(macosx,introduced=10.4,deprecated=10.12.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_12_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.4,deprecated=10.12.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_12_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.4,deprecated=10.12.2))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_12_4 __attribute__((availability(macosx,introduced=10.4,deprecated=10.12.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_12_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.4,deprecated=10.12.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_12_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.4,deprecated=10.12.4))) - #endif - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_12_MSG(_msg) __attribute__((availability(macosx,introduced=10.4,deprecated=10.12,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_12_MSG(_msg) __attribute__((availability(macosx,introduced=10.4,deprecated=10.12))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_13 __attribute__((availability(macosx,introduced=10.4,deprecated=10.13))) - #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_4 __attribute__((availability(macosx,introduced=10.4,deprecated=10.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.4,deprecated=10.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.4,deprecated=10.4))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_5 __attribute__((availability(macosx,introduced=10.4,deprecated=10.5))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_5_MSG(_msg) __attribute__((availability(macosx,introduced=10.4,deprecated=10.5,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_5_MSG(_msg) __attribute__((availability(macosx,introduced=10.4,deprecated=10.5))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_6 __attribute__((availability(macosx,introduced=10.4,deprecated=10.6))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_6_MSG(_msg) __attribute__((availability(macosx,introduced=10.4,deprecated=10.6,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_6_MSG(_msg) __attribute__((availability(macosx,introduced=10.4,deprecated=10.6))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_7 __attribute__((availability(macosx,introduced=10.4,deprecated=10.7))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_7_MSG(_msg) __attribute__((availability(macosx,introduced=10.4,deprecated=10.7,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_7_MSG(_msg) __attribute__((availability(macosx,introduced=10.4,deprecated=10.7))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_8 __attribute__((availability(macosx,introduced=10.4,deprecated=10.8))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_8_MSG(_msg) __attribute__((availability(macosx,introduced=10.4,deprecated=10.8,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_8_MSG(_msg) __attribute__((availability(macosx,introduced=10.4,deprecated=10.8))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_9 __attribute__((availability(macosx,introduced=10.4,deprecated=10.9))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_9_MSG(_msg) __attribute__((availability(macosx,introduced=10.4,deprecated=10.9,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_9_MSG(_msg) __attribute__((availability(macosx,introduced=10.4,deprecated=10.9))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_NA __attribute__((availability(macosx,introduced=10.4))) - #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_NA_MSG(_msg) __attribute__((availability(macosx,introduced=10.4))) - #define __AVAILABILITY_INTERNAL__MAC_10_5 __attribute__((availability(macosx,introduced=10.5))) - #define __AVAILABILITY_INTERNAL__MAC_10_5_DEPRECATED__MAC_10_7 __attribute__((availability(macosx,introduced=10.5.DEPRECATED..MAC.10.7))) - #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_1 __attribute__((availability(macosx,introduced=10.5,deprecated=10.1))) - #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_10 __attribute__((availability(macosx,introduced=10.5,deprecated=10.10))) - #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_10_2 __attribute__((availability(macosx,introduced=10.5,deprecated=10.10.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_10_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.5,deprecated=10.10.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_10_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.5,deprecated=10.10.2))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_10_3 __attribute__((availability(macosx,introduced=10.5,deprecated=10.10.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_10_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.5,deprecated=10.10.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_10_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.5,deprecated=10.10.3))) - #endif - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_10_MSG(_msg) __attribute__((availability(macosx,introduced=10.5,deprecated=10.10,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_10_MSG(_msg) __attribute__((availability(macosx,introduced=10.5,deprecated=10.10))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_11 __attribute__((availability(macosx,introduced=10.5,deprecated=10.11))) - #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_11_2 __attribute__((availability(macosx,introduced=10.5,deprecated=10.11.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_11_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.5,deprecated=10.11.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_11_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.5,deprecated=10.11.2))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_11_3 __attribute__((availability(macosx,introduced=10.5,deprecated=10.11.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_11_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.5,deprecated=10.11.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_11_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.5,deprecated=10.11.3))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_11_4 __attribute__((availability(macosx,introduced=10.5,deprecated=10.11.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_11_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.5,deprecated=10.11.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_11_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.5,deprecated=10.11.4))) - #endif - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_11_MSG(_msg) __attribute__((availability(macosx,introduced=10.5,deprecated=10.11,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_11_MSG(_msg) __attribute__((availability(macosx,introduced=10.5,deprecated=10.11))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_12 __attribute__((availability(macosx,introduced=10.5,deprecated=10.12))) - #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_12_1 __attribute__((availability(macosx,introduced=10.5,deprecated=10.12.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_12_1_MSG(_msg) __attribute__((availability(macosx,introduced=10.5,deprecated=10.12.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_12_1_MSG(_msg) __attribute__((availability(macosx,introduced=10.5,deprecated=10.12.1))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_12_2 __attribute__((availability(macosx,introduced=10.5,deprecated=10.12.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_12_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.5,deprecated=10.12.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_12_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.5,deprecated=10.12.2))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_12_4 __attribute__((availability(macosx,introduced=10.5,deprecated=10.12.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_12_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.5,deprecated=10.12.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_12_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.5,deprecated=10.12.4))) - #endif - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_12_MSG(_msg) __attribute__((availability(macosx,introduced=10.5,deprecated=10.12,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_12_MSG(_msg) __attribute__((availability(macosx,introduced=10.5,deprecated=10.12))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_5 __attribute__((availability(macosx,introduced=10.5,deprecated=10.5))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_5_MSG(_msg) __attribute__((availability(macosx,introduced=10.5,deprecated=10.5,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_5_MSG(_msg) __attribute__((availability(macosx,introduced=10.5,deprecated=10.5))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_6 __attribute__((availability(macosx,introduced=10.5,deprecated=10.6))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_6_MSG(_msg) __attribute__((availability(macosx,introduced=10.5,deprecated=10.6,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_6_MSG(_msg) __attribute__((availability(macosx,introduced=10.5,deprecated=10.6))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_7 __attribute__((availability(macosx,introduced=10.5,deprecated=10.7))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_7_MSG(_msg) __attribute__((availability(macosx,introduced=10.5,deprecated=10.7,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_7_MSG(_msg) __attribute__((availability(macosx,introduced=10.5,deprecated=10.7))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_8 __attribute__((availability(macosx,introduced=10.5,deprecated=10.8))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_8_MSG(_msg) __attribute__((availability(macosx,introduced=10.5,deprecated=10.8,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_8_MSG(_msg) __attribute__((availability(macosx,introduced=10.5,deprecated=10.8))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_9 __attribute__((availability(macosx,introduced=10.5,deprecated=10.9))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_9_MSG(_msg) __attribute__((availability(macosx,introduced=10.5,deprecated=10.9,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_9_MSG(_msg) __attribute__((availability(macosx,introduced=10.5,deprecated=10.9))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_NA __attribute__((availability(macosx,introduced=10.5))) - #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_NA_MSG(_msg) __attribute__((availability(macosx,introduced=10.5))) - #define __AVAILABILITY_INTERNAL__MAC_10_6 __attribute__((availability(macosx,introduced=10.6))) - #define __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_10_1 __attribute__((availability(macosx,introduced=10.6,deprecated=10.1))) - #define __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_10_10 __attribute__((availability(macosx,introduced=10.6,deprecated=10.10))) - #define __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_10_10_2 __attribute__((availability(macosx,introduced=10.6,deprecated=10.10.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_10_10_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.6,deprecated=10.10.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_10_10_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.6,deprecated=10.10.2))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_10_10_3 __attribute__((availability(macosx,introduced=10.6,deprecated=10.10.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_10_10_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.6,deprecated=10.10.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_10_10_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.6,deprecated=10.10.3))) - #endif - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_10_10_MSG(_msg) __attribute__((availability(macosx,introduced=10.6,deprecated=10.10,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_10_10_MSG(_msg) __attribute__((availability(macosx,introduced=10.6,deprecated=10.10))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_10_11 __attribute__((availability(macosx,introduced=10.6,deprecated=10.11))) - #define __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_10_11_2 __attribute__((availability(macosx,introduced=10.6,deprecated=10.11.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_10_11_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.6,deprecated=10.11.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_10_11_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.6,deprecated=10.11.2))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_10_11_3 __attribute__((availability(macosx,introduced=10.6,deprecated=10.11.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_10_11_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.6,deprecated=10.11.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_10_11_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.6,deprecated=10.11.3))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_10_11_4 __attribute__((availability(macosx,introduced=10.6,deprecated=10.11.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_10_11_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.6,deprecated=10.11.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_10_11_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.6,deprecated=10.11.4))) - #endif - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_10_11_MSG(_msg) __attribute__((availability(macosx,introduced=10.6,deprecated=10.11,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_10_11_MSG(_msg) __attribute__((availability(macosx,introduced=10.6,deprecated=10.11))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_10_12 __attribute__((availability(macosx,introduced=10.6,deprecated=10.12))) - #define __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_10_12_1 __attribute__((availability(macosx,introduced=10.6,deprecated=10.12.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_10_12_1_MSG(_msg) __attribute__((availability(macosx,introduced=10.6,deprecated=10.12.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_10_12_1_MSG(_msg) __attribute__((availability(macosx,introduced=10.6,deprecated=10.12.1))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_10_12_2 __attribute__((availability(macosx,introduced=10.6,deprecated=10.12.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_10_12_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.6,deprecated=10.12.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_10_12_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.6,deprecated=10.12.2))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_10_12_4 __attribute__((availability(macosx,introduced=10.6,deprecated=10.12.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_10_12_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.6,deprecated=10.12.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_10_12_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.6,deprecated=10.12.4))) - #endif - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_10_12_MSG(_msg) __attribute__((availability(macosx,introduced=10.6,deprecated=10.12,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_10_12_MSG(_msg) __attribute__((availability(macosx,introduced=10.6,deprecated=10.12))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_10_13 __attribute__((availability(macosx,introduced=10.6,deprecated=10.13))) - #define __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_10_6 __attribute__((availability(macosx,introduced=10.6,deprecated=10.6))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_10_6_MSG(_msg) __attribute__((availability(macosx,introduced=10.6,deprecated=10.6,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_10_6_MSG(_msg) __attribute__((availability(macosx,introduced=10.6,deprecated=10.6))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_10_7 __attribute__((availability(macosx,introduced=10.6,deprecated=10.7))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_10_7_MSG(_msg) __attribute__((availability(macosx,introduced=10.6,deprecated=10.7,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_10_7_MSG(_msg) __attribute__((availability(macosx,introduced=10.6,deprecated=10.7))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_10_8 __attribute__((availability(macosx,introduced=10.6,deprecated=10.8))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_10_8_MSG(_msg) __attribute__((availability(macosx,introduced=10.6,deprecated=10.8,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_10_8_MSG(_msg) __attribute__((availability(macosx,introduced=10.6,deprecated=10.8))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_10_9 __attribute__((availability(macosx,introduced=10.6,deprecated=10.9))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_10_9_MSG(_msg) __attribute__((availability(macosx,introduced=10.6,deprecated=10.9,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_10_9_MSG(_msg) __attribute__((availability(macosx,introduced=10.6,deprecated=10.9))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_NA __attribute__((availability(macosx,introduced=10.6))) - #define __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_NA_MSG(_msg) __attribute__((availability(macosx,introduced=10.6))) - #define __AVAILABILITY_INTERNAL__MAC_10_7 __attribute__((availability(macosx,introduced=10.7))) - #define __AVAILABILITY_INTERNAL__MAC_10_7_DEP__MAC_10_1 __attribute__((availability(macosx,introduced=10.7,deprecated=10.1))) - #define __AVAILABILITY_INTERNAL__MAC_10_7_DEP__MAC_10_10 __attribute__((availability(macosx,introduced=10.7,deprecated=10.10))) - #define __AVAILABILITY_INTERNAL__MAC_10_7_DEP__MAC_10_10_2 __attribute__((availability(macosx,introduced=10.7,deprecated=10.10.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_7_DEP__MAC_10_10_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.7,deprecated=10.10.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_7_DEP__MAC_10_10_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.7,deprecated=10.10.2))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_7_DEP__MAC_10_10_3 __attribute__((availability(macosx,introduced=10.7,deprecated=10.10.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_7_DEP__MAC_10_10_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.7,deprecated=10.10.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_7_DEP__MAC_10_10_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.7,deprecated=10.10.3))) - #endif - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_7_DEP__MAC_10_10_MSG(_msg) __attribute__((availability(macosx,introduced=10.7,deprecated=10.10,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_7_DEP__MAC_10_10_MSG(_msg) __attribute__((availability(macosx,introduced=10.7,deprecated=10.10))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_7_DEP__MAC_10_11 __attribute__((availability(macosx,introduced=10.7,deprecated=10.11))) - #define __AVAILABILITY_INTERNAL__MAC_10_7_DEP__MAC_10_11_2 __attribute__((availability(macosx,introduced=10.7,deprecated=10.11.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_7_DEP__MAC_10_11_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.7,deprecated=10.11.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_7_DEP__MAC_10_11_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.7,deprecated=10.11.2))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_7_DEP__MAC_10_11_3 __attribute__((availability(macosx,introduced=10.7,deprecated=10.11.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_7_DEP__MAC_10_11_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.7,deprecated=10.11.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_7_DEP__MAC_10_11_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.7,deprecated=10.11.3))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_7_DEP__MAC_10_11_4 __attribute__((availability(macosx,introduced=10.7,deprecated=10.11.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_7_DEP__MAC_10_11_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.7,deprecated=10.11.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_7_DEP__MAC_10_11_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.7,deprecated=10.11.4))) - #endif - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_7_DEP__MAC_10_11_MSG(_msg) __attribute__((availability(macosx,introduced=10.7,deprecated=10.11,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_7_DEP__MAC_10_11_MSG(_msg) __attribute__((availability(macosx,introduced=10.7,deprecated=10.11))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_7_DEP__MAC_10_12 __attribute__((availability(macosx,introduced=10.7,deprecated=10.12))) - #define __AVAILABILITY_INTERNAL__MAC_10_7_DEP__MAC_10_12_1 __attribute__((availability(macosx,introduced=10.7,deprecated=10.12.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_7_DEP__MAC_10_12_1_MSG(_msg) __attribute__((availability(macosx,introduced=10.7,deprecated=10.12.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_7_DEP__MAC_10_12_1_MSG(_msg) __attribute__((availability(macosx,introduced=10.7,deprecated=10.12.1))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_7_DEP__MAC_10_12_2 __attribute__((availability(macosx,introduced=10.7,deprecated=10.12.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_7_DEP__MAC_10_12_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.7,deprecated=10.12.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_7_DEP__MAC_10_12_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.7,deprecated=10.12.2))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_7_DEP__MAC_10_12_4 __attribute__((availability(macosx,introduced=10.7,deprecated=10.12.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_7_DEP__MAC_10_12_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.7,deprecated=10.12.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_7_DEP__MAC_10_12_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.7,deprecated=10.12.4))) - #endif - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_7_DEP__MAC_10_12_MSG(_msg) __attribute__((availability(macosx,introduced=10.7,deprecated=10.12,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_7_DEP__MAC_10_12_MSG(_msg) __attribute__((availability(macosx,introduced=10.7,deprecated=10.12))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_7_DEP__MAC_10_13_2 __attribute__((availability(macosx,introduced=10.7,deprecated=10.13.2))) - #define __AVAILABILITY_INTERNAL__MAC_10_7_DEP__MAC_10_7 __attribute__((availability(macosx,introduced=10.7,deprecated=10.7))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_7_DEP__MAC_10_7_MSG(_msg) __attribute__((availability(macosx,introduced=10.7,deprecated=10.7,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_7_DEP__MAC_10_7_MSG(_msg) __attribute__((availability(macosx,introduced=10.7,deprecated=10.7))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_7_DEP__MAC_10_8 __attribute__((availability(macosx,introduced=10.7,deprecated=10.8))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_7_DEP__MAC_10_8_MSG(_msg) __attribute__((availability(macosx,introduced=10.7,deprecated=10.8,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_7_DEP__MAC_10_8_MSG(_msg) __attribute__((availability(macosx,introduced=10.7,deprecated=10.8))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_7_DEP__MAC_10_9 __attribute__((availability(macosx,introduced=10.7,deprecated=10.9))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_7_DEP__MAC_10_9_MSG(_msg) __attribute__((availability(macosx,introduced=10.7,deprecated=10.9,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_7_DEP__MAC_10_9_MSG(_msg) __attribute__((availability(macosx,introduced=10.7,deprecated=10.9))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_7_DEP__MAC_NA __attribute__((availability(macosx,introduced=10.7))) - #define __AVAILABILITY_INTERNAL__MAC_10_7_DEP__MAC_NA_MSG(_msg) __attribute__((availability(macosx,introduced=10.7))) - #define __AVAILABILITY_INTERNAL__MAC_10_8 __attribute__((availability(macosx,introduced=10.8))) - #define __AVAILABILITY_INTERNAL__MAC_10_8_DEP__MAC_10_1 __attribute__((availability(macosx,introduced=10.8,deprecated=10.1))) - #define __AVAILABILITY_INTERNAL__MAC_10_8_DEP__MAC_10_10 __attribute__((availability(macosx,introduced=10.8,deprecated=10.10))) - #define __AVAILABILITY_INTERNAL__MAC_10_8_DEP__MAC_10_10_2 __attribute__((availability(macosx,introduced=10.8,deprecated=10.10.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_8_DEP__MAC_10_10_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.8,deprecated=10.10.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_8_DEP__MAC_10_10_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.8,deprecated=10.10.2))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_8_DEP__MAC_10_10_3 __attribute__((availability(macosx,introduced=10.8,deprecated=10.10.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_8_DEP__MAC_10_10_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.8,deprecated=10.10.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_8_DEP__MAC_10_10_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.8,deprecated=10.10.3))) - #endif - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_8_DEP__MAC_10_10_MSG(_msg) __attribute__((availability(macosx,introduced=10.8,deprecated=10.10,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_8_DEP__MAC_10_10_MSG(_msg) __attribute__((availability(macosx,introduced=10.8,deprecated=10.10))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_8_DEP__MAC_10_11 __attribute__((availability(macosx,introduced=10.8,deprecated=10.11))) - #define __AVAILABILITY_INTERNAL__MAC_10_8_DEP__MAC_10_11_2 __attribute__((availability(macosx,introduced=10.8,deprecated=10.11.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_8_DEP__MAC_10_11_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.8,deprecated=10.11.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_8_DEP__MAC_10_11_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.8,deprecated=10.11.2))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_8_DEP__MAC_10_11_3 __attribute__((availability(macosx,introduced=10.8,deprecated=10.11.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_8_DEP__MAC_10_11_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.8,deprecated=10.11.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_8_DEP__MAC_10_11_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.8,deprecated=10.11.3))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_8_DEP__MAC_10_11_4 __attribute__((availability(macosx,introduced=10.8,deprecated=10.11.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_8_DEP__MAC_10_11_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.8,deprecated=10.11.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_8_DEP__MAC_10_11_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.8,deprecated=10.11.4))) - #endif - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_8_DEP__MAC_10_11_MSG(_msg) __attribute__((availability(macosx,introduced=10.8,deprecated=10.11,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_8_DEP__MAC_10_11_MSG(_msg) __attribute__((availability(macosx,introduced=10.8,deprecated=10.11))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_8_DEP__MAC_10_12 __attribute__((availability(macosx,introduced=10.8,deprecated=10.12))) - #define __AVAILABILITY_INTERNAL__MAC_10_8_DEP__MAC_10_12_1 __attribute__((availability(macosx,introduced=10.8,deprecated=10.12.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_8_DEP__MAC_10_12_1_MSG(_msg) __attribute__((availability(macosx,introduced=10.8,deprecated=10.12.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_8_DEP__MAC_10_12_1_MSG(_msg) __attribute__((availability(macosx,introduced=10.8,deprecated=10.12.1))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_8_DEP__MAC_10_12_2 __attribute__((availability(macosx,introduced=10.8,deprecated=10.12.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_8_DEP__MAC_10_12_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.8,deprecated=10.12.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_8_DEP__MAC_10_12_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.8,deprecated=10.12.2))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_8_DEP__MAC_10_12_4 __attribute__((availability(macosx,introduced=10.8,deprecated=10.12.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_8_DEP__MAC_10_12_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.8,deprecated=10.12.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_8_DEP__MAC_10_12_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.8,deprecated=10.12.4))) - #endif - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_8_DEP__MAC_10_12_MSG(_msg) __attribute__((availability(macosx,introduced=10.8,deprecated=10.12,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_8_DEP__MAC_10_12_MSG(_msg) __attribute__((availability(macosx,introduced=10.8,deprecated=10.12))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_8_DEP__MAC_10_13 __attribute__((availability(macosx,introduced=10.8,deprecated=10.13))) - #define __AVAILABILITY_INTERNAL__MAC_10_8_DEP__MAC_10_8 __attribute__((availability(macosx,introduced=10.8,deprecated=10.8))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_8_DEP__MAC_10_8_MSG(_msg) __attribute__((availability(macosx,introduced=10.8,deprecated=10.8,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_8_DEP__MAC_10_8_MSG(_msg) __attribute__((availability(macosx,introduced=10.8,deprecated=10.8))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_8_DEP__MAC_10_9 __attribute__((availability(macosx,introduced=10.8,deprecated=10.9))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_8_DEP__MAC_10_9_MSG(_msg) __attribute__((availability(macosx,introduced=10.8,deprecated=10.9,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_8_DEP__MAC_10_9_MSG(_msg) __attribute__((availability(macosx,introduced=10.8,deprecated=10.9))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_8_DEP__MAC_NA __attribute__((availability(macosx,introduced=10.8))) - #define __AVAILABILITY_INTERNAL__MAC_10_8_DEP__MAC_NA_MSG(_msg) __attribute__((availability(macosx,introduced=10.8))) - #define __AVAILABILITY_INTERNAL__MAC_10_9 __attribute__((availability(macosx,introduced=10.9))) - #define __AVAILABILITY_INTERNAL__MAC_10_9_DEP__MAC_10_1 __attribute__((availability(macosx,introduced=10.9,deprecated=10.1))) - #define __AVAILABILITY_INTERNAL__MAC_10_9_DEP__MAC_10_10 __attribute__((availability(macosx,introduced=10.9,deprecated=10.10))) - #define __AVAILABILITY_INTERNAL__MAC_10_9_DEP__MAC_10_10_2 __attribute__((availability(macosx,introduced=10.9,deprecated=10.10.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_9_DEP__MAC_10_10_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.9,deprecated=10.10.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_9_DEP__MAC_10_10_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.9,deprecated=10.10.2))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_9_DEP__MAC_10_10_3 __attribute__((availability(macosx,introduced=10.9,deprecated=10.10.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_9_DEP__MAC_10_10_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.9,deprecated=10.10.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_9_DEP__MAC_10_10_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.9,deprecated=10.10.3))) - #endif - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_9_DEP__MAC_10_10_MSG(_msg) __attribute__((availability(macosx,introduced=10.9,deprecated=10.10,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_9_DEP__MAC_10_10_MSG(_msg) __attribute__((availability(macosx,introduced=10.9,deprecated=10.10))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_9_DEP__MAC_10_11 __attribute__((availability(macosx,introduced=10.9,deprecated=10.11))) - #define __AVAILABILITY_INTERNAL__MAC_10_9_DEP__MAC_10_11_2 __attribute__((availability(macosx,introduced=10.9,deprecated=10.11.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_9_DEP__MAC_10_11_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.9,deprecated=10.11.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_9_DEP__MAC_10_11_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.9,deprecated=10.11.2))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_9_DEP__MAC_10_11_3 __attribute__((availability(macosx,introduced=10.9,deprecated=10.11.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_9_DEP__MAC_10_11_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.9,deprecated=10.11.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_9_DEP__MAC_10_11_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.9,deprecated=10.11.3))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_9_DEP__MAC_10_11_4 __attribute__((availability(macosx,introduced=10.9,deprecated=10.11.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_9_DEP__MAC_10_11_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.9,deprecated=10.11.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_9_DEP__MAC_10_11_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.9,deprecated=10.11.4))) - #endif - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_9_DEP__MAC_10_11_MSG(_msg) __attribute__((availability(macosx,introduced=10.9,deprecated=10.11,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_9_DEP__MAC_10_11_MSG(_msg) __attribute__((availability(macosx,introduced=10.9,deprecated=10.11))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_9_DEP__MAC_10_12 __attribute__((availability(macosx,introduced=10.9,deprecated=10.12))) - #define __AVAILABILITY_INTERNAL__MAC_10_9_DEP__MAC_10_12_1 __attribute__((availability(macosx,introduced=10.9,deprecated=10.12.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_9_DEP__MAC_10_12_1_MSG(_msg) __attribute__((availability(macosx,introduced=10.9,deprecated=10.12.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_9_DEP__MAC_10_12_1_MSG(_msg) __attribute__((availability(macosx,introduced=10.9,deprecated=10.12.1))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_9_DEP__MAC_10_12_2 __attribute__((availability(macosx,introduced=10.9,deprecated=10.12.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_9_DEP__MAC_10_12_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.9,deprecated=10.12.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_9_DEP__MAC_10_12_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.9,deprecated=10.12.2))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_9_DEP__MAC_10_12_4 __attribute__((availability(macosx,introduced=10.9,deprecated=10.12.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_9_DEP__MAC_10_12_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.9,deprecated=10.12.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_9_DEP__MAC_10_12_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.9,deprecated=10.12.4))) - #endif - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_9_DEP__MAC_10_12_MSG(_msg) __attribute__((availability(macosx,introduced=10.9,deprecated=10.12,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_9_DEP__MAC_10_12_MSG(_msg) __attribute__((availability(macosx,introduced=10.9,deprecated=10.12))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_9_DEP__MAC_10_13 __attribute__((availability(macosx,introduced=10.9,deprecated=10.13))) - #define __AVAILABILITY_INTERNAL__MAC_10_9_DEP__MAC_10_14 __attribute__((availability(macosx,introduced=10.9,deprecated=10.14))) - #define __AVAILABILITY_INTERNAL__MAC_10_9_DEP__MAC_10_9 __attribute__((availability(macosx,introduced=10.9,deprecated=10.9))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_9_DEP__MAC_10_9_MSG(_msg) __attribute__((availability(macosx,introduced=10.9,deprecated=10.9,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_9_DEP__MAC_10_9_MSG(_msg) __attribute__((availability(macosx,introduced=10.9,deprecated=10.9))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_9_DEP__MAC_NA __attribute__((availability(macosx,introduced=10.9))) - #define __AVAILABILITY_INTERNAL__MAC_10_9_DEP__MAC_NA_MSG(_msg) __attribute__((availability(macosx,introduced=10.9))) - #define __AVAILABILITY_INTERNAL__MAC_10_0 __attribute__((availability(macosx,introduced=10.0))) - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_0 __attribute__((availability(macosx,introduced=10.0,deprecated=10.0))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_0_MSG(_msg) __attribute__((availability(macosx,introduced=10.0,deprecated=10.0,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_0_MSG(_msg) __attribute__((availability(macosx,introduced=10.0,deprecated=10.0))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_1 __attribute__((availability(macosx,introduced=10.0,deprecated=10.1))) - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_10 __attribute__((availability(macosx,introduced=10.0,deprecated=10.10))) - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_10_2 __attribute__((availability(macosx,introduced=10.0,deprecated=10.10.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_10_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.0,deprecated=10.10.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_10_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.0,deprecated=10.10.2))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_10_3 __attribute__((availability(macosx,introduced=10.0,deprecated=10.10.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_10_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.0,deprecated=10.10.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_10_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.0,deprecated=10.10.3))) - #endif - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_10_MSG(_msg) __attribute__((availability(macosx,introduced=10.0,deprecated=10.10,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_10_MSG(_msg) __attribute__((availability(macosx,introduced=10.0,deprecated=10.10))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_11 __attribute__((availability(macosx,introduced=10.0,deprecated=10.11))) - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_11_2 __attribute__((availability(macosx,introduced=10.0,deprecated=10.11.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_11_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.0,deprecated=10.11.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_11_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.0,deprecated=10.11.2))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_11_3 __attribute__((availability(macosx,introduced=10.0,deprecated=10.11.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_11_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.0,deprecated=10.11.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_11_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.0,deprecated=10.11.3))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_11_4 __attribute__((availability(macosx,introduced=10.0,deprecated=10.11.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_11_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.0,deprecated=10.11.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_11_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.0,deprecated=10.11.4))) - #endif - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_11_MSG(_msg) __attribute__((availability(macosx,introduced=10.0,deprecated=10.11,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_11_MSG(_msg) __attribute__((availability(macosx,introduced=10.0,deprecated=10.11))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_12 __attribute__((availability(macosx,introduced=10.0,deprecated=10.12))) - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_12_1 __attribute__((availability(macosx,introduced=10.0,deprecated=10.12.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_12_1_MSG(_msg) __attribute__((availability(macosx,introduced=10.0,deprecated=10.12.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_12_1_MSG(_msg) __attribute__((availability(macosx,introduced=10.0,deprecated=10.12.1))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_12_2 __attribute__((availability(macosx,introduced=10.0,deprecated=10.12.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_12_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.0,deprecated=10.12.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_12_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.0,deprecated=10.12.2))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_12_4 __attribute__((availability(macosx,introduced=10.0,deprecated=10.12.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_12_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.0,deprecated=10.12.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_12_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.0,deprecated=10.12.4))) - #endif - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_12_MSG(_msg) __attribute__((availability(macosx,introduced=10.0,deprecated=10.12,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_12_MSG(_msg) __attribute__((availability(macosx,introduced=10.0,deprecated=10.12))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_13 __attribute__((availability(macosx,introduced=10.0,deprecated=10.13))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_1_MSG(_msg) __attribute__((availability(macosx,introduced=10.0,deprecated=10.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_1_MSG(_msg) __attribute__((availability(macosx,introduced=10.0,deprecated=10.1))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_2 __attribute__((availability(macosx,introduced=10.0,deprecated=10.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.0,deprecated=10.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.0,deprecated=10.2))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_3 __attribute__((availability(macosx,introduced=10.0,deprecated=10.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.0,deprecated=10.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.0,deprecated=10.3))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_4 __attribute__((availability(macosx,introduced=10.0,deprecated=10.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.0,deprecated=10.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.0,deprecated=10.4))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_5 __attribute__((availability(macosx,introduced=10.0,deprecated=10.5))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_5_MSG(_msg) __attribute__((availability(macosx,introduced=10.0,deprecated=10.5,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_5_MSG(_msg) __attribute__((availability(macosx,introduced=10.0,deprecated=10.5))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_6 __attribute__((availability(macosx,introduced=10.0,deprecated=10.6))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_6_MSG(_msg) __attribute__((availability(macosx,introduced=10.0,deprecated=10.6,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_6_MSG(_msg) __attribute__((availability(macosx,introduced=10.0,deprecated=10.6))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_7 __attribute__((availability(macosx,introduced=10.0,deprecated=10.7))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_7_MSG(_msg) __attribute__((availability(macosx,introduced=10.0,deprecated=10.7,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_7_MSG(_msg) __attribute__((availability(macosx,introduced=10.0,deprecated=10.7))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_8 __attribute__((availability(macosx,introduced=10.0,deprecated=10.8))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_8_MSG(_msg) __attribute__((availability(macosx,introduced=10.0,deprecated=10.8,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_8_MSG(_msg) __attribute__((availability(macosx,introduced=10.0,deprecated=10.8))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_9 __attribute__((availability(macosx,introduced=10.0,deprecated=10.9))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_9_MSG(_msg) __attribute__((availability(macosx,introduced=10.0,deprecated=10.9,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_9_MSG(_msg) __attribute__((availability(macosx,introduced=10.0,deprecated=10.9))) - #endif - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_13_MSG(_msg) __attribute__((availability(macosx,introduced=10.0,deprecated=10.13,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_13_MSG(_msg) __attribute__((availability(macosx,introduced=10.0,deprecated=10.13))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_NA __attribute__((availability(macosx,introduced=10.0))) - #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_NA_MSG(_msg) __attribute__((availability(macosx,introduced=10.0))) - #define __AVAILABILITY_INTERNAL__MAC_10_1 __attribute__((availability(macosx,introduced=10.1))) - #define __AVAILABILITY_INTERNAL__MAC_10_10 __attribute__((availability(macosx,introduced=10.10))) - #define __AVAILABILITY_INTERNAL__MAC_10_10_2 __attribute__((availability(macosx,introduced=10.10.2))) - #define __AVAILABILITY_INTERNAL__MAC_10_10_2_DEP__MAC_10_10_2 __attribute__((availability(macosx,introduced=10.10.2,deprecated=10.10.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_10_2_DEP__MAC_10_10_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.10.2,deprecated=10.10.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_10_2_DEP__MAC_10_10_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.10.2,deprecated=10.10.2))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_10_2_DEP__MAC_10_10_3 __attribute__((availability(macosx,introduced=10.10.2,deprecated=10.10.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_10_2_DEP__MAC_10_10_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.10.2,deprecated=10.10.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_10_2_DEP__MAC_10_10_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.10.2,deprecated=10.10.3))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_10_2_DEP__MAC_10_11 __attribute__((availability(macosx,introduced=10.10.2,deprecated=10.11))) - #define __AVAILABILITY_INTERNAL__MAC_10_10_2_DEP__MAC_10_11_2 __attribute__((availability(macosx,introduced=10.10.2,deprecated=10.11.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_10_2_DEP__MAC_10_11_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.10.2,deprecated=10.11.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_10_2_DEP__MAC_10_11_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.10.2,deprecated=10.11.2))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_10_2_DEP__MAC_10_11_3 __attribute__((availability(macosx,introduced=10.10.2,deprecated=10.11.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_10_2_DEP__MAC_10_11_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.10.2,deprecated=10.11.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_10_2_DEP__MAC_10_11_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.10.2,deprecated=10.11.3))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_10_2_DEP__MAC_10_11_4 __attribute__((availability(macosx,introduced=10.10.2,deprecated=10.11.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_10_2_DEP__MAC_10_11_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.10.2,deprecated=10.11.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_10_2_DEP__MAC_10_11_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.10.2,deprecated=10.11.4))) - #endif - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_10_2_DEP__MAC_10_11_MSG(_msg) __attribute__((availability(macosx,introduced=10.10.2,deprecated=10.11,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_10_2_DEP__MAC_10_11_MSG(_msg) __attribute__((availability(macosx,introduced=10.10.2,deprecated=10.11))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_10_2_DEP__MAC_10_12 __attribute__((availability(macosx,introduced=10.10.2,deprecated=10.12))) - #define __AVAILABILITY_INTERNAL__MAC_10_10_2_DEP__MAC_10_12_1 __attribute__((availability(macosx,introduced=10.10.2,deprecated=10.12.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_10_2_DEP__MAC_10_12_1_MSG(_msg) __attribute__((availability(macosx,introduced=10.10.2,deprecated=10.12.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_10_2_DEP__MAC_10_12_1_MSG(_msg) __attribute__((availability(macosx,introduced=10.10.2,deprecated=10.12.1))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_10_2_DEP__MAC_10_12_2 __attribute__((availability(macosx,introduced=10.10.2,deprecated=10.12.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_10_2_DEP__MAC_10_12_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.10.2,deprecated=10.12.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_10_2_DEP__MAC_10_12_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.10.2,deprecated=10.12.2))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_10_2_DEP__MAC_10_12_4 __attribute__((availability(macosx,introduced=10.10.2,deprecated=10.12.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_10_2_DEP__MAC_10_12_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.10.2,deprecated=10.12.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_10_2_DEP__MAC_10_12_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.10.2,deprecated=10.12.4))) - #endif - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_10_2_DEP__MAC_10_12_MSG(_msg) __attribute__((availability(macosx,introduced=10.10.2,deprecated=10.12,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_10_2_DEP__MAC_10_12_MSG(_msg) __attribute__((availability(macosx,introduced=10.10.2,deprecated=10.12))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_10_2_DEP__MAC_NA __attribute__((availability(macosx,introduced=10.10.2))) - #define __AVAILABILITY_INTERNAL__MAC_10_10_2_DEP__MAC_NA_MSG(_msg) __attribute__((availability(macosx,introduced=10.10.2))) - #define __AVAILABILITY_INTERNAL__MAC_10_10_3 __attribute__((availability(macosx,introduced=10.10.3))) - #define __AVAILABILITY_INTERNAL__MAC_10_10_3_DEP__MAC_10_10_3 __attribute__((availability(macosx,introduced=10.10.3,deprecated=10.10.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_10_3_DEP__MAC_10_10_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.10.3,deprecated=10.10.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_10_3_DEP__MAC_10_10_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.10.3,deprecated=10.10.3))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_10_3_DEP__MAC_10_11 __attribute__((availability(macosx,introduced=10.10.3,deprecated=10.11))) - #define __AVAILABILITY_INTERNAL__MAC_10_10_3_DEP__MAC_10_11_2 __attribute__((availability(macosx,introduced=10.10.3,deprecated=10.11.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_10_3_DEP__MAC_10_11_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.10.3,deprecated=10.11.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_10_3_DEP__MAC_10_11_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.10.3,deprecated=10.11.2))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_10_3_DEP__MAC_10_11_3 __attribute__((availability(macosx,introduced=10.10.3,deprecated=10.11.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_10_3_DEP__MAC_10_11_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.10.3,deprecated=10.11.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_10_3_DEP__MAC_10_11_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.10.3,deprecated=10.11.3))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_10_3_DEP__MAC_10_11_4 __attribute__((availability(macosx,introduced=10.10.3,deprecated=10.11.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_10_3_DEP__MAC_10_11_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.10.3,deprecated=10.11.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_10_3_DEP__MAC_10_11_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.10.3,deprecated=10.11.4))) - #endif - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_10_3_DEP__MAC_10_11_MSG(_msg) __attribute__((availability(macosx,introduced=10.10.3,deprecated=10.11,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_10_3_DEP__MAC_10_11_MSG(_msg) __attribute__((availability(macosx,introduced=10.10.3,deprecated=10.11))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_10_3_DEP__MAC_10_12 __attribute__((availability(macosx,introduced=10.10.3,deprecated=10.12))) - #define __AVAILABILITY_INTERNAL__MAC_10_10_3_DEP__MAC_10_12_1 __attribute__((availability(macosx,introduced=10.10.3,deprecated=10.12.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_10_3_DEP__MAC_10_12_1_MSG(_msg) __attribute__((availability(macosx,introduced=10.10.3,deprecated=10.12.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_10_3_DEP__MAC_10_12_1_MSG(_msg) __attribute__((availability(macosx,introduced=10.10.3,deprecated=10.12.1))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_10_3_DEP__MAC_10_12_2 __attribute__((availability(macosx,introduced=10.10.3,deprecated=10.12.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_10_3_DEP__MAC_10_12_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.10.3,deprecated=10.12.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_10_3_DEP__MAC_10_12_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.10.3,deprecated=10.12.2))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_10_3_DEP__MAC_10_12_4 __attribute__((availability(macosx,introduced=10.10.3,deprecated=10.12.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_10_3_DEP__MAC_10_12_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.10.3,deprecated=10.12.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_10_3_DEP__MAC_10_12_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.10.3,deprecated=10.12.4))) - #endif - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_10_3_DEP__MAC_10_12_MSG(_msg) __attribute__((availability(macosx,introduced=10.10.3,deprecated=10.12,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_10_3_DEP__MAC_10_12_MSG(_msg) __attribute__((availability(macosx,introduced=10.10.3,deprecated=10.12))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_10_3_DEP__MAC_NA __attribute__((availability(macosx,introduced=10.10.3))) - #define __AVAILABILITY_INTERNAL__MAC_10_10_3_DEP__MAC_NA_MSG(_msg) __attribute__((availability(macosx,introduced=10.10.3))) - #define __AVAILABILITY_INTERNAL__MAC_10_10_DEP__MAC_10_1 __attribute__((availability(macosx,introduced=10.10,deprecated=10.1))) - #define __AVAILABILITY_INTERNAL__MAC_10_10_DEP__MAC_10_10 __attribute__((availability(macosx,introduced=10.10,deprecated=10.10))) - #define __AVAILABILITY_INTERNAL__MAC_10_10_DEP__MAC_10_10_2 __attribute__((availability(macosx,introduced=10.10,deprecated=10.10.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_10_DEP__MAC_10_10_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.10,deprecated=10.10.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_10_DEP__MAC_10_10_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.10,deprecated=10.10.2))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_10_DEP__MAC_10_10_3 __attribute__((availability(macosx,introduced=10.10,deprecated=10.10.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_10_DEP__MAC_10_10_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.10,deprecated=10.10.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_10_DEP__MAC_10_10_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.10,deprecated=10.10.3))) - #endif - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_10_DEP__MAC_10_10_MSG(_msg) __attribute__((availability(macosx,introduced=10.10,deprecated=10.10,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_10_DEP__MAC_10_10_MSG(_msg) __attribute__((availability(macosx,introduced=10.10,deprecated=10.10))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_10_DEP__MAC_10_11 __attribute__((availability(macosx,introduced=10.10,deprecated=10.11))) - #define __AVAILABILITY_INTERNAL__MAC_10_10_DEP__MAC_10_11_2 __attribute__((availability(macosx,introduced=10.10,deprecated=10.11.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_10_DEP__MAC_10_11_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.10,deprecated=10.11.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_10_DEP__MAC_10_11_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.10,deprecated=10.11.2))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_10_DEP__MAC_10_11_3 __attribute__((availability(macosx,introduced=10.10,deprecated=10.11.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_10_DEP__MAC_10_11_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.10,deprecated=10.11.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_10_DEP__MAC_10_11_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.10,deprecated=10.11.3))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_10_DEP__MAC_10_11_4 __attribute__((availability(macosx,introduced=10.10,deprecated=10.11.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_10_DEP__MAC_10_11_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.10,deprecated=10.11.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_10_DEP__MAC_10_11_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.10,deprecated=10.11.4))) - #endif - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_10_DEP__MAC_10_11_MSG(_msg) __attribute__((availability(macosx,introduced=10.10,deprecated=10.11,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_10_DEP__MAC_10_11_MSG(_msg) __attribute__((availability(macosx,introduced=10.10,deprecated=10.11))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_10_DEP__MAC_10_12 __attribute__((availability(macosx,introduced=10.10,deprecated=10.12))) - #define __AVAILABILITY_INTERNAL__MAC_10_10_DEP__MAC_10_12_1 __attribute__((availability(macosx,introduced=10.10,deprecated=10.12.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_10_DEP__MAC_10_12_1_MSG(_msg) __attribute__((availability(macosx,introduced=10.10,deprecated=10.12.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_10_DEP__MAC_10_12_1_MSG(_msg) __attribute__((availability(macosx,introduced=10.10,deprecated=10.12.1))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_10_DEP__MAC_10_12_2 __attribute__((availability(macosx,introduced=10.10,deprecated=10.12.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_10_DEP__MAC_10_12_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.10,deprecated=10.12.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_10_DEP__MAC_10_12_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.10,deprecated=10.12.2))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_10_DEP__MAC_10_12_4 __attribute__((availability(macosx,introduced=10.10,deprecated=10.12.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_10_DEP__MAC_10_12_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.10,deprecated=10.12.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_10_DEP__MAC_10_12_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.10,deprecated=10.12.4))) - #endif - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_10_DEP__MAC_10_12_MSG(_msg) __attribute__((availability(macosx,introduced=10.10,deprecated=10.12,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_10_DEP__MAC_10_12_MSG(_msg) __attribute__((availability(macosx,introduced=10.10,deprecated=10.12))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_10_DEP__MAC_10_13 __attribute__((availability(macosx,introduced=10.10,deprecated=10.13))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_10_DEP__MAC_10_13_MSG(_msg) __attribute__((availability(macosx,introduced=10.10,deprecated=10.13,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_10_DEP__MAC_10_13_MSG(_msg) __attribute__((availability(macosx,introduced=10.10,deprecated=10.13))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_10_DEP__MAC_10_13_4 __attribute__((availability(macosx,introduced=10.10,deprecated=10.13.4))) - #define __AVAILABILITY_INTERNAL__MAC_10_10_DEP__MAC_NA __attribute__((availability(macosx,introduced=10.10))) - #define __AVAILABILITY_INTERNAL__MAC_10_10_DEP__MAC_NA_MSG(_msg) __attribute__((availability(macosx,introduced=10.10))) - #define __AVAILABILITY_INTERNAL__MAC_10_11 __attribute__((availability(macosx,introduced=10.11))) - #define __AVAILABILITY_INTERNAL__MAC_10_11_2 __attribute__((availability(macosx,introduced=10.11.2))) - #define __AVAILABILITY_INTERNAL__MAC_10_11_2_DEP__MAC_10_11_2 __attribute__((availability(macosx,introduced=10.11.2,deprecated=10.11.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_11_2_DEP__MAC_10_11_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.11.2,deprecated=10.11.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_11_2_DEP__MAC_10_11_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.11.2,deprecated=10.11.2))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_11_2_DEP__MAC_10_11_3 __attribute__((availability(macosx,introduced=10.11.2,deprecated=10.11.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_11_2_DEP__MAC_10_11_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.11.2,deprecated=10.11.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_11_2_DEP__MAC_10_11_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.11.2,deprecated=10.11.3))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_11_2_DEP__MAC_10_11_4 __attribute__((availability(macosx,introduced=10.11.2,deprecated=10.11.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_11_2_DEP__MAC_10_11_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.11.2,deprecated=10.11.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_11_2_DEP__MAC_10_11_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.11.2,deprecated=10.11.4))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_11_2_DEP__MAC_10_12 __attribute__((availability(macosx,introduced=10.11.2,deprecated=10.12))) - #define __AVAILABILITY_INTERNAL__MAC_10_11_2_DEP__MAC_10_12_1 __attribute__((availability(macosx,introduced=10.11.2,deprecated=10.12.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_11_2_DEP__MAC_10_12_1_MSG(_msg) __attribute__((availability(macosx,introduced=10.11.2,deprecated=10.12.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_11_2_DEP__MAC_10_12_1_MSG(_msg) __attribute__((availability(macosx,introduced=10.11.2,deprecated=10.12.1))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_11_2_DEP__MAC_10_12_2 __attribute__((availability(macosx,introduced=10.11.2,deprecated=10.12.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_11_2_DEP__MAC_10_12_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.11.2,deprecated=10.12.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_11_2_DEP__MAC_10_12_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.11.2,deprecated=10.12.2))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_11_2_DEP__MAC_10_12_4 __attribute__((availability(macosx,introduced=10.11.2,deprecated=10.12.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_11_2_DEP__MAC_10_12_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.11.2,deprecated=10.12.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_11_2_DEP__MAC_10_12_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.11.2,deprecated=10.12.4))) - #endif - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_11_2_DEP__MAC_10_12_MSG(_msg) __attribute__((availability(macosx,introduced=10.11.2,deprecated=10.12,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_11_2_DEP__MAC_10_12_MSG(_msg) __attribute__((availability(macosx,introduced=10.11.2,deprecated=10.12))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_11_2_DEP__MAC_NA __attribute__((availability(macosx,introduced=10.11.2))) - #define __AVAILABILITY_INTERNAL__MAC_10_11_2_DEP__MAC_NA_MSG(_msg) __attribute__((availability(macosx,introduced=10.11.2))) - #define __AVAILABILITY_INTERNAL__MAC_10_11_3 __attribute__((availability(macosx,introduced=10.11.3))) - #define __AVAILABILITY_INTERNAL__MAC_10_11_3_DEP__MAC_10_11_3 __attribute__((availability(macosx,introduced=10.11.3,deprecated=10.11.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_11_3_DEP__MAC_10_11_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.11.3,deprecated=10.11.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_11_3_DEP__MAC_10_11_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.11.3,deprecated=10.11.3))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_11_3_DEP__MAC_10_11_4 __attribute__((availability(macosx,introduced=10.11.3,deprecated=10.11.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_11_3_DEP__MAC_10_11_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.11.3,deprecated=10.11.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_11_3_DEP__MAC_10_11_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.11.3,deprecated=10.11.4))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_11_3_DEP__MAC_10_12 __attribute__((availability(macosx,introduced=10.11.3,deprecated=10.12))) - #define __AVAILABILITY_INTERNAL__MAC_10_11_3_DEP__MAC_10_12_1 __attribute__((availability(macosx,introduced=10.11.3,deprecated=10.12.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_11_3_DEP__MAC_10_12_1_MSG(_msg) __attribute__((availability(macosx,introduced=10.11.3,deprecated=10.12.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_11_3_DEP__MAC_10_12_1_MSG(_msg) __attribute__((availability(macosx,introduced=10.11.3,deprecated=10.12.1))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_11_3_DEP__MAC_10_12_2 __attribute__((availability(macosx,introduced=10.11.3,deprecated=10.12.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_11_3_DEP__MAC_10_12_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.11.3,deprecated=10.12.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_11_3_DEP__MAC_10_12_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.11.3,deprecated=10.12.2))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_11_3_DEP__MAC_10_12_4 __attribute__((availability(macosx,introduced=10.11.3,deprecated=10.12.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_11_3_DEP__MAC_10_12_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.11.3,deprecated=10.12.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_11_3_DEP__MAC_10_12_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.11.3,deprecated=10.12.4))) - #endif - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_11_3_DEP__MAC_10_12_MSG(_msg) __attribute__((availability(macosx,introduced=10.11.3,deprecated=10.12,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_11_3_DEP__MAC_10_12_MSG(_msg) __attribute__((availability(macosx,introduced=10.11.3,deprecated=10.12))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_11_3_DEP__MAC_NA __attribute__((availability(macosx,introduced=10.11.3))) - #define __AVAILABILITY_INTERNAL__MAC_10_11_3_DEP__MAC_NA_MSG(_msg) __attribute__((availability(macosx,introduced=10.11.3))) - #define __AVAILABILITY_INTERNAL__MAC_10_11_4 __attribute__((availability(macosx,introduced=10.11.4))) - #define __AVAILABILITY_INTERNAL__MAC_10_11_4_DEP__MAC_10_11_4 __attribute__((availability(macosx,introduced=10.11.4,deprecated=10.11.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_11_4_DEP__MAC_10_11_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.11.4,deprecated=10.11.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_11_4_DEP__MAC_10_11_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.11.4,deprecated=10.11.4))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_11_4_DEP__MAC_10_12 __attribute__((availability(macosx,introduced=10.11.4,deprecated=10.12))) - #define __AVAILABILITY_INTERNAL__MAC_10_11_4_DEP__MAC_10_12_1 __attribute__((availability(macosx,introduced=10.11.4,deprecated=10.12.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_11_4_DEP__MAC_10_12_1_MSG(_msg) __attribute__((availability(macosx,introduced=10.11.4,deprecated=10.12.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_11_4_DEP__MAC_10_12_1_MSG(_msg) __attribute__((availability(macosx,introduced=10.11.4,deprecated=10.12.1))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_11_4_DEP__MAC_10_12_2 __attribute__((availability(macosx,introduced=10.11.4,deprecated=10.12.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_11_4_DEP__MAC_10_12_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.11.4,deprecated=10.12.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_11_4_DEP__MAC_10_12_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.11.4,deprecated=10.12.2))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_11_4_DEP__MAC_10_12_4 __attribute__((availability(macosx,introduced=10.11.4,deprecated=10.12.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_11_4_DEP__MAC_10_12_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.11.4,deprecated=10.12.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_11_4_DEP__MAC_10_12_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.11.4,deprecated=10.12.4))) - #endif - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_11_4_DEP__MAC_10_12_MSG(_msg) __attribute__((availability(macosx,introduced=10.11.4,deprecated=10.12,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_11_4_DEP__MAC_10_12_MSG(_msg) __attribute__((availability(macosx,introduced=10.11.4,deprecated=10.12))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_11_4_DEP__MAC_NA __attribute__((availability(macosx,introduced=10.11.4))) - #define __AVAILABILITY_INTERNAL__MAC_10_11_4_DEP__MAC_NA_MSG(_msg) __attribute__((availability(macosx,introduced=10.11.4))) - #define __AVAILABILITY_INTERNAL__MAC_10_11_DEP__MAC_10_1 __attribute__((availability(macosx,introduced=10.11,deprecated=10.1))) - #define __AVAILABILITY_INTERNAL__MAC_10_11_DEP__MAC_10_11 __attribute__((availability(macosx,introduced=10.11,deprecated=10.11))) - #define __AVAILABILITY_INTERNAL__MAC_10_11_DEP__MAC_10_11_2 __attribute__((availability(macosx,introduced=10.11,deprecated=10.11.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_11_DEP__MAC_10_11_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.11,deprecated=10.11.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_11_DEP__MAC_10_11_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.11,deprecated=10.11.2))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_11_DEP__MAC_10_11_3 __attribute__((availability(macosx,introduced=10.11,deprecated=10.11.3))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_11_DEP__MAC_10_11_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.11,deprecated=10.11.3,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_11_DEP__MAC_10_11_3_MSG(_msg) __attribute__((availability(macosx,introduced=10.11,deprecated=10.11.3))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_11_DEP__MAC_10_11_4 __attribute__((availability(macosx,introduced=10.11,deprecated=10.11.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_11_DEP__MAC_10_11_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.11,deprecated=10.11.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_11_DEP__MAC_10_11_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.11,deprecated=10.11.4))) - #endif - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_11_DEP__MAC_10_11_MSG(_msg) __attribute__((availability(macosx,introduced=10.11,deprecated=10.11,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_11_DEP__MAC_10_11_MSG(_msg) __attribute__((availability(macosx,introduced=10.11,deprecated=10.11))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_11_DEP__MAC_10_12 __attribute__((availability(macosx,introduced=10.11,deprecated=10.12))) - #define __AVAILABILITY_INTERNAL__MAC_10_11_DEP__MAC_10_12_1 __attribute__((availability(macosx,introduced=10.11,deprecated=10.12.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_11_DEP__MAC_10_12_1_MSG(_msg) __attribute__((availability(macosx,introduced=10.11,deprecated=10.12.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_11_DEP__MAC_10_12_1_MSG(_msg) __attribute__((availability(macosx,introduced=10.11,deprecated=10.12.1))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_11_DEP__MAC_10_12_2 __attribute__((availability(macosx,introduced=10.11,deprecated=10.12.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_11_DEP__MAC_10_12_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.11,deprecated=10.12.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_11_DEP__MAC_10_12_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.11,deprecated=10.12.2))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_11_DEP__MAC_10_12_4 __attribute__((availability(macosx,introduced=10.11,deprecated=10.12.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_11_DEP__MAC_10_12_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.11,deprecated=10.12.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_11_DEP__MAC_10_12_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.11,deprecated=10.12.4))) - #endif - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_11_DEP__MAC_10_12_MSG(_msg) __attribute__((availability(macosx,introduced=10.11,deprecated=10.12,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_11_DEP__MAC_10_12_MSG(_msg) __attribute__((availability(macosx,introduced=10.11,deprecated=10.12))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_11_DEP__MAC_NA __attribute__((availability(macosx,introduced=10.11))) - #define __AVAILABILITY_INTERNAL__MAC_10_11_DEP__MAC_NA_MSG(_msg) __attribute__((availability(macosx,introduced=10.11))) - #define __AVAILABILITY_INTERNAL__MAC_10_12 __attribute__((availability(macosx,introduced=10.12))) - #define __AVAILABILITY_INTERNAL__MAC_10_12_1 __attribute__((availability(macosx,introduced=10.12.1))) - #define __AVAILABILITY_INTERNAL__MAC_10_12_1_DEP__MAC_10_12_1 __attribute__((availability(macosx,introduced=10.12.1,deprecated=10.12.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_12_1_DEP__MAC_10_12_1_MSG(_msg) __attribute__((availability(macosx,introduced=10.12.1,deprecated=10.12.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_12_1_DEP__MAC_10_12_1_MSG(_msg) __attribute__((availability(macosx,introduced=10.12.1,deprecated=10.12.1))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_12_1_DEP__MAC_10_12_2 __attribute__((availability(macosx,introduced=10.12.1,deprecated=10.12.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_12_1_DEP__MAC_10_12_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.12.1,deprecated=10.12.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_12_1_DEP__MAC_10_12_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.12.1,deprecated=10.12.2))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_12_1_DEP__MAC_10_12_4 __attribute__((availability(macosx,introduced=10.12.1,deprecated=10.12.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_12_1_DEP__MAC_10_12_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.12.1,deprecated=10.12.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_12_1_DEP__MAC_10_12_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.12.1,deprecated=10.12.4))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_12_1_DEP__MAC_NA __attribute__((availability(macosx,introduced=10.12.1))) - #define __AVAILABILITY_INTERNAL__MAC_10_12_1_DEP__MAC_NA_MSG(_msg) __attribute__((availability(macosx,introduced=10.12.1))) - #define __AVAILABILITY_INTERNAL__MAC_10_12_2 __attribute__((availability(macosx,introduced=10.12.2))) - #define __AVAILABILITY_INTERNAL__MAC_10_12_2_DEP__MAC_10_12_2 __attribute__((availability(macosx,introduced=10.12.2,deprecated=10.12.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_12_2_DEP__MAC_10_12_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.12.2,deprecated=10.12.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_12_2_DEP__MAC_10_12_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.12.2,deprecated=10.12.2))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_12_2_DEP__MAC_10_12_4 __attribute__((availability(macosx,introduced=10.12.2,deprecated=10.12.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_12_2_DEP__MAC_10_12_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.12.2,deprecated=10.12.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_12_2_DEP__MAC_10_12_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.12.2,deprecated=10.12.4))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_12_2_DEP__MAC_NA __attribute__((availability(macosx,introduced=10.12.2))) - #define __AVAILABILITY_INTERNAL__MAC_10_12_2_DEP__MAC_NA_MSG(_msg) __attribute__((availability(macosx,introduced=10.12.2))) - #define __AVAILABILITY_INTERNAL__MAC_10_12_4 __attribute__((availability(macosx,introduced=10.12.4))) - #define __AVAILABILITY_INTERNAL__MAC_10_12_4_DEP__MAC_10_12_4 __attribute__((availability(macosx,introduced=10.12.4,deprecated=10.12.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_12_4_DEP__MAC_10_12_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.12.4,deprecated=10.12.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_12_4_DEP__MAC_10_12_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.12.4,deprecated=10.12.4))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_12_4_DEP__MAC_NA __attribute__((availability(macosx,introduced=10.12.4))) - #define __AVAILABILITY_INTERNAL__MAC_10_12_4_DEP__MAC_NA_MSG(_msg) __attribute__((availability(macosx,introduced=10.12.4))) - #define __AVAILABILITY_INTERNAL__MAC_10_12_DEP__MAC_10_12 __attribute__((availability(macosx,introduced=10.12,deprecated=10.12))) - #define __AVAILABILITY_INTERNAL__MAC_10_12_DEP__MAC_10_12_1 __attribute__((availability(macosx,introduced=10.12,deprecated=10.12.1))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_12_DEP__MAC_10_12_1_MSG(_msg) __attribute__((availability(macosx,introduced=10.12,deprecated=10.12.1,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_12_DEP__MAC_10_12_1_MSG(_msg) __attribute__((availability(macosx,introduced=10.12,deprecated=10.12.1))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_12_DEP__MAC_10_12_2 __attribute__((availability(macosx,introduced=10.12,deprecated=10.12.2))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_12_DEP__MAC_10_12_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.12,deprecated=10.12.2,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_12_DEP__MAC_10_12_2_MSG(_msg) __attribute__((availability(macosx,introduced=10.12,deprecated=10.12.2))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_12_DEP__MAC_10_12_4 __attribute__((availability(macosx,introduced=10.12,deprecated=10.12.4))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_12_DEP__MAC_10_12_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.12,deprecated=10.12.4,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_12_DEP__MAC_10_12_4_MSG(_msg) __attribute__((availability(macosx,introduced=10.12,deprecated=10.12.4))) - #endif - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_12_DEP__MAC_10_12_MSG(_msg) __attribute__((availability(macosx,introduced=10.12,deprecated=10.12,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_12_DEP__MAC_10_12_MSG(_msg) __attribute__((availability(macosx,introduced=10.12,deprecated=10.12))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_12_DEP__MAC_10_13 __attribute__((availability(macosx,introduced=10.12,deprecated=10.13))) - #if __has_feature(attribute_availability_with_message) - #define __AVAILABILITY_INTERNAL__MAC_10_12_DEP__MAC_10_13_MSG(_msg) __attribute__((availability(macosx,introduced=10.12,deprecated=10.13,message=_msg))) - #else - #define __AVAILABILITY_INTERNAL__MAC_10_12_DEP__MAC_10_13_MSG(_msg) __attribute__((availability(macosx,introduced=10.12,deprecated=10.13))) - #endif - #define __AVAILABILITY_INTERNAL__MAC_10_12_DEP__MAC_10_13_4 __attribute__((availability(macosx,introduced=10.12,deprecated=10.13.4))) - #define __AVAILABILITY_INTERNAL__MAC_10_12_DEP__MAC_10_14 __attribute__((availability(macosx,introduced=10.12,deprecated=10.14))) - #define __AVAILABILITY_INTERNAL__MAC_10_12_DEP__MAC_NA __attribute__((availability(macosx,introduced=10.12))) - #define __AVAILABILITY_INTERNAL__MAC_10_12_DEP__MAC_NA_MSG(_msg) __attribute__((availability(macosx,introduced=10.12))) - #define __AVAILABILITY_INTERNAL__MAC_10_13 __attribute__((availability(macosx,introduced=10.13))) - #define __AVAILABILITY_INTERNAL__MAC_10_13_4 __attribute__((availability(macosx,introduced=10.13.4))) - #define __AVAILABILITY_INTERNAL__MAC_10_14 __attribute__((availability(macosx,introduced=10.14))) - #define __AVAILABILITY_INTERNAL__MAC_10_14_DEP__MAC_10_14 __attribute__((availability(macosx,introduced=10.14,deprecated=10.14))) - #define __AVAILABILITY_INTERNAL__MAC_10_15 __attribute__((availability(macosx,introduced=10.15))) - - #define __AVAILABILITY_INTERNAL__MAC_NA __attribute__((availability(macosx,unavailable))) - #define __AVAILABILITY_INTERNAL__MAC_NA_DEP__MAC_NA __attribute__((availability(macosx,unavailable))) - #define __AVAILABILITY_INTERNAL__MAC_NA_DEP__MAC_NA_MSG(_msg) __attribute__((availability(macosx,unavailable))) - - #define __AVAILABILITY_INTERNAL__IPHONE_NA __attribute__((availability(ios,unavailable))) - #define __AVAILABILITY_INTERNAL__IPHONE_NA__IPHONE_NA __attribute__((availability(ios,unavailable))) - #define __AVAILABILITY_INTERNAL__IPHONE_NA_DEP__IPHONE_NA __attribute__((availability(ios,unavailable))) - #define __AVAILABILITY_INTERNAL__IPHONE_NA_DEP__IPHONE_NA_MSG(_msg) __attribute__((availability(ios,unavailable))) - - #ifndef __AVAILABILITY_INTERNAL__IPHONE_COMPAT_VERSION - #define __AVAILABILITY_INTERNAL__IPHONE_COMPAT_VERSION __attribute__((availability(ios,unavailable))) - #define __AVAILABILITY_INTERNAL__IPHONE_COMPAT_VERSION_DEP__IPHONE_COMPAT_VERSION __attribute__((availability(ios,unavailable))) - #define __AVAILABILITY_INTERNAL__IPHONE_COMPAT_VERSION_DEP__IPHONE_COMPAT_VERSION_MSG(_msg) __attribute__((availability(ios,unavailable))) - #endif /* __AVAILABILITY_INTERNAL__IPHONE_COMPAT_VERSION */ - #endif - #endif -#endif /* __ENABLE_LEGACY_MAC_AVAILABILITY */ - -/* - Macros for defining which versions/platform a given symbol can be used. - - @see http://clang.llvm.org/docs/AttributeReference.html#availability - */ - -#if defined(__has_feature) && defined(__has_attribute) - #if __has_attribute(availability) - - - #define __API_AVAILABLE_PLATFORM_macos(x) macos,introduced=x - #define __API_AVAILABLE_PLATFORM_macosx(x) macosx,introduced=x - #define __API_AVAILABLE_PLATFORM_ios(x) ios,introduced=x - #define __API_AVAILABLE_PLATFORM_watchos(x) watchos,introduced=x - #define __API_AVAILABLE_PLATFORM_tvos(x) tvos,introduced=x - - #define __API_AVAILABLE_PLATFORM_macCatalyst(x) macCatalyst,introduced=x - #define __API_AVAILABLE_PLATFORM_macCatalyst(x) macCatalyst,introduced=x - #ifndef __API_AVAILABLE_PLATFORM_uikitformac - #define __API_AVAILABLE_PLATFORM_uikitformac(x) uikitformac,introduced=x - #endif - #define __API_AVAILABLE_PLATFORM_driverkit(x) driverkit,introduced=x - - - #if defined(__has_attribute) - #if __has_attribute(availability) - #define __API_A(x) __attribute__((availability(__API_AVAILABLE_PLATFORM_##x))) - #else - #define __API_A(x) - #endif - #else - #define __API_A(x) - #endif - - #define __API_AVAILABLE1(x) __API_A(x) - #define __API_AVAILABLE2(x,y) __API_A(x) __API_A(y) - #define __API_AVAILABLE3(x,y,z) __API_A(x) __API_A(y) __API_A(z) - #define __API_AVAILABLE4(x,y,z,t) __API_A(x) __API_A(y) __API_A(z) __API_A(t) - #define __API_AVAILABLE5(x,y,z,t,b) __API_A(x) __API_A(y) __API_A(z) __API_A(t) __API_A(b) - #define __API_AVAILABLE6(x,y,z,t,b,m) __API_A(x) __API_A(y) __API_A(z) __API_A(t) __API_A(b) __API_A(m) - #define __API_AVAILABLE7(x,y,z,t,b,m,d) __API_A(x) __API_A(y) __API_A(z) __API_A(t) __API_A(b) __API_A(m) __API_A(d) - #define __API_AVAILABLE8(x,y,z,t,b,m,d,l) __API_A(x) __API_A(y) __API_A(z) __API_A(t) __API_A(b) __API_A(m) __API_A(d) __API_A(l) - #define __API_AVAILABLE_GET_MACRO(_1,_2,_3,_4,_5,_6,_7,_8,NAME,...) NAME - - #define __API_APPLY_TO any(record, enum, enum_constant, function, objc_method, objc_category, objc_protocol, objc_interface, objc_property, type_alias, variable, field) - #define __API_RANGE_STRINGIFY(x) __API_RANGE_STRINGIFY2(x) - #define __API_RANGE_STRINGIFY2(x) #x - - #define __API_A_BEGIN(x) _Pragma(__API_RANGE_STRINGIFY (clang attribute (__attribute__((availability(__API_AVAILABLE_PLATFORM_##x))), apply_to = __API_APPLY_TO))) - - #define __API_AVAILABLE_BEGIN1(a) __API_A_BEGIN(a) - #define __API_AVAILABLE_BEGIN2(a,b) __API_A_BEGIN(a) __API_A_BEGIN(b) - #define __API_AVAILABLE_BEGIN3(a,b,c) __API_A_BEGIN(a) __API_A_BEGIN(b) __API_A_BEGIN(c) - #define __API_AVAILABLE_BEGIN4(a,b,c,d) __API_A_BEGIN(a) __API_A_BEGIN(b) __API_A_BEGIN(c) __API_A_BEGIN(d) - #define __API_AVAILABLE_BEGIN5(a,b,c,d,e) __API_A_BEGIN(a) __API_A_BEGIN(b) __API_A_BEGIN(c) __API_A_BEGIN(d) __API_A_BEGIN(e) - #define __API_AVAILABLE_BEGIN6(a,b,c,d,e,f) __API_A_BEGIN(a) __API_A_BEGIN(b) __API_A_BEGIN(c) __API_A_BEGIN(d) __API_A_BEGIN(e) __API_A_BEGIN(f) - #define __API_AVAILABLE_BEGIN7(a,b,c,d,e,f,g) __API_A_BEGIN(a) __API_A_BEGIN(b) __API_A_BEGIN(c) __API_A_BEGIN(d) __API_A_BEGIN(e) __API_A_BEGIN(f) __API_A_BEGIN(g) - #define __API_AVAILABLE_BEGIN8(a,b,c,d,e,f,g,h) __API_A_BEGIN(a) __API_A_BEGIN(b) __API_A_BEGIN(c) __API_A_BEGIN(d) __API_A_BEGIN(e) __API_A_BEGIN(f) __API_A_BEGIN(g) __API_A_BEGIN(h) - #define __API_AVAILABLE_BEGIN_GET_MACRO(_1,_2,_3,_4,_5,_6,_7,_8,NAME,...) NAME - - - #define __API_DEPRECATED_PLATFORM_macos(x,y) macos,introduced=x,deprecated=y - #define __API_DEPRECATED_PLATFORM_macosx(x,y) macosx,introduced=x,deprecated=y - #define __API_DEPRECATED_PLATFORM_ios(x,y) ios,introduced=x,deprecated=y - #define __API_DEPRECATED_PLATFORM_watchos(x,y) watchos,introduced=x,deprecated=y - #define __API_DEPRECATED_PLATFORM_tvos(x,y) tvos,introduced=x,deprecated=y - - #define __API_DEPRECATED_PLATFORM_macCatalyst(x,y) macCatalyst,introduced=x,deprecated=y - #define __API_DEPRECATED_PLATFORM_macCatalyst(x,y) macCatalyst,introduced=x,deprecated=y - #ifndef __API_DEPRECATED_PLATFORM_uikitformac - #define __API_DEPRECATED_PLATFORM_uikitformac(x) uikitformac,introduced=x,deprecated=y - #endif - #define __API_DEPRECATED_PLATFORM_driverkit(x,y) driverkit,introduced=x,deprecated=y - - - #if defined(__has_attribute) - #if __has_attribute(availability) - #define __API_D(msg,x) __attribute__((availability(__API_DEPRECATED_PLATFORM_##x,message=msg))) - #else - #define __API_D(msg,x) - #endif - #else - #define __API_D(msg,x) - #endif - - #define __API_DEPRECATED_MSG2(msg,x) __API_D(msg,x) - #define __API_DEPRECATED_MSG3(msg,x,y) __API_D(msg,x) __API_D(msg,y) - #define __API_DEPRECATED_MSG4(msg,x,y,z) __API_DEPRECATED_MSG3(msg,x,y) __API_D(msg,z) - #define __API_DEPRECATED_MSG5(msg,x,y,z,t) __API_DEPRECATED_MSG4(msg,x,y,z) __API_D(msg,t) - #define __API_DEPRECATED_MSG6(msg,x,y,z,t,b) __API_DEPRECATED_MSG5(msg,x,y,z,t) __API_D(msg,b) - #define __API_DEPRECATED_MSG7(msg,x,y,z,t,b,m) __API_DEPRECATED_MSG6(msg,x,y,z,t,b) __API_D(msg,m) - #define __API_DEPRECATED_MSG8(msg,x,y,z,t,b,m,d) __API_DEPRECATED_MSG7(msg,x,y,z,t,b,m) __API_D(msg,d) - #define __API_DEPRECATED_MSG9(msg,x,y,z,t,b,m,d,l) __API_DEPRECATED_MSG8(msg,x,y,z,t,b,m,d) __API_D(msg,l) - #define __API_DEPRECATED_MSG_GET_MACRO(_1,_2,_3,_4,_5,_6,_7,_8,_9,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))) - - #define __API_DEPRECATED_BEGIN_MSG2(msg,a) __API_D_BEGIN(msg,a) - #define __API_DEPRECATED_BEGIN_MSG3(msg,a,b) __API_D_BEGIN(msg,a) __API_D_BEGIN(msg,b) - #define __API_DEPRECATED_BEGIN_MSG4(msg,a,b,c) __API_D_BEGIN(msg,a) __API_D_BEGIN(msg,b) __API_D_BEGIN(msg,c) - #define __API_DEPRECATED_BEGIN_MSG5(msg,a,b,c,d) __API_D_BEGIN(msg,a) __API_D_BEGIN(msg,b) __API_D_BEGIN(msg,c) __API_D_BEGIN(msg,d) - #define __API_DEPRECATED_BEGIN_MSG6(msg,a,b,c,d,e) __API_D_BEGIN(msg,a) __API_D_BEGIN(msg,b) __API_D_BEGIN(msg,c) __API_D_BEGIN(msg,d) __API_D_BEGIN(msg,e) - #define __API_DEPRECATED_BEGIN_MSG7(msg,a,b,c,d,e,f) __API_D_BEGIN(msg,a) __API_D_BEGIN(msg,b) __API_D_BEGIN(msg,c) __API_D_BEGIN(msg,d) __API_D_BEGIN(msg,e) __API_D_BEGIN(msg,f) - #define __API_DEPRECATED_BEGIN_MSG8(msg,a,b,c,d,e,f,g) __API_D_BEGIN(msg,a) __API_D_BEGIN(msg,b) __API_D_BEGIN(msg,c) __API_D_BEGIN(msg,d) __API_D_BEGIN(msg,e) __API_D_BEGIN(msg,f) __API_D_BEGIN(msg,g) - #define __API_DEPRECATED_BEGIN_MSG9(msg,a,b,c,d,e,f,g,h) __API_D_BEGIN(msg,a) __API_D_BEGIN(msg,b) __API_D_BEGIN(msg,c) __API_D_BEGIN(msg,d) __API_D_BEGIN(msg,e) __API_D_BEGIN(msg,f) __API_D_BEGIN(msg,g) __API_D_BEGIN(msg,h) - #define __API_DEPRECATED_BEGIN_MSG_GET_MACRO(_1,_2,_3,_4,_5,_6,_7,_8,_9,NAME,...) NAME - - #if __has_feature(attribute_availability_with_replacement) - #define __API_R(rep,x) __attribute__((availability(__API_DEPRECATED_PLATFORM_##x,replacement=rep))) - #else - #define __API_R(rep,x) __attribute__((availability(__API_DEPRECATED_PLATFORM_##x))) - #endif - - #define __API_DEPRECATED_REP2(rep,x) __API_R(rep,x) - #define __API_DEPRECATED_REP3(rep,x,y) __API_R(rep,x) __API_R(rep,y) - #define __API_DEPRECATED_REP4(rep,x,y,z) __API_DEPRECATED_REP3(rep,x,y) __API_R(rep,z) - #define __API_DEPRECATED_REP5(rep,x,y,z,t) __API_DEPRECATED_REP4(rep,x,y,z) __API_R(rep,t) - #define __API_DEPRECATED_REP6(rep,x,y,z,t,b) __API_DEPRECATED_REP5(rep,x,y,z,t) __API_R(rep,b) - #define __API_DEPRECATED_REP7(rep,x,y,z,t,b,m) __API_DEPRECATED_REP6(rep,x,y,z,t,b) __API_R(rep,m) - #define __API_DEPRECATED_REP8(rep,x,y,z,t,b,m,d) __API_DEPRECATED_REP7(rep,x,y,z,t,b,m) __API_R(rep,d) - #define __API_DEPRECATED_REP9(rep,x,y,z,t,b,m,d,l) __API_DEPRECATED_REP8(rep,x,y,z,t,b,m,d) __API_R(rep,l) - #define __API_DEPRECATED_REP_GET_MACRO(_1,_2,_3,_4,_5,_6,_7,_8,_9,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))) - #else - #define __API_R_BEGIN(rep,x) _Pragma(__API_RANGE_STRINGIFY (clang attribute (__attribute__((availability(__API_DEPRECATED_PLATFORM_##x))), apply_to = __API_APPLY_TO))) - #endif - - #define __API_DEPRECATED_BEGIN_REP2(rep,a) __API_R_BEGIN(rep,a) - #define __API_DEPRECATED_BEGIN_REP3(rep,a,b) __API_R_BEGIN(rep,a) __API_R_BEGIN(rep,b) - #define __API_DEPRECATED_BEGIN_REP4(rep,a,b,c) __API_R_BEGIN(rep,a) __API_R_BEGIN(rep,b) __API_R_BEGIN(rep,c) - #define __API_DEPRECATED_BEGIN_REP5(rep,a,b,c,d) __API_R_BEGIN(rep,a) __API_R_BEGIN(rep,b) __API_R_BEGIN(rep,c) __API_R_BEGIN(rep,d) - #define __API_DEPRECATED_BEGIN_REP6(rep,a,b,c,d,e) __API_R_BEGIN(rep,a) __API_R_BEGIN(rep,b) __API_R_BEGIN(rep,c) __API_R_BEGIN(rep,d) __API_R_BEGIN(rep,e) - #define __API_DEPRECATED_BEGIN_REP7(rep,a,b,c,d,e,f) __API_R_BEGIN(rep,a) __API_R_BEGIN(rep,b) __API_R_BEGIN(rep,c) __API_R_BEGIN(rep,d) __API_R_BEGIN(rep,e) __API_R_BEGIN(rep,f) - #define __API_DEPRECATED_BEGIN_REP8(rep,a,b,c,d,e,f,g) __API_R_BEGIN(rep,a) __API_R_BEGIN(rep,b) __API_R_BEGIN(rep,c) __API_R_BEGIN(rep,d) __API_R_BEGIN(rep,e) __API_R_BEGIN(rep,f) __API_R_BEGIN(rep,g) - #define __API_DEPRECATED_BEGIN_REP9(rep,a,b,c,d,e,f,g,h) __API_R_BEGIN(rep,a) __API_R_BEGIN(rep,b) __API_R_BEGIN(rep,c) __API_R_BEGIN(rep,d) __API_R_BEGIN(rep,e) __API_R_BEGIN(rep,f) __API_R_BEGIN(rep,g) __API_R_BEGIN(rep,h) - - #define __API_DEPRECATED_BEGIN_REP_GET_MACRO(_1,_2,_3,_4,_5,_6,_7,_8,_9,NAME,...) NAME - - /* - * API Unavailability - * Use to specify that an API is unavailable for a particular platform. - * - * Example: - * __API_UNAVAILABLE(macos) - * __API_UNAVAILABLE(watchos, tvos) - */ - #define __API_UNAVAILABLE_PLATFORM_macos macos,unavailable - #define __API_UNAVAILABLE_PLATFORM_macosx macosx,unavailable - #define __API_UNAVAILABLE_PLATFORM_ios ios,unavailable - #define __API_UNAVAILABLE_PLATFORM_watchos watchos,unavailable - #define __API_UNAVAILABLE_PLATFORM_tvos tvos,unavailable - - #define __API_UNAVAILABLE_PLATFORM_macCatalyst macCatalyst,unavailable - #define __API_UNAVAILABLE_PLATFORM_macCatalyst macCatalyst,unavailable - #ifndef __API_UNAVAILABLE_PLATFORM_uikitformac - #define __API_UNAVAILABLE_PLATFORM_uikitformac(x) uikitformac,unavailable - #endif - #define __API_UNAVAILABLE_PLATFORM_driverkit driverkit,unavailable - - - #if defined(__has_attribute) - #if __has_attribute(availability) - #define __API_U(x) __attribute__((availability(__API_UNAVAILABLE_PLATFORM_##x))) - #else - #define __API_U(x) - #endif - #else - #define __API_U(x) - #endif - - #define __API_UNAVAILABLE1(x) __API_U(x) - #define __API_UNAVAILABLE2(x,y) __API_U(x) __API_U(y) - #define __API_UNAVAILABLE3(x,y,z) __API_UNAVAILABLE2(x,y) __API_U(z) - #define __API_UNAVAILABLE4(x,y,z,t) __API_UNAVAILABLE3(x,y,z) __API_U(t) - #define __API_UNAVAILABLE5(x,y,z,t,b) __API_UNAVAILABLE4(x,y,z,t) __API_U(b) - #define __API_UNAVAILABLE6(x,y,z,t,b,m) __API_UNAVAILABLE5(x,y,z,t,b) __API_U(m) - #define __API_UNAVAILABLE7(x,y,z,t,b,m,d) __API_UNAVAILABLE6(x,y,z,t,b,m) __API_U(d) - #define __API_UNAVAILABLE8(x,y,z,t,b,m,d,l) __API_UNAVAILABLE7(x,y,z,t,b,m,d) __API_U(l) - #define __API_UNAVAILABLE_GET_MACRO(_1,_2,_3,_4,_5,_6,_7,_8,NAME,...) NAME - - #define __API_U_BEGIN(x) _Pragma(__API_RANGE_STRINGIFY (clang attribute (__attribute__((availability(__API_UNAVAILABLE_PLATFORM_##x))), apply_to = __API_APPLY_TO))) - - #define __API_UNAVAILABLE_BEGIN1(a) __API_U_BEGIN(a) - #define __API_UNAVAILABLE_BEGIN2(a,b) __API_U_BEGIN(a) __API_U_BEGIN(b) - #define __API_UNAVAILABLE_BEGIN3(a,b,c) __API_U_BEGIN(a) __API_U_BEGIN(b) __API_U_BEGIN(c) - #define __API_UNAVAILABLE_BEGIN4(a,b,c,d) __API_U_BEGIN(a) __API_U_BEGIN(b) __API_U_BEGIN(c) __API_U_BEGIN(d) - #define __API_UNAVAILABLE_BEGIN5(a,b,c,d,e) __API_U_BEGIN(a) __API_U_BEGIN(b) __API_U_BEGIN(c) __API_U_BEGIN(d) __API_U_BEGIN(e) - #define __API_UNAVAILABLE_BEGIN6(a,b,c,d,e,f) __API_U_BEGIN(a) __API_U_BEGIN(b) __API_U_BEGIN(c) __API_U_BEGIN(d) __API_U_BEGIN(e) __API_U_BEGIN(f) - #define __API_UNAVAILABLE_BEGIN7(a,b,c,d,e,f,g) __API_U_BEGIN(a) __API_U_BEGIN(b) __API_U_BEGIN(c) __API_U_BEGIN(d) __API_U_BEGIN(e) __API_U_BEGIN(f) __API_U_BEGIN(g) - #define __API_UNAVAILABLE_BEGIN8(a,b,c,d,e,f,g,h) __API_U_BEGIN(a) __API_U_BEGIN(b) __API_U_BEGIN(c) __API_U_BEGIN(d) __API_U_BEGIN(e) __API_U_BEGIN(f) __API_U_BEGIN(g) __API_U_BEGIN(h) - #define __API_UNAVAILABLE_BEGIN_GET_MACRO(_1,_2,_3,_4,_5,_6,_7,_8,NAME,...) NAME - #else - - /* - * Evaluate to nothing for compilers that don't support availability. - */ - - #define __API_AVAILABLE_GET_MACRO(...) - #define __API_AVAILABLE_BEGIN_GET_MACRO(...) - #define __API_DEPRECATED_MSG_GET_MACRO(...) - #define __API_DEPRECATED_REP_GET_MACRO(...) - #define __API_DEPRECATED_BEGIN_MSG_GET_MACRO(...) - #define __API_DEPRECATED_BEGIN_REP_GET_MACRO - #define __API_UNAVAILABLE_GET_MACRO(...) - #define __API_UNAVAILABLE_BEGIN_GET_MACRO(...) - #endif /* __has_attribute(availability) */ -#else - - /* - * Evaluate to nothing for compilers that don't support clang language extensions. - */ - - #define __API_AVAILABLE_GET_MACRO(...) - #define __API_AVAILABLE_BEGIN_GET_MACRO(...) - #define __API_DEPRECATED_MSG_GET_MACRO(...) - #define __API_DEPRECATED_REP_GET_MACRO(...) - #define __API_DEPRECATED_BEGIN_MSG_GET_MACRO(...) - #define __API_DEPRECATED_BEGIN_REP_GET_MACRO - #define __API_UNAVAILABLE_GET_MACRO(...) - #define __API_UNAVAILABLE_BEGIN_GET_MACRO(...) -#endif /* #if defined(__has_feature) && defined(__has_attribute) */ - -/* - * Swift compiler version - * Allows for project-agnostic "epochs" for frameworks imported into Swift via the Clang importer, like #if _compiler_version for Swift - * Example: - * - * #if __swift_compiler_version_at_least(800, 2, 20) - * - (nonnull NSString *)description; - * #else - * - (NSString *)description; - * #endif - */ - -#ifdef __SWIFT_COMPILER_VERSION - #define __swift_compiler_version_at_least_impl(X, Y, Z, a, b, ...) \ - __SWIFT_COMPILER_VERSION >= ((X * UINT64_C(1000) * 1000 * 1000) + (Z * 1000 * 1000) + (a * 1000) + b) - #define __swift_compiler_version_at_least(...) __swift_compiler_version_at_least_impl(__VA_ARGS__, 0, 0, 0, 0) -#else - #define __swift_compiler_version_at_least(...) 1 -#endif - -/* - * If __SPI_AVAILABLE has not been defined elsewhere, disable it. - */ - -#ifndef __SPI_AVAILABLE - #define __SPI_AVAILABLE(...) -#endif - -#endif /* __AVAILABILITY_INTERNAL__ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.13-any/AvailabilityMacros.h b/lib/libc/include/any-macos.13-any/AvailabilityMacros.h deleted file mode 100644 index e20afe5910..0000000000 --- a/lib/libc/include/any-macos.13-any/AvailabilityMacros.h +++ /dev/null @@ -1,4019 +0,0 @@ -/* - * Copyright (c) 2001-2010 by 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@ - */ - -/* - File: AvailabilityMacros.h - - More Info: See the SDK Compatibility Guide - - Contains: Autoconfiguration of AVAILABLE_ macros for Mac OS X - - This header enables a developer to specify build time - constraints on what Mac OS X versions the resulting - application will be run. There are two bounds a developer - can specify: - - MAC_OS_X_VERSION_MIN_REQUIRED - MAC_OS_X_VERSION_MAX_ALLOWED - - The lower bound controls which calls to OS functions will - be weak-importing (allowed to be unresolved at launch time). - The upper bound controls which OS functionality, if used, - will result in a compiler error because that functionality is - not available on any OS in the specifed range. - - For example, suppose an application is compiled with: - - MAC_OS_X_VERSION_MIN_REQUIRED = MAC_OS_X_VERSION_10_2 - MAC_OS_X_VERSION_MAX_ALLOWED = MAC_OS_X_VERSION_10_3 - - and an OS header contains: - - extern void funcA(void) AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER; - extern void funcB(void) AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_2; - extern void funcC(void) AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_3; - extern void funcD(void) AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER; - extern void funcE(void) AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER; - extern void funcF(void) AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER; - extern void funcG(void) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER; - - typedef long TypeA DEPRECATED_IN_MAC_OS_X_VERSION_10_0_AND_LATER; - typedef long TypeB DEPRECATED_IN_MAC_OS_X_VERSION_10_1_AND_LATER; - typedef long TypeC DEPRECATED_IN_MAC_OS_X_VERSION_10_2_AND_LATER; - typedef long TypeD DEPRECATED_IN_MAC_OS_X_VERSION_10_3_AND_LATER; - typedef long TypeE DEPRECATED_IN_MAC_OS_X_VERSION_10_4_AND_LATER; - - Any application code which uses these declarations will get the following: - - compile link run - ------- ------ ------- - funcA: normal normal normal - funcB: warning normal normal - funcC: normal normal normal - funcD: normal normal normal - funcE: normal normal normal - funcF: normal weak on 10.3 normal, on 10.2 (&funcF == NULL) - funcG: error error n/a - typeA: warning - typeB: warning - typeC: warning - typeD: normal - typeE: normal - - -*/ -#ifndef __AVAILABILITYMACROS__ -#define __AVAILABILITYMACROS__ - -/* - * Set up standard Mac OS X versions - */ -#define MAC_OS_X_VERSION_10_0 1000 -#define MAC_OS_X_VERSION_10_1 1010 -#define MAC_OS_X_VERSION_10_2 1020 -#define MAC_OS_X_VERSION_10_3 1030 -#define MAC_OS_X_VERSION_10_4 1040 -#define MAC_OS_X_VERSION_10_5 1050 -#define MAC_OS_X_VERSION_10_6 1060 -#define MAC_OS_X_VERSION_10_7 1070 -#define MAC_OS_X_VERSION_10_8 1080 -#define MAC_OS_X_VERSION_10_9 1090 -#define MAC_OS_X_VERSION_10_10 101000 -#define MAC_OS_X_VERSION_10_10_2 101002 -#define MAC_OS_X_VERSION_10_10_3 101003 -#define MAC_OS_X_VERSION_10_11 101100 -#define MAC_OS_X_VERSION_10_11_2 101102 -#define MAC_OS_X_VERSION_10_11_3 101103 -#define MAC_OS_X_VERSION_10_11_4 101104 -#define MAC_OS_X_VERSION_10_12 101200 -#define MAC_OS_X_VERSION_10_12_1 101201 -#define MAC_OS_X_VERSION_10_12_2 101202 -#define MAC_OS_X_VERSION_10_12_4 101204 -#define MAC_OS_X_VERSION_10_13 101300 -#define MAC_OS_X_VERSION_10_13_1 101301 -#define MAC_OS_X_VERSION_10_13_2 101302 -#define MAC_OS_X_VERSION_10_13_4 101304 -#define MAC_OS_X_VERSION_10_14 101400 -#define MAC_OS_X_VERSION_10_14_1 101401 -#define MAC_OS_X_VERSION_10_14_4 101404 -#define MAC_OS_X_VERSION_10_15 101500 -#define MAC_OS_VERSION_11_0 110000 -#define MAC_OS_VERSION_11_1 110100 -#define MAC_OS_VERSION_11_3 110300 -#define MAC_OS_VERSION_12_0 120000 -#define MAC_OS_VERSION_13_0 130000 -#define MAC_OS_VERSION_13_1 130100 -#define MAC_OS_VERSION_13_3 130300 - -/* - * If min OS not specified, assume 10.4 for intel - * Note: compiler driver may set _ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED_ based on MACOSX_DEPLOYMENT_TARGET environment variable - */ -#ifndef MAC_OS_X_VERSION_MIN_REQUIRED - #ifdef __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ - #if (__i386__ || __x86_64__) && (__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ < MAC_OS_X_VERSION_10_4) - #warning Building for Intel with Mac OS X Deployment Target < 10.4 is invalid. - #endif - #define MAC_OS_X_VERSION_MIN_REQUIRED __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ - #else - #if __i386__ || __x86_64__ - #define MAC_OS_X_VERSION_MIN_REQUIRED MAC_OS_X_VERSION_10_4 - #elif __arm__ || __arm64__ - #define MAC_OS_X_VERSION_MIN_REQUIRED MAC_OS_X_VERSION_10_5 - #else - #define MAC_OS_X_VERSION_MIN_REQUIRED MAC_OS_X_VERSION_10_1 - #endif - #endif -#endif - -/* - * if max OS not specified, assume larger of (10.15, min) - */ -#ifndef MAC_OS_X_VERSION_MAX_ALLOWED - #if MAC_OS_X_VERSION_MIN_REQUIRED > MAC_OS_VERSION_13_3 - #define MAC_OS_X_VERSION_MAX_ALLOWED MAC_OS_X_VERSION_MIN_REQUIRED - #else - #define MAC_OS_X_VERSION_MAX_ALLOWED MAC_OS_VERSION_13_3 - #endif -#endif - -/* - * Error on bad values - */ -#if MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_MIN_REQUIRED - #error MAC_OS_X_VERSION_MAX_ALLOWED must be >= MAC_OS_X_VERSION_MIN_REQUIRED -#endif -#if MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_0 - #error MAC_OS_X_VERSION_MIN_REQUIRED must be >= MAC_OS_X_VERSION_10_0 -#endif - -/* - * only certain compilers support __attribute__((weak_import)) - */ -#if defined(__GNUC__) && ((__GNUC__ >= 4) || ((__GNUC__ == 3) && (__GNUC_MINOR__ >= 1))) && (MAC_OS_X_VERSION_MIN_REQUIRED >= 1020) - #define WEAK_IMPORT_ATTRIBUTE __attribute__((weak_import)) -#elif defined(__MWERKS__) && (__MWERKS__ >= 0x3205) && (MAC_OS_X_VERSION_MIN_REQUIRED >= 1020) && !defined(__INTEL__) - #define WEAK_IMPORT_ATTRIBUTE __attribute__((weak_import)) -#else - #define WEAK_IMPORT_ATTRIBUTE -#endif - -/* - * only certain compilers support __attribute__((deprecated)) - */ -#if defined(__has_feature) && defined(__has_attribute) - #if __has_attribute(deprecated) - #define DEPRECATED_ATTRIBUTE __attribute__((deprecated)) - #if __has_feature(attribute_deprecated_with_message) - #define DEPRECATED_MSG_ATTRIBUTE(s) __attribute__((deprecated(s))) - #else - #define DEPRECATED_MSG_ATTRIBUTE(s) __attribute__((deprecated)) - #endif - #else - #define DEPRECATED_ATTRIBUTE - #define DEPRECATED_MSG_ATTRIBUTE(s) - #endif -#elif defined(__GNUC__) && ((__GNUC__ >= 4) || ((__GNUC__ == 3) && (__GNUC_MINOR__ >= 1))) - #define DEPRECATED_ATTRIBUTE __attribute__((deprecated)) - #if (__GNUC__ >= 5) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 5)) - #define DEPRECATED_MSG_ATTRIBUTE(s) __attribute__((deprecated(s))) - #else - #define DEPRECATED_MSG_ATTRIBUTE(s) __attribute__((deprecated)) - #endif -#else - #define DEPRECATED_ATTRIBUTE - #define DEPRECATED_MSG_ATTRIBUTE(s) -#endif - -/* - * only certain compilers support __attribute__((unavailable)) - */ -#if defined(__GNUC__) && ((__GNUC__ >= 4) || ((__GNUC__ == 3) && (__GNUC_MINOR__ >= 1))) - #define UNAVAILABLE_ATTRIBUTE __attribute__((unavailable)) -#else - #define UNAVAILABLE_ATTRIBUTE -#endif - - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER - * - * Used on functions introduced in Mac OS X 10.0 - */ -#define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED - * - * Used on functions introduced in Mac OS X 10.0, - * and deprecated in Mac OS X 10.0 - */ -#define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED DEPRECATED_ATTRIBUTE - -/* - * DEPRECATED_IN_MAC_OS_X_VERSION_10_0_AND_LATER - * - * Used on types deprecated in Mac OS X 10.0 - */ -#define DEPRECATED_IN_MAC_OS_X_VERSION_10_0_AND_LATER DEPRECATED_ATTRIBUTE - -#ifndef __AVAILABILITY_MACROS_USES_AVAILABILITY - #ifdef __has_attribute - #if __has_attribute(availability) - #include - #define __AVAILABILITY_MACROS_USES_AVAILABILITY 1 - #endif - #endif -#endif - -#if TARGET_OS_OSX -#define __IPHONE_COMPAT_VERSION __IPHONE_NA -#elif TARGET_OS_MACCATALYST -#define __IPHONE_COMPAT_VERSION __IPHONE_NA -#else -#define __IPHONE_COMPAT_VERSION __IPHONE_4_0 -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER - * - * Used on declarations introduced in Mac OS X 10.1 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER __OSX_AVAILABLE_STARTING(__MAC_10_1, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_1 - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER UNAVAILABLE_ATTRIBUTE -#elif MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_1 - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER WEAK_IMPORT_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED - * - * Used on declarations introduced in Mac OS X 10.1, - * and deprecated in Mac OS X 10.1 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_1, __MAC_10_1, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_1 - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_1 - * - * Used on declarations introduced in Mac OS X 10.0, - * but later deprecated in Mac OS X 10.1 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_1 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_1, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_1 - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_1 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_1 AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER - * - * Used on declarations introduced in Mac OS X 10.2 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_2 - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER UNAVAILABLE_ATTRIBUTE -#elif MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_2 - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER WEAK_IMPORT_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED - * - * Used on declarations introduced in Mac OS X 10.2, - * and deprecated in Mac OS X 10.2 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_2, __MAC_10_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_2 - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_2 - * - * Used on declarations introduced in Mac OS X 10.0, - * but later deprecated in Mac OS X 10.2 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_2 - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_2 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_2 AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_2 - * - * Used on declarations introduced in Mac OS X 10.1, - * but later deprecated in Mac OS X 10.2 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_1, __MAC_10_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_2 - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_2 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_2 AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER - * - * Used on declarations introduced in Mac OS X 10.3 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER __OSX_AVAILABLE_STARTING(__MAC_10_3, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_3 - #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER UNAVAILABLE_ATTRIBUTE -#elif MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_3 - #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER WEAK_IMPORT_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED - * - * Used on declarations introduced in Mac OS X 10.3, - * and deprecated in Mac OS X 10.3 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_3, __MAC_10_3, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_3 - #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_3 - * - * Used on declarations introduced in Mac OS X 10.0, - * but later deprecated in Mac OS X 10.3 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_3 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_3, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_3 - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_3 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_3 AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_3 - * - * Used on declarations introduced in Mac OS X 10.1, - * but later deprecated in Mac OS X 10.3 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_3 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_1, __MAC_10_3, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_3 - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_3 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_3 AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_3 - * - * Used on declarations introduced in Mac OS X 10.2, - * but later deprecated in Mac OS X 10.3 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_3 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_2, __MAC_10_3, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_3 - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_3 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_3 AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER - * - * Used on declarations introduced in Mac OS X 10.4 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_4 - #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER UNAVAILABLE_ATTRIBUTE -#elif MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_4 - #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER WEAK_IMPORT_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED - * - * Used on declarations introduced in Mac OS X 10.4, - * and deprecated in Mac OS X 10.4 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_4 - #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 - * - * Used on declarations introduced in Mac OS X 10.0, - * but later deprecated in Mac OS X 10.4 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_4 - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 - * - * Used on declarations introduced in Mac OS X 10.1, - * but later deprecated in Mac OS X 10.4 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_1, __MAC_10_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_4 - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 - * - * Used on declarations introduced in Mac OS X 10.2, - * but later deprecated in Mac OS X 10.4 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_2, __MAC_10_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_4 - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 - * - * Used on declarations introduced in Mac OS X 10.3, - * but later deprecated in Mac OS X 10.4 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_3, __MAC_10_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_4 - #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER - * - * Used on declarations introduced in Mac OS X 10.5 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER __OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_5 - #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER UNAVAILABLE_ATTRIBUTE -#elif MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_5 - #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER WEAK_IMPORT_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED - * - * Used on declarations introduced in Mac OS X 10.5, - * and deprecated in Mac OS X 10.5 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_5, __MAC_10_5, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_5 - #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 - * - * Used on declarations introduced in Mac OS X 10.0, - * but later deprecated in Mac OS X 10.5 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_5, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_5 - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 - * - * Used on declarations introduced in Mac OS X 10.1, - * but later deprecated in Mac OS X 10.5 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_1, __MAC_10_5, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_5 - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 - * - * Used on declarations introduced in Mac OS X 10.2, - * but later deprecated in Mac OS X 10.5 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_2, __MAC_10_5, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_5 - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 - * - * Used on declarations introduced in Mac OS X 10.3, - * but later deprecated in Mac OS X 10.5 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_3, __MAC_10_5, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_5 - #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 - * - * Used on declarations introduced in Mac OS X 10.4, - * but later deprecated in Mac OS X 10.5 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_5, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_5 - #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER - * - * Used on declarations introduced in Mac OS X 10.6 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER __OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_6 - #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER UNAVAILABLE_ATTRIBUTE -#elif MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_6 - #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER WEAK_IMPORT_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED - * - * Used on declarations introduced in Mac OS X 10.6, - * and deprecated in Mac OS X 10.6 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_6, __MAC_10_6, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_6 - #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_6 - * - * Used on declarations introduced in Mac OS X 10.0, - * but later deprecated in Mac OS X 10.6 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_6 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_6, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_6 - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_6 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_6 AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_6 - * - * Used on declarations introduced in Mac OS X 10.1, - * but later deprecated in Mac OS X 10.6 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_6 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_1, __MAC_10_6, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_6 - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_6 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_6 AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_6 - * - * Used on declarations introduced in Mac OS X 10.2, - * but later deprecated in Mac OS X 10.6 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_6 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_2, __MAC_10_6, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_6 - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_6 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_6 AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_6 - * - * Used on declarations introduced in Mac OS X 10.3, - * but later deprecated in Mac OS X 10.6 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_6 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_3, __MAC_10_6, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_6 - #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_6 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_6 AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_6 - * - * Used on declarations introduced in Mac OS X 10.4, - * but later deprecated in Mac OS X 10.6 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_6 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_6, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_6 - #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_6 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_6 AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_6 - * - * Used on declarations introduced in Mac OS X 10.5, - * but later deprecated in Mac OS X 10.6 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_6 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_5, __MAC_10_6, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_6 - #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_6 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_6 AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER - * - * Used on declarations introduced in Mac OS X 10.7 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_7 - #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER UNAVAILABLE_ATTRIBUTE -#elif MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_7 - #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER WEAK_IMPORT_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED - * - * Used on declarations introduced in Mac OS X 10.7, - * and deprecated in Mac OS X 10.7 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_7, __MAC_10_7, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_7 - #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7 - * - * Used on declarations introduced in Mac OS X 10.0, - * but later deprecated in Mac OS X 10.7 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_7, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_7 - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7 AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7 - * - * Used on declarations introduced in Mac OS X 10.1, - * but later deprecated in Mac OS X 10.7 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_1, __MAC_10_7, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_7 - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7 AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7 - * - * Used on declarations introduced in Mac OS X 10.2, - * but later deprecated in Mac OS X 10.7 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_2, __MAC_10_7, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_7 - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7 AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7 - * - * Used on declarations introduced in Mac OS X 10.3, - * but later deprecated in Mac OS X 10.7 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_3, __MAC_10_7, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_7 - #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7 AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7 - * - * Used on declarations introduced in Mac OS X 10.4, - * but later deprecated in Mac OS X 10.7 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_7, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_7 - #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7 AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7 - * - * Used on declarations introduced in Mac OS X 10.5, - * but later deprecated in Mac OS X 10.7 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_5, __MAC_10_7, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_7 - #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7 AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7 - * - * Used on declarations introduced in Mac OS X 10.6, - * but later deprecated in Mac OS X 10.7 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_6, __MAC_10_7, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_7 - #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7 AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_13 - * - * Used on declarations introduced in Mac OS X 10.6, - * but later deprecated in Mac OS X 10.13 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY -#define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_13 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_6, __MAC_10_13, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_7 -#define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_13 DEPRECATED_ATTRIBUTE -#else -#define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_13 AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER - * - * Used on declarations introduced in Mac OS X 10.8 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER __OSX_AVAILABLE_STARTING(__MAC_10_8, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_8 - #define AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER UNAVAILABLE_ATTRIBUTE -#elif MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_8 - #define AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER WEAK_IMPORT_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED - * - * Used on declarations introduced in Mac OS X 10.8, - * and deprecated in Mac OS X 10.8 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_8, __MAC_10_8, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_8 - #define AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 - * - * Used on declarations introduced in Mac OS X 10.0, - * but later deprecated in Mac OS X 10.8 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_8 - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 - * - * Used on declarations introduced in Mac OS X 10.1, - * but later deprecated in Mac OS X 10.8 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_1, __MAC_10_8, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_8 - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 - * - * Used on declarations introduced in Mac OS X 10.2, - * but later deprecated in Mac OS X 10.8 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_2, __MAC_10_8, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_8 - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 - * - * Used on declarations introduced in Mac OS X 10.3, - * but later deprecated in Mac OS X 10.8 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_3, __MAC_10_8, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_8 - #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 - * - * Used on declarations introduced in Mac OS X 10.4, - * but later deprecated in Mac OS X 10.8 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_8, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_8 - #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 - * - * Used on declarations introduced in Mac OS X 10.5, - * but later deprecated in Mac OS X 10.8 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_5, __MAC_10_8, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_8 - #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 - * - * Used on declarations introduced in Mac OS X 10.6, - * but later deprecated in Mac OS X 10.8 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_6, __MAC_10_8, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_8 - #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 - * - * Used on declarations introduced in Mac OS X 10.7, - * but later deprecated in Mac OS X 10.8 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_7, __MAC_10_8, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_8 - #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER - * - * Used on declarations introduced in Mac OS X 10.9 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER __OSX_AVAILABLE_STARTING(__MAC_10_9, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_9 - #define AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER UNAVAILABLE_ATTRIBUTE -#elif MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_9 - #define AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER WEAK_IMPORT_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED - * - * Used on declarations introduced in Mac OS X 10.9, - * and deprecated in Mac OS X 10.9 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_9, __MAC_10_9, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_9 - #define AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_9 - * - * Used on declarations introduced in Mac OS X 10.0, - * but later deprecated in Mac OS X 10.9 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_9 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_9, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_9 - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_9 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_9 AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_9 - * - * Used on declarations introduced in Mac OS X 10.1, - * but later deprecated in Mac OS X 10.9 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_9 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_1, __MAC_10_9, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_9 - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_9 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_9 AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_9 - * - * Used on declarations introduced in Mac OS X 10.2, - * but later deprecated in Mac OS X 10.9 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_9 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_2, __MAC_10_9, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_9 - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_9 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_9 AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_9 - * - * Used on declarations introduced in Mac OS X 10.3, - * but later deprecated in Mac OS X 10.9 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_9 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_3, __MAC_10_9, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_9 - #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_9 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_9 AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_9 - * - * Used on declarations introduced in Mac OS X 10.4, - * but later deprecated in Mac OS X 10.9 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_9 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_9, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_9 - #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_9 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_9 AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_9 - * - * Used on declarations introduced in Mac OS X 10.5, - * but later deprecated in Mac OS X 10.9 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_9 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_5, __MAC_10_9, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_9 - #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_9 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_9 AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_9 - * - * Used on declarations introduced in Mac OS X 10.6, - * but later deprecated in Mac OS X 10.9 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_9 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_6, __MAC_10_9, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_9 - #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_9 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_9 AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_9 - * - * Used on declarations introduced in Mac OS X 10.7, - * but later deprecated in Mac OS X 10.9 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_9 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_7, __MAC_10_9, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_9 - #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_9 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_9 AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_9 - * - * Used on declarations introduced in Mac OS X 10.8, - * but later deprecated in Mac OS X 10.9 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_9 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_8, __MAC_10_9, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_9 - #define AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_9 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_9 AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER - * - * Used on declarations introduced in Mac OS X 10.10 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER __OSX_AVAILABLE_STARTING(__MAC_10_10, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_10 - #define AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER UNAVAILABLE_ATTRIBUTE -#elif MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_10 - #define AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER WEAK_IMPORT_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED - * - * Used on declarations introduced in Mac OS X 10.10, - * and deprecated in Mac OS X 10.10 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_10, __MAC_10_10, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_10 - #define AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 - * - * Used on declarations introduced in Mac OS X 10.0, - * but later deprecated in Mac OS X 10.10 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_10, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_10 - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 - * - * Used on declarations introduced in Mac OS X 10.1, - * but later deprecated in Mac OS X 10.10 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_1, __MAC_10_10, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_10 - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 - * - * Used on declarations introduced in Mac OS X 10.2, - * but later deprecated in Mac OS X 10.10 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_2, __MAC_10_10, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_10 - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 - * - * Used on declarations introduced in Mac OS X 10.3, - * but later deprecated in Mac OS X 10.10 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_3, __MAC_10_10, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_10 - #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 - * - * Used on declarations introduced in Mac OS X 10.4, - * but later deprecated in Mac OS X 10.10 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_10, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_10 - #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 - * - * Used on declarations introduced in Mac OS X 10.5, - * but later deprecated in Mac OS X 10.10 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_5, __MAC_10_10, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_10 - #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 - * - * Used on declarations introduced in Mac OS X 10.6, - * but later deprecated in Mac OS X 10.10 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_6, __MAC_10_10, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_10 - #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 - * - * Used on declarations introduced in Mac OS X 10.7, - * but later deprecated in Mac OS X 10.10 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_7, __MAC_10_10, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_10 - #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 - * - * Used on declarations introduced in Mac OS X 10.8, - * but later deprecated in Mac OS X 10.10 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_8, __MAC_10_10, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_10 - #define AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 - * - * Used on declarations introduced in Mac OS X 10.9, - * but later deprecated in Mac OS X 10.10 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_9, __MAC_10_10, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_10 - #define AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER - * - * Used on declarations introduced in Mac OS X 10.10.2 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER __OSX_AVAILABLE_STARTING(__MAC_10_10_2, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_10_2 - #define AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER UNAVAILABLE_ATTRIBUTE -#elif MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_10_2 - #define AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER WEAK_IMPORT_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED - * - * Used on declarations introduced in Mac OS X 10.10.2, - * and deprecated in Mac OS X 10.10.2 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_10_2, __MAC_10_10_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_10_2 - #define AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 - * - * Used on declarations introduced in Mac OS X 10.0, - * but later deprecated in Mac OS X 10.10.2 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_10_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_10_2 - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 - * - * Used on declarations introduced in Mac OS X 10.1, - * but later deprecated in Mac OS X 10.10.2 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_1, __MAC_10_10_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_10_2 - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 - * - * Used on declarations introduced in Mac OS X 10.2, - * but later deprecated in Mac OS X 10.10.2 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_2, __MAC_10_10_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_10_2 - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 - * - * Used on declarations introduced in Mac OS X 10.3, - * but later deprecated in Mac OS X 10.10.2 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_3, __MAC_10_10_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_10_2 - #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 - * - * Used on declarations introduced in Mac OS X 10.4, - * but later deprecated in Mac OS X 10.10.2 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_10_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_10_2 - #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 - * - * Used on declarations introduced in Mac OS X 10.5, - * but later deprecated in Mac OS X 10.10.2 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_5, __MAC_10_10_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_10_2 - #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 - * - * Used on declarations introduced in Mac OS X 10.6, - * but later deprecated in Mac OS X 10.10.2 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_6, __MAC_10_10_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_10_2 - #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 - * - * Used on declarations introduced in Mac OS X 10.7, - * but later deprecated in Mac OS X 10.10.2 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_7, __MAC_10_10_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_10_2 - #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 - * - * Used on declarations introduced in Mac OS X 10.8, - * but later deprecated in Mac OS X 10.10.2 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_8, __MAC_10_10_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_10_2 - #define AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 - * - * Used on declarations introduced in Mac OS X 10.9, - * but later deprecated in Mac OS X 10.10.2 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_9, __MAC_10_10_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_10_2 - #define AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 - * - * Used on declarations introduced in Mac OS X 10.10, - * but later deprecated in Mac OS X 10.10.2 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_10, __MAC_10_10_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_10_2 - #define AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER - * - * Used on declarations introduced in Mac OS X 10.10.3 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER __OSX_AVAILABLE_STARTING(__MAC_10_10_3, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_10_3 - #define AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER UNAVAILABLE_ATTRIBUTE -#elif MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_10_3 - #define AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER WEAK_IMPORT_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER_BUT_DEPRECATED - * - * Used on declarations introduced in Mac OS X 10.10.3, - * and deprecated in Mac OS X 10.10.3 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER_BUT_DEPRECATED __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_10_3, __MAC_10_10_3, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_10_3 - #define AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER_BUT_DEPRECATED DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER_BUT_DEPRECATED AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 - * - * Used on declarations introduced in Mac OS X 10.0, - * but later deprecated in Mac OS X 10.10.3 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_10_3, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_10_3 - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 - * - * Used on declarations introduced in Mac OS X 10.1, - * but later deprecated in Mac OS X 10.10.3 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_1, __MAC_10_10_3, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_10_3 - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 - * - * Used on declarations introduced in Mac OS X 10.2, - * but later deprecated in Mac OS X 10.10.3 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_2, __MAC_10_10_3, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_10_3 - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 - * - * Used on declarations introduced in Mac OS X 10.3, - * but later deprecated in Mac OS X 10.10.3 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_3, __MAC_10_10_3, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_10_3 - #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 - * - * Used on declarations introduced in Mac OS X 10.4, - * but later deprecated in Mac OS X 10.10.3 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_10_3, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_10_3 - #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 - * - * Used on declarations introduced in Mac OS X 10.5, - * but later deprecated in Mac OS X 10.10.3 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_5, __MAC_10_10_3, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_10_3 - #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 - * - * Used on declarations introduced in Mac OS X 10.6, - * but later deprecated in Mac OS X 10.10.3 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_6, __MAC_10_10_3, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_10_3 - #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 - * - * Used on declarations introduced in Mac OS X 10.7, - * but later deprecated in Mac OS X 10.10.3 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_7, __MAC_10_10_3, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_10_3 - #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 - * - * Used on declarations introduced in Mac OS X 10.8, - * but later deprecated in Mac OS X 10.10.3 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_8, __MAC_10_10_3, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_10_3 - #define AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 - * - * Used on declarations introduced in Mac OS X 10.9, - * but later deprecated in Mac OS X 10.10.3 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_9, __MAC_10_10_3, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_10_3 - #define AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 - * - * Used on declarations introduced in Mac OS X 10.10, - * but later deprecated in Mac OS X 10.10.3 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_10, __MAC_10_10_3, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_10_3 - #define AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 - * - * Used on declarations introduced in Mac OS X 10.10.2, - * but later deprecated in Mac OS X 10.10.3 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_10_2, __MAC_10_10_3, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_10_3 - #define AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER - * - * Used on declarations introduced in Mac OS X 10.11 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER __OSX_AVAILABLE_STARTING(__MAC_10_11, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_11 - #define AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER UNAVAILABLE_ATTRIBUTE -#elif MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_11 - #define AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER WEAK_IMPORT_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER_BUT_DEPRECATED - * - * Used on declarations introduced in Mac OS X 10.11, - * and deprecated in Mac OS X 10.11 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER_BUT_DEPRECATED __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_11, __MAC_10_11, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11 - #define AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER_BUT_DEPRECATED DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER_BUT_DEPRECATED AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 - * - * Used on declarations introduced in Mac OS X 10.0, - * but later deprecated in Mac OS X 10.11 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_11, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11 - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 - * - * Used on declarations introduced in Mac OS X 10.1, - * but later deprecated in Mac OS X 10.11 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_1, __MAC_10_11, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11 - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 - * - * Used on declarations introduced in Mac OS X 10.2, - * but later deprecated in Mac OS X 10.11 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_2, __MAC_10_11, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11 - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 - * - * Used on declarations introduced in Mac OS X 10.3, - * but later deprecated in Mac OS X 10.11 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_3, __MAC_10_11, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11 - #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 - * - * Used on declarations introduced in Mac OS X 10.4, - * but later deprecated in Mac OS X 10.11 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_11, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11 - #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 - * - * Used on declarations introduced in Mac OS X 10.5, - * but later deprecated in Mac OS X 10.11 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_5, __MAC_10_11, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11 - #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 - * - * Used on declarations introduced in Mac OS X 10.6, - * but later deprecated in Mac OS X 10.11 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_6, __MAC_10_11, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11 - #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 - * - * Used on declarations introduced in Mac OS X 10.7, - * but later deprecated in Mac OS X 10.11 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_7, __MAC_10_11, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11 - #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 - * - * Used on declarations introduced in Mac OS X 10.8, - * but later deprecated in Mac OS X 10.11 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_8, __MAC_10_11, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11 - #define AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 - * - * Used on declarations introduced in Mac OS X 10.9, - * but later deprecated in Mac OS X 10.11 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_9, __MAC_10_11, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11 - #define AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 - * - * Used on declarations introduced in Mac OS X 10.10, - * but later deprecated in Mac OS X 10.11 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_10, __MAC_10_11, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11 - #define AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 - * - * Used on declarations introduced in Mac OS X 10.10.2, - * but later deprecated in Mac OS X 10.11 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_10_2, __MAC_10_11, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11 - #define AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 - * - * Used on declarations introduced in Mac OS X 10.10.3, - * but later deprecated in Mac OS X 10.11 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_10_3, __MAC_10_11, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11 - #define AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_11_2_AND_LATER - * - * Used on declarations introduced in Mac OS X 10.11.2 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_11_2_AND_LATER __OSX_AVAILABLE_STARTING(__MAC_10_11_2, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_11_2 - #define AVAILABLE_MAC_OS_X_VERSION_10_11_2_AND_LATER UNAVAILABLE_ATTRIBUTE -#elif MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_11_2 - #define AVAILABLE_MAC_OS_X_VERSION_10_11_2_AND_LATER WEAK_IMPORT_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_11_2_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_11_2_AND_LATER_BUT_DEPRECATED - * - * Used on declarations introduced in Mac OS X 10.11.2, - * and deprecated in Mac OS X 10.11.2 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_11_2_AND_LATER_BUT_DEPRECATED __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_11_2, __MAC_10_11_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11_2 - #define AVAILABLE_MAC_OS_X_VERSION_10_11_2_AND_LATER_BUT_DEPRECATED DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_11_2_AND_LATER_BUT_DEPRECATED AVAILABLE_MAC_OS_X_VERSION_10_11_2_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 - * - * Used on declarations introduced in Mac OS X 10.0, - * but later deprecated in Mac OS X 10.11.2 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_11_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11_2 - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 - * - * Used on declarations introduced in Mac OS X 10.1, - * but later deprecated in Mac OS X 10.11.2 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_1, __MAC_10_11_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11_2 - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 - * - * Used on declarations introduced in Mac OS X 10.2, - * but later deprecated in Mac OS X 10.11.2 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_2, __MAC_10_11_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11_2 - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 - * - * Used on declarations introduced in Mac OS X 10.3, - * but later deprecated in Mac OS X 10.11.2 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_3, __MAC_10_11_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11_2 - #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 - * - * Used on declarations introduced in Mac OS X 10.4, - * but later deprecated in Mac OS X 10.11.2 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_11_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11_2 - #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 - * - * Used on declarations introduced in Mac OS X 10.5, - * but later deprecated in Mac OS X 10.11.2 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_5, __MAC_10_11_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11_2 - #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 - * - * Used on declarations introduced in Mac OS X 10.6, - * but later deprecated in Mac OS X 10.11.2 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_6, __MAC_10_11_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11_2 - #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 - * - * Used on declarations introduced in Mac OS X 10.7, - * but later deprecated in Mac OS X 10.11.2 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_7, __MAC_10_11_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11_2 - #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 - * - * Used on declarations introduced in Mac OS X 10.8, - * but later deprecated in Mac OS X 10.11.2 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_8, __MAC_10_11_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11_2 - #define AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 - * - * Used on declarations introduced in Mac OS X 10.9, - * but later deprecated in Mac OS X 10.11.2 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_9, __MAC_10_11_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11_2 - #define AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 - * - * Used on declarations introduced in Mac OS X 10.10, - * but later deprecated in Mac OS X 10.11.2 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_10, __MAC_10_11_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11_2 - #define AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 - * - * Used on declarations introduced in Mac OS X 10.10.2, - * but later deprecated in Mac OS X 10.11.2 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_10_2, __MAC_10_11_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11_2 - #define AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 - * - * Used on declarations introduced in Mac OS X 10.10.3, - * but later deprecated in Mac OS X 10.11.2 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_10_3, __MAC_10_11_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11_2 - #define AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 - * - * Used on declarations introduced in Mac OS X 10.11, - * but later deprecated in Mac OS X 10.11.2 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_11, __MAC_10_11_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11_2 - #define AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_11_3_AND_LATER - * - * Used on declarations introduced in Mac OS X 10.11.3 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_11_3_AND_LATER __OSX_AVAILABLE_STARTING(__MAC_10_11_3, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_11_3 - #define AVAILABLE_MAC_OS_X_VERSION_10_11_3_AND_LATER UNAVAILABLE_ATTRIBUTE -#elif MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_11_3 - #define AVAILABLE_MAC_OS_X_VERSION_10_11_3_AND_LATER WEAK_IMPORT_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_11_3_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_11_3_AND_LATER_BUT_DEPRECATED - * - * Used on declarations introduced in Mac OS X 10.11.3, - * and deprecated in Mac OS X 10.11.3 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_11_3_AND_LATER_BUT_DEPRECATED __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_11_3, __MAC_10_11_3, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11_3 - #define AVAILABLE_MAC_OS_X_VERSION_10_11_3_AND_LATER_BUT_DEPRECATED DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_11_3_AND_LATER_BUT_DEPRECATED AVAILABLE_MAC_OS_X_VERSION_10_11_3_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 - * - * Used on declarations introduced in Mac OS X 10.0, - * but later deprecated in Mac OS X 10.11.3 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_11_3, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11_3 - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 - * - * Used on declarations introduced in Mac OS X 10.1, - * but later deprecated in Mac OS X 10.11.3 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_1, __MAC_10_11_3, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11_3 - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 - * - * Used on declarations introduced in Mac OS X 10.2, - * but later deprecated in Mac OS X 10.11.3 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_2, __MAC_10_11_3, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11_3 - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 - * - * Used on declarations introduced in Mac OS X 10.3, - * but later deprecated in Mac OS X 10.11.3 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_3, __MAC_10_11_3, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11_3 - #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 - * - * Used on declarations introduced in Mac OS X 10.4, - * but later deprecated in Mac OS X 10.11.3 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_11_3, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11_3 - #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 - * - * Used on declarations introduced in Mac OS X 10.5, - * but later deprecated in Mac OS X 10.11.3 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_5, __MAC_10_11_3, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11_3 - #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 - * - * Used on declarations introduced in Mac OS X 10.6, - * but later deprecated in Mac OS X 10.11.3 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_6, __MAC_10_11_3, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11_3 - #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 - * - * Used on declarations introduced in Mac OS X 10.7, - * but later deprecated in Mac OS X 10.11.3 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_7, __MAC_10_11_3, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11_3 - #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 - * - * Used on declarations introduced in Mac OS X 10.8, - * but later deprecated in Mac OS X 10.11.3 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_8, __MAC_10_11_3, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11_3 - #define AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 - * - * Used on declarations introduced in Mac OS X 10.9, - * but later deprecated in Mac OS X 10.11.3 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_9, __MAC_10_11_3, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11_3 - #define AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 - * - * Used on declarations introduced in Mac OS X 10.10, - * but later deprecated in Mac OS X 10.11.3 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_10, __MAC_10_11_3, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11_3 - #define AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 - * - * Used on declarations introduced in Mac OS X 10.10.2, - * but later deprecated in Mac OS X 10.11.3 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_10_2, __MAC_10_11_3, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11_3 - #define AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 - * - * Used on declarations introduced in Mac OS X 10.10.3, - * but later deprecated in Mac OS X 10.11.3 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_10_3, __MAC_10_11_3, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11_3 - #define AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 - * - * Used on declarations introduced in Mac OS X 10.11, - * but later deprecated in Mac OS X 10.11.3 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_11, __MAC_10_11_3, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11_3 - #define AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_11_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 - * - * Used on declarations introduced in Mac OS X 10.11.2, - * but later deprecated in Mac OS X 10.11.3 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_11_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_11_2, __MAC_10_11_3, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11_3 - #define AVAILABLE_MAC_OS_X_VERSION_10_11_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_11_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 AVAILABLE_MAC_OS_X_VERSION_10_11_2_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_11_4_AND_LATER - * - * Used on declarations introduced in Mac OS X 10.11.4 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_11_4_AND_LATER __OSX_AVAILABLE_STARTING(__MAC_10_11_4, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_11_4 - #define AVAILABLE_MAC_OS_X_VERSION_10_11_4_AND_LATER UNAVAILABLE_ATTRIBUTE -#elif MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_11_4 - #define AVAILABLE_MAC_OS_X_VERSION_10_11_4_AND_LATER WEAK_IMPORT_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_11_4_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_11_4_AND_LATER_BUT_DEPRECATED - * - * Used on declarations introduced in Mac OS X 10.11.4, - * and deprecated in Mac OS X 10.11.4 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_11_4_AND_LATER_BUT_DEPRECATED __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_11_4, __MAC_10_11_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11_4 - #define AVAILABLE_MAC_OS_X_VERSION_10_11_4_AND_LATER_BUT_DEPRECATED DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_11_4_AND_LATER_BUT_DEPRECATED AVAILABLE_MAC_OS_X_VERSION_10_11_4_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 - * - * Used on declarations introduced in Mac OS X 10.0, - * but later deprecated in Mac OS X 10.11.4 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_11_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11_4 - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 - * - * Used on declarations introduced in Mac OS X 10.1, - * but later deprecated in Mac OS X 10.11.4 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_1, __MAC_10_11_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11_4 - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 - * - * Used on declarations introduced in Mac OS X 10.2, - * but later deprecated in Mac OS X 10.11.4 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_2, __MAC_10_11_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11_4 - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 - * - * Used on declarations introduced in Mac OS X 10.3, - * but later deprecated in Mac OS X 10.11.4 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_3, __MAC_10_11_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11_4 - #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 - * - * Used on declarations introduced in Mac OS X 10.4, - * but later deprecated in Mac OS X 10.11.4 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_11_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11_4 - #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 - * - * Used on declarations introduced in Mac OS X 10.5, - * but later deprecated in Mac OS X 10.11.4 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_5, __MAC_10_11_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11_4 - #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 - * - * Used on declarations introduced in Mac OS X 10.6, - * but later deprecated in Mac OS X 10.11.4 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_6, __MAC_10_11_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11_4 - #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 - * - * Used on declarations introduced in Mac OS X 10.7, - * but later deprecated in Mac OS X 10.11.4 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_7, __MAC_10_11_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11_4 - #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 - * - * Used on declarations introduced in Mac OS X 10.8, - * but later deprecated in Mac OS X 10.11.4 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_8, __MAC_10_11_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11_4 - #define AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 - * - * Used on declarations introduced in Mac OS X 10.9, - * but later deprecated in Mac OS X 10.11.4 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_9, __MAC_10_11_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11_4 - #define AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 - * - * Used on declarations introduced in Mac OS X 10.10, - * but later deprecated in Mac OS X 10.11.4 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_10, __MAC_10_11_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11_4 - #define AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 - * - * Used on declarations introduced in Mac OS X 10.10.2, - * but later deprecated in Mac OS X 10.11.4 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_10_2, __MAC_10_11_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11_4 - #define AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 - * - * Used on declarations introduced in Mac OS X 10.10.3, - * but later deprecated in Mac OS X 10.11.4 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_10_3, __MAC_10_11_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11_4 - #define AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 - * - * Used on declarations introduced in Mac OS X 10.11, - * but later deprecated in Mac OS X 10.11.4 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_11, __MAC_10_11_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11_4 - #define AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_11_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 - * - * Used on declarations introduced in Mac OS X 10.11.2, - * but later deprecated in Mac OS X 10.11.4 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_11_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_11_2, __MAC_10_11_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11_4 - #define AVAILABLE_MAC_OS_X_VERSION_10_11_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_11_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 AVAILABLE_MAC_OS_X_VERSION_10_11_2_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_11_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 - * - * Used on declarations introduced in Mac OS X 10.11.3, - * but later deprecated in Mac OS X 10.11.4 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_11_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_11_3, __MAC_10_11_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11_4 - #define AVAILABLE_MAC_OS_X_VERSION_10_11_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_11_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 AVAILABLE_MAC_OS_X_VERSION_10_11_3_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_12_AND_LATER - * - * Used on declarations introduced in Mac OS X 10.12 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_12_AND_LATER __OSX_AVAILABLE_STARTING(__MAC_10_12, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_12 - #define AVAILABLE_MAC_OS_X_VERSION_10_12_AND_LATER UNAVAILABLE_ATTRIBUTE -#elif MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_12 - #define AVAILABLE_MAC_OS_X_VERSION_10_12_AND_LATER WEAK_IMPORT_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_12_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_12_AND_LATER_BUT_DEPRECATED - * - * Used on declarations introduced in Mac OS X 10.12, - * and deprecated in Mac OS X 10.12 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_12_AND_LATER_BUT_DEPRECATED __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_12, __MAC_10_12, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12 - #define AVAILABLE_MAC_OS_X_VERSION_10_12_AND_LATER_BUT_DEPRECATED DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_12_AND_LATER_BUT_DEPRECATED AVAILABLE_MAC_OS_X_VERSION_10_12_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 - * - * Used on declarations introduced in Mac OS X 10.0, - * but later deprecated in Mac OS X 10.12 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_12, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12 - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 - * - * Used on declarations introduced in Mac OS X 10.1, - * but later deprecated in Mac OS X 10.12 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_1, __MAC_10_12, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12 - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 - * - * Used on declarations introduced in Mac OS X 10.2, - * but later deprecated in Mac OS X 10.12 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_2, __MAC_10_12, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12 - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 - * - * Used on declarations introduced in Mac OS X 10.3, - * but later deprecated in Mac OS X 10.12 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_3, __MAC_10_12, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12 - #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 - * - * Used on declarations introduced in Mac OS X 10.4, - * but later deprecated in Mac OS X 10.12 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_12, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12 - #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 - * - * Used on declarations introduced in Mac OS X 10.5, - * but later deprecated in Mac OS X 10.12 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_5, __MAC_10_12, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12 - #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 - * - * Used on declarations introduced in Mac OS X 10.6, - * but later deprecated in Mac OS X 10.12 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_6, __MAC_10_12, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12 - #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 - * - * Used on declarations introduced in Mac OS X 10.7, - * but later deprecated in Mac OS X 10.12 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_7, __MAC_10_12, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12 - #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 - * - * Used on declarations introduced in Mac OS X 10.8, - * but later deprecated in Mac OS X 10.12 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_8, __MAC_10_12, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12 - #define AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 - * - * Used on declarations introduced in Mac OS X 10.9, - * but later deprecated in Mac OS X 10.12 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_9, __MAC_10_12, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12 - #define AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 - * - * Used on declarations introduced in Mac OS X 10.10, - * but later deprecated in Mac OS X 10.12 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_10, __MAC_10_12, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12 - #define AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 - * - * Used on declarations introduced in Mac OS X 10.10.2, - * but later deprecated in Mac OS X 10.12 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_10_2, __MAC_10_12, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12 - #define AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 - * - * Used on declarations introduced in Mac OS X 10.10.3, - * but later deprecated in Mac OS X 10.12 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_10_3, __MAC_10_12, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12 - #define AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 - * - * Used on declarations introduced in Mac OS X 10.11, - * but later deprecated in Mac OS X 10.12 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_11, __MAC_10_12, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12 - #define AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_11_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 - * - * Used on declarations introduced in Mac OS X 10.11.2, - * but later deprecated in Mac OS X 10.12 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_11_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_11_2, __MAC_10_12, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12 - #define AVAILABLE_MAC_OS_X_VERSION_10_11_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_11_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 AVAILABLE_MAC_OS_X_VERSION_10_11_2_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_11_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 - * - * Used on declarations introduced in Mac OS X 10.11.3, - * but later deprecated in Mac OS X 10.12 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_11_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_11_3, __MAC_10_12, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12 - #define AVAILABLE_MAC_OS_X_VERSION_10_11_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_11_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 AVAILABLE_MAC_OS_X_VERSION_10_11_3_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_11_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 - * - * Used on declarations introduced in Mac OS X 10.11.4, - * but later deprecated in Mac OS X 10.12 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_11_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_11_4, __MAC_10_12, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12 - #define AVAILABLE_MAC_OS_X_VERSION_10_11_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_11_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 AVAILABLE_MAC_OS_X_VERSION_10_11_4_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_12_1_AND_LATER - * - * Used on declarations introduced in Mac OS X 10.12.1 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_12_1_AND_LATER __OSX_AVAILABLE_STARTING(__MAC_10_12_1, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_12_1 - #define AVAILABLE_MAC_OS_X_VERSION_10_12_1_AND_LATER UNAVAILABLE_ATTRIBUTE -#elif MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_12_1 - #define AVAILABLE_MAC_OS_X_VERSION_10_12_1_AND_LATER WEAK_IMPORT_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_12_1_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_12_1_AND_LATER_BUT_DEPRECATED - * - * Used on declarations introduced in Mac OS X 10.12.1, - * and deprecated in Mac OS X 10.12.1 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_12_1_AND_LATER_BUT_DEPRECATED __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_12_1, __MAC_10_12_1, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_1 - #define AVAILABLE_MAC_OS_X_VERSION_10_12_1_AND_LATER_BUT_DEPRECATED DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_12_1_AND_LATER_BUT_DEPRECATED AVAILABLE_MAC_OS_X_VERSION_10_12_1_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 - * - * Used on declarations introduced in Mac OS X 10.0, - * but later deprecated in Mac OS X 10.12.1 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_12_1, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_1 - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 - * - * Used on declarations introduced in Mac OS X 10.1, - * but later deprecated in Mac OS X 10.12.1 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_1, __MAC_10_12_1, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_1 - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 - * - * Used on declarations introduced in Mac OS X 10.2, - * but later deprecated in Mac OS X 10.12.1 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_2, __MAC_10_12_1, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_1 - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 - * - * Used on declarations introduced in Mac OS X 10.3, - * but later deprecated in Mac OS X 10.12.1 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_3, __MAC_10_12_1, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_1 - #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 - * - * Used on declarations introduced in Mac OS X 10.4, - * but later deprecated in Mac OS X 10.12.1 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_12_1, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_1 - #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 - * - * Used on declarations introduced in Mac OS X 10.5, - * but later deprecated in Mac OS X 10.12.1 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_5, __MAC_10_12_1, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_1 - #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 - * - * Used on declarations introduced in Mac OS X 10.6, - * but later deprecated in Mac OS X 10.12.1 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_6, __MAC_10_12_1, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_1 - #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 - * - * Used on declarations introduced in Mac OS X 10.7, - * but later deprecated in Mac OS X 10.12.1 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_7, __MAC_10_12_1, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_1 - #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 - * - * Used on declarations introduced in Mac OS X 10.8, - * but later deprecated in Mac OS X 10.12.1 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_8, __MAC_10_12_1, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_1 - #define AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 - * - * Used on declarations introduced in Mac OS X 10.9, - * but later deprecated in Mac OS X 10.12.1 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_9, __MAC_10_12_1, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_1 - #define AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 - * - * Used on declarations introduced in Mac OS X 10.10, - * but later deprecated in Mac OS X 10.12.1 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_10, __MAC_10_12_1, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_1 - #define AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 - * - * Used on declarations introduced in Mac OS X 10.10.2, - * but later deprecated in Mac OS X 10.12.1 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_10_2, __MAC_10_12_1, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_1 - #define AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 - * - * Used on declarations introduced in Mac OS X 10.10.3, - * but later deprecated in Mac OS X 10.12.1 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_10_3, __MAC_10_12_1, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_1 - #define AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 - * - * Used on declarations introduced in Mac OS X 10.11, - * but later deprecated in Mac OS X 10.12.1 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_11, __MAC_10_12_1, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_1 - #define AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_11_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 - * - * Used on declarations introduced in Mac OS X 10.11.2, - * but later deprecated in Mac OS X 10.12.1 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_11_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_11_2, __MAC_10_12_1, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_1 - #define AVAILABLE_MAC_OS_X_VERSION_10_11_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_11_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 AVAILABLE_MAC_OS_X_VERSION_10_11_2_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_11_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 - * - * Used on declarations introduced in Mac OS X 10.11.3, - * but later deprecated in Mac OS X 10.12.1 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_11_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_11_3, __MAC_10_12_1, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_1 - #define AVAILABLE_MAC_OS_X_VERSION_10_11_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_11_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 AVAILABLE_MAC_OS_X_VERSION_10_11_3_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_11_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 - * - * Used on declarations introduced in Mac OS X 10.11.4, - * but later deprecated in Mac OS X 10.12.1 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_11_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_11_4, __MAC_10_12_1, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_1 - #define AVAILABLE_MAC_OS_X_VERSION_10_11_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_11_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 AVAILABLE_MAC_OS_X_VERSION_10_11_4_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_12_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 - * - * Used on declarations introduced in Mac OS X 10.12, - * but later deprecated in Mac OS X 10.12.1 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_12_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_12, __MAC_10_12_1, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_1 - #define AVAILABLE_MAC_OS_X_VERSION_10_12_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_12_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 AVAILABLE_MAC_OS_X_VERSION_10_12_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_12_2_AND_LATER - * - * Used on declarations introduced in Mac OS X 10.12.2 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_12_2_AND_LATER __OSX_AVAILABLE_STARTING(__MAC_10_12_2, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_12_2 - #define AVAILABLE_MAC_OS_X_VERSION_10_12_2_AND_LATER UNAVAILABLE_ATTRIBUTE -#elif MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_12_2 - #define AVAILABLE_MAC_OS_X_VERSION_10_12_2_AND_LATER WEAK_IMPORT_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_12_2_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_12_2_AND_LATER_BUT_DEPRECATED - * - * Used on declarations introduced in Mac OS X 10.12.2, - * and deprecated in Mac OS X 10.12.2 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_12_2_AND_LATER_BUT_DEPRECATED __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_12_2, __MAC_10_12_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_2 - #define AVAILABLE_MAC_OS_X_VERSION_10_12_2_AND_LATER_BUT_DEPRECATED DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_12_2_AND_LATER_BUT_DEPRECATED AVAILABLE_MAC_OS_X_VERSION_10_12_2_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 - * - * Used on declarations introduced in Mac OS X 10.0, - * but later deprecated in Mac OS X 10.12.2 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_12_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_2 - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 - * - * Used on declarations introduced in Mac OS X 10.1, - * but later deprecated in Mac OS X 10.12.2 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_1, __MAC_10_12_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_2 - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 - * - * Used on declarations introduced in Mac OS X 10.2, - * but later deprecated in Mac OS X 10.12.2 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_2, __MAC_10_12_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_2 - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 - * - * Used on declarations introduced in Mac OS X 10.3, - * but later deprecated in Mac OS X 10.12.2 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_3, __MAC_10_12_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_2 - #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 - * - * Used on declarations introduced in Mac OS X 10.4, - * but later deprecated in Mac OS X 10.12.2 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_12_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_2 - #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 - * - * Used on declarations introduced in Mac OS X 10.5, - * but later deprecated in Mac OS X 10.12.2 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_5, __MAC_10_12_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_2 - #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 - * - * Used on declarations introduced in Mac OS X 10.6, - * but later deprecated in Mac OS X 10.12.2 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_6, __MAC_10_12_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_2 - #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 - * - * Used on declarations introduced in Mac OS X 10.7, - * but later deprecated in Mac OS X 10.12.2 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_7, __MAC_10_12_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_2 - #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 - * - * Used on declarations introduced in Mac OS X 10.8, - * but later deprecated in Mac OS X 10.12.2 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_8, __MAC_10_12_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_2 - #define AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 - * - * Used on declarations introduced in Mac OS X 10.9, - * but later deprecated in Mac OS X 10.12.2 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_9, __MAC_10_12_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_2 - #define AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 - * - * Used on declarations introduced in Mac OS X 10.10, - * but later deprecated in Mac OS X 10.12.2 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_10, __MAC_10_12_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_2 - #define AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 - * - * Used on declarations introduced in Mac OS X 10.10.2, - * but later deprecated in Mac OS X 10.12.2 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_10_2, __MAC_10_12_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_2 - #define AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 - * - * Used on declarations introduced in Mac OS X 10.10.3, - * but later deprecated in Mac OS X 10.12.2 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_10_3, __MAC_10_12_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_2 - #define AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 - * - * Used on declarations introduced in Mac OS X 10.11, - * but later deprecated in Mac OS X 10.12.2 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_11, __MAC_10_12_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_2 - #define AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_11_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 - * - * Used on declarations introduced in Mac OS X 10.11.2, - * but later deprecated in Mac OS X 10.12.2 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_11_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_11_2, __MAC_10_12_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_2 - #define AVAILABLE_MAC_OS_X_VERSION_10_11_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_11_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 AVAILABLE_MAC_OS_X_VERSION_10_11_2_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_11_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 - * - * Used on declarations introduced in Mac OS X 10.11.3, - * but later deprecated in Mac OS X 10.12.2 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_11_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_11_3, __MAC_10_12_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_2 - #define AVAILABLE_MAC_OS_X_VERSION_10_11_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_11_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 AVAILABLE_MAC_OS_X_VERSION_10_11_3_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_11_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 - * - * Used on declarations introduced in Mac OS X 10.11.4, - * but later deprecated in Mac OS X 10.12.2 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_11_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_11_4, __MAC_10_12_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_2 - #define AVAILABLE_MAC_OS_X_VERSION_10_11_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_11_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 AVAILABLE_MAC_OS_X_VERSION_10_11_4_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_12_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 - * - * Used on declarations introduced in Mac OS X 10.12, - * but later deprecated in Mac OS X 10.12.2 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_12_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_12, __MAC_10_12_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_2 - #define AVAILABLE_MAC_OS_X_VERSION_10_12_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_12_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 AVAILABLE_MAC_OS_X_VERSION_10_12_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_12_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 - * - * Used on declarations introduced in Mac OS X 10.12.1, - * but later deprecated in Mac OS X 10.12.2 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_12_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_12_1, __MAC_10_12_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_2 - #define AVAILABLE_MAC_OS_X_VERSION_10_12_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_12_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 AVAILABLE_MAC_OS_X_VERSION_10_12_1_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_12_4_AND_LATER - * - * Used on declarations introduced in Mac OS X 10.12.4 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_12_4_AND_LATER __OSX_AVAILABLE_STARTING(__MAC_10_12_4, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_12_4 - #define AVAILABLE_MAC_OS_X_VERSION_10_12_4_AND_LATER UNAVAILABLE_ATTRIBUTE -#elif MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_12_4 - #define AVAILABLE_MAC_OS_X_VERSION_10_12_4_AND_LATER WEAK_IMPORT_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_12_4_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_12_4_AND_LATER_BUT_DEPRECATED - * - * Used on declarations introduced in Mac OS X 10.12.4, - * and deprecated in Mac OS X 10.12.4 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_12_4_AND_LATER_BUT_DEPRECATED __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_12_4, __MAC_10_12_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_4 - #define AVAILABLE_MAC_OS_X_VERSION_10_12_4_AND_LATER_BUT_DEPRECATED DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_12_4_AND_LATER_BUT_DEPRECATED AVAILABLE_MAC_OS_X_VERSION_10_12_4_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 - * - * Used on declarations introduced in Mac OS X 10.0, - * but later deprecated in Mac OS X 10.12.4 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_12_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_4 - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 - * - * Used on declarations introduced in Mac OS X 10.1, - * but later deprecated in Mac OS X 10.12.4 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_1, __MAC_10_12_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_4 - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 - * - * Used on declarations introduced in Mac OS X 10.2, - * but later deprecated in Mac OS X 10.12.4 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_2, __MAC_10_12_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_4 - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 - * - * Used on declarations introduced in Mac OS X 10.3, - * but later deprecated in Mac OS X 10.12.4 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_3, __MAC_10_12_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_4 - #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 - * - * Used on declarations introduced in Mac OS X 10.4, - * but later deprecated in Mac OS X 10.12.4 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_12_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_4 - #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 - * - * Used on declarations introduced in Mac OS X 10.5, - * but later deprecated in Mac OS X 10.12.4 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_5, __MAC_10_12_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_4 - #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 - * - * Used on declarations introduced in Mac OS X 10.6, - * but later deprecated in Mac OS X 10.12.4 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_6, __MAC_10_12_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_4 - #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 - * - * Used on declarations introduced in Mac OS X 10.7, - * but later deprecated in Mac OS X 10.12.4 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_7, __MAC_10_12_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_4 - #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 - * - * Used on declarations introduced in Mac OS X 10.8, - * but later deprecated in Mac OS X 10.12.4 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_8, __MAC_10_12_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_4 - #define AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 - * - * Used on declarations introduced in Mac OS X 10.9, - * but later deprecated in Mac OS X 10.12.4 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_9, __MAC_10_12_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_4 - #define AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 - * - * Used on declarations introduced in Mac OS X 10.10, - * but later deprecated in Mac OS X 10.12.4 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_10, __MAC_10_12_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_4 - #define AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 - * - * Used on declarations introduced in Mac OS X 10.10.2, - * but later deprecated in Mac OS X 10.12.4 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_10_2, __MAC_10_12_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_4 - #define AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 - * - * Used on declarations introduced in Mac OS X 10.10.3, - * but later deprecated in Mac OS X 10.12.4 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_10_3, __MAC_10_12_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_4 - #define AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 - * - * Used on declarations introduced in Mac OS X 10.11, - * but later deprecated in Mac OS X 10.12.4 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_11, __MAC_10_12_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_4 - #define AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_11_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 - * - * Used on declarations introduced in Mac OS X 10.11.2, - * but later deprecated in Mac OS X 10.12.4 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_11_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_11_2, __MAC_10_12_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_4 - #define AVAILABLE_MAC_OS_X_VERSION_10_11_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_11_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 AVAILABLE_MAC_OS_X_VERSION_10_11_2_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_11_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 - * - * Used on declarations introduced in Mac OS X 10.11.3, - * but later deprecated in Mac OS X 10.12.4 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_11_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_11_3, __MAC_10_12_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_4 - #define AVAILABLE_MAC_OS_X_VERSION_10_11_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_11_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 AVAILABLE_MAC_OS_X_VERSION_10_11_3_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_11_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 - * - * Used on declarations introduced in Mac OS X 10.11.4, - * but later deprecated in Mac OS X 10.12.4 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_11_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_11_4, __MAC_10_12_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_4 - #define AVAILABLE_MAC_OS_X_VERSION_10_11_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_11_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 AVAILABLE_MAC_OS_X_VERSION_10_11_4_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_12_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 - * - * Used on declarations introduced in Mac OS X 10.12, - * but later deprecated in Mac OS X 10.12.4 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_12_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_12, __MAC_10_12_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_4 - #define AVAILABLE_MAC_OS_X_VERSION_10_12_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_12_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 AVAILABLE_MAC_OS_X_VERSION_10_12_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_12_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 - * - * Used on declarations introduced in Mac OS X 10.12.1, - * but later deprecated in Mac OS X 10.12.4 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_12_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_12_1, __MAC_10_12_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_4 - #define AVAILABLE_MAC_OS_X_VERSION_10_12_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_12_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 AVAILABLE_MAC_OS_X_VERSION_10_12_1_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_12_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 - * - * Used on declarations introduced in Mac OS X 10.12.2, - * but later deprecated in Mac OS X 10.12.4 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_12_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_12_2, __MAC_10_12_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_4 - #define AVAILABLE_MAC_OS_X_VERSION_10_12_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 DEPRECATED_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_12_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 AVAILABLE_MAC_OS_X_VERSION_10_12_2_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_13_AND_LATER - * - * Used on declarations introduced in Mac OS X 10.13 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_13_AND_LATER __OSX_AVAILABLE_STARTING(__MAC_10_13, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_13 - #define AVAILABLE_MAC_OS_X_VERSION_10_13_AND_LATER UNAVAILABLE_ATTRIBUTE -#elif MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_13 - #define AVAILABLE_MAC_OS_X_VERSION_10_13_AND_LATER WEAK_IMPORT_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_13_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_14_AND_LATER - * - * Used on declarations introduced in Mac OS X 10.14 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_14_AND_LATER __OSX_AVAILABLE_STARTING(__MAC_10_14, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_14 - #define AVAILABLE_MAC_OS_X_VERSION_10_14_AND_LATER UNAVAILABLE_ATTRIBUTE -#elif MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_14 - #define AVAILABLE_MAC_OS_X_VERSION_10_14_AND_LATER WEAK_IMPORT_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_14_AND_LATER -#endif - -/* - * AVAILABLE_MAC_OS_X_VERSION_10_15_AND_LATER - * - * Used on declarations introduced in Mac OS X 10.15 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define AVAILABLE_MAC_OS_X_VERSION_10_15_AND_LATER __OSX_AVAILABLE_STARTING(__MAC_10_15, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_15 - #define AVAILABLE_MAC_OS_X_VERSION_10_15_AND_LATER UNAVAILABLE_ATTRIBUTE -#elif MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_15 - #define AVAILABLE_MAC_OS_X_VERSION_10_15_AND_LATER WEAK_IMPORT_ATTRIBUTE -#else - #define AVAILABLE_MAC_OS_X_VERSION_10_15_AND_LATER -#endif - -/* - * DEPRECATED_IN_MAC_OS_X_VERSION_10_1_AND_LATER - * - * Used on types deprecated in Mac OS X 10.1 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define DEPRECATED_IN_MAC_OS_X_VERSION_10_1_AND_LATER __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_1, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_1 - #define DEPRECATED_IN_MAC_OS_X_VERSION_10_1_AND_LATER DEPRECATED_ATTRIBUTE -#else - #define DEPRECATED_IN_MAC_OS_X_VERSION_10_1_AND_LATER -#endif - -/* - * DEPRECATED_IN_MAC_OS_X_VERSION_10_2_AND_LATER - * - * Used on types deprecated in Mac OS X 10.2 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define DEPRECATED_IN_MAC_OS_X_VERSION_10_2_AND_LATER __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_2, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_2 - #define DEPRECATED_IN_MAC_OS_X_VERSION_10_2_AND_LATER DEPRECATED_ATTRIBUTE -#else - #define DEPRECATED_IN_MAC_OS_X_VERSION_10_2_AND_LATER -#endif - -/* - * DEPRECATED_IN_MAC_OS_X_VERSION_10_3_AND_LATER - * - * Used on types deprecated in Mac OS X 10.3 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define DEPRECATED_IN_MAC_OS_X_VERSION_10_3_AND_LATER __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_3, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_3 - #define DEPRECATED_IN_MAC_OS_X_VERSION_10_3_AND_LATER DEPRECATED_ATTRIBUTE -#else - #define DEPRECATED_IN_MAC_OS_X_VERSION_10_3_AND_LATER -#endif - -/* - * DEPRECATED_IN_MAC_OS_X_VERSION_10_4_AND_LATER - * - * Used on types deprecated in Mac OS X 10.4 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define DEPRECATED_IN_MAC_OS_X_VERSION_10_4_AND_LATER __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_4 - #define DEPRECATED_IN_MAC_OS_X_VERSION_10_4_AND_LATER DEPRECATED_ATTRIBUTE -#else - #define DEPRECATED_IN_MAC_OS_X_VERSION_10_4_AND_LATER -#endif - - -/* - * DEPRECATED_IN_MAC_OS_X_VERSION_10_5_AND_LATER - * - * Used on types deprecated in Mac OS X 10.5 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define DEPRECATED_IN_MAC_OS_X_VERSION_10_5_AND_LATER __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_5, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_5 - #define DEPRECATED_IN_MAC_OS_X_VERSION_10_5_AND_LATER DEPRECATED_ATTRIBUTE -#else - #define DEPRECATED_IN_MAC_OS_X_VERSION_10_5_AND_LATER -#endif - -/* - * DEPRECATED_IN_MAC_OS_X_VERSION_10_6_AND_LATER - * - * Used on types deprecated in Mac OS X 10.6 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define DEPRECATED_IN_MAC_OS_X_VERSION_10_6_AND_LATER __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_6, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_6 - #define DEPRECATED_IN_MAC_OS_X_VERSION_10_6_AND_LATER DEPRECATED_ATTRIBUTE -#else - #define DEPRECATED_IN_MAC_OS_X_VERSION_10_6_AND_LATER -#endif - -/* - * DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER - * - * Used on types deprecated in Mac OS X 10.7 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_7, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_7 - #define DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER DEPRECATED_ATTRIBUTE -#else - #define DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER -#endif - -/* - * DEPRECATED_IN_MAC_OS_X_VERSION_10_8_AND_LATER - * - * Used on types deprecated in Mac OS X 10.8 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define DEPRECATED_IN_MAC_OS_X_VERSION_10_8_AND_LATER __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_8 - #define DEPRECATED_IN_MAC_OS_X_VERSION_10_8_AND_LATER DEPRECATED_ATTRIBUTE -#else - #define DEPRECATED_IN_MAC_OS_X_VERSION_10_8_AND_LATER -#endif - -/* - * DEPRECATED_IN_MAC_OS_X_VERSION_10_9_AND_LATER - * - * Used on types deprecated in Mac OS X 10.9 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define DEPRECATED_IN_MAC_OS_X_VERSION_10_9_AND_LATER __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_9, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_9 - #define DEPRECATED_IN_MAC_OS_X_VERSION_10_9_AND_LATER DEPRECATED_ATTRIBUTE -#else - #define DEPRECATED_IN_MAC_OS_X_VERSION_10_9_AND_LATER -#endif - -/* - * DEPRECATED_IN_MAC_OS_X_VERSION_10_10_AND_LATER - * - * Used on types deprecated in Mac OS X 10.10 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define DEPRECATED_IN_MAC_OS_X_VERSION_10_10_AND_LATER __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_10, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_10 - #define DEPRECATED_IN_MAC_OS_X_VERSION_10_10_AND_LATER DEPRECATED_ATTRIBUTE -#else - #define DEPRECATED_IN_MAC_OS_X_VERSION_10_10_AND_LATER -#endif - -/* - * DEPRECATED_IN_MAC_OS_X_VERSION_10_11_AND_LATER - * - * Used on types deprecated in Mac OS X 10.11 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define DEPRECATED_IN_MAC_OS_X_VERSION_10_11_AND_LATER __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_11, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11 - #define DEPRECATED_IN_MAC_OS_X_VERSION_10_11_AND_LATER DEPRECATED_ATTRIBUTE -#else - #define DEPRECATED_IN_MAC_OS_X_VERSION_10_11_AND_LATER -#endif - -/* - * DEPRECATED_IN_MAC_OS_X_VERSION_10_12_AND_LATER - * - * Used on types deprecated in Mac OS X 10.12 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define DEPRECATED_IN_MAC_OS_X_VERSION_10_12_AND_LATER __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_12, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12 - #define DEPRECATED_IN_MAC_OS_X_VERSION_10_12_AND_LATER DEPRECATED_ATTRIBUTE -#else - #define DEPRECATED_IN_MAC_OS_X_VERSION_10_12_AND_LATER -#endif - -/* - * DEPRECATED_IN_MAC_OS_X_VERSION_10_13_AND_LATER - * - * Used on types deprecated in Mac OS X 10.13 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define DEPRECATED_IN_MAC_OS_X_VERSION_10_13_AND_LATER __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_13, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12 - #define DEPRECATED_IN_MAC_OS_X_VERSION_10_13_AND_LATER DEPRECATED_ATTRIBUTE -#else - #define DEPRECATED_IN_MAC_OS_X_VERSION_10_13_AND_LATER -#endif - -/* - * DEPRECATED_IN_MAC_OS_X_VERSION_10_14_4_AND_LATER - * - * Used on types deprecated in Mac OS X 10.14.4 - */ -#if __AVAILABILITY_MACROS_USES_AVAILABILITY - #define DEPRECATED_IN_MAC_OS_X_VERSION_10_14_4_AND_LATER __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_14_4, __IPHONE_COMPAT_VERSION, __IPHONE_COMPAT_VERSION) -#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_14_4 - #define DEPRECATED_IN_MAC_OS_X_VERSION_10_14_4_AND_LATER DEPRECATED_ATTRIBUTE -#else - #define DEPRECATED_IN_MAC_OS_X_VERSION_10_14_4_AND_LATER -#endif - -#endif /* __AVAILABILITYMACROS__ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.13-any/AvailabilityVersions.h b/lib/libc/include/any-macos.13-any/AvailabilityVersions.h deleted file mode 100644 index 1b36142fcb..0000000000 --- a/lib/libc/include/any-macos.13-any/AvailabilityVersions.h +++ /dev/null @@ -1,267 +0,0 @@ -/* - * Copyright (c) 2019 by 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 __AVAILABILITY_VERSIONS__ -#define __AVAILABILITY_VERSIONS__ - -#define __MAC_10_0 1000 -#define __MAC_10_1 1010 -#define __MAC_10_2 1020 -#define __MAC_10_3 1030 -#define __MAC_10_4 1040 -#define __MAC_10_5 1050 -#define __MAC_10_6 1060 -#define __MAC_10_7 1070 -#define __MAC_10_8 1080 -#define __MAC_10_9 1090 -#define __MAC_10_10 101000 -#define __MAC_10_10_2 101002 -#define __MAC_10_10_3 101003 -#define __MAC_10_11 101100 -#define __MAC_10_11_2 101102 -#define __MAC_10_11_3 101103 -#define __MAC_10_11_4 101104 -#define __MAC_10_12 101200 -#define __MAC_10_12_1 101201 -#define __MAC_10_12_2 101202 -#define __MAC_10_12_4 101204 -#define __MAC_10_13 101300 -#define __MAC_10_13_1 101301 -#define __MAC_10_13_2 101302 -#define __MAC_10_13_4 101304 -#define __MAC_10_14 101400 -#define __MAC_10_14_1 101401 -#define __MAC_10_14_4 101404 -#define __MAC_10_14_6 101406 -#define __MAC_10_15 101500 -#define __MAC_10_15_1 101501 -#define __MAC_10_15_4 101504 -#define __MAC_10_16 101600 -#define __MAC_11_0 110000 -#define __MAC_11_1 110100 -#define __MAC_11_3 110300 -#define __MAC_11_4 110400 -#define __MAC_11_5 110500 -#define __MAC_11_6 110600 -#define __MAC_12_0 120000 -#define __MAC_12_1 120100 -#define __MAC_12_2 120200 -#define __MAC_12_3 120300 -#define __MAC_13_0 130000 -#define __MAC_13_1 130100 -#define __MAC_13_2 130200 -#define __MAC_13_3 130300 -/* __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 -#define __IPHONE_2_1 20100 -#define __IPHONE_2_2 20200 -#define __IPHONE_3_0 30000 -#define __IPHONE_3_1 30100 -#define __IPHONE_3_2 30200 -#define __IPHONE_4_0 40000 -#define __IPHONE_4_1 40100 -#define __IPHONE_4_2 40200 -#define __IPHONE_4_3 40300 -#define __IPHONE_5_0 50000 -#define __IPHONE_5_1 50100 -#define __IPHONE_6_0 60000 -#define __IPHONE_6_1 60100 -#define __IPHONE_7_0 70000 -#define __IPHONE_7_1 70100 -#define __IPHONE_8_0 80000 -#define __IPHONE_8_1 80100 -#define __IPHONE_8_2 80200 -#define __IPHONE_8_3 80300 -#define __IPHONE_8_4 80400 -#define __IPHONE_9_0 90000 -#define __IPHONE_9_1 90100 -#define __IPHONE_9_2 90200 -#define __IPHONE_9_3 90300 -#define __IPHONE_10_0 100000 -#define __IPHONE_10_1 100100 -#define __IPHONE_10_2 100200 -#define __IPHONE_10_3 100300 -#define __IPHONE_11_0 110000 -#define __IPHONE_11_1 110100 -#define __IPHONE_11_2 110200 -#define __IPHONE_11_3 110300 -#define __IPHONE_11_4 110400 -#define __IPHONE_12_0 120000 -#define __IPHONE_12_1 120100 -#define __IPHONE_12_2 120200 -#define __IPHONE_12_3 120300 -#define __IPHONE_12_4 120400 -#define __IPHONE_13_0 130000 -#define __IPHONE_13_1 130100 -#define __IPHONE_13_2 130200 -#define __IPHONE_13_3 130300 -#define __IPHONE_13_4 130400 -#define __IPHONE_13_5 130500 -#define __IPHONE_13_6 130600 -#define __IPHONE_13_7 130700 -#define __IPHONE_14_0 140000 -#define __IPHONE_14_1 140100 -#define __IPHONE_14_2 140200 -#define __IPHONE_14_3 140300 -#define __IPHONE_14_5 140500 -#define __IPHONE_14_6 140600 -#define __IPHONE_14_7 140700 -#define __IPHONE_14_8 140800 -#define __IPHONE_15_0 150000 -#define __IPHONE_15_1 150100 -#define __IPHONE_15_2 150200 -#define __IPHONE_15_3 150300 -#define __IPHONE_15_4 150400 -#define __IPHONE_16_0 160000 -#define __IPHONE_16_1 160100 -#define __IPHONE_16_2 160200 -#define __IPHONE_16_3 160300 -#define __IPHONE_16_4 160400 -/* __IPHONE_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 -#define __TVOS_9_1 90100 -#define __TVOS_9_2 90200 -#define __TVOS_10_0 100000 -#define __TVOS_10_0_1 100001 -#define __TVOS_10_1 100100 -#define __TVOS_10_2 100200 -#define __TVOS_11_0 110000 -#define __TVOS_11_1 110100 -#define __TVOS_11_2 110200 -#define __TVOS_11_3 110300 -#define __TVOS_11_4 110400 -#define __TVOS_12_0 120000 -#define __TVOS_12_1 120100 -#define __TVOS_12_2 120200 -#define __TVOS_12_3 120300 -#define __TVOS_12_4 120400 -#define __TVOS_13_0 130000 -#define __TVOS_13_2 130200 -#define __TVOS_13_3 130300 -#define __TVOS_13_4 130400 -#define __TVOS_14_0 140000 -#define __TVOS_14_1 140100 -#define __TVOS_14_2 140200 -#define __TVOS_14_3 140300 -#define __TVOS_14_5 140500 -#define __TVOS_14_6 140600 -#define __TVOS_14_7 140700 -#define __TVOS_15_0 150000 -#define __TVOS_15_1 150100 -#define __TVOS_15_2 150200 -#define __TVOS_15_3 150300 -#define __TVOS_15_4 150400 -#define __TVOS_16_0 160000 -#define __TVOS_16_1 160100 -#define __TVOS_16_2 160200 -#define __TVOS_16_3 160300 -#define __TVOS_16_4 160400 - -#define __WATCHOS_1_0 10000 -#define __WATCHOS_2_0 20000 -#define __WATCHOS_2_1 20100 -#define __WATCHOS_2_2 20200 -#define __WATCHOS_3_0 30000 -#define __WATCHOS_3_1 30100 -#define __WATCHOS_3_1_1 30101 -#define __WATCHOS_3_2 30200 -#define __WATCHOS_4_0 40000 -#define __WATCHOS_4_1 40100 -#define __WATCHOS_4_2 40200 -#define __WATCHOS_4_3 40300 -#define __WATCHOS_5_0 50000 -#define __WATCHOS_5_1 50100 -#define __WATCHOS_5_2 50200 -#define __WATCHOS_5_3 50300 -#define __WATCHOS_6_0 60000 -#define __WATCHOS_6_1 60100 -#define __WATCHOS_6_2 60200 -#define __WATCHOS_7_0 70000 -#define __WATCHOS_7_1 70100 -#define __WATCHOS_7_2 70200 -#define __WATCHOS_7_3 70300 -#define __WATCHOS_7_4 70400 -#define __WATCHOS_7_5 70500 -#define __WATCHOS_7_6 70600 -#define __WATCHOS_8_0 80000 -#define __WATCHOS_8_1 80100 -#define __WATCHOS_8_3 80300 -#define __WATCHOS_8_4 80400 -#define __WATCHOS_8_5 80500 -#define __WATCHOS_9_0 90000 -#define __WATCHOS_9_1 90100 -#define __WATCHOS_9_2 90200 -#define __WATCHOS_9_3 90300 -#define __WATCHOS_9_4 90400 - -/* - * Set up standard Mac OS X versions - */ - -#if (!defined(_POSIX_C_SOURCE) && !defined(_XOPEN_SOURCE)) || defined(_DARWIN_C_SOURCE) - -#define MAC_OS_X_VERSION_10_0 1000 -#define MAC_OS_X_VERSION_10_1 1010 -#define MAC_OS_X_VERSION_10_2 1020 -#define MAC_OS_X_VERSION_10_3 1030 -#define MAC_OS_X_VERSION_10_4 1040 -#define MAC_OS_X_VERSION_10_5 1050 -#define MAC_OS_X_VERSION_10_6 1060 -#define MAC_OS_X_VERSION_10_7 1070 -#define MAC_OS_X_VERSION_10_8 1080 -#define MAC_OS_X_VERSION_10_9 1090 -#define MAC_OS_X_VERSION_10_10 101000 -#define MAC_OS_X_VERSION_10_10_2 101002 -#define MAC_OS_X_VERSION_10_10_3 101003 -#define MAC_OS_X_VERSION_10_11 101100 -#define MAC_OS_X_VERSION_10_11_2 101102 -#define MAC_OS_X_VERSION_10_11_3 101103 -#define MAC_OS_X_VERSION_10_11_4 101104 -#define MAC_OS_X_VERSION_10_12 101200 -#define MAC_OS_X_VERSION_10_12_1 101201 -#define MAC_OS_X_VERSION_10_12_2 101202 -#define MAC_OS_X_VERSION_10_12_4 101204 -#define MAC_OS_X_VERSION_10_13 101300 -#define MAC_OS_X_VERSION_10_13_1 101301 -#define MAC_OS_X_VERSION_10_13_2 101302 -#define MAC_OS_X_VERSION_10_13_4 101304 -#define MAC_OS_X_VERSION_10_14 101400 -#define MAC_OS_X_VERSION_10_14_1 101401 -#define MAC_OS_X_VERSION_10_14_4 101404 -#define MAC_OS_X_VERSION_10_14_6 101406 -#define MAC_OS_X_VERSION_10_15 101500 -#define MAC_OS_X_VERSION_10_15_1 101501 -#define MAC_OS_X_VERSION_10_16 101600 -#define MAC_OS_VERSION_11_0 110000 -#define MAC_OS_VERSION_12_0 120000 -#define MAC_OS_VERSION_13_0 130000 - -#endif /* #if (!defined(_POSIX_C_SOURCE) && !defined(_XOPEN_SOURCE)) || defined(_DARWIN_C_SOURCE) */ - -#define __DRIVERKIT_19_0 190000 -#define __DRIVERKIT_20_0 200000 -#define __DRIVERKIT_21_0 210000 - -#endif /* __AVAILABILITY_VERSIONS__ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.13-any/Block.h b/lib/libc/include/any-macos.13-any/Block.h deleted file mode 100644 index e0c8db9dd2..0000000000 --- a/lib/libc/include/any-macos.13-any/Block.h +++ /dev/null @@ -1,70 +0,0 @@ -/* - * Block.h - * - * Copyright (c) 2008-2010 Apple Inc. All rights reserved. - * - * @APPLE_LLVM_LICENSE_HEADER@ - * - */ - -#ifndef _Block_H_ -#define _Block_H_ - -#if !defined(BLOCK_EXPORT) -# if defined(__cplusplus) -# define BLOCK_EXPORT extern "C" -# else -# define BLOCK_EXPORT extern -# endif -#endif - -#if __has_include() -#include -#else -#define __OSX_AVAILABLE_STARTING(m,i) -#endif - -#include -#include - -#if __cplusplus -extern "C" { -#endif - -// 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); - -// 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); - - -// 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); - -// 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); - -// 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); - - -#if __cplusplus -} -#endif - -// Type correct macros - -#define Block_copy(...) ((__typeof(__VA_ARGS__))_Block_copy(__unsafe_forge_single(const void *, (const void *)(__VA_ARGS__)))) -#define Block_release(...) _Block_release(__unsafe_forge_single(const void *, (const void *)(__VA_ARGS__))) - - -#endif \ No newline at end of file diff --git a/lib/libc/include/any-macos.13-any/dispatch/block.h b/lib/libc/include/any-macos.13-any/dispatch/block.h deleted file mode 100644 index 294ae8939a..0000000000 --- a/lib/libc/include/any-macos.13-any/dispatch/block.h +++ /dev/null @@ -1,430 +0,0 @@ -/* - * Copyright (c) 2014 Apple Inc. All rights reserved. - * - * @APPLE_APACHE_LICENSE_HEADER_START@ - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * @APPLE_APACHE_LICENSE_HEADER_END@ - */ - -#ifndef __DISPATCH_BLOCK__ -#define __DISPATCH_BLOCK__ - -#ifndef __DISPATCH_INDIRECT__ -#error "Please #include instead of this file directly." -#include // for HeaderDoc -#endif - -#ifdef __BLOCKS__ - -/*! - * @group Dispatch block objects - */ - -DISPATCH_ASSUME_NONNULL_BEGIN -DISPATCH_ASSUME_ABI_SINGLE_BEGIN - -__BEGIN_DECLS - -/*! - * @typedef dispatch_block_flags_t - * Flags to pass to the dispatch_block_create* functions. - * - * @const DISPATCH_BLOCK_BARRIER - * Flag indicating that a dispatch block object should act as a barrier block - * when submitted to a DISPATCH_QUEUE_CONCURRENT queue. - * See dispatch_barrier_async() for details. - * This flag has no effect when the dispatch block object is invoked directly. - * - * @const DISPATCH_BLOCK_DETACHED - * Flag indicating that a dispatch block object should execute disassociated - * from current execution context attributes such as os_activity_t - * and properties of the current IPC request (if any). With regard to QoS class, - * the behavior is the same as for DISPATCH_BLOCK_NO_QOS. If invoked directly, - * the block object will remove the other attributes from the calling thread for - * the duration of the block body (before applying attributes assigned to the - * block object, if any). If submitted to a queue, the block object will be - * executed with the attributes of the queue (or any attributes specifically - * assigned to the block object). - * - * @const DISPATCH_BLOCK_ASSIGN_CURRENT - * Flag indicating that a dispatch block object should be assigned the execution - * context attributes that are current at the time the block object is created. - * This applies to attributes such as QOS class, os_activity_t and properties of - * the current IPC request (if any). If invoked directly, the block object will - * apply these attributes to the calling thread for the duration of the block - * body. If the block object is submitted to a queue, this flag replaces the - * default behavior of associating the submitted block instance with the - * execution context attributes that are current at the time of submission. - * If a specific QOS class is assigned with DISPATCH_BLOCK_NO_QOS_CLASS or - * dispatch_block_create_with_qos_class(), that QOS class takes precedence over - * the QOS class assignment indicated by this flag. - * - * @const DISPATCH_BLOCK_NO_QOS_CLASS - * Flag indicating that a dispatch block object should be not be assigned a QOS - * class. If invoked directly, the block object will be executed with the QOS - * class of the calling thread. If the block object is submitted to a queue, - * this replaces the default behavior of associating the submitted block - * instance with the QOS class current at the time of submission. - * This flag is ignored if a specific QOS class is assigned with - * dispatch_block_create_with_qos_class(). - * - * @const DISPATCH_BLOCK_INHERIT_QOS_CLASS - * Flag indicating that execution of a dispatch block object submitted to a - * queue should prefer the QOS class assigned to the queue over the QOS class - * assigned to the block (resp. associated with the block at the time of - * submission). The latter will only be used if the queue in question does not - * have an assigned QOS class, as long as doing so does not result in a QOS - * class lower than the QOS class inherited from the queue's target queue. - * This flag is the default when a dispatch block object is submitted to a queue - * for asynchronous execution and has no effect when the dispatch block object - * is invoked directly. It is ignored if DISPATCH_BLOCK_ENFORCE_QOS_CLASS is - * also passed. - * - * @const DISPATCH_BLOCK_ENFORCE_QOS_CLASS - * Flag indicating that execution of a dispatch block object submitted to a - * queue should prefer the QOS class assigned to the block (resp. associated - * with the block at the time of submission) over the QOS class assigned to the - * queue, as long as doing so will not result in a lower QOS class. - * This flag is the default when a dispatch block object is submitted to a queue - * for synchronous execution or when the dispatch block object is invoked - * directly. - */ -DISPATCH_OPTIONS(dispatch_block_flags, unsigned long, - DISPATCH_BLOCK_BARRIER - DISPATCH_ENUM_API_AVAILABLE(macos(10.10), ios(8.0)) = 0x1, - DISPATCH_BLOCK_DETACHED - DISPATCH_ENUM_API_AVAILABLE(macos(10.10), ios(8.0)) = 0x2, - DISPATCH_BLOCK_ASSIGN_CURRENT - DISPATCH_ENUM_API_AVAILABLE(macos(10.10), ios(8.0)) = 0x4, - DISPATCH_BLOCK_NO_QOS_CLASS - DISPATCH_ENUM_API_AVAILABLE(macos(10.10), ios(8.0)) = 0x8, - DISPATCH_BLOCK_INHERIT_QOS_CLASS - DISPATCH_ENUM_API_AVAILABLE(macos(10.10), ios(8.0)) = 0x10, - DISPATCH_BLOCK_ENFORCE_QOS_CLASS - DISPATCH_ENUM_API_AVAILABLE(macos(10.10), ios(8.0)) = 0x20, -); - -/*! - * @function dispatch_block_create - * - * @abstract - * Create a new dispatch block object on the heap from an existing block and - * the given flags. - * - * @discussion - * The provided block is Block_copy'ed to the heap and retained by the newly - * created dispatch block object. - * - * The returned dispatch block object is intended to be submitted to a dispatch - * queue with dispatch_async() and related functions, but may also be invoked - * directly. Both operations can be performed an arbitrary number of times but - * only the first completed execution of a dispatch block object can be waited - * on with dispatch_block_wait() or observed with dispatch_block_notify(). - * - * If the returned dispatch block object is submitted to a dispatch queue, the - * submitted block instance will be associated with the QOS class current at the - * time of submission, unless one of the following flags assigned a specific QOS - * class (or no QOS class) at the time of block creation: - * - DISPATCH_BLOCK_ASSIGN_CURRENT - * - DISPATCH_BLOCK_NO_QOS_CLASS - * - DISPATCH_BLOCK_DETACHED - * The QOS class the block object will be executed with also depends on the QOS - * class assigned to the queue and which of the following flags was specified or - * defaulted to: - * - DISPATCH_BLOCK_INHERIT_QOS_CLASS (default for asynchronous execution) - * - DISPATCH_BLOCK_ENFORCE_QOS_CLASS (default for synchronous execution) - * See description of dispatch_block_flags_t for details. - * - * If the returned dispatch block object is submitted directly to a serial queue - * and is configured to execute with a specific QOS class, the system will make - * a best effort to apply the necessary QOS overrides to ensure that blocks - * submitted earlier to the serial queue are executed at that same QOS class or - * higher. - * - * @param flags - * Configuration flags for the block object. - * Passing a value that is not a bitwise OR of flags from dispatch_block_flags_t - * results in NULL being returned. - * - * @param block - * The block to create the dispatch block object from. - * - * @result - * The newly created dispatch block object, or NULL. - * When not building with Objective-C ARC, must be released with a -[release] - * message or the Block_release() function. - */ -API_AVAILABLE(macos(10.10), ios(8.0)) -DISPATCH_EXPORT DISPATCH_NONNULL2 DISPATCH_RETURNS_RETAINED_BLOCK -DISPATCH_WARN_RESULT DISPATCH_NOTHROW -dispatch_block_t -dispatch_block_create(dispatch_block_flags_t flags, dispatch_block_t block); - -/*! - * @function dispatch_block_create_with_qos_class - * - * @abstract - * Create a new dispatch block object on the heap from an existing block and - * the given flags, and assign it the specified QOS class and relative priority. - * - * @discussion - * The provided block is Block_copy'ed to the heap and retained by the newly - * created dispatch block object. - * - * The returned dispatch block object is intended to be submitted to a dispatch - * queue with dispatch_async() and related functions, but may also be invoked - * directly. Both operations can be performed an arbitrary number of times but - * only the first completed execution of a dispatch block object can be waited - * on with dispatch_block_wait() or observed with dispatch_block_notify(). - * - * If invoked directly, the returned dispatch block object will be executed with - * the assigned QOS class as long as that does not result in a lower QOS class - * than what is current on the calling thread. - * - * If the returned dispatch block object is submitted to a dispatch queue, the - * QOS class it will be executed with depends on the QOS class assigned to the - * block, the QOS class assigned to the queue and which of the following flags - * was specified or defaulted to: - * - DISPATCH_BLOCK_INHERIT_QOS_CLASS: default for asynchronous execution - * - DISPATCH_BLOCK_ENFORCE_QOS_CLASS: default for synchronous execution - * See description of dispatch_block_flags_t for details. - * - * If the returned dispatch block object is submitted directly to a serial queue - * and is configured to execute with a specific QOS class, the system will make - * a best effort to apply the necessary QOS overrides to ensure that blocks - * submitted earlier to the serial queue are executed at that same QOS class or - * higher. - * - * @param flags - * Configuration flags for the new block object. - * Passing a value that is not a bitwise OR of flags from dispatch_block_flags_t - * results in NULL being returned. - * - * @param qos_class - * A QOS class value: - * - QOS_CLASS_USER_INTERACTIVE - * - QOS_CLASS_USER_INITIATED - * - QOS_CLASS_DEFAULT - * - QOS_CLASS_UTILITY - * - QOS_CLASS_BACKGROUND - * - QOS_CLASS_UNSPECIFIED - * Passing QOS_CLASS_UNSPECIFIED is equivalent to specifying the - * DISPATCH_BLOCK_NO_QOS_CLASS flag. Passing any other value results in NULL - * being returned. - * - * @param relative_priority - * A relative priority within the QOS class. This value is a negative - * offset from the maximum supported scheduler priority for the given class. - * Passing a value greater than zero or less than QOS_MIN_RELATIVE_PRIORITY - * results in NULL being returned. - * - * @param block - * The block to create the dispatch block object from. - * - * @result - * The newly created dispatch block object, or NULL. - * When not building with Objective-C ARC, must be released with a -[release] - * message or the Block_release() function. - */ -API_AVAILABLE(macos(10.10), ios(8.0)) -DISPATCH_EXPORT DISPATCH_NONNULL4 DISPATCH_RETURNS_RETAINED_BLOCK -DISPATCH_WARN_RESULT DISPATCH_NOTHROW -dispatch_block_t -dispatch_block_create_with_qos_class(dispatch_block_flags_t flags, - dispatch_qos_class_t qos_class, int relative_priority, - dispatch_block_t block); - -/*! - * @function dispatch_block_perform - * - * @abstract - * Create, synchronously execute and release a dispatch block object from the - * specified block and flags. - * - * @discussion - * Behaves identically to the sequence - * - * dispatch_block_t b = dispatch_block_create(flags, block); - * b(); - * Block_release(b); - * - * but may be implemented more efficiently internally by not requiring a copy - * to the heap of the specified block or the allocation of a new block object. - * - * @param flags - * Configuration flags for the temporary block object. - * The result of passing a value that is not a bitwise OR of flags from - * dispatch_block_flags_t is undefined. - * - * @param block - * The block to create the temporary block object from. - */ -API_AVAILABLE(macos(10.10), ios(8.0)) -DISPATCH_EXPORT DISPATCH_NONNULL2 DISPATCH_NOTHROW -void -dispatch_block_perform(dispatch_block_flags_t flags, - DISPATCH_NOESCAPE dispatch_block_t block); - -/*! - * @function dispatch_block_wait - * - * @abstract - * Wait synchronously until execution of the specified dispatch block object has - * completed or until the specified timeout has elapsed. - * - * @discussion - * This function will return immediately if execution of the block object has - * already completed. - * - * It is not possible to wait for multiple executions of the same block object - * with this interface; use dispatch_group_wait() for that purpose. A single - * dispatch block object may either be waited on once and executed once, - * or it may be executed any number of times. The behavior of any other - * combination is undefined. Submission to a dispatch queue counts as an - * execution, even if cancellation (dispatch_block_cancel) means the block's - * code never runs. - * - * The result of calling this function from multiple threads simultaneously - * with the same dispatch block object is undefined, but note that doing so - * would violate the rules described in the previous paragraph. - * - * If this function returns indicating that the specified timeout has elapsed, - * then that invocation does not count as the one allowed wait. - * - * If at the time this function is called, the specified dispatch block object - * has been submitted directly to a serial queue, the system will make a best - * effort to apply the necessary QOS overrides to ensure that the block and any - * blocks submitted earlier to that serial queue are executed at the QOS class - * (or higher) of the thread calling dispatch_block_wait(). - * - * @param block - * The dispatch block object to wait on. - * The result of passing NULL or a block object not returned by one of the - * dispatch_block_create* functions is undefined. - * - * @param timeout - * When to timeout (see dispatch_time). As a convenience, there are the - * DISPATCH_TIME_NOW and DISPATCH_TIME_FOREVER constants. - * - * @result - * Returns zero on success (the dispatch block object completed within the - * specified timeout) or non-zero on error (i.e. timed out). - */ -API_AVAILABLE(macos(10.10), ios(8.0)) -DISPATCH_EXPORT DISPATCH_NONNULL1 DISPATCH_NOTHROW -intptr_t -dispatch_block_wait(dispatch_block_t block, dispatch_time_t timeout); - -/*! - * @function dispatch_block_notify - * - * @abstract - * Schedule a notification block to be submitted to a queue when the execution - * of a specified dispatch block object has completed. - * - * @discussion - * This function will submit the notification block immediately if execution of - * the observed block object has already completed. - * - * It is not possible to be notified of multiple executions of the same block - * object with this interface, use dispatch_group_notify() for that purpose. - * - * A single dispatch block object may either be observed one or more times - * and executed once, or it may be executed any number of times. The behavior - * of any other combination is undefined. Submission to a dispatch queue - * counts as an execution, even if cancellation (dispatch_block_cancel) means - * the block's code never runs. - * - * If multiple notification blocks are scheduled for a single block object, - * there is no defined order in which the notification blocks will be submitted - * to their associated queues. - * - * @param block - * The dispatch block object to observe. - * The result of passing NULL or a block object not returned by one of the - * dispatch_block_create* functions is undefined. - * - * @param queue - * The queue to which the supplied notification block will be submitted when - * the observed block completes. - * - * @param notification_block - * The notification block to submit when the observed block object completes. - */ -API_AVAILABLE(macos(10.10), ios(8.0)) -DISPATCH_EXPORT DISPATCH_NONNULL_ALL DISPATCH_NOTHROW -void -dispatch_block_notify(dispatch_block_t block, dispatch_queue_t queue, - dispatch_block_t notification_block); - -/*! - * @function dispatch_block_cancel - * - * @abstract - * Asynchronously cancel the specified dispatch block object. - * - * @discussion - * Cancellation causes any future execution of the dispatch block object to - * return immediately, but does not affect any execution of the block object - * that is already in progress. - * - * Release of any resources associated with the block object will be delayed - * until execution of the block object is next attempted (or any execution - * already in progress completes). - * - * NOTE: care needs to be taken to ensure that a block object that may be - * canceled does not capture any resources that require execution of the - * block body in order to be released (e.g. memory allocated with - * malloc(3) that the block body calls free(3) on). Such resources will - * be leaked if the block body is never executed due to cancellation. - * - * @param block - * The dispatch block object to cancel. - * The result of passing NULL or a block object not returned by one of the - * dispatch_block_create* functions is undefined. - */ -API_AVAILABLE(macos(10.10), ios(8.0)) -DISPATCH_EXPORT DISPATCH_NONNULL_ALL DISPATCH_NOTHROW -void -dispatch_block_cancel(dispatch_block_t block); - -/*! - * @function dispatch_block_testcancel - * - * @abstract - * Tests whether the given dispatch block object has been canceled. - * - * @param block - * The dispatch block object to test. - * The result of passing NULL or a block object not returned by one of the - * dispatch_block_create* functions is undefined. - * - * @result - * Non-zero if canceled and zero if not canceled. - */ -API_AVAILABLE(macos(10.10), ios(8.0)) -DISPATCH_EXPORT DISPATCH_NONNULL_ALL DISPATCH_WARN_RESULT DISPATCH_PURE -DISPATCH_NOTHROW -intptr_t -dispatch_block_testcancel(dispatch_block_t block); - -__END_DECLS - -DISPATCH_ASSUME_ABI_SINGLE_END -DISPATCH_ASSUME_NONNULL_END - -#endif // __BLOCKS__ - -#endif // __DISPATCH_BLOCK__ \ No newline at end of file diff --git a/lib/libc/include/any-macos.13-any/dispatch/data.h b/lib/libc/include/any-macos.13-any/dispatch/data.h deleted file mode 100644 index 9e8e9a40ae..0000000000 --- a/lib/libc/include/any-macos.13-any/dispatch/data.h +++ /dev/null @@ -1,280 +0,0 @@ -/* - * Copyright (c) 2009-2013 Apple Inc. All rights reserved. - * - * @APPLE_APACHE_LICENSE_HEADER_START@ - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * @APPLE_APACHE_LICENSE_HEADER_END@ - */ - -#ifndef __DISPATCH_DATA__ -#define __DISPATCH_DATA__ - -#ifndef __DISPATCH_INDIRECT__ -#error "Please #include instead of this file directly." -#include // for HeaderDoc -#endif - -DISPATCH_ASSUME_NONNULL_BEGIN -DISPATCH_ASSUME_ABI_SINGLE_BEGIN - -__BEGIN_DECLS - -/*! @header - * Dispatch data objects describe contiguous or sparse regions of memory that - * may be managed by the system or by the application. - * Dispatch data objects are immutable, any direct access to memory regions - * represented by dispatch objects must not modify that memory. - */ - -/*! - * @typedef dispatch_data_t - * A dispatch object representing memory regions. - */ -DISPATCH_DATA_DECL(dispatch_data); - -/*! - * @var dispatch_data_empty - * @discussion The singleton dispatch data object representing a zero-length - * memory region. - */ -#define dispatch_data_empty \ - DISPATCH_GLOBAL_OBJECT(dispatch_data_t, _dispatch_data_empty) -API_AVAILABLE(macos(10.7), ios(5.0)) -DISPATCH_EXPORT struct dispatch_data_s _dispatch_data_empty; - -/*! - * @const DISPATCH_DATA_DESTRUCTOR_DEFAULT - * @discussion The default destructor for dispatch data objects. - * Used at data object creation to indicate that the supplied buffer should - * be copied into internal storage managed by the system. - */ -#define DISPATCH_DATA_DESTRUCTOR_DEFAULT NULL - -#ifdef __BLOCKS__ -/*! @parseOnly */ -#define DISPATCH_DATA_DESTRUCTOR_TYPE_DECL(name) \ - DISPATCH_EXPORT const dispatch_block_t _dispatch_data_destructor_##name -#else -#define DISPATCH_DATA_DESTRUCTOR_TYPE_DECL(name) \ - DISPATCH_EXPORT const dispatch_function_t \ - _dispatch_data_destructor_##name -#endif /* __BLOCKS__ */ - -/*! - * @const DISPATCH_DATA_DESTRUCTOR_FREE - * @discussion The destructor for dispatch data objects created from a malloc'd - * buffer. Used at data object creation to indicate that the supplied buffer - * was allocated by the malloc() family and should be destroyed with free(3). - */ -#define DISPATCH_DATA_DESTRUCTOR_FREE (_dispatch_data_destructor_free) -API_AVAILABLE(macos(10.7), ios(5.0)) -DISPATCH_DATA_DESTRUCTOR_TYPE_DECL(free); - -/*! - * @const DISPATCH_DATA_DESTRUCTOR_MUNMAP - * @discussion The destructor for dispatch data objects that have been created - * from buffers that require deallocation with munmap(2). - */ -#define DISPATCH_DATA_DESTRUCTOR_MUNMAP (_dispatch_data_destructor_munmap) -API_AVAILABLE(macos(10.9), ios(7.0)) -DISPATCH_DATA_DESTRUCTOR_TYPE_DECL(munmap); - -#ifdef __BLOCKS__ -/*! - * @function dispatch_data_create - * Creates a dispatch data object from the given contiguous buffer of memory. If - * a non-default destructor is provided, ownership of the buffer remains with - * the caller (i.e. the bytes will not be copied). The last release of the data - * object will result in the invocation of the specified destructor on the - * specified queue to free the buffer. - * - * If the DISPATCH_DATA_DESTRUCTOR_FREE destructor is provided the buffer will - * be freed via free(3) and the queue argument ignored. - * - * If the DISPATCH_DATA_DESTRUCTOR_DEFAULT destructor is provided, data object - * creation will copy the buffer into internal memory managed by the system. - * - * @param buffer A contiguous buffer of data. - * @param size The size of the contiguous buffer of data. - * @param queue The queue to which the destructor should be submitted. - * @param destructor The destructor responsible for freeing the data when it - * is no longer needed. - * @result A newly created dispatch data object. - */ -API_AVAILABLE(macos(10.7), ios(5.0)) -DISPATCH_EXPORT DISPATCH_RETURNS_RETAINED DISPATCH_WARN_RESULT DISPATCH_NOTHROW -dispatch_data_t -dispatch_data_create(const void *DISPATCH_SIZED_BY(size) buffer, - size_t size, - dispatch_queue_t _Nullable queue, - dispatch_block_t _Nullable destructor); -#endif /* __BLOCKS__ */ - -/*! - * @function dispatch_data_get_size - * Returns the logical size of the memory region(s) represented by the specified - * dispatch data object. - * - * @param data The dispatch data object to query. - * @result The number of bytes represented by the data object. - */ -API_AVAILABLE(macos(10.7), ios(5.0)) -DISPATCH_EXPORT DISPATCH_PURE DISPATCH_NONNULL1 DISPATCH_NOTHROW -size_t -dispatch_data_get_size(dispatch_data_t data); - -/*! - * @function dispatch_data_create_map - * Maps the memory represented by the specified dispatch data object as a single - * contiguous memory region and returns a new data object representing it. - * If non-NULL references to a pointer and a size variable are provided, they - * are filled with the location and extent of that region. These allow direct - * read access to the represented memory, but are only valid until the returned - * object is released. Under ARC, if that object is held in a variable with - * automatic storage, care needs to be taken to ensure that it is not released - * by the compiler before memory access via the pointer has been completed. - * - * @param data The dispatch data object to map. - * @param buffer_ptr A pointer to a pointer variable to be filled with the - * location of the mapped contiguous memory region, or - * NULL. - * @param size_ptr A pointer to a size_t variable to be filled with the - * size of the mapped contiguous memory region, or NULL. - * @result A newly created dispatch data object. - */ -API_AVAILABLE(macos(10.7), ios(5.0)) -DISPATCH_EXPORT DISPATCH_NONNULL1 DISPATCH_RETURNS_RETAINED -DISPATCH_WARN_RESULT DISPATCH_NOTHROW -dispatch_data_t -dispatch_data_create_map(dispatch_data_t data, - const void *_Nullable DISPATCH_SIZED_BY(*size_ptr) *_Nullable buffer_ptr, - size_t *_Nullable size_ptr); - -/*! - * @function dispatch_data_create_concat - * Returns a new dispatch data object representing the concatenation of the - * specified data objects. Those objects may be released by the application - * after the call returns (however, the system might not deallocate the memory - * region(s) described by them until the newly created object has also been - * released). - * - * @param data1 The data object representing the region(s) of memory to place - * at the beginning of the newly created object. - * @param data2 The data object representing the region(s) of memory to place - * at the end of the newly created object. - * @result A newly created object representing the concatenation of the - * data1 and data2 objects. - */ -API_AVAILABLE(macos(10.7), ios(5.0)) -DISPATCH_EXPORT DISPATCH_NONNULL_ALL DISPATCH_RETURNS_RETAINED -DISPATCH_WARN_RESULT DISPATCH_NOTHROW -dispatch_data_t -dispatch_data_create_concat(dispatch_data_t data1, dispatch_data_t data2); - -/*! - * @function dispatch_data_create_subrange - * Returns a new dispatch data object representing a subrange of the specified - * data object, which may be released by the application after the call returns - * (however, the system might not deallocate the memory region(s) described by - * that object until the newly created object has also been released). - * - * @param data The data object representing the region(s) of memory to - * create a subrange of. - * @param offset The offset into the data object where the subrange - * starts. - * @param length The length of the range. - * @result A newly created object representing the specified - * subrange of the data object. - */ -API_AVAILABLE(macos(10.7), ios(5.0)) -DISPATCH_EXPORT DISPATCH_NONNULL1 DISPATCH_RETURNS_RETAINED -DISPATCH_WARN_RESULT DISPATCH_NOTHROW -dispatch_data_t -dispatch_data_create_subrange(dispatch_data_t data, - size_t offset, - size_t length); - -#ifdef __BLOCKS__ -/*! - * @typedef dispatch_data_applier_t - * A block to be invoked for every contiguous memory region in a data object. - * - * @param region A data object representing the current region. - * @param offset The logical offset of the current region to the start - * of the data object. - * @param buffer The location of the memory for the current region. - * @param size The size of the memory for the current region. - * @result A Boolean indicating whether traversal should continue. - */ -typedef bool (^dispatch_data_applier_t)(dispatch_data_t region, - size_t offset, - const void *DISPATCH_SIZED_BY(size) buffer, - size_t size); - -/*! - * @function dispatch_data_apply - * Traverse the memory regions represented by the specified dispatch data object - * in logical order and invoke the specified block once for every contiguous - * memory region encountered. - * - * Each invocation of the block is passed a data object representing the current - * region and its logical offset, along with the memory location and extent of - * the region. These allow direct read access to the memory region, but are only - * valid until the passed-in region object is released. Note that the region - * object is released by the system when the block returns, it is the - * responsibility of the application to retain it if the region object or the - * associated memory location are needed after the block returns. - * - * @param data The data object to traverse. - * @param applier The block to be invoked for every contiguous memory - * region in the data object. - * @result A Boolean indicating whether traversal completed - * successfully. - */ -API_AVAILABLE(macos(10.7), ios(5.0)) -DISPATCH_EXPORT DISPATCH_NONNULL_ALL DISPATCH_NOTHROW -bool -dispatch_data_apply(dispatch_data_t data, - DISPATCH_NOESCAPE dispatch_data_applier_t applier); -#endif /* __BLOCKS__ */ - -/*! - * @function dispatch_data_copy_region - * Finds the contiguous memory region containing the specified location among - * the regions represented by the specified object and returns a copy of the - * internal dispatch data object representing that region along with its logical - * offset in the specified object. - * - * @param data The dispatch data object to query. - * @param location The logical position in the data object to query. - * @param offset_ptr A pointer to a size_t variable to be filled with the - * logical offset of the returned region object to the - * start of the queried data object. - * @result A newly created dispatch data object. - */ -API_AVAILABLE(macos(10.7), ios(5.0)) -DISPATCH_EXPORT DISPATCH_NONNULL1 DISPATCH_NONNULL3 DISPATCH_RETURNS_RETAINED -DISPATCH_WARN_RESULT DISPATCH_NOTHROW -dispatch_data_t -dispatch_data_copy_region(dispatch_data_t data, - size_t location, - size_t *offset_ptr); - -__END_DECLS - -DISPATCH_ASSUME_ABI_SINGLE_END -DISPATCH_ASSUME_NONNULL_END - -#endif /* __DISPATCH_DATA__ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.13-any/dispatch/group.h b/lib/libc/include/any-macos.13-any/dispatch/group.h deleted file mode 100644 index 9e36f30fc9..0000000000 --- a/lib/libc/include/any-macos.13-any/dispatch/group.h +++ /dev/null @@ -1,281 +0,0 @@ -/* - * Copyright (c) 2008-2013 Apple Inc. All rights reserved. - * - * @APPLE_APACHE_LICENSE_HEADER_START@ - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * @APPLE_APACHE_LICENSE_HEADER_END@ - */ - -#ifndef __DISPATCH_GROUP__ -#define __DISPATCH_GROUP__ - -#ifndef __DISPATCH_INDIRECT__ -#error "Please #include instead of this file directly." -#include // for HeaderDoc -#endif - -DISPATCH_ASSUME_NONNULL_BEGIN -DISPATCH_ASSUME_ABI_SINGLE_BEGIN - -/*! - * @typedef dispatch_group_t - * @abstract - * A group of blocks submitted to queues for asynchronous invocation. - */ -DISPATCH_DECL(dispatch_group); - -__BEGIN_DECLS - -/*! - * @function dispatch_group_create - * - * @abstract - * Creates new group with which blocks may be associated. - * - * @discussion - * This function creates a new group with which blocks may be associated. - * The dispatch group may be used to wait for the completion of the blocks it - * references. The group object memory is freed with dispatch_release(). - * - * @result - * The newly created group, or NULL on failure. - */ -API_AVAILABLE(macos(10.6), ios(4.0)) -DISPATCH_EXPORT DISPATCH_MALLOC DISPATCH_RETURNS_RETAINED DISPATCH_WARN_RESULT -DISPATCH_NOTHROW -dispatch_group_t -dispatch_group_create(void); - -/*! - * @function dispatch_group_async - * - * @abstract - * Submits a block to a dispatch queue and associates the block with the given - * dispatch group. - * - * @discussion - * Submits a block to a dispatch queue and associates the block with the given - * dispatch group. The dispatch group may be used to wait for the completion - * of the blocks it references. - * - * @param group - * A dispatch group to associate with the submitted block. - * The result of passing NULL in this parameter is undefined. - * - * @param queue - * The dispatch queue to which the block will be submitted for asynchronous - * invocation. - * - * @param block - * The block to perform asynchronously. - */ -#ifdef __BLOCKS__ -API_AVAILABLE(macos(10.6), ios(4.0)) -DISPATCH_EXPORT DISPATCH_NONNULL_ALL DISPATCH_NOTHROW -void -dispatch_group_async(dispatch_group_t group, - dispatch_queue_t queue, - dispatch_block_t block); -#endif /* __BLOCKS__ */ - -/*! - * @function dispatch_group_async_f - * - * @abstract - * Submits a function to a dispatch queue and associates the block with the - * given dispatch group. - * - * @discussion - * See dispatch_group_async() for details. - * - * @param group - * A dispatch group to associate with the submitted function. - * The result of passing NULL in this parameter is undefined. - * - * @param queue - * The dispatch queue to which the function will be submitted for asynchronous - * invocation. - * - * @param context - * The application-defined context parameter to pass to the function. - * - * @param work - * The application-defined function to invoke on the target queue. The first - * parameter passed to this function is the context provided to - * dispatch_group_async_f(). - */ -API_AVAILABLE(macos(10.6), ios(4.0)) -DISPATCH_EXPORT DISPATCH_NONNULL1 DISPATCH_NONNULL2 DISPATCH_NONNULL4 -DISPATCH_NOTHROW -void -dispatch_group_async_f(dispatch_group_t group, - dispatch_queue_t queue, - void *_Nullable context, - dispatch_function_t work); - -/*! - * @function dispatch_group_wait - * - * @abstract - * Wait synchronously until all the blocks associated with a group have - * completed or until the specified timeout has elapsed. - * - * @discussion - * This function waits for the completion of the blocks associated with the - * given dispatch group, and returns after all blocks have completed or when - * the specified timeout has elapsed. - * - * This function will return immediately if there are no blocks associated - * with the dispatch group (i.e. the group is empty). - * - * The result of calling this function from multiple threads simultaneously - * with the same dispatch group is undefined. - * - * After the successful return of this function, the dispatch group is empty. - * It may either be released with dispatch_release() or re-used for additional - * blocks. See dispatch_group_async() for more information. - * - * @param group - * The dispatch group to wait on. - * The result of passing NULL in this parameter is undefined. - * - * @param timeout - * When to timeout (see dispatch_time). As a convenience, there are the - * DISPATCH_TIME_NOW and DISPATCH_TIME_FOREVER constants. - * - * @result - * Returns zero on success (all blocks associated with the group completed - * within the specified timeout) or non-zero on error (i.e. timed out). - */ -API_AVAILABLE(macos(10.6), ios(4.0)) -DISPATCH_EXPORT DISPATCH_NONNULL_ALL DISPATCH_NOTHROW -intptr_t -dispatch_group_wait(dispatch_group_t group, dispatch_time_t timeout); - -/*! - * @function dispatch_group_notify - * - * @abstract - * Schedule a block to be submitted to a queue when all the blocks associated - * with a group have completed. - * - * @discussion - * This function schedules a notification block to be submitted to the specified - * queue once all blocks associated with the dispatch group have completed. - * - * If no blocks are associated with the dispatch group (i.e. the group is empty) - * then the notification block will be submitted immediately. - * - * The group will be empty at the time the notification block is submitted to - * the target queue. The group may either be released with dispatch_release() - * or reused for additional operations. - * See dispatch_group_async() for more information. - * - * @param group - * The dispatch group to observe. - * The result of passing NULL in this parameter is undefined. - * - * @param queue - * The queue to which the supplied block will be submitted when the group - * completes. - * - * @param block - * The block to submit when the group completes. - */ -#ifdef __BLOCKS__ -API_AVAILABLE(macos(10.6), ios(4.0)) -DISPATCH_EXPORT DISPATCH_NONNULL_ALL DISPATCH_NOTHROW -void -dispatch_group_notify(dispatch_group_t group, - dispatch_queue_t queue, - dispatch_block_t block); -#endif /* __BLOCKS__ */ - -/*! - * @function dispatch_group_notify_f - * - * @abstract - * Schedule a function to be submitted to a queue when all the blocks - * associated with a group have completed. - * - * @discussion - * See dispatch_group_notify() for details. - * - * @param group - * The dispatch group to observe. - * The result of passing NULL in this parameter is undefined. - * - * @param context - * The application-defined context parameter to pass to the function. - * - * @param work - * The application-defined function to invoke on the target queue. The first - * parameter passed to this function is the context provided to - * dispatch_group_notify_f(). - */ -API_AVAILABLE(macos(10.6), ios(4.0)) -DISPATCH_EXPORT DISPATCH_NONNULL1 DISPATCH_NONNULL2 DISPATCH_NONNULL4 -DISPATCH_NOTHROW -void -dispatch_group_notify_f(dispatch_group_t group, - dispatch_queue_t queue, - void *_Nullable context, - dispatch_function_t work); - -/*! - * @function dispatch_group_enter - * - * @abstract - * Manually indicate a block has entered the group - * - * @discussion - * Calling this function indicates another block has joined the group through - * a means other than dispatch_group_async(). Calls to this function must be - * balanced with dispatch_group_leave(). - * - * @param group - * The dispatch group to update. - * The result of passing NULL in this parameter is undefined. - */ -API_AVAILABLE(macos(10.6), ios(4.0)) -DISPATCH_EXPORT DISPATCH_NONNULL_ALL DISPATCH_NOTHROW -void -dispatch_group_enter(dispatch_group_t group); - -/*! - * @function dispatch_group_leave - * - * @abstract - * Manually indicate a block in the group has completed - * - * @discussion - * Calling this function indicates block has completed and left the dispatch - * group by a means other than dispatch_group_async(). - * - * @param group - * The dispatch group to update. - * The result of passing NULL in this parameter is undefined. - */ -API_AVAILABLE(macos(10.6), ios(4.0)) -DISPATCH_EXPORT DISPATCH_NONNULL_ALL DISPATCH_NOTHROW -void -dispatch_group_leave(dispatch_group_t group); - -__END_DECLS - -DISPATCH_ASSUME_ABI_SINGLE_END -DISPATCH_ASSUME_NONNULL_END - -#endif \ No newline at end of file diff --git a/lib/libc/include/any-macos.13-any/dispatch/io.h b/lib/libc/include/any-macos.13-any/dispatch/io.h deleted file mode 100644 index 30e2692a83..0000000000 --- a/lib/libc/include/any-macos.13-any/dispatch/io.h +++ /dev/null @@ -1,599 +0,0 @@ -/* - * Copyright (c) 2009-2013 Apple Inc. All rights reserved. - * - * @APPLE_APACHE_LICENSE_HEADER_START@ - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * @APPLE_APACHE_LICENSE_HEADER_END@ - */ - -#ifndef __DISPATCH_IO__ -#define __DISPATCH_IO__ - -#ifndef __DISPATCH_INDIRECT__ -#error "Please #include instead of this file directly." -#include // for HeaderDoc -#endif - -DISPATCH_ASSUME_NONNULL_BEGIN -DISPATCH_ASSUME_ABI_SINGLE_BEGIN - -__BEGIN_DECLS - -/*! @header - * Dispatch I/O provides both stream and random access asynchronous read and - * write operations on file descriptors. One or more dispatch I/O channels may - * be created from a file descriptor as either the DISPATCH_IO_STREAM type or - * DISPATCH_IO_RANDOM type. Once a channel has been created the application may - * schedule asynchronous read and write operations. - * - * The application may set policies on the dispatch I/O channel to indicate the - * desired frequency of I/O handlers for long-running operations. - * - * Dispatch I/O also provides a memory management model for I/O buffers that - * avoids unnecessary copying of data when pipelined between channels. Dispatch - * I/O monitors the overall memory pressure and I/O access patterns for the - * application to optimize resource utilization. - */ - -/*! - * @typedef dispatch_fd_t - * Native file descriptor type for the platform. - */ -#if defined(_WIN32) -typedef intptr_t dispatch_fd_t; -#else -typedef int dispatch_fd_t; -#endif - -/*! - * @functiongroup Dispatch I/O Convenience API - * Convenience wrappers around the dispatch I/O channel API, with simpler - * callback handler semantics and no explicit management of channel objects. - * File descriptors passed to the convenience API are treated as streams, and - * scheduling multiple operations on one file descriptor via the convenience API - * may incur more overhead than by using the dispatch I/O channel API directly. - */ - -#ifdef __BLOCKS__ -/*! - * @function dispatch_read - * Schedule a read operation for asynchronous execution on the specified file - * descriptor. The specified handler is enqueued with the data read from the - * file descriptor when the operation has completed or an error occurs. - * - * The data object passed to the handler will be automatically released by the - * system when the handler returns. It is the responsibility of the application - * to retain, concatenate or copy the data object if it is needed after the - * handler returns. - * - * The data object passed to the handler will only contain as much data as is - * currently available from the file descriptor (up to the specified length). - * - * If an unrecoverable error occurs on the file descriptor, the handler will be - * enqueued with the appropriate error code along with a data object of any data - * that could be read successfully. - * - * An invocation of the handler with an error code of zero and an empty data - * object indicates that EOF was reached. - * - * The system takes control of the file descriptor until the handler is - * enqueued, and during this time file descriptor flags such as O_NONBLOCK will - * be modified by the system on behalf of the application. It is an error for - * the application to modify a file descriptor directly while it is under the - * control of the system, but it may create additional dispatch I/O convenience - * operations or dispatch I/O channels associated with that file descriptor. - * - * @param fd The file descriptor from which to read the data. - * @param length The length of data to read from the file descriptor, - * or SIZE_MAX to indicate that all of the data currently - * available from the file descriptor should be read. - * @param queue The dispatch queue to which the handler should be - * submitted. - * @param handler The handler to enqueue when data is ready to be - * delivered. - * param data The data read from the file descriptor. - * param error An errno condition for the read operation or - * zero if the read was successful. - */ -API_AVAILABLE(macos(10.7), ios(5.0)) -DISPATCH_EXPORT DISPATCH_NONNULL3 DISPATCH_NONNULL4 DISPATCH_NOTHROW -void -dispatch_read(dispatch_fd_t fd, - size_t length, - dispatch_queue_t queue, - void (^handler)(dispatch_data_t data, int error)); - -/*! - * @function dispatch_write - * Schedule a write operation for asynchronous execution on the specified file - * descriptor. The specified handler is enqueued when the operation has - * completed or an error occurs. - * - * If an unrecoverable error occurs on the file descriptor, the handler will be - * enqueued with the appropriate error code along with the data that could not - * be successfully written. - * - * An invocation of the handler with an error code of zero indicates that the - * data was fully written to the channel. - * - * The system takes control of the file descriptor until the handler is - * enqueued, and during this time file descriptor flags such as O_NONBLOCK will - * be modified by the system on behalf of the application. It is an error for - * the application to modify a file descriptor directly while it is under the - * control of the system, but it may create additional dispatch I/O convenience - * operations or dispatch I/O channels associated with that file descriptor. - * - * @param fd The file descriptor to which to write the data. - * @param data The data object to write to the file descriptor. - * @param queue The dispatch queue to which the handler should be - * submitted. - * @param handler The handler to enqueue when the data has been written. - * param data The data that could not be written to the I/O - * channel, or NULL. - * param error An errno condition for the write operation or - * zero if the write was successful. - */ -API_AVAILABLE(macos(10.7), ios(5.0)) -DISPATCH_EXPORT DISPATCH_NONNULL2 DISPATCH_NONNULL3 DISPATCH_NONNULL4 -DISPATCH_NOTHROW -void -dispatch_write(dispatch_fd_t fd, - dispatch_data_t data, - dispatch_queue_t queue, - void (^handler)(dispatch_data_t _Nullable data, int error)); -#endif /* __BLOCKS__ */ - -/*! - * @functiongroup Dispatch I/O Channel API - */ - -/*! - * @typedef dispatch_io_t - * A dispatch I/O channel represents the asynchronous I/O policy applied to a - * file descriptor. I/O channels are first class dispatch objects and may be - * retained and released, suspended and resumed, etc. - */ -DISPATCH_DECL(dispatch_io); - -/*! - * @typedef dispatch_io_type_t - * The type of a dispatch I/O channel: - * - * @const DISPATCH_IO_STREAM A dispatch I/O channel representing a stream of - * bytes. Read and write operations on a channel of this type are performed - * serially (in order of creation) and read/write data at the file pointer - * position that is current at the time the operation starts executing. - * Operations of different type (read vs. write) may be performed simultaneously. - * Offsets passed to operations on a channel of this type are ignored. - * - * @const DISPATCH_IO_RANDOM A dispatch I/O channel representing a random - * access file. Read and write operations on a channel of this type may be - * performed concurrently and read/write data at the specified offset. Offsets - * are interpreted relative to the file pointer position current at the time the - * I/O channel is created. Attempting to create a channel of this type for a - * file descriptor that is not seekable will result in an error. - */ -#define DISPATCH_IO_STREAM 0 -#define DISPATCH_IO_RANDOM 1 - -typedef unsigned long dispatch_io_type_t; - -#ifdef __BLOCKS__ -/*! - * @function dispatch_io_create - * Create a dispatch I/O channel associated with a file descriptor. The system - * takes control of the file descriptor until the channel is closed, an error - * occurs on the file descriptor or all references to the channel are released. - * At that time the specified cleanup handler will be enqueued and control over - * the file descriptor relinquished. - * - * While a file descriptor is under the control of a dispatch I/O channel, file - * descriptor flags such as O_NONBLOCK will be modified by the system on behalf - * of the application. It is an error for the application to modify a file - * descriptor directly while it is under the control of a dispatch I/O channel, - * but it may create additional channels associated with that file descriptor. - * - * @param type The desired type of I/O channel (DISPATCH_IO_STREAM - * or DISPATCH_IO_RANDOM). - * @param fd The file descriptor to associate with the I/O channel. - * @param queue The dispatch queue to which the handler should be submitted. - * @param cleanup_handler The handler to enqueue when the system - * relinquishes control over the file descriptor. - * param error An errno condition if control is relinquished - * because channel creation failed, zero otherwise. - * @result The newly created dispatch I/O channel or NULL if an error - * occurred (invalid type specified). - */ -API_AVAILABLE(macos(10.7), ios(5.0)) -DISPATCH_EXPORT DISPATCH_MALLOC DISPATCH_RETURNS_RETAINED DISPATCH_WARN_RESULT -DISPATCH_NOTHROW -dispatch_io_t -dispatch_io_create(dispatch_io_type_t type, - dispatch_fd_t fd, - dispatch_queue_t queue, - void (^cleanup_handler)(int error)); - -/*! - * @function dispatch_io_create_with_path - * Create a dispatch I/O channel associated with a path name. The specified - * path, oflag and mode parameters will be passed to open(2) when the first I/O - * operation on the channel is ready to execute and the resulting file - * descriptor will remain open and under the control of the system until the - * channel is closed, an error occurs on the file descriptor or all references - * to the channel are released. At that time the file descriptor will be closed - * and the specified cleanup handler will be enqueued. - * - * @param type The desired type of I/O channel (DISPATCH_IO_STREAM - * or DISPATCH_IO_RANDOM). - * @param path The absolute path to associate with the I/O channel. - * @param oflag The flags to pass to open(2) when opening the file at - * path. - * @param mode The mode to pass to open(2) when creating the file at - * path (i.e. with flag O_CREAT), zero otherwise. - * @param queue The dispatch queue to which the handler should be - * submitted. - * @param cleanup_handler The handler to enqueue when the system - * has closed the file at path. - * param error An errno condition if control is relinquished - * because channel creation or opening of the - * specified file failed, zero otherwise. - * @result The newly created dispatch I/O channel or NULL if an error - * occurred (invalid type or non-absolute path specified). - */ -API_AVAILABLE(macos(10.7), ios(5.0)) -DISPATCH_EXPORT DISPATCH_NONNULL2 DISPATCH_MALLOC DISPATCH_RETURNS_RETAINED -DISPATCH_WARN_RESULT DISPATCH_NOTHROW -dispatch_io_t -dispatch_io_create_with_path(dispatch_io_type_t type, - const char *DISPATCH_UNSAFE_INDEXABLE path, int oflag, - mode_t mode, dispatch_queue_t queue, - void (^cleanup_handler)(int error)); - -/*! - * @function dispatch_io_create_with_io - * Create a new dispatch I/O channel from an existing dispatch I/O channel. - * The new channel inherits the file descriptor or path name associated with - * the existing channel, but not its channel type or policies. - * - * If the existing channel is associated with a file descriptor, control by the - * system over that file descriptor is extended until the new channel is also - * closed, an error occurs on the file descriptor, or all references to both - * channels are released. At that time the specified cleanup handler will be - * enqueued and control over the file descriptor relinquished. - * - * While a file descriptor is under the control of a dispatch I/O channel, file - * descriptor flags such as O_NONBLOCK will be modified by the system on behalf - * of the application. It is an error for the application to modify a file - * descriptor directly while it is under the control of a dispatch I/O channel, - * but it may create additional channels associated with that file descriptor. - * - * @param type The desired type of I/O channel (DISPATCH_IO_STREAM - * or DISPATCH_IO_RANDOM). - * @param io The existing channel to create the new I/O channel from. - * @param queue The dispatch queue to which the handler should be submitted. - * @param cleanup_handler The handler to enqueue when the system - * relinquishes control over the file descriptor - * (resp. closes the file at path) associated with - * the existing channel. - * param error An errno condition if control is relinquished - * because channel creation failed, zero otherwise. - * @result The newly created dispatch I/O channel or NULL if an error - * occurred (invalid type specified). - */ -API_AVAILABLE(macos(10.7), ios(5.0)) -DISPATCH_EXPORT DISPATCH_NONNULL2 DISPATCH_MALLOC DISPATCH_RETURNS_RETAINED -DISPATCH_WARN_RESULT DISPATCH_NOTHROW -dispatch_io_t -dispatch_io_create_with_io(dispatch_io_type_t type, - dispatch_io_t io, - dispatch_queue_t queue, - void (^cleanup_handler)(int error)); - -/*! - * @typedef dispatch_io_handler_t - * The prototype of I/O handler blocks for dispatch I/O operations. - * - * @param done A flag indicating whether the operation is complete. - * @param data The data object to be handled. - * @param error An errno condition for the operation. - */ -typedef void (^dispatch_io_handler_t)(bool done, dispatch_data_t _Nullable data, - int error); - -/*! - * @function dispatch_io_read - * Schedule a read operation for asynchronous execution on the specified I/O - * channel. The I/O handler is enqueued one or more times depending on the - * general load of the system and the policy specified on the I/O channel. - * - * Any data read from the channel is described by the dispatch data object - * passed to the I/O handler. This object will be automatically released by the - * system when the I/O handler returns. It is the responsibility of the - * application to retain, concatenate or copy the data object if it is needed - * after the I/O handler returns. - * - * Dispatch I/O handlers are not reentrant. The system will ensure that no new - * I/O handler instance is invoked until the previously enqueued handler block - * has returned. - * - * An invocation of the I/O handler with the done flag set indicates that the - * read operation is complete and that the handler will not be enqueued again. - * - * If an unrecoverable error occurs on the I/O channel's underlying file - * descriptor, the I/O handler will be enqueued with the done flag set, the - * appropriate error code and a NULL data object. - * - * An invocation of the I/O handler with the done flag set, an error code of - * zero and an empty data object indicates that EOF was reached. - * - * @param channel The dispatch I/O channel from which to read the data. - * @param offset The offset relative to the channel position from which - * to start reading (only for DISPATCH_IO_RANDOM). - * @param length The length of data to read from the I/O channel, or - * SIZE_MAX to indicate that data should be read until EOF - * is reached. - * @param queue The dispatch queue to which the I/O handler should be - * submitted. - * @param io_handler The I/O handler to enqueue when data is ready to be - * delivered. - * param done A flag indicating whether the operation is complete. - * param data An object with the data most recently read from the - * I/O channel as part of this read operation, or NULL. - * param error An errno condition for the read operation or zero if - * the read was successful. - */ -API_AVAILABLE(macos(10.7), ios(5.0)) -DISPATCH_EXPORT DISPATCH_NONNULL1 DISPATCH_NONNULL4 DISPATCH_NONNULL5 -DISPATCH_NOTHROW -void -dispatch_io_read(dispatch_io_t channel, - off_t offset, - size_t length, - dispatch_queue_t queue, - dispatch_io_handler_t io_handler); - -/*! - * @function dispatch_io_write - * Schedule a write operation for asynchronous execution on the specified I/O - * channel. The I/O handler is enqueued one or more times depending on the - * general load of the system and the policy specified on the I/O channel. - * - * Any data remaining to be written to the I/O channel is described by the - * dispatch data object passed to the I/O handler. This object will be - * automatically released by the system when the I/O handler returns. It is the - * responsibility of the application to retain, concatenate or copy the data - * object if it is needed after the I/O handler returns. - * - * Dispatch I/O handlers are not reentrant. The system will ensure that no new - * I/O handler instance is invoked until the previously enqueued handler block - * has returned. - * - * An invocation of the I/O handler with the done flag set indicates that the - * write operation is complete and that the handler will not be enqueued again. - * - * If an unrecoverable error occurs on the I/O channel's underlying file - * descriptor, the I/O handler will be enqueued with the done flag set, the - * appropriate error code and an object containing the data that could not be - * written. - * - * An invocation of the I/O handler with the done flag set and an error code of - * zero indicates that the data was fully written to the channel. - * - * @param channel The dispatch I/O channel on which to write the data. - * @param offset The offset relative to the channel position from which - * to start writing (only for DISPATCH_IO_RANDOM). - * @param data The data to write to the I/O channel. The data object - * will be retained by the system until the write operation - * is complete. - * @param queue The dispatch queue to which the I/O handler should be - * submitted. - * @param io_handler The I/O handler to enqueue when data has been delivered. - * param done A flag indicating whether the operation is complete. - * param data An object of the data remaining to be - * written to the I/O channel as part of this write - * operation, or NULL. - * param error An errno condition for the write operation or zero - * if the write was successful. - */ -API_AVAILABLE(macos(10.7), ios(5.0)) -DISPATCH_EXPORT DISPATCH_NONNULL1 DISPATCH_NONNULL3 DISPATCH_NONNULL4 -DISPATCH_NONNULL5 DISPATCH_NOTHROW -void -dispatch_io_write(dispatch_io_t channel, - off_t offset, - dispatch_data_t data, - dispatch_queue_t queue, - dispatch_io_handler_t io_handler); -#endif /* __BLOCKS__ */ - -/*! - * @typedef dispatch_io_close_flags_t - * The type of flags you can set on a dispatch_io_close() call - * - * @const DISPATCH_IO_STOP Stop outstanding operations on a channel when - * the channel is closed. - */ -#define DISPATCH_IO_STOP 0x1 - -typedef unsigned long dispatch_io_close_flags_t; - -/*! - * @function dispatch_io_close - * Close the specified I/O channel to new read or write operations; scheduling - * operations on a closed channel results in their handler returning an error. - * - * If the DISPATCH_IO_STOP flag is provided, the system will make a best effort - * to interrupt any outstanding read and write operations on the I/O channel, - * otherwise those operations will run to completion normally. - * Partial results of read and write operations may be returned even after a - * channel is closed with the DISPATCH_IO_STOP flag. - * The final invocation of an I/O handler of an interrupted operation will be - * passed an ECANCELED error code, as will the I/O handler of an operation - * scheduled on a closed channel. - * - * @param channel The dispatch I/O channel to close. - * @param flags The flags for the close operation. - */ -API_AVAILABLE(macos(10.7), ios(5.0)) -DISPATCH_EXPORT DISPATCH_NONNULL1 DISPATCH_NOTHROW -void -dispatch_io_close(dispatch_io_t channel, dispatch_io_close_flags_t flags); - -#ifdef __BLOCKS__ -/*! - * @function dispatch_io_barrier - * Schedule a barrier operation on the specified I/O channel; all previously - * scheduled operations on the channel will complete before the provided - * barrier block is enqueued onto the global queue determined by the channel's - * target queue, and no subsequently scheduled operations will start until the - * barrier block has returned. - * - * If multiple channels are associated with the same file descriptor, a barrier - * operation scheduled on any of these channels will act as a barrier across all - * channels in question, i.e. all previously scheduled operations on any of the - * channels will complete before the barrier block is enqueued, and no - * operations subsequently scheduled on any of the channels will start until the - * barrier block has returned. - * - * While the barrier block is running, it may safely operate on the channel's - * underlying file descriptor with fsync(2), lseek(2) etc. (but not close(2)). - * - * @param channel The dispatch I/O channel to schedule the barrier on. - * @param barrier The barrier block. - */ -API_AVAILABLE(macos(10.7), ios(5.0)) -DISPATCH_EXPORT DISPATCH_NONNULL_ALL DISPATCH_NOTHROW -void -dispatch_io_barrier(dispatch_io_t channel, dispatch_block_t barrier); -#endif /* __BLOCKS__ */ - -/*! - * @function dispatch_io_get_descriptor - * Returns the file descriptor underlying a dispatch I/O channel. - * - * Will return -1 for a channel closed with dispatch_io_close() and for a - * channel associated with a path name that has not yet been open(2)ed. - * - * If called from a barrier block scheduled on a channel associated with a path - * name that has not yet been open(2)ed, this will trigger the channel open(2) - * operation and return the resulting file descriptor. - * - * @param channel The dispatch I/O channel to query. - * @result The file descriptor underlying the channel, or -1. - */ -API_AVAILABLE(macos(10.7), ios(5.0)) -DISPATCH_EXPORT DISPATCH_NONNULL_ALL DISPATCH_WARN_RESULT DISPATCH_NOTHROW -dispatch_fd_t -dispatch_io_get_descriptor(dispatch_io_t channel); - -/*! - * @function dispatch_io_set_high_water - * Set a high water mark on the I/O channel for all operations. - * - * The system will make a best effort to enqueue I/O handlers with partial - * results as soon the number of bytes processed by an operation (i.e. read or - * written) reaches the high water mark. - * - * The size of data objects passed to I/O handlers for this channel will never - * exceed the specified high water mark. - * - * The default value for the high water mark is unlimited (i.e. SIZE_MAX). - * - * @param channel The dispatch I/O channel on which to set the policy. - * @param high_water The number of bytes to use as a high water mark. - */ -API_AVAILABLE(macos(10.7), ios(5.0)) -DISPATCH_EXPORT DISPATCH_NONNULL1 DISPATCH_NOTHROW -void -dispatch_io_set_high_water(dispatch_io_t channel, size_t high_water); - -/*! - * @function dispatch_io_set_low_water - * Set a low water mark on the I/O channel for all operations. - * - * The system will process (i.e. read or write) at least the low water mark - * number of bytes for an operation before enqueueing I/O handlers with partial - * results. - * - * The size of data objects passed to intermediate I/O handler invocations for - * this channel (i.e. excluding the final invocation) will never be smaller than - * the specified low water mark, except if the channel has an interval with the - * DISPATCH_IO_STRICT_INTERVAL flag set or if EOF or an error was encountered. - * - * I/O handlers should be prepared to receive amounts of data significantly - * larger than the low water mark in general. If an I/O handler requires - * intermediate results of fixed size, set both the low and and the high water - * mark to that size. - * - * The default value for the low water mark is unspecified, but must be assumed - * to be such that intermediate handler invocations may occur. - * If I/O handler invocations with partial results are not desired, set the - * low water mark to SIZE_MAX. - * - * @param channel The dispatch I/O channel on which to set the policy. - * @param low_water The number of bytes to use as a low water mark. - */ -API_AVAILABLE(macos(10.7), ios(5.0)) -DISPATCH_EXPORT DISPATCH_NONNULL1 DISPATCH_NOTHROW -void -dispatch_io_set_low_water(dispatch_io_t channel, size_t low_water); - -/*! - * @typedef dispatch_io_interval_flags_t - * Type of flags to set on dispatch_io_set_interval() - * - * @const DISPATCH_IO_STRICT_INTERVAL Enqueue I/O handlers at a channel's - * interval setting even if the amount of data ready to be delivered is inferior - * to the low water mark (or zero). - */ -#define DISPATCH_IO_STRICT_INTERVAL 0x1 - -typedef unsigned long dispatch_io_interval_flags_t; - -/*! - * @function dispatch_io_set_interval - * Set a nanosecond interval at which I/O handlers are to be enqueued on the - * I/O channel for all operations. - * - * This allows an application to receive periodic feedback on the progress of - * read and write operations, e.g. for the purposes of displaying progress bars. - * - * If the amount of data ready to be delivered to an I/O handler at the interval - * is inferior to the channel low water mark, the handler will only be enqueued - * if the DISPATCH_IO_STRICT_INTERVAL flag is set. - * - * Note that the system may defer enqueueing interval I/O handlers by a small - * unspecified amount of leeway in order to align with other system activity for - * improved system performance or power consumption. - * - * @param channel The dispatch I/O channel on which to set the policy. - * @param interval The interval in nanoseconds at which delivery of the I/O - * handler is desired. - * @param flags Flags indicating desired data delivery behavior at - * interval time. - */ -API_AVAILABLE(macos(10.7), ios(5.0)) -DISPATCH_EXPORT DISPATCH_NONNULL1 DISPATCH_NOTHROW -void -dispatch_io_set_interval(dispatch_io_t channel, - uint64_t interval, - dispatch_io_interval_flags_t flags); - -__END_DECLS - -DISPATCH_ASSUME_ABI_SINGLE_END -DISPATCH_ASSUME_NONNULL_END - -#endif /* __DISPATCH_IO__ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.13-any/dispatch/object.h b/lib/libc/include/any-macos.13-any/dispatch/object.h deleted file mode 100644 index a38fc4be64..0000000000 --- a/lib/libc/include/any-macos.13-any/dispatch/object.h +++ /dev/null @@ -1,610 +0,0 @@ -/* - * Copyright (c) 2008-2012 Apple Inc. All rights reserved. - * - * @APPLE_APACHE_LICENSE_HEADER_START@ - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * @APPLE_APACHE_LICENSE_HEADER_END@ - */ - -#ifndef __DISPATCH_OBJECT__ -#define __DISPATCH_OBJECT__ - -#ifndef __DISPATCH_INDIRECT__ -#error "Please #include instead of this file directly." -#include // for HeaderDoc -#endif - -#if __has_include() -#include -#endif - -DISPATCH_ASSUME_NONNULL_BEGIN -DISPATCH_ASSUME_ABI_SINGLE_BEGIN - -/*! - * @typedef dispatch_object_t - * - * @abstract - * Abstract base type for all dispatch objects. - * The details of the type definition are language-specific. - * - * @discussion - * Dispatch objects are reference counted via calls to dispatch_retain() and - * dispatch_release(). - */ - -#if OS_OBJECT_USE_OBJC -/* - * By default, dispatch objects are declared as Objective-C types when building - * with an Objective-C compiler. This allows them to participate in ARC, in RR - * management by the Blocks runtime and in leaks checking by the static - * analyzer, and enables them to be added to Cocoa collections. - * See for details. - */ -OS_OBJECT_DECL_CLASS(dispatch_object); - -#if OS_OBJECT_SWIFT3 -#define DISPATCH_DECL(name) OS_OBJECT_DECL_SUBCLASS_SWIFT(name, dispatch_object) -#define DISPATCH_DECL_SUBCLASS(name, base) OS_OBJECT_DECL_SUBCLASS_SWIFT(name, base) -#else // OS_OBJECT_SWIFT3 -#define DISPATCH_DECL(name) OS_OBJECT_DECL_SUBCLASS(name, dispatch_object) -#define DISPATCH_DECL_SUBCLASS(name, base) OS_OBJECT_DECL_SUBCLASS(name, base) - -DISPATCH_INLINE DISPATCH_ALWAYS_INLINE DISPATCH_NONNULL_ALL DISPATCH_NOTHROW -void -_dispatch_object_validate(dispatch_object_t object) -{ - void *isa = *(void *volatile*)(OS_OBJECT_BRIDGE void*)object; - (void)isa; -} -#endif // OS_OBJECT_SWIFT3 - -#define DISPATCH_GLOBAL_OBJECT(type, object) ((OS_OBJECT_BRIDGE type)&(object)) -#define DISPATCH_RETURNS_RETAINED OS_OBJECT_RETURNS_RETAINED -#elif defined(__cplusplus) && !defined(__DISPATCH_BUILDING_DISPATCH__) -/* - * Dispatch objects are NOT C++ objects. Nevertheless, we can at least keep C++ - * aware of type compatibility. - */ -typedef struct dispatch_object_s { -private: - dispatch_object_s(); - ~dispatch_object_s(); - dispatch_object_s(const dispatch_object_s &); - void operator=(const dispatch_object_s &); -} *dispatch_object_t; -#define DISPATCH_DECL(name) \ - typedef struct name##_s : public dispatch_object_s {} *name##_t -#define DISPATCH_DECL_SUBCLASS(name, base) \ - typedef struct name##_s : public base##_s {} *name##_t -#define DISPATCH_GLOBAL_OBJECT(type, object) (static_cast(&(object))) -#define DISPATCH_RETURNS_RETAINED -#else /* Plain C */ -typedef union { - struct _os_object_s *_os_obj; - struct dispatch_object_s *_do; - struct dispatch_queue_s *_dq; - struct dispatch_queue_attr_s *_dqa; - struct dispatch_group_s *_dg; - struct dispatch_source_s *_ds; - struct dispatch_channel_s *_dch; - struct dispatch_mach_s *_dm; - struct dispatch_mach_msg_s *_dmsg; - struct dispatch_semaphore_s *_dsema; - struct dispatch_data_s *_ddata; - struct dispatch_io_s *_dchannel; -} dispatch_object_t DISPATCH_TRANSPARENT_UNION; -#define DISPATCH_DECL(name) typedef struct name##_s *name##_t -#define DISPATCH_DECL_SUBCLASS(name, base) typedef base##_t name##_t -#define DISPATCH_GLOBAL_OBJECT(type, object) ((type)&(object)) -#define DISPATCH_RETURNS_RETAINED -#endif - -#if OS_OBJECT_SWIFT3 && OS_OBJECT_USE_OBJC -#define DISPATCH_SOURCE_TYPE_DECL(name) \ - DISPATCH_EXPORT struct dispatch_source_type_s \ - _dispatch_source_type_##name; \ - OS_OBJECT_DECL_PROTOCOL(dispatch_source_##name, ); \ - OS_OBJECT_CLASS_IMPLEMENTS_PROTOCOL( \ - dispatch_source, dispatch_source_##name) -#define DISPATCH_SOURCE_DECL(name) \ - DISPATCH_DECL(name); \ - OS_OBJECT_DECL_PROTOCOL(name, ); \ - OS_OBJECT_CLASS_IMPLEMENTS_PROTOCOL(name, name) -#ifndef DISPATCH_DATA_DECL -#define DISPATCH_DATA_DECL(name) OS_OBJECT_DECL_SWIFT(name) -#endif // DISPATCH_DATA_DECL -#else -#define DISPATCH_SOURCE_DECL(name) \ - DISPATCH_DECL(name); -#define DISPATCH_DATA_DECL(name) DISPATCH_DECL(name) -#define DISPATCH_SOURCE_TYPE_DECL(name) \ - DISPATCH_EXPORT const struct dispatch_source_type_s \ - _dispatch_source_type_##name -#endif - -#ifdef __BLOCKS__ -/*! - * @typedef dispatch_block_t - * - * @abstract - * The type of blocks submitted to dispatch queues, which take no arguments - * and have no return value. - * - * @discussion - * When not building with Objective-C ARC, a block object allocated on or - * copied to the heap must be released with a -[release] message or the - * Block_release() function. - * - * The declaration of a block literal allocates storage on the stack. - * Therefore, this is an invalid construct: - * - * dispatch_block_t block; - * if (x) { - * block = ^{ printf("true\n"); }; - * } else { - * block = ^{ printf("false\n"); }; - * } - * block(); // unsafe!!! - * - * - * What is happening behind the scenes: - * - * if (x) { - * struct Block __tmp_1 = ...; // setup details - * block = &__tmp_1; - * } else { - * struct Block __tmp_2 = ...; // setup details - * block = &__tmp_2; - * } - * - * - * As the example demonstrates, the address of a stack variable is escaping the - * scope in which it is allocated. That is a classic C bug. - * - * Instead, the block literal must be copied to the heap with the Block_copy() - * function or by sending it a -[copy] message. - */ -typedef void (^dispatch_block_t)(void); -#endif // __BLOCKS__ - -__BEGIN_DECLS - -/*! - * @typedef dispatch_qos_class_t - * Alias for qos_class_t type. - */ -#if __has_include() -typedef qos_class_t dispatch_qos_class_t; -#else -typedef unsigned int dispatch_qos_class_t; -#endif - -/*! - * @function dispatch_retain - * - * @abstract - * Increment the reference count of a dispatch object. - * - * @discussion - * Calls to dispatch_retain() must be balanced with calls to - * dispatch_release(). - * - * @param object - * The object to retain. - * The result of passing NULL in this parameter is undefined. - */ -API_AVAILABLE(macos(10.6), ios(4.0)) -DISPATCH_EXPORT DISPATCH_NONNULL_ALL DISPATCH_NOTHROW -DISPATCH_SWIFT_UNAVAILABLE("Can't be used with ARC") -void -dispatch_retain(dispatch_object_t object); -#if OS_OBJECT_USE_OBJC_RETAIN_RELEASE -#undef dispatch_retain -#define dispatch_retain(object) \ - __extension__({ dispatch_object_t _o = (object); \ - _dispatch_object_validate(_o); (void)[_o retain]; }) -#endif - -/*! - * @function dispatch_release - * - * @abstract - * Decrement the reference count of a dispatch object. - * - * @discussion - * A dispatch object is asynchronously deallocated once all references are - * released (i.e. the reference count becomes zero). The system does not - * guarantee that a given client is the last or only reference to a given - * object. - * - * @param object - * The object to release. - * The result of passing NULL in this parameter is undefined. - */ -API_AVAILABLE(macos(10.6), ios(4.0)) -DISPATCH_EXPORT DISPATCH_NONNULL_ALL DISPATCH_NOTHROW -DISPATCH_SWIFT_UNAVAILABLE("Can't be used with ARC") -void -dispatch_release(dispatch_object_t object); -#if OS_OBJECT_USE_OBJC_RETAIN_RELEASE -#undef dispatch_release -#define dispatch_release(object) \ - __extension__({ dispatch_object_t _o = (object); \ - _dispatch_object_validate(_o); [_o release]; }) -#endif - -/*! - * @function dispatch_get_context - * - * @abstract - * Returns the application defined context of the object. - * - * @param object - * The result of passing NULL in this parameter is undefined. - * - * @result - * The context of the object; may be NULL. - */ -API_AVAILABLE(macos(10.6), ios(4.0)) -DISPATCH_EXPORT DISPATCH_NONNULL_ALL DISPATCH_PURE DISPATCH_WARN_RESULT -DISPATCH_NOTHROW -void *_Nullable -dispatch_get_context(dispatch_object_t object); - -/*! - * @function dispatch_set_context - * - * @abstract - * Associates an application defined context with the object. - * - * @param object - * The result of passing NULL in this parameter is undefined. - * - * @param context - * The new client defined context for the object. This may be NULL. - * - */ -API_AVAILABLE(macos(10.6), ios(4.0)) -DISPATCH_EXPORT DISPATCH_NOTHROW -void -dispatch_set_context(dispatch_object_t object, void *_Nullable context); - -/*! - * @function dispatch_set_finalizer_f - * - * @abstract - * Set the finalizer function for a dispatch object. - * - * @param object - * The dispatch object to modify. - * The result of passing NULL in this parameter is undefined. - * - * @param finalizer - * The finalizer function pointer. - * - * @discussion - * A dispatch object's finalizer will be invoked on the object's target queue - * after all references to the object have been released. This finalizer may be - * used by the application to release any resources associated with the object, - * such as freeing the object's context. - * The context parameter passed to the finalizer function is the current - * context of the dispatch object at the time the finalizer call is made. - */ -API_AVAILABLE(macos(10.6), ios(4.0)) -DISPATCH_EXPORT DISPATCH_NOTHROW -void -dispatch_set_finalizer_f(dispatch_object_t object, - dispatch_function_t _Nullable finalizer); - -/*! - * @function dispatch_activate - * - * @abstract - * Activates the specified dispatch object. - * - * @discussion - * Dispatch objects such as queues and sources may be created in an inactive - * state. Objects in this state have to be activated before any blocks - * associated with them will be invoked. - * - * The target queue of inactive objects can be changed using - * dispatch_set_target_queue(). Change of target queue is no longer permitted - * once an initially inactive object has been activated. - * - * Calling dispatch_activate() on an active object has no effect. - * Releasing the last reference count on an inactive object is undefined. - * - * @param object - * The object to be activated. - * The result of passing NULL in this parameter is undefined. - */ -API_AVAILABLE(macos(10.12), ios(10.0), tvos(10.0), watchos(3.0)) -DISPATCH_EXPORT DISPATCH_NONNULL_ALL DISPATCH_NOTHROW -void -dispatch_activate(dispatch_object_t object); - -/*! - * @function dispatch_suspend - * - * @abstract - * Suspends the invocation of blocks on a dispatch object. - * - * @discussion - * A suspended object will not invoke any blocks associated with it. The - * suspension of an object will occur after any running block associated with - * the object completes. - * - * Calls to dispatch_suspend() must be balanced with calls - * to dispatch_resume(). - * - * @param object - * The object to be suspended. - * The result of passing NULL in this parameter is undefined. - */ -API_AVAILABLE(macos(10.6), ios(4.0)) -DISPATCH_EXPORT DISPATCH_NONNULL_ALL DISPATCH_NOTHROW -void -dispatch_suspend(dispatch_object_t object); - -/*! - * @function dispatch_resume - * - * @abstract - * Resumes the invocation of blocks on a dispatch object. - * - * @discussion - * Dispatch objects can be suspended with dispatch_suspend(), which increments - * an internal suspension count. dispatch_resume() is the inverse operation, - * and consumes suspension counts. When the last suspension count is consumed, - * blocks associated with the object will be invoked again. - * - * For backward compatibility reasons, dispatch_resume() on an inactive and not - * otherwise suspended dispatch source object has the same effect as calling - * dispatch_activate(). For new code, using dispatch_activate() is preferred. - * - * If the specified object has zero suspension count and is not an inactive - * source, this function will result in an assertion and the process being - * terminated. - * - * @param object - * The object to be resumed. - * The result of passing NULL in this parameter is undefined. - */ -API_AVAILABLE(macos(10.6), ios(4.0)) -DISPATCH_EXPORT DISPATCH_NONNULL_ALL DISPATCH_NOTHROW -void -dispatch_resume(dispatch_object_t object); - -/*! - * @function dispatch_set_qos_class_floor - * - * @abstract - * Sets the QOS class floor on a dispatch queue, source or workloop. - * - * @discussion - * The QOS class of workitems submitted to this object asynchronously will be - * elevated to at least the specified QOS class floor. The QOS of the workitem - * will be used if higher than the floor even when the workitem has been created - * without "ENFORCE" semantics. - * - * Setting the QOS class floor is equivalent to the QOS effects of configuring - * a queue whose target queue has a QoS class set to the same value. - * - * @param object - * A dispatch queue, workloop, or source to configure. - * The object must be inactive. - * - * Passing another object type or an object that has been activated is undefined - * and will cause the process to be terminated. - * - * @param qos_class - * A QOS class value: - * - QOS_CLASS_USER_INTERACTIVE - * - QOS_CLASS_USER_INITIATED - * - QOS_CLASS_DEFAULT - * - QOS_CLASS_UTILITY - * - QOS_CLASS_BACKGROUND - * Passing any other value is undefined. - * - * @param relative_priority - * A relative priority within the QOS class. This value is a negative - * offset from the maximum supported scheduler priority for the given class. - * Passing a value greater than zero or less than QOS_MIN_RELATIVE_PRIORITY - * is undefined. - */ -API_AVAILABLE(macos(10.14), ios(12.0), tvos(12.0), watchos(5.0)) -DISPATCH_EXPORT DISPATCH_NOTHROW -void -dispatch_set_qos_class_floor(dispatch_object_t object, - dispatch_qos_class_t qos_class, int relative_priority); - -#ifdef __BLOCKS__ -/*! - * @function dispatch_wait - * - * @abstract - * Wait synchronously for an object or until the specified timeout has elapsed. - * - * @discussion - * Type-generic macro that maps to dispatch_block_wait, dispatch_group_wait or - * dispatch_semaphore_wait, depending on the type of the first argument. - * See documentation for these functions for more details. - * This function is unavailable for any other object type. - * - * @param object - * The object to wait on. - * The result of passing NULL in this parameter is undefined. - * - * @param timeout - * When to timeout (see dispatch_time). As a convenience, there are the - * DISPATCH_TIME_NOW and DISPATCH_TIME_FOREVER constants. - * - * @result - * Returns zero on success or non-zero on error (i.e. timed out). - */ -DISPATCH_UNAVAILABLE -DISPATCH_EXPORT DISPATCH_NONNULL1 DISPATCH_NOTHROW -intptr_t -dispatch_wait(void *object, dispatch_time_t timeout); -#if __has_extension(c_generic_selections) -#define dispatch_wait(object, timeout) \ - _Generic((object), \ - dispatch_block_t:dispatch_block_wait, \ - dispatch_group_t:dispatch_group_wait, \ - dispatch_semaphore_t:dispatch_semaphore_wait \ - )((object),(timeout)) -#endif - -/*! - * @function dispatch_notify - * - * @abstract - * Schedule a notification block to be submitted to a queue when the execution - * of a specified object has completed. - * - * @discussion - * Type-generic macro that maps to dispatch_block_notify or - * dispatch_group_notify, depending on the type of the first argument. - * See documentation for these functions for more details. - * This function is unavailable for any other object type. - * - * @param object - * The object to observe. - * The result of passing NULL in this parameter is undefined. - * - * @param queue - * The queue to which the supplied notification block will be submitted when - * the observed object completes. - * - * @param notification_block - * The block to submit when the observed object completes. - */ -DISPATCH_UNAVAILABLE -DISPATCH_EXPORT DISPATCH_NONNULL_ALL DISPATCH_NOTHROW -void -dispatch_notify(void *object, dispatch_object_t queue, - dispatch_block_t notification_block); -#if __has_extension(c_generic_selections) -#define dispatch_notify(object, queue, notification_block) \ - _Generic((object), \ - dispatch_block_t:dispatch_block_notify, \ - dispatch_group_t:dispatch_group_notify \ - )((object),(queue), (notification_block)) -#endif - -/*! - * @function dispatch_cancel - * - * @abstract - * Cancel the specified object. - * - * @discussion - * Type-generic macro that maps to dispatch_block_cancel or - * dispatch_source_cancel, depending on the type of the first argument. - * See documentation for these functions for more details. - * This function is unavailable for any other object type. - * - * @param object - * The object to cancel. - * The result of passing NULL in this parameter is undefined. - */ -DISPATCH_UNAVAILABLE -DISPATCH_EXPORT DISPATCH_NONNULL_ALL DISPATCH_NOTHROW -void -dispatch_cancel(void *object); -#if __has_extension(c_generic_selections) -#define dispatch_cancel(object) \ - _Generic((object), \ - dispatch_block_t:dispatch_block_cancel, \ - dispatch_source_t:dispatch_source_cancel \ - )((object)) -#endif - -/*! - * @function dispatch_testcancel - * - * @abstract - * Test whether the specified object has been canceled - * - * @discussion - * Type-generic macro that maps to dispatch_block_testcancel or - * dispatch_source_testcancel, depending on the type of the first argument. - * See documentation for these functions for more details. - * This function is unavailable for any other object type. - * - * @param object - * The object to test. - * The result of passing NULL in this parameter is undefined. - * - * @result - * Non-zero if canceled and zero if not canceled. - */ -DISPATCH_UNAVAILABLE -DISPATCH_EXPORT DISPATCH_NONNULL_ALL DISPATCH_WARN_RESULT DISPATCH_PURE -DISPATCH_NOTHROW -intptr_t -dispatch_testcancel(void *object); -#if __has_extension(c_generic_selections) -#define dispatch_testcancel(object) \ - _Generic((object), \ - dispatch_block_t:dispatch_block_testcancel, \ - dispatch_source_t:dispatch_source_testcancel \ - )((object)) -#endif -#endif // __BLOCKS__ - -/*! - * @function dispatch_debug - * - * @abstract - * Programmatically log debug information about a dispatch object. - * - * @discussion - * Programmatically log debug information about a dispatch object. By default, - * the log output is sent to syslog at notice level. In the debug version of - * the library, the log output is sent to a file in /var/tmp. - * The log output destination can be configured via the LIBDISPATCH_LOG - * environment variable, valid values are: YES, NO, syslog, stderr, file. - * - * This function is deprecated and will be removed in a future release. - * Objective-C callers may use -debugDescription instead. - * - * @param object - * The object to introspect. - * - * @param message - * The message to log above and beyond the introspection. - */ -API_DEPRECATED("unsupported interface", macos(10.6,10.9), ios(4.0,6.0)) -DISPATCH_EXPORT DISPATCH_NONNULL2 DISPATCH_NOTHROW DISPATCH_COLD -__attribute__((__format__(printf,2,3))) -void -dispatch_debug(dispatch_object_t object, - const char *DISPATCH_UNSAFE_INDEXABLE message, ...); - -API_DEPRECATED("unsupported interface", macos(10.6,10.9), ios(4.0,6.0)) -DISPATCH_EXPORT DISPATCH_NONNULL2 DISPATCH_NOTHROW DISPATCH_COLD -__attribute__((__format__(printf,2,0))) -void -dispatch_debugv(dispatch_object_t object, - const char *DISPATCH_UNSAFE_INDEXABLE message, va_list ap); - -__END_DECLS - -DISPATCH_ASSUME_ABI_SINGLE_END -DISPATCH_ASSUME_NONNULL_END - -#endif \ No newline at end of file diff --git a/lib/libc/include/any-macos.13-any/dispatch/once.h b/lib/libc/include/any-macos.13-any/dispatch/once.h deleted file mode 100644 index 2792f902d5..0000000000 --- a/lib/libc/include/any-macos.13-any/dispatch/once.h +++ /dev/null @@ -1,127 +0,0 @@ -/* - * Copyright (c) 2008-2010 Apple Inc. All rights reserved. - * - * @APPLE_APACHE_LICENSE_HEADER_START@ - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * @APPLE_APACHE_LICENSE_HEADER_END@ - */ - -#ifndef __DISPATCH_ONCE__ -#define __DISPATCH_ONCE__ - -#ifndef __DISPATCH_INDIRECT__ -#error "Please #include instead of this file directly." -#include // for HeaderDoc -#endif - -DISPATCH_ASSUME_NONNULL_BEGIN -DISPATCH_ASSUME_ABI_SINGLE_BEGIN - -__BEGIN_DECLS - -/*! - * @typedef dispatch_once_t - * - * @abstract - * A predicate for use with dispatch_once(). It must be initialized to zero. - * Note: static and global variables default to zero. - */ -DISPATCH_SWIFT3_UNAVAILABLE("Use lazily initialized globals instead") -typedef intptr_t dispatch_once_t; - -#if defined(__x86_64__) || defined(__i386__) || defined(__s390x__) -#define DISPATCH_ONCE_INLINE_FASTPATH 1 -#elif defined(__APPLE__) -#define DISPATCH_ONCE_INLINE_FASTPATH 1 -#else -#define DISPATCH_ONCE_INLINE_FASTPATH 0 -#endif - -/*! - * @function dispatch_once - * - * @abstract - * Execute a block once and only once. - * - * @param predicate - * A pointer to a dispatch_once_t that is used to test whether the block has - * completed or not. - * - * @param block - * The block to execute once. - * - * @discussion - * Always call dispatch_once() before using or testing any variables that are - * initialized by the block. - */ -#ifdef __BLOCKS__ -API_AVAILABLE(macos(10.6), ios(4.0)) -DISPATCH_EXPORT DISPATCH_NONNULL_ALL DISPATCH_NOTHROW -DISPATCH_SWIFT3_UNAVAILABLE("Use lazily initialized globals instead") -void -dispatch_once(dispatch_once_t *predicate, - DISPATCH_NOESCAPE dispatch_block_t block); - -#if DISPATCH_ONCE_INLINE_FASTPATH -DISPATCH_INLINE DISPATCH_ALWAYS_INLINE DISPATCH_NONNULL_ALL DISPATCH_NOTHROW -DISPATCH_SWIFT3_UNAVAILABLE("Use lazily initialized globals instead") -void -_dispatch_once(dispatch_once_t *predicate, - DISPATCH_NOESCAPE dispatch_block_t block) -{ - if (DISPATCH_EXPECT(*predicate, ~0l) != ~0l) { - dispatch_once(predicate, block); - } else { - dispatch_compiler_barrier(); - } - DISPATCH_COMPILER_CAN_ASSUME(*predicate == ~0l); -} -#undef dispatch_once -#define dispatch_once _dispatch_once -#endif -#endif // DISPATCH_ONCE_INLINE_FASTPATH - -API_AVAILABLE(macos(10.6), ios(4.0)) -DISPATCH_EXPORT DISPATCH_NONNULL1 DISPATCH_NONNULL3 DISPATCH_NOTHROW -DISPATCH_SWIFT3_UNAVAILABLE("Use lazily initialized globals instead") -void -dispatch_once_f(dispatch_once_t *predicate, void *_Nullable context, - dispatch_function_t function); - -#if DISPATCH_ONCE_INLINE_FASTPATH -DISPATCH_INLINE DISPATCH_ALWAYS_INLINE DISPATCH_NONNULL1 DISPATCH_NONNULL3 -DISPATCH_NOTHROW -DISPATCH_SWIFT3_UNAVAILABLE("Use lazily initialized globals instead") -void -_dispatch_once_f(dispatch_once_t *predicate, void *_Nullable context, - dispatch_function_t function) -{ - if (DISPATCH_EXPECT(*predicate, ~0l) != ~0l) { - dispatch_once_f(predicate, context, function); - } else { - dispatch_compiler_barrier(); - } - DISPATCH_COMPILER_CAN_ASSUME(*predicate == ~0l); -} -#undef dispatch_once_f -#define dispatch_once_f _dispatch_once_f -#endif // DISPATCH_ONCE_INLINE_FASTPATH - -__END_DECLS - -DISPATCH_ASSUME_ABI_SINGLE_END -DISPATCH_ASSUME_NONNULL_END - -#endif \ No newline at end of file diff --git a/lib/libc/include/any-macos.13-any/dispatch/semaphore.h b/lib/libc/include/any-macos.13-any/dispatch/semaphore.h deleted file mode 100644 index 5de07ba80e..0000000000 --- a/lib/libc/include/any-macos.13-any/dispatch/semaphore.h +++ /dev/null @@ -1,121 +0,0 @@ -/* - * Copyright (c) 2008-2013 Apple Inc. All rights reserved. - * - * @APPLE_APACHE_LICENSE_HEADER_START@ - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * @APPLE_APACHE_LICENSE_HEADER_END@ - */ - -#ifndef __DISPATCH_SEMAPHORE__ -#define __DISPATCH_SEMAPHORE__ - -#ifndef __DISPATCH_INDIRECT__ -#error "Please #include instead of this file directly." -#include // for HeaderDoc -#endif - -DISPATCH_ASSUME_NONNULL_BEGIN -DISPATCH_ASSUME_ABI_SINGLE_BEGIN - -/*! - * @typedef dispatch_semaphore_t - * - * @abstract - * A counting semaphore. - */ -DISPATCH_DECL(dispatch_semaphore); - -__BEGIN_DECLS - -/*! - * @function dispatch_semaphore_create - * - * @abstract - * Creates new counting semaphore with an initial value. - * - * @discussion - * Passing zero for the value is useful for when two threads need to reconcile - * the completion of a particular event. Passing a value greater than zero is - * useful for managing a finite pool of resources, where the pool size is equal - * to the value. - * - * @param value - * The starting value for the semaphore. Passing a value less than zero will - * cause NULL to be returned. - * - * @result - * The newly created semaphore, or NULL on failure. - */ -API_AVAILABLE(macos(10.6), ios(4.0)) -DISPATCH_EXPORT DISPATCH_MALLOC DISPATCH_RETURNS_RETAINED DISPATCH_WARN_RESULT -DISPATCH_NOTHROW -dispatch_semaphore_t -dispatch_semaphore_create(intptr_t value); - -/*! - * @function dispatch_semaphore_wait - * - * @abstract - * Wait (decrement) for a semaphore. - * - * @discussion - * Decrement the counting semaphore. If the resulting value is less than zero, - * this function waits for a signal to occur before returning. If the timeout is - * reached without a signal being received, the semaphore is re-incremented - * before the function returns. - * - * @param dsema - * The semaphore. The result of passing NULL in this parameter is undefined. - * - * @param timeout - * When to timeout (see dispatch_time). As a convenience, there are the - * DISPATCH_TIME_NOW and DISPATCH_TIME_FOREVER constants. - * - * @result - * Returns zero on success, or non-zero if the timeout occurred. - */ -API_AVAILABLE(macos(10.6), ios(4.0)) -DISPATCH_EXPORT DISPATCH_NONNULL_ALL DISPATCH_NOTHROW -intptr_t -dispatch_semaphore_wait(dispatch_semaphore_t dsema, dispatch_time_t timeout); - -/*! - * @function dispatch_semaphore_signal - * - * @abstract - * Signal (increment) a semaphore. - * - * @discussion - * Increment the counting semaphore. If the previous value was less than zero, - * this function wakes a waiting thread before returning. - * - * @param dsema The counting semaphore. - * The result of passing NULL in this parameter is undefined. - * - * @result - * This function returns non-zero if a thread is woken. Otherwise, zero is - * returned. - */ -API_AVAILABLE(macos(10.6), ios(4.0)) -DISPATCH_EXPORT DISPATCH_NONNULL_ALL DISPATCH_NOTHROW -intptr_t -dispatch_semaphore_signal(dispatch_semaphore_t dsema); - -__END_DECLS - -DISPATCH_ASSUME_ABI_SINGLE_END -DISPATCH_ASSUME_NONNULL_END - -#endif /* __DISPATCH_SEMAPHORE__ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.13-any/dispatch/source.h b/lib/libc/include/any-macos.13-any/dispatch/source.h deleted file mode 100644 index d49817c38e..0000000000 --- a/lib/libc/include/any-macos.13-any/dispatch/source.h +++ /dev/null @@ -1,782 +0,0 @@ -/* - * Copyright (c) 2008-2013 Apple Inc. All rights reserved. - * - * @APPLE_APACHE_LICENSE_HEADER_START@ - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * @APPLE_APACHE_LICENSE_HEADER_END@ - */ - -#ifndef __DISPATCH_SOURCE__ -#define __DISPATCH_SOURCE__ - -#ifndef __DISPATCH_INDIRECT__ -#error "Please #include instead of this file directly." -#include // for HeaderDoc -#endif - -#if TARGET_OS_MAC -#include -#include -#endif - -#if !defined(_WIN32) -#include -#endif - -DISPATCH_ASSUME_NONNULL_BEGIN -DISPATCH_ASSUME_ABI_SINGLE_BEGIN - -/*! - * @header - * The dispatch framework provides a suite of interfaces for monitoring low- - * level system objects (file descriptors, Mach ports, signals, VFS nodes, etc.) - * for activity and automatically submitting event handler blocks to dispatch - * queues when such activity occurs. - * - * This suite of interfaces is known as the Dispatch Source API. - */ - -/*! - * @typedef dispatch_source_t - * - * @abstract - * Dispatch sources are used to automatically submit event handler blocks to - * dispatch queues in response to external events. - */ -DISPATCH_SOURCE_DECL(dispatch_source); - -__BEGIN_DECLS - -/*! - * @typedef dispatch_source_type_t - * - * @abstract - * Constants of this type represent the class of low-level system object that - * is being monitored by the dispatch source. Constants of this type are - * passed as a parameter to dispatch_source_create() and determine how the - * handle argument is interpreted (i.e. as a file descriptor, mach port, - * signal number, process identifier, etc.), and how the mask argument is - * interpreted. - */ -typedef const struct dispatch_source_type_s *dispatch_source_type_t; - -/*! - * @const DISPATCH_SOURCE_TYPE_DATA_ADD - * @discussion A dispatch source that coalesces data obtained via calls to - * dispatch_source_merge_data(). An ADD is used to coalesce the data. - * The handle is unused (pass zero for now). - * The mask is unused (pass zero for now). - */ -#define DISPATCH_SOURCE_TYPE_DATA_ADD (&_dispatch_source_type_data_add) -API_AVAILABLE(macos(10.6), ios(4.0)) -DISPATCH_SOURCE_TYPE_DECL(data_add); - -/*! - * @const DISPATCH_SOURCE_TYPE_DATA_OR - * @discussion A dispatch source that coalesces data obtained via calls to - * dispatch_source_merge_data(). A bitwise OR is used to coalesce the data. - * The handle is unused (pass zero for now). - * The mask is unused (pass zero for now). - */ -#define DISPATCH_SOURCE_TYPE_DATA_OR (&_dispatch_source_type_data_or) -API_AVAILABLE(macos(10.6), ios(4.0)) -DISPATCH_SOURCE_TYPE_DECL(data_or); - -/*! - * @const DISPATCH_SOURCE_TYPE_DATA_REPLACE - * @discussion A dispatch source that tracks data obtained via calls to - * dispatch_source_merge_data(). Newly obtained data values replace existing - * data values not yet delivered to the source handler - * - * A data value of zero will cause the source handler to not be invoked. - * - * The handle is unused (pass zero for now). - * The mask is unused (pass zero for now). - */ -#define DISPATCH_SOURCE_TYPE_DATA_REPLACE (&_dispatch_source_type_data_replace) -API_AVAILABLE(macos(10.13), ios(11.0), tvos(11.0), watchos(4.0)) -DISPATCH_SOURCE_TYPE_DECL(data_replace); - -/*! - * @const DISPATCH_SOURCE_TYPE_MACH_SEND - * @discussion A dispatch source that monitors a Mach port for dead name - * notifications (send right no longer has any corresponding receive right). - * The handle is a Mach port with a send or send-once right (mach_port_t). - * The mask is a mask of desired events from dispatch_source_mach_send_flags_t. - */ -#define DISPATCH_SOURCE_TYPE_MACH_SEND (&_dispatch_source_type_mach_send) -API_AVAILABLE(macos(10.6), ios(4.0)) DISPATCH_LINUX_UNAVAILABLE() -DISPATCH_SOURCE_TYPE_DECL(mach_send); - -/*! - * @const DISPATCH_SOURCE_TYPE_MACH_RECV - * @discussion A dispatch source that monitors a Mach port for pending messages. - * The handle is a Mach port with a receive right (mach_port_t). - * The mask is a mask of desired events from dispatch_source_mach_recv_flags_t, - * but no flags are currently defined (pass zero for now). - */ -#define DISPATCH_SOURCE_TYPE_MACH_RECV (&_dispatch_source_type_mach_recv) -API_AVAILABLE(macos(10.6), ios(4.0)) DISPATCH_LINUX_UNAVAILABLE() -DISPATCH_SOURCE_TYPE_DECL(mach_recv); - -/*! - * @const DISPATCH_SOURCE_TYPE_MEMORYPRESSURE - * @discussion A dispatch source that monitors the system for changes in - * memory pressure condition. - * The handle is unused (pass zero for now). - * The mask is a mask of desired events from - * dispatch_source_memorypressure_flags_t. - */ -#define DISPATCH_SOURCE_TYPE_MEMORYPRESSURE \ - (&_dispatch_source_type_memorypressure) -API_AVAILABLE(macos(10.9), ios(8.0)) DISPATCH_LINUX_UNAVAILABLE() -DISPATCH_SOURCE_TYPE_DECL(memorypressure); - -/*! - * @const DISPATCH_SOURCE_TYPE_PROC - * @discussion A dispatch source that monitors an external process for events - * defined by dispatch_source_proc_flags_t. - * The handle is a process identifier (pid_t). - * The mask is a mask of desired events from dispatch_source_proc_flags_t. - */ -#define DISPATCH_SOURCE_TYPE_PROC (&_dispatch_source_type_proc) -API_AVAILABLE(macos(10.6), ios(4.0)) DISPATCH_LINUX_UNAVAILABLE() -DISPATCH_SOURCE_TYPE_DECL(proc); - -/*! - * @const DISPATCH_SOURCE_TYPE_READ - * @discussion A dispatch source that monitors a file descriptor for pending - * bytes available to be read. - * The handle is a file descriptor (int). - * The mask is unused (pass zero for now). - */ -#define DISPATCH_SOURCE_TYPE_READ (&_dispatch_source_type_read) -API_AVAILABLE(macos(10.6), ios(4.0)) -DISPATCH_SOURCE_TYPE_DECL(read); - -/*! - * @const DISPATCH_SOURCE_TYPE_SIGNAL - * @discussion A dispatch source that monitors the current process for signals. - * The handle is a signal number (int). - * The mask is unused (pass zero for now). - */ -#define DISPATCH_SOURCE_TYPE_SIGNAL (&_dispatch_source_type_signal) -API_AVAILABLE(macos(10.6), ios(4.0)) -DISPATCH_SOURCE_TYPE_DECL(signal); - -/*! - * @const DISPATCH_SOURCE_TYPE_TIMER - * @discussion A dispatch source that submits the event handler block based - * on a timer. - * The handle is unused (pass zero for now). - * The mask specifies which flags from dispatch_source_timer_flags_t to apply. - */ -#define DISPATCH_SOURCE_TYPE_TIMER (&_dispatch_source_type_timer) -API_AVAILABLE(macos(10.6), ios(4.0)) -DISPATCH_SOURCE_TYPE_DECL(timer); - -/*! - * @const DISPATCH_SOURCE_TYPE_VNODE - * @discussion A dispatch source that monitors a file descriptor for events - * defined by dispatch_source_vnode_flags_t. - * The handle is a file descriptor (int). - * The mask is a mask of desired events from dispatch_source_vnode_flags_t. - */ -#define DISPATCH_SOURCE_TYPE_VNODE (&_dispatch_source_type_vnode) -API_AVAILABLE(macos(10.6), ios(4.0)) DISPATCH_LINUX_UNAVAILABLE() -DISPATCH_SOURCE_TYPE_DECL(vnode); - -/*! - * @const DISPATCH_SOURCE_TYPE_WRITE - * @discussion A dispatch source that monitors a file descriptor for available - * buffer space to write bytes. - * The handle is a file descriptor (int). - * The mask is unused (pass zero for now). - */ -#define DISPATCH_SOURCE_TYPE_WRITE (&_dispatch_source_type_write) -API_AVAILABLE(macos(10.6), ios(4.0)) -DISPATCH_SOURCE_TYPE_DECL(write); - -/*! - * @typedef dispatch_source_mach_send_flags_t - * Type of dispatch_source_mach_send flags - * - * @constant DISPATCH_MACH_SEND_DEAD - * The receive right corresponding to the given send right was destroyed. - */ -#define DISPATCH_MACH_SEND_DEAD 0x1 - -typedef unsigned long dispatch_source_mach_send_flags_t; - -/*! - * @typedef dispatch_source_mach_recv_flags_t - * Type of dispatch_source_mach_recv flags - */ -typedef unsigned long dispatch_source_mach_recv_flags_t; - -/*! - * @typedef dispatch_source_memorypressure_flags_t - * Type of dispatch_source_memorypressure flags - * - * @constant DISPATCH_MEMORYPRESSURE_NORMAL - * The system memory pressure condition has returned to normal. - * - * @constant DISPATCH_MEMORYPRESSURE_WARN - * The system memory pressure condition has changed to warning. - * - * @constant DISPATCH_MEMORYPRESSURE_CRITICAL - * The system memory pressure condition has changed to critical. - * - * @discussion - * Elevated memory pressure is a system-wide condition that applications - * registered for this source should react to by changing their future memory - * use behavior, e.g. by reducing cache sizes of newly initiated operations - * until memory pressure returns back to normal. - * NOTE: applications should NOT traverse and discard existing caches for past - * operations when the system memory pressure enters an elevated state, as that - * is likely to trigger VM operations that will further aggravate system memory - * pressure. - */ - -#define DISPATCH_MEMORYPRESSURE_NORMAL 0x01 -#define DISPATCH_MEMORYPRESSURE_WARN 0x02 -#define DISPATCH_MEMORYPRESSURE_CRITICAL 0x04 - -typedef unsigned long dispatch_source_memorypressure_flags_t; - -/*! - * @typedef dispatch_source_proc_flags_t - * Type of dispatch_source_proc flags - * - * @constant DISPATCH_PROC_EXIT - * The process has exited (perhaps cleanly, perhaps not). - * - * @constant DISPATCH_PROC_FORK - * The process has created one or more child processes. - * - * @constant DISPATCH_PROC_EXEC - * The process has become another executable image via - * exec*() or posix_spawn*(). - * - * @constant DISPATCH_PROC_SIGNAL - * A Unix signal was delivered to the process. - */ -#define DISPATCH_PROC_EXIT 0x80000000 -#define DISPATCH_PROC_FORK 0x40000000 -#define DISPATCH_PROC_EXEC 0x20000000 -#define DISPATCH_PROC_SIGNAL 0x08000000 - -typedef unsigned long dispatch_source_proc_flags_t; - -/*! - * @typedef dispatch_source_vnode_flags_t - * Type of dispatch_source_vnode flags - * - * @constant DISPATCH_VNODE_DELETE - * The filesystem object was deleted from the namespace. - * - * @constant DISPATCH_VNODE_WRITE - * The filesystem object data changed. - * - * @constant DISPATCH_VNODE_EXTEND - * The filesystem object changed in size. - * - * @constant DISPATCH_VNODE_ATTRIB - * The filesystem object metadata changed. - * - * @constant DISPATCH_VNODE_LINK - * The filesystem object link count changed. - * - * @constant DISPATCH_VNODE_RENAME - * The filesystem object was renamed in the namespace. - * - * @constant DISPATCH_VNODE_REVOKE - * The filesystem object was revoked. - * - * @constant DISPATCH_VNODE_FUNLOCK - * The filesystem object was unlocked. - */ - -#define DISPATCH_VNODE_DELETE 0x1 -#define DISPATCH_VNODE_WRITE 0x2 -#define DISPATCH_VNODE_EXTEND 0x4 -#define DISPATCH_VNODE_ATTRIB 0x8 -#define DISPATCH_VNODE_LINK 0x10 -#define DISPATCH_VNODE_RENAME 0x20 -#define DISPATCH_VNODE_REVOKE 0x40 -#define DISPATCH_VNODE_FUNLOCK 0x100 - -typedef unsigned long dispatch_source_vnode_flags_t; - -/*! - * @typedef dispatch_source_timer_flags_t - * Type of dispatch_source_timer flags - * - * @constant DISPATCH_TIMER_STRICT - * Specifies that the system should make a best effort to strictly observe the - * leeway value specified for the timer via dispatch_source_set_timer(), even - * if that value is smaller than the default leeway value that would be applied - * to the timer otherwise. A minimal amount of leeway will be applied to the - * timer even if this flag is specified. - * - * CAUTION: Use of this flag may override power-saving techniques employed by - * the system and cause higher power consumption, so it must be used with care - * and only when absolutely necessary. - */ - -#define DISPATCH_TIMER_STRICT 0x1 - -typedef unsigned long dispatch_source_timer_flags_t; - -/*! - * @function dispatch_source_create - * - * @abstract - * Creates a new dispatch source to monitor low-level system objects and auto- - * matically submit a handler block to a dispatch queue in response to events. - * - * @discussion - * Dispatch sources are not reentrant. Any events received while the dispatch - * source is suspended or while the event handler block is currently executing - * will be coalesced and delivered after the dispatch source is resumed or the - * event handler block has returned. - * - * Dispatch sources are created in an inactive state. After creating the - * source and setting any desired attributes (i.e. the handler, context, etc.), - * a call must be made to dispatch_activate() in order to begin event delivery. - * - * Calling dispatch_set_target_queue() on a source once it has been activated - * is not allowed (see dispatch_activate() and dispatch_set_target_queue()). - * - * For backward compatibility reasons, dispatch_resume() on an inactive, - * and not otherwise suspended source has the same effect as calling - * dispatch_activate(). For new code, using dispatch_activate() is preferred. - * - * @param type - * Declares the type of the dispatch source. Must be one of the defined - * dispatch_source_type_t constants. - * - * @param handle - * The underlying system handle to monitor. The interpretation of this argument - * is determined by the constant provided in the type parameter. - * - * @param mask - * A mask of flags specifying which events are desired. The interpretation of - * this argument is determined by the constant provided in the type parameter. - * - * @param queue - * The dispatch queue to which the event handler block will be submitted. - * If queue is DISPATCH_TARGET_QUEUE_DEFAULT, the source will submit the event - * handler block to the default priority global queue. - * - * @result - * The newly created dispatch source. Or NULL if invalid arguments are passed. - */ -API_AVAILABLE(macos(10.6), ios(4.0)) -DISPATCH_EXPORT DISPATCH_MALLOC DISPATCH_RETURNS_RETAINED DISPATCH_WARN_RESULT -DISPATCH_NOTHROW -dispatch_source_t -dispatch_source_create(dispatch_source_type_t type, - uintptr_t handle, - uintptr_t mask, - dispatch_queue_t _Nullable queue); - -/*! - * @function dispatch_source_set_event_handler - * - * @abstract - * Sets the event handler block for the given dispatch source. - * - * @param source - * The dispatch source to modify. - * The result of passing NULL in this parameter is undefined. - * - * @param handler - * The event handler block to submit to the source's target queue. - */ -#ifdef __BLOCKS__ -API_AVAILABLE(macos(10.6), ios(4.0)) -DISPATCH_EXPORT DISPATCH_NONNULL1 DISPATCH_NOTHROW -void -dispatch_source_set_event_handler(dispatch_source_t source, - dispatch_block_t _Nullable handler); -#endif /* __BLOCKS__ */ - -/*! - * @function dispatch_source_set_event_handler_f - * - * @abstract - * Sets the event handler function for the given dispatch source. - * - * @param source - * The dispatch source to modify. - * The result of passing NULL in this parameter is undefined. - * - * @param handler - * The event handler function to submit to the source's target queue. - * The context parameter passed to the event handler function is the context of - * the dispatch source current at the time the event handler was set. - */ -API_AVAILABLE(macos(10.6), ios(4.0)) -DISPATCH_EXPORT DISPATCH_NONNULL1 DISPATCH_NOTHROW -void -dispatch_source_set_event_handler_f(dispatch_source_t source, - dispatch_function_t _Nullable handler); - -/*! - * @function dispatch_source_set_cancel_handler - * - * @abstract - * Sets the cancellation handler block for the given dispatch source. - * - * @discussion - * The cancellation handler (if specified) will be submitted to the source's - * target queue in response to a call to dispatch_source_cancel() once the - * system has released all references to the source's underlying handle and - * the source's event handler block has returned. - * - * IMPORTANT: - * Source cancellation and a cancellation handler are required for file - * descriptor and mach port based sources in order to safely close the - * descriptor or destroy the port. - * Closing the descriptor or port before the cancellation handler is invoked may - * result in a race condition. If a new descriptor is allocated with the same - * value as the recently closed descriptor while the source's event handler is - * still running, the event handler may read/write data to the wrong descriptor. - * - * @param source - * The dispatch source to modify. - * The result of passing NULL in this parameter is undefined. - * - * @param handler - * The cancellation handler block to submit to the source's target queue. - */ -#ifdef __BLOCKS__ -API_AVAILABLE(macos(10.6), ios(4.0)) -DISPATCH_EXPORT DISPATCH_NONNULL1 DISPATCH_NOTHROW -void -dispatch_source_set_cancel_handler(dispatch_source_t source, - dispatch_block_t _Nullable handler); -#endif /* __BLOCKS__ */ - -/*! - * @function dispatch_source_set_cancel_handler_f - * - * @abstract - * Sets the cancellation handler function for the given dispatch source. - * - * @discussion - * See dispatch_source_set_cancel_handler() for more details. - * - * @param source - * The dispatch source to modify. - * The result of passing NULL in this parameter is undefined. - * - * @param handler - * The cancellation handler function to submit to the source's target queue. - * The context parameter passed to the event handler function is the current - * context of the dispatch source at the time the handler call is made. - */ -API_AVAILABLE(macos(10.6), ios(4.0)) -DISPATCH_EXPORT DISPATCH_NONNULL1 DISPATCH_NOTHROW -void -dispatch_source_set_cancel_handler_f(dispatch_source_t source, - dispatch_function_t _Nullable handler); - -/*! - * @function dispatch_source_cancel - * - * @abstract - * Asynchronously cancel the dispatch source, preventing any further invocation - * of its event handler block. - * - * @discussion - * Cancellation prevents any further invocation of the event handler block for - * the specified dispatch source, but does not interrupt an event handler - * block that is already in progress. - * - * The cancellation handler is submitted to the source's target queue once the - * the source's event handler has finished, indicating it is now safe to close - * the source's handle (i.e. file descriptor or mach port). - * - * See dispatch_source_set_cancel_handler() for more information. - * - * @param source - * The dispatch source to be canceled. - * The result of passing NULL in this parameter is undefined. - */ -API_AVAILABLE(macos(10.6), ios(4.0)) -DISPATCH_EXPORT DISPATCH_NONNULL_ALL DISPATCH_NOTHROW -void -dispatch_source_cancel(dispatch_source_t source); - -/*! - * @function dispatch_source_testcancel - * - * @abstract - * Tests whether the given dispatch source has been canceled. - * - * @param source - * The dispatch source to be tested. - * The result of passing NULL in this parameter is undefined. - * - * @result - * Non-zero if canceled and zero if not canceled. - */ -API_AVAILABLE(macos(10.6), ios(4.0)) -DISPATCH_EXPORT DISPATCH_NONNULL_ALL DISPATCH_WARN_RESULT DISPATCH_PURE -DISPATCH_NOTHROW -intptr_t -dispatch_source_testcancel(dispatch_source_t source); - -/*! - * @function dispatch_source_get_handle - * - * @abstract - * Returns the underlying system handle associated with this dispatch source. - * - * @param source - * The result of passing NULL in this parameter is undefined. - * - * @result - * The return value should be interpreted according to the type of the dispatch - * source, and may be one of the following handles: - * - * DISPATCH_SOURCE_TYPE_DATA_ADD: n/a - * DISPATCH_SOURCE_TYPE_DATA_OR: n/a - * DISPATCH_SOURCE_TYPE_DATA_REPLACE: n/a - * DISPATCH_SOURCE_TYPE_MACH_SEND: mach port (mach_port_t) - * DISPATCH_SOURCE_TYPE_MACH_RECV: mach port (mach_port_t) - * DISPATCH_SOURCE_TYPE_MEMORYPRESSURE n/a - * DISPATCH_SOURCE_TYPE_PROC: process identifier (pid_t) - * DISPATCH_SOURCE_TYPE_READ: file descriptor (int) - * DISPATCH_SOURCE_TYPE_SIGNAL: signal number (int) - * DISPATCH_SOURCE_TYPE_TIMER: n/a - * DISPATCH_SOURCE_TYPE_VNODE: file descriptor (int) - * DISPATCH_SOURCE_TYPE_WRITE: file descriptor (int) - */ -API_AVAILABLE(macos(10.6), ios(4.0)) -DISPATCH_EXPORT DISPATCH_NONNULL_ALL DISPATCH_WARN_RESULT DISPATCH_PURE -DISPATCH_NOTHROW -uintptr_t -dispatch_source_get_handle(dispatch_source_t source); - -/*! - * @function dispatch_source_get_mask - * - * @abstract - * Returns the mask of events monitored by the dispatch source. - * - * @param source - * The result of passing NULL in this parameter is undefined. - * - * @result - * The return value should be interpreted according to the type of the dispatch - * source, and may be one of the following flag sets: - * - * DISPATCH_SOURCE_TYPE_DATA_ADD: n/a - * DISPATCH_SOURCE_TYPE_DATA_OR: n/a - * DISPATCH_SOURCE_TYPE_DATA_REPLACE: n/a - * DISPATCH_SOURCE_TYPE_MACH_SEND: dispatch_source_mach_send_flags_t - * DISPATCH_SOURCE_TYPE_MACH_RECV: dispatch_source_mach_recv_flags_t - * DISPATCH_SOURCE_TYPE_MEMORYPRESSURE dispatch_source_memorypressure_flags_t - * DISPATCH_SOURCE_TYPE_PROC: dispatch_source_proc_flags_t - * DISPATCH_SOURCE_TYPE_READ: n/a - * DISPATCH_SOURCE_TYPE_SIGNAL: n/a - * DISPATCH_SOURCE_TYPE_TIMER: dispatch_source_timer_flags_t - * DISPATCH_SOURCE_TYPE_VNODE: dispatch_source_vnode_flags_t - * DISPATCH_SOURCE_TYPE_WRITE: n/a - */ -API_AVAILABLE(macos(10.6), ios(4.0)) -DISPATCH_EXPORT DISPATCH_NONNULL_ALL DISPATCH_WARN_RESULT DISPATCH_PURE -DISPATCH_NOTHROW -uintptr_t -dispatch_source_get_mask(dispatch_source_t source); - -/*! - * @function dispatch_source_get_data - * - * @abstract - * Returns pending data for the dispatch source. - * - * @discussion - * This function is intended to be called from within the event handler block. - * The result of calling this function outside of the event handler callback is - * undefined. - * - * @param source - * The result of passing NULL in this parameter is undefined. - * - * @result - * The return value should be interpreted according to the type of the dispatch - * source, and may be one of the following: - * - * DISPATCH_SOURCE_TYPE_DATA_ADD: application defined data - * DISPATCH_SOURCE_TYPE_DATA_OR: application defined data - * DISPATCH_SOURCE_TYPE_DATA_REPLACE: application defined data - * DISPATCH_SOURCE_TYPE_MACH_SEND: dispatch_source_mach_send_flags_t - * DISPATCH_SOURCE_TYPE_MACH_RECV: dispatch_source_mach_recv_flags_t - * DISPATCH_SOURCE_TYPE_MEMORYPRESSURE dispatch_source_memorypressure_flags_t - * DISPATCH_SOURCE_TYPE_PROC: dispatch_source_proc_flags_t - * DISPATCH_SOURCE_TYPE_READ: estimated bytes available to read - * DISPATCH_SOURCE_TYPE_SIGNAL: number of signals delivered since - * the last handler invocation - * DISPATCH_SOURCE_TYPE_TIMER: number of times the timer has fired - * since the last handler invocation - * DISPATCH_SOURCE_TYPE_VNODE: dispatch_source_vnode_flags_t - * DISPATCH_SOURCE_TYPE_WRITE: estimated buffer space available - */ -API_AVAILABLE(macos(10.6), ios(4.0)) -DISPATCH_EXPORT DISPATCH_NONNULL_ALL DISPATCH_WARN_RESULT DISPATCH_PURE -DISPATCH_NOTHROW -uintptr_t -dispatch_source_get_data(dispatch_source_t source); - -/*! - * @function dispatch_source_merge_data - * - * @abstract - * Merges data into a dispatch source of type DISPATCH_SOURCE_TYPE_DATA_ADD, - * DISPATCH_SOURCE_TYPE_DATA_OR or DISPATCH_SOURCE_TYPE_DATA_REPLACE, - * and submits its event handler block to its target queue. - * - * @param source - * The result of passing NULL in this parameter is undefined. - * - * @param value - * The value to coalesce with the pending data using a logical OR or an ADD - * as specified by the dispatch source type. A value of zero has no effect - * and will not result in the submission of the event handler block. - */ -API_AVAILABLE(macos(10.6), ios(4.0)) -DISPATCH_EXPORT DISPATCH_NONNULL_ALL DISPATCH_NOTHROW -void -dispatch_source_merge_data(dispatch_source_t source, uintptr_t value); - -/*! - * @function dispatch_source_set_timer - * - * @abstract - * Sets a start time, interval, and leeway value for a timer source. - * - * @discussion - * Once this function returns, any pending source data accumulated for the - * previous timer values has been cleared; the next fire of the timer will - * occur at 'start', and every 'interval' nanoseconds thereafter until the - * timer source is canceled. - * - * Any fire of the timer may be delayed by the system in order to improve power - * consumption and system performance. The upper limit to the allowable delay - * may be configured with the 'leeway' argument, the lower limit is under the - * control of the system. - * - * For the initial timer fire at 'start', the upper limit to the allowable - * delay is set to 'leeway' nanoseconds. For the subsequent timer fires at - * 'start' + N * 'interval', the upper limit is MIN('leeway','interval'/2). - * - * The lower limit to the allowable delay may vary with process state such as - * visibility of application UI. If the specified timer source was created with - * a mask of DISPATCH_TIMER_STRICT, the system will make a best effort to - * strictly observe the provided 'leeway' value even if it is smaller than the - * current lower limit. Note that a minimal amount of delay is to be expected - * even if this flag is specified. - * - * The 'start' argument also determines which clock will be used for the timer: - * If 'start' is DISPATCH_TIME_NOW or was created with dispatch_time(3), the - * timer is based on up time (which is obtained from mach_absolute_time() on - * Apple platforms). If 'start' was created with dispatch_walltime(3), the - * timer is based on gettimeofday(3). - * - * Calling this function has no effect if the timer source has already been - * canceled. - * - * @param start - * The start time of the timer. See dispatch_time() and dispatch_walltime() - * for more information. - * - * @param interval - * The nanosecond interval for the timer. Use DISPATCH_TIME_FOREVER for a - * one-shot timer. - * - * @param leeway - * The nanosecond leeway for the timer. - */ -API_AVAILABLE(macos(10.6), ios(4.0)) -DISPATCH_EXPORT DISPATCH_NONNULL_ALL DISPATCH_NOTHROW -void -dispatch_source_set_timer(dispatch_source_t source, - dispatch_time_t start, - uint64_t interval, - uint64_t leeway); - -/*! - * @function dispatch_source_set_registration_handler - * - * @abstract - * Sets the registration handler block for the given dispatch source. - * - * @discussion - * The registration handler (if specified) will be submitted to the source's - * target queue once the corresponding kevent() has been registered with the - * system, following the initial dispatch_resume() of the source. - * - * If a source is already registered when the registration handler is set, the - * registration handler will be invoked immediately. - * - * @param source - * The dispatch source to modify. - * The result of passing NULL in this parameter is undefined. - * - * @param handler - * The registration handler block to submit to the source's target queue. - */ -#ifdef __BLOCKS__ -API_AVAILABLE(macos(10.7), ios(4.3)) -DISPATCH_EXPORT DISPATCH_NONNULL1 DISPATCH_NOTHROW -void -dispatch_source_set_registration_handler(dispatch_source_t source, - dispatch_block_t _Nullable handler); -#endif /* __BLOCKS__ */ - -/*! - * @function dispatch_source_set_registration_handler_f - * - * @abstract - * Sets the registration handler function for the given dispatch source. - * - * @discussion - * See dispatch_source_set_registration_handler() for more details. - * - * @param source - * The dispatch source to modify. - * The result of passing NULL in this parameter is undefined. - * - * @param handler - * The registration handler function to submit to the source's target queue. - * The context parameter passed to the registration handler function is the - * current context of the dispatch source at the time the handler call is made. - */ -API_AVAILABLE(macos(10.7), ios(4.3)) -DISPATCH_EXPORT DISPATCH_NONNULL1 DISPATCH_NOTHROW -void -dispatch_source_set_registration_handler_f(dispatch_source_t source, - dispatch_function_t _Nullable handler); - -__END_DECLS - -DISPATCH_ASSUME_ABI_SINGLE_END -DISPATCH_ASSUME_NONNULL_END - -#endif \ No newline at end of file diff --git a/lib/libc/include/any-macos.13-any/dispatch/time.h b/lib/libc/include/any-macos.13-any/dispatch/time.h deleted file mode 100644 index 281513f387..0000000000 --- a/lib/libc/include/any-macos.13-any/dispatch/time.h +++ /dev/null @@ -1,138 +0,0 @@ -/* - * Copyright (c) 2008-2011 Apple Inc. All rights reserved. - * - * @APPLE_APACHE_LICENSE_HEADER_START@ - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * @APPLE_APACHE_LICENSE_HEADER_END@ - */ - -#ifndef __DISPATCH_TIME__ -#define __DISPATCH_TIME__ - -#ifndef __DISPATCH_INDIRECT__ -#error "Please #include instead of this file directly." -#include // for HeaderDoc -#endif - -#include - -// -#if TARGET_OS_MAC -#include -#endif - -DISPATCH_ASSUME_NONNULL_BEGIN -DISPATCH_ASSUME_ABI_SINGLE_BEGIN - -#ifdef NSEC_PER_SEC -#undef NSEC_PER_SEC -#endif -#ifdef USEC_PER_SEC -#undef USEC_PER_SEC -#endif -#ifdef NSEC_PER_USEC -#undef NSEC_PER_USEC -#endif -#ifdef NSEC_PER_MSEC -#undef NSEC_PER_MSEC -#endif -#define NSEC_PER_SEC 1000000000ull -#define NSEC_PER_MSEC 1000000ull -#define USEC_PER_SEC 1000000ull -#define NSEC_PER_USEC 1000ull - -__BEGIN_DECLS - -struct timespec; - -/*! - * @typedef dispatch_time_t - * - * @abstract - * A somewhat abstract representation of time; where zero means "now" and - * DISPATCH_TIME_FOREVER means "infinity" and every value in between is an - * opaque encoding. - */ -typedef uint64_t dispatch_time_t; - -enum { - DISPATCH_WALLTIME_NOW DISPATCH_ENUM_API_AVAILABLE - (macos(10.14), ios(12.0), tvos(12.0), watchos(5.0)) = ~1ull, -}; - -#define DISPATCH_TIME_NOW (0ull) -#define DISPATCH_TIME_FOREVER (~0ull) - -/*! - * @function dispatch_time - * - * @abstract - * Create a dispatch_time_t relative to the current value of the default or - * wall time clock, or modify an existing dispatch_time_t. - * - * @discussion - * On Apple platforms, the default clock is based on mach_absolute_time(). - * - * @param when - * An optional dispatch_time_t to add nanoseconds to. If DISPATCH_TIME_NOW is - * passed, then dispatch_time() will use the default clock (which is based on - * mach_absolute_time() on Apple platforms). If DISPATCH_WALLTIME_NOW is used, - * dispatch_time() will use the value returned by gettimeofday(3). - * dispatch_time(DISPATCH_WALLTIME_NOW, delta) is equivalent to - * dispatch_walltime(NULL, delta). - * - * @param delta - * Nanoseconds to add. - * - * @result - * A new dispatch_time_t. - */ -API_AVAILABLE(macos(10.6), ios(4.0)) -DISPATCH_EXPORT DISPATCH_WARN_RESULT DISPATCH_NOTHROW -dispatch_time_t -dispatch_time(dispatch_time_t when, int64_t delta); - -/*! - * @function dispatch_walltime - * - * @abstract - * Create a dispatch_time_t using the wall clock. - * - * @discussion - * On Mac OS X the wall clock is based on gettimeofday(3). - * - * @param when - * A struct timespec to add time to. If NULL is passed, then - * dispatch_walltime() will use the result of gettimeofday(3). - * dispatch_walltime(NULL, delta) returns the same value as - * dispatch_time(DISPATCH_WALLTIME_NOW, delta). - * - * @param delta - * Nanoseconds to add. - * - * @result - * A new dispatch_time_t. - */ -API_AVAILABLE(macos(10.6), ios(4.0)) -DISPATCH_EXPORT DISPATCH_WARN_RESULT DISPATCH_NOTHROW -dispatch_time_t -dispatch_walltime(const struct timespec *_Nullable when, int64_t delta); - -__END_DECLS - -DISPATCH_ASSUME_ABI_SINGLE_END -DISPATCH_ASSUME_NONNULL_END - -#endif \ No newline at end of file diff --git a/lib/libc/include/any-macos.13-any/dispatch/workloop.h b/lib/libc/include/any-macos.13-any/dispatch/workloop.h deleted file mode 100644 index 5be010a52a..0000000000 --- a/lib/libc/include/any-macos.13-any/dispatch/workloop.h +++ /dev/null @@ -1,167 +0,0 @@ -/* - * Copyright (c) 2017-2019 Apple Inc. All rights reserved. - * - * @APPLE_APACHE_LICENSE_HEADER_START@ - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * @APPLE_APACHE_LICENSE_HEADER_END@ - */ - -#ifndef __DISPATCH_WORKLOOP__ -#define __DISPATCH_WORKLOOP__ - -#ifndef __DISPATCH_INDIRECT__ -#error "Please #include instead of this file directly." -#include // for HeaderDoc -#endif - -DISPATCH_ASSUME_NONNULL_BEGIN -DISPATCH_ASSUME_ABI_SINGLE_BEGIN - -__BEGIN_DECLS - -/*! - * @typedef dispatch_workloop_t - * - * @abstract - * Dispatch workloops invoke workitems submitted to them in priority order. - * - * @discussion - * A dispatch workloop is a flavor of dispatch_queue_t that is a priority - * ordered queue (using the QOS class of the submitted workitems as the - * ordering). Dispatch workloops are an exclusion context and it is guaranteed - * that only one work item submitted to the dispatch workloop will be invoked at - * a time. - * - * Between each workitem invocation, the workloop will evaluate whether higher - * priority workitems have since been submitted, either directly to the - * workloop or to any queues that target the workloop, and execute these first. - * - * Serial queues targeting a workloop maintain FIFO execution of their - * workitems. However, the workloop may reorder workitems submitted to - * independent serial queues targeting it with respect to each other, - * based on their priorities, while preserving FIFO execution with respect to - * each serial queue. - * - * A dispatch workloop is a "subclass" of dispatch_queue_t which can be passed - * to all APIs accepting a dispatch queue, except for functions from the - * dispatch_sync() family. dispatch_async_and_wait() must be used for workloop - * objects. Functions from the dispatch_sync() family on queues targeting - * a workloop are still permitted but discouraged for performance reasons. - */ -DISPATCH_DECL_SUBCLASS(dispatch_workloop, dispatch_queue); - -/*! - * @function dispatch_workloop_create - * - * @abstract - * Creates a new dispatch workloop to which workitems may be submitted. - * - * @param label - * A string label to attach to the workloop. - * - * @result - * The newly created dispatch workloop. - */ -API_AVAILABLE(macos(10.14), ios(12.0), tvos(12.0), watchos(5.0)) -DISPATCH_EXPORT DISPATCH_MALLOC DISPATCH_RETURNS_RETAINED DISPATCH_WARN_RESULT -DISPATCH_NOTHROW -dispatch_workloop_t -dispatch_workloop_create(const char *DISPATCH_UNSAFE_INDEXABLE _Nullable label); - -/*! - * @function dispatch_workloop_create_inactive - * - * @abstract - * Creates a new inactive dispatch workloop that can be setup and then - * activated. - * - * @discussion - * Creating an inactive workloop allows for it to receive further configuration - * before it is activated, and workitems can be submitted to it. - * - * Submitting workitems to an inactive workloop is undefined and will cause the - * process to be terminated. - * - * @param label - * A string label to attach to the workloop. - * - * @result - * The newly created dispatch workloop. - */ -API_AVAILABLE(macos(10.14), ios(12.0), tvos(12.0), watchos(5.0)) -DISPATCH_EXPORT DISPATCH_MALLOC DISPATCH_RETURNS_RETAINED DISPATCH_WARN_RESULT -DISPATCH_NOTHROW -dispatch_workloop_t -dispatch_workloop_create_inactive(const char *DISPATCH_UNSAFE_INDEXABLE _Nullable label); - -/*! - * @function dispatch_workloop_set_autorelease_frequency - * - * @abstract - * Sets the autorelease frequency of the workloop. - * - * @discussion - * See dispatch_queue_attr_make_with_autorelease_frequency(). - * The default policy for a workloop is - * DISPATCH_AUTORELEASE_FREQUENCY_WORK_ITEM. - * - * @param workloop - * The dispatch workloop to modify. - * - * This workloop must be inactive, passing an activated object is undefined - * and will cause the process to be terminated. - * - * @param frequency - * The requested autorelease frequency. - */ -API_AVAILABLE(macos(10.14), ios(12.0), tvos(12.0), watchos(5.0)) -DISPATCH_EXPORT DISPATCH_NONNULL_ALL DISPATCH_NOTHROW -void -dispatch_workloop_set_autorelease_frequency(dispatch_workloop_t workloop, - dispatch_autorelease_frequency_t frequency); - -/*! - * @function dispatch_workloop_set_os_workgroup - * - * @abstract - * Associates an os_workgroup_t with the specified dispatch workloop. - * - * The worker thread will be a member of the specified os_workgroup_t while executing - * work items submitted to the workloop. - * - * @param workloop - * The dispatch workloop to modify. - * - * This workloop must be inactive, passing an activated object is undefined - * and will cause the process to be terminated. - * - * @param workgroup - * The workgroup to associate with this workloop. - * - * The workgroup specified is retained and the previously associated workgroup - * (if any) is released. - */ -API_AVAILABLE(macos(11.0), ios(14.0), tvos(14.0), watchos(7.0)) -DISPATCH_EXPORT DISPATCH_NONNULL_ALL DISPATCH_NOTHROW -void -dispatch_workloop_set_os_workgroup(dispatch_workloop_t workloop, - os_workgroup_t workgroup); - -__END_DECLS - -DISPATCH_ASSUME_ABI_SINGLE_END -DISPATCH_ASSUME_NONNULL_END - -#endif \ No newline at end of file diff --git a/lib/libc/include/any-macos.13-any/dlfcn.h b/lib/libc/include/any-macos.13-any/dlfcn.h deleted file mode 100644 index b858a2a294..0000000000 --- a/lib/libc/include/any-macos.13-any/dlfcn.h +++ /dev/null @@ -1,97 +0,0 @@ -/* - * Copyright (c) 2004-2008 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@ - */ - -/* - Based on the dlcompat work done by: - Jorge Acereda & - Peter O'Gorman -*/ - -#ifndef _DLFCN_H_ -#define _DLFCN_H_ - -#ifdef __cplusplus -extern "C" { -#endif - -#include - -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -#include -#include - -#ifdef __DRIVERKIT_19_0 - #define __DYLDDL_DRIVERKIT_UNAVAILABLE __API_UNAVAILABLE(driverkit) -#else - #define __DYLDDL_DRIVERKIT_UNAVAILABLE -#endif - -/* - * Structure filled in by dladdr(). - */ -typedef struct dl_info { - const char *dli_fname; /* Pathname of shared object */ - void *dli_fbase; /* Base address of shared object */ - const char *dli_sname; /* Name of nearest symbol */ - void *dli_saddr; /* Address of nearest symbol */ -} Dl_info; - -extern int dladdr(const void *, Dl_info *); -#else - #define __DYLDDL_DRIVERKIT_UNAVAILABLE -#endif /* not POSIX */ - -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); - -#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; -#endif /* not POSIX */ - - -#define RTLD_LAZY 0x1 -#define RTLD_NOW 0x2 -#define RTLD_LOCAL 0x4 -#define RTLD_GLOBAL 0x8 - -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -#define RTLD_NOLOAD 0x10 -#define RTLD_NODELETE 0x80 -#define RTLD_FIRST 0x100 /* Mac OS X 10.5 and later */ - -/* - * Special handle arguments for dlsym(). - */ -#define RTLD_NEXT ((void *) -1) /* Search subsequent objects. */ -#define RTLD_DEFAULT ((void *) -2) /* Use default search algorithm. */ -#define RTLD_SELF ((void *) -3) /* Search this and subsequent objects (Mac OS X 10.5 and later) */ -#define RTLD_MAIN_ONLY ((void *) -5) /* Search main executable only (Mac OS X 10.5 and later) */ -#endif /* not POSIX */ - -#ifdef __cplusplus -} -#endif - -#endif /* _DLFCN_H_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.13-any/launch.h b/lib/libc/include/any-macos.13-any/launch.h deleted file mode 100644 index 9a1f4853a3..0000000000 --- a/lib/libc/include/any-macos.13-any/launch.h +++ /dev/null @@ -1,411 +0,0 @@ -#ifndef __XPC_LAUNCH_H__ -#define __XPC_LAUNCH_H__ - -/*! - * @header - * These interfaces were only ever documented for the purpose of allowing a - * launchd job to obtain file descriptors associated with the sockets it - * advertised in its launchd.plist(5). That functionality is now available in a - * much more straightforward fashion through the {@link launch_activate_socket} - * API. - * - * There are currently no replacements for other uses of the {@link launch_msg} - * API, including submitting, removing, starting, stopping and listing jobs. - */ - -#include -#include - -#include -#include -#include -#include - -#if __has_feature(assume_nonnull) -_Pragma("clang assume_nonnull begin") -#endif -__BEGIN_DECLS - -#define LAUNCH_KEY_SUBMITJOB "SubmitJob" -#define LAUNCH_KEY_REMOVEJOB "RemoveJob" -#define LAUNCH_KEY_STARTJOB "StartJob" -#define LAUNCH_KEY_STOPJOB "StopJob" -#define LAUNCH_KEY_GETJOB "GetJob" -#define LAUNCH_KEY_GETJOBS "GetJobs" -#define LAUNCH_KEY_CHECKIN "CheckIn" - -#define LAUNCH_JOBKEY_LABEL "Label" -#define LAUNCH_JOBKEY_DISABLED "Disabled" -#define LAUNCH_JOBKEY_USERNAME "UserName" -#define LAUNCH_JOBKEY_GROUPNAME "GroupName" -#define LAUNCH_JOBKEY_TIMEOUT "TimeOut" -#define LAUNCH_JOBKEY_EXITTIMEOUT "ExitTimeOut" -#define LAUNCH_JOBKEY_INITGROUPS "InitGroups" -#define LAUNCH_JOBKEY_SOCKETS "Sockets" -#define LAUNCH_JOBKEY_MACHSERVICES "MachServices" -#define LAUNCH_JOBKEY_MACHSERVICELOOKUPPOLICIES "MachServiceLookupPolicies" -#define LAUNCH_JOBKEY_INETDCOMPATIBILITY "inetdCompatibility" -#define LAUNCH_JOBKEY_ENABLEGLOBBING "EnableGlobbing" -#define LAUNCH_JOBKEY_PROGRAMARGUMENTS "ProgramArguments" -#define LAUNCH_JOBKEY_PROGRAM "Program" -#define LAUNCH_JOBKEY_ONDEMAND "OnDemand" -#define LAUNCH_JOBKEY_KEEPALIVE "KeepAlive" -#define LAUNCH_JOBKEY_LIMITLOADTOHOSTS "LimitLoadToHosts" -#define LAUNCH_JOBKEY_LIMITLOADFROMHOSTS "LimitLoadFromHosts" -#define LAUNCH_JOBKEY_LIMITLOADTOSESSIONTYPE "LimitLoadToSessionType" -#define LAUNCH_JOBKEY_LIMITLOADTOHARDWARE "LimitLoadToHardware" -#define LAUNCH_JOBKEY_LIMITLOADFROMHARDWARE "LimitLoadFromHardware" -#define LAUNCH_JOBKEY_RUNATLOAD "RunAtLoad" -#define LAUNCH_JOBKEY_ROOTDIRECTORY "RootDirectory" -#define LAUNCH_JOBKEY_WORKINGDIRECTORY "WorkingDirectory" -#define LAUNCH_JOBKEY_ENVIRONMENTVARIABLES "EnvironmentVariables" -#define LAUNCH_JOBKEY_USERENVIRONMENTVARIABLES "UserEnvironmentVariables" -#define LAUNCH_JOBKEY_UMASK "Umask" -#define LAUNCH_JOBKEY_NICE "Nice" -#define LAUNCH_JOBKEY_HOPEFULLYEXITSFIRST "HopefullyExitsFirst" -#define LAUNCH_JOBKEY_HOPEFULLYEXITSLAST "HopefullyExitsLast" -#define LAUNCH_JOBKEY_LOWPRIORITYIO "LowPriorityIO" -#define LAUNCH_JOBKEY_LOWPRIORITYBACKGROUNDIO "LowPriorityBackgroundIO" -#define LAUNCH_JOBKEY_MATERIALIZEDATALESSFILES "MaterializeDatalessFiles" -#define LAUNCH_JOBKEY_SESSIONCREATE "SessionCreate" -#define LAUNCH_JOBKEY_STARTONMOUNT "StartOnMount" -#define LAUNCH_JOBKEY_SOFTRESOURCELIMITS "SoftResourceLimits" -#define LAUNCH_JOBKEY_HARDRESOURCELIMITS "HardResourceLimits" -#define LAUNCH_JOBKEY_STANDARDINPATH "StandardInPath" -#define LAUNCH_JOBKEY_STANDARDOUTPATH "StandardOutPath" -#define LAUNCH_JOBKEY_STANDARDERRORPATH "StandardErrorPath" -#define LAUNCH_JOBKEY_DEBUG "Debug" -#define LAUNCH_JOBKEY_WAITFORDEBUGGER "WaitForDebugger" -#define LAUNCH_JOBKEY_QUEUEDIRECTORIES "QueueDirectories" -#define LAUNCH_JOBKEY_HOMERELATIVEQUEUEDIRECTORIES "HomeRelativeQueueDirectories" -#define LAUNCH_JOBKEY_WATCHPATHS "WatchPaths" -#define LAUNCH_JOBKEY_STARTINTERVAL "StartInterval" -#define LAUNCH_JOBKEY_STARTCALENDARINTERVAL "StartCalendarInterval" -#define LAUNCH_JOBKEY_BONJOURFDS "BonjourFDs" -#define LAUNCH_JOBKEY_LASTEXITSTATUS "LastExitStatus" -#define LAUNCH_JOBKEY_PID "PID" -#define LAUNCH_JOBKEY_THROTTLEINTERVAL "ThrottleInterval" -#define LAUNCH_JOBKEY_LAUNCHONLYONCE "LaunchOnlyOnce" -#define LAUNCH_JOBKEY_ABANDONPROCESSGROUP "AbandonProcessGroup" -#define LAUNCH_JOBKEY_IGNOREPROCESSGROUPATSHUTDOWN \ - "IgnoreProcessGroupAtShutdown" -#define LAUNCH_JOBKEY_LEGACYTIMERS "LegacyTimers" -#define LAUNCH_JOBKEY_ENABLEPRESSUREDEXIT "EnablePressuredExit" -#define LAUNCH_JOBKEY_ENABLETRANSACTIONS "EnableTransactions" -#define LAUNCH_JOBKEY_DRAINMESSAGESONFAILEDINIT "DrainMessagesOnFailedInit" -#define LAUNCH_JOBKEY_POLICIES "Policies" -#define LAUNCH_JOBKEY_BUNDLEPROGRAM "BundleProgram" -#define LAUNCH_JOBKEY_ASSOCIATEDBUNDLEIDENTIFIERS "AssociatedBundleIdentifiers" - -#define LAUNCH_JOBKEY_PUBLISHESEVENTS "PublishesEvents" -#define LAUNCH_KEY_PUBLISHESEVENTS_DOMAININTERNAL "DomainInternal" - -#define LAUNCH_JOBPOLICY_DENYCREATINGOTHERJOBS "DenyCreatingOtherJobs" - -#define LAUNCH_JOBINETDCOMPATIBILITY_WAIT "Wait" -#define LAUNCH_JOBINETDCOMPATIBILITY_INSTANCES "Instances" - -#define LAUNCH_JOBKEY_MACH_RESETATCLOSE "ResetAtClose" -#define LAUNCH_JOBKEY_MACH_HIDEUNTILCHECKIN "HideUntilCheckIn" - -#define LAUNCH_JOBKEY_KEEPALIVE_SUCCESSFULEXIT "SuccessfulExit" -#define LAUNCH_JOBKEY_KEEPALIVE_NETWORKSTATE "NetworkState" -#define LAUNCH_JOBKEY_KEEPALIVE_PATHSTATE "PathState" -#define LAUNCH_JOBKEY_KEEPALIVE_HOMERELATIVEPATHSTATE "HomeRelativePathState" -#define LAUNCH_JOBKEY_KEEPALIVE_OTHERJOBACTIVE "OtherJobActive" -#define LAUNCH_JOBKEY_KEEPALIVE_OTHERJOBENABLED "OtherJobEnabled" -#define LAUNCH_JOBKEY_KEEPALIVE_AFTERINITIALDEMAND "AfterInitialDemand" -#define LAUNCH_JOBKEY_KEEPALIVE_CRASHED "Crashed" - -#define LAUNCH_JOBKEY_LAUNCHEVENTS "LaunchEvents" - -#define LAUNCH_JOBKEY_CAL_MINUTE "Minute" -#define LAUNCH_JOBKEY_CAL_HOUR "Hour" -#define LAUNCH_JOBKEY_CAL_DAY "Day" -#define LAUNCH_JOBKEY_CAL_WEEKDAY "Weekday" -#define LAUNCH_JOBKEY_CAL_MONTH "Month" - -#define LAUNCH_JOBKEY_RESOURCELIMIT_CORE "Core" -#define LAUNCH_JOBKEY_RESOURCELIMIT_CPU "CPU" -#define LAUNCH_JOBKEY_RESOURCELIMIT_DATA "Data" -#define LAUNCH_JOBKEY_RESOURCELIMIT_FSIZE "FileSize" -#define LAUNCH_JOBKEY_RESOURCELIMIT_MEMLOCK "MemoryLock" -#define LAUNCH_JOBKEY_RESOURCELIMIT_NOFILE "NumberOfFiles" -#define LAUNCH_JOBKEY_RESOURCELIMIT_NPROC "NumberOfProcesses" -#define LAUNCH_JOBKEY_RESOURCELIMIT_RSS "ResidentSetSize" -#define LAUNCH_JOBKEY_RESOURCELIMIT_STACK "Stack" - -#define LAUNCH_JOBKEY_DISABLED_MACHINETYPE "MachineType" -#define LAUNCH_JOBKEY_DISABLED_MODELNAME "ModelName" - -#define LAUNCH_JOBKEY_DATASTORES "Datastores" -#define LAUNCH_JOBKEY_DATASTORES_SIZELIMIT "SizeLimit" - -#define LAUNCH_JOBSOCKETKEY_TYPE "SockType" -#define LAUNCH_JOBSOCKETKEY_PASSIVE "SockPassive" -#define LAUNCH_JOBSOCKETKEY_BONJOUR "Bonjour" -#define LAUNCH_JOBSOCKETKEY_SECUREWITHKEY "SecureSocketWithKey" -#define LAUNCH_JOBSOCKETKEY_PATHNAME "SockPathName" -#define LAUNCH_JOBSOCKETKEY_PATHMODE "SockPathMode" -#define LAUNCH_JOBSOCKETKEY_PATHOWNER "SockPathOwner" -#define LAUNCH_JOBSOCKETKEY_PATHGROUP "SockPathGroup" -#define LAUNCH_JOBSOCKETKEY_NODENAME "SockNodeName" -#define LAUNCH_JOBSOCKETKEY_SERVICENAME "SockServiceName" -#define LAUNCH_JOBSOCKETKEY_FAMILY "SockFamily" -#define LAUNCH_JOBSOCKETKEY_PROTOCOL "SockProtocol" -#define LAUNCH_JOBSOCKETKEY_MULTICASTGROUP "MulticastGroup" - -#define LAUNCH_JOBKEY_PROCESSTYPE "ProcessType" -#define LAUNCH_KEY_PROCESSTYPE_APP "App" -#define LAUNCH_KEY_PROCESSTYPE_STANDARD "Standard" -#define LAUNCH_KEY_PROCESSTYPE_BACKGROUND "Background" -#define LAUNCH_KEY_PROCESSTYPE_INTERACTIVE "Interactive" -#define LAUNCH_KEY_PROCESSTYPE_ADAPTIVE "Adaptive" - -/*! - * @function launch_activate_socket - * - * @abstract - * Retrieves the file descriptors for sockets specified in the process' - * launchd.plist(5). - * - * @param name - * The name of the socket entry in the service's Sockets dictionary. - * - * @param fds - * On return, this parameter will be populated with an array of file - * descriptors. One socket can have many descriptors associated with it - * depending on the characteristics of the network interfaces on the system. - * The descriptors in this array are the results of calling getaddrinfo(3) with - * the parameters described in launchd.plist(5). - * - * The caller is responsible for calling free(3) on the returned pointer. - * - * @param cnt - * The number of file descriptor entries in the returned array. - * - * @result - * On success, zero is returned. Otherwise, an appropriate POSIX-domain is - * returned. Possible error codes are: - * - * ENOENT -> There was no socket of the specified name owned by the caller. - * ESRCH -> The caller is not a process managed by launchd. - * EALREADY -> The socket has already been activated by the caller. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_10, __IPHONE_8_0) -OS_EXPORT OS_WARN_RESULT OS_NONNULL1 OS_NONNULL2 OS_NONNULL3 -int -launch_activate_socket(const char *name, - int * _Nonnull * _Nullable fds, size_t *cnt); - -typedef struct _launch_data *launch_data_t; -typedef void (*launch_data_dict_iterator_t)(const launch_data_t lval, - const char *key, void * _Nullable ctx); - -typedef enum { - LAUNCH_DATA_DICTIONARY = 1, - LAUNCH_DATA_ARRAY, - LAUNCH_DATA_FD, - LAUNCH_DATA_INTEGER, - LAUNCH_DATA_REAL, - LAUNCH_DATA_BOOL, - LAUNCH_DATA_STRING, - LAUNCH_DATA_OPAQUE, - LAUNCH_DATA_ERRNO, - LAUNCH_DATA_MACHPORT, -} launch_data_type_t; - -__OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_10, __IPHONE_2_0, __IPHONE_8_0) -OS_EXPORT OS_MALLOC OS_WARN_RESULT -launch_data_t -launch_data_alloc(launch_data_type_t type); - -__OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_10, __IPHONE_2_0, __IPHONE_8_0) -OS_EXPORT OS_MALLOC OS_WARN_RESULT OS_NONNULL1 -launch_data_t -launch_data_copy(launch_data_t ld); - -__OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_10, __IPHONE_2_0, __IPHONE_8_0) -OS_EXPORT OS_WARN_RESULT OS_NONNULL1 -launch_data_type_t -launch_data_get_type(const launch_data_t ld); - -__OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_10, __IPHONE_2_0, __IPHONE_8_0) -OS_EXPORT OS_NONNULL1 -void -launch_data_free(launch_data_t ld); - -__OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_10, __IPHONE_2_0, __IPHONE_8_0) -OS_EXPORT OS_NONNULL1 OS_NONNULL2 OS_NONNULL3 -bool -launch_data_dict_insert(launch_data_t ldict, const launch_data_t lval, - const char *key); - -__OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_10, __IPHONE_2_0, __IPHONE_8_0) -OS_EXPORT OS_WARN_RESULT OS_NONNULL1 OS_NONNULL2 -launch_data_t _Nullable -launch_data_dict_lookup(const launch_data_t ldict, const char *key); - -__OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_10, __IPHONE_2_0, __IPHONE_8_0) -OS_EXPORT OS_NONNULL1 OS_NONNULL2 -bool -launch_data_dict_remove(launch_data_t ldict, const char *key); - -__OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_10, __IPHONE_2_0, __IPHONE_8_0) -OS_EXPORT OS_NONNULL1 OS_NONNULL2 -void -launch_data_dict_iterate(const launch_data_t ldict, - launch_data_dict_iterator_t iterator, void * _Nullable ctx); - -__OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_10, __IPHONE_2_0, __IPHONE_8_0) -OS_EXPORT OS_WARN_RESULT OS_NONNULL1 -size_t -launch_data_dict_get_count(const launch_data_t ldict); - -__OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_10, __IPHONE_2_0, __IPHONE_8_0) -OS_EXPORT OS_NONNULL1 OS_NONNULL2 -bool -launch_data_array_set_index(launch_data_t larray, const launch_data_t lval, - size_t idx); - -__OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_10, __IPHONE_2_0, __IPHONE_8_0) -OS_EXPORT OS_WARN_RESULT OS_NONNULL1 -launch_data_t -launch_data_array_get_index(const launch_data_t larray, size_t idx); - -__OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_10, __IPHONE_2_0, __IPHONE_8_0) -OS_EXPORT OS_WARN_RESULT OS_NONNULL1 -size_t -launch_data_array_get_count(const launch_data_t larray); - -__OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_10, __IPHONE_2_0, __IPHONE_8_0) -OS_EXPORT OS_MALLOC OS_WARN_RESULT -launch_data_t -launch_data_new_fd(int fd); - -__OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_10, __IPHONE_2_0, __IPHONE_8_0) -OS_EXPORT OS_MALLOC OS_WARN_RESULT -launch_data_t -launch_data_new_machport(mach_port_t val); - -__OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_10, __IPHONE_2_0, __IPHONE_8_0) -OS_EXPORT OS_MALLOC OS_WARN_RESULT -launch_data_t -launch_data_new_integer(long long val); - -__OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_10, __IPHONE_2_0, __IPHONE_8_0) -OS_EXPORT OS_MALLOC OS_WARN_RESULT -launch_data_t -launch_data_new_bool(bool val); - -__OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_10, __IPHONE_2_0, __IPHONE_8_0) -OS_EXPORT OS_MALLOC OS_WARN_RESULT -launch_data_t -launch_data_new_real(double val); - -__OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_10, __IPHONE_2_0, __IPHONE_8_0) -OS_EXPORT OS_MALLOC OS_WARN_RESULT -launch_data_t -launch_data_new_string(const char *val); - -__OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_10, __IPHONE_2_0, __IPHONE_8_0) -OS_EXPORT OS_MALLOC OS_WARN_RESULT -launch_data_t -launch_data_new_opaque(const void *bytes, size_t sz); - -__OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_10, __IPHONE_2_0, __IPHONE_8_0) -OS_EXPORT OS_NONNULL1 -bool -launch_data_set_fd(launch_data_t ld, int fd); - -__OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_10, __IPHONE_2_0, __IPHONE_8_0) -OS_EXPORT OS_NONNULL1 -bool -launch_data_set_machport(launch_data_t ld, mach_port_t mp); - -__OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_10, __IPHONE_2_0, __IPHONE_8_0) -OS_EXPORT OS_NONNULL1 -bool -launch_data_set_integer(launch_data_t ld, long long val); - -__OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_10, __IPHONE_2_0, __IPHONE_8_0) -OS_EXPORT OS_NONNULL1 -bool -launch_data_set_bool(launch_data_t ld, bool val); - -__OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_10, __IPHONE_2_0, __IPHONE_8_0) -OS_EXPORT OS_NONNULL1 -bool -launch_data_set_real(launch_data_t ld, double val); - -__OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_10, __IPHONE_2_0, __IPHONE_8_0) -OS_EXPORT OS_NONNULL1 -bool -launch_data_set_string(launch_data_t ld, const char *val); - -__OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_10, __IPHONE_2_0, __IPHONE_8_0) -OS_EXPORT OS_NONNULL1 -bool -launch_data_set_opaque(launch_data_t ld, const void *bytes, size_t sz); - -__OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_10, __IPHONE_2_0, __IPHONE_8_0) -OS_EXPORT OS_WARN_RESULT OS_NONNULL1 -int -launch_data_get_fd(const launch_data_t ld); - -__OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_10, __IPHONE_2_0, __IPHONE_8_0) -OS_EXPORT OS_WARN_RESULT OS_NONNULL1 -mach_port_t -launch_data_get_machport(const launch_data_t ld); - -__OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_10, __IPHONE_2_0, __IPHONE_8_0) -OS_EXPORT OS_WARN_RESULT OS_NONNULL1 -long long -launch_data_get_integer(const launch_data_t ld); - -__OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_10, __IPHONE_2_0, __IPHONE_8_0) -OS_EXPORT OS_WARN_RESULT OS_NONNULL1 -bool -launch_data_get_bool(const launch_data_t ld); - -__OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_10, __IPHONE_2_0, __IPHONE_8_0) -OS_EXPORT OS_WARN_RESULT OS_NONNULL1 -double -launch_data_get_real(const launch_data_t ld); - -__OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_10, __IPHONE_2_0, __IPHONE_8_0) -OS_EXPORT OS_WARN_RESULT OS_NONNULL1 -const char * -launch_data_get_string(const launch_data_t ld); - -__OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_10, __IPHONE_2_0, __IPHONE_8_0) -OS_EXPORT OS_WARN_RESULT OS_NONNULL1 -void * _Nullable -launch_data_get_opaque(const launch_data_t ld); - -__OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_10, __IPHONE_2_0, __IPHONE_8_0) -OS_EXPORT OS_WARN_RESULT OS_NONNULL1 -size_t -launch_data_get_opaque_size(const launch_data_t ld); - -__OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_10, __IPHONE_2_0, __IPHONE_8_0) -OS_EXPORT OS_WARN_RESULT OS_NONNULL1 -int -launch_data_get_errno(const launch_data_t ld); - -__OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_10, __IPHONE_2_0, __IPHONE_8_0) -OS_EXPORT OS_WARN_RESULT -int -launch_get_fd(void); - -__OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_10, __IPHONE_2_0, __IPHONE_8_0) -OS_EXPORT OS_MALLOC OS_WARN_RESULT OS_NONNULL1 -launch_data_t -launch_msg(const launch_data_t request); - -__END_DECLS -#if __has_feature(assume_nonnull) -_Pragma("clang assume_nonnull end") -#endif - -#endif // __XPC_LAUNCH_H__ \ No newline at end of file diff --git a/lib/libc/include/any-macos.13-any/mach-o/arch.h b/lib/libc/include/any-macos.13-any/mach-o/arch.h deleted file mode 100644 index 0899e050ad..0000000000 --- a/lib/libc/include/any-macos.13-any/mach-o/arch.h +++ /dev/null @@ -1,159 +0,0 @@ -/* - * Copyright (c) 1999 Apple Computer, Inc. All rights reserved. - * - * @APPLE_LICENSE_HEADER_START@ - * - * This file contains Original Code and/or Modifications of Original Code - * as defined in and that are subject to the Apple Public Source License - * Version 2.0 (the 'License'). You may not use this file except in - * compliance with the License. Please obtain a copy of the License at - * http://www.opensource.apple.com/apsl/ and read it before using this - * file. - * - * The Original Code and all software distributed under the License are - * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER - * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, - * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. - * Please see the License for the specific language governing rights and - * limitations under the License. - * - * @APPLE_LICENSE_HEADER_END@ - */ -#ifndef _MACH_O_ARCH_H_ -#define _MACH_O_ARCH_H_ -/* - * Copyright (c) 1997 Apple Computer, Inc. - * - * Functions that deal with information about architectures. - * - */ - -#include -#include -#include -#include -#include - -#ifndef __CCTOOLS_DEPRECATED - #define __CCTOOLS_DEPRECATED __API_DEPRECATED("No longer supported", macos(10.0, 13.0), ios(1.0, 16.0), watchos(1.0, 8.0), tvos(1.0, 16.0)) - #define __CCTOOLS_DEPRECATED_MSG(_msg) __API_DEPRECATED_WITH_REPLACEMENT(_msg, macos(10.0, 13.0), ios(1.0, 16.0), watchos(1.0, 8.0), tvos(1.0, 16.0)) -#endif - -/* The NXArchInfo structs contain the architectures symbolic name - * (such as "ppc"), its CPU type and CPU subtype as defined in - * mach/machine.h, the byte order for the architecture, and a - * describing string (such as "PowerPC"). - * There will both be entries for specific CPUs (such as ppc604e) as - * well as generic "family" entries (such as ppc). - */ - -struct NXArchInfo { - const char *name; - cpu_type_t cputype; - cpu_subtype_t cpusubtype; - enum NXByteOrder byteorder; - const char *description; -} __CCTOOLS_DEPRECATED; -typedef struct NXArchInfo NXArchInfo __CCTOOLS_DEPRECATED; - -#ifdef __cplusplus -extern "C" { -#endif /* __cplusplus */ - -/* NXGetAllArchInfos() returns a pointer to an array of all known - * NXArchInfo structures. The last NXArchInfo is marked by a NULL name. - */ -extern const NXArchInfo *NXGetAllArchInfos(void) __CCTOOLS_DEPRECATED; - -/* NXGetLocalArchInfo() returns the NXArchInfo for the local host, or NULL - * if none is known. - */ -extern const NXArchInfo *NXGetLocalArchInfo(void) __CCTOOLS_DEPRECATED_MSG("use macho_arch_name_for_mach_header()"); - -/* NXGetArchInfoFromName() and NXGetArchInfoFromCpuType() return the - * NXArchInfo from the architecture's name or cputype/cpusubtype - * combination. A cpusubtype of CPU_SUBTYPE_MULTIPLE can be used - * to request the most general NXArchInfo known for the given cputype. - * NULL is returned if no matching NXArchInfo can be found. - */ -extern const NXArchInfo *NXGetArchInfoFromName(const char *name) __CCTOOLS_DEPRECATED_MSG("use macho_cpu_type_for_arch_name()"); -extern const NXArchInfo *NXGetArchInfoFromCpuType(cpu_type_t cputype, - cpu_subtype_t cpusubtype) __CCTOOLS_DEPRECATED_MSG("use macho_arch_name_for_cpu_type()"); - -/* The above interfaces that return pointers to NXArchInfo structs in normal - * cases returns a pointer from the array returned in NXGetAllArchInfos(). - * In some cases when the cputype is CPU_TYPE_I386 or CPU_TYPE_POWERPC it will - * retun malloc(3)'ed NXArchInfo struct which contains a string in the - * description field also a malloc(3)'ed pointer. To allow programs not to - * leak memory they can call NXFreeArchInfo() on pointers returned from the - * above interfaces. Since this is a new API on older systems can use the - * code below. Going forward the above interfaces will only return pointers - * from the array returned in NXGetAllArchInfos(). - */ -extern void NXFreeArchInfo(const NXArchInfo *x) __CCTOOLS_DEPRECATED_MSG("NXArchInfo is deprecated"); - -/* The code that can be used for NXFreeArchInfo() when it is not available is: - * - * static void NXFreeArchInfo( - * const NXArchInfo *x) - * { - * const NXArchInfo *p; - * - * p = NXGetAllArchInfos(); - * while(p->name != NULL){ - * if(x == p) - * return; - * p++; - * } - * free((char *)x->description); - * free((NXArchInfo *)x); - * } - */ - -/* NXFindBestFatArch() is passed a cputype and cpusubtype and a set of - * fat_arch structs and selects the best one that matches (if any) and returns - * a pointer to that fat_arch struct (or NULL). The fat_arch structs must be - * in the host byte order and correct such that the fat_archs really points to - * enough memory for nfat_arch structs. It is possible that this routine could - * fail if new cputypes or cpusubtypes are added and an old version of this - * routine is used. But if there is an exact match between the cputype and - * cpusubtype and one of the fat_arch structs this routine will always succeed. - */ -extern struct fat_arch *NXFindBestFatArch(cpu_type_t cputype, - cpu_subtype_t cpusubtype, - struct fat_arch *fat_archs, - uint32_t nfat_archs) __CCTOOLS_DEPRECATED_MSG("use macho_best_slice()"); - -/* NXFindBestFatArch_64() is passed a cputype and cpusubtype and a set of - * fat_arch_64 structs and selects the best one that matches (if any) and - * returns a pointer to that fat_arch_64 struct (or NULL). The fat_arch_64 - * structs must be in the host byte order and correct such that the fat_archs64 - * really points to enough memory for nfat_arch structs. It is possible that - * this routine could fail if new cputypes or cpusubtypes are added and an old - * version of this routine is used. But if there is an exact match between the - * cputype and cpusubtype and one of the fat_arch_64 structs this routine will - * always succeed. - */ -extern struct fat_arch_64 *NXFindBestFatArch_64(cpu_type_t cputype, - cpu_subtype_t cpusubtype, - struct fat_arch_64 *fat_archs64, - uint32_t nfat_archs) __CCTOOLS_DEPRECATED_MSG("use macho_best_slice()"); - -/* NXCombineCpuSubtypes() returns the resulting cpusubtype when combining two - * different cpusubtypes for the specified cputype. If the two cpusubtypes - * can't be combined (the specific subtypes are mutually exclusive) -1 is - * returned indicating it is an error to combine them. This can also fail and - * return -1 if new cputypes or cpusubtypes are added and an old version of - * this routine is used. But if the cpusubtypes are the same they can always - * be combined and this routine will return the cpusubtype pass in. - */ -extern cpu_subtype_t NXCombineCpuSubtypes(cpu_type_t cputype, - cpu_subtype_t cpusubtype1, - cpu_subtype_t cpusubtype2) __CCTOOLS_DEPRECATED_MSG("cpu subtypes are no longer combinable"); - -#ifdef __cplusplus -} -#endif /* __cplusplus */ - -#endif /* _MACH_O_ARCH_H_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.13-any/mach-o/arm64/reloc.h b/lib/libc/include/any-macos.13-any/mach-o/arm64/reloc.h deleted file mode 100644 index f9b767a509..0000000000 --- a/lib/libc/include/any-macos.13-any/mach-o/arm64/reloc.h +++ /dev/null @@ -1,254 +0,0 @@ -/* - * Copyright (c) 2010 Apple Computer, Inc. All rights reserved. - * - * @APPLE_LICENSE_HEADER_START@ - * - * This file contains Original Code and/or Modifications of Original Code - * as defined in and that are subject to the Apple Public Source License - * Version 2.0 (the 'License'). You may not use this file except in - * compliance with the License. Please obtain a copy of the License at - * http://www.opensource.apple.com/apsl/ and read it before using this - * file. - * - * The Original Code and all software distributed under the License are - * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER - * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, - * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. - * Please see the License for the specific language governing rights and - * limitations under the License. - * - * @APPLE_LICENSE_HEADER_END@ - */ - -#ifndef _MACHO_ARM64_RELOC_H_ -#define _MACHO_ARM64_RELOC_H_ - -/* - * Relocations for arm64 are a bit different than for other architectures in - * Mach-O: Scattered relocations are not used. Almost all relocations produced - * by the compiler are external relocations. An external relocation has the - * r_extern bit set to 1 and the r_symbolnum field contains the symbol table - * index of the target label. - * - * When the assembler is generating relocations, if the target label is a local - * label (begins with 'L'), then the previous non-local label in the same - * section is used as the target of the external relocation. An addend is used - * with the distance from that non-local label to the target label. Only when - * there is no previous non-local label in the section is an internal - * relocation used. - * - * The addend (i.e. the 4 in _foo+4) is encoded either in the instruction or - * in the r_symbolnum of ARM64_RELOC_ADDEND. - * For ARM64_RELOC_UNSIGNED and ARM64_RELOC_AUTHENTICATED_POINTER, the addend - * is stored in the instruction. ARM64_RELOC_PAGE21, ARM64_RELOC_PAGEOFF12 and - * ARM64_RELOC_BRANCH26 must be preceded by an ARM64_RELOC_ADDEND if they need - * an addend. No other relocations support addends. - * - * The relocation types are: - * - * ARM64_RELOC_UNSIGNED // For pointer sized fixups - * ARM64_RELOC_SUBTRACTOR // must be followed by a ARM64_RELOC_UNSIGNED - * ARM64_RELOC_BRANCH26 // a BL instruction with pc-relative +-128MB displacement - * ARM64_RELOC_PAGE21 // pc-rel distance to page of target - * ARM64_RELOC_PAGEOFF12 // offset within page, scaled by r_length - * ARM64_RELOC_GOT_LOAD_PAGE21 // load with a pc-rel distance to page of a GOT entry - * ARM64_RELOC_GOT_LOAD_PAGEOFF12 // load with an offset within page, scaled by r_length, of GOT entry - * ARM64_RELOC_POINTER_TO_GOT // 32-bit pc-rel (or 64-bit absolute) offset to a GOT entry - * ARM64_RELOC_TLVP_LOAD_PAGE21 // tlv load with a pc-rel distance to page of a GOT entry - * ARM64_RELOC_TLVP_LOAD_PAGEOFF12 // tlv load with an offset within page, scaled by r_length, of GOT entry - * ARM64_RELOC_ADDEND // must be followed by ARM64_RELOC_BRANCH26/ARM64_RELOC_PAGE21/ARM64_RELOC_PAGEOFF12 - * ARM64_RELOC_AUTHENTICATED_POINTER // 64-bit pointer with authentication - * - * The following are sample assembly instructions, followed by the relocation - * and section content they generate in an object file: - * - * (arm64_32 only) - * .long _foo - * r_type=ARM64_RELOC_UNSIGNED, r_length=2, r_extern=1, r_pcrel=0, r_symbolnum=_foo - * 00 00 00 00 - * - * (arm64_32 only) - * .long _foo + 4 - * r_type=ARM64_RELOC_UNSIGNED, r_length=2, r_extern=1, r_pcrel=0, r_symbolnum=_foo - * 04 00 00 00 - * - * .quad _foo - * r_type=ARM64_RELOC_UNSIGNED, r_length=3, r_extern=1, r_pcrel=0, r_symbolnum=_foo - * 00 00 00 00 00 00 00 00 - * - * .quad _foo + 16 - * r_type=ARM64_RELOC_UNSIGNED, r_length=3, r_extern=1, r_pcrel=0, r_symbolnum=_foo - * 10 00 00 00 00 00 00 00 - * - * .quad L1 - * r_type=ARM64_RELOC_UNSIGNED, r_length=3, r_extern=1, r_pcrel=0, r_symbolnum=_prev - * 10 00 00 00 00 00 00 00 - * // assumes _prev is the first non-local label 0x10 bytes before L1 - * 10 00 00 00 00 00 00 00 - * - * (arm64_32 only) - * .long _foo - _bar - * r_type=ARM64_RELOC_SUBTRACTOR, r_length=2, r_extern=1, r_pcrel=0, r_symbolnum=_bar - * r_type=ARM64_RELOC_UNSIGNED, r_length=2, r_extern=1, r_pcrel=0, r_symbolnum=_foo - * 00 00 00 00 - * - * (arm64_32 only) - * .long _foo - _bar + 4 - * r_type=ARM64_RELOC_SUBTRACTOR, r_length=2, r_extern=1, r_pcrel=0, r_symbolnum=_bar - * r_type=ARM64_RELOC_UNSIGNED, r_length=2, r_extern=1, r_pcrel=0, r_symbolnum=_foo - * 04 00 00 00 - * - * .quad _foo - _bar - * r_type=ARM64_RELOC_SUBTRACTOR, r_length=3, r_extern=1, r_pcrel=0, r_symbolnum=_bar - * r_type=ARM64_RELOC_UNSIGNED, r_length=3, r_extern=1, r_pcrel=0, r_symbolnum=_foo - * 00 00 00 00 00 00 00 00 - * - * .quad _foo - _bar + 4 - * r_type=ARM64_RELOC_SUBTRACTOR, r_length=3, r_extern=1, r_pcrel=0, r_symbolnum=_bar - * r_type=ARM64_RELOC_UNSIGNED, r_length=3, r_extern=1, r_pcrel=0, r_symbolnum=_foo - * 04 00 00 00 00 00 00 00 - * - * .long _foo - . - * r_type=ARM64_RELOC_SUBTRACTOR, r_length=2, r_extern=1, r_pcrel=0, r_symbolnum=_prev - * r_type=ARM64_RELOC_UNSIGNED, r_length=2, r_extern=1, r_pcrel=0, r_symbolnum=_foo - * f8 ff ff ff - * // assumes _prev is the first non-local label 0x8 bytes before this - * // .quad - * - * .long _foo - L1 - * r_type=ARM64_RELOC_SUBTRACTOR, r_length=2, r_extern=1, r_pcrel=0, r_symbolnum=_prev - * r_type=ARM64_RELOC_UNSIGNED, r_length=2, r_extern=1, r_pcrel=0, r_symbolnum=_foo - * f8 ff ff ff - * // assumes _prev is the first non-local label 0x8 bytes before L1 - * - * .quad _foo - . - * r_type=ARM64_RELOC_SUBTRACTOR, r_length=3, r_extern=1, r_pcrel=0, r_symbolnum=_prev - * r_type=ARM64_RELOC_UNSIGNED, r_length=3, r_extern=1, r_pcrel=0, r_symbolnum=_foo - * f8 ff ff ff ff ff ff ff - * // assumes _prev is the first non-local label 0x8 bytes before this - * // .quad - * - * .quad _foo - L1 - * r_type=ARM64_RELOC_SUBTRACTOR, r_length=3, r_extern=1, r_pcrel=0, r_symbolnum=_prev - * r_type=ARM64_RELOC_UNSIGNED, r_length=3, r_extern=1, r_pcrel=0, r_symbolnum=_foo - * f8 ff ff ff ff ff ff ff - * // assumes _prev is the first non-local label 0x8 bytes before L1 - * - * .long L1 - _prev - * // No relocations. This is an assembly time constant. - * 12 00 00 00 00 00 00 00 - * // assumes _prev is the first non-local label 0x12 bytes before L1 - * - * .quad L1 - _prev - * // No relocations. This is an assembly time constant. - * 12 00 00 00 00 00 00 00 - * // assumes _prev is the first non-local label 0x12 bytes before L1 - * - * bl _foo - * r_type=ARM64_RELOC_BRANCH26, r_length=2, r_extern=1, r_pcrel=1, r_symbolnum=_foo - * 0x14000000 - * - * bl _foo + 4 - * r_type=ARM64_RELOC_ADDEND, r_length=2, r_extern=0, r_pcrel=0, r_symbolnum=0x000004 - * r_type=ARM64_RELOC_BRANCH26, r_length=2, r_extern=1, r_pcrel=1, r_symbolnum=_foo - * 0x14000000 - * - * adrp x0, _foo@PAGE - * r_type=ARM64_RELOC_PAGE21, r_length=2, r_extern=1, r_pcrel=1, r_symbolnum=_foo - * 0x90000000 - * - * ldr x0, [x0, _foo@PAGEOFF] - * r_type=ARM64_RELOC_PAGEOFF12, r_length=2, r_extern=1, r_pcrel=0, r_symbolnum=_foo - * 0xf9400000 - * - * adrp x0, _foo@PAGE + 0x24 - * r_type=ARM64_RELOC_ADDEND, r_length=2, r_extern=0, r_pcrel=0, r_symbolnum=0x000024 - * r_type=ARM64_RELOC_PAGE21, r_length=2, r_extern=1, r_pcrel=1, r_symbolnum=_foo - * 0x90000000 - * - * ldr x0, [x0, _foo@PAGEOFF + 0x24] - * r_type=ARM64_RELOC_ADDEND, r_length=2, r_extern=0, r_pcrel=0, r_symbolnum=0x000024 - * r_type=ARM64_RELOC_PAGEOFF12, r_length=2, r_extern=1, r_pcrel=0, r_symbolnum=_foo - * 0xf9400000 - * - * adrp x0, _foo@GOTPAGE - * r_type=ARM64_RELOC_GOT_LOAD_PAGE21, r_length=2, r_extern=1, r_pcrel=1, r_symbolnum=_foo - * 0x90000000 - * - * ldr x0, [x0, _foo@GOTPAGEOFF] - * r_type=ARM64_RELOC_GOT_LOAD_PAGEOFF12, r_length=2, r_extern=1, r_pcrel=0, r_symbolnum=_foo - * 0xf9400000 - * - * adrp x0, _foo@TLVPPAGE - * r_type=ARM64_RELOC_TLVP_LOAD_PAGE21, r_length=2, r_extern=1, r_pcrel=1, r_symbolnum=_foo - * 0x90000000 - * - * ldr x0, [x0, _foo@TLVPPAGEOFF] - * r_type=ARM64_RELOC_TLVP_LOAD_PAGEOFF12, r_length=2, r_extern=1, r_pcrel=0, r_symbolnum=_foo - * 0xf9400000 - * - * .long _foo@GOT - . - * r_type=ARM64_RELOC_POINTER_TO_GOT, r_length=2, r_extern=1, r_pcrel=1, r_symbolnum=_foo - * 00 00 00 00 - * - * (arm64_32 only) - * .long _foo@GOT - * r_type=ARM64_RELOC_POINTER_TO_GOT, r_length=2, r_extern=1, r_pcrel=0, r_symbolnum=_foo - * 00 00 00 00 - * - * .quad _foo@GOT - * r_type=ARM64_RELOC_POINTER_TO_GOT, r_length=3, r_extern=1, r_pcrel=0, r_symbolnum=_foo - * 00 00 00 00 00 00 00 00 - * - * (arm64e only) - * .quad _foo@AUTH(da,5,addr) - * r_type=ARM64_RELOC_AUTHENTICATED_POINTER, r_length=3, r_extern=1, r_pcrel=0, r_symbolnum=_foo - * 00 00 00 00 05 00 05 80 - * - * (arm64e only) - * .quad (_foo + 0x10)@AUTH(da,5,addr) - * r_type=ARM64_RELOC_AUTHENTICATED_POINTER, r_length=3, r_extern=1, r_pcrel=0, r_symbolnum=_foo - * 10 00 00 00 05 00 05 80 - * - * - */ -enum reloc_type_arm64 -{ - ARM64_RELOC_UNSIGNED, // for pointers - ARM64_RELOC_SUBTRACTOR, // must be followed by a ARM64_RELOC_UNSIGNED - ARM64_RELOC_BRANCH26, // a B/BL instruction with 26-bit displacement - ARM64_RELOC_PAGE21, // pc-rel distance to page of target - ARM64_RELOC_PAGEOFF12, // offset within page, scaled by r_length - ARM64_RELOC_GOT_LOAD_PAGE21, // pc-rel distance to page of GOT slot - ARM64_RELOC_GOT_LOAD_PAGEOFF12, // offset within page of GOT slot, - // scaled by r_length - ARM64_RELOC_POINTER_TO_GOT, // for pointers to GOT slots - ARM64_RELOC_TLVP_LOAD_PAGE21, // pc-rel distance to page of TLVP slot - ARM64_RELOC_TLVP_LOAD_PAGEOFF12, // offset within page of TLVP slot, - // scaled by r_length - ARM64_RELOC_ADDEND, // must be followed by PAGE21 or PAGEOFF12 - - // An arm64e authenticated pointer. - // - // Represents a pointer to a symbol (like ARM64_RELOC_UNSIGNED). - // Additionally, the resulting pointer is signed. The signature is - // specified in the target location: the addend is restricted to the lower - // 32 bits (instead of the full 64 bits for ARM64_RELOC_UNSIGNED): - // - // |63|62|61-51|50-49| 48 |47 - 32|31 - 0| - // | 1| 0| 0 | key | addr | discriminator | addend | - // - // The key is one of: - // IA: 00 IB: 01 - // DA: 10 DB: 11 - // - // The discriminator field is used as extra signature diversification. - // - // The addr field indicates whether the target address should be blended - // into the discriminator. - // - ARM64_RELOC_AUTHENTICATED_POINTER, -}; - -#endif /* #ifndef _MACHO_ARM64_RELOC_H_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.13-any/mach-o/compact_unwind_encoding.h b/lib/libc/include/any-macos.13-any/mach-o/compact_unwind_encoding.h deleted file mode 100644 index 4194a1e4aa..0000000000 --- a/lib/libc/include/any-macos.13-any/mach-o/compact_unwind_encoding.h +++ /dev/null @@ -1,532 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -// -// Darwin's alternative to DWARF based unwind encodings. -// -//===----------------------------------------------------------------------===// - - -#ifndef __COMPACT_UNWIND_ENCODING__ -#define __COMPACT_UNWIND_ENCODING__ - -#include - -// -// Compilers can emit standard DWARF FDEs in the __TEXT,__eh_frame section -// of object files. Or compilers can emit compact unwind information in -// the __LD,__compact_unwind section. -// -// When the linker creates a final linked image, it will create a -// __TEXT,__unwind_info section. This section is a small and fast way for the -// runtime to access unwind info for any given function. If the compiler -// emitted compact unwind info for the function, that compact unwind info will -// be encoded in the __TEXT,__unwind_info section. If the compiler emitted -// DWARF unwind info, the __TEXT,__unwind_info section will contain the offset -// of the FDE in the __TEXT,__eh_frame section in the final linked image. -// -// Note: Previously, the linker would transform some DWARF unwind infos into -// compact unwind info. But that is fragile and no longer done. - - -// -// The compact unwind endoding is a 32-bit value which encoded in an -// architecture specific way, which registers to restore from where, and how -// to unwind out of the function. -// -typedef uint32_t compact_unwind_encoding_t; - - -// architecture independent bits -enum { - UNWIND_IS_NOT_FUNCTION_START = 0x80000000, - UNWIND_HAS_LSDA = 0x40000000, - UNWIND_PERSONALITY_MASK = 0x30000000, -}; - - - - -// -// x86 -// -// 1-bit: start -// 1-bit: has lsda -// 2-bit: personality index -// -// 4-bits: 0=old, 1=ebp based, 2=stack-imm, 3=stack-ind, 4=DWARF -// ebp based: -// 15-bits (5*3-bits per reg) register permutation -// 8-bits for stack offset -// frameless: -// 8-bits stack size -// 3-bits stack adjust -// 3-bits register count -// 10-bits register permutation -// -enum { - UNWIND_X86_MODE_MASK = 0x0F000000, - UNWIND_X86_MODE_EBP_FRAME = 0x01000000, - UNWIND_X86_MODE_STACK_IMMD = 0x02000000, - UNWIND_X86_MODE_STACK_IND = 0x03000000, - UNWIND_X86_MODE_DWARF = 0x04000000, - - UNWIND_X86_EBP_FRAME_REGISTERS = 0x00007FFF, - UNWIND_X86_EBP_FRAME_OFFSET = 0x00FF0000, - - UNWIND_X86_FRAMELESS_STACK_SIZE = 0x00FF0000, - UNWIND_X86_FRAMELESS_STACK_ADJUST = 0x0000E000, - UNWIND_X86_FRAMELESS_STACK_REG_COUNT = 0x00001C00, - UNWIND_X86_FRAMELESS_STACK_REG_PERMUTATION = 0x000003FF, - - UNWIND_X86_DWARF_SECTION_OFFSET = 0x00FFFFFF, -}; - -enum { - UNWIND_X86_REG_NONE = 0, - UNWIND_X86_REG_EBX = 1, - UNWIND_X86_REG_ECX = 2, - UNWIND_X86_REG_EDX = 3, - UNWIND_X86_REG_EDI = 4, - UNWIND_X86_REG_ESI = 5, - UNWIND_X86_REG_EBP = 6, -}; - -// -// For x86 there are four modes for the compact unwind encoding: -// UNWIND_X86_MODE_EBP_FRAME: -// EBP based frame where EBP is push on stack immediately after return address, -// then ESP is moved to EBP. Thus, to unwind ESP is restored with the current -// EPB value, then EBP is restored by popping off the stack, and the return -// is done by popping the stack once more into the pc. -// All non-volatile registers that need to be restored must have been saved -// in a small range in the stack that starts EBP-4 to EBP-1020. The offset/4 -// is encoded in the UNWIND_X86_EBP_FRAME_OFFSET bits. The registers saved -// are encoded in the UNWIND_X86_EBP_FRAME_REGISTERS bits as five 3-bit entries. -// Each entry contains which register to restore. -// UNWIND_X86_MODE_STACK_IMMD: -// A "frameless" (EBP not used as frame pointer) function with a small -// constant stack size. To return, a constant (encoded in the compact -// unwind encoding) is added to the ESP. Then the return is done by -// popping the stack into the pc. -// All non-volatile registers that need to be restored must have been saved -// on the stack immediately after the return address. The stack_size/4 is -// encoded in the UNWIND_X86_FRAMELESS_STACK_SIZE (max stack size is 1024). -// The number of registers saved is encoded in UNWIND_X86_FRAMELESS_STACK_REG_COUNT. -// UNWIND_X86_FRAMELESS_STACK_REG_PERMUTATION constains which registers were -// saved and their order. -// UNWIND_X86_MODE_STACK_IND: -// A "frameless" (EBP not used as frame pointer) function large constant -// stack size. This case is like the previous, except the stack size is too -// large to encode in the compact unwind encoding. Instead it requires that -// the function contains "subl $nnnnnnnn,ESP" in its prolog. The compact -// encoding contains the offset to the nnnnnnnn value in the function in -// UNWIND_X86_FRAMELESS_STACK_SIZE. -// UNWIND_X86_MODE_DWARF: -// No compact unwind encoding is available. Instead the low 24-bits of the -// compact encoding is the offset of the DWARF FDE in the __eh_frame section. -// This mode is never used in object files. It is only generated by the -// linker in final linked images which have only DWARF unwind info for a -// function. -// -// The permutation encoding is a Lehmer code sequence encoded into a -// single variable-base number so we can encode the ordering of up to -// six registers in a 10-bit space. -// -// The following is the algorithm used to create the permutation encoding used -// with frameless stacks. It is passed the number of registers to be saved and -// an array of the register numbers saved. -// -//uint32_t permute_encode(uint32_t registerCount, const uint32_t registers[6]) -//{ -// uint32_t renumregs[6]; -// for (int i=6-registerCount; i < 6; ++i) { -// int countless = 0; -// for (int j=6-registerCount; j < i; ++j) { -// if ( registers[j] < registers[i] ) -// ++countless; -// } -// renumregs[i] = registers[i] - countless -1; -// } -// uint32_t permutationEncoding = 0; -// switch ( registerCount ) { -// case 6: -// permutationEncoding |= (120*renumregs[0] + 24*renumregs[1] -// + 6*renumregs[2] + 2*renumregs[3] -// + renumregs[4]); -// break; -// case 5: -// permutationEncoding |= (120*renumregs[1] + 24*renumregs[2] -// + 6*renumregs[3] + 2*renumregs[4] -// + renumregs[5]); -// break; -// case 4: -// permutationEncoding |= (60*renumregs[2] + 12*renumregs[3] -// + 3*renumregs[4] + renumregs[5]); -// break; -// case 3: -// permutationEncoding |= (20*renumregs[3] + 4*renumregs[4] -// + renumregs[5]); -// break; -// case 2: -// permutationEncoding |= (5*renumregs[4] + renumregs[5]); -// break; -// case 1: -// permutationEncoding |= (renumregs[5]); -// break; -// } -// return permutationEncoding; -//} -// - - - - -// -// x86_64 -// -// 1-bit: start -// 1-bit: has lsda -// 2-bit: personality index -// -// 4-bits: 0=old, 1=rbp based, 2=stack-imm, 3=stack-ind, 4=DWARF -// rbp based: -// 15-bits (5*3-bits per reg) register permutation -// 8-bits for stack offset -// frameless: -// 8-bits stack size -// 3-bits stack adjust -// 3-bits register count -// 10-bits register permutation -// -enum { - UNWIND_X86_64_MODE_MASK = 0x0F000000, - UNWIND_X86_64_MODE_RBP_FRAME = 0x01000000, - UNWIND_X86_64_MODE_STACK_IMMD = 0x02000000, - UNWIND_X86_64_MODE_STACK_IND = 0x03000000, - UNWIND_X86_64_MODE_DWARF = 0x04000000, - - UNWIND_X86_64_RBP_FRAME_REGISTERS = 0x00007FFF, - UNWIND_X86_64_RBP_FRAME_OFFSET = 0x00FF0000, - - UNWIND_X86_64_FRAMELESS_STACK_SIZE = 0x00FF0000, - UNWIND_X86_64_FRAMELESS_STACK_ADJUST = 0x0000E000, - UNWIND_X86_64_FRAMELESS_STACK_REG_COUNT = 0x00001C00, - UNWIND_X86_64_FRAMELESS_STACK_REG_PERMUTATION = 0x000003FF, - - UNWIND_X86_64_DWARF_SECTION_OFFSET = 0x00FFFFFF, -}; - -enum { - UNWIND_X86_64_REG_NONE = 0, - UNWIND_X86_64_REG_RBX = 1, - UNWIND_X86_64_REG_R12 = 2, - UNWIND_X86_64_REG_R13 = 3, - UNWIND_X86_64_REG_R14 = 4, - UNWIND_X86_64_REG_R15 = 5, - UNWIND_X86_64_REG_RBP = 6, -}; -// -// For x86_64 there are four modes for the compact unwind encoding: -// UNWIND_X86_64_MODE_RBP_FRAME: -// RBP based frame where RBP is push on stack immediately after return address, -// then RSP is moved to RBP. Thus, to unwind RSP is restored with the current -// EPB value, then RBP is restored by popping off the stack, and the return -// is done by popping the stack once more into the pc. -// All non-volatile registers that need to be restored must have been saved -// in a small range in the stack that starts RBP-8 to RBP-2040. The offset/8 -// is encoded in the UNWIND_X86_64_RBP_FRAME_OFFSET bits. The registers saved -// are encoded in the UNWIND_X86_64_RBP_FRAME_REGISTERS bits as five 3-bit entries. -// Each entry contains which register to restore. -// UNWIND_X86_64_MODE_STACK_IMMD: -// A "frameless" (RBP not used as frame pointer) function with a small -// constant stack size. To return, a constant (encoded in the compact -// unwind encoding) is added to the RSP. Then the return is done by -// popping the stack into the pc. -// All non-volatile registers that need to be restored must have been saved -// on the stack immediately after the return address. The stack_size/8 is -// encoded in the UNWIND_X86_64_FRAMELESS_STACK_SIZE (max stack size is 2048). -// The number of registers saved is encoded in UNWIND_X86_64_FRAMELESS_STACK_REG_COUNT. -// UNWIND_X86_64_FRAMELESS_STACK_REG_PERMUTATION constains which registers were -// saved and their order. -// UNWIND_X86_64_MODE_STACK_IND: -// A "frameless" (RBP not used as frame pointer) function large constant -// stack size. This case is like the previous, except the stack size is too -// large to encode in the compact unwind encoding. Instead it requires that -// the function contains "subq $nnnnnnnn,RSP" in its prolog. The compact -// encoding contains the offset to the nnnnnnnn value in the function in -// UNWIND_X86_64_FRAMELESS_STACK_SIZE. -// UNWIND_X86_64_MODE_DWARF: -// No compact unwind encoding is available. Instead the low 24-bits of the -// compact encoding is the offset of the DWARF FDE in the __eh_frame section. -// This mode is never used in object files. It is only generated by the -// linker in final linked images which have only DWARF unwind info for a -// function. -// - - -// ARM64 -// -// 1-bit: start -// 1-bit: has lsda -// 2-bit: personality index -// -// 4-bits: 4=frame-based, 3=DWARF, 2=frameless -// frameless: -// 12-bits of stack size -// frame-based: -// 4-bits D reg pairs saved -// 5-bits X reg pairs saved -// DWARF: -// 24-bits offset of DWARF FDE in __eh_frame section -// -enum { - UNWIND_ARM64_MODE_MASK = 0x0F000000, - UNWIND_ARM64_MODE_FRAMELESS = 0x02000000, - UNWIND_ARM64_MODE_DWARF = 0x03000000, - UNWIND_ARM64_MODE_FRAME = 0x04000000, - - UNWIND_ARM64_FRAME_X19_X20_PAIR = 0x00000001, - UNWIND_ARM64_FRAME_X21_X22_PAIR = 0x00000002, - UNWIND_ARM64_FRAME_X23_X24_PAIR = 0x00000004, - UNWIND_ARM64_FRAME_X25_X26_PAIR = 0x00000008, - UNWIND_ARM64_FRAME_X27_X28_PAIR = 0x00000010, - UNWIND_ARM64_FRAME_D8_D9_PAIR = 0x00000100, - UNWIND_ARM64_FRAME_D10_D11_PAIR = 0x00000200, - UNWIND_ARM64_FRAME_D12_D13_PAIR = 0x00000400, - UNWIND_ARM64_FRAME_D14_D15_PAIR = 0x00000800, - - UNWIND_ARM64_FRAMELESS_STACK_SIZE_MASK = 0x00FFF000, - UNWIND_ARM64_DWARF_SECTION_OFFSET = 0x00FFFFFF, -}; -// For arm64 there are three modes for the compact unwind encoding: -// UNWIND_ARM64_MODE_FRAME: -// This is a standard arm64 prolog where FP/LR are immediately pushed on the -// stack, then SP is copied to FP. If there are any non-volatile registers -// saved, then are copied into the stack frame in pairs in a contiguous -// range right below the saved FP/LR pair. Any subset of the five X pairs -// and four D pairs can be saved, but the memory layout must be in register -// number order. -// UNWIND_ARM64_MODE_FRAMELESS: -// A "frameless" leaf function, where FP/LR are not saved. The return address -// remains in LR throughout the function. If any non-volatile registers -// are saved, they must be pushed onto the stack before any stack space is -// allocated for local variables. The stack sized (including any saved -// non-volatile registers) divided by 16 is encoded in the bits -// UNWIND_ARM64_FRAMELESS_STACK_SIZE_MASK. -// UNWIND_ARM64_MODE_DWARF: -// No compact unwind encoding is available. Instead the low 24-bits of the -// compact encoding is the offset of the DWARF FDE in the __eh_frame section. -// This mode is never used in object files. It is only generated by the -// linker in final linked images which have only DWARF unwind info for a -// function. -// - - -#ifndef __OPEN_SOURCE__ -// -// armv7k -// -// 1-bit: start -// 1-bit: has lsda -// 2-bit: personality index -// -// 4-bits: 1=frame, 2=frame+dregs, 4=dwarf -// -enum { - UNWIND_ARM_MODE_MASK = 0x0F000000, - UNWIND_ARM_MODE_FRAME = 0x01000000, - UNWIND_ARM_MODE_FRAME_D = 0x02000000, - UNWIND_ARM_MODE_DWARF = 0x04000000, - - UNWIND_ARM_FRAME_STACK_ADJUST_MASK = 0x00C00000, - - UNWIND_ARM_FRAME_FIRST_PUSH_R4 = 0x00000001, - UNWIND_ARM_FRAME_FIRST_PUSH_R5 = 0x00000002, - UNWIND_ARM_FRAME_FIRST_PUSH_R6 = 0x00000004, - - UNWIND_ARM_FRAME_SECOND_PUSH_R8 = 0x00000008, - UNWIND_ARM_FRAME_SECOND_PUSH_R9 = 0x00000010, - UNWIND_ARM_FRAME_SECOND_PUSH_R10 = 0x00000020, - UNWIND_ARM_FRAME_SECOND_PUSH_R11 = 0x00000040, - UNWIND_ARM_FRAME_SECOND_PUSH_R12 = 0x00000080, - - UNWIND_ARM_FRAME_D_REG_COUNT_MASK = 0x00000700, - - UNWIND_ARM_DWARF_SECTION_OFFSET = 0x00FFFFFF, -}; -// For armv7k there are three modes for the compact unwind encoding: -// UNWIND_ARM_MODE_FRAME: -// This is a standard arm prolog where lr/r7 are immediately pushed on the -// stack. As part of that first push r4, r5, or r6 can be also pushed -// and if so the FIRST_PUSH bit is set in the compact unwind. Additionally -// there can be a second push multiple which can save r8 through r12. -// If that is used, the registers saved is recorded with a SECOND_PUSH bit. -// Lastly, for var-args support, the prolog may save r1, r2, r3 to the -// stack before the frame push. If that is done the STACK_ADJUST_MASK -// records that the stack pointer must be adjust (e.g 0x00800000 means -// the stack pointer was adjusted 8 bytes down and the unwinder would -// need to add back 8 bytes to SP when unwinding through this function. -// UNWIND_ARM_MODE_FRAME_D: -// This is the same as UNWIND_ARM_MODE_FRAME, except that additionally -// some D registers were saved. The D_REG_COUNT_MASK contains which -// set if D registers were saved and where. There are currently 8 (0-7) -// possible D register save patterns supported. -// UNWIND_ARM_MODE_DWARF: -// No compact unwind encoding is available. Instead the low 24-bits of the -// compact encoding is the offset of the dwarf FDE in the __eh_frame section. -// The offset only exists in final linked images. It is zero in object files. -#endif - - - - - -//////////////////////////////////////////////////////////////////////////////// -// -// Relocatable Object Files: __LD,__compact_unwind -// -//////////////////////////////////////////////////////////////////////////////// - -// -// A compiler can generated compact unwind information for a function by adding -// a "row" to the __LD,__compact_unwind section. This section has the -// S_ATTR_DEBUG bit set, so the section will be ignored by older linkers. -// It is removed by the new linker, so never ends up in final executables. -// This section is a table, initially with one row per function (that needs -// unwind info). The table columns and some conceptual entries are: -// -// range-start pointer to start of function/range -// range-length -// compact-unwind-encoding 32-bit encoding -// personality-function or zero if no personality function -// lsda or zero if no LSDA data -// -// The length and encoding fields are 32-bits. The other are all pointer sized. -// -// In x86_64 assembly, these entry would look like: -// -// .section __LD,__compact_unwind,regular,debug -// -// #compact unwind for _foo -// .quad _foo -// .set L1,LfooEnd-_foo -// .long L1 -// .long 0x01010001 -// .quad 0 -// .quad 0 -// -// #compact unwind for _bar -// .quad _bar -// .set L2,LbarEnd-_bar -// .long L2 -// .long 0x01020011 -// .quad __gxx_personality -// .quad except_tab1 -// -// -// Notes: There is no need for any labels in the the __compact_unwind section. -// The use of the .set directive is to force the evaluation of the -// range-length at assembly time, instead of generating relocations. -// -// To support future compiler optimizations where which non-volatile registers -// are saved changes within a function (e.g. delay saving non-volatiles until -// necessary), there can by multiple lines in the __compact_unwind table for one -// function, each with a different (non-overlapping) range and each with -// different compact unwind encodings that correspond to the non-volatiles -// saved at that range of the function. -// -// If a particular function is so wacky that there is no compact unwind way -// to encode it, then the compiler can emit traditional DWARF unwind info. -// The runtime will use which ever is available. -// -// Runtime support for compact unwind encodings are only available on 10.6 -// and later. So, the compiler should not generate it when targeting pre-10.6. - - - - -//////////////////////////////////////////////////////////////////////////////// -// -// Final Linked Images: __TEXT,__unwind_info -// -//////////////////////////////////////////////////////////////////////////////// - -// -// The __TEXT,__unwind_info section is laid out for an efficient two level lookup. -// The header of the section contains a coarse index that maps function address -// to the page (4096 byte block) containing the unwind info for that function. -// - -#define UNWIND_SECTION_VERSION 1 -struct unwind_info_section_header -{ - uint32_t version; // UNWIND_SECTION_VERSION - uint32_t commonEncodingsArraySectionOffset; - uint32_t commonEncodingsArrayCount; - uint32_t personalityArraySectionOffset; - uint32_t personalityArrayCount; - uint32_t indexSectionOffset; - uint32_t indexCount; - // compact_unwind_encoding_t[] - // uint32_t personalities[] - // unwind_info_section_header_index_entry[] - // unwind_info_section_header_lsda_index_entry[] -}; - -struct unwind_info_section_header_index_entry -{ - uint32_t functionOffset; - uint32_t secondLevelPagesSectionOffset; // section offset to start of regular or compress page - uint32_t lsdaIndexArraySectionOffset; // section offset to start of lsda_index array for this range -}; - -struct unwind_info_section_header_lsda_index_entry -{ - uint32_t functionOffset; - uint32_t lsdaOffset; -}; - -// -// There are two kinds of second level index pages: regular and compressed. -// A compressed page can hold up to 1021 entries, but it cannot be used -// if too many different encoding types are used. The regular page holds -// 511 entries. -// - -struct unwind_info_regular_second_level_entry -{ - uint32_t functionOffset; - compact_unwind_encoding_t encoding; -}; - -#define UNWIND_SECOND_LEVEL_REGULAR 2 -struct unwind_info_regular_second_level_page_header -{ - uint32_t kind; // UNWIND_SECOND_LEVEL_REGULAR - uint16_t entryPageOffset; - uint16_t entryCount; - // entry array -}; - -#define UNWIND_SECOND_LEVEL_COMPRESSED 3 -struct unwind_info_compressed_second_level_page_header -{ - uint32_t kind; // UNWIND_SECOND_LEVEL_COMPRESSED - uint16_t entryPageOffset; - uint16_t entryCount; - uint16_t encodingsPageOffset; - uint16_t encodingsCount; - // 32-bit entry array - // encodings array -}; - -#define UNWIND_INFO_COMPRESSED_ENTRY_FUNC_OFFSET(entry) (entry & 0x00FFFFFF) -#define UNWIND_INFO_COMPRESSED_ENTRY_ENCODING_INDEX(entry) ((entry >> 24) & 0xFF) - - - -#endif \ No newline at end of file diff --git a/lib/libc/include/any-macos.13-any/mach-o/fat.h b/lib/libc/include/any-macos.13-any/mach-o/fat.h deleted file mode 100644 index 415664cc91..0000000000 --- a/lib/libc/include/any-macos.13-any/mach-o/fat.h +++ /dev/null @@ -1,89 +0,0 @@ -/* - * Copyright (c) 2016 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 _MACH_O_FAT_H_ -#define _MACH_O_FAT_H_ -/* - * This header file describes the structures of the file format for "fat" - * architecture specific file (wrapper design). At the begining of the file - * there is one fat_header structure followed by a number of fat_arch - * structures. For each architecture in the file, specified by a pair of - * cputype and cpusubtype, the fat_header describes the file offset, file - * size and alignment in the file of the architecture specific member. - * The padded bytes in the file to place each member on it's specific alignment - * are defined to be read as zeros and can be left as "holes" if the file system - * can support them as long as they read as zeros. - * - * All structures defined here are always written and read to/from disk - * in big-endian order. - */ - -/* - * is needed here for the cpu_type_t and cpu_subtype_t types - * and contains the constants for the possible values of these types. - */ -#include - -#if __has_include() -#include -#endif - -#if __has_include() -#include -#endif - -#define FAT_MAGIC 0xcafebabe -#define FAT_CIGAM 0xbebafeca /* NXSwapLong(FAT_MAGIC) */ - -struct fat_header { - uint32_t magic; /* FAT_MAGIC or FAT_MAGIC_64 */ - uint32_t nfat_arch; /* number of structs that follow */ -}; - -struct fat_arch { - int32_t cputype; /* cpu specifier (int) */ - int32_t cpusubtype; /* machine specifier (int) */ - uint32_t offset; /* file offset to this object file */ - uint32_t size; /* size of this object file */ - uint32_t align; /* alignment as a power of 2 */ -}; - -/* - * The support for the 64-bit fat file format described here is a work in - * progress and not yet fully supported in all the Apple Developer Tools. - * - * When a slice is greater than 4mb or an offset to a slice is greater than 4mb - * then the 64-bit fat file format is used. - */ -#define FAT_MAGIC_64 0xcafebabf -#define FAT_CIGAM_64 0xbfbafeca /* NXSwapLong(FAT_MAGIC_64) */ - -struct fat_arch_64 { - int32_t cputype; /* cpu specifier (int) */ - int32_t cpusubtype; /* machine specifier (int) */ - uint64_t offset; /* file offset to this object file */ - uint64_t size; /* size of this object file */ - uint32_t align; /* alignment as a power of 2 */ - uint32_t reserved; /* reserved */ -}; - -#endif /* _MACH_O_FAT_H_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.13-any/mach/host_special_ports.h b/lib/libc/include/any-macos.13-any/mach/host_special_ports.h deleted file mode 100644 index 6b73217bbe..0000000000 --- a/lib/libc/include/any-macos.13-any/mach/host_special_ports.h +++ /dev/null @@ -1,295 +0,0 @@ -/* - * Copyright (c) 2003 Apple Computer, 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@ - */ -/* - * @OSF_COPYRIGHT@ - */ -/* - * Mach Operating System - * Copyright (c) 1991 Carnegie Mellon University - * All Rights Reserved. - * - * Permission to use, copy, modify and distribute this software and its - * documentation is hereby granted, provided that both the copyright - * notice and this permission notice appear in all copies of the - * software, derivative works or modified versions, and any portions - * thereof, and that both notices appear in supporting documentation. - * - * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" - * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR - * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. - * - * Carnegie Mellon requests users of this software to return to - * - * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU - * School of Computer Science - * Carnegie Mellon University - * Pittsburgh PA 15213-3890 - * - * any improvements or extensions that they make and grant Carnegie Mellon - * the rights to redistribute these changes. - */ -/* - */ -/* - * File: mach/host_special_ports.h - * - * Defines codes for access to host-wide special ports. - */ - -#ifndef _MACH_HOST_SPECIAL_PORTS_H_ -#define _MACH_HOST_SPECIAL_PORTS_H_ - -/* - * Cannot be set or gotten from user space - */ -#define HOST_SECURITY_PORT 0 - -#define HOST_MIN_SPECIAL_PORT HOST_SECURITY_PORT - -/* - * Always provided by kernel (cannot be set from user-space). - */ -#define HOST_PORT 1 -#define HOST_PRIV_PORT 2 -#define HOST_IO_MAIN_PORT 3 -#define HOST_MAX_SPECIAL_KERNEL_PORT 7 /* room to grow */ - -#define HOST_LAST_SPECIAL_KERNEL_PORT HOST_IO_MAIN_PORT - -/* - * Not provided by kernel - */ -#define HOST_DYNAMIC_PAGER_PORT (1 + HOST_MAX_SPECIAL_KERNEL_PORT) -#define HOST_AUDIT_CONTROL_PORT (2 + HOST_MAX_SPECIAL_KERNEL_PORT) -#define HOST_USER_NOTIFICATION_PORT (3 + HOST_MAX_SPECIAL_KERNEL_PORT) -#define HOST_AUTOMOUNTD_PORT (4 + HOST_MAX_SPECIAL_KERNEL_PORT) -#define HOST_LOCKD_PORT (5 + HOST_MAX_SPECIAL_KERNEL_PORT) -#define HOST_KTRACE_BACKGROUND_PORT (6 + HOST_MAX_SPECIAL_KERNEL_PORT) -#define HOST_SEATBELT_PORT (7 + HOST_MAX_SPECIAL_KERNEL_PORT) -#define HOST_KEXTD_PORT (8 + HOST_MAX_SPECIAL_KERNEL_PORT) -#define HOST_LAUNCHCTL_PORT (9 + HOST_MAX_SPECIAL_KERNEL_PORT) -#define HOST_UNFREED_PORT (10 + HOST_MAX_SPECIAL_KERNEL_PORT) -#define HOST_AMFID_PORT (11 + HOST_MAX_SPECIAL_KERNEL_PORT) -#define HOST_GSSD_PORT (12 + HOST_MAX_SPECIAL_KERNEL_PORT) -#define HOST_TELEMETRY_PORT (13 + HOST_MAX_SPECIAL_KERNEL_PORT) -#define HOST_ATM_NOTIFICATION_PORT (14 + HOST_MAX_SPECIAL_KERNEL_PORT) -#define HOST_COALITION_PORT (15 + HOST_MAX_SPECIAL_KERNEL_PORT) -#define HOST_SYSDIAGNOSE_PORT (16 + HOST_MAX_SPECIAL_KERNEL_PORT) -#define HOST_XPC_EXCEPTION_PORT (17 + HOST_MAX_SPECIAL_KERNEL_PORT) -#define HOST_CONTAINERD_PORT (18 + HOST_MAX_SPECIAL_KERNEL_PORT) -#define HOST_NODE_PORT (19 + HOST_MAX_SPECIAL_KERNEL_PORT) -#define HOST_RESOURCE_NOTIFY_PORT (20 + HOST_MAX_SPECIAL_KERNEL_PORT) -#define HOST_CLOSURED_PORT (21 + HOST_MAX_SPECIAL_KERNEL_PORT) -#define HOST_SYSPOLICYD_PORT (22 + HOST_MAX_SPECIAL_KERNEL_PORT) -#define HOST_FILECOORDINATIOND_PORT (23 + HOST_MAX_SPECIAL_KERNEL_PORT) -#define HOST_FAIRPLAYD_PORT (24 + HOST_MAX_SPECIAL_KERNEL_PORT) -#define HOST_IOCOMPRESSIONSTATS_PORT (25 + HOST_MAX_SPECIAL_KERNEL_PORT) -#define HOST_MEMORY_ERROR_PORT (26 + HOST_MAX_SPECIAL_KERNEL_PORT) - -#define HOST_MAX_SPECIAL_PORT HOST_MEMORY_ERROR_PORT -/* MAX = last since rdar://59872249 */ - -/* obsolete name */ -#define HOST_CHUD_PORT HOST_LAUNCHCTL_PORT - -/* - * Special node identifier to always represent the local node. - */ -#define HOST_LOCAL_NODE -1 - -/* - * Definitions for ease of use. - * - * In the get call, the host parameter can be any host, but will generally - * be the local node host port. In the set call, the host must the per-node - * host port for the node being affected. - */ -#define host_get_host_port(host, port) \ - (host_get_special_port((host), \ - HOST_LOCAL_NODE, HOST_PORT, (port))) -#define host_set_host_port(host, port) (KERN_INVALID_ARGUMENT) - -#define host_get_host_priv_port(host, port) \ - (host_get_special_port((host), \ - HOST_LOCAL_NODE, HOST_PRIV_PORT, (port))) -#define host_set_host_priv_port(host, port) (KERN_INVALID_ARGUMENT) - -#define host_get_io_main_port(host, port) \ - (host_get_special_port((host), \ - HOST_LOCAL_NODE, HOST_IO_MAIN_PORT, (port))) -#define host_set_io_main_port(host, port) (KERN_INVALID_ARGUMENT) - -/* - * User-settable special ports. - */ -#define host_get_dynamic_pager_port(host, port) \ - (host_get_special_port((host), \ - HOST_LOCAL_NODE, HOST_DYNAMIC_PAGER_PORT, (port))) -#define host_set_dynamic_pager_port(host, port) \ - (host_set_special_port((host), HOST_DYNAMIC_PAGER_PORT, (port))) - -#define host_get_audit_control_port(host, port) \ - (host_get_special_port((host), \ - HOST_LOCAL_NODE, HOST_AUDIT_CONTROL_PORT, (port))) -#define host_set_audit_control_port(host, port) \ - (host_set_special_port((host), HOST_AUDIT_CONTROL_PORT, (port))) - -#define host_get_user_notification_port(host, port) \ - (host_get_special_port((host), \ - HOST_LOCAL_NODE, HOST_USER_NOTIFICATION_PORT, (port))) -#define host_set_user_notification_port(host, port) \ - (host_set_special_port((host), HOST_USER_NOTIFICATION_PORT, (port))) - -#define host_get_automountd_port(host, port) \ - (host_get_special_port((host), \ - HOST_LOCAL_NODE, HOST_AUTOMOUNTD_PORT, (port))) -#define host_set_automountd_port(host, port) \ - (host_set_special_port((host), HOST_AUTOMOUNTD_PORT, (port))) - -#define host_get_lockd_port(host, port) \ - (host_get_special_port((host), \ - HOST_LOCAL_NODE, HOST_LOCKD_PORT, (port))) -#define host_set_lockd_port(host, port) \ - (host_set_special_port((host), HOST_LOCKD_PORT, (port))) - -#define host_get_ktrace_background_port(host, port) \ - (host_get_special_port((host), \ - HOST_LOCAL_NODE, HOST_KTRACE_BACKGROUND_PORT, (port))) -#define host_set_ktrace_background_port(host, port) \ - (host_set_special_port((host), HOST_KTRACE_BACKGROUND_PORT, (port))) - -#define host_get_kextd_port(host, port) \ - (host_get_special_port((host), \ - HOST_LOCAL_NODE, HOST_KEXTD_PORT, (port))) -#define host_set_kextd_port(host, port) \ - (host_set_special_port((host), HOST_KEXTD_PORT, (port))) - -#define host_get_launchctl_port(host, port) \ - (host_get_special_port((host), HOST_LOCAL_NODE, HOST_LAUNCHCTL_PORT, \ - (port))) -#define host_set_launchctl_port(host, port) \ - (host_set_special_port((host), HOST_LAUNCHCTL_PORT, (port))) - -#define host_get_chud_port(host, port) host_get_launchctl_port(host, port) -#define host_set_chud_port(host, port) host_set_launchctl_port(host, port) - -#define host_get_unfreed_port(host, port) \ - (host_get_special_port((host), \ - HOST_LOCAL_NODE, HOST_UNFREED_PORT, (port))) -#define host_set_unfreed_port(host, port) \ - (host_set_special_port((host), HOST_UNFREED_PORT, (port))) - -#define host_get_amfid_port(host, port) \ - (host_get_special_port((host), \ - HOST_LOCAL_NODE, HOST_AMFID_PORT, (port))) -#define host_set_amfid_port(host, port) \ - (host_set_special_port((host), HOST_AMFID_PORT, (port))) - -#define host_get_gssd_port(host, port) \ - (host_get_special_port((host), \ - HOST_LOCAL_NODE, HOST_GSSD_PORT, (port))) -#define host_set_gssd_port(host, port) \ - (host_set_special_port((host), HOST_GSSD_PORT, (port))) - -#define host_get_telemetry_port(host, port) \ - (host_get_special_port((host), \ - HOST_LOCAL_NODE, HOST_TELEMETRY_PORT, (port))) -#define host_set_telemetry_port(host, port) \ - (host_set_special_port((host), HOST_TELEMETRY_PORT, (port))) - -#define host_get_atm_notification_port(host, port) \ - (host_get_special_port((host), \ - HOST_LOCAL_NODE, HOST_ATM_NOTIFICATION_PORT, (port))) -#define host_set_atm_notification_port(host, port) \ - (host_set_special_port((host), HOST_ATM_NOTIFICATION_PORT, (port))) - -#define host_get_coalition_port(host, port) \ - (host_get_special_port((host), \ - HOST_LOCAL_NODE, HOST_COALITION_PORT, (port))) -#define host_set_coalition_port(host, port) \ - (host_set_special_port((host), HOST_COALITION_PORT, (port))) - -#define host_get_sysdiagnose_port(host, port) \ - (host_get_special_port((host), \ - HOST_LOCAL_NODE, HOST_SYSDIAGNOSE_PORT, (port))) -#define host_set_sysdiagnose_port(host, port) \ - (host_set_special_port((host), HOST_SYSDIAGNOSE_PORT, (port))) - -#define host_get_container_port(host, port) \ - (host_get_special_port((host), \ - HOST_LOCAL_NODE, HOST_CONTAINERD_PORT, (port))) -#define host_set_container_port(host, port) \ - (host_set_special_port((host), HOST_CONTAINERD_PORT, (port))) - -#define host_get_node_port(host, port) \ - (host_get_special_port((host), \ - HOST_LOCAL_NODE, HOST_NODE_PORT, (port))) -#define host_set_node_port(host, port) \ - (host_set_special_port((host), HOST_NODE_PORT, (port))) - -#define host_get_closured_port(host, port) \ - (host_get_special_port((host), \ - HOST_LOCAL_NODE, HOST_CLOSURED_PORT, (port))) -#define host_set_closured_port(host, port) \ - (host_set_special_port((host), HOST_CLOSURED_PORT, (port))) - -#define host_get_syspolicyd_port(host, port) \ - (host_get_special_port((host), \ - HOST_LOCAL_NODE, HOST_SYSPOLICYD_PORT, (port))) -#define host_set_syspolicyd_port(host, port) \ - (host_set_special_port((host), HOST_SYSPOLICYD_PORT, (port))) - -#define host_get_filecoordinationd_port(host, port) \ - (host_get_special_port((host), \ - HOST_LOCAL_NODE, HOST_FILECOORDINATIOND_PORT, (port))) -#define host_set_filecoordinationd_port(host, port) \ - (host_set_special_port((host), HOST_FILECOORDINATIOND_PORT, (port))) - -#define host_get_fairplayd_port(host, port) \ - (host_get_special_port((host), \ - HOST_LOCAL_NODE, HOST_FAIRPLAYD_PORT, (port))) -#define host_set_fairplayd_port(host, port) \ - (host_set_special_port((host), HOST_FAIRPLAYD_PORT, (port))) - -#define host_get_iocompressionstats_port(host, port) \ - (host_get_special_port((host), \ - HOST_LOCAL_NODE, HOST_IOCOMPRESSIONSTATS_PORT, (port))) -#define host_set_iocompressionstats_port(host, port) \ - (host_set_special_port((host), HOST_IOCOMPRESSIONSTATS_PORT, (port))) - -#define host_get_memory_error_port(host, port) \ - (host_get_special_port((host), \ - HOST_LOCAL_NODE, HOST_MEMORY_ERROR_PORT, (port))) -#define host_set_memory_error_port(host, port) \ - (host_set_special_port((host), HOST_MEMORY_ERROR_PORT, (port))) - -/* HOST_RESOURCE_NOTIFY_PORT doesn't #defines these conveniences. - * All lookups go through send_resource_violation() - */ - -#endif /* _MACH_HOST_SPECIAL_PORTS_H_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.13-any/mach/mach_interface.h b/lib/libc/include/any-macos.13-any/mach/mach_interface.h deleted file mode 100644 index 3006004f44..0000000000 --- a/lib/libc/include/any-macos.13-any/mach/mach_interface.h +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Copyright (c) 2003 Apple Computer, 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@ - */ -/* - * Copyright (C) Apple Computer 1998 - * ALL Rights Reserved - */ -/* - * This file represents the interfaces that used to come - * from creating the user headers from the mach.defs file. - * Because mach.defs was decomposed, this file now just - * wraps up all the new interface headers generated from - * each of the new .defs resulting from that decomposition. - */ -#ifndef _MACH_INTERFACE_H_ -#define _MACH_INTERFACE_H_ - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#endif /* _MACH_INTERFACE_H_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.13-any/mach/processor_info.h b/lib/libc/include/any-macos.13-any/mach/processor_info.h deleted file mode 100644 index 31bc0e8929..0000000000 --- a/lib/libc/include/any-macos.13-any/mach/processor_info.h +++ /dev/null @@ -1,156 +0,0 @@ -/* - * Copyright (c) 2000-2005 Apple Computer, 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@ - */ -/* - * @OSF_COPYRIGHT@ - */ -/* - * Mach Operating System - * Copyright (c) 1991,1990,1989 Carnegie Mellon University - * All Rights Reserved. - * - * Permission to use, copy, modify and distribute this software and its - * documentation is hereby granted, provided that both the copyright - * notice and this permission notice appear in all copies of the - * software, derivative works or modified versions, and any portions - * thereof, and that both notices appear in supporting documentation. - * - * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" - * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR - * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. - * - * Carnegie Mellon requests users of this software to return to - * - * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU - * School of Computer Science - * Carnegie Mellon University - * Pittsburgh PA 15213-3890 - * - * any improvements or extensions that they make and grant Carnegie Mellon - * the rights to redistribute these changes. - */ -/* - */ - -/* - * File: mach/processor_info.h - * Author: David L. Black - * Date: 1988 - * - * Data structure definitions for processor_info, processor_set_info - */ - -#ifndef _MACH_PROCESSOR_INFO_H_ -#define _MACH_PROCESSOR_INFO_H_ - -#include -#include -#include - -/* - * Generic information structure to allow for expansion. - */ -typedef integer_t *processor_info_t; /* varying array of int. */ -typedef integer_t *processor_info_array_t; /* varying array of int */ - -#define PROCESSOR_INFO_MAX (1024) /* max array size */ -typedef integer_t processor_info_data_t[PROCESSOR_INFO_MAX]; - - -typedef integer_t *processor_set_info_t; /* varying array of int. */ - -#define PROCESSOR_SET_INFO_MAX (1024) /* max array size */ -typedef integer_t processor_set_info_data_t[PROCESSOR_SET_INFO_MAX]; - -/* - * Currently defined information. - */ -typedef int processor_flavor_t; -#define PROCESSOR_BASIC_INFO 1 /* basic information */ -#define PROCESSOR_CPU_LOAD_INFO 2 /* cpu load information */ -#define PROCESSOR_PM_REGS_INFO 0x10000001 /* performance monitor register info */ -#define PROCESSOR_TEMPERATURE 0x10000002 /* Processor core temperature */ - -struct processor_basic_info { - cpu_type_t cpu_type; /* type of cpu */ - cpu_subtype_t cpu_subtype; /* subtype of cpu */ - boolean_t running; /* is processor running */ - int slot_num; /* slot number */ - union { - boolean_t is_master; /* deprecated */ - boolean_t is_main; /* is this the main processor */ - }; -}; - -typedef struct processor_basic_info processor_basic_info_data_t; -typedef struct processor_basic_info *processor_basic_info_t; -#define PROCESSOR_BASIC_INFO_COUNT ((mach_msg_type_number_t) \ - (sizeof(processor_basic_info_data_t)/sizeof(natural_t))) - -struct processor_cpu_load_info { /* number of ticks while running... */ - unsigned int cpu_ticks[CPU_STATE_MAX]; /* ... in the given mode */ -}; - -typedef struct processor_cpu_load_info processor_cpu_load_info_data_t; -typedef struct processor_cpu_load_info *processor_cpu_load_info_t; -#define PROCESSOR_CPU_LOAD_INFO_COUNT ((mach_msg_type_number_t) \ - (sizeof(processor_cpu_load_info_data_t)/sizeof(natural_t))) - -/* - * Scaling factor for load_average, mach_factor. - */ -#define LOAD_SCALE 1000 - -typedef int processor_set_flavor_t; -#define PROCESSOR_SET_BASIC_INFO 5 /* basic information */ - -struct processor_set_basic_info { - int processor_count; /* How many processors */ - int default_policy; /* When others not enabled */ -}; - -typedef struct processor_set_basic_info processor_set_basic_info_data_t; -typedef struct processor_set_basic_info *processor_set_basic_info_t; -#define PROCESSOR_SET_BASIC_INFO_COUNT ((mach_msg_type_number_t) \ - (sizeof(processor_set_basic_info_data_t)/sizeof(natural_t))) - -#define PROCESSOR_SET_LOAD_INFO 4 /* scheduling statistics */ - -struct processor_set_load_info { - int task_count; /* How many tasks */ - int thread_count; /* How many threads */ - integer_t load_average; /* Scaled */ - integer_t mach_factor; /* Scaled */ -}; - -typedef struct processor_set_load_info processor_set_load_info_data_t; -typedef struct processor_set_load_info *processor_set_load_info_t; -#define PROCESSOR_SET_LOAD_INFO_COUNT ((mach_msg_type_number_t) \ - (sizeof(processor_set_load_info_data_t)/sizeof(natural_t))) - - -#endif /* _MACH_PROCESSOR_INFO_H_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.13-any/mach/task_policy.h b/lib/libc/include/any-macos.13-any/mach/task_policy.h deleted file mode 100644 index 3e141668be..0000000000 --- a/lib/libc/include/any-macos.13-any/mach/task_policy.h +++ /dev/null @@ -1,184 +0,0 @@ -/* - * Copyright (c) 2000-2005 Apple Computer, 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 _MACH_TASK_POLICY_H_ -#define _MACH_TASK_POLICY_H_ - -#include - -/* - * These are the calls for accessing the policy parameters - * of a particular task. - * - * The extra 'get_default' parameter to the second call is - * IN/OUT as follows: - * 1) if asserted on the way in it indicates that the default - * values should be returned, not the ones currently set, in - * this case 'get_default' will always be asserted on return; - * 2) if unasserted on the way in, the current settings are - * desired and if still unasserted on return, then the info - * returned reflects the current settings, otherwise if - * 'get_default' returns asserted, it means that there are no - * current settings due to other parameters taking precedence, - * and the default ones are being returned instead. - */ - -typedef natural_t task_policy_flavor_t; -typedef integer_t *task_policy_t; - -/* - * kern_return_t task_policy_set( - * task_t task, - * task_policy_flavor_t flavor, - * task_policy_t policy_info, - * mach_msg_type_number_t count); - * - * kern_return_t task_policy_get( - * task_t task, - * task_policy_flavor_t flavor, - * task_policy_t policy_info, - * mach_msg_type_number_t *count, - * boolean_t *get_default); - */ - -/* - * Defined flavors. - */ -/* - * TASK_CATEGORY_POLICY: - * - * This provides information to the kernel about the role - * of the task in the system. - * - * Parameters: - * - * role: Enumerated as follows: - * - * TASK_UNSPECIFIED is the default, since the role is not - * inherited from the parent. - * - * TASK_FOREGROUND_APPLICATION should be assigned when the - * task is a normal UI application in the foreground from - * the HI point of view. - * **N.B. There may be more than one of these at a given time. - * - * TASK_BACKGROUND_APPLICATION should be assigned when the - * task is a normal UI application in the background from - * the HI point of view. - * - * TASK_CONTROL_APPLICATION should be assigned to the unique - * UI application which implements the pop-up application dialog. - * There can only be one task at a time with this designation, - * which is assigned FCFS. - * - * TASK_GRAPHICS_SERVER should be assigned to the graphics - * management (window) server. There can only be one task at - * a time with this designation, which is assigned FCFS. - */ - -#define TASK_CATEGORY_POLICY 1 - -#define TASK_SUPPRESSION_POLICY 3 -#define TASK_POLICY_STATE 4 -#define TASK_BASE_QOS_POLICY 8 -#define TASK_OVERRIDE_QOS_POLICY 9 -#define TASK_BASE_LATENCY_QOS_POLICY 10 -#define TASK_BASE_THROUGHPUT_QOS_POLICY 11 - -typedef enum task_role { - TASK_RENICED = -1, - TASK_UNSPECIFIED = 0, - TASK_FOREGROUND_APPLICATION = 1, - TASK_BACKGROUND_APPLICATION = 2, - TASK_CONTROL_APPLICATION = 3, - TASK_GRAPHICS_SERVER = 4, - TASK_THROTTLE_APPLICATION = 5, - TASK_NONUI_APPLICATION = 6, - TASK_DEFAULT_APPLICATION = 7, - TASK_DARWINBG_APPLICATION = 8, -} task_role_t; - -struct task_category_policy { - task_role_t role; -}; - -typedef struct task_category_policy task_category_policy_data_t; -typedef struct task_category_policy *task_category_policy_t; - -#define TASK_CATEGORY_POLICY_COUNT ((mach_msg_type_number_t) \ - (sizeof (task_category_policy_data_t) / sizeof (integer_t))) - - -enum task_latency_qos { - LATENCY_QOS_TIER_UNSPECIFIED = 0x0, - LATENCY_QOS_TIER_0 = ((0xFF << 16) | 1), - LATENCY_QOS_TIER_1 = ((0xFF << 16) | 2), - LATENCY_QOS_TIER_2 = ((0xFF << 16) | 3), - LATENCY_QOS_TIER_3 = ((0xFF << 16) | 4), - LATENCY_QOS_TIER_4 = ((0xFF << 16) | 5), - LATENCY_QOS_TIER_5 = ((0xFF << 16) | 6) -}; -typedef integer_t task_latency_qos_t; -enum task_throughput_qos { - THROUGHPUT_QOS_TIER_UNSPECIFIED = 0x0, - THROUGHPUT_QOS_TIER_0 = ((0xFE << 16) | 1), - THROUGHPUT_QOS_TIER_1 = ((0xFE << 16) | 2), - THROUGHPUT_QOS_TIER_2 = ((0xFE << 16) | 3), - THROUGHPUT_QOS_TIER_3 = ((0xFE << 16) | 4), - THROUGHPUT_QOS_TIER_4 = ((0xFE << 16) | 5), - THROUGHPUT_QOS_TIER_5 = ((0xFE << 16) | 6), -}; - -#define LATENCY_QOS_LAUNCH_DEFAULT_TIER LATENCY_QOS_TIER_3 -#define THROUGHPUT_QOS_LAUNCH_DEFAULT_TIER THROUGHPUT_QOS_TIER_3 - -typedef integer_t task_throughput_qos_t; - -struct task_qos_policy { - task_latency_qos_t task_latency_qos_tier; - task_throughput_qos_t task_throughput_qos_tier; -}; - -typedef struct task_qos_policy *task_qos_policy_t; -#define TASK_QOS_POLICY_COUNT ((mach_msg_type_number_t) \ - (sizeof (struct task_qos_policy) / sizeof (integer_t))) - -/* These should be removed - they belong in proc_info.h */ -#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_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 */ -#define PROC_FLAG_SUPPRESSED 0x800000 /* Process is suppressed */ -#define PROC_FLAG_APPLICATION 0x1000000 /* Process is an application */ -#define PROC_FLAG_IOS_APPLICATION PROC_FLAG_APPLICATION /* Process is an application */ - - -#endif /* _MACH_TASK_POLICY_H_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.13-any/mach_debug/ipc_info.h b/lib/libc/include/any-macos.13-any/mach_debug/ipc_info.h deleted file mode 100644 index fa4a500788..0000000000 --- a/lib/libc/include/any-macos.13-any/mach_debug/ipc_info.h +++ /dev/null @@ -1,123 +0,0 @@ -/* - * Copyright (c) 2000-2005 Apple Computer, 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@ - */ -/* - * @OSF_COPYRIGHT@ - */ -/* - * Mach Operating System - * Copyright (c) 1991,1990 Carnegie Mellon University - * All Rights Reserved. - * - * Permission to use, copy, modify and distribute this software and its - * documentation is hereby granted, provided that both the copyright - * notice and this permission notice appear in all copies of the - * software, derivative works or modified versions, and any portions - * thereof, and that both notices appear in supporting documentation. - * - * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" - * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR - * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. - * - * Carnegie Mellon requests users of this software to return to - * - * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU - * School of Computer Science - * Carnegie Mellon University - * Pittsburgh PA 15213-3890 - * - * any improvements or extensions that they make and grant Carnegie Mellon - * the rights to redistribute these changes. - */ -/* - */ -/* - * File: mach_debug/ipc_info.h - * Author: Rich Draves - * Date: March, 1990 - * - * Definitions for the IPC debugging interface. - */ - -#ifndef _MACH_DEBUG_IPC_INFO_H_ -#define _MACH_DEBUG_IPC_INFO_H_ - -#include -#include -#include - -/* - * Remember to update the mig type definitions - * in mach_debug_types.defs when adding/removing fields. - */ - -typedef struct ipc_info_space { - natural_t iis_genno_mask; /* generation number mask */ - natural_t iis_table_size; /* size of table */ - natural_t iis_table_next; /* next possible size of table (UNUSED) */ - natural_t iis_tree_size; /* size of tree (UNUSED) */ - natural_t iis_tree_small; /* # of small entries in tree (UNUSED) */ - natural_t iis_tree_hash; /* # of hashed entries in tree (UNUSED) */ -} ipc_info_space_t; - -typedef struct ipc_info_space_basic { - natural_t iisb_genno_mask; /* generation number mask */ - natural_t iisb_table_size; /* size of table */ - natural_t iisb_table_next; /* next possible size of table (UNUSED) */ - natural_t iisb_table_inuse; /* number of entries in use */ - natural_t iisb_reserved[2]; /* future expansion */ -} ipc_info_space_basic_t; - -typedef struct ipc_info_name { - mach_port_name_t iin_name; /* port name, including gen number */ -/*boolean_t*/ integer_t iin_collision; /* collision at this entry? */ - mach_port_type_t iin_type; /* straight port type */ - mach_port_urefs_t iin_urefs; /* user-references */ - natural_t iin_object; /* object pointer/identifier */ - natural_t iin_next; /* marequest/next in free list */ - natural_t iin_hash; /* hash index */ -} ipc_info_name_t; - -typedef ipc_info_name_t *ipc_info_name_array_t; - -/* UNUSED */ -typedef struct ipc_info_tree_name { - ipc_info_name_t iitn_name; - mach_port_name_t iitn_lchild; /* name of left child */ - mach_port_name_t iitn_rchild; /* name of right child */ -} ipc_info_tree_name_t; - -typedef ipc_info_tree_name_t *ipc_info_tree_name_array_t; - -typedef struct ipc_info_port { - natural_t iip_port_object; /* port object identifier */ - natural_t iip_receiver_object; /* receiver task identifier (if any) */ -} ipc_info_port_t; - -typedef ipc_info_port_t *exception_handler_info_array_t; - -#endif /* _MACH_DEBUG_IPC_INFO_H_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.13-any/net/if_dl.h b/lib/libc/include/any-macos.13-any/net/if_dl.h deleted file mode 100644 index 494aea0c85..0000000000 --- a/lib/libc/include/any-macos.13-any/net/if_dl.h +++ /dev/null @@ -1,128 +0,0 @@ -/* - * Copyright (c) 2000-2011 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@ - */ -/* - * Copyright (c) 1990, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)if_dl.h 8.1 (Berkeley) 6/10/93 - * $FreeBSD: src/sys/net/if_dl.h,v 1.10 2000/03/01 02:46:25 archie Exp $ - */ - -#ifndef _NET_IF_DL_H_ -#define _NET_IF_DL_H_ -#include - -#include - - -/* - * A Link-Level Sockaddr may specify the interface in one of two - * ways: either by means of a system-provided index number (computed - * anew and possibly differently on every reboot), or by a human-readable - * string such as "il0" (for managerial convenience). - * - * Census taking actions, such as something akin to SIOCGCONF would return - * both the index and the human name. - * - * High volume transactions (such as giving a link-level ``from'' address - * in a recvfrom or recvmsg call) may be likely only to provide the indexed - * form, (which requires fewer copy operations and less space). - * - * The form and interpretation of the link-level address is purely a matter - * of convention between the device driver and its consumers; however, it is - * expected that all drivers for an interface of a given if_type will agree. - */ - -/* - * Structure of a Link-Level sockaddr: - */ -#if __has_ptrcheck -#define DLIL_SDLDATACOUNT __counted_by(sdl_len - 8) -#else -#define DLIL_SDLDATACOUNT 12 -#endif - -struct sockaddr_dl { - u_char sdl_len; /* Total length of sockaddr */ - u_char sdl_family; /* AF_LINK */ - u_short sdl_index; /* if != 0, system given index for interface */ - u_char sdl_type; /* interface type */ - u_char sdl_nlen; /* interface name length, no trailing 0 reqd. */ - u_char sdl_alen; /* link level address length */ - u_char sdl_slen; /* link layer selector length */ - char sdl_data[DLIL_SDLDATACOUNT]; - /* minimum work area, can be larger; - * contains both if name and ll address */ -#ifndef __APPLE__ - /* For TokenRing */ - u_short sdl_rcf; /* source routing control */ - u_short sdl_route[16]; /* source routing information */ -#endif -}; - -#define LLADDR(s) ((caddr_t)((s)->sdl_data + (s)->sdl_nlen)) - - - -#include - -__BEGIN_DECLS -void link_addr(const char *, struct sockaddr_dl *); -char *link_ntoa(const struct sockaddr_dl *); -__END_DECLS - - -#endif \ No newline at end of file diff --git a/lib/libc/include/any-macos.13-any/netinet/in.h b/lib/libc/include/any-macos.13-any/netinet/in.h deleted file mode 100644 index f2daff26a4..0000000000 --- a/lib/libc/include/any-macos.13-any/netinet/in.h +++ /dev/null @@ -1,670 +0,0 @@ -/* - * Copyright (c) 2000-2018 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@ - */ -/* - * Copyright (c) 1982, 1986, 1990, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)in.h 8.3 (Berkeley) 1/3/94 - * $FreeBSD: src/sys/netinet/in.h,v 1.48.2.2 2001/04/21 14:53:06 ume Exp $ - */ - -#ifndef _NETINET_IN_H_ -#define _NETINET_IN_H_ - -#include -#include /* uint(8|16|32)_t */ - -#include - - -#include -#include - -/* - * POSIX 1003.1-2003 - * "Inclusion of the header may also make visible all - * symbols from and ". - */ -#include - -/* - * The following two #includes insure htonl and family are defined - */ -#include -#include - -/* - * Constants and structures defined by the internet system, - * Per RFC 790, September 1981, and numerous additions. - */ - -/* - * Protocols (RFC 1700) - */ -#define IPPROTO_IP 0 /* dummy for IP */ -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -#define IPPROTO_HOPOPTS 0 /* IP6 hop-by-hop options */ -#endif /* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */ -#define IPPROTO_ICMP 1 /* control message protocol */ -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -#define IPPROTO_IGMP 2 /* group mgmt protocol */ -#define IPPROTO_GGP 3 /* gateway^2 (deprecated) */ -#define IPPROTO_IPV4 4 /* IPv4 encapsulation */ -#define IPPROTO_IPIP IPPROTO_IPV4 /* for compatibility */ -#endif /* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */ -#define IPPROTO_TCP 6 /* tcp */ -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -#define IPPROTO_ST 7 /* Stream protocol II */ -#define IPPROTO_EGP 8 /* exterior gateway protocol */ -#define IPPROTO_PIGP 9 /* private interior gateway */ -#define IPPROTO_RCCMON 10 /* BBN RCC Monitoring */ -#define IPPROTO_NVPII 11 /* network voice protocol*/ -#define IPPROTO_PUP 12 /* pup */ -#define IPPROTO_ARGUS 13 /* Argus */ -#define IPPROTO_EMCON 14 /* EMCON */ -#define IPPROTO_XNET 15 /* Cross Net Debugger */ -#define IPPROTO_CHAOS 16 /* Chaos*/ -#endif /* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */ -#define IPPROTO_UDP 17 /* user datagram protocol */ -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -#define IPPROTO_MUX 18 /* Multiplexing */ -#define IPPROTO_MEAS 19 /* DCN Measurement Subsystems */ -#define IPPROTO_HMP 20 /* Host Monitoring */ -#define IPPROTO_PRM 21 /* Packet Radio Measurement */ -#define IPPROTO_IDP 22 /* xns idp */ -#define IPPROTO_TRUNK1 23 /* Trunk-1 */ -#define IPPROTO_TRUNK2 24 /* Trunk-2 */ -#define IPPROTO_LEAF1 25 /* Leaf-1 */ -#define IPPROTO_LEAF2 26 /* Leaf-2 */ -#define IPPROTO_RDP 27 /* Reliable Data */ -#define IPPROTO_IRTP 28 /* Reliable Transaction */ -#define IPPROTO_TP 29 /* tp-4 w/ class negotiation */ -#define IPPROTO_BLT 30 /* Bulk Data Transfer */ -#define IPPROTO_NSP 31 /* Network Services */ -#define IPPROTO_INP 32 /* Merit Internodal */ -#define IPPROTO_SEP 33 /* Sequential Exchange */ -#define IPPROTO_3PC 34 /* Third Party Connect */ -#define IPPROTO_IDPR 35 /* InterDomain Policy Routing */ -#define IPPROTO_XTP 36 /* XTP */ -#define IPPROTO_DDP 37 /* Datagram Delivery */ -#define IPPROTO_CMTP 38 /* Control Message Transport */ -#define IPPROTO_TPXX 39 /* TP++ Transport */ -#define IPPROTO_IL 40 /* IL transport protocol */ -#endif /* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */ -#define IPPROTO_IPV6 41 /* IP6 header */ -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -#define IPPROTO_SDRP 42 /* Source Demand Routing */ -#define IPPROTO_ROUTING 43 /* IP6 routing header */ -#define IPPROTO_FRAGMENT 44 /* IP6 fragmentation header */ -#define IPPROTO_IDRP 45 /* InterDomain Routing*/ -#define IPPROTO_RSVP 46 /* resource reservation */ -#define IPPROTO_GRE 47 /* General Routing Encap. */ -#define IPPROTO_MHRP 48 /* Mobile Host Routing */ -#define IPPROTO_BHA 49 /* BHA */ -#define IPPROTO_ESP 50 /* IP6 Encap Sec. Payload */ -#define IPPROTO_AH 51 /* IP6 Auth Header */ -#define IPPROTO_INLSP 52 /* Integ. Net Layer Security */ -#define IPPROTO_SWIPE 53 /* IP with encryption */ -#define IPPROTO_NHRP 54 /* Next Hop Resolution */ -/* 55-57: Unassigned */ -#define IPPROTO_ICMPV6 58 /* ICMP6 */ -#define IPPROTO_NONE 59 /* IP6 no next header */ -#define IPPROTO_DSTOPTS 60 /* IP6 destination option */ -#define IPPROTO_AHIP 61 /* any host internal protocol */ -#define IPPROTO_CFTP 62 /* CFTP */ -#define IPPROTO_HELLO 63 /* "hello" routing protocol */ -#define IPPROTO_SATEXPAK 64 /* SATNET/Backroom EXPAK */ -#define IPPROTO_KRYPTOLAN 65 /* Kryptolan */ -#define IPPROTO_RVD 66 /* Remote Virtual Disk */ -#define IPPROTO_IPPC 67 /* Pluribus Packet Core */ -#define IPPROTO_ADFS 68 /* Any distributed FS */ -#define IPPROTO_SATMON 69 /* Satnet Monitoring */ -#define IPPROTO_VISA 70 /* VISA Protocol */ -#define IPPROTO_IPCV 71 /* Packet Core Utility */ -#define IPPROTO_CPNX 72 /* Comp. Prot. Net. Executive */ -#define IPPROTO_CPHB 73 /* Comp. Prot. HeartBeat */ -#define IPPROTO_WSN 74 /* Wang Span Network */ -#define IPPROTO_PVP 75 /* Packet Video Protocol */ -#define IPPROTO_BRSATMON 76 /* BackRoom SATNET Monitoring */ -#define IPPROTO_ND 77 /* Sun net disk proto (temp.) */ -#define IPPROTO_WBMON 78 /* WIDEBAND Monitoring */ -#define IPPROTO_WBEXPAK 79 /* WIDEBAND EXPAK */ -#define IPPROTO_EON 80 /* ISO cnlp */ -#define IPPROTO_VMTP 81 /* VMTP */ -#define IPPROTO_SVMTP 82 /* Secure VMTP */ -#define IPPROTO_VINES 83 /* Banyon VINES */ -#define IPPROTO_TTP 84 /* TTP */ -#define IPPROTO_IGP 85 /* NSFNET-IGP */ -#define IPPROTO_DGP 86 /* dissimilar gateway prot. */ -#define IPPROTO_TCF 87 /* TCF */ -#define IPPROTO_IGRP 88 /* Cisco/GXS IGRP */ -#define IPPROTO_OSPFIGP 89 /* OSPFIGP */ -#define IPPROTO_SRPC 90 /* Strite RPC protocol */ -#define IPPROTO_LARP 91 /* Locus Address Resoloution */ -#define IPPROTO_MTP 92 /* Multicast Transport */ -#define IPPROTO_AX25 93 /* AX.25 Frames */ -#define IPPROTO_IPEIP 94 /* IP encapsulated in IP */ -#define IPPROTO_MICP 95 /* Mobile Int.ing control */ -#define IPPROTO_SCCSP 96 /* Semaphore Comm. security */ -#define IPPROTO_ETHERIP 97 /* Ethernet IP encapsulation */ -#define IPPROTO_ENCAP 98 /* encapsulation header */ -#define IPPROTO_APES 99 /* any private encr. scheme */ -#define IPPROTO_GMTP 100 /* GMTP*/ -/* 101-252: Partly Unassigned */ -#define IPPROTO_PIM 103 /* Protocol Independent Mcast */ -#define IPPROTO_IPCOMP 108 /* payload compression (IPComp) */ -#define IPPROTO_PGM 113 /* PGM */ -#define IPPROTO_SCTP 132 /* SCTP */ -/* 253-254: Experimentation and testing; 255: Reserved (RFC3692) */ -/* BSD Private, local use, namespace incursion */ -#define IPPROTO_DIVERT 254 /* divert pseudo-protocol */ -#endif /* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */ -#define IPPROTO_RAW 255 /* raw IP packet */ - -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -#define IPPROTO_MAX 256 - -/* last return value of *_input(), meaning "all job for this pkt is done". */ -#define IPPROTO_DONE 257 -#endif /* (_POSIX_C_SOURCE && !_DARWIN_C_SOURCE) */ - -/* - * Local port number conventions: - * - * When a user does a bind(2) or connect(2) with a port number of zero, - * a non-conflicting local port address is chosen. - * The default range is IPPORT_RESERVED through - * IPPORT_USERRESERVED, although that is settable by sysctl. - * - * A user may set the IPPROTO_IP option IP_PORTRANGE to change this - * default assignment range. - * - * The value IP_PORTRANGE_DEFAULT causes the default behavior. - * - * The value IP_PORTRANGE_HIGH changes the range of candidate port numbers - * into the "high" range. These are reserved for client outbound connections - * which do not want to be filtered by any firewalls. - * - * The value IP_PORTRANGE_LOW changes the range to the "low" are - * that is (by convention) restricted to privileged processes. This - * convention is based on "vouchsafe" principles only. It is only secure - * if you trust the remote host to restrict these ports. - * - * The default range of ports and the high range can be changed by - * sysctl(3). (net.inet.ip.port{hi,low}{first,last}_auto) - * - * Changing those values has bad security implications if you are - * using a a stateless firewall that is allowing packets outside of that - * range in order to allow transparent outgoing connections. - * - * Such a firewall configuration will generally depend on the use of these - * default values. If you change them, you may find your Security - * Administrator looking for you with a heavy object. - * - * For a slightly more orthodox text view on this: - * - * ftp://ftp.isi.edu/in-notes/iana/assignments/port-numbers - * - * port numbers are divided into three ranges: - * - * 0 - 1023 Well Known Ports - * 1024 - 49151 Registered Ports - * 49152 - 65535 Dynamic and/or Private Ports - * - */ - -#define __DARWIN_IPPORT_RESERVED 1024 - -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -/* - * Ports < IPPORT_RESERVED are reserved for - * privileged processes (e.g. root). (IP_PORTRANGE_LOW) - * Ports > IPPORT_USERRESERVED are reserved - * for servers, not necessarily privileged. (IP_PORTRANGE_DEFAULT) - */ -#ifndef IPPORT_RESERVED -#define IPPORT_RESERVED __DARWIN_IPPORT_RESERVED -#endif -#define IPPORT_USERRESERVED 5000 - -/* - * Default local port range to use by setting IP_PORTRANGE_HIGH - */ -#define IPPORT_HIFIRSTAUTO 49152 -#define IPPORT_HILASTAUTO 65535 - -/* - * Scanning for a free reserved port return a value below IPPORT_RESERVED, - * but higher than IPPORT_RESERVEDSTART. Traditionally the start value was - * 512, but that conflicts with some well-known-services that firewalls may - * have a fit if we use. - */ -#define IPPORT_RESERVEDSTART 600 -#endif /* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */ - -/* - * Internet address (a structure for historical reasons) - */ -struct in_addr { - in_addr_t s_addr; -}; - -/* - * Definitions of bits in internet address integers. - * On subnets, the decomposition of addresses to host and net parts - * is done according to subnet mask, not the masks here. - */ -#define INADDR_ANY (u_int32_t)0x00000000 -#define INADDR_BROADCAST (u_int32_t)0xffffffff /* must be masked */ - -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -#define IN_CLASSA(i) (((u_int32_t)(i) & 0x80000000) == 0) -#define IN_CLASSA_NET 0xff000000 -#define IN_CLASSA_NSHIFT 24 -#define IN_CLASSA_HOST 0x00ffffff -#define IN_CLASSA_MAX 128 - -#define IN_CLASSB(i) (((u_int32_t)(i) & 0xc0000000) == 0x80000000) -#define IN_CLASSB_NET 0xffff0000 -#define IN_CLASSB_NSHIFT 16 -#define IN_CLASSB_HOST 0x0000ffff -#define IN_CLASSB_MAX 65536 - -#define IN_CLASSC(i) (((u_int32_t)(i) & 0xe0000000) == 0xc0000000) -#define IN_CLASSC_NET 0xffffff00 -#define IN_CLASSC_NSHIFT 8 -#define IN_CLASSC_HOST 0x000000ff - -#define IN_CLASSD(i) (((u_int32_t)(i) & 0xf0000000) == 0xe0000000) -#define IN_CLASSD_NET 0xf0000000 /* These ones aren't really */ -#define IN_CLASSD_NSHIFT 28 /* net and host fields, but */ -#define IN_CLASSD_HOST 0x0fffffff /* routing needn't know. */ -#define IN_MULTICAST(i) IN_CLASSD(i) - -#define IN_EXPERIMENTAL(i) (((u_int32_t)(i) & 0xf0000000) == 0xf0000000) -#define IN_BADCLASS(i) (((u_int32_t)(i) & 0xf0000000) == 0xf0000000) - -#define INADDR_LOOPBACK (u_int32_t)0x7f000001 - -#define INADDR_NONE 0xffffffff /* -1 return */ - -#define INADDR_UNSPEC_GROUP (u_int32_t)0xe0000000 /* 224.0.0.0 */ -#define INADDR_ALLHOSTS_GROUP (u_int32_t)0xe0000001 /* 224.0.0.1 */ -#define INADDR_ALLRTRS_GROUP (u_int32_t)0xe0000002 /* 224.0.0.2 */ -#define INADDR_ALLRPTS_GROUP (u_int32_t)0xe0000016 /* 224.0.0.22, IGMPv3 */ -#define INADDR_CARP_GROUP (u_int32_t)0xe0000012 /* 224.0.0.18 */ -#define INADDR_PFSYNC_GROUP (u_int32_t)0xe00000f0 /* 224.0.0.240 */ -#define INADDR_ALLMDNS_GROUP (u_int32_t)0xe00000fb /* 224.0.0.251 */ -#define INADDR_MAX_LOCAL_GROUP (u_int32_t)0xe00000ff /* 224.0.0.255 */ - -#ifdef __APPLE__ -#define IN_LINKLOCALNETNUM (u_int32_t)0xA9FE0000 /* 169.254.0.0 */ -#define IN_LINKLOCAL(i) (((u_int32_t)(i) & IN_CLASSB_NET) == IN_LINKLOCALNETNUM) -#define IN_LOOPBACK(i) (((u_int32_t)(i) & 0xff000000) == 0x7f000000) -#define IN_ZERONET(i) (((u_int32_t)(i) & 0xff000000) == 0) - -#define IN_PRIVATE(i) ((((u_int32_t)(i) & 0xff000000) == 0x0a000000) || \ - (((u_int32_t)(i) & 0xfff00000) == 0xac100000) || \ - (((u_int32_t)(i) & 0xffff0000) == 0xc0a80000)) - -#define IN_LOCAL_GROUP(i) (((u_int32_t)(i) & 0xffffff00) == 0xe0000000) - -#define IN_ANY_LOCAL(i) (IN_LINKLOCAL(i) || IN_LOCAL_GROUP(i)) -#endif /* __APPLE__ */ - -#define IN_LOOPBACKNET 127 /* official! */ -#endif /* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */ - -/* - * Socket address, internet style. - */ -struct sockaddr_in { - __uint8_t sin_len; - sa_family_t sin_family; - in_port_t sin_port; - struct in_addr sin_addr; - char sin_zero[8]; -}; - -#define IN_ARE_ADDR_EQUAL(a, b) \ - (bcmp(&(a)->s_addr, &(b)->s_addr, \ - sizeof (struct in_addr)) == 0) - -#define INET_ADDRSTRLEN 16 - -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -/* - * Structure used to describe IP options. - * Used to store options internally, to pass them to a process, - * or to restore options retrieved earlier. - * The ip_dst is used for the first-hop gateway when using a source route - * (this gets put into the header proper). - */ -struct ip_opts { - struct in_addr ip_dst; /* first hop, 0 w/o src rt */ - char ip_opts[40]; /* actually variable in size */ -}; - -/* - * Options for use with [gs]etsockopt at the IP level. - * First word of comment is data type; bool is stored in int. - */ -#define IP_OPTIONS 1 /* buf/ip_opts; set/get IP options */ -#define IP_HDRINCL 2 /* int; header is included with data */ -#define IP_TOS 3 /* int; IP type of service and preced. */ -#define IP_TTL 4 /* int; IP time to live */ -#define IP_RECVOPTS 5 /* bool; receive all IP opts w/dgram */ -#define IP_RECVRETOPTS 6 /* bool; receive IP opts for response */ -#define IP_RECVDSTADDR 7 /* bool; receive IP dst addr w/dgram */ -#define IP_RETOPTS 8 /* ip_opts; set/get IP options */ -#define IP_MULTICAST_IF 9 /* u_char; set/get IP multicast i/f */ -#define IP_MULTICAST_TTL 10 /* u_char; set/get IP multicast ttl */ -#define IP_MULTICAST_LOOP 11 /* u_char; set/get IP multicast loopback */ -#define IP_ADD_MEMBERSHIP 12 /* ip_mreq; add an IP group membership */ -#define IP_DROP_MEMBERSHIP 13 /* ip_mreq; drop an IP group membership */ -#define IP_MULTICAST_VIF 14 /* set/get IP mcast virt. iface */ -#define IP_RSVP_ON 15 /* enable RSVP in kernel */ -#define IP_RSVP_OFF 16 /* disable RSVP in kernel */ -#define IP_RSVP_VIF_ON 17 /* set RSVP per-vif socket */ -#define IP_RSVP_VIF_OFF 18 /* unset RSVP per-vif socket */ -#define IP_PORTRANGE 19 /* int; range to choose for unspec port */ -#define IP_RECVIF 20 /* bool; receive reception if w/dgram */ -/* for IPSEC */ -#define IP_IPSEC_POLICY 21 /* int; set/get security policy */ -#define IP_FAITH 22 /* deprecated */ -#ifdef __APPLE__ -#define IP_STRIPHDR 23 /* bool: drop receive of raw IP header */ -#endif -#define IP_RECVTTL 24 /* bool; receive reception TTL w/dgram */ -#define IP_BOUND_IF 25 /* int; set/get bound interface */ -#define IP_PKTINFO 26 /* get pktinfo on recv socket, set src on sent dgram */ -#define IP_RECVPKTINFO IP_PKTINFO /* receive pktinfo w/dgram */ -#define IP_RECVTOS 27 /* bool; receive IP TOS w/dgram */ -#define IP_DONTFRAG 28 /* don't fragment packet */ - -#define IP_FW_ADD 40 /* add a firewall rule to chain */ -#define IP_FW_DEL 41 /* delete a firewall rule from chain */ -#define IP_FW_FLUSH 42 /* flush firewall rule chain */ -#define IP_FW_ZERO 43 /* clear single/all firewall counter(s) */ -#define IP_FW_GET 44 /* get entire firewall rule chain */ -#define IP_FW_RESETLOG 45 /* reset logging counters */ - -/* These older firewall socket option codes are maintained for backward compatibility. */ -#define IP_OLD_FW_ADD 50 /* add a firewall rule to chain */ -#define IP_OLD_FW_DEL 51 /* delete a firewall rule from chain */ -#define IP_OLD_FW_FLUSH 52 /* flush firewall rule chain */ -#define IP_OLD_FW_ZERO 53 /* clear single/all firewall counter(s) */ -#define IP_OLD_FW_GET 54 /* get entire firewall rule chain */ -#define IP_NAT__XXX 55 /* set/get NAT opts XXX Deprecated, do not use */ -#define IP_OLD_FW_RESETLOG 56 /* reset logging counters */ - -#define IP_DUMMYNET_CONFIGURE 60 /* add/configure a dummynet pipe */ -#define IP_DUMMYNET_DEL 61 /* delete a dummynet pipe from chain */ -#define IP_DUMMYNET_FLUSH 62 /* flush dummynet */ -#define IP_DUMMYNET_GET 64 /* get entire dummynet pipes */ - -#define IP_TRAFFIC_MGT_BACKGROUND 65 /* int*; get background IO flags; set background IO */ -#define IP_MULTICAST_IFINDEX 66 /* int*; set/get IP multicast i/f index */ - -/* IPv4 Source Filter Multicast API [RFC3678] */ -#define IP_ADD_SOURCE_MEMBERSHIP 70 /* join a source-specific group */ -#define IP_DROP_SOURCE_MEMBERSHIP 71 /* drop a single source */ -#define IP_BLOCK_SOURCE 72 /* block a source */ -#define IP_UNBLOCK_SOURCE 73 /* unblock a source */ - -/* The following option is private; do not use it from user applications. */ -#define IP_MSFILTER 74 /* set/get filter list */ - -/* Protocol Independent Multicast API [RFC3678] */ -#define MCAST_JOIN_GROUP 80 /* join an any-source group */ -#define MCAST_LEAVE_GROUP 81 /* leave all sources for group */ -#define MCAST_JOIN_SOURCE_GROUP 82 /* join a source-specific group */ -#define MCAST_LEAVE_SOURCE_GROUP 83 /* leave a single source */ -#define MCAST_BLOCK_SOURCE 84 /* block a source */ -#define MCAST_UNBLOCK_SOURCE 85 /* unblock a source */ - - -/* - * Defaults and limits for options - */ -#define IP_DEFAULT_MULTICAST_TTL 1 /* normally limit m'casts to 1 hop */ -#define IP_DEFAULT_MULTICAST_LOOP 1 /* normally hear sends if a member */ - -/* - * The imo_membership vector for each socket is now dynamically allocated at - * run-time, bounded by USHRT_MAX, and is reallocated when needed, sized - * according to a power-of-two increment. - */ -#define IP_MIN_MEMBERSHIPS 31 -#define IP_MAX_MEMBERSHIPS 4095 - -/* - * Default resource limits for IPv4 multicast source filtering. - * These may be modified by sysctl. - */ -#define IP_MAX_GROUP_SRC_FILTER 512 /* sources per group */ -#define IP_MAX_SOCK_SRC_FILTER 128 /* sources per socket/group */ -#define IP_MAX_SOCK_MUTE_FILTER 128 /* XXX no longer used */ - -/* - * Argument structure for IP_ADD_MEMBERSHIP and IP_DROP_MEMBERSHIP. - */ -struct ip_mreq { - struct in_addr imr_multiaddr; /* IP multicast address of group */ - struct in_addr imr_interface; /* local IP address of interface */ -}; - -/* - * Modified argument structure for IP_MULTICAST_IF, obtained from Linux. - * This is used to specify an interface index for multicast sends, as - * the IPv4 legacy APIs do not support this (unless IP_SENDIF is available). - */ -struct ip_mreqn { - struct in_addr imr_multiaddr; /* IP multicast address of group */ - struct in_addr imr_address; /* local IP address of interface */ - int imr_ifindex; /* Interface index; cast to uint32_t */ -}; - -#pragma pack(4) -/* - * Argument structure for IPv4 Multicast Source Filter APIs. [RFC3678] - */ -struct ip_mreq_source { - struct in_addr imr_multiaddr; /* IP multicast address of group */ - struct in_addr imr_sourceaddr; /* IP address of source */ - struct in_addr imr_interface; /* local IP address of interface */ -}; - -/* - * Argument structures for Protocol-Independent Multicast Source - * Filter APIs. [RFC3678] - */ -struct group_req { - uint32_t gr_interface; /* interface index */ - struct sockaddr_storage gr_group; /* group address */ -}; - -struct group_source_req { - uint32_t gsr_interface; /* interface index */ - struct sockaddr_storage gsr_group; /* group address */ - struct sockaddr_storage gsr_source; /* source address */ -}; - -#ifndef __MSFILTERREQ_DEFINED -#define __MSFILTERREQ_DEFINED -/* - * The following structure is private; do not use it from user applications. - * It is used to communicate IP_MSFILTER/IPV6_MSFILTER information between - * the RFC 3678 libc functions and the kernel. - */ -struct __msfilterreq { - uint32_t msfr_ifindex; /* interface index */ - uint32_t msfr_fmode; /* filter mode for group */ - uint32_t msfr_nsrcs; /* # of sources in msfr_srcs */ - uint32_t __msfr_align; - struct sockaddr_storage msfr_group; /* group address */ - struct sockaddr_storage *msfr_srcs; -}; - -#endif /* __MSFILTERREQ_DEFINED */ - -#pragma pack() -struct sockaddr; - -/* - * Advanced (Full-state) APIs [RFC3678] - * The RFC specifies uint_t for the 6th argument to [sg]etsourcefilter(). - * We use uint32_t here to be consistent. - */ -int setipv4sourcefilter(int, struct in_addr, struct in_addr, uint32_t, - uint32_t, struct in_addr *) __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_4_3); -int getipv4sourcefilter(int, struct in_addr, struct in_addr, uint32_t *, - uint32_t *, struct in_addr *) __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_4_3); -int setsourcefilter(int, uint32_t, struct sockaddr *, socklen_t, - uint32_t, uint32_t, struct sockaddr_storage *) __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_4_3); -int getsourcefilter(int, uint32_t, struct sockaddr *, socklen_t, - uint32_t *, uint32_t *, struct sockaddr_storage *) __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_4_3); - -/* - * Filter modes; also used to represent per-socket filter mode internally. - */ -#define MCAST_UNDEFINED 0 /* fmode: not yet defined */ -#define MCAST_INCLUDE 1 /* fmode: include these source(s) */ -#define MCAST_EXCLUDE 2 /* fmode: exclude these source(s) */ - -/* - * Argument for IP_PORTRANGE: - * - which range to search when port is unspecified at bind() or connect() - */ -#define IP_PORTRANGE_DEFAULT 0 /* default range */ -#define IP_PORTRANGE_HIGH 1 /* "high" - request firewall bypass */ -#define IP_PORTRANGE_LOW 2 /* "low" - vouchsafe security */ - - -/* - * IP_PKTINFO: Packet information (equivalent to RFC2292 sec 5 for IPv4) - * This structure is used for - * - * 1) Receiving ancilliary data about the datagram if IP_PKTINFO sockopt is - * set on the socket. In this case ipi_ifindex will contain the interface - * index the datagram was received on, ipi_addr is the IP address the - * datagram was received to. - * - * 2) Sending a datagram using a specific interface or IP source address. - * if ipi_ifindex is set to non-zero when in_pktinfo is passed as - * ancilliary data of type IP_PKTINFO, this will be used as the source - * interface to send the datagram from. If ipi_ifindex is null, ip_spec_dst - * will be used for the source address. - * - * Note: if IP_BOUND_IF is set on the socket, ipi_ifindex in the ancillary - * IP_PKTINFO option silently overrides the bound interface when it is - * specified during send time. - */ -struct in_pktinfo { - unsigned int ipi_ifindex; /* send/recv interface index */ - struct in_addr ipi_spec_dst; /* Local address */ - struct in_addr ipi_addr; /* IP Header dst address */ -}; - -/* - * Definitions for inet sysctl operations. - * - * Third level is protocol number. - * Fourth level is desired variable within that protocol. - */ -#define IPPROTO_MAXID (IPPROTO_AH + 1) /* don't list to IPPROTO_MAX */ - -/* - * Names for IP sysctl objects - */ -#define IPCTL_FORWARDING 1 /* act as router */ -#define IPCTL_SENDREDIRECTS 2 /* may send redirects when forwarding */ -#define IPCTL_DEFTTL 3 /* default TTL */ -#ifdef notyet -#define IPCTL_DEFMTU 4 /* default MTU */ -#endif -#define IPCTL_RTEXPIRE 5 /* cloned route expiration time */ -#define IPCTL_RTMINEXPIRE 6 /* min value for expiration time */ -#define IPCTL_RTMAXCACHE 7 /* trigger level for dynamic expire */ -#define IPCTL_SOURCEROUTE 8 /* may perform source routes */ -#define IPCTL_DIRECTEDBROADCAST 9 /* may re-broadcast received packets */ -#define IPCTL_INTRQMAXLEN 10 /* max length of netisr queue */ -#define IPCTL_INTRQDROPS 11 /* number of netisr q drops */ -#define IPCTL_STATS 12 /* ipstat structure */ -#define IPCTL_ACCEPTSOURCEROUTE 13 /* may accept source routed packets */ -#define IPCTL_FASTFORWARDING 14 /* use fast IP forwarding code */ -#define IPCTL_KEEPFAITH 15 /* deprecated */ -#define IPCTL_GIF_TTL 16 /* default TTL for gif encap packet */ -#define IPCTL_MAXID 17 - -#endif /* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */ - -/* INET6 stuff */ -#define __KAME_NETINET_IN_H_INCLUDED_ -#include -#undef __KAME_NETINET_IN_H_INCLUDED_ - - -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -__BEGIN_DECLS -int bindresvport(int, struct sockaddr_in *); -struct sockaddr; -int bindresvport_sa(int, struct sockaddr *); -__END_DECLS -#endif - - -#endif /* _NETINET_IN_H_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.13-any/netinet/tcp.h b/lib/libc/include/any-macos.13-any/netinet/tcp.h deleted file mode 100644 index 34d9097140..0000000000 --- a/lib/libc/include/any-macos.13-any/netinet/tcp.h +++ /dev/null @@ -1,296 +0,0 @@ -/* - * Copyright (c) 2000-2018 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@ - */ -/* - * Copyright (c) 1982, 1986, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)tcp.h 8.1 (Berkeley) 6/10/93 - * $FreeBSD: src/sys/netinet/tcp.h,v 1.13.2.3 2001/03/01 22:08:42 jlemon Exp $ - */ - -#ifndef _NETINET_TCP_H_ -#define _NETINET_TCP_H_ -#include -#include -#include - -#include -#include /* __uint32_t */ -#include - -#include - -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -typedef __uint32_t tcp_seq; -typedef __uint32_t tcp_cc; /* connection count per rfc1644 */ - -#define tcp6_seq tcp_seq /* for KAME src sync over BSD*'s */ -#define tcp6hdr tcphdr /* for KAME src sync over BSD*'s */ - -/* - * TCP header. - * Per RFC 793, September, 1981. - */ -struct tcphdr { - unsigned short th_sport; /* source port */ - unsigned short th_dport; /* destination port */ - tcp_seq th_seq; /* sequence number */ - tcp_seq th_ack; /* acknowledgement number */ -#if __DARWIN_BYTE_ORDER == __DARWIN_LITTLE_ENDIAN - unsigned int th_x2:4, /* (unused) */ - th_off:4; /* data offset */ -#endif -#if __DARWIN_BYTE_ORDER == __DARWIN_BIG_ENDIAN - unsigned int th_off:4, /* data offset */ - th_x2:4; /* (unused) */ -#endif - unsigned char th_flags; -#define TH_FIN 0x01 -#define TH_SYN 0x02 -#define TH_RST 0x04 -#define TH_PUSH 0x08 -#define TH_ACK 0x10 -#define TH_URG 0x20 -#define TH_ECE 0x40 -#define TH_CWR 0x80 -#define TH_AE 0x100 /* maps into th_x2 */ -#define TH_FLAGS (TH_FIN|TH_SYN|TH_RST|TH_ACK|TH_URG|TH_ECE|TH_CWR) -#define TH_FLAGS_ALL (TH_FLAGS|TH_PUSH) -#define TH_ACCEPT (TH_FIN|TH_SYN|TH_RST|TH_ACK) -#define TH_ACE (TH_AE|TH_CWR|TH_ECE) - - unsigned short th_win; /* window */ - unsigned short th_sum; /* checksum */ - unsigned short th_urp; /* urgent pointer */ -}; - -#define TCPOPT_EOL 0 -#define TCPOPT_NOP 1 -#define TCPOPT_MAXSEG 2 -#define TCPOLEN_MAXSEG 4 -#define TCPOPT_WINDOW 3 -#define TCPOLEN_WINDOW 3 -#define TCPOPT_SACK_PERMITTED 4 /* Experimental */ -#define TCPOLEN_SACK_PERMITTED 2 -#define TCPOPT_SACK 5 /* Experimental */ -#define TCPOLEN_SACK 8 /* len of sack block */ -#define TCPOPT_TIMESTAMP 8 -#define TCPOLEN_TIMESTAMP 10 -#define TCPOLEN_TSTAMP_APPA (TCPOLEN_TIMESTAMP+2) /* appendix A */ -#define TCPOPT_TSTAMP_HDR \ - (TCPOPT_NOP<<24|TCPOPT_NOP<<16|TCPOPT_TIMESTAMP<<8|TCPOLEN_TIMESTAMP) - -#define MAX_TCPOPTLEN 40 /* Absolute maximum TCP options len */ - -#define TCPOPT_CC 11 /* CC options: RFC-1644 */ -#define TCPOPT_CCNEW 12 -#define TCPOPT_CCECHO 13 -#define TCPOLEN_CC 6 -#define TCPOLEN_CC_APPA (TCPOLEN_CC+2) -#define TCPOPT_CC_HDR(ccopt) \ - (TCPOPT_NOP<<24|TCPOPT_NOP<<16|(ccopt)<<8|TCPOLEN_CC) -#define TCPOPT_SIGNATURE 19 /* Keyed MD5: RFC 2385 */ -#define TCPOLEN_SIGNATURE 18 -#if MPTCP -#define TCPOPT_MULTIPATH 30 -#endif - -#define TCPOPT_FASTOPEN 34 -#define TCPOLEN_FASTOPEN_REQ 2 - -#define TCPOPT_ACCECN0 0xAC /* AccECN Order 0 */ -#define TCPOPT_ACCECN1 0XAE /* AccECN Order 1 */ -#define TCPOLEN_ACCECN_EMPTY 2 /* Empty option contains kind and length */ -#define TCPOLEN_ACCECN_COUNTER 3 /* Length of each AccECN counter */ - -/* Option definitions */ -#define TCPOPT_SACK_PERMIT_HDR \ -(TCPOPT_NOP<<24|TCPOPT_NOP<<16|TCPOPT_SACK_PERMITTED<<8|TCPOLEN_SACK_PERMITTED) -#define TCPOPT_SACK_HDR (TCPOPT_NOP<<24|TCPOPT_NOP<<16|TCPOPT_SACK<<8) -/* Miscellaneous constants */ -#define MAX_SACK_BLKS 6 /* Max # SACK blocks stored at sender side */ - -/* - * A SACK option that specifies n blocks will have a length of (8*n + 2) - * bytes, so the 40 bytes available for TCP options can specify a - * maximum of 4 blocks. - */ - -#define TCP_MAX_SACK 4 /* MAX # SACKs sent in any segment */ - - -/* - * Default maximum segment size for TCP. - * With an IP MTU of 576, this is 536, - * but 512 is probably more convenient. - * This should be defined as MIN(512, IP_MSS - sizeof (struct tcpiphdr)). - */ -#define TCP_MSS 512 - -/* - * TCP_MINMSS is defined to be 216 which is fine for the smallest - * link MTU (256 bytes, SLIP interface) in the Internet. - * However it is very unlikely to come across such low MTU interfaces - * these days (anno dato 2004). - * Probably it can be set to 512 without ill effects. But we play safe. - * See tcp_subr.c tcp_minmss SYSCTL declaration for more comments. - * Setting this to "0" disables the minmss check. - */ -#define TCP_MINMSS 216 - -/* - * Default maximum segment size for TCP6. - * With an IP6 MSS of 1280, this is 1220, - * but 1024 is probably more convenient. (xxx kazu in doubt) - * This should be defined as MIN(1024, IP6_MSS - sizeof (struct tcpip6hdr)) - */ -#define TCP6_MSS 1024 - -#define TCP_MAXWIN 65535 /* largest value for (unscaled) window */ -#define TTCP_CLIENT_SND_WND 4096 /* dflt send window for T/TCP client */ - -#define TCP_MAX_WINSHIFT 14 /* maximum window shift */ - -#define TCP_MAXHLEN (0xf<<2) /* max length of header in bytes */ -#define TCP_MAXOLEN (TCP_MAXHLEN - sizeof(struct tcphdr)) -/* max space left for options */ -#endif /* (_POSIX_C_SOURCE && !_DARWIN_C_SOURCE) */ - -/* - * User-settable options (used with setsockopt). - */ -#define TCP_NODELAY 0x01 /* don't delay send to coalesce packets */ -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -#define TCP_MAXSEG 0x02 /* set maximum segment size */ -#define TCP_NOPUSH 0x04 /* don't push last block of write */ -#define TCP_NOOPT 0x08 /* don't use TCP options */ -#define TCP_KEEPALIVE 0x10 /* idle time used when SO_KEEPALIVE is enabled */ -#define TCP_CONNECTIONTIMEOUT 0x20 /* connection timeout */ -#define PERSIST_TIMEOUT 0x40 /* time after which a connection in - * persist timeout will terminate. - * see draft-ananth-tcpm-persist-02.txt - */ -#define TCP_RXT_CONNDROPTIME 0x80 /* time after which tcp retransmissions will be - * stopped and the connection will be dropped - */ -#define TCP_RXT_FINDROP 0x100 /* when this option is set, drop a connection - * after retransmitting the FIN 3 times. It will - * prevent holding too many mbufs in socket - * buffer queues. - */ -#define TCP_KEEPINTVL 0x101 /* interval between keepalives */ -#define TCP_KEEPCNT 0x102 /* number of keepalives before close */ -#define TCP_SENDMOREACKS 0x103 /* always ack every other packet */ -#define TCP_ENABLE_ECN 0x104 /* Enable ECN on a connection */ -#define TCP_FASTOPEN 0x105 /* Enable/Disable TCP Fastopen on this socket */ -#define TCP_CONNECTION_INFO 0x106 /* State of TCP connection */ - - - -#define TCP_NOTSENT_LOWAT 0x201 /* Low water mark for TCP unsent data */ - -struct tcp_connection_info { - u_int8_t tcpi_state; /* connection state */ - u_int8_t tcpi_snd_wscale; /* Window scale for send window */ - u_int8_t tcpi_rcv_wscale; /* Window scale for receive window */ - u_int8_t __pad1; - u_int32_t tcpi_options; /* TCP options supported */ -#define TCPCI_OPT_TIMESTAMPS 0x00000001 /* Timestamps enabled */ -#define TCPCI_OPT_SACK 0x00000002 /* SACK enabled */ -#define TCPCI_OPT_WSCALE 0x00000004 /* Window scaling enabled */ -#define TCPCI_OPT_ECN 0x00000008 /* ECN enabled */ - u_int32_t tcpi_flags; /* flags */ -#define TCPCI_FLAG_LOSSRECOVERY 0x00000001 -#define TCPCI_FLAG_REORDERING_DETECTED 0x00000002 - u_int32_t tcpi_rto; /* retransmit timeout in ms */ - u_int32_t tcpi_maxseg; /* maximum segment size supported */ - u_int32_t tcpi_snd_ssthresh; /* slow start threshold in bytes */ - u_int32_t tcpi_snd_cwnd; /* send congestion window in bytes */ - u_int32_t tcpi_snd_wnd; /* send widnow in bytes */ - u_int32_t tcpi_snd_sbbytes; /* bytes in send socket buffer, including in-flight data */ - u_int32_t tcpi_rcv_wnd; /* receive window in bytes*/ - u_int32_t tcpi_rttcur; /* most recent RTT in ms */ - u_int32_t tcpi_srtt; /* average RTT in ms */ - u_int32_t tcpi_rttvar; /* RTT variance */ - u_int32_t - tcpi_tfo_cookie_req:1, /* Cookie requested? */ - tcpi_tfo_cookie_rcv:1, /* Cookie received? */ - tcpi_tfo_syn_loss:1, /* Fallback to reg. TCP after SYN-loss */ - tcpi_tfo_syn_data_sent:1, /* SYN+data has been sent out */ - tcpi_tfo_syn_data_acked:1, /* SYN+data has been fully acknowledged */ - tcpi_tfo_syn_data_rcv:1, /* Server received SYN+data with a valid cookie */ - tcpi_tfo_cookie_req_rcv:1, /* Server received cookie-request */ - tcpi_tfo_cookie_sent:1, /* Server announced cookie */ - tcpi_tfo_cookie_invalid:1, /* Server received an invalid cookie */ - tcpi_tfo_cookie_wrong:1, /* Our sent cookie was wrong */ - tcpi_tfo_no_cookie_rcv:1, /* We did not receive a cookie upon our request */ - tcpi_tfo_heuristics_disable:1, /* TFO-heuristics disabled it */ - tcpi_tfo_send_blackhole:1, /* A sending-blackhole got detected */ - tcpi_tfo_recv_blackhole:1, /* A receiver-blackhole got detected */ - tcpi_tfo_onebyte_proxy:1, /* A proxy acknowledges all but one byte of the SYN */ - __pad2:17; - u_int64_t tcpi_txpackets __attribute__((aligned(8))); - u_int64_t tcpi_txbytes __attribute__((aligned(8))); - u_int64_t tcpi_txretransmitbytes __attribute__((aligned(8))); - u_int64_t tcpi_rxpackets __attribute__((aligned(8))); - u_int64_t tcpi_rxbytes __attribute__((aligned(8))); - u_int64_t tcpi_rxoutoforderbytes __attribute__((aligned(8))); - u_int64_t tcpi_txretransmitpackets __attribute__((aligned(8))); -}; -#endif /* (_POSIX_C_SOURCE && !_DARWIN_C_SOURCE) */ - - -#endif \ No newline at end of file diff --git a/lib/libc/include/any-macos.13-any/objc/NSObject.h b/lib/libc/include/any-macos.13-any/objc/NSObject.h deleted file mode 100644 index 4f4762519f..0000000000 --- a/lib/libc/include/any-macos.13-any/objc/NSObject.h +++ /dev/null @@ -1,115 +0,0 @@ -/* NSObject.h - Copyright (c) 1994-2012, Apple Inc. All rights reserved. -*/ - -#ifndef _OBJC_NSOBJECT_H_ -#define _OBJC_NSOBJECT_H_ - -#if __OBJC__ - -#include -#include - -@class NSString, NSMethodSignature, NSInvocation; - -@protocol NSObject - -- (BOOL)isEqual:(id)object; -@property (readonly) NSUInteger hash; - -@property (readonly) Class superclass; -- (Class)class OBJC_SWIFT_UNAVAILABLE("use 'type(of: anObject)' instead"); -- (instancetype)self; - -- (id)performSelector:(SEL)aSelector; -- (id)performSelector:(SEL)aSelector withObject:(id)object; -- (id)performSelector:(SEL)aSelector withObject:(id)object1 withObject:(id)object2; - -- (BOOL)isProxy; - -- (BOOL)isKindOfClass:(Class)aClass; -- (BOOL)isMemberOfClass:(Class)aClass; -- (BOOL)conformsToProtocol:(Protocol *)aProtocol; - -- (BOOL)respondsToSelector:(SEL)aSelector; - -- (instancetype)retain OBJC_ARC_UNAVAILABLE; -- (oneway void)release OBJC_ARC_UNAVAILABLE; -- (instancetype)autorelease OBJC_ARC_UNAVAILABLE; -- (NSUInteger)retainCount OBJC_ARC_UNAVAILABLE; - -- (struct _NSZone *)zone OBJC_ARC_UNAVAILABLE; - -@property (readonly, copy) NSString *description; -@optional -@property (readonly, copy) NSString *debugDescription; - -@end - - -OBJC_AVAILABLE(10.0, 2.0, 9.0, 1.0, 2.0) -OBJC_ROOT_CLASS -OBJC_EXPORT -@interface NSObject { -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wobjc-interface-ivars" - Class isa OBJC_ISA_AVAILABILITY; -#pragma clang diagnostic pop -} - -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wobjc-load-method" -+ (void)load; -#pragma clang diagnostic pop - -+ (void)initialize; -- (instancetype)init -#if NS_ENFORCE_NSOBJECT_DESIGNATED_INITIALIZER - NS_DESIGNATED_INITIALIZER -#endif - ; - -+ (instancetype)new OBJC_SWIFT_UNAVAILABLE("use object initializers instead"); -+ (instancetype)allocWithZone:(struct _NSZone *)zone OBJC_SWIFT_UNAVAILABLE("use object initializers instead"); -+ (instancetype)alloc OBJC_SWIFT_UNAVAILABLE("use object initializers instead"); -- (void)dealloc OBJC_SWIFT_UNAVAILABLE("use 'deinit' to define a de-initializer"); - -- (void)finalize OBJC_DEPRECATED("Objective-C garbage collection is no longer supported"); - -- (id)copy; -- (id)mutableCopy; - -+ (id)copyWithZone:(struct _NSZone *)zone OBJC_ARC_UNAVAILABLE; -+ (id)mutableCopyWithZone:(struct _NSZone *)zone OBJC_ARC_UNAVAILABLE; - -+ (BOOL)instancesRespondToSelector:(SEL)aSelector; -+ (BOOL)conformsToProtocol:(Protocol *)protocol; -- (IMP)methodForSelector:(SEL)aSelector; -+ (IMP)instanceMethodForSelector:(SEL)aSelector; -- (void)doesNotRecognizeSelector:(SEL)aSelector; - -- (id)forwardingTargetForSelector:(SEL)aSelector OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0); -- (void)forwardInvocation:(NSInvocation *)anInvocation OBJC_SWIFT_UNAVAILABLE(""); -- (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector OBJC_SWIFT_UNAVAILABLE(""); - -+ (NSMethodSignature *)instanceMethodSignatureForSelector:(SEL)aSelector OBJC_SWIFT_UNAVAILABLE(""); - -- (BOOL)allowsWeakReference UNAVAILABLE_ATTRIBUTE; -- (BOOL)retainWeakReference UNAVAILABLE_ATTRIBUTE; - -+ (BOOL)isSubclassOfClass:(Class)aClass; - -+ (BOOL)resolveClassMethod:(SEL)sel OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0); -+ (BOOL)resolveInstanceMethod:(SEL)sel OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0); - -+ (NSUInteger)hash; -+ (Class)superclass; -+ (Class)class OBJC_SWIFT_UNAVAILABLE("use 'aClass.self' instead"); -+ (NSString *)description; -+ (NSString *)debugDescription; - -@end - -#endif - -#endif \ No newline at end of file diff --git a/lib/libc/include/any-macos.13-any/objc/objc.h b/lib/libc/include/any-macos.13-any/objc/objc.h deleted file mode 100644 index fa90236f63..0000000000 --- a/lib/libc/include/any-macos.13-any/objc/objc.h +++ /dev/null @@ -1,236 +0,0 @@ -/* - * Copyright (c) 1999-2007 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@ - */ -/* - * objc.h - * Copyright 1988-1996, NeXT Software, Inc. - */ - -#ifndef _OBJC_OBJC_H_ -#define _OBJC_OBJC_H_ - -#include -#include -#include -#include - -#if !OBJC_TYPES_DEFINED -/// An opaque type that represents an Objective-C class. -typedef struct objc_class *Class; - -/// Represents an instance of a class. -struct objc_object { - Class _Nonnull isa OBJC_ISA_AVAILABILITY; -}; - -/// A pointer to an instance of a class. -typedef struct objc_object *id; -#endif - -/// An opaque type that represents a method selector. -typedef struct objc_selector *SEL; - -/// A pointer to the function of a method implementation. -#if !OBJC_OLD_DISPATCH_PROTOTYPES -typedef void (*IMP)(void /* id, SEL, ... */ ); -#else -typedef id _Nullable (*IMP)(id _Nonnull, SEL _Nonnull, ...); -#endif - -/// Type to represent a boolean value. - -#if defined(__OBJC_BOOL_IS_BOOL) - // Honor __OBJC_BOOL_IS_BOOL when available. -# if __OBJC_BOOL_IS_BOOL -# define OBJC_BOOL_IS_BOOL 1 -# else -# define OBJC_BOOL_IS_BOOL 0 -# endif -#else - // __OBJC_BOOL_IS_BOOL not set. -# if TARGET_OS_OSX || TARGET_OS_MACCATALYST || ((TARGET_OS_IOS || 0) && !__LP64__ && !__ARM_ARCH_7K) -# define OBJC_BOOL_IS_BOOL 0 -# else -# define OBJC_BOOL_IS_BOOL 1 -# endif -#endif - -#if OBJC_BOOL_IS_BOOL - typedef bool BOOL; -#else -# define OBJC_BOOL_IS_CHAR 1 - typedef signed char BOOL; - // BOOL is explicitly signed so @encode(BOOL) == "c" rather than "C" - // even if -funsigned-char is used. -#endif - -#define OBJC_BOOL_DEFINED - -#if __has_feature(objc_bool) -#define YES __objc_yes -#define NO __objc_no -#else -#define YES ((BOOL)1) -#define NO ((BOOL)0) -#endif - -#ifndef Nil -# if __has_feature(cxx_nullptr) -# define Nil nullptr -# else -# define Nil __DARWIN_NULL -# endif -#endif - -#ifndef nil -# if __has_feature(cxx_nullptr) -# define nil nullptr -# else -# define nil __DARWIN_NULL -# endif -#endif - -#ifndef __strong -# if !__has_feature(objc_arc) -# define __strong /* empty */ -# endif -#endif - -#ifndef __unsafe_unretained -# if !__has_feature(objc_arc) -# define __unsafe_unretained /* empty */ -# endif -#endif - -#ifndef __autoreleasing -# if !__has_feature(objc_arc) -# define __autoreleasing /* empty */ -# endif -#endif - -/// Forward declaration for zone support -typedef struct _malloc_zone_t *objc_zone_t; - -/** - * Returns the name of the method specified by a given selector. - * - * @param sel A pointer of type \c SEL. Pass the selector whose name you wish to determine. - * - * @return A C string indicating the name of the selector. - */ -OBJC_EXPORT const char * _Nonnull sel_getName(SEL _Nonnull sel) - OBJC_AVAILABLE(10.0, 2.0, 9.0, 1.0, 2.0); - -/** - * Registers a method with the Objective-C runtime system, maps the method - * name to a selector, and returns the selector value. - * - * @param str A pointer to a C string. Pass the name of the method you wish to register. - * - * @return A pointer of type SEL specifying the selector for the named method. - * - * @note You must register a method name with the Objective-C runtime system to obtain the - * method’s selector before you can add the method to a class definition. If the method name - * has already been registered, this function simply returns the selector. - */ -OBJC_EXPORT SEL _Nonnull sel_registerName(const char * _Nonnull str) - OBJC_AVAILABLE(10.0, 2.0, 9.0, 1.0, 2.0); - -/** - * Returns the class name of a given object. - * - * @param obj An Objective-C object. - * - * @return The name of the class of which \e obj is an instance. - */ -OBJC_EXPORT const char * _Nonnull object_getClassName(id _Nullable obj) - OBJC_AVAILABLE(10.0, 2.0, 9.0, 1.0, 2.0); - -/** - * Returns a pointer to any extra bytes allocated with an instance given object. - * - * @param obj An Objective-C object. - * - * @return A pointer to any extra bytes allocated with \e obj. If \e obj was - * not allocated with any extra bytes, then dereferencing the returned pointer is undefined. - * - * @note This function returns a pointer to any extra bytes allocated with the instance - * (as specified by \c class_createInstance with extraBytes>0). This memory follows the - * object's ordinary ivars, but may not be adjacent to the last ivar. - * @note The returned pointer is guaranteed to be pointer-size aligned, even if the area following - * the object's last ivar is less aligned than that. Alignment greater than pointer-size is never - * guaranteed, even if the area following the object's last ivar is more aligned than that. - * @note In a garbage-collected environment, the memory is scanned conservatively. - */ -OBJC_EXPORT void * _Nullable object_getIndexedIvars(id _Nullable obj) - OBJC_AVAILABLE(10.0, 2.0, 9.0, 1.0, 2.0); - -/** - * Identifies a selector as being valid or invalid. - * - * @param sel The selector you want to identify. - * - * @return YES if selector is valid and has a function implementation, NO otherwise. - * - * @warning On some platforms, an invalid reference (to invalid memory addresses) can cause - * a crash. - */ -OBJC_EXPORT BOOL sel_isMapped(SEL _Nonnull sel) - OBJC_AVAILABLE(10.0, 2.0, 9.0, 1.0, 2.0); - -/** - * Registers a method name with the Objective-C runtime system. - * - * @param str A pointer to a C string. Pass the name of the method you wish to register. - * - * @return A pointer of type SEL specifying the selector for the named method. - * - * @note The implementation of this method is identical to the implementation of \c sel_registerName. - * @note Prior to OS X version 10.0, this method tried to find the selector mapped to the given name - * and returned \c NULL if the selector was not found. This was changed for safety, because it was - * observed that many of the callers of this function did not check the return value for \c NULL. - */ -OBJC_EXPORT SEL _Nonnull sel_getUid(const char * _Nonnull str) - OBJC_AVAILABLE(10.0, 2.0, 9.0, 1.0, 2.0); - -typedef const void* objc_objectptr_t; - - -// Obsolete ARC conversions. - -OBJC_EXPORT id _Nullable objc_retainedObject(objc_objectptr_t _Nullable obj) -#if !OBJC_DECLARE_SYMBOLS - OBJC_UNAVAILABLE("use CFBridgingRelease() or a (__bridge_transfer id) cast instead") -#endif - ; -OBJC_EXPORT id _Nullable objc_unretainedObject(objc_objectptr_t _Nullable obj) -#if !OBJC_DECLARE_SYMBOLS - OBJC_UNAVAILABLE("use a (__bridge id) cast instead") -#endif - ; -OBJC_EXPORT objc_objectptr_t _Nullable objc_unretainedPointer(id _Nullable obj) -#if !OBJC_DECLARE_SYMBOLS - OBJC_UNAVAILABLE("use a __bridge cast instead") -#endif - ; - -#endif /* _OBJC_OBJC_H_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.13-any/os/availability.h b/lib/libc/include/any-macos.13-any/os/availability.h deleted file mode 100644 index ea0a9a8d14..0000000000 --- a/lib/libc/include/any-macos.13-any/os/availability.h +++ /dev/null @@ -1,195 +0,0 @@ -/* - * Copyright (c) 2008-2017 Apple Inc. All rights reserved. - * - * @APPLE_APACHE_LICENSE_HEADER_START@ - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * @APPLE_APACHE_LICENSE_HEADER_END@ - */ - -#ifndef __OS_AVAILABILITY__ -#define __OS_AVAILABILITY__ - -/* - * API_TO_BE_DEPRECATED is used as a version number in API that will be deprecated - * in an upcoming release. This soft deprecation is an intermediate step before formal - * deprecation to notify developers about the API before compiler warnings are generated. - * You can find all places in your code that use soft deprecated API by redefining the - * value of this macro to your current minimum deployment target, for example: - * (macOS) - * clang -DAPI_TO_BE_DEPRECATED=10.12 - * (iOS) - * clang -DAPI_TO_BE_DEPRECATED=11.0 - */ - -#ifndef API_TO_BE_DEPRECATED -#define API_TO_BE_DEPRECATED 100000 -#endif - -#ifndef API_TO_BE_DEPRECATED_MACOS -#define API_TO_BE_DEPRECATED_MACOS 100000 -#endif - -#ifndef API_TO_BE_DEPRECATED_IOS -#define API_TO_BE_DEPRECATED_IOS 100000 -#endif - -#ifndef API_TO_BE_DEPRECATED_TVOS -#define API_TO_BE_DEPRECATED_TVOS 100000 -#endif - -#ifndef API_TO_BE_DEPRECATED_WATCHOS -#define API_TO_BE_DEPRECATED_WATCHOS 100000 -#endif - -#ifndef __API_TO_BE_DEPRECATED_BRIDGEOS - -#endif - -#ifndef __API_TO_BE_DEPRECATED_MACCATALYST -#define __API_TO_BE_DEPRECATED_MACCATALYST 100000 -#endif - -#ifndef API_TO_BE_DEPRECATED_DRIVERKIT -#define API_TO_BE_DEPRECATED_DRIVERKIT 100000 -#endif - - - -#include - - - -#if defined(__has_feature) && defined(__has_attribute) - #if __has_attribute(availability) - - /* - * API Introductions - * - * Use to specify the release that a particular API became available. - * - * Platform names: - * macos, ios, tvos, watchos - * - * 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)) - */ - - #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, 0)(__VA_ARGS__) - - #define API_AVAILABLE_BEGIN(...) _Pragma("clang attribute push") __API_AVAILABLE_BEGIN_GET_MACRO(__VA_ARGS__,__API_AVAILABLE8,__API_AVAILABLE_BEGIN7,__API_AVAILABLE_BEGIN6, __API_AVAILABLE_BEGIN5, __API_AVAILABLE_BEGIN4, __API_AVAILABLE_BEGIN3, __API_AVAILABLE_BEGIN2, __API_AVAILABLE_BEGIN1, 0)(__VA_ARGS__) - #define API_AVAILABLE_END _Pragma("clang attribute pop") - - /* - * API Deprecations - * - * Use to specify the release that a particular API became unavailable. - * - * Platform names: - * macos, ios, tvos, watchos - * - * 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_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_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, 0)(__VA_ARGS__) - #define API_DEPRECATED_WITH_REPLACEMENT(...) __API_DEPRECATED_REP_GET_MACRO(__VA_ARGS__,__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, 0)(__VA_ARGS__) - - #define API_DEPRECATED_BEGIN(...) _Pragma("clang attribute push") __API_DEPRECATED_BEGIN_MSG_GET_MACRO(__VA_ARGS__,__API_DEPRECATED_BEGIN_MSG9,__API_DEPRECATED_BEGIN_MSG8,__API_DEPRECATED_BEGIN_MSG7, __API_DEPRECATED_BEGIN_MSG6, __API_DEPRECATED_BEGIN_MSG5, __API_DEPRECATED_BEGIN_MSG4, __API_DEPRECATED_BEGIN_MSG3, __API_DEPRECATED_BEGIN_MSG2, __API_DEPRECATED_BEGIN_MSG1, 0)(__VA_ARGS__) - #define API_DEPRECATED_END _Pragma("clang attribute pop") - - #define API_DEPRECATED_WITH_REPLACEMENT_BEGIN(...) _Pragma("clang attribute push") __API_DEPRECATED_BEGIN_REP_GET_MACRO(__VA_ARGS__,__API_DEPRECATED_BEGIN_REP9,__API_DEPRECATED_BEGIN_REP8,__API_DEPRECATED_BEGIN_REP7, __API_DEPRECATED_BEGIN_REP6, __API_DEPRECATED_BEGIN_REP5, __API_DEPRECATED_BEGIN_REP4, __API_DEPRECATED_BEGIN_REP3, __API_DEPRECATED_BEGIN_REP2, __API_DEPRECATED_BEGIN_REP1, 0)(__VA_ARGS__) - #define API_DEPRECATED_WITH_REPLACEMENT_END _Pragma("clang attribute pop") - - - /* - * API Unavailability - * Use to specify that an API is unavailable for a particular platform. - * - * Example: - * 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, 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, 0)(__VA_ARGS__) - #define API_UNAVAILABLE_END _Pragma("clang attribute pop") - #else - - /* - * Evaluate to nothing for compilers that don't support availability. - */ - - #define API_AVAILABLE(...) - #define API_AVAILABLE_BEGIN(...) - #define API_AVAILABLE_END - #define API_DEPRECATED(...) - #define API_DEPRECATED_WITH_REPLACEMENT(...) - #define API_DEPRECATED_BEGIN(...) - #define API_DEPRECATED_END - #define API_DEPRECATED_WITH_REPLACEMENT_BEGIN(...) - #define API_DEPRECATED_WITH_REPLACEMENT_END - #define API_UNAVAILABLE(...) - #define API_UNAVAILABLE_BEGIN(...) - #define API_UNAVAILABLE_END - #endif /* __has_attribute(availability) */ -#else - - /* - * Evaluate to nothing for compilers that don't support clang language extensions. - */ - - #define API_AVAILABLE(...) - #define API_AVAILABLE_BEGIN(...) - #define API_AVAILABLE_END - #define API_DEPRECATED(...) - #define API_DEPRECATED_WITH_REPLACEMENT(...) - #define API_DEPRECATED_BEGIN(...) - #define API_DEPRECATED_END - #define API_DEPRECATED_WITH_REPLACEMENT_BEGIN(...) - #define API_DEPRECATED_WITH_REPLACEMENT_END - #define API_UNAVAILABLE(...) - #define API_UNAVAILABLE_BEGIN(...) - #define API_UNAVAILABLE_END -#endif /* #if defined(__has_feature) && defined(__has_attribute) */ - -#if __has_include() - #include -#endif - -/* - * If SPI decorations have not been defined elsewhere, disable them. - */ - -#ifndef SPI_AVAILABLE - #define SPI_AVAILABLE(...) -#endif - -#ifndef SPI_DEPRECATED - #define SPI_DEPRECATED(...) -#endif - -#ifndef SPI_DEPRECATED_WITH_REPLACEMENT - #define SPI_DEPRECATED_WITH_REPLACEMENT(...) -#endif - -#endif /* __OS_AVAILABILITY__ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.13-any/os/lock.h b/lib/libc/include/any-macos.13-any/os/lock.h deleted file mode 100644 index e141d029f5..0000000000 --- a/lib/libc/include/any-macos.13-any/os/lock.h +++ /dev/null @@ -1,202 +0,0 @@ -/* - * Copyright (c) 2016 Apple Inc. All rights reserved. - * - * @APPLE_APACHE_LICENSE_HEADER_START@ - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * @APPLE_APACHE_LICENSE_HEADER_END@ - */ - -#ifndef __OS_LOCK__ -#define __OS_LOCK__ - -#include -#include -#include -#include -#include -#include - -OS_ASSUME_NONNULL_BEGIN - -/*! @header - * Low-level lock API. - */ - -#define OS_LOCK_API_VERSION 20160309 - -__BEGIN_DECLS - -#define OS_UNFAIR_LOCK_AVAILABILITY \ - __API_AVAILABLE(macos(10.12), ios(10.0), tvos(10.0), watchos(3.0)) - -/*! - * @typedef os_unfair_lock - * - * @abstract - * Low-level lock that allows waiters to block efficiently on contention. - * - * os_unfair_lock is an appropriate lock for cases where simple and lightweight - * mutual exclusion is needed. - * It can be intrusively stored inline in a datastructure without needing a - * separate allocation, reducing memory consumption and cost of indirection. - * For situations where something more sophisticated like condition waits or - * FIFO ordering is needed, use appropriate higher level APIs such as those from - * the pthread or dispatch subsystems. - * - * The values stored in the lock should be considered opaque and implementation - * defined, they contain thread ownership information that the system may use - * to attempt to resolve priority inversions. - * - * This lock must be unlocked from the same thread that locked it, attempts to - * unlock from a different thread will cause an assertion aborting the process. - * - * This lock must not be accessed from multiple processes or threads via shared - * or multiply-mapped memory, because the lock implementation relies on the - * address of the lock value and identity of the owning process. - * - * Must be initialized with OS_UNFAIR_LOCK_INIT. - * - * @discussion - * The name 'unfair' indicates that there is no attempt at enforcing acquisition - * fairness, e.g. an unlocker can potentially immediately reacquire the lock - * before a woken up waiter gets an opportunity to attempt to acquire the lock. - * This is often advantageous for performance reasons, but also makes starvation - * of waiters a possibility. - * - * This lock is suitable as a drop-in replacement for the deprecated OSSpinLock, - * providing much better behavior under contention. - * - * In Swift, note that use of the `&` operator on an unfair lock can copy or move - * the lock memory, leading to misbehavior. Use an OSAllocatedUnfairLock to safely wrap - * access to the lock memory instead. If you use os_unfair_lock APIs directly, - * always make sure to store and use the lock in memory with a stable address. - */ -OS_UNFAIR_LOCK_AVAILABILITY -typedef struct os_unfair_lock_s { - uint32_t _os_unfair_lock_opaque; -} os_unfair_lock, *os_unfair_lock_t; - -#ifndef OS_UNFAIR_LOCK_INIT -#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L -#define OS_UNFAIR_LOCK_INIT ((os_unfair_lock){0}) -#elif defined(__cplusplus) && __cplusplus >= 201103L -#define OS_UNFAIR_LOCK_INIT (os_unfair_lock{}) -#elif defined(__cplusplus) -#define OS_UNFAIR_LOCK_INIT (os_unfair_lock()) -#else -#define OS_UNFAIR_LOCK_INIT {0} -#endif -#endif // OS_UNFAIR_LOCK_INIT - -/*! - * @function os_unfair_lock_lock - * - * @abstract - * Locks an os_unfair_lock. - * - * @param lock - * Pointer to an os_unfair_lock. - */ -OS_UNFAIR_LOCK_AVAILABILITY -OS_EXPORT OS_NOTHROW OS_NONNULL_ALL -OS_SWIFT_UNAVAILABLE_FROM_ASYNC("Use OSAllocatedUnfairLock.performWhileLocked() for async-safe scoped locking") -void os_unfair_lock_lock(os_unfair_lock_t lock); - -/*! - * @function os_unfair_lock_trylock - * - * @abstract - * Locks an os_unfair_lock if it is not already locked. - * - * @discussion - * It is invalid to surround this function with a retry loop, if this function - * returns false, the program must be able to proceed without having acquired - * the lock, or it must call os_unfair_lock_lock() directly (a retry loop around - * os_unfair_lock_trylock() amounts to an inefficient implementation of - * os_unfair_lock_lock() that hides the lock waiter from the system and prevents - * resolution of priority inversions). - * - * @param lock - * Pointer to an os_unfair_lock. - * - * @result - * Returns true if the lock was succesfully locked and false if the lock was - * already locked. - */ -OS_UNFAIR_LOCK_AVAILABILITY -OS_EXPORT OS_NOTHROW OS_WARN_RESULT OS_NONNULL_ALL -OS_SWIFT_UNAVAILABLE_FROM_ASYNC("Use OSAllocatedUnfairLock.tryPerformWhileLocked() for async-safe scoped locking") -bool os_unfair_lock_trylock(os_unfair_lock_t lock); - -/*! - * @function os_unfair_lock_unlock - * - * @abstract - * Unlocks an os_unfair_lock. - * - * @param lock - * Pointer to an os_unfair_lock. - */ -OS_UNFAIR_LOCK_AVAILABILITY -OS_EXPORT OS_NOTHROW OS_NONNULL_ALL -OS_SWIFT_UNAVAILABLE_FROM_ASYNC("Use OSAllocatedUnfairLock.performWhileLocked() for async-safe scoped locking") -void os_unfair_lock_unlock(os_unfair_lock_t lock); - -/*! - * @function os_unfair_lock_assert_owner - * - * @abstract - * Asserts that the calling thread is the current owner of the specified - * unfair lock. - * - * @discussion - * If the lock is currently owned by the calling thread, this function returns. - * - * If the lock is unlocked or owned by a different thread, this function - * asserts and terminates the process. - * - * @param lock - * Pointer to an os_unfair_lock. - */ -OS_UNFAIR_LOCK_AVAILABILITY -OS_EXPORT OS_NOTHROW OS_NONNULL_ALL -void os_unfair_lock_assert_owner(const os_unfair_lock *lock); - -/*! - * @function os_unfair_lock_assert_not_owner - * - * @abstract - * Asserts that the calling thread is not the current owner of the specified - * unfair lock. - * - * @discussion - * If the lock is unlocked or owned by a different thread, this function - * returns. - * - * If the lock is currently owned by the current thread, this function asserts - * and terminates the process. - * - * @param lock - * Pointer to an os_unfair_lock. - */ -OS_UNFAIR_LOCK_AVAILABILITY -OS_EXPORT OS_NOTHROW OS_NONNULL_ALL -void os_unfair_lock_assert_not_owner(const os_unfair_lock *lock); - -__END_DECLS - -OS_ASSUME_NONNULL_END - -#endif // __OS_LOCK__ \ No newline at end of file diff --git a/lib/libc/include/any-macos.13-any/os/object.h b/lib/libc/include/any-macos.13-any/os/object.h deleted file mode 100644 index 4b5a77974a..0000000000 --- a/lib/libc/include/any-macos.13-any/os/object.h +++ /dev/null @@ -1,308 +0,0 @@ -/* - * Copyright (c) 2011-2014 Apple Inc. All rights reserved. - * - * @APPLE_APACHE_LICENSE_HEADER_START@ - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * @APPLE_APACHE_LICENSE_HEADER_END@ - */ - -#ifndef __OS_OBJECT__ -#define __OS_OBJECT__ - -#ifdef __APPLE__ -#include -#include -#include -#include -#elif defined(_WIN32) -#include -#elif defined(__unix__) -#include -#endif - -/*! - * @header - * - * @preprocinfo - * By default, libSystem objects such as GCD and XPC objects are declared as - * Objective-C types when building with an Objective-C compiler. This allows - * them to participate in ARC, in RR management by the Blocks runtime and in - * leaks checking by the static analyzer, and enables them to be added to Cocoa - * collections. - * - * NOTE: this requires explicit cancellation of dispatch sources and xpc - * connections whose handler blocks capture the source/connection object, - * resp. ensuring that such captures do not form retain cycles (e.g. by - * declaring the source as __weak). - * - * To opt-out of this default behavior, add -DOS_OBJECT_USE_OBJC=0 to your - * compiler flags. - * - * This mode requires a platform with the modern Objective-C runtime, the - * Objective-C GC compiler option to be disabled, and at least a Mac OS X 10.8 - * or iOS 6.0 deployment target. - */ - -#define OS_OBJECT_ASSUME_ABI_SINGLE_BEGIN OS_ASSUME_PTR_ABI_SINGLE_BEGIN -#define OS_OBJECT_ASSUME_ABI_SINGLE_END OS_ASSUME_PTR_ABI_SINGLE_END - -#ifndef OS_OBJECT_HAVE_OBJC_SUPPORT -#if !defined(__OBJC__) || defined(__OBJC_GC__) -# define OS_OBJECT_HAVE_OBJC_SUPPORT 0 -#elif !defined(TARGET_OS_MAC) || !TARGET_OS_MAC -# define OS_OBJECT_HAVE_OBJC_SUPPORT 0 -#elif TARGET_OS_IOS && __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_6_0 -# define OS_OBJECT_HAVE_OBJC_SUPPORT 0 -#elif TARGET_OS_MAC && !TARGET_OS_IPHONE -# if __MAC_OS_X_VERSION_MIN_REQUIRED < __MAC_10_8 -# define OS_OBJECT_HAVE_OBJC_SUPPORT 0 -# elif defined(__i386__) && __MAC_OS_X_VERSION_MIN_REQUIRED < __MAC_10_12 -# define OS_OBJECT_HAVE_OBJC_SUPPORT 0 -# else -# define OS_OBJECT_HAVE_OBJC_SUPPORT 1 -# endif -#else -# define OS_OBJECT_HAVE_OBJC_SUPPORT 1 -#endif -#endif // OS_OBJECT_HAVE_OBJC_SUPPORT - -#if OS_OBJECT_HAVE_OBJC_SUPPORT -#if defined(__swift__) && __swift__ && !OS_OBJECT_USE_OBJC -#define OS_OBJECT_USE_OBJC 1 -#endif -#ifndef OS_OBJECT_USE_OBJC -#define OS_OBJECT_USE_OBJC 1 -#endif -#elif defined(OS_OBJECT_USE_OBJC) && OS_OBJECT_USE_OBJC -/* Unsupported platform for OS_OBJECT_USE_OBJC=1 */ -#undef OS_OBJECT_USE_OBJC -#define OS_OBJECT_USE_OBJC 0 -#else -#define OS_OBJECT_USE_OBJC 0 -#endif - -#ifndef OS_OBJECT_SWIFT3 -#ifdef __swift__ -#define OS_OBJECT_SWIFT3 1 -#else // __swift__ -#define OS_OBJECT_SWIFT3 0 -#endif // __swift__ -#endif // OS_OBJECT_SWIFT3 - -#if __has_feature(assume_nonnull) -#define OS_OBJECT_ASSUME_NONNULL_BEGIN _Pragma("clang assume_nonnull begin") -#define OS_OBJECT_ASSUME_NONNULL_END _Pragma("clang assume_nonnull end") -#else -#define OS_OBJECT_ASSUME_NONNULL_BEGIN -#define OS_OBJECT_ASSUME_NONNULL_END -#endif -#define OS_OBJECT_WARN_UNUSED_RESULT __attribute__((__warn_unused_result__)) - -#if OS_OBJECT_USE_OBJC -#import -#if __has_attribute(objc_independent_class) -#define OS_OBJC_INDEPENDENT_CLASS __attribute__((objc_independent_class)) -#endif // __has_attribute(objc_independent_class) -#ifndef OS_OBJC_INDEPENDENT_CLASS -#define OS_OBJC_INDEPENDENT_CLASS -#endif -#define OS_OBJECT_CLASS(name) OS_##name -#define OS_OBJECT_DECL_PROTOCOL(name, ...) \ - @protocol OS_OBJECT_CLASS(name) __VA_ARGS__ \ - @end -#define OS_OBJECT_CLASS_IMPLEMENTS_PROTOCOL_IMPL(name, proto) \ - @interface name () \ - @end -#define OS_OBJECT_CLASS_IMPLEMENTS_PROTOCOL(name, proto) \ - OS_OBJECT_CLASS_IMPLEMENTS_PROTOCOL_IMPL( \ - OS_OBJECT_CLASS(name), OS_OBJECT_CLASS(proto)) -#define OS_OBJECT_DECL_IMPL(name, adhere, ...) \ - OS_OBJECT_DECL_PROTOCOL(name, __VA_ARGS__) \ - typedef adhere \ - * OS_OBJC_INDEPENDENT_CLASS name##_t -#define OS_OBJECT_DECL_BASE(name, ...) \ - @interface OS_OBJECT_CLASS(name) : __VA_ARGS__ \ - - (instancetype)init OS_SWIFT_UNAVAILABLE("Unavailable in Swift"); \ - @end -#define OS_OBJECT_DECL_IMPL_CLASS(name, ...) \ - OS_OBJECT_DECL_BASE(name, ## __VA_ARGS__) \ - typedef OS_OBJECT_CLASS(name) \ - * OS_OBJC_INDEPENDENT_CLASS name##_t -#define OS_OBJECT_DECL(name, ...) \ - OS_OBJECT_DECL_IMPL(name, NSObject, ) -#define OS_OBJECT_DECL_SUBCLASS(name, super) \ - OS_OBJECT_DECL_IMPL(name, NSObject, ) -#if __has_attribute(ns_returns_retained) -#define OS_OBJECT_RETURNS_RETAINED __attribute__((__ns_returns_retained__)) -#else -#define OS_OBJECT_RETURNS_RETAINED -#endif -#if __has_attribute(ns_consumed) -#define OS_OBJECT_CONSUMED __attribute__((__ns_consumed__)) -#else -#define OS_OBJECT_CONSUMED -#endif -#if __has_feature(objc_arc) -#define OS_OBJECT_BRIDGE __bridge -#define OS_WARN_RESULT_NEEDS_RELEASE -#else -#define OS_OBJECT_BRIDGE -#define OS_WARN_RESULT_NEEDS_RELEASE OS_WARN_RESULT -#endif - - -#if __has_attribute(objc_runtime_visible) && \ - ((defined(__MAC_OS_X_VERSION_MIN_REQUIRED) && \ - __MAC_OS_X_VERSION_MIN_REQUIRED < __MAC_10_12) || \ - (defined(__IPHONE_OS_VERSION_MIN_REQUIRED) && \ - !defined(__TV_OS_VERSION_MIN_REQUIRED) && \ - !defined(__WATCH_OS_VERSION_MIN_REQUIRED) && \ - __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_10_0) || \ - (defined(__TV_OS_VERSION_MIN_REQUIRED) && \ - __TV_OS_VERSION_MIN_REQUIRED < __TVOS_10_0) || \ - (defined(__WATCH_OS_VERSION_MIN_REQUIRED) && \ - __WATCH_OS_VERSION_MIN_REQUIRED < __WATCHOS_3_0)) -/* - * To provide backward deployment of ObjC objects in Swift on pre-10.12 - * SDKs, OS_object classes can be marked as OS_OBJECT_OBJC_RUNTIME_VISIBLE. - * When compiling with a deployment target earlier than OS X 10.12 (iOS 10.0, - * tvOS 10.0, watchOS 3.0) the Swift compiler will only refer to this type at - * runtime (using the ObjC runtime). - */ -#define OS_OBJECT_OBJC_RUNTIME_VISIBLE __attribute__((objc_runtime_visible)) -#else -#define OS_OBJECT_OBJC_RUNTIME_VISIBLE -#endif -#ifndef OS_OBJECT_USE_OBJC_RETAIN_RELEASE -#if defined(__clang_analyzer__) -#define OS_OBJECT_USE_OBJC_RETAIN_RELEASE 1 -#elif __has_feature(objc_arc) && !OS_OBJECT_SWIFT3 -#define OS_OBJECT_USE_OBJC_RETAIN_RELEASE 1 -#else -#define OS_OBJECT_USE_OBJC_RETAIN_RELEASE 0 -#endif -#endif -#if OS_OBJECT_SWIFT3 -#define OS_OBJECT_DECL_SWIFT(name) \ - OS_EXPORT OS_OBJECT_OBJC_RUNTIME_VISIBLE \ - OS_OBJECT_DECL_IMPL_CLASS(name, NSObject) -#define OS_OBJECT_DECL_SUBCLASS_SWIFT(name, super) \ - OS_EXPORT OS_OBJECT_OBJC_RUNTIME_VISIBLE \ - OS_OBJECT_DECL_IMPL_CLASS(name, OS_OBJECT_CLASS(super)) -#endif // OS_OBJECT_SWIFT3 -OS_EXPORT OS_OBJECT_OBJC_RUNTIME_VISIBLE -OS_OBJECT_DECL_BASE(object, NSObject); -#else -/*! @parseOnly */ -#define OS_OBJECT_RETURNS_RETAINED -/*! @parseOnly */ -#define OS_OBJECT_CONSUMED -/*! @parseOnly */ -#define OS_OBJECT_BRIDGE -/*! @parseOnly */ -#define OS_WARN_RESULT_NEEDS_RELEASE OS_WARN_RESULT -/*! @parseOnly */ -#define OS_OBJECT_OBJC_RUNTIME_VISIBLE -#define OS_OBJECT_USE_OBJC_RETAIN_RELEASE 0 -#endif - -#if OS_OBJECT_SWIFT3 -#define OS_OBJECT_DECL_CLASS(name) \ - OS_OBJECT_DECL_SUBCLASS_SWIFT(name, object) -#elif OS_OBJECT_USE_OBJC -#define OS_OBJECT_DECL_CLASS(name) \ - OS_OBJECT_DECL(name) -#else -#define OS_OBJECT_DECL_CLASS(name) \ - typedef struct name##_s *name##_t -#endif - -#if OS_OBJECT_USE_OBJC -/* Declares a class of the specific name and exposes the interface and typedefs - * name##_t to the pointer to the class */ -#define OS_OBJECT_SHOW_CLASS(name, ...) \ - OS_EXPORT OS_OBJECT_OBJC_RUNTIME_VISIBLE \ - OS_OBJECT_DECL_IMPL_CLASS(name, ## __VA_ARGS__ ) -/* Declares a subclass of the same name, and - * subclass adheres to protocol specified. Typedefs baseclass * to subclass##_t */ -#define OS_OBJECT_SHOW_SUBCLASS(subclass_name, super, proto_name) \ - OS_EXPORT OS_OBJECT_OBJC_RUNTIME_VISIBLE \ - OS_OBJECT_DECL_BASE(subclass_name, OS_OBJECT_CLASS(super)); \ - typedef OS_OBJECT_CLASS(super) \ - * OS_OBJC_INDEPENDENT_CLASS subclass_name##_t -#else /* Plain C */ -#define OS_OBJECT_DECL_PROTOCOL(name, ...) -#define OS_OBJECT_SHOW_CLASS(name, ...) \ - typedef struct name##_s *name##_t -#define OS_OBJECT_SHOW_SUBCLASS(name, super, ...) \ - typedef super##_t name##_t -#endif - -#define OS_OBJECT_GLOBAL_OBJECT(type, object) ((OS_OBJECT_BRIDGE type)&(object)) - -__BEGIN_DECLS -OS_OBJECT_ASSUME_ABI_SINGLE_BEGIN - -/*! - * @function os_retain - * - * @abstract - * Increment the reference count of an os_object. - * - * @discussion - * On a platform with the modern Objective-C runtime this is exactly equivalent - * to sending the object the -[retain] message. - * - * @param object - * The object to retain. - * - * @result - * The retained object. - */ -API_AVAILABLE(macos(10.10), ios(8.0)) -OS_EXPORT OS_SWIFT_UNAVAILABLE("Can't be used with ARC") -void* -os_retain(void *object); -#if OS_OBJECT_USE_OBJC -#undef os_retain -#define os_retain(object) [object retain] -#endif - -/*! - * @function os_release - * - * @abstract - * Decrement the reference count of a os_object. - * - * @discussion - * On a platform with the modern Objective-C runtime this is exactly equivalent - * to sending the object the -[release] message. - * - * @param object - * The object to release. - */ -API_AVAILABLE(macos(10.10), ios(8.0)) -OS_EXPORT -void OS_SWIFT_UNAVAILABLE("Can't be used with ARC") -os_release(void *object); -#if OS_OBJECT_USE_OBJC -#undef os_release -#define os_release(object) [object release] -#endif - -OS_OBJECT_ASSUME_ABI_SINGLE_END -__END_DECLS - -#endif \ No newline at end of file diff --git a/lib/libc/include/any-macos.13-any/os/workgroup_base.h b/lib/libc/include/any-macos.13-any/os/workgroup_base.h deleted file mode 100644 index e705496f2a..0000000000 --- a/lib/libc/include/any-macos.13-any/os/workgroup_base.h +++ /dev/null @@ -1,85 +0,0 @@ -#ifndef __OS_WORKGROUP_BASE__ -#define __OS_WORKGROUP_BASE__ - -#ifndef __OS_WORKGROUP_INDIRECT__ -#error "Please #include instead of this file directly." -#endif - -#include -#include -#include -#include -#include -#include - -#include - -#include -#include -#include -#include - -#if __has_feature(assume_nonnull) -#define OS_WORKGROUP_ASSUME_NONNULL_BEGIN _Pragma("clang assume_nonnull begin") -#define OS_WORKGROUP_ASSUME_NONNULL_END _Pragma("clang assume_nonnull end") -#else -#define OS_WORKGROUP_ASSUME_NONNULL_BEGIN -#define OS_WORKGROUP_ASSUME_NONNULL_END -#endif -#define OS_WORKGROUP_WARN_RESULT __attribute__((__warn_unused_result__)) -#define OS_WORKGROUP_EXPORT OS_EXPORT -#define OS_WORKGROUP_RETURNS_RETAINED OS_OBJECT_RETURNS_RETAINED -#define OS_WORKGROUP_ASSUME_ABI_SINGLE_BEGIN OS_ASSUME_PTR_ABI_SINGLE_BEGIN -#define OS_WORKGROUP_ASSUME_ABI_SINGLE_END OS_ASSUME_PTR_ABI_SINGLE_END -#define OS_WORKGROUP_UNSAFE_INDEXABLE OS_UNSAFE_INDEXABLE - -#define OS_WORKGROUP_DECL(name, swift_name) \ - OS_SWIFT_NAME(swift_name) \ - OS_OBJECT_SHOW_CLASS(name, OS_OBJECT_CLASS(object)) - -#if OS_OBJECT_USE_OBJC -#define OS_WORKGROUP_SUBCLASS_DECL_PROTO(name, swift_name, ...) \ - OS_SWIFT_NAME(swift_name) \ - OS_OBJECT_DECL_PROTOCOL(name ## __VA_ARGS__ ) -#else -#define OS_WORKGROUP_SUBCLASS_DECL_PROTO(name, swift_name, ...) -#endif - -#define OS_WORKGROUP_SUBCLASS_DECL(name, super, swift_name, ...) \ - OS_SWIFT_NAME(swift_name) \ - OS_OBJECT_SHOW_SUBCLASS(name, super, name, ## __VA_ARGS__) - -#if defined(__LP64__) -#define __OS_WORKGROUP_ATTR_SIZE__ 60 -#define __OS_WORKGROUP_INTERVAL_DATA_SIZE__ 56 -#define __OS_WORKGROUP_JOIN_TOKEN_SIZE__ 36 -#else -#define __OS_WORKGROUP_ATTR_SIZE__ 60 -#define __OS_WORKGROUP_INTERVAL_DATA_SIZE__ 56 -#define __OS_WORKGROUP_JOIN_TOKEN_SIZE__ 28 -#endif - -#define _OS_WORKGROUP_ATTR_SIG_DEFAULT_INIT 0x2FA863B4 -#define _OS_WORKGROUP_ATTR_SIG_EMPTY_INIT 0x2FA863C4 - -OS_WORKGROUP_ASSUME_ABI_SINGLE_BEGIN - -struct OS_REFINED_FOR_SWIFT os_workgroup_attr_opaque_s { - uint32_t sig; - char opaque[__OS_WORKGROUP_ATTR_SIZE__]; -}; - -#define _OS_WORKGROUP_INTERVAL_DATA_SIG_INIT 0x52A74C4D -struct OS_REFINED_FOR_SWIFT os_workgroup_interval_data_opaque_s { - uint32_t sig; - char opaque[__OS_WORKGROUP_INTERVAL_DATA_SIZE__]; -}; - -struct OS_REFINED_FOR_SWIFT os_workgroup_join_token_opaque_s { - uint32_t sig; - char opaque[__OS_WORKGROUP_JOIN_TOKEN_SIZE__]; -}; - -OS_WORKGROUP_ASSUME_ABI_SINGLE_END - -#endif /* __OS_WORKGROUP_BASE__ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.13-any/os/workgroup_interval.h b/lib/libc/include/any-macos.13-any/os/workgroup_interval.h deleted file mode 100644 index 84aa507634..0000000000 --- a/lib/libc/include/any-macos.13-any/os/workgroup_interval.h +++ /dev/null @@ -1,157 +0,0 @@ -/* - * Copyright (c) 2020 Apple Inc. All rights reserved. - * - * @APPLE_APACHE_LICENSE_HEADER_START@ - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * @APPLE_APACHE_LICENSE_HEADER_END@ - */ - -#ifndef __OS_WORKGROUP_INTERVAL__ -#define __OS_WORKGROUP_INTERVAL__ - -#ifndef __OS_WORKGROUP_INDIRECT__ -#error "Please #include instead of this file directly." -#include // For header doc -#endif - -__BEGIN_DECLS - -OS_WORKGROUP_ASSUME_NONNULL_BEGIN -OS_WORKGROUP_ASSUME_ABI_SINGLE_BEGIN - -/*! - * @typedef os_workgroup_interval_t - * - * @abstract - * A subclass of an os_workgroup_t for tracking work performed as part of - * a repeating interval-driven workload. - */ -OS_WORKGROUP_SUBCLASS_DECL_PROTO(os_workgroup_interval, Repeatable); -OS_WORKGROUP_SUBCLASS_DECL(os_workgroup_interval, os_workgroup, WorkGroupInterval); - -/* During the first instance of this API, the only supported interval - * workgroups are for audio workloads. Please refer to the AudioToolbox - * framework for more information. - */ - -/* - * @typedef os_workgroup_interval_data, os_workgroup_interval_data_t - * - * @abstract - * An opaque structure containing additional configuration for the workgroup - * interval. - */ -typedef struct os_workgroup_interval_data_opaque_s os_workgroup_interval_data_s; -typedef struct os_workgroup_interval_data_opaque_s *os_workgroup_interval_data_t; -#define OS_WORKGROUP_INTERVAL_DATA_INITIALIZER \ - { .sig = _OS_WORKGROUP_INTERVAL_DATA_SIG_INIT } - -/*! - * @function os_workgroup_interval_start - * - * @abstract - * Indicates to the system that the member threads of this - * os_workgroup_interval_t have begun working on an instance of the repeatable - * interval workload with the specified timestamps. This function is real time - * safe. - * - * This function will set and return an errno in the following cases: - * - * - The current thread is not a member of the os_workgroup_interval_t - * - The os_workgroup_interval_t has been cancelled - * - The timestamps passed in are malformed - * - os_workgroup_interval_start() was previously called on the - * os_workgroup_interval_t without an intervening os_workgroup_interval_finish() - * - A concurrent workgroup interval configuration operation is taking place. - * - * @param start - * Start timestamp specified in the os_clockid_t with which the - * os_workgroup_interval_t was created. This is generally a time in the past and - * indicates when the workgroup started working on an interval period - * - * @param deadline - * Deadline timestamp specified in the os_clockid_t with which the - * os_workgroup_interval_t was created. This specifies the deadline which the - * interval period would like to meet. - * - * @param data - * This field is currently unused and should be NULL - */ -API_AVAILABLE(macos(11.0), ios(14.0), tvos(14.0), watchos(7.0)) -OS_REFINED_FOR_SWIFT OS_WORKGROUP_EXPORT OS_WORKGROUP_WARN_RESULT -int -os_workgroup_interval_start(os_workgroup_interval_t wg, uint64_t start, uint64_t - deadline, os_workgroup_interval_data_t _Nullable data); - -/*! - * @function os_workgroup_interval_update - * - * @abstract - * Updates an already started interval workgroup to have the new - * deadline specified. This function is real time safe. - * - * This function will return an error in the following cases: - * - The current thread is not a member of the os_workgroup_interval_t - * - The os_workgroup_interval_t has been cancelled - * - The timestamp passed in is malformed - * - os_workgroup_interval_start() was not previously called on the - * os_workgroup_interval_t or was already matched with an - * os_workgroup_interval_finish() - * - A concurrent workgroup interval configuration operation is taking place - * - * @param deadline - * Timestamp specified in the os_clockid_t with - * which the os_workgroup_interval_t was created. - * - * @param data - * This field is currently unused and should be NULL - */ -API_AVAILABLE(macos(11.0), ios(14.0), tvos(14.0), watchos(7.0)) -OS_REFINED_FOR_SWIFT OS_WORKGROUP_EXPORT OS_WORKGROUP_WARN_RESULT -int -os_workgroup_interval_update(os_workgroup_interval_t wg, uint64_t deadline, - os_workgroup_interval_data_t _Nullable data); - -/*! - * @function os_workgroup_interval_finish - * - * @abstract - * Indicates to the system that the member threads of - * this os_workgroup_interval_t have finished working on the current instance - * of the interval workload. This function is real time safe. - * - * This function will return an error in the following cases: - * - The current thread is not a member of the os_workgroup_interval_t - * - os_workgroup_interval_start() was not previously called on the - * os_workgroup_interval_t or was already matched with an - * os_workgroup_interval_finish() - * - A concurrent workgroup interval configuration operation is taking place. - * - * @param data - * This field is currently unused and should be NULL - * - */ -API_AVAILABLE(macos(11.0), ios(14.0), tvos(14.0), watchos(7.0)) -OS_REFINED_FOR_SWIFT OS_WORKGROUP_EXPORT OS_WORKGROUP_WARN_RESULT -int -os_workgroup_interval_finish(os_workgroup_interval_t wg, - os_workgroup_interval_data_t _Nullable data); - -OS_WORKGROUP_ASSUME_ABI_SINGLE_END -OS_WORKGROUP_ASSUME_NONNULL_END - -__END_DECLS - -#endif /* __OS_WORKGROUP_INTERVAL__ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.13-any/os/workgroup_object.h b/lib/libc/include/any-macos.13-any/os/workgroup_object.h deleted file mode 100644 index fdf5ae7211..0000000000 --- a/lib/libc/include/any-macos.13-any/os/workgroup_object.h +++ /dev/null @@ -1,359 +0,0 @@ -/* - * Copyright (c) 2020 Apple Inc. All rights reserved. - * - * @APPLE_APACHE_LICENSE_HEADER_START@ - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * @APPLE_APACHE_LICENSE_HEADER_END@ - */ - -#ifndef __OS_WORKGROUP_OBJECT__ -#define __OS_WORKGROUP_OBJECT__ - -#ifndef __OS_WORKGROUP_INDIRECT__ -#error "Please #include instead of this file directly." -#include // For header doc -#endif - -__BEGIN_DECLS - -OS_WORKGROUP_ASSUME_NONNULL_BEGIN -OS_WORKGROUP_ASSUME_ABI_SINGLE_BEGIN - -/*! - * @typedef os_workgroup_t - * - * @abstract - * A reference counted os object representing a workload that needs to - * be distinctly recognized and tracked by the system. The workgroup - * tracks a collection of threads all working cooperatively. An os_workgroup - * object - when not an instance of a specific os_workgroup_t subclass - - * represents a generic workload and makes no assumptions about the kind of - * work done. - * - * @discussion - * Threads can explicitly join an os_workgroup_t to mark themselves as - * participants in the workload. - */ -OS_WORKGROUP_DECL(os_workgroup, WorkGroup); - - -/* Attribute creation and specification */ - -/*! - * @typedef os_workgroup_attr_t - * - * @abstract - * Pointer to an opaque structure for describing attributes that can be - * configured on a workgroup at creation. - */ -typedef struct os_workgroup_attr_opaque_s os_workgroup_attr_s; -typedef struct os_workgroup_attr_opaque_s *os_workgroup_attr_t; - -/* os_workgroup_t attributes need to be initialized before use. This initializer - * allows you to create a workgroup with the system default attributes. */ -#define OS_WORKGROUP_ATTR_INITIALIZER_DEFAULT \ - { .sig = _OS_WORKGROUP_ATTR_SIG_DEFAULT_INIT } - - - -/* The main use of the workgroup API is through instantiations of the concrete - * subclasses - please refer to os/workgroup_interval.h and - * os/workgroup_parallel.h for more information on creating workgroups. - * - * The functions below operate on all subclasses of os_workgroup_t. - */ - -/*! - * @function os_workgroup_copy_port - * - * @abstract - * Returns a reference to a send right representing this workgroup that is to be - * sent to other processes. This port is to be passed to - * os_workgroup_create_with_port() to create a workgroup object. - * - * It is the client's responsibility to release the send right reference. - * - * If an error is encountered, errno is set and returned. - */ -API_AVAILABLE(macos(11.0)) -API_UNAVAILABLE(ios, tvos, watchos) -OS_REFINED_FOR_SWIFT OS_WORKGROUP_EXPORT OS_WORKGROUP_WARN_RESULT -int -os_workgroup_copy_port(os_workgroup_t wg, mach_port_t *mach_port_out); - -/*! - * @function os_workgroup_create_with_port - * - * @abstract - * Create an os_workgroup_t object from a send right returned by a previous - * call to os_workgroup_copy_port, potentially in a different process. - * - * A newly created os_workgroup_t has no initial member threads - in particular - * the creating thread does not join the os_workgroup_t implicitly. - * - * @param name - * A client specified string for labelling the workgroup. This parameter is - * optional and can be NULL. - * - * @param mach_port - * The send right to create the workgroup from. No reference is consumed - * on the specified send right. - */ -API_AVAILABLE(macos(11.0)) -API_UNAVAILABLE(ios, tvos, watchos) -OS_SWIFT_NAME(WorkGroup.init(__name:port:)) OS_WORKGROUP_EXPORT OS_WORKGROUP_RETURNS_RETAINED -os_workgroup_t _Nullable -os_workgroup_create_with_port(const char *OS_WORKGROUP_UNSAFE_INDEXABLE _Nullable name, mach_port_t mach_port); - -/*! - * @function os_workgroup_create_with_workgroup - * - * @abstract - * Create a new os_workgroup object from an existing os_workgroup. - * - * The newly created os_workgroup has no initial member threads - in particular - * the creating threaad does not join the os_workgroup_t implicitly. - * - * @param name - * A client specified string for labelling the workgroup. This parameter is - * optional and can be NULL. - * - * @param wg - * The existing workgroup to create a new workgroup object from. - */ -API_AVAILABLE(macos(11.0), ios(14.0), tvos(14.0), watchos(7.0)) -OS_REFINED_FOR_SWIFT OS_WORKGROUP_EXPORT OS_WORKGROUP_RETURNS_RETAINED -os_workgroup_t _Nullable -os_workgroup_create_with_workgroup(const char * OS_WORKGROUP_UNSAFE_INDEXABLE _Nullable name, os_workgroup_t wg); - -/*! - * @typedef os_workgroup_join_token, os_workgroup_join_token_t - * - * @abstract - * An opaque join token which the client needs to pass to os_workgroup_join - * and os_workgroup_leave - */ -OS_REFINED_FOR_SWIFT -typedef struct os_workgroup_join_token_opaque_s os_workgroup_join_token_s; -OS_REFINED_FOR_SWIFT -typedef struct os_workgroup_join_token_opaque_s *os_workgroup_join_token_t; - - -/*! - * @function os_workgroup_join - * - * @abstract - * Joins the current thread to the specified workgroup and populates the join - * token that has been passed in. This API is real-time safe. - * - * @param wg - * The workgroup that the current thread would like to join - * - * @param token_out - * Pointer to a client allocated struct which the function will populate - * with the join token. This token must be passed in by the thread when it calls - * os_workgroup_leave(). - * - * Errors will be returned in the following cases: - * - * EALREADY The thread is already part of a workgroup that the specified - * workgroup does not nest with - * EINVAL The workgroup has been cancelled - */ -API_AVAILABLE(macos(11.0), ios(14.0), tvos(14.0), watchos(7.0)) -OS_REFINED_FOR_SWIFT OS_WORKGROUP_EXPORT OS_WORKGROUP_WARN_RESULT -int -os_workgroup_join(os_workgroup_t wg, os_workgroup_join_token_t token_out); - -/*! - * @function os_workgroup_leave - * - * @abstract - * This removes the current thread from a workgroup it has previously - * joined. Threads must leave all workgroups in the reverse order that they - * have joined them. Failing to do so before exiting will result in undefined - * behavior. - * - * If the join token is malformed, the process will be aborted. - * - * This API is real time safe. - * - * @param wg - * The workgroup that the current thread would like to leave. - * - * @param token - * This is the join token populated by the most recent call to - * os_workgroup_join(). - */ -API_AVAILABLE(macos(11.0), ios(14.0), tvos(14.0), watchos(7.0)) -OS_REFINED_FOR_SWIFT OS_WORKGROUP_EXPORT -void -os_workgroup_leave(os_workgroup_t wg, os_workgroup_join_token_t token); - -/* Working Arena index of a thread in a workgroup */ -typedef uint32_t os_workgroup_index; -/* Destructor for Working Arena */ -typedef void (*os_workgroup_working_arena_destructor_t)(void * _Nullable); - -/*! - * @function os_workgroup_set_working_arena - * - * @abstract - * Associates a client defined working arena with the workgroup. The arena - * is local to the workgroup object in the process. This is intended for - * distributing a manually managed memory allocation between member threads - * of the workgroup. - * - * This function can be called multiple times and the client specified - * destructor will be called on the previously assigned arena, if any. This - * function can only be called when no threads have currently joined the - * workgroup and all workloops associated with the workgroup are idle. - * - * @param wg - * The workgroup to associate the working arena with - * - * @param arena - * The client managed arena to associate with the workgroup. This value can - * be NULL. - * - * @param max_workers - * The maximum number of threads that will ever query the workgroup for the - * arena and request an index into it. If the arena is not used to partition - * work amongst member threads, then this field can be 0. - * - * @param destructor - * A destructor to call on the previously assigned working arena, if any - */ -API_AVAILABLE(macos(11.0), ios(14.0), tvos(14.0), watchos(7.0)) -OS_REFINED_FOR_SWIFT OS_WORKGROUP_EXPORT OS_WORKGROUP_WARN_RESULT -int -os_workgroup_set_working_arena(os_workgroup_t wg, void * _Nullable arena, - uint32_t max_workers, os_workgroup_working_arena_destructor_t destructor); - -/*! - * @function os_workgroup_get_working_arena - * - * @abstract - * Returns the working arena associated with the workgroup and the current - * thread's index in the workgroup. This function can only be called by a member - * of the workgroup. Multiple calls to this API by a member thread will return - * the same arena and index until the thread leaves the workgroup. - * - * For workloops with an associated workgroup, every work item on the workloop - * will receive the same index in the arena. - * - * This method returns NULL if no arena is set on the workgroup. The index - * returned by this function is zero-based and is namespaced per workgroup - * object in the process. The indices provided are strictly monotonic and never - * reused until a future call to os_workgroup_set_working_arena. - * - * @param wg - * The workgroup to get the working arena from. - * - * @param index_out - * A pointer to a os_workgroup_index which will be populated by the caller's - * index in the workgroup. - */ -API_AVAILABLE(macos(11.0), ios(14.0), tvos(14.0), watchos(7.0)) -OS_REFINED_FOR_SWIFT OS_WORKGROUP_EXPORT -void * _Nullable -os_workgroup_get_working_arena(os_workgroup_t wg, - os_workgroup_index * _Nullable index_out); - -/*! - * @function os_workgroup_cancel - * - * @abstract - * This API invalidates a workgroup and indicates to the system that the - * workload is no longer relevant to the caller. - * - * No new work should be initiated for a cancelled workgroup and - * work that is already underway should periodically check for - * cancellation with os_workgroup_testcancel and initiate cleanup if needed. - * - * Threads currently in the workgroup continue to be tracked together but no - * new threads may join this workgroup - the only possible operation allowed is - * to leave the workgroup. Other actions may have undefined behavior or - * otherwise fail. - * - * This API is idempotent. Cancellation is local to the workgroup object - * it is called on and does not affect other workgroups. - * - * @param wg - * The workgroup that that the thread would like to cancel - */ -API_AVAILABLE(macos(11.0), ios(14.0), tvos(14.0), watchos(7.0)) -OS_REFINED_FOR_SWIFT OS_WORKGROUP_EXPORT -void -os_workgroup_cancel(os_workgroup_t wg); - -/*! - * @function os_workgroup_testcancel - * - * @abstract - * Returns true if the workgroup object has been cancelled. See also - * os_workgroup_cancel - */ -API_AVAILABLE(macos(11.0), ios(14.0), tvos(14.0), watchos(7.0)) -OS_REFINED_FOR_SWIFT OS_WORKGROUP_EXPORT -bool -os_workgroup_testcancel(os_workgroup_t wg); - -/*! - * @typedef os_workgroup_max_parallel_threads_attr_t - * - * @abstract - * A pointer to a structure describing the set of properties of a workgroup to - * override with the explicitly specified values in the structure. - * - * See also os_workgroup_max_parallel_threads. - */ -OS_REFINED_FOR_SWIFT -typedef struct os_workgroup_max_parallel_threads_attr_s os_workgroup_mpt_attr_s; -OS_REFINED_FOR_SWIFT -typedef struct os_workgroup_max_parallel_threads_attr_s *os_workgroup_mpt_attr_t; - -/*! - * @function os_workgroup_max_parallel_threads - * - * @abstract - * Returns the system's recommendation for maximum number of threads the client - * should make for a multi-threaded workload in a given workgroup. - * - * This API takes into consideration the current hardware the code is running on - * and the attributes of the workgroup. It does not take into consideration the - * current load of the system and therefore always provides the most optimal - * recommendation for the workload. - * - * @param wg - * The workgroup in which the multi-threaded workload will be performed in. The - * threads performing the multi-threaded workload are expected to join this - * workgroup. - * - * @param attr - * This value is currently unused and should be NULL. - */ -API_AVAILABLE(macos(11.0), ios(14.0), tvos(14.0), watchos(7.0)) -OS_REFINED_FOR_SWIFT OS_WORKGROUP_EXPORT -int -os_workgroup_max_parallel_threads(os_workgroup_t wg, os_workgroup_mpt_attr_t - _Nullable attr); - -OS_WORKGROUP_ASSUME_ABI_SINGLE_END -OS_WORKGROUP_ASSUME_NONNULL_END - -__END_DECLS - -#endif /* __OS_WORKGROUP_OBJECT__ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.13-any/os/workgroup_parallel.h b/lib/libc/include/any-macos.13-any/os/workgroup_parallel.h deleted file mode 100644 index 740e67b66c..0000000000 --- a/lib/libc/include/any-macos.13-any/os/workgroup_parallel.h +++ /dev/null @@ -1,76 +0,0 @@ -/* - * Copyright (c) 2020 Apple Inc. All rights reserved. - * - * @APPLE_APACHE_LICENSE_HEADER_START@ - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * @APPLE_APACHE_LICENSE_HEADER_END@ - */ - -#ifndef __OS_WORKGROUP_PARALLEL__ -#define __OS_WORKGROUP_PARALLEL__ - -#ifndef __OS_WORKGROUP_INDIRECT__ -#error "Please #include instead of this file directly." -#include // For header doc -#endif - -#include - -__BEGIN_DECLS - -OS_WORKGROUP_ASSUME_NONNULL_BEGIN -OS_WORKGROUP_ASSUME_ABI_SINGLE_BEGIN - -/*! - * @typedef os_workgroup_parallel_t - * - * @abstract - * A subclass of an os_workgroup_t for tracking parallel work. - */ -OS_WORKGROUP_SUBCLASS_DECL_PROTO(os_workgroup_parallel, Parallelizable); -OS_WORKGROUP_SUBCLASS_DECL(os_workgroup_parallel, os_workgroup, WorkGroupParallel); - -/*! - * @function os_workgroup_parallel_create - * - * @abstract - * Creates an os_workgroup_t which tracks a parallel workload. - * A newly created os_workgroup_interval_t has no initial member threads - - * in particular the creating thread does not join the os_workgroup_parallel_t - * implicitly. - * - * See also os_workgroup_max_parallel_threads(). - * - * @param name - * A client specified string for labelling the workgroup. This parameter is - * optional and can be NULL. - * - * @param attr - * The requested set of workgroup attributes. NULL is to be specified for the - * default set of attributes. - */ -API_AVAILABLE(macos(11.0), ios(14.0), tvos(14.0), watchos(7.0)) -OS_WORKGROUP_EXPORT OS_WORKGROUP_RETURNS_RETAINED -OS_SWIFT_NAME(WorkGroupParallel.init(__name:attr:)) -os_workgroup_parallel_t _Nullable -os_workgroup_parallel_create(const char *OS_WORKGROUP_UNSAFE_INDEXABLE _Nullable name, - os_workgroup_attr_t _Nullable attr); - -OS_WORKGROUP_ASSUME_ABI_SINGLE_END -OS_WORKGROUP_ASSUME_NONNULL_END - -__END_DECLS - -#endif /* __OS_WORKGROUP_PARALLEL__ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.13-any/simd/simd.h b/lib/libc/include/any-macos.13-any/simd/simd.h deleted file mode 100644 index f6aff16f46..0000000000 --- a/lib/libc/include/any-macos.13-any/simd/simd.h +++ /dev/null @@ -1,30 +0,0 @@ -/* Copyright (c) 2014 Apple, Inc. All rights reserved. - * - * This header provides small vector (simd) and matrix types, and basic - * arithmetic and mathematical functions for them. The vast majority of these - * operations are implemented as header inlines, as they can be performed - * using just a few instructions on most processors. - * - * These functions are broken into two groups; vector and matrix. This header - * includes all of them, but these may also be included separately. Consult - * these two headers for detailed documentation of what types and operations - * are available. - */ - -#ifndef __SIMD_HEADER__ -#define __SIMD_HEADER__ - -#if __has_include() -#include -REALTIME_SAFE_BEGIN -#endif - -#include -#include -#include - -#if __has_include() -REALTIME_SAFE_END -#endif - -#endif \ No newline at end of file diff --git a/lib/libc/include/any-macos.13-any/sys/clonefile.h b/lib/libc/include/any-macos.13-any/sys/clonefile.h deleted file mode 100644 index faaf3a0802..0000000000 --- a/lib/libc/include/any-macos.13-any/sys/clonefile.h +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Copyright (c) 2015-2017 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 _SYS_CLONEFILE_H_ -#define _SYS_CLONEFILE_H_ - -/* Options for clonefile calls */ -#define CLONE_NOFOLLOW 0x0001 /* Don't follow symbolic links */ -#define CLONE_NOOWNERCOPY 0x0002 /* Don't copy ownership information from source */ -#define CLONE_ACL 0x0004 /* Copy access control lists from source */ - - -#include -#include -#include <_types/_uint32_t.h> -#include - -__BEGIN_DECLS - -int clonefileat(int, const char *, int, const char *, uint32_t) __OSX_AVAILABLE(10.12) __IOS_AVAILABLE(10.0) __TVOS_AVAILABLE(10.0) __WATCHOS_AVAILABLE(3.0); - -int fclonefileat(int, int, const char *, uint32_t) __OSX_AVAILABLE(10.12) __IOS_AVAILABLE(10.0) __TVOS_AVAILABLE(10.0) __WATCHOS_AVAILABLE(3.0); - -int clonefile(const char *, const char *, uint32_t) __OSX_AVAILABLE(10.12) __IOS_AVAILABLE(10.0) __TVOS_AVAILABLE(10.0) __WATCHOS_AVAILABLE(3.0); - -__END_DECLS - - -#endif /* _SYS_CLONEFILE_H_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.13-any/sys/filio.h b/lib/libc/include/any-macos.13-any/sys/filio.h deleted file mode 100644 index 5744524f5b..0000000000 --- a/lib/libc/include/any-macos.13-any/sys/filio.h +++ /dev/null @@ -1,85 +0,0 @@ -/* - * Copyright (c) 2000-2022 Apple Computer, 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@ - */ -/* Copyright (c) 1995 NeXT Computer, Inc. All Rights Reserved */ -/*- - * Copyright (c) 1982, 1986, 1990, 1993, 1994 - * The Regents of the University of California. All rights reserved. - * (c) UNIX System Laboratories, Inc. - * All or some portions of this file are derived from material licensed - * to the University of California by American Telephone and Telegraph - * Co. or Unix System Laboratories, Inc. and are reproduced herein with - * the permission of UNIX System Laboratories, Inc. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)filio.h 8.1 (Berkeley) 3/28/94 - */ - -#ifndef _SYS_FILIO_H_ -#define _SYS_FILIO_H_ - -#include - -/* Generic file-descriptor ioctl's. */ -#define FIOCLEX _IO('f', 1) /* set close on exec on fd */ -#define FIONCLEX _IO('f', 2) /* remove close on exec */ -#define FIONREAD _IOR('f', 127, int) /* get # bytes to read */ -#define FIONBIO _IOW('f', 126, int) /* set/clear non-blocking i/o */ -#define FIOASYNC _IOW('f', 125, int) /* set/clear async i/o */ -#define FIOSETOWN _IOW('f', 124, int) /* set owner */ -#define FIOGETOWN _IOR('f', 123, int) /* get owner */ -#define FIODTYPE _IOR('f', 122, int) /* get d_type */ - - -#endif /* !_SYS_FILIO_H_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.13-any/sys/mman.h b/lib/libc/include/any-macos.13-any/sys/mman.h deleted file mode 100644 index e1f72a0c7f..0000000000 --- a/lib/libc/include/any-macos.13-any/sys/mman.h +++ /dev/null @@ -1,265 +0,0 @@ -/* - * Copyright (c) 2000-2020 Apple Computer, 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@ - */ -/* Copyright (c) 1995 NeXT Computer, Inc. All Rights Reserved */ -/*- - * Copyright (c) 1982, 1986, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)mman.h 8.1 (Berkeley) 6/2/93 - */ - -/* - * Currently unsupported: - * - * [TYM] POSIX_TYPED_MEM_ALLOCATE - * [TYM] POSIX_TYPED_MEM_ALLOCATE_CONTIG - * [TYM] POSIX_TYPED_MEM_MAP_ALLOCATABLE - * [TYM] struct posix_typed_mem_info - * [TYM] posix_mem_offset() - * [TYM] posix_typed_mem_get_info() - * [TYM] posix_typed_mem_open() - */ - -#ifndef _SYS_MMAN_H_ -#define _SYS_MMAN_H_ - -#include -#include - -#include - -/* - * [various] The mode_t, off_t, and size_t types shall be defined as - * described in - */ -#include -#include -#include - -#if __DARWIN_C_LEVEL >= 200809L -#include -#endif /* __DARWIN_C_LEVEL */ - -/* - * Protections are chosen from these bits, or-ed together - */ -#define PROT_NONE 0x00 /* [MC2] no permissions */ -#define PROT_READ 0x01 /* [MC2] pages can be read */ -#define PROT_WRITE 0x02 /* [MC2] pages can be written */ -#define PROT_EXEC 0x04 /* [MC2] pages can be executed */ - -/* - * Flags contain sharing type and options. - * Sharing types; choose one. - */ -#define MAP_SHARED 0x0001 /* [MF|SHM] share changes */ -#define MAP_PRIVATE 0x0002 /* [MF|SHM] changes are private */ -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -#define MAP_COPY MAP_PRIVATE /* Obsolete */ -#endif /* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */ - -/* - * Other flags - */ -#define MAP_FIXED 0x0010 /* [MF|SHM] interpret addr exactly */ -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -#define MAP_RENAME 0x0020 /* Sun: rename private pages to file */ -#define MAP_NORESERVE 0x0040 /* Sun: don't reserve needed swap area */ -#define MAP_RESERVED0080 0x0080 /* previously unimplemented MAP_INHERIT */ -#define MAP_NOEXTEND 0x0100 /* for MAP_FILE, don't change file size */ -#define MAP_HASSEMAPHORE 0x0200 /* region may contain semaphores */ -#define MAP_NOCACHE 0x0400 /* don't cache pages for this mapping */ -#define MAP_JIT 0x0800 /* Allocate a region that will be used for JIT purposes */ - -/* - * Mapping type - */ -#define MAP_FILE 0x0000 /* map from file (default) */ -#define MAP_ANON 0x1000 /* allocated from memory, swap space */ -#define MAP_ANONYMOUS MAP_ANON - -/* - * The MAP_RESILIENT_* flags can be used when the caller wants to map some - * possibly unreliable memory and be able to access it safely, possibly - * getting the wrong contents rather than raising any exception. - * For safety reasons, such mappings have to be read-only (PROT_READ access - * only). - * - * MAP_RESILIENT_CODESIGN: - * accessing this mapping will not generate code-signing violations, - * even if the contents are tainted. - * MAP_RESILIENT_MEDIA: - * accessing this mapping will not generate an exception if the contents - * are not available (unreachable removable or remote media, access beyond - * end-of-file, ...). Missing contents will be replaced with zeroes. - */ -#define MAP_RESILIENT_CODESIGN 0x2000 /* no code-signing failures */ -#define MAP_RESILIENT_MEDIA 0x4000 /* no backing-store failures */ - -#if defined(__MAC_OS_X_VERSION_MIN_REQUIRED) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101500 -#define MAP_32BIT 0x8000 /* Return virtual addresses <4G only */ -#endif /* defined(__MAC_OS_X_VERSION_MIN_REQUIRED) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101500 */ - - -/* - * Flags used to support translated processes. - */ -#define MAP_TRANSLATED_ALLOW_EXECUTE 0x20000 /* allow execute in translated processes */ - -#define MAP_UNIX03 0x40000 /* UNIX03 compliance */ - -#define MAP_TPRO 0x80000 /* Allocate a region that will be protected by TPRO */ - -#endif /* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */ - -/* - * Process memory locking - */ -#define MCL_CURRENT 0x0001 /* [ML] Lock only current memory */ -#define MCL_FUTURE 0x0002 /* [ML] Lock all future memory as well */ - -/* - * Error return from mmap() - */ -#define MAP_FAILED ((void *)-1) /* [MF|SHM] mmap failed */ - -/* - * msync() flags - */ -#define MS_ASYNC 0x0001 /* [MF|SIO] return immediately */ -#define MS_INVALIDATE 0x0002 /* [MF|SIO] invalidate all cached data */ -#define MS_SYNC 0x0010 /* [MF|SIO] msync synchronously */ - -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -#define MS_KILLPAGES 0x0004 /* invalidate pages, leave mapped */ -#define MS_DEACTIVATE 0x0008 /* deactivate pages, leave mapped */ - -#endif /* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */ - - -/* - * Advice to madvise - */ -#define POSIX_MADV_NORMAL 0 /* [MC1] no further special treatment */ -#define POSIX_MADV_RANDOM 1 /* [MC1] expect random page refs */ -#define POSIX_MADV_SEQUENTIAL 2 /* [MC1] expect sequential page refs */ -#define POSIX_MADV_WILLNEED 3 /* [MC1] will need these pages */ -#define POSIX_MADV_DONTNEED 4 /* [MC1] dont need these pages */ - -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -#define MADV_NORMAL POSIX_MADV_NORMAL -#define MADV_RANDOM POSIX_MADV_RANDOM -#define MADV_SEQUENTIAL POSIX_MADV_SEQUENTIAL -#define MADV_WILLNEED POSIX_MADV_WILLNEED -#define MADV_DONTNEED POSIX_MADV_DONTNEED -#define MADV_FREE 5 /* pages unneeded, discard contents */ -#define MADV_ZERO_WIRED_PAGES 6 /* zero the wired pages that have not been unwired before the entry is deleted */ -#define MADV_FREE_REUSABLE 7 /* pages can be reused (by anyone) */ -#define MADV_FREE_REUSE 8 /* caller wants to reuse those pages */ -#define MADV_CAN_REUSE 9 -#define MADV_PAGEOUT 10 /* page out now (internal only) */ - -/* - * Return bits from mincore - */ -#define MINCORE_INCORE 0x1 /* Page is incore */ -#define MINCORE_REFERENCED 0x2 /* Page has been referenced by us */ -#define MINCORE_MODIFIED 0x4 /* Page has been modified by us */ -#define MINCORE_REFERENCED_OTHER 0x8 /* Page has been referenced */ -#define MINCORE_MODIFIED_OTHER 0x10 /* Page has been modified */ -#define MINCORE_PAGED_OUT 0x20 /* Page has been paged out */ -#define MINCORE_COPIED 0x40 /* Page has been copied */ -#define MINCORE_ANONYMOUS 0x80 /* Page belongs to an anonymous object */ -#endif /* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */ - - - - -__BEGIN_DECLS -/* [ML] */ -int mlockall(int); -int munlockall(void); -/* [MR] */ -int mlock(const void *, size_t); -#ifndef _MMAP -#define _MMAP -/* [MC3]*/ -void * mmap(void *, size_t, int, int, int, off_t) __DARWIN_ALIAS(mmap); -#endif -/* [MPR] */ -int mprotect(void *, size_t, int) __DARWIN_ALIAS(mprotect); -/* [MF|SIO] */ -int msync(void *, size_t, int) __DARWIN_ALIAS_C(msync); -/* [MR] */ -int munlock(const void *, size_t); -/* [MC3]*/ -int munmap(void *, size_t) __DARWIN_ALIAS(munmap); -/* [SHM] */ -int shm_open(const char *, int, ...); -int shm_unlink(const char *); -/* [ADV] */ -int posix_madvise(void *, size_t, int); - -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -int madvise(void *, size_t, int); -int mincore(const void *, size_t, char *); -int minherit(void *, size_t, int); -#endif - - -__END_DECLS - -#endif /* !_SYS_MMAN_H_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.13-any/sys/spawn.h b/lib/libc/include/any-macos.13-any/sys/spawn.h deleted file mode 100644 index 727b4f5009..0000000000 --- a/lib/libc/include/any-macos.13-any/sys/spawn.h +++ /dev/null @@ -1,84 +0,0 @@ -/* - * Copyright (c) 2006-2020 Apple Computer, 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@ - */ - -/* - * [SPN] Support for _POSIX_SPAWN - * - * This header contains information that is shared between the user space - * and kernel versions of the posix_spawn() code. Shared elements are all - * manifest constants, at the current time. - */ - -#ifndef _SYS_SPAWN_H_ -#define _SYS_SPAWN_H_ - -/* - * Possible bit values which may be OR'ed together and provided as the second - * parameter to posix_spawnattr_setflags() or implicit returned in the value of - * the second parameter to posix_spawnattr_getflags(). - */ -#define POSIX_SPAWN_RESETIDS 0x0001 /* [SPN] R[UG]ID not E[UG]ID */ -#define POSIX_SPAWN_SETPGROUP 0x0002 /* [SPN] set non-parent PGID */ -#define POSIX_SPAWN_SETSIGDEF 0x0004 /* [SPN] reset sigset default */ -#define POSIX_SPAWN_SETSIGMASK 0x0008 /* [SPN] set signal mask */ - -#if 0 /* _POSIX_PRIORITY_SCHEDULING [PS] : not supported */ -#define POSIX_SPAWN_SETSCHEDPARAM 0x0010 -#define POSIX_SPAWN_SETSCHEDULER 0x0020 -#endif /* 0 */ - -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -/* - * Darwin-specific flags - */ -#define POSIX_SPAWN_SETEXEC 0x0040 -#define POSIX_SPAWN_START_SUSPENDED 0x0080 -#define POSIX_SPAWN_SETSID 0x0400 -#define POSIX_SPAWN_CLOEXEC_DEFAULT 0x4000 - -#define _POSIX_SPAWN_RESLIDE 0x0800 - -/* - * Possible values to be set for the process control actions on resource starvation. - * POSIX_SPAWN_PCONTROL_THROTTLE indicates that the process is to be throttled on starvation. - * POSIX_SPAWN_PCONTROL_SUSPEND indicates that the process is to be suspended on starvation. - * POSIX_SPAWN_PCONTROL_KILL indicates that the process is to be terminated on starvation. - */ -#define POSIX_SPAWN_PCONTROL_NONE 0x0000 -#define POSIX_SPAWN_PCONTROL_THROTTLE 0x0001 -#define POSIX_SPAWN_PCONTROL_SUSPEND 0x0002 -#define POSIX_SPAWN_PCONTROL_KILL 0x0003 - -#define POSIX_SPAWN_PANIC_ON_CRASH 0x1 -#define POSIX_SPAWN_PANIC_ON_NON_ZERO_EXIT 0x2 -#define POSIX_SPAWN_PANIC_ON_EXIT 0x4 -#define POSIX_SPAWN_PANIC_ON_SPAWN_FAIL 0x8 - -#endif /* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */ - -#endif /* _SYS_SPAWN_H_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.13-any/sys/stat.h b/lib/libc/include/any-macos.13-any/sys/stat.h deleted file mode 100644 index a153272600..0000000000 --- a/lib/libc/include/any-macos.13-any/sys/stat.h +++ /dev/null @@ -1,434 +0,0 @@ -/* - * Copyright (c) 2000-2014 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@ - */ -/* Copyright (c) 1995 NeXT Computer, Inc. All Rights Reserved */ -/*- - * Copyright (c) 1982, 1986, 1989, 1993 - * The Regents of the University of California. All rights reserved. - * (c) UNIX System Laboratories, Inc. - * All or some portions of this file are derived from material licensed - * to the University of California by American Telephone and Telegraph - * Co. or Unix System Laboratories, Inc. and are reproduced herein with - * the permission of UNIX System Laboratories, Inc. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)stat.h 8.9 (Berkeley) 8/17/94 - */ - - -#ifndef _SYS_STAT_H_ -#define _SYS_STAT_H_ - -#include -#include -#include - -/* [XSI] The timespec structure may be defined as described in */ -#include - -/* - * [XSI] The blkcnt_t, blksize_t, dev_t, ino_t, mode_t, nlink_t, uid_t, - * gid_t, off_t, and time_t types shall be defined as described in - * . - */ -#include -#include -#include /* device number */ -#include - -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -#include -#endif /* !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) */ - -#include -#include -#include -#include -#include -#include - -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -/* - * XXX So deprecated, it would make your head spin - * - * The old stat structure. In fact, this is not used by the kernel at all, - * and should not be used by user space, and should be removed from this - * header file entirely (along with the unused cvtstat() prototype in - * vnode_internal.h). - */ -struct ostat { - __uint16_t st_dev; /* inode's device */ - ino_t st_ino; /* inode's number */ - mode_t st_mode; /* inode protection mode */ - nlink_t st_nlink; /* number of hard links */ - __uint16_t st_uid; /* user ID of the file's owner */ - __uint16_t st_gid; /* group ID of the file's group */ - __uint16_t st_rdev; /* device type */ - __int32_t st_size; /* file size, in bytes */ - struct timespec st_atimespec; /* time of last access */ - struct timespec st_mtimespec; /* time of last data modification */ - struct timespec st_ctimespec; /* time of last file status change */ - __int32_t st_blksize; /* optimal blocksize for I/O */ - __int32_t st_blocks; /* blocks allocated for file */ - __uint32_t st_flags; /* user defined flags for file */ - __uint32_t st_gen; /* file generation number */ -}; - -#define __DARWIN_STRUCT_STAT64_TIMES \ - struct timespec st_atimespec; /* time of last access */ \ - struct timespec st_mtimespec; /* time of last data modification */ \ - struct timespec st_ctimespec; /* time of last status change */ \ - struct timespec st_birthtimespec; /* time of file creation(birth) */ - -#else /* (_POSIX_C_SOURCE && !_DARWIN_C_SOURCE) */ - -#define __DARWIN_STRUCT_STAT64_TIMES \ - time_t st_atime; /* [XSI] Time of last access */ \ - long st_atimensec; /* nsec of last access */ \ - time_t st_mtime; /* [XSI] Last data modification time */ \ - long st_mtimensec; /* last data modification nsec */ \ - time_t st_ctime; /* [XSI] Time of last status change */ \ - long st_ctimensec; /* nsec of last status change */ \ - time_t st_birthtime; /* File creation time(birth) */ \ - long st_birthtimensec; /* nsec of File creation time */ - -#endif /* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */ - -/* - * This structure is used as the second parameter to the fstat64(), - * lstat64(), and stat64() functions, and for struct stat when - * __DARWIN_64_BIT_INO_T is set. __DARWIN_STRUCT_STAT64 is defined - * above, depending on whether we use struct timespec or the direct - * components. - * - * This is simillar to stat except for 64bit inode number - * number instead of 32bit ino_t and the addition of create(birth) time. - */ -#define __DARWIN_STRUCT_STAT64 { \ - dev_t st_dev; /* [XSI] ID of device containing file */ \ - mode_t st_mode; /* [XSI] Mode of file (see below) */ \ - nlink_t st_nlink; /* [XSI] Number of hard links */ \ - __darwin_ino64_t st_ino; /* [XSI] File serial number */ \ - uid_t st_uid; /* [XSI] User ID of the file */ \ - gid_t st_gid; /* [XSI] Group ID of the file */ \ - dev_t st_rdev; /* [XSI] Device ID */ \ - __DARWIN_STRUCT_STAT64_TIMES \ - off_t st_size; /* [XSI] file size, in bytes */ \ - blkcnt_t st_blocks; /* [XSI] blocks allocated for file */ \ - blksize_t st_blksize; /* [XSI] optimal blocksize for I/O */ \ - __uint32_t st_flags; /* user defined flags for file */ \ - __uint32_t st_gen; /* file generation number */ \ - __int32_t st_lspare; /* RESERVED: DO NOT USE! */ \ - __int64_t st_qspare[2]; /* RESERVED: DO NOT USE! */ \ -} - -/* - * [XSI] This structure is used as the second parameter to the fstat(), - * lstat(), and stat() functions. - */ -#if __DARWIN_64_BIT_INO_T - -struct stat __DARWIN_STRUCT_STAT64; - -#else /* !__DARWIN_64_BIT_INO_T */ - -struct stat { - dev_t st_dev; /* [XSI] ID of device containing file */ - ino_t st_ino; /* [XSI] File serial number */ - mode_t st_mode; /* [XSI] Mode of file (see below) */ - nlink_t st_nlink; /* [XSI] Number of hard links */ - uid_t st_uid; /* [XSI] User ID of the file */ - gid_t st_gid; /* [XSI] Group ID of the file */ - dev_t st_rdev; /* [XSI] Device ID */ -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) - struct timespec st_atimespec; /* time of last access */ - struct timespec st_mtimespec; /* time of last data modification */ - struct timespec st_ctimespec; /* time of last status change */ -#else - time_t st_atime; /* [XSI] Time of last access */ - long st_atimensec; /* nsec of last access */ - time_t st_mtime; /* [XSI] Last data modification time */ - long st_mtimensec; /* last data modification nsec */ - time_t st_ctime; /* [XSI] Time of last status change */ - long st_ctimensec; /* nsec of last status change */ -#endif - off_t st_size; /* [XSI] file size, in bytes */ - blkcnt_t st_blocks; /* [XSI] blocks allocated for file */ - blksize_t st_blksize; /* [XSI] optimal blocksize for I/O */ - __uint32_t st_flags; /* user defined flags for file */ - __uint32_t st_gen; /* file generation number */ - __int32_t st_lspare; /* RESERVED: DO NOT USE! */ - __int64_t st_qspare[2]; /* RESERVED: DO NOT USE! */ -}; - -#endif /* __DARWIN_64_BIT_INO_T */ - -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) - -#if !__DARWIN_ONLY_64_BIT_INO_T - -struct stat64 __DARWIN_STRUCT_STAT64; - -#endif /* !__DARWIN_ONLY_64_BIT_INO_T */ - -#endif /* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */ - - - - -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -#define st_atime st_atimespec.tv_sec -#define st_mtime st_mtimespec.tv_sec -#define st_ctime st_ctimespec.tv_sec -#define st_birthtime st_birthtimespec.tv_sec -#endif /* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */ - -/* - * [XSI] The following are symbolic names for the values of type mode_t. They - * are bitmap values. - */ -#include - -/* - * [XSI] The following macros shall be provided to test whether a file is - * of the specified type. The value m supplied to the macros is the value - * of st_mode from a stat structure. The macro shall evaluate to a non-zero - * value if the test is true; 0 if the test is false. - */ -#define S_ISBLK(m) (((m) & S_IFMT) == S_IFBLK) /* block special */ -#define S_ISCHR(m) (((m) & S_IFMT) == S_IFCHR) /* char special */ -#define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR) /* directory */ -#define S_ISFIFO(m) (((m) & S_IFMT) == S_IFIFO) /* fifo or socket */ -#define S_ISREG(m) (((m) & S_IFMT) == S_IFREG) /* regular file */ -#define S_ISLNK(m) (((m) & S_IFMT) == S_IFLNK) /* symbolic link */ -#define S_ISSOCK(m) (((m) & S_IFMT) == S_IFSOCK) /* socket */ -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -#define S_ISWHT(m) (((m) & S_IFMT) == S_IFWHT) /* OBSOLETE: whiteout */ -#endif - -/* - * [XSI] The implementation may implement message queues, semaphores, or - * shared memory objects as distinct file types. The following macros - * shall be provided to test whether a file is of the specified type. - * The value of the buf argument supplied to the macros is a pointer to - * a stat structure. The macro shall evaluate to a non-zero value if - * the specified object is implemented as a distinct file type and the - * specified file type is contained in the stat structure referenced by - * buf. Otherwise, the macro shall evaluate to zero. - * - * NOTE: The current implementation does not do this, although - * this may change in future revisions, and co currently only - * provides these macros to ensure source compatability with - * implementations which do. - */ -#define S_TYPEISMQ(buf) (0) /* Test for a message queue */ -#define S_TYPEISSEM(buf) (0) /* Test for a semaphore */ -#define S_TYPEISSHM(buf) (0) /* Test for a shared memory object */ - -/* - * [TYM] The implementation may implement typed memory objects as distinct - * file types, and the following macro shall test whether a file is of the - * specified type. The value of the buf argument supplied to the macros is - * a pointer to a stat structure. The macro shall evaluate to a non-zero - * value if the specified object is implemented as a distinct file type and - * the specified file type is contained in the stat structure referenced by - * buf. Otherwise, the macro shall evaluate to zero. - * - * NOTE: The current implementation does not do this, although - * this may change in future revisions, and co currently only - * provides this macro to ensure source compatability with - * implementations which do. - */ -#define S_TYPEISTMO(buf) (0) /* Test for a typed memory object */ - - -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -#define ACCESSPERMS (S_IRWXU|S_IRWXG|S_IRWXO) /* 0777 */ - /* 7777 */ -#define ALLPERMS (S_ISUID|S_ISGID|S_ISTXT|S_IRWXU|S_IRWXG|S_IRWXO) -/* 0666 */ -#define DEFFILEMODE (S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH) - -#define S_BLKSIZE 512 /* block size used in the stat struct */ - -/* - * Definitions of flags stored in file flags word. - * - * Super-user and owner changeable flags. - */ -#define UF_SETTABLE 0x0000ffff /* mask of owner changeable flags */ -#define UF_NODUMP 0x00000001 /* do not dump file */ -#define UF_IMMUTABLE 0x00000002 /* file may not be changed */ -#define UF_APPEND 0x00000004 /* writes to file may only append */ -#define UF_OPAQUE 0x00000008 /* directory is opaque wrt. union */ -/* - * The following bit is reserved for FreeBSD. It is not implemented - * in Mac OS X. - */ -/* #define UF_NOUNLINK 0x00000010 */ /* file may not be removed or renamed */ -#define UF_COMPRESSED 0x00000020 /* file is compressed (some file-systems) */ - -/* UF_TRACKED is used for dealing with document IDs. We no longer issue - * notifications for deletes or renames for files which have UF_TRACKED set. */ -#define UF_TRACKED 0x00000040 - -#define UF_DATAVAULT 0x00000080 /* entitlement required for reading */ - /* and writing */ - -/* Bits 0x0100 through 0x4000 are currently undefined. */ -#define UF_HIDDEN 0x00008000 /* hint that this item should not be */ - /* displayed in a GUI */ -/* - * Super-user changeable flags. - */ -#define SF_SUPPORTED 0x009f0000 /* mask of superuser supported flags */ -#define SF_SETTABLE 0x3fff0000 /* mask of superuser changeable flags */ -#define SF_SYNTHETIC 0xc0000000 /* mask of system read-only synthetic flags */ -#define SF_ARCHIVED 0x00010000 /* file is archived */ -#define SF_IMMUTABLE 0x00020000 /* file may not be changed */ -#define SF_APPEND 0x00040000 /* writes to file may only append */ -#define SF_RESTRICTED 0x00080000 /* entitlement required for writing */ -#define SF_NOUNLINK 0x00100000 /* Item may not be removed, renamed or mounted on */ - -/* - * The following two bits are reserved for FreeBSD. They are not - * implemented in Mac OS X. - */ -/* #define SF_SNAPSHOT 0x00200000 */ /* snapshot inode */ -/* NOTE: There is no SF_HIDDEN bit. */ - -#define SF_FIRMLINK 0x00800000 /* file is a firmlink */ - -/* - * Synthetic flags. - * - * These are read-only. We keep them out of SF_SUPPORTED so that - * attempts to set them will fail. - */ -#define SF_DATALESS 0x40000000 /* file is dataless object */ - - -#endif - -#if __DARWIN_C_LEVEL >= __DARWIN_C_FULL -/* - * Extended flags ("EF") returned by ATTR_CMNEXT_EXT_FLAGS from getattrlist/getattrlistbulk - */ -#define EF_MAY_SHARE_BLOCKS 0x00000001 /* file may share blocks with another file */ -#define EF_NO_XATTRS 0x00000002 /* file has no xattrs at all */ -#define EF_IS_SYNC_ROOT 0x00000004 /* file is a sync root for iCloud */ -#define EF_IS_PURGEABLE 0x00000008 /* file is purgeable */ -#define EF_IS_SPARSE 0x00000010 /* file has at least one sparse region */ -#define EF_IS_SYNTHETIC 0x00000020 /* a synthetic directory/symlink */ -#endif - - - -__BEGIN_DECLS -/* [XSI] */ -int chmod(const char *, mode_t) __DARWIN_ALIAS(chmod); -int fchmod(int, mode_t) __DARWIN_ALIAS(fchmod); -int fstat(int, struct stat *) __DARWIN_INODE64(fstat); -int lstat(const char *, struct stat *) __DARWIN_INODE64(lstat); -int mkdir(const char *, mode_t); -int mkfifo(const char *, mode_t); -int stat(const char *, struct stat *) __DARWIN_INODE64(stat); -int mknod(const char *, mode_t, dev_t); -mode_t umask(mode_t); - -#if __DARWIN_C_LEVEL >= 200809L -int fchmodat(int, const char *, mode_t, int) __OSX_AVAILABLE_STARTING(__MAC_10_10, __IPHONE_8_0); -int fstatat(int, const char *, struct stat *, int) __DARWIN_INODE64(fstatat) __OSX_AVAILABLE_STARTING(__MAC_10_10, __IPHONE_8_0); -int mkdirat(int, const char *, mode_t) __OSX_AVAILABLE_STARTING(__MAC_10_10, __IPHONE_8_0); -int mkfifoat(int, const char *, mode_t) __API_AVAILABLE(macos(13.0), ios(16.0), tvos(16.0), watchos(9.0)); -int mknodat(int, const char *, mode_t, dev_t) __API_AVAILABLE(macos(13.0), ios(16.0), tvos(16.0), watchos(9.0)); - -#define UTIME_NOW -1 -#define UTIME_OMIT -2 - -int futimens(int __fd, const struct timespec __times[2]) __API_AVAILABLE(macosx(10.13), ios(11.0), tvos(11.0), watchos(4.0)); -int utimensat(int __fd, const char *__path, const struct timespec __times[2], - int __flag) __API_AVAILABLE(macosx(10.13), ios(11.0), tvos(11.0), watchos(4.0)); -#endif - -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) - -#include - -int chflags(const char *, __uint32_t); -int chmodx_np(const char *, filesec_t); -int fchflags(int, __uint32_t); -int fchmodx_np(int, filesec_t); -int fstatx_np(int, struct stat *, filesec_t) __DARWIN_INODE64(fstatx_np); -int lchflags(const char *, __uint32_t) __OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_2_0); -int lchmod(const char *, mode_t) __OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_2_0); -int lstatx_np(const char *, struct stat *, filesec_t) __DARWIN_INODE64(lstatx_np); -int mkdirx_np(const char *, filesec_t); -int mkfifox_np(const char *, filesec_t); -int statx_np(const char *, struct stat *, filesec_t) __DARWIN_INODE64(statx_np); -int umaskx_np(filesec_t) __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_6, __IPHONE_NA, __IPHONE_NA); - -#if !__DARWIN_ONLY_64_BIT_INO_T -/* The following deprecated routines are simillar to stat and friends except provide struct stat64 instead of struct stat */ -int fstatx64_np(int, struct stat64 *, filesec_t) __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_5, __MAC_10_6, __IPHONE_NA, __IPHONE_NA); -int lstatx64_np(const char *, struct stat64 *, filesec_t) __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_5, __MAC_10_6, __IPHONE_NA, __IPHONE_NA); -int statx64_np(const char *, struct stat64 *, filesec_t) __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_5, __MAC_10_6, __IPHONE_NA, __IPHONE_NA); -int fstat64(int, struct stat64 *) __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_5, __MAC_10_6, __IPHONE_NA, __IPHONE_NA); -int lstat64(const char *, struct stat64 *) __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_5, __MAC_10_6, __IPHONE_NA, __IPHONE_NA); -int stat64(const char *, struct stat64 *) __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_5, __MAC_10_6, __IPHONE_NA, __IPHONE_NA); -#endif /* !__DARWIN_ONLY_64_BIT_INO_T */ -#endif /* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */ - -__END_DECLS -#endif /* !_SYS_STAT_H_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.13-any/sys/time.h b/lib/libc/include/any-macos.13-any/sys/time.h deleted file mode 100644 index 5e8da98d4b..0000000000 --- a/lib/libc/include/any-macos.13-any/sys/time.h +++ /dev/null @@ -1,210 +0,0 @@ -/* - * Copyright (c) 2000-2006 Apple Computer, 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@ - */ -/* Copyright (c) 1995 NeXT Computer, Inc. All Rights Reserved */ -/* - * Copyright (c) 1982, 1986, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)time.h 8.2 (Berkeley) 7/10/94 - */ - -#ifndef _SYS_TIME_H_ -#define _SYS_TIME_H_ - -#include -#include -#include - - -/* - * [XSI] The fd_set type shall be defined as described in . - * The timespec structure shall be defined as described in - */ -#include -#include -#include - -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -#include -#endif /* !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) */ - - -#include -#include - -/* - * Structure used as a parameter by getitimer(2) and setitimer(2) system - * calls. - */ -struct itimerval { - struct timeval it_interval; /* timer interval */ - struct timeval it_value; /* current value */ -}; - -/* - * Names of the interval timers, and structure - * defining a timer setting. - */ -#define ITIMER_REAL 0 -#define ITIMER_VIRTUAL 1 -#define ITIMER_PROF 2 - -/* - * Select uses bit masks of file descriptors in longs. These macros - * manipulate such bit fields (the filesystem macros use chars). The - * extra protection here is to permit application redefinition above - * the default size. - */ -#include -#include -#include -#include -#include - -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) - -#include - -#define TIMEVAL_TO_TIMESPEC(tv, ts) { \ - (ts)->tv_sec = (tv)->tv_sec; \ - (ts)->tv_nsec = (tv)->tv_usec * 1000; \ -} -#define TIMESPEC_TO_TIMEVAL(tv, ts) { \ - (tv)->tv_sec = (ts)->tv_sec; \ - (tv)->tv_usec = (ts)->tv_nsec / 1000; \ -} - -struct timezone { - int tz_minuteswest; /* minutes west of Greenwich */ - int tz_dsttime; /* type of dst correction */ -}; -#define DST_NONE 0 /* not on dst */ -#define DST_USA 1 /* USA style dst */ -#define DST_AUST 2 /* Australian style dst */ -#define DST_WET 3 /* Western European dst */ -#define DST_MET 4 /* Middle European dst */ -#define DST_EET 5 /* Eastern European dst */ -#define DST_CAN 6 /* Canada */ - -/* Operations on timevals. */ -#define timerclear(tvp) (tvp)->tv_sec = (tvp)->tv_usec = 0 -#define timerisset(tvp) ((tvp)->tv_sec || (tvp)->tv_usec) -#define timercmp(tvp, uvp, cmp) \ - (((tvp)->tv_sec == (uvp)->tv_sec) ? \ - ((tvp)->tv_usec cmp (uvp)->tv_usec) : \ - ((tvp)->tv_sec cmp (uvp)->tv_sec)) -#define timeradd(tvp, uvp, vvp) \ - do { \ - (vvp)->tv_sec = (tvp)->tv_sec + (uvp)->tv_sec; \ - (vvp)->tv_usec = (tvp)->tv_usec + (uvp)->tv_usec; \ - if ((vvp)->tv_usec >= 1000000) { \ - (vvp)->tv_sec++; \ - (vvp)->tv_usec -= 1000000; \ - } \ - } while (0) -#define timersub(tvp, uvp, vvp) \ - do { \ - (vvp)->tv_sec = (tvp)->tv_sec - (uvp)->tv_sec; \ - (vvp)->tv_usec = (tvp)->tv_usec - (uvp)->tv_usec; \ - if ((vvp)->tv_usec < 0) { \ - (vvp)->tv_sec--; \ - (vvp)->tv_usec += 1000000; \ - } \ - } while (0) - -#define timevalcmp(l, r, cmp) timercmp(l, r, cmp) /* freebsd */ - -/* - * Getkerninfo clock information structure - */ -struct clockinfo { - int hz; /* clock frequency */ - int tick; /* micro-seconds per hz tick */ - int tickadj; /* clock skew rate for adjtime() */ - int stathz; /* statistics clock frequency */ - int profhz; /* profiling clock frequency */ -}; -#endif /* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */ - - - -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -#include -#endif /* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */ - -__BEGIN_DECLS - -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -int adjtime(const struct timeval *, struct timeval *); -int futimes(int, const struct timeval *); -int lutimes(const char *, const struct timeval *) __OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_2_0); -int settimeofday(const struct timeval *, const struct timezone *); -#endif /* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */ - -int getitimer(int, struct itimerval *); -int gettimeofday(struct timeval * __restrict, void * __restrict); - -#include /* select() prototype */ - -int setitimer(int, const struct itimerval * __restrict, - struct itimerval * __restrict); -int utimes(const char *, const struct timeval *); - -__END_DECLS - - - -#endif /* !_SYS_TIME_H_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.13-any/sys/types.h b/lib/libc/include/any-macos.13-any/sys/types.h deleted file mode 100644 index a6be64c82f..0000000000 --- a/lib/libc/include/any-macos.13-any/sys/types.h +++ /dev/null @@ -1,235 +0,0 @@ -/* - * Copyright (c) 2000-2021 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@ - */ -/* Copyright (c) 1995 NeXT Computer, Inc. All Rights Reserved */ -/* - * Copyright (c) 1982, 1986, 1991, 1993, 1994 - * The Regents of the University of California. All rights reserved. - * (c) UNIX System Laboratories, Inc. - * All or some portions of this file are derived from material licensed - * to the University of California by American Telephone and Telegraph - * Co. or Unix System Laboratories, Inc. and are reproduced herein with - * the permission of UNIX System Laboratories, Inc. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)types.h 8.4 (Berkeley) 1/21/94 - */ - -#ifndef _SYS_TYPES_H_ -#define _SYS_TYPES_H_ - -#include - -#ifndef __ASSEMBLER__ -#include - -/* Machine type dependent parameters. */ -#include -#include - -#include - -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -#include -#include -#include -#ifndef _U_LONG -typedef unsigned long u_long; -#define _U_LONG -#endif -typedef unsigned short ushort; /* Sys V compatibility */ -typedef unsigned int uint; /* Sys V compatibility */ -#endif - -typedef u_int64_t u_quad_t; /* quads */ -typedef int64_t quad_t; -typedef quad_t * qaddr_t; - -#include /* core address */ - -typedef int32_t daddr_t; /* disk address */ - -#include /* device number */ - -typedef u_int32_t fixpt_t; /* fixed point number */ - -#include -#include -#include -#include -#include -#include - -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -#include /* 64bit inode number */ -#endif /* !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) */ - -#include -#include -#include -#include -#include -#include - -typedef int32_t segsz_t; /* segment size */ -typedef int32_t swblk_t; /* swap offset */ - -#include - -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -/* Major, minor numbers, dev_t's. */ -#if defined(__cplusplus) -/* - * These lowercase macros tend to match member functions in some C++ code, - * so for C++, we must use inline functions instead. - */ - -static inline __int32_t -major(__uint32_t _x) -{ - return (__int32_t)(((__uint32_t)_x >> 24) & 0xff); -} - -static inline __int32_t -minor(__uint32_t _x) -{ - return (__int32_t)((_x) & 0xffffff); -} - -static inline dev_t -makedev(__uint32_t _major, __uint32_t _minor) -{ - return (dev_t)(((_major) << 24) | (_minor)); -} - -#else /* !__cplusplus */ - -#define major(x) ((int32_t)(((u_int32_t)(x) >> 24) & 0xff)) -#define minor(x) ((int32_t)((x) & 0xffffff)) -#define makedev(x, y) ((dev_t)(((x) << 24) | (y))) - -#endif /* !__cplusplus */ -#endif /* !_POSIX_C_SOURCE */ - -#include -#include -#include -#include - -#include -#include - -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -#include -#include -#endif - -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -/* - * This code is present here in order to maintain historical backward - * compatability, and is intended to be removed at some point in the - * future; please include instead. - */ -#include - -#define NBBY __DARWIN_NBBY /* bits in a byte */ -#define NFDBITS __DARWIN_NFDBITS /* bits per mask */ -#define howmany(x, y) __DARWIN_howmany(x, y) /* # y's == x bits? */ -typedef __int32_t fd_mask; - -/* - * Select uses bit masks of file descriptors in longs. These macros - * manipulate such bit fields (the filesystem macros use chars). The - * extra protection here is to permit application redefinition above - * the default size. - */ -#include -#include -#include -#include -#include - -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -#include -#endif /* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */ - - - -#endif /* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */ -#endif /* __ASSEMBLER__ */ - - -#ifndef __POSIX_LIB__ - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#endif /* __POSIX_LIB__ */ - -#include - - -/* statvfs and fstatvfs */ - -#include -#include - -#endif /* !_SYS_TYPES_H_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.13-any/tgmath.h b/lib/libc/include/any-macos.13-any/tgmath.h deleted file mode 100644 index 850374aa74..0000000000 --- a/lib/libc/include/any-macos.13-any/tgmath.h +++ /dev/null @@ -1,1381 +0,0 @@ -/* - * Copyright (c) 2009 Apple Inc. All rights reserved. - * - * @APPLE_LICENSE_HEADER_START@ - * - * The contents of this file constitute Original Code as defined in and - * are subject to the Apple Public Source License Version 1.1 (the - * "License"). You may not use this file except in compliance with the - * License. Please obtain a copy of the License at - * http://www.apple.com/publicsource and read it before using this file. - * - * This 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 OR NON-INFRINGEMENT. Please see the - * License for the specific language governing rights and limitations - * under the License. - * - * @APPLE_LICENSE_HEADER_END@ - */ - -#ifndef __TGMATH_H -#define __TGMATH_H - -/* C99 7.22 Type-generic math . */ -#include - -/* C++ handles type genericity with overloading in math.h. */ -#ifndef __cplusplus -#include - -#if __has_include() -#include -REALTIME_SAFE_BEGIN -#endif - -#define _TG_ATTRSp __attribute__((__overloadable__)) -#define _TG_ATTRS __attribute__((__overloadable__, __always_inline__)) - -// promotion - -typedef void _Argument_type_is_not_arithmetic; -static _Argument_type_is_not_arithmetic __tg_promote(...) - __attribute__((__unavailable__,__overloadable__)); -static double _TG_ATTRSp __tg_promote(int); -static double _TG_ATTRSp __tg_promote(unsigned int); -static double _TG_ATTRSp __tg_promote(long); -static double _TG_ATTRSp __tg_promote(unsigned long); -static double _TG_ATTRSp __tg_promote(long long); -static double _TG_ATTRSp __tg_promote(unsigned long long); -static float _TG_ATTRSp __tg_promote(float); -static double _TG_ATTRSp __tg_promote(double); -static long double _TG_ATTRSp __tg_promote(long double); -static float _Complex _TG_ATTRSp __tg_promote(float _Complex); -static double _Complex _TG_ATTRSp __tg_promote(double _Complex); -static long double _Complex _TG_ATTRSp __tg_promote(long double _Complex); - -#define __tg_promote1(__x) (__typeof__(__tg_promote(__x))) -#define __tg_promote2(__x, __y) (__typeof__(__tg_promote(__x) + \ - __tg_promote(__y))) -#define __tg_promote3(__x, __y, __z) (__typeof__(__tg_promote(__x) + \ - __tg_promote(__y) + \ - __tg_promote(__z))) - -// acos - -static float - _TG_ATTRS - __tg_acos(float __x) {return acosf(__x);} - -static double - _TG_ATTRS - __tg_acos(double __x) {return acos(__x);} - -static long double - _TG_ATTRS - __tg_acos(long double __x) {return acosl(__x);} - -static float _Complex - _TG_ATTRS - __tg_acos(float _Complex __x) {return cacosf(__x);} - -static double _Complex - _TG_ATTRS - __tg_acos(double _Complex __x) {return cacos(__x);} - -static long double _Complex - _TG_ATTRS - __tg_acos(long double _Complex __x) {return cacosl(__x);} - -#undef acos -#define acos(__x) __tg_acos(__tg_promote1((__x))(__x)) - -// asin - -static float - _TG_ATTRS - __tg_asin(float __x) {return asinf(__x);} - -static double - _TG_ATTRS - __tg_asin(double __x) {return asin(__x);} - -static long double - _TG_ATTRS - __tg_asin(long double __x) {return asinl(__x);} - -static float _Complex - _TG_ATTRS - __tg_asin(float _Complex __x) {return casinf(__x);} - -static double _Complex - _TG_ATTRS - __tg_asin(double _Complex __x) {return casin(__x);} - -static long double _Complex - _TG_ATTRS - __tg_asin(long double _Complex __x) {return casinl(__x);} - -#undef asin -#define asin(__x) __tg_asin(__tg_promote1((__x))(__x)) - -// atan - -static float - _TG_ATTRS - __tg_atan(float __x) {return atanf(__x);} - -static double - _TG_ATTRS - __tg_atan(double __x) {return atan(__x);} - -static long double - _TG_ATTRS - __tg_atan(long double __x) {return atanl(__x);} - -static float _Complex - _TG_ATTRS - __tg_atan(float _Complex __x) {return catanf(__x);} - -static double _Complex - _TG_ATTRS - __tg_atan(double _Complex __x) {return catan(__x);} - -static long double _Complex - _TG_ATTRS - __tg_atan(long double _Complex __x) {return catanl(__x);} - -#undef atan -#define atan(__x) __tg_atan(__tg_promote1((__x))(__x)) - -// acosh - -static float - _TG_ATTRS - __tg_acosh(float __x) {return acoshf(__x);} - -static double - _TG_ATTRS - __tg_acosh(double __x) {return acosh(__x);} - -static long double - _TG_ATTRS - __tg_acosh(long double __x) {return acoshl(__x);} - -static float _Complex - _TG_ATTRS - __tg_acosh(float _Complex __x) {return cacoshf(__x);} - -static double _Complex - _TG_ATTRS - __tg_acosh(double _Complex __x) {return cacosh(__x);} - -static long double _Complex - _TG_ATTRS - __tg_acosh(long double _Complex __x) {return cacoshl(__x);} - -#undef acosh -#define acosh(__x) __tg_acosh(__tg_promote1((__x))(__x)) - -// asinh - -static float - _TG_ATTRS - __tg_asinh(float __x) {return asinhf(__x);} - -static double - _TG_ATTRS - __tg_asinh(double __x) {return asinh(__x);} - -static long double - _TG_ATTRS - __tg_asinh(long double __x) {return asinhl(__x);} - -static float _Complex - _TG_ATTRS - __tg_asinh(float _Complex __x) {return casinhf(__x);} - -static double _Complex - _TG_ATTRS - __tg_asinh(double _Complex __x) {return casinh(__x);} - -static long double _Complex - _TG_ATTRS - __tg_asinh(long double _Complex __x) {return casinhl(__x);} - -#undef asinh -#define asinh(__x) __tg_asinh(__tg_promote1((__x))(__x)) - -// atanh - -static float - _TG_ATTRS - __tg_atanh(float __x) {return atanhf(__x);} - -static double - _TG_ATTRS - __tg_atanh(double __x) {return atanh(__x);} - -static long double - _TG_ATTRS - __tg_atanh(long double __x) {return atanhl(__x);} - -static float _Complex - _TG_ATTRS - __tg_atanh(float _Complex __x) {return catanhf(__x);} - -static double _Complex - _TG_ATTRS - __tg_atanh(double _Complex __x) {return catanh(__x);} - -static long double _Complex - _TG_ATTRS - __tg_atanh(long double _Complex __x) {return catanhl(__x);} - -#undef atanh -#define atanh(__x) __tg_atanh(__tg_promote1((__x))(__x)) - -// cos - -static float - _TG_ATTRS - __tg_cos(float __x) {return cosf(__x);} - -static double - _TG_ATTRS - __tg_cos(double __x) {return cos(__x);} - -static long double - _TG_ATTRS - __tg_cos(long double __x) {return cosl(__x);} - -static float _Complex - _TG_ATTRS - __tg_cos(float _Complex __x) {return ccosf(__x);} - -static double _Complex - _TG_ATTRS - __tg_cos(double _Complex __x) {return ccos(__x);} - -static long double _Complex - _TG_ATTRS - __tg_cos(long double _Complex __x) {return ccosl(__x);} - -#undef cos -#define cos(__x) __tg_cos(__tg_promote1((__x))(__x)) - -// sin - -static float - _TG_ATTRS - __tg_sin(float __x) {return sinf(__x);} - -static double - _TG_ATTRS - __tg_sin(double __x) {return sin(__x);} - -static long double - _TG_ATTRS - __tg_sin(long double __x) {return sinl(__x);} - -static float _Complex - _TG_ATTRS - __tg_sin(float _Complex __x) {return csinf(__x);} - -static double _Complex - _TG_ATTRS - __tg_sin(double _Complex __x) {return csin(__x);} - -static long double _Complex - _TG_ATTRS - __tg_sin(long double _Complex __x) {return csinl(__x);} - -#undef sin -#define sin(__x) __tg_sin(__tg_promote1((__x))(__x)) - -// tan - -static float - _TG_ATTRS - __tg_tan(float __x) {return tanf(__x);} - -static double - _TG_ATTRS - __tg_tan(double __x) {return tan(__x);} - -static long double - _TG_ATTRS - __tg_tan(long double __x) {return tanl(__x);} - -static float _Complex - _TG_ATTRS - __tg_tan(float _Complex __x) {return ctanf(__x);} - -static double _Complex - _TG_ATTRS - __tg_tan(double _Complex __x) {return ctan(__x);} - -static long double _Complex - _TG_ATTRS - __tg_tan(long double _Complex __x) {return ctanl(__x);} - -#undef tan -#define tan(__x) __tg_tan(__tg_promote1((__x))(__x)) - -// cosh - -static float - _TG_ATTRS - __tg_cosh(float __x) {return coshf(__x);} - -static double - _TG_ATTRS - __tg_cosh(double __x) {return cosh(__x);} - -static long double - _TG_ATTRS - __tg_cosh(long double __x) {return coshl(__x);} - -static float _Complex - _TG_ATTRS - __tg_cosh(float _Complex __x) {return ccoshf(__x);} - -static double _Complex - _TG_ATTRS - __tg_cosh(double _Complex __x) {return ccosh(__x);} - -static long double _Complex - _TG_ATTRS - __tg_cosh(long double _Complex __x) {return ccoshl(__x);} - -#undef cosh -#define cosh(__x) __tg_cosh(__tg_promote1((__x))(__x)) - -// sinh - -static float - _TG_ATTRS - __tg_sinh(float __x) {return sinhf(__x);} - -static double - _TG_ATTRS - __tg_sinh(double __x) {return sinh(__x);} - -static long double - _TG_ATTRS - __tg_sinh(long double __x) {return sinhl(__x);} - -static float _Complex - _TG_ATTRS - __tg_sinh(float _Complex __x) {return csinhf(__x);} - -static double _Complex - _TG_ATTRS - __tg_sinh(double _Complex __x) {return csinh(__x);} - -static long double _Complex - _TG_ATTRS - __tg_sinh(long double _Complex __x) {return csinhl(__x);} - -#undef sinh -#define sinh(__x) __tg_sinh(__tg_promote1((__x))(__x)) - -// tanh - -static float - _TG_ATTRS - __tg_tanh(float __x) {return tanhf(__x);} - -static double - _TG_ATTRS - __tg_tanh(double __x) {return tanh(__x);} - -static long double - _TG_ATTRS - __tg_tanh(long double __x) {return tanhl(__x);} - -static float _Complex - _TG_ATTRS - __tg_tanh(float _Complex __x) {return ctanhf(__x);} - -static double _Complex - _TG_ATTRS - __tg_tanh(double _Complex __x) {return ctanh(__x);} - -static long double _Complex - _TG_ATTRS - __tg_tanh(long double _Complex __x) {return ctanhl(__x);} - -#undef tanh -#define tanh(__x) __tg_tanh(__tg_promote1((__x))(__x)) - -// exp - -static float - _TG_ATTRS - __tg_exp(float __x) {return expf(__x);} - -static double - _TG_ATTRS - __tg_exp(double __x) {return exp(__x);} - -static long double - _TG_ATTRS - __tg_exp(long double __x) {return expl(__x);} - -static float _Complex - _TG_ATTRS - __tg_exp(float _Complex __x) {return cexpf(__x);} - -static double _Complex - _TG_ATTRS - __tg_exp(double _Complex __x) {return cexp(__x);} - -static long double _Complex - _TG_ATTRS - __tg_exp(long double _Complex __x) {return cexpl(__x);} - -#undef exp -#define exp(__x) __tg_exp(__tg_promote1((__x))(__x)) - -// log - -static float - _TG_ATTRS - __tg_log(float __x) {return logf(__x);} - -static double - _TG_ATTRS - __tg_log(double __x) {return log(__x);} - -static long double - _TG_ATTRS - __tg_log(long double __x) {return logl(__x);} - -static float _Complex - _TG_ATTRS - __tg_log(float _Complex __x) {return clogf(__x);} - -static double _Complex - _TG_ATTRS - __tg_log(double _Complex __x) {return clog(__x);} - -static long double _Complex - _TG_ATTRS - __tg_log(long double _Complex __x) {return clogl(__x);} - -#undef log -#define log(__x) __tg_log(__tg_promote1((__x))(__x)) - -// pow - -static float - _TG_ATTRS - __tg_pow(float __x, float __y) {return powf(__x, __y);} - -static double - _TG_ATTRS - __tg_pow(double __x, double __y) {return pow(__x, __y);} - -static long double - _TG_ATTRS - __tg_pow(long double __x, long double __y) {return powl(__x, __y);} - -static float _Complex - _TG_ATTRS - __tg_pow(float _Complex __x, float _Complex __y) {return cpowf(__x, __y);} - -static double _Complex - _TG_ATTRS - __tg_pow(double _Complex __x, double _Complex __y) {return cpow(__x, __y);} - -static long double _Complex - _TG_ATTRS - __tg_pow(long double _Complex __x, long double _Complex __y) - {return cpowl(__x, __y);} - -#undef pow -#define pow(__x, __y) __tg_pow(__tg_promote2((__x), (__y))(__x), \ - __tg_promote2((__x), (__y))(__y)) - -// sqrt - -static float - _TG_ATTRS - __tg_sqrt(float __x) {return sqrtf(__x);} - -static double - _TG_ATTRS - __tg_sqrt(double __x) {return sqrt(__x);} - -static long double - _TG_ATTRS - __tg_sqrt(long double __x) {return sqrtl(__x);} - -static float _Complex - _TG_ATTRS - __tg_sqrt(float _Complex __x) {return csqrtf(__x);} - -static double _Complex - _TG_ATTRS - __tg_sqrt(double _Complex __x) {return csqrt(__x);} - -static long double _Complex - _TG_ATTRS - __tg_sqrt(long double _Complex __x) {return csqrtl(__x);} - -#undef sqrt -#define sqrt(__x) __tg_sqrt(__tg_promote1((__x))(__x)) - -// fabs - -static float - _TG_ATTRS - __tg_fabs(float __x) {return fabsf(__x);} - -static double - _TG_ATTRS - __tg_fabs(double __x) {return fabs(__x);} - -static long double - _TG_ATTRS - __tg_fabs(long double __x) {return fabsl(__x);} - -static float - _TG_ATTRS - __tg_fabs(float _Complex __x) {return cabsf(__x);} - -static double - _TG_ATTRS - __tg_fabs(double _Complex __x) {return cabs(__x);} - -static long double - _TG_ATTRS - __tg_fabs(long double _Complex __x) {return cabsl(__x);} - -#undef fabs -#define fabs(__x) __tg_fabs(__tg_promote1((__x))(__x)) - -// atan2 - -static float - _TG_ATTRS - __tg_atan2(float __x, float __y) {return atan2f(__x, __y);} - -static double - _TG_ATTRS - __tg_atan2(double __x, double __y) {return atan2(__x, __y);} - -static long double - _TG_ATTRS - __tg_atan2(long double __x, long double __y) {return atan2l(__x, __y);} - -#undef atan2 -#define atan2(__x, __y) __tg_atan2(__tg_promote2((__x), (__y))(__x), \ - __tg_promote2((__x), (__y))(__y)) - -// cbrt - -static float - _TG_ATTRS - __tg_cbrt(float __x) {return cbrtf(__x);} - -static double - _TG_ATTRS - __tg_cbrt(double __x) {return cbrt(__x);} - -static long double - _TG_ATTRS - __tg_cbrt(long double __x) {return cbrtl(__x);} - -#undef cbrt -#define cbrt(__x) __tg_cbrt(__tg_promote1((__x))(__x)) - -// ceil - -static float - _TG_ATTRS - __tg_ceil(float __x) {return ceilf(__x);} - -static double - _TG_ATTRS - __tg_ceil(double __x) {return ceil(__x);} - -static long double - _TG_ATTRS - __tg_ceil(long double __x) {return ceill(__x);} - -#undef ceil -#define ceil(__x) __tg_ceil(__tg_promote1((__x))(__x)) - -// copysign - -static float - _TG_ATTRS - __tg_copysign(float __x, float __y) {return copysignf(__x, __y);} - -static double - _TG_ATTRS - __tg_copysign(double __x, double __y) {return copysign(__x, __y);} - -static long double - _TG_ATTRS - __tg_copysign(long double __x, long double __y) {return copysignl(__x, __y);} - -#undef copysign -#define copysign(__x, __y) __tg_copysign(__tg_promote2((__x), (__y))(__x), \ - __tg_promote2((__x), (__y))(__y)) - -// erf - -static float - _TG_ATTRS - __tg_erf(float __x) {return erff(__x);} - -static double - _TG_ATTRS - __tg_erf(double __x) {return erf(__x);} - -static long double - _TG_ATTRS - __tg_erf(long double __x) {return erfl(__x);} - -#undef erf -#define erf(__x) __tg_erf(__tg_promote1((__x))(__x)) - -// erfc - -static float - _TG_ATTRS - __tg_erfc(float __x) {return erfcf(__x);} - -static double - _TG_ATTRS - __tg_erfc(double __x) {return erfc(__x);} - -static long double - _TG_ATTRS - __tg_erfc(long double __x) {return erfcl(__x);} - -#undef erfc -#define erfc(__x) __tg_erfc(__tg_promote1((__x))(__x)) - -// exp2 - -static float - _TG_ATTRS - __tg_exp2(float __x) {return exp2f(__x);} - -static double - _TG_ATTRS - __tg_exp2(double __x) {return exp2(__x);} - -static long double - _TG_ATTRS - __tg_exp2(long double __x) {return exp2l(__x);} - -#undef exp2 -#define exp2(__x) __tg_exp2(__tg_promote1((__x))(__x)) - -// expm1 - -static float - _TG_ATTRS - __tg_expm1(float __x) {return expm1f(__x);} - -static double - _TG_ATTRS - __tg_expm1(double __x) {return expm1(__x);} - -static long double - _TG_ATTRS - __tg_expm1(long double __x) {return expm1l(__x);} - -#undef expm1 -#define expm1(__x) __tg_expm1(__tg_promote1((__x))(__x)) - -// fdim - -static float - _TG_ATTRS - __tg_fdim(float __x, float __y) {return fdimf(__x, __y);} - -static double - _TG_ATTRS - __tg_fdim(double __x, double __y) {return fdim(__x, __y);} - -static long double - _TG_ATTRS - __tg_fdim(long double __x, long double __y) {return fdiml(__x, __y);} - -#undef fdim -#define fdim(__x, __y) __tg_fdim(__tg_promote2((__x), (__y))(__x), \ - __tg_promote2((__x), (__y))(__y)) - -// floor - -static float - _TG_ATTRS - __tg_floor(float __x) {return floorf(__x);} - -static double - _TG_ATTRS - __tg_floor(double __x) {return floor(__x);} - -static long double - _TG_ATTRS - __tg_floor(long double __x) {return floorl(__x);} - -#undef floor -#define floor(__x) __tg_floor(__tg_promote1((__x))(__x)) - -// fma - -static float - _TG_ATTRS - __tg_fma(float __x, float __y, float __z) - {return fmaf(__x, __y, __z);} - -static double - _TG_ATTRS - __tg_fma(double __x, double __y, double __z) - {return fma(__x, __y, __z);} - -static long double - _TG_ATTRS - __tg_fma(long double __x,long double __y, long double __z) - {return fmal(__x, __y, __z);} - -#undef fma -#define fma(__x, __y, __z) \ - __tg_fma(__tg_promote3((__x), (__y), (__z))(__x), \ - __tg_promote3((__x), (__y), (__z))(__y), \ - __tg_promote3((__x), (__y), (__z))(__z)) - -// fmax - -static float - _TG_ATTRS - __tg_fmax(float __x, float __y) {return fmaxf(__x, __y);} - -static double - _TG_ATTRS - __tg_fmax(double __x, double __y) {return fmax(__x, __y);} - -static long double - _TG_ATTRS - __tg_fmax(long double __x, long double __y) {return fmaxl(__x, __y);} - -#undef fmax -#define fmax(__x, __y) __tg_fmax(__tg_promote2((__x), (__y))(__x), \ - __tg_promote2((__x), (__y))(__y)) - -// fmin - -static float - _TG_ATTRS - __tg_fmin(float __x, float __y) {return fminf(__x, __y);} - -static double - _TG_ATTRS - __tg_fmin(double __x, double __y) {return fmin(__x, __y);} - -static long double - _TG_ATTRS - __tg_fmin(long double __x, long double __y) {return fminl(__x, __y);} - -#undef fmin -#define fmin(__x, __y) __tg_fmin(__tg_promote2((__x), (__y))(__x), \ - __tg_promote2((__x), (__y))(__y)) - -// fmod - -static float - _TG_ATTRS - __tg_fmod(float __x, float __y) {return fmodf(__x, __y);} - -static double - _TG_ATTRS - __tg_fmod(double __x, double __y) {return fmod(__x, __y);} - -static long double - _TG_ATTRS - __tg_fmod(long double __x, long double __y) {return fmodl(__x, __y);} - -#undef fmod -#define fmod(__x, __y) __tg_fmod(__tg_promote2((__x), (__y))(__x), \ - __tg_promote2((__x), (__y))(__y)) - -// frexp - -static float - _TG_ATTRS - __tg_frexp(float __x, int* __y) {return frexpf(__x, __y);} - -static double - _TG_ATTRS - __tg_frexp(double __x, int* __y) {return frexp(__x, __y);} - -static long double - _TG_ATTRS - __tg_frexp(long double __x, int* __y) {return frexpl(__x, __y);} - -#undef frexp -#define frexp(__x, __y) __tg_frexp(__tg_promote1((__x))(__x), __y) - -// hypot - -static float - _TG_ATTRS - __tg_hypot(float __x, float __y) {return hypotf(__x, __y);} - -static double - _TG_ATTRS - __tg_hypot(double __x, double __y) {return hypot(__x, __y);} - -static long double - _TG_ATTRS - __tg_hypot(long double __x, long double __y) {return hypotl(__x, __y);} - -#undef hypot -#define hypot(__x, __y) __tg_hypot(__tg_promote2((__x), (__y))(__x), \ - __tg_promote2((__x), (__y))(__y)) - -// ilogb - -static int - _TG_ATTRS - __tg_ilogb(float __x) {return ilogbf(__x);} - -static int - _TG_ATTRS - __tg_ilogb(double __x) {return ilogb(__x);} - -static int - _TG_ATTRS - __tg_ilogb(long double __x) {return ilogbl(__x);} - -#undef ilogb -#define ilogb(__x) __tg_ilogb(__tg_promote1((__x))(__x)) - -// ldexp - -static float - _TG_ATTRS - __tg_ldexp(float __x, int __y) {return ldexpf(__x, __y);} - -static double - _TG_ATTRS - __tg_ldexp(double __x, int __y) {return ldexp(__x, __y);} - -static long double - _TG_ATTRS - __tg_ldexp(long double __x, int __y) {return ldexpl(__x, __y);} - -#undef ldexp -#define ldexp(__x, __y) __tg_ldexp(__tg_promote1((__x))(__x), __y) - -// lgamma - -static float - _TG_ATTRS - __tg_lgamma(float __x) {return lgammaf(__x);} - -static double - _TG_ATTRS - __tg_lgamma(double __x) {return lgamma(__x);} - -static long double - _TG_ATTRS - __tg_lgamma(long double __x) {return lgammal(__x);} - -#undef lgamma -#define lgamma(__x) __tg_lgamma(__tg_promote1((__x))(__x)) - -// llrint - -static long long - _TG_ATTRS - __tg_llrint(float __x) {return llrintf(__x);} - -static long long - _TG_ATTRS - __tg_llrint(double __x) {return llrint(__x);} - -static long long - _TG_ATTRS - __tg_llrint(long double __x) {return llrintl(__x);} - -#undef llrint -#define llrint(__x) __tg_llrint(__tg_promote1((__x))(__x)) - -// llround - -static long long - _TG_ATTRS - __tg_llround(float __x) {return llroundf(__x);} - -static long long - _TG_ATTRS - __tg_llround(double __x) {return llround(__x);} - -static long long - _TG_ATTRS - __tg_llround(long double __x) {return llroundl(__x);} - -#undef llround -#define llround(__x) __tg_llround(__tg_promote1((__x))(__x)) - -// log10 - -static float - _TG_ATTRS - __tg_log10(float __x) {return log10f(__x);} - -static double - _TG_ATTRS - __tg_log10(double __x) {return log10(__x);} - -static long double - _TG_ATTRS - __tg_log10(long double __x) {return log10l(__x);} - -#undef log10 -#define log10(__x) __tg_log10(__tg_promote1((__x))(__x)) - -// log1p - -static float - _TG_ATTRS - __tg_log1p(float __x) {return log1pf(__x);} - -static double - _TG_ATTRS - __tg_log1p(double __x) {return log1p(__x);} - -static long double - _TG_ATTRS - __tg_log1p(long double __x) {return log1pl(__x);} - -#undef log1p -#define log1p(__x) __tg_log1p(__tg_promote1((__x))(__x)) - -// log2 - -static float - _TG_ATTRS - __tg_log2(float __x) {return log2f(__x);} - -static double - _TG_ATTRS - __tg_log2(double __x) {return log2(__x);} - -static long double - _TG_ATTRS - __tg_log2(long double __x) {return log2l(__x);} - -#undef log2 -#define log2(__x) __tg_log2(__tg_promote1((__x))(__x)) - -// logb - -static float - _TG_ATTRS - __tg_logb(float __x) {return logbf(__x);} - -static double - _TG_ATTRS - __tg_logb(double __x) {return logb(__x);} - -static long double - _TG_ATTRS - __tg_logb(long double __x) {return logbl(__x);} - -#undef logb -#define logb(__x) __tg_logb(__tg_promote1((__x))(__x)) - -// lrint - -static long - _TG_ATTRS - __tg_lrint(float __x) {return lrintf(__x);} - -static long - _TG_ATTRS - __tg_lrint(double __x) {return lrint(__x);} - -static long - _TG_ATTRS - __tg_lrint(long double __x) {return lrintl(__x);} - -#undef lrint -#define lrint(__x) __tg_lrint(__tg_promote1((__x))(__x)) - -// lround - -static long - _TG_ATTRS - __tg_lround(float __x) {return lroundf(__x);} - -static long - _TG_ATTRS - __tg_lround(double __x) {return lround(__x);} - -static long - _TG_ATTRS - __tg_lround(long double __x) {return lroundl(__x);} - -#undef lround -#define lround(__x) __tg_lround(__tg_promote1((__x))(__x)) - -// nearbyint - -static float - _TG_ATTRS - __tg_nearbyint(float __x) {return nearbyintf(__x);} - -static double - _TG_ATTRS - __tg_nearbyint(double __x) {return nearbyint(__x);} - -static long double - _TG_ATTRS - __tg_nearbyint(long double __x) {return nearbyintl(__x);} - -#undef nearbyint -#define nearbyint(__x) __tg_nearbyint(__tg_promote1((__x))(__x)) - -// nextafter - -static float - _TG_ATTRS - __tg_nextafter(float __x, float __y) {return nextafterf(__x, __y);} - -static double - _TG_ATTRS - __tg_nextafter(double __x, double __y) {return nextafter(__x, __y);} - -static long double - _TG_ATTRS - __tg_nextafter(long double __x, long double __y) {return nextafterl(__x, __y);} - -#undef nextafter -#define nextafter(__x, __y) __tg_nextafter(__tg_promote2((__x), (__y))(__x), \ - __tg_promote2((__x), (__y))(__y)) - -// nexttoward - -static float - _TG_ATTRS - __tg_nexttoward(float __x, long double __y) {return nexttowardf(__x, __y);} - -static double - _TG_ATTRS - __tg_nexttoward(double __x, long double __y) {return nexttoward(__x, __y);} - -static long double - _TG_ATTRS - __tg_nexttoward(long double __x, long double __y) {return nexttowardl(__x, __y);} - -#undef nexttoward -#define nexttoward(__x, __y) __tg_nexttoward(__tg_promote1((__x))(__x), (__y)) - -// remainder - -static float - _TG_ATTRS - __tg_remainder(float __x, float __y) {return remainderf(__x, __y);} - -static double - _TG_ATTRS - __tg_remainder(double __x, double __y) {return remainder(__x, __y);} - -static long double - _TG_ATTRS - __tg_remainder(long double __x, long double __y) {return remainderl(__x, __y);} - -#undef remainder -#define remainder(__x, __y) __tg_remainder(__tg_promote2((__x), (__y))(__x), \ - __tg_promote2((__x), (__y))(__y)) - -// remquo - -static float - _TG_ATTRS - __tg_remquo(float __x, float __y, int* __z) - {return remquof(__x, __y, __z);} - -static double - _TG_ATTRS - __tg_remquo(double __x, double __y, int* __z) - {return remquo(__x, __y, __z);} - -static long double - _TG_ATTRS - __tg_remquo(long double __x,long double __y, int* __z) - {return remquol(__x, __y, __z);} - -#undef remquo -#define remquo(__x, __y, __z) \ - __tg_remquo(__tg_promote2((__x), (__y))(__x), \ - __tg_promote2((__x), (__y))(__y), \ - (__z)) - -// rint - -static float - _TG_ATTRS - __tg_rint(float __x) {return rintf(__x);} - -static double - _TG_ATTRS - __tg_rint(double __x) {return rint(__x);} - -static long double - _TG_ATTRS - __tg_rint(long double __x) {return rintl(__x);} - -#undef rint -#define rint(__x) __tg_rint(__tg_promote1((__x))(__x)) - -// round - -static float - _TG_ATTRS - __tg_round(float __x) {return roundf(__x);} - -static double - _TG_ATTRS - __tg_round(double __x) {return round(__x);} - -static long double - _TG_ATTRS - __tg_round(long double __x) {return roundl(__x);} - -#undef round -#define round(__x) __tg_round(__tg_promote1((__x))(__x)) - -// scalbn - -static float - _TG_ATTRS - __tg_scalbn(float __x, int __y) {return scalbnf(__x, __y);} - -static double - _TG_ATTRS - __tg_scalbn(double __x, int __y) {return scalbn(__x, __y);} - -static long double - _TG_ATTRS - __tg_scalbn(long double __x, int __y) {return scalbnl(__x, __y);} - -#undef scalbn -#define scalbn(__x, __y) __tg_scalbn(__tg_promote1((__x))(__x), __y) - -// scalbln - -static float - _TG_ATTRS - __tg_scalbln(float __x, long __y) {return scalblnf(__x, __y);} - -static double - _TG_ATTRS - __tg_scalbln(double __x, long __y) {return scalbln(__x, __y);} - -static long double - _TG_ATTRS - __tg_scalbln(long double __x, long __y) {return scalblnl(__x, __y);} - -#undef scalbln -#define scalbln(__x, __y) __tg_scalbln(__tg_promote1((__x))(__x), __y) - -// tgamma - -static float - _TG_ATTRS - __tg_tgamma(float __x) {return tgammaf(__x);} - -static double - _TG_ATTRS - __tg_tgamma(double __x) {return tgamma(__x);} - -static long double - _TG_ATTRS - __tg_tgamma(long double __x) {return tgammal(__x);} - -#undef tgamma -#define tgamma(__x) __tg_tgamma(__tg_promote1((__x))(__x)) - -// trunc - -static float - _TG_ATTRS - __tg_trunc(float __x) {return truncf(__x);} - -static double - _TG_ATTRS - __tg_trunc(double __x) {return trunc(__x);} - -static long double - _TG_ATTRS - __tg_trunc(long double __x) {return truncl(__x);} - -#undef trunc -#define trunc(__x) __tg_trunc(__tg_promote1((__x))(__x)) - -// carg - -static float - _TG_ATTRS - __tg_carg(float __x) {return atan2f(0.F, __x);} - -static double - _TG_ATTRS - __tg_carg(double __x) {return atan2(0., __x);} - -static long double - _TG_ATTRS - __tg_carg(long double __x) {return atan2l(0.L, __x);} - -static float - _TG_ATTRS - __tg_carg(float _Complex __x) {return cargf(__x);} - -static double - _TG_ATTRS - __tg_carg(double _Complex __x) {return carg(__x);} - -static long double - _TG_ATTRS - __tg_carg(long double _Complex __x) {return cargl(__x);} - -#undef carg -#define carg(__x) __tg_carg(__tg_promote1((__x))(__x)) - -// cimag - -static float - _TG_ATTRS - __tg_cimag(float __x) {return 0;} - -static double - _TG_ATTRS - __tg_cimag(double __x) {return 0;} - -static long double - _TG_ATTRS - __tg_cimag(long double __x) {return 0;} - -static float - _TG_ATTRS - __tg_cimag(float _Complex __x) {return cimagf(__x);} - -static double - _TG_ATTRS - __tg_cimag(double _Complex __x) {return cimag(__x);} - -static long double - _TG_ATTRS - __tg_cimag(long double _Complex __x) {return cimagl(__x);} - -#undef cimag -#define cimag(__x) __tg_cimag(__tg_promote1((__x))(__x)) - -// conj - -static float _Complex - _TG_ATTRS - __tg_conj(float __x) {return __x;} - -static double _Complex - _TG_ATTRS - __tg_conj(double __x) {return __x;} - -static long double _Complex - _TG_ATTRS - __tg_conj(long double __x) {return __x;} - -static float _Complex - _TG_ATTRS - __tg_conj(float _Complex __x) {return conjf(__x);} - -static double _Complex - _TG_ATTRS - __tg_conj(double _Complex __x) {return conj(__x);} - -static long double _Complex - _TG_ATTRS - __tg_conj(long double _Complex __x) {return conjl(__x);} - -#undef conj -#define conj(__x) __tg_conj(__tg_promote1((__x))(__x)) - -// cproj - -static float _Complex - _TG_ATTRS - __tg_cproj(float __x) {return cprojf(__x);} - -static double _Complex - _TG_ATTRS - __tg_cproj(double __x) {return cproj(__x);} - -static long double _Complex - _TG_ATTRS - __tg_cproj(long double __x) {return cprojl(__x);} - -static float _Complex - _TG_ATTRS - __tg_cproj(float _Complex __x) {return cprojf(__x);} - -static double _Complex - _TG_ATTRS - __tg_cproj(double _Complex __x) {return cproj(__x);} - -static long double _Complex - _TG_ATTRS - __tg_cproj(long double _Complex __x) {return cprojl(__x);} - -#undef cproj -#define cproj(__x) __tg_cproj(__tg_promote1((__x))(__x)) - -// creal - -static float - _TG_ATTRS - __tg_creal(float __x) {return __x;} - -static double - _TG_ATTRS - __tg_creal(double __x) {return __x;} - -static long double - _TG_ATTRS - __tg_creal(long double __x) {return __x;} - -static float - _TG_ATTRS - __tg_creal(float _Complex __x) {return crealf(__x);} - -static double - _TG_ATTRS - __tg_creal(double _Complex __x) {return creal(__x);} - -static long double - _TG_ATTRS - __tg_creal(long double _Complex __x) {return creall(__x);} - -#undef creal -#define creal(__x) __tg_creal(__tg_promote1((__x))(__x)) - -#undef _TG_ATTRSp -#undef _TG_ATTRS - -#if __has_include() -REALTIME_SAFE_END -#endif - -#endif /* __cplusplus */ -#endif /* __TGMATH_H */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.13-any/vis.h b/lib/libc/include/any-macos.13-any/vis.h deleted file mode 100644 index b22f6ab385..0000000000 --- a/lib/libc/include/any-macos.13-any/vis.h +++ /dev/null @@ -1,143 +0,0 @@ -/* - * Copyright (c) 2000 Apple Computer, Inc. All rights reserved. - * - * @APPLE_LICENSE_HEADER_START@ - * - * This file contains Original Code and/or Modifications of Original Code - * as defined in and that are subject to the Apple Public Source License - * Version 2.0 (the 'License'). You may not use this file except in - * compliance with the License. Please obtain a copy of the License at - * http://www.opensource.apple.com/apsl/ and read it before using this - * file. - * - * The Original Code and all software distributed under the License are - * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER - * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, - * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. - * Please see the License for the specific language governing rights and - * limitations under the License. - * - * @APPLE_LICENSE_HEADER_END@ - */ -/* $NetBSD: vis.h,v 1.25 2017/04/23 01:57:36 christos Exp $ */ -/* $FreeBSD$ */ - -/*- - * Copyright (c) 1990, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)vis.h 8.1 (Berkeley) 6/2/93 - */ - -#ifndef _VIS_H_ -#define _VIS_H_ - -#include <_types.h> -#include - -/* - * to select alternate encoding format - */ -#define VIS_OCTAL 0x0001 /* use octal \ddd format */ -#define VIS_CSTYLE 0x0002 /* use \[nrft0..] where appropiate */ - -/* - * to alter set of characters encoded (default is to encode all - * non-graphic except space, tab, and newline). - */ -#define VIS_SP 0x0004 /* also encode space */ -#define VIS_TAB 0x0008 /* also encode tab */ -#define VIS_NL 0x0010 /* also encode newline */ -#define VIS_WHITE (VIS_SP | VIS_TAB | VIS_NL) -#define VIS_SAFE 0x0020 /* only encode "unsafe" characters */ -#define VIS_DQ 0x8000 /* also encode double quotes */ - -/* - * other - */ -#define VIS_NOSLASH 0x0040 /* inhibit printing '\' */ -#define VIS_HTTP1808 0x0080 /* http-style escape % hex hex */ -#define VIS_HTTPSTYLE 0x0080 /* http-style escape % hex hex */ -#define VIS_GLOB 0x0100 /* encode glob(3) magic characters */ -#define VIS_MIMESTYLE 0x0200 /* mime-style escape = HEX HEX */ -#define VIS_HTTP1866 0x0400 /* http-style &#num; or &string; */ -#define VIS_NOESCAPE 0x0800 /* don't decode `\' */ -#define _VIS_END 0x1000 /* for unvis */ -#define VIS_SHELL 0x2000 /* encode shell special characters [not glob] */ -#define VIS_META (VIS_WHITE | VIS_GLOB | VIS_SHELL) -#define VIS_NOLOCALE 0x4000 /* encode using the C locale */ - -/* - * unvis return codes - */ -#define UNVIS_VALID 1 /* character valid */ -#define UNVIS_VALIDPUSH 2 /* character valid, push back passed char */ -#define UNVIS_NOCHAR 3 /* valid sequence, no character produced */ -#define UNVIS_SYNBAD -1 /* unrecognized escape sequence */ -#define UNVIS_ERROR -2 /* decoder in unknown state (unrecoverable) */ - -/* - * unvis flags - */ -#define UNVIS_END _VIS_END /* no more characters */ - -#include - -__BEGIN_DECLS -char *vis(char *, int, int, int); -char *nvis(char *, size_t, int, int, int); - -char *svis(char *, int, int, int, const char *); -char *snvis(char *, size_t, int, int, int, const char *); - -int strvis(char *, const char *, int); -int stravis(char **, const char *, int); -int strnvis(char *, size_t, const char *, int); - -int strsvis(char *, const char *, int, const char *); -int strsnvis(char *, size_t, const char *, int, const char *); - -int strvisx(char *, const char *, size_t, int); -int strnvisx(char *, size_t, const char *, size_t, int); -int strenvisx(char *, size_t, const char *, size_t, int, int *); - -int strsvisx(char *, const char *, size_t, int, const char *); -int strsnvisx(char *, size_t, const char *, size_t, int, const char *); -int strsenvisx(char *, size_t, const char *, size_t , int, const char *, - int *); - -int strunvis(char *, const char *); -int strnunvis(char *, size_t, const char *); - -int strunvisx(char *, const char *, int); -int strnunvisx(char *, size_t, const char *, int); - -int unvis(char *, int, int *, int); -__END_DECLS - -#endif /* !_VIS_H_ */ \ No newline at end of file diff --git a/lib/libc/include/any-macos.13-any/xpc/xpc.h b/lib/libc/include/any-macos.13-any/xpc/xpc.h deleted file mode 100644 index af3f49853e..0000000000 --- a/lib/libc/include/any-macos.13-any/xpc/xpc.h +++ /dev/null @@ -1,2735 +0,0 @@ -// Copyright (c) 2009-2020 Apple Inc. All rights reserved. - -#ifndef __XPC_H__ -#define __XPC_H__ - -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#ifndef __XPC_INDIRECT__ -#define __XPC_INDIRECT__ -#endif // __XPC_INDIRECT__ - -#include - -#if __has_include() -#include -#else // __has_include() -#define XPC_TRANSACTION_DEPRECATED -#endif // __has_include() - -XPC_ASSUME_NONNULL_BEGIN -__BEGIN_DECLS - -#ifndef __OSX_AVAILABLE_STARTING -#define __OSX_AVAILABLE_STARTING(x, y) -#endif // __OSX_AVAILABLE_STARTING - -#define XPC_API_VERSION 20200610 - -/*! - * @typedef xpc_type_t - * A type that describes XPC object types. - */ -typedef const struct _xpc_type_s * xpc_type_t; -#ifndef XPC_TYPE -#define XPC_TYPE(type) const struct _xpc_type_s type -#endif // XPC_TYPE - -/*! - * @typedef xpc_object_t - * A type that can describe all XPC objects. Dictionaries, arrays, strings, etc. - * are all described by this type. - * - * XPC objects are created with a retain count of 1, and therefore it is the - * caller's responsibility to call xpc_release() on them when they are no longer - * needed. - */ - -#if OS_OBJECT_USE_OBJC -/* By default, XPC objects are declared as Objective-C types when building with - * an Objective-C compiler. This allows them to participate in ARC, in RR - * management by the Blocks runtime and in leaks checking by the static - * analyzer, and enables them to be added to Cocoa collections. - * - * See for details. - */ -OS_OBJECT_DECL(xpc_object); -#ifndef XPC_DECL -#define XPC_DECL(name) typedef xpc_object_t name##_t -#endif // XPC_DECL - -#define XPC_GLOBAL_OBJECT(object) ((OS_OBJECT_BRIDGE xpc_object_t)&(object)) -#define XPC_RETURNS_RETAINED OS_OBJECT_RETURNS_RETAINED -XPC_INLINE XPC_NONNULL_ALL -void -_xpc_object_validate(xpc_object_t object) { - (void)*(unsigned long volatile *)(OS_OBJECT_BRIDGE void *)object; -} -#else // OS_OBJECT_USE_OBJC -typedef void * xpc_object_t; -#define XPC_DECL(name) typedef struct _##name##_s * name##_t -#define XPC_GLOBAL_OBJECT(object) (&(object)) -#define XPC_RETURNS_RETAINED -#endif // OS_OBJECT_USE_OBJC - -/*! - * @typedef xpc_handler_t - * The type of block that is accepted by the XPC connection APIs. - * - * @param object - * An XPC object that is to be handled. If there was an error, this object will - * be equal to one of the well-known XPC_ERROR_* dictionaries and can be - * compared with the equality operator. - * - * @discussion - * You are not responsible for releasing the event object. - */ -#if __BLOCKS__ -typedef void (^xpc_handler_t)(xpc_object_t object); -#endif // __BLOCKS__ - -/*! - * @define XPC_TYPE_CONNECTION - * A type representing a connection to a named service. This connection is - * bidirectional and can be used to both send and receive messages. A - * connection carries the credentials of the remote service provider. - */ -#define XPC_TYPE_CONNECTION (&_xpc_type_connection) -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT -XPC_TYPE(_xpc_type_connection); -XPC_DECL(xpc_connection); - -/*! - * @typedef xpc_connection_handler_t - * The type of the function that will be invoked for a bundled XPC service when - * there is a new connection on the service. - * - * @param connection - * A new connection that is equivalent to one received by a listener connection. - * See the documentation for {@link xpc_connection_set_event_handler} for the - * semantics associated with the received connection. - */ -typedef void (*xpc_connection_handler_t)(xpc_connection_t connection); - -/*! - * @define XPC_TYPE_ENDPOINT - * A type representing a connection in serialized form. Unlike a connection, an - * endpoint is an inert object that does not have any runtime activity - * associated with it. Thus, it is safe to pass an endpoint in a message. Upon - * receiving an endpoint, the recipient can use - * xpc_connection_create_from_endpoint() to create as many distinct connections - * as desired. - */ -#define XPC_TYPE_ENDPOINT (&_xpc_type_endpoint) -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT -XPC_TYPE(_xpc_type_endpoint); -XPC_DECL(xpc_endpoint); - -/*! - * @define XPC_TYPE_NULL - * A type representing a null object. This type is useful for disambiguating - * an unset key in a dictionary and one which has been reserved but set empty. - * Also, this type is a way to represent a "null" value in dictionaries, which - * do not accept NULL. - */ -#define XPC_TYPE_NULL (&_xpc_type_null) -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT -XPC_TYPE(_xpc_type_null); - -/*! - * @define XPC_TYPE_BOOL - * A type representing a Boolean value. - */ -#define XPC_TYPE_BOOL (&_xpc_type_bool) -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT -XPC_TYPE(_xpc_type_bool); - -/*! - * @define XPC_BOOL_TRUE - * A constant representing a Boolean value of true. You may compare a Boolean - * object against this constant to determine its value. - */ -#define XPC_BOOL_TRUE XPC_GLOBAL_OBJECT(_xpc_bool_true) -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT -const struct _xpc_bool_s _xpc_bool_true; - -/*! - * @define XPC_BOOL_FALSE - * A constant representing a Boolean value of false. You may compare a Boolean - * object against this constant to determine its value. - */ -#define XPC_BOOL_FALSE XPC_GLOBAL_OBJECT(_xpc_bool_false) -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT -const struct _xpc_bool_s _xpc_bool_false; - -/*! - * @define XPC_TYPE_INT64 - * A type representing a signed, 64-bit integer value. - */ -#define XPC_TYPE_INT64 (&_xpc_type_int64) -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT -XPC_TYPE(_xpc_type_int64); - -/*! - * @define XPC_TYPE_UINT64 - * A type representing an unsigned, 64-bit integer value. - */ -#define XPC_TYPE_UINT64 (&_xpc_type_uint64) -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT -XPC_TYPE(_xpc_type_uint64); - -/*! - * @define XPC_TYPE_DOUBLE - * A type representing an IEEE-compliant, double-precision floating point value. - */ -#define XPC_TYPE_DOUBLE (&_xpc_type_double) -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT -XPC_TYPE(_xpc_type_double); - -/*! - * @define XPC_TYPE_DATE - * A type representing a date interval. The interval is with respect to the - * Unix epoch. XPC dates are in Unix time and are thus unaware of local time - * or leap seconds. - */ -#define XPC_TYPE_DATE (&_xpc_type_date) -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT -XPC_TYPE(_xpc_type_date); - -/*! - * @define XPC_TYPE_DATA - * A type representing a an arbitrary buffer of bytes. - */ -#define XPC_TYPE_DATA (&_xpc_type_data) -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT -XPC_TYPE(_xpc_type_data); - -/*! - * @define XPC_TYPE_STRING - * A type representing a NUL-terminated C-string. - */ -#define XPC_TYPE_STRING (&_xpc_type_string) -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT -XPC_TYPE(_xpc_type_string); - -/*! - * @define XPC_TYPE_UUID - * A type representing a Universally Unique Identifier as defined by uuid(3). - */ -#define XPC_TYPE_UUID (&_xpc_type_uuid) -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT -XPC_TYPE(_xpc_type_uuid); - -/*! - * @define XPC_TYPE_FD - * A type representing a POSIX file descriptor. - */ -#define XPC_TYPE_FD (&_xpc_type_fd) -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT -XPC_TYPE(_xpc_type_fd); - -/*! - * @define XPC_TYPE_SHMEM - * A type representing a region of shared memory. - */ -#define XPC_TYPE_SHMEM (&_xpc_type_shmem) -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT -XPC_TYPE(_xpc_type_shmem); - -/*! - * @define XPC_TYPE_ARRAY - * A type representing an array of XPC objects. This array must be contiguous, - * i.e. it cannot contain NULL values. If you wish to indicate that a slot - * is empty, you can insert a null object. The array will grow as needed to - * accommodate more objects. - */ -#define XPC_TYPE_ARRAY (&_xpc_type_array) -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT -XPC_TYPE(_xpc_type_array); - -/*! - * @define XPC_TYPE_DICTIONARY - * A type representing a dictionary of XPC objects, keyed off of C-strings. - * You may insert NULL values into this collection. The dictionary will grow - * as needed to accommodate more key/value pairs. - */ -#define XPC_TYPE_DICTIONARY (&_xpc_type_dictionary) -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT -XPC_TYPE(_xpc_type_dictionary); - -/*! - * @define XPC_TYPE_ERROR - * A type representing an error object. Errors in XPC are dictionaries, but - * xpc_get_type() will return this type when given an error object. You - * cannot create an error object directly; XPC will only give them to handlers. - * These error objects have pointer values that are constant across the lifetime - * of your process and can be safely compared. - * - * These constants are enumerated in the header for the connection object. Error - * dictionaries may reserve keys so that they can be queried to obtain more - * detailed information about the error. Currently, the only reserved key is - * XPC_ERROR_KEY_DESCRIPTION. - */ -#define XPC_TYPE_ERROR (&_xpc_type_error) -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT -XPC_TYPE(_xpc_type_error); - -/*! - * @define XPC_ERROR_KEY_DESCRIPTION - * In an error dictionary, querying for this key will return a string object - * that describes the error in a human-readable way. - */ -#define XPC_ERROR_KEY_DESCRIPTION _xpc_error_key_description -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT -const char * const _xpc_error_key_description; - -/*! - * @define XPC_EVENT_KEY_NAME - * In an event dictionary, this querying for this key will return a string - * object that describes the event. - */ -#define XPC_EVENT_KEY_NAME _xpc_event_key_name -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT -const char * const _xpc_event_key_name; - -/*! - * @define XPC_TYPE_SESSION - * - * @discussion - * Sessions represent a stateful connection between a client and a service. When either end of the connection - * disconnects, the entire session will be invalidated. In this case the system will make no attempt to - * reestablish the connection or relaunch the service. - * - * Clients can initiate a session with a service that accepts xpc_connection_t connections but session - * semantics will be maintained. - * - */ -#define XPC_TYPE_SESSION (&_xpc_type_session) -XPC_EXPORT -XPC_TYPE(_xpc_type_session); -XPC_DECL(xpc_session); - -/*! - * @define XPC_TYPE_RICH_ERROR - * - * @discussion - * Rich errors provide a simple dynamic error type that can indicate whether an - * error is retry-able or not. - */ -#define XPC_TYPE_RICH_ERROR (&_xpc_type_rich_error) -XPC_EXPORT -XPC_TYPE(_xpc_type_rich_error); -XPC_DECL(xpc_rich_error); - -XPC_ASSUME_NONNULL_END -#if !defined(__XPC_BUILDING_XPC__) || !__XPC_BUILDING_XPC__ -#include -#include -#if __BLOCKS__ -#include -#include -#include -#include -#endif // __BLOCKS__ -#undef __XPC_INDIRECT__ -#include -#endif // !defined(__XPC_BUILDING_XPC__) || !__XPC_BUILDING_XPC__ -XPC_ASSUME_NONNULL_BEGIN - -#pragma mark XPC Object Protocol -/*! - * @function xpc_retain - * - * @abstract - * Increments the reference count of an object. - * - * @param object - * The object which is to be manipulated. - * - * @result - * The object which was given. - * - * @discussion - * Calls to xpc_retain() must be balanced with calls to xpc_release() - * to avoid leaking memory. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_NONNULL1 -xpc_object_t -xpc_retain(xpc_object_t object); -#if OS_OBJECT_USE_OBJC_RETAIN_RELEASE -#undef xpc_retain -#define xpc_retain(object) ({ xpc_object_t _o = (object); \ - _xpc_object_validate(_o); [_o retain]; }) -#endif // OS_OBJECT_USE_OBJC_RETAIN_RELEASE - -/*! - * @function xpc_release - * - * @abstract - * Decrements the reference count of an object. - * - * @param object - * The object which is to be manipulated. - * - * @discussion - * The caller must take care to balance retains and releases. When creating or - * retaining XPC objects, the creator obtains a reference on the object. Thus, - * it is the caller's responsibility to call xpc_release() on those objects when - * they are no longer needed. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_NONNULL1 -void -xpc_release(xpc_object_t object); -#if OS_OBJECT_USE_OBJC_RETAIN_RELEASE -#undef xpc_release -#define xpc_release(object) ({ xpc_object_t _o = (object); \ - _xpc_object_validate(_o); [_o release]; }) -#endif // OS_OBJECT_USE_OBJC_RETAIN_RELEASE - -/*! - * @function xpc_get_type - * - * @abstract - * Returns the type of an object. - * - * @param object - * The object to examine. - * - * @result - * An opaque pointer describing the type of the object. This pointer is suitable - * direct comparison to exported type constants with the equality operator. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_NONNULL_ALL XPC_WARN_RESULT -xpc_type_t -xpc_get_type(xpc_object_t object); - -/*! - * @function xpc_type_get_name - * - * @abstract - * Returns a string describing an XPC object type. - * - * @param type - * The type to describe. - * - * @result - * A string describing the type of an object, like "string" or "int64". - * This string should not be freed or modified. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_15, __IPHONE_13_0) -XPC_EXPORT XPC_NONNULL1 -const char * -xpc_type_get_name(xpc_type_t type); - -/*! - * @function xpc_copy - * - * @abstract - * Creates a copy of the object. - * - * @param object - * The object to copy. - * - * @result - * The new object. NULL if the object type does not support copying or if - * sufficient memory for the copy could not be allocated. Service objects do - * not support copying. - * - * @discussion - * When called on an array or dictionary, xpc_copy() will perform a deep copy. - * - * The object returned is not necessarily guaranteed to be a new object, and - * whether it is will depend on the implementation of the object being copied. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_NONNULL_ALL XPC_WARN_RESULT XPC_RETURNS_RETAINED -xpc_object_t _Nullable -xpc_copy(xpc_object_t object); - -/*! - * @function xpc_equal - * - * @abstract - * Compares two objects for equality. - * - * @param object1 - * The first object to compare. - * - * @param object2 - * The second object to compare. - * - * @result - * Returns true if the objects are equal, otherwise false. Two objects must be - * of the same type in order to be equal. - * - * For two arrays to be equal, they must contain the same values at the - * same indexes. For two dictionaries to be equal, they must contain the same - * values for the same keys. - * - * Two objects being equal implies that their hashes (as returned by xpc_hash()) - * are also equal. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_NONNULL1 XPC_NONNULL2 XPC_WARN_RESULT -bool -xpc_equal(xpc_object_t object1, xpc_object_t object2); - -/*! - * @function xpc_hash - * - * @abstract - * Calculates a hash value for the given object. - * - * @param object - * The object for which to calculate a hash value. This value may be modded - * with a table size for insertion into a dictionary-like data structure. - * - * @result - * The calculated hash value. - * - * @discussion - * Note that the computed hash values for any particular type and value of an - * object can change from across releases and platforms and should not be - * assumed to be constant across all time and space or stored persistently. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_NONNULL1 XPC_WARN_RESULT -size_t -xpc_hash(xpc_object_t object); - -/*! - * @function xpc_copy_description - * - * @abstract - * Copies a debug string describing the object. - * - * @param object - * The object which is to be examined. - * - * @result - * A string describing object which contains information useful for debugging. - * This string should be disposed of with free(3) when done. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_MALLOC XPC_WARN_RESULT XPC_NONNULL1 -char * -xpc_copy_description(xpc_object_t object); - -#pragma mark XPC Object Types -#pragma mark Null -/*! - * @function xpc_null_create - * - * @abstract - * Creates an XPC object representing the null object. - * - * @result - * A new null object. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_RETURNS_RETAINED XPC_WARN_RESULT -xpc_object_t -xpc_null_create(void); - -#pragma mark Boolean -/*! - * @function xpc_bool_create - * - * @abstract - * Creates an XPC Boolean object. - * - * @param value - * The Boolean primitive value which is to be boxed. - * - * @result - * A new Boolean object. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_RETURNS_RETAINED XPC_WARN_RESULT -xpc_object_t -xpc_bool_create(bool value); - -/*! - * @function xpc_bool_get_value - * - * @abstract - * Returns the underlying Boolean value from the object. - * - * @param xbool - * The Boolean object which is to be examined. - * - * @result - * The underlying Boolean value or false if the given object was not an XPC - * Boolean object. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT -bool -xpc_bool_get_value(xpc_object_t xbool); - -#pragma mark Signed Integer -/*! - * @function xpc_int64_create - * - * @abstract - * Creates an XPC signed integer object. - * - * @param value - * The signed integer value which is to be boxed. - * - * @result - * A new signed integer object. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_MALLOC XPC_RETURNS_RETAINED XPC_WARN_RESULT -xpc_object_t -xpc_int64_create(int64_t value); - -/*! - * @function xpc_int64_get_value - * - * @abstract - * Returns the underlying signed 64-bit integer value from an object. - * - * @param xint - * The signed integer object which is to be examined. - * - * @result - * The underlying signed 64-bit value or 0 if the given object was not an XPC - * integer object. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_WARN_RESULT XPC_NONNULL1 -int64_t -xpc_int64_get_value(xpc_object_t xint); - -#pragma mark Unsigned Integer -/*! - * @function xpc_uint64_create - * - * @abstract - * Creates an XPC unsigned integer object. - * - * @param value - * The unsigned integer value which is to be boxed. - * - * @result - * A new unsigned integer object. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_MALLOC XPC_RETURNS_RETAINED XPC_WARN_RESULT -xpc_object_t -xpc_uint64_create(uint64_t value); - -/*! - * @function xpc_uint64_get_value - * - * @abstract - * Returns the underlying unsigned 64-bit integer value from an object. - * - * @param xuint - * The unsigned integer object which is to be examined. - * - * @result - * The underlying unsigned integer value or 0 if the given object was not an XPC - * unsigned integer object. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_WARN_RESULT XPC_NONNULL1 -uint64_t -xpc_uint64_get_value(xpc_object_t xuint); - -#pragma mark Double -/*! - * @function xpc_double_create - * - * @abstract - * Creates an XPC double object. - * - * @param value - * The floating point quantity which is to be boxed. - * - * @result - * A new floating point object. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_MALLOC XPC_RETURNS_RETAINED XPC_WARN_RESULT -xpc_object_t -xpc_double_create(double value); - -/*! - * @function xpc_double_get_value - * - * @abstract - * Returns the underlying double-precision floating point value from an object. - * - * @param xdouble - * The floating point object which is to be examined. - * - * @result - * The underlying floating point value or NAN if the given object was not an XPC - * floating point object. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_WARN_RESULT XPC_NONNULL1 -double -xpc_double_get_value(xpc_object_t xdouble); - -#pragma mark Date -/*! - * @function xpc_date_create - * - * @abstract - * Creates an XPC date object. - * - * @param interval - * The date interval which is to be boxed. Negative values indicate the number - * of nanoseconds before the epoch. Positive values indicate the number of - * nanoseconds after the epoch. - * - * @result - * A new date object. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_MALLOC XPC_RETURNS_RETAINED XPC_WARN_RESULT -xpc_object_t -xpc_date_create(int64_t interval); - -/*! - * @function xpc_date_create_from_current - * - * @abstract - * Creates an XPC date object representing the current date. - * - * @result - * A new date object representing the current date. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_MALLOC XPC_RETURNS_RETAINED XPC_WARN_RESULT -xpc_object_t -xpc_date_create_from_current(void); - -/*! - * @function xpc_date_get_value - * - * @abstract - * Returns the underlying date interval from an object. - * - * @param xdate - * The date object which is to be examined. - * - * @result - * The underlying date interval or 0 if the given object was not an XPC date - * object. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_WARN_RESULT XPC_NONNULL1 -int64_t -xpc_date_get_value(xpc_object_t xdate); - -#pragma mark Data -/*! - * @function xpc_data_create - * - * @abstract - * Creates an XPC object representing buffer of bytes. - * - * @param bytes - * The buffer of bytes which is to be boxed. You may create an empty data object - * by passing NULL for this parameter and 0 for the length. Passing NULL with - * any other length will result in undefined behavior. - * - * @param length - * The number of bytes which are to be boxed. - * - * @result - * A new data object. - * - * @discussion - * This method will copy the buffer given into internal storage. After calling - * this method, it is safe to dispose of the given buffer. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_MALLOC XPC_RETURNS_RETAINED XPC_WARN_RESULT -xpc_object_t -xpc_data_create(const void * _Nullable XPC_SIZEDBY(length) bytes, size_t length); - -/*! - * @function xpc_data_create_with_dispatch_data - * - * @abstract - * Creates an XPC object representing buffer of bytes described by the given GCD - * data object. - * - * @param ddata - * The GCD data object containing the bytes which are to be boxed. This object - * is retained by the data object. - * - * @result - * A new data object. - * - * @discussion - * The object returned by this method will refer to the buffer returned by - * dispatch_data_create_map(). The point where XPC will make the call to - * dispatch_data_create_map() is undefined. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_MALLOC XPC_RETURNS_RETAINED XPC_WARN_RESULT XPC_NONNULL1 -xpc_object_t -xpc_data_create_with_dispatch_data(dispatch_data_t ddata); - -/*! - * @function xpc_data_get_length - * - * @abstract - * Returns the length of the data encapsulated by an XPC data object. - * - * @param xdata - * The data object which is to be examined. - * - * @result - * The length of the underlying boxed data or 0 if the given object was not an - * XPC data object. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_WARN_RESULT XPC_NONNULL1 -size_t -xpc_data_get_length(xpc_object_t xdata); - -/*! - * @function xpc_data_get_bytes_ptr - * - * @abstract - * Returns a pointer to the internal storage of a data object. - * - * @param xdata - * The data object which is to be examined. - * - * @result - * A pointer to the underlying boxed data or NULL if the given object was not an - * XPC data object. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_WARN_RESULT XPC_NONNULL1 -const void * _Nullable -xpc_data_get_bytes_ptr(xpc_object_t xdata); - -/*! - * @function xpc_data_get_bytes - * - * @abstract - * Copies the bytes stored in an data objects into the specified buffer. - * - * @param xdata - * The data object which is to be examined. - * - * @param buffer - * The buffer in which to copy the data object's bytes. - * - * @param off - * The offset at which to begin the copy. If this offset is greater than the - * length of the data element, nothing is copied. Pass 0 to start the copy - * at the beginning of the buffer. - * - * @param length - * The length of the destination buffer. - * - * @result - * The number of bytes that were copied into the buffer or 0 if the given object - * was not an XPC data object. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_WARN_RESULT XPC_NONNULL1 XPC_NONNULL2 -size_t -xpc_data_get_bytes(xpc_object_t xdata, - void *buffer, size_t off, size_t length); - -#pragma mark String -/*! - * @function xpc_string_create - * - * @abstract - * Creates an XPC object representing a NUL-terminated C-string. - * - * @param string - * The C-string which is to be boxed. - * - * @result - * A new string object. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_MALLOC XPC_RETURNS_RETAINED XPC_WARN_RESULT XPC_NONNULL1 -xpc_object_t -xpc_string_create(const char *string); - -/*! - * @function xpc_string_create_with_format - * - * @abstract - * Creates an XPC object representing a C-string that is generated from the - * given format string and arguments. - * - * @param fmt - * The printf(3)-style format string from which to construct the final C-string - * to be boxed. - * - * @param ... - * The arguments which correspond to those specified in the format string. - * - * @result - * A new string object. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_MALLOC XPC_RETURNS_RETAINED XPC_WARN_RESULT XPC_NONNULL1 -XPC_PRINTF(1, 2) -xpc_object_t -xpc_string_create_with_format(const char *fmt, ...); - -/*! - * @function xpc_string_create_with_format_and_arguments - * - * @abstract - * Creates an XPC object representing a C-string that is generated from the - * given format string and argument list pointer. - * - * @param fmt - * The printf(3)-style format string from which to construct the final C-string - * to be boxed. - * - * @param ap - * A pointer to the arguments which correspond to those specified in the format - * string. - * - * @result - * A new string object. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_MALLOC XPC_RETURNS_RETAINED XPC_WARN_RESULT XPC_NONNULL1 -XPC_PRINTF(1, 0) -xpc_object_t -xpc_string_create_with_format_and_arguments(const char *fmt, va_list ap); - -/*! - * @function xpc_string_get_length - * - * @abstract - * Returns the length of the underlying string. - * - * @param xstring - * The string object which is to be examined. - * - * @result - * The length of the underlying string, not including the NUL-terminator, or 0 - * if the given object was not an XPC string object. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_WARN_RESULT XPC_NONNULL_ALL -size_t -xpc_string_get_length(xpc_object_t xstring); - -/*! - * @function xpc_string_get_string_ptr - * - * @abstract - * Returns a pointer to the internal storage of a string object. - * - * @param xstring - * The string object which is to be examined. - * - * @result - * A pointer to the string object's internal storage or NULL if the given object - * was not an XPC string object. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_WARN_RESULT XPC_NONNULL1 -const char * _Nullable -xpc_string_get_string_ptr(xpc_object_t xstring); - -#pragma mark UUID -/*! - * @function xpc_uuid_create - * - * @abstract - * Creates an XPC object representing a universally-unique identifier (UUID) as - * described by uuid(3). - * - * @param uuid - * The UUID which is to be boxed. - * - * @result - * A new UUID object. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_MALLOC XPC_RETURNS_RETAINED XPC_WARN_RESULT XPC_NONNULL1 -xpc_object_t -xpc_uuid_create(const uuid_t XPC_NONNULL_ARRAY uuid); - -/*! - * @function xpc_uuid_get_bytes - * - * @abstract - * Returns a pointer to the the boxed UUID bytes in an XPC UUID object. - * - * @param xuuid - * The UUID object which is to be examined. - * - * @result - * The underlying uuid_t bytes or NULL if the given object was not - * an XPC UUID object. The returned pointer may be safely passed to the uuid(3) - * APIs. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_NONNULL1 -const uint8_t * _Nullable -xpc_uuid_get_bytes(xpc_object_t xuuid); - -#pragma mark File Descriptors -/*! - * @function xpc_fd_create - * - * @abstract - * Creates an XPC object representing a POSIX file descriptor. - * - * @param fd - * The file descriptor which is to be boxed. - * - * @result - * A new file descriptor object. NULL if sufficient memory could not be - * allocated or if the given file descriptor was not valid. - * - * @discussion - * This method performs the equivalent of a dup(2) on the descriptor, and thus - * it is safe to call close(2) on the descriptor after boxing it with a file - * descriptor object. - * - * IMPORTANT: Pointer equality is the ONLY valid test for equality between two - * file descriptor objects. There is no reliable way to determine whether two - * file descriptors refer to the same inode with the same capabilities, so two - * file descriptor objects created from the same underlying file descriptor - * number will not compare equally with xpc_equal(). This is also true of a - * file descriptor object created using xpc_copy() and the original. - * - * This also implies that two collections containing file descriptor objects - * cannot be equal unless the exact same object was inserted into both. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_MALLOC XPC_RETURNS_RETAINED XPC_WARN_RESULT -xpc_object_t _Nullable -xpc_fd_create(int fd); - -/*! - * @function xpc_fd_dup - * - * @abstract - * Returns a file descriptor that is equivalent to the one boxed by the file - * file descriptor object. - * - * @param xfd - * The file descriptor object which is to be examined. - * - * @result - * A file descriptor that is equivalent to the one originally given to - * xpc_fd_create(). If the descriptor could not be created or if the given - * object was not an XPC file descriptor, -1 is returned. - * - * @discussion - * Multiple invocations of xpc_fd_dup() will not return the same file descriptor - * number, but they will return descriptors that are equivalent, as though they - * had been created by dup(2). - * - * The caller is responsible for calling close(2) on the returned descriptor. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_WARN_RESULT XPC_NONNULL1 -int -xpc_fd_dup(xpc_object_t xfd); - -#pragma mark Shared Memory -/*! - * @function xpc_shmem_create - * - * @abstract - * Creates an XPC object representing the given shared memory region. - * - * @param region - * A pointer to a region of shared memory, created through a call to mmap(2) - * with the MAP_SHARED flag, which is to be boxed. - * - * @param length - * The length of the region. - * - * @result - * A new shared memory object. - * - * @discussion - * Only memory regions whose exact characteristics are known to the caller - * should be boxed using this API. Memory returned from malloc(3) may not be - * safely shared on either OS X or iOS because the underlying virtual memory - * objects for malloc(3)ed allocations are owned by the malloc(3) subsystem and - * not the caller of malloc(3). - * - * If you wish to share a memory region that you receive from another subsystem, - * part of the interface contract with that other subsystem must include how to - * create the region of memory, or sharing it may be unsafe. - * - * Certain operations may internally fragment a region of memory in a way that - * would truncate the range detected by the shared memory object. vm_copy(), for - * example, may split the region into multiple parts to avoid copying certain - * page ranges. For this reason, it is recommended that you delay all VM - * operations until the shared memory object has been created so that the VM - * system knows that the entire range is intended for sharing. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_MALLOC XPC_RETURNS_RETAINED XPC_WARN_RESULT XPC_NONNULL1 -xpc_object_t -xpc_shmem_create(void *region, size_t length); - -/*! - * @function xpc_shmem_map - * - * @abstract - * Maps the region boxed by the XPC shared memory object into the caller's - * address space. - * - * @param xshmem - * The shared memory object to be examined. - * - * @param region - * On return, this will point to the region at which the shared memory was - * mapped. - * - * @result - * The length of the region that was mapped. If the mapping failed or if the - * given object was not an XPC shared memory object, 0 is returned. The length - * of the mapped region will always be an integral page size, even if the - * creator of the region specified a non-integral page size. - * - * @discussion - * The resulting region must be disposed of with munmap(2). - * - * It is the responsibility of the caller to manage protections on the new - * region accordingly. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_WARN_RESULT XPC_NONNULL_ALL -size_t -xpc_shmem_map(xpc_object_t xshmem, void * _Nullable * _Nonnull region); - -#pragma mark Array -/*! - * @typedef xpc_array_applier_t - * A block to be invoked for every value in the array. - * - * @param index - * The current index in the iteration. - * - * @param value - * The current value in the iteration. - * - * @result - * A Boolean indicating whether iteration should continue. - */ -#ifdef __BLOCKS__ -typedef bool (^xpc_array_applier_t)(size_t index, xpc_object_t _Nonnull value); -#endif // __BLOCKS__ - -/*! - * @function xpc_array_create - * - * @abstract - * Creates an XPC object representing an array of XPC objects. - * - * @discussion - * This array must be contiguous and cannot contain any NULL values. If you - * wish to insert the equivalent of a NULL value, you may use the result of - * {@link xpc_null_create}. - * - * @param objects - * An array of XPC objects which is to be boxed. The order of this array is - * preserved in the object. If this array contains a NULL value, the behavior - * is undefined. This parameter may be NULL only if the count is 0. - * - * @param count - * The number of objects in the given array. If the number passed is less than - * the actual number of values in the array, only the specified number of items - * are inserted into the resulting array. If the number passed is more than - * the the actual number of values, the behavior is undefined. - * - * @result - * A new array object. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_MALLOC XPC_RETURNS_RETAINED XPC_WARN_RESULT -xpc_object_t -xpc_array_create( - const xpc_object_t _Nonnull *XPC_COUNTEDBY(count) _Nullable objects, - size_t count); - -/*! - * @function xpc_array_create_empty - * - * @abstract - * Creates an XPC object representing an array of XPC objects. - * - * @result - * A new array object. - * - * @see - * xpc_array_create - */ -API_AVAILABLE(macos(11.0), ios(14.0), tvos(14.0), watchos(7.0)) -XPC_EXPORT XPC_MALLOC XPC_RETURNS_RETAINED XPC_WARN_RESULT -xpc_object_t -xpc_array_create_empty(void); - -/*! - * @function xpc_array_set_value - * - * @abstract - * Inserts the specified object into the array at the specified index. - * - * @param xarray - * The array object which is to be manipulated. - * - * @param index - * The index at which to insert the value. This value must lie within the index - * space of the array (0 to N-1 inclusive, where N is the count of the array). - * If the index is outside that range, the behavior is undefined. - * - * @param value - * The object to insert. This value is retained by the array and cannot be - * NULL. If there is already a value at the specified index, it is released, - * and the new value is inserted in its place. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_NONNULL1 XPC_NONNULL3 -void -xpc_array_set_value(xpc_object_t xarray, size_t index, xpc_object_t value); - -/*! - * @function xpc_array_append_value - * - * @abstract - * Appends an object to an XPC array. - * - * @param xarray - * The array object which is to be manipulated. - * - * @param value - * The object to append. This object is retained by the array. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_NONNULL1 XPC_NONNULL2 -void -xpc_array_append_value(xpc_object_t xarray, xpc_object_t value); - -/*! - * @function xpc_array_get_count - * - * @abstract - * Returns the count of values currently in the array. - * - * @param xarray - * The array object which is to be examined. - * - * @result - * The count of values in the array or 0 if the given object was not an XPC - * array. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_WARN_RESULT XPC_NONNULL1 -size_t -xpc_array_get_count(xpc_object_t xarray); - -/*! - * @function xpc_array_get_value - * - * @abstract - * Returns the value at the specified index in the array. - * - * @param xarray - * The array object which is to be examined. - * - * @param index - * The index of the value to obtain. This value must lie within the range of - * indexes as specified in xpc_array_set_value(). - * - * @result - * The object at the specified index within the array or NULL if the given - * object was not an XPC array. - * - * @discussion - * This method does not grant the caller a reference to the underlying object, - * and thus the caller is not responsible for releasing the object. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_NONNULL_ALL -xpc_object_t -xpc_array_get_value(xpc_object_t xarray, size_t index); - -/*! - * @function xpc_array_apply - * - * @abstract - * Invokes the given block for every value in the array. - * - * @param xarray - * The array object which is to be examined. - * - * @param applier - * The block which this function applies to every element in the array. - * - * @result - * A Boolean indicating whether iteration of the array completed successfully. - * Iteration will only fail if the applier block returns false. - * - * @discussion - * You should not modify an array's contents during iteration. The array indexes - * are iterated in order. - */ -#ifdef __BLOCKS__ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_NONNULL_ALL -bool -xpc_array_apply(xpc_object_t xarray, XPC_NOESCAPE xpc_array_applier_t applier); -#endif // __BLOCKS__ - -#pragma mark Array Primitive Setters -/*! - * @define XPC_ARRAY_APPEND - * A constant that may be passed as the destination index to the class of - * primitive XPC array setters indicating that the given primitive should be - * appended to the array. - */ -#define XPC_ARRAY_APPEND ((size_t)(-1)) - -/*! - * @function xpc_array_set_bool - * - * @abstract - * Inserts a bool (primitive) value into an array. - * - * @param xarray - * The array object which is to be manipulated. - * - * @param index - * The index at which to insert the value. This value must lie within the index - * space of the array (0 to N-1 inclusive, where N is the count of the array) or - * be XPC_ARRAY_APPEND. If the index is outside that range, the behavior is - * undefined. - * - * @param value - * The bool value to insert. After calling this method, the XPC - * object corresponding to the primitive value inserted may be safely retrieved - * with {@link xpc_array_get_value()}. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_NONNULL1 -void -xpc_array_set_bool(xpc_object_t xarray, size_t index, bool value); - -/*! - * @function xpc_array_set_int64 - * - * @abstract - * Inserts an int64_t (primitive) value into an array. - * - * @param xarray - * The array object which is to be manipulated. - * - * @param index - * The index at which to insert the value. This value must lie within the index - * space of the array (0 to N-1 inclusive, where N is the count of the array) or - * be XPC_ARRAY_APPEND. If the index is outside that range, the behavior is - * undefined. - * - * @param value - * The int64_t value to insert. After calling this method, the XPC - * object corresponding to the primitive value inserted may be safely retrieved - * with {@link xpc_array_get_value()}. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_NONNULL1 -void -xpc_array_set_int64(xpc_object_t xarray, size_t index, int64_t value); - -/*! - * @function xpc_array_set_uint64 - * - * @abstract - * Inserts a uint64_t (primitive) value into an array. - * - * @param xarray - * The array object which is to be manipulated. - * - * @param index - * The index at which to insert the value. This value must lie within the index - * space of the array (0 to N-1 inclusive, where N is the count of the array) or - * be XPC_ARRAY_APPEND. If the index is outside that range, the behavior is - * undefined. - * - * @param value - * The uint64_t value to insert. After calling this method, the XPC - * object corresponding to the primitive value inserted may be safely retrieved - * with {@link xpc_array_get_value()}. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_NONNULL1 -void -xpc_array_set_uint64(xpc_object_t xarray, size_t index, uint64_t value); - -/*! - * @function xpc_array_set_double - * - * @abstract - * Inserts a double (primitive) value into an array. - * - * @param xarray - * The array object which is to be manipulated. - * - * @param index - * The index at which to insert the value. This value must lie within the index - * space of the array (0 to N-1 inclusive, where N is the count of the array) or - * be XPC_ARRAY_APPEND. If the index is outside that range, the behavior is - * undefined. - * - * @param value - * The double value to insert. After calling this method, the XPC - * object corresponding to the primitive value inserted may be safely retrieved - * with {@link xpc_array_get_value()}. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_NONNULL1 -void -xpc_array_set_double(xpc_object_t xarray, size_t index, double value); - -/*! - * @function xpc_array_set_date - * - * @abstract - * Inserts a date value into an array. - * - * @param xarray - * The array object which is to be manipulated. - * - * @param index - * The index at which to insert the value. This value must lie within the index - * space of the array (0 to N-1 inclusive, where N is the count of the array) or - * be XPC_ARRAY_APPEND. If the index is outside that range, the behavior is - * undefined. - * - * @param value - * The date value to insert, represented as an int64_t. After - * calling this method, the XPC object corresponding to the primitive value - * inserted may be safely retrieved with {@link xpc_array_get_value()}. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_NONNULL1 -void -xpc_array_set_date(xpc_object_t xarray, size_t index, int64_t value); - -/*! - * @function xpc_array_set_data - * - * @abstract - * Inserts a raw data value into an array. - * - * @param xarray - * The array object which is to be manipulated. - * - * @param index - * The index at which to insert the value. This value must lie within the index - * space of the array (0 to N-1 inclusive, where N is the count of the array) or - * be XPC_ARRAY_APPEND. If the index is outside that range, the behavior is - * undefined. - * - * @param bytes - * The raw data to insert. After calling this method, the XPC object - * corresponding to the primitive value inserted may be safely retrieved with - * {@link xpc_array_get_value()}. - * - * @param length - * The length of the data. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_NONNULL1 XPC_NONNULL3 -void -xpc_array_set_data(xpc_object_t xarray, size_t index, - const void *XPC_SIZEDBY(length) bytes, size_t length); - -/*! - * @function xpc_array_set_string - * - * @abstract - * Inserts a C string into an array. - * - * @param xarray - * The array object which is to be manipulated. - * - * @param index - * The index at which to insert the value. This value must lie within the index - * space of the array (0 to N-1 inclusive, where N is the count of the array) or - * be XPC_ARRAY_APPEND. If the index is outside that range, the behavior is - * undefined. - * - * @param string - * The C string to insert. After calling this method, the XPC object - * corresponding to the primitive value inserted may be safely retrieved with - * {@link xpc_array_get_value()}. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_NONNULL1 XPC_NONNULL3 -void -xpc_array_set_string(xpc_object_t xarray, size_t index, const char *string); - -/*! - * @function xpc_array_set_uuid - * - * @abstract - * Inserts a uuid_t (primitive) value into an array. - * - * @param xarray - * The array object which is to be manipulated. - * - * @param index - * The index at which to insert the value. This value must lie within the index - * space of the array (0 to N-1 inclusive, where N is the count of the array) or - * be XPC_ARRAY_APPEND. If the index is outside that range, the behavior is - * undefined. - * - * @param uuid - * The UUID primitive to insert. After calling this method, the XPC object - * corresponding to the primitive value inserted may be safely retrieved with - * {@link xpc_array_get_value()}. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_NONNULL1 XPC_NONNULL3 -void -xpc_array_set_uuid(xpc_object_t xarray, size_t index, - const uuid_t XPC_NONNULL_ARRAY uuid); - -/*! - * @function xpc_array_set_fd - * - * @abstract - * Inserts a file descriptor into an array. - * - * @param xarray - * The array object which is to be manipulated. - * - * @param index - * The index at which to insert the value. This value must lie within the index - * space of the array (0 to N-1 inclusive, where N is the count of the array) or - * be XPC_ARRAY_APPEND. If the index is outside that range, the behavior is - * undefined. - * - * @param fd - * The file descriptor to insert. After calling this method, the XPC object - * corresponding to the primitive value inserted may be safely retrieved with - * {@link xpc_array_get_value()}. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_NONNULL1 -void -xpc_array_set_fd(xpc_object_t xarray, size_t index, int fd); - -/*! - * @function xpc_array_set_connection - * - * @abstract - * Inserts a connection into an array. - * - * @param xarray - * The array object which is to be manipulated. - * - * @param index - * The index at which to insert the value. This value must lie within the index - * space of the array (0 to N-1 inclusive, where N is the count of the array) or - * be XPC_ARRAY_APPEND. If the index is outside that range, the behavior is - * undefined. - * - * @param connection - * The connection to insert. After calling this method, the XPC object - * corresponding to the primitive value inserted may be safely retrieved with - * {@link xpc_array_get_value()}. The connection is NOT retained by the array. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_NONNULL1 XPC_NONNULL3 -void -xpc_array_set_connection(xpc_object_t xarray, size_t index, - xpc_connection_t connection); - -#pragma mark Array Primitive Getters -/*! - * @function xpc_array_get_bool - * - * @abstract - * Gets a bool primitive value from an array directly. - * - * @param xarray - * The array which is to be examined. - * - * @param index - * The index of the value to obtain. This value must lie within the index space - * of the array (0 to N-1 inclusive, where N is the count of the array). If the - * index is outside that range, the behavior is undefined. - * - * @result - * The underlying bool value at the specified index. false if the - * value at the specified index is not a Boolean value. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_WARN_RESULT XPC_NONNULL1 -bool -xpc_array_get_bool(xpc_object_t xarray, size_t index); - -/*! - * @function xpc_array_get_int64 - * - * @abstract - * Gets an int64_t primitive value from an array directly. - * - * @param xarray - * The array which is to be examined. - * - * @param index - * The index of the value to obtain. This value must lie within the index space - * of the array (0 to N-1 inclusive, where N is the count of the array). If the - * index is outside that range, the behavior is undefined. - * - * @result - * The underlying int64_t value at the specified index. 0 if the - * value at the specified index is not a signed integer value. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_WARN_RESULT XPC_NONNULL1 -int64_t -xpc_array_get_int64(xpc_object_t xarray, size_t index); - -/*! - * @function xpc_array_get_uint64 - * - * @abstract - * Gets a uint64_t primitive value from an array directly. - * - * @param xarray - * The array which is to be examined. - * - * @param index - * The index of the value to obtain. This value must lie within the index space - * of the array (0 to N-1 inclusive, where N is the count of the array). If the - * index is outside that range, the behavior is undefined. - * - * @result - * The underlying uint64_t value at the specified index. 0 if the - * value at the specified index is not an unsigned integer value. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_WARN_RESULT XPC_NONNULL1 -uint64_t -xpc_array_get_uint64(xpc_object_t xarray, size_t index); - -/*! - * @function xpc_array_get_double - * - * @abstract - * Gets a double primitive value from an array directly. - * - * @param xarray - * The array which is to be examined. - * - * @param index - * The index of the value to obtain. This value must lie within the index space - * of the array (0 to N-1 inclusive, where N is the count of the array). If the - * index is outside that range, the behavior is undefined. - * - * @result - * The underlying double value at the specified index. NAN if the - * value at the specified index is not a floating point value. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_WARN_RESULT XPC_NONNULL1 -double -xpc_array_get_double(xpc_object_t xarray, size_t index); - -/*! - * @function xpc_array_get_date - * - * @abstract - * Gets a date interval from an array directly. - * - * @param xarray - * The array which is to be examined. - * - * @param index - * The index of the value to obtain. This value must lie within the index space - * of the array (0 to N-1 inclusive, where N is the count of the array). If the - * index is outside that range, the behavior is undefined. - * - * @result - * The underlying date interval at the specified index. 0 if the value at the - * specified index is not a date value. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_WARN_RESULT XPC_NONNULL1 -int64_t -xpc_array_get_date(xpc_object_t xarray, size_t index); - -/*! - * @function xpc_array_get_data - * - * @abstract - * Gets a pointer to the raw bytes of a data object from an array directly. - * - * @param xarray - * The array which is to be examined. - * - * @param index - * The index of the value to obtain. This value must lie within the index space - * of the array (0 to N-1 inclusive, where N is the count of the array). If the - * index is outside that range, the behavior is undefined. - * - * @param length - * Upon return output, will contain the length of the data corresponding to the - * specified key. - * - * @result - * The underlying bytes at the specified index. NULL if the value at the - * specified index is not a data value. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_WARN_RESULT XPC_NONNULL1 -const void * _Nullable -xpc_array_get_data(xpc_object_t xarray, size_t index, - size_t * _Nullable length); - -/*! - * @function xpc_array_get_string - * - * @abstract - * Gets a C string value from an array directly. - * - * @param xarray - * The array which is to be examined. - * - * @param index - * The index of the value to obtain. This value must lie within the index space - * of the array (0 to N-1 inclusive, where N is the count of the array). If the - * index is outside that range, the behavior is undefined. - * - * @result - * The underlying C string at the specified index. NULL if the value at the - * specified index is not a C string value. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_WARN_RESULT XPC_NONNULL1 -const char * _Nullable -xpc_array_get_string(xpc_object_t xarray, size_t index); - -/*! - * @function xpc_array_get_uuid - * - * @abstract - * Gets a uuid_t value from an array directly. - * - * @param xarray - * The array which is to be examined. - * - * @param index - * The index of the value to obtain. This value must lie within the index space - * of the array (0 to N-1 inclusive, where N is the count of the array). If the - * index is outside that range, the behavior is undefined. - * - * @result - * The underlying uuid_t value at the specified index. The null - * UUID if the value at the specified index is not a UUID value. The returned - * pointer may be safely passed to the uuid(3) APIs. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_WARN_RESULT XPC_NONNULL1 -const uint8_t * _Nullable -xpc_array_get_uuid(xpc_object_t xarray, size_t index); - -/*! - * @function xpc_array_dup_fd - * - * @abstract - * Gets a file descriptor from an array directly. - * - * @param xarray - * The array which is to be examined. - * - * @param index - * The index of the value to obtain. This value must lie within the index space - * of the array (0 to N-1 inclusive, where N is the count of the array). If the - * index is outside that range, the behavior is undefined. - * - * @result - * A new file descriptor created from the value at the specified index. You are - * responsible for close(2)ing this descriptor. -1 if the value at the specified - * index is not a file descriptor value. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_WARN_RESULT XPC_NONNULL1 -int -xpc_array_dup_fd(xpc_object_t xarray, size_t index); - -/*! - * @function xpc_array_create_connection - * - * @abstract - * Creates a connection object from an array directly. - * - * @param xarray - * The array which is to be examined. - * - * @param index - * The index of the value to obtain. This value must lie within the index space - * of the array (0 to N-1 inclusive, where N is the count of the array). If the - * index is outside that range, the behavior is undefined. - * - * @result - * A new connection created from the value at the specified index. You are - * responsible for calling xpc_release() on the returned connection. NULL if the - * value at the specified index is not an endpoint containing a connection. Each - * call to this method for the same index in the same array will yield a - * different connection. See {@link xpc_connection_create_from_endpoint()} for - * discussion as to the responsibilities when dealing with the returned - * connection. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_MALLOC XPC_RETURNS_RETAINED XPC_WARN_RESULT XPC_NONNULL1 -xpc_connection_t _Nullable -xpc_array_create_connection(xpc_object_t xarray, size_t index); - -/*! - * @function xpc_array_get_dictionary - * - * @abstract - * Returns the dictionary at the specified index in the array. - * - * @param xarray - * The array object which is to be examined. - * - * @param index - * The index of the value to obtain. This value must lie within the range of - * indexes as specified in xpc_array_set_value(). - * - * @result - * The object at the specified index within the array or NULL if the given - * object was not an XPC array or if the the value at the specified index was - * not a dictionary. - * - * @discussion - * This method does not grant the caller a reference to the underlying object, - * and thus the caller is not responsible for releasing the object. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_11, __IPHONE_9_0) -XPC_EXPORT XPC_WARN_RESULT XPC_NONNULL_ALL -xpc_object_t _Nullable -xpc_array_get_dictionary(xpc_object_t xarray, size_t index); - -/*! - * @function xpc_array_get_array - * - * @abstract - * Returns the array at the specified index in the array. - * - * @param xarray - * The array object which is to be examined. - * - * @param index - * The index of the value to obtain. This value must lie within the range of - * indexes as specified in xpc_array_set_value(). - * - * @result - * The object at the specified index within the array or NULL if the given - * object was not an XPC array or if the the value at the specified index was - * not an array. - * - * @discussion - * This method does not grant the caller a reference to the underlying object, - * and thus the caller is not responsible for releasing the object. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_11, __IPHONE_9_0) -XPC_EXPORT XPC_WARN_RESULT XPC_NONNULL_ALL -xpc_object_t _Nullable -xpc_array_get_array(xpc_object_t xarray, size_t index); - -#pragma mark Dictionary -/*! - * @typedef xpc_dictionary_applier_t - * A block to be invoked for every key/value pair in the dictionary. - * - * @param key - * The current key in the iteration. - * - * @param value - * The current value in the iteration. - * - * @result - * A Boolean indicating whether iteration should continue. - */ -#ifdef __BLOCKS__ -typedef bool (^xpc_dictionary_applier_t)(const char * _Nonnull key, - xpc_object_t _Nonnull value); -#endif // __BLOCKS__ - -/*! - * @function xpc_dictionary_create - * - * @abstract - * Creates an XPC object representing a dictionary of XPC objects keyed to - * C-strings. - * - * @param keys - * An array of C-strings that are to be the keys for the values to be inserted. - * Each element of this array is copied into the dictionary's internal storage. - * Elements of this array may NOT be NULL. - * - * @param values - * A C-array that is parallel to the array of keys, consisting of objects that - * are to be inserted. Each element in this array is retained. Elements in this - * array may be NULL. - * - * @param count - * The number of key/value pairs in the given arrays. If the count is less than - * the actual count of values, only that many key/value pairs will be inserted - * into the dictionary. - * - * If the count is more than the the actual count of key/value pairs, the - * behavior is undefined. If one array is NULL and the other is not, the - * behavior is undefined. If both arrays are NULL and the count is non-0, the - * behavior is undefined. - * - * @result - * The new dictionary object. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_MALLOC XPC_RETURNS_RETAINED XPC_WARN_RESULT -xpc_object_t -xpc_dictionary_create( - const char *XPC_CSTRING _Nonnull const *XPC_COUNTEDBY(count) _Nullable keys, - const xpc_object_t _Nullable *XPC_COUNTEDBY(count) _Nullable values, size_t count); - -/*! - * @function xpc_dictionary_create_empty - * - * @abstract - * Creates an XPC object representing a dictionary of XPC objects keyed to - * C-strings. - * - * @result - * The new dictionary object. - * - * @see - * xpc_dictionary_create - */ -API_AVAILABLE(macos(11.0), ios(14.0), tvos(14.0), watchos(7.0)) -XPC_EXPORT XPC_MALLOC XPC_RETURNS_RETAINED XPC_WARN_RESULT -xpc_object_t -xpc_dictionary_create_empty(void); - -/*! - * @function xpc_dictionary_create_reply - * - * @abstract - * Creates a dictionary that is in reply to the given dictionary. - * - * @param original - * The original dictionary that is to be replied to. - * - * @result - * The new dictionary object. NULL if the object was not a dictionary with a - * reply context. - * - * @discussion - * After completing successfully on a dictionary, this method may not be called - * again on that same dictionary. Attempts to do so will return NULL. - * - * When this dictionary is sent across the reply connection, the remote end's - * reply handler is invoked. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_MALLOC XPC_RETURNS_RETAINED XPC_WARN_RESULT XPC_NONNULL_ALL -xpc_object_t _Nullable -xpc_dictionary_create_reply(xpc_object_t original); - -/*! - * @function xpc_dictionary_set_value - * - * @abstract - * Sets the value for the specified key to the specified object. - * - * @param xdict - * The dictionary object which is to be manipulated. - * - * @param key - * The key for which the value shall be set. - * - * @param value - * The object to insert. The object is retained by the dictionary. If there - * already exists a value for the specified key, the old value is released - * and overwritten by the new value. This parameter may be NULL, in which case - * the value corresponding to the specified key is deleted if present. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_NONNULL1 XPC_NONNULL2 -void -xpc_dictionary_set_value(xpc_object_t xdict, const char *key, - xpc_object_t _Nullable value); - -/*! - * @function xpc_dictionary_get_value - * - * @abstract - * Returns the value for the specified key. - * - * @param xdict - * The dictionary object which is to be examined. - * - * @param key - * The key whose value is to be obtained. - * - * @result - * The object for the specified key within the dictionary. NULL if there is no - * value associated with the specified key or if the given object was not an - * XPC dictionary. - * - * @discussion - * This method does not grant the caller a reference to the underlying object, - * and thus the caller is not responsible for releasing the object. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_WARN_RESULT XPC_NONNULL1 XPC_NONNULL2 -xpc_object_t _Nullable -xpc_dictionary_get_value(xpc_object_t xdict, const char *key); - -/*! - * @function xpc_dictionary_get_count - * - * @abstract - * Returns the number of values stored in the dictionary. - * - * @param xdict - * The dictionary object which is to be examined. - * - * @result - * The number of values stored in the dictionary or 0 if the given object was - * not an XPC dictionary. Calling xpc_dictionary_set_value() with a non-NULL - * value will increment the count. Calling xpc_dictionary_set_value() with a - * NULL value will decrement the count. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_WARN_RESULT XPC_NONNULL1 -size_t -xpc_dictionary_get_count(xpc_object_t xdict); - -/*! - * @function xpc_dictionary_apply - * - * @abstract - * Invokes the given block for every key/value pair in the dictionary. - * - * @param xdict - * The dictionary object which is to be examined. - * - * @param applier - * The block which this function applies to every key/value pair in the - * dictionary. - * - * @result - * A Boolean indicating whether iteration of the dictionary completed - * successfully. Iteration will only fail if the applier block returns false. - * - * @discussion - * You should not modify a dictionary's contents during iteration. There is no - * guaranteed order of iteration over dictionaries. - */ -#ifdef __BLOCKS__ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_NONNULL_ALL -bool -xpc_dictionary_apply(xpc_object_t xdict, - XPC_NOESCAPE xpc_dictionary_applier_t applier); -#endif // __BLOCKS__ - -/*! - * @function xpc_dictionary_get_remote_connection - * - * @abstract - * Returns the connection from which the dictionary was received. - * - * @param xdict - * The dictionary object which is to be examined. - * - * @result - * If the dictionary was received by a connection event handler or a dictionary - * created through xpc_dictionary_create_reply(), a connection object over which - * a reply message can be sent is returned. For any other dictionary, NULL is - * returned. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_WARN_RESULT XPC_NONNULL_ALL -xpc_connection_t _Nullable -xpc_dictionary_get_remote_connection(xpc_object_t xdict); - -#pragma mark Dictionary Primitive Setters -/*! - * @function xpc_dictionary_set_bool - * - * @abstract - * Inserts a bool (primitive) value into a dictionary. - * - * @param xdict - * The dictionary which is to be manipulated. - * - * @param key - * The key for which the primitive value shall be set. - * - * @param value - * The bool value to insert. After calling this method, the XPC - * object corresponding to the primitive value inserted may be safely retrieved - * with {@link xpc_dictionary_get_value()}. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_NONNULL1 XPC_NONNULL2 -void -xpc_dictionary_set_bool(xpc_object_t xdict, const char *key, bool value); - -/*! - * @function xpc_dictionary_set_int64 - * - * @abstract - * Inserts an int64_t (primitive) value into a dictionary. - * - * @param xdict - * The dictionary which is to be manipulated. - * - * @param key - * The key for which the primitive value shall be set. - * - * @param value - * The int64_t value to insert. After calling this method, the XPC - * object corresponding to the primitive value inserted may be safely retrieved - * with {@link xpc_dictionary_get_value()}. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_NONNULL1 XPC_NONNULL2 -void -xpc_dictionary_set_int64(xpc_object_t xdict, const char *key, int64_t value); - -/*! - * @function xpc_dictionary_set_uint64 - * - * @abstract - * Inserts a uint64_t (primitive) value into a dictionary. - * - * @param xdict - * The dictionary which is to be manipulated. - * - * @param key - * The key for which the primitive value shall be set. - * - * @param value - * The uint64_t value to insert. After calling this method, the XPC - * object corresponding to the primitive value inserted may be safely retrieved - * with {@link xpc_dictionary_get_value()}. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_NONNULL1 XPC_NONNULL2 -void -xpc_dictionary_set_uint64(xpc_object_t xdict, const char *key, uint64_t value); - -/*! - * @function xpc_dictionary_set_double - * - * @abstract - * Inserts a double (primitive) value into a dictionary. - * - * @param xdict - * The dictionary which is to be manipulated. - * - * @param key - * The key for which the primitive value shall be set. - * - * @param value - * The double value to insert. After calling this method, the XPC - * object corresponding to the primitive value inserted may be safely retrieved - * with {@link xpc_dictionary_get_value()}. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_NONNULL1 XPC_NONNULL2 -void -xpc_dictionary_set_double(xpc_object_t xdict, const char *key, double value); - -/*! - * @function xpc_dictionary_set_date - * - * @abstract - * Inserts a date (primitive) value into a dictionary. - * - * @param xdict - * The dictionary which is to be manipulated. - * - * @param key - * The key for which the primitive value shall be set. - * - * @param value - * The date value to insert. After calling this method, the XPC object - * corresponding to the primitive value inserted may be safely retrieved with - * {@link xpc_dictionary_get_value()}. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_NONNULL1 XPC_NONNULL2 -void -xpc_dictionary_set_date(xpc_object_t xdict, const char *key, int64_t value); - -/*! - * @function xpc_dictionary_set_data - * - * @abstract - * Inserts a raw data value into a dictionary. - * - * @param xdict - * The dictionary which is to be manipulated. - * - * @param key - * The key for which the primitive value shall be set. - * - * @param bytes - * The bytes to insert. After calling this method, the XPC object corresponding - * to the primitive value inserted may be safely retrieved with - * {@link xpc_dictionary_get_value()}. - * - * @param length - * The length of the data. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_NONNULL1 XPC_NONNULL2 XPC_NONNULL3 -void -xpc_dictionary_set_data(xpc_object_t xdict, const char *key, - const void *XPC_SIZEDBY(length) bytes, size_t length); - -/*! - * @function xpc_dictionary_set_string - * - * @abstract - * Inserts a C string value into a dictionary. - * - * @param xdict - * The dictionary which is to be manipulated. - * - * @param key - * The key for which the primitive value shall be set. - * - * @param string - * The C string to insert. After calling this method, the XPC object - * corresponding to the primitive value inserted may be safely retrieved with - * {@link xpc_dictionary_get_value()}. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_NONNULL1 XPC_NONNULL2 XPC_NONNULL3 -void -xpc_dictionary_set_string(xpc_object_t xdict, const char *key, - const char *string); - -/*! - * @function xpc_dictionary_set_uuid - * - * @abstract - * Inserts a uuid (primitive) value into an array. - * - * @param xdict - * The dictionary which is to be manipulated. - * - * @param key - * The key for which the primitive value shall be set. - * - * @param uuid - * The uuid_t value to insert. After calling this method, the XPC - * object corresponding to the primitive value inserted may be safely retrieved - * with {@link xpc_dictionary_get_value()}. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_NONNULL1 XPC_NONNULL2 XPC_NONNULL3 -void -xpc_dictionary_set_uuid(xpc_object_t xdict, const char *key, - const uuid_t XPC_NONNULL_ARRAY uuid); - -/*! - * @function xpc_dictionary_set_fd - * - * @abstract - * Inserts a file descriptor into a dictionary. - * - * @param xdict - * The dictionary which is to be manipulated. - * - * @param key - * The key for which the primitive value shall be set. - * - * @param fd - * The file descriptor to insert. After calling this method, the XPC object - * corresponding to the primitive value inserted may be safely retrieved - * with {@link xpc_dictionary_get_value()}. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_NONNULL1 XPC_NONNULL2 -void -xpc_dictionary_set_fd(xpc_object_t xdict, const char *key, int fd); - -/*! - * @function xpc_dictionary_set_connection - * - * @abstract - * Inserts a connection into a dictionary. - * - * @param xdict - * The dictionary which is to be manipulated. - * - * @param key - * The key for which the primitive value shall be set. - * - * @param connection - * The connection to insert. After calling this method, the XPC object - * corresponding to the primitive value inserted may be safely retrieved - * with {@link xpc_dictionary_get_value()}. The connection is NOT retained by - * the dictionary. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_NONNULL1 XPC_NONNULL2 XPC_NONNULL3 -void -xpc_dictionary_set_connection(xpc_object_t xdict, const char *key, - xpc_connection_t connection); - -#pragma mark Dictionary Primitive Getters -/*! - * @function xpc_dictionary_get_bool - * - * @abstract - * Gets a bool primitive value from a dictionary directly. - * - * @param xdict - * The dictionary object which is to be examined. - * - * @param key - * The key whose value is to be obtained. - * - * @result - * The underlying bool value for the specified key. false if the - * the value for the specified key is not a Boolean value or if there is no - * value for the specified key. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_WARN_RESULT XPC_NONNULL_ALL -bool -xpc_dictionary_get_bool(xpc_object_t xdict, const char *key); - -/*! - * @function xpc_dictionary_get_int64 - * - * @abstract - * Gets an int64 primitive value from a dictionary directly. - * - * @param xdict - * The dictionary object which is to be examined. - * - * @param key - * The key whose value is to be obtained. - * - * @result - * The underlying int64_t value for the specified key. 0 if the - * value for the specified key is not a signed integer value or if there is no - * value for the specified key. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_WARN_RESULT XPC_NONNULL_ALL -int64_t -xpc_dictionary_get_int64(xpc_object_t xdict, const char *key); - -/*! - * @function xpc_dictionary_get_uint64 - * - * @abstract - * Gets a uint64 primitive value from a dictionary directly. - * - * @param xdict - * The dictionary object which is to be examined. - * - * @param key - * The key whose value is to be obtained. - * - * @result - * The underlying uint64_t value for the specified key. 0 if the - * value for the specified key is not an unsigned integer value or if there is - * no value for the specified key. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_WARN_RESULT XPC_NONNULL_ALL -uint64_t -xpc_dictionary_get_uint64(xpc_object_t xdict, const char *key); - -/*! - * @function xpc_dictionary_get_double - * - * @abstract - * Gets a double primitive value from a dictionary directly. - * - * @param xdict - * The dictionary object which is to be examined. - * - * @param key - * The key whose value is to be obtained. - * - * @result - * The underlying double value for the specified key. NAN if the - * value for the specified key is not a floating point value or if there is no - * value for the specified key. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_WARN_RESULT XPC_NONNULL_ALL -double -xpc_dictionary_get_double(xpc_object_t xdict, const char *key); - -/*! - * @function xpc_dictionary_get_date - * - * @abstract - * Gets a date value from a dictionary directly. - * - * @param xdict - * The dictionary object which is to be examined. - * - * @param key - * The key whose value is to be obtained. - * - * @result - * The underlying date interval for the specified key. 0 if the value for the - * specified key is not a date value or if there is no value for the specified - * key. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_WARN_RESULT XPC_NONNULL_ALL -int64_t -xpc_dictionary_get_date(xpc_object_t xdict, const char *key); - -/*! - * @function xpc_dictionary_get_data - * - * @abstract - * Gets a raw data value from a dictionary directly. - * - * @param xdict - * The dictionary object which is to be examined. - * - * @param key - * The key whose value is to be obtained. - * - * @param length - * For the data type, the third parameter, upon output, will contain the length - * of the data corresponding to the specified key. May be NULL. - * - * @result - * The underlying raw data for the specified key. NULL if the value for the - * specified key is not a data value or if there is no value for the specified - * key. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_WARN_RESULT XPC_NONNULL1 -const void * _Nullable -xpc_dictionary_get_data(xpc_object_t xdict, const char *key, - size_t * _Nullable length); - -/*! - * @function xpc_dictionary_get_string - * - * @abstract - * Gets a C string value from a dictionary directly. - * - * @param xdict - * The dictionary object which is to be examined. - * - * @param key - * The key whose value is to be obtained. - * - * @result - * The underlying C string for the specified key. NULL if the value for the - * specified key is not a C string value or if there is no value for the - * specified key. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_WARN_RESULT XPC_NONNULL_ALL -const char * _Nullable -xpc_dictionary_get_string(xpc_object_t xdict, const char *key); - -/*! - * @function xpc_dictionary_get_uuid - * - * @abstract - * Gets a uuid value from a dictionary directly. - * - * @param xdict - * The dictionary object which is to be examined. - * - * @param key - * The key whose value is to be obtained. - * - * @result - * The underlying uuid_t value for the specified key. NULL is the - * value at the specified index is not a UUID value. The returned pointer may be - * safely passed to the uuid(3) APIs. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_WARN_RESULT XPC_NONNULL1 XPC_NONNULL2 -const uint8_t * _Nullable -xpc_dictionary_get_uuid(xpc_object_t xdict, const char *key); - -/*! - * @function xpc_dictionary_dup_fd - * - * @abstract - * Creates a file descriptor from a dictionary directly. - * - * @param xdict - * The dictionary object which is to be examined. - * - * @param key - * The key whose value is to be obtained. - * - * @result - * A new file descriptor created from the value for the specified key. You are - * responsible for close(2)ing this descriptor. -1 if the value for the - * specified key is not a file descriptor value or if there is no value for the - * specified key. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_WARN_RESULT XPC_NONNULL_ALL -int -xpc_dictionary_dup_fd(xpc_object_t xdict, const char *key); - -/*! - * @function xpc_dictionary_create_connection - * - * @abstract - * Creates a connection from a dictionary directly. - * - * @param xdict - * The dictionary object which is to be examined. - * - * @param key - * The key whose value is to be obtained. - * - * @result - * A new connection created from the value for the specified key. You are - * responsible for calling xpc_release() on the returned connection. NULL if the - * value for the specified key is not an endpoint containing a connection or if - * there is no value for the specified key. Each call to this method for the - * same key in the same dictionary will yield a different connection. See - * {@link xpc_connection_create_from_endpoint()} for discussion as to the - * responsibilities when dealing with the returned connection. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_MALLOC XPC_RETURNS_RETAINED XPC_WARN_RESULT XPC_NONNULL_ALL -xpc_connection_t _Nullable -xpc_dictionary_create_connection(xpc_object_t xdict, const char *key); - -/*! - * @function xpc_dictionary_get_dictionary - * - * @abstract - * Returns the dictionary value for the specified key. - * - * @param xdict - * The dictionary object which is to be examined. - * - * @param key - * The key whose value is to be obtained. - * - * @result - * The object for the specified key within the dictionary. NULL if there is no - * value associated with the specified key, if the given object was not an - * XPC dictionary, or if the object for the specified key is not a dictionary. - * - * @discussion - * This method does not grant the caller a reference to the underlying object, - * and thus the caller is not responsible for releasing the object. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_11, __IPHONE_9_0) -XPC_EXPORT XPC_WARN_RESULT XPC_NONNULL_ALL -xpc_object_t _Nullable -xpc_dictionary_get_dictionary(xpc_object_t xdict, const char *key); - -/*! - * @function xpc_dictionary_get_array - * - * @abstract - * Returns the array value for the specified key. - * - * @param xdict - * The dictionary object which is to be examined. - * - * @param key - * The key whose value is to be obtained. - * - * @result - * The object for the specified key within the dictionary. NULL if there is no - * value associated with the specified key, if the given object was not an - * XPC dictionary, or if the object for the specified key is not an array. - * - * @discussion - * This method does not grant the caller a reference to the underlying object, - * and thus the caller is not responsible for releasing the object. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_11, __IPHONE_9_0) -XPC_EXPORT XPC_WARN_RESULT XPC_NONNULL_ALL -xpc_object_t _Nullable -xpc_dictionary_get_array(xpc_object_t xdict, const char *key); - -#pragma mark Runtime -/*! - * @function xpc_main - * The springboard into the XPCService runtime. This function will set up your - * service bundle's listener connection and manage it automatically. After this - * initial setup, this function will, by default, call dispatch_main(). You may - * override this behavior by setting the RunLoopType key in your XPC service - * bundle's Info.plist under the XPCService dictionary. - * - * @param handler - * The handler with which to accept new connections. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_NORETURN XPC_NONNULL1 -void -xpc_main(xpc_connection_handler_t handler); - -#pragma mark Transactions -/*! - * @function xpc_transaction_begin - * Informs the XPC runtime that a transaction has begun and that the service - * should not exit due to inactivity. - * - * @discussion - * A service with no outstanding transactions may automatically exit due to - * inactivity as determined by the system. - * - * This function may be used to manually manage transactions in cases where - * their automatic management (as described below) does not meet the needs of an - * XPC service. This function also updates the transaction count used for sudden - * termination, i.e. vproc_transaction_begin(), and these two interfaces may be - * used in combination. - * - * The XPC runtime will automatically begin a transaction on behalf of a service - * when a new message is received. If no reply message is expected, the - * transaction is automatically ended when the last reference to the message is released. - * If a reply message is created, the transaction will end when the reply - * message is sent or released. An XPC service may use xpc_transaction_begin() - * and xpc_transaction_end() to inform the XPC runtime about activity that - * occurs outside of this common pattern. - * - * On macOS, when the XPC runtime has determined that the service should exit, - * the event handlers for all active peer connections will receive - * {@link XPC_ERROR_TERMINATION_IMMINENT} as an indication that they should - * unwind their existing transactions. After this error is delivered to a - * connection's event handler, no more messages will be delivered to the - * connection. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_TRANSACTION_DEPRECATED -XPC_EXPORT -void -xpc_transaction_begin(void); - -/*! - * @function xpc_transaction_end - * Informs the XPC runtime that a transaction has ended. - * - * @discussion - * As described in {@link xpc_transaction_begin()}, this API may be used - * interchangeably with vproc_transaction_end(). - * - * See the discussion for {@link xpc_transaction_begin()} for details regarding - * the XPC runtime's idle-exit policy. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_TRANSACTION_DEPRECATED -XPC_EXPORT -void -xpc_transaction_end(void); - -#pragma mark XPC Event Stream -/*! - * @function xpc_set_event_stream_handler - * Sets the event handler to invoke when streamed events are received. - * - * @param stream - * The name of the event stream for which this handler will be invoked. - * - * @param targetq - * The GCD queue to which the event handler block will be submitted. This - * parameter may be NULL, in which case the connection's target queue will be - * libdispatch's default target queue, defined as DISPATCH_TARGET_QUEUE_DEFAULT. - * - * @param handler - * The event handler block. The event which this block receives as its first - * parameter will always be a dictionary which contains the XPC_EVENT_KEY_NAME - * key. The value for this key will be a string whose value is the name assigned - * to the XPC event specified in the launchd.plist. Future keys may be added to - * this dictionary. - * - * @discussion - * Multiple calls to this function for the same event stream will result in - * undefined behavior. - * - * There is no API to pause delivery of XPC events. If a process that - * has set an XPC event handler exits, events may be dropped due to races - * between the event handler running and the process exiting. - */ -#if __BLOCKS__ -__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0) -XPC_EXPORT XPC_NONNULL1 XPC_NONNULL3 -void -xpc_set_event_stream_handler(const char *stream, - dispatch_queue_t _Nullable targetq, xpc_handler_t handler); -#endif // __BLOCKS__ - -__END_DECLS -XPC_ASSUME_NONNULL_END - -#endif // __XPC_H__ \ No newline at end of file diff --git a/lib/libc/include/x86_64-macos.11-none/i386/_limits.h b/lib/libc/include/x86_64-macos.11-none/i386/_limits.h deleted file mode 100644 index f942e7abd8..0000000000 --- a/lib/libc/include/x86_64-macos.11-none/i386/_limits.h +++ /dev/null @@ -1,27 +0,0 @@ -/* - * Copyright (c) 2004 Apple Computer, Inc. All rights reserved. - * - * @APPLE_LICENSE_HEADER_START@ - * - * The contents of this file constitute Original Code as defined in and - * are subject to the Apple Public Source License Version 1.1 (the - * "License"). You may not use this file except in compliance with the - * License. Please obtain a copy of the License at - * http://www.apple.com/publicsource and read it before using this file. - * - * This 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 OR NON-INFRINGEMENT. Please see the - * License for the specific language governing rights and limitations - * under the License. - * - * @APPLE_LICENSE_HEADER_END@ - */ -#ifndef _I386__LIMITS_H_ -#define _I386__LIMITS_H_ - -#define __DARWIN_CLK_TCK 100 /* ticks per second */ - -#endif /* _I386__LIMITS_H_ */ \ No newline at end of file diff --git a/lib/libc/include/x86_64-macos.11-none/i386/_mcontext.h b/lib/libc/include/x86_64-macos.11-none/i386/_mcontext.h deleted file mode 100644 index 424ca21359..0000000000 --- a/lib/libc/include/x86_64-macos.11-none/i386/_mcontext.h +++ /dev/null @@ -1,212 +0,0 @@ -/* - * Copyright (c) 2003-2012 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 __I386_MCONTEXT_H_ -#define __I386_MCONTEXT_H_ - -#include /* __DARWIN_UNIX03 */ -#include -#include - -#ifndef _STRUCT_MCONTEXT32 -#if __DARWIN_UNIX03 -#define _STRUCT_MCONTEXT32 struct __darwin_mcontext32 -_STRUCT_MCONTEXT32 -{ - _STRUCT_X86_EXCEPTION_STATE32 __es; - _STRUCT_X86_THREAD_STATE32 __ss; - _STRUCT_X86_FLOAT_STATE32 __fs; -}; - -#define _STRUCT_MCONTEXT_AVX32 struct __darwin_mcontext_avx32 -_STRUCT_MCONTEXT_AVX32 -{ - _STRUCT_X86_EXCEPTION_STATE32 __es; - _STRUCT_X86_THREAD_STATE32 __ss; - _STRUCT_X86_AVX_STATE32 __fs; -}; - -#if defined(_STRUCT_X86_AVX512_STATE32) -#define _STRUCT_MCONTEXT_AVX512_32 struct __darwin_mcontext_avx512_32 -_STRUCT_MCONTEXT_AVX512_32 -{ - _STRUCT_X86_EXCEPTION_STATE32 __es; - _STRUCT_X86_THREAD_STATE32 __ss; - _STRUCT_X86_AVX512_STATE32 __fs; -}; -#endif /* _STRUCT_X86_AVX512_STATE32 */ - -#else /* !__DARWIN_UNIX03 */ -#define _STRUCT_MCONTEXT32 struct mcontext32 -_STRUCT_MCONTEXT32 -{ - _STRUCT_X86_EXCEPTION_STATE32 es; - _STRUCT_X86_THREAD_STATE32 ss; - _STRUCT_X86_FLOAT_STATE32 fs; -}; - -#define _STRUCT_MCONTEXT_AVX32 struct mcontext_avx32 -_STRUCT_MCONTEXT_AVX32 -{ - _STRUCT_X86_EXCEPTION_STATE32 es; - _STRUCT_X86_THREAD_STATE32 ss; - _STRUCT_X86_AVX_STATE32 fs; -}; - -#if defined(_STRUCT_X86_AVX512_STATE32) -#define _STRUCT_MCONTEXT_AVX512_32 struct mcontext_avx512_32 -_STRUCT_MCONTEXT_AVX512_32 -{ - _STRUCT_X86_EXCEPTION_STATE32 es; - _STRUCT_X86_THREAD_STATE32 ss; - _STRUCT_X86_AVX512_STATE32 fs; -}; -#endif /* _STRUCT_X86_AVX512_STATE32 */ - -#endif /* __DARWIN_UNIX03 */ -#endif /* _STRUCT_MCONTEXT32 */ - -#ifndef _STRUCT_MCONTEXT64 -#if __DARWIN_UNIX03 -#define _STRUCT_MCONTEXT64 struct __darwin_mcontext64 -_STRUCT_MCONTEXT64 -{ - _STRUCT_X86_EXCEPTION_STATE64 __es; - _STRUCT_X86_THREAD_STATE64 __ss; - _STRUCT_X86_FLOAT_STATE64 __fs; -}; - -#define _STRUCT_MCONTEXT64_FULL struct __darwin_mcontext64_full -_STRUCT_MCONTEXT64_FULL -{ - _STRUCT_X86_EXCEPTION_STATE64 __es; - _STRUCT_X86_THREAD_FULL_STATE64 __ss; - _STRUCT_X86_FLOAT_STATE64 __fs; -}; - -#define _STRUCT_MCONTEXT_AVX64 struct __darwin_mcontext_avx64 -_STRUCT_MCONTEXT_AVX64 -{ - _STRUCT_X86_EXCEPTION_STATE64 __es; - _STRUCT_X86_THREAD_STATE64 __ss; - _STRUCT_X86_AVX_STATE64 __fs; -}; - -#define _STRUCT_MCONTEXT_AVX64_FULL struct __darwin_mcontext_avx64_full -_STRUCT_MCONTEXT_AVX64_FULL -{ - _STRUCT_X86_EXCEPTION_STATE64 __es; - _STRUCT_X86_THREAD_FULL_STATE64 __ss; - _STRUCT_X86_AVX_STATE64 __fs; -}; - -#if defined(_STRUCT_X86_AVX512_STATE64) -#define _STRUCT_MCONTEXT_AVX512_64 struct __darwin_mcontext_avx512_64 -_STRUCT_MCONTEXT_AVX512_64 -{ - _STRUCT_X86_EXCEPTION_STATE64 __es; - _STRUCT_X86_THREAD_STATE64 __ss; - _STRUCT_X86_AVX512_STATE64 __fs; -}; - -#define _STRUCT_MCONTEXT_AVX512_64_FULL struct __darwin_mcontext_avx512_64_full -_STRUCT_MCONTEXT_AVX512_64_FULL -{ - _STRUCT_X86_EXCEPTION_STATE64 __es; - _STRUCT_X86_THREAD_FULL_STATE64 __ss; - _STRUCT_X86_AVX512_STATE64 __fs; -}; -#endif /* _STRUCT_X86_AVX512_STATE64 */ - -#else /* !__DARWIN_UNIX03 */ -#define _STRUCT_MCONTEXT64 struct mcontext64 -_STRUCT_MCONTEXT64 -{ - _STRUCT_X86_EXCEPTION_STATE64 es; - _STRUCT_X86_THREAD_STATE64 ss; - _STRUCT_X86_FLOAT_STATE64 fs; -}; - -#define _STRUCT_MCONTEXT64_FULL struct mcontext64_full -_STRUCT_MCONTEXT64_FULL -{ - _STRUCT_X86_EXCEPTION_STATE64 es; - _STRUCT_X86_THREAD_FULL_STATE64 ss; - _STRUCT_X86_FLOAT_STATE64 fs; -}; - -#define _STRUCT_MCONTEXT_AVX64 struct mcontext_avx64 -_STRUCT_MCONTEXT_AVX64 -{ - _STRUCT_X86_EXCEPTION_STATE64 es; - _STRUCT_X86_THREAD_STATE64 ss; - _STRUCT_X86_AVX_STATE64 fs; -}; - -#define _STRUCT_MCONTEXT_AVX64_FULL struct mcontext_avx64_full -_STRUCT_MCONTEXT_AVX64_FULL -{ - _STRUCT_X86_EXCEPTION_STATE64 es; - _STRUCT_X86_THREAD_FULL_STATE64 ss; - _STRUCT_X86_AVX_STATE64 fs; -}; - -#if defined(_STRUCT_X86_AVX512_STATE64) -#define _STRUCT_MCONTEXT_AVX512_64 struct mcontext_avx512_64 -_STRUCT_MCONTEXT_AVX512_64 -{ - _STRUCT_X86_EXCEPTION_STATE64 es; - _STRUCT_X86_THREAD_STATE64 ss; - _STRUCT_X86_AVX512_STATE64 fs; -}; - -#define _STRUCT_MCONTEXT_AVX512_64_FULL struct mcontext_avx512_64_full -_STRUCT_MCONTEXT_AVX512_64_FULL -{ - _STRUCT_X86_EXCEPTION_STATE64 es; - _STRUCT_X86_THREAD_FULL_STATE64 ss; - _STRUCT_X86_AVX512_STATE64 fs; -}; -#endif /* _STRUCT_X86_AVX512_STATE64 */ - -#endif /* __DARWIN_UNIX03 */ -#endif /* _STRUCT_MCONTEXT64 */ - - -#ifndef _MCONTEXT_T -#define _MCONTEXT_T -#if defined(__LP64__) -typedef _STRUCT_MCONTEXT64 *mcontext_t; -#define _STRUCT_MCONTEXT _STRUCT_MCONTEXT64 -#else -typedef _STRUCT_MCONTEXT32 *mcontext_t; -#define _STRUCT_MCONTEXT _STRUCT_MCONTEXT32 -#endif -#endif /* _MCONTEXT_T */ - -#endif /* __I386_MCONTEXT_H_ */ \ No newline at end of file diff --git a/lib/libc/include/x86_64-macos.11-none/i386/_param.h b/lib/libc/include/x86_64-macos.11-none/i386/_param.h deleted file mode 100644 index b89bc39692..0000000000 --- a/lib/libc/include/x86_64-macos.11-none/i386/_param.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Copyright (c) 2008 Apple Computer, 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 _I386__PARAM_H_ -#define _I386__PARAM_H_ - -#include - -/* - * Round p (pointer or byte index) up to a correctly-aligned value for all - * data types (int, long, ...). The result is unsigned int and must be - * cast to any desired pointer type. - */ -#define __DARWIN_ALIGNBYTES (sizeof(__darwin_size_t) - 1) -#define __DARWIN_ALIGN(p) ((__darwin_size_t)((__darwin_size_t)(p) + __DARWIN_ALIGNBYTES) &~ __DARWIN_ALIGNBYTES) - -#define __DARWIN_ALIGNBYTES32 (sizeof(__uint32_t) - 1) -#define __DARWIN_ALIGN32(p) ((__darwin_size_t)((__darwin_size_t)(p) + __DARWIN_ALIGNBYTES32) &~ __DARWIN_ALIGNBYTES32) - - -#endif /* _I386__PARAM_H_ */ \ No newline at end of file diff --git a/lib/libc/include/x86_64-macos.11-none/i386/_types.h b/lib/libc/include/x86_64-macos.11-none/i386/_types.h deleted file mode 100644 index 9dcffa5241..0000000000 --- a/lib/libc/include/x86_64-macos.11-none/i386/_types.h +++ /dev/null @@ -1,122 +0,0 @@ -/* - * Copyright (c) 2000-2003 Apple Computer, 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 _BSD_I386__TYPES_H_ -#define _BSD_I386__TYPES_H_ - -/* - * This header file contains integer types. It's intended to also contain - * flotaing point and other arithmetic types, as needed, later. - */ - -#ifdef __GNUC__ -typedef __signed char __int8_t; -#else /* !__GNUC__ */ -typedef char __int8_t; -#endif /* !__GNUC__ */ -typedef unsigned char __uint8_t; -typedef short __int16_t; -typedef unsigned short __uint16_t; -typedef int __int32_t; -typedef unsigned int __uint32_t; -typedef long long __int64_t; -typedef unsigned long long __uint64_t; - -typedef long __darwin_intptr_t; -typedef unsigned int __darwin_natural_t; - -/* - * The rune type below is declared to be an ``int'' instead of the more natural - * ``unsigned long'' or ``long''. Two things are happening here. It is not - * unsigned so that EOF (-1) can be naturally assigned to it and used. Also, - * it looks like 10646 will be a 31 bit standard. This means that if your - * ints cannot hold 32 bits, you will be in trouble. The reason an int was - * chosen over a long is that the is*() and to*() routines take ints (says - * ANSI C), but they use __darwin_ct_rune_t instead of int. By changing it - * here, you lose a bit of ANSI conformance, but your programs will still - * work. - * - * NOTE: rune_t is not covered by ANSI nor other standards, and should not - * be instantiated outside of lib/libc/locale. Use wchar_t. wchar_t and - * rune_t must be the same type. Also wint_t must be no narrower than - * wchar_t, and should also be able to hold all members of the largest - * character set plus one extra value (WEOF). wint_t must be at least 16 bits. - */ - -typedef int __darwin_ct_rune_t; /* ct_rune_t */ - -/* - * mbstate_t is an opaque object to keep conversion state, during multibyte - * stream conversions. The content must not be referenced by user programs. - */ -typedef union { - char __mbstate8[128]; - long long _mbstateL; /* for alignment */ -} __mbstate_t; - -typedef __mbstate_t __darwin_mbstate_t; /* mbstate_t */ - -#if defined(__PTRDIFF_TYPE__) -typedef __PTRDIFF_TYPE__ __darwin_ptrdiff_t; /* ptr1 - ptr2 */ -#elif defined(__LP64__) -typedef long __darwin_ptrdiff_t; /* ptr1 - ptr2 */ -#else -typedef int __darwin_ptrdiff_t; /* ptr1 - ptr2 */ -#endif /* __GNUC__ */ - -#if defined(__SIZE_TYPE__) -typedef __SIZE_TYPE__ __darwin_size_t; /* sizeof() */ -#else -typedef unsigned long __darwin_size_t; /* sizeof() */ -#endif - -#if (__GNUC__ > 2) -typedef __builtin_va_list __darwin_va_list; /* va_list */ -#else -typedef void * __darwin_va_list; /* va_list */ -#endif - -#if defined(__WCHAR_TYPE__) -typedef __WCHAR_TYPE__ __darwin_wchar_t; /* wchar_t */ -#else -typedef __darwin_ct_rune_t __darwin_wchar_t; /* wchar_t */ -#endif - -typedef __darwin_wchar_t __darwin_rune_t; /* rune_t */ - -#if defined(__WINT_TYPE__) -typedef __WINT_TYPE__ __darwin_wint_t; /* wint_t */ -#else -typedef __darwin_ct_rune_t __darwin_wint_t; /* wint_t */ -#endif - -typedef unsigned long __darwin_clock_t; /* clock() */ -typedef __uint32_t __darwin_socklen_t; /* socklen_t (duh) */ -typedef long __darwin_ssize_t; /* byte count or error */ -typedef long __darwin_time_t; /* time() */ - -#endif /* _BSD_I386__TYPES_H_ */ \ No newline at end of file diff --git a/lib/libc/include/x86_64-macos.11-none/i386/eflags.h b/lib/libc/include/x86_64-macos.11-none/i386/eflags.h deleted file mode 100644 index dc73c43126..0000000000 --- a/lib/libc/include/x86_64-macos.11-none/i386/eflags.h +++ /dev/null @@ -1,94 +0,0 @@ -/* - * Copyright (c) 2000-2005 Apple Computer, 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@ - */ -/* - * @OSF_COPYRIGHT@ - */ -/* - * Mach Operating System - * Copyright (c) 1991,1990,1989 Carnegie Mellon University - * All Rights Reserved. - * - * Permission to use, copy, modify and distribute this software and its - * documentation is hereby granted, provided that both the copyright - * notice and this permission notice appear in all copies of the - * software, derivative works or modified versions, and any portions - * thereof, and that both notices appear in supporting documentation. - * - * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" - * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR - * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. - * - * Carnegie Mellon requests users of this software to return to - * - * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU - * School of Computer Science - * Carnegie Mellon University - * Pittsburgh PA 15213-3890 - * - * any improvements or extensions that they make and grant Carnegie Mellon - * the rights to redistribute these changes. - */ -/* - */ - -#ifndef _I386_EFLAGS_H_ -#define _I386_EFLAGS_H_ - -/* - * i386 flags register - */ - -#ifndef EFL_CF -#define EFL_CF 0x00000001 /* carry */ -#define EFL_PF 0x00000004 /* parity of low 8 bits */ -#define EFL_AF 0x00000010 /* carry out of bit 3 */ -#define EFL_ZF 0x00000040 /* zero */ -#define EFL_SF 0x00000080 /* sign */ -#define EFL_TF 0x00000100 /* trace trap */ -#define EFL_IF 0x00000200 /* interrupt enable */ -#define EFL_DF 0x00000400 /* direction */ -#define EFL_OF 0x00000800 /* overflow */ -#define EFL_IOPL 0x00003000 /* IO privilege level: */ -#define EFL_IOPL_KERNEL 0x00000000 /* kernel */ -#define EFL_IOPL_USER 0x00003000 /* user */ -#define EFL_NT 0x00004000 /* nested task */ -#define EFL_RF 0x00010000 /* resume without tracing */ -#define EFL_VM 0x00020000 /* virtual 8086 mode */ -#define EFL_AC 0x00040000 /* alignment check */ -#define EFL_VIF 0x00080000 /* virtual interrupt flag */ -#define EFL_VIP 0x00100000 /* virtual interrupt pending */ -#define EFL_ID 0x00200000 /* cpuID instruction */ -#endif - -#define EFL_CLR 0xfff88028 -#define EFL_SET 0x00000002 - -#define EFL_USER_SET (EFL_IF) -#define EFL_USER_CLEAR (EFL_IOPL|EFL_NT|EFL_RF) - -#endif /* _I386_EFLAGS_H_ */ \ No newline at end of file diff --git a/lib/libc/include/x86_64-macos.11-none/i386/endian.h b/lib/libc/include/x86_64-macos.11-none/i386/endian.h deleted file mode 100644 index 95ca16e406..0000000000 --- a/lib/libc/include/x86_64-macos.11-none/i386/endian.h +++ /dev/null @@ -1,102 +0,0 @@ -/* - * Copyright (c) 2000-2002 Apple Computer, 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@ - */ -/* - * Copyright 1995 NeXT Computer, Inc. All rights reserved. - */ -/* - * Copyright (c) 1987, 1991, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)endian.h 8.1 (Berkeley) 6/11/93 - */ - -#ifndef _I386__ENDIAN_H_ -#define _I386__ENDIAN_H_ - -#include -/* - * Define _NOQUAD if the compiler does NOT support 64-bit integers. - */ -/* #define _NOQUAD */ - -/* - * Define the order of 32-bit words in 64-bit words. - */ -#define _QUAD_HIGHWORD 1 -#define _QUAD_LOWWORD 0 - -/* - * Definitions for byte order, according to byte significance from low - * address to high. - */ -#define __DARWIN_LITTLE_ENDIAN 1234 /* LSB first: i386, vax */ -#define __DARWIN_BIG_ENDIAN 4321 /* MSB first: 68000, ibm, net */ -#define __DARWIN_PDP_ENDIAN 3412 /* LSB first in word, MSW first in long */ - -#define __DARWIN_BYTE_ORDER __DARWIN_LITTLE_ENDIAN - -#if defined(KERNEL) || (!defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)) - -#define LITTLE_ENDIAN __DARWIN_LITTLE_ENDIAN -#define BIG_ENDIAN __DARWIN_BIG_ENDIAN -#define PDP_ENDIAN __DARWIN_PDP_ENDIAN - -#define BYTE_ORDER __DARWIN_BYTE_ORDER - -#include - -#endif /* defined(KERNEL) || (!defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)) */ -#endif /* !_I386__ENDIAN_H_ */ \ No newline at end of file diff --git a/lib/libc/include/x86_64-macos.11-none/i386/limits.h b/lib/libc/include/x86_64-macos.11-none/i386/limits.h deleted file mode 100644 index 651d770335..0000000000 --- a/lib/libc/include/x86_64-macos.11-none/i386/limits.h +++ /dev/null @@ -1,107 +0,0 @@ -/* - * Copyright (c) 1988, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)limits.h 8.3 (Berkeley) 1/4/94 - */ - -#ifndef _I386_LIMITS_H_ -#define _I386_LIMITS_H_ - -#include -#include - -#define CHAR_BIT 8 /* number of bits in a char */ -#define MB_LEN_MAX 6 /* Allow 31 bit UTF2 */ - -#if !defined(_ANSI_SOURCE) && (!defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)) -#define CLK_TCK __DARWIN_CLK_TCK /* ticks per second */ -#endif /* !_ANSI_SOURCE && (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */ - -/* - * According to ANSI (section 2.2.4.2), the values below must be usable by - * #if preprocessing directives. Additionally, the expression must have the - * same type as would an expression that is an object of the corresponding - * type converted according to the integral promotions. The subtraction for - * INT_MIN and LONG_MIN is so the value is not unsigned; 2147483648 is an - * unsigned int for 32-bit two's complement ANSI compilers (section 3.1.3.2). - * These numbers work for pcc as well. The UINT_MAX and ULONG_MAX values - * are written as hex so that GCC will be quiet about large integer constants. - */ -#define SCHAR_MAX 127 /* min value for a signed char */ -#define SCHAR_MIN (-128) /* max value for a signed char */ - -#define UCHAR_MAX 255 /* max value for an unsigned char */ -#define CHAR_MAX 127 /* max value for a char */ -#define CHAR_MIN (-128) /* min value for a char */ - -#define USHRT_MAX 65535 /* max value for an unsigned short */ -#define SHRT_MAX 32767 /* max value for a short */ -#define SHRT_MIN (-32768) /* min value for a short */ - -#define UINT_MAX 0xffffffff /* max value for an unsigned int */ -#define INT_MAX 2147483647 /* max value for an int */ -#define INT_MIN (-2147483647-1) /* min value for an int */ - -#ifdef __LP64__ -#define ULONG_MAX 0xffffffffffffffffUL /* max unsigned long */ -#define LONG_MAX 0x7fffffffffffffffL /* max signed long */ -#define LONG_MIN (-0x7fffffffffffffffL-1) /* min signed long */ -#else /* !__LP64__ */ -#define ULONG_MAX 0xffffffffUL /* max unsigned long */ -#define LONG_MAX 2147483647L /* max signed long */ -#define LONG_MIN (-2147483647L-1) /* min signed long */ -#endif /* __LP64__ */ - -#define ULLONG_MAX 0xffffffffffffffffULL /* max unsigned long long */ -#define LLONG_MAX 0x7fffffffffffffffLL /* max signed long long */ -#define LLONG_MIN (-0x7fffffffffffffffLL-1) /* min signed long long */ - -#if !defined(_ANSI_SOURCE) -#ifdef __LP64__ -#define LONG_BIT 64 -#else /* !__LP64__ */ -#define LONG_BIT 32 -#endif /* __LP64__ */ -#define SSIZE_MAX LONG_MAX /* max value for a ssize_t */ -#define WORD_BIT 32 - -#if (!defined(_POSIX_C_SOURCE) && !defined(_XOPEN_SOURCE)) || defined(_DARWIN_C_SOURCE) -#define SIZE_T_MAX ULONG_MAX /* max value for a size_t */ - -#define UQUAD_MAX ULLONG_MAX -#define QUAD_MAX LLONG_MAX -#define QUAD_MIN LLONG_MIN - -#endif /* (!_POSIX_C_SOURCE && !_XOPEN_SOURCE) || _DARWIN_C_SOURCE */ -#endif /* !_ANSI_SOURCE */ - -#endif /* _I386_LIMITS_H_ */ \ No newline at end of file diff --git a/lib/libc/include/x86_64-macos.11-none/i386/param.h b/lib/libc/include/x86_64-macos.11-none/i386/param.h deleted file mode 100644 index e8eb8272e7..0000000000 --- a/lib/libc/include/x86_64-macos.11-none/i386/param.h +++ /dev/null @@ -1,171 +0,0 @@ -/* - * Copyright (c) 2000-2010 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@ - */ -/*- - * Copyright (c) 1990, 1993 - * The Regents of the University of California. All rights reserved. - * (c) UNIX System Laboratories, Inc. - * All or some portions of this file are derived from material licensed - * to the University of California by American Telephone and Telegraph - * Co. or Unix System Laboratories, Inc. and are reproduced herein with - * the permission of UNIX System Laboratories, Inc. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)param.h 8.1 (Berkeley) 4/4/95 - */ - -/* - * Machine dependent constants for Intel 386. - */ - -#ifndef _I386_PARAM_H_ -#define _I386_PARAM_H_ - -#include - -/* - * Round p (pointer or byte index) up to a correctly-aligned value for all - * data types (int, long, ...). The result is unsigned int and must be - * cast to any desired pointer type. - */ -#define ALIGNBYTES __DARWIN_ALIGNBYTES -#define ALIGN(p) __DARWIN_ALIGN(p) - -#define NBPG 4096 /* bytes/page */ -#define PGOFSET (NBPG-1) /* byte offset into page */ -#define PGSHIFT 12 /* LOG2(NBPG) */ - -#define DEV_BSIZE 512 -#define DEV_BSHIFT 9 /* log2(DEV_BSIZE) */ -#define BLKDEV_IOSIZE 2048 -#define MAXPHYS (128 * 1024) /* max raw I/O transfer size */ - -#define CLSIZE 1 -#define CLSIZELOG2 0 - -/* - * Constants related to network buffer management. - * MCLBYTES must be no larger than CLBYTES (the software page size), and, - * on machines that exchange pages of input or output buffers with mbuf - * clusters (MAPPED_MBUFS), MCLBYTES must also be an integral multiple - * of the hardware page size. - */ -#define MSIZESHIFT 8 /* 256 */ -#define MSIZE (1 << MSIZESHIFT) /* size of an mbuf */ -#define MCLSHIFT 11 /* 2048 */ -#define MCLBYTES (1 << MCLSHIFT) /* size of an mbuf cluster */ -#define MBIGCLSHIFT 12 /* 4096 */ -#define MBIGCLBYTES (1 << MBIGCLSHIFT) /* size of a big cluster */ -#define M16KCLSHIFT 14 /* 16384 */ -#define M16KCLBYTES (1 << M16KCLSHIFT) /* size of a jumbo cluster */ - -#define MCLOFSET (MCLBYTES - 1) -#ifndef NMBCLUSTERS -#define NMBCLUSTERS ((1024 * 1024) / MCLBYTES) /* cl map size: 1MB */ -#endif - -/* - * Some macros for units conversion - */ -/* Core clicks (NeXT_page_size bytes) to segments and vice versa */ -#define ctos(x) (x) -#define stoc(x) (x) - -/* Core clicks (4096 bytes) to disk blocks */ -#define ctod(x) ((x)<<(PGSHIFT-DEV_BSHIFT)) -#define dtoc(x) ((x)>>(PGSHIFT-DEV_BSHIFT)) -#define dtob(x) ((x)<>PGSHIFT) - -#ifdef __APPLE__ -#define btodb(bytes, devBlockSize) \ - ((unsigned)(bytes) / devBlockSize) -#define dbtob(db, devBlockSize) \ - ((unsigned)(db) * devBlockSize) -#else -#define btodb(bytes) /* calculates (bytes / DEV_BSIZE) */ \ - ((unsigned)(bytes) >> DEV_BSHIFT) -#define dbtob(db) /* calculates (db * DEV_BSIZE) */ \ - ((unsigned)(db) << DEV_BSHIFT) -#endif - -/* - * Map a ``block device block'' to a file system block. - * This should be device dependent, and will be if we - * add an entry to cdevsw/bdevsw for that purpose. - * For now though just use DEV_BSIZE. - */ -#define bdbtofsb(bn) ((bn) / (BLKDEV_IOSIZE/DEV_BSIZE)) - -/* - * Macros to decode (and encode) processor status word. - */ -#define STATUS_WORD(rpl, ipl) (((ipl) << 8) | (rpl)) -#define USERMODE(x) (((x) & 3) == 3) -#define BASEPRI(x) (((x) & (255 << 8)) == 0) - - -#if defined(KERNEL) || defined(STANDALONE) -#define DELAY(n) delay(n) - -#else /* defined(KERNEL) || defined(STANDALONE) */ -#define DELAY(n) { int N = (n); while (--N > 0); } -#endif /* defined(KERNEL) || defined(STANDALONE) */ - -#endif /* _I386_PARAM_H_ */ \ No newline at end of file diff --git a/lib/libc/include/x86_64-macos.11-none/i386/signal.h b/lib/libc/include/x86_64-macos.11-none/i386/signal.h deleted file mode 100644 index cd837bb7f6..0000000000 --- a/lib/libc/include/x86_64-macos.11-none/i386/signal.h +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Copyright (c) 2000-2002 Apple Computer, 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@ - */ -/* - * Copyright (c) 1992 NeXT Computer, Inc. - * - */ - -#ifndef _I386_SIGNAL_H_ -#define _I386_SIGNAL_H_ 1 - -#include - -#ifndef _ANSI_SOURCE -typedef int sig_atomic_t; - -#endif /* ! _ANSI_SOURCE */ - -#endif /* _I386_SIGNAL_H_ */ \ No newline at end of file diff --git a/lib/libc/include/x86_64-macos.11-none/i386/types.h b/lib/libc/include/x86_64-macos.11-none/i386/types.h deleted file mode 100644 index 00dee1a917..0000000000 --- a/lib/libc/include/x86_64-macos.11-none/i386/types.h +++ /dev/null @@ -1,114 +0,0 @@ -/* - * Copyright (c) 2000-2008 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@ - */ -/* - * Copyright 1995 NeXT Computer, Inc. All rights reserved. - */ -/* - * Copyright (c) 1990, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)types.h 8.3 (Berkeley) 1/5/94 - */ - -#ifndef _MACHTYPES_H_ -#define _MACHTYPES_H_ - -#ifndef __ASSEMBLER__ -#include -#include -/* - * Basic integral types. Omit the typedef if - * not possible for a machine/compiler combination. - */ -#include -#include -#include -#include - -#include -#include -#include -#include - -#if __LP64__ -typedef int64_t register_t; -#else -typedef int32_t register_t; -#endif - -#include -#include - -#if !defined(_ANSI_SOURCE) && (!defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)) -/* These types are used for reserving the largest possible size. */ -typedef u_int64_t user_addr_t; -typedef u_int64_t user_size_t; -typedef int64_t user_ssize_t; -typedef int64_t user_long_t; -typedef u_int64_t user_ulong_t; -typedef int64_t user_time_t; -typedef int64_t user_off_t; -#define USER_ADDR_NULL ((user_addr_t) 0) -#define CAST_USER_ADDR_T(a_ptr) ((user_addr_t)((uintptr_t)(a_ptr))) - - -#endif /* !_ANSI_SOURCE && (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */ - -/* This defines the size of syscall arguments after copying into the kernel: */ -typedef u_int64_t syscall_arg_t; - -#endif /* __ASSEMBLER__ */ -#endif /* _MACHTYPES_H_ */ \ No newline at end of file diff --git a/lib/libc/include/x86_64-macos.11-none/libkern/OSAtomic.h b/lib/libc/include/x86_64-macos.11-none/libkern/OSAtomic.h deleted file mode 100644 index 37ef16ce44..0000000000 --- a/lib/libc/include/x86_64-macos.11-none/libkern/OSAtomic.h +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Copyright (c) 2004-2016 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 _OSATOMIC_H_ -#define _OSATOMIC_H_ - -/*! @header - * These are deprecated legacy interfaces for atomic and synchronization - * operations. - * - * Define OSATOMIC_USE_INLINED=1 to get inline implementations of the - * OSAtomic interfaces in terms of the primitives. - * - * Define OSSPINLOCK_USE_INLINED=1 to get inline implementations of the - * OSSpinLock interfaces in terms of the primitives. - * - * These are intended as a transition convenience, direct use of those - * primitives should be preferred. - */ - -#include - -#include "OSAtomicDeprecated.h" -#include "OSSpinLockDeprecated.h" -#include "OSAtomicQueue.h" - -#endif /* _OSATOMIC_H_ */ \ No newline at end of file diff --git a/lib/libc/include/x86_64-macos.11-none/libkern/OSAtomicDeprecated.h b/lib/libc/include/x86_64-macos.11-none/libkern/OSAtomicDeprecated.h deleted file mode 100644 index 6dc880b0d4..0000000000 --- a/lib/libc/include/x86_64-macos.11-none/libkern/OSAtomicDeprecated.h +++ /dev/null @@ -1,1266 +0,0 @@ -/* - * Copyright (c) 2004-2016 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 _OSATOMIC_DEPRECATED_H_ -#define _OSATOMIC_DEPRECATED_H_ - -/*! @header - * These are deprecated legacy interfaces for atomic operations. - * The C11 interfaces in resp. C++11 interfaces in - * should be used instead. - * - * Define OSATOMIC_USE_INLINED=1 to get inline implementations of these - * interfaces in terms of the resp. primitives. - * This is intended as a transition convenience, direct use of those primitives - * is preferred. - */ - -#include - -#if !(defined(OSATOMIC_USE_INLINED) && OSATOMIC_USE_INLINED) - -#include -#include -#include -#include - -#ifndef OSATOMIC_DEPRECATED -#define OSATOMIC_DEPRECATED 1 -#ifndef __cplusplus -#define OSATOMIC_BARRIER_DEPRECATED_MSG(_r) \ - "Use " #_r "() from instead" -#define OSATOMIC_DEPRECATED_MSG(_r) \ - "Use " #_r "_explicit(memory_order_relaxed) from instead" -#else -#define OSATOMIC_BARRIER_DEPRECATED_MSG(_r) \ - "Use std::" #_r "() from instead" -#define OSATOMIC_DEPRECATED_MSG(_r) \ - "Use std::" #_r "_explicit(std::memory_order_relaxed) from instead" -#endif -#define OSATOMIC_BARRIER_DEPRECATED_REPLACE_WITH(_r) \ - __OS_AVAILABILITY_MSG(macosx, deprecated=10.12, OSATOMIC_BARRIER_DEPRECATED_MSG(_r)) \ - __OS_AVAILABILITY_MSG(ios, deprecated=10.0, OSATOMIC_BARRIER_DEPRECATED_MSG(_r)) \ - __OS_AVAILABILITY_MSG(tvos, deprecated=10.0, OSATOMIC_BARRIER_DEPRECATED_MSG(_r)) \ - __OS_AVAILABILITY_MSG(watchos, deprecated=3.0, OSATOMIC_BARRIER_DEPRECATED_MSG(_r)) -#define OSATOMIC_DEPRECATED_REPLACE_WITH(_r) \ - __OS_AVAILABILITY_MSG(macosx, deprecated=10.12, OSATOMIC_DEPRECATED_MSG(_r)) \ - __OS_AVAILABILITY_MSG(ios, deprecated=10.0, OSATOMIC_DEPRECATED_MSG(_r)) \ - __OS_AVAILABILITY_MSG(tvos, deprecated=10.0, OSATOMIC_DEPRECATED_MSG(_r)) \ - __OS_AVAILABILITY_MSG(watchos, deprecated=3.0, OSATOMIC_DEPRECATED_MSG(_r)) -#else -#undef OSATOMIC_DEPRECATED -#define OSATOMIC_DEPRECATED 0 -#define OSATOMIC_BARRIER_DEPRECATED_REPLACE_WITH(_r) -#define OSATOMIC_DEPRECATED_REPLACE_WITH(_r) -#endif - -/* - * WARNING: all addresses passed to these functions must be "naturally aligned", - * i.e. int32_t pointers must be 32-bit aligned (low 2 bits of - * address are zeroes), and int64_t pointers must be 64-bit - * aligned (low 3 bits of address are zeroes.). - * Note that this is not the default alignment of the int64_t type - * in the iOS ARMv7 ABI, see - * {@link //apple_ref/doc/uid/TP40009021-SW8 iPhoneOSABIReference} - * - * Note that some versions of the atomic functions incorporate memory barriers - * and some do not. Barriers strictly order memory access on weakly-ordered - * architectures such as ARM. All loads and stores that appear (in sequential - * program order) before the barrier are guaranteed to complete before any - * load or store that appears after the barrier. - * - * The barrier operation is typically a no-op on uniprocessor systems and - * fully enabled on multiprocessor systems. On some platforms, such as ARM, - * the barrier can be quite expensive. - * - * Most code should use the barrier functions to ensure that memory shared - * between threads is properly synchronized. For example, if you want to - * initialize a shared data structure and then atomically increment a variable - * to indicate that the initialization is complete, you must use - * {@link OSAtomicIncrement32Barrier} to ensure that the stores to your data - * structure complete before the atomic increment. - * - * Likewise, the consumer of that data structure must use - * {@link OSAtomicDecrement32Barrier}, - * in order to ensure that their loads of the structure are not executed before - * the atomic decrement. On the other hand, if you are simply incrementing a - * global counter, then it is safe and potentially faster to use - * {@link OSAtomicIncrement32}. - * - * If you are unsure which version to use, prefer the barrier variants as they - * are safer. - * - * For the kernel-space version of this header, see - * {@link //apple_ref/doc/header/OSAtomic.h OSAtomic.h (Kernel Framework)} - * - * @apiuid //apple_ref/doc/header/user_space_OSAtomic.h - */ - -__BEGIN_DECLS - -/*! @typedef OSAtomic_int64_aligned64_t - * 64-bit aligned int64_t type. - * Use for variables whose addresses are passed to OSAtomic*64() functions to - * get the compiler to generate the required alignment. - */ - -#if __has_attribute(aligned) -typedef int64_t __attribute__((__aligned__((sizeof(int64_t))))) - OSAtomic_int64_aligned64_t; -#else -typedef int64_t OSAtomic_int64_aligned64_t; -#endif - -/*! @group Arithmetic functions - All functions in this group return the new value. - */ - -/*! @abstract Atomically adds two 32-bit values. - @discussion - This function adds the value given by __theAmount to the - value in the memory location referenced by __theValue, - storing the result back to that memory location atomically. - @result Returns the new value. - */ -OSATOMIC_DEPRECATED_REPLACE_WITH(atomic_fetch_add) -__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0) -int32_t OSAtomicAdd32( int32_t __theAmount, volatile int32_t *__theValue ); - - -/*! @abstract Atomically adds two 32-bit values. - @discussion - This function adds the value given by __theAmount to the - value in the memory location referenced by __theValue, - storing the result back to that memory location atomically. - - This function is equivalent to {@link OSAtomicAdd32} - except that it also introduces a barrier. - @result Returns the new value. - */ -OSATOMIC_BARRIER_DEPRECATED_REPLACE_WITH(atomic_fetch_add) -__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0) -int32_t OSAtomicAdd32Barrier( int32_t __theAmount, volatile int32_t *__theValue ); - - -#if __MAC_OS_X_VERSION_MIN_REQUIRED >= __MAC_10_10 || __IPHONE_OS_VERSION_MIN_REQUIRED >= __IPHONE_7_1 || TARGET_OS_DRIVERKIT - -/*! @abstract Atomically increments a 32-bit value. - @result Returns the new value. - */ -OSATOMIC_DEPRECATED_REPLACE_WITH(atomic_fetch_add) -__OSX_AVAILABLE_STARTING(__MAC_10_10, __IPHONE_7_1) -int32_t OSAtomicIncrement32( volatile int32_t *__theValue ); - - -/*! @abstract Atomically increments a 32-bit value with a barrier. - @discussion - This function is equivalent to {@link OSAtomicIncrement32} - except that it also introduces a barrier. - @result Returns the new value. - */ -OSATOMIC_BARRIER_DEPRECATED_REPLACE_WITH(atomic_fetch_add) -__OSX_AVAILABLE_STARTING(__MAC_10_10, __IPHONE_7_1) -int32_t OSAtomicIncrement32Barrier( volatile int32_t *__theValue ); - - -/*! @abstract Atomically decrements a 32-bit value. - @result Returns the new value. - */ -OSATOMIC_DEPRECATED_REPLACE_WITH(atomic_fetch_sub) -__OSX_AVAILABLE_STARTING(__MAC_10_10, __IPHONE_7_1) -int32_t OSAtomicDecrement32( volatile int32_t *__theValue ); - - -/*! @abstract Atomically decrements a 32-bit value with a barrier. - @discussion - This function is equivalent to {@link OSAtomicDecrement32} - except that it also introduces a barrier. - @result Returns the new value. - */ -OSATOMIC_BARRIER_DEPRECATED_REPLACE_WITH(atomic_fetch_sub) -__OSX_AVAILABLE_STARTING(__MAC_10_10, __IPHONE_7_1) -int32_t OSAtomicDecrement32Barrier( volatile int32_t *__theValue ); - -#else -__inline static -int32_t OSAtomicIncrement32( volatile int32_t *__theValue ) - { return OSAtomicAdd32( 1, __theValue); } - -__inline static -int32_t OSAtomicIncrement32Barrier( volatile int32_t *__theValue ) - { return OSAtomicAdd32Barrier( 1, __theValue); } - -__inline static -int32_t OSAtomicDecrement32( volatile int32_t *__theValue ) - { return OSAtomicAdd32( -1, __theValue); } - -__inline static -int32_t OSAtomicDecrement32Barrier( volatile int32_t *__theValue ) - { return OSAtomicAdd32Barrier( -1, __theValue); } -#endif - - -/*! @abstract Atomically adds two 64-bit values. - @discussion - This function adds the value given by __theAmount to the - value in the memory location referenced by __theValue, - storing the result back to that memory location atomically. - @result Returns the new value. - */ -OSATOMIC_DEPRECATED_REPLACE_WITH(atomic_fetch_add) -__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0) -int64_t OSAtomicAdd64( int64_t __theAmount, - volatile OSAtomic_int64_aligned64_t *__theValue ); - - -/*! @abstract Atomically adds two 64-bit values with a barrier. - @discussion - This function adds the value given by __theAmount to the - value in the memory location referenced by __theValue, - storing the result back to that memory location atomically. - - This function is equivalent to {@link OSAtomicAdd64} - except that it also introduces a barrier. - @result Returns the new value. - */ -OSATOMIC_BARRIER_DEPRECATED_REPLACE_WITH(atomic_fetch_add) -__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_3_2) -int64_t OSAtomicAdd64Barrier( int64_t __theAmount, - volatile OSAtomic_int64_aligned64_t *__theValue ); - - -#if __MAC_OS_X_VERSION_MIN_REQUIRED >= __MAC_10_10 || __IPHONE_OS_VERSION_MIN_REQUIRED >= __IPHONE_7_1 || TARGET_OS_DRIVERKIT - -/*! @abstract Atomically increments a 64-bit value. - @result Returns the new value. - */ -OSATOMIC_DEPRECATED_REPLACE_WITH(atomic_fetch_add) -__OSX_AVAILABLE_STARTING(__MAC_10_10, __IPHONE_7_1) -int64_t OSAtomicIncrement64( volatile OSAtomic_int64_aligned64_t *__theValue ); - - -/*! @abstract Atomically increments a 64-bit value with a barrier. - @discussion - This function is equivalent to {@link OSAtomicIncrement64} - except that it also introduces a barrier. - @result Returns the new value. - */ -OSATOMIC_BARRIER_DEPRECATED_REPLACE_WITH(atomic_fetch_add) -__OSX_AVAILABLE_STARTING(__MAC_10_10, __IPHONE_7_1) -int64_t OSAtomicIncrement64Barrier( volatile OSAtomic_int64_aligned64_t *__theValue ); - - -/*! @abstract Atomically decrements a 64-bit value. - @result Returns the new value. - */ -OSATOMIC_DEPRECATED_REPLACE_WITH(atomic_fetch_sub) -__OSX_AVAILABLE_STARTING(__MAC_10_10, __IPHONE_7_1) -int64_t OSAtomicDecrement64( volatile OSAtomic_int64_aligned64_t *__theValue ); - - -/*! @abstract Atomically decrements a 64-bit value with a barrier. - @discussion - This function is equivalent to {@link OSAtomicDecrement64} - except that it also introduces a barrier. - @result Returns the new value. - */ -OSATOMIC_BARRIER_DEPRECATED_REPLACE_WITH(atomic_fetch_sub) -__OSX_AVAILABLE_STARTING(__MAC_10_10, __IPHONE_7_1) -int64_t OSAtomicDecrement64Barrier( volatile OSAtomic_int64_aligned64_t *__theValue ); - -#else -__inline static -int64_t OSAtomicIncrement64( volatile OSAtomic_int64_aligned64_t *__theValue ) - { return OSAtomicAdd64( 1, __theValue); } - -__inline static -int64_t OSAtomicIncrement64Barrier( volatile OSAtomic_int64_aligned64_t *__theValue ) - { return OSAtomicAdd64Barrier( 1, __theValue); } - -__inline static -int64_t OSAtomicDecrement64( volatile OSAtomic_int64_aligned64_t *__theValue ) - { return OSAtomicAdd64( -1, __theValue); } - -__inline static -int64_t OSAtomicDecrement64Barrier( volatile OSAtomic_int64_aligned64_t *__theValue ) - { return OSAtomicAdd64Barrier( -1, __theValue); } -#endif - - -/*! @group Boolean functions (AND, OR, XOR) - * - * @discussion Functions in this group come in four variants for each operation: - * with and without barriers, and functions that return the original value or - * the result value of the operation. - * - * The "Orig" versions return the original value, (before the operation); the non-Orig - * versions return the value after the operation. All are layered on top of - * {@link OSAtomicCompareAndSwap32} and similar. - */ - -/*! @abstract Atomic bitwise OR of two 32-bit values. - @discussion - This function performs the bitwise OR of the value given by __theMask - with the value in the memory location referenced by __theValue, - storing the result back to that memory location atomically. - @result Returns the new value. - */ -OSATOMIC_DEPRECATED_REPLACE_WITH(atomic_fetch_or) -__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0) -int32_t OSAtomicOr32( uint32_t __theMask, volatile uint32_t *__theValue ); - - -/*! @abstract Atomic bitwise OR of two 32-bit values with barrier. - @discussion - This function performs the bitwise OR of the value given by __theMask - with the value in the memory location referenced by __theValue, - storing the result back to that memory location atomically. - - This function is equivalent to {@link OSAtomicOr32} - except that it also introduces a barrier. - @result Returns the new value. - */ -OSATOMIC_BARRIER_DEPRECATED_REPLACE_WITH(atomic_fetch_or) -__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0) -int32_t OSAtomicOr32Barrier( uint32_t __theMask, volatile uint32_t *__theValue ); - - -/*! @abstract Atomic bitwise OR of two 32-bit values returning original. - @discussion - This function performs the bitwise OR of the value given by __theMask - with the value in the memory location referenced by __theValue, - storing the result back to that memory location atomically. - @result Returns the original value referenced by __theValue. - */ -OSATOMIC_DEPRECATED_REPLACE_WITH(atomic_fetch_or) -__OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_3_2) -int32_t OSAtomicOr32Orig( uint32_t __theMask, volatile uint32_t *__theValue ); - - -/*! @abstract Atomic bitwise OR of two 32-bit values returning original with barrier. - @discussion - This function performs the bitwise OR of the value given by __theMask - with the value in the memory location referenced by __theValue, - storing the result back to that memory location atomically. - - This function is equivalent to {@link OSAtomicOr32Orig} - except that it also introduces a barrier. - @result Returns the original value referenced by __theValue. - */ -OSATOMIC_BARRIER_DEPRECATED_REPLACE_WITH(atomic_fetch_or) -__OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_3_2) -int32_t OSAtomicOr32OrigBarrier( uint32_t __theMask, volatile uint32_t *__theValue ); - - - - -/*! @abstract Atomic bitwise AND of two 32-bit values. - @discussion - This function performs the bitwise AND of the value given by __theMask - with the value in the memory location referenced by __theValue, - storing the result back to that memory location atomically. - @result Returns the new value. - */ -OSATOMIC_DEPRECATED_REPLACE_WITH(atomic_fetch_and) -__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0) -int32_t OSAtomicAnd32( uint32_t __theMask, volatile uint32_t *__theValue ); - - -/*! @abstract Atomic bitwise AND of two 32-bit values with barrier. - @discussion - This function performs the bitwise AND of the value given by __theMask - with the value in the memory location referenced by __theValue, - storing the result back to that memory location atomically. - - This function is equivalent to {@link OSAtomicAnd32} - except that it also introduces a barrier. - @result Returns the new value. - */ -OSATOMIC_BARRIER_DEPRECATED_REPLACE_WITH(atomic_fetch_and) -__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0) -int32_t OSAtomicAnd32Barrier( uint32_t __theMask, volatile uint32_t *__theValue ); - - -/*! @abstract Atomic bitwise AND of two 32-bit values returning original. - @discussion - This function performs the bitwise AND of the value given by __theMask - with the value in the memory location referenced by __theValue, - storing the result back to that memory location atomically. - @result Returns the original value referenced by __theValue. - */ -OSATOMIC_DEPRECATED_REPLACE_WITH(atomic_fetch_and) -__OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_3_2) -int32_t OSAtomicAnd32Orig( uint32_t __theMask, volatile uint32_t *__theValue ); - - -/*! @abstract Atomic bitwise AND of two 32-bit values returning original with barrier. - @discussion - This function performs the bitwise AND of the value given by __theMask - with the value in the memory location referenced by __theValue, - storing the result back to that memory location atomically. - - This function is equivalent to {@link OSAtomicAnd32Orig} - except that it also introduces a barrier. - @result Returns the original value referenced by __theValue. - */ -OSATOMIC_BARRIER_DEPRECATED_REPLACE_WITH(atomic_fetch_and) -__OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_3_2) -int32_t OSAtomicAnd32OrigBarrier( uint32_t __theMask, volatile uint32_t *__theValue ); - - - - -/*! @abstract Atomic bitwise XOR of two 32-bit values. - @discussion - This function performs the bitwise XOR of the value given by __theMask - with the value in the memory location referenced by __theValue, - storing the result back to that memory location atomically. - @result Returns the new value. - */ -OSATOMIC_DEPRECATED_REPLACE_WITH(atomic_fetch_xor) -__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0) -int32_t OSAtomicXor32( uint32_t __theMask, volatile uint32_t *__theValue ); - - -/*! @abstract Atomic bitwise XOR of two 32-bit values with barrier. - @discussion - This function performs the bitwise XOR of the value given by __theMask - with the value in the memory location referenced by __theValue, - storing the result back to that memory location atomically. - - This function is equivalent to {@link OSAtomicXor32} - except that it also introduces a barrier. - @result Returns the new value. - */ -OSATOMIC_BARRIER_DEPRECATED_REPLACE_WITH(atomic_fetch_xor) -__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0) -int32_t OSAtomicXor32Barrier( uint32_t __theMask, volatile uint32_t *__theValue ); - - -/*! @abstract Atomic bitwise XOR of two 32-bit values returning original. - @discussion - This function performs the bitwise XOR of the value given by __theMask - with the value in the memory location referenced by __theValue, - storing the result back to that memory location atomically. - @result Returns the original value referenced by __theValue. - */ -OSATOMIC_DEPRECATED_REPLACE_WITH(atomic_fetch_xor) -__OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_3_2) -int32_t OSAtomicXor32Orig( uint32_t __theMask, volatile uint32_t *__theValue ); - - -/*! @abstract Atomic bitwise XOR of two 32-bit values returning original with barrier. - @discussion - This function performs the bitwise XOR of the value given by __theMask - with the value in the memory location referenced by __theValue, - storing the result back to that memory location atomically. - - This function is equivalent to {@link OSAtomicXor32Orig} - except that it also introduces a barrier. - @result Returns the original value referenced by __theValue. - */ -OSATOMIC_BARRIER_DEPRECATED_REPLACE_WITH(atomic_fetch_xor) -__OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_3_2) -int32_t OSAtomicXor32OrigBarrier( uint32_t __theMask, volatile uint32_t *__theValue ); - - -/*! @group Compare and swap - * Functions in this group return true if the swap occured. There are several versions, - * depending on data type and on whether or not a barrier is used. - */ - - -/*! @abstract Compare and swap for 32-bit values. - @discussion - This function compares the value in __oldValue to the value - in the memory location referenced by __theValue. If the values - match, this function stores the value from __newValue into - that memory location atomically. - @result Returns TRUE on a match, FALSE otherwise. - */ -OSATOMIC_DEPRECATED_REPLACE_WITH(atomic_compare_exchange_strong) -__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0) -bool OSAtomicCompareAndSwap32( int32_t __oldValue, int32_t __newValue, volatile int32_t *__theValue ); - - -/*! @abstract Compare and swap for 32-bit values with barrier. - @discussion - This function compares the value in __oldValue to the value - in the memory location referenced by __theValue. If the values - match, this function stores the value from __newValue into - that memory location atomically. - - This function is equivalent to {@link OSAtomicCompareAndSwap32} - except that it also introduces a barrier. - @result Returns TRUE on a match, FALSE otherwise. - */ -OSATOMIC_BARRIER_DEPRECATED_REPLACE_WITH(atomic_compare_exchange_strong) -__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0) -bool OSAtomicCompareAndSwap32Barrier( int32_t __oldValue, int32_t __newValue, volatile int32_t *__theValue ); - - -/*! @abstract Compare and swap pointers. - @discussion - This function compares the pointer stored in __oldValue to the pointer - in the memory location referenced by __theValue. If the pointers - match, this function stores the pointer from __newValue into - that memory location atomically. - @result Returns TRUE on a match, FALSE otherwise. - */ -OSATOMIC_DEPRECATED_REPLACE_WITH(atomic_compare_exchange_strong) -__OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_2_0) -bool OSAtomicCompareAndSwapPtr( void *__oldValue, void *__newValue, void * volatile *__theValue ); - - -/*! @abstract Compare and swap pointers with barrier. - @discussion - This function compares the pointer stored in __oldValue to the pointer - in the memory location referenced by __theValue. If the pointers - match, this function stores the pointer from __newValue into - that memory location atomically. - - This function is equivalent to {@link OSAtomicCompareAndSwapPtr} - except that it also introduces a barrier. - @result Returns TRUE on a match, FALSE otherwise. - */ -OSATOMIC_BARRIER_DEPRECATED_REPLACE_WITH(atomic_compare_exchange_strong) -__OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_2_0) -bool OSAtomicCompareAndSwapPtrBarrier( void *__oldValue, void *__newValue, void * volatile *__theValue ); - - -/*! @abstract Compare and swap for int values. - @discussion - This function compares the value in __oldValue to the value - in the memory location referenced by __theValue. If the values - match, this function stores the value from __newValue into - that memory location atomically. - - This function is equivalent to {@link OSAtomicCompareAndSwap32}. - @result Returns TRUE on a match, FALSE otherwise. - */ -OSATOMIC_DEPRECATED_REPLACE_WITH(atomic_compare_exchange_strong) -__OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_2_0) -bool OSAtomicCompareAndSwapInt( int __oldValue, int __newValue, volatile int *__theValue ); - - -/*! @abstract Compare and swap for int values. - @discussion - This function compares the value in __oldValue to the value - in the memory location referenced by __theValue. If the values - match, this function stores the value from __newValue into - that memory location atomically. - - This function is equivalent to {@link OSAtomicCompareAndSwapInt} - except that it also introduces a barrier. - - This function is equivalent to {@link OSAtomicCompareAndSwap32Barrier}. - @result Returns TRUE on a match, FALSE otherwise. - */ -OSATOMIC_BARRIER_DEPRECATED_REPLACE_WITH(atomic_compare_exchange_strong) -__OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_2_0) -bool OSAtomicCompareAndSwapIntBarrier( int __oldValue, int __newValue, volatile int *__theValue ); - - -/*! @abstract Compare and swap for long values. - @discussion - This function compares the value in __oldValue to the value - in the memory location referenced by __theValue. If the values - match, this function stores the value from __newValue into - that memory location atomically. - - This function is equivalent to {@link OSAtomicCompareAndSwap32} on 32-bit architectures, - or {@link OSAtomicCompareAndSwap64} on 64-bit architectures. - @result Returns TRUE on a match, FALSE otherwise. - */ -OSATOMIC_DEPRECATED_REPLACE_WITH(atomic_compare_exchange_strong) -__OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_2_0) -bool OSAtomicCompareAndSwapLong( long __oldValue, long __newValue, volatile long *__theValue ); - - -/*! @abstract Compare and swap for long values. - @discussion - This function compares the value in __oldValue to the value - in the memory location referenced by __theValue. If the values - match, this function stores the value from __newValue into - that memory location atomically. - - This function is equivalent to {@link OSAtomicCompareAndSwapLong} - except that it also introduces a barrier. - - This function is equivalent to {@link OSAtomicCompareAndSwap32} on 32-bit architectures, - or {@link OSAtomicCompareAndSwap64} on 64-bit architectures. - @result Returns TRUE on a match, FALSE otherwise. - */ -OSATOMIC_BARRIER_DEPRECATED_REPLACE_WITH(atomic_compare_exchange_strong) -__OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_2_0) -bool OSAtomicCompareAndSwapLongBarrier( long __oldValue, long __newValue, volatile long *__theValue ); - - -/*! @abstract Compare and swap for uint64_t values. - @discussion - This function compares the value in __oldValue to the value - in the memory location referenced by __theValue. If the values - match, this function stores the value from __newValue into - that memory location atomically. - @result Returns TRUE on a match, FALSE otherwise. - */ -OSATOMIC_DEPRECATED_REPLACE_WITH(atomic_compare_exchange_strong) -__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0) -bool OSAtomicCompareAndSwap64( int64_t __oldValue, int64_t __newValue, - volatile OSAtomic_int64_aligned64_t *__theValue ); - - -/*! @abstract Compare and swap for uint64_t values. - @discussion - This function compares the value in __oldValue to the value - in the memory location referenced by __theValue. If the values - match, this function stores the value from __newValue into - that memory location atomically. - - This function is equivalent to {@link OSAtomicCompareAndSwap64} - except that it also introduces a barrier. - @result Returns TRUE on a match, FALSE otherwise. - */ -OSATOMIC_BARRIER_DEPRECATED_REPLACE_WITH(atomic_compare_exchange_strong) -__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_3_2) -bool OSAtomicCompareAndSwap64Barrier( int64_t __oldValue, int64_t __newValue, - volatile OSAtomic_int64_aligned64_t *__theValue ); - - -/* Test and set. - * They return the original value of the bit, and operate on bit (0x80>>(n&7)) - * in byte ((char*)theAddress + (n>>3)). - */ -/*! @abstract Atomic test and set - @discussion - This function tests a bit in the value referenced by - __theAddress and if it is not set, sets it. - - The bit is chosen by the value of __n such that the - operation will be performed on bit (0x80 >> (__n & 7)) - of byte ((char *)__theAddress + (n >> 3)). - - For example, if __theAddress points to a 64-bit value, - to compare the value of the most significant bit, you would specify - 56 for __n. - @result - Returns the original value of the bit being tested. - */ -OSATOMIC_DEPRECATED_REPLACE_WITH(atomic_fetch_or) -__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0) -bool OSAtomicTestAndSet( uint32_t __n, volatile void *__theAddress ); - - -/*! @abstract Atomic test and set with barrier - @discussion - This function tests a bit in the value referenced by __theAddress - and if it is not set, sets it. - - The bit is chosen by the value of __n such that the - operation will be performed on bit (0x80 >> (__n & 7)) - of byte ((char *)__theAddress + (n >> 3)). - - For example, if __theAddress points to a 64-bit value, - to compare the value of the most significant bit, you would specify - 56 for __n. - - This function is equivalent to {@link OSAtomicTestAndSet} - except that it also introduces a barrier. - @result - Returns the original value of the bit being tested. - */ -OSATOMIC_BARRIER_DEPRECATED_REPLACE_WITH(atomic_fetch_or) -__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0) -bool OSAtomicTestAndSetBarrier( uint32_t __n, volatile void *__theAddress ); - - - -/*! @abstract Atomic test and clear - @discussion - This function tests a bit in the value referenced by __theAddress - and if it is not cleared, clears it. - - The bit is chosen by the value of __n such that the - operation will be performed on bit (0x80 >> (__n & 7)) - of byte ((char *)__theAddress + (n >> 3)). - - For example, if __theAddress points to a 64-bit value, - to compare the value of the most significant bit, you would specify - 56 for __n. - - @result - Returns the original value of the bit being tested. - */ -OSATOMIC_DEPRECATED_REPLACE_WITH(atomic_fetch_and) -__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0) -bool OSAtomicTestAndClear( uint32_t __n, volatile void *__theAddress ); - - -/*! @abstract Atomic test and clear - @discussion - This function tests a bit in the value referenced by __theAddress - and if it is not cleared, clears it. - - The bit is chosen by the value of __n such that the - operation will be performed on bit (0x80 >> (__n & 7)) - of byte ((char *)__theAddress + (n >> 3)). - - For example, if __theAddress points to a 64-bit value, - to compare the value of the most significant bit, you would specify - 56 for __n. - - This function is equivalent to {@link OSAtomicTestAndSet} - except that it also introduces a barrier. - @result - Returns the original value of the bit being tested. - */ -OSATOMIC_BARRIER_DEPRECATED_REPLACE_WITH(atomic_fetch_and) -__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0) -bool OSAtomicTestAndClearBarrier( uint32_t __n, volatile void *__theAddress ); - - -/*! @group Memory barriers */ - -/*! @abstract Memory barrier. - @discussion - This function serves as both a read and write barrier. - */ -OSATOMIC_BARRIER_DEPRECATED_REPLACE_WITH(atomic_thread_fence) -__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0) -void OSMemoryBarrier( void ); - -__END_DECLS - -#else // defined(OSATOMIC_USE_INLINED) && OSATOMIC_USE_INLINED - -/* - * Inline implementations of the legacy OSAtomic interfaces in terms of - * C11 resp. C++11 primitives. - * Direct use of those primitives is preferred. - */ - -#include - -#include -#include -#include - -#ifdef __cplusplus -extern "C++" { -#if !(__has_include() && __has_extension(cxx_atomic)) -#error Cannot use inlined OSAtomic without and C++11 atomics -#endif -#include -typedef std::atomic _OSAtomic_uint8_t; -typedef std::atomic _OSAtomic_int32_t; -typedef std::atomic _OSAtomic_uint32_t; -typedef std::atomic _OSAtomic_int64_t; -typedef std::atomic _OSAtomic_void_ptr_t; -#define OSATOMIC_STD(_a) std::_a -__BEGIN_DECLS -#else -#if !(__has_include() && __has_extension(c_atomic)) -#error Cannot use inlined OSAtomic without and C11 atomics -#endif -#include -typedef _Atomic(uint8_t) _OSAtomic_uint8_t; -typedef _Atomic(int32_t) _OSAtomic_int32_t; -typedef _Atomic(uint32_t) _OSAtomic_uint32_t; -typedef _Atomic(int64_t) _OSAtomic_int64_t; -typedef _Atomic(void*) _OSAtomic_void_ptr_t; -#define OSATOMIC_STD(_a) _a -#endif - -#if __has_extension(c_alignof) && __has_attribute(aligned) -typedef int64_t __attribute__((__aligned__(_Alignof(_OSAtomic_int64_t)))) - OSAtomic_int64_aligned64_t; -#elif __has_attribute(aligned) -typedef int64_t __attribute__((__aligned__((sizeof(_OSAtomic_int64_t))))) - OSAtomic_int64_aligned64_t; -#else -typedef int64_t OSAtomic_int64_aligned64_t; -#endif - -#if __has_attribute(always_inline) -#define OSATOMIC_INLINE static __inline __attribute__((__always_inline__)) -#else -#define OSATOMIC_INLINE static __inline -#endif - -OSATOMIC_INLINE -int32_t -OSAtomicAdd32(int32_t __theAmount, volatile int32_t *__theValue) -{ - return (OSATOMIC_STD(atomic_fetch_add_explicit)( - (volatile _OSAtomic_int32_t*) __theValue, __theAmount, - OSATOMIC_STD(memory_order_relaxed)) + __theAmount); -} - -OSATOMIC_INLINE -int32_t -OSAtomicAdd32Barrier(int32_t __theAmount, volatile int32_t *__theValue) -{ - return (OSATOMIC_STD(atomic_fetch_add_explicit)( - (volatile _OSAtomic_int32_t*) __theValue, __theAmount, - OSATOMIC_STD(memory_order_seq_cst)) + __theAmount); -} - -OSATOMIC_INLINE -int32_t -OSAtomicIncrement32(volatile int32_t *__theValue) -{ - return OSAtomicAdd32(1, __theValue); -} - -OSATOMIC_INLINE -int32_t -OSAtomicIncrement32Barrier(volatile int32_t *__theValue) -{ - return OSAtomicAdd32Barrier(1, __theValue); -} - -OSATOMIC_INLINE -int32_t -OSAtomicDecrement32(volatile int32_t *__theValue) -{ - return OSAtomicAdd32(-1, __theValue); -} - -OSATOMIC_INLINE -int32_t -OSAtomicDecrement32Barrier(volatile int32_t *__theValue) -{ - return OSAtomicAdd32Barrier(-1, __theValue); -} - -OSATOMIC_INLINE -int64_t -OSAtomicAdd64(int64_t __theAmount, - volatile OSAtomic_int64_aligned64_t *__theValue) -{ - return (OSATOMIC_STD(atomic_fetch_add_explicit)( - (volatile _OSAtomic_int64_t*) __theValue, __theAmount, - OSATOMIC_STD(memory_order_relaxed)) + __theAmount); -} - -OSATOMIC_INLINE -int64_t -OSAtomicAdd64Barrier(int64_t __theAmount, - volatile OSAtomic_int64_aligned64_t *__theValue) -{ - return (OSATOMIC_STD(atomic_fetch_add_explicit)( - (volatile _OSAtomic_int64_t*) __theValue, __theAmount, - OSATOMIC_STD(memory_order_seq_cst)) + __theAmount); -} - -OSATOMIC_INLINE -int64_t -OSAtomicIncrement64(volatile OSAtomic_int64_aligned64_t *__theValue) -{ - return OSAtomicAdd64(1, __theValue); -} - -OSATOMIC_INLINE -int64_t -OSAtomicIncrement64Barrier(volatile OSAtomic_int64_aligned64_t *__theValue) -{ - return OSAtomicAdd64Barrier(1, __theValue); -} - -OSATOMIC_INLINE -int64_t -OSAtomicDecrement64(volatile OSAtomic_int64_aligned64_t *__theValue) -{ - return OSAtomicAdd64(-1, __theValue); -} - -OSATOMIC_INLINE -int64_t -OSAtomicDecrement64Barrier(volatile OSAtomic_int64_aligned64_t *__theValue) -{ - return OSAtomicAdd64Barrier(-1, __theValue); -} - -OSATOMIC_INLINE -int32_t -OSAtomicOr32(uint32_t __theMask, volatile uint32_t *__theValue) -{ - return (int32_t)(OSATOMIC_STD(atomic_fetch_or_explicit)( - (volatile _OSAtomic_uint32_t*)__theValue, __theMask, - OSATOMIC_STD(memory_order_relaxed)) | __theMask); -} - -OSATOMIC_INLINE -int32_t -OSAtomicOr32Barrier(uint32_t __theMask, volatile uint32_t *__theValue) -{ - return (int32_t)(OSATOMIC_STD(atomic_fetch_or_explicit)( - (volatile _OSAtomic_uint32_t*)__theValue, __theMask, - OSATOMIC_STD(memory_order_seq_cst)) | __theMask); -} - -OSATOMIC_INLINE -int32_t -OSAtomicOr32Orig(uint32_t __theMask, volatile uint32_t *__theValue) -{ - return (int32_t)(OSATOMIC_STD(atomic_fetch_or_explicit)( - (volatile _OSAtomic_uint32_t*)__theValue, __theMask, - OSATOMIC_STD(memory_order_relaxed))); -} - -OSATOMIC_INLINE -int32_t -OSAtomicOr32OrigBarrier(uint32_t __theMask, volatile uint32_t *__theValue) -{ - return (int32_t)(OSATOMIC_STD(atomic_fetch_or_explicit)( - (volatile _OSAtomic_uint32_t*)__theValue, __theMask, - OSATOMIC_STD(memory_order_seq_cst))); -} - -OSATOMIC_INLINE -int32_t -OSAtomicAnd32(uint32_t __theMask, volatile uint32_t *__theValue) -{ - return (int32_t)(OSATOMIC_STD(atomic_fetch_and_explicit)( - (volatile _OSAtomic_uint32_t*)__theValue, __theMask, - OSATOMIC_STD(memory_order_relaxed)) & __theMask); -} - -OSATOMIC_INLINE -int32_t -OSAtomicAnd32Barrier(uint32_t __theMask, volatile uint32_t *__theValue) -{ - return (int32_t)(OSATOMIC_STD(atomic_fetch_and_explicit)( - (volatile _OSAtomic_uint32_t*)__theValue, __theMask, - OSATOMIC_STD(memory_order_seq_cst)) & __theMask); -} - -OSATOMIC_INLINE -int32_t -OSAtomicAnd32Orig(uint32_t __theMask, volatile uint32_t *__theValue) -{ - return (int32_t)(OSATOMIC_STD(atomic_fetch_and_explicit)( - (volatile _OSAtomic_uint32_t*)__theValue, __theMask, - OSATOMIC_STD(memory_order_relaxed))); -} - -OSATOMIC_INLINE -int32_t -OSAtomicAnd32OrigBarrier(uint32_t __theMask, volatile uint32_t *__theValue) -{ - return (int32_t)(OSATOMIC_STD(atomic_fetch_and_explicit)( - (volatile _OSAtomic_uint32_t*)__theValue, __theMask, - OSATOMIC_STD(memory_order_seq_cst))); -} - -OSATOMIC_INLINE -int32_t -OSAtomicXor32(uint32_t __theMask, volatile uint32_t *__theValue) -{ - return (int32_t)(OSATOMIC_STD(atomic_fetch_xor_explicit)( - (volatile _OSAtomic_uint32_t*)__theValue, __theMask, - OSATOMIC_STD(memory_order_relaxed)) ^ __theMask); -} - -OSATOMIC_INLINE -int32_t -OSAtomicXor32Barrier(uint32_t __theMask, volatile uint32_t *__theValue) -{ - return (int32_t)(OSATOMIC_STD(atomic_fetch_xor_explicit)( - (volatile _OSAtomic_uint32_t*)__theValue, __theMask, - OSATOMIC_STD(memory_order_seq_cst)) ^ __theMask); -} - -OSATOMIC_INLINE -int32_t -OSAtomicXor32Orig(uint32_t __theMask, volatile uint32_t *__theValue) -{ - return (int32_t)(OSATOMIC_STD(atomic_fetch_xor_explicit)( - (volatile _OSAtomic_uint32_t*)__theValue, __theMask, - OSATOMIC_STD(memory_order_relaxed))); -} - -OSATOMIC_INLINE -int32_t -OSAtomicXor32OrigBarrier(uint32_t __theMask, volatile uint32_t *__theValue) -{ - return (int32_t)(OSATOMIC_STD(atomic_fetch_xor_explicit)( - (volatile _OSAtomic_uint32_t*)__theValue, __theMask, - OSATOMIC_STD(memory_order_seq_cst))); -} - -OSATOMIC_INLINE -bool -OSAtomicCompareAndSwap32(int32_t __oldValue, int32_t __newValue, - volatile int32_t *__theValue) -{ - return (OSATOMIC_STD(atomic_compare_exchange_strong_explicit)( - (volatile _OSAtomic_int32_t*)__theValue, &__oldValue, __newValue, - OSATOMIC_STD(memory_order_relaxed), - OSATOMIC_STD(memory_order_relaxed))); -} - -OSATOMIC_INLINE -bool -OSAtomicCompareAndSwap32Barrier(int32_t __oldValue, int32_t __newValue, - volatile int32_t *__theValue) -{ - return (OSATOMIC_STD(atomic_compare_exchange_strong_explicit)( - (volatile _OSAtomic_int32_t*)__theValue, &__oldValue, __newValue, - OSATOMIC_STD(memory_order_seq_cst), - OSATOMIC_STD(memory_order_relaxed))); -} - -OSATOMIC_INLINE -bool -OSAtomicCompareAndSwapPtr(void *__oldValue, void *__newValue, - void * volatile *__theValue) -{ - return (OSATOMIC_STD(atomic_compare_exchange_strong_explicit)( - (volatile _OSAtomic_void_ptr_t*)__theValue, &__oldValue, __newValue, - OSATOMIC_STD(memory_order_relaxed), - OSATOMIC_STD(memory_order_relaxed))); -} - -OSATOMIC_INLINE -bool -OSAtomicCompareAndSwapPtrBarrier(void *__oldValue, void *__newValue, - void * volatile *__theValue) -{ - return (OSATOMIC_STD(atomic_compare_exchange_strong_explicit)( - (volatile _OSAtomic_void_ptr_t*)__theValue, &__oldValue, __newValue, - OSATOMIC_STD(memory_order_seq_cst), - OSATOMIC_STD(memory_order_relaxed))); -} - -OSATOMIC_INLINE -bool -OSAtomicCompareAndSwapInt(int __oldValue, int __newValue, - volatile int *__theValue) -{ - return (OSATOMIC_STD(atomic_compare_exchange_strong_explicit)( - (volatile OSATOMIC_STD(atomic_int)*)__theValue, &__oldValue, - __newValue, OSATOMIC_STD(memory_order_relaxed), - OSATOMIC_STD(memory_order_relaxed))); -} - -OSATOMIC_INLINE -bool -OSAtomicCompareAndSwapIntBarrier(int __oldValue, int __newValue, - volatile int *__theValue) -{ - return (OSATOMIC_STD(atomic_compare_exchange_strong_explicit)( - (volatile OSATOMIC_STD(atomic_int)*)__theValue, &__oldValue, - __newValue, OSATOMIC_STD(memory_order_seq_cst), - OSATOMIC_STD(memory_order_relaxed))); -} - -OSATOMIC_INLINE -bool -OSAtomicCompareAndSwapLong(long __oldValue, long __newValue, - volatile long *__theValue) -{ - return (OSATOMIC_STD(atomic_compare_exchange_strong_explicit)( - (volatile OSATOMIC_STD(atomic_long)*)__theValue, &__oldValue, - __newValue, OSATOMIC_STD(memory_order_relaxed), - OSATOMIC_STD(memory_order_relaxed))); -} - -OSATOMIC_INLINE -bool -OSAtomicCompareAndSwapLongBarrier(long __oldValue, long __newValue, - volatile long *__theValue) -{ - return (OSATOMIC_STD(atomic_compare_exchange_strong_explicit)( - (volatile OSATOMIC_STD(atomic_long)*)__theValue, &__oldValue, - __newValue, OSATOMIC_STD(memory_order_seq_cst), - OSATOMIC_STD(memory_order_relaxed))); -} - -OSATOMIC_INLINE -bool -OSAtomicCompareAndSwap64(int64_t __oldValue, int64_t __newValue, - volatile OSAtomic_int64_aligned64_t *__theValue) -{ - return (OSATOMIC_STD(atomic_compare_exchange_strong_explicit)( - (volatile _OSAtomic_int64_t*)__theValue, &__oldValue, __newValue, - OSATOMIC_STD(memory_order_relaxed), - OSATOMIC_STD(memory_order_relaxed))); -} - -OSATOMIC_INLINE -bool -OSAtomicCompareAndSwap64Barrier(int64_t __oldValue, int64_t __newValue, - volatile OSAtomic_int64_aligned64_t *__theValue) -{ - return (OSATOMIC_STD(atomic_compare_exchange_strong_explicit)( - (volatile _OSAtomic_int64_t*)__theValue, &__oldValue, __newValue, - OSATOMIC_STD(memory_order_seq_cst), - OSATOMIC_STD(memory_order_relaxed))); -} - -OSATOMIC_INLINE -bool -OSAtomicTestAndSet(uint32_t __n, volatile void *__theAddress) -{ - uintptr_t a = (uintptr_t)__theAddress + (__n >> 3); - uint8_t v = (0x80u >> (__n & 7)); - return (OSATOMIC_STD(atomic_fetch_or_explicit)((_OSAtomic_uint8_t*)a, v, - OSATOMIC_STD(memory_order_relaxed)) & v); -} - -OSATOMIC_INLINE -bool -OSAtomicTestAndSetBarrier(uint32_t __n, volatile void *__theAddress) -{ - uintptr_t a = (uintptr_t)__theAddress + (__n >> 3); - uint8_t v = (0x80u >> (__n & 7)); - return (OSATOMIC_STD(atomic_fetch_or_explicit)((_OSAtomic_uint8_t*)a, v, - OSATOMIC_STD(memory_order_seq_cst)) & v); -} - -OSATOMIC_INLINE -bool -OSAtomicTestAndClear(uint32_t __n, volatile void *__theAddress) -{ - uintptr_t a = (uintptr_t)__theAddress + (__n >> 3); - uint8_t v = (0x80u >> (__n & 7)); - return (OSATOMIC_STD(atomic_fetch_and_explicit)((_OSAtomic_uint8_t*)a, - (uint8_t)~v, OSATOMIC_STD(memory_order_relaxed)) & v); -} - -OSATOMIC_INLINE -bool -OSAtomicTestAndClearBarrier(uint32_t __n, volatile void *__theAddress) -{ - uintptr_t a = (uintptr_t)__theAddress + (__n >> 3); - uint8_t v = (0x80u >> (__n & 7)); - return (OSATOMIC_STD(atomic_fetch_and_explicit)((_OSAtomic_uint8_t*)a, - (uint8_t)~v, OSATOMIC_STD(memory_order_seq_cst)) & v); -} - -OSATOMIC_INLINE -void -OSMemoryBarrier(void) -{ - OSATOMIC_STD(atomic_thread_fence)(OSATOMIC_STD(memory_order_seq_cst)); -} - -#undef OSATOMIC_INLINE -#undef OSATOMIC_STD -#ifdef __cplusplus -__END_DECLS -} // extern "C++" -#endif - -#endif // defined(OSATOMIC_USE_INLINED) && OSATOMIC_USE_INLINED - -#if TARGET_OS_OSX || TARGET_OS_DRIVERKIT - -__BEGIN_DECLS - -/*! @group Lockless atomic fifo enqueue and dequeue - * These routines manipulate singly-linked FIFO lists. - * - * This API is deprecated and no longer recommended - */ - -/*! @abstract The data structure for a fifo queue head. - @discussion - You should always initialize a fifo queue head structure with the - initialization vector {@link OS_ATOMIC_FIFO_QUEUE_INIT} before use. - */ -#if defined(__LP64__) - -typedef volatile struct { - void *opaque1; - void *opaque2; - int opaque3; -} __attribute__ ((aligned (16))) OSFifoQueueHead; - -#else - -typedef volatile struct { - void *opaque1; - void *opaque2; - int opaque3; -} OSFifoQueueHead; - -#endif -/*! @abstract The initialization vector for a fifo queue head. */ -#define OS_ATOMIC_FIFO_QUEUE_INIT { NULL, NULL, 0 } - -/*! @abstract Enqueue an element onto a list. - @discussion - Memory barriers are incorporated as needed to permit thread-safe access - to the queue element. - @param __list - The list on which you want to enqueue the element. - @param __new - The element to add. - @param __offset - The "offset" parameter is the offset (in bytes) of the link field - from the beginning of the data structure being queued (__new). - The link field should be a pointer type. - The __offset value needs to be same for all enqueuing and - dequeuing operations on the same list, even if different structure types - are enqueued on that list. The use of offsetset(), defined in - stddef.h is the common way to specify the __offset - value. - - @note - This API is deprecated and no longer recommended - */ -__API_DEPRECATED("No longer supported", macos(10.7, 11.0)) -void OSAtomicFifoEnqueue( OSFifoQueueHead *__list, void *__new, size_t __offset); - -/*! @abstract Dequeue an element from a list. - @discussion - Memory barriers are incorporated as needed to permit thread-safe access - to the queue element. - @param __list - The list from which you want to dequeue an element. - @param __offset - The "offset" parameter is the offset (in bytes) of the link field - from the beginning of the data structure being dequeued (__new). - The link field should be a pointer type. - The __offset value needs to be same for all enqueuing and - dequeuing operations on the same list, even if different structure types - are enqueued on that list. The use of offsetset(), defined in - stddef.h is the common way to specify the __offset - value. - @result - Returns the oldest enqueued element, or NULL if the - list is empty. - - @note - This API is deprecated and no longer recommended - */ -__API_DEPRECATED("No longer supported", macos(10.7, 11.0)) -void* OSAtomicFifoDequeue( OSFifoQueueHead *__list, size_t __offset); - -__END_DECLS - -#endif /* TARGET_OS_OSX || TARGET_OS_DRIVERKIT */ - -#endif /* _OSATOMIC_DEPRECATED_H_ */ \ No newline at end of file diff --git a/lib/libc/include/x86_64-macos.11-none/libkern/OSAtomicQueue.h b/lib/libc/include/x86_64-macos.11-none/libkern/OSAtomicQueue.h deleted file mode 100644 index 66033fc834..0000000000 --- a/lib/libc/include/x86_64-macos.11-none/libkern/OSAtomicQueue.h +++ /dev/null @@ -1,115 +0,0 @@ -/* - * Copyright (c) 2004-2016 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 _OSATOMICQUEUE_H_ -#define _OSATOMICQUEUE_H_ - -#include -#include -#include -#include -#include "OSAtomicDeprecated.h" - -#include - -/*! @header Lockless atomic enqueue and dequeue - * These routines manipulate singly-linked LIFO lists. - */ - -__BEGIN_DECLS - -/*! @abstract The data structure for a queue head. - @discussion - You should always initialize a queue head structure with the - initialization vector {@link OS_ATOMIC_QUEUE_INIT} before use. - */ -#if defined(__LP64__) - -typedef volatile struct { - void *opaque1; - long opaque2; -} __attribute__ ((aligned (16))) OSQueueHead; - -#else - -typedef volatile struct { - void *opaque1; - long opaque2; -} OSQueueHead; - -#endif - -/*! @abstract The initialization vector for a queue head. */ -#define OS_ATOMIC_QUEUE_INIT { NULL, 0 } - -/*! @abstract Enqueue an element onto a list. - @discussion - Memory barriers are incorporated as needed to permit thread-safe access - to the queue element. - @param __list - The list on which you want to enqueue the element. - @param __new - The element to add. - @param __offset - The "offset" parameter is the offset (in bytes) of the link field - from the beginning of the data structure being queued (__new). - The link field should be a pointer type. - The __offset value needs to be same for all enqueuing and - dequeuing operations on the same list, even if different structure types - are enqueued on that list. The use of offsetset(), defined in - stddef.h is the common way to specify the __offset - value. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_4_0) -void OSAtomicEnqueue( OSQueueHead *__list, void *__new, size_t __offset); - - -/*! @abstract Dequeue an element from a list. - @discussion - Memory barriers are incorporated as needed to permit thread-safe access - to the queue element. - @param __list - The list from which you want to dequeue an element. - @param __offset - The "offset" parameter is the offset (in bytes) of the link field - from the beginning of the data structure being dequeued (__new). - The link field should be a pointer type. - The __offset value needs to be same for all enqueuing and - dequeuing operations on the same list, even if different structure types - are enqueued on that list. The use of offsetset(), defined in - stddef.h is the common way to specify the __offset - value. - IMPORTANT: the memory backing the link field of a queue element must not be - unmapped after OSAtomicDequeue() returns until all concurrent calls to - OSAtomicDequeue() for the same list on other threads have also returned, - as they may still be accessing that memory location. - @result - Returns the most recently enqueued element, or NULL if the - list is empty. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_4_0) -void* OSAtomicDequeue( OSQueueHead *__list, size_t __offset); - -__END_DECLS - -#endif /* _OSATOMICQUEUE_H_ */ \ No newline at end of file diff --git a/lib/libc/include/x86_64-macos.11-none/libkern/OSSpinLockDeprecated.h b/lib/libc/include/x86_64-macos.11-none/libkern/OSSpinLockDeprecated.h deleted file mode 100644 index a654a7bbc2..0000000000 --- a/lib/libc/include/x86_64-macos.11-none/libkern/OSSpinLockDeprecated.h +++ /dev/null @@ -1,212 +0,0 @@ -/* - * Copyright (c) 2004-2016 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 _OSSPINLOCK_DEPRECATED_H_ -#define _OSSPINLOCK_DEPRECATED_H_ - -/*! @header - * These are deprecated legacy interfaces for userspace spinlocks. - * - * These interfaces should no longer be used, particularily in situations where - * threads of differing priorities may contend on the same spinlock. - * - * The interfaces in should be used instead in cases where a very - * low-level lock primitive is required. In general however, using higher level - * synchronization primitives such as those provided by the pthread or dispatch - * subsystems should be preferred. - * - * Define OSSPINLOCK_USE_INLINED=1 to get inline implementations of these - * interfaces in terms of the primitives. This is intended as a - * transition convenience, direct use of those primitives is preferred. - */ - -#ifndef OSSPINLOCK_DEPRECATED -#define OSSPINLOCK_DEPRECATED 1 -#define OSSPINLOCK_DEPRECATED_MSG(_r) "Use " #_r "() from instead" -#define OSSPINLOCK_DEPRECATED_REPLACE_WITH(_r) \ - __OS_AVAILABILITY_MSG(macosx, deprecated=10.12, OSSPINLOCK_DEPRECATED_MSG(_r)) \ - __OS_AVAILABILITY_MSG(ios, deprecated=10.0, OSSPINLOCK_DEPRECATED_MSG(_r)) \ - __OS_AVAILABILITY_MSG(tvos, deprecated=10.0, OSSPINLOCK_DEPRECATED_MSG(_r)) \ - __OS_AVAILABILITY_MSG(watchos, deprecated=3.0, OSSPINLOCK_DEPRECATED_MSG(_r)) -#else -#undef OSSPINLOCK_DEPRECATED -#define OSSPINLOCK_DEPRECATED 0 -#define OSSPINLOCK_DEPRECATED_REPLACE_WITH(_r) -#endif - -#if !(defined(OSSPINLOCK_USE_INLINED) && OSSPINLOCK_USE_INLINED) - -#include -#include -#include -#include -#include - -__BEGIN_DECLS - -/*! @abstract The default value for an OSSpinLock. - @discussion - The convention is that unlocked is zero, locked is nonzero. - */ -#define OS_SPINLOCK_INIT 0 - - -/*! @abstract Data type for a spinlock. - @discussion - You should always initialize a spinlock to {@link OS_SPINLOCK_INIT} before - using it. - */ -typedef int32_t OSSpinLock OSSPINLOCK_DEPRECATED_REPLACE_WITH(os_unfair_lock); - - -/*! @abstract Locks a spinlock if it would not block - @result - Returns false if the lock was already held by another thread, - true if it took the lock successfully. - */ -OSSPINLOCK_DEPRECATED_REPLACE_WITH(os_unfair_lock_trylock) -__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0) -bool OSSpinLockTry( volatile OSSpinLock *__lock ); - - -/*! @abstract Locks a spinlock - @discussion - Although the lock operation spins, it employs various strategies to back - off if the lock is held. - */ -OSSPINLOCK_DEPRECATED_REPLACE_WITH(os_unfair_lock_lock) -__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0) -void OSSpinLockLock( volatile OSSpinLock *__lock ); - - -/*! @abstract Unlocks a spinlock */ -OSSPINLOCK_DEPRECATED_REPLACE_WITH(os_unfair_lock_unlock) -__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0) -void OSSpinLockUnlock( volatile OSSpinLock *__lock ); - -__END_DECLS - -#else /* OSSPINLOCK_USE_INLINED */ - -/* - * Inline implementations of the legacy OSSpinLock interfaces in terms of the - * of the primitives. Direct use of those primitives is preferred. - * - * NOTE: the locked value of os_unfair_lock is implementation defined and - * subject to change, code that relies on the specific locked value used by the - * legacy OSSpinLock interface WILL break when using these inline - * implementations in terms of os_unfair_lock. - */ - -#if !OSSPINLOCK_USE_INLINED_TRANSPARENT - -#include - -__BEGIN_DECLS - -#if __has_attribute(always_inline) -#define OSSPINLOCK_INLINE static __inline -#else -#define OSSPINLOCK_INLINE static __inline __attribute__((__always_inline__)) -#endif - -#define OS_SPINLOCK_INIT 0 -typedef int32_t OSSpinLock; - -#if __has_extension(c_static_assert) -_Static_assert(sizeof(OSSpinLock) == sizeof(os_unfair_lock), - "Incompatible os_unfair_lock type"); -#endif - -OSSPINLOCK_INLINE -void -OSSpinLockLock(volatile OSSpinLock *__lock) -{ - os_unfair_lock_t lock = (os_unfair_lock_t)__lock; - return os_unfair_lock_lock(lock); -} - -OSSPINLOCK_INLINE -bool -OSSpinLockTry(volatile OSSpinLock *__lock) -{ - os_unfair_lock_t lock = (os_unfair_lock_t)__lock; - return os_unfair_lock_trylock(lock); -} - -OSSPINLOCK_INLINE -void -OSSpinLockUnlock(volatile OSSpinLock *__lock) -{ - os_unfair_lock_t lock = (os_unfair_lock_t)__lock; - return os_unfair_lock_unlock(lock); -} - -#undef OSSPINLOCK_INLINE - -__END_DECLS - -#else /* OSSPINLOCK_USE_INLINED_TRANSPARENT */ - -#include -#include -#include -#include -#include - -#define OS_NOSPIN_LOCK_AVAILABILITY \ - __OSX_AVAILABLE(10.12) __IOS_AVAILABLE(10.0) \ - __TVOS_AVAILABLE(10.0) __WATCHOS_AVAILABLE(3.0) - -__BEGIN_DECLS - -#define OS_SPINLOCK_INIT 0 -typedef int32_t OSSpinLock OSSPINLOCK_DEPRECATED_REPLACE_WITH(os_unfair_lock); -typedef volatile OSSpinLock *_os_nospin_lock_t - OSSPINLOCK_DEPRECATED_REPLACE_WITH(os_unfair_lock_t); - -OSSPINLOCK_DEPRECATED_REPLACE_WITH(os_unfair_lock_lock) -OS_NOSPIN_LOCK_AVAILABILITY -void _os_nospin_lock_lock(_os_nospin_lock_t lock); -#undef OSSpinLockLock -#define OSSpinLockLock(lock) _os_nospin_lock_lock(lock) - -OSSPINLOCK_DEPRECATED_REPLACE_WITH(os_unfair_lock_trylock) -OS_NOSPIN_LOCK_AVAILABILITY -bool _os_nospin_lock_trylock(_os_nospin_lock_t lock); -#undef OSSpinLockTry -#define OSSpinLockTry(lock) _os_nospin_lock_trylock(lock) - -OSSPINLOCK_DEPRECATED_REPLACE_WITH(os_unfair_lock_unlock) -OS_NOSPIN_LOCK_AVAILABILITY -void _os_nospin_lock_unlock(_os_nospin_lock_t lock); -#undef OSSpinLockUnlock -#define OSSpinLockUnlock(lock) _os_nospin_lock_unlock(lock) - -__END_DECLS - -#endif /* OSSPINLOCK_USE_INLINED_TRANSPARENT */ - -#endif /* OSSPINLOCK_USE_INLINED */ - -#endif /* _OSSPINLOCK_DEPRECATED_H_ */ \ No newline at end of file diff --git a/lib/libc/include/x86_64-macos.11-none/libkern/i386/_OSByteOrder.h b/lib/libc/include/x86_64-macos.11-none/libkern/i386/_OSByteOrder.h deleted file mode 100644 index 4b160f734f..0000000000 --- a/lib/libc/include/x86_64-macos.11-none/libkern/i386/_OSByteOrder.h +++ /dev/null @@ -1,104 +0,0 @@ -/* - * Copyright (c) 2006-2012 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 _OS__OSBYTEORDERI386_H -#define _OS__OSBYTEORDERI386_H - -#if !defined(__DARWIN_OS_INLINE) -# if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L -# define __DARWIN_OS_INLINE static inline -# elif defined(__MWERKS__) || defined(__cplusplus) -# define __DARWIN_OS_INLINE static inline -# else -# define __DARWIN_OS_INLINE static __inline__ -# endif -#endif - -/* Generic byte swapping functions. */ - -__DARWIN_OS_INLINE -__uint16_t -_OSSwapInt16( - __uint16_t _data - ) -{ - return (__uint16_t)((_data << 8) | (_data >> 8)); -} - -__DARWIN_OS_INLINE -__uint32_t -_OSSwapInt32( - __uint32_t _data - ) -{ -#if defined(__llvm__) - return __builtin_bswap32(_data); -#else - __asm__ ("bswap %0" : "+r" (_data)); - return _data; -#endif -} - -#if defined(__llvm__) -__DARWIN_OS_INLINE -__uint64_t -_OSSwapInt64( - __uint64_t _data - ) -{ - return __builtin_bswap64(_data); -} - -#elif defined(__i386__) -__DARWIN_OS_INLINE -__uint64_t -_OSSwapInt64( - __uint64_t _data - ) -{ - __asm__ ("bswap %%eax\n\t" - "bswap %%edx\n\t" - "xchgl %%eax, %%edx" - : "+A" (_data)); - return _data; -} -#elif defined(__x86_64__) -__DARWIN_OS_INLINE -__uint64_t -_OSSwapInt64( - __uint64_t _data - ) -{ - __asm__ ("bswap %0" : "+r" (_data)); - return _data; -} -#else -#error Unknown architecture -#endif - -#endif /* ! _OS__OSBYTEORDERI386_H */ \ No newline at end of file diff --git a/lib/libc/include/x86_64-macos.11-none/mach/i386/_structs.h b/lib/libc/include/x86_64-macos.11-none/mach/i386/_structs.h deleted file mode 100644 index 248653b4f8..0000000000 --- a/lib/libc/include/x86_64-macos.11-none/mach/i386/_structs.h +++ /dev/null @@ -1,1312 +0,0 @@ -/* - * Copyright (c) 2004-2006 Apple Computer, 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@ - */ -/* - * @OSF_COPYRIGHT@ - */ - -#ifndef _MACH_I386__STRUCTS_H_ -#define _MACH_I386__STRUCTS_H_ - -#include /* __DARWIN_UNIX03 */ -#include /* __uint8_t */ - -/* - * i386 is the structure that is exported to user threads for - * use in status/mutate calls. This structure should never change. - * - */ - -#if __DARWIN_UNIX03 -#define _STRUCT_X86_THREAD_STATE32 struct __darwin_i386_thread_state -_STRUCT_X86_THREAD_STATE32 -{ - unsigned int __eax; - unsigned int __ebx; - unsigned int __ecx; - unsigned int __edx; - unsigned int __edi; - unsigned int __esi; - unsigned int __ebp; - unsigned int __esp; - unsigned int __ss; - unsigned int __eflags; - unsigned int __eip; - unsigned int __cs; - unsigned int __ds; - unsigned int __es; - unsigned int __fs; - unsigned int __gs; -}; -#else /* !__DARWIN_UNIX03 */ -#define _STRUCT_X86_THREAD_STATE32 struct i386_thread_state -_STRUCT_X86_THREAD_STATE32 -{ - unsigned int eax; - unsigned int ebx; - unsigned int ecx; - unsigned int edx; - unsigned int edi; - unsigned int esi; - unsigned int ebp; - unsigned int esp; - unsigned int ss; - unsigned int eflags; - unsigned int eip; - unsigned int cs; - unsigned int ds; - unsigned int es; - unsigned int fs; - unsigned int gs; -}; -#endif /* !__DARWIN_UNIX03 */ - -/* This structure should be double-word aligned for performance */ - -#if __DARWIN_UNIX03 -#define _STRUCT_FP_CONTROL struct __darwin_fp_control -_STRUCT_FP_CONTROL -{ - unsigned short __invalid :1, - __denorm :1, - __zdiv :1, - __ovrfl :1, - __undfl :1, - __precis :1, - :2, - __pc :2, -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -#define FP_PREC_24B 0 -#define FP_PREC_53B 2 -#define FP_PREC_64B 3 -#endif /* !_POSIX_C_SOURCE || _DARWIN_C_SOURCE */ - __rc :2, -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -#define FP_RND_NEAR 0 -#define FP_RND_DOWN 1 -#define FP_RND_UP 2 -#define FP_CHOP 3 -#endif /* !_POSIX_C_SOURCE || _DARWIN_C_SOURCE */ - /*inf*/ :1, - :3; -}; -typedef _STRUCT_FP_CONTROL __darwin_fp_control_t; -#else /* !__DARWIN_UNIX03 */ -#define _STRUCT_FP_CONTROL struct fp_control -_STRUCT_FP_CONTROL -{ - unsigned short invalid :1, - denorm :1, - zdiv :1, - ovrfl :1, - undfl :1, - precis :1, - :2, - pc :2, -#define FP_PREC_24B 0 -#define FP_PREC_53B 2 -#define FP_PREC_64B 3 - rc :2, -#define FP_RND_NEAR 0 -#define FP_RND_DOWN 1 -#define FP_RND_UP 2 -#define FP_CHOP 3 - /*inf*/ :1, - :3; -}; -typedef _STRUCT_FP_CONTROL fp_control_t; -#endif /* !__DARWIN_UNIX03 */ - -/* - * Status word. - */ - -#if __DARWIN_UNIX03 -#define _STRUCT_FP_STATUS struct __darwin_fp_status -_STRUCT_FP_STATUS -{ - unsigned short __invalid :1, - __denorm :1, - __zdiv :1, - __ovrfl :1, - __undfl :1, - __precis :1, - __stkflt :1, - __errsumm :1, - __c0 :1, - __c1 :1, - __c2 :1, - __tos :3, - __c3 :1, - __busy :1; -}; -typedef _STRUCT_FP_STATUS __darwin_fp_status_t; -#else /* !__DARWIN_UNIX03 */ -#define _STRUCT_FP_STATUS struct fp_status -_STRUCT_FP_STATUS -{ - unsigned short invalid :1, - denorm :1, - zdiv :1, - ovrfl :1, - undfl :1, - precis :1, - stkflt :1, - errsumm :1, - c0 :1, - c1 :1, - c2 :1, - tos :3, - c3 :1, - busy :1; -}; -typedef _STRUCT_FP_STATUS fp_status_t; -#endif /* !__DARWIN_UNIX03 */ - -/* defn of 80bit x87 FPU or MMX register */ - -#if __DARWIN_UNIX03 -#define _STRUCT_MMST_REG struct __darwin_mmst_reg -_STRUCT_MMST_REG -{ - char __mmst_reg[10]; - char __mmst_rsrv[6]; -}; -#else /* !__DARWIN_UNIX03 */ -#define _STRUCT_MMST_REG struct mmst_reg -_STRUCT_MMST_REG -{ - char mmst_reg[10]; - char mmst_rsrv[6]; -}; -#endif /* !__DARWIN_UNIX03 */ - - -/* defn of 128 bit XMM regs */ - -#if __DARWIN_UNIX03 -#define _STRUCT_XMM_REG struct __darwin_xmm_reg -_STRUCT_XMM_REG -{ - char __xmm_reg[16]; -}; -#else /* !__DARWIN_UNIX03 */ -#define _STRUCT_XMM_REG struct xmm_reg -_STRUCT_XMM_REG -{ - char xmm_reg[16]; -}; -#endif /* !__DARWIN_UNIX03 */ - -/* defn of 256 bit YMM regs */ - -#if __DARWIN_UNIX03 -#define _STRUCT_YMM_REG struct __darwin_ymm_reg -_STRUCT_YMM_REG -{ - char __ymm_reg[32]; -}; -#else /* !__DARWIN_UNIX03 */ -#define _STRUCT_YMM_REG struct ymm_reg -_STRUCT_YMM_REG -{ - char ymm_reg[32]; -}; -#endif /* !__DARWIN_UNIX03 */ - -/* defn of 512 bit ZMM regs */ - -#if __DARWIN_UNIX03 -#define _STRUCT_ZMM_REG struct __darwin_zmm_reg -_STRUCT_ZMM_REG -{ - char __zmm_reg[64]; -}; -#else /* !__DARWIN_UNIX03 */ -#define _STRUCT_ZMM_REG struct zmm_reg -_STRUCT_ZMM_REG -{ - char zmm_reg[64]; -}; -#endif /* !__DARWIN_UNIX03 */ - -#if __DARWIN_UNIX03 -#define _STRUCT_OPMASK_REG struct __darwin_opmask_reg -_STRUCT_OPMASK_REG -{ - char __opmask_reg[8]; -}; -#else /* !__DARWIN_UNIX03 */ -#define _STRUCT_OPMASK_REG struct opmask_reg -_STRUCT_OPMASK_REG -{ - char opmask_reg[8]; -}; -#endif /* !__DARWIN_UNIX03 */ - -/* - * Floating point state. - */ - -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -#define FP_STATE_BYTES 512 /* number of chars worth of data from fpu_fcw */ -#endif /* !_POSIX_C_SOURCE || _DARWIN_C_SOURCE */ - -#if __DARWIN_UNIX03 -#define _STRUCT_X86_FLOAT_STATE32 struct __darwin_i386_float_state -_STRUCT_X86_FLOAT_STATE32 -{ - int __fpu_reserved[2]; - _STRUCT_FP_CONTROL __fpu_fcw; /* x87 FPU control word */ - _STRUCT_FP_STATUS __fpu_fsw; /* x87 FPU status word */ - __uint8_t __fpu_ftw; /* x87 FPU tag word */ - __uint8_t __fpu_rsrv1; /* reserved */ - __uint16_t __fpu_fop; /* x87 FPU Opcode */ - __uint32_t __fpu_ip; /* x87 FPU Instruction Pointer offset */ - __uint16_t __fpu_cs; /* x87 FPU Instruction Pointer Selector */ - __uint16_t __fpu_rsrv2; /* reserved */ - __uint32_t __fpu_dp; /* x87 FPU Instruction Operand(Data) Pointer offset */ - __uint16_t __fpu_ds; /* x87 FPU Instruction Operand(Data) Pointer Selector */ - __uint16_t __fpu_rsrv3; /* reserved */ - __uint32_t __fpu_mxcsr; /* MXCSR Register state */ - __uint32_t __fpu_mxcsrmask; /* MXCSR mask */ - _STRUCT_MMST_REG __fpu_stmm0; /* ST0/MM0 */ - _STRUCT_MMST_REG __fpu_stmm1; /* ST1/MM1 */ - _STRUCT_MMST_REG __fpu_stmm2; /* ST2/MM2 */ - _STRUCT_MMST_REG __fpu_stmm3; /* ST3/MM3 */ - _STRUCT_MMST_REG __fpu_stmm4; /* ST4/MM4 */ - _STRUCT_MMST_REG __fpu_stmm5; /* ST5/MM5 */ - _STRUCT_MMST_REG __fpu_stmm6; /* ST6/MM6 */ - _STRUCT_MMST_REG __fpu_stmm7; /* ST7/MM7 */ - _STRUCT_XMM_REG __fpu_xmm0; /* XMM 0 */ - _STRUCT_XMM_REG __fpu_xmm1; /* XMM 1 */ - _STRUCT_XMM_REG __fpu_xmm2; /* XMM 2 */ - _STRUCT_XMM_REG __fpu_xmm3; /* XMM 3 */ - _STRUCT_XMM_REG __fpu_xmm4; /* XMM 4 */ - _STRUCT_XMM_REG __fpu_xmm5; /* XMM 5 */ - _STRUCT_XMM_REG __fpu_xmm6; /* XMM 6 */ - _STRUCT_XMM_REG __fpu_xmm7; /* XMM 7 */ - char __fpu_rsrv4[14*16]; /* reserved */ - int __fpu_reserved1; -}; - -#define _STRUCT_X86_AVX_STATE32 struct __darwin_i386_avx_state -_STRUCT_X86_AVX_STATE32 -{ - int __fpu_reserved[2]; - _STRUCT_FP_CONTROL __fpu_fcw; /* x87 FPU control word */ - _STRUCT_FP_STATUS __fpu_fsw; /* x87 FPU status word */ - __uint8_t __fpu_ftw; /* x87 FPU tag word */ - __uint8_t __fpu_rsrv1; /* reserved */ - __uint16_t __fpu_fop; /* x87 FPU Opcode */ - __uint32_t __fpu_ip; /* x87 FPU Instruction Pointer offset */ - __uint16_t __fpu_cs; /* x87 FPU Instruction Pointer Selector */ - __uint16_t __fpu_rsrv2; /* reserved */ - __uint32_t __fpu_dp; /* x87 FPU Instruction Operand(Data) Pointer offset */ - __uint16_t __fpu_ds; /* x87 FPU Instruction Operand(Data) Pointer Selector */ - __uint16_t __fpu_rsrv3; /* reserved */ - __uint32_t __fpu_mxcsr; /* MXCSR Register state */ - __uint32_t __fpu_mxcsrmask; /* MXCSR mask */ - _STRUCT_MMST_REG __fpu_stmm0; /* ST0/MM0 */ - _STRUCT_MMST_REG __fpu_stmm1; /* ST1/MM1 */ - _STRUCT_MMST_REG __fpu_stmm2; /* ST2/MM2 */ - _STRUCT_MMST_REG __fpu_stmm3; /* ST3/MM3 */ - _STRUCT_MMST_REG __fpu_stmm4; /* ST4/MM4 */ - _STRUCT_MMST_REG __fpu_stmm5; /* ST5/MM5 */ - _STRUCT_MMST_REG __fpu_stmm6; /* ST6/MM6 */ - _STRUCT_MMST_REG __fpu_stmm7; /* ST7/MM7 */ - _STRUCT_XMM_REG __fpu_xmm0; /* XMM 0 */ - _STRUCT_XMM_REG __fpu_xmm1; /* XMM 1 */ - _STRUCT_XMM_REG __fpu_xmm2; /* XMM 2 */ - _STRUCT_XMM_REG __fpu_xmm3; /* XMM 3 */ - _STRUCT_XMM_REG __fpu_xmm4; /* XMM 4 */ - _STRUCT_XMM_REG __fpu_xmm5; /* XMM 5 */ - _STRUCT_XMM_REG __fpu_xmm6; /* XMM 6 */ - _STRUCT_XMM_REG __fpu_xmm7; /* XMM 7 */ - char __fpu_rsrv4[14*16]; /* reserved */ - int __fpu_reserved1; - char __avx_reserved1[64]; - _STRUCT_XMM_REG __fpu_ymmh0; /* YMMH 0 */ - _STRUCT_XMM_REG __fpu_ymmh1; /* YMMH 1 */ - _STRUCT_XMM_REG __fpu_ymmh2; /* YMMH 2 */ - _STRUCT_XMM_REG __fpu_ymmh3; /* YMMH 3 */ - _STRUCT_XMM_REG __fpu_ymmh4; /* YMMH 4 */ - _STRUCT_XMM_REG __fpu_ymmh5; /* YMMH 5 */ - _STRUCT_XMM_REG __fpu_ymmh6; /* YMMH 6 */ - _STRUCT_XMM_REG __fpu_ymmh7; /* YMMH 7 */ -}; - -#define _STRUCT_X86_AVX512_STATE32 struct __darwin_i386_avx512_state -_STRUCT_X86_AVX512_STATE32 -{ - int __fpu_reserved[2]; - _STRUCT_FP_CONTROL __fpu_fcw; /* x87 FPU control word */ - _STRUCT_FP_STATUS __fpu_fsw; /* x87 FPU status word */ - __uint8_t __fpu_ftw; /* x87 FPU tag word */ - __uint8_t __fpu_rsrv1; /* reserved */ - __uint16_t __fpu_fop; /* x87 FPU Opcode */ - __uint32_t __fpu_ip; /* x87 FPU Instruction Pointer offset */ - __uint16_t __fpu_cs; /* x87 FPU Instruction Pointer Selector */ - __uint16_t __fpu_rsrv2; /* reserved */ - __uint32_t __fpu_dp; /* x87 FPU Instruction Operand(Data) Pointer offset */ - __uint16_t __fpu_ds; /* x87 FPU Instruction Operand(Data) Pointer Selector */ - __uint16_t __fpu_rsrv3; /* reserved */ - __uint32_t __fpu_mxcsr; /* MXCSR Register state */ - __uint32_t __fpu_mxcsrmask; /* MXCSR mask */ - _STRUCT_MMST_REG __fpu_stmm0; /* ST0/MM0 */ - _STRUCT_MMST_REG __fpu_stmm1; /* ST1/MM1 */ - _STRUCT_MMST_REG __fpu_stmm2; /* ST2/MM2 */ - _STRUCT_MMST_REG __fpu_stmm3; /* ST3/MM3 */ - _STRUCT_MMST_REG __fpu_stmm4; /* ST4/MM4 */ - _STRUCT_MMST_REG __fpu_stmm5; /* ST5/MM5 */ - _STRUCT_MMST_REG __fpu_stmm6; /* ST6/MM6 */ - _STRUCT_MMST_REG __fpu_stmm7; /* ST7/MM7 */ - _STRUCT_XMM_REG __fpu_xmm0; /* XMM 0 */ - _STRUCT_XMM_REG __fpu_xmm1; /* XMM 1 */ - _STRUCT_XMM_REG __fpu_xmm2; /* XMM 2 */ - _STRUCT_XMM_REG __fpu_xmm3; /* XMM 3 */ - _STRUCT_XMM_REG __fpu_xmm4; /* XMM 4 */ - _STRUCT_XMM_REG __fpu_xmm5; /* XMM 5 */ - _STRUCT_XMM_REG __fpu_xmm6; /* XMM 6 */ - _STRUCT_XMM_REG __fpu_xmm7; /* XMM 7 */ - char __fpu_rsrv4[14*16]; /* reserved */ - int __fpu_reserved1; - char __avx_reserved1[64]; - _STRUCT_XMM_REG __fpu_ymmh0; /* YMMH 0 */ - _STRUCT_XMM_REG __fpu_ymmh1; /* YMMH 1 */ - _STRUCT_XMM_REG __fpu_ymmh2; /* YMMH 2 */ - _STRUCT_XMM_REG __fpu_ymmh3; /* YMMH 3 */ - _STRUCT_XMM_REG __fpu_ymmh4; /* YMMH 4 */ - _STRUCT_XMM_REG __fpu_ymmh5; /* YMMH 5 */ - _STRUCT_XMM_REG __fpu_ymmh6; /* YMMH 6 */ - _STRUCT_XMM_REG __fpu_ymmh7; /* YMMH 7 */ - _STRUCT_OPMASK_REG __fpu_k0; /* K0 */ - _STRUCT_OPMASK_REG __fpu_k1; /* K1 */ - _STRUCT_OPMASK_REG __fpu_k2; /* K2 */ - _STRUCT_OPMASK_REG __fpu_k3; /* K3 */ - _STRUCT_OPMASK_REG __fpu_k4; /* K4 */ - _STRUCT_OPMASK_REG __fpu_k5; /* K5 */ - _STRUCT_OPMASK_REG __fpu_k6; /* K6 */ - _STRUCT_OPMASK_REG __fpu_k7; /* K7 */ - _STRUCT_YMM_REG __fpu_zmmh0; /* ZMMH 0 */ - _STRUCT_YMM_REG __fpu_zmmh1; /* ZMMH 1 */ - _STRUCT_YMM_REG __fpu_zmmh2; /* ZMMH 2 */ - _STRUCT_YMM_REG __fpu_zmmh3; /* ZMMH 3 */ - _STRUCT_YMM_REG __fpu_zmmh4; /* ZMMH 4 */ - _STRUCT_YMM_REG __fpu_zmmh5; /* ZMMH 5 */ - _STRUCT_YMM_REG __fpu_zmmh6; /* ZMMH 6 */ - _STRUCT_YMM_REG __fpu_zmmh7; /* ZMMH 7 */ -}; - -#else /* !__DARWIN_UNIX03 */ -#define _STRUCT_X86_FLOAT_STATE32 struct i386_float_state -_STRUCT_X86_FLOAT_STATE32 -{ - int fpu_reserved[2]; - _STRUCT_FP_CONTROL fpu_fcw; /* x87 FPU control word */ - _STRUCT_FP_STATUS fpu_fsw; /* x87 FPU status word */ - __uint8_t fpu_ftw; /* x87 FPU tag word */ - __uint8_t fpu_rsrv1; /* reserved */ - __uint16_t fpu_fop; /* x87 FPU Opcode */ - __uint32_t fpu_ip; /* x87 FPU Instruction Pointer offset */ - __uint16_t fpu_cs; /* x87 FPU Instruction Pointer Selector */ - __uint16_t fpu_rsrv2; /* reserved */ - __uint32_t fpu_dp; /* x87 FPU Instruction Operand(Data) Pointer offset */ - __uint16_t fpu_ds; /* x87 FPU Instruction Operand(Data) Pointer Selector */ - __uint16_t fpu_rsrv3; /* reserved */ - __uint32_t fpu_mxcsr; /* MXCSR Register state */ - __uint32_t fpu_mxcsrmask; /* MXCSR mask */ - _STRUCT_MMST_REG fpu_stmm0; /* ST0/MM0 */ - _STRUCT_MMST_REG fpu_stmm1; /* ST1/MM1 */ - _STRUCT_MMST_REG fpu_stmm2; /* ST2/MM2 */ - _STRUCT_MMST_REG fpu_stmm3; /* ST3/MM3 */ - _STRUCT_MMST_REG fpu_stmm4; /* ST4/MM4 */ - _STRUCT_MMST_REG fpu_stmm5; /* ST5/MM5 */ - _STRUCT_MMST_REG fpu_stmm6; /* ST6/MM6 */ - _STRUCT_MMST_REG fpu_stmm7; /* ST7/MM7 */ - _STRUCT_XMM_REG fpu_xmm0; /* XMM 0 */ - _STRUCT_XMM_REG fpu_xmm1; /* XMM 1 */ - _STRUCT_XMM_REG fpu_xmm2; /* XMM 2 */ - _STRUCT_XMM_REG fpu_xmm3; /* XMM 3 */ - _STRUCT_XMM_REG fpu_xmm4; /* XMM 4 */ - _STRUCT_XMM_REG fpu_xmm5; /* XMM 5 */ - _STRUCT_XMM_REG fpu_xmm6; /* XMM 6 */ - _STRUCT_XMM_REG fpu_xmm7; /* XMM 7 */ - char fpu_rsrv4[14*16]; /* reserved */ - int fpu_reserved1; -}; - -#define _STRUCT_X86_AVX_STATE32 struct i386_avx_state -_STRUCT_X86_AVX_STATE32 -{ - int fpu_reserved[2]; - _STRUCT_FP_CONTROL fpu_fcw; /* x87 FPU control word */ - _STRUCT_FP_STATUS fpu_fsw; /* x87 FPU status word */ - __uint8_t fpu_ftw; /* x87 FPU tag word */ - __uint8_t fpu_rsrv1; /* reserved */ - __uint16_t fpu_fop; /* x87 FPU Opcode */ - __uint32_t fpu_ip; /* x87 FPU Instruction Pointer offset */ - __uint16_t fpu_cs; /* x87 FPU Instruction Pointer Selector */ - __uint16_t fpu_rsrv2; /* reserved */ - __uint32_t fpu_dp; /* x87 FPU Instruction Operand(Data) Pointer offset */ - __uint16_t fpu_ds; /* x87 FPU Instruction Operand(Data) Pointer Selector */ - __uint16_t fpu_rsrv3; /* reserved */ - __uint32_t fpu_mxcsr; /* MXCSR Register state */ - __uint32_t fpu_mxcsrmask; /* MXCSR mask */ - _STRUCT_MMST_REG fpu_stmm0; /* ST0/MM0 */ - _STRUCT_MMST_REG fpu_stmm1; /* ST1/MM1 */ - _STRUCT_MMST_REG fpu_stmm2; /* ST2/MM2 */ - _STRUCT_MMST_REG fpu_stmm3; /* ST3/MM3 */ - _STRUCT_MMST_REG fpu_stmm4; /* ST4/MM4 */ - _STRUCT_MMST_REG fpu_stmm5; /* ST5/MM5 */ - _STRUCT_MMST_REG fpu_stmm6; /* ST6/MM6 */ - _STRUCT_MMST_REG fpu_stmm7; /* ST7/MM7 */ - _STRUCT_XMM_REG fpu_xmm0; /* XMM 0 */ - _STRUCT_XMM_REG fpu_xmm1; /* XMM 1 */ - _STRUCT_XMM_REG fpu_xmm2; /* XMM 2 */ - _STRUCT_XMM_REG fpu_xmm3; /* XMM 3 */ - _STRUCT_XMM_REG fpu_xmm4; /* XMM 4 */ - _STRUCT_XMM_REG fpu_xmm5; /* XMM 5 */ - _STRUCT_XMM_REG fpu_xmm6; /* XMM 6 */ - _STRUCT_XMM_REG fpu_xmm7; /* XMM 7 */ - char fpu_rsrv4[14*16]; /* reserved */ - int fpu_reserved1; - char avx_reserved1[64]; - _STRUCT_XMM_REG fpu_ymmh0; /* YMMH 0 */ - _STRUCT_XMM_REG fpu_ymmh1; /* YMMH 1 */ - _STRUCT_XMM_REG fpu_ymmh2; /* YMMH 2 */ - _STRUCT_XMM_REG fpu_ymmh3; /* YMMH 3 */ - _STRUCT_XMM_REG fpu_ymmh4; /* YMMH 4 */ - _STRUCT_XMM_REG fpu_ymmh5; /* YMMH 5 */ - _STRUCT_XMM_REG fpu_ymmh6; /* YMMH 6 */ - _STRUCT_XMM_REG fpu_ymmh7; /* YMMH 7 */ -}; - -#define _STRUCT_X86_AVX512_STATE32 struct i386_avx512_state -_STRUCT_X86_AVX512_STATE32 -{ - int fpu_reserved[2]; - _STRUCT_FP_CONTROL fpu_fcw; /* x87 FPU control word */ - _STRUCT_FP_STATUS fpu_fsw; /* x87 FPU status word */ - __uint8_t fpu_ftw; /* x87 FPU tag word */ - __uint8_t fpu_rsrv1; /* reserved */ - __uint16_t fpu_fop; /* x87 FPU Opcode */ - __uint32_t fpu_ip; /* x87 FPU Instruction Pointer offset */ - __uint16_t fpu_cs; /* x87 FPU Instruction Pointer Selector */ - __uint16_t fpu_rsrv2; /* reserved */ - __uint32_t fpu_dp; /* x87 FPU Instruction Operand(Data) Pointer offset */ - __uint16_t fpu_ds; /* x87 FPU Instruction Operand(Data) Pointer Selector */ - __uint16_t fpu_rsrv3; /* reserved */ - __uint32_t fpu_mxcsr; /* MXCSR Register state */ - __uint32_t fpu_mxcsrmask; /* MXCSR mask */ - _STRUCT_MMST_REG fpu_stmm0; /* ST0/MM0 */ - _STRUCT_MMST_REG fpu_stmm1; /* ST1/MM1 */ - _STRUCT_MMST_REG fpu_stmm2; /* ST2/MM2 */ - _STRUCT_MMST_REG fpu_stmm3; /* ST3/MM3 */ - _STRUCT_MMST_REG fpu_stmm4; /* ST4/MM4 */ - _STRUCT_MMST_REG fpu_stmm5; /* ST5/MM5 */ - _STRUCT_MMST_REG fpu_stmm6; /* ST6/MM6 */ - _STRUCT_MMST_REG fpu_stmm7; /* ST7/MM7 */ - _STRUCT_XMM_REG fpu_xmm0; /* XMM 0 */ - _STRUCT_XMM_REG fpu_xmm1; /* XMM 1 */ - _STRUCT_XMM_REG fpu_xmm2; /* XMM 2 */ - _STRUCT_XMM_REG fpu_xmm3; /* XMM 3 */ - _STRUCT_XMM_REG fpu_xmm4; /* XMM 4 */ - _STRUCT_XMM_REG fpu_xmm5; /* XMM 5 */ - _STRUCT_XMM_REG fpu_xmm6; /* XMM 6 */ - _STRUCT_XMM_REG fpu_xmm7; /* XMM 7 */ - char fpu_rsrv4[14*16]; /* reserved */ - int fpu_reserved1; - char avx_reserved1[64]; - _STRUCT_XMM_REG fpu_ymmh0; /* YMMH 0 */ - _STRUCT_XMM_REG fpu_ymmh1; /* YMMH 1 */ - _STRUCT_XMM_REG fpu_ymmh2; /* YMMH 2 */ - _STRUCT_XMM_REG fpu_ymmh3; /* YMMH 3 */ - _STRUCT_XMM_REG fpu_ymmh4; /* YMMH 4 */ - _STRUCT_XMM_REG fpu_ymmh5; /* YMMH 5 */ - _STRUCT_XMM_REG fpu_ymmh6; /* YMMH 6 */ - _STRUCT_XMM_REG fpu_ymmh7; /* YMMH 7 */ - _STRUCT_OPMASK_REG fpu_k0; /* K0 */ - _STRUCT_OPMASK_REG fpu_k1; /* K1 */ - _STRUCT_OPMASK_REG fpu_k2; /* K2 */ - _STRUCT_OPMASK_REG fpu_k3; /* K3 */ - _STRUCT_OPMASK_REG fpu_k4; /* K4 */ - _STRUCT_OPMASK_REG fpu_k5; /* K5 */ - _STRUCT_OPMASK_REG fpu_k6; /* K6 */ - _STRUCT_OPMASK_REG fpu_k7; /* K7 */ - _STRUCT_YMM_REG fpu_zmmh0; /* ZMMH 0 */ - _STRUCT_YMM_REG fpu_zmmh1; /* ZMMH 1 */ - _STRUCT_YMM_REG fpu_zmmh2; /* ZMMH 2 */ - _STRUCT_YMM_REG fpu_zmmh3; /* ZMMH 3 */ - _STRUCT_YMM_REG fpu_zmmh4; /* ZMMH 4 */ - _STRUCT_YMM_REG fpu_zmmh5; /* ZMMH 5 */ - _STRUCT_YMM_REG fpu_zmmh6; /* ZMMH 6 */ - _STRUCT_YMM_REG fpu_zmmh7; /* ZMMH 7 */ -}; - -#endif /* !__DARWIN_UNIX03 */ - -#if __DARWIN_UNIX03 -#define _STRUCT_X86_EXCEPTION_STATE32 struct __darwin_i386_exception_state -_STRUCT_X86_EXCEPTION_STATE32 -{ - __uint16_t __trapno; - __uint16_t __cpu; - __uint32_t __err; - __uint32_t __faultvaddr; -}; -#else /* !__DARWIN_UNIX03 */ -#define _STRUCT_X86_EXCEPTION_STATE32 struct i386_exception_state -_STRUCT_X86_EXCEPTION_STATE32 -{ - __uint16_t trapno; - __uint16_t cpu; - __uint32_t err; - __uint32_t faultvaddr; -}; -#endif /* !__DARWIN_UNIX03 */ - -#if __DARWIN_UNIX03 -#define _STRUCT_X86_DEBUG_STATE32 struct __darwin_x86_debug_state32 -_STRUCT_X86_DEBUG_STATE32 -{ - unsigned int __dr0; - unsigned int __dr1; - unsigned int __dr2; - unsigned int __dr3; - unsigned int __dr4; - unsigned int __dr5; - unsigned int __dr6; - unsigned int __dr7; -}; - -#define _STRUCT_X86_INSTRUCTION_STATE struct __x86_instruction_state -_STRUCT_X86_INSTRUCTION_STATE -{ - int __insn_stream_valid_bytes; - int __insn_offset; - int __out_of_synch; /* - * non-zero when the cacheline that includes the insn_offset - * is replaced in the insn_bytes array due to a mismatch - * detected when comparing it with the same cacheline in memory - */ -#define _X86_INSTRUCTION_STATE_MAX_INSN_BYTES (2448 - 64 - 4) - __uint8_t __insn_bytes[_X86_INSTRUCTION_STATE_MAX_INSN_BYTES]; -#define _X86_INSTRUCTION_STATE_CACHELINE_SIZE 64 - __uint8_t __insn_cacheline[_X86_INSTRUCTION_STATE_CACHELINE_SIZE]; -}; - -#define _STRUCT_LAST_BRANCH_RECORD struct __last_branch_record -_STRUCT_LAST_BRANCH_RECORD -{ - __uint64_t __from_ip; - __uint64_t __to_ip; - __uint32_t __mispredict : 1, - __tsx_abort : 1, - __in_tsx : 1, - __cycle_count: 16, - __reserved : 13; -}; - -#define _STRUCT_LAST_BRANCH_STATE struct __last_branch_state -_STRUCT_LAST_BRANCH_STATE -{ - int __lbr_count; - __uint32_t __lbr_supported_tsx : 1, - __lbr_supported_cycle_count : 1, - __reserved : 30; -#define __LASTBRANCH_MAX 32 - _STRUCT_LAST_BRANCH_RECORD __lbrs[__LASTBRANCH_MAX]; -}; - -#else /* !__DARWIN_UNIX03 */ - -#define _STRUCT_X86_DEBUG_STATE32 struct x86_debug_state32 -_STRUCT_X86_DEBUG_STATE32 -{ - unsigned int dr0; - unsigned int dr1; - unsigned int dr2; - unsigned int dr3; - unsigned int dr4; - unsigned int dr5; - unsigned int dr6; - unsigned int dr7; -}; - -#define _STRUCT_X86_INSTRUCTION_STATE struct __x86_instruction_state -_STRUCT_X86_INSTRUCTION_STATE -{ - int insn_stream_valid_bytes; - int insn_offset; - int out_of_synch; /* - * non-zero when the cacheline that includes the insn_offset - * is replaced in the insn_bytes array due to a mismatch - * detected when comparing it with the same cacheline in memory - */ -#define x86_INSTRUCTION_STATE_MAX_INSN_BYTES (2448 - 64 - 4) - __uint8_t insn_bytes[x86_INSTRUCTION_STATE_MAX_INSN_BYTES]; -#define x86_INSTRUCTION_STATE_CACHELINE_SIZE 64 - __uint8_t insn_cacheline[x86_INSTRUCTION_STATE_CACHELINE_SIZE]; -}; - -#define _STRUCT_LAST_BRANCH_RECORD struct __last_branch_record -_STRUCT_LAST_BRANCH_RECORD -{ - __uint64_t from_ip; - __uint64_t to_ip; - __uint32_t mispredict : 1, - tsx_abort : 1, - in_tsx : 1, - cycle_count: 16, - reserved : 13; -}; - -#define _STRUCT_LAST_BRANCH_STATE struct __last_branch_state -_STRUCT_LAST_BRANCH_STATE -{ - int lbr_count; - __uint32_t lbr_supported_tsx : 1, - lbr_supported_cycle_count : 1, - reserved : 30; -#define __LASTBRANCH_MAX 32 - _STRUCT_LAST_BRANCH_RECORD lbrs[__LASTBRANCH_MAX]; -}; -#endif /* !__DARWIN_UNIX03 */ - -#define _STRUCT_X86_PAGEIN_STATE struct __x86_pagein_state -_STRUCT_X86_PAGEIN_STATE -{ - int __pagein_error; -}; - -/* - * 64 bit versions of the above - */ - -#if __DARWIN_UNIX03 -#define _STRUCT_X86_THREAD_STATE64 struct __darwin_x86_thread_state64 -_STRUCT_X86_THREAD_STATE64 -{ - __uint64_t __rax; - __uint64_t __rbx; - __uint64_t __rcx; - __uint64_t __rdx; - __uint64_t __rdi; - __uint64_t __rsi; - __uint64_t __rbp; - __uint64_t __rsp; - __uint64_t __r8; - __uint64_t __r9; - __uint64_t __r10; - __uint64_t __r11; - __uint64_t __r12; - __uint64_t __r13; - __uint64_t __r14; - __uint64_t __r15; - __uint64_t __rip; - __uint64_t __rflags; - __uint64_t __cs; - __uint64_t __fs; - __uint64_t __gs; -}; -#else /* !__DARWIN_UNIX03 */ -#define _STRUCT_X86_THREAD_STATE64 struct x86_thread_state64 -_STRUCT_X86_THREAD_STATE64 -{ - __uint64_t rax; - __uint64_t rbx; - __uint64_t rcx; - __uint64_t rdx; - __uint64_t rdi; - __uint64_t rsi; - __uint64_t rbp; - __uint64_t rsp; - __uint64_t r8; - __uint64_t r9; - __uint64_t r10; - __uint64_t r11; - __uint64_t r12; - __uint64_t r13; - __uint64_t r14; - __uint64_t r15; - __uint64_t rip; - __uint64_t rflags; - __uint64_t cs; - __uint64_t fs; - __uint64_t gs; -}; -#endif /* !__DARWIN_UNIX03 */ - -/* - * 64 bit versions of the above (complete) - */ - -#if __DARWIN_UNIX03 -#define _STRUCT_X86_THREAD_FULL_STATE64 struct __darwin_x86_thread_full_state64 -_STRUCT_X86_THREAD_FULL_STATE64 -{ - _STRUCT_X86_THREAD_STATE64 __ss64; - __uint64_t __ds; - __uint64_t __es; - __uint64_t __ss; - __uint64_t __gsbase; -}; -#else /* !__DARWIN_UNIX03 */ -#define _STRUCT_X86_THREAD_FULL_STATE64 struct x86_thread_full_state64 -_STRUCT_X86_THREAD_FULL_STATE64 -{ - _STRUCT_X86_THREAD_STATE64 ss64; - __uint64_t ds; - __uint64_t es; - __uint64_t ss; - __uint64_t gsbase; -}; -#endif /* !__DARWIN_UNIX03 */ - - -#if __DARWIN_UNIX03 -#define _STRUCT_X86_FLOAT_STATE64 struct __darwin_x86_float_state64 -_STRUCT_X86_FLOAT_STATE64 -{ - int __fpu_reserved[2]; - _STRUCT_FP_CONTROL __fpu_fcw; /* x87 FPU control word */ - _STRUCT_FP_STATUS __fpu_fsw; /* x87 FPU status word */ - __uint8_t __fpu_ftw; /* x87 FPU tag word */ - __uint8_t __fpu_rsrv1; /* reserved */ - __uint16_t __fpu_fop; /* x87 FPU Opcode */ - - /* x87 FPU Instruction Pointer */ - __uint32_t __fpu_ip; /* offset */ - __uint16_t __fpu_cs; /* Selector */ - - __uint16_t __fpu_rsrv2; /* reserved */ - - /* x87 FPU Instruction Operand(Data) Pointer */ - __uint32_t __fpu_dp; /* offset */ - __uint16_t __fpu_ds; /* Selector */ - - __uint16_t __fpu_rsrv3; /* reserved */ - __uint32_t __fpu_mxcsr; /* MXCSR Register state */ - __uint32_t __fpu_mxcsrmask; /* MXCSR mask */ - _STRUCT_MMST_REG __fpu_stmm0; /* ST0/MM0 */ - _STRUCT_MMST_REG __fpu_stmm1; /* ST1/MM1 */ - _STRUCT_MMST_REG __fpu_stmm2; /* ST2/MM2 */ - _STRUCT_MMST_REG __fpu_stmm3; /* ST3/MM3 */ - _STRUCT_MMST_REG __fpu_stmm4; /* ST4/MM4 */ - _STRUCT_MMST_REG __fpu_stmm5; /* ST5/MM5 */ - _STRUCT_MMST_REG __fpu_stmm6; /* ST6/MM6 */ - _STRUCT_MMST_REG __fpu_stmm7; /* ST7/MM7 */ - _STRUCT_XMM_REG __fpu_xmm0; /* XMM 0 */ - _STRUCT_XMM_REG __fpu_xmm1; /* XMM 1 */ - _STRUCT_XMM_REG __fpu_xmm2; /* XMM 2 */ - _STRUCT_XMM_REG __fpu_xmm3; /* XMM 3 */ - _STRUCT_XMM_REG __fpu_xmm4; /* XMM 4 */ - _STRUCT_XMM_REG __fpu_xmm5; /* XMM 5 */ - _STRUCT_XMM_REG __fpu_xmm6; /* XMM 6 */ - _STRUCT_XMM_REG __fpu_xmm7; /* XMM 7 */ - _STRUCT_XMM_REG __fpu_xmm8; /* XMM 8 */ - _STRUCT_XMM_REG __fpu_xmm9; /* XMM 9 */ - _STRUCT_XMM_REG __fpu_xmm10; /* XMM 10 */ - _STRUCT_XMM_REG __fpu_xmm11; /* XMM 11 */ - _STRUCT_XMM_REG __fpu_xmm12; /* XMM 12 */ - _STRUCT_XMM_REG __fpu_xmm13; /* XMM 13 */ - _STRUCT_XMM_REG __fpu_xmm14; /* XMM 14 */ - _STRUCT_XMM_REG __fpu_xmm15; /* XMM 15 */ - char __fpu_rsrv4[6*16]; /* reserved */ - int __fpu_reserved1; -}; - -#define _STRUCT_X86_AVX_STATE64 struct __darwin_x86_avx_state64 -_STRUCT_X86_AVX_STATE64 -{ - int __fpu_reserved[2]; - _STRUCT_FP_CONTROL __fpu_fcw; /* x87 FPU control word */ - _STRUCT_FP_STATUS __fpu_fsw; /* x87 FPU status word */ - __uint8_t __fpu_ftw; /* x87 FPU tag word */ - __uint8_t __fpu_rsrv1; /* reserved */ - __uint16_t __fpu_fop; /* x87 FPU Opcode */ - - /* x87 FPU Instruction Pointer */ - __uint32_t __fpu_ip; /* offset */ - __uint16_t __fpu_cs; /* Selector */ - - __uint16_t __fpu_rsrv2; /* reserved */ - - /* x87 FPU Instruction Operand(Data) Pointer */ - __uint32_t __fpu_dp; /* offset */ - __uint16_t __fpu_ds; /* Selector */ - - __uint16_t __fpu_rsrv3; /* reserved */ - __uint32_t __fpu_mxcsr; /* MXCSR Register state */ - __uint32_t __fpu_mxcsrmask; /* MXCSR mask */ - _STRUCT_MMST_REG __fpu_stmm0; /* ST0/MM0 */ - _STRUCT_MMST_REG __fpu_stmm1; /* ST1/MM1 */ - _STRUCT_MMST_REG __fpu_stmm2; /* ST2/MM2 */ - _STRUCT_MMST_REG __fpu_stmm3; /* ST3/MM3 */ - _STRUCT_MMST_REG __fpu_stmm4; /* ST4/MM4 */ - _STRUCT_MMST_REG __fpu_stmm5; /* ST5/MM5 */ - _STRUCT_MMST_REG __fpu_stmm6; /* ST6/MM6 */ - _STRUCT_MMST_REG __fpu_stmm7; /* ST7/MM7 */ - _STRUCT_XMM_REG __fpu_xmm0; /* XMM 0 */ - _STRUCT_XMM_REG __fpu_xmm1; /* XMM 1 */ - _STRUCT_XMM_REG __fpu_xmm2; /* XMM 2 */ - _STRUCT_XMM_REG __fpu_xmm3; /* XMM 3 */ - _STRUCT_XMM_REG __fpu_xmm4; /* XMM 4 */ - _STRUCT_XMM_REG __fpu_xmm5; /* XMM 5 */ - _STRUCT_XMM_REG __fpu_xmm6; /* XMM 6 */ - _STRUCT_XMM_REG __fpu_xmm7; /* XMM 7 */ - _STRUCT_XMM_REG __fpu_xmm8; /* XMM 8 */ - _STRUCT_XMM_REG __fpu_xmm9; /* XMM 9 */ - _STRUCT_XMM_REG __fpu_xmm10; /* XMM 10 */ - _STRUCT_XMM_REG __fpu_xmm11; /* XMM 11 */ - _STRUCT_XMM_REG __fpu_xmm12; /* XMM 12 */ - _STRUCT_XMM_REG __fpu_xmm13; /* XMM 13 */ - _STRUCT_XMM_REG __fpu_xmm14; /* XMM 14 */ - _STRUCT_XMM_REG __fpu_xmm15; /* XMM 15 */ - char __fpu_rsrv4[6*16]; /* reserved */ - int __fpu_reserved1; - char __avx_reserved1[64]; - _STRUCT_XMM_REG __fpu_ymmh0; /* YMMH 0 */ - _STRUCT_XMM_REG __fpu_ymmh1; /* YMMH 1 */ - _STRUCT_XMM_REG __fpu_ymmh2; /* YMMH 2 */ - _STRUCT_XMM_REG __fpu_ymmh3; /* YMMH 3 */ - _STRUCT_XMM_REG __fpu_ymmh4; /* YMMH 4 */ - _STRUCT_XMM_REG __fpu_ymmh5; /* YMMH 5 */ - _STRUCT_XMM_REG __fpu_ymmh6; /* YMMH 6 */ - _STRUCT_XMM_REG __fpu_ymmh7; /* YMMH 7 */ - _STRUCT_XMM_REG __fpu_ymmh8; /* YMMH 8 */ - _STRUCT_XMM_REG __fpu_ymmh9; /* YMMH 9 */ - _STRUCT_XMM_REG __fpu_ymmh10; /* YMMH 10 */ - _STRUCT_XMM_REG __fpu_ymmh11; /* YMMH 11 */ - _STRUCT_XMM_REG __fpu_ymmh12; /* YMMH 12 */ - _STRUCT_XMM_REG __fpu_ymmh13; /* YMMH 13 */ - _STRUCT_XMM_REG __fpu_ymmh14; /* YMMH 14 */ - _STRUCT_XMM_REG __fpu_ymmh15; /* YMMH 15 */ -}; - -#define _STRUCT_X86_AVX512_STATE64 struct __darwin_x86_avx512_state64 -_STRUCT_X86_AVX512_STATE64 -{ - int __fpu_reserved[2]; - _STRUCT_FP_CONTROL __fpu_fcw; /* x87 FPU control word */ - _STRUCT_FP_STATUS __fpu_fsw; /* x87 FPU status word */ - __uint8_t __fpu_ftw; /* x87 FPU tag word */ - __uint8_t __fpu_rsrv1; /* reserved */ - __uint16_t __fpu_fop; /* x87 FPU Opcode */ - - /* x87 FPU Instruction Pointer */ - __uint32_t __fpu_ip; /* offset */ - __uint16_t __fpu_cs; /* Selector */ - - __uint16_t __fpu_rsrv2; /* reserved */ - - /* x87 FPU Instruction Operand(Data) Pointer */ - __uint32_t __fpu_dp; /* offset */ - __uint16_t __fpu_ds; /* Selector */ - - __uint16_t __fpu_rsrv3; /* reserved */ - __uint32_t __fpu_mxcsr; /* MXCSR Register state */ - __uint32_t __fpu_mxcsrmask; /* MXCSR mask */ - _STRUCT_MMST_REG __fpu_stmm0; /* ST0/MM0 */ - _STRUCT_MMST_REG __fpu_stmm1; /* ST1/MM1 */ - _STRUCT_MMST_REG __fpu_stmm2; /* ST2/MM2 */ - _STRUCT_MMST_REG __fpu_stmm3; /* ST3/MM3 */ - _STRUCT_MMST_REG __fpu_stmm4; /* ST4/MM4 */ - _STRUCT_MMST_REG __fpu_stmm5; /* ST5/MM5 */ - _STRUCT_MMST_REG __fpu_stmm6; /* ST6/MM6 */ - _STRUCT_MMST_REG __fpu_stmm7; /* ST7/MM7 */ - _STRUCT_XMM_REG __fpu_xmm0; /* XMM 0 */ - _STRUCT_XMM_REG __fpu_xmm1; /* XMM 1 */ - _STRUCT_XMM_REG __fpu_xmm2; /* XMM 2 */ - _STRUCT_XMM_REG __fpu_xmm3; /* XMM 3 */ - _STRUCT_XMM_REG __fpu_xmm4; /* XMM 4 */ - _STRUCT_XMM_REG __fpu_xmm5; /* XMM 5 */ - _STRUCT_XMM_REG __fpu_xmm6; /* XMM 6 */ - _STRUCT_XMM_REG __fpu_xmm7; /* XMM 7 */ - _STRUCT_XMM_REG __fpu_xmm8; /* XMM 8 */ - _STRUCT_XMM_REG __fpu_xmm9; /* XMM 9 */ - _STRUCT_XMM_REG __fpu_xmm10; /* XMM 10 */ - _STRUCT_XMM_REG __fpu_xmm11; /* XMM 11 */ - _STRUCT_XMM_REG __fpu_xmm12; /* XMM 12 */ - _STRUCT_XMM_REG __fpu_xmm13; /* XMM 13 */ - _STRUCT_XMM_REG __fpu_xmm14; /* XMM 14 */ - _STRUCT_XMM_REG __fpu_xmm15; /* XMM 15 */ - char __fpu_rsrv4[6*16]; /* reserved */ - int __fpu_reserved1; - char __avx_reserved1[64]; - _STRUCT_XMM_REG __fpu_ymmh0; /* YMMH 0 */ - _STRUCT_XMM_REG __fpu_ymmh1; /* YMMH 1 */ - _STRUCT_XMM_REG __fpu_ymmh2; /* YMMH 2 */ - _STRUCT_XMM_REG __fpu_ymmh3; /* YMMH 3 */ - _STRUCT_XMM_REG __fpu_ymmh4; /* YMMH 4 */ - _STRUCT_XMM_REG __fpu_ymmh5; /* YMMH 5 */ - _STRUCT_XMM_REG __fpu_ymmh6; /* YMMH 6 */ - _STRUCT_XMM_REG __fpu_ymmh7; /* YMMH 7 */ - _STRUCT_XMM_REG __fpu_ymmh8; /* YMMH 8 */ - _STRUCT_XMM_REG __fpu_ymmh9; /* YMMH 9 */ - _STRUCT_XMM_REG __fpu_ymmh10; /* YMMH 10 */ - _STRUCT_XMM_REG __fpu_ymmh11; /* YMMH 11 */ - _STRUCT_XMM_REG __fpu_ymmh12; /* YMMH 12 */ - _STRUCT_XMM_REG __fpu_ymmh13; /* YMMH 13 */ - _STRUCT_XMM_REG __fpu_ymmh14; /* YMMH 14 */ - _STRUCT_XMM_REG __fpu_ymmh15; /* YMMH 15 */ - _STRUCT_OPMASK_REG __fpu_k0; /* K0 */ - _STRUCT_OPMASK_REG __fpu_k1; /* K1 */ - _STRUCT_OPMASK_REG __fpu_k2; /* K2 */ - _STRUCT_OPMASK_REG __fpu_k3; /* K3 */ - _STRUCT_OPMASK_REG __fpu_k4; /* K4 */ - _STRUCT_OPMASK_REG __fpu_k5; /* K5 */ - _STRUCT_OPMASK_REG __fpu_k6; /* K6 */ - _STRUCT_OPMASK_REG __fpu_k7; /* K7 */ - _STRUCT_YMM_REG __fpu_zmmh0; /* ZMMH 0 */ - _STRUCT_YMM_REG __fpu_zmmh1; /* ZMMH 1 */ - _STRUCT_YMM_REG __fpu_zmmh2; /* ZMMH 2 */ - _STRUCT_YMM_REG __fpu_zmmh3; /* ZMMH 3 */ - _STRUCT_YMM_REG __fpu_zmmh4; /* ZMMH 4 */ - _STRUCT_YMM_REG __fpu_zmmh5; /* ZMMH 5 */ - _STRUCT_YMM_REG __fpu_zmmh6; /* ZMMH 6 */ - _STRUCT_YMM_REG __fpu_zmmh7; /* ZMMH 7 */ - _STRUCT_YMM_REG __fpu_zmmh8; /* ZMMH 8 */ - _STRUCT_YMM_REG __fpu_zmmh9; /* ZMMH 9 */ - _STRUCT_YMM_REG __fpu_zmmh10; /* ZMMH 10 */ - _STRUCT_YMM_REG __fpu_zmmh11; /* ZMMH 11 */ - _STRUCT_YMM_REG __fpu_zmmh12; /* ZMMH 12 */ - _STRUCT_YMM_REG __fpu_zmmh13; /* ZMMH 13 */ - _STRUCT_YMM_REG __fpu_zmmh14; /* ZMMH 14 */ - _STRUCT_YMM_REG __fpu_zmmh15; /* ZMMH 15 */ - _STRUCT_ZMM_REG __fpu_zmm16; /* ZMM 16 */ - _STRUCT_ZMM_REG __fpu_zmm17; /* ZMM 17 */ - _STRUCT_ZMM_REG __fpu_zmm18; /* ZMM 18 */ - _STRUCT_ZMM_REG __fpu_zmm19; /* ZMM 19 */ - _STRUCT_ZMM_REG __fpu_zmm20; /* ZMM 20 */ - _STRUCT_ZMM_REG __fpu_zmm21; /* ZMM 21 */ - _STRUCT_ZMM_REG __fpu_zmm22; /* ZMM 22 */ - _STRUCT_ZMM_REG __fpu_zmm23; /* ZMM 23 */ - _STRUCT_ZMM_REG __fpu_zmm24; /* ZMM 24 */ - _STRUCT_ZMM_REG __fpu_zmm25; /* ZMM 25 */ - _STRUCT_ZMM_REG __fpu_zmm26; /* ZMM 26 */ - _STRUCT_ZMM_REG __fpu_zmm27; /* ZMM 27 */ - _STRUCT_ZMM_REG __fpu_zmm28; /* ZMM 28 */ - _STRUCT_ZMM_REG __fpu_zmm29; /* ZMM 29 */ - _STRUCT_ZMM_REG __fpu_zmm30; /* ZMM 30 */ - _STRUCT_ZMM_REG __fpu_zmm31; /* ZMM 31 */ -}; - -#else /* !__DARWIN_UNIX03 */ -#define _STRUCT_X86_FLOAT_STATE64 struct x86_float_state64 -_STRUCT_X86_FLOAT_STATE64 -{ - int fpu_reserved[2]; - _STRUCT_FP_CONTROL fpu_fcw; /* x87 FPU control word */ - _STRUCT_FP_STATUS fpu_fsw; /* x87 FPU status word */ - __uint8_t fpu_ftw; /* x87 FPU tag word */ - __uint8_t fpu_rsrv1; /* reserved */ - __uint16_t fpu_fop; /* x87 FPU Opcode */ - - /* x87 FPU Instruction Pointer */ - __uint32_t fpu_ip; /* offset */ - __uint16_t fpu_cs; /* Selector */ - - __uint16_t fpu_rsrv2; /* reserved */ - - /* x87 FPU Instruction Operand(Data) Pointer */ - __uint32_t fpu_dp; /* offset */ - __uint16_t fpu_ds; /* Selector */ - - __uint16_t fpu_rsrv3; /* reserved */ - __uint32_t fpu_mxcsr; /* MXCSR Register state */ - __uint32_t fpu_mxcsrmask; /* MXCSR mask */ - _STRUCT_MMST_REG fpu_stmm0; /* ST0/MM0 */ - _STRUCT_MMST_REG fpu_stmm1; /* ST1/MM1 */ - _STRUCT_MMST_REG fpu_stmm2; /* ST2/MM2 */ - _STRUCT_MMST_REG fpu_stmm3; /* ST3/MM3 */ - _STRUCT_MMST_REG fpu_stmm4; /* ST4/MM4 */ - _STRUCT_MMST_REG fpu_stmm5; /* ST5/MM5 */ - _STRUCT_MMST_REG fpu_stmm6; /* ST6/MM6 */ - _STRUCT_MMST_REG fpu_stmm7; /* ST7/MM7 */ - _STRUCT_XMM_REG fpu_xmm0; /* XMM 0 */ - _STRUCT_XMM_REG fpu_xmm1; /* XMM 1 */ - _STRUCT_XMM_REG fpu_xmm2; /* XMM 2 */ - _STRUCT_XMM_REG fpu_xmm3; /* XMM 3 */ - _STRUCT_XMM_REG fpu_xmm4; /* XMM 4 */ - _STRUCT_XMM_REG fpu_xmm5; /* XMM 5 */ - _STRUCT_XMM_REG fpu_xmm6; /* XMM 6 */ - _STRUCT_XMM_REG fpu_xmm7; /* XMM 7 */ - _STRUCT_XMM_REG fpu_xmm8; /* XMM 8 */ - _STRUCT_XMM_REG fpu_xmm9; /* XMM 9 */ - _STRUCT_XMM_REG fpu_xmm10; /* XMM 10 */ - _STRUCT_XMM_REG fpu_xmm11; /* XMM 11 */ - _STRUCT_XMM_REG fpu_xmm12; /* XMM 12 */ - _STRUCT_XMM_REG fpu_xmm13; /* XMM 13 */ - _STRUCT_XMM_REG fpu_xmm14; /* XMM 14 */ - _STRUCT_XMM_REG fpu_xmm15; /* XMM 15 */ - char fpu_rsrv4[6*16]; /* reserved */ - int fpu_reserved1; -}; - -#define _STRUCT_X86_AVX_STATE64 struct x86_avx_state64 -_STRUCT_X86_AVX_STATE64 -{ - int fpu_reserved[2]; - _STRUCT_FP_CONTROL fpu_fcw; /* x87 FPU control word */ - _STRUCT_FP_STATUS fpu_fsw; /* x87 FPU status word */ - __uint8_t fpu_ftw; /* x87 FPU tag word */ - __uint8_t fpu_rsrv1; /* reserved */ - __uint16_t fpu_fop; /* x87 FPU Opcode */ - - /* x87 FPU Instruction Pointer */ - __uint32_t fpu_ip; /* offset */ - __uint16_t fpu_cs; /* Selector */ - - __uint16_t fpu_rsrv2; /* reserved */ - - /* x87 FPU Instruction Operand(Data) Pointer */ - __uint32_t fpu_dp; /* offset */ - __uint16_t fpu_ds; /* Selector */ - - __uint16_t fpu_rsrv3; /* reserved */ - __uint32_t fpu_mxcsr; /* MXCSR Register state */ - __uint32_t fpu_mxcsrmask; /* MXCSR mask */ - _STRUCT_MMST_REG fpu_stmm0; /* ST0/MM0 */ - _STRUCT_MMST_REG fpu_stmm1; /* ST1/MM1 */ - _STRUCT_MMST_REG fpu_stmm2; /* ST2/MM2 */ - _STRUCT_MMST_REG fpu_stmm3; /* ST3/MM3 */ - _STRUCT_MMST_REG fpu_stmm4; /* ST4/MM4 */ - _STRUCT_MMST_REG fpu_stmm5; /* ST5/MM5 */ - _STRUCT_MMST_REG fpu_stmm6; /* ST6/MM6 */ - _STRUCT_MMST_REG fpu_stmm7; /* ST7/MM7 */ - _STRUCT_XMM_REG fpu_xmm0; /* XMM 0 */ - _STRUCT_XMM_REG fpu_xmm1; /* XMM 1 */ - _STRUCT_XMM_REG fpu_xmm2; /* XMM 2 */ - _STRUCT_XMM_REG fpu_xmm3; /* XMM 3 */ - _STRUCT_XMM_REG fpu_xmm4; /* XMM 4 */ - _STRUCT_XMM_REG fpu_xmm5; /* XMM 5 */ - _STRUCT_XMM_REG fpu_xmm6; /* XMM 6 */ - _STRUCT_XMM_REG fpu_xmm7; /* XMM 7 */ - _STRUCT_XMM_REG fpu_xmm8; /* XMM 8 */ - _STRUCT_XMM_REG fpu_xmm9; /* XMM 9 */ - _STRUCT_XMM_REG fpu_xmm10; /* XMM 10 */ - _STRUCT_XMM_REG fpu_xmm11; /* XMM 11 */ - _STRUCT_XMM_REG fpu_xmm12; /* XMM 12 */ - _STRUCT_XMM_REG fpu_xmm13; /* XMM 13 */ - _STRUCT_XMM_REG fpu_xmm14; /* XMM 14 */ - _STRUCT_XMM_REG fpu_xmm15; /* XMM 15 */ - char fpu_rsrv4[6*16]; /* reserved */ - int fpu_reserved1; - char avx_reserved1[64]; - _STRUCT_XMM_REG fpu_ymmh0; /* YMMH 0 */ - _STRUCT_XMM_REG fpu_ymmh1; /* YMMH 1 */ - _STRUCT_XMM_REG fpu_ymmh2; /* YMMH 2 */ - _STRUCT_XMM_REG fpu_ymmh3; /* YMMH 3 */ - _STRUCT_XMM_REG fpu_ymmh4; /* YMMH 4 */ - _STRUCT_XMM_REG fpu_ymmh5; /* YMMH 5 */ - _STRUCT_XMM_REG fpu_ymmh6; /* YMMH 6 */ - _STRUCT_XMM_REG fpu_ymmh7; /* YMMH 7 */ - _STRUCT_XMM_REG fpu_ymmh8; /* YMMH 8 */ - _STRUCT_XMM_REG fpu_ymmh9; /* YMMH 9 */ - _STRUCT_XMM_REG fpu_ymmh10; /* YMMH 10 */ - _STRUCT_XMM_REG fpu_ymmh11; /* YMMH 11 */ - _STRUCT_XMM_REG fpu_ymmh12; /* YMMH 12 */ - _STRUCT_XMM_REG fpu_ymmh13; /* YMMH 13 */ - _STRUCT_XMM_REG fpu_ymmh14; /* YMMH 14 */ - _STRUCT_XMM_REG fpu_ymmh15; /* YMMH 15 */ -}; - -#define _STRUCT_X86_AVX512_STATE64 struct x86_avx512_state64 -_STRUCT_X86_AVX512_STATE64 -{ - int fpu_reserved[2]; - _STRUCT_FP_CONTROL fpu_fcw; /* x87 FPU control word */ - _STRUCT_FP_STATUS fpu_fsw; /* x87 FPU status word */ - __uint8_t fpu_ftw; /* x87 FPU tag word */ - __uint8_t fpu_rsrv1; /* reserved */ - __uint16_t fpu_fop; /* x87 FPU Opcode */ - - /* x87 FPU Instruction Pointer */ - __uint32_t fpu_ip; /* offset */ - __uint16_t fpu_cs; /* Selector */ - - __uint16_t fpu_rsrv2; /* reserved */ - - /* x87 FPU Instruction Operand(Data) Pointer */ - __uint32_t fpu_dp; /* offset */ - __uint16_t fpu_ds; /* Selector */ - - __uint16_t fpu_rsrv3; /* reserved */ - __uint32_t fpu_mxcsr; /* MXCSR Register state */ - __uint32_t fpu_mxcsrmask; /* MXCSR mask */ - _STRUCT_MMST_REG fpu_stmm0; /* ST0/MM0 */ - _STRUCT_MMST_REG fpu_stmm1; /* ST1/MM1 */ - _STRUCT_MMST_REG fpu_stmm2; /* ST2/MM2 */ - _STRUCT_MMST_REG fpu_stmm3; /* ST3/MM3 */ - _STRUCT_MMST_REG fpu_stmm4; /* ST4/MM4 */ - _STRUCT_MMST_REG fpu_stmm5; /* ST5/MM5 */ - _STRUCT_MMST_REG fpu_stmm6; /* ST6/MM6 */ - _STRUCT_MMST_REG fpu_stmm7; /* ST7/MM7 */ - _STRUCT_XMM_REG fpu_xmm0; /* XMM 0 */ - _STRUCT_XMM_REG fpu_xmm1; /* XMM 1 */ - _STRUCT_XMM_REG fpu_xmm2; /* XMM 2 */ - _STRUCT_XMM_REG fpu_xmm3; /* XMM 3 */ - _STRUCT_XMM_REG fpu_xmm4; /* XMM 4 */ - _STRUCT_XMM_REG fpu_xmm5; /* XMM 5 */ - _STRUCT_XMM_REG fpu_xmm6; /* XMM 6 */ - _STRUCT_XMM_REG fpu_xmm7; /* XMM 7 */ - _STRUCT_XMM_REG fpu_xmm8; /* XMM 8 */ - _STRUCT_XMM_REG fpu_xmm9; /* XMM 9 */ - _STRUCT_XMM_REG fpu_xmm10; /* XMM 10 */ - _STRUCT_XMM_REG fpu_xmm11; /* XMM 11 */ - _STRUCT_XMM_REG fpu_xmm12; /* XMM 12 */ - _STRUCT_XMM_REG fpu_xmm13; /* XMM 13 */ - _STRUCT_XMM_REG fpu_xmm14; /* XMM 14 */ - _STRUCT_XMM_REG fpu_xmm15; /* XMM 15 */ - char fpu_rsrv4[6*16]; /* reserved */ - int fpu_reserved1; - char avx_reserved1[64]; - _STRUCT_XMM_REG fpu_ymmh0; /* YMMH 0 */ - _STRUCT_XMM_REG fpu_ymmh1; /* YMMH 1 */ - _STRUCT_XMM_REG fpu_ymmh2; /* YMMH 2 */ - _STRUCT_XMM_REG fpu_ymmh3; /* YMMH 3 */ - _STRUCT_XMM_REG fpu_ymmh4; /* YMMH 4 */ - _STRUCT_XMM_REG fpu_ymmh5; /* YMMH 5 */ - _STRUCT_XMM_REG fpu_ymmh6; /* YMMH 6 */ - _STRUCT_XMM_REG fpu_ymmh7; /* YMMH 7 */ - _STRUCT_XMM_REG fpu_ymmh8; /* YMMH 8 */ - _STRUCT_XMM_REG fpu_ymmh9; /* YMMH 9 */ - _STRUCT_XMM_REG fpu_ymmh10; /* YMMH 10 */ - _STRUCT_XMM_REG fpu_ymmh11; /* YMMH 11 */ - _STRUCT_XMM_REG fpu_ymmh12; /* YMMH 12 */ - _STRUCT_XMM_REG fpu_ymmh13; /* YMMH 13 */ - _STRUCT_XMM_REG fpu_ymmh14; /* YMMH 14 */ - _STRUCT_XMM_REG fpu_ymmh15; /* YMMH 15 */ - _STRUCT_OPMASK_REG fpu_k0; /* K0 */ - _STRUCT_OPMASK_REG fpu_k1; /* K1 */ - _STRUCT_OPMASK_REG fpu_k2; /* K2 */ - _STRUCT_OPMASK_REG fpu_k3; /* K3 */ - _STRUCT_OPMASK_REG fpu_k4; /* K4 */ - _STRUCT_OPMASK_REG fpu_k5; /* K5 */ - _STRUCT_OPMASK_REG fpu_k6; /* K6 */ - _STRUCT_OPMASK_REG fpu_k7; /* K7 */ - _STRUCT_YMM_REG fpu_zmmh0; /* ZMMH 0 */ - _STRUCT_YMM_REG fpu_zmmh1; /* ZMMH 1 */ - _STRUCT_YMM_REG fpu_zmmh2; /* ZMMH 2 */ - _STRUCT_YMM_REG fpu_zmmh3; /* ZMMH 3 */ - _STRUCT_YMM_REG fpu_zmmh4; /* ZMMH 4 */ - _STRUCT_YMM_REG fpu_zmmh5; /* ZMMH 5 */ - _STRUCT_YMM_REG fpu_zmmh6; /* ZMMH 6 */ - _STRUCT_YMM_REG fpu_zmmh7; /* ZMMH 7 */ - _STRUCT_YMM_REG fpu_zmmh8; /* ZMMH 8 */ - _STRUCT_YMM_REG fpu_zmmh9; /* ZMMH 9 */ - _STRUCT_YMM_REG fpu_zmmh10; /* ZMMH 10 */ - _STRUCT_YMM_REG fpu_zmmh11; /* ZMMH 11 */ - _STRUCT_YMM_REG fpu_zmmh12; /* ZMMH 12 */ - _STRUCT_YMM_REG fpu_zmmh13; /* ZMMH 13 */ - _STRUCT_YMM_REG fpu_zmmh14; /* ZMMH 14 */ - _STRUCT_YMM_REG fpu_zmmh15; /* ZMMH 15 */ - _STRUCT_ZMM_REG fpu_zmm16; /* ZMM 16 */ - _STRUCT_ZMM_REG fpu_zmm17; /* ZMM 17 */ - _STRUCT_ZMM_REG fpu_zmm18; /* ZMM 18 */ - _STRUCT_ZMM_REG fpu_zmm19; /* ZMM 19 */ - _STRUCT_ZMM_REG fpu_zmm20; /* ZMM 20 */ - _STRUCT_ZMM_REG fpu_zmm21; /* ZMM 21 */ - _STRUCT_ZMM_REG fpu_zmm22; /* ZMM 22 */ - _STRUCT_ZMM_REG fpu_zmm23; /* ZMM 23 */ - _STRUCT_ZMM_REG fpu_zmm24; /* ZMM 24 */ - _STRUCT_ZMM_REG fpu_zmm25; /* ZMM 25 */ - _STRUCT_ZMM_REG fpu_zmm26; /* ZMM 26 */ - _STRUCT_ZMM_REG fpu_zmm27; /* ZMM 27 */ - _STRUCT_ZMM_REG fpu_zmm28; /* ZMM 28 */ - _STRUCT_ZMM_REG fpu_zmm29; /* ZMM 29 */ - _STRUCT_ZMM_REG fpu_zmm30; /* ZMM 30 */ - _STRUCT_ZMM_REG fpu_zmm31; /* ZMM 31 */ -}; - -#endif /* !__DARWIN_UNIX03 */ - -#if __DARWIN_UNIX03 -#define _STRUCT_X86_EXCEPTION_STATE64 struct __darwin_x86_exception_state64 -_STRUCT_X86_EXCEPTION_STATE64 -{ - __uint16_t __trapno; - __uint16_t __cpu; - __uint32_t __err; - __uint64_t __faultvaddr; -}; -#else /* !__DARWIN_UNIX03 */ -#define _STRUCT_X86_EXCEPTION_STATE64 struct x86_exception_state64 -_STRUCT_X86_EXCEPTION_STATE64 -{ - __uint16_t trapno; - __uint16_t cpu; - __uint32_t err; - __uint64_t faultvaddr; -}; -#endif /* !__DARWIN_UNIX03 */ - -#if __DARWIN_UNIX03 -#define _STRUCT_X86_DEBUG_STATE64 struct __darwin_x86_debug_state64 -_STRUCT_X86_DEBUG_STATE64 -{ - __uint64_t __dr0; - __uint64_t __dr1; - __uint64_t __dr2; - __uint64_t __dr3; - __uint64_t __dr4; - __uint64_t __dr5; - __uint64_t __dr6; - __uint64_t __dr7; -}; -#else /* !__DARWIN_UNIX03 */ -#define _STRUCT_X86_DEBUG_STATE64 struct x86_debug_state64 -_STRUCT_X86_DEBUG_STATE64 -{ - __uint64_t dr0; - __uint64_t dr1; - __uint64_t dr2; - __uint64_t dr3; - __uint64_t dr4; - __uint64_t dr5; - __uint64_t dr6; - __uint64_t dr7; -}; -#endif /* !__DARWIN_UNIX03 */ - -#if __DARWIN_UNIX03 -#define _STRUCT_X86_CPMU_STATE64 struct __darwin_x86_cpmu_state64 -_STRUCT_X86_CPMU_STATE64 -{ - __uint64_t __ctrs[16]; -}; -#else /* __DARWIN_UNIX03 */ -#define _STRUCT_X86_CPMU_STATE64 struct x86_cpmu_state64 -_STRUCT_X86_CPMU_STATE64 -{ - __uint64_t ctrs[16]; -}; -#endif /* !__DARWIN_UNIX03 */ - -#endif /* _MACH_I386__STRUCTS_H_ */ \ No newline at end of file diff --git a/lib/libc/include/x86_64-macos.11-none/mach/i386/boolean.h b/lib/libc/include/x86_64-macos.11-none/mach/i386/boolean.h deleted file mode 100644 index d604dfcea2..0000000000 --- a/lib/libc/include/x86_64-macos.11-none/mach/i386/boolean.h +++ /dev/null @@ -1,74 +0,0 @@ -/* - * Copyright (c) 2000-2006 Apple Computer, 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@ - */ -/* - * @OSF_COPYRIGHT@ - */ -/* - * Mach Operating System - * Copyright (c) 1991,1990,1989 Carnegie Mellon University - * All Rights Reserved. - * - * Permission to use, copy, modify and distribute this software and its - * documentation is hereby granted, provided that both the copyright - * notice and this permission notice appear in all copies of the - * software, derivative works or modified versions, and any portions - * thereof, and that both notices appear in supporting documentation. - * - * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" - * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR - * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. - * - * Carnegie Mellon requests users of this software to return to - * - * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU - * School of Computer Science - * Carnegie Mellon University - * Pittsburgh PA 15213-3890 - * - * any improvements or extensions that they make and grant Carnegie Mellon - * the rights to redistribute these changes. - */ -/* - */ - -/* - * File: boolean.h - * - * Boolean type, for I386. - */ - -#ifndef _MACH_I386_BOOLEAN_H_ -#define _MACH_I386_BOOLEAN_H_ - -#if defined(__x86_64__) && !defined(KERNEL) -typedef unsigned int boolean_t; -#else -typedef int boolean_t; -#endif - -#endif /* _MACH_I386_BOOLEAN_H_ */ \ No newline at end of file diff --git a/lib/libc/include/x86_64-macos.11-none/mach/i386/exception.h b/lib/libc/include/x86_64-macos.11-none/mach/i386/exception.h deleted file mode 100644 index 3f21c3d4e6..0000000000 --- a/lib/libc/include/x86_64-macos.11-none/mach/i386/exception.h +++ /dev/null @@ -1,135 +0,0 @@ -/* - * Copyright (c) 2000 Apple Computer, 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@ - */ -/* - * @OSF_COPYRIGHT@ - */ -/* - * Mach Operating System - * Copyright (c) 1991,1990,1989,1988 Carnegie Mellon University - * All Rights Reserved. - * - * Permission to use, copy, modify and distribute this software and its - * documentation is hereby granted, provided that both the copyright - * notice and this permission notice appear in all copies of the - * software, derivative works or modified versions, and any portions - * thereof, and that both notices appear in supporting documentation. - * - * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" - * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR - * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. - * - * Carnegie Mellon requests users of this software to return to - * - * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU - * School of Computer Science - * Carnegie Mellon University - * Pittsburgh PA 15213-3890 - * - * any improvements or extensions that they make and grant Carnegie Mellon - * the rights to redistribute these changes. - */ -/* - */ - -#ifndef _MACH_I386_EXCEPTION_H_ -#define _MACH_I386_EXCEPTION_H_ - -/* - * No machine dependent types for the 80386 - */ - -#define EXC_TYPES_COUNT 14 /* incl. illegal exception 0 */ - -/* - * Codes and subcodes for 80386 exceptions. - */ - -#define EXCEPTION_CODE_MAX 2 /* currently code and subcode */ - -/* - * EXC_BAD_INSTRUCTION - */ - -#define EXC_I386_INVOP 1 - -/* - * EXC_ARITHMETIC - */ - -#define EXC_I386_DIV 1 -#define EXC_I386_INTO 2 -#define EXC_I386_NOEXT 3 -#define EXC_I386_EXTOVR 4 -#define EXC_I386_EXTERR 5 -#define EXC_I386_EMERR 6 -#define EXC_I386_BOUND 7 -#define EXC_I386_SSEEXTERR 8 - -/* - * EXC_SOFTWARE - * Note: 0x10000-0x10003 in use for unix signal - */ - -/* - * EXC_BAD_ACCESS - */ - -/* - * EXC_BREAKPOINT - */ - -#define EXC_I386_SGL 1 -#define EXC_I386_BPT 2 - -#define EXC_I386_DIVERR 0 /* divide by 0 eprror */ -#define EXC_I386_SGLSTP 1 /* single step */ -#define EXC_I386_NMIFLT 2 /* NMI */ -#define EXC_I386_BPTFLT 3 /* breakpoint fault */ -#define EXC_I386_INTOFLT 4 /* INTO overflow fault */ -#define EXC_I386_BOUNDFLT 5 /* BOUND instruction fault */ -#define EXC_I386_INVOPFLT 6 /* invalid opcode fault */ -#define EXC_I386_NOEXTFLT 7 /* extension not available fault*/ -#define EXC_I386_DBLFLT 8 /* double fault */ -#define EXC_I386_EXTOVRFLT 9 /* extension overrun fault */ -#define EXC_I386_INVTSSFLT 10 /* invalid TSS fault */ -#define EXC_I386_SEGNPFLT 11 /* segment not present fault */ -#define EXC_I386_STKFLT 12 /* stack fault */ -#define EXC_I386_GPFLT 13 /* general protection fault */ -#define EXC_I386_PGFLT 14 /* page fault */ -#define EXC_I386_EXTERRFLT 16 /* extension error fault */ -#define EXC_I386_ALIGNFLT 17 /* Alignment fault */ -#define EXC_I386_ENDPERR 33 /* emulated extension error flt */ -#define EXC_I386_ENOEXTFLT 32 /* emulated ext not present */ - - -/* - * machine dependent exception masks - */ -#define EXC_MASK_MACHINE 0 - -#endif /* _MACH_I386_EXCEPTION_H_ */ \ No newline at end of file diff --git a/lib/libc/include/x86_64-macos.11-none/mach/i386/fp_reg.h b/lib/libc/include/x86_64-macos.11-none/mach/i386/fp_reg.h deleted file mode 100644 index eb010ad950..0000000000 --- a/lib/libc/include/x86_64-macos.11-none/mach/i386/fp_reg.h +++ /dev/null @@ -1,118 +0,0 @@ -/* - * Copyright (c) 2000 Apple Computer, 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@ - */ -/* - * @OSF_COPYRIGHT@ - */ -/* - * Mach Operating System - * Copyright (c) 1992-1989 Carnegie Mellon University - * All Rights Reserved. - * - * Permission to use, copy, modify and distribute this software and its - * documentation is hereby granted, provided that both the copyright - * notice and this permission notice appear in all copies of the - * software, derivative works or modified versions, and any portions - * thereof, and that both notices appear in supporting documentation. - * - * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" - * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR - * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. - * - * Carnegie Mellon requests users of this software to return to - * - * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU - * School of Computer Science - * Carnegie Mellon University - * Pittsburgh PA 15213-3890 - * - * any improvements or extensions that they make and grant Carnegie Mellon - * the rights to redistribute these changes. - */ -/* - */ - -#ifndef _I386_FP_SAVE_H_ -#define _I386_FP_SAVE_H_ - -/* - * Control register - */ -#define FPC_IE 0x0001 /* enable invalid operation - * exception */ -#define FPC_IM FPC_IE -#define FPC_DE 0x0002 /* enable denormalized operation - * exception */ -#define FPC_DM FPC_DE -#define FPC_ZE 0x0004 /* enable zero-divide exception */ -#define FPC_ZM FPC_ZE -#define FPC_OE 0x0008 /* enable overflow exception */ -#define FPC_OM FPC_OE -#define FPC_UE 0x0010 /* enable underflow exception */ -#define FPC_PE 0x0020 /* enable precision exception */ -#define FPC_PC 0x0300 /* precision control: */ -#define FPC_PC_24 0x0000 /* 24 bits */ -#define FPC_PC_53 0x0200 /* 53 bits */ -#define FPC_PC_64 0x0300 /* 64 bits */ -#define FPC_RC 0x0c00 /* rounding control: */ -#define FPC_RC_RN 0x0000 /* round to nearest or even */ -#define FPC_RC_RD 0x0400 /* round down */ -#define FPC_RC_RU 0x0800 /* round up */ -#define FPC_RC_CHOP 0x0c00 /* chop */ -#define FPC_IC 0x1000 /* infinity control (obsolete) */ -#define FPC_IC_PROJ 0x0000 /* projective infinity */ -#define FPC_IC_AFF 0x1000 /* affine infinity (std) */ - -/* - * Status register - */ -#define FPS_IE 0x0001 /* invalid operation */ -#define FPS_DE 0x0002 /* denormalized operand */ -#define FPS_ZE 0x0004 /* divide by zero */ -#define FPS_OE 0x0008 /* overflow */ -#define FPS_UE 0x0010 /* underflow */ -#define FPS_PE 0x0020 /* precision */ -#define FPS_SF 0x0040 /* stack flag */ -#define FPS_ES 0x0080 /* error summary */ -#define FPS_C0 0x0100 /* condition code bit 0 */ -#define FPS_C1 0x0200 /* condition code bit 1 */ -#define FPS_C2 0x0400 /* condition code bit 2 */ -#define FPS_TOS 0x3800 /* top-of-stack pointer */ -#define FPS_TOS_SHIFT 11 -#define FPS_C3 0x4000 /* condition code bit 3 */ -#define FPS_BUSY 0x8000 /* FPU busy */ - -/* - * Kind of floating-point support provided by kernel. - */ -#define FP_NO 0 /* no floating point */ -#define FP_SOFT 1 /* software FP emulator */ -#define FP_287 2 /* 80287 */ -#define FP_387 3 /* 80387 or 80486 */ -#define FP_FXSR 4 /* Fast save/restore SIMD Extension */ - -#endif /* _I386_FP_SAVE_H_ */ \ No newline at end of file diff --git a/lib/libc/include/x86_64-macos.11-none/mach/i386/kern_return.h b/lib/libc/include/x86_64-macos.11-none/mach/i386/kern_return.h deleted file mode 100644 index 47aa4b8753..0000000000 --- a/lib/libc/include/x86_64-macos.11-none/mach/i386/kern_return.h +++ /dev/null @@ -1,74 +0,0 @@ -/* - * Copyright (c) 2000 Apple Computer, 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@ - */ -/* - * @OSF_COPYRIGHT@ - */ -/* - * Mach Operating System - * Copyright (c) 1991,1990,1989 Carnegie Mellon University - * All Rights Reserved. - * - * Permission to use, copy, modify and distribute this software and its - * documentation is hereby granted, provided that both the copyright - * notice and this permission notice appear in all copies of the - * software, derivative works or modified versions, and any portions - * thereof, and that both notices appear in supporting documentation. - * - * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" - * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR - * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. - * - * Carnegie Mellon requests users of this software to return to - * - * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU - * School of Computer Science - * Carnegie Mellon University - * Pittsburgh PA 15213-3890 - * - * any improvements or extensions that they make and grant Carnegie Mellon - * the rights to redistribute these changes. - */ -/* - */ - -/* - * File: kern_return.h - * Author: Avadis Tevanian, Jr., Michael Wayne Young - * Date: 1985 - * - * Machine-dependent kernel return definitions. - */ - -#ifndef _MACH_I386_KERN_RETURN_H_ -#define _MACH_I386_KERN_RETURN_H_ - -#ifndef ASSEMBLER -typedef int kern_return_t; -#endif /* ASSEMBLER */ - -#endif /* _MACH_I386_KERN_RETURN_H_ */ \ No newline at end of file diff --git a/lib/libc/include/x86_64-macos.11-none/mach/i386/processor_info.h b/lib/libc/include/x86_64-macos.11-none/mach/i386/processor_info.h deleted file mode 100644 index 4426e0041c..0000000000 --- a/lib/libc/include/x86_64-macos.11-none/mach/i386/processor_info.h +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Copyright (c) 2000 Apple Computer, 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@ - */ -/* - * File: mach/i386/processor_info.h - * - * Data structure definitions for i386 specific processor control - */ - -#ifndef _MACH_I386_PROCESSOR_INFO_H_ -#define _MACH_I386_PROCESSOR_INFO_H_ - -#endif /* _MACH_I386_PROCESSOR_INFO_H_ */ \ No newline at end of file diff --git a/lib/libc/include/x86_64-macos.11-none/mach/i386/rpc.h b/lib/libc/include/x86_64-macos.11-none/mach/i386/rpc.h deleted file mode 100644 index 0298ebb804..0000000000 --- a/lib/libc/include/x86_64-macos.11-none/mach/i386/rpc.h +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Copyright (c) 2002,2000 Apple Computer, 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@ - */ -/* - * @OSF_COPYRIGHT@ - */ - -#ifndef _MACH_I386_RPC_H_ -#define _MACH_I386_RPC_H_ - -#endif /* _MACH_I386_RPC_H_ */ \ No newline at end of file diff --git a/lib/libc/include/x86_64-macos.11-none/mach/i386/thread_state.h b/lib/libc/include/x86_64-macos.11-none/mach/i386/thread_state.h deleted file mode 100644 index 4d9825be70..0000000000 --- a/lib/libc/include/x86_64-macos.11-none/mach/i386/thread_state.h +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Copyright (c) 2000-2006 Apple Computer, 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@ - */ -/* - * @OSF_COPYRIGHT@ - */ - -#ifndef _MACH_I386_THREAD_STATE_H_ -#define _MACH_I386_THREAD_STATE_H_ - -/* Size of maximum exported thread state in 32-bit words */ -#define I386_THREAD_STATE_MAX (614) /* Size of biggest state possible */ - -#if defined (__i386__) || defined(__x86_64__) -#define THREAD_STATE_MAX I386_THREAD_STATE_MAX -#endif - -#endif /* _MACH_I386_THREAD_STATE_H_ */ \ No newline at end of file diff --git a/lib/libc/include/x86_64-macos.11-none/mach/i386/thread_status.h b/lib/libc/include/x86_64-macos.11-none/mach/i386/thread_status.h deleted file mode 100644 index 24de7ae76c..0000000000 --- a/lib/libc/include/x86_64-macos.11-none/mach/i386/thread_status.h +++ /dev/null @@ -1,362 +0,0 @@ -/* - * Copyright (c) 2000-2020 Apple Computer, 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@ - */ -/* - * @OSF_COPYRIGHT@ - */ -/* - * Mach Operating System - * Copyright (c) 1991,1990,1989 Carnegie Mellon University - * All Rights Reserved. - * - * Permission to use, copy, modify and distribute this software and its - * documentation is hereby granted, provided that both the copyright - * notice and this permission notice appear in all copies of the - * software, derivative works or modified versions, and any portions - * thereof, and that both notices appear in supporting documentation. - * - * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" - * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR - * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. - * - * Carnegie Mellon requests users of this software to return to - * - * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU - * School of Computer Science - * Carnegie Mellon University - * Pittsburgh PA 15213-3890 - * - * any improvements or extensions that they make and grant Carnegie Mellon - * the rights to redistribute these changes. - */ -/* - */ -/* - * File: thread_status.h - * Author: Avadis Tevanian, Jr. - * Date: 1985 - * - * This file contains the structure definitions for the thread - * state as applied to I386 processors. - */ - -#ifndef _MACH_I386_THREAD_STATUS_H_ -#define _MACH_I386_THREAD_STATUS_H_ - -#include -#include -#include -#include -#include - - -/* - * the i386_xxxx form is kept for legacy purposes since these types - * are externally known... eventually they should be deprecated. - * our internal implementation has moved to the following naming convention - * - * x86_xxxx32 names are used to deal with 32 bit states - * x86_xxxx64 names are used to deal with 64 bit states - * x86_xxxx names are used to deal with either 32 or 64 bit states - * via a self-describing mechanism - */ - -/* - * these are the legacy names which should be deprecated in the future - * they are externally known which is the only reason we don't just get - * rid of them - */ -#define i386_THREAD_STATE 1 -#define i386_FLOAT_STATE 2 -#define i386_EXCEPTION_STATE 3 - -/* - * THREAD_STATE_FLAVOR_LIST 0 - * these are the supported flavors - */ -#define x86_THREAD_STATE32 1 -#define x86_FLOAT_STATE32 2 -#define x86_EXCEPTION_STATE32 3 -#define x86_THREAD_STATE64 4 -#define x86_FLOAT_STATE64 5 -#define x86_EXCEPTION_STATE64 6 -#define x86_THREAD_STATE 7 -#define x86_FLOAT_STATE 8 -#define x86_EXCEPTION_STATE 9 -#define x86_DEBUG_STATE32 10 -#define x86_DEBUG_STATE64 11 -#define x86_DEBUG_STATE 12 -#define THREAD_STATE_NONE 13 -/* 14 and 15 are used for the internal x86_SAVED_STATE flavours */ -/* Arrange for flavors to take sequential values, 32-bit, 64-bit, non-specific */ -#define x86_AVX_STATE32 16 -#define x86_AVX_STATE64 (x86_AVX_STATE32 + 1) -#define x86_AVX_STATE (x86_AVX_STATE32 + 2) -#define x86_AVX512_STATE32 19 -#define x86_AVX512_STATE64 (x86_AVX512_STATE32 + 1) -#define x86_AVX512_STATE (x86_AVX512_STATE32 + 2) -#define x86_PAGEIN_STATE 22 -#define x86_THREAD_FULL_STATE64 23 -#define x86_INSTRUCTION_STATE 24 -#define x86_LAST_BRANCH_STATE 25 - -/* - * Largest state on this machine: - * (be sure mach/machine/thread_state.h matches!) - */ -#define THREAD_MACHINE_STATE_MAX THREAD_STATE_MAX - -/* - * VALID_THREAD_STATE_FLAVOR is a platform specific macro that when passed - * an exception flavor will return if that is a defined flavor for that - * platform. The macro must be manually updated to include all of the valid - * exception flavors as defined above. - */ -#define VALID_THREAD_STATE_FLAVOR(x) \ - ((x == x86_THREAD_STATE32) || \ - (x == x86_FLOAT_STATE32) || \ - (x == x86_EXCEPTION_STATE32) || \ - (x == x86_DEBUG_STATE32) || \ - (x == x86_THREAD_STATE64) || \ - (x == x86_THREAD_FULL_STATE64) || \ - (x == x86_FLOAT_STATE64) || \ - (x == x86_EXCEPTION_STATE64) || \ - (x == x86_DEBUG_STATE64) || \ - (x == x86_THREAD_STATE) || \ - (x == x86_FLOAT_STATE) || \ - (x == x86_EXCEPTION_STATE) || \ - (x == x86_DEBUG_STATE) || \ - (x == x86_AVX_STATE32) || \ - (x == x86_AVX_STATE64) || \ - (x == x86_AVX_STATE) || \ - (x == x86_AVX512_STATE32) || \ - (x == x86_AVX512_STATE64) || \ - (x == x86_AVX512_STATE) || \ - (x == x86_PAGEIN_STATE) || \ - (x == x86_INSTRUCTION_STATE) || \ - (x == x86_LAST_BRANCH_STATE) || \ - (x == THREAD_STATE_NONE)) - -struct x86_state_hdr { - uint32_t flavor; - uint32_t count; -}; -typedef struct x86_state_hdr x86_state_hdr_t; - -/* - * Default segment register values. - */ - -#define USER_CODE_SELECTOR 0x0017 -#define USER_DATA_SELECTOR 0x001f -#define KERN_CODE_SELECTOR 0x0008 -#define KERN_DATA_SELECTOR 0x0010 - -/* - * to be deprecated in the future - */ -typedef _STRUCT_X86_THREAD_STATE32 i386_thread_state_t; -#define i386_THREAD_STATE_COUNT ((mach_msg_type_number_t) \ - ( sizeof (i386_thread_state_t) / sizeof (int) )) - -typedef _STRUCT_X86_THREAD_STATE32 x86_thread_state32_t; -#define x86_THREAD_STATE32_COUNT ((mach_msg_type_number_t) \ - ( sizeof (x86_thread_state32_t) / sizeof (int) )) - -/* - * to be deprecated in the future - */ -typedef _STRUCT_X86_FLOAT_STATE32 i386_float_state_t; -#define i386_FLOAT_STATE_COUNT ((mach_msg_type_number_t) \ - (sizeof(i386_float_state_t)/sizeof(unsigned int))) - -typedef _STRUCT_X86_FLOAT_STATE32 x86_float_state32_t; -#define x86_FLOAT_STATE32_COUNT ((mach_msg_type_number_t) \ - (sizeof(x86_float_state32_t)/sizeof(unsigned int))) - -typedef _STRUCT_X86_AVX_STATE32 x86_avx_state32_t; -#define x86_AVX_STATE32_COUNT ((mach_msg_type_number_t) \ - (sizeof(x86_avx_state32_t)/sizeof(unsigned int))) - -typedef _STRUCT_X86_AVX512_STATE32 x86_avx512_state32_t; -#define x86_AVX512_STATE32_COUNT ((mach_msg_type_number_t) \ - (sizeof(x86_avx512_state32_t)/sizeof(unsigned int))) - -/* - * to be deprecated in the future - */ -typedef _STRUCT_X86_EXCEPTION_STATE32 i386_exception_state_t; -#define i386_EXCEPTION_STATE_COUNT ((mach_msg_type_number_t) \ - ( sizeof (i386_exception_state_t) / sizeof (int) )) - -typedef _STRUCT_X86_EXCEPTION_STATE32 x86_exception_state32_t; -#define x86_EXCEPTION_STATE32_COUNT ((mach_msg_type_number_t) \ - ( sizeof (x86_exception_state32_t) / sizeof (int) )) - -#define I386_EXCEPTION_STATE_COUNT i386_EXCEPTION_STATE_COUNT - -typedef _STRUCT_X86_DEBUG_STATE32 x86_debug_state32_t; -#define x86_DEBUG_STATE32_COUNT ((mach_msg_type_number_t) \ - ( sizeof (x86_debug_state32_t) / sizeof (int) )) - -#define X86_DEBUG_STATE32_COUNT x86_DEBUG_STATE32_COUNT - -typedef _STRUCT_X86_THREAD_STATE64 x86_thread_state64_t; -#define x86_THREAD_STATE64_COUNT ((mach_msg_type_number_t) \ - ( sizeof (x86_thread_state64_t) / sizeof (int) )) - -typedef _STRUCT_X86_THREAD_FULL_STATE64 x86_thread_full_state64_t; -#define x86_THREAD_FULL_STATE64_COUNT ((mach_msg_type_number_t) \ - ( sizeof (x86_thread_full_state64_t) / sizeof (int) )) - -typedef _STRUCT_X86_FLOAT_STATE64 x86_float_state64_t; -#define x86_FLOAT_STATE64_COUNT ((mach_msg_type_number_t) \ - (sizeof(x86_float_state64_t)/sizeof(unsigned int))) - -typedef _STRUCT_X86_AVX_STATE64 x86_avx_state64_t; -#define x86_AVX_STATE64_COUNT ((mach_msg_type_number_t) \ - (sizeof(x86_avx_state64_t)/sizeof(unsigned int))) - -typedef _STRUCT_X86_AVX512_STATE64 x86_avx512_state64_t; -#define x86_AVX512_STATE64_COUNT ((mach_msg_type_number_t) \ - (sizeof(x86_avx512_state64_t)/sizeof(unsigned int))) - -typedef _STRUCT_X86_EXCEPTION_STATE64 x86_exception_state64_t; -#define x86_EXCEPTION_STATE64_COUNT ((mach_msg_type_number_t) \ - ( sizeof (x86_exception_state64_t) / sizeof (int) )) - -#define X86_EXCEPTION_STATE64_COUNT x86_EXCEPTION_STATE64_COUNT - -typedef _STRUCT_X86_DEBUG_STATE64 x86_debug_state64_t; -#define x86_DEBUG_STATE64_COUNT ((mach_msg_type_number_t) \ - ( sizeof (x86_debug_state64_t) / sizeof (int) )) - -#define X86_DEBUG_STATE64_COUNT x86_DEBUG_STATE64_COUNT - -typedef _STRUCT_X86_PAGEIN_STATE x86_pagein_state_t; -#define x86_PAGEIN_STATE_COUNT \ - ((mach_msg_type_number_t)(sizeof(x86_pagein_state_t) / sizeof(int))) - -#define X86_PAGEIN_STATE_COUNT x86_PAGEIN_STATE_COUNT - -typedef _STRUCT_X86_INSTRUCTION_STATE x86_instruction_state_t; -#define x86_INSTRUCTION_STATE_COUNT \ - ((mach_msg_type_number_t)(sizeof(x86_instruction_state_t) / sizeof(int))) - -#define X86_INSTRUCTION_STATE_COUNT x86_INSTRUCTION_STATE_COUNT - -typedef _STRUCT_LAST_BRANCH_STATE last_branch_state_t; -#define x86_LAST_BRANCH_STATE_COUNT \ - ((mach_msg_type_number_t)(sizeof(last_branch_state_t) / sizeof(int))) - -#define X86_LAST_BRANCH_STATE_COUNT x86_LAST_BRANCH_STATE_COUNT - - -/* - * Combined thread, float and exception states - */ -struct x86_thread_state { - x86_state_hdr_t tsh; - union { - x86_thread_state32_t ts32; - x86_thread_state64_t ts64; - } uts; -}; - -struct x86_float_state { - x86_state_hdr_t fsh; - union { - x86_float_state32_t fs32; - x86_float_state64_t fs64; - } ufs; -}; - -struct x86_exception_state { - x86_state_hdr_t esh; - union { - x86_exception_state32_t es32; - x86_exception_state64_t es64; - } ues; -}; - -struct x86_debug_state { - x86_state_hdr_t dsh; - union { - x86_debug_state32_t ds32; - x86_debug_state64_t ds64; - } uds; -}; - -struct x86_avx_state { - x86_state_hdr_t ash; - union { - x86_avx_state32_t as32; - x86_avx_state64_t as64; - } ufs; -}; - -struct x86_avx512_state { - x86_state_hdr_t ash; - union { - x86_avx512_state32_t as32; - x86_avx512_state64_t as64; - } ufs; -}; - -typedef struct x86_thread_state x86_thread_state_t; -#define x86_THREAD_STATE_COUNT ((mach_msg_type_number_t) \ - ( sizeof (x86_thread_state_t) / sizeof (int) )) - -typedef struct x86_float_state x86_float_state_t; -#define x86_FLOAT_STATE_COUNT ((mach_msg_type_number_t) \ - (sizeof(x86_float_state_t)/sizeof(unsigned int))) - -typedef struct x86_exception_state x86_exception_state_t; -#define x86_EXCEPTION_STATE_COUNT ((mach_msg_type_number_t) \ - (sizeof(x86_exception_state_t)/sizeof(unsigned int))) - -typedef struct x86_debug_state x86_debug_state_t; -#define x86_DEBUG_STATE_COUNT ((mach_msg_type_number_t) \ - (sizeof(x86_debug_state_t)/sizeof(unsigned int))) - -typedef struct x86_avx_state x86_avx_state_t; -#define x86_AVX_STATE_COUNT ((mach_msg_type_number_t) \ - (sizeof(x86_avx_state_t)/sizeof(unsigned int))) - -typedef struct x86_avx512_state x86_avx512_state_t; -#define x86_AVX512_STATE_COUNT ((mach_msg_type_number_t) \ - (sizeof(x86_avx512_state_t)/sizeof(unsigned int))) - -/* - * Machine-independent way for servers and Mach's exception mechanism to - * choose the most efficient state flavor for exception RPC's: - */ -#define MACHINE_THREAD_STATE x86_THREAD_STATE -#define MACHINE_THREAD_STATE_COUNT x86_THREAD_STATE_COUNT - - -#endif /* _MACH_I386_THREAD_STATUS_H_ */ \ No newline at end of file diff --git a/lib/libc/include/x86_64-macos.11-none/mach/i386/vm_param.h b/lib/libc/include/x86_64-macos.11-none/mach/i386/vm_param.h deleted file mode 100644 index fa27fffa2f..0000000000 --- a/lib/libc/include/x86_64-macos.11-none/mach/i386/vm_param.h +++ /dev/null @@ -1,157 +0,0 @@ -/* - * Copyright (c) 2000-2012 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@ - */ -/* - * @OSF_COPYRIGHT@ - */ -/* - * Mach Operating System - * Copyright (c) 1991,1990,1989,1988 Carnegie Mellon University - * All Rights Reserved. - * - * Permission to use, copy, modify and distribute this software and its - * documentation is hereby granted, provided that both the copyright - * notice and this permission notice appear in all copies of the - * software, derivative works or modified versions, and any portions - * thereof, and that both notices appear in supporting documentation. - * - * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" - * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR - * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. - * - * Carnegie Mellon requests users of this software to return to - * - * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU - * School of Computer Science - * Carnegie Mellon University - * Pittsburgh PA 15213-3890 - * - * any improvements or extensions that they make and grant Carnegie Mellon - * the rights to redistribute these changes. - */ - -/* - * Copyright (c) 1994 The University of Utah and - * the Computer Systems Laboratory at the University of Utah (CSL). - * All rights reserved. - * - * Permission to use, copy, modify and distribute this software is hereby - * granted provided that (1) source code retains these copyright, permission, - * and disclaimer notices, and (2) redistributions including binaries - * reproduce the notices in supporting documentation, and (3) all advertising - * materials mentioning features or use of this software display the following - * acknowledgement: ``This product includes software developed by the - * Computer Systems Laboratory at the University of Utah.'' - * - * THE UNIVERSITY OF UTAH AND CSL ALLOW FREE USE OF THIS SOFTWARE IN ITS "AS - * IS" CONDITION. THE UNIVERSITY OF UTAH AND CSL DISCLAIM ANY LIABILITY OF - * ANY KIND FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. - * - * CSL requests users of this software to return to csl-dist@cs.utah.edu any - * improvements that they make and grant CSL redistribution rights. - * - */ - -/* - * File: vm_param.h - * Author: Avadis Tevanian, Jr. - * Date: 1985 - * - * I386 machine dependent virtual memory parameters. - * Most of the declarations are preceeded by I386_ (or i386_) - * which is OK because only I386 specific code will be using - * them. - */ - -#ifndef _MACH_I386_VM_PARAM_H_ -#define _MACH_I386_VM_PARAM_H_ - -#if !defined(KERNEL) && !defined(__ASSEMBLER__) - -#include -#endif - -#define BYTE_SIZE 8 /* byte size in bits */ - -#define I386_PGBYTES 4096 /* bytes per 80386 page */ -#define I386_PGSHIFT 12 /* bitshift for pages */ - - -#if !defined(__MAC_OS_X_VERSION_MIN_REQUIRED) || (__MAC_OS_X_VERSION_MIN_REQUIRED < 101600) -#define PAGE_SHIFT I386_PGSHIFT -#define PAGE_SIZE I386_PGBYTES -#define PAGE_MASK (PAGE_SIZE-1) -#else /* !defined(__MAC_OS_X_VERSION_MIN_REQUIRED) || (__MAC_OS_X_VERSION_MIN_REQUIRED < 101600) */ -#define PAGE_SHIFT vm_page_shift -#define PAGE_SIZE vm_page_size -#define PAGE_MASK vm_page_mask -#endif /* !defined(__MAC_OS_X_VERSION_MIN_REQUIRED) || (__MAC_OS_X_VERSION_MIN_REQUIRED < 101600) */ - -#define PAGE_MAX_SHIFT 14 -#define PAGE_MAX_SIZE (1 << PAGE_MAX_SHIFT) -#define PAGE_MAX_MASK (PAGE_MAX_SIZE-1) - -#define PAGE_MIN_SHIFT 12 -#define PAGE_MIN_SIZE (1 << PAGE_MIN_SHIFT) -#define PAGE_MIN_MASK (PAGE_MIN_SIZE-1) - - -#define VM_MIN_ADDRESS64 ((user_addr_t) 0x0000000000000000ULL) -/* - * default top of user stack... it grows down from here - */ -#define VM_USRSTACK64 ((user_addr_t) 0x00007FFEEFC00000ULL) - -/* - * XXX TODO: Obsolete? - */ -#define VM_DYLD64 ((user_addr_t) 0x00007FFF5FC00000ULL) -#define VM_LIB64_SHR_DATA ((user_addr_t) 0x00007FFF60000000ULL) -#define VM_LIB64_SHR_TEXT ((user_addr_t) 0x00007FFF80000000ULL) -/* - * the end of the usable user address space , for now about 47 bits. - * the 64 bit commpage is past the end of this - */ -#define VM_MAX_PAGE_ADDRESS ((user_addr_t) 0x00007FFFFFE00000ULL) -/* - * canonical end of user address space for limits checking - */ -#define VM_MAX_USER_PAGE_ADDRESS ((user_addr_t)0x00007FFFFFFFF000ULL) - - -/* system-wide values */ -#define MACH_VM_MIN_ADDRESS ((mach_vm_offset_t) 0) -#define MACH_VM_MAX_ADDRESS ((mach_vm_offset_t) VM_MAX_PAGE_ADDRESS) - -/* process-relative values (all 32-bit legacy only for now) */ -#define VM_MIN_ADDRESS ((vm_offset_t) 0) -#define VM_USRSTACK32 ((vm_offset_t) 0xC0000000) /* ASLR slides stack down by up to 1 MB */ -#define VM_MAX_ADDRESS ((vm_offset_t) 0xFFE00000) - - - -#endif /* _MACH_I386_VM_PARAM_H_ */ \ No newline at end of file diff --git a/lib/libc/include/x86_64-macos.11-none/mach/i386/vm_types.h b/lib/libc/include/x86_64-macos.11-none/mach/i386/vm_types.h deleted file mode 100644 index 57bc28af88..0000000000 --- a/lib/libc/include/x86_64-macos.11-none/mach/i386/vm_types.h +++ /dev/null @@ -1,141 +0,0 @@ -/* - * Copyright (c) 2000-2016 Apple Computer, 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@ - */ -/* - * @OSF_COPYRIGHT@ - */ -/* - * Mach Operating System - * Copyright (c) 1991,1990,1989,1988 Carnegie Mellon University - * All Rights Reserved. - * - * Permission to use, copy, modify and distribute this software and its - * documentation is hereby granted, provided that both the copyright - * notice and this permission notice appear in all copies of the - * software, derivative works or modified versions, and any portions - * thereof, and that both notices appear in supporting documentation. - * - * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" - * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR - * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. - * - * Carnegie Mellon requests users of this software to return to - * - * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU - * School of Computer Science - * Carnegie Mellon University - * Pittsburgh PA 15213-3890 - * - * any improvements or extensions that they make and grant Carnegie Mellon - * the rights to redistribute these changes. - */ -/* - */ - -/* - * File: vm_types.h - * Author: Avadis Tevanian, Jr. - * Date: 1985 - * - * Header file for VM data types. I386 version. - */ - -#ifndef _MACH_I386_VM_TYPES_H_ -#define _MACH_I386_VM_TYPES_H_ - -#ifndef ASSEMBLER - -#include -#include - -/* - * natural_t and integer_t are Mach's legacy types for machine- - * independent integer types (unsigned, and signed, respectively). - * Their original purpose was to define other types in a machine/ - * compiler independent way. - * - * They also had an implicit "same size as pointer" characteristic - * to them (i.e. Mach's traditional types are very ILP32 or ILP64 - * centric). We support x86 ABIs that do not follow either of - * these models (specifically LP64). Therefore, we had to make a - * choice between making these types scale with pointers or stay - * tied to integers. Because their use is predominantly tied to - * to the size of an integer, we are keeping that association and - * breaking free from pointer size guarantees. - * - * New use of these types is discouraged. - */ -typedef __darwin_natural_t natural_t; -typedef int integer_t; - -/* - * A vm_offset_t is a type-neutral pointer, - * e.g. an offset into a virtual memory space. - */ -#ifdef __LP64__ -typedef uintptr_t vm_offset_t; -#else /* __LP64__ */ -typedef natural_t vm_offset_t; -#endif /* __LP64__ */ - -/* - * A vm_size_t is the proper type for e.g. - * expressing the difference between two - * vm_offset_t entities. - */ -#ifdef __LP64__ -typedef uintptr_t vm_size_t; -#else /* __LP64__ */ -typedef natural_t vm_size_t; -#endif /* __LP64__ */ - -/* - * This new type is independent of a particular vm map's - * implementation size - and represents appropriate types - * for all possible maps. This is used for interfaces - * where the size of the map is not known - or we don't - * want to have to distinguish. - */ -typedef uint64_t mach_vm_address_t; -typedef uint64_t mach_vm_offset_t; -typedef uint64_t mach_vm_size_t; - -typedef uint64_t vm_map_offset_t; -typedef uint64_t vm_map_address_t; -typedef uint64_t vm_map_size_t; - -typedef mach_vm_address_t mach_port_context_t; - - -#endif /* ASSEMBLER */ - -/* - * If composing messages by hand (please do not) - */ -#define MACH_MSG_TYPE_INTEGER_T MACH_MSG_TYPE_INTEGER_32 - -#endif /* _MACH_I386_VM_TYPES_H_ */ \ No newline at end of file diff --git a/lib/libc/include/x86_64-macos.12-none/i386/_mcontext.h b/lib/libc/include/x86_64-macos.12-none/i386/_mcontext.h deleted file mode 100644 index b9f40e5e33..0000000000 --- a/lib/libc/include/x86_64-macos.12-none/i386/_mcontext.h +++ /dev/null @@ -1,216 +0,0 @@ -/* - * Copyright (c) 2003-2012 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 __I386_MCONTEXT_H_ -#define __I386_MCONTEXT_H_ - -#if defined (__i386__) || defined (__x86_64__) - -#include /* __DARWIN_UNIX03 */ -#include -#include - -#ifndef _STRUCT_MCONTEXT32 -#if __DARWIN_UNIX03 -#define _STRUCT_MCONTEXT32 struct __darwin_mcontext32 -_STRUCT_MCONTEXT32 -{ - _STRUCT_X86_EXCEPTION_STATE32 __es; - _STRUCT_X86_THREAD_STATE32 __ss; - _STRUCT_X86_FLOAT_STATE32 __fs; -}; - -#define _STRUCT_MCONTEXT_AVX32 struct __darwin_mcontext_avx32 -_STRUCT_MCONTEXT_AVX32 -{ - _STRUCT_X86_EXCEPTION_STATE32 __es; - _STRUCT_X86_THREAD_STATE32 __ss; - _STRUCT_X86_AVX_STATE32 __fs; -}; - -#if defined(_STRUCT_X86_AVX512_STATE32) -#define _STRUCT_MCONTEXT_AVX512_32 struct __darwin_mcontext_avx512_32 -_STRUCT_MCONTEXT_AVX512_32 -{ - _STRUCT_X86_EXCEPTION_STATE32 __es; - _STRUCT_X86_THREAD_STATE32 __ss; - _STRUCT_X86_AVX512_STATE32 __fs; -}; -#endif /* _STRUCT_X86_AVX512_STATE32 */ - -#else /* !__DARWIN_UNIX03 */ -#define _STRUCT_MCONTEXT32 struct mcontext32 -_STRUCT_MCONTEXT32 -{ - _STRUCT_X86_EXCEPTION_STATE32 es; - _STRUCT_X86_THREAD_STATE32 ss; - _STRUCT_X86_FLOAT_STATE32 fs; -}; - -#define _STRUCT_MCONTEXT_AVX32 struct mcontext_avx32 -_STRUCT_MCONTEXT_AVX32 -{ - _STRUCT_X86_EXCEPTION_STATE32 es; - _STRUCT_X86_THREAD_STATE32 ss; - _STRUCT_X86_AVX_STATE32 fs; -}; - -#if defined(_STRUCT_X86_AVX512_STATE32) -#define _STRUCT_MCONTEXT_AVX512_32 struct mcontext_avx512_32 -_STRUCT_MCONTEXT_AVX512_32 -{ - _STRUCT_X86_EXCEPTION_STATE32 es; - _STRUCT_X86_THREAD_STATE32 ss; - _STRUCT_X86_AVX512_STATE32 fs; -}; -#endif /* _STRUCT_X86_AVX512_STATE32 */ - -#endif /* __DARWIN_UNIX03 */ -#endif /* _STRUCT_MCONTEXT32 */ - -#ifndef _STRUCT_MCONTEXT64 -#if __DARWIN_UNIX03 -#define _STRUCT_MCONTEXT64 struct __darwin_mcontext64 -_STRUCT_MCONTEXT64 -{ - _STRUCT_X86_EXCEPTION_STATE64 __es; - _STRUCT_X86_THREAD_STATE64 __ss; - _STRUCT_X86_FLOAT_STATE64 __fs; -}; - -#define _STRUCT_MCONTEXT64_FULL struct __darwin_mcontext64_full -_STRUCT_MCONTEXT64_FULL -{ - _STRUCT_X86_EXCEPTION_STATE64 __es; - _STRUCT_X86_THREAD_FULL_STATE64 __ss; - _STRUCT_X86_FLOAT_STATE64 __fs; -}; - -#define _STRUCT_MCONTEXT_AVX64 struct __darwin_mcontext_avx64 -_STRUCT_MCONTEXT_AVX64 -{ - _STRUCT_X86_EXCEPTION_STATE64 __es; - _STRUCT_X86_THREAD_STATE64 __ss; - _STRUCT_X86_AVX_STATE64 __fs; -}; - -#define _STRUCT_MCONTEXT_AVX64_FULL struct __darwin_mcontext_avx64_full -_STRUCT_MCONTEXT_AVX64_FULL -{ - _STRUCT_X86_EXCEPTION_STATE64 __es; - _STRUCT_X86_THREAD_FULL_STATE64 __ss; - _STRUCT_X86_AVX_STATE64 __fs; -}; - -#if defined(_STRUCT_X86_AVX512_STATE64) -#define _STRUCT_MCONTEXT_AVX512_64 struct __darwin_mcontext_avx512_64 -_STRUCT_MCONTEXT_AVX512_64 -{ - _STRUCT_X86_EXCEPTION_STATE64 __es; - _STRUCT_X86_THREAD_STATE64 __ss; - _STRUCT_X86_AVX512_STATE64 __fs; -}; - -#define _STRUCT_MCONTEXT_AVX512_64_FULL struct __darwin_mcontext_avx512_64_full -_STRUCT_MCONTEXT_AVX512_64_FULL -{ - _STRUCT_X86_EXCEPTION_STATE64 __es; - _STRUCT_X86_THREAD_FULL_STATE64 __ss; - _STRUCT_X86_AVX512_STATE64 __fs; -}; -#endif /* _STRUCT_X86_AVX512_STATE64 */ - -#else /* !__DARWIN_UNIX03 */ -#define _STRUCT_MCONTEXT64 struct mcontext64 -_STRUCT_MCONTEXT64 -{ - _STRUCT_X86_EXCEPTION_STATE64 es; - _STRUCT_X86_THREAD_STATE64 ss; - _STRUCT_X86_FLOAT_STATE64 fs; -}; - -#define _STRUCT_MCONTEXT64_FULL struct mcontext64_full -_STRUCT_MCONTEXT64_FULL -{ - _STRUCT_X86_EXCEPTION_STATE64 es; - _STRUCT_X86_THREAD_FULL_STATE64 ss; - _STRUCT_X86_FLOAT_STATE64 fs; -}; - -#define _STRUCT_MCONTEXT_AVX64 struct mcontext_avx64 -_STRUCT_MCONTEXT_AVX64 -{ - _STRUCT_X86_EXCEPTION_STATE64 es; - _STRUCT_X86_THREAD_STATE64 ss; - _STRUCT_X86_AVX_STATE64 fs; -}; - -#define _STRUCT_MCONTEXT_AVX64_FULL struct mcontext_avx64_full -_STRUCT_MCONTEXT_AVX64_FULL -{ - _STRUCT_X86_EXCEPTION_STATE64 es; - _STRUCT_X86_THREAD_FULL_STATE64 ss; - _STRUCT_X86_AVX_STATE64 fs; -}; - -#if defined(_STRUCT_X86_AVX512_STATE64) -#define _STRUCT_MCONTEXT_AVX512_64 struct mcontext_avx512_64 -_STRUCT_MCONTEXT_AVX512_64 -{ - _STRUCT_X86_EXCEPTION_STATE64 es; - _STRUCT_X86_THREAD_STATE64 ss; - _STRUCT_X86_AVX512_STATE64 fs; -}; - -#define _STRUCT_MCONTEXT_AVX512_64_FULL struct mcontext_avx512_64_full -_STRUCT_MCONTEXT_AVX512_64_FULL -{ - _STRUCT_X86_EXCEPTION_STATE64 es; - _STRUCT_X86_THREAD_FULL_STATE64 ss; - _STRUCT_X86_AVX512_STATE64 fs; -}; -#endif /* _STRUCT_X86_AVX512_STATE64 */ - -#endif /* __DARWIN_UNIX03 */ -#endif /* _STRUCT_MCONTEXT64 */ - - -#ifndef _MCONTEXT_T -#define _MCONTEXT_T -#if defined(__LP64__) -typedef _STRUCT_MCONTEXT64 *mcontext_t; -#define _STRUCT_MCONTEXT _STRUCT_MCONTEXT64 -#else -typedef _STRUCT_MCONTEXT32 *mcontext_t; -#define _STRUCT_MCONTEXT _STRUCT_MCONTEXT32 -#endif -#endif /* _MCONTEXT_T */ - -#endif /* defined (__i386__) || defined (__x86_64__) */ - -#endif /* __I386_MCONTEXT_H_ */ \ No newline at end of file diff --git a/lib/libc/include/x86_64-macos.12-none/i386/_types.h b/lib/libc/include/x86_64-macos.12-none/i386/_types.h deleted file mode 100644 index b9e77d684c..0000000000 --- a/lib/libc/include/x86_64-macos.12-none/i386/_types.h +++ /dev/null @@ -1,126 +0,0 @@ -/* - * Copyright (c) 2000-2003 Apple Computer, 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 _BSD_I386__TYPES_H_ -#define _BSD_I386__TYPES_H_ - -#if defined (__i386__) || defined (__x86_64__) - -/* - * This header file contains integer types. It's intended to also contain - * flotaing point and other arithmetic types, as needed, later. - */ - -#ifdef __GNUC__ -typedef __signed char __int8_t; -#else /* !__GNUC__ */ -typedef char __int8_t; -#endif /* !__GNUC__ */ -typedef unsigned char __uint8_t; -typedef short __int16_t; -typedef unsigned short __uint16_t; -typedef int __int32_t; -typedef unsigned int __uint32_t; -typedef long long __int64_t; -typedef unsigned long long __uint64_t; - -typedef long __darwin_intptr_t; -typedef unsigned int __darwin_natural_t; - -/* - * The rune type below is declared to be an ``int'' instead of the more natural - * ``unsigned long'' or ``long''. Two things are happening here. It is not - * unsigned so that EOF (-1) can be naturally assigned to it and used. Also, - * it looks like 10646 will be a 31 bit standard. This means that if your - * ints cannot hold 32 bits, you will be in trouble. The reason an int was - * chosen over a long is that the is*() and to*() routines take ints (says - * ANSI C), but they use __darwin_ct_rune_t instead of int. By changing it - * here, you lose a bit of ANSI conformance, but your programs will still - * work. - * - * NOTE: rune_t is not covered by ANSI nor other standards, and should not - * be instantiated outside of lib/libc/locale. Use wchar_t. wchar_t and - * rune_t must be the same type. Also wint_t must be no narrower than - * wchar_t, and should also be able to hold all members of the largest - * character set plus one extra value (WEOF). wint_t must be at least 16 bits. - */ - -typedef int __darwin_ct_rune_t; /* ct_rune_t */ - -/* - * mbstate_t is an opaque object to keep conversion state, during multibyte - * stream conversions. The content must not be referenced by user programs. - */ -typedef union { - char __mbstate8[128]; - long long _mbstateL; /* for alignment */ -} __mbstate_t; - -typedef __mbstate_t __darwin_mbstate_t; /* mbstate_t */ - -#if defined(__PTRDIFF_TYPE__) -typedef __PTRDIFF_TYPE__ __darwin_ptrdiff_t; /* ptr1 - ptr2 */ -#elif defined(__LP64__) -typedef long __darwin_ptrdiff_t; /* ptr1 - ptr2 */ -#else -typedef int __darwin_ptrdiff_t; /* ptr1 - ptr2 */ -#endif /* __GNUC__ */ - -#if defined(__SIZE_TYPE__) -typedef __SIZE_TYPE__ __darwin_size_t; /* sizeof() */ -#else -typedef unsigned long __darwin_size_t; /* sizeof() */ -#endif - -#if (__GNUC__ > 2) -typedef __builtin_va_list __darwin_va_list; /* va_list */ -#else -typedef void * __darwin_va_list; /* va_list */ -#endif - -#if defined(__WCHAR_TYPE__) -typedef __WCHAR_TYPE__ __darwin_wchar_t; /* wchar_t */ -#else -typedef __darwin_ct_rune_t __darwin_wchar_t; /* wchar_t */ -#endif - -typedef __darwin_wchar_t __darwin_rune_t; /* rune_t */ - -#if defined(__WINT_TYPE__) -typedef __WINT_TYPE__ __darwin_wint_t; /* wint_t */ -#else -typedef __darwin_ct_rune_t __darwin_wint_t; /* wint_t */ -#endif - -typedef unsigned long __darwin_clock_t; /* clock() */ -typedef __uint32_t __darwin_socklen_t; /* socklen_t (duh) */ -typedef long __darwin_ssize_t; /* byte count or error */ -typedef long __darwin_time_t; /* time() */ - -#endif /* defined (__i386__) || defined (__x86_64__) */ - -#endif /* _BSD_I386__TYPES_H_ */ \ No newline at end of file diff --git a/lib/libc/include/x86_64-macos.12-none/i386/eflags.h b/lib/libc/include/x86_64-macos.12-none/i386/eflags.h deleted file mode 100644 index 7faa7d0839..0000000000 --- a/lib/libc/include/x86_64-macos.12-none/i386/eflags.h +++ /dev/null @@ -1,98 +0,0 @@ -/* - * Copyright (c) 2000-2005 Apple Computer, 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@ - */ -/* - * @OSF_COPYRIGHT@ - */ -/* - * Mach Operating System - * Copyright (c) 1991,1990,1989 Carnegie Mellon University - * All Rights Reserved. - * - * Permission to use, copy, modify and distribute this software and its - * documentation is hereby granted, provided that both the copyright - * notice and this permission notice appear in all copies of the - * software, derivative works or modified versions, and any portions - * thereof, and that both notices appear in supporting documentation. - * - * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" - * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR - * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. - * - * Carnegie Mellon requests users of this software to return to - * - * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU - * School of Computer Science - * Carnegie Mellon University - * Pittsburgh PA 15213-3890 - * - * any improvements or extensions that they make and grant Carnegie Mellon - * the rights to redistribute these changes. - */ -/* - */ - -#ifndef _I386_EFLAGS_H_ -#define _I386_EFLAGS_H_ - -#if defined (__i386__) || defined (__x86_64__) - -/* - * i386 flags register - */ - -#ifndef EFL_CF -#define EFL_CF 0x00000001 /* carry */ -#define EFL_PF 0x00000004 /* parity of low 8 bits */ -#define EFL_AF 0x00000010 /* carry out of bit 3 */ -#define EFL_ZF 0x00000040 /* zero */ -#define EFL_SF 0x00000080 /* sign */ -#define EFL_TF 0x00000100 /* trace trap */ -#define EFL_IF 0x00000200 /* interrupt enable */ -#define EFL_DF 0x00000400 /* direction */ -#define EFL_OF 0x00000800 /* overflow */ -#define EFL_IOPL 0x00003000 /* IO privilege level: */ -#define EFL_IOPL_KERNEL 0x00000000 /* kernel */ -#define EFL_IOPL_USER 0x00003000 /* user */ -#define EFL_NT 0x00004000 /* nested task */ -#define EFL_RF 0x00010000 /* resume without tracing */ -#define EFL_VM 0x00020000 /* virtual 8086 mode */ -#define EFL_AC 0x00040000 /* alignment check */ -#define EFL_VIF 0x00080000 /* virtual interrupt flag */ -#define EFL_VIP 0x00100000 /* virtual interrupt pending */ -#define EFL_ID 0x00200000 /* cpuID instruction */ -#endif - -#define EFL_CLR 0xfff88028 -#define EFL_SET 0x00000002 - -#define EFL_USER_SET (EFL_IF) -#define EFL_USER_CLEAR (EFL_IOPL|EFL_NT|EFL_RF) - -#endif /* defined (__i386__) || defined (__x86_64__) */ - -#endif /* _I386_EFLAGS_H_ */ \ No newline at end of file diff --git a/lib/libc/include/x86_64-macos.12-none/i386/limits.h b/lib/libc/include/x86_64-macos.12-none/i386/limits.h deleted file mode 100644 index 292e6bd654..0000000000 --- a/lib/libc/include/x86_64-macos.12-none/i386/limits.h +++ /dev/null @@ -1,111 +0,0 @@ -/* - * Copyright (c) 1988, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)limits.h 8.3 (Berkeley) 1/4/94 - */ - -#ifndef _I386_LIMITS_H_ -#define _I386_LIMITS_H_ - -#if defined (__i386__) || defined (__x86_64__) - -#include -#include - -#define CHAR_BIT 8 /* number of bits in a char */ -#define MB_LEN_MAX 6 /* Allow 31 bit UTF2 */ - -#if !defined(_ANSI_SOURCE) && (!defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)) -#define CLK_TCK __DARWIN_CLK_TCK /* ticks per second */ -#endif /* !_ANSI_SOURCE && (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */ - -/* - * According to ANSI (section 2.2.4.2), the values below must be usable by - * #if preprocessing directives. Additionally, the expression must have the - * same type as would an expression that is an object of the corresponding - * type converted according to the integral promotions. The subtraction for - * INT_MIN and LONG_MIN is so the value is not unsigned; 2147483648 is an - * unsigned int for 32-bit two's complement ANSI compilers (section 3.1.3.2). - * These numbers work for pcc as well. The UINT_MAX and ULONG_MAX values - * are written as hex so that GCC will be quiet about large integer constants. - */ -#define SCHAR_MAX 127 /* min value for a signed char */ -#define SCHAR_MIN (-128) /* max value for a signed char */ - -#define UCHAR_MAX 255 /* max value for an unsigned char */ -#define CHAR_MAX 127 /* max value for a char */ -#define CHAR_MIN (-128) /* min value for a char */ - -#define USHRT_MAX 65535 /* max value for an unsigned short */ -#define SHRT_MAX 32767 /* max value for a short */ -#define SHRT_MIN (-32768) /* min value for a short */ - -#define UINT_MAX 0xffffffff /* max value for an unsigned int */ -#define INT_MAX 2147483647 /* max value for an int */ -#define INT_MIN (-2147483647-1) /* min value for an int */ - -#ifdef __LP64__ -#define ULONG_MAX 0xffffffffffffffffUL /* max unsigned long */ -#define LONG_MAX 0x7fffffffffffffffL /* max signed long */ -#define LONG_MIN (-0x7fffffffffffffffL-1) /* min signed long */ -#else /* !__LP64__ */ -#define ULONG_MAX 0xffffffffUL /* max unsigned long */ -#define LONG_MAX 2147483647L /* max signed long */ -#define LONG_MIN (-2147483647L-1) /* min signed long */ -#endif /* __LP64__ */ - -#define ULLONG_MAX 0xffffffffffffffffULL /* max unsigned long long */ -#define LLONG_MAX 0x7fffffffffffffffLL /* max signed long long */ -#define LLONG_MIN (-0x7fffffffffffffffLL-1) /* min signed long long */ - -#if !defined(_ANSI_SOURCE) -#ifdef __LP64__ -#define LONG_BIT 64 -#else /* !__LP64__ */ -#define LONG_BIT 32 -#endif /* __LP64__ */ -#define SSIZE_MAX LONG_MAX /* max value for a ssize_t */ -#define WORD_BIT 32 - -#if (!defined(_POSIX_C_SOURCE) && !defined(_XOPEN_SOURCE)) || defined(_DARWIN_C_SOURCE) -#define SIZE_T_MAX ULONG_MAX /* max value for a size_t */ - -#define UQUAD_MAX ULLONG_MAX -#define QUAD_MAX LLONG_MAX -#define QUAD_MIN LLONG_MIN - -#endif /* (!_POSIX_C_SOURCE && !_XOPEN_SOURCE) || _DARWIN_C_SOURCE */ -#endif /* !_ANSI_SOURCE */ - -#endif /* defined (__i386__) || defined (__x86_64__) */ - -#endif /* _I386_LIMITS_H_ */ \ No newline at end of file diff --git a/lib/libc/include/x86_64-macos.12-none/i386/param.h b/lib/libc/include/x86_64-macos.12-none/i386/param.h deleted file mode 100644 index fe2bb9cc06..0000000000 --- a/lib/libc/include/x86_64-macos.12-none/i386/param.h +++ /dev/null @@ -1,175 +0,0 @@ -/* - * Copyright (c) 2000-2010 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@ - */ -/*- - * Copyright (c) 1990, 1993 - * The Regents of the University of California. All rights reserved. - * (c) UNIX System Laboratories, Inc. - * All or some portions of this file are derived from material licensed - * to the University of California by American Telephone and Telegraph - * Co. or Unix System Laboratories, Inc. and are reproduced herein with - * the permission of UNIX System Laboratories, Inc. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)param.h 8.1 (Berkeley) 4/4/95 - */ - -/* - * Machine dependent constants for Intel 386. - */ - -#ifndef _I386_PARAM_H_ -#define _I386_PARAM_H_ - -#if defined (__i386__) || defined (__x86_64__) - -#include - -/* - * Round p (pointer or byte index) up to a correctly-aligned value for all - * data types (int, long, ...). The result is unsigned int and must be - * cast to any desired pointer type. - */ -#define ALIGNBYTES __DARWIN_ALIGNBYTES -#define ALIGN(p) __DARWIN_ALIGN(p) - -#define NBPG 4096 /* bytes/page */ -#define PGOFSET (NBPG-1) /* byte offset into page */ -#define PGSHIFT 12 /* LOG2(NBPG) */ - -#define DEV_BSIZE 512 -#define DEV_BSHIFT 9 /* log2(DEV_BSIZE) */ -#define BLKDEV_IOSIZE 2048 -#define MAXPHYS (128 * 1024) /* max raw I/O transfer size */ - -#define CLSIZE 1 -#define CLSIZELOG2 0 - -/* - * Constants related to network buffer management. - * MCLBYTES must be no larger than CLBYTES (the software page size), and, - * on machines that exchange pages of input or output buffers with mbuf - * clusters (MAPPED_MBUFS), MCLBYTES must also be an integral multiple - * of the hardware page size. - */ -#define MSIZESHIFT 8 /* 256 */ -#define MSIZE (1 << MSIZESHIFT) /* size of an mbuf */ -#define MCLSHIFT 11 /* 2048 */ -#define MCLBYTES (1 << MCLSHIFT) /* size of an mbuf cluster */ -#define MBIGCLSHIFT 12 /* 4096 */ -#define MBIGCLBYTES (1 << MBIGCLSHIFT) /* size of a big cluster */ -#define M16KCLSHIFT 14 /* 16384 */ -#define M16KCLBYTES (1 << M16KCLSHIFT) /* size of a jumbo cluster */ - -#define MCLOFSET (MCLBYTES - 1) -#ifndef NMBCLUSTERS -#define NMBCLUSTERS ((1024 * 1024) / MCLBYTES) /* cl map size: 1MB */ -#endif - -/* - * Some macros for units conversion - */ -/* Core clicks (NeXT_page_size bytes) to segments and vice versa */ -#define ctos(x) (x) -#define stoc(x) (x) - -/* Core clicks (4096 bytes) to disk blocks */ -#define ctod(x) ((x)<<(PGSHIFT-DEV_BSHIFT)) -#define dtoc(x) ((x)>>(PGSHIFT-DEV_BSHIFT)) -#define dtob(x) ((x)<>PGSHIFT) - -#ifdef __APPLE__ -#define btodb(bytes, devBlockSize) \ - ((unsigned)(bytes) / devBlockSize) -#define dbtob(db, devBlockSize) \ - ((unsigned)(db) * devBlockSize) -#else -#define btodb(bytes) /* calculates (bytes / DEV_BSIZE) */ \ - ((unsigned)(bytes) >> DEV_BSHIFT) -#define dbtob(db) /* calculates (db * DEV_BSIZE) */ \ - ((unsigned)(db) << DEV_BSHIFT) -#endif - -/* - * Map a ``block device block'' to a file system block. - * This should be device dependent, and will be if we - * add an entry to cdevsw/bdevsw for that purpose. - * For now though just use DEV_BSIZE. - */ -#define bdbtofsb(bn) ((bn) / (BLKDEV_IOSIZE/DEV_BSIZE)) - -/* - * Macros to decode (and encode) processor status word. - */ -#define STATUS_WORD(rpl, ipl) (((ipl) << 8) | (rpl)) -#define USERMODE(x) (((x) & 3) == 3) -#define BASEPRI(x) (((x) & (255 << 8)) == 0) - - -#if defined(KERNEL) || defined(STANDALONE) -#define DELAY(n) delay(n) - -#else /* defined(KERNEL) || defined(STANDALONE) */ -#define DELAY(n) { int N = (n); while (--N > 0); } -#endif /* defined(KERNEL) || defined(STANDALONE) */ - -#endif /* defined (__i386__) || defined (__x86_64__) */ - -#endif /* _I386_PARAM_H_ */ \ No newline at end of file diff --git a/lib/libc/include/x86_64-macos.12-none/i386/signal.h b/lib/libc/include/x86_64-macos.12-none/i386/signal.h deleted file mode 100644 index e699c2b61b..0000000000 --- a/lib/libc/include/x86_64-macos.12-none/i386/signal.h +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Copyright (c) 2000-2002 Apple Computer, 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@ - */ -/* - * Copyright (c) 1992 NeXT Computer, Inc. - * - */ - -#ifndef _I386_SIGNAL_H_ -#define _I386_SIGNAL_H_ 1 - -#if defined (__i386__) || defined (__x86_64__) - -#include - -#ifndef _ANSI_SOURCE -typedef int sig_atomic_t; - -#endif /* ! _ANSI_SOURCE */ - -#endif /* defined (__i386__) || defined (__x86_64__) */ - -#endif /* _I386_SIGNAL_H_ */ \ No newline at end of file diff --git a/lib/libc/include/x86_64-macos.12-none/libkern/OSAtomic.h b/lib/libc/include/x86_64-macos.12-none/libkern/OSAtomic.h deleted file mode 100644 index 37ef16ce44..0000000000 --- a/lib/libc/include/x86_64-macos.12-none/libkern/OSAtomic.h +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Copyright (c) 2004-2016 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 _OSATOMIC_H_ -#define _OSATOMIC_H_ - -/*! @header - * These are deprecated legacy interfaces for atomic and synchronization - * operations. - * - * Define OSATOMIC_USE_INLINED=1 to get inline implementations of the - * OSAtomic interfaces in terms of the primitives. - * - * Define OSSPINLOCK_USE_INLINED=1 to get inline implementations of the - * OSSpinLock interfaces in terms of the primitives. - * - * These are intended as a transition convenience, direct use of those - * primitives should be preferred. - */ - -#include - -#include "OSAtomicDeprecated.h" -#include "OSSpinLockDeprecated.h" -#include "OSAtomicQueue.h" - -#endif /* _OSATOMIC_H_ */ \ No newline at end of file diff --git a/lib/libc/include/x86_64-macos.12-none/libkern/OSAtomicDeprecated.h b/lib/libc/include/x86_64-macos.12-none/libkern/OSAtomicDeprecated.h deleted file mode 100644 index 6dc880b0d4..0000000000 --- a/lib/libc/include/x86_64-macos.12-none/libkern/OSAtomicDeprecated.h +++ /dev/null @@ -1,1266 +0,0 @@ -/* - * Copyright (c) 2004-2016 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 _OSATOMIC_DEPRECATED_H_ -#define _OSATOMIC_DEPRECATED_H_ - -/*! @header - * These are deprecated legacy interfaces for atomic operations. - * The C11 interfaces in resp. C++11 interfaces in - * should be used instead. - * - * Define OSATOMIC_USE_INLINED=1 to get inline implementations of these - * interfaces in terms of the resp. primitives. - * This is intended as a transition convenience, direct use of those primitives - * is preferred. - */ - -#include - -#if !(defined(OSATOMIC_USE_INLINED) && OSATOMIC_USE_INLINED) - -#include -#include -#include -#include - -#ifndef OSATOMIC_DEPRECATED -#define OSATOMIC_DEPRECATED 1 -#ifndef __cplusplus -#define OSATOMIC_BARRIER_DEPRECATED_MSG(_r) \ - "Use " #_r "() from instead" -#define OSATOMIC_DEPRECATED_MSG(_r) \ - "Use " #_r "_explicit(memory_order_relaxed) from instead" -#else -#define OSATOMIC_BARRIER_DEPRECATED_MSG(_r) \ - "Use std::" #_r "() from instead" -#define OSATOMIC_DEPRECATED_MSG(_r) \ - "Use std::" #_r "_explicit(std::memory_order_relaxed) from instead" -#endif -#define OSATOMIC_BARRIER_DEPRECATED_REPLACE_WITH(_r) \ - __OS_AVAILABILITY_MSG(macosx, deprecated=10.12, OSATOMIC_BARRIER_DEPRECATED_MSG(_r)) \ - __OS_AVAILABILITY_MSG(ios, deprecated=10.0, OSATOMIC_BARRIER_DEPRECATED_MSG(_r)) \ - __OS_AVAILABILITY_MSG(tvos, deprecated=10.0, OSATOMIC_BARRIER_DEPRECATED_MSG(_r)) \ - __OS_AVAILABILITY_MSG(watchos, deprecated=3.0, OSATOMIC_BARRIER_DEPRECATED_MSG(_r)) -#define OSATOMIC_DEPRECATED_REPLACE_WITH(_r) \ - __OS_AVAILABILITY_MSG(macosx, deprecated=10.12, OSATOMIC_DEPRECATED_MSG(_r)) \ - __OS_AVAILABILITY_MSG(ios, deprecated=10.0, OSATOMIC_DEPRECATED_MSG(_r)) \ - __OS_AVAILABILITY_MSG(tvos, deprecated=10.0, OSATOMIC_DEPRECATED_MSG(_r)) \ - __OS_AVAILABILITY_MSG(watchos, deprecated=3.0, OSATOMIC_DEPRECATED_MSG(_r)) -#else -#undef OSATOMIC_DEPRECATED -#define OSATOMIC_DEPRECATED 0 -#define OSATOMIC_BARRIER_DEPRECATED_REPLACE_WITH(_r) -#define OSATOMIC_DEPRECATED_REPLACE_WITH(_r) -#endif - -/* - * WARNING: all addresses passed to these functions must be "naturally aligned", - * i.e. int32_t pointers must be 32-bit aligned (low 2 bits of - * address are zeroes), and int64_t pointers must be 64-bit - * aligned (low 3 bits of address are zeroes.). - * Note that this is not the default alignment of the int64_t type - * in the iOS ARMv7 ABI, see - * {@link //apple_ref/doc/uid/TP40009021-SW8 iPhoneOSABIReference} - * - * Note that some versions of the atomic functions incorporate memory barriers - * and some do not. Barriers strictly order memory access on weakly-ordered - * architectures such as ARM. All loads and stores that appear (in sequential - * program order) before the barrier are guaranteed to complete before any - * load or store that appears after the barrier. - * - * The barrier operation is typically a no-op on uniprocessor systems and - * fully enabled on multiprocessor systems. On some platforms, such as ARM, - * the barrier can be quite expensive. - * - * Most code should use the barrier functions to ensure that memory shared - * between threads is properly synchronized. For example, if you want to - * initialize a shared data structure and then atomically increment a variable - * to indicate that the initialization is complete, you must use - * {@link OSAtomicIncrement32Barrier} to ensure that the stores to your data - * structure complete before the atomic increment. - * - * Likewise, the consumer of that data structure must use - * {@link OSAtomicDecrement32Barrier}, - * in order to ensure that their loads of the structure are not executed before - * the atomic decrement. On the other hand, if you are simply incrementing a - * global counter, then it is safe and potentially faster to use - * {@link OSAtomicIncrement32}. - * - * If you are unsure which version to use, prefer the barrier variants as they - * are safer. - * - * For the kernel-space version of this header, see - * {@link //apple_ref/doc/header/OSAtomic.h OSAtomic.h (Kernel Framework)} - * - * @apiuid //apple_ref/doc/header/user_space_OSAtomic.h - */ - -__BEGIN_DECLS - -/*! @typedef OSAtomic_int64_aligned64_t - * 64-bit aligned int64_t type. - * Use for variables whose addresses are passed to OSAtomic*64() functions to - * get the compiler to generate the required alignment. - */ - -#if __has_attribute(aligned) -typedef int64_t __attribute__((__aligned__((sizeof(int64_t))))) - OSAtomic_int64_aligned64_t; -#else -typedef int64_t OSAtomic_int64_aligned64_t; -#endif - -/*! @group Arithmetic functions - All functions in this group return the new value. - */ - -/*! @abstract Atomically adds two 32-bit values. - @discussion - This function adds the value given by __theAmount to the - value in the memory location referenced by __theValue, - storing the result back to that memory location atomically. - @result Returns the new value. - */ -OSATOMIC_DEPRECATED_REPLACE_WITH(atomic_fetch_add) -__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0) -int32_t OSAtomicAdd32( int32_t __theAmount, volatile int32_t *__theValue ); - - -/*! @abstract Atomically adds two 32-bit values. - @discussion - This function adds the value given by __theAmount to the - value in the memory location referenced by __theValue, - storing the result back to that memory location atomically. - - This function is equivalent to {@link OSAtomicAdd32} - except that it also introduces a barrier. - @result Returns the new value. - */ -OSATOMIC_BARRIER_DEPRECATED_REPLACE_WITH(atomic_fetch_add) -__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0) -int32_t OSAtomicAdd32Barrier( int32_t __theAmount, volatile int32_t *__theValue ); - - -#if __MAC_OS_X_VERSION_MIN_REQUIRED >= __MAC_10_10 || __IPHONE_OS_VERSION_MIN_REQUIRED >= __IPHONE_7_1 || TARGET_OS_DRIVERKIT - -/*! @abstract Atomically increments a 32-bit value. - @result Returns the new value. - */ -OSATOMIC_DEPRECATED_REPLACE_WITH(atomic_fetch_add) -__OSX_AVAILABLE_STARTING(__MAC_10_10, __IPHONE_7_1) -int32_t OSAtomicIncrement32( volatile int32_t *__theValue ); - - -/*! @abstract Atomically increments a 32-bit value with a barrier. - @discussion - This function is equivalent to {@link OSAtomicIncrement32} - except that it also introduces a barrier. - @result Returns the new value. - */ -OSATOMIC_BARRIER_DEPRECATED_REPLACE_WITH(atomic_fetch_add) -__OSX_AVAILABLE_STARTING(__MAC_10_10, __IPHONE_7_1) -int32_t OSAtomicIncrement32Barrier( volatile int32_t *__theValue ); - - -/*! @abstract Atomically decrements a 32-bit value. - @result Returns the new value. - */ -OSATOMIC_DEPRECATED_REPLACE_WITH(atomic_fetch_sub) -__OSX_AVAILABLE_STARTING(__MAC_10_10, __IPHONE_7_1) -int32_t OSAtomicDecrement32( volatile int32_t *__theValue ); - - -/*! @abstract Atomically decrements a 32-bit value with a barrier. - @discussion - This function is equivalent to {@link OSAtomicDecrement32} - except that it also introduces a barrier. - @result Returns the new value. - */ -OSATOMIC_BARRIER_DEPRECATED_REPLACE_WITH(atomic_fetch_sub) -__OSX_AVAILABLE_STARTING(__MAC_10_10, __IPHONE_7_1) -int32_t OSAtomicDecrement32Barrier( volatile int32_t *__theValue ); - -#else -__inline static -int32_t OSAtomicIncrement32( volatile int32_t *__theValue ) - { return OSAtomicAdd32( 1, __theValue); } - -__inline static -int32_t OSAtomicIncrement32Barrier( volatile int32_t *__theValue ) - { return OSAtomicAdd32Barrier( 1, __theValue); } - -__inline static -int32_t OSAtomicDecrement32( volatile int32_t *__theValue ) - { return OSAtomicAdd32( -1, __theValue); } - -__inline static -int32_t OSAtomicDecrement32Barrier( volatile int32_t *__theValue ) - { return OSAtomicAdd32Barrier( -1, __theValue); } -#endif - - -/*! @abstract Atomically adds two 64-bit values. - @discussion - This function adds the value given by __theAmount to the - value in the memory location referenced by __theValue, - storing the result back to that memory location atomically. - @result Returns the new value. - */ -OSATOMIC_DEPRECATED_REPLACE_WITH(atomic_fetch_add) -__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0) -int64_t OSAtomicAdd64( int64_t __theAmount, - volatile OSAtomic_int64_aligned64_t *__theValue ); - - -/*! @abstract Atomically adds two 64-bit values with a barrier. - @discussion - This function adds the value given by __theAmount to the - value in the memory location referenced by __theValue, - storing the result back to that memory location atomically. - - This function is equivalent to {@link OSAtomicAdd64} - except that it also introduces a barrier. - @result Returns the new value. - */ -OSATOMIC_BARRIER_DEPRECATED_REPLACE_WITH(atomic_fetch_add) -__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_3_2) -int64_t OSAtomicAdd64Barrier( int64_t __theAmount, - volatile OSAtomic_int64_aligned64_t *__theValue ); - - -#if __MAC_OS_X_VERSION_MIN_REQUIRED >= __MAC_10_10 || __IPHONE_OS_VERSION_MIN_REQUIRED >= __IPHONE_7_1 || TARGET_OS_DRIVERKIT - -/*! @abstract Atomically increments a 64-bit value. - @result Returns the new value. - */ -OSATOMIC_DEPRECATED_REPLACE_WITH(atomic_fetch_add) -__OSX_AVAILABLE_STARTING(__MAC_10_10, __IPHONE_7_1) -int64_t OSAtomicIncrement64( volatile OSAtomic_int64_aligned64_t *__theValue ); - - -/*! @abstract Atomically increments a 64-bit value with a barrier. - @discussion - This function is equivalent to {@link OSAtomicIncrement64} - except that it also introduces a barrier. - @result Returns the new value. - */ -OSATOMIC_BARRIER_DEPRECATED_REPLACE_WITH(atomic_fetch_add) -__OSX_AVAILABLE_STARTING(__MAC_10_10, __IPHONE_7_1) -int64_t OSAtomicIncrement64Barrier( volatile OSAtomic_int64_aligned64_t *__theValue ); - - -/*! @abstract Atomically decrements a 64-bit value. - @result Returns the new value. - */ -OSATOMIC_DEPRECATED_REPLACE_WITH(atomic_fetch_sub) -__OSX_AVAILABLE_STARTING(__MAC_10_10, __IPHONE_7_1) -int64_t OSAtomicDecrement64( volatile OSAtomic_int64_aligned64_t *__theValue ); - - -/*! @abstract Atomically decrements a 64-bit value with a barrier. - @discussion - This function is equivalent to {@link OSAtomicDecrement64} - except that it also introduces a barrier. - @result Returns the new value. - */ -OSATOMIC_BARRIER_DEPRECATED_REPLACE_WITH(atomic_fetch_sub) -__OSX_AVAILABLE_STARTING(__MAC_10_10, __IPHONE_7_1) -int64_t OSAtomicDecrement64Barrier( volatile OSAtomic_int64_aligned64_t *__theValue ); - -#else -__inline static -int64_t OSAtomicIncrement64( volatile OSAtomic_int64_aligned64_t *__theValue ) - { return OSAtomicAdd64( 1, __theValue); } - -__inline static -int64_t OSAtomicIncrement64Barrier( volatile OSAtomic_int64_aligned64_t *__theValue ) - { return OSAtomicAdd64Barrier( 1, __theValue); } - -__inline static -int64_t OSAtomicDecrement64( volatile OSAtomic_int64_aligned64_t *__theValue ) - { return OSAtomicAdd64( -1, __theValue); } - -__inline static -int64_t OSAtomicDecrement64Barrier( volatile OSAtomic_int64_aligned64_t *__theValue ) - { return OSAtomicAdd64Barrier( -1, __theValue); } -#endif - - -/*! @group Boolean functions (AND, OR, XOR) - * - * @discussion Functions in this group come in four variants for each operation: - * with and without barriers, and functions that return the original value or - * the result value of the operation. - * - * The "Orig" versions return the original value, (before the operation); the non-Orig - * versions return the value after the operation. All are layered on top of - * {@link OSAtomicCompareAndSwap32} and similar. - */ - -/*! @abstract Atomic bitwise OR of two 32-bit values. - @discussion - This function performs the bitwise OR of the value given by __theMask - with the value in the memory location referenced by __theValue, - storing the result back to that memory location atomically. - @result Returns the new value. - */ -OSATOMIC_DEPRECATED_REPLACE_WITH(atomic_fetch_or) -__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0) -int32_t OSAtomicOr32( uint32_t __theMask, volatile uint32_t *__theValue ); - - -/*! @abstract Atomic bitwise OR of two 32-bit values with barrier. - @discussion - This function performs the bitwise OR of the value given by __theMask - with the value in the memory location referenced by __theValue, - storing the result back to that memory location atomically. - - This function is equivalent to {@link OSAtomicOr32} - except that it also introduces a barrier. - @result Returns the new value. - */ -OSATOMIC_BARRIER_DEPRECATED_REPLACE_WITH(atomic_fetch_or) -__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0) -int32_t OSAtomicOr32Barrier( uint32_t __theMask, volatile uint32_t *__theValue ); - - -/*! @abstract Atomic bitwise OR of two 32-bit values returning original. - @discussion - This function performs the bitwise OR of the value given by __theMask - with the value in the memory location referenced by __theValue, - storing the result back to that memory location atomically. - @result Returns the original value referenced by __theValue. - */ -OSATOMIC_DEPRECATED_REPLACE_WITH(atomic_fetch_or) -__OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_3_2) -int32_t OSAtomicOr32Orig( uint32_t __theMask, volatile uint32_t *__theValue ); - - -/*! @abstract Atomic bitwise OR of two 32-bit values returning original with barrier. - @discussion - This function performs the bitwise OR of the value given by __theMask - with the value in the memory location referenced by __theValue, - storing the result back to that memory location atomically. - - This function is equivalent to {@link OSAtomicOr32Orig} - except that it also introduces a barrier. - @result Returns the original value referenced by __theValue. - */ -OSATOMIC_BARRIER_DEPRECATED_REPLACE_WITH(atomic_fetch_or) -__OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_3_2) -int32_t OSAtomicOr32OrigBarrier( uint32_t __theMask, volatile uint32_t *__theValue ); - - - - -/*! @abstract Atomic bitwise AND of two 32-bit values. - @discussion - This function performs the bitwise AND of the value given by __theMask - with the value in the memory location referenced by __theValue, - storing the result back to that memory location atomically. - @result Returns the new value. - */ -OSATOMIC_DEPRECATED_REPLACE_WITH(atomic_fetch_and) -__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0) -int32_t OSAtomicAnd32( uint32_t __theMask, volatile uint32_t *__theValue ); - - -/*! @abstract Atomic bitwise AND of two 32-bit values with barrier. - @discussion - This function performs the bitwise AND of the value given by __theMask - with the value in the memory location referenced by __theValue, - storing the result back to that memory location atomically. - - This function is equivalent to {@link OSAtomicAnd32} - except that it also introduces a barrier. - @result Returns the new value. - */ -OSATOMIC_BARRIER_DEPRECATED_REPLACE_WITH(atomic_fetch_and) -__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0) -int32_t OSAtomicAnd32Barrier( uint32_t __theMask, volatile uint32_t *__theValue ); - - -/*! @abstract Atomic bitwise AND of two 32-bit values returning original. - @discussion - This function performs the bitwise AND of the value given by __theMask - with the value in the memory location referenced by __theValue, - storing the result back to that memory location atomically. - @result Returns the original value referenced by __theValue. - */ -OSATOMIC_DEPRECATED_REPLACE_WITH(atomic_fetch_and) -__OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_3_2) -int32_t OSAtomicAnd32Orig( uint32_t __theMask, volatile uint32_t *__theValue ); - - -/*! @abstract Atomic bitwise AND of two 32-bit values returning original with barrier. - @discussion - This function performs the bitwise AND of the value given by __theMask - with the value in the memory location referenced by __theValue, - storing the result back to that memory location atomically. - - This function is equivalent to {@link OSAtomicAnd32Orig} - except that it also introduces a barrier. - @result Returns the original value referenced by __theValue. - */ -OSATOMIC_BARRIER_DEPRECATED_REPLACE_WITH(atomic_fetch_and) -__OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_3_2) -int32_t OSAtomicAnd32OrigBarrier( uint32_t __theMask, volatile uint32_t *__theValue ); - - - - -/*! @abstract Atomic bitwise XOR of two 32-bit values. - @discussion - This function performs the bitwise XOR of the value given by __theMask - with the value in the memory location referenced by __theValue, - storing the result back to that memory location atomically. - @result Returns the new value. - */ -OSATOMIC_DEPRECATED_REPLACE_WITH(atomic_fetch_xor) -__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0) -int32_t OSAtomicXor32( uint32_t __theMask, volatile uint32_t *__theValue ); - - -/*! @abstract Atomic bitwise XOR of two 32-bit values with barrier. - @discussion - This function performs the bitwise XOR of the value given by __theMask - with the value in the memory location referenced by __theValue, - storing the result back to that memory location atomically. - - This function is equivalent to {@link OSAtomicXor32} - except that it also introduces a barrier. - @result Returns the new value. - */ -OSATOMIC_BARRIER_DEPRECATED_REPLACE_WITH(atomic_fetch_xor) -__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0) -int32_t OSAtomicXor32Barrier( uint32_t __theMask, volatile uint32_t *__theValue ); - - -/*! @abstract Atomic bitwise XOR of two 32-bit values returning original. - @discussion - This function performs the bitwise XOR of the value given by __theMask - with the value in the memory location referenced by __theValue, - storing the result back to that memory location atomically. - @result Returns the original value referenced by __theValue. - */ -OSATOMIC_DEPRECATED_REPLACE_WITH(atomic_fetch_xor) -__OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_3_2) -int32_t OSAtomicXor32Orig( uint32_t __theMask, volatile uint32_t *__theValue ); - - -/*! @abstract Atomic bitwise XOR of two 32-bit values returning original with barrier. - @discussion - This function performs the bitwise XOR of the value given by __theMask - with the value in the memory location referenced by __theValue, - storing the result back to that memory location atomically. - - This function is equivalent to {@link OSAtomicXor32Orig} - except that it also introduces a barrier. - @result Returns the original value referenced by __theValue. - */ -OSATOMIC_BARRIER_DEPRECATED_REPLACE_WITH(atomic_fetch_xor) -__OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_3_2) -int32_t OSAtomicXor32OrigBarrier( uint32_t __theMask, volatile uint32_t *__theValue ); - - -/*! @group Compare and swap - * Functions in this group return true if the swap occured. There are several versions, - * depending on data type and on whether or not a barrier is used. - */ - - -/*! @abstract Compare and swap for 32-bit values. - @discussion - This function compares the value in __oldValue to the value - in the memory location referenced by __theValue. If the values - match, this function stores the value from __newValue into - that memory location atomically. - @result Returns TRUE on a match, FALSE otherwise. - */ -OSATOMIC_DEPRECATED_REPLACE_WITH(atomic_compare_exchange_strong) -__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0) -bool OSAtomicCompareAndSwap32( int32_t __oldValue, int32_t __newValue, volatile int32_t *__theValue ); - - -/*! @abstract Compare and swap for 32-bit values with barrier. - @discussion - This function compares the value in __oldValue to the value - in the memory location referenced by __theValue. If the values - match, this function stores the value from __newValue into - that memory location atomically. - - This function is equivalent to {@link OSAtomicCompareAndSwap32} - except that it also introduces a barrier. - @result Returns TRUE on a match, FALSE otherwise. - */ -OSATOMIC_BARRIER_DEPRECATED_REPLACE_WITH(atomic_compare_exchange_strong) -__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0) -bool OSAtomicCompareAndSwap32Barrier( int32_t __oldValue, int32_t __newValue, volatile int32_t *__theValue ); - - -/*! @abstract Compare and swap pointers. - @discussion - This function compares the pointer stored in __oldValue to the pointer - in the memory location referenced by __theValue. If the pointers - match, this function stores the pointer from __newValue into - that memory location atomically. - @result Returns TRUE on a match, FALSE otherwise. - */ -OSATOMIC_DEPRECATED_REPLACE_WITH(atomic_compare_exchange_strong) -__OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_2_0) -bool OSAtomicCompareAndSwapPtr( void *__oldValue, void *__newValue, void * volatile *__theValue ); - - -/*! @abstract Compare and swap pointers with barrier. - @discussion - This function compares the pointer stored in __oldValue to the pointer - in the memory location referenced by __theValue. If the pointers - match, this function stores the pointer from __newValue into - that memory location atomically. - - This function is equivalent to {@link OSAtomicCompareAndSwapPtr} - except that it also introduces a barrier. - @result Returns TRUE on a match, FALSE otherwise. - */ -OSATOMIC_BARRIER_DEPRECATED_REPLACE_WITH(atomic_compare_exchange_strong) -__OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_2_0) -bool OSAtomicCompareAndSwapPtrBarrier( void *__oldValue, void *__newValue, void * volatile *__theValue ); - - -/*! @abstract Compare and swap for int values. - @discussion - This function compares the value in __oldValue to the value - in the memory location referenced by __theValue. If the values - match, this function stores the value from __newValue into - that memory location atomically. - - This function is equivalent to {@link OSAtomicCompareAndSwap32}. - @result Returns TRUE on a match, FALSE otherwise. - */ -OSATOMIC_DEPRECATED_REPLACE_WITH(atomic_compare_exchange_strong) -__OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_2_0) -bool OSAtomicCompareAndSwapInt( int __oldValue, int __newValue, volatile int *__theValue ); - - -/*! @abstract Compare and swap for int values. - @discussion - This function compares the value in __oldValue to the value - in the memory location referenced by __theValue. If the values - match, this function stores the value from __newValue into - that memory location atomically. - - This function is equivalent to {@link OSAtomicCompareAndSwapInt} - except that it also introduces a barrier. - - This function is equivalent to {@link OSAtomicCompareAndSwap32Barrier}. - @result Returns TRUE on a match, FALSE otherwise. - */ -OSATOMIC_BARRIER_DEPRECATED_REPLACE_WITH(atomic_compare_exchange_strong) -__OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_2_0) -bool OSAtomicCompareAndSwapIntBarrier( int __oldValue, int __newValue, volatile int *__theValue ); - - -/*! @abstract Compare and swap for long values. - @discussion - This function compares the value in __oldValue to the value - in the memory location referenced by __theValue. If the values - match, this function stores the value from __newValue into - that memory location atomically. - - This function is equivalent to {@link OSAtomicCompareAndSwap32} on 32-bit architectures, - or {@link OSAtomicCompareAndSwap64} on 64-bit architectures. - @result Returns TRUE on a match, FALSE otherwise. - */ -OSATOMIC_DEPRECATED_REPLACE_WITH(atomic_compare_exchange_strong) -__OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_2_0) -bool OSAtomicCompareAndSwapLong( long __oldValue, long __newValue, volatile long *__theValue ); - - -/*! @abstract Compare and swap for long values. - @discussion - This function compares the value in __oldValue to the value - in the memory location referenced by __theValue. If the values - match, this function stores the value from __newValue into - that memory location atomically. - - This function is equivalent to {@link OSAtomicCompareAndSwapLong} - except that it also introduces a barrier. - - This function is equivalent to {@link OSAtomicCompareAndSwap32} on 32-bit architectures, - or {@link OSAtomicCompareAndSwap64} on 64-bit architectures. - @result Returns TRUE on a match, FALSE otherwise. - */ -OSATOMIC_BARRIER_DEPRECATED_REPLACE_WITH(atomic_compare_exchange_strong) -__OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_2_0) -bool OSAtomicCompareAndSwapLongBarrier( long __oldValue, long __newValue, volatile long *__theValue ); - - -/*! @abstract Compare and swap for uint64_t values. - @discussion - This function compares the value in __oldValue to the value - in the memory location referenced by __theValue. If the values - match, this function stores the value from __newValue into - that memory location atomically. - @result Returns TRUE on a match, FALSE otherwise. - */ -OSATOMIC_DEPRECATED_REPLACE_WITH(atomic_compare_exchange_strong) -__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0) -bool OSAtomicCompareAndSwap64( int64_t __oldValue, int64_t __newValue, - volatile OSAtomic_int64_aligned64_t *__theValue ); - - -/*! @abstract Compare and swap for uint64_t values. - @discussion - This function compares the value in __oldValue to the value - in the memory location referenced by __theValue. If the values - match, this function stores the value from __newValue into - that memory location atomically. - - This function is equivalent to {@link OSAtomicCompareAndSwap64} - except that it also introduces a barrier. - @result Returns TRUE on a match, FALSE otherwise. - */ -OSATOMIC_BARRIER_DEPRECATED_REPLACE_WITH(atomic_compare_exchange_strong) -__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_3_2) -bool OSAtomicCompareAndSwap64Barrier( int64_t __oldValue, int64_t __newValue, - volatile OSAtomic_int64_aligned64_t *__theValue ); - - -/* Test and set. - * They return the original value of the bit, and operate on bit (0x80>>(n&7)) - * in byte ((char*)theAddress + (n>>3)). - */ -/*! @abstract Atomic test and set - @discussion - This function tests a bit in the value referenced by - __theAddress and if it is not set, sets it. - - The bit is chosen by the value of __n such that the - operation will be performed on bit (0x80 >> (__n & 7)) - of byte ((char *)__theAddress + (n >> 3)). - - For example, if __theAddress points to a 64-bit value, - to compare the value of the most significant bit, you would specify - 56 for __n. - @result - Returns the original value of the bit being tested. - */ -OSATOMIC_DEPRECATED_REPLACE_WITH(atomic_fetch_or) -__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0) -bool OSAtomicTestAndSet( uint32_t __n, volatile void *__theAddress ); - - -/*! @abstract Atomic test and set with barrier - @discussion - This function tests a bit in the value referenced by __theAddress - and if it is not set, sets it. - - The bit is chosen by the value of __n such that the - operation will be performed on bit (0x80 >> (__n & 7)) - of byte ((char *)__theAddress + (n >> 3)). - - For example, if __theAddress points to a 64-bit value, - to compare the value of the most significant bit, you would specify - 56 for __n. - - This function is equivalent to {@link OSAtomicTestAndSet} - except that it also introduces a barrier. - @result - Returns the original value of the bit being tested. - */ -OSATOMIC_BARRIER_DEPRECATED_REPLACE_WITH(atomic_fetch_or) -__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0) -bool OSAtomicTestAndSetBarrier( uint32_t __n, volatile void *__theAddress ); - - - -/*! @abstract Atomic test and clear - @discussion - This function tests a bit in the value referenced by __theAddress - and if it is not cleared, clears it. - - The bit is chosen by the value of __n such that the - operation will be performed on bit (0x80 >> (__n & 7)) - of byte ((char *)__theAddress + (n >> 3)). - - For example, if __theAddress points to a 64-bit value, - to compare the value of the most significant bit, you would specify - 56 for __n. - - @result - Returns the original value of the bit being tested. - */ -OSATOMIC_DEPRECATED_REPLACE_WITH(atomic_fetch_and) -__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0) -bool OSAtomicTestAndClear( uint32_t __n, volatile void *__theAddress ); - - -/*! @abstract Atomic test and clear - @discussion - This function tests a bit in the value referenced by __theAddress - and if it is not cleared, clears it. - - The bit is chosen by the value of __n such that the - operation will be performed on bit (0x80 >> (__n & 7)) - of byte ((char *)__theAddress + (n >> 3)). - - For example, if __theAddress points to a 64-bit value, - to compare the value of the most significant bit, you would specify - 56 for __n. - - This function is equivalent to {@link OSAtomicTestAndSet} - except that it also introduces a barrier. - @result - Returns the original value of the bit being tested. - */ -OSATOMIC_BARRIER_DEPRECATED_REPLACE_WITH(atomic_fetch_and) -__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0) -bool OSAtomicTestAndClearBarrier( uint32_t __n, volatile void *__theAddress ); - - -/*! @group Memory barriers */ - -/*! @abstract Memory barrier. - @discussion - This function serves as both a read and write barrier. - */ -OSATOMIC_BARRIER_DEPRECATED_REPLACE_WITH(atomic_thread_fence) -__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0) -void OSMemoryBarrier( void ); - -__END_DECLS - -#else // defined(OSATOMIC_USE_INLINED) && OSATOMIC_USE_INLINED - -/* - * Inline implementations of the legacy OSAtomic interfaces in terms of - * C11 resp. C++11 primitives. - * Direct use of those primitives is preferred. - */ - -#include - -#include -#include -#include - -#ifdef __cplusplus -extern "C++" { -#if !(__has_include() && __has_extension(cxx_atomic)) -#error Cannot use inlined OSAtomic without and C++11 atomics -#endif -#include -typedef std::atomic _OSAtomic_uint8_t; -typedef std::atomic _OSAtomic_int32_t; -typedef std::atomic _OSAtomic_uint32_t; -typedef std::atomic _OSAtomic_int64_t; -typedef std::atomic _OSAtomic_void_ptr_t; -#define OSATOMIC_STD(_a) std::_a -__BEGIN_DECLS -#else -#if !(__has_include() && __has_extension(c_atomic)) -#error Cannot use inlined OSAtomic without and C11 atomics -#endif -#include -typedef _Atomic(uint8_t) _OSAtomic_uint8_t; -typedef _Atomic(int32_t) _OSAtomic_int32_t; -typedef _Atomic(uint32_t) _OSAtomic_uint32_t; -typedef _Atomic(int64_t) _OSAtomic_int64_t; -typedef _Atomic(void*) _OSAtomic_void_ptr_t; -#define OSATOMIC_STD(_a) _a -#endif - -#if __has_extension(c_alignof) && __has_attribute(aligned) -typedef int64_t __attribute__((__aligned__(_Alignof(_OSAtomic_int64_t)))) - OSAtomic_int64_aligned64_t; -#elif __has_attribute(aligned) -typedef int64_t __attribute__((__aligned__((sizeof(_OSAtomic_int64_t))))) - OSAtomic_int64_aligned64_t; -#else -typedef int64_t OSAtomic_int64_aligned64_t; -#endif - -#if __has_attribute(always_inline) -#define OSATOMIC_INLINE static __inline __attribute__((__always_inline__)) -#else -#define OSATOMIC_INLINE static __inline -#endif - -OSATOMIC_INLINE -int32_t -OSAtomicAdd32(int32_t __theAmount, volatile int32_t *__theValue) -{ - return (OSATOMIC_STD(atomic_fetch_add_explicit)( - (volatile _OSAtomic_int32_t*) __theValue, __theAmount, - OSATOMIC_STD(memory_order_relaxed)) + __theAmount); -} - -OSATOMIC_INLINE -int32_t -OSAtomicAdd32Barrier(int32_t __theAmount, volatile int32_t *__theValue) -{ - return (OSATOMIC_STD(atomic_fetch_add_explicit)( - (volatile _OSAtomic_int32_t*) __theValue, __theAmount, - OSATOMIC_STD(memory_order_seq_cst)) + __theAmount); -} - -OSATOMIC_INLINE -int32_t -OSAtomicIncrement32(volatile int32_t *__theValue) -{ - return OSAtomicAdd32(1, __theValue); -} - -OSATOMIC_INLINE -int32_t -OSAtomicIncrement32Barrier(volatile int32_t *__theValue) -{ - return OSAtomicAdd32Barrier(1, __theValue); -} - -OSATOMIC_INLINE -int32_t -OSAtomicDecrement32(volatile int32_t *__theValue) -{ - return OSAtomicAdd32(-1, __theValue); -} - -OSATOMIC_INLINE -int32_t -OSAtomicDecrement32Barrier(volatile int32_t *__theValue) -{ - return OSAtomicAdd32Barrier(-1, __theValue); -} - -OSATOMIC_INLINE -int64_t -OSAtomicAdd64(int64_t __theAmount, - volatile OSAtomic_int64_aligned64_t *__theValue) -{ - return (OSATOMIC_STD(atomic_fetch_add_explicit)( - (volatile _OSAtomic_int64_t*) __theValue, __theAmount, - OSATOMIC_STD(memory_order_relaxed)) + __theAmount); -} - -OSATOMIC_INLINE -int64_t -OSAtomicAdd64Barrier(int64_t __theAmount, - volatile OSAtomic_int64_aligned64_t *__theValue) -{ - return (OSATOMIC_STD(atomic_fetch_add_explicit)( - (volatile _OSAtomic_int64_t*) __theValue, __theAmount, - OSATOMIC_STD(memory_order_seq_cst)) + __theAmount); -} - -OSATOMIC_INLINE -int64_t -OSAtomicIncrement64(volatile OSAtomic_int64_aligned64_t *__theValue) -{ - return OSAtomicAdd64(1, __theValue); -} - -OSATOMIC_INLINE -int64_t -OSAtomicIncrement64Barrier(volatile OSAtomic_int64_aligned64_t *__theValue) -{ - return OSAtomicAdd64Barrier(1, __theValue); -} - -OSATOMIC_INLINE -int64_t -OSAtomicDecrement64(volatile OSAtomic_int64_aligned64_t *__theValue) -{ - return OSAtomicAdd64(-1, __theValue); -} - -OSATOMIC_INLINE -int64_t -OSAtomicDecrement64Barrier(volatile OSAtomic_int64_aligned64_t *__theValue) -{ - return OSAtomicAdd64Barrier(-1, __theValue); -} - -OSATOMIC_INLINE -int32_t -OSAtomicOr32(uint32_t __theMask, volatile uint32_t *__theValue) -{ - return (int32_t)(OSATOMIC_STD(atomic_fetch_or_explicit)( - (volatile _OSAtomic_uint32_t*)__theValue, __theMask, - OSATOMIC_STD(memory_order_relaxed)) | __theMask); -} - -OSATOMIC_INLINE -int32_t -OSAtomicOr32Barrier(uint32_t __theMask, volatile uint32_t *__theValue) -{ - return (int32_t)(OSATOMIC_STD(atomic_fetch_or_explicit)( - (volatile _OSAtomic_uint32_t*)__theValue, __theMask, - OSATOMIC_STD(memory_order_seq_cst)) | __theMask); -} - -OSATOMIC_INLINE -int32_t -OSAtomicOr32Orig(uint32_t __theMask, volatile uint32_t *__theValue) -{ - return (int32_t)(OSATOMIC_STD(atomic_fetch_or_explicit)( - (volatile _OSAtomic_uint32_t*)__theValue, __theMask, - OSATOMIC_STD(memory_order_relaxed))); -} - -OSATOMIC_INLINE -int32_t -OSAtomicOr32OrigBarrier(uint32_t __theMask, volatile uint32_t *__theValue) -{ - return (int32_t)(OSATOMIC_STD(atomic_fetch_or_explicit)( - (volatile _OSAtomic_uint32_t*)__theValue, __theMask, - OSATOMIC_STD(memory_order_seq_cst))); -} - -OSATOMIC_INLINE -int32_t -OSAtomicAnd32(uint32_t __theMask, volatile uint32_t *__theValue) -{ - return (int32_t)(OSATOMIC_STD(atomic_fetch_and_explicit)( - (volatile _OSAtomic_uint32_t*)__theValue, __theMask, - OSATOMIC_STD(memory_order_relaxed)) & __theMask); -} - -OSATOMIC_INLINE -int32_t -OSAtomicAnd32Barrier(uint32_t __theMask, volatile uint32_t *__theValue) -{ - return (int32_t)(OSATOMIC_STD(atomic_fetch_and_explicit)( - (volatile _OSAtomic_uint32_t*)__theValue, __theMask, - OSATOMIC_STD(memory_order_seq_cst)) & __theMask); -} - -OSATOMIC_INLINE -int32_t -OSAtomicAnd32Orig(uint32_t __theMask, volatile uint32_t *__theValue) -{ - return (int32_t)(OSATOMIC_STD(atomic_fetch_and_explicit)( - (volatile _OSAtomic_uint32_t*)__theValue, __theMask, - OSATOMIC_STD(memory_order_relaxed))); -} - -OSATOMIC_INLINE -int32_t -OSAtomicAnd32OrigBarrier(uint32_t __theMask, volatile uint32_t *__theValue) -{ - return (int32_t)(OSATOMIC_STD(atomic_fetch_and_explicit)( - (volatile _OSAtomic_uint32_t*)__theValue, __theMask, - OSATOMIC_STD(memory_order_seq_cst))); -} - -OSATOMIC_INLINE -int32_t -OSAtomicXor32(uint32_t __theMask, volatile uint32_t *__theValue) -{ - return (int32_t)(OSATOMIC_STD(atomic_fetch_xor_explicit)( - (volatile _OSAtomic_uint32_t*)__theValue, __theMask, - OSATOMIC_STD(memory_order_relaxed)) ^ __theMask); -} - -OSATOMIC_INLINE -int32_t -OSAtomicXor32Barrier(uint32_t __theMask, volatile uint32_t *__theValue) -{ - return (int32_t)(OSATOMIC_STD(atomic_fetch_xor_explicit)( - (volatile _OSAtomic_uint32_t*)__theValue, __theMask, - OSATOMIC_STD(memory_order_seq_cst)) ^ __theMask); -} - -OSATOMIC_INLINE -int32_t -OSAtomicXor32Orig(uint32_t __theMask, volatile uint32_t *__theValue) -{ - return (int32_t)(OSATOMIC_STD(atomic_fetch_xor_explicit)( - (volatile _OSAtomic_uint32_t*)__theValue, __theMask, - OSATOMIC_STD(memory_order_relaxed))); -} - -OSATOMIC_INLINE -int32_t -OSAtomicXor32OrigBarrier(uint32_t __theMask, volatile uint32_t *__theValue) -{ - return (int32_t)(OSATOMIC_STD(atomic_fetch_xor_explicit)( - (volatile _OSAtomic_uint32_t*)__theValue, __theMask, - OSATOMIC_STD(memory_order_seq_cst))); -} - -OSATOMIC_INLINE -bool -OSAtomicCompareAndSwap32(int32_t __oldValue, int32_t __newValue, - volatile int32_t *__theValue) -{ - return (OSATOMIC_STD(atomic_compare_exchange_strong_explicit)( - (volatile _OSAtomic_int32_t*)__theValue, &__oldValue, __newValue, - OSATOMIC_STD(memory_order_relaxed), - OSATOMIC_STD(memory_order_relaxed))); -} - -OSATOMIC_INLINE -bool -OSAtomicCompareAndSwap32Barrier(int32_t __oldValue, int32_t __newValue, - volatile int32_t *__theValue) -{ - return (OSATOMIC_STD(atomic_compare_exchange_strong_explicit)( - (volatile _OSAtomic_int32_t*)__theValue, &__oldValue, __newValue, - OSATOMIC_STD(memory_order_seq_cst), - OSATOMIC_STD(memory_order_relaxed))); -} - -OSATOMIC_INLINE -bool -OSAtomicCompareAndSwapPtr(void *__oldValue, void *__newValue, - void * volatile *__theValue) -{ - return (OSATOMIC_STD(atomic_compare_exchange_strong_explicit)( - (volatile _OSAtomic_void_ptr_t*)__theValue, &__oldValue, __newValue, - OSATOMIC_STD(memory_order_relaxed), - OSATOMIC_STD(memory_order_relaxed))); -} - -OSATOMIC_INLINE -bool -OSAtomicCompareAndSwapPtrBarrier(void *__oldValue, void *__newValue, - void * volatile *__theValue) -{ - return (OSATOMIC_STD(atomic_compare_exchange_strong_explicit)( - (volatile _OSAtomic_void_ptr_t*)__theValue, &__oldValue, __newValue, - OSATOMIC_STD(memory_order_seq_cst), - OSATOMIC_STD(memory_order_relaxed))); -} - -OSATOMIC_INLINE -bool -OSAtomicCompareAndSwapInt(int __oldValue, int __newValue, - volatile int *__theValue) -{ - return (OSATOMIC_STD(atomic_compare_exchange_strong_explicit)( - (volatile OSATOMIC_STD(atomic_int)*)__theValue, &__oldValue, - __newValue, OSATOMIC_STD(memory_order_relaxed), - OSATOMIC_STD(memory_order_relaxed))); -} - -OSATOMIC_INLINE -bool -OSAtomicCompareAndSwapIntBarrier(int __oldValue, int __newValue, - volatile int *__theValue) -{ - return (OSATOMIC_STD(atomic_compare_exchange_strong_explicit)( - (volatile OSATOMIC_STD(atomic_int)*)__theValue, &__oldValue, - __newValue, OSATOMIC_STD(memory_order_seq_cst), - OSATOMIC_STD(memory_order_relaxed))); -} - -OSATOMIC_INLINE -bool -OSAtomicCompareAndSwapLong(long __oldValue, long __newValue, - volatile long *__theValue) -{ - return (OSATOMIC_STD(atomic_compare_exchange_strong_explicit)( - (volatile OSATOMIC_STD(atomic_long)*)__theValue, &__oldValue, - __newValue, OSATOMIC_STD(memory_order_relaxed), - OSATOMIC_STD(memory_order_relaxed))); -} - -OSATOMIC_INLINE -bool -OSAtomicCompareAndSwapLongBarrier(long __oldValue, long __newValue, - volatile long *__theValue) -{ - return (OSATOMIC_STD(atomic_compare_exchange_strong_explicit)( - (volatile OSATOMIC_STD(atomic_long)*)__theValue, &__oldValue, - __newValue, OSATOMIC_STD(memory_order_seq_cst), - OSATOMIC_STD(memory_order_relaxed))); -} - -OSATOMIC_INLINE -bool -OSAtomicCompareAndSwap64(int64_t __oldValue, int64_t __newValue, - volatile OSAtomic_int64_aligned64_t *__theValue) -{ - return (OSATOMIC_STD(atomic_compare_exchange_strong_explicit)( - (volatile _OSAtomic_int64_t*)__theValue, &__oldValue, __newValue, - OSATOMIC_STD(memory_order_relaxed), - OSATOMIC_STD(memory_order_relaxed))); -} - -OSATOMIC_INLINE -bool -OSAtomicCompareAndSwap64Barrier(int64_t __oldValue, int64_t __newValue, - volatile OSAtomic_int64_aligned64_t *__theValue) -{ - return (OSATOMIC_STD(atomic_compare_exchange_strong_explicit)( - (volatile _OSAtomic_int64_t*)__theValue, &__oldValue, __newValue, - OSATOMIC_STD(memory_order_seq_cst), - OSATOMIC_STD(memory_order_relaxed))); -} - -OSATOMIC_INLINE -bool -OSAtomicTestAndSet(uint32_t __n, volatile void *__theAddress) -{ - uintptr_t a = (uintptr_t)__theAddress + (__n >> 3); - uint8_t v = (0x80u >> (__n & 7)); - return (OSATOMIC_STD(atomic_fetch_or_explicit)((_OSAtomic_uint8_t*)a, v, - OSATOMIC_STD(memory_order_relaxed)) & v); -} - -OSATOMIC_INLINE -bool -OSAtomicTestAndSetBarrier(uint32_t __n, volatile void *__theAddress) -{ - uintptr_t a = (uintptr_t)__theAddress + (__n >> 3); - uint8_t v = (0x80u >> (__n & 7)); - return (OSATOMIC_STD(atomic_fetch_or_explicit)((_OSAtomic_uint8_t*)a, v, - OSATOMIC_STD(memory_order_seq_cst)) & v); -} - -OSATOMIC_INLINE -bool -OSAtomicTestAndClear(uint32_t __n, volatile void *__theAddress) -{ - uintptr_t a = (uintptr_t)__theAddress + (__n >> 3); - uint8_t v = (0x80u >> (__n & 7)); - return (OSATOMIC_STD(atomic_fetch_and_explicit)((_OSAtomic_uint8_t*)a, - (uint8_t)~v, OSATOMIC_STD(memory_order_relaxed)) & v); -} - -OSATOMIC_INLINE -bool -OSAtomicTestAndClearBarrier(uint32_t __n, volatile void *__theAddress) -{ - uintptr_t a = (uintptr_t)__theAddress + (__n >> 3); - uint8_t v = (0x80u >> (__n & 7)); - return (OSATOMIC_STD(atomic_fetch_and_explicit)((_OSAtomic_uint8_t*)a, - (uint8_t)~v, OSATOMIC_STD(memory_order_seq_cst)) & v); -} - -OSATOMIC_INLINE -void -OSMemoryBarrier(void) -{ - OSATOMIC_STD(atomic_thread_fence)(OSATOMIC_STD(memory_order_seq_cst)); -} - -#undef OSATOMIC_INLINE -#undef OSATOMIC_STD -#ifdef __cplusplus -__END_DECLS -} // extern "C++" -#endif - -#endif // defined(OSATOMIC_USE_INLINED) && OSATOMIC_USE_INLINED - -#if TARGET_OS_OSX || TARGET_OS_DRIVERKIT - -__BEGIN_DECLS - -/*! @group Lockless atomic fifo enqueue and dequeue - * These routines manipulate singly-linked FIFO lists. - * - * This API is deprecated and no longer recommended - */ - -/*! @abstract The data structure for a fifo queue head. - @discussion - You should always initialize a fifo queue head structure with the - initialization vector {@link OS_ATOMIC_FIFO_QUEUE_INIT} before use. - */ -#if defined(__LP64__) - -typedef volatile struct { - void *opaque1; - void *opaque2; - int opaque3; -} __attribute__ ((aligned (16))) OSFifoQueueHead; - -#else - -typedef volatile struct { - void *opaque1; - void *opaque2; - int opaque3; -} OSFifoQueueHead; - -#endif -/*! @abstract The initialization vector for a fifo queue head. */ -#define OS_ATOMIC_FIFO_QUEUE_INIT { NULL, NULL, 0 } - -/*! @abstract Enqueue an element onto a list. - @discussion - Memory barriers are incorporated as needed to permit thread-safe access - to the queue element. - @param __list - The list on which you want to enqueue the element. - @param __new - The element to add. - @param __offset - The "offset" parameter is the offset (in bytes) of the link field - from the beginning of the data structure being queued (__new). - The link field should be a pointer type. - The __offset value needs to be same for all enqueuing and - dequeuing operations on the same list, even if different structure types - are enqueued on that list. The use of offsetset(), defined in - stddef.h is the common way to specify the __offset - value. - - @note - This API is deprecated and no longer recommended - */ -__API_DEPRECATED("No longer supported", macos(10.7, 11.0)) -void OSAtomicFifoEnqueue( OSFifoQueueHead *__list, void *__new, size_t __offset); - -/*! @abstract Dequeue an element from a list. - @discussion - Memory barriers are incorporated as needed to permit thread-safe access - to the queue element. - @param __list - The list from which you want to dequeue an element. - @param __offset - The "offset" parameter is the offset (in bytes) of the link field - from the beginning of the data structure being dequeued (__new). - The link field should be a pointer type. - The __offset value needs to be same for all enqueuing and - dequeuing operations on the same list, even if different structure types - are enqueued on that list. The use of offsetset(), defined in - stddef.h is the common way to specify the __offset - value. - @result - Returns the oldest enqueued element, or NULL if the - list is empty. - - @note - This API is deprecated and no longer recommended - */ -__API_DEPRECATED("No longer supported", macos(10.7, 11.0)) -void* OSAtomicFifoDequeue( OSFifoQueueHead *__list, size_t __offset); - -__END_DECLS - -#endif /* TARGET_OS_OSX || TARGET_OS_DRIVERKIT */ - -#endif /* _OSATOMIC_DEPRECATED_H_ */ \ No newline at end of file diff --git a/lib/libc/include/x86_64-macos.12-none/libkern/OSAtomicQueue.h b/lib/libc/include/x86_64-macos.12-none/libkern/OSAtomicQueue.h deleted file mode 100644 index 66033fc834..0000000000 --- a/lib/libc/include/x86_64-macos.12-none/libkern/OSAtomicQueue.h +++ /dev/null @@ -1,115 +0,0 @@ -/* - * Copyright (c) 2004-2016 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 _OSATOMICQUEUE_H_ -#define _OSATOMICQUEUE_H_ - -#include -#include -#include -#include -#include "OSAtomicDeprecated.h" - -#include - -/*! @header Lockless atomic enqueue and dequeue - * These routines manipulate singly-linked LIFO lists. - */ - -__BEGIN_DECLS - -/*! @abstract The data structure for a queue head. - @discussion - You should always initialize a queue head structure with the - initialization vector {@link OS_ATOMIC_QUEUE_INIT} before use. - */ -#if defined(__LP64__) - -typedef volatile struct { - void *opaque1; - long opaque2; -} __attribute__ ((aligned (16))) OSQueueHead; - -#else - -typedef volatile struct { - void *opaque1; - long opaque2; -} OSQueueHead; - -#endif - -/*! @abstract The initialization vector for a queue head. */ -#define OS_ATOMIC_QUEUE_INIT { NULL, 0 } - -/*! @abstract Enqueue an element onto a list. - @discussion - Memory barriers are incorporated as needed to permit thread-safe access - to the queue element. - @param __list - The list on which you want to enqueue the element. - @param __new - The element to add. - @param __offset - The "offset" parameter is the offset (in bytes) of the link field - from the beginning of the data structure being queued (__new). - The link field should be a pointer type. - The __offset value needs to be same for all enqueuing and - dequeuing operations on the same list, even if different structure types - are enqueued on that list. The use of offsetset(), defined in - stddef.h is the common way to specify the __offset - value. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_4_0) -void OSAtomicEnqueue( OSQueueHead *__list, void *__new, size_t __offset); - - -/*! @abstract Dequeue an element from a list. - @discussion - Memory barriers are incorporated as needed to permit thread-safe access - to the queue element. - @param __list - The list from which you want to dequeue an element. - @param __offset - The "offset" parameter is the offset (in bytes) of the link field - from the beginning of the data structure being dequeued (__new). - The link field should be a pointer type. - The __offset value needs to be same for all enqueuing and - dequeuing operations on the same list, even if different structure types - are enqueued on that list. The use of offsetset(), defined in - stddef.h is the common way to specify the __offset - value. - IMPORTANT: the memory backing the link field of a queue element must not be - unmapped after OSAtomicDequeue() returns until all concurrent calls to - OSAtomicDequeue() for the same list on other threads have also returned, - as they may still be accessing that memory location. - @result - Returns the most recently enqueued element, or NULL if the - list is empty. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_4_0) -void* OSAtomicDequeue( OSQueueHead *__list, size_t __offset); - -__END_DECLS - -#endif /* _OSATOMICQUEUE_H_ */ \ No newline at end of file diff --git a/lib/libc/include/x86_64-macos.12-none/libkern/OSSpinLockDeprecated.h b/lib/libc/include/x86_64-macos.12-none/libkern/OSSpinLockDeprecated.h deleted file mode 100644 index a654a7bbc2..0000000000 --- a/lib/libc/include/x86_64-macos.12-none/libkern/OSSpinLockDeprecated.h +++ /dev/null @@ -1,212 +0,0 @@ -/* - * Copyright (c) 2004-2016 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 _OSSPINLOCK_DEPRECATED_H_ -#define _OSSPINLOCK_DEPRECATED_H_ - -/*! @header - * These are deprecated legacy interfaces for userspace spinlocks. - * - * These interfaces should no longer be used, particularily in situations where - * threads of differing priorities may contend on the same spinlock. - * - * The interfaces in should be used instead in cases where a very - * low-level lock primitive is required. In general however, using higher level - * synchronization primitives such as those provided by the pthread or dispatch - * subsystems should be preferred. - * - * Define OSSPINLOCK_USE_INLINED=1 to get inline implementations of these - * interfaces in terms of the primitives. This is intended as a - * transition convenience, direct use of those primitives is preferred. - */ - -#ifndef OSSPINLOCK_DEPRECATED -#define OSSPINLOCK_DEPRECATED 1 -#define OSSPINLOCK_DEPRECATED_MSG(_r) "Use " #_r "() from instead" -#define OSSPINLOCK_DEPRECATED_REPLACE_WITH(_r) \ - __OS_AVAILABILITY_MSG(macosx, deprecated=10.12, OSSPINLOCK_DEPRECATED_MSG(_r)) \ - __OS_AVAILABILITY_MSG(ios, deprecated=10.0, OSSPINLOCK_DEPRECATED_MSG(_r)) \ - __OS_AVAILABILITY_MSG(tvos, deprecated=10.0, OSSPINLOCK_DEPRECATED_MSG(_r)) \ - __OS_AVAILABILITY_MSG(watchos, deprecated=3.0, OSSPINLOCK_DEPRECATED_MSG(_r)) -#else -#undef OSSPINLOCK_DEPRECATED -#define OSSPINLOCK_DEPRECATED 0 -#define OSSPINLOCK_DEPRECATED_REPLACE_WITH(_r) -#endif - -#if !(defined(OSSPINLOCK_USE_INLINED) && OSSPINLOCK_USE_INLINED) - -#include -#include -#include -#include -#include - -__BEGIN_DECLS - -/*! @abstract The default value for an OSSpinLock. - @discussion - The convention is that unlocked is zero, locked is nonzero. - */ -#define OS_SPINLOCK_INIT 0 - - -/*! @abstract Data type for a spinlock. - @discussion - You should always initialize a spinlock to {@link OS_SPINLOCK_INIT} before - using it. - */ -typedef int32_t OSSpinLock OSSPINLOCK_DEPRECATED_REPLACE_WITH(os_unfair_lock); - - -/*! @abstract Locks a spinlock if it would not block - @result - Returns false if the lock was already held by another thread, - true if it took the lock successfully. - */ -OSSPINLOCK_DEPRECATED_REPLACE_WITH(os_unfair_lock_trylock) -__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0) -bool OSSpinLockTry( volatile OSSpinLock *__lock ); - - -/*! @abstract Locks a spinlock - @discussion - Although the lock operation spins, it employs various strategies to back - off if the lock is held. - */ -OSSPINLOCK_DEPRECATED_REPLACE_WITH(os_unfair_lock_lock) -__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0) -void OSSpinLockLock( volatile OSSpinLock *__lock ); - - -/*! @abstract Unlocks a spinlock */ -OSSPINLOCK_DEPRECATED_REPLACE_WITH(os_unfair_lock_unlock) -__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0) -void OSSpinLockUnlock( volatile OSSpinLock *__lock ); - -__END_DECLS - -#else /* OSSPINLOCK_USE_INLINED */ - -/* - * Inline implementations of the legacy OSSpinLock interfaces in terms of the - * of the primitives. Direct use of those primitives is preferred. - * - * NOTE: the locked value of os_unfair_lock is implementation defined and - * subject to change, code that relies on the specific locked value used by the - * legacy OSSpinLock interface WILL break when using these inline - * implementations in terms of os_unfair_lock. - */ - -#if !OSSPINLOCK_USE_INLINED_TRANSPARENT - -#include - -__BEGIN_DECLS - -#if __has_attribute(always_inline) -#define OSSPINLOCK_INLINE static __inline -#else -#define OSSPINLOCK_INLINE static __inline __attribute__((__always_inline__)) -#endif - -#define OS_SPINLOCK_INIT 0 -typedef int32_t OSSpinLock; - -#if __has_extension(c_static_assert) -_Static_assert(sizeof(OSSpinLock) == sizeof(os_unfair_lock), - "Incompatible os_unfair_lock type"); -#endif - -OSSPINLOCK_INLINE -void -OSSpinLockLock(volatile OSSpinLock *__lock) -{ - os_unfair_lock_t lock = (os_unfair_lock_t)__lock; - return os_unfair_lock_lock(lock); -} - -OSSPINLOCK_INLINE -bool -OSSpinLockTry(volatile OSSpinLock *__lock) -{ - os_unfair_lock_t lock = (os_unfair_lock_t)__lock; - return os_unfair_lock_trylock(lock); -} - -OSSPINLOCK_INLINE -void -OSSpinLockUnlock(volatile OSSpinLock *__lock) -{ - os_unfair_lock_t lock = (os_unfair_lock_t)__lock; - return os_unfair_lock_unlock(lock); -} - -#undef OSSPINLOCK_INLINE - -__END_DECLS - -#else /* OSSPINLOCK_USE_INLINED_TRANSPARENT */ - -#include -#include -#include -#include -#include - -#define OS_NOSPIN_LOCK_AVAILABILITY \ - __OSX_AVAILABLE(10.12) __IOS_AVAILABLE(10.0) \ - __TVOS_AVAILABLE(10.0) __WATCHOS_AVAILABLE(3.0) - -__BEGIN_DECLS - -#define OS_SPINLOCK_INIT 0 -typedef int32_t OSSpinLock OSSPINLOCK_DEPRECATED_REPLACE_WITH(os_unfair_lock); -typedef volatile OSSpinLock *_os_nospin_lock_t - OSSPINLOCK_DEPRECATED_REPLACE_WITH(os_unfair_lock_t); - -OSSPINLOCK_DEPRECATED_REPLACE_WITH(os_unfair_lock_lock) -OS_NOSPIN_LOCK_AVAILABILITY -void _os_nospin_lock_lock(_os_nospin_lock_t lock); -#undef OSSpinLockLock -#define OSSpinLockLock(lock) _os_nospin_lock_lock(lock) - -OSSPINLOCK_DEPRECATED_REPLACE_WITH(os_unfair_lock_trylock) -OS_NOSPIN_LOCK_AVAILABILITY -bool _os_nospin_lock_trylock(_os_nospin_lock_t lock); -#undef OSSpinLockTry -#define OSSpinLockTry(lock) _os_nospin_lock_trylock(lock) - -OSSPINLOCK_DEPRECATED_REPLACE_WITH(os_unfair_lock_unlock) -OS_NOSPIN_LOCK_AVAILABILITY -void _os_nospin_lock_unlock(_os_nospin_lock_t lock); -#undef OSSpinLockUnlock -#define OSSpinLockUnlock(lock) _os_nospin_lock_unlock(lock) - -__END_DECLS - -#endif /* OSSPINLOCK_USE_INLINED_TRANSPARENT */ - -#endif /* OSSPINLOCK_USE_INLINED */ - -#endif /* _OSSPINLOCK_DEPRECATED_H_ */ \ No newline at end of file diff --git a/lib/libc/include/x86_64-macos.12-none/libkern/i386/OSByteOrder.h b/lib/libc/include/x86_64-macos.12-none/libkern/i386/OSByteOrder.h deleted file mode 100644 index d6783b74e0..0000000000 --- a/lib/libc/include/x86_64-macos.12-none/libkern/i386/OSByteOrder.h +++ /dev/null @@ -1,112 +0,0 @@ -/* - * Copyright (c) 1999-2006 Apple Computer, 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 _OS_OSBYTEORDERI386_H -#define _OS_OSBYTEORDERI386_H - -#include -#include -#include - -/* Functions for byte reversed loads. */ - -OS_INLINE -uint16_t -OSReadSwapInt16( - const volatile void * base, - uintptr_t byteOffset - ) -{ - uint16_t result; - - result = *(volatile uint16_t *)((uintptr_t)base + byteOffset); - return _OSSwapInt16(result); -} - -OS_INLINE -uint32_t -OSReadSwapInt32( - const volatile void * base, - uintptr_t byteOffset - ) -{ - uint32_t result; - - result = *(volatile uint32_t *)((uintptr_t)base + byteOffset); - return _OSSwapInt32(result); -} - -OS_INLINE -uint64_t -OSReadSwapInt64( - const volatile void * base, - uintptr_t byteOffset - ) -{ - uint64_t result; - - result = *(volatile uint64_t *)((uintptr_t)base + byteOffset); - return _OSSwapInt64(result); -} - -/* Functions for byte reversed stores. */ - -OS_INLINE -void -OSWriteSwapInt16( - volatile void * base, - uintptr_t byteOffset, - uint16_t data - ) -{ - *(volatile uint16_t *)((uintptr_t)base + byteOffset) = _OSSwapInt16(data); -} - -OS_INLINE -void -OSWriteSwapInt32( - volatile void * base, - uintptr_t byteOffset, - uint32_t data - ) -{ - *(volatile uint32_t *)((uintptr_t)base + byteOffset) = _OSSwapInt32(data); -} - -OS_INLINE -void -OSWriteSwapInt64( - volatile void * base, - uintptr_t byteOffset, - uint64_t data - ) -{ - *(volatile uint64_t *)((uintptr_t)base + byteOffset) = _OSSwapInt64(data); -} - -#endif /* ! _OS_OSBYTEORDERI386_H */ \ No newline at end of file diff --git a/lib/libc/include/x86_64-macos.12-none/mach/i386/_structs.h b/lib/libc/include/x86_64-macos.12-none/mach/i386/_structs.h deleted file mode 100644 index 02c135184f..0000000000 --- a/lib/libc/include/x86_64-macos.12-none/mach/i386/_structs.h +++ /dev/null @@ -1,1316 +0,0 @@ -/* - * Copyright (c) 2004-2006 Apple Computer, 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@ - */ -/* - * @OSF_COPYRIGHT@ - */ - -#ifndef _MACH_I386__STRUCTS_H_ -#define _MACH_I386__STRUCTS_H_ - -#if defined (__i386__) || defined (__x86_64__) - -#include /* __DARWIN_UNIX03 */ -#include /* __uint8_t */ - -/* - * i386 is the structure that is exported to user threads for - * use in status/mutate calls. This structure should never change. - * - */ - -#if __DARWIN_UNIX03 -#define _STRUCT_X86_THREAD_STATE32 struct __darwin_i386_thread_state -_STRUCT_X86_THREAD_STATE32 -{ - unsigned int __eax; - unsigned int __ebx; - unsigned int __ecx; - unsigned int __edx; - unsigned int __edi; - unsigned int __esi; - unsigned int __ebp; - unsigned int __esp; - unsigned int __ss; - unsigned int __eflags; - unsigned int __eip; - unsigned int __cs; - unsigned int __ds; - unsigned int __es; - unsigned int __fs; - unsigned int __gs; -}; -#else /* !__DARWIN_UNIX03 */ -#define _STRUCT_X86_THREAD_STATE32 struct i386_thread_state -_STRUCT_X86_THREAD_STATE32 -{ - unsigned int eax; - unsigned int ebx; - unsigned int ecx; - unsigned int edx; - unsigned int edi; - unsigned int esi; - unsigned int ebp; - unsigned int esp; - unsigned int ss; - unsigned int eflags; - unsigned int eip; - unsigned int cs; - unsigned int ds; - unsigned int es; - unsigned int fs; - unsigned int gs; -}; -#endif /* !__DARWIN_UNIX03 */ - -/* This structure should be double-word aligned for performance */ - -#if __DARWIN_UNIX03 -#define _STRUCT_FP_CONTROL struct __darwin_fp_control -_STRUCT_FP_CONTROL -{ - unsigned short __invalid :1, - __denorm :1, - __zdiv :1, - __ovrfl :1, - __undfl :1, - __precis :1, - :2, - __pc :2, -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -#define FP_PREC_24B 0 -#define FP_PREC_53B 2 -#define FP_PREC_64B 3 -#endif /* !_POSIX_C_SOURCE || _DARWIN_C_SOURCE */ - __rc :2, -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -#define FP_RND_NEAR 0 -#define FP_RND_DOWN 1 -#define FP_RND_UP 2 -#define FP_CHOP 3 -#endif /* !_POSIX_C_SOURCE || _DARWIN_C_SOURCE */ - /*inf*/ :1, - :3; -}; -typedef _STRUCT_FP_CONTROL __darwin_fp_control_t; -#else /* !__DARWIN_UNIX03 */ -#define _STRUCT_FP_CONTROL struct fp_control -_STRUCT_FP_CONTROL -{ - unsigned short invalid :1, - denorm :1, - zdiv :1, - ovrfl :1, - undfl :1, - precis :1, - :2, - pc :2, -#define FP_PREC_24B 0 -#define FP_PREC_53B 2 -#define FP_PREC_64B 3 - rc :2, -#define FP_RND_NEAR 0 -#define FP_RND_DOWN 1 -#define FP_RND_UP 2 -#define FP_CHOP 3 - /*inf*/ :1, - :3; -}; -typedef _STRUCT_FP_CONTROL fp_control_t; -#endif /* !__DARWIN_UNIX03 */ - -/* - * Status word. - */ - -#if __DARWIN_UNIX03 -#define _STRUCT_FP_STATUS struct __darwin_fp_status -_STRUCT_FP_STATUS -{ - unsigned short __invalid :1, - __denorm :1, - __zdiv :1, - __ovrfl :1, - __undfl :1, - __precis :1, - __stkflt :1, - __errsumm :1, - __c0 :1, - __c1 :1, - __c2 :1, - __tos :3, - __c3 :1, - __busy :1; -}; -typedef _STRUCT_FP_STATUS __darwin_fp_status_t; -#else /* !__DARWIN_UNIX03 */ -#define _STRUCT_FP_STATUS struct fp_status -_STRUCT_FP_STATUS -{ - unsigned short invalid :1, - denorm :1, - zdiv :1, - ovrfl :1, - undfl :1, - precis :1, - stkflt :1, - errsumm :1, - c0 :1, - c1 :1, - c2 :1, - tos :3, - c3 :1, - busy :1; -}; -typedef _STRUCT_FP_STATUS fp_status_t; -#endif /* !__DARWIN_UNIX03 */ - -/* defn of 80bit x87 FPU or MMX register */ - -#if __DARWIN_UNIX03 -#define _STRUCT_MMST_REG struct __darwin_mmst_reg -_STRUCT_MMST_REG -{ - char __mmst_reg[10]; - char __mmst_rsrv[6]; -}; -#else /* !__DARWIN_UNIX03 */ -#define _STRUCT_MMST_REG struct mmst_reg -_STRUCT_MMST_REG -{ - char mmst_reg[10]; - char mmst_rsrv[6]; -}; -#endif /* !__DARWIN_UNIX03 */ - - -/* defn of 128 bit XMM regs */ - -#if __DARWIN_UNIX03 -#define _STRUCT_XMM_REG struct __darwin_xmm_reg -_STRUCT_XMM_REG -{ - char __xmm_reg[16]; -}; -#else /* !__DARWIN_UNIX03 */ -#define _STRUCT_XMM_REG struct xmm_reg -_STRUCT_XMM_REG -{ - char xmm_reg[16]; -}; -#endif /* !__DARWIN_UNIX03 */ - -/* defn of 256 bit YMM regs */ - -#if __DARWIN_UNIX03 -#define _STRUCT_YMM_REG struct __darwin_ymm_reg -_STRUCT_YMM_REG -{ - char __ymm_reg[32]; -}; -#else /* !__DARWIN_UNIX03 */ -#define _STRUCT_YMM_REG struct ymm_reg -_STRUCT_YMM_REG -{ - char ymm_reg[32]; -}; -#endif /* !__DARWIN_UNIX03 */ - -/* defn of 512 bit ZMM regs */ - -#if __DARWIN_UNIX03 -#define _STRUCT_ZMM_REG struct __darwin_zmm_reg -_STRUCT_ZMM_REG -{ - char __zmm_reg[64]; -}; -#else /* !__DARWIN_UNIX03 */ -#define _STRUCT_ZMM_REG struct zmm_reg -_STRUCT_ZMM_REG -{ - char zmm_reg[64]; -}; -#endif /* !__DARWIN_UNIX03 */ - -#if __DARWIN_UNIX03 -#define _STRUCT_OPMASK_REG struct __darwin_opmask_reg -_STRUCT_OPMASK_REG -{ - char __opmask_reg[8]; -}; -#else /* !__DARWIN_UNIX03 */ -#define _STRUCT_OPMASK_REG struct opmask_reg -_STRUCT_OPMASK_REG -{ - char opmask_reg[8]; -}; -#endif /* !__DARWIN_UNIX03 */ - -/* - * Floating point state. - */ - -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -#define FP_STATE_BYTES 512 /* number of chars worth of data from fpu_fcw */ -#endif /* !_POSIX_C_SOURCE || _DARWIN_C_SOURCE */ - -#if __DARWIN_UNIX03 -#define _STRUCT_X86_FLOAT_STATE32 struct __darwin_i386_float_state -_STRUCT_X86_FLOAT_STATE32 -{ - int __fpu_reserved[2]; - _STRUCT_FP_CONTROL __fpu_fcw; /* x87 FPU control word */ - _STRUCT_FP_STATUS __fpu_fsw; /* x87 FPU status word */ - __uint8_t __fpu_ftw; /* x87 FPU tag word */ - __uint8_t __fpu_rsrv1; /* reserved */ - __uint16_t __fpu_fop; /* x87 FPU Opcode */ - __uint32_t __fpu_ip; /* x87 FPU Instruction Pointer offset */ - __uint16_t __fpu_cs; /* x87 FPU Instruction Pointer Selector */ - __uint16_t __fpu_rsrv2; /* reserved */ - __uint32_t __fpu_dp; /* x87 FPU Instruction Operand(Data) Pointer offset */ - __uint16_t __fpu_ds; /* x87 FPU Instruction Operand(Data) Pointer Selector */ - __uint16_t __fpu_rsrv3; /* reserved */ - __uint32_t __fpu_mxcsr; /* MXCSR Register state */ - __uint32_t __fpu_mxcsrmask; /* MXCSR mask */ - _STRUCT_MMST_REG __fpu_stmm0; /* ST0/MM0 */ - _STRUCT_MMST_REG __fpu_stmm1; /* ST1/MM1 */ - _STRUCT_MMST_REG __fpu_stmm2; /* ST2/MM2 */ - _STRUCT_MMST_REG __fpu_stmm3; /* ST3/MM3 */ - _STRUCT_MMST_REG __fpu_stmm4; /* ST4/MM4 */ - _STRUCT_MMST_REG __fpu_stmm5; /* ST5/MM5 */ - _STRUCT_MMST_REG __fpu_stmm6; /* ST6/MM6 */ - _STRUCT_MMST_REG __fpu_stmm7; /* ST7/MM7 */ - _STRUCT_XMM_REG __fpu_xmm0; /* XMM 0 */ - _STRUCT_XMM_REG __fpu_xmm1; /* XMM 1 */ - _STRUCT_XMM_REG __fpu_xmm2; /* XMM 2 */ - _STRUCT_XMM_REG __fpu_xmm3; /* XMM 3 */ - _STRUCT_XMM_REG __fpu_xmm4; /* XMM 4 */ - _STRUCT_XMM_REG __fpu_xmm5; /* XMM 5 */ - _STRUCT_XMM_REG __fpu_xmm6; /* XMM 6 */ - _STRUCT_XMM_REG __fpu_xmm7; /* XMM 7 */ - char __fpu_rsrv4[14*16]; /* reserved */ - int __fpu_reserved1; -}; - -#define _STRUCT_X86_AVX_STATE32 struct __darwin_i386_avx_state -_STRUCT_X86_AVX_STATE32 -{ - int __fpu_reserved[2]; - _STRUCT_FP_CONTROL __fpu_fcw; /* x87 FPU control word */ - _STRUCT_FP_STATUS __fpu_fsw; /* x87 FPU status word */ - __uint8_t __fpu_ftw; /* x87 FPU tag word */ - __uint8_t __fpu_rsrv1; /* reserved */ - __uint16_t __fpu_fop; /* x87 FPU Opcode */ - __uint32_t __fpu_ip; /* x87 FPU Instruction Pointer offset */ - __uint16_t __fpu_cs; /* x87 FPU Instruction Pointer Selector */ - __uint16_t __fpu_rsrv2; /* reserved */ - __uint32_t __fpu_dp; /* x87 FPU Instruction Operand(Data) Pointer offset */ - __uint16_t __fpu_ds; /* x87 FPU Instruction Operand(Data) Pointer Selector */ - __uint16_t __fpu_rsrv3; /* reserved */ - __uint32_t __fpu_mxcsr; /* MXCSR Register state */ - __uint32_t __fpu_mxcsrmask; /* MXCSR mask */ - _STRUCT_MMST_REG __fpu_stmm0; /* ST0/MM0 */ - _STRUCT_MMST_REG __fpu_stmm1; /* ST1/MM1 */ - _STRUCT_MMST_REG __fpu_stmm2; /* ST2/MM2 */ - _STRUCT_MMST_REG __fpu_stmm3; /* ST3/MM3 */ - _STRUCT_MMST_REG __fpu_stmm4; /* ST4/MM4 */ - _STRUCT_MMST_REG __fpu_stmm5; /* ST5/MM5 */ - _STRUCT_MMST_REG __fpu_stmm6; /* ST6/MM6 */ - _STRUCT_MMST_REG __fpu_stmm7; /* ST7/MM7 */ - _STRUCT_XMM_REG __fpu_xmm0; /* XMM 0 */ - _STRUCT_XMM_REG __fpu_xmm1; /* XMM 1 */ - _STRUCT_XMM_REG __fpu_xmm2; /* XMM 2 */ - _STRUCT_XMM_REG __fpu_xmm3; /* XMM 3 */ - _STRUCT_XMM_REG __fpu_xmm4; /* XMM 4 */ - _STRUCT_XMM_REG __fpu_xmm5; /* XMM 5 */ - _STRUCT_XMM_REG __fpu_xmm6; /* XMM 6 */ - _STRUCT_XMM_REG __fpu_xmm7; /* XMM 7 */ - char __fpu_rsrv4[14*16]; /* reserved */ - int __fpu_reserved1; - char __avx_reserved1[64]; - _STRUCT_XMM_REG __fpu_ymmh0; /* YMMH 0 */ - _STRUCT_XMM_REG __fpu_ymmh1; /* YMMH 1 */ - _STRUCT_XMM_REG __fpu_ymmh2; /* YMMH 2 */ - _STRUCT_XMM_REG __fpu_ymmh3; /* YMMH 3 */ - _STRUCT_XMM_REG __fpu_ymmh4; /* YMMH 4 */ - _STRUCT_XMM_REG __fpu_ymmh5; /* YMMH 5 */ - _STRUCT_XMM_REG __fpu_ymmh6; /* YMMH 6 */ - _STRUCT_XMM_REG __fpu_ymmh7; /* YMMH 7 */ -}; - -#define _STRUCT_X86_AVX512_STATE32 struct __darwin_i386_avx512_state -_STRUCT_X86_AVX512_STATE32 -{ - int __fpu_reserved[2]; - _STRUCT_FP_CONTROL __fpu_fcw; /* x87 FPU control word */ - _STRUCT_FP_STATUS __fpu_fsw; /* x87 FPU status word */ - __uint8_t __fpu_ftw; /* x87 FPU tag word */ - __uint8_t __fpu_rsrv1; /* reserved */ - __uint16_t __fpu_fop; /* x87 FPU Opcode */ - __uint32_t __fpu_ip; /* x87 FPU Instruction Pointer offset */ - __uint16_t __fpu_cs; /* x87 FPU Instruction Pointer Selector */ - __uint16_t __fpu_rsrv2; /* reserved */ - __uint32_t __fpu_dp; /* x87 FPU Instruction Operand(Data) Pointer offset */ - __uint16_t __fpu_ds; /* x87 FPU Instruction Operand(Data) Pointer Selector */ - __uint16_t __fpu_rsrv3; /* reserved */ - __uint32_t __fpu_mxcsr; /* MXCSR Register state */ - __uint32_t __fpu_mxcsrmask; /* MXCSR mask */ - _STRUCT_MMST_REG __fpu_stmm0; /* ST0/MM0 */ - _STRUCT_MMST_REG __fpu_stmm1; /* ST1/MM1 */ - _STRUCT_MMST_REG __fpu_stmm2; /* ST2/MM2 */ - _STRUCT_MMST_REG __fpu_stmm3; /* ST3/MM3 */ - _STRUCT_MMST_REG __fpu_stmm4; /* ST4/MM4 */ - _STRUCT_MMST_REG __fpu_stmm5; /* ST5/MM5 */ - _STRUCT_MMST_REG __fpu_stmm6; /* ST6/MM6 */ - _STRUCT_MMST_REG __fpu_stmm7; /* ST7/MM7 */ - _STRUCT_XMM_REG __fpu_xmm0; /* XMM 0 */ - _STRUCT_XMM_REG __fpu_xmm1; /* XMM 1 */ - _STRUCT_XMM_REG __fpu_xmm2; /* XMM 2 */ - _STRUCT_XMM_REG __fpu_xmm3; /* XMM 3 */ - _STRUCT_XMM_REG __fpu_xmm4; /* XMM 4 */ - _STRUCT_XMM_REG __fpu_xmm5; /* XMM 5 */ - _STRUCT_XMM_REG __fpu_xmm6; /* XMM 6 */ - _STRUCT_XMM_REG __fpu_xmm7; /* XMM 7 */ - char __fpu_rsrv4[14*16]; /* reserved */ - int __fpu_reserved1; - char __avx_reserved1[64]; - _STRUCT_XMM_REG __fpu_ymmh0; /* YMMH 0 */ - _STRUCT_XMM_REG __fpu_ymmh1; /* YMMH 1 */ - _STRUCT_XMM_REG __fpu_ymmh2; /* YMMH 2 */ - _STRUCT_XMM_REG __fpu_ymmh3; /* YMMH 3 */ - _STRUCT_XMM_REG __fpu_ymmh4; /* YMMH 4 */ - _STRUCT_XMM_REG __fpu_ymmh5; /* YMMH 5 */ - _STRUCT_XMM_REG __fpu_ymmh6; /* YMMH 6 */ - _STRUCT_XMM_REG __fpu_ymmh7; /* YMMH 7 */ - _STRUCT_OPMASK_REG __fpu_k0; /* K0 */ - _STRUCT_OPMASK_REG __fpu_k1; /* K1 */ - _STRUCT_OPMASK_REG __fpu_k2; /* K2 */ - _STRUCT_OPMASK_REG __fpu_k3; /* K3 */ - _STRUCT_OPMASK_REG __fpu_k4; /* K4 */ - _STRUCT_OPMASK_REG __fpu_k5; /* K5 */ - _STRUCT_OPMASK_REG __fpu_k6; /* K6 */ - _STRUCT_OPMASK_REG __fpu_k7; /* K7 */ - _STRUCT_YMM_REG __fpu_zmmh0; /* ZMMH 0 */ - _STRUCT_YMM_REG __fpu_zmmh1; /* ZMMH 1 */ - _STRUCT_YMM_REG __fpu_zmmh2; /* ZMMH 2 */ - _STRUCT_YMM_REG __fpu_zmmh3; /* ZMMH 3 */ - _STRUCT_YMM_REG __fpu_zmmh4; /* ZMMH 4 */ - _STRUCT_YMM_REG __fpu_zmmh5; /* ZMMH 5 */ - _STRUCT_YMM_REG __fpu_zmmh6; /* ZMMH 6 */ - _STRUCT_YMM_REG __fpu_zmmh7; /* ZMMH 7 */ -}; - -#else /* !__DARWIN_UNIX03 */ -#define _STRUCT_X86_FLOAT_STATE32 struct i386_float_state -_STRUCT_X86_FLOAT_STATE32 -{ - int fpu_reserved[2]; - _STRUCT_FP_CONTROL fpu_fcw; /* x87 FPU control word */ - _STRUCT_FP_STATUS fpu_fsw; /* x87 FPU status word */ - __uint8_t fpu_ftw; /* x87 FPU tag word */ - __uint8_t fpu_rsrv1; /* reserved */ - __uint16_t fpu_fop; /* x87 FPU Opcode */ - __uint32_t fpu_ip; /* x87 FPU Instruction Pointer offset */ - __uint16_t fpu_cs; /* x87 FPU Instruction Pointer Selector */ - __uint16_t fpu_rsrv2; /* reserved */ - __uint32_t fpu_dp; /* x87 FPU Instruction Operand(Data) Pointer offset */ - __uint16_t fpu_ds; /* x87 FPU Instruction Operand(Data) Pointer Selector */ - __uint16_t fpu_rsrv3; /* reserved */ - __uint32_t fpu_mxcsr; /* MXCSR Register state */ - __uint32_t fpu_mxcsrmask; /* MXCSR mask */ - _STRUCT_MMST_REG fpu_stmm0; /* ST0/MM0 */ - _STRUCT_MMST_REG fpu_stmm1; /* ST1/MM1 */ - _STRUCT_MMST_REG fpu_stmm2; /* ST2/MM2 */ - _STRUCT_MMST_REG fpu_stmm3; /* ST3/MM3 */ - _STRUCT_MMST_REG fpu_stmm4; /* ST4/MM4 */ - _STRUCT_MMST_REG fpu_stmm5; /* ST5/MM5 */ - _STRUCT_MMST_REG fpu_stmm6; /* ST6/MM6 */ - _STRUCT_MMST_REG fpu_stmm7; /* ST7/MM7 */ - _STRUCT_XMM_REG fpu_xmm0; /* XMM 0 */ - _STRUCT_XMM_REG fpu_xmm1; /* XMM 1 */ - _STRUCT_XMM_REG fpu_xmm2; /* XMM 2 */ - _STRUCT_XMM_REG fpu_xmm3; /* XMM 3 */ - _STRUCT_XMM_REG fpu_xmm4; /* XMM 4 */ - _STRUCT_XMM_REG fpu_xmm5; /* XMM 5 */ - _STRUCT_XMM_REG fpu_xmm6; /* XMM 6 */ - _STRUCT_XMM_REG fpu_xmm7; /* XMM 7 */ - char fpu_rsrv4[14*16]; /* reserved */ - int fpu_reserved1; -}; - -#define _STRUCT_X86_AVX_STATE32 struct i386_avx_state -_STRUCT_X86_AVX_STATE32 -{ - int fpu_reserved[2]; - _STRUCT_FP_CONTROL fpu_fcw; /* x87 FPU control word */ - _STRUCT_FP_STATUS fpu_fsw; /* x87 FPU status word */ - __uint8_t fpu_ftw; /* x87 FPU tag word */ - __uint8_t fpu_rsrv1; /* reserved */ - __uint16_t fpu_fop; /* x87 FPU Opcode */ - __uint32_t fpu_ip; /* x87 FPU Instruction Pointer offset */ - __uint16_t fpu_cs; /* x87 FPU Instruction Pointer Selector */ - __uint16_t fpu_rsrv2; /* reserved */ - __uint32_t fpu_dp; /* x87 FPU Instruction Operand(Data) Pointer offset */ - __uint16_t fpu_ds; /* x87 FPU Instruction Operand(Data) Pointer Selector */ - __uint16_t fpu_rsrv3; /* reserved */ - __uint32_t fpu_mxcsr; /* MXCSR Register state */ - __uint32_t fpu_mxcsrmask; /* MXCSR mask */ - _STRUCT_MMST_REG fpu_stmm0; /* ST0/MM0 */ - _STRUCT_MMST_REG fpu_stmm1; /* ST1/MM1 */ - _STRUCT_MMST_REG fpu_stmm2; /* ST2/MM2 */ - _STRUCT_MMST_REG fpu_stmm3; /* ST3/MM3 */ - _STRUCT_MMST_REG fpu_stmm4; /* ST4/MM4 */ - _STRUCT_MMST_REG fpu_stmm5; /* ST5/MM5 */ - _STRUCT_MMST_REG fpu_stmm6; /* ST6/MM6 */ - _STRUCT_MMST_REG fpu_stmm7; /* ST7/MM7 */ - _STRUCT_XMM_REG fpu_xmm0; /* XMM 0 */ - _STRUCT_XMM_REG fpu_xmm1; /* XMM 1 */ - _STRUCT_XMM_REG fpu_xmm2; /* XMM 2 */ - _STRUCT_XMM_REG fpu_xmm3; /* XMM 3 */ - _STRUCT_XMM_REG fpu_xmm4; /* XMM 4 */ - _STRUCT_XMM_REG fpu_xmm5; /* XMM 5 */ - _STRUCT_XMM_REG fpu_xmm6; /* XMM 6 */ - _STRUCT_XMM_REG fpu_xmm7; /* XMM 7 */ - char fpu_rsrv4[14*16]; /* reserved */ - int fpu_reserved1; - char avx_reserved1[64]; - _STRUCT_XMM_REG fpu_ymmh0; /* YMMH 0 */ - _STRUCT_XMM_REG fpu_ymmh1; /* YMMH 1 */ - _STRUCT_XMM_REG fpu_ymmh2; /* YMMH 2 */ - _STRUCT_XMM_REG fpu_ymmh3; /* YMMH 3 */ - _STRUCT_XMM_REG fpu_ymmh4; /* YMMH 4 */ - _STRUCT_XMM_REG fpu_ymmh5; /* YMMH 5 */ - _STRUCT_XMM_REG fpu_ymmh6; /* YMMH 6 */ - _STRUCT_XMM_REG fpu_ymmh7; /* YMMH 7 */ -}; - -#define _STRUCT_X86_AVX512_STATE32 struct i386_avx512_state -_STRUCT_X86_AVX512_STATE32 -{ - int fpu_reserved[2]; - _STRUCT_FP_CONTROL fpu_fcw; /* x87 FPU control word */ - _STRUCT_FP_STATUS fpu_fsw; /* x87 FPU status word */ - __uint8_t fpu_ftw; /* x87 FPU tag word */ - __uint8_t fpu_rsrv1; /* reserved */ - __uint16_t fpu_fop; /* x87 FPU Opcode */ - __uint32_t fpu_ip; /* x87 FPU Instruction Pointer offset */ - __uint16_t fpu_cs; /* x87 FPU Instruction Pointer Selector */ - __uint16_t fpu_rsrv2; /* reserved */ - __uint32_t fpu_dp; /* x87 FPU Instruction Operand(Data) Pointer offset */ - __uint16_t fpu_ds; /* x87 FPU Instruction Operand(Data) Pointer Selector */ - __uint16_t fpu_rsrv3; /* reserved */ - __uint32_t fpu_mxcsr; /* MXCSR Register state */ - __uint32_t fpu_mxcsrmask; /* MXCSR mask */ - _STRUCT_MMST_REG fpu_stmm0; /* ST0/MM0 */ - _STRUCT_MMST_REG fpu_stmm1; /* ST1/MM1 */ - _STRUCT_MMST_REG fpu_stmm2; /* ST2/MM2 */ - _STRUCT_MMST_REG fpu_stmm3; /* ST3/MM3 */ - _STRUCT_MMST_REG fpu_stmm4; /* ST4/MM4 */ - _STRUCT_MMST_REG fpu_stmm5; /* ST5/MM5 */ - _STRUCT_MMST_REG fpu_stmm6; /* ST6/MM6 */ - _STRUCT_MMST_REG fpu_stmm7; /* ST7/MM7 */ - _STRUCT_XMM_REG fpu_xmm0; /* XMM 0 */ - _STRUCT_XMM_REG fpu_xmm1; /* XMM 1 */ - _STRUCT_XMM_REG fpu_xmm2; /* XMM 2 */ - _STRUCT_XMM_REG fpu_xmm3; /* XMM 3 */ - _STRUCT_XMM_REG fpu_xmm4; /* XMM 4 */ - _STRUCT_XMM_REG fpu_xmm5; /* XMM 5 */ - _STRUCT_XMM_REG fpu_xmm6; /* XMM 6 */ - _STRUCT_XMM_REG fpu_xmm7; /* XMM 7 */ - char fpu_rsrv4[14*16]; /* reserved */ - int fpu_reserved1; - char avx_reserved1[64]; - _STRUCT_XMM_REG fpu_ymmh0; /* YMMH 0 */ - _STRUCT_XMM_REG fpu_ymmh1; /* YMMH 1 */ - _STRUCT_XMM_REG fpu_ymmh2; /* YMMH 2 */ - _STRUCT_XMM_REG fpu_ymmh3; /* YMMH 3 */ - _STRUCT_XMM_REG fpu_ymmh4; /* YMMH 4 */ - _STRUCT_XMM_REG fpu_ymmh5; /* YMMH 5 */ - _STRUCT_XMM_REG fpu_ymmh6; /* YMMH 6 */ - _STRUCT_XMM_REG fpu_ymmh7; /* YMMH 7 */ - _STRUCT_OPMASK_REG fpu_k0; /* K0 */ - _STRUCT_OPMASK_REG fpu_k1; /* K1 */ - _STRUCT_OPMASK_REG fpu_k2; /* K2 */ - _STRUCT_OPMASK_REG fpu_k3; /* K3 */ - _STRUCT_OPMASK_REG fpu_k4; /* K4 */ - _STRUCT_OPMASK_REG fpu_k5; /* K5 */ - _STRUCT_OPMASK_REG fpu_k6; /* K6 */ - _STRUCT_OPMASK_REG fpu_k7; /* K7 */ - _STRUCT_YMM_REG fpu_zmmh0; /* ZMMH 0 */ - _STRUCT_YMM_REG fpu_zmmh1; /* ZMMH 1 */ - _STRUCT_YMM_REG fpu_zmmh2; /* ZMMH 2 */ - _STRUCT_YMM_REG fpu_zmmh3; /* ZMMH 3 */ - _STRUCT_YMM_REG fpu_zmmh4; /* ZMMH 4 */ - _STRUCT_YMM_REG fpu_zmmh5; /* ZMMH 5 */ - _STRUCT_YMM_REG fpu_zmmh6; /* ZMMH 6 */ - _STRUCT_YMM_REG fpu_zmmh7; /* ZMMH 7 */ -}; - -#endif /* !__DARWIN_UNIX03 */ - -#if __DARWIN_UNIX03 -#define _STRUCT_X86_EXCEPTION_STATE32 struct __darwin_i386_exception_state -_STRUCT_X86_EXCEPTION_STATE32 -{ - __uint16_t __trapno; - __uint16_t __cpu; - __uint32_t __err; - __uint32_t __faultvaddr; -}; -#else /* !__DARWIN_UNIX03 */ -#define _STRUCT_X86_EXCEPTION_STATE32 struct i386_exception_state -_STRUCT_X86_EXCEPTION_STATE32 -{ - __uint16_t trapno; - __uint16_t cpu; - __uint32_t err; - __uint32_t faultvaddr; -}; -#endif /* !__DARWIN_UNIX03 */ - -#if __DARWIN_UNIX03 -#define _STRUCT_X86_DEBUG_STATE32 struct __darwin_x86_debug_state32 -_STRUCT_X86_DEBUG_STATE32 -{ - unsigned int __dr0; - unsigned int __dr1; - unsigned int __dr2; - unsigned int __dr3; - unsigned int __dr4; - unsigned int __dr5; - unsigned int __dr6; - unsigned int __dr7; -}; - -#define _STRUCT_X86_INSTRUCTION_STATE struct __x86_instruction_state -_STRUCT_X86_INSTRUCTION_STATE -{ - int __insn_stream_valid_bytes; - int __insn_offset; - int __out_of_synch; /* - * non-zero when the cacheline that includes the insn_offset - * is replaced in the insn_bytes array due to a mismatch - * detected when comparing it with the same cacheline in memory - */ -#define _X86_INSTRUCTION_STATE_MAX_INSN_BYTES (2448 - 64 - 4) - __uint8_t __insn_bytes[_X86_INSTRUCTION_STATE_MAX_INSN_BYTES]; -#define _X86_INSTRUCTION_STATE_CACHELINE_SIZE 64 - __uint8_t __insn_cacheline[_X86_INSTRUCTION_STATE_CACHELINE_SIZE]; -}; - -#define _STRUCT_LAST_BRANCH_RECORD struct __last_branch_record -_STRUCT_LAST_BRANCH_RECORD -{ - __uint64_t __from_ip; - __uint64_t __to_ip; - __uint32_t __mispredict : 1, - __tsx_abort : 1, - __in_tsx : 1, - __cycle_count: 16, - __reserved : 13; -}; - -#define _STRUCT_LAST_BRANCH_STATE struct __last_branch_state -_STRUCT_LAST_BRANCH_STATE -{ - int __lbr_count; - __uint32_t __lbr_supported_tsx : 1, - __lbr_supported_cycle_count : 1, - __reserved : 30; -#define __LASTBRANCH_MAX 32 - _STRUCT_LAST_BRANCH_RECORD __lbrs[__LASTBRANCH_MAX]; -}; - -#else /* !__DARWIN_UNIX03 */ - -#define _STRUCT_X86_DEBUG_STATE32 struct x86_debug_state32 -_STRUCT_X86_DEBUG_STATE32 -{ - unsigned int dr0; - unsigned int dr1; - unsigned int dr2; - unsigned int dr3; - unsigned int dr4; - unsigned int dr5; - unsigned int dr6; - unsigned int dr7; -}; - -#define _STRUCT_X86_INSTRUCTION_STATE struct __x86_instruction_state -_STRUCT_X86_INSTRUCTION_STATE -{ - int insn_stream_valid_bytes; - int insn_offset; - int out_of_synch; /* - * non-zero when the cacheline that includes the insn_offset - * is replaced in the insn_bytes array due to a mismatch - * detected when comparing it with the same cacheline in memory - */ -#define x86_INSTRUCTION_STATE_MAX_INSN_BYTES (2448 - 64 - 4) - __uint8_t insn_bytes[x86_INSTRUCTION_STATE_MAX_INSN_BYTES]; -#define x86_INSTRUCTION_STATE_CACHELINE_SIZE 64 - __uint8_t insn_cacheline[x86_INSTRUCTION_STATE_CACHELINE_SIZE]; -}; - -#define _STRUCT_LAST_BRANCH_RECORD struct __last_branch_record -_STRUCT_LAST_BRANCH_RECORD -{ - __uint64_t from_ip; - __uint64_t to_ip; - __uint32_t mispredict : 1, - tsx_abort : 1, - in_tsx : 1, - cycle_count: 16, - reserved : 13; -}; - -#define _STRUCT_LAST_BRANCH_STATE struct __last_branch_state -_STRUCT_LAST_BRANCH_STATE -{ - int lbr_count; - __uint32_t lbr_supported_tsx : 1, - lbr_supported_cycle_count : 1, - reserved : 30; -#define __LASTBRANCH_MAX 32 - _STRUCT_LAST_BRANCH_RECORD lbrs[__LASTBRANCH_MAX]; -}; -#endif /* !__DARWIN_UNIX03 */ - -#define _STRUCT_X86_PAGEIN_STATE struct __x86_pagein_state -_STRUCT_X86_PAGEIN_STATE -{ - int __pagein_error; -}; - -/* - * 64 bit versions of the above - */ - -#if __DARWIN_UNIX03 -#define _STRUCT_X86_THREAD_STATE64 struct __darwin_x86_thread_state64 -_STRUCT_X86_THREAD_STATE64 -{ - __uint64_t __rax; - __uint64_t __rbx; - __uint64_t __rcx; - __uint64_t __rdx; - __uint64_t __rdi; - __uint64_t __rsi; - __uint64_t __rbp; - __uint64_t __rsp; - __uint64_t __r8; - __uint64_t __r9; - __uint64_t __r10; - __uint64_t __r11; - __uint64_t __r12; - __uint64_t __r13; - __uint64_t __r14; - __uint64_t __r15; - __uint64_t __rip; - __uint64_t __rflags; - __uint64_t __cs; - __uint64_t __fs; - __uint64_t __gs; -}; -#else /* !__DARWIN_UNIX03 */ -#define _STRUCT_X86_THREAD_STATE64 struct x86_thread_state64 -_STRUCT_X86_THREAD_STATE64 -{ - __uint64_t rax; - __uint64_t rbx; - __uint64_t rcx; - __uint64_t rdx; - __uint64_t rdi; - __uint64_t rsi; - __uint64_t rbp; - __uint64_t rsp; - __uint64_t r8; - __uint64_t r9; - __uint64_t r10; - __uint64_t r11; - __uint64_t r12; - __uint64_t r13; - __uint64_t r14; - __uint64_t r15; - __uint64_t rip; - __uint64_t rflags; - __uint64_t cs; - __uint64_t fs; - __uint64_t gs; -}; -#endif /* !__DARWIN_UNIX03 */ - -/* - * 64 bit versions of the above (complete) - */ - -#if __DARWIN_UNIX03 -#define _STRUCT_X86_THREAD_FULL_STATE64 struct __darwin_x86_thread_full_state64 -_STRUCT_X86_THREAD_FULL_STATE64 -{ - _STRUCT_X86_THREAD_STATE64 __ss64; - __uint64_t __ds; - __uint64_t __es; - __uint64_t __ss; - __uint64_t __gsbase; -}; -#else /* !__DARWIN_UNIX03 */ -#define _STRUCT_X86_THREAD_FULL_STATE64 struct x86_thread_full_state64 -_STRUCT_X86_THREAD_FULL_STATE64 -{ - _STRUCT_X86_THREAD_STATE64 ss64; - __uint64_t ds; - __uint64_t es; - __uint64_t ss; - __uint64_t gsbase; -}; -#endif /* !__DARWIN_UNIX03 */ - - -#if __DARWIN_UNIX03 -#define _STRUCT_X86_FLOAT_STATE64 struct __darwin_x86_float_state64 -_STRUCT_X86_FLOAT_STATE64 -{ - int __fpu_reserved[2]; - _STRUCT_FP_CONTROL __fpu_fcw; /* x87 FPU control word */ - _STRUCT_FP_STATUS __fpu_fsw; /* x87 FPU status word */ - __uint8_t __fpu_ftw; /* x87 FPU tag word */ - __uint8_t __fpu_rsrv1; /* reserved */ - __uint16_t __fpu_fop; /* x87 FPU Opcode */ - - /* x87 FPU Instruction Pointer */ - __uint32_t __fpu_ip; /* offset */ - __uint16_t __fpu_cs; /* Selector */ - - __uint16_t __fpu_rsrv2; /* reserved */ - - /* x87 FPU Instruction Operand(Data) Pointer */ - __uint32_t __fpu_dp; /* offset */ - __uint16_t __fpu_ds; /* Selector */ - - __uint16_t __fpu_rsrv3; /* reserved */ - __uint32_t __fpu_mxcsr; /* MXCSR Register state */ - __uint32_t __fpu_mxcsrmask; /* MXCSR mask */ - _STRUCT_MMST_REG __fpu_stmm0; /* ST0/MM0 */ - _STRUCT_MMST_REG __fpu_stmm1; /* ST1/MM1 */ - _STRUCT_MMST_REG __fpu_stmm2; /* ST2/MM2 */ - _STRUCT_MMST_REG __fpu_stmm3; /* ST3/MM3 */ - _STRUCT_MMST_REG __fpu_stmm4; /* ST4/MM4 */ - _STRUCT_MMST_REG __fpu_stmm5; /* ST5/MM5 */ - _STRUCT_MMST_REG __fpu_stmm6; /* ST6/MM6 */ - _STRUCT_MMST_REG __fpu_stmm7; /* ST7/MM7 */ - _STRUCT_XMM_REG __fpu_xmm0; /* XMM 0 */ - _STRUCT_XMM_REG __fpu_xmm1; /* XMM 1 */ - _STRUCT_XMM_REG __fpu_xmm2; /* XMM 2 */ - _STRUCT_XMM_REG __fpu_xmm3; /* XMM 3 */ - _STRUCT_XMM_REG __fpu_xmm4; /* XMM 4 */ - _STRUCT_XMM_REG __fpu_xmm5; /* XMM 5 */ - _STRUCT_XMM_REG __fpu_xmm6; /* XMM 6 */ - _STRUCT_XMM_REG __fpu_xmm7; /* XMM 7 */ - _STRUCT_XMM_REG __fpu_xmm8; /* XMM 8 */ - _STRUCT_XMM_REG __fpu_xmm9; /* XMM 9 */ - _STRUCT_XMM_REG __fpu_xmm10; /* XMM 10 */ - _STRUCT_XMM_REG __fpu_xmm11; /* XMM 11 */ - _STRUCT_XMM_REG __fpu_xmm12; /* XMM 12 */ - _STRUCT_XMM_REG __fpu_xmm13; /* XMM 13 */ - _STRUCT_XMM_REG __fpu_xmm14; /* XMM 14 */ - _STRUCT_XMM_REG __fpu_xmm15; /* XMM 15 */ - char __fpu_rsrv4[6*16]; /* reserved */ - int __fpu_reserved1; -}; - -#define _STRUCT_X86_AVX_STATE64 struct __darwin_x86_avx_state64 -_STRUCT_X86_AVX_STATE64 -{ - int __fpu_reserved[2]; - _STRUCT_FP_CONTROL __fpu_fcw; /* x87 FPU control word */ - _STRUCT_FP_STATUS __fpu_fsw; /* x87 FPU status word */ - __uint8_t __fpu_ftw; /* x87 FPU tag word */ - __uint8_t __fpu_rsrv1; /* reserved */ - __uint16_t __fpu_fop; /* x87 FPU Opcode */ - - /* x87 FPU Instruction Pointer */ - __uint32_t __fpu_ip; /* offset */ - __uint16_t __fpu_cs; /* Selector */ - - __uint16_t __fpu_rsrv2; /* reserved */ - - /* x87 FPU Instruction Operand(Data) Pointer */ - __uint32_t __fpu_dp; /* offset */ - __uint16_t __fpu_ds; /* Selector */ - - __uint16_t __fpu_rsrv3; /* reserved */ - __uint32_t __fpu_mxcsr; /* MXCSR Register state */ - __uint32_t __fpu_mxcsrmask; /* MXCSR mask */ - _STRUCT_MMST_REG __fpu_stmm0; /* ST0/MM0 */ - _STRUCT_MMST_REG __fpu_stmm1; /* ST1/MM1 */ - _STRUCT_MMST_REG __fpu_stmm2; /* ST2/MM2 */ - _STRUCT_MMST_REG __fpu_stmm3; /* ST3/MM3 */ - _STRUCT_MMST_REG __fpu_stmm4; /* ST4/MM4 */ - _STRUCT_MMST_REG __fpu_stmm5; /* ST5/MM5 */ - _STRUCT_MMST_REG __fpu_stmm6; /* ST6/MM6 */ - _STRUCT_MMST_REG __fpu_stmm7; /* ST7/MM7 */ - _STRUCT_XMM_REG __fpu_xmm0; /* XMM 0 */ - _STRUCT_XMM_REG __fpu_xmm1; /* XMM 1 */ - _STRUCT_XMM_REG __fpu_xmm2; /* XMM 2 */ - _STRUCT_XMM_REG __fpu_xmm3; /* XMM 3 */ - _STRUCT_XMM_REG __fpu_xmm4; /* XMM 4 */ - _STRUCT_XMM_REG __fpu_xmm5; /* XMM 5 */ - _STRUCT_XMM_REG __fpu_xmm6; /* XMM 6 */ - _STRUCT_XMM_REG __fpu_xmm7; /* XMM 7 */ - _STRUCT_XMM_REG __fpu_xmm8; /* XMM 8 */ - _STRUCT_XMM_REG __fpu_xmm9; /* XMM 9 */ - _STRUCT_XMM_REG __fpu_xmm10; /* XMM 10 */ - _STRUCT_XMM_REG __fpu_xmm11; /* XMM 11 */ - _STRUCT_XMM_REG __fpu_xmm12; /* XMM 12 */ - _STRUCT_XMM_REG __fpu_xmm13; /* XMM 13 */ - _STRUCT_XMM_REG __fpu_xmm14; /* XMM 14 */ - _STRUCT_XMM_REG __fpu_xmm15; /* XMM 15 */ - char __fpu_rsrv4[6*16]; /* reserved */ - int __fpu_reserved1; - char __avx_reserved1[64]; - _STRUCT_XMM_REG __fpu_ymmh0; /* YMMH 0 */ - _STRUCT_XMM_REG __fpu_ymmh1; /* YMMH 1 */ - _STRUCT_XMM_REG __fpu_ymmh2; /* YMMH 2 */ - _STRUCT_XMM_REG __fpu_ymmh3; /* YMMH 3 */ - _STRUCT_XMM_REG __fpu_ymmh4; /* YMMH 4 */ - _STRUCT_XMM_REG __fpu_ymmh5; /* YMMH 5 */ - _STRUCT_XMM_REG __fpu_ymmh6; /* YMMH 6 */ - _STRUCT_XMM_REG __fpu_ymmh7; /* YMMH 7 */ - _STRUCT_XMM_REG __fpu_ymmh8; /* YMMH 8 */ - _STRUCT_XMM_REG __fpu_ymmh9; /* YMMH 9 */ - _STRUCT_XMM_REG __fpu_ymmh10; /* YMMH 10 */ - _STRUCT_XMM_REG __fpu_ymmh11; /* YMMH 11 */ - _STRUCT_XMM_REG __fpu_ymmh12; /* YMMH 12 */ - _STRUCT_XMM_REG __fpu_ymmh13; /* YMMH 13 */ - _STRUCT_XMM_REG __fpu_ymmh14; /* YMMH 14 */ - _STRUCT_XMM_REG __fpu_ymmh15; /* YMMH 15 */ -}; - -#define _STRUCT_X86_AVX512_STATE64 struct __darwin_x86_avx512_state64 -_STRUCT_X86_AVX512_STATE64 -{ - int __fpu_reserved[2]; - _STRUCT_FP_CONTROL __fpu_fcw; /* x87 FPU control word */ - _STRUCT_FP_STATUS __fpu_fsw; /* x87 FPU status word */ - __uint8_t __fpu_ftw; /* x87 FPU tag word */ - __uint8_t __fpu_rsrv1; /* reserved */ - __uint16_t __fpu_fop; /* x87 FPU Opcode */ - - /* x87 FPU Instruction Pointer */ - __uint32_t __fpu_ip; /* offset */ - __uint16_t __fpu_cs; /* Selector */ - - __uint16_t __fpu_rsrv2; /* reserved */ - - /* x87 FPU Instruction Operand(Data) Pointer */ - __uint32_t __fpu_dp; /* offset */ - __uint16_t __fpu_ds; /* Selector */ - - __uint16_t __fpu_rsrv3; /* reserved */ - __uint32_t __fpu_mxcsr; /* MXCSR Register state */ - __uint32_t __fpu_mxcsrmask; /* MXCSR mask */ - _STRUCT_MMST_REG __fpu_stmm0; /* ST0/MM0 */ - _STRUCT_MMST_REG __fpu_stmm1; /* ST1/MM1 */ - _STRUCT_MMST_REG __fpu_stmm2; /* ST2/MM2 */ - _STRUCT_MMST_REG __fpu_stmm3; /* ST3/MM3 */ - _STRUCT_MMST_REG __fpu_stmm4; /* ST4/MM4 */ - _STRUCT_MMST_REG __fpu_stmm5; /* ST5/MM5 */ - _STRUCT_MMST_REG __fpu_stmm6; /* ST6/MM6 */ - _STRUCT_MMST_REG __fpu_stmm7; /* ST7/MM7 */ - _STRUCT_XMM_REG __fpu_xmm0; /* XMM 0 */ - _STRUCT_XMM_REG __fpu_xmm1; /* XMM 1 */ - _STRUCT_XMM_REG __fpu_xmm2; /* XMM 2 */ - _STRUCT_XMM_REG __fpu_xmm3; /* XMM 3 */ - _STRUCT_XMM_REG __fpu_xmm4; /* XMM 4 */ - _STRUCT_XMM_REG __fpu_xmm5; /* XMM 5 */ - _STRUCT_XMM_REG __fpu_xmm6; /* XMM 6 */ - _STRUCT_XMM_REG __fpu_xmm7; /* XMM 7 */ - _STRUCT_XMM_REG __fpu_xmm8; /* XMM 8 */ - _STRUCT_XMM_REG __fpu_xmm9; /* XMM 9 */ - _STRUCT_XMM_REG __fpu_xmm10; /* XMM 10 */ - _STRUCT_XMM_REG __fpu_xmm11; /* XMM 11 */ - _STRUCT_XMM_REG __fpu_xmm12; /* XMM 12 */ - _STRUCT_XMM_REG __fpu_xmm13; /* XMM 13 */ - _STRUCT_XMM_REG __fpu_xmm14; /* XMM 14 */ - _STRUCT_XMM_REG __fpu_xmm15; /* XMM 15 */ - char __fpu_rsrv4[6*16]; /* reserved */ - int __fpu_reserved1; - char __avx_reserved1[64]; - _STRUCT_XMM_REG __fpu_ymmh0; /* YMMH 0 */ - _STRUCT_XMM_REG __fpu_ymmh1; /* YMMH 1 */ - _STRUCT_XMM_REG __fpu_ymmh2; /* YMMH 2 */ - _STRUCT_XMM_REG __fpu_ymmh3; /* YMMH 3 */ - _STRUCT_XMM_REG __fpu_ymmh4; /* YMMH 4 */ - _STRUCT_XMM_REG __fpu_ymmh5; /* YMMH 5 */ - _STRUCT_XMM_REG __fpu_ymmh6; /* YMMH 6 */ - _STRUCT_XMM_REG __fpu_ymmh7; /* YMMH 7 */ - _STRUCT_XMM_REG __fpu_ymmh8; /* YMMH 8 */ - _STRUCT_XMM_REG __fpu_ymmh9; /* YMMH 9 */ - _STRUCT_XMM_REG __fpu_ymmh10; /* YMMH 10 */ - _STRUCT_XMM_REG __fpu_ymmh11; /* YMMH 11 */ - _STRUCT_XMM_REG __fpu_ymmh12; /* YMMH 12 */ - _STRUCT_XMM_REG __fpu_ymmh13; /* YMMH 13 */ - _STRUCT_XMM_REG __fpu_ymmh14; /* YMMH 14 */ - _STRUCT_XMM_REG __fpu_ymmh15; /* YMMH 15 */ - _STRUCT_OPMASK_REG __fpu_k0; /* K0 */ - _STRUCT_OPMASK_REG __fpu_k1; /* K1 */ - _STRUCT_OPMASK_REG __fpu_k2; /* K2 */ - _STRUCT_OPMASK_REG __fpu_k3; /* K3 */ - _STRUCT_OPMASK_REG __fpu_k4; /* K4 */ - _STRUCT_OPMASK_REG __fpu_k5; /* K5 */ - _STRUCT_OPMASK_REG __fpu_k6; /* K6 */ - _STRUCT_OPMASK_REG __fpu_k7; /* K7 */ - _STRUCT_YMM_REG __fpu_zmmh0; /* ZMMH 0 */ - _STRUCT_YMM_REG __fpu_zmmh1; /* ZMMH 1 */ - _STRUCT_YMM_REG __fpu_zmmh2; /* ZMMH 2 */ - _STRUCT_YMM_REG __fpu_zmmh3; /* ZMMH 3 */ - _STRUCT_YMM_REG __fpu_zmmh4; /* ZMMH 4 */ - _STRUCT_YMM_REG __fpu_zmmh5; /* ZMMH 5 */ - _STRUCT_YMM_REG __fpu_zmmh6; /* ZMMH 6 */ - _STRUCT_YMM_REG __fpu_zmmh7; /* ZMMH 7 */ - _STRUCT_YMM_REG __fpu_zmmh8; /* ZMMH 8 */ - _STRUCT_YMM_REG __fpu_zmmh9; /* ZMMH 9 */ - _STRUCT_YMM_REG __fpu_zmmh10; /* ZMMH 10 */ - _STRUCT_YMM_REG __fpu_zmmh11; /* ZMMH 11 */ - _STRUCT_YMM_REG __fpu_zmmh12; /* ZMMH 12 */ - _STRUCT_YMM_REG __fpu_zmmh13; /* ZMMH 13 */ - _STRUCT_YMM_REG __fpu_zmmh14; /* ZMMH 14 */ - _STRUCT_YMM_REG __fpu_zmmh15; /* ZMMH 15 */ - _STRUCT_ZMM_REG __fpu_zmm16; /* ZMM 16 */ - _STRUCT_ZMM_REG __fpu_zmm17; /* ZMM 17 */ - _STRUCT_ZMM_REG __fpu_zmm18; /* ZMM 18 */ - _STRUCT_ZMM_REG __fpu_zmm19; /* ZMM 19 */ - _STRUCT_ZMM_REG __fpu_zmm20; /* ZMM 20 */ - _STRUCT_ZMM_REG __fpu_zmm21; /* ZMM 21 */ - _STRUCT_ZMM_REG __fpu_zmm22; /* ZMM 22 */ - _STRUCT_ZMM_REG __fpu_zmm23; /* ZMM 23 */ - _STRUCT_ZMM_REG __fpu_zmm24; /* ZMM 24 */ - _STRUCT_ZMM_REG __fpu_zmm25; /* ZMM 25 */ - _STRUCT_ZMM_REG __fpu_zmm26; /* ZMM 26 */ - _STRUCT_ZMM_REG __fpu_zmm27; /* ZMM 27 */ - _STRUCT_ZMM_REG __fpu_zmm28; /* ZMM 28 */ - _STRUCT_ZMM_REG __fpu_zmm29; /* ZMM 29 */ - _STRUCT_ZMM_REG __fpu_zmm30; /* ZMM 30 */ - _STRUCT_ZMM_REG __fpu_zmm31; /* ZMM 31 */ -}; - -#else /* !__DARWIN_UNIX03 */ -#define _STRUCT_X86_FLOAT_STATE64 struct x86_float_state64 -_STRUCT_X86_FLOAT_STATE64 -{ - int fpu_reserved[2]; - _STRUCT_FP_CONTROL fpu_fcw; /* x87 FPU control word */ - _STRUCT_FP_STATUS fpu_fsw; /* x87 FPU status word */ - __uint8_t fpu_ftw; /* x87 FPU tag word */ - __uint8_t fpu_rsrv1; /* reserved */ - __uint16_t fpu_fop; /* x87 FPU Opcode */ - - /* x87 FPU Instruction Pointer */ - __uint32_t fpu_ip; /* offset */ - __uint16_t fpu_cs; /* Selector */ - - __uint16_t fpu_rsrv2; /* reserved */ - - /* x87 FPU Instruction Operand(Data) Pointer */ - __uint32_t fpu_dp; /* offset */ - __uint16_t fpu_ds; /* Selector */ - - __uint16_t fpu_rsrv3; /* reserved */ - __uint32_t fpu_mxcsr; /* MXCSR Register state */ - __uint32_t fpu_mxcsrmask; /* MXCSR mask */ - _STRUCT_MMST_REG fpu_stmm0; /* ST0/MM0 */ - _STRUCT_MMST_REG fpu_stmm1; /* ST1/MM1 */ - _STRUCT_MMST_REG fpu_stmm2; /* ST2/MM2 */ - _STRUCT_MMST_REG fpu_stmm3; /* ST3/MM3 */ - _STRUCT_MMST_REG fpu_stmm4; /* ST4/MM4 */ - _STRUCT_MMST_REG fpu_stmm5; /* ST5/MM5 */ - _STRUCT_MMST_REG fpu_stmm6; /* ST6/MM6 */ - _STRUCT_MMST_REG fpu_stmm7; /* ST7/MM7 */ - _STRUCT_XMM_REG fpu_xmm0; /* XMM 0 */ - _STRUCT_XMM_REG fpu_xmm1; /* XMM 1 */ - _STRUCT_XMM_REG fpu_xmm2; /* XMM 2 */ - _STRUCT_XMM_REG fpu_xmm3; /* XMM 3 */ - _STRUCT_XMM_REG fpu_xmm4; /* XMM 4 */ - _STRUCT_XMM_REG fpu_xmm5; /* XMM 5 */ - _STRUCT_XMM_REG fpu_xmm6; /* XMM 6 */ - _STRUCT_XMM_REG fpu_xmm7; /* XMM 7 */ - _STRUCT_XMM_REG fpu_xmm8; /* XMM 8 */ - _STRUCT_XMM_REG fpu_xmm9; /* XMM 9 */ - _STRUCT_XMM_REG fpu_xmm10; /* XMM 10 */ - _STRUCT_XMM_REG fpu_xmm11; /* XMM 11 */ - _STRUCT_XMM_REG fpu_xmm12; /* XMM 12 */ - _STRUCT_XMM_REG fpu_xmm13; /* XMM 13 */ - _STRUCT_XMM_REG fpu_xmm14; /* XMM 14 */ - _STRUCT_XMM_REG fpu_xmm15; /* XMM 15 */ - char fpu_rsrv4[6*16]; /* reserved */ - int fpu_reserved1; -}; - -#define _STRUCT_X86_AVX_STATE64 struct x86_avx_state64 -_STRUCT_X86_AVX_STATE64 -{ - int fpu_reserved[2]; - _STRUCT_FP_CONTROL fpu_fcw; /* x87 FPU control word */ - _STRUCT_FP_STATUS fpu_fsw; /* x87 FPU status word */ - __uint8_t fpu_ftw; /* x87 FPU tag word */ - __uint8_t fpu_rsrv1; /* reserved */ - __uint16_t fpu_fop; /* x87 FPU Opcode */ - - /* x87 FPU Instruction Pointer */ - __uint32_t fpu_ip; /* offset */ - __uint16_t fpu_cs; /* Selector */ - - __uint16_t fpu_rsrv2; /* reserved */ - - /* x87 FPU Instruction Operand(Data) Pointer */ - __uint32_t fpu_dp; /* offset */ - __uint16_t fpu_ds; /* Selector */ - - __uint16_t fpu_rsrv3; /* reserved */ - __uint32_t fpu_mxcsr; /* MXCSR Register state */ - __uint32_t fpu_mxcsrmask; /* MXCSR mask */ - _STRUCT_MMST_REG fpu_stmm0; /* ST0/MM0 */ - _STRUCT_MMST_REG fpu_stmm1; /* ST1/MM1 */ - _STRUCT_MMST_REG fpu_stmm2; /* ST2/MM2 */ - _STRUCT_MMST_REG fpu_stmm3; /* ST3/MM3 */ - _STRUCT_MMST_REG fpu_stmm4; /* ST4/MM4 */ - _STRUCT_MMST_REG fpu_stmm5; /* ST5/MM5 */ - _STRUCT_MMST_REG fpu_stmm6; /* ST6/MM6 */ - _STRUCT_MMST_REG fpu_stmm7; /* ST7/MM7 */ - _STRUCT_XMM_REG fpu_xmm0; /* XMM 0 */ - _STRUCT_XMM_REG fpu_xmm1; /* XMM 1 */ - _STRUCT_XMM_REG fpu_xmm2; /* XMM 2 */ - _STRUCT_XMM_REG fpu_xmm3; /* XMM 3 */ - _STRUCT_XMM_REG fpu_xmm4; /* XMM 4 */ - _STRUCT_XMM_REG fpu_xmm5; /* XMM 5 */ - _STRUCT_XMM_REG fpu_xmm6; /* XMM 6 */ - _STRUCT_XMM_REG fpu_xmm7; /* XMM 7 */ - _STRUCT_XMM_REG fpu_xmm8; /* XMM 8 */ - _STRUCT_XMM_REG fpu_xmm9; /* XMM 9 */ - _STRUCT_XMM_REG fpu_xmm10; /* XMM 10 */ - _STRUCT_XMM_REG fpu_xmm11; /* XMM 11 */ - _STRUCT_XMM_REG fpu_xmm12; /* XMM 12 */ - _STRUCT_XMM_REG fpu_xmm13; /* XMM 13 */ - _STRUCT_XMM_REG fpu_xmm14; /* XMM 14 */ - _STRUCT_XMM_REG fpu_xmm15; /* XMM 15 */ - char fpu_rsrv4[6*16]; /* reserved */ - int fpu_reserved1; - char avx_reserved1[64]; - _STRUCT_XMM_REG fpu_ymmh0; /* YMMH 0 */ - _STRUCT_XMM_REG fpu_ymmh1; /* YMMH 1 */ - _STRUCT_XMM_REG fpu_ymmh2; /* YMMH 2 */ - _STRUCT_XMM_REG fpu_ymmh3; /* YMMH 3 */ - _STRUCT_XMM_REG fpu_ymmh4; /* YMMH 4 */ - _STRUCT_XMM_REG fpu_ymmh5; /* YMMH 5 */ - _STRUCT_XMM_REG fpu_ymmh6; /* YMMH 6 */ - _STRUCT_XMM_REG fpu_ymmh7; /* YMMH 7 */ - _STRUCT_XMM_REG fpu_ymmh8; /* YMMH 8 */ - _STRUCT_XMM_REG fpu_ymmh9; /* YMMH 9 */ - _STRUCT_XMM_REG fpu_ymmh10; /* YMMH 10 */ - _STRUCT_XMM_REG fpu_ymmh11; /* YMMH 11 */ - _STRUCT_XMM_REG fpu_ymmh12; /* YMMH 12 */ - _STRUCT_XMM_REG fpu_ymmh13; /* YMMH 13 */ - _STRUCT_XMM_REG fpu_ymmh14; /* YMMH 14 */ - _STRUCT_XMM_REG fpu_ymmh15; /* YMMH 15 */ -}; - -#define _STRUCT_X86_AVX512_STATE64 struct x86_avx512_state64 -_STRUCT_X86_AVX512_STATE64 -{ - int fpu_reserved[2]; - _STRUCT_FP_CONTROL fpu_fcw; /* x87 FPU control word */ - _STRUCT_FP_STATUS fpu_fsw; /* x87 FPU status word */ - __uint8_t fpu_ftw; /* x87 FPU tag word */ - __uint8_t fpu_rsrv1; /* reserved */ - __uint16_t fpu_fop; /* x87 FPU Opcode */ - - /* x87 FPU Instruction Pointer */ - __uint32_t fpu_ip; /* offset */ - __uint16_t fpu_cs; /* Selector */ - - __uint16_t fpu_rsrv2; /* reserved */ - - /* x87 FPU Instruction Operand(Data) Pointer */ - __uint32_t fpu_dp; /* offset */ - __uint16_t fpu_ds; /* Selector */ - - __uint16_t fpu_rsrv3; /* reserved */ - __uint32_t fpu_mxcsr; /* MXCSR Register state */ - __uint32_t fpu_mxcsrmask; /* MXCSR mask */ - _STRUCT_MMST_REG fpu_stmm0; /* ST0/MM0 */ - _STRUCT_MMST_REG fpu_stmm1; /* ST1/MM1 */ - _STRUCT_MMST_REG fpu_stmm2; /* ST2/MM2 */ - _STRUCT_MMST_REG fpu_stmm3; /* ST3/MM3 */ - _STRUCT_MMST_REG fpu_stmm4; /* ST4/MM4 */ - _STRUCT_MMST_REG fpu_stmm5; /* ST5/MM5 */ - _STRUCT_MMST_REG fpu_stmm6; /* ST6/MM6 */ - _STRUCT_MMST_REG fpu_stmm7; /* ST7/MM7 */ - _STRUCT_XMM_REG fpu_xmm0; /* XMM 0 */ - _STRUCT_XMM_REG fpu_xmm1; /* XMM 1 */ - _STRUCT_XMM_REG fpu_xmm2; /* XMM 2 */ - _STRUCT_XMM_REG fpu_xmm3; /* XMM 3 */ - _STRUCT_XMM_REG fpu_xmm4; /* XMM 4 */ - _STRUCT_XMM_REG fpu_xmm5; /* XMM 5 */ - _STRUCT_XMM_REG fpu_xmm6; /* XMM 6 */ - _STRUCT_XMM_REG fpu_xmm7; /* XMM 7 */ - _STRUCT_XMM_REG fpu_xmm8; /* XMM 8 */ - _STRUCT_XMM_REG fpu_xmm9; /* XMM 9 */ - _STRUCT_XMM_REG fpu_xmm10; /* XMM 10 */ - _STRUCT_XMM_REG fpu_xmm11; /* XMM 11 */ - _STRUCT_XMM_REG fpu_xmm12; /* XMM 12 */ - _STRUCT_XMM_REG fpu_xmm13; /* XMM 13 */ - _STRUCT_XMM_REG fpu_xmm14; /* XMM 14 */ - _STRUCT_XMM_REG fpu_xmm15; /* XMM 15 */ - char fpu_rsrv4[6*16]; /* reserved */ - int fpu_reserved1; - char avx_reserved1[64]; - _STRUCT_XMM_REG fpu_ymmh0; /* YMMH 0 */ - _STRUCT_XMM_REG fpu_ymmh1; /* YMMH 1 */ - _STRUCT_XMM_REG fpu_ymmh2; /* YMMH 2 */ - _STRUCT_XMM_REG fpu_ymmh3; /* YMMH 3 */ - _STRUCT_XMM_REG fpu_ymmh4; /* YMMH 4 */ - _STRUCT_XMM_REG fpu_ymmh5; /* YMMH 5 */ - _STRUCT_XMM_REG fpu_ymmh6; /* YMMH 6 */ - _STRUCT_XMM_REG fpu_ymmh7; /* YMMH 7 */ - _STRUCT_XMM_REG fpu_ymmh8; /* YMMH 8 */ - _STRUCT_XMM_REG fpu_ymmh9; /* YMMH 9 */ - _STRUCT_XMM_REG fpu_ymmh10; /* YMMH 10 */ - _STRUCT_XMM_REG fpu_ymmh11; /* YMMH 11 */ - _STRUCT_XMM_REG fpu_ymmh12; /* YMMH 12 */ - _STRUCT_XMM_REG fpu_ymmh13; /* YMMH 13 */ - _STRUCT_XMM_REG fpu_ymmh14; /* YMMH 14 */ - _STRUCT_XMM_REG fpu_ymmh15; /* YMMH 15 */ - _STRUCT_OPMASK_REG fpu_k0; /* K0 */ - _STRUCT_OPMASK_REG fpu_k1; /* K1 */ - _STRUCT_OPMASK_REG fpu_k2; /* K2 */ - _STRUCT_OPMASK_REG fpu_k3; /* K3 */ - _STRUCT_OPMASK_REG fpu_k4; /* K4 */ - _STRUCT_OPMASK_REG fpu_k5; /* K5 */ - _STRUCT_OPMASK_REG fpu_k6; /* K6 */ - _STRUCT_OPMASK_REG fpu_k7; /* K7 */ - _STRUCT_YMM_REG fpu_zmmh0; /* ZMMH 0 */ - _STRUCT_YMM_REG fpu_zmmh1; /* ZMMH 1 */ - _STRUCT_YMM_REG fpu_zmmh2; /* ZMMH 2 */ - _STRUCT_YMM_REG fpu_zmmh3; /* ZMMH 3 */ - _STRUCT_YMM_REG fpu_zmmh4; /* ZMMH 4 */ - _STRUCT_YMM_REG fpu_zmmh5; /* ZMMH 5 */ - _STRUCT_YMM_REG fpu_zmmh6; /* ZMMH 6 */ - _STRUCT_YMM_REG fpu_zmmh7; /* ZMMH 7 */ - _STRUCT_YMM_REG fpu_zmmh8; /* ZMMH 8 */ - _STRUCT_YMM_REG fpu_zmmh9; /* ZMMH 9 */ - _STRUCT_YMM_REG fpu_zmmh10; /* ZMMH 10 */ - _STRUCT_YMM_REG fpu_zmmh11; /* ZMMH 11 */ - _STRUCT_YMM_REG fpu_zmmh12; /* ZMMH 12 */ - _STRUCT_YMM_REG fpu_zmmh13; /* ZMMH 13 */ - _STRUCT_YMM_REG fpu_zmmh14; /* ZMMH 14 */ - _STRUCT_YMM_REG fpu_zmmh15; /* ZMMH 15 */ - _STRUCT_ZMM_REG fpu_zmm16; /* ZMM 16 */ - _STRUCT_ZMM_REG fpu_zmm17; /* ZMM 17 */ - _STRUCT_ZMM_REG fpu_zmm18; /* ZMM 18 */ - _STRUCT_ZMM_REG fpu_zmm19; /* ZMM 19 */ - _STRUCT_ZMM_REG fpu_zmm20; /* ZMM 20 */ - _STRUCT_ZMM_REG fpu_zmm21; /* ZMM 21 */ - _STRUCT_ZMM_REG fpu_zmm22; /* ZMM 22 */ - _STRUCT_ZMM_REG fpu_zmm23; /* ZMM 23 */ - _STRUCT_ZMM_REG fpu_zmm24; /* ZMM 24 */ - _STRUCT_ZMM_REG fpu_zmm25; /* ZMM 25 */ - _STRUCT_ZMM_REG fpu_zmm26; /* ZMM 26 */ - _STRUCT_ZMM_REG fpu_zmm27; /* ZMM 27 */ - _STRUCT_ZMM_REG fpu_zmm28; /* ZMM 28 */ - _STRUCT_ZMM_REG fpu_zmm29; /* ZMM 29 */ - _STRUCT_ZMM_REG fpu_zmm30; /* ZMM 30 */ - _STRUCT_ZMM_REG fpu_zmm31; /* ZMM 31 */ -}; - -#endif /* !__DARWIN_UNIX03 */ - -#if __DARWIN_UNIX03 -#define _STRUCT_X86_EXCEPTION_STATE64 struct __darwin_x86_exception_state64 -_STRUCT_X86_EXCEPTION_STATE64 -{ - __uint16_t __trapno; - __uint16_t __cpu; - __uint32_t __err; - __uint64_t __faultvaddr; -}; -#else /* !__DARWIN_UNIX03 */ -#define _STRUCT_X86_EXCEPTION_STATE64 struct x86_exception_state64 -_STRUCT_X86_EXCEPTION_STATE64 -{ - __uint16_t trapno; - __uint16_t cpu; - __uint32_t err; - __uint64_t faultvaddr; -}; -#endif /* !__DARWIN_UNIX03 */ - -#if __DARWIN_UNIX03 -#define _STRUCT_X86_DEBUG_STATE64 struct __darwin_x86_debug_state64 -_STRUCT_X86_DEBUG_STATE64 -{ - __uint64_t __dr0; - __uint64_t __dr1; - __uint64_t __dr2; - __uint64_t __dr3; - __uint64_t __dr4; - __uint64_t __dr5; - __uint64_t __dr6; - __uint64_t __dr7; -}; -#else /* !__DARWIN_UNIX03 */ -#define _STRUCT_X86_DEBUG_STATE64 struct x86_debug_state64 -_STRUCT_X86_DEBUG_STATE64 -{ - __uint64_t dr0; - __uint64_t dr1; - __uint64_t dr2; - __uint64_t dr3; - __uint64_t dr4; - __uint64_t dr5; - __uint64_t dr6; - __uint64_t dr7; -}; -#endif /* !__DARWIN_UNIX03 */ - -#if __DARWIN_UNIX03 -#define _STRUCT_X86_CPMU_STATE64 struct __darwin_x86_cpmu_state64 -_STRUCT_X86_CPMU_STATE64 -{ - __uint64_t __ctrs[16]; -}; -#else /* __DARWIN_UNIX03 */ -#define _STRUCT_X86_CPMU_STATE64 struct x86_cpmu_state64 -_STRUCT_X86_CPMU_STATE64 -{ - __uint64_t ctrs[16]; -}; -#endif /* !__DARWIN_UNIX03 */ - -#endif /* defined (__i386__) || defined (__x86_64__) */ - -#endif /* _MACH_I386__STRUCTS_H_ */ \ No newline at end of file diff --git a/lib/libc/include/x86_64-macos.12-none/mach/i386/boolean.h b/lib/libc/include/x86_64-macos.12-none/mach/i386/boolean.h deleted file mode 100644 index b1d69a193b..0000000000 --- a/lib/libc/include/x86_64-macos.12-none/mach/i386/boolean.h +++ /dev/null @@ -1,78 +0,0 @@ -/* - * Copyright (c) 2000-2006 Apple Computer, 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@ - */ -/* - * @OSF_COPYRIGHT@ - */ -/* - * Mach Operating System - * Copyright (c) 1991,1990,1989 Carnegie Mellon University - * All Rights Reserved. - * - * Permission to use, copy, modify and distribute this software and its - * documentation is hereby granted, provided that both the copyright - * notice and this permission notice appear in all copies of the - * software, derivative works or modified versions, and any portions - * thereof, and that both notices appear in supporting documentation. - * - * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" - * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR - * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. - * - * Carnegie Mellon requests users of this software to return to - * - * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU - * School of Computer Science - * Carnegie Mellon University - * Pittsburgh PA 15213-3890 - * - * any improvements or extensions that they make and grant Carnegie Mellon - * the rights to redistribute these changes. - */ -/* - */ - -/* - * File: boolean.h - * - * Boolean type, for I386. - */ - -#ifndef _MACH_I386_BOOLEAN_H_ -#define _MACH_I386_BOOLEAN_H_ - -#if defined (__i386__) || defined (__x86_64__) - -#if defined(__x86_64__) && !defined(KERNEL) -typedef unsigned int boolean_t; -#else -typedef int boolean_t; -#endif - -#endif /* defined (__i386__) || defined (__x86_64__) */ - -#endif /* _MACH_I386_BOOLEAN_H_ */ \ No newline at end of file diff --git a/lib/libc/include/x86_64-macos.12-none/mach/i386/fp_reg.h b/lib/libc/include/x86_64-macos.12-none/mach/i386/fp_reg.h deleted file mode 100644 index e968978842..0000000000 --- a/lib/libc/include/x86_64-macos.12-none/mach/i386/fp_reg.h +++ /dev/null @@ -1,122 +0,0 @@ -/* - * Copyright (c) 2000 Apple Computer, 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@ - */ -/* - * @OSF_COPYRIGHT@ - */ -/* - * Mach Operating System - * Copyright (c) 1992-1989 Carnegie Mellon University - * All Rights Reserved. - * - * Permission to use, copy, modify and distribute this software and its - * documentation is hereby granted, provided that both the copyright - * notice and this permission notice appear in all copies of the - * software, derivative works or modified versions, and any portions - * thereof, and that both notices appear in supporting documentation. - * - * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" - * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR - * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. - * - * Carnegie Mellon requests users of this software to return to - * - * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU - * School of Computer Science - * Carnegie Mellon University - * Pittsburgh PA 15213-3890 - * - * any improvements or extensions that they make and grant Carnegie Mellon - * the rights to redistribute these changes. - */ -/* - */ - -#ifndef _I386_FP_SAVE_H_ -#define _I386_FP_SAVE_H_ - -#if defined (__i386__) || defined (__x86_64__) - -/* - * Control register - */ -#define FPC_IE 0x0001 /* enable invalid operation - * exception */ -#define FPC_IM FPC_IE -#define FPC_DE 0x0002 /* enable denormalized operation - * exception */ -#define FPC_DM FPC_DE -#define FPC_ZE 0x0004 /* enable zero-divide exception */ -#define FPC_ZM FPC_ZE -#define FPC_OE 0x0008 /* enable overflow exception */ -#define FPC_OM FPC_OE -#define FPC_UE 0x0010 /* enable underflow exception */ -#define FPC_PE 0x0020 /* enable precision exception */ -#define FPC_PC 0x0300 /* precision control: */ -#define FPC_PC_24 0x0000 /* 24 bits */ -#define FPC_PC_53 0x0200 /* 53 bits */ -#define FPC_PC_64 0x0300 /* 64 bits */ -#define FPC_RC 0x0c00 /* rounding control: */ -#define FPC_RC_RN 0x0000 /* round to nearest or even */ -#define FPC_RC_RD 0x0400 /* round down */ -#define FPC_RC_RU 0x0800 /* round up */ -#define FPC_RC_CHOP 0x0c00 /* chop */ -#define FPC_IC 0x1000 /* infinity control (obsolete) */ -#define FPC_IC_PROJ 0x0000 /* projective infinity */ -#define FPC_IC_AFF 0x1000 /* affine infinity (std) */ - -/* - * Status register - */ -#define FPS_IE 0x0001 /* invalid operation */ -#define FPS_DE 0x0002 /* denormalized operand */ -#define FPS_ZE 0x0004 /* divide by zero */ -#define FPS_OE 0x0008 /* overflow */ -#define FPS_UE 0x0010 /* underflow */ -#define FPS_PE 0x0020 /* precision */ -#define FPS_SF 0x0040 /* stack flag */ -#define FPS_ES 0x0080 /* error summary */ -#define FPS_C0 0x0100 /* condition code bit 0 */ -#define FPS_C1 0x0200 /* condition code bit 1 */ -#define FPS_C2 0x0400 /* condition code bit 2 */ -#define FPS_TOS 0x3800 /* top-of-stack pointer */ -#define FPS_TOS_SHIFT 11 -#define FPS_C3 0x4000 /* condition code bit 3 */ -#define FPS_BUSY 0x8000 /* FPU busy */ - -/* - * Kind of floating-point support provided by kernel. - */ -#define FP_NO 0 /* no floating point */ -#define FP_SOFT 1 /* software FP emulator */ -#define FP_287 2 /* 80287 */ -#define FP_387 3 /* 80387 or 80486 */ -#define FP_FXSR 4 /* Fast save/restore SIMD Extension */ - -#endif /* defined (__i386__) || defined (__x86_64__) */ - -#endif /* _I386_FP_SAVE_H_ */ \ No newline at end of file diff --git a/lib/libc/include/x86_64-macos.12-none/mach/i386/rpc.h b/lib/libc/include/x86_64-macos.12-none/mach/i386/rpc.h deleted file mode 100644 index fcd2829f6b..0000000000 --- a/lib/libc/include/x86_64-macos.12-none/mach/i386/rpc.h +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Copyright (c) 2002,2000 Apple Computer, 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@ - */ -/* - * @OSF_COPYRIGHT@ - */ - -#ifndef _MACH_I386_RPC_H_ -#define _MACH_I386_RPC_H_ - -#if defined (__i386__) || defined (__x86_64__) - -#endif /* defined (__i386__) || defined (__x86_64__) */ - -#endif /* _MACH_I386_RPC_H_ */ \ No newline at end of file diff --git a/lib/libc/include/x86_64-macos.12-none/mach/i386/thread_status.h b/lib/libc/include/x86_64-macos.12-none/mach/i386/thread_status.h deleted file mode 100644 index d401a11fd0..0000000000 --- a/lib/libc/include/x86_64-macos.12-none/mach/i386/thread_status.h +++ /dev/null @@ -1,366 +0,0 @@ -/* - * Copyright (c) 2000-2020 Apple Computer, 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@ - */ -/* - * @OSF_COPYRIGHT@ - */ -/* - * Mach Operating System - * Copyright (c) 1991,1990,1989 Carnegie Mellon University - * All Rights Reserved. - * - * Permission to use, copy, modify and distribute this software and its - * documentation is hereby granted, provided that both the copyright - * notice and this permission notice appear in all copies of the - * software, derivative works or modified versions, and any portions - * thereof, and that both notices appear in supporting documentation. - * - * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" - * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR - * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. - * - * Carnegie Mellon requests users of this software to return to - * - * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU - * School of Computer Science - * Carnegie Mellon University - * Pittsburgh PA 15213-3890 - * - * any improvements or extensions that they make and grant Carnegie Mellon - * the rights to redistribute these changes. - */ -/* - */ -/* - * File: thread_status.h - * Author: Avadis Tevanian, Jr. - * Date: 1985 - * - * This file contains the structure definitions for the thread - * state as applied to I386 processors. - */ - -#ifndef _MACH_I386_THREAD_STATUS_H_ -#define _MACH_I386_THREAD_STATUS_H_ - -#if defined (__i386__) || defined (__x86_64__) - -#include -#include -#include -#include -#include - - -/* - * the i386_xxxx form is kept for legacy purposes since these types - * are externally known... eventually they should be deprecated. - * our internal implementation has moved to the following naming convention - * - * x86_xxxx32 names are used to deal with 32 bit states - * x86_xxxx64 names are used to deal with 64 bit states - * x86_xxxx names are used to deal with either 32 or 64 bit states - * via a self-describing mechanism - */ - -/* - * these are the legacy names which should be deprecated in the future - * they are externally known which is the only reason we don't just get - * rid of them - */ -#define i386_THREAD_STATE 1 -#define i386_FLOAT_STATE 2 -#define i386_EXCEPTION_STATE 3 - -/* - * THREAD_STATE_FLAVOR_LIST 0 - * these are the supported flavors - */ -#define x86_THREAD_STATE32 1 -#define x86_FLOAT_STATE32 2 -#define x86_EXCEPTION_STATE32 3 -#define x86_THREAD_STATE64 4 -#define x86_FLOAT_STATE64 5 -#define x86_EXCEPTION_STATE64 6 -#define x86_THREAD_STATE 7 -#define x86_FLOAT_STATE 8 -#define x86_EXCEPTION_STATE 9 -#define x86_DEBUG_STATE32 10 -#define x86_DEBUG_STATE64 11 -#define x86_DEBUG_STATE 12 -#define THREAD_STATE_NONE 13 -/* 14 and 15 are used for the internal x86_SAVED_STATE flavours */ -/* Arrange for flavors to take sequential values, 32-bit, 64-bit, non-specific */ -#define x86_AVX_STATE32 16 -#define x86_AVX_STATE64 (x86_AVX_STATE32 + 1) -#define x86_AVX_STATE (x86_AVX_STATE32 + 2) -#define x86_AVX512_STATE32 19 -#define x86_AVX512_STATE64 (x86_AVX512_STATE32 + 1) -#define x86_AVX512_STATE (x86_AVX512_STATE32 + 2) -#define x86_PAGEIN_STATE 22 -#define x86_THREAD_FULL_STATE64 23 -#define x86_INSTRUCTION_STATE 24 -#define x86_LAST_BRANCH_STATE 25 - -/* - * Largest state on this machine: - * (be sure mach/machine/thread_state.h matches!) - */ -#define THREAD_MACHINE_STATE_MAX THREAD_STATE_MAX - -/* - * VALID_THREAD_STATE_FLAVOR is a platform specific macro that when passed - * an exception flavor will return if that is a defined flavor for that - * platform. The macro must be manually updated to include all of the valid - * exception flavors as defined above. - */ -#define VALID_THREAD_STATE_FLAVOR(x) \ - ((x == x86_THREAD_STATE32) || \ - (x == x86_FLOAT_STATE32) || \ - (x == x86_EXCEPTION_STATE32) || \ - (x == x86_DEBUG_STATE32) || \ - (x == x86_THREAD_STATE64) || \ - (x == x86_THREAD_FULL_STATE64) || \ - (x == x86_FLOAT_STATE64) || \ - (x == x86_EXCEPTION_STATE64) || \ - (x == x86_DEBUG_STATE64) || \ - (x == x86_THREAD_STATE) || \ - (x == x86_FLOAT_STATE) || \ - (x == x86_EXCEPTION_STATE) || \ - (x == x86_DEBUG_STATE) || \ - (x == x86_AVX_STATE32) || \ - (x == x86_AVX_STATE64) || \ - (x == x86_AVX_STATE) || \ - (x == x86_AVX512_STATE32) || \ - (x == x86_AVX512_STATE64) || \ - (x == x86_AVX512_STATE) || \ - (x == x86_PAGEIN_STATE) || \ - (x == x86_INSTRUCTION_STATE) || \ - (x == x86_LAST_BRANCH_STATE) || \ - (x == THREAD_STATE_NONE)) - -struct x86_state_hdr { - uint32_t flavor; - uint32_t count; -}; -typedef struct x86_state_hdr x86_state_hdr_t; - -/* - * Default segment register values. - */ - -#define USER_CODE_SELECTOR 0x0017 -#define USER_DATA_SELECTOR 0x001f -#define KERN_CODE_SELECTOR 0x0008 -#define KERN_DATA_SELECTOR 0x0010 - -/* - * to be deprecated in the future - */ -typedef _STRUCT_X86_THREAD_STATE32 i386_thread_state_t; -#define i386_THREAD_STATE_COUNT ((mach_msg_type_number_t) \ - ( sizeof (i386_thread_state_t) / sizeof (int) )) - -typedef _STRUCT_X86_THREAD_STATE32 x86_thread_state32_t; -#define x86_THREAD_STATE32_COUNT ((mach_msg_type_number_t) \ - ( sizeof (x86_thread_state32_t) / sizeof (int) )) - -/* - * to be deprecated in the future - */ -typedef _STRUCT_X86_FLOAT_STATE32 i386_float_state_t; -#define i386_FLOAT_STATE_COUNT ((mach_msg_type_number_t) \ - (sizeof(i386_float_state_t)/sizeof(unsigned int))) - -typedef _STRUCT_X86_FLOAT_STATE32 x86_float_state32_t; -#define x86_FLOAT_STATE32_COUNT ((mach_msg_type_number_t) \ - (sizeof(x86_float_state32_t)/sizeof(unsigned int))) - -typedef _STRUCT_X86_AVX_STATE32 x86_avx_state32_t; -#define x86_AVX_STATE32_COUNT ((mach_msg_type_number_t) \ - (sizeof(x86_avx_state32_t)/sizeof(unsigned int))) - -typedef _STRUCT_X86_AVX512_STATE32 x86_avx512_state32_t; -#define x86_AVX512_STATE32_COUNT ((mach_msg_type_number_t) \ - (sizeof(x86_avx512_state32_t)/sizeof(unsigned int))) - -/* - * to be deprecated in the future - */ -typedef _STRUCT_X86_EXCEPTION_STATE32 i386_exception_state_t; -#define i386_EXCEPTION_STATE_COUNT ((mach_msg_type_number_t) \ - ( sizeof (i386_exception_state_t) / sizeof (int) )) - -typedef _STRUCT_X86_EXCEPTION_STATE32 x86_exception_state32_t; -#define x86_EXCEPTION_STATE32_COUNT ((mach_msg_type_number_t) \ - ( sizeof (x86_exception_state32_t) / sizeof (int) )) - -#define I386_EXCEPTION_STATE_COUNT i386_EXCEPTION_STATE_COUNT - -typedef _STRUCT_X86_DEBUG_STATE32 x86_debug_state32_t; -#define x86_DEBUG_STATE32_COUNT ((mach_msg_type_number_t) \ - ( sizeof (x86_debug_state32_t) / sizeof (int) )) - -#define X86_DEBUG_STATE32_COUNT x86_DEBUG_STATE32_COUNT - -typedef _STRUCT_X86_THREAD_STATE64 x86_thread_state64_t; -#define x86_THREAD_STATE64_COUNT ((mach_msg_type_number_t) \ - ( sizeof (x86_thread_state64_t) / sizeof (int) )) - -typedef _STRUCT_X86_THREAD_FULL_STATE64 x86_thread_full_state64_t; -#define x86_THREAD_FULL_STATE64_COUNT ((mach_msg_type_number_t) \ - ( sizeof (x86_thread_full_state64_t) / sizeof (int) )) - -typedef _STRUCT_X86_FLOAT_STATE64 x86_float_state64_t; -#define x86_FLOAT_STATE64_COUNT ((mach_msg_type_number_t) \ - (sizeof(x86_float_state64_t)/sizeof(unsigned int))) - -typedef _STRUCT_X86_AVX_STATE64 x86_avx_state64_t; -#define x86_AVX_STATE64_COUNT ((mach_msg_type_number_t) \ - (sizeof(x86_avx_state64_t)/sizeof(unsigned int))) - -typedef _STRUCT_X86_AVX512_STATE64 x86_avx512_state64_t; -#define x86_AVX512_STATE64_COUNT ((mach_msg_type_number_t) \ - (sizeof(x86_avx512_state64_t)/sizeof(unsigned int))) - -typedef _STRUCT_X86_EXCEPTION_STATE64 x86_exception_state64_t; -#define x86_EXCEPTION_STATE64_COUNT ((mach_msg_type_number_t) \ - ( sizeof (x86_exception_state64_t) / sizeof (int) )) - -#define X86_EXCEPTION_STATE64_COUNT x86_EXCEPTION_STATE64_COUNT - -typedef _STRUCT_X86_DEBUG_STATE64 x86_debug_state64_t; -#define x86_DEBUG_STATE64_COUNT ((mach_msg_type_number_t) \ - ( sizeof (x86_debug_state64_t) / sizeof (int) )) - -#define X86_DEBUG_STATE64_COUNT x86_DEBUG_STATE64_COUNT - -typedef _STRUCT_X86_PAGEIN_STATE x86_pagein_state_t; -#define x86_PAGEIN_STATE_COUNT \ - ((mach_msg_type_number_t)(sizeof(x86_pagein_state_t) / sizeof(int))) - -#define X86_PAGEIN_STATE_COUNT x86_PAGEIN_STATE_COUNT - -typedef _STRUCT_X86_INSTRUCTION_STATE x86_instruction_state_t; -#define x86_INSTRUCTION_STATE_COUNT \ - ((mach_msg_type_number_t)(sizeof(x86_instruction_state_t) / sizeof(int))) - -#define X86_INSTRUCTION_STATE_COUNT x86_INSTRUCTION_STATE_COUNT - -typedef _STRUCT_LAST_BRANCH_STATE last_branch_state_t; -#define x86_LAST_BRANCH_STATE_COUNT \ - ((mach_msg_type_number_t)(sizeof(last_branch_state_t) / sizeof(int))) - -#define X86_LAST_BRANCH_STATE_COUNT x86_LAST_BRANCH_STATE_COUNT - - -/* - * Combined thread, float and exception states - */ -struct x86_thread_state { - x86_state_hdr_t tsh; - union { - x86_thread_state32_t ts32; - x86_thread_state64_t ts64; - } uts; -}; - -struct x86_float_state { - x86_state_hdr_t fsh; - union { - x86_float_state32_t fs32; - x86_float_state64_t fs64; - } ufs; -}; - -struct x86_exception_state { - x86_state_hdr_t esh; - union { - x86_exception_state32_t es32; - x86_exception_state64_t es64; - } ues; -}; - -struct x86_debug_state { - x86_state_hdr_t dsh; - union { - x86_debug_state32_t ds32; - x86_debug_state64_t ds64; - } uds; -}; - -struct x86_avx_state { - x86_state_hdr_t ash; - union { - x86_avx_state32_t as32; - x86_avx_state64_t as64; - } ufs; -}; - -struct x86_avx512_state { - x86_state_hdr_t ash; - union { - x86_avx512_state32_t as32; - x86_avx512_state64_t as64; - } ufs; -}; - -typedef struct x86_thread_state x86_thread_state_t; -#define x86_THREAD_STATE_COUNT ((mach_msg_type_number_t) \ - ( sizeof (x86_thread_state_t) / sizeof (int) )) - -typedef struct x86_float_state x86_float_state_t; -#define x86_FLOAT_STATE_COUNT ((mach_msg_type_number_t) \ - (sizeof(x86_float_state_t)/sizeof(unsigned int))) - -typedef struct x86_exception_state x86_exception_state_t; -#define x86_EXCEPTION_STATE_COUNT ((mach_msg_type_number_t) \ - (sizeof(x86_exception_state_t)/sizeof(unsigned int))) - -typedef struct x86_debug_state x86_debug_state_t; -#define x86_DEBUG_STATE_COUNT ((mach_msg_type_number_t) \ - (sizeof(x86_debug_state_t)/sizeof(unsigned int))) - -typedef struct x86_avx_state x86_avx_state_t; -#define x86_AVX_STATE_COUNT ((mach_msg_type_number_t) \ - (sizeof(x86_avx_state_t)/sizeof(unsigned int))) - -typedef struct x86_avx512_state x86_avx512_state_t; -#define x86_AVX512_STATE_COUNT ((mach_msg_type_number_t) \ - (sizeof(x86_avx512_state_t)/sizeof(unsigned int))) - -/* - * Machine-independent way for servers and Mach's exception mechanism to - * choose the most efficient state flavor for exception RPC's: - */ -#define MACHINE_THREAD_STATE x86_THREAD_STATE -#define MACHINE_THREAD_STATE_COUNT x86_THREAD_STATE_COUNT - - -#endif /* defined (__i386__) || defined (__x86_64__) */ - -#endif /* _MACH_I386_THREAD_STATUS_H_ */ \ No newline at end of file diff --git a/lib/libc/include/x86_64-macos.12-none/mach/i386/vm_param.h b/lib/libc/include/x86_64-macos.12-none/mach/i386/vm_param.h deleted file mode 100644 index 953f4a1605..0000000000 --- a/lib/libc/include/x86_64-macos.12-none/mach/i386/vm_param.h +++ /dev/null @@ -1,163 +0,0 @@ -/* - * Copyright (c) 2000-2012 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@ - */ -/* - * @OSF_COPYRIGHT@ - */ -/* - * Mach Operating System - * Copyright (c) 1991,1990,1989,1988 Carnegie Mellon University - * All Rights Reserved. - * - * Permission to use, copy, modify and distribute this software and its - * documentation is hereby granted, provided that both the copyright - * notice and this permission notice appear in all copies of the - * software, derivative works or modified versions, and any portions - * thereof, and that both notices appear in supporting documentation. - * - * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" - * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR - * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. - * - * Carnegie Mellon requests users of this software to return to - * - * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU - * School of Computer Science - * Carnegie Mellon University - * Pittsburgh PA 15213-3890 - * - * any improvements or extensions that they make and grant Carnegie Mellon - * the rights to redistribute these changes. - */ - -/* - * Copyright (c) 1994 The University of Utah and - * the Computer Systems Laboratory at the University of Utah (CSL). - * All rights reserved. - * - * Permission to use, copy, modify and distribute this software is hereby - * granted provided that (1) source code retains these copyright, permission, - * and disclaimer notices, and (2) redistributions including binaries - * reproduce the notices in supporting documentation, and (3) all advertising - * materials mentioning features or use of this software display the following - * acknowledgement: ``This product includes software developed by the - * Computer Systems Laboratory at the University of Utah.'' - * - * THE UNIVERSITY OF UTAH AND CSL ALLOW FREE USE OF THIS SOFTWARE IN ITS "AS - * IS" CONDITION. THE UNIVERSITY OF UTAH AND CSL DISCLAIM ANY LIABILITY OF - * ANY KIND FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. - * - * CSL requests users of this software to return to csl-dist@cs.utah.edu any - * improvements that they make and grant CSL redistribution rights. - * - */ - -/* - * File: vm_param.h - * Author: Avadis Tevanian, Jr. - * Date: 1985 - * - * I386 machine dependent virtual memory parameters. - * Most of the declarations are preceeded by I386_ (or i386_) - * which is OK because only I386 specific code will be using - * them. - */ - -#ifndef _MACH_I386_VM_PARAM_H_ -#define _MACH_I386_VM_PARAM_H_ - -#if defined (__i386__) || defined (__x86_64__) - -#if !defined(KERNEL) && !defined(__ASSEMBLER__) - -#include -#endif - -#define BYTE_SIZE 8 /* byte size in bits */ - -#define I386_PGBYTES 4096 /* bytes per 80386 page */ -#define I386_PGSHIFT 12 /* bitshift for pages */ - - -#if !defined(__MAC_OS_X_VERSION_MIN_REQUIRED) || (__MAC_OS_X_VERSION_MIN_REQUIRED < 101600) -#define PAGE_SHIFT I386_PGSHIFT -#define PAGE_SIZE I386_PGBYTES -#define PAGE_MASK (PAGE_SIZE-1) -#else /* !defined(__MAC_OS_X_VERSION_MIN_REQUIRED) || (__MAC_OS_X_VERSION_MIN_REQUIRED < 101600) */ -#define PAGE_SHIFT vm_page_shift -#define PAGE_SIZE vm_page_size -#define PAGE_MASK vm_page_mask -#endif /* !defined(__MAC_OS_X_VERSION_MIN_REQUIRED) || (__MAC_OS_X_VERSION_MIN_REQUIRED < 101600) */ - -#define PAGE_MAX_SHIFT 14 -#define PAGE_MAX_SIZE (1 << PAGE_MAX_SHIFT) -#define PAGE_MAX_MASK (PAGE_MAX_SIZE-1) - -#define PAGE_MIN_SHIFT 12 -#define PAGE_MIN_SIZE (1 << PAGE_MIN_SHIFT) -#define PAGE_MIN_MASK (PAGE_MIN_SIZE-1) - - -#define VM_MIN_ADDRESS64 ((user_addr_t) 0x0000000000000000ULL) -/* - * Default top of user stack, grows down from here. - * Address chosen to be 1G (3rd level page table entry) below SHARED_REGION_BASE_X86_64 - * minus additional 1Meg (1/2 1st level page table coverage) to allow a redzone after it. - */ -#define VM_USRSTACK64 ((user_addr_t) (0x00007FF7C0000000ull - (1024 * 1024))) - -/* - * XXX TODO: Obsolete? - */ -#define VM_DYLD64 ((user_addr_t) 0x00007FFF5FC00000ULL) -#define VM_LIB64_SHR_DATA ((user_addr_t) 0x00007FFF60000000ULL) -#define VM_LIB64_SHR_TEXT ((user_addr_t) 0x00007FFF80000000ULL) -/* - * the end of the usable user address space , for now about 47 bits. - * the 64 bit commpage is past the end of this - */ -#define VM_MAX_PAGE_ADDRESS ((user_addr_t) 0x00007FFFFFE00000ULL) -/* - * canonical end of user address space for limits checking - */ -#define VM_MAX_USER_PAGE_ADDRESS ((user_addr_t)0x00007FFFFFFFF000ULL) - - -/* system-wide values */ -#define MACH_VM_MIN_ADDRESS ((mach_vm_offset_t) 0) -#define MACH_VM_MAX_ADDRESS ((mach_vm_offset_t) VM_MAX_PAGE_ADDRESS) - -/* process-relative values (all 32-bit legacy only for now) */ -#define VM_MIN_ADDRESS ((vm_offset_t) 0) -#define VM_USRSTACK32 ((vm_offset_t) 0xC0000000) /* ASLR slides stack down by up to 1 MB */ -#define VM_MAX_ADDRESS ((vm_offset_t) 0xFFE00000) - - - -#endif /* defined (__i386__) || defined (__x86_64__) */ - -#endif /* _MACH_I386_VM_PARAM_H_ */ \ No newline at end of file diff --git a/lib/libc/include/x86_64-macos.13-none/i386/_limits.h b/lib/libc/include/x86_64-macos.13-none/i386/_limits.h deleted file mode 100644 index 5763f5a3a8..0000000000 --- a/lib/libc/include/x86_64-macos.13-none/i386/_limits.h +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Copyright (c) 2004 Apple Computer, Inc. All rights reserved. - * - * @APPLE_LICENSE_HEADER_START@ - * - * The contents of this file constitute Original Code as defined in and - * are subject to the Apple Public Source License Version 1.1 (the - * "License"). You may not use this file except in compliance with the - * License. Please obtain a copy of the License at - * http://www.apple.com/publicsource and read it before using this file. - * - * This 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 OR NON-INFRINGEMENT. Please see the - * License for the specific language governing rights and limitations - * under the License. - * - * @APPLE_LICENSE_HEADER_END@ - */ -#ifndef _I386__LIMITS_H_ -#define _I386__LIMITS_H_ - -#if defined (__i386__) || defined (__x86_64__) - -#define __DARWIN_CLK_TCK 100 /* ticks per second */ - -#endif /* defined (__i386__) || defined (__x86_64__) */ - -#endif /* _I386__LIMITS_H_ */ \ No newline at end of file diff --git a/lib/libc/include/x86_64-macos.13-none/i386/_param.h b/lib/libc/include/x86_64-macos.13-none/i386/_param.h deleted file mode 100644 index ac0ac439aa..0000000000 --- a/lib/libc/include/x86_64-macos.13-none/i386/_param.h +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Copyright (c) 2008 Apple Computer, 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 _I386__PARAM_H_ -#define _I386__PARAM_H_ - -#if defined (__i386__) || defined (__x86_64__) - -#include - -/* - * Round p (pointer or byte index) up to a correctly-aligned value for all - * data types (int, long, ...). The result is unsigned int and must be - * cast to any desired pointer type. - */ -#define __DARWIN_ALIGNBYTES (sizeof(__darwin_size_t) - 1) -#define __DARWIN_ALIGN(p) ((__darwin_size_t)((__darwin_size_t)(p) + __DARWIN_ALIGNBYTES) &~ __DARWIN_ALIGNBYTES) - -#define __DARWIN_ALIGNBYTES32 (sizeof(__uint32_t) - 1) -#define __DARWIN_ALIGN32(p) ((__darwin_size_t)((__darwin_size_t)(p) + __DARWIN_ALIGNBYTES32) &~ __DARWIN_ALIGNBYTES32) - -#endif /* defined (__i386__) || defined (__x86_64__) */ - -#endif /* _I386__PARAM_H_ */ \ No newline at end of file diff --git a/lib/libc/include/x86_64-macos.13-none/i386/endian.h b/lib/libc/include/x86_64-macos.13-none/i386/endian.h deleted file mode 100644 index 104d5babca..0000000000 --- a/lib/libc/include/x86_64-macos.13-none/i386/endian.h +++ /dev/null @@ -1,105 +0,0 @@ -/* - * Copyright (c) 2000-2002 Apple Computer, 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@ - */ -/* - * Copyright 1995 NeXT Computer, Inc. All rights reserved. - */ -/* - * Copyright (c) 1987, 1991, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)endian.h 8.1 (Berkeley) 6/11/93 - */ - -#ifndef _I386__ENDIAN_H_ -#define _I386__ENDIAN_H_ - -#if defined (__i386__) || defined (__x86_64__) - -#include -/* - * Define _NOQUAD if the compiler does NOT support 64-bit integers. - */ -/* #define _NOQUAD */ - -/* - * Define the order of 32-bit words in 64-bit words. - */ -#define _QUAD_HIGHWORD 1 -#define _QUAD_LOWWORD 0 - -/* - * Definitions for byte order, according to byte significance from low - * address to high. - */ -#define __DARWIN_LITTLE_ENDIAN 1234 /* LSB first: i386, vax */ -#define __DARWIN_BIG_ENDIAN 4321 /* MSB first: 68000, ibm, net */ -#define __DARWIN_PDP_ENDIAN 3412 /* LSB first in word, MSW first in long */ - -#define __DARWIN_BYTE_ORDER __DARWIN_LITTLE_ENDIAN - -#if defined(KERNEL) || (!defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)) - -#define LITTLE_ENDIAN __DARWIN_LITTLE_ENDIAN -#define BIG_ENDIAN __DARWIN_BIG_ENDIAN -#define PDP_ENDIAN __DARWIN_PDP_ENDIAN - -#define BYTE_ORDER __DARWIN_BYTE_ORDER - -#include - -#endif /* defined(KERNEL) || (!defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)) */ -#endif /* defined (__i386__) || defined (__x86_64__) */ -#endif /* !_I386__ENDIAN_H_ */ \ No newline at end of file diff --git a/lib/libc/include/x86_64-macos.13-none/i386/types.h b/lib/libc/include/x86_64-macos.13-none/i386/types.h deleted file mode 100644 index 31ffa1f37c..0000000000 --- a/lib/libc/include/x86_64-macos.13-none/i386/types.h +++ /dev/null @@ -1,118 +0,0 @@ -/* - * Copyright (c) 2000-2008 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@ - */ -/* - * Copyright 1995 NeXT Computer, Inc. All rights reserved. - */ -/* - * Copyright (c) 1990, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)types.h 8.3 (Berkeley) 1/5/94 - */ - -#ifndef _I386_MACHTYPES_H_ -#define _I386_MACHTYPES_H_ -#define _MACHTYPES_H_ - -#if defined (__i386__) || defined (__x86_64__) - -#ifndef __ASSEMBLER__ -#include -#include -/* - * Basic integral types. Omit the typedef if - * not possible for a machine/compiler combination. - */ -#include -#include -#include -#include - -#include -#include -#include -#include - -#if __LP64__ -typedef int64_t register_t; -#else -typedef int32_t register_t; -#endif - -#include -#include - -#if !defined(_ANSI_SOURCE) && (!defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)) -/* These types are used for reserving the largest possible size. */ -typedef u_int64_t user_addr_t; -typedef u_int64_t user_size_t; -typedef int64_t user_ssize_t; -typedef int64_t user_long_t; -typedef u_int64_t user_ulong_t; -typedef int64_t user_time_t; -typedef int64_t user_off_t; -#define USER_ADDR_NULL ((user_addr_t) 0) -#define CAST_USER_ADDR_T(a_ptr) ((user_addr_t)((uintptr_t)(a_ptr))) - - -#endif /* !_ANSI_SOURCE && (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */ - -/* This defines the size of syscall arguments after copying into the kernel: */ -typedef u_int64_t syscall_arg_t; - -#endif /* __ASSEMBLER__ */ -#endif /* defined (__i386__) || defined (__x86_64__) */ -#endif /* _I386_MACHTYPES_H_ */ \ No newline at end of file diff --git a/lib/libc/include/x86_64-macos.13-none/libkern/OSAtomic.h b/lib/libc/include/x86_64-macos.13-none/libkern/OSAtomic.h deleted file mode 100644 index 37ef16ce44..0000000000 --- a/lib/libc/include/x86_64-macos.13-none/libkern/OSAtomic.h +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Copyright (c) 2004-2016 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 _OSATOMIC_H_ -#define _OSATOMIC_H_ - -/*! @header - * These are deprecated legacy interfaces for atomic and synchronization - * operations. - * - * Define OSATOMIC_USE_INLINED=1 to get inline implementations of the - * OSAtomic interfaces in terms of the primitives. - * - * Define OSSPINLOCK_USE_INLINED=1 to get inline implementations of the - * OSSpinLock interfaces in terms of the primitives. - * - * These are intended as a transition convenience, direct use of those - * primitives should be preferred. - */ - -#include - -#include "OSAtomicDeprecated.h" -#include "OSSpinLockDeprecated.h" -#include "OSAtomicQueue.h" - -#endif /* _OSATOMIC_H_ */ \ No newline at end of file diff --git a/lib/libc/include/x86_64-macos.13-none/libkern/OSAtomicDeprecated.h b/lib/libc/include/x86_64-macos.13-none/libkern/OSAtomicDeprecated.h deleted file mode 100644 index 6dc880b0d4..0000000000 --- a/lib/libc/include/x86_64-macos.13-none/libkern/OSAtomicDeprecated.h +++ /dev/null @@ -1,1266 +0,0 @@ -/* - * Copyright (c) 2004-2016 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 _OSATOMIC_DEPRECATED_H_ -#define _OSATOMIC_DEPRECATED_H_ - -/*! @header - * These are deprecated legacy interfaces for atomic operations. - * The C11 interfaces in resp. C++11 interfaces in - * should be used instead. - * - * Define OSATOMIC_USE_INLINED=1 to get inline implementations of these - * interfaces in terms of the resp. primitives. - * This is intended as a transition convenience, direct use of those primitives - * is preferred. - */ - -#include - -#if !(defined(OSATOMIC_USE_INLINED) && OSATOMIC_USE_INLINED) - -#include -#include -#include -#include - -#ifndef OSATOMIC_DEPRECATED -#define OSATOMIC_DEPRECATED 1 -#ifndef __cplusplus -#define OSATOMIC_BARRIER_DEPRECATED_MSG(_r) \ - "Use " #_r "() from instead" -#define OSATOMIC_DEPRECATED_MSG(_r) \ - "Use " #_r "_explicit(memory_order_relaxed) from instead" -#else -#define OSATOMIC_BARRIER_DEPRECATED_MSG(_r) \ - "Use std::" #_r "() from instead" -#define OSATOMIC_DEPRECATED_MSG(_r) \ - "Use std::" #_r "_explicit(std::memory_order_relaxed) from instead" -#endif -#define OSATOMIC_BARRIER_DEPRECATED_REPLACE_WITH(_r) \ - __OS_AVAILABILITY_MSG(macosx, deprecated=10.12, OSATOMIC_BARRIER_DEPRECATED_MSG(_r)) \ - __OS_AVAILABILITY_MSG(ios, deprecated=10.0, OSATOMIC_BARRIER_DEPRECATED_MSG(_r)) \ - __OS_AVAILABILITY_MSG(tvos, deprecated=10.0, OSATOMIC_BARRIER_DEPRECATED_MSG(_r)) \ - __OS_AVAILABILITY_MSG(watchos, deprecated=3.0, OSATOMIC_BARRIER_DEPRECATED_MSG(_r)) -#define OSATOMIC_DEPRECATED_REPLACE_WITH(_r) \ - __OS_AVAILABILITY_MSG(macosx, deprecated=10.12, OSATOMIC_DEPRECATED_MSG(_r)) \ - __OS_AVAILABILITY_MSG(ios, deprecated=10.0, OSATOMIC_DEPRECATED_MSG(_r)) \ - __OS_AVAILABILITY_MSG(tvos, deprecated=10.0, OSATOMIC_DEPRECATED_MSG(_r)) \ - __OS_AVAILABILITY_MSG(watchos, deprecated=3.0, OSATOMIC_DEPRECATED_MSG(_r)) -#else -#undef OSATOMIC_DEPRECATED -#define OSATOMIC_DEPRECATED 0 -#define OSATOMIC_BARRIER_DEPRECATED_REPLACE_WITH(_r) -#define OSATOMIC_DEPRECATED_REPLACE_WITH(_r) -#endif - -/* - * WARNING: all addresses passed to these functions must be "naturally aligned", - * i.e. int32_t pointers must be 32-bit aligned (low 2 bits of - * address are zeroes), and int64_t pointers must be 64-bit - * aligned (low 3 bits of address are zeroes.). - * Note that this is not the default alignment of the int64_t type - * in the iOS ARMv7 ABI, see - * {@link //apple_ref/doc/uid/TP40009021-SW8 iPhoneOSABIReference} - * - * Note that some versions of the atomic functions incorporate memory barriers - * and some do not. Barriers strictly order memory access on weakly-ordered - * architectures such as ARM. All loads and stores that appear (in sequential - * program order) before the barrier are guaranteed to complete before any - * load or store that appears after the barrier. - * - * The barrier operation is typically a no-op on uniprocessor systems and - * fully enabled on multiprocessor systems. On some platforms, such as ARM, - * the barrier can be quite expensive. - * - * Most code should use the barrier functions to ensure that memory shared - * between threads is properly synchronized. For example, if you want to - * initialize a shared data structure and then atomically increment a variable - * to indicate that the initialization is complete, you must use - * {@link OSAtomicIncrement32Barrier} to ensure that the stores to your data - * structure complete before the atomic increment. - * - * Likewise, the consumer of that data structure must use - * {@link OSAtomicDecrement32Barrier}, - * in order to ensure that their loads of the structure are not executed before - * the atomic decrement. On the other hand, if you are simply incrementing a - * global counter, then it is safe and potentially faster to use - * {@link OSAtomicIncrement32}. - * - * If you are unsure which version to use, prefer the barrier variants as they - * are safer. - * - * For the kernel-space version of this header, see - * {@link //apple_ref/doc/header/OSAtomic.h OSAtomic.h (Kernel Framework)} - * - * @apiuid //apple_ref/doc/header/user_space_OSAtomic.h - */ - -__BEGIN_DECLS - -/*! @typedef OSAtomic_int64_aligned64_t - * 64-bit aligned int64_t type. - * Use for variables whose addresses are passed to OSAtomic*64() functions to - * get the compiler to generate the required alignment. - */ - -#if __has_attribute(aligned) -typedef int64_t __attribute__((__aligned__((sizeof(int64_t))))) - OSAtomic_int64_aligned64_t; -#else -typedef int64_t OSAtomic_int64_aligned64_t; -#endif - -/*! @group Arithmetic functions - All functions in this group return the new value. - */ - -/*! @abstract Atomically adds two 32-bit values. - @discussion - This function adds the value given by __theAmount to the - value in the memory location referenced by __theValue, - storing the result back to that memory location atomically. - @result Returns the new value. - */ -OSATOMIC_DEPRECATED_REPLACE_WITH(atomic_fetch_add) -__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0) -int32_t OSAtomicAdd32( int32_t __theAmount, volatile int32_t *__theValue ); - - -/*! @abstract Atomically adds two 32-bit values. - @discussion - This function adds the value given by __theAmount to the - value in the memory location referenced by __theValue, - storing the result back to that memory location atomically. - - This function is equivalent to {@link OSAtomicAdd32} - except that it also introduces a barrier. - @result Returns the new value. - */ -OSATOMIC_BARRIER_DEPRECATED_REPLACE_WITH(atomic_fetch_add) -__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0) -int32_t OSAtomicAdd32Barrier( int32_t __theAmount, volatile int32_t *__theValue ); - - -#if __MAC_OS_X_VERSION_MIN_REQUIRED >= __MAC_10_10 || __IPHONE_OS_VERSION_MIN_REQUIRED >= __IPHONE_7_1 || TARGET_OS_DRIVERKIT - -/*! @abstract Atomically increments a 32-bit value. - @result Returns the new value. - */ -OSATOMIC_DEPRECATED_REPLACE_WITH(atomic_fetch_add) -__OSX_AVAILABLE_STARTING(__MAC_10_10, __IPHONE_7_1) -int32_t OSAtomicIncrement32( volatile int32_t *__theValue ); - - -/*! @abstract Atomically increments a 32-bit value with a barrier. - @discussion - This function is equivalent to {@link OSAtomicIncrement32} - except that it also introduces a barrier. - @result Returns the new value. - */ -OSATOMIC_BARRIER_DEPRECATED_REPLACE_WITH(atomic_fetch_add) -__OSX_AVAILABLE_STARTING(__MAC_10_10, __IPHONE_7_1) -int32_t OSAtomicIncrement32Barrier( volatile int32_t *__theValue ); - - -/*! @abstract Atomically decrements a 32-bit value. - @result Returns the new value. - */ -OSATOMIC_DEPRECATED_REPLACE_WITH(atomic_fetch_sub) -__OSX_AVAILABLE_STARTING(__MAC_10_10, __IPHONE_7_1) -int32_t OSAtomicDecrement32( volatile int32_t *__theValue ); - - -/*! @abstract Atomically decrements a 32-bit value with a barrier. - @discussion - This function is equivalent to {@link OSAtomicDecrement32} - except that it also introduces a barrier. - @result Returns the new value. - */ -OSATOMIC_BARRIER_DEPRECATED_REPLACE_WITH(atomic_fetch_sub) -__OSX_AVAILABLE_STARTING(__MAC_10_10, __IPHONE_7_1) -int32_t OSAtomicDecrement32Barrier( volatile int32_t *__theValue ); - -#else -__inline static -int32_t OSAtomicIncrement32( volatile int32_t *__theValue ) - { return OSAtomicAdd32( 1, __theValue); } - -__inline static -int32_t OSAtomicIncrement32Barrier( volatile int32_t *__theValue ) - { return OSAtomicAdd32Barrier( 1, __theValue); } - -__inline static -int32_t OSAtomicDecrement32( volatile int32_t *__theValue ) - { return OSAtomicAdd32( -1, __theValue); } - -__inline static -int32_t OSAtomicDecrement32Barrier( volatile int32_t *__theValue ) - { return OSAtomicAdd32Barrier( -1, __theValue); } -#endif - - -/*! @abstract Atomically adds two 64-bit values. - @discussion - This function adds the value given by __theAmount to the - value in the memory location referenced by __theValue, - storing the result back to that memory location atomically. - @result Returns the new value. - */ -OSATOMIC_DEPRECATED_REPLACE_WITH(atomic_fetch_add) -__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0) -int64_t OSAtomicAdd64( int64_t __theAmount, - volatile OSAtomic_int64_aligned64_t *__theValue ); - - -/*! @abstract Atomically adds two 64-bit values with a barrier. - @discussion - This function adds the value given by __theAmount to the - value in the memory location referenced by __theValue, - storing the result back to that memory location atomically. - - This function is equivalent to {@link OSAtomicAdd64} - except that it also introduces a barrier. - @result Returns the new value. - */ -OSATOMIC_BARRIER_DEPRECATED_REPLACE_WITH(atomic_fetch_add) -__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_3_2) -int64_t OSAtomicAdd64Barrier( int64_t __theAmount, - volatile OSAtomic_int64_aligned64_t *__theValue ); - - -#if __MAC_OS_X_VERSION_MIN_REQUIRED >= __MAC_10_10 || __IPHONE_OS_VERSION_MIN_REQUIRED >= __IPHONE_7_1 || TARGET_OS_DRIVERKIT - -/*! @abstract Atomically increments a 64-bit value. - @result Returns the new value. - */ -OSATOMIC_DEPRECATED_REPLACE_WITH(atomic_fetch_add) -__OSX_AVAILABLE_STARTING(__MAC_10_10, __IPHONE_7_1) -int64_t OSAtomicIncrement64( volatile OSAtomic_int64_aligned64_t *__theValue ); - - -/*! @abstract Atomically increments a 64-bit value with a barrier. - @discussion - This function is equivalent to {@link OSAtomicIncrement64} - except that it also introduces a barrier. - @result Returns the new value. - */ -OSATOMIC_BARRIER_DEPRECATED_REPLACE_WITH(atomic_fetch_add) -__OSX_AVAILABLE_STARTING(__MAC_10_10, __IPHONE_7_1) -int64_t OSAtomicIncrement64Barrier( volatile OSAtomic_int64_aligned64_t *__theValue ); - - -/*! @abstract Atomically decrements a 64-bit value. - @result Returns the new value. - */ -OSATOMIC_DEPRECATED_REPLACE_WITH(atomic_fetch_sub) -__OSX_AVAILABLE_STARTING(__MAC_10_10, __IPHONE_7_1) -int64_t OSAtomicDecrement64( volatile OSAtomic_int64_aligned64_t *__theValue ); - - -/*! @abstract Atomically decrements a 64-bit value with a barrier. - @discussion - This function is equivalent to {@link OSAtomicDecrement64} - except that it also introduces a barrier. - @result Returns the new value. - */ -OSATOMIC_BARRIER_DEPRECATED_REPLACE_WITH(atomic_fetch_sub) -__OSX_AVAILABLE_STARTING(__MAC_10_10, __IPHONE_7_1) -int64_t OSAtomicDecrement64Barrier( volatile OSAtomic_int64_aligned64_t *__theValue ); - -#else -__inline static -int64_t OSAtomicIncrement64( volatile OSAtomic_int64_aligned64_t *__theValue ) - { return OSAtomicAdd64( 1, __theValue); } - -__inline static -int64_t OSAtomicIncrement64Barrier( volatile OSAtomic_int64_aligned64_t *__theValue ) - { return OSAtomicAdd64Barrier( 1, __theValue); } - -__inline static -int64_t OSAtomicDecrement64( volatile OSAtomic_int64_aligned64_t *__theValue ) - { return OSAtomicAdd64( -1, __theValue); } - -__inline static -int64_t OSAtomicDecrement64Barrier( volatile OSAtomic_int64_aligned64_t *__theValue ) - { return OSAtomicAdd64Barrier( -1, __theValue); } -#endif - - -/*! @group Boolean functions (AND, OR, XOR) - * - * @discussion Functions in this group come in four variants for each operation: - * with and without barriers, and functions that return the original value or - * the result value of the operation. - * - * The "Orig" versions return the original value, (before the operation); the non-Orig - * versions return the value after the operation. All are layered on top of - * {@link OSAtomicCompareAndSwap32} and similar. - */ - -/*! @abstract Atomic bitwise OR of two 32-bit values. - @discussion - This function performs the bitwise OR of the value given by __theMask - with the value in the memory location referenced by __theValue, - storing the result back to that memory location atomically. - @result Returns the new value. - */ -OSATOMIC_DEPRECATED_REPLACE_WITH(atomic_fetch_or) -__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0) -int32_t OSAtomicOr32( uint32_t __theMask, volatile uint32_t *__theValue ); - - -/*! @abstract Atomic bitwise OR of two 32-bit values with barrier. - @discussion - This function performs the bitwise OR of the value given by __theMask - with the value in the memory location referenced by __theValue, - storing the result back to that memory location atomically. - - This function is equivalent to {@link OSAtomicOr32} - except that it also introduces a barrier. - @result Returns the new value. - */ -OSATOMIC_BARRIER_DEPRECATED_REPLACE_WITH(atomic_fetch_or) -__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0) -int32_t OSAtomicOr32Barrier( uint32_t __theMask, volatile uint32_t *__theValue ); - - -/*! @abstract Atomic bitwise OR of two 32-bit values returning original. - @discussion - This function performs the bitwise OR of the value given by __theMask - with the value in the memory location referenced by __theValue, - storing the result back to that memory location atomically. - @result Returns the original value referenced by __theValue. - */ -OSATOMIC_DEPRECATED_REPLACE_WITH(atomic_fetch_or) -__OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_3_2) -int32_t OSAtomicOr32Orig( uint32_t __theMask, volatile uint32_t *__theValue ); - - -/*! @abstract Atomic bitwise OR of two 32-bit values returning original with barrier. - @discussion - This function performs the bitwise OR of the value given by __theMask - with the value in the memory location referenced by __theValue, - storing the result back to that memory location atomically. - - This function is equivalent to {@link OSAtomicOr32Orig} - except that it also introduces a barrier. - @result Returns the original value referenced by __theValue. - */ -OSATOMIC_BARRIER_DEPRECATED_REPLACE_WITH(atomic_fetch_or) -__OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_3_2) -int32_t OSAtomicOr32OrigBarrier( uint32_t __theMask, volatile uint32_t *__theValue ); - - - - -/*! @abstract Atomic bitwise AND of two 32-bit values. - @discussion - This function performs the bitwise AND of the value given by __theMask - with the value in the memory location referenced by __theValue, - storing the result back to that memory location atomically. - @result Returns the new value. - */ -OSATOMIC_DEPRECATED_REPLACE_WITH(atomic_fetch_and) -__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0) -int32_t OSAtomicAnd32( uint32_t __theMask, volatile uint32_t *__theValue ); - - -/*! @abstract Atomic bitwise AND of two 32-bit values with barrier. - @discussion - This function performs the bitwise AND of the value given by __theMask - with the value in the memory location referenced by __theValue, - storing the result back to that memory location atomically. - - This function is equivalent to {@link OSAtomicAnd32} - except that it also introduces a barrier. - @result Returns the new value. - */ -OSATOMIC_BARRIER_DEPRECATED_REPLACE_WITH(atomic_fetch_and) -__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0) -int32_t OSAtomicAnd32Barrier( uint32_t __theMask, volatile uint32_t *__theValue ); - - -/*! @abstract Atomic bitwise AND of two 32-bit values returning original. - @discussion - This function performs the bitwise AND of the value given by __theMask - with the value in the memory location referenced by __theValue, - storing the result back to that memory location atomically. - @result Returns the original value referenced by __theValue. - */ -OSATOMIC_DEPRECATED_REPLACE_WITH(atomic_fetch_and) -__OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_3_2) -int32_t OSAtomicAnd32Orig( uint32_t __theMask, volatile uint32_t *__theValue ); - - -/*! @abstract Atomic bitwise AND of two 32-bit values returning original with barrier. - @discussion - This function performs the bitwise AND of the value given by __theMask - with the value in the memory location referenced by __theValue, - storing the result back to that memory location atomically. - - This function is equivalent to {@link OSAtomicAnd32Orig} - except that it also introduces a barrier. - @result Returns the original value referenced by __theValue. - */ -OSATOMIC_BARRIER_DEPRECATED_REPLACE_WITH(atomic_fetch_and) -__OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_3_2) -int32_t OSAtomicAnd32OrigBarrier( uint32_t __theMask, volatile uint32_t *__theValue ); - - - - -/*! @abstract Atomic bitwise XOR of two 32-bit values. - @discussion - This function performs the bitwise XOR of the value given by __theMask - with the value in the memory location referenced by __theValue, - storing the result back to that memory location atomically. - @result Returns the new value. - */ -OSATOMIC_DEPRECATED_REPLACE_WITH(atomic_fetch_xor) -__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0) -int32_t OSAtomicXor32( uint32_t __theMask, volatile uint32_t *__theValue ); - - -/*! @abstract Atomic bitwise XOR of two 32-bit values with barrier. - @discussion - This function performs the bitwise XOR of the value given by __theMask - with the value in the memory location referenced by __theValue, - storing the result back to that memory location atomically. - - This function is equivalent to {@link OSAtomicXor32} - except that it also introduces a barrier. - @result Returns the new value. - */ -OSATOMIC_BARRIER_DEPRECATED_REPLACE_WITH(atomic_fetch_xor) -__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0) -int32_t OSAtomicXor32Barrier( uint32_t __theMask, volatile uint32_t *__theValue ); - - -/*! @abstract Atomic bitwise XOR of two 32-bit values returning original. - @discussion - This function performs the bitwise XOR of the value given by __theMask - with the value in the memory location referenced by __theValue, - storing the result back to that memory location atomically. - @result Returns the original value referenced by __theValue. - */ -OSATOMIC_DEPRECATED_REPLACE_WITH(atomic_fetch_xor) -__OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_3_2) -int32_t OSAtomicXor32Orig( uint32_t __theMask, volatile uint32_t *__theValue ); - - -/*! @abstract Atomic bitwise XOR of two 32-bit values returning original with barrier. - @discussion - This function performs the bitwise XOR of the value given by __theMask - with the value in the memory location referenced by __theValue, - storing the result back to that memory location atomically. - - This function is equivalent to {@link OSAtomicXor32Orig} - except that it also introduces a barrier. - @result Returns the original value referenced by __theValue. - */ -OSATOMIC_BARRIER_DEPRECATED_REPLACE_WITH(atomic_fetch_xor) -__OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_3_2) -int32_t OSAtomicXor32OrigBarrier( uint32_t __theMask, volatile uint32_t *__theValue ); - - -/*! @group Compare and swap - * Functions in this group return true if the swap occured. There are several versions, - * depending on data type and on whether or not a barrier is used. - */ - - -/*! @abstract Compare and swap for 32-bit values. - @discussion - This function compares the value in __oldValue to the value - in the memory location referenced by __theValue. If the values - match, this function stores the value from __newValue into - that memory location atomically. - @result Returns TRUE on a match, FALSE otherwise. - */ -OSATOMIC_DEPRECATED_REPLACE_WITH(atomic_compare_exchange_strong) -__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0) -bool OSAtomicCompareAndSwap32( int32_t __oldValue, int32_t __newValue, volatile int32_t *__theValue ); - - -/*! @abstract Compare and swap for 32-bit values with barrier. - @discussion - This function compares the value in __oldValue to the value - in the memory location referenced by __theValue. If the values - match, this function stores the value from __newValue into - that memory location atomically. - - This function is equivalent to {@link OSAtomicCompareAndSwap32} - except that it also introduces a barrier. - @result Returns TRUE on a match, FALSE otherwise. - */ -OSATOMIC_BARRIER_DEPRECATED_REPLACE_WITH(atomic_compare_exchange_strong) -__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0) -bool OSAtomicCompareAndSwap32Barrier( int32_t __oldValue, int32_t __newValue, volatile int32_t *__theValue ); - - -/*! @abstract Compare and swap pointers. - @discussion - This function compares the pointer stored in __oldValue to the pointer - in the memory location referenced by __theValue. If the pointers - match, this function stores the pointer from __newValue into - that memory location atomically. - @result Returns TRUE on a match, FALSE otherwise. - */ -OSATOMIC_DEPRECATED_REPLACE_WITH(atomic_compare_exchange_strong) -__OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_2_0) -bool OSAtomicCompareAndSwapPtr( void *__oldValue, void *__newValue, void * volatile *__theValue ); - - -/*! @abstract Compare and swap pointers with barrier. - @discussion - This function compares the pointer stored in __oldValue to the pointer - in the memory location referenced by __theValue. If the pointers - match, this function stores the pointer from __newValue into - that memory location atomically. - - This function is equivalent to {@link OSAtomicCompareAndSwapPtr} - except that it also introduces a barrier. - @result Returns TRUE on a match, FALSE otherwise. - */ -OSATOMIC_BARRIER_DEPRECATED_REPLACE_WITH(atomic_compare_exchange_strong) -__OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_2_0) -bool OSAtomicCompareAndSwapPtrBarrier( void *__oldValue, void *__newValue, void * volatile *__theValue ); - - -/*! @abstract Compare and swap for int values. - @discussion - This function compares the value in __oldValue to the value - in the memory location referenced by __theValue. If the values - match, this function stores the value from __newValue into - that memory location atomically. - - This function is equivalent to {@link OSAtomicCompareAndSwap32}. - @result Returns TRUE on a match, FALSE otherwise. - */ -OSATOMIC_DEPRECATED_REPLACE_WITH(atomic_compare_exchange_strong) -__OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_2_0) -bool OSAtomicCompareAndSwapInt( int __oldValue, int __newValue, volatile int *__theValue ); - - -/*! @abstract Compare and swap for int values. - @discussion - This function compares the value in __oldValue to the value - in the memory location referenced by __theValue. If the values - match, this function stores the value from __newValue into - that memory location atomically. - - This function is equivalent to {@link OSAtomicCompareAndSwapInt} - except that it also introduces a barrier. - - This function is equivalent to {@link OSAtomicCompareAndSwap32Barrier}. - @result Returns TRUE on a match, FALSE otherwise. - */ -OSATOMIC_BARRIER_DEPRECATED_REPLACE_WITH(atomic_compare_exchange_strong) -__OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_2_0) -bool OSAtomicCompareAndSwapIntBarrier( int __oldValue, int __newValue, volatile int *__theValue ); - - -/*! @abstract Compare and swap for long values. - @discussion - This function compares the value in __oldValue to the value - in the memory location referenced by __theValue. If the values - match, this function stores the value from __newValue into - that memory location atomically. - - This function is equivalent to {@link OSAtomicCompareAndSwap32} on 32-bit architectures, - or {@link OSAtomicCompareAndSwap64} on 64-bit architectures. - @result Returns TRUE on a match, FALSE otherwise. - */ -OSATOMIC_DEPRECATED_REPLACE_WITH(atomic_compare_exchange_strong) -__OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_2_0) -bool OSAtomicCompareAndSwapLong( long __oldValue, long __newValue, volatile long *__theValue ); - - -/*! @abstract Compare and swap for long values. - @discussion - This function compares the value in __oldValue to the value - in the memory location referenced by __theValue. If the values - match, this function stores the value from __newValue into - that memory location atomically. - - This function is equivalent to {@link OSAtomicCompareAndSwapLong} - except that it also introduces a barrier. - - This function is equivalent to {@link OSAtomicCompareAndSwap32} on 32-bit architectures, - or {@link OSAtomicCompareAndSwap64} on 64-bit architectures. - @result Returns TRUE on a match, FALSE otherwise. - */ -OSATOMIC_BARRIER_DEPRECATED_REPLACE_WITH(atomic_compare_exchange_strong) -__OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_2_0) -bool OSAtomicCompareAndSwapLongBarrier( long __oldValue, long __newValue, volatile long *__theValue ); - - -/*! @abstract Compare and swap for uint64_t values. - @discussion - This function compares the value in __oldValue to the value - in the memory location referenced by __theValue. If the values - match, this function stores the value from __newValue into - that memory location atomically. - @result Returns TRUE on a match, FALSE otherwise. - */ -OSATOMIC_DEPRECATED_REPLACE_WITH(atomic_compare_exchange_strong) -__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0) -bool OSAtomicCompareAndSwap64( int64_t __oldValue, int64_t __newValue, - volatile OSAtomic_int64_aligned64_t *__theValue ); - - -/*! @abstract Compare and swap for uint64_t values. - @discussion - This function compares the value in __oldValue to the value - in the memory location referenced by __theValue. If the values - match, this function stores the value from __newValue into - that memory location atomically. - - This function is equivalent to {@link OSAtomicCompareAndSwap64} - except that it also introduces a barrier. - @result Returns TRUE on a match, FALSE otherwise. - */ -OSATOMIC_BARRIER_DEPRECATED_REPLACE_WITH(atomic_compare_exchange_strong) -__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_3_2) -bool OSAtomicCompareAndSwap64Barrier( int64_t __oldValue, int64_t __newValue, - volatile OSAtomic_int64_aligned64_t *__theValue ); - - -/* Test and set. - * They return the original value of the bit, and operate on bit (0x80>>(n&7)) - * in byte ((char*)theAddress + (n>>3)). - */ -/*! @abstract Atomic test and set - @discussion - This function tests a bit in the value referenced by - __theAddress and if it is not set, sets it. - - The bit is chosen by the value of __n such that the - operation will be performed on bit (0x80 >> (__n & 7)) - of byte ((char *)__theAddress + (n >> 3)). - - For example, if __theAddress points to a 64-bit value, - to compare the value of the most significant bit, you would specify - 56 for __n. - @result - Returns the original value of the bit being tested. - */ -OSATOMIC_DEPRECATED_REPLACE_WITH(atomic_fetch_or) -__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0) -bool OSAtomicTestAndSet( uint32_t __n, volatile void *__theAddress ); - - -/*! @abstract Atomic test and set with barrier - @discussion - This function tests a bit in the value referenced by __theAddress - and if it is not set, sets it. - - The bit is chosen by the value of __n such that the - operation will be performed on bit (0x80 >> (__n & 7)) - of byte ((char *)__theAddress + (n >> 3)). - - For example, if __theAddress points to a 64-bit value, - to compare the value of the most significant bit, you would specify - 56 for __n. - - This function is equivalent to {@link OSAtomicTestAndSet} - except that it also introduces a barrier. - @result - Returns the original value of the bit being tested. - */ -OSATOMIC_BARRIER_DEPRECATED_REPLACE_WITH(atomic_fetch_or) -__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0) -bool OSAtomicTestAndSetBarrier( uint32_t __n, volatile void *__theAddress ); - - - -/*! @abstract Atomic test and clear - @discussion - This function tests a bit in the value referenced by __theAddress - and if it is not cleared, clears it. - - The bit is chosen by the value of __n such that the - operation will be performed on bit (0x80 >> (__n & 7)) - of byte ((char *)__theAddress + (n >> 3)). - - For example, if __theAddress points to a 64-bit value, - to compare the value of the most significant bit, you would specify - 56 for __n. - - @result - Returns the original value of the bit being tested. - */ -OSATOMIC_DEPRECATED_REPLACE_WITH(atomic_fetch_and) -__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0) -bool OSAtomicTestAndClear( uint32_t __n, volatile void *__theAddress ); - - -/*! @abstract Atomic test and clear - @discussion - This function tests a bit in the value referenced by __theAddress - and if it is not cleared, clears it. - - The bit is chosen by the value of __n such that the - operation will be performed on bit (0x80 >> (__n & 7)) - of byte ((char *)__theAddress + (n >> 3)). - - For example, if __theAddress points to a 64-bit value, - to compare the value of the most significant bit, you would specify - 56 for __n. - - This function is equivalent to {@link OSAtomicTestAndSet} - except that it also introduces a barrier. - @result - Returns the original value of the bit being tested. - */ -OSATOMIC_BARRIER_DEPRECATED_REPLACE_WITH(atomic_fetch_and) -__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0) -bool OSAtomicTestAndClearBarrier( uint32_t __n, volatile void *__theAddress ); - - -/*! @group Memory barriers */ - -/*! @abstract Memory barrier. - @discussion - This function serves as both a read and write barrier. - */ -OSATOMIC_BARRIER_DEPRECATED_REPLACE_WITH(atomic_thread_fence) -__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0) -void OSMemoryBarrier( void ); - -__END_DECLS - -#else // defined(OSATOMIC_USE_INLINED) && OSATOMIC_USE_INLINED - -/* - * Inline implementations of the legacy OSAtomic interfaces in terms of - * C11 resp. C++11 primitives. - * Direct use of those primitives is preferred. - */ - -#include - -#include -#include -#include - -#ifdef __cplusplus -extern "C++" { -#if !(__has_include() && __has_extension(cxx_atomic)) -#error Cannot use inlined OSAtomic without and C++11 atomics -#endif -#include -typedef std::atomic _OSAtomic_uint8_t; -typedef std::atomic _OSAtomic_int32_t; -typedef std::atomic _OSAtomic_uint32_t; -typedef std::atomic _OSAtomic_int64_t; -typedef std::atomic _OSAtomic_void_ptr_t; -#define OSATOMIC_STD(_a) std::_a -__BEGIN_DECLS -#else -#if !(__has_include() && __has_extension(c_atomic)) -#error Cannot use inlined OSAtomic without and C11 atomics -#endif -#include -typedef _Atomic(uint8_t) _OSAtomic_uint8_t; -typedef _Atomic(int32_t) _OSAtomic_int32_t; -typedef _Atomic(uint32_t) _OSAtomic_uint32_t; -typedef _Atomic(int64_t) _OSAtomic_int64_t; -typedef _Atomic(void*) _OSAtomic_void_ptr_t; -#define OSATOMIC_STD(_a) _a -#endif - -#if __has_extension(c_alignof) && __has_attribute(aligned) -typedef int64_t __attribute__((__aligned__(_Alignof(_OSAtomic_int64_t)))) - OSAtomic_int64_aligned64_t; -#elif __has_attribute(aligned) -typedef int64_t __attribute__((__aligned__((sizeof(_OSAtomic_int64_t))))) - OSAtomic_int64_aligned64_t; -#else -typedef int64_t OSAtomic_int64_aligned64_t; -#endif - -#if __has_attribute(always_inline) -#define OSATOMIC_INLINE static __inline __attribute__((__always_inline__)) -#else -#define OSATOMIC_INLINE static __inline -#endif - -OSATOMIC_INLINE -int32_t -OSAtomicAdd32(int32_t __theAmount, volatile int32_t *__theValue) -{ - return (OSATOMIC_STD(atomic_fetch_add_explicit)( - (volatile _OSAtomic_int32_t*) __theValue, __theAmount, - OSATOMIC_STD(memory_order_relaxed)) + __theAmount); -} - -OSATOMIC_INLINE -int32_t -OSAtomicAdd32Barrier(int32_t __theAmount, volatile int32_t *__theValue) -{ - return (OSATOMIC_STD(atomic_fetch_add_explicit)( - (volatile _OSAtomic_int32_t*) __theValue, __theAmount, - OSATOMIC_STD(memory_order_seq_cst)) + __theAmount); -} - -OSATOMIC_INLINE -int32_t -OSAtomicIncrement32(volatile int32_t *__theValue) -{ - return OSAtomicAdd32(1, __theValue); -} - -OSATOMIC_INLINE -int32_t -OSAtomicIncrement32Barrier(volatile int32_t *__theValue) -{ - return OSAtomicAdd32Barrier(1, __theValue); -} - -OSATOMIC_INLINE -int32_t -OSAtomicDecrement32(volatile int32_t *__theValue) -{ - return OSAtomicAdd32(-1, __theValue); -} - -OSATOMIC_INLINE -int32_t -OSAtomicDecrement32Barrier(volatile int32_t *__theValue) -{ - return OSAtomicAdd32Barrier(-1, __theValue); -} - -OSATOMIC_INLINE -int64_t -OSAtomicAdd64(int64_t __theAmount, - volatile OSAtomic_int64_aligned64_t *__theValue) -{ - return (OSATOMIC_STD(atomic_fetch_add_explicit)( - (volatile _OSAtomic_int64_t*) __theValue, __theAmount, - OSATOMIC_STD(memory_order_relaxed)) + __theAmount); -} - -OSATOMIC_INLINE -int64_t -OSAtomicAdd64Barrier(int64_t __theAmount, - volatile OSAtomic_int64_aligned64_t *__theValue) -{ - return (OSATOMIC_STD(atomic_fetch_add_explicit)( - (volatile _OSAtomic_int64_t*) __theValue, __theAmount, - OSATOMIC_STD(memory_order_seq_cst)) + __theAmount); -} - -OSATOMIC_INLINE -int64_t -OSAtomicIncrement64(volatile OSAtomic_int64_aligned64_t *__theValue) -{ - return OSAtomicAdd64(1, __theValue); -} - -OSATOMIC_INLINE -int64_t -OSAtomicIncrement64Barrier(volatile OSAtomic_int64_aligned64_t *__theValue) -{ - return OSAtomicAdd64Barrier(1, __theValue); -} - -OSATOMIC_INLINE -int64_t -OSAtomicDecrement64(volatile OSAtomic_int64_aligned64_t *__theValue) -{ - return OSAtomicAdd64(-1, __theValue); -} - -OSATOMIC_INLINE -int64_t -OSAtomicDecrement64Barrier(volatile OSAtomic_int64_aligned64_t *__theValue) -{ - return OSAtomicAdd64Barrier(-1, __theValue); -} - -OSATOMIC_INLINE -int32_t -OSAtomicOr32(uint32_t __theMask, volatile uint32_t *__theValue) -{ - return (int32_t)(OSATOMIC_STD(atomic_fetch_or_explicit)( - (volatile _OSAtomic_uint32_t*)__theValue, __theMask, - OSATOMIC_STD(memory_order_relaxed)) | __theMask); -} - -OSATOMIC_INLINE -int32_t -OSAtomicOr32Barrier(uint32_t __theMask, volatile uint32_t *__theValue) -{ - return (int32_t)(OSATOMIC_STD(atomic_fetch_or_explicit)( - (volatile _OSAtomic_uint32_t*)__theValue, __theMask, - OSATOMIC_STD(memory_order_seq_cst)) | __theMask); -} - -OSATOMIC_INLINE -int32_t -OSAtomicOr32Orig(uint32_t __theMask, volatile uint32_t *__theValue) -{ - return (int32_t)(OSATOMIC_STD(atomic_fetch_or_explicit)( - (volatile _OSAtomic_uint32_t*)__theValue, __theMask, - OSATOMIC_STD(memory_order_relaxed))); -} - -OSATOMIC_INLINE -int32_t -OSAtomicOr32OrigBarrier(uint32_t __theMask, volatile uint32_t *__theValue) -{ - return (int32_t)(OSATOMIC_STD(atomic_fetch_or_explicit)( - (volatile _OSAtomic_uint32_t*)__theValue, __theMask, - OSATOMIC_STD(memory_order_seq_cst))); -} - -OSATOMIC_INLINE -int32_t -OSAtomicAnd32(uint32_t __theMask, volatile uint32_t *__theValue) -{ - return (int32_t)(OSATOMIC_STD(atomic_fetch_and_explicit)( - (volatile _OSAtomic_uint32_t*)__theValue, __theMask, - OSATOMIC_STD(memory_order_relaxed)) & __theMask); -} - -OSATOMIC_INLINE -int32_t -OSAtomicAnd32Barrier(uint32_t __theMask, volatile uint32_t *__theValue) -{ - return (int32_t)(OSATOMIC_STD(atomic_fetch_and_explicit)( - (volatile _OSAtomic_uint32_t*)__theValue, __theMask, - OSATOMIC_STD(memory_order_seq_cst)) & __theMask); -} - -OSATOMIC_INLINE -int32_t -OSAtomicAnd32Orig(uint32_t __theMask, volatile uint32_t *__theValue) -{ - return (int32_t)(OSATOMIC_STD(atomic_fetch_and_explicit)( - (volatile _OSAtomic_uint32_t*)__theValue, __theMask, - OSATOMIC_STD(memory_order_relaxed))); -} - -OSATOMIC_INLINE -int32_t -OSAtomicAnd32OrigBarrier(uint32_t __theMask, volatile uint32_t *__theValue) -{ - return (int32_t)(OSATOMIC_STD(atomic_fetch_and_explicit)( - (volatile _OSAtomic_uint32_t*)__theValue, __theMask, - OSATOMIC_STD(memory_order_seq_cst))); -} - -OSATOMIC_INLINE -int32_t -OSAtomicXor32(uint32_t __theMask, volatile uint32_t *__theValue) -{ - return (int32_t)(OSATOMIC_STD(atomic_fetch_xor_explicit)( - (volatile _OSAtomic_uint32_t*)__theValue, __theMask, - OSATOMIC_STD(memory_order_relaxed)) ^ __theMask); -} - -OSATOMIC_INLINE -int32_t -OSAtomicXor32Barrier(uint32_t __theMask, volatile uint32_t *__theValue) -{ - return (int32_t)(OSATOMIC_STD(atomic_fetch_xor_explicit)( - (volatile _OSAtomic_uint32_t*)__theValue, __theMask, - OSATOMIC_STD(memory_order_seq_cst)) ^ __theMask); -} - -OSATOMIC_INLINE -int32_t -OSAtomicXor32Orig(uint32_t __theMask, volatile uint32_t *__theValue) -{ - return (int32_t)(OSATOMIC_STD(atomic_fetch_xor_explicit)( - (volatile _OSAtomic_uint32_t*)__theValue, __theMask, - OSATOMIC_STD(memory_order_relaxed))); -} - -OSATOMIC_INLINE -int32_t -OSAtomicXor32OrigBarrier(uint32_t __theMask, volatile uint32_t *__theValue) -{ - return (int32_t)(OSATOMIC_STD(atomic_fetch_xor_explicit)( - (volatile _OSAtomic_uint32_t*)__theValue, __theMask, - OSATOMIC_STD(memory_order_seq_cst))); -} - -OSATOMIC_INLINE -bool -OSAtomicCompareAndSwap32(int32_t __oldValue, int32_t __newValue, - volatile int32_t *__theValue) -{ - return (OSATOMIC_STD(atomic_compare_exchange_strong_explicit)( - (volatile _OSAtomic_int32_t*)__theValue, &__oldValue, __newValue, - OSATOMIC_STD(memory_order_relaxed), - OSATOMIC_STD(memory_order_relaxed))); -} - -OSATOMIC_INLINE -bool -OSAtomicCompareAndSwap32Barrier(int32_t __oldValue, int32_t __newValue, - volatile int32_t *__theValue) -{ - return (OSATOMIC_STD(atomic_compare_exchange_strong_explicit)( - (volatile _OSAtomic_int32_t*)__theValue, &__oldValue, __newValue, - OSATOMIC_STD(memory_order_seq_cst), - OSATOMIC_STD(memory_order_relaxed))); -} - -OSATOMIC_INLINE -bool -OSAtomicCompareAndSwapPtr(void *__oldValue, void *__newValue, - void * volatile *__theValue) -{ - return (OSATOMIC_STD(atomic_compare_exchange_strong_explicit)( - (volatile _OSAtomic_void_ptr_t*)__theValue, &__oldValue, __newValue, - OSATOMIC_STD(memory_order_relaxed), - OSATOMIC_STD(memory_order_relaxed))); -} - -OSATOMIC_INLINE -bool -OSAtomicCompareAndSwapPtrBarrier(void *__oldValue, void *__newValue, - void * volatile *__theValue) -{ - return (OSATOMIC_STD(atomic_compare_exchange_strong_explicit)( - (volatile _OSAtomic_void_ptr_t*)__theValue, &__oldValue, __newValue, - OSATOMIC_STD(memory_order_seq_cst), - OSATOMIC_STD(memory_order_relaxed))); -} - -OSATOMIC_INLINE -bool -OSAtomicCompareAndSwapInt(int __oldValue, int __newValue, - volatile int *__theValue) -{ - return (OSATOMIC_STD(atomic_compare_exchange_strong_explicit)( - (volatile OSATOMIC_STD(atomic_int)*)__theValue, &__oldValue, - __newValue, OSATOMIC_STD(memory_order_relaxed), - OSATOMIC_STD(memory_order_relaxed))); -} - -OSATOMIC_INLINE -bool -OSAtomicCompareAndSwapIntBarrier(int __oldValue, int __newValue, - volatile int *__theValue) -{ - return (OSATOMIC_STD(atomic_compare_exchange_strong_explicit)( - (volatile OSATOMIC_STD(atomic_int)*)__theValue, &__oldValue, - __newValue, OSATOMIC_STD(memory_order_seq_cst), - OSATOMIC_STD(memory_order_relaxed))); -} - -OSATOMIC_INLINE -bool -OSAtomicCompareAndSwapLong(long __oldValue, long __newValue, - volatile long *__theValue) -{ - return (OSATOMIC_STD(atomic_compare_exchange_strong_explicit)( - (volatile OSATOMIC_STD(atomic_long)*)__theValue, &__oldValue, - __newValue, OSATOMIC_STD(memory_order_relaxed), - OSATOMIC_STD(memory_order_relaxed))); -} - -OSATOMIC_INLINE -bool -OSAtomicCompareAndSwapLongBarrier(long __oldValue, long __newValue, - volatile long *__theValue) -{ - return (OSATOMIC_STD(atomic_compare_exchange_strong_explicit)( - (volatile OSATOMIC_STD(atomic_long)*)__theValue, &__oldValue, - __newValue, OSATOMIC_STD(memory_order_seq_cst), - OSATOMIC_STD(memory_order_relaxed))); -} - -OSATOMIC_INLINE -bool -OSAtomicCompareAndSwap64(int64_t __oldValue, int64_t __newValue, - volatile OSAtomic_int64_aligned64_t *__theValue) -{ - return (OSATOMIC_STD(atomic_compare_exchange_strong_explicit)( - (volatile _OSAtomic_int64_t*)__theValue, &__oldValue, __newValue, - OSATOMIC_STD(memory_order_relaxed), - OSATOMIC_STD(memory_order_relaxed))); -} - -OSATOMIC_INLINE -bool -OSAtomicCompareAndSwap64Barrier(int64_t __oldValue, int64_t __newValue, - volatile OSAtomic_int64_aligned64_t *__theValue) -{ - return (OSATOMIC_STD(atomic_compare_exchange_strong_explicit)( - (volatile _OSAtomic_int64_t*)__theValue, &__oldValue, __newValue, - OSATOMIC_STD(memory_order_seq_cst), - OSATOMIC_STD(memory_order_relaxed))); -} - -OSATOMIC_INLINE -bool -OSAtomicTestAndSet(uint32_t __n, volatile void *__theAddress) -{ - uintptr_t a = (uintptr_t)__theAddress + (__n >> 3); - uint8_t v = (0x80u >> (__n & 7)); - return (OSATOMIC_STD(atomic_fetch_or_explicit)((_OSAtomic_uint8_t*)a, v, - OSATOMIC_STD(memory_order_relaxed)) & v); -} - -OSATOMIC_INLINE -bool -OSAtomicTestAndSetBarrier(uint32_t __n, volatile void *__theAddress) -{ - uintptr_t a = (uintptr_t)__theAddress + (__n >> 3); - uint8_t v = (0x80u >> (__n & 7)); - return (OSATOMIC_STD(atomic_fetch_or_explicit)((_OSAtomic_uint8_t*)a, v, - OSATOMIC_STD(memory_order_seq_cst)) & v); -} - -OSATOMIC_INLINE -bool -OSAtomicTestAndClear(uint32_t __n, volatile void *__theAddress) -{ - uintptr_t a = (uintptr_t)__theAddress + (__n >> 3); - uint8_t v = (0x80u >> (__n & 7)); - return (OSATOMIC_STD(atomic_fetch_and_explicit)((_OSAtomic_uint8_t*)a, - (uint8_t)~v, OSATOMIC_STD(memory_order_relaxed)) & v); -} - -OSATOMIC_INLINE -bool -OSAtomicTestAndClearBarrier(uint32_t __n, volatile void *__theAddress) -{ - uintptr_t a = (uintptr_t)__theAddress + (__n >> 3); - uint8_t v = (0x80u >> (__n & 7)); - return (OSATOMIC_STD(atomic_fetch_and_explicit)((_OSAtomic_uint8_t*)a, - (uint8_t)~v, OSATOMIC_STD(memory_order_seq_cst)) & v); -} - -OSATOMIC_INLINE -void -OSMemoryBarrier(void) -{ - OSATOMIC_STD(atomic_thread_fence)(OSATOMIC_STD(memory_order_seq_cst)); -} - -#undef OSATOMIC_INLINE -#undef OSATOMIC_STD -#ifdef __cplusplus -__END_DECLS -} // extern "C++" -#endif - -#endif // defined(OSATOMIC_USE_INLINED) && OSATOMIC_USE_INLINED - -#if TARGET_OS_OSX || TARGET_OS_DRIVERKIT - -__BEGIN_DECLS - -/*! @group Lockless atomic fifo enqueue and dequeue - * These routines manipulate singly-linked FIFO lists. - * - * This API is deprecated and no longer recommended - */ - -/*! @abstract The data structure for a fifo queue head. - @discussion - You should always initialize a fifo queue head structure with the - initialization vector {@link OS_ATOMIC_FIFO_QUEUE_INIT} before use. - */ -#if defined(__LP64__) - -typedef volatile struct { - void *opaque1; - void *opaque2; - int opaque3; -} __attribute__ ((aligned (16))) OSFifoQueueHead; - -#else - -typedef volatile struct { - void *opaque1; - void *opaque2; - int opaque3; -} OSFifoQueueHead; - -#endif -/*! @abstract The initialization vector for a fifo queue head. */ -#define OS_ATOMIC_FIFO_QUEUE_INIT { NULL, NULL, 0 } - -/*! @abstract Enqueue an element onto a list. - @discussion - Memory barriers are incorporated as needed to permit thread-safe access - to the queue element. - @param __list - The list on which you want to enqueue the element. - @param __new - The element to add. - @param __offset - The "offset" parameter is the offset (in bytes) of the link field - from the beginning of the data structure being queued (__new). - The link field should be a pointer type. - The __offset value needs to be same for all enqueuing and - dequeuing operations on the same list, even if different structure types - are enqueued on that list. The use of offsetset(), defined in - stddef.h is the common way to specify the __offset - value. - - @note - This API is deprecated and no longer recommended - */ -__API_DEPRECATED("No longer supported", macos(10.7, 11.0)) -void OSAtomicFifoEnqueue( OSFifoQueueHead *__list, void *__new, size_t __offset); - -/*! @abstract Dequeue an element from a list. - @discussion - Memory barriers are incorporated as needed to permit thread-safe access - to the queue element. - @param __list - The list from which you want to dequeue an element. - @param __offset - The "offset" parameter is the offset (in bytes) of the link field - from the beginning of the data structure being dequeued (__new). - The link field should be a pointer type. - The __offset value needs to be same for all enqueuing and - dequeuing operations on the same list, even if different structure types - are enqueued on that list. The use of offsetset(), defined in - stddef.h is the common way to specify the __offset - value. - @result - Returns the oldest enqueued element, or NULL if the - list is empty. - - @note - This API is deprecated and no longer recommended - */ -__API_DEPRECATED("No longer supported", macos(10.7, 11.0)) -void* OSAtomicFifoDequeue( OSFifoQueueHead *__list, size_t __offset); - -__END_DECLS - -#endif /* TARGET_OS_OSX || TARGET_OS_DRIVERKIT */ - -#endif /* _OSATOMIC_DEPRECATED_H_ */ \ No newline at end of file diff --git a/lib/libc/include/x86_64-macos.13-none/libkern/OSAtomicQueue.h b/lib/libc/include/x86_64-macos.13-none/libkern/OSAtomicQueue.h deleted file mode 100644 index 66033fc834..0000000000 --- a/lib/libc/include/x86_64-macos.13-none/libkern/OSAtomicQueue.h +++ /dev/null @@ -1,115 +0,0 @@ -/* - * Copyright (c) 2004-2016 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 _OSATOMICQUEUE_H_ -#define _OSATOMICQUEUE_H_ - -#include -#include -#include -#include -#include "OSAtomicDeprecated.h" - -#include - -/*! @header Lockless atomic enqueue and dequeue - * These routines manipulate singly-linked LIFO lists. - */ - -__BEGIN_DECLS - -/*! @abstract The data structure for a queue head. - @discussion - You should always initialize a queue head structure with the - initialization vector {@link OS_ATOMIC_QUEUE_INIT} before use. - */ -#if defined(__LP64__) - -typedef volatile struct { - void *opaque1; - long opaque2; -} __attribute__ ((aligned (16))) OSQueueHead; - -#else - -typedef volatile struct { - void *opaque1; - long opaque2; -} OSQueueHead; - -#endif - -/*! @abstract The initialization vector for a queue head. */ -#define OS_ATOMIC_QUEUE_INIT { NULL, 0 } - -/*! @abstract Enqueue an element onto a list. - @discussion - Memory barriers are incorporated as needed to permit thread-safe access - to the queue element. - @param __list - The list on which you want to enqueue the element. - @param __new - The element to add. - @param __offset - The "offset" parameter is the offset (in bytes) of the link field - from the beginning of the data structure being queued (__new). - The link field should be a pointer type. - The __offset value needs to be same for all enqueuing and - dequeuing operations on the same list, even if different structure types - are enqueued on that list. The use of offsetset(), defined in - stddef.h is the common way to specify the __offset - value. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_4_0) -void OSAtomicEnqueue( OSQueueHead *__list, void *__new, size_t __offset); - - -/*! @abstract Dequeue an element from a list. - @discussion - Memory barriers are incorporated as needed to permit thread-safe access - to the queue element. - @param __list - The list from which you want to dequeue an element. - @param __offset - The "offset" parameter is the offset (in bytes) of the link field - from the beginning of the data structure being dequeued (__new). - The link field should be a pointer type. - The __offset value needs to be same for all enqueuing and - dequeuing operations on the same list, even if different structure types - are enqueued on that list. The use of offsetset(), defined in - stddef.h is the common way to specify the __offset - value. - IMPORTANT: the memory backing the link field of a queue element must not be - unmapped after OSAtomicDequeue() returns until all concurrent calls to - OSAtomicDequeue() for the same list on other threads have also returned, - as they may still be accessing that memory location. - @result - Returns the most recently enqueued element, or NULL if the - list is empty. - */ -__OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_4_0) -void* OSAtomicDequeue( OSQueueHead *__list, size_t __offset); - -__END_DECLS - -#endif /* _OSATOMICQUEUE_H_ */ \ No newline at end of file diff --git a/lib/libc/include/x86_64-macos.13-none/libkern/OSSpinLockDeprecated.h b/lib/libc/include/x86_64-macos.13-none/libkern/OSSpinLockDeprecated.h deleted file mode 100644 index a654a7bbc2..0000000000 --- a/lib/libc/include/x86_64-macos.13-none/libkern/OSSpinLockDeprecated.h +++ /dev/null @@ -1,212 +0,0 @@ -/* - * Copyright (c) 2004-2016 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 _OSSPINLOCK_DEPRECATED_H_ -#define _OSSPINLOCK_DEPRECATED_H_ - -/*! @header - * These are deprecated legacy interfaces for userspace spinlocks. - * - * These interfaces should no longer be used, particularily in situations where - * threads of differing priorities may contend on the same spinlock. - * - * The interfaces in should be used instead in cases where a very - * low-level lock primitive is required. In general however, using higher level - * synchronization primitives such as those provided by the pthread or dispatch - * subsystems should be preferred. - * - * Define OSSPINLOCK_USE_INLINED=1 to get inline implementations of these - * interfaces in terms of the primitives. This is intended as a - * transition convenience, direct use of those primitives is preferred. - */ - -#ifndef OSSPINLOCK_DEPRECATED -#define OSSPINLOCK_DEPRECATED 1 -#define OSSPINLOCK_DEPRECATED_MSG(_r) "Use " #_r "() from instead" -#define OSSPINLOCK_DEPRECATED_REPLACE_WITH(_r) \ - __OS_AVAILABILITY_MSG(macosx, deprecated=10.12, OSSPINLOCK_DEPRECATED_MSG(_r)) \ - __OS_AVAILABILITY_MSG(ios, deprecated=10.0, OSSPINLOCK_DEPRECATED_MSG(_r)) \ - __OS_AVAILABILITY_MSG(tvos, deprecated=10.0, OSSPINLOCK_DEPRECATED_MSG(_r)) \ - __OS_AVAILABILITY_MSG(watchos, deprecated=3.0, OSSPINLOCK_DEPRECATED_MSG(_r)) -#else -#undef OSSPINLOCK_DEPRECATED -#define OSSPINLOCK_DEPRECATED 0 -#define OSSPINLOCK_DEPRECATED_REPLACE_WITH(_r) -#endif - -#if !(defined(OSSPINLOCK_USE_INLINED) && OSSPINLOCK_USE_INLINED) - -#include -#include -#include -#include -#include - -__BEGIN_DECLS - -/*! @abstract The default value for an OSSpinLock. - @discussion - The convention is that unlocked is zero, locked is nonzero. - */ -#define OS_SPINLOCK_INIT 0 - - -/*! @abstract Data type for a spinlock. - @discussion - You should always initialize a spinlock to {@link OS_SPINLOCK_INIT} before - using it. - */ -typedef int32_t OSSpinLock OSSPINLOCK_DEPRECATED_REPLACE_WITH(os_unfair_lock); - - -/*! @abstract Locks a spinlock if it would not block - @result - Returns false if the lock was already held by another thread, - true if it took the lock successfully. - */ -OSSPINLOCK_DEPRECATED_REPLACE_WITH(os_unfair_lock_trylock) -__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0) -bool OSSpinLockTry( volatile OSSpinLock *__lock ); - - -/*! @abstract Locks a spinlock - @discussion - Although the lock operation spins, it employs various strategies to back - off if the lock is held. - */ -OSSPINLOCK_DEPRECATED_REPLACE_WITH(os_unfair_lock_lock) -__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0) -void OSSpinLockLock( volatile OSSpinLock *__lock ); - - -/*! @abstract Unlocks a spinlock */ -OSSPINLOCK_DEPRECATED_REPLACE_WITH(os_unfair_lock_unlock) -__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0) -void OSSpinLockUnlock( volatile OSSpinLock *__lock ); - -__END_DECLS - -#else /* OSSPINLOCK_USE_INLINED */ - -/* - * Inline implementations of the legacy OSSpinLock interfaces in terms of the - * of the primitives. Direct use of those primitives is preferred. - * - * NOTE: the locked value of os_unfair_lock is implementation defined and - * subject to change, code that relies on the specific locked value used by the - * legacy OSSpinLock interface WILL break when using these inline - * implementations in terms of os_unfair_lock. - */ - -#if !OSSPINLOCK_USE_INLINED_TRANSPARENT - -#include - -__BEGIN_DECLS - -#if __has_attribute(always_inline) -#define OSSPINLOCK_INLINE static __inline -#else -#define OSSPINLOCK_INLINE static __inline __attribute__((__always_inline__)) -#endif - -#define OS_SPINLOCK_INIT 0 -typedef int32_t OSSpinLock; - -#if __has_extension(c_static_assert) -_Static_assert(sizeof(OSSpinLock) == sizeof(os_unfair_lock), - "Incompatible os_unfair_lock type"); -#endif - -OSSPINLOCK_INLINE -void -OSSpinLockLock(volatile OSSpinLock *__lock) -{ - os_unfair_lock_t lock = (os_unfair_lock_t)__lock; - return os_unfair_lock_lock(lock); -} - -OSSPINLOCK_INLINE -bool -OSSpinLockTry(volatile OSSpinLock *__lock) -{ - os_unfair_lock_t lock = (os_unfair_lock_t)__lock; - return os_unfair_lock_trylock(lock); -} - -OSSPINLOCK_INLINE -void -OSSpinLockUnlock(volatile OSSpinLock *__lock) -{ - os_unfair_lock_t lock = (os_unfair_lock_t)__lock; - return os_unfair_lock_unlock(lock); -} - -#undef OSSPINLOCK_INLINE - -__END_DECLS - -#else /* OSSPINLOCK_USE_INLINED_TRANSPARENT */ - -#include -#include -#include -#include -#include - -#define OS_NOSPIN_LOCK_AVAILABILITY \ - __OSX_AVAILABLE(10.12) __IOS_AVAILABLE(10.0) \ - __TVOS_AVAILABLE(10.0) __WATCHOS_AVAILABLE(3.0) - -__BEGIN_DECLS - -#define OS_SPINLOCK_INIT 0 -typedef int32_t OSSpinLock OSSPINLOCK_DEPRECATED_REPLACE_WITH(os_unfair_lock); -typedef volatile OSSpinLock *_os_nospin_lock_t - OSSPINLOCK_DEPRECATED_REPLACE_WITH(os_unfair_lock_t); - -OSSPINLOCK_DEPRECATED_REPLACE_WITH(os_unfair_lock_lock) -OS_NOSPIN_LOCK_AVAILABILITY -void _os_nospin_lock_lock(_os_nospin_lock_t lock); -#undef OSSpinLockLock -#define OSSpinLockLock(lock) _os_nospin_lock_lock(lock) - -OSSPINLOCK_DEPRECATED_REPLACE_WITH(os_unfair_lock_trylock) -OS_NOSPIN_LOCK_AVAILABILITY -bool _os_nospin_lock_trylock(_os_nospin_lock_t lock); -#undef OSSpinLockTry -#define OSSpinLockTry(lock) _os_nospin_lock_trylock(lock) - -OSSPINLOCK_DEPRECATED_REPLACE_WITH(os_unfair_lock_unlock) -OS_NOSPIN_LOCK_AVAILABILITY -void _os_nospin_lock_unlock(_os_nospin_lock_t lock); -#undef OSSpinLockUnlock -#define OSSpinLockUnlock(lock) _os_nospin_lock_unlock(lock) - -__END_DECLS - -#endif /* OSSPINLOCK_USE_INLINED_TRANSPARENT */ - -#endif /* OSSPINLOCK_USE_INLINED */ - -#endif /* _OSSPINLOCK_DEPRECATED_H_ */ \ No newline at end of file diff --git a/lib/libc/include/x86_64-macos.13-none/libkern/i386/OSByteOrder.h b/lib/libc/include/x86_64-macos.13-none/libkern/i386/OSByteOrder.h deleted file mode 100644 index d6783b74e0..0000000000 --- a/lib/libc/include/x86_64-macos.13-none/libkern/i386/OSByteOrder.h +++ /dev/null @@ -1,112 +0,0 @@ -/* - * Copyright (c) 1999-2006 Apple Computer, 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 _OS_OSBYTEORDERI386_H -#define _OS_OSBYTEORDERI386_H - -#include -#include -#include - -/* Functions for byte reversed loads. */ - -OS_INLINE -uint16_t -OSReadSwapInt16( - const volatile void * base, - uintptr_t byteOffset - ) -{ - uint16_t result; - - result = *(volatile uint16_t *)((uintptr_t)base + byteOffset); - return _OSSwapInt16(result); -} - -OS_INLINE -uint32_t -OSReadSwapInt32( - const volatile void * base, - uintptr_t byteOffset - ) -{ - uint32_t result; - - result = *(volatile uint32_t *)((uintptr_t)base + byteOffset); - return _OSSwapInt32(result); -} - -OS_INLINE -uint64_t -OSReadSwapInt64( - const volatile void * base, - uintptr_t byteOffset - ) -{ - uint64_t result; - - result = *(volatile uint64_t *)((uintptr_t)base + byteOffset); - return _OSSwapInt64(result); -} - -/* Functions for byte reversed stores. */ - -OS_INLINE -void -OSWriteSwapInt16( - volatile void * base, - uintptr_t byteOffset, - uint16_t data - ) -{ - *(volatile uint16_t *)((uintptr_t)base + byteOffset) = _OSSwapInt16(data); -} - -OS_INLINE -void -OSWriteSwapInt32( - volatile void * base, - uintptr_t byteOffset, - uint32_t data - ) -{ - *(volatile uint32_t *)((uintptr_t)base + byteOffset) = _OSSwapInt32(data); -} - -OS_INLINE -void -OSWriteSwapInt64( - volatile void * base, - uintptr_t byteOffset, - uint64_t data - ) -{ - *(volatile uint64_t *)((uintptr_t)base + byteOffset) = _OSSwapInt64(data); -} - -#endif /* ! _OS_OSBYTEORDERI386_H */ \ No newline at end of file diff --git a/lib/libc/include/x86_64-macos.13-none/libkern/i386/_OSByteOrder.h b/lib/libc/include/x86_64-macos.13-none/libkern/i386/_OSByteOrder.h deleted file mode 100644 index 4b160f734f..0000000000 --- a/lib/libc/include/x86_64-macos.13-none/libkern/i386/_OSByteOrder.h +++ /dev/null @@ -1,104 +0,0 @@ -/* - * Copyright (c) 2006-2012 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 _OS__OSBYTEORDERI386_H -#define _OS__OSBYTEORDERI386_H - -#if !defined(__DARWIN_OS_INLINE) -# if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L -# define __DARWIN_OS_INLINE static inline -# elif defined(__MWERKS__) || defined(__cplusplus) -# define __DARWIN_OS_INLINE static inline -# else -# define __DARWIN_OS_INLINE static __inline__ -# endif -#endif - -/* Generic byte swapping functions. */ - -__DARWIN_OS_INLINE -__uint16_t -_OSSwapInt16( - __uint16_t _data - ) -{ - return (__uint16_t)((_data << 8) | (_data >> 8)); -} - -__DARWIN_OS_INLINE -__uint32_t -_OSSwapInt32( - __uint32_t _data - ) -{ -#if defined(__llvm__) - return __builtin_bswap32(_data); -#else - __asm__ ("bswap %0" : "+r" (_data)); - return _data; -#endif -} - -#if defined(__llvm__) -__DARWIN_OS_INLINE -__uint64_t -_OSSwapInt64( - __uint64_t _data - ) -{ - return __builtin_bswap64(_data); -} - -#elif defined(__i386__) -__DARWIN_OS_INLINE -__uint64_t -_OSSwapInt64( - __uint64_t _data - ) -{ - __asm__ ("bswap %%eax\n\t" - "bswap %%edx\n\t" - "xchgl %%eax, %%edx" - : "+A" (_data)); - return _data; -} -#elif defined(__x86_64__) -__DARWIN_OS_INLINE -__uint64_t -_OSSwapInt64( - __uint64_t _data - ) -{ - __asm__ ("bswap %0" : "+r" (_data)); - return _data; -} -#else -#error Unknown architecture -#endif - -#endif /* ! _OS__OSBYTEORDERI386_H */ \ No newline at end of file diff --git a/lib/libc/include/x86_64-macos.13-none/mach/i386/exception.h b/lib/libc/include/x86_64-macos.13-none/mach/i386/exception.h deleted file mode 100644 index 1a8b2c0d1d..0000000000 --- a/lib/libc/include/x86_64-macos.13-none/mach/i386/exception.h +++ /dev/null @@ -1,139 +0,0 @@ -/* - * Copyright (c) 2000 Apple Computer, 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@ - */ -/* - * @OSF_COPYRIGHT@ - */ -/* - * Mach Operating System - * Copyright (c) 1991,1990,1989,1988 Carnegie Mellon University - * All Rights Reserved. - * - * Permission to use, copy, modify and distribute this software and its - * documentation is hereby granted, provided that both the copyright - * notice and this permission notice appear in all copies of the - * software, derivative works or modified versions, and any portions - * thereof, and that both notices appear in supporting documentation. - * - * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" - * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR - * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. - * - * Carnegie Mellon requests users of this software to return to - * - * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU - * School of Computer Science - * Carnegie Mellon University - * Pittsburgh PA 15213-3890 - * - * any improvements or extensions that they make and grant Carnegie Mellon - * the rights to redistribute these changes. - */ -/* - */ - -#ifndef _MACH_I386_EXCEPTION_H_ -#define _MACH_I386_EXCEPTION_H_ - -#if defined (__i386__) || defined (__x86_64__) - -/* - * No machine dependent types for the 80386 - */ - -#define EXC_TYPES_COUNT 14 /* incl. illegal exception 0 */ - -/* - * Codes and subcodes for 80386 exceptions. - */ - -#define EXCEPTION_CODE_MAX 2 /* currently code and subcode */ - -/* - * EXC_BAD_INSTRUCTION - */ - -#define EXC_I386_INVOP 1 - -/* - * EXC_ARITHMETIC - */ - -#define EXC_I386_DIV 1 -#define EXC_I386_INTO 2 -#define EXC_I386_NOEXT 3 -#define EXC_I386_EXTOVR 4 -#define EXC_I386_EXTERR 5 -#define EXC_I386_EMERR 6 -#define EXC_I386_BOUND 7 -#define EXC_I386_SSEEXTERR 8 - -/* - * EXC_SOFTWARE - * Note: 0x10000-0x10003 in use for unix signal - */ - -/* - * EXC_BAD_ACCESS - */ - -/* - * EXC_BREAKPOINT - */ - -#define EXC_I386_SGL 1 -#define EXC_I386_BPT 2 - -#define EXC_I386_DIVERR 0 /* divide by 0 eprror */ -#define EXC_I386_SGLSTP 1 /* single step */ -#define EXC_I386_NMIFLT 2 /* NMI */ -#define EXC_I386_BPTFLT 3 /* breakpoint fault */ -#define EXC_I386_INTOFLT 4 /* INTO overflow fault */ -#define EXC_I386_BOUNDFLT 5 /* BOUND instruction fault */ -#define EXC_I386_INVOPFLT 6 /* invalid opcode fault */ -#define EXC_I386_NOEXTFLT 7 /* extension not available fault*/ -#define EXC_I386_DBLFLT 8 /* double fault */ -#define EXC_I386_EXTOVRFLT 9 /* extension overrun fault */ -#define EXC_I386_INVTSSFLT 10 /* invalid TSS fault */ -#define EXC_I386_SEGNPFLT 11 /* segment not present fault */ -#define EXC_I386_STKFLT 12 /* stack fault */ -#define EXC_I386_GPFLT 13 /* general protection fault */ -#define EXC_I386_PGFLT 14 /* page fault */ -#define EXC_I386_EXTERRFLT 16 /* extension error fault */ -#define EXC_I386_ALIGNFLT 17 /* Alignment fault */ -#define EXC_I386_ENDPERR 33 /* emulated extension error flt */ -#define EXC_I386_ENOEXTFLT 32 /* emulated ext not present */ - - -/* - * machine dependent exception masks - */ -#define EXC_MASK_MACHINE 0 - -#endif /* defined (__i386__) || defined (__x86_64__) */ - -#endif /* _MACH_I386_EXCEPTION_H_ */ \ No newline at end of file diff --git a/lib/libc/include/x86_64-macos.13-none/mach/i386/kern_return.h b/lib/libc/include/x86_64-macos.13-none/mach/i386/kern_return.h deleted file mode 100644 index 3a12665ead..0000000000 --- a/lib/libc/include/x86_64-macos.13-none/mach/i386/kern_return.h +++ /dev/null @@ -1,78 +0,0 @@ -/* - * Copyright (c) 2000 Apple Computer, 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@ - */ -/* - * @OSF_COPYRIGHT@ - */ -/* - * Mach Operating System - * Copyright (c) 1991,1990,1989 Carnegie Mellon University - * All Rights Reserved. - * - * Permission to use, copy, modify and distribute this software and its - * documentation is hereby granted, provided that both the copyright - * notice and this permission notice appear in all copies of the - * software, derivative works or modified versions, and any portions - * thereof, and that both notices appear in supporting documentation. - * - * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" - * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR - * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. - * - * Carnegie Mellon requests users of this software to return to - * - * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU - * School of Computer Science - * Carnegie Mellon University - * Pittsburgh PA 15213-3890 - * - * any improvements or extensions that they make and grant Carnegie Mellon - * the rights to redistribute these changes. - */ -/* - */ - -/* - * File: kern_return.h - * Author: Avadis Tevanian, Jr., Michael Wayne Young - * Date: 1985 - * - * Machine-dependent kernel return definitions. - */ - -#ifndef _MACH_I386_KERN_RETURN_H_ -#define _MACH_I386_KERN_RETURN_H_ - -#if defined (__i386__) || defined (__x86_64__) - -#ifndef ASSEMBLER -typedef int kern_return_t; -#endif /* ASSEMBLER */ - -#endif /* defined (__i386__) || defined (__x86_64__) */ - -#endif /* _MACH_I386_KERN_RETURN_H_ */ \ No newline at end of file diff --git a/lib/libc/include/x86_64-macos.13-none/mach/i386/processor_info.h b/lib/libc/include/x86_64-macos.13-none/mach/i386/processor_info.h deleted file mode 100644 index 5a9aeac9cb..0000000000 --- a/lib/libc/include/x86_64-macos.13-none/mach/i386/processor_info.h +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Copyright (c) 2000 Apple Computer, 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@ - */ -/* - * File: mach/i386/processor_info.h - * - * Data structure definitions for i386 specific processor control - */ - -#ifndef _MACH_I386_PROCESSOR_INFO_H_ -#define _MACH_I386_PROCESSOR_INFO_H_ - -#if defined (__i386__) || defined (__x86_64__) - -#endif /* defined (__i386__) || defined (__x86_64__) */ - -#endif /* _MACH_I386_PROCESSOR_INFO_H_ */ \ No newline at end of file diff --git a/lib/libc/include/x86_64-macos.13-none/mach/i386/thread_state.h b/lib/libc/include/x86_64-macos.13-none/mach/i386/thread_state.h deleted file mode 100644 index 421917aeb3..0000000000 --- a/lib/libc/include/x86_64-macos.13-none/mach/i386/thread_state.h +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Copyright (c) 2000-2006 Apple Computer, 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@ - */ -/* - * @OSF_COPYRIGHT@ - */ - -#ifndef _MACH_I386_THREAD_STATE_H_ -#define _MACH_I386_THREAD_STATE_H_ - -#if defined (__i386__) || defined (__x86_64__) - -/* Size of maximum exported thread state in 32-bit words */ -#define I386_THREAD_STATE_MAX (614) /* Size of biggest state possible */ - -#endif /* defined (__i386__) || defined (__x86_64__) */ - -#endif /* _MACH_I386_THREAD_STATE_H_ */ \ No newline at end of file diff --git a/lib/libc/include/x86_64-macos.13-none/mach/i386/vm_types.h b/lib/libc/include/x86_64-macos.13-none/mach/i386/vm_types.h deleted file mode 100644 index f3e956d3e2..0000000000 --- a/lib/libc/include/x86_64-macos.13-none/mach/i386/vm_types.h +++ /dev/null @@ -1,146 +0,0 @@ -/* - * Copyright (c) 2000-2016 Apple Computer, 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@ - */ -/* - * @OSF_COPYRIGHT@ - */ -/* - * Mach Operating System - * Copyright (c) 1991,1990,1989,1988 Carnegie Mellon University - * All Rights Reserved. - * - * Permission to use, copy, modify and distribute this software and its - * documentation is hereby granted, provided that both the copyright - * notice and this permission notice appear in all copies of the - * software, derivative works or modified versions, and any portions - * thereof, and that both notices appear in supporting documentation. - * - * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" - * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR - * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. - * - * Carnegie Mellon requests users of this software to return to - * - * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU - * School of Computer Science - * Carnegie Mellon University - * Pittsburgh PA 15213-3890 - * - * any improvements or extensions that they make and grant Carnegie Mellon - * the rights to redistribute these changes. - */ -/* - */ - -/* - * File: vm_types.h - * Author: Avadis Tevanian, Jr. - * Date: 1985 - * - * Header file for VM data types. I386 version. - */ - -#ifndef _MACH_I386_VM_TYPES_H_ -#define _MACH_I386_VM_TYPES_H_ - -#if defined (__i386__) || defined (__x86_64__) - -#ifndef ASSEMBLER - -#include -#include -#include - -/* - * natural_t and integer_t are Mach's legacy types for machine- - * independent integer types (unsigned, and signed, respectively). - * Their original purpose was to define other types in a machine/ - * compiler independent way. - * - * They also had an implicit "same size as pointer" characteristic - * to them (i.e. Mach's traditional types are very ILP32 or ILP64 - * centric). We support x86 ABIs that do not follow either of - * these models (specifically LP64). Therefore, we had to make a - * choice between making these types scale with pointers or stay - * tied to integers. Because their use is predominantly tied to - * to the size of an integer, we are keeping that association and - * breaking free from pointer size guarantees. - * - * New use of these types is discouraged. - */ -typedef __darwin_natural_t natural_t; -typedef int integer_t; - -/* - * A vm_offset_t is a type-neutral pointer, - * e.g. an offset into a virtual memory space. - */ -#ifdef __LP64__ -typedef uintptr_t vm_offset_t __kernel_ptr_semantics; -#else /* __LP64__ */ -typedef natural_t vm_offset_t __kernel_ptr_semantics; -#endif /* __LP64__ */ - -/* - * A vm_size_t is the proper type for e.g. - * expressing the difference between two - * vm_offset_t entities. - */ -#ifdef __LP64__ -typedef uintptr_t vm_size_t; -#else /* __LP64__ */ -typedef natural_t vm_size_t; -#endif /* __LP64__ */ - -/* - * This new type is independent of a particular vm map's - * implementation size - and represents appropriate types - * for all possible maps. This is used for interfaces - * where the size of the map is not known - or we don't - * want to have to distinguish. - */ -typedef uint64_t mach_vm_address_t __kernel_ptr_semantics; -typedef uint64_t mach_vm_offset_t __kernel_ptr_semantics; -typedef uint64_t mach_vm_size_t; - -typedef uint64_t vm_map_offset_t __kernel_ptr_semantics; -typedef uint64_t vm_map_address_t __kernel_ptr_semantics; -typedef uint64_t vm_map_size_t; - -typedef mach_vm_address_t mach_port_context_t; - - -#endif /* ASSEMBLER */ - -/* - * If composing messages by hand (please do not) - */ -#define MACH_MSG_TYPE_INTEGER_T MACH_MSG_TYPE_INTEGER_32 - -#endif /* defined (__i386__) || defined (__x86_64__) */ - -#endif /* _MACH_I386_VM_TYPES_H_ */ \ No newline at end of file