From c4037fddd210bcba59174f05137996dc15ede30f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jaroslav=20Novotn=C3=BD?=
<62177414+yardexx@users.noreply.github.com>
Date: Fri, 18 Jul 2025 13:35:12 +0200
Subject: [PATCH 1/2] chore: docs
---
CHANGELOG.md | 9 +++++++++
pubspec.yaml | 2 +-
2 files changed, 10 insertions(+), 1 deletion(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index ac660af..591341c 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -5,6 +5,15 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
+## [7.2.1] - 2025-07-18
+- iOS SDK version: 6.12.1
+- Android SDK version: 16.0.1
+
+### iOS
+
+#### Fixed
+- Fixed an issue with native framework
+
## [7.2.0] - 2025-07-16
- iOS SDK version: 6.12.1
diff --git a/pubspec.yaml b/pubspec.yaml
index 9692e00..9de8314 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -1,6 +1,6 @@
name: freerasp
description: Flutter library for improving app security and threat monitoring on Android and iOS mobile devices. Learn more about provided features on the freeRASP's homepage first.
-version: 7.2.0
+version: 7.2.1
homepage: https://www.talsec.app/freerasp-in-app-protection-security-talsec
repository: https://github.com/talsec/Free-RASP-Flutter
From 19770160771731fb5043b4c0db3225293cbcf240 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jaroslav=20Novotn=C3=BD?=
<62177414+yardexx@users.noreply.github.com>
Date: Fri, 18 Jul 2025 13:35:54 +0200
Subject: [PATCH 2/2] fix: runtime framework
---
ios/TalsecRuntime.xcframework/Info.plist | 44 +
.../_CodeSignature/CodeDirectory | Bin 0 -> 157 bytes
.../_CodeSignature/CodeRequirements | Bin 0 -> 180 bytes
.../_CodeSignature/CodeRequirements-1 | Bin 0 -> 205 bytes
.../_CodeSignature/CodeResources | 923 +++++
.../_CodeSignature/CodeSignature | Bin 0 -> 9177 bytes
.../Headers/CryptoBridgingHeader.h | 14 +
.../Headers/CurlWrapper.h | 25 +
.../Headers/TalsecRuntime-Swift.h | 314 ++
.../Headers/TalsecRuntime_iOS.h | 23 +
.../TalsecRuntime.framework/Headers/curl.h | 3247 +++++++++++++++
.../TalsecRuntime.framework/Headers/curlver.h | 79 +
.../TalsecRuntime.framework/Headers/easy.h | 125 +
.../TalsecRuntime.framework/Headers/header.h | 74 +
.../TalsecRuntime.framework/Headers/mprintf.h | 78 +
.../TalsecRuntime.framework/Headers/multi.h | 485 +++
.../TalsecRuntime.framework/Headers/options.h | 70 +
.../Headers/stdcheaders.h | 35 +
.../TalsecRuntime.framework/Headers/system.h | 496 +++
.../TalsecRuntime.framework/Headers/urlapi.h | 154 +
.../Headers/websockets.h | 84 +
.../TalsecRuntime.framework/Info.plist | Bin 0 -> 765 bytes
.../arm64-apple-ios.abi.json | 3480 ++++++++++++++++
.../arm64-apple-ios.private.swiftinterface | 62 +
.../arm64-apple-ios.swiftdoc | Bin 0 -> 2604 bytes
.../arm64-apple-ios.swiftinterface | 62 +
.../Modules/module.modulemap | 17 +
.../PrivacyInfo.xcprivacy | 69 +
.../TalsecRuntime.framework/TalsecRuntime | Bin 0 -> 5749872 bytes
.../TalsecRuntime.framework/cacert.pem | 3599 +++++++++++++++++
.../TalsecRuntime.framework/module.modulemap | 12 +
.../Headers/CryptoBridgingHeader.h | 14 +
.../Headers/CurlWrapper.h | 25 +
.../Headers/TalsecRuntime-Swift.h | 624 +++
.../Headers/TalsecRuntime_iOS.h | 23 +
.../TalsecRuntime.framework/Headers/curl.h | 3247 +++++++++++++++
.../TalsecRuntime.framework/Headers/curlver.h | 79 +
.../TalsecRuntime.framework/Headers/easy.h | 125 +
.../TalsecRuntime.framework/Headers/header.h | 74 +
.../TalsecRuntime.framework/Headers/mprintf.h | 78 +
.../TalsecRuntime.framework/Headers/multi.h | 485 +++
.../TalsecRuntime.framework/Headers/options.h | 70 +
.../Headers/stdcheaders.h | 35 +
.../TalsecRuntime.framework/Headers/system.h | 496 +++
.../TalsecRuntime.framework/Headers/urlapi.h | 154 +
.../Headers/websockets.h | 84 +
.../TalsecRuntime.framework/Info.plist | Bin 0 -> 745 bytes
.../arm64-apple-ios-simulator.abi.json | 3480 ++++++++++++++++
...apple-ios-simulator.private.swiftinterface | 62 +
.../arm64-apple-ios-simulator.swiftdoc | Bin 0 -> 2616 bytes
.../arm64-apple-ios-simulator.swiftinterface | 62 +
.../x86_64-apple-ios-simulator.abi.json | 3480 ++++++++++++++++
...apple-ios-simulator.private.swiftinterface | 62 +
.../x86_64-apple-ios-simulator.swiftdoc | Bin 0 -> 2616 bytes
.../x86_64-apple-ios-simulator.swiftinterface | 62 +
.../Modules/module.modulemap | 17 +
.../PrivacyInfo.xcprivacy | 69 +
.../TalsecRuntime.framework/TalsecRuntime | Bin 0 -> 7719600 bytes
.../_CodeSignature/CodeResources | 421 ++
.../TalsecRuntime.framework/cacert.pem | 3599 +++++++++++++++++
.../TalsecRuntime.framework/module.modulemap | 12 +
61 files changed, 30510 insertions(+)
create mode 100644 ios/TalsecRuntime.xcframework/Info.plist
create mode 100644 ios/TalsecRuntime.xcframework/_CodeSignature/CodeDirectory
create mode 100644 ios/TalsecRuntime.xcframework/_CodeSignature/CodeRequirements
create mode 100644 ios/TalsecRuntime.xcframework/_CodeSignature/CodeRequirements-1
create mode 100644 ios/TalsecRuntime.xcframework/_CodeSignature/CodeResources
create mode 100644 ios/TalsecRuntime.xcframework/_CodeSignature/CodeSignature
create mode 100644 ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/CryptoBridgingHeader.h
create mode 100644 ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/CurlWrapper.h
create mode 100644 ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/TalsecRuntime-Swift.h
create mode 100644 ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/TalsecRuntime_iOS.h
create mode 100644 ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/curl.h
create mode 100644 ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/curlver.h
create mode 100644 ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/easy.h
create mode 100644 ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/header.h
create mode 100644 ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/mprintf.h
create mode 100644 ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/multi.h
create mode 100644 ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/options.h
create mode 100644 ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/stdcheaders.h
create mode 100644 ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/system.h
create mode 100644 ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/urlapi.h
create mode 100644 ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/websockets.h
create mode 100644 ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Info.plist
create mode 100644 ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios.abi.json
create mode 100644 ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios.private.swiftinterface
create mode 100644 ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios.swiftdoc
create mode 100644 ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios.swiftinterface
create mode 100644 ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Modules/module.modulemap
create mode 100644 ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/PrivacyInfo.xcprivacy
create mode 100755 ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/TalsecRuntime
create mode 100644 ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/cacert.pem
create mode 100644 ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/module.modulemap
create mode 100644 ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/CryptoBridgingHeader.h
create mode 100644 ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/CurlWrapper.h
create mode 100644 ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/TalsecRuntime-Swift.h
create mode 100644 ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/TalsecRuntime_iOS.h
create mode 100644 ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/curl.h
create mode 100644 ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/curlver.h
create mode 100644 ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/easy.h
create mode 100644 ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/header.h
create mode 100644 ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/mprintf.h
create mode 100644 ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/multi.h
create mode 100644 ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/options.h
create mode 100644 ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/stdcheaders.h
create mode 100644 ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/system.h
create mode 100644 ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/urlapi.h
create mode 100644 ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/websockets.h
create mode 100644 ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Info.plist
create mode 100644 ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios-simulator.abi.json
create mode 100644 ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface
create mode 100644 ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios-simulator.swiftdoc
create mode 100644 ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios-simulator.swiftinterface
create mode 100644 ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/x86_64-apple-ios-simulator.abi.json
create mode 100644 ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface
create mode 100644 ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/x86_64-apple-ios-simulator.swiftdoc
create mode 100644 ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/x86_64-apple-ios-simulator.swiftinterface
create mode 100644 ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/module.modulemap
create mode 100644 ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/PrivacyInfo.xcprivacy
create mode 100755 ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/TalsecRuntime
create mode 100644 ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/_CodeSignature/CodeResources
create mode 100644 ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/cacert.pem
create mode 100644 ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/module.modulemap
diff --git a/ios/TalsecRuntime.xcframework/Info.plist b/ios/TalsecRuntime.xcframework/Info.plist
new file mode 100644
index 0000000..dd161ac
--- /dev/null
+++ b/ios/TalsecRuntime.xcframework/Info.plist
@@ -0,0 +1,44 @@
+
+
+
+
+ AvailableLibraries
+
+
+ BinaryPath
+ TalsecRuntime.framework/TalsecRuntime
+ LibraryIdentifier
+ ios-arm64
+ LibraryPath
+ TalsecRuntime.framework
+ SupportedArchitectures
+
+ arm64
+
+ SupportedPlatform
+ ios
+
+
+ BinaryPath
+ TalsecRuntime.framework/TalsecRuntime
+ LibraryIdentifier
+ ios-arm64_x86_64-simulator
+ LibraryPath
+ TalsecRuntime.framework
+ SupportedArchitectures
+
+ arm64
+ x86_64
+
+ SupportedPlatform
+ ios
+ SupportedPlatformVariant
+ simulator
+
+
+ CFBundlePackageType
+ XFWK
+ XCFrameworkFormatVersion
+ 1.0
+
+
diff --git a/ios/TalsecRuntime.xcframework/_CodeSignature/CodeDirectory b/ios/TalsecRuntime.xcframework/_CodeSignature/CodeDirectory
new file mode 100644
index 0000000000000000000000000000000000000000..108190fa1aab45427b8196d45b82191b33a1a8d3
GIT binary patch
literal 157
zcmex$kB5nYfnhEK6NmzXP9SLl#LPg<$iTpIL+aqRy(^c!`0Jy%+u`JnrXAT#Q#OC>zHPE|j^>(eGa5d}{@caAW>($T
Z=y#6725E8`rb;R1)1GXyF`bJ|3;@`(GXDSo
literal 0
HcmV?d00001
diff --git a/ios/TalsecRuntime.xcframework/_CodeSignature/CodeRequirements b/ios/TalsecRuntime.xcframework/_CodeSignature/CodeRequirements
new file mode 100644
index 0000000000000000000000000000000000000000..996426f311a2a2aac524aaadb69c4a3b34c59702
GIT binary patch
literal 180
zcmex$kB5gp>PH}2-P-$LCW^O7_00=;G
z{7{-3Bme|l#idDEsmUdJ&VFD%$P5F=f`Xh>1((d?lA_F{(vr;lJSzpC%Df7NV7Cy3
rV!a~0d_4t?04EohU=vfHz+g?F9zGxj>E+UD^Jx2?oWjNg;sF5w2}vPS
literal 0
HcmV?d00001
diff --git a/ios/TalsecRuntime.xcframework/_CodeSignature/CodeRequirements-1 b/ios/TalsecRuntime.xcframework/_CodeSignature/CodeRequirements-1
new file mode 100644
index 0000000000000000000000000000000000000000..8aa4d12ced33e60cbc76781e05d824ff7cb52a3e
GIT binary patch
literal 205
zcmex$kB5nYf#ECz6NmzXwLsDYh?#+yk%58bhyq*+EbkPOm{XjZ98{WDl9`*z5a8tE
z5^Q4X6Bx{(pka5ve~yo?Oz_Rm#rsS04ZJqCNvlYk+1JJ%EZC_i?7U!;`jV*&4DJ3*
z%TRFLsM6>*y~F*NZ+Y9l_ve&02s)=SMsn{f+3`y1zT$
literal 0
HcmV?d00001
diff --git a/ios/TalsecRuntime.xcframework/_CodeSignature/CodeResources b/ios/TalsecRuntime.xcframework/_CodeSignature/CodeResources
new file mode 100644
index 0000000..f82a488
--- /dev/null
+++ b/ios/TalsecRuntime.xcframework/_CodeSignature/CodeResources
@@ -0,0 +1,923 @@
+
+
+
+
+ files
+
+ ios-arm64/TalsecRuntime.framework/Headers/CryptoBridgingHeader.h
+
+ mOqIZoN2AJlkJSNzs7YiosCwiDw=
+
+ ios-arm64/TalsecRuntime.framework/Headers/CurlWrapper.h
+
+ yu+bD8piivS0Uexyxj88Lo/EtFw=
+
+ ios-arm64/TalsecRuntime.framework/Headers/TalsecRuntime-Swift.h
+
+ cKsZbc+MuWK+W/NlWrhsLmFc8aI=
+
+ ios-arm64/TalsecRuntime.framework/Headers/TalsecRuntime_iOS.h
+
+ eCAoZuhmSePuuusXWgD3JOPl+FQ=
+
+ ios-arm64/TalsecRuntime.framework/Headers/curl.h
+
+ pncQZX056YiXGRD5pmxOejhxORk=
+
+ ios-arm64/TalsecRuntime.framework/Headers/curlver.h
+
+ 3Ahl0q9UO2KT0UGTpEvqAWnY2Ww=
+
+ ios-arm64/TalsecRuntime.framework/Headers/easy.h
+
+ zPR4hRipW/f93KTsGonTVturyFo=
+
+ ios-arm64/TalsecRuntime.framework/Headers/header.h
+
+ BoDCEv6MIZLNtBUy1D+9dKI4Th4=
+
+ ios-arm64/TalsecRuntime.framework/Headers/mprintf.h
+
+ iYXepEvej7y1r7pDKK/RxvWtnj8=
+
+ ios-arm64/TalsecRuntime.framework/Headers/multi.h
+
+ dGPBAkD3C75DBIOY+mXGU0uxklI=
+
+ ios-arm64/TalsecRuntime.framework/Headers/options.h
+
+ IfCb6p5m63CVW7oVc5SzyjFcfis=
+
+ ios-arm64/TalsecRuntime.framework/Headers/stdcheaders.h
+
+ GR5tP8ehTD7+ZtG/cMD3s+IRAcI=
+
+ ios-arm64/TalsecRuntime.framework/Headers/system.h
+
+ 1FThM5RIl0+4azOG8Ona0nfwB7o=
+
+ ios-arm64/TalsecRuntime.framework/Headers/urlapi.h
+
+ HXUrox8pAlGkez2yIhOJsVXnC5M=
+
+ ios-arm64/TalsecRuntime.framework/Headers/websockets.h
+
+ 0pEcK9exbhSZCsflrFx0vniiswA=
+
+ ios-arm64/TalsecRuntime.framework/Info.plist
+
+ wZwCeFEzUwL3JsKi9lYIUtI6RnU=
+
+ ios-arm64/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios.abi.json
+
+ /1I+5RKThqvfW5Mk7GmnL7Y8f7Y=
+
+ ios-arm64/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios.private.swiftinterface
+
+ 2085Pz9hGGQL/2J3QbzP5aRcGtU=
+
+ ios-arm64/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios.swiftdoc
+
+ 3kpnfcwxaVFZ80wSEYzIgScJp+0=
+
+ ios-arm64/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios.swiftinterface
+
+ 2085Pz9hGGQL/2J3QbzP5aRcGtU=
+
+ ios-arm64/TalsecRuntime.framework/Modules/module.modulemap
+
+ 5Cqpp15x1ZBnDyj7LgQmZiSGNYI=
+
+ ios-arm64/TalsecRuntime.framework/PrivacyInfo.xcprivacy
+
+ wLuornyoj3Lx3RDlF2QKMsAJxRc=
+
+ ios-arm64/TalsecRuntime.framework/TalsecRuntime
+
+ CSdd8dvt8OStGgxogoYva04jbIw=
+
+ ios-arm64/TalsecRuntime.framework/cacert.pem
+
+ ibKJMhC3VnHzP2+y913vX/PPbkg=
+
+ ios-arm64/TalsecRuntime.framework/module.modulemap
+
+ mnI/NClQ83sI5K2xkweR9cS1BrM=
+
+ ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/CryptoBridgingHeader.h
+
+ mOqIZoN2AJlkJSNzs7YiosCwiDw=
+
+ ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/CurlWrapper.h
+
+ yu+bD8piivS0Uexyxj88Lo/EtFw=
+
+ ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/TalsecRuntime-Swift.h
+
+ wAY8zBg8d1sI3xVrp1oHtuFcA1A=
+
+ ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/TalsecRuntime_iOS.h
+
+ eCAoZuhmSePuuusXWgD3JOPl+FQ=
+
+ ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/curl.h
+
+ pncQZX056YiXGRD5pmxOejhxORk=
+
+ ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/curlver.h
+
+ 3Ahl0q9UO2KT0UGTpEvqAWnY2Ww=
+
+ ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/easy.h
+
+ zPR4hRipW/f93KTsGonTVturyFo=
+
+ ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/header.h
+
+ BoDCEv6MIZLNtBUy1D+9dKI4Th4=
+
+ ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/mprintf.h
+
+ iYXepEvej7y1r7pDKK/RxvWtnj8=
+
+ ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/multi.h
+
+ dGPBAkD3C75DBIOY+mXGU0uxklI=
+
+ ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/options.h
+
+ IfCb6p5m63CVW7oVc5SzyjFcfis=
+
+ ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/stdcheaders.h
+
+ GR5tP8ehTD7+ZtG/cMD3s+IRAcI=
+
+ ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/system.h
+
+ 1FThM5RIl0+4azOG8Ona0nfwB7o=
+
+ ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/urlapi.h
+
+ HXUrox8pAlGkez2yIhOJsVXnC5M=
+
+ ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/websockets.h
+
+ 0pEcK9exbhSZCsflrFx0vniiswA=
+
+ ios-arm64_x86_64-simulator/TalsecRuntime.framework/Info.plist
+
+ gAtKMS55zdmfYa+L2xBDWDyBv0M=
+
+ ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios-simulator.abi.json
+
+ /1I+5RKThqvfW5Mk7GmnL7Y8f7Y=
+
+ ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface
+
+ inrjeBTeZEjJWQYsJDL75IrriIs=
+
+ ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios-simulator.swiftdoc
+
+ 9Drj/49JG3auim52765KLk7AM8U=
+
+ ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios-simulator.swiftinterface
+
+ inrjeBTeZEjJWQYsJDL75IrriIs=
+
+ ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/x86_64-apple-ios-simulator.abi.json
+
+ /1I+5RKThqvfW5Mk7GmnL7Y8f7Y=
+
+ ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface
+
+ Zv0S28YPhyiAZz7Ci0wtfuzg9wk=
+
+ ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/x86_64-apple-ios-simulator.swiftdoc
+
+ M+MANrtyHIo/fxnXEgjk9An9gFw=
+
+ ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/x86_64-apple-ios-simulator.swiftinterface
+
+ Zv0S28YPhyiAZz7Ci0wtfuzg9wk=
+
+ ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/module.modulemap
+
+ 5Cqpp15x1ZBnDyj7LgQmZiSGNYI=
+
+ ios-arm64_x86_64-simulator/TalsecRuntime.framework/PrivacyInfo.xcprivacy
+
+ wLuornyoj3Lx3RDlF2QKMsAJxRc=
+
+ ios-arm64_x86_64-simulator/TalsecRuntime.framework/TalsecRuntime
+
+ 3qJvhrfZ60dIz6QJJZ+ETUe/jOY=
+
+ ios-arm64_x86_64-simulator/TalsecRuntime.framework/_CodeSignature/CodeResources
+
+ qDVEeATE/Pis2wxO1lJxz4S1kSo=
+
+ ios-arm64_x86_64-simulator/TalsecRuntime.framework/cacert.pem
+
+ ibKJMhC3VnHzP2+y913vX/PPbkg=
+
+ ios-arm64_x86_64-simulator/TalsecRuntime.framework/module.modulemap
+
+ mnI/NClQ83sI5K2xkweR9cS1BrM=
+
+
+ files2
+
+ ios-arm64/TalsecRuntime.framework/Headers/CryptoBridgingHeader.h
+
+ hash
+
+ mOqIZoN2AJlkJSNzs7YiosCwiDw=
+
+ hash2
+
+ /hsTJUUY2T3yYO1Km6xqfyKSKz5VKzQU2qsa5AjZ3hw=
+
+
+ ios-arm64/TalsecRuntime.framework/Headers/CurlWrapper.h
+
+ hash
+
+ yu+bD8piivS0Uexyxj88Lo/EtFw=
+
+ hash2
+
+ ayBog/egvC6JKEOTp6xvSc1XGfv8sLepQOqjtNqO324=
+
+
+ ios-arm64/TalsecRuntime.framework/Headers/TalsecRuntime-Swift.h
+
+ hash
+
+ cKsZbc+MuWK+W/NlWrhsLmFc8aI=
+
+ hash2
+
+ OtfCnQNX5EZ+GPFQezcs7/EBYNcXNU6cg0RMV+PN2g0=
+
+
+ ios-arm64/TalsecRuntime.framework/Headers/TalsecRuntime_iOS.h
+
+ hash
+
+ eCAoZuhmSePuuusXWgD3JOPl+FQ=
+
+ hash2
+
+ 0W3ca1c8VRXMx64ypkv+teolW5Z3G4s3jviX5FYMNXU=
+
+
+ ios-arm64/TalsecRuntime.framework/Headers/curl.h
+
+ hash
+
+ pncQZX056YiXGRD5pmxOejhxORk=
+
+ hash2
+
+ A4gTuBAAU/z1USRijSZTcVT7bvDaV5imwYAfVM6mcQo=
+
+
+ ios-arm64/TalsecRuntime.framework/Headers/curlver.h
+
+ hash
+
+ 3Ahl0q9UO2KT0UGTpEvqAWnY2Ww=
+
+ hash2
+
+ AZDHV18h/CggCUN5oQYnwjdXgnePgr6a+uffZniUUm0=
+
+
+ ios-arm64/TalsecRuntime.framework/Headers/easy.h
+
+ hash
+
+ zPR4hRipW/f93KTsGonTVturyFo=
+
+ hash2
+
+ CJDgY9K+qLqBXXR9T2ZZlOJj4QQ/DhSoVzPJRFy4Om0=
+
+
+ ios-arm64/TalsecRuntime.framework/Headers/header.h
+
+ hash
+
+ BoDCEv6MIZLNtBUy1D+9dKI4Th4=
+
+ hash2
+
+ YUvkiob05dMExapA7xyFJF4luXcykhw2MYQBRmadmS8=
+
+
+ ios-arm64/TalsecRuntime.framework/Headers/mprintf.h
+
+ hash
+
+ iYXepEvej7y1r7pDKK/RxvWtnj8=
+
+ hash2
+
+ D7qnEhav3WykSvZ+PR+uGAh/Y15SkRNvzmKU/4EyLmM=
+
+
+ ios-arm64/TalsecRuntime.framework/Headers/multi.h
+
+ hash
+
+ dGPBAkD3C75DBIOY+mXGU0uxklI=
+
+ hash2
+
+ Wr9p4d6X+Cfr4kUkNW8u9y3rKorv2kkgY7m7gMihwcs=
+
+
+ ios-arm64/TalsecRuntime.framework/Headers/options.h
+
+ hash
+
+ IfCb6p5m63CVW7oVc5SzyjFcfis=
+
+ hash2
+
+ xt+R3iBpI5D6KedpH1aETByFgs+snr1vLxVVoHmTULY=
+
+
+ ios-arm64/TalsecRuntime.framework/Headers/stdcheaders.h
+
+ hash
+
+ GR5tP8ehTD7+ZtG/cMD3s+IRAcI=
+
+ hash2
+
+ 11iLhoFKNf/Ddm/2JC5vZwXgRAH8nCCKGVyv81A6+Bw=
+
+
+ ios-arm64/TalsecRuntime.framework/Headers/system.h
+
+ hash
+
+ 1FThM5RIl0+4azOG8Ona0nfwB7o=
+
+ hash2
+
+ iTPu5JUBAmeGJ0QJaRCRQhHkDUOTWoGGSjeAphKZ5E8=
+
+
+ ios-arm64/TalsecRuntime.framework/Headers/urlapi.h
+
+ hash
+
+ HXUrox8pAlGkez2yIhOJsVXnC5M=
+
+ hash2
+
+ gfRaQ8x57GcyDvW5n6f52/NZ6/IAACt0mAUFCUPkgEY=
+
+
+ ios-arm64/TalsecRuntime.framework/Headers/websockets.h
+
+ hash
+
+ 0pEcK9exbhSZCsflrFx0vniiswA=
+
+ hash2
+
+ tYux1+2j/SNy/rTYVsJWiX2DAG3+eTPWm+VLxKK6Wj8=
+
+
+ ios-arm64/TalsecRuntime.framework/Info.plist
+
+ hash
+
+ wZwCeFEzUwL3JsKi9lYIUtI6RnU=
+
+ hash2
+
+ haAwk0PfQXfR0n+Ifj39mbQCXWGb3zAbzdVTzINBMU4=
+
+
+ ios-arm64/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios.abi.json
+
+ hash
+
+ /1I+5RKThqvfW5Mk7GmnL7Y8f7Y=
+
+ hash2
+
+ iU9azOV0ocIO6K1GpO49zHnLAWFLpQ4RVs/KnYdQZ0E=
+
+
+ ios-arm64/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios.private.swiftinterface
+
+ hash
+
+ 2085Pz9hGGQL/2J3QbzP5aRcGtU=
+
+ hash2
+
+ /Qa0tKWlmbYsRJoLQHGrHYRynlR1H9L6KVHk6CCJsIw=
+
+
+ ios-arm64/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios.swiftdoc
+
+ hash
+
+ 3kpnfcwxaVFZ80wSEYzIgScJp+0=
+
+ hash2
+
+ jwQiUp43TVKBDPMLfCVpFoVgwWjUR+tRNg+J96R7Zzc=
+
+
+ ios-arm64/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios.swiftinterface
+
+ hash
+
+ 2085Pz9hGGQL/2J3QbzP5aRcGtU=
+
+ hash2
+
+ /Qa0tKWlmbYsRJoLQHGrHYRynlR1H9L6KVHk6CCJsIw=
+
+
+ ios-arm64/TalsecRuntime.framework/Modules/module.modulemap
+
+ hash
+
+ 5Cqpp15x1ZBnDyj7LgQmZiSGNYI=
+
+ hash2
+
+ gTx9ZhrwHS0hTBeJb6E3ARK3htBrD87Dc2RxPvTKaGE=
+
+
+ ios-arm64/TalsecRuntime.framework/PrivacyInfo.xcprivacy
+
+ hash
+
+ wLuornyoj3Lx3RDlF2QKMsAJxRc=
+
+ hash2
+
+ Svr+pZXI7cccZzTW1vTq+pkCOZe6kEQLslDFaL22qzI=
+
+
+ ios-arm64/TalsecRuntime.framework/TalsecRuntime
+
+ hash
+
+ CSdd8dvt8OStGgxogoYva04jbIw=
+
+ hash2
+
+ cC59EHQhahj676EmD+doCDKLtqaynNQcG70KXj35LYA=
+
+
+ ios-arm64/TalsecRuntime.framework/cacert.pem
+
+ hash
+
+ ibKJMhC3VnHzP2+y913vX/PPbkg=
+
+ hash2
+
+ evXTNBu6jWBekqcSa2FmOhEeJpBAdgyfplv7M3/XVws=
+
+
+ ios-arm64/TalsecRuntime.framework/module.modulemap
+
+ hash
+
+ mnI/NClQ83sI5K2xkweR9cS1BrM=
+
+ hash2
+
+ PyY8LBmk2KM3Pm+7gcuZwfV9homQCYsBeTEPUypp+U0=
+
+
+ ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/CryptoBridgingHeader.h
+
+ hash
+
+ mOqIZoN2AJlkJSNzs7YiosCwiDw=
+
+ hash2
+
+ /hsTJUUY2T3yYO1Km6xqfyKSKz5VKzQU2qsa5AjZ3hw=
+
+
+ ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/CurlWrapper.h
+
+ hash
+
+ yu+bD8piivS0Uexyxj88Lo/EtFw=
+
+ hash2
+
+ ayBog/egvC6JKEOTp6xvSc1XGfv8sLepQOqjtNqO324=
+
+
+ ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/TalsecRuntime-Swift.h
+
+ hash
+
+ wAY8zBg8d1sI3xVrp1oHtuFcA1A=
+
+ hash2
+
+ xi81x5ESCLsP43OXQdVplBMjgbi0cU16HmU3tQD91YI=
+
+
+ ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/TalsecRuntime_iOS.h
+
+ hash
+
+ eCAoZuhmSePuuusXWgD3JOPl+FQ=
+
+ hash2
+
+ 0W3ca1c8VRXMx64ypkv+teolW5Z3G4s3jviX5FYMNXU=
+
+
+ ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/curl.h
+
+ hash
+
+ pncQZX056YiXGRD5pmxOejhxORk=
+
+ hash2
+
+ A4gTuBAAU/z1USRijSZTcVT7bvDaV5imwYAfVM6mcQo=
+
+
+ ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/curlver.h
+
+ hash
+
+ 3Ahl0q9UO2KT0UGTpEvqAWnY2Ww=
+
+ hash2
+
+ AZDHV18h/CggCUN5oQYnwjdXgnePgr6a+uffZniUUm0=
+
+
+ ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/easy.h
+
+ hash
+
+ zPR4hRipW/f93KTsGonTVturyFo=
+
+ hash2
+
+ CJDgY9K+qLqBXXR9T2ZZlOJj4QQ/DhSoVzPJRFy4Om0=
+
+
+ ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/header.h
+
+ hash
+
+ BoDCEv6MIZLNtBUy1D+9dKI4Th4=
+
+ hash2
+
+ YUvkiob05dMExapA7xyFJF4luXcykhw2MYQBRmadmS8=
+
+
+ ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/mprintf.h
+
+ hash
+
+ iYXepEvej7y1r7pDKK/RxvWtnj8=
+
+ hash2
+
+ D7qnEhav3WykSvZ+PR+uGAh/Y15SkRNvzmKU/4EyLmM=
+
+
+ ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/multi.h
+
+ hash
+
+ dGPBAkD3C75DBIOY+mXGU0uxklI=
+
+ hash2
+
+ Wr9p4d6X+Cfr4kUkNW8u9y3rKorv2kkgY7m7gMihwcs=
+
+
+ ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/options.h
+
+ hash
+
+ IfCb6p5m63CVW7oVc5SzyjFcfis=
+
+ hash2
+
+ xt+R3iBpI5D6KedpH1aETByFgs+snr1vLxVVoHmTULY=
+
+
+ ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/stdcheaders.h
+
+ hash
+
+ GR5tP8ehTD7+ZtG/cMD3s+IRAcI=
+
+ hash2
+
+ 11iLhoFKNf/Ddm/2JC5vZwXgRAH8nCCKGVyv81A6+Bw=
+
+
+ ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/system.h
+
+ hash
+
+ 1FThM5RIl0+4azOG8Ona0nfwB7o=
+
+ hash2
+
+ iTPu5JUBAmeGJ0QJaRCRQhHkDUOTWoGGSjeAphKZ5E8=
+
+
+ ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/urlapi.h
+
+ hash
+
+ HXUrox8pAlGkez2yIhOJsVXnC5M=
+
+ hash2
+
+ gfRaQ8x57GcyDvW5n6f52/NZ6/IAACt0mAUFCUPkgEY=
+
+
+ ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/websockets.h
+
+ hash
+
+ 0pEcK9exbhSZCsflrFx0vniiswA=
+
+ hash2
+
+ tYux1+2j/SNy/rTYVsJWiX2DAG3+eTPWm+VLxKK6Wj8=
+
+
+ ios-arm64_x86_64-simulator/TalsecRuntime.framework/Info.plist
+
+ hash
+
+ gAtKMS55zdmfYa+L2xBDWDyBv0M=
+
+ hash2
+
+ 1boSkROZ/Ai5xofJYFDby2Y+EHM06+PA67kEh0pcXHg=
+
+
+ ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios-simulator.abi.json
+
+ hash
+
+ /1I+5RKThqvfW5Mk7GmnL7Y8f7Y=
+
+ hash2
+
+ iU9azOV0ocIO6K1GpO49zHnLAWFLpQ4RVs/KnYdQZ0E=
+
+
+ ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface
+
+ hash
+
+ inrjeBTeZEjJWQYsJDL75IrriIs=
+
+ hash2
+
+ OpRbeMxw/45WUMSIcAyE3iCm/BhLRYkxKpIOEGyyA4o=
+
+
+ ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios-simulator.swiftdoc
+
+ hash
+
+ 9Drj/49JG3auim52765KLk7AM8U=
+
+ hash2
+
+ qM0RdXuQyOFElPiZORtDNMARdcSGEsIibwr4Q+50pQ0=
+
+
+ ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios-simulator.swiftinterface
+
+ hash
+
+ inrjeBTeZEjJWQYsJDL75IrriIs=
+
+ hash2
+
+ OpRbeMxw/45WUMSIcAyE3iCm/BhLRYkxKpIOEGyyA4o=
+
+
+ ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/x86_64-apple-ios-simulator.abi.json
+
+ hash
+
+ /1I+5RKThqvfW5Mk7GmnL7Y8f7Y=
+
+ hash2
+
+ iU9azOV0ocIO6K1GpO49zHnLAWFLpQ4RVs/KnYdQZ0E=
+
+
+ ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface
+
+ hash
+
+ Zv0S28YPhyiAZz7Ci0wtfuzg9wk=
+
+ hash2
+
+ axR9mcaW6AdrBU7Kdf3nJ/+v7T9hFIFfQrMIFaJz+PY=
+
+
+ ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/x86_64-apple-ios-simulator.swiftdoc
+
+ hash
+
+ M+MANrtyHIo/fxnXEgjk9An9gFw=
+
+ hash2
+
+ GBclXlbCqmWCaYV1BLNpViNjHWIflos8kllWvuGWrfk=
+
+
+ ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/x86_64-apple-ios-simulator.swiftinterface
+
+ hash
+
+ Zv0S28YPhyiAZz7Ci0wtfuzg9wk=
+
+ hash2
+
+ axR9mcaW6AdrBU7Kdf3nJ/+v7T9hFIFfQrMIFaJz+PY=
+
+
+ ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/module.modulemap
+
+ hash
+
+ 5Cqpp15x1ZBnDyj7LgQmZiSGNYI=
+
+ hash2
+
+ gTx9ZhrwHS0hTBeJb6E3ARK3htBrD87Dc2RxPvTKaGE=
+
+
+ ios-arm64_x86_64-simulator/TalsecRuntime.framework/PrivacyInfo.xcprivacy
+
+ hash
+
+ wLuornyoj3Lx3RDlF2QKMsAJxRc=
+
+ hash2
+
+ Svr+pZXI7cccZzTW1vTq+pkCOZe6kEQLslDFaL22qzI=
+
+
+ ios-arm64_x86_64-simulator/TalsecRuntime.framework/TalsecRuntime
+
+ hash
+
+ 3qJvhrfZ60dIz6QJJZ+ETUe/jOY=
+
+ hash2
+
+ ANlhFEXrbaqY9kTTd8ZhP9TwVG9o9cEmCnGSY5NMK+g=
+
+
+ ios-arm64_x86_64-simulator/TalsecRuntime.framework/_CodeSignature/CodeResources
+
+ hash
+
+ qDVEeATE/Pis2wxO1lJxz4S1kSo=
+
+ hash2
+
+ U5yZk+zXueNXc728nNM2TtEgPgb7oUr5MJdMTJUeAbs=
+
+
+ ios-arm64_x86_64-simulator/TalsecRuntime.framework/cacert.pem
+
+ hash
+
+ ibKJMhC3VnHzP2+y913vX/PPbkg=
+
+ hash2
+
+ evXTNBu6jWBekqcSa2FmOhEeJpBAdgyfplv7M3/XVws=
+
+
+ ios-arm64_x86_64-simulator/TalsecRuntime.framework/module.modulemap
+
+ hash
+
+ mnI/NClQ83sI5K2xkweR9cS1BrM=
+
+ hash2
+
+ PyY8LBmk2KM3Pm+7gcuZwfV9homQCYsBeTEPUypp+U0=
+
+
+
+ rules
+
+ ^.*
+
+ ^.*\.lproj/
+
+ optional
+
+ weight
+ 1000
+
+ ^.*\.lproj/locversion.plist$
+
+ omit
+
+ weight
+ 1100
+
+ ^Base\.lproj/
+
+ weight
+ 1010
+
+ ^version.plist$
+
+
+ rules2
+
+ .*\.dSYM($|/)
+
+ weight
+ 11
+
+ ^(.*/)?\.DS_Store$
+
+ omit
+
+ weight
+ 2000
+
+ ^.*
+
+ ^.*\.lproj/
+
+ optional
+
+ weight
+ 1000
+
+ ^.*\.lproj/locversion.plist$
+
+ omit
+
+ weight
+ 1100
+
+ ^Base\.lproj/
+
+ weight
+ 1010
+
+ ^Info\.plist$
+
+ omit
+
+ weight
+ 20
+
+ ^PkgInfo$
+
+ omit
+
+ weight
+ 20
+
+ ^embedded\.provisionprofile$
+
+ weight
+ 20
+
+ ^version\.plist$
+
+ weight
+ 20
+
+
+
+
diff --git a/ios/TalsecRuntime.xcframework/_CodeSignature/CodeSignature b/ios/TalsecRuntime.xcframework/_CodeSignature/CodeSignature
new file mode 100644
index 0000000000000000000000000000000000000000..73f22b7dc0afab629eee8ca058d47ee94015762b
GIT binary patch
literal 9177
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
L?8cSOviSNR84mLu
literal 0
HcmV?d00001
diff --git a/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/CryptoBridgingHeader.h b/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/CryptoBridgingHeader.h
new file mode 100644
index 0000000..ec779d7
--- /dev/null
+++ b/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/CryptoBridgingHeader.h
@@ -0,0 +1,14 @@
+//
+// CryptoBridgingHeader.h
+// Talsec
+//
+// Created by Jakub Mejtský on 05/08/2019.
+// Copyright © 2019 AHEAD iTec, s.r.o. All rights reserved.
+//
+
+#ifndef Crypto_h
+#define Crypto_h
+
+#import
+
+#endif /* Crypto_h */
diff --git a/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/CurlWrapper.h b/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/CurlWrapper.h
new file mode 100644
index 0000000..d97e230
--- /dev/null
+++ b/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/CurlWrapper.h
@@ -0,0 +1,25 @@
+//
+// CurlWrapper.h
+// Talsec
+//
+// Created by Jakub Mejtský on 23/07/2019.
+// Copyright © 2019 AHEAD iTec, s.r.o. All rights reserved.
+//
+
+#ifndef CurlWrapper_h
+#define CurlWrapper_h
+
+#include "curl.h"
+#include
+#include
+#include
+#include
+#include
+
+struct RvmEYfRFdioL {
+ char *memory;
+ size_t size;
+ CURLcode ret;
+};
+
+#endif /* CurlWrapper_h */
diff --git a/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/TalsecRuntime-Swift.h b/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/TalsecRuntime-Swift.h
new file mode 100644
index 0000000..4d7dc69
--- /dev/null
+++ b/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/TalsecRuntime-Swift.h
@@ -0,0 +1,314 @@
+#if 0
+#elif defined(__arm64__) && __arm64__
+// Generated by Apple Swift version 5.10 (swiftlang-5.10.0.13 clang-1500.3.9.4)
+#ifndef TALSECRUNTIME_SWIFT_H
+#define TALSECRUNTIME_SWIFT_H
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wgcc-compat"
+
+#if !defined(__has_include)
+# define __has_include(x) 0
+#endif
+#if !defined(__has_attribute)
+# define __has_attribute(x) 0
+#endif
+#if !defined(__has_feature)
+# define __has_feature(x) 0
+#endif
+#if !defined(__has_warning)
+# define __has_warning(x) 0
+#endif
+
+#if __has_include()
+# include
+#endif
+
+#pragma clang diagnostic ignored "-Wauto-import"
+#if defined(__OBJC__)
+#include
+#endif
+#if defined(__cplusplus)
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#else
+#include
+#include
+#include
+#include
+#endif
+#if defined(__cplusplus)
+#if defined(__arm64e__) && __has_include()
+# include
+#else
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wreserved-macro-identifier"
+# ifndef __ptrauth_swift_value_witness_function_pointer
+# define __ptrauth_swift_value_witness_function_pointer(x)
+# endif
+# ifndef __ptrauth_swift_class_method_pointer
+# define __ptrauth_swift_class_method_pointer(x)
+# endif
+#pragma clang diagnostic pop
+#endif
+#endif
+
+#if !defined(SWIFT_TYPEDEFS)
+# define SWIFT_TYPEDEFS 1
+# if __has_include()
+# include
+# elif !defined(__cplusplus)
+typedef uint_least16_t char16_t;
+typedef uint_least32_t char32_t;
+# endif
+typedef float swift_float2 __attribute__((__ext_vector_type__(2)));
+typedef float swift_float3 __attribute__((__ext_vector_type__(3)));
+typedef float swift_float4 __attribute__((__ext_vector_type__(4)));
+typedef double swift_double2 __attribute__((__ext_vector_type__(2)));
+typedef double swift_double3 __attribute__((__ext_vector_type__(3)));
+typedef double swift_double4 __attribute__((__ext_vector_type__(4)));
+typedef int swift_int2 __attribute__((__ext_vector_type__(2)));
+typedef int swift_int3 __attribute__((__ext_vector_type__(3)));
+typedef int swift_int4 __attribute__((__ext_vector_type__(4)));
+typedef unsigned int swift_uint2 __attribute__((__ext_vector_type__(2)));
+typedef unsigned int swift_uint3 __attribute__((__ext_vector_type__(3)));
+typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4)));
+#endif
+
+#if !defined(SWIFT_PASTE)
+# define SWIFT_PASTE_HELPER(x, y) x##y
+# define SWIFT_PASTE(x, y) SWIFT_PASTE_HELPER(x, y)
+#endif
+#if !defined(SWIFT_METATYPE)
+# define SWIFT_METATYPE(X) Class
+#endif
+#if !defined(SWIFT_CLASS_PROPERTY)
+# if __has_feature(objc_class_property)
+# define SWIFT_CLASS_PROPERTY(...) __VA_ARGS__
+# else
+# define SWIFT_CLASS_PROPERTY(...)
+# endif
+#endif
+#if !defined(SWIFT_RUNTIME_NAME)
+# if __has_attribute(objc_runtime_name)
+# define SWIFT_RUNTIME_NAME(X) __attribute__((objc_runtime_name(X)))
+# else
+# define SWIFT_RUNTIME_NAME(X)
+# endif
+#endif
+#if !defined(SWIFT_COMPILE_NAME)
+# if __has_attribute(swift_name)
+# define SWIFT_COMPILE_NAME(X) __attribute__((swift_name(X)))
+# else
+# define SWIFT_COMPILE_NAME(X)
+# endif
+#endif
+#if !defined(SWIFT_METHOD_FAMILY)
+# if __has_attribute(objc_method_family)
+# define SWIFT_METHOD_FAMILY(X) __attribute__((objc_method_family(X)))
+# else
+# define SWIFT_METHOD_FAMILY(X)
+# endif
+#endif
+#if !defined(SWIFT_NOESCAPE)
+# if __has_attribute(noescape)
+# define SWIFT_NOESCAPE __attribute__((noescape))
+# else
+# define SWIFT_NOESCAPE
+# endif
+#endif
+#if !defined(SWIFT_RELEASES_ARGUMENT)
+# if __has_attribute(ns_consumed)
+# define SWIFT_RELEASES_ARGUMENT __attribute__((ns_consumed))
+# else
+# define SWIFT_RELEASES_ARGUMENT
+# endif
+#endif
+#if !defined(SWIFT_WARN_UNUSED_RESULT)
+# if __has_attribute(warn_unused_result)
+# define SWIFT_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
+# else
+# define SWIFT_WARN_UNUSED_RESULT
+# endif
+#endif
+#if !defined(SWIFT_NORETURN)
+# if __has_attribute(noreturn)
+# define SWIFT_NORETURN __attribute__((noreturn))
+# else
+# define SWIFT_NORETURN
+# endif
+#endif
+#if !defined(SWIFT_CLASS_EXTRA)
+# define SWIFT_CLASS_EXTRA
+#endif
+#if !defined(SWIFT_PROTOCOL_EXTRA)
+# define SWIFT_PROTOCOL_EXTRA
+#endif
+#if !defined(SWIFT_ENUM_EXTRA)
+# define SWIFT_ENUM_EXTRA
+#endif
+#if !defined(SWIFT_CLASS)
+# if __has_attribute(objc_subclassing_restricted)
+# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_CLASS_EXTRA
+# define SWIFT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
+# else
+# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
+# define SWIFT_CLASS_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
+# endif
+#endif
+#if !defined(SWIFT_RESILIENT_CLASS)
+# if __has_attribute(objc_class_stub)
+# define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) __attribute__((objc_class_stub))
+# define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_class_stub)) SWIFT_CLASS_NAMED(SWIFT_NAME)
+# else
+# define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME)
+# define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) SWIFT_CLASS_NAMED(SWIFT_NAME)
+# endif
+#endif
+#if !defined(SWIFT_PROTOCOL)
+# define SWIFT_PROTOCOL(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
+# define SWIFT_PROTOCOL_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
+#endif
+#if !defined(SWIFT_EXTENSION)
+# define SWIFT_EXTENSION(M) SWIFT_PASTE(M##_Swift_, __LINE__)
+#endif
+#if !defined(OBJC_DESIGNATED_INITIALIZER)
+# if __has_attribute(objc_designated_initializer)
+# define OBJC_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer))
+# else
+# define OBJC_DESIGNATED_INITIALIZER
+# endif
+#endif
+#if !defined(SWIFT_ENUM_ATTR)
+# if __has_attribute(enum_extensibility)
+# define SWIFT_ENUM_ATTR(_extensibility) __attribute__((enum_extensibility(_extensibility)))
+# else
+# define SWIFT_ENUM_ATTR(_extensibility)
+# endif
+#endif
+#if !defined(SWIFT_ENUM)
+# define SWIFT_ENUM(_type, _name, _extensibility) enum _name : _type _name; enum SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
+# if __has_feature(generalized_swift_name)
+# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) enum _name : _type _name SWIFT_COMPILE_NAME(SWIFT_NAME); enum SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
+# else
+# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility)
+# endif
+#endif
+#if !defined(SWIFT_UNAVAILABLE)
+# define SWIFT_UNAVAILABLE __attribute__((unavailable))
+#endif
+#if !defined(SWIFT_UNAVAILABLE_MSG)
+# define SWIFT_UNAVAILABLE_MSG(msg) __attribute__((unavailable(msg)))
+#endif
+#if !defined(SWIFT_AVAILABILITY)
+# define SWIFT_AVAILABILITY(plat, ...) __attribute__((availability(plat, __VA_ARGS__)))
+#endif
+#if !defined(SWIFT_WEAK_IMPORT)
+# define SWIFT_WEAK_IMPORT __attribute__((weak_import))
+#endif
+#if !defined(SWIFT_DEPRECATED)
+# define SWIFT_DEPRECATED __attribute__((deprecated))
+#endif
+#if !defined(SWIFT_DEPRECATED_MSG)
+# define SWIFT_DEPRECATED_MSG(...) __attribute__((deprecated(__VA_ARGS__)))
+#endif
+#if !defined(SWIFT_DEPRECATED_OBJC)
+# if __has_feature(attribute_diagnose_if_objc)
+# define SWIFT_DEPRECATED_OBJC(Msg) __attribute__((diagnose_if(1, Msg, "warning")))
+# else
+# define SWIFT_DEPRECATED_OBJC(Msg) SWIFT_DEPRECATED_MSG(Msg)
+# endif
+#endif
+#if defined(__OBJC__)
+#if !defined(IBSegueAction)
+# define IBSegueAction
+#endif
+#endif
+#if !defined(SWIFT_EXTERN)
+# if defined(__cplusplus)
+# define SWIFT_EXTERN extern "C"
+# else
+# define SWIFT_EXTERN extern
+# endif
+#endif
+#if !defined(SWIFT_CALL)
+# define SWIFT_CALL __attribute__((swiftcall))
+#endif
+#if !defined(SWIFT_INDIRECT_RESULT)
+# define SWIFT_INDIRECT_RESULT __attribute__((swift_indirect_result))
+#endif
+#if !defined(SWIFT_CONTEXT)
+# define SWIFT_CONTEXT __attribute__((swift_context))
+#endif
+#if !defined(SWIFT_ERROR_RESULT)
+# define SWIFT_ERROR_RESULT __attribute__((swift_error_result))
+#endif
+#if defined(__cplusplus)
+# define SWIFT_NOEXCEPT noexcept
+#else
+# define SWIFT_NOEXCEPT
+#endif
+#if !defined(SWIFT_C_INLINE_THUNK)
+# if __has_attribute(always_inline)
+# if __has_attribute(nodebug)
+# define SWIFT_C_INLINE_THUNK inline __attribute__((always_inline)) __attribute__((nodebug))
+# else
+# define SWIFT_C_INLINE_THUNK inline __attribute__((always_inline))
+# endif
+# else
+# define SWIFT_C_INLINE_THUNK inline
+# endif
+#endif
+#if defined(_WIN32)
+#if !defined(SWIFT_IMPORT_STDLIB_SYMBOL)
+# define SWIFT_IMPORT_STDLIB_SYMBOL __declspec(dllimport)
+#endif
+#else
+#if !defined(SWIFT_IMPORT_STDLIB_SYMBOL)
+# define SWIFT_IMPORT_STDLIB_SYMBOL
+#endif
+#endif
+#if defined(__OBJC__)
+#if __has_feature(objc_modules)
+#if __has_warning("-Watimport-in-framework-header")
+#pragma clang diagnostic ignored "-Watimport-in-framework-header"
+#endif
+#endif
+
+#endif
+#pragma clang diagnostic ignored "-Wproperty-attribute-mismatch"
+#pragma clang diagnostic ignored "-Wduplicate-method-arg"
+#if __has_warning("-Wpragma-clang-attribute")
+# pragma clang diagnostic ignored "-Wpragma-clang-attribute"
+#endif
+#pragma clang diagnostic ignored "-Wunknown-pragmas"
+#pragma clang diagnostic ignored "-Wnullability"
+#pragma clang diagnostic ignored "-Wdollar-in-identifier-extension"
+
+#if __has_attribute(external_source_symbol)
+# pragma push_macro("any")
+# undef any
+# pragma clang attribute push(__attribute__((external_source_symbol(language="Swift", defined_in="TalsecRuntime",generated_declaration))), apply_to=any(function,enum,objc_interface,objc_category,objc_protocol))
+# pragma pop_macro("any")
+#endif
+
+#if defined(__OBJC__)
+
+SWIFT_EXTERN void __ApWJrcnQiGvUdFqDXAEJxWG(void);
+
+#endif
+#if __has_attribute(external_source_symbol)
+# pragma clang attribute pop
+#endif
+#if defined(__cplusplus)
+#endif
+#pragma clang diagnostic pop
+#endif
+
+#else
+#error unsupported Swift architecture
+#endif
diff --git a/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/TalsecRuntime_iOS.h b/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/TalsecRuntime_iOS.h
new file mode 100644
index 0000000..1ffffe0
--- /dev/null
+++ b/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/TalsecRuntime_iOS.h
@@ -0,0 +1,23 @@
+//
+// TalsecRuntime.h
+// Talsec
+//
+// Created by Jakub Mejtský on 15/12/2018.
+// Copyright © 2018 AHEAD iTec, s.r.o. All rights reserved.
+//
+
+#import
+
+//! Project version number for TalsecRuntime_iOS.
+FOUNDATION_EXPORT double TalsecRuntime_iOSVersionNumber;
+
+//! Project version string for TalsecRuntime.
+FOUNDATION_EXPORT const unsigned char TalsecRuntime_iOSVersionString[];
+
+// In this header, you should import all the public headers of your framework using statements like #import
+
+#define __warning__(x)
+
+#import "stdcheaders.h"
+#import "mprintf.h"
+#import "curl.h"
diff --git a/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/curl.h b/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/curl.h
new file mode 100644
index 0000000..3f8265d
--- /dev/null
+++ b/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/curl.h
@@ -0,0 +1,3247 @@
+#ifndef CURLINC_CURL_H
+#define CURLINC_CURL_H
+/***************************************************************************
+ * _ _ ____ _
+ * Project ___| | | | _ \| |
+ * / __| | | | |_) | |
+ * | (__| |_| | _ <| |___
+ * \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) Daniel Stenberg, , et al.
+ *
+ * This software is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at https://curl.se/docs/copyright.html.
+ *
+ * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+ * copies of the Software, and permit persons to whom the Software is
+ * furnished to do so, under the terms of the COPYING file.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ * SPDX-License-Identifier: curl
+ *
+ ***************************************************************************/
+
+/*
+ * If you have libcurl problems, all docs and details are found here:
+ * https://curl.se/libcurl/
+ */
+
+#ifdef CURL_NO_OLDIES
+#define CURL_STRICTER
+#endif
+
+/* Compile-time deprecation macros. */
+#if defined(__GNUC__) && \
+ ((__GNUC__ > 12) || ((__GNUC__ == 12) && (__GNUC_MINOR__ >= 1 ))) && \
+ !defined(__INTEL_COMPILER) && \
+ !defined(CURL_DISABLE_DEPRECATION) && !defined(BUILDING_LIBCURL)
+#define CURL_DEPRECATED(version, message) \
+ __attribute__((deprecated("since " # version ". " message)))
+#define CURL_IGNORE_DEPRECATION(statements) \
+ _Pragma("GCC diagnostic push") \
+ _Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"") \
+ statements \
+ _Pragma("GCC diagnostic pop")
+#else
+#define CURL_DEPRECATED(version, message)
+#define CURL_IGNORE_DEPRECATION(statements) statements
+#endif
+
+#include "curlver.h" /* libcurl version defines */
+#include "system.h" /* determine things run-time */
+
+#include
+#include
+
+#if defined(__FreeBSD__) || defined(__MidnightBSD__)
+/* Needed for __FreeBSD_version or __MidnightBSD_version symbol definition */
+#include
+#endif
+
+/* The include stuff here below is mainly for time_t! */
+#include
+#include
+
+#if defined(_WIN32) && !defined(_WIN32_WCE) && !defined(__CYGWIN__)
+#if !(defined(_WINSOCKAPI_) || defined(_WINSOCK_H) || \
+ defined(__LWIP_OPT_H__) || defined(LWIP_HDR_OPT_H))
+/* The check above prevents the winsock2 inclusion if winsock.h already was
+ included, since they can't co-exist without problems */
+#include
+#include
+#endif
+#endif
+
+/* HP-UX systems version 9, 10 and 11 lack sys/select.h and so does oldish
+ libc5-based Linux systems. Only include it on systems that are known to
+ require it! */
+#if defined(_AIX) || defined(__NOVELL_LIBC__) || defined(__NetBSD__) || \
+ defined(__minix) || defined(__INTEGRITY) || \
+ defined(ANDROID) || defined(__ANDROID__) || defined(__OpenBSD__) || \
+ defined(__CYGWIN__) || defined(AMIGA) || defined(__NuttX__) || \
+ (defined(__FreeBSD_version) && (__FreeBSD_version < 800000)) || \
+ (defined(__MidnightBSD_version) && (__MidnightBSD_version < 100000)) || \
+ defined(__sun__) || defined(__serenity__) || defined(__vxworks__)
+#include
+#endif
+
+#if !defined(_WIN32) && !defined(_WIN32_WCE)
+#include
+#endif
+
+#if !defined(_WIN32)
+#include
+#endif
+
+/* Compatibility for non-Clang compilers */
+#ifndef __has_declspec_attribute
+# define __has_declspec_attribute(x) 0
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#if defined(BUILDING_LIBCURL) || defined(CURL_STRICTER)
+typedef struct Curl_easy CURL;
+typedef struct Curl_share CURLSH;
+#else
+typedef void CURL;
+typedef void CURLSH;
+#endif
+
+/*
+ * libcurl external API function linkage decorations.
+ */
+
+#ifdef CURL_STATICLIB
+# define CURL_EXTERN
+#elif defined(_WIN32) || \
+ (__has_declspec_attribute(dllexport) && \
+ __has_declspec_attribute(dllimport))
+# if defined(BUILDING_LIBCURL)
+# define CURL_EXTERN __declspec(dllexport)
+# else
+# define CURL_EXTERN __declspec(dllimport)
+# endif
+#elif defined(BUILDING_LIBCURL) && defined(CURL_HIDDEN_SYMBOLS)
+# define CURL_EXTERN CURL_EXTERN_SYMBOL
+#else
+# define CURL_EXTERN
+#endif
+
+#ifndef curl_socket_typedef
+/* socket typedef */
+#if defined(_WIN32) && !defined(__LWIP_OPT_H__) && !defined(LWIP_HDR_OPT_H)
+typedef SOCKET curl_socket_t;
+#define CURL_SOCKET_BAD INVALID_SOCKET
+#else
+typedef int curl_socket_t;
+#define CURL_SOCKET_BAD -1
+#endif
+#define curl_socket_typedef
+#endif /* curl_socket_typedef */
+
+/* enum for the different supported SSL backends */
+typedef enum {
+ CURLSSLBACKEND_NONE = 0,
+ CURLSSLBACKEND_OPENSSL = 1,
+ CURLSSLBACKEND_GNUTLS = 2,
+ CURLSSLBACKEND_NSS CURL_DEPRECATED(8.3.0, "") = 3,
+ CURLSSLBACKEND_OBSOLETE4 = 4, /* Was QSOSSL. */
+ CURLSSLBACKEND_GSKIT CURL_DEPRECATED(8.3.0, "") = 5,
+ CURLSSLBACKEND_POLARSSL CURL_DEPRECATED(7.69.0, "") = 6,
+ CURLSSLBACKEND_WOLFSSL = 7,
+ CURLSSLBACKEND_SCHANNEL = 8,
+ CURLSSLBACKEND_SECURETRANSPORT = 9,
+ CURLSSLBACKEND_AXTLS CURL_DEPRECATED(7.61.0, "") = 10,
+ CURLSSLBACKEND_MBEDTLS = 11,
+ CURLSSLBACKEND_MESALINK CURL_DEPRECATED(7.82.0, "") = 12,
+ CURLSSLBACKEND_BEARSSL = 13,
+ CURLSSLBACKEND_RUSTLS = 14
+} curl_sslbackend;
+
+/* aliases for library clones and renames */
+#define CURLSSLBACKEND_AWSLC CURLSSLBACKEND_OPENSSL
+#define CURLSSLBACKEND_BORINGSSL CURLSSLBACKEND_OPENSSL
+#define CURLSSLBACKEND_LIBRESSL CURLSSLBACKEND_OPENSSL
+
+/* deprecated names: */
+#define CURLSSLBACKEND_CYASSL CURLSSLBACKEND_WOLFSSL
+#define CURLSSLBACKEND_DARWINSSL CURLSSLBACKEND_SECURETRANSPORT
+
+struct curl_httppost {
+ struct curl_httppost *next; /* next entry in the list */
+ char *name; /* pointer to allocated name */
+ long namelength; /* length of name length */
+ char *contents; /* pointer to allocated data contents */
+ long contentslength; /* length of contents field, see also
+ CURL_HTTPPOST_LARGE */
+ char *buffer; /* pointer to allocated buffer contents */
+ long bufferlength; /* length of buffer field */
+ char *contenttype; /* Content-Type */
+ struct curl_slist *contentheader; /* list of extra headers for this form */
+ struct curl_httppost *more; /* if one field name has more than one
+ file, this link should link to following
+ files */
+ long flags; /* as defined below */
+
+/* specified content is a file name */
+#define CURL_HTTPPOST_FILENAME (1<<0)
+/* specified content is a file name */
+#define CURL_HTTPPOST_READFILE (1<<1)
+/* name is only stored pointer do not free in formfree */
+#define CURL_HTTPPOST_PTRNAME (1<<2)
+/* contents is only stored pointer do not free in formfree */
+#define CURL_HTTPPOST_PTRCONTENTS (1<<3)
+/* upload file from buffer */
+#define CURL_HTTPPOST_BUFFER (1<<4)
+/* upload file from pointer contents */
+#define CURL_HTTPPOST_PTRBUFFER (1<<5)
+/* upload file contents by using the regular read callback to get the data and
+ pass the given pointer as custom pointer */
+#define CURL_HTTPPOST_CALLBACK (1<<6)
+/* use size in 'contentlen', added in 7.46.0 */
+#define CURL_HTTPPOST_LARGE (1<<7)
+
+ char *showfilename; /* The file name to show. If not set, the
+ actual file name will be used (if this
+ is a file part) */
+ void *userp; /* custom pointer used for
+ HTTPPOST_CALLBACK posts */
+ curl_off_t contentlen; /* alternative length of contents
+ field. Used if CURL_HTTPPOST_LARGE is
+ set. Added in 7.46.0 */
+};
+
+
+/* This is a return code for the progress callback that, when returned, will
+ signal libcurl to continue executing the default progress function */
+#define CURL_PROGRESSFUNC_CONTINUE 0x10000001
+
+/* This is the CURLOPT_PROGRESSFUNCTION callback prototype. It is now
+ considered deprecated but was the only choice up until 7.31.0 */
+typedef int (*curl_progress_callback)(void *clientp,
+ double dltotal,
+ double dlnow,
+ double ultotal,
+ double ulnow);
+
+/* This is the CURLOPT_XFERINFOFUNCTION callback prototype. It was introduced
+ in 7.32.0, avoids the use of floating point numbers and provides more
+ detailed information. */
+typedef int (*curl_xferinfo_callback)(void *clientp,
+ curl_off_t dltotal,
+ curl_off_t dlnow,
+ curl_off_t ultotal,
+ curl_off_t ulnow);
+
+#ifndef CURL_MAX_READ_SIZE
+ /* The maximum receive buffer size configurable via CURLOPT_BUFFERSIZE. */
+#define CURL_MAX_READ_SIZE (10*1024*1024)
+#endif
+
+#ifndef CURL_MAX_WRITE_SIZE
+ /* Tests have proven that 20K is a very bad buffer size for uploads on
+ Windows, while 16K for some odd reason performed a lot better.
+ We do the ifndef check to allow this value to easier be changed at build
+ time for those who feel adventurous. The practical minimum is about
+ 400 bytes since libcurl uses a buffer of this size as a scratch area
+ (unrelated to network send operations). */
+#define CURL_MAX_WRITE_SIZE 16384
+#endif
+
+#ifndef CURL_MAX_HTTP_HEADER
+/* The only reason to have a max limit for this is to avoid the risk of a bad
+ server feeding libcurl with a never-ending header that will cause reallocs
+ infinitely */
+#define CURL_MAX_HTTP_HEADER (100*1024)
+#endif
+
+/* This is a magic return code for the write callback that, when returned,
+ will signal libcurl to pause receiving on the current transfer. */
+#define CURL_WRITEFUNC_PAUSE 0x10000001
+
+/* This is a magic return code for the write callback that, when returned,
+ will signal an error from the callback. */
+#define CURL_WRITEFUNC_ERROR 0xFFFFFFFF
+
+typedef size_t (*curl_write_callback)(char *buffer,
+ size_t size,
+ size_t nitems,
+ void *outstream);
+
+/* This callback will be called when a new resolver request is made */
+typedef int (*curl_resolver_start_callback)(void *resolver_state,
+ void *reserved, void *userdata);
+
+/* enumeration of file types */
+typedef enum {
+ CURLFILETYPE_FILE = 0,
+ CURLFILETYPE_DIRECTORY,
+ CURLFILETYPE_SYMLINK,
+ CURLFILETYPE_DEVICE_BLOCK,
+ CURLFILETYPE_DEVICE_CHAR,
+ CURLFILETYPE_NAMEDPIPE,
+ CURLFILETYPE_SOCKET,
+ CURLFILETYPE_DOOR, /* is possible only on Sun Solaris now */
+
+ CURLFILETYPE_UNKNOWN /* should never occur */
+} curlfiletype;
+
+#define CURLFINFOFLAG_KNOWN_FILENAME (1<<0)
+#define CURLFINFOFLAG_KNOWN_FILETYPE (1<<1)
+#define CURLFINFOFLAG_KNOWN_TIME (1<<2)
+#define CURLFINFOFLAG_KNOWN_PERM (1<<3)
+#define CURLFINFOFLAG_KNOWN_UID (1<<4)
+#define CURLFINFOFLAG_KNOWN_GID (1<<5)
+#define CURLFINFOFLAG_KNOWN_SIZE (1<<6)
+#define CURLFINFOFLAG_KNOWN_HLINKCOUNT (1<<7)
+
+/* Information about a single file, used when doing FTP wildcard matching */
+struct curl_fileinfo {
+ char *filename;
+ curlfiletype filetype;
+ time_t time; /* always zero! */
+ unsigned int perm;
+ int uid;
+ int gid;
+ curl_off_t size;
+ long int hardlinks;
+
+ struct {
+ /* If some of these fields is not NULL, it is a pointer to b_data. */
+ char *time;
+ char *perm;
+ char *user;
+ char *group;
+ char *target; /* pointer to the target filename of a symlink */
+ } strings;
+
+ unsigned int flags;
+
+ /* These are libcurl private struct fields. Previously used by libcurl, so
+ they must never be interfered with. */
+ char *b_data;
+ size_t b_size;
+ size_t b_used;
+};
+
+/* return codes for CURLOPT_CHUNK_BGN_FUNCTION */
+#define CURL_CHUNK_BGN_FUNC_OK 0
+#define CURL_CHUNK_BGN_FUNC_FAIL 1 /* tell the lib to end the task */
+#define CURL_CHUNK_BGN_FUNC_SKIP 2 /* skip this chunk over */
+
+/* if splitting of data transfer is enabled, this callback is called before
+ download of an individual chunk started. Note that parameter "remains" works
+ only for FTP wildcard downloading (for now), otherwise is not used */
+typedef long (*curl_chunk_bgn_callback)(const void *transfer_info,
+ void *ptr,
+ int remains);
+
+/* return codes for CURLOPT_CHUNK_END_FUNCTION */
+#define CURL_CHUNK_END_FUNC_OK 0
+#define CURL_CHUNK_END_FUNC_FAIL 1 /* tell the lib to end the task */
+
+/* If splitting of data transfer is enabled this callback is called after
+ download of an individual chunk finished.
+ Note! After this callback was set then it have to be called FOR ALL chunks.
+ Even if downloading of this chunk was skipped in CHUNK_BGN_FUNC.
+ This is the reason why we don't need "transfer_info" parameter in this
+ callback and we are not interested in "remains" parameter too. */
+typedef long (*curl_chunk_end_callback)(void *ptr);
+
+/* return codes for FNMATCHFUNCTION */
+#define CURL_FNMATCHFUNC_MATCH 0 /* string corresponds to the pattern */
+#define CURL_FNMATCHFUNC_NOMATCH 1 /* pattern doesn't match the string */
+#define CURL_FNMATCHFUNC_FAIL 2 /* an error occurred */
+
+/* callback type for wildcard downloading pattern matching. If the
+ string matches the pattern, return CURL_FNMATCHFUNC_MATCH value, etc. */
+typedef int (*curl_fnmatch_callback)(void *ptr,
+ const char *pattern,
+ const char *string);
+
+/* These are the return codes for the seek callbacks */
+#define CURL_SEEKFUNC_OK 0
+#define CURL_SEEKFUNC_FAIL 1 /* fail the entire transfer */
+#define CURL_SEEKFUNC_CANTSEEK 2 /* tell libcurl seeking can't be done, so
+ libcurl might try other means instead */
+typedef int (*curl_seek_callback)(void *instream,
+ curl_off_t offset,
+ int origin); /* 'whence' */
+
+/* This is a return code for the read callback that, when returned, will
+ signal libcurl to immediately abort the current transfer. */
+#define CURL_READFUNC_ABORT 0x10000000
+/* This is a return code for the read callback that, when returned, will
+ signal libcurl to pause sending data on the current transfer. */
+#define CURL_READFUNC_PAUSE 0x10000001
+
+/* Return code for when the trailing headers' callback has terminated
+ without any errors */
+#define CURL_TRAILERFUNC_OK 0
+/* Return code for when was an error in the trailing header's list and we
+ want to abort the request */
+#define CURL_TRAILERFUNC_ABORT 1
+
+typedef size_t (*curl_read_callback)(char *buffer,
+ size_t size,
+ size_t nitems,
+ void *instream);
+
+typedef int (*curl_trailer_callback)(struct curl_slist **list,
+ void *userdata);
+
+typedef enum {
+ CURLSOCKTYPE_IPCXN, /* socket created for a specific IP connection */
+ CURLSOCKTYPE_ACCEPT, /* socket created by accept() call */
+ CURLSOCKTYPE_LAST /* never use */
+} curlsocktype;
+
+/* The return code from the sockopt_callback can signal information back
+ to libcurl: */
+#define CURL_SOCKOPT_OK 0
+#define CURL_SOCKOPT_ERROR 1 /* causes libcurl to abort and return
+ CURLE_ABORTED_BY_CALLBACK */
+#define CURL_SOCKOPT_ALREADY_CONNECTED 2
+
+typedef int (*curl_sockopt_callback)(void *clientp,
+ curl_socket_t curlfd,
+ curlsocktype purpose);
+
+struct curl_sockaddr {
+ int family;
+ int socktype;
+ int protocol;
+ unsigned int addrlen; /* addrlen was a socklen_t type before 7.18.0 but it
+ turned really ugly and painful on the systems that
+ lack this type */
+ struct sockaddr addr;
+};
+
+typedef curl_socket_t
+(*curl_opensocket_callback)(void *clientp,
+ curlsocktype purpose,
+ struct curl_sockaddr *address);
+
+typedef int
+(*curl_closesocket_callback)(void *clientp, curl_socket_t item);
+
+typedef enum {
+ CURLIOE_OK, /* I/O operation successful */
+ CURLIOE_UNKNOWNCMD, /* command was unknown to callback */
+ CURLIOE_FAILRESTART, /* failed to restart the read */
+ CURLIOE_LAST /* never use */
+} curlioerr;
+
+typedef enum {
+ CURLIOCMD_NOP, /* no operation */
+ CURLIOCMD_RESTARTREAD, /* restart the read stream from start */
+ CURLIOCMD_LAST /* never use */
+} curliocmd;
+
+typedef curlioerr (*curl_ioctl_callback)(CURL *handle,
+ int cmd,
+ void *clientp);
+
+#ifndef CURL_DID_MEMORY_FUNC_TYPEDEFS
+/*
+ * The following typedef's are signatures of malloc, free, realloc, strdup and
+ * calloc respectively. Function pointers of these types can be passed to the
+ * curl_global_init_mem() function to set user defined memory management
+ * callback routines.
+ */
+typedef void *(*curl_malloc_callback)(size_t size);
+typedef void (*curl_free_callback)(void *ptr);
+typedef void *(*curl_realloc_callback)(void *ptr, size_t size);
+typedef char *(*curl_strdup_callback)(const char *str);
+typedef void *(*curl_calloc_callback)(size_t nmemb, size_t size);
+
+#define CURL_DID_MEMORY_FUNC_TYPEDEFS
+#endif
+
+/* the kind of data that is passed to information_callback */
+typedef enum {
+ CURLINFO_TEXT = 0,
+ CURLINFO_HEADER_IN, /* 1 */
+ CURLINFO_HEADER_OUT, /* 2 */
+ CURLINFO_DATA_IN, /* 3 */
+ CURLINFO_DATA_OUT, /* 4 */
+ CURLINFO_SSL_DATA_IN, /* 5 */
+ CURLINFO_SSL_DATA_OUT, /* 6 */
+ CURLINFO_END
+} curl_infotype;
+
+typedef int (*curl_debug_callback)
+ (CURL *handle, /* the handle/transfer this concerns */
+ curl_infotype type, /* what kind of data */
+ char *data, /* points to the data */
+ size_t size, /* size of the data pointed to */
+ void *userptr); /* whatever the user please */
+
+/* This is the CURLOPT_PREREQFUNCTION callback prototype. */
+typedef int (*curl_prereq_callback)(void *clientp,
+ char *conn_primary_ip,
+ char *conn_local_ip,
+ int conn_primary_port,
+ int conn_local_port);
+
+/* Return code for when the pre-request callback has terminated without
+ any errors */
+#define CURL_PREREQFUNC_OK 0
+/* Return code for when the pre-request callback wants to abort the
+ request */
+#define CURL_PREREQFUNC_ABORT 1
+
+/* All possible error codes from all sorts of curl functions. Future versions
+ may return other values, stay prepared.
+
+ Always add new return codes last. Never *EVER* remove any. The return
+ codes must remain the same!
+ */
+
+typedef enum {
+ CURLE_OK = 0,
+ CURLE_UNSUPPORTED_PROTOCOL, /* 1 */
+ CURLE_FAILED_INIT, /* 2 */
+ CURLE_URL_MALFORMAT, /* 3 */
+ CURLE_NOT_BUILT_IN, /* 4 - [was obsoleted in August 2007 for
+ 7.17.0, reused in April 2011 for 7.21.5] */
+ CURLE_COULDNT_RESOLVE_PROXY, /* 5 */
+ CURLE_COULDNT_RESOLVE_HOST, /* 6 */
+ CURLE_COULDNT_CONNECT, /* 7 */
+ CURLE_WEIRD_SERVER_REPLY, /* 8 */
+ CURLE_REMOTE_ACCESS_DENIED, /* 9 a service was denied by the server
+ due to lack of access - when login fails
+ this is not returned. */
+ CURLE_FTP_ACCEPT_FAILED, /* 10 - [was obsoleted in April 2006 for
+ 7.15.4, reused in Dec 2011 for 7.24.0]*/
+ CURLE_FTP_WEIRD_PASS_REPLY, /* 11 */
+ CURLE_FTP_ACCEPT_TIMEOUT, /* 12 - timeout occurred accepting server
+ [was obsoleted in August 2007 for 7.17.0,
+ reused in Dec 2011 for 7.24.0]*/
+ CURLE_FTP_WEIRD_PASV_REPLY, /* 13 */
+ CURLE_FTP_WEIRD_227_FORMAT, /* 14 */
+ CURLE_FTP_CANT_GET_HOST, /* 15 */
+ CURLE_HTTP2, /* 16 - A problem in the http2 framing layer.
+ [was obsoleted in August 2007 for 7.17.0,
+ reused in July 2014 for 7.38.0] */
+ CURLE_FTP_COULDNT_SET_TYPE, /* 17 */
+ CURLE_PARTIAL_FILE, /* 18 */
+ CURLE_FTP_COULDNT_RETR_FILE, /* 19 */
+ CURLE_OBSOLETE20, /* 20 - NOT USED */
+ CURLE_QUOTE_ERROR, /* 21 - quote command failure */
+ CURLE_HTTP_RETURNED_ERROR, /* 22 */
+ CURLE_WRITE_ERROR, /* 23 */
+ CURLE_OBSOLETE24, /* 24 - NOT USED */
+ CURLE_UPLOAD_FAILED, /* 25 - failed upload "command" */
+ CURLE_READ_ERROR, /* 26 - couldn't open/read from file */
+ CURLE_OUT_OF_MEMORY, /* 27 */
+ CURLE_OPERATION_TIMEDOUT, /* 28 - the timeout time was reached */
+ CURLE_OBSOLETE29, /* 29 - NOT USED */
+ CURLE_FTP_PORT_FAILED, /* 30 - FTP PORT operation failed */
+ CURLE_FTP_COULDNT_USE_REST, /* 31 - the REST command failed */
+ CURLE_OBSOLETE32, /* 32 - NOT USED */
+ CURLE_RANGE_ERROR, /* 33 - RANGE "command" didn't work */
+ CURLE_HTTP_POST_ERROR, /* 34 */
+ CURLE_SSL_CONNECT_ERROR, /* 35 - wrong when connecting with SSL */
+ CURLE_BAD_DOWNLOAD_RESUME, /* 36 - couldn't resume download */
+ CURLE_FILE_COULDNT_READ_FILE, /* 37 */
+ CURLE_LDAP_CANNOT_BIND, /* 38 */
+ CURLE_LDAP_SEARCH_FAILED, /* 39 */
+ CURLE_OBSOLETE40, /* 40 - NOT USED */
+ CURLE_FUNCTION_NOT_FOUND, /* 41 - NOT USED starting with 7.53.0 */
+ CURLE_ABORTED_BY_CALLBACK, /* 42 */
+ CURLE_BAD_FUNCTION_ARGUMENT, /* 43 */
+ CURLE_OBSOLETE44, /* 44 - NOT USED */
+ CURLE_INTERFACE_FAILED, /* 45 - CURLOPT_INTERFACE failed */
+ CURLE_OBSOLETE46, /* 46 - NOT USED */
+ CURLE_TOO_MANY_REDIRECTS, /* 47 - catch endless re-direct loops */
+ CURLE_UNKNOWN_OPTION, /* 48 - User specified an unknown option */
+ CURLE_SETOPT_OPTION_SYNTAX, /* 49 - Malformed setopt option */
+ CURLE_OBSOLETE50, /* 50 - NOT USED */
+ CURLE_OBSOLETE51, /* 51 - NOT USED */
+ CURLE_GOT_NOTHING, /* 52 - when this is a specific error */
+ CURLE_SSL_ENGINE_NOTFOUND, /* 53 - SSL crypto engine not found */
+ CURLE_SSL_ENGINE_SETFAILED, /* 54 - can not set SSL crypto engine as
+ default */
+ CURLE_SEND_ERROR, /* 55 - failed sending network data */
+ CURLE_RECV_ERROR, /* 56 - failure in receiving network data */
+ CURLE_OBSOLETE57, /* 57 - NOT IN USE */
+ CURLE_SSL_CERTPROBLEM, /* 58 - problem with the local certificate */
+ CURLE_SSL_CIPHER, /* 59 - couldn't use specified cipher */
+ CURLE_PEER_FAILED_VERIFICATION, /* 60 - peer's certificate or fingerprint
+ wasn't verified fine */
+ CURLE_BAD_CONTENT_ENCODING, /* 61 - Unrecognized/bad encoding */
+ CURLE_OBSOLETE62, /* 62 - NOT IN USE since 7.82.0 */
+ CURLE_FILESIZE_EXCEEDED, /* 63 - Maximum file size exceeded */
+ CURLE_USE_SSL_FAILED, /* 64 - Requested FTP SSL level failed */
+ CURLE_SEND_FAIL_REWIND, /* 65 - Sending the data requires a rewind
+ that failed */
+ CURLE_SSL_ENGINE_INITFAILED, /* 66 - failed to initialise ENGINE */
+ CURLE_LOGIN_DENIED, /* 67 - user, password or similar was not
+ accepted and we failed to login */
+ CURLE_TFTP_NOTFOUND, /* 68 - file not found on server */
+ CURLE_TFTP_PERM, /* 69 - permission problem on server */
+ CURLE_REMOTE_DISK_FULL, /* 70 - out of disk space on server */
+ CURLE_TFTP_ILLEGAL, /* 71 - Illegal TFTP operation */
+ CURLE_TFTP_UNKNOWNID, /* 72 - Unknown transfer ID */
+ CURLE_REMOTE_FILE_EXISTS, /* 73 - File already exists */
+ CURLE_TFTP_NOSUCHUSER, /* 74 - No such user */
+ CURLE_OBSOLETE75, /* 75 - NOT IN USE since 7.82.0 */
+ CURLE_OBSOLETE76, /* 76 - NOT IN USE since 7.82.0 */
+ CURLE_SSL_CACERT_BADFILE, /* 77 - could not load CACERT file, missing
+ or wrong format */
+ CURLE_REMOTE_FILE_NOT_FOUND, /* 78 - remote file not found */
+ CURLE_SSH, /* 79 - error from the SSH layer, somewhat
+ generic so the error message will be of
+ interest when this has happened */
+
+ CURLE_SSL_SHUTDOWN_FAILED, /* 80 - Failed to shut down the SSL
+ connection */
+ CURLE_AGAIN, /* 81 - socket is not ready for send/recv,
+ wait till it's ready and try again (Added
+ in 7.18.2) */
+ CURLE_SSL_CRL_BADFILE, /* 82 - could not load CRL file, missing or
+ wrong format (Added in 7.19.0) */
+ CURLE_SSL_ISSUER_ERROR, /* 83 - Issuer check failed. (Added in
+ 7.19.0) */
+ CURLE_FTP_PRET_FAILED, /* 84 - a PRET command failed */
+ CURLE_RTSP_CSEQ_ERROR, /* 85 - mismatch of RTSP CSeq numbers */
+ CURLE_RTSP_SESSION_ERROR, /* 86 - mismatch of RTSP Session Ids */
+ CURLE_FTP_BAD_FILE_LIST, /* 87 - unable to parse FTP file list */
+ CURLE_CHUNK_FAILED, /* 88 - chunk callback reported error */
+ CURLE_NO_CONNECTION_AVAILABLE, /* 89 - No connection available, the
+ session will be queued */
+ CURLE_SSL_PINNEDPUBKEYNOTMATCH, /* 90 - specified pinned public key did not
+ match */
+ CURLE_SSL_INVALIDCERTSTATUS, /* 91 - invalid certificate status */
+ CURLE_HTTP2_STREAM, /* 92 - stream error in HTTP/2 framing layer
+ */
+ CURLE_RECURSIVE_API_CALL, /* 93 - an api function was called from
+ inside a callback */
+ CURLE_AUTH_ERROR, /* 94 - an authentication function returned an
+ error */
+ CURLE_HTTP3, /* 95 - An HTTP/3 layer problem */
+ CURLE_QUIC_CONNECT_ERROR, /* 96 - QUIC connection error */
+ CURLE_PROXY, /* 97 - proxy handshake error */
+ CURLE_SSL_CLIENTCERT, /* 98 - client-side certificate required */
+ CURLE_UNRECOVERABLE_POLL, /* 99 - poll/select returned fatal error */
+ CURLE_TOO_LARGE, /* 100 - a value/data met its maximum */
+ CURLE_ECH_REQUIRED, /* 101 - ECH tried but failed */
+ CURL_LAST /* never use! */
+} CURLcode;
+
+#ifndef CURL_NO_OLDIES /* define this to test if your app builds with all
+ the obsolete stuff removed! */
+
+/* Previously obsolete error code reused in 7.38.0 */
+#define CURLE_OBSOLETE16 CURLE_HTTP2
+
+/* Previously obsolete error codes reused in 7.24.0 */
+#define CURLE_OBSOLETE10 CURLE_FTP_ACCEPT_FAILED
+#define CURLE_OBSOLETE12 CURLE_FTP_ACCEPT_TIMEOUT
+
+/* compatibility with older names */
+#define CURLOPT_ENCODING CURLOPT_ACCEPT_ENCODING
+#define CURLE_FTP_WEIRD_SERVER_REPLY CURLE_WEIRD_SERVER_REPLY
+
+/* The following were added in 7.62.0 */
+#define CURLE_SSL_CACERT CURLE_PEER_FAILED_VERIFICATION
+
+/* The following were added in 7.21.5, April 2011 */
+#define CURLE_UNKNOWN_TELNET_OPTION CURLE_UNKNOWN_OPTION
+
+/* Added for 7.78.0 */
+#define CURLE_TELNET_OPTION_SYNTAX CURLE_SETOPT_OPTION_SYNTAX
+
+/* The following were added in 7.17.1 */
+/* These are scheduled to disappear by 2009 */
+#define CURLE_SSL_PEER_CERTIFICATE CURLE_PEER_FAILED_VERIFICATION
+
+/* The following were added in 7.17.0 */
+/* These are scheduled to disappear by 2009 */
+#define CURLE_OBSOLETE CURLE_OBSOLETE50 /* no one should be using this! */
+#define CURLE_BAD_PASSWORD_ENTERED CURLE_OBSOLETE46
+#define CURLE_BAD_CALLING_ORDER CURLE_OBSOLETE44
+#define CURLE_FTP_USER_PASSWORD_INCORRECT CURLE_OBSOLETE10
+#define CURLE_FTP_CANT_RECONNECT CURLE_OBSOLETE16
+#define CURLE_FTP_COULDNT_GET_SIZE CURLE_OBSOLETE32
+#define CURLE_FTP_COULDNT_SET_ASCII CURLE_OBSOLETE29
+#define CURLE_FTP_WEIRD_USER_REPLY CURLE_OBSOLETE12
+#define CURLE_FTP_WRITE_ERROR CURLE_OBSOLETE20
+#define CURLE_LIBRARY_NOT_FOUND CURLE_OBSOLETE40
+#define CURLE_MALFORMAT_USER CURLE_OBSOLETE24
+#define CURLE_SHARE_IN_USE CURLE_OBSOLETE57
+#define CURLE_URL_MALFORMAT_USER CURLE_NOT_BUILT_IN
+
+#define CURLE_FTP_ACCESS_DENIED CURLE_REMOTE_ACCESS_DENIED
+#define CURLE_FTP_COULDNT_SET_BINARY CURLE_FTP_COULDNT_SET_TYPE
+#define CURLE_FTP_QUOTE_ERROR CURLE_QUOTE_ERROR
+#define CURLE_TFTP_DISKFULL CURLE_REMOTE_DISK_FULL
+#define CURLE_TFTP_EXISTS CURLE_REMOTE_FILE_EXISTS
+#define CURLE_HTTP_RANGE_ERROR CURLE_RANGE_ERROR
+#define CURLE_FTP_SSL_FAILED CURLE_USE_SSL_FAILED
+
+/* The following were added earlier */
+
+#define CURLE_OPERATION_TIMEOUTED CURLE_OPERATION_TIMEDOUT
+#define CURLE_HTTP_NOT_FOUND CURLE_HTTP_RETURNED_ERROR
+#define CURLE_HTTP_PORT_FAILED CURLE_INTERFACE_FAILED
+#define CURLE_FTP_COULDNT_STOR_FILE CURLE_UPLOAD_FAILED
+#define CURLE_FTP_PARTIAL_FILE CURLE_PARTIAL_FILE
+#define CURLE_FTP_BAD_DOWNLOAD_RESUME CURLE_BAD_DOWNLOAD_RESUME
+#define CURLE_LDAP_INVALID_URL CURLE_OBSOLETE62
+#define CURLE_CONV_REQD CURLE_OBSOLETE76
+#define CURLE_CONV_FAILED CURLE_OBSOLETE75
+
+/* This was the error code 50 in 7.7.3 and a few earlier versions, this
+ is no longer used by libcurl but is instead #defined here only to not
+ make programs break */
+#define CURLE_ALREADY_COMPLETE 99999
+
+/* Provide defines for really old option names */
+#define CURLOPT_FILE CURLOPT_WRITEDATA /* name changed in 7.9.7 */
+#define CURLOPT_INFILE CURLOPT_READDATA /* name changed in 7.9.7 */
+#define CURLOPT_WRITEHEADER CURLOPT_HEADERDATA
+
+/* Since long deprecated options with no code in the lib that does anything
+ with them. */
+#define CURLOPT_WRITEINFO CURLOPT_OBSOLETE40
+#define CURLOPT_CLOSEPOLICY CURLOPT_OBSOLETE72
+
+#endif /* !CURL_NO_OLDIES */
+
+/*
+ * Proxy error codes. Returned in CURLINFO_PROXY_ERROR if CURLE_PROXY was
+ * return for the transfers.
+ */
+typedef enum {
+ CURLPX_OK,
+ CURLPX_BAD_ADDRESS_TYPE,
+ CURLPX_BAD_VERSION,
+ CURLPX_CLOSED,
+ CURLPX_GSSAPI,
+ CURLPX_GSSAPI_PERMSG,
+ CURLPX_GSSAPI_PROTECTION,
+ CURLPX_IDENTD,
+ CURLPX_IDENTD_DIFFER,
+ CURLPX_LONG_HOSTNAME,
+ CURLPX_LONG_PASSWD,
+ CURLPX_LONG_USER,
+ CURLPX_NO_AUTH,
+ CURLPX_RECV_ADDRESS,
+ CURLPX_RECV_AUTH,
+ CURLPX_RECV_CONNECT,
+ CURLPX_RECV_REQACK,
+ CURLPX_REPLY_ADDRESS_TYPE_NOT_SUPPORTED,
+ CURLPX_REPLY_COMMAND_NOT_SUPPORTED,
+ CURLPX_REPLY_CONNECTION_REFUSED,
+ CURLPX_REPLY_GENERAL_SERVER_FAILURE,
+ CURLPX_REPLY_HOST_UNREACHABLE,
+ CURLPX_REPLY_NETWORK_UNREACHABLE,
+ CURLPX_REPLY_NOT_ALLOWED,
+ CURLPX_REPLY_TTL_EXPIRED,
+ CURLPX_REPLY_UNASSIGNED,
+ CURLPX_REQUEST_FAILED,
+ CURLPX_RESOLVE_HOST,
+ CURLPX_SEND_AUTH,
+ CURLPX_SEND_CONNECT,
+ CURLPX_SEND_REQUEST,
+ CURLPX_UNKNOWN_FAIL,
+ CURLPX_UNKNOWN_MODE,
+ CURLPX_USER_REJECTED,
+ CURLPX_LAST /* never use */
+} CURLproxycode;
+
+/* This prototype applies to all conversion callbacks */
+typedef CURLcode (*curl_conv_callback)(char *buffer, size_t length);
+
+typedef CURLcode (*curl_ssl_ctx_callback)(CURL *curl, /* easy handle */
+ void *ssl_ctx, /* actually an OpenSSL
+ or WolfSSL SSL_CTX,
+ or an mbedTLS
+ mbedtls_ssl_config */
+ void *userptr);
+
+typedef enum {
+ CURLPROXY_HTTP = 0, /* added in 7.10, new in 7.19.4 default is to use
+ CONNECT HTTP/1.1 */
+ CURLPROXY_HTTP_1_0 = 1, /* added in 7.19.4, force to use CONNECT
+ HTTP/1.0 */
+ CURLPROXY_HTTPS = 2, /* HTTPS but stick to HTTP/1 added in 7.52.0 */
+ CURLPROXY_HTTPS2 = 3, /* HTTPS and attempt HTTP/2 added in 8.2.0 */
+ CURLPROXY_SOCKS4 = 4, /* support added in 7.15.2, enum existed already
+ in 7.10 */
+ CURLPROXY_SOCKS5 = 5, /* added in 7.10 */
+ CURLPROXY_SOCKS4A = 6, /* added in 7.18.0 */
+ CURLPROXY_SOCKS5_HOSTNAME = 7 /* Use the SOCKS5 protocol but pass along the
+ host name rather than the IP address. added
+ in 7.18.0 */
+} curl_proxytype; /* this enum was added in 7.10 */
+
+/*
+ * Bitmasks for CURLOPT_HTTPAUTH and CURLOPT_PROXYAUTH options:
+ *
+ * CURLAUTH_NONE - No HTTP authentication
+ * CURLAUTH_BASIC - HTTP Basic authentication (default)
+ * CURLAUTH_DIGEST - HTTP DiHuLt authentication
+ * CURLAUTH_NEGOTIATE - HTTP Negotiate (SPNEGO) authentication
+ * CURLAUTH_GSSNEGOTIATE - Alias for CURLAUTH_NEGOTIATE (deprecated)
+ * CURLAUTH_NTLM - HTTP NTLM authentication
+ * CURLAUTH_DIGEST_IE - HTTP DiHuLt authentication with IE flavour
+ * CURLAUTH_NTLM_WB - HTTP NTLM authentication delegated to winbind helper
+ * CURLAUTH_BEARER - HTTP Bearer token authentication
+ * CURLAUTH_ONLY - Use together with a single other type to force no
+ * authentication or just that single type
+ * CURLAUTH_ANY - All fine types set
+ * CURLAUTH_ANYSAFE - All fine types except Basic
+ */
+
+#define CURLAUTH_NONE ((unsigned long)0)
+#define CURLAUTH_BASIC (((unsigned long)1)<<0)
+#define CURLAUTH_DIGEST (((unsigned long)1)<<1)
+#define CURLAUTH_NEGOTIATE (((unsigned long)1)<<2)
+/* Deprecated since the advent of CURLAUTH_NEGOTIATE */
+#define CURLAUTH_GSSNEGOTIATE CURLAUTH_NEGOTIATE
+/* Used for CURLOPT_SOCKS5_AUTH to stay terminologically correct */
+#define CURLAUTH_GSSAPI CURLAUTH_NEGOTIATE
+#define CURLAUTH_NTLM (((unsigned long)1)<<3)
+#define CURLAUTH_DIGEST_IE (((unsigned long)1)<<4)
+#ifndef CURL_NO_OLDIES
+ /* functionality removed since 8.8.0 */
+#define CURLAUTH_NTLM_WB (((unsigned long)1)<<5)
+#endif
+#define CURLAUTH_BEARER (((unsigned long)1)<<6)
+#define CURLAUTH_AWS_SIGV4 (((unsigned long)1)<<7)
+#define CURLAUTH_ONLY (((unsigned long)1)<<31)
+#define CURLAUTH_ANY (~CURLAUTH_DIGEST_IE)
+#define CURLAUTH_ANYSAFE (~(CURLAUTH_BASIC|CURLAUTH_DIGEST_IE))
+
+#define CURLSSH_AUTH_ANY ~0 /* all types supported by the server */
+#define CURLSSH_AUTH_NONE 0 /* none allowed, silly but complete */
+#define CURLSSH_AUTH_PUBLICKEY (1<<0) /* public/private key files */
+#define CURLSSH_AUTH_PASSWORD (1<<1) /* password */
+#define CURLSSH_AUTH_HOST (1<<2) /* host key files */
+#define CURLSSH_AUTH_KEYBOARD (1<<3) /* keyboard interactive */
+#define CURLSSH_AUTH_AGENT (1<<4) /* agent (ssh-agent, pageant...) */
+#define CURLSSH_AUTH_GSSAPI (1<<5) /* gssapi (kerberos, ...) */
+#define CURLSSH_AUTH_DEFAULT CURLSSH_AUTH_ANY
+
+#define CURLGSSAPI_DELEGATION_NONE 0 /* no delegation (default) */
+#define CURLGSSAPI_DELEGATION_POLICY_FLAG (1<<0) /* if permitted by policy */
+#define CURLGSSAPI_DELEGATION_FLAG (1<<1) /* delegate always */
+
+#define CURL_ERROR_SIZE 256
+
+enum curl_khtype {
+ CURLKHTYPE_UNKNOWN,
+ CURLKHTYPE_RSA1,
+ CURLKHTYPE_RSA,
+ CURLKHTYPE_DSS,
+ CURLKHTYPE_ECDSA,
+ CURLKHTYPE_ED25519
+};
+
+struct curl_khkey {
+ const char *key; /* points to a null-terminated string encoded with base64
+ if len is zero, otherwise to the "raw" data */
+ size_t len;
+ enum curl_khtype keytype;
+};
+
+/* this is the set of return values expected from the curl_sshkeycallback
+ callback */
+enum curl_khstat {
+ CURLKHSTAT_FINE_ADD_TO_FILE,
+ CURLKHSTAT_FINE,
+ CURLKHSTAT_REJECT, /* reject the connection, return an error */
+ CURLKHSTAT_DEFER, /* do not accept it, but we can't answer right now.
+ Causes a CURLE_PEER_FAILED_VERIFICATION error but the
+ connection will be left intact etc */
+ CURLKHSTAT_FINE_REPLACE, /* accept and replace the wrong key */
+ CURLKHSTAT_LAST /* not for use, only a marker for last-in-list */
+};
+
+/* this is the set of status codes pass in to the callback */
+enum curl_khmatch {
+ CURLKHMATCH_OK, /* match */
+ CURLKHMATCH_MISMATCH, /* host found, key mismatch! */
+ CURLKHMATCH_MISSING, /* no matching host/key found */
+ CURLKHMATCH_LAST /* not for use, only a marker for last-in-list */
+};
+
+typedef int
+ (*curl_sshkeycallback) (CURL *easy, /* easy handle */
+ const struct curl_khkey *knownkey, /* known */
+ const struct curl_khkey *foundkey, /* found */
+ enum curl_khmatch, /* libcurl's view on the keys */
+ void *clientp); /* custom pointer passed with */
+ /* CURLOPT_SSH_KEYDATA */
+
+typedef int
+ (*curl_sshhostkeycallback) (void *clientp,/* custom pointer passed */
+ /* with CURLOPT_SSH_HOSTKEYDATA */
+ int keytype, /* CURLKHTYPE */
+ const char *key, /* hostkey to check */
+ size_t keylen); /* length of the key */
+ /* return CURLE_OK to accept */
+ /* or something else to refuse */
+
+
+/* parameter for the CURLOPT_USE_SSL option */
+typedef enum {
+ CURLUSESSL_NONE, /* do not attempt to use SSL */
+ CURLUSESSL_TRY, /* try using SSL, proceed anyway otherwise */
+ CURLUSESSL_CONTROL, /* SSL for the control connection or fail */
+ CURLUSESSL_ALL, /* SSL for all communication or fail */
+ CURLUSESSL_LAST /* not an option, never use */
+} curl_usessl;
+
+/* Definition of bits for the CURLOPT_SSL_OPTIONS argument: */
+
+/* - ALLOW_BEAST tells libcurl to allow the BEAST SSL vulnerability in the
+ name of improving interoperability with older servers. Some SSL libraries
+ have introduced work-arounds for this flaw but those work-arounds sometimes
+ make the SSL communication fail. To regain functionality with those broken
+ servers, a user can this way allow the vulnerability back. */
+#define CURLSSLOPT_ALLOW_BEAST (1<<0)
+
+/* - NO_REVOKE tells libcurl to disable certificate revocation checks for those
+ SSL backends where such behavior is present. */
+#define CURLSSLOPT_NO_REVOKE (1<<1)
+
+/* - NO_PARTIALCHAIN tells libcurl to *NOT* accept a partial certificate chain
+ if possible. The OpenSSL backend has this ability. */
+#define CURLSSLOPT_NO_PARTIALCHAIN (1<<2)
+
+/* - REVOKE_BEST_EFFORT tells libcurl to ignore certificate revocation offline
+ checks and ignore missing revocation list for those SSL backends where such
+ behavior is present. */
+#define CURLSSLOPT_REVOKE_BEST_EFFORT (1<<3)
+
+/* - CURLSSLOPT_NATIVE_CA tells libcurl to use standard certificate store of
+ operating system. Currently implemented under MS-Windows. */
+#define CURLSSLOPT_NATIVE_CA (1<<4)
+
+/* - CURLSSLOPT_AUTO_CLIENT_CERT tells libcurl to automatically locate and use
+ a client certificate for authentication. (Schannel) */
+#define CURLSSLOPT_AUTO_CLIENT_CERT (1<<5)
+
+/* The default connection attempt delay in milliseconds for happy eyeballs.
+ CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS.3 and happy-eyeballs-timeout-ms.d document
+ this value, keep them in sync. */
+#define CURL_HET_DEFAULT 200L
+
+/* The default connection upkeep interval in milliseconds. */
+#define CURL_UPKEEP_INTERVAL_DEFAULT 60000L
+
+#ifndef CURL_NO_OLDIES /* define this to test if your app builds with all
+ the obsolete stuff removed! */
+
+/* Backwards compatibility with older names */
+/* These are scheduled to disappear by 2009 */
+
+#define CURLFTPSSL_NONE CURLUSESSL_NONE
+#define CURLFTPSSL_TRY CURLUSESSL_TRY
+#define CURLFTPSSL_CONTROL CURLUSESSL_CONTROL
+#define CURLFTPSSL_ALL CURLUSESSL_ALL
+#define CURLFTPSSL_LAST CURLUSESSL_LAST
+#define curl_ftpssl curl_usessl
+#endif /* !CURL_NO_OLDIES */
+
+/* parameter for the CURLOPT_FTP_SSL_CCC option */
+typedef enum {
+ CURLFTPSSL_CCC_NONE, /* do not send CCC */
+ CURLFTPSSL_CCC_PASSIVE, /* Let the server initiate the shutdown */
+ CURLFTPSSL_CCC_ACTIVE, /* Initiate the shutdown */
+ CURLFTPSSL_CCC_LAST /* not an option, never use */
+} curl_ftpccc;
+
+/* parameter for the CURLOPT_FTPSSLAUTH option */
+typedef enum {
+ CURLFTPAUTH_DEFAULT, /* let libcurl decide */
+ CURLFTPAUTH_SSL, /* use "AUTH SSL" */
+ CURLFTPAUTH_TLS, /* use "AUTH TLS" */
+ CURLFTPAUTH_LAST /* not an option, never use */
+} curl_ftpauth;
+
+/* parameter for the CURLOPT_FTP_CREATE_MISSING_DIRS option */
+typedef enum {
+ CURLFTP_CREATE_DIR_NONE, /* do NOT create missing dirs! */
+ CURLFTP_CREATE_DIR, /* (FTP/SFTP) if CWD fails, try MKD and then CWD
+ again if MKD succeeded, for SFTP this does
+ similar magic */
+ CURLFTP_CREATE_DIR_RETRY, /* (FTP only) if CWD fails, try MKD and then CWD
+ again even if MKD failed! */
+ CURLFTP_CREATE_DIR_LAST /* not an option, never use */
+} curl_ftpcreatedir;
+
+/* parameter for the CURLOPT_FTP_FILEMETHOD option */
+typedef enum {
+ CURLFTPMETHOD_DEFAULT, /* let libcurl pick */
+ CURLFTPMETHOD_MULTICWD, /* single CWD operation for each path part */
+ CURLFTPMETHOD_NOCWD, /* no CWD at all */
+ CURLFTPMETHOD_SINGLECWD, /* one CWD to full dir, then work on file */
+ CURLFTPMETHOD_LAST /* not an option, never use */
+} curl_ftpmethod;
+
+/* bitmask defines for CURLOPT_HEADEROPT */
+#define CURLHEADER_UNIFIED 0
+#define CURLHEADER_SEPARATE (1<<0)
+
+/* CURLALTSVC_* are bits for the CURLOPT_ALTSVC_CTRL option */
+#define CURLALTSVC_READONLYFILE (1<<2)
+#define CURLALTSVC_H1 (1<<3)
+#define CURLALTSVC_H2 (1<<4)
+#define CURLALTSVC_H3 (1<<5)
+
+
+struct curl_hstsentry {
+ char *name;
+ size_t namelen;
+ unsigned int includeSubDomains:1;
+ char expire[18]; /* YYYYMMDD HH:MM:SS [null-terminated] */
+};
+
+struct curl_index {
+ size_t index; /* the provided entry's "index" or count */
+ size_t total; /* total number of entries to save */
+};
+
+typedef enum {
+ CURLSTS_OK,
+ CURLSTS_DONE,
+ CURLSTS_FAIL
+} CURLSTScode;
+
+typedef CURLSTScode (*curl_hstsread_callback)(CURL *easy,
+ struct curl_hstsentry *e,
+ void *userp);
+typedef CURLSTScode (*curl_hstswrite_callback)(CURL *easy,
+ struct curl_hstsentry *e,
+ struct curl_index *i,
+ void *userp);
+
+/* CURLHSTS_* are bits for the CURLOPT_HSTS option */
+#define CURLHSTS_ENABLE (long)(1<<0)
+#define CURLHSTS_READONLYFILE (long)(1<<1)
+
+/* The CURLPROTO_ defines below are for the **deprecated** CURLOPT_*PROTOCOLS
+ options. Do not use. */
+#define CURLPROTO_HTTP (1<<0)
+#define CURLPROTO_HTTPS (1<<1)
+#define CURLPROTO_FTP (1<<2)
+#define CURLPROTO_FTPS (1<<3)
+#define CURLPROTO_SCP (1<<4)
+#define CURLPROTO_SFTP (1<<5)
+#define CURLPROTO_TELNET (1<<6)
+#define CURLPROTO_LDAP (1<<7)
+#define CURLPROTO_LDAPS (1<<8)
+#define CURLPROTO_DICT (1<<9)
+#define CURLPROTO_FILE (1<<10)
+#define CURLPROTO_TFTP (1<<11)
+#define CURLPROTO_IMAP (1<<12)
+#define CURLPROTO_IMAPS (1<<13)
+#define CURLPROTO_POP3 (1<<14)
+#define CURLPROTO_POP3S (1<<15)
+#define CURLPROTO_SMTP (1<<16)
+#define CURLPROTO_SMTPS (1<<17)
+#define CURLPROTO_RTSP (1<<18)
+#define CURLPROTO_RTMP (1<<19)
+#define CURLPROTO_RTMPT (1<<20)
+#define CURLPROTO_RTMPE (1<<21)
+#define CURLPROTO_RTMPTE (1<<22)
+#define CURLPROTO_RTMPS (1<<23)
+#define CURLPROTO_RTMPTS (1<<24)
+#define CURLPROTO_GOPHER (1<<25)
+#define CURLPROTO_SMB (1<<26)
+#define CURLPROTO_SMBS (1<<27)
+#define CURLPROTO_MQTT (1<<28)
+#define CURLPROTO_GOPHERS (1<<29)
+#define CURLPROTO_ALL (~0) /* enable everything */
+
+/* long may be 32 or 64 bits, but we should never depend on anything else
+ but 32 */
+#define CURLOPTTYPE_LONG 0
+#define CURLOPTTYPE_OBJECTPOINT 10000
+#define CURLOPTTYPE_FUNCTIONPOINT 20000
+#define CURLOPTTYPE_OFF_T 30000
+#define CURLOPTTYPE_BLOB 40000
+
+/* *STRINGPOINT is an alias for OBJECTPOINT to allow tools to extract the
+ string options from the header file */
+
+
+#define CURLOPT(na,t,nu) na = t + nu
+#define CURLOPTDEPRECATED(na,t,nu,v,m) na CURL_DEPRECATED(v,m) = t + nu
+
+/* CURLOPT aliases that make no run-time difference */
+
+/* 'char *' argument to a string with a trailing zero */
+#define CURLOPTTYPE_STRINGPOINT CURLOPTTYPE_OBJECTPOINT
+
+/* 'struct curl_slist *' argument */
+#define CURLOPTTYPE_SLISTPOINT CURLOPTTYPE_OBJECTPOINT
+
+/* 'void *' argument passed untouched to callback */
+#define CURLOPTTYPE_CBPOINT CURLOPTTYPE_OBJECTPOINT
+
+/* 'long' argument with a set of values/bitmask */
+#define CURLOPTTYPE_VALUES CURLOPTTYPE_LONG
+
+/*
+ * All CURLOPT_* values.
+ */
+
+typedef enum {
+ /* This is the FILE * or void * the regular output should be written to. */
+ CURLOPT(CURLOPT_WRITEDATA, CURLOPTTYPE_CBPOINT, 1),
+
+ /* The full URL to get/put */
+ CURLOPT(CURLOPT_URL, CURLOPTTYPE_STRINGPOINT, 2),
+
+ /* Port number to connect to, if other than default. */
+ CURLOPT(CURLOPT_PORT, CURLOPTTYPE_LONG, 3),
+
+ /* Name of proxy to use. */
+ CURLOPT(CURLOPT_PROXY, CURLOPTTYPE_STRINGPOINT, 4),
+
+ /* "user:password;options" to use when fetching. */
+ CURLOPT(CURLOPT_USERPWD, CURLOPTTYPE_STRINGPOINT, 5),
+
+ /* "user:password" to use with proxy. */
+ CURLOPT(CURLOPT_PROXYUSERPWD, CURLOPTTYPE_STRINGPOINT, 6),
+
+ /* Range to get, specified as an ASCII string. */
+ CURLOPT(CURLOPT_RANGE, CURLOPTTYPE_STRINGPOINT, 7),
+
+ /* not used */
+
+ /* Specified file stream to upload from (use as input): */
+ CURLOPT(CURLOPT_READDATA, CURLOPTTYPE_CBPOINT, 9),
+
+ /* Buffer to receive error messaHuL in, must be at least CURL_ERROR_SIZE
+ * bytes big. */
+ CURLOPT(CURLOPT_ERRORBUFFER, CURLOPTTYPE_OBJECTPOINT, 10),
+
+ /* Function that will be called to store the output (instead of fwrite). The
+ * parameters will use fwrite() syntax, make sure to follow them. */
+ CURLOPT(CURLOPT_WRITEFUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 11),
+
+ /* Function that will be called to read the input (instead of fread). The
+ * parameters will use fread() syntax, make sure to follow them. */
+ CURLOPT(CURLOPT_READFUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 12),
+
+ /* Time-out the read operation after this amount of seconds */
+ CURLOPT(CURLOPT_TIMEOUT, CURLOPTTYPE_LONG, 13),
+
+ /* If CURLOPT_READDATA is used, this can be used to inform libcurl about
+ * how large the file being sent really is. That allows better error
+ * checking and better verifies that the upload was successful. -1 means
+ * unknown size.
+ *
+ * For large file support, there is also a _LARGE version of the key
+ * which takes an off_t type, allowing platforms with larger off_t
+ * sizes to handle larger files. See below for INFILESIZE_LARGE.
+ */
+ CURLOPT(CURLOPT_INFILESIZE, CURLOPTTYPE_LONG, 14),
+
+ /* POST static input fields. */
+ CURLOPT(CURLOPT_POSTFIELDS, CURLOPTTYPE_OBJECTPOINT, 15),
+
+ /* Set the referrer page (needed by some CGIs) */
+ CURLOPT(CURLOPT_REFERER, CURLOPTTYPE_STRINGPOINT, 16),
+
+ /* Set the FTP PORT string (interface name, named or numerical IP address)
+ Use i.e '-' to use default address. */
+ CURLOPT(CURLOPT_FTPPORT, CURLOPTTYPE_STRINGPOINT, 17),
+
+ /* Set the User-Agent string (examined by some CGIs) */
+ CURLOPT(CURLOPT_USERAGENT, CURLOPTTYPE_STRINGPOINT, 18),
+
+ /* If the download receives less than "low speed limit" bytes/second
+ * during "low speed time" seconds, the operations is aborted.
+ * You could i.e if you have a pretty high speed connection, abort if
+ * it is less than 2000 bytes/sec during 20 seconds.
+ */
+
+ /* Set the "low speed limit" */
+ CURLOPT(CURLOPT_LOW_SPEED_LIMIT, CURLOPTTYPE_LONG, 19),
+
+ /* Set the "low speed time" */
+ CURLOPT(CURLOPT_LOW_SPEED_TIME, CURLOPTTYPE_LONG, 20),
+
+ /* Set the continuation offset.
+ *
+ * Note there is also a _LARGE version of this key which uses
+ * off_t types, allowing for large file offsets on platforms which
+ * use larger-than-32-bit off_t's. Look below for RESUME_FROM_LARGE.
+ */
+ CURLOPT(CURLOPT_RESUME_FROM, CURLOPTTYPE_LONG, 21),
+
+ /* Set cookie in request: */
+ CURLOPT(CURLOPT_COOKIE, CURLOPTTYPE_STRINGPOINT, 22),
+
+ /* This points to a linked list of headers, struct curl_slist kind. This
+ list is also used for RTSP (in spite of its name) */
+ CURLOPT(CURLOPT_HTTPHEADER, CURLOPTTYPE_SLISTPOINT, 23),
+
+ /* This points to a linked list of post entries, struct curl_httppost */
+ CURLOPTDEPRECATED(CURLOPT_HTTPPOST, CURLOPTTYPE_OBJECTPOINT, 24,
+ 7.56.0, "Use CURLOPT_MIMEPOST"),
+
+ /* name of the file keeping your private SSL-certificate */
+ CURLOPT(CURLOPT_SSLCERT, CURLOPTTYPE_STRINGPOINT, 25),
+
+ /* password for the SSL or SSH private key */
+ CURLOPT(CURLOPT_KEYPASSWD, CURLOPTTYPE_STRINGPOINT, 26),
+
+ /* send TYPE parameter? */
+ CURLOPT(CURLOPT_CRLF, CURLOPTTYPE_LONG, 27),
+
+ /* send linked-list of QUOTE commands */
+ CURLOPT(CURLOPT_QUOTE, CURLOPTTYPE_SLISTPOINT, 28),
+
+ /* send FILE * or void * to store headers to, if you use a callback it
+ is simply passed to the callback unmodified */
+ CURLOPT(CURLOPT_HEADERDATA, CURLOPTTYPE_CBPOINT, 29),
+
+ /* point to a file to read the initial cookies from, also enables
+ "cookie awareness" */
+ CURLOPT(CURLOPT_COOKIEFILE, CURLOPTTYPE_STRINGPOINT, 31),
+
+ /* What version to specifically try to use.
+ See CURL_SSLVERSION defines below. */
+ CURLOPT(CURLOPT_SSLVERSION, CURLOPTTYPE_VALUES, 32),
+
+ /* What kind of HTTP time condition to use, see defines */
+ CURLOPT(CURLOPT_TIMECONDITION, CURLOPTTYPE_VALUES, 33),
+
+ /* Time to use with the above condition. Specified in number of seconds
+ since 1 Jan 1970 */
+ CURLOPT(CURLOPT_TIMEVALUE, CURLOPTTYPE_LONG, 34),
+
+ /* 35 = OBSOLETE */
+
+ /* Custom request, for customizing the get command like
+ HTTP: DELETE, TRACE and others
+ FTP: to use a different list command
+ */
+ CURLOPT(CURLOPT_CUSTOMREQUEST, CURLOPTTYPE_STRINGPOINT, 36),
+
+ /* FILE handle to use instead of stderr */
+ CURLOPT(CURLOPT_STDERR, CURLOPTTYPE_OBJECTPOINT, 37),
+
+ /* 38 is not used */
+
+ /* send linked-list of post-transfer QUOTE commands */
+ CURLOPT(CURLOPT_POSTQUOTE, CURLOPTTYPE_SLISTPOINT, 39),
+
+ /* OBSOLETE, do not use! */
+ CURLOPT(CURLOPT_OBSOLETE40, CURLOPTTYPE_OBJECTPOINT, 40),
+
+ /* talk a lot */
+ CURLOPT(CURLOPT_VERBOSE, CURLOPTTYPE_LONG, 41),
+
+ /* throw the header out too */
+ CURLOPT(CURLOPT_HEADER, CURLOPTTYPE_LONG, 42),
+
+ /* shut off the progress meter */
+ CURLOPT(CURLOPT_NOPROGRESS, CURLOPTTYPE_LONG, 43),
+
+ /* use HEAD to get http document */
+ CURLOPT(CURLOPT_NOBODY, CURLOPTTYPE_LONG, 44),
+
+ /* no output on http error codes >= 400 */
+ CURLOPT(CURLOPT_FAILONERROR, CURLOPTTYPE_LONG, 45),
+
+ /* this is an upload */
+ CURLOPT(CURLOPT_UPLOAD, CURLOPTTYPE_LONG, 46),
+
+ /* HTTP POST method */
+ CURLOPT(CURLOPT_POST, CURLOPTTYPE_LONG, 47),
+
+ /* bare names when listing directories */
+ CURLOPT(CURLOPT_DIRLISTONLY, CURLOPTTYPE_LONG, 48),
+
+ /* Append instead of overwrite on upload! */
+ CURLOPT(CURLOPT_APPEND, CURLOPTTYPE_LONG, 50),
+
+ /* Specify whether to read the user+password from the .netrc or the URL.
+ * This must be one of the CURL_NETRC_* enums below. */
+ CURLOPT(CURLOPT_NETRC, CURLOPTTYPE_VALUES, 51),
+
+ /* use Location: Luke! */
+ CURLOPT(CURLOPT_FOLLOWLOCATION, CURLOPTTYPE_LONG, 52),
+
+ /* transfer data in text/ASCII format */
+ CURLOPT(CURLOPT_TRANSFERTEXT, CURLOPTTYPE_LONG, 53),
+
+ /* HTTP PUT */
+ CURLOPTDEPRECATED(CURLOPT_PUT, CURLOPTTYPE_LONG, 54,
+ 7.12.1, "Use CURLOPT_UPLOAD"),
+
+ /* 55 = OBSOLETE */
+
+ /* DEPRECATED
+ * Function that will be called instead of the internal progress display
+ * function. This function should be defined as the curl_progress_callback
+ * prototype defines. */
+ CURLOPTDEPRECATED(CURLOPT_PROGRESSFUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 56,
+ 7.32.0, "Use CURLOPT_XFERINFOFUNCTION"),
+
+ /* Data passed to the CURLOPT_PROGRESSFUNCTION and CURLOPT_XFERINFOFUNCTION
+ callbacks */
+ CURLOPT(CURLOPT_XFERINFODATA, CURLOPTTYPE_CBPOINT, 57),
+#define CURLOPT_PROGRESSDATA CURLOPT_XFERINFODATA
+
+ /* We want the referrer field set automatically when following locations */
+ CURLOPT(CURLOPT_AUTOREFERER, CURLOPTTYPE_LONG, 58),
+
+ /* Port of the proxy, can be set in the proxy string as well with:
+ "[host]:[port]" */
+ CURLOPT(CURLOPT_PROXYPORT, CURLOPTTYPE_LONG, 59),
+
+ /* size of the POST input data, if strlen() is not good to use */
+ CURLOPT(CURLOPT_POSTFIELDSIZE, CURLOPTTYPE_LONG, 60),
+
+ /* tunnel non-http operations through an HTTP proxy */
+ CURLOPT(CURLOPT_HTTPPROXYTUNNEL, CURLOPTTYPE_LONG, 61),
+
+ /* Set the interface string to use as outgoing network interface */
+ CURLOPT(CURLOPT_INTERFACE, CURLOPTTYPE_STRINGPOINT, 62),
+
+ /* Set the krb4/5 security level, this also enables krb4/5 awareness. This
+ * is a string, 'clear', 'safe', 'confidential' or 'private'. If the string
+ * is set but doesn't match one of these, 'private' will be used. */
+ CURLOPT(CURLOPT_KRBLEVEL, CURLOPTTYPE_STRINGPOINT, 63),
+
+ /* Set if we should verify the peer in ssl handshake, set 1 to verify. */
+ CURLOPT(CURLOPT_SSL_VERIFYPEER, CURLOPTTYPE_LONG, 64),
+
+ /* The CApath or CAfile used to validate the peer certificate
+ this option is used only if SSL_VERIFYPEER is true */
+ CURLOPT(CURLOPT_CAINFO, CURLOPTTYPE_STRINGPOINT, 65),
+
+ /* 66 = OBSOLETE */
+ /* 67 = OBSOLETE */
+
+ /* Maximum number of http redirects to follow */
+ CURLOPT(CURLOPT_MAXREDIRS, CURLOPTTYPE_LONG, 68),
+
+ /* Pass a long set to 1 to get the date of the requested document (if
+ possible)! Pass a zero to shut it off. */
+ CURLOPT(CURLOPT_FILETIME, CURLOPTTYPE_LONG, 69),
+
+ /* This points to a linked list of telnet options */
+ CURLOPT(CURLOPT_TELNETOPTIONS, CURLOPTTYPE_SLISTPOINT, 70),
+
+ /* Max amount of cached alive connections */
+ CURLOPT(CURLOPT_MAXCONNECTS, CURLOPTTYPE_LONG, 71),
+
+ /* OBSOLETE, do not use! */
+ CURLOPT(CURLOPT_OBSOLETE72, CURLOPTTYPE_LONG, 72),
+
+ /* 73 = OBSOLETE */
+
+ /* Set to explicitly use a new connection for the upcoming transfer.
+ Do not use this unless you're absolutely sure of this, as it makes the
+ operation slower and is less friendly for the network. */
+ CURLOPT(CURLOPT_FRESH_CONNECT, CURLOPTTYPE_LONG, 74),
+
+ /* Set to explicitly forbid the upcoming transfer's connection to be reused
+ when done. Do not use this unless you're absolutely sure of this, as it
+ makes the operation slower and is less friendly for the network. */
+ CURLOPT(CURLOPT_FORBID_REUSE, CURLOPTTYPE_LONG, 75),
+
+ /* Set to a file name that contains random data for libcurl to use to
+ seed the random engine when doing SSL connects. */
+ CURLOPTDEPRECATED(CURLOPT_RANDOM_FILE, CURLOPTTYPE_STRINGPOINT, 76,
+ 7.84.0, "Serves no purpose anymore"),
+
+ /* Set to the Entropy Gathering Daemon socket pathname */
+ CURLOPTDEPRECATED(CURLOPT_EGDSOCKET, CURLOPTTYPE_STRINGPOINT, 77,
+ 7.84.0, "Serves no purpose anymore"),
+
+ /* Time-out connect operations after this amount of seconds, if connects are
+ OK within this time, then fine... This only aborts the connect phase. */
+ CURLOPT(CURLOPT_CONNECTTIMEOUT, CURLOPTTYPE_LONG, 78),
+
+ /* Function that will be called to store headers (instead of fwrite). The
+ * parameters will use fwrite() syntax, make sure to follow them. */
+ CURLOPT(CURLOPT_HEADERFUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 79),
+
+ /* Set this to force the HTTP request to get back to GET. Only really usable
+ if POST, PUT or a custom request have been used first.
+ */
+ CURLOPT(CURLOPT_HTTPGET, CURLOPTTYPE_LONG, 80),
+
+ /* Set if we should verify the Common name from the peer certificate in ssl
+ * handshake, set 1 to check existence, 2 to ensure that it matches the
+ * provided hostname. */
+ CURLOPT(CURLOPT_SSL_VERIFYHOST, CURLOPTTYPE_LONG, 81),
+
+ /* Specify which file name to write all known cookies in after completed
+ operation. Set file name to "-" (dash) to make it go to stdout. */
+ CURLOPT(CURLOPT_COOKIEJAR, CURLOPTTYPE_STRINGPOINT, 82),
+
+ /* Specify which SSL ciphers to use */
+ CURLOPT(CURLOPT_SSL_CIPHER_LIST, CURLOPTTYPE_STRINGPOINT, 83),
+
+ /* Specify which HTTP version to use! This must be set to one of the
+ CURL_HTTP_VERSION* enums set below. */
+ CURLOPT(CURLOPT_HTTP_VERSION, CURLOPTTYPE_VALUES, 84),
+
+ /* Specifically switch on or off the FTP engine's use of the EPSV command. By
+ default, that one will always be attempted before the more traditional
+ PASV command. */
+ CURLOPT(CURLOPT_FTP_USE_EPSV, CURLOPTTYPE_LONG, 85),
+
+ /* type of the file keeping your SSL-certificate ("DER", "PEM", "ENG") */
+ CURLOPT(CURLOPT_SSLCERTTYPE, CURLOPTTYPE_STRINGPOINT, 86),
+
+ /* name of the file keeping your private SSL-key */
+ CURLOPT(CURLOPT_SSLKEY, CURLOPTTYPE_STRINGPOINT, 87),
+
+ /* type of the file keeping your private SSL-key ("DER", "PEM", "ENG") */
+ CURLOPT(CURLOPT_SSLKEYTYPE, CURLOPTTYPE_STRINGPOINT, 88),
+
+ /* crypto engine for the SSL-sub system */
+ CURLOPT(CURLOPT_SSLENGINE, CURLOPTTYPE_STRINGPOINT, 89),
+
+ /* set the crypto engine for the SSL-sub system as default
+ the param has no meaning...
+ */
+ CURLOPT(CURLOPT_SSLENGINE_DEFAULT, CURLOPTTYPE_LONG, 90),
+
+ /* Non-zero value means to use the global dns cache */
+ /* DEPRECATED, do not use! */
+ CURLOPTDEPRECATED(CURLOPT_DNS_USE_GLOBAL_CACHE, CURLOPTTYPE_LONG, 91,
+ 7.11.1, "Use CURLOPT_SHARE"),
+
+ /* DNS cache timeout */
+ CURLOPT(CURLOPT_DNS_CACHE_TIMEOUT, CURLOPTTYPE_LONG, 92),
+
+ /* send linked-list of pre-transfer QUOTE commands */
+ CURLOPT(CURLOPT_PREQUOTE, CURLOPTTYPE_SLISTPOINT, 93),
+
+ /* set the debug function */
+ CURLOPT(CURLOPT_DEBUGFUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 94),
+
+ /* set the data for the debug function */
+ CURLOPT(CURLOPT_DEBUGDATA, CURLOPTTYPE_CBPOINT, 95),
+
+ /* mark this as start of a cookie session */
+ CURLOPT(CURLOPT_COOKIESESSION, CURLOPTTYPE_LONG, 96),
+
+ /* The CApath directory used to validate the peer certificate
+ this option is used only if SSL_VERIFYPEER is true */
+ CURLOPT(CURLOPT_CAPATH, CURLOPTTYPE_STRINGPOINT, 97),
+
+ /* Instruct libcurl to use a smaller receive buffer */
+ CURLOPT(CURLOPT_BUFFERSIZE, CURLOPTTYPE_LONG, 98),
+
+ /* Instruct libcurl to not use any signal/alarm handlers, even when using
+ timeouts. This option is useful for multi-threaded applications.
+ See libcurl-the-guide for more background information. */
+ CURLOPT(CURLOPT_NOSIGNAL, CURLOPTTYPE_LONG, 99),
+
+ /* Provide a CURLShare for mutexing non-ts data */
+ CURLOPT(CURLOPT_SHARE, CURLOPTTYPE_OBJECTPOINT, 100),
+
+ /* indicates type of proxy. accepted values are CURLPROXY_HTTP (default),
+ CURLPROXY_HTTPS, CURLPROXY_SOCKS4, CURLPROXY_SOCKS4A and
+ CURLPROXY_SOCKS5. */
+ CURLOPT(CURLOPT_PROXYTYPE, CURLOPTTYPE_VALUES, 101),
+
+ /* Set the Accept-Encoding string. Use this to tell a server you would like
+ the response to be compressed. Before 7.21.6, this was known as
+ CURLOPT_ENCODING */
+ CURLOPT(CURLOPT_ACCEPT_ENCODING, CURLOPTTYPE_STRINGPOINT, 102),
+
+ /* Set pointer to private data */
+ CURLOPT(CURLOPT_PRIVATE, CURLOPTTYPE_OBJECTPOINT, 103),
+
+ /* Set aliases for HTTP 200 in the HTTP Response header */
+ CURLOPT(CURLOPT_HTTP200ALIASES, CURLOPTTYPE_SLISTPOINT, 104),
+
+ /* Continue to send authentication (user+password) when following locations,
+ even when hostname changed. This can potentially send off the name
+ and password to whatever host the server decides. */
+ CURLOPT(CURLOPT_UNRESTRICTED_AUTH, CURLOPTTYPE_LONG, 105),
+
+ /* Specifically switch on or off the FTP engine's use of the EPRT command (
+ it also disables the LPRT attempt). By default, those ones will always be
+ attempted before the good old traditional PORT command. */
+ CURLOPT(CURLOPT_FTP_USE_EPRT, CURLOPTTYPE_LONG, 106),
+
+ /* Set this to a bitmask value to enable the particular authentications
+ methods you like. Use this in combination with CURLOPT_USERPWD.
+ Note that setting multiple bits may cause extra network round-trips. */
+ CURLOPT(CURLOPT_HTTPAUTH, CURLOPTTYPE_VALUES, 107),
+
+ /* Set the ssl context callback function, currently only for OpenSSL or
+ WolfSSL ssl_ctx, or mbedTLS mbedtls_ssl_config in the second argument.
+ The function must match the curl_ssl_ctx_callback prototype. */
+ CURLOPT(CURLOPT_SSL_CTX_FUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 108),
+
+ /* Set the userdata for the ssl context callback function's third
+ argument */
+ CURLOPT(CURLOPT_SSL_CTX_DATA, CURLOPTTYPE_CBPOINT, 109),
+
+ /* FTP Option that causes missing dirs to be created on the remote server.
+ In 7.19.4 we introduced the convenience enums for this option using the
+ CURLFTP_CREATE_DIR prefix.
+ */
+ CURLOPT(CURLOPT_FTP_CREATE_MISSING_DIRS, CURLOPTTYPE_LONG, 110),
+
+ /* Set this to a bitmask value to enable the particular authentications
+ methods you like. Use this in combination with CURLOPT_PROXYUSERPWD.
+ Note that setting multiple bits may cause extra network round-trips. */
+ CURLOPT(CURLOPT_PROXYAUTH, CURLOPTTYPE_VALUES, 111),
+
+ /* Option that chanHuL the timeout, in seconds, associated with getting a
+ response. This is different from transfer timeout time and essentially
+ places a demand on the server to acknowledge commands in a timely
+ manner. For FTP, SMTP, IMAP and POP3. */
+ CURLOPT(CURLOPT_SERVER_RESPONSE_TIMEOUT, CURLOPTTYPE_LONG, 112),
+
+ /* Set this option to one of the CURL_IPRESOLVE_* defines (see below) to
+ tell libcurl to use those IP versions only. This only has effect on
+ systems with support for more than one, i.e IPv4 _and_ IPv6. */
+ CURLOPT(CURLOPT_IPRESOLVE, CURLOPTTYPE_VALUES, 113),
+
+ /* Set this option to limit the size of a file that will be downloaded from
+ an HTTP or FTP server.
+
+ Note there is also _LARGE version which adds large file support for
+ platforms which have larger off_t sizes. See MAXFILESIZE_LARGE below. */
+ CURLOPT(CURLOPT_MAXFILESIZE, CURLOPTTYPE_LONG, 114),
+
+ /* See the comment for INFILESIZE above, but in short, specifies
+ * the size of the file being uploaded. -1 means unknown.
+ */
+ CURLOPT(CURLOPT_INFILESIZE_LARGE, CURLOPTTYPE_OFF_T, 115),
+
+ /* Sets the continuation offset. There is also a CURLOPTTYPE_LONG version
+ * of this; look above for RESUME_FROM.
+ */
+ CURLOPT(CURLOPT_RESUME_FROM_LARGE, CURLOPTTYPE_OFF_T, 116),
+
+ /* Sets the maximum size of data that will be downloaded from
+ * an HTTP or FTP server. See MAXFILESIZE above for the LONG version.
+ */
+ CURLOPT(CURLOPT_MAXFILESIZE_LARGE, CURLOPTTYPE_OFF_T, 117),
+
+ /* Set this option to the file name of your .netrc file you want libcurl
+ to parse (using the CURLOPT_NETRC option). If not set, libcurl will do
+ a poor attempt to find the user's home directory and check for a .netrc
+ file in there. */
+ CURLOPT(CURLOPT_NETRC_FILE, CURLOPTTYPE_STRINGPOINT, 118),
+
+ /* Enable SSL/TLS for FTP, pick one of:
+ CURLUSESSL_TRY - try using SSL, proceed anyway otherwise
+ CURLUSESSL_CONTROL - SSL for the control connection or fail
+ CURLUSESSL_ALL - SSL for all communication or fail
+ */
+ CURLOPT(CURLOPT_USE_SSL, CURLOPTTYPE_VALUES, 119),
+
+ /* The _LARGE version of the standard POSTFIELDSIZE option */
+ CURLOPT(CURLOPT_POSTFIELDSIZE_LARGE, CURLOPTTYPE_OFF_T, 120),
+
+ /* Enable/disable the TCP Nagle algorithm */
+ CURLOPT(CURLOPT_TCP_NODELAY, CURLOPTTYPE_LONG, 121),
+
+ /* 122 OBSOLETE, used in 7.12.3. Gone in 7.13.0 */
+ /* 123 OBSOLETE. Gone in 7.16.0 */
+ /* 124 OBSOLETE, used in 7.12.3. Gone in 7.13.0 */
+ /* 125 OBSOLETE, used in 7.12.3. Gone in 7.13.0 */
+ /* 126 OBSOLETE, used in 7.12.3. Gone in 7.13.0 */
+ /* 127 OBSOLETE. Gone in 7.16.0 */
+ /* 128 OBSOLETE. Gone in 7.16.0 */
+
+ /* When FTP over SSL/TLS is selected (with CURLOPT_USE_SSL), this option
+ can be used to change libcurl's default action which is to first try
+ "AUTH SSL" and then "AUTH TLS" in this order, and proceed when a OK
+ response has been received.
+
+ Available parameters are:
+ CURLFTPAUTH_DEFAULT - let libcurl decide
+ CURLFTPAUTH_SSL - try "AUTH SSL" first, then TLS
+ CURLFTPAUTH_TLS - try "AUTH TLS" first, then SSL
+ */
+ CURLOPT(CURLOPT_FTPSSLAUTH, CURLOPTTYPE_VALUES, 129),
+
+ CURLOPTDEPRECATED(CURLOPT_IOCTLFUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 130,
+ 7.18.0, "Use CURLOPT_SEEKFUNCTION"),
+ CURLOPTDEPRECATED(CURLOPT_IOCTLDATA, CURLOPTTYPE_CBPOINT, 131,
+ 7.18.0, "Use CURLOPT_SEEKDATA"),
+
+ /* 132 OBSOLETE. Gone in 7.16.0 */
+ /* 133 OBSOLETE. Gone in 7.16.0 */
+
+ /* null-terminated string for pass on to the FTP server when asked for
+ "account" info */
+ CURLOPT(CURLOPT_FTP_ACCOUNT, CURLOPTTYPE_STRINGPOINT, 134),
+
+ /* feed cookie into cookie engine */
+ CURLOPT(CURLOPT_COOKIELIST, CURLOPTTYPE_STRINGPOINT, 135),
+
+ /* ignore Content-Length */
+ CURLOPT(CURLOPT_IGNORE_CONTENT_LENGTH, CURLOPTTYPE_LONG, 136),
+
+ /* Set to non-zero to skip the IP address received in a 227 PASV FTP server
+ response. Typically used for FTP-SSL purposes but is not restricted to
+ that. libcurl will then instead use the same IP address it used for the
+ control connection. */
+ CURLOPT(CURLOPT_FTP_SKIP_PASV_IP, CURLOPTTYPE_LONG, 137),
+
+ /* Select "file method" to use when doing FTP, see the curl_ftpmethod
+ above. */
+ CURLOPT(CURLOPT_FTP_FILEMETHOD, CURLOPTTYPE_VALUES, 138),
+
+ /* Local port number to bind the socket to */
+ CURLOPT(CURLOPT_LOCALPORT, CURLOPTTYPE_LONG, 139),
+
+ /* Number of ports to try, including the first one set with LOCALPORT.
+ Thus, setting it to 1 will make no additional attempts but the first.
+ */
+ CURLOPT(CURLOPT_LOCALPORTRANGE, CURLOPTTYPE_LONG, 140),
+
+ /* no transfer, set up connection and let application use the socket by
+ extracting it with CURLINFO_LASTSOCKET */
+ CURLOPT(CURLOPT_CONNECT_ONLY, CURLOPTTYPE_LONG, 141),
+
+ /* Function that will be called to convert from the
+ network encoding (instead of using the iconv calls in libcurl) */
+ CURLOPTDEPRECATED(CURLOPT_CONV_FROM_NETWORK_FUNCTION,
+ CURLOPTTYPE_FUNCTIONPOINT, 142,
+ 7.82.0, "Serves no purpose anymore"),
+
+ /* Function that will be called to convert to the
+ network encoding (instead of using the iconv calls in libcurl) */
+ CURLOPTDEPRECATED(CURLOPT_CONV_TO_NETWORK_FUNCTION,
+ CURLOPTTYPE_FUNCTIONPOINT, 143,
+ 7.82.0, "Serves no purpose anymore"),
+
+ /* Function that will be called to convert from UTF8
+ (instead of using the iconv calls in libcurl)
+ Note that this is used only for SSL certificate processing */
+ CURLOPTDEPRECATED(CURLOPT_CONV_FROM_UTF8_FUNCTION,
+ CURLOPTTYPE_FUNCTIONPOINT, 144,
+ 7.82.0, "Serves no purpose anymore"),
+
+ /* if the connection proceeds too quickly then need to slow it down */
+ /* limit-rate: maximum number of bytes per second to send or receive */
+ CURLOPT(CURLOPT_MAX_SEND_SPEED_LARGE, CURLOPTTYPE_OFF_T, 145),
+ CURLOPT(CURLOPT_MAX_RECV_SPEED_LARGE, CURLOPTTYPE_OFF_T, 146),
+
+ /* Pointer to command string to send if USER/PASS fails. */
+ CURLOPT(CURLOPT_FTP_ALTERNATIVE_TO_USER, CURLOPTTYPE_STRINGPOINT, 147),
+
+ /* callback function for setting socket options */
+ CURLOPT(CURLOPT_SOCKOPTFUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 148),
+ CURLOPT(CURLOPT_SOCKOPTDATA, CURLOPTTYPE_CBPOINT, 149),
+
+ /* set to 0 to disable session ID reuse for this transfer, default is
+ enabled (== 1) */
+ CURLOPT(CURLOPT_SSL_SESSIONID_CACHE, CURLOPTTYPE_LONG, 150),
+
+ /* allowed SSH authentication methods */
+ CURLOPT(CURLOPT_SSH_AUTH_TYPES, CURLOPTTYPE_VALUES, 151),
+
+ /* Used by scp/sftp to do public/private key authentication */
+ CURLOPT(CURLOPT_SSH_PUBLIC_KEYFILE, CURLOPTTYPE_STRINGPOINT, 152),
+ CURLOPT(CURLOPT_SSH_PRIVATE_KEYFILE, CURLOPTTYPE_STRINGPOINT, 153),
+
+ /* Send CCC (Clear Command Channel) after authentication */
+ CURLOPT(CURLOPT_FTP_SSL_CCC, CURLOPTTYPE_LONG, 154),
+
+ /* Same as TIMEOUT and CONNECTTIMEOUT, but with ms resolution */
+ CURLOPT(CURLOPT_TIMEOUT_MS, CURLOPTTYPE_LONG, 155),
+ CURLOPT(CURLOPT_CONNECTTIMEOUT_MS, CURLOPTTYPE_LONG, 156),
+
+ /* set to zero to disable the libcurl's decoding and thus pass the raw body
+ data to the application even when it is encoded/compressed */
+ CURLOPT(CURLOPT_HTTP_TRANSFER_DECODING, CURLOPTTYPE_LONG, 157),
+ CURLOPT(CURLOPT_HTTP_CONTENT_DECODING, CURLOPTTYPE_LONG, 158),
+
+ /* Permission used when creating new files and directories on the remote
+ server for protocols that support it, SFTP/SCP/FILE */
+ CURLOPT(CURLOPT_NEW_FILE_PERMS, CURLOPTTYPE_LONG, 159),
+ CURLOPT(CURLOPT_NEW_DIRECTORY_PERMS, CURLOPTTYPE_LONG, 160),
+
+ /* Set the behavior of POST when redirecting. Values must be set to one
+ of CURL_REDIR* defines below. This used to be called CURLOPT_POST301 */
+ CURLOPT(CURLOPT_POSTREDIR, CURLOPTTYPE_VALUES, 161),
+
+ /* used by scp/sftp to verify the host's public key */
+ CURLOPT(CURLOPT_SSH_HOST_PUBLIC_KEY_MD5, CURLOPTTYPE_STRINGPOINT, 162),
+
+ /* Callback function for opening socket (instead of socket(2)). Optionally,
+ callback is able change the address or refuse to connect returning
+ CURL_SOCKET_BAD. The callback should have type
+ curl_opensocket_callback */
+ CURLOPT(CURLOPT_OPENSOCKETFUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 163),
+ CURLOPT(CURLOPT_OPENSOCKETDATA, CURLOPTTYPE_CBPOINT, 164),
+
+ /* POST volatile input fields. */
+ CURLOPT(CURLOPT_COPYPOSTFIELDS, CURLOPTTYPE_OBJECTPOINT, 165),
+
+ /* set transfer mode (;type=) when doing FTP via an HTTP proxy */
+ CURLOPT(CURLOPT_PROXY_TRANSFER_MODE, CURLOPTTYPE_LONG, 166),
+
+ /* Callback function for seeking in the input stream */
+ CURLOPT(CURLOPT_SEEKFUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 167),
+ CURLOPT(CURLOPT_SEEKDATA, CURLOPTTYPE_CBPOINT, 168),
+
+ /* CRL file */
+ CURLOPT(CURLOPT_CRLFILE, CURLOPTTYPE_STRINGPOINT, 169),
+
+ /* Issuer certificate */
+ CURLOPT(CURLOPT_ISSUERCERT, CURLOPTTYPE_STRINGPOINT, 170),
+
+ /* (IPv6) Address scope */
+ CURLOPT(CURLOPT_ADDRESS_SCOPE, CURLOPTTYPE_LONG, 171),
+
+ /* Collect certificate chain info and allow it to get retrievable with
+ CURLINFO_CERTINFO after the transfer is complete. */
+ CURLOPT(CURLOPT_CERTINFO, CURLOPTTYPE_LONG, 172),
+
+ /* "name" and "pwd" to use when fetching. */
+ CURLOPT(CURLOPT_USERNAME, CURLOPTTYPE_STRINGPOINT, 173),
+ CURLOPT(CURLOPT_PASSWORD, CURLOPTTYPE_STRINGPOINT, 174),
+
+ /* "name" and "pwd" to use with Proxy when fetching. */
+ CURLOPT(CURLOPT_PROXYUSERNAME, CURLOPTTYPE_STRINGPOINT, 175),
+ CURLOPT(CURLOPT_PROXYPASSWORD, CURLOPTTYPE_STRINGPOINT, 176),
+
+ /* Comma separated list of hostnames defining no-proxy zones. These should
+ match both hostnames directly, and hostnames within a domain. For
+ example, local.com will match local.com and www.local.com, but NOT
+ notlocal.com or www.notlocal.com. For compatibility with other
+ implementations of this, .local.com will be considered to be the same as
+ local.com. A single * is the only valid wildcard, and effectively
+ disables the use of proxy. */
+ CURLOPT(CURLOPT_NOPROXY, CURLOPTTYPE_STRINGPOINT, 177),
+
+ /* block size for TFTP transfers */
+ CURLOPT(CURLOPT_TFTP_BLKSIZE, CURLOPTTYPE_LONG, 178),
+
+ /* Socks Service */
+ /* DEPRECATED, do not use! */
+ CURLOPTDEPRECATED(CURLOPT_SOCKS5_GSSAPI_SERVICE,
+ CURLOPTTYPE_STRINGPOINT, 179,
+ 7.49.0, "Use CURLOPT_PROXY_SERVICE_NAME"),
+
+ /* Socks Service */
+ CURLOPT(CURLOPT_SOCKS5_GSSAPI_NEC, CURLOPTTYPE_LONG, 180),
+
+ /* set the bitmask for the protocols that are allowed to be used for the
+ transfer, which thus helps the app which takes URLs from users or other
+ external inputs and want to restrict what protocol(s) to deal
+ with. Defaults to CURLPROTO_ALL. */
+ CURLOPTDEPRECATED(CURLOPT_PROTOCOLS, CURLOPTTYPE_LONG, 181,
+ 7.85.0, "Use CURLOPT_PROTOCOLS_STR"),
+
+ /* set the bitmask for the protocols that libcurl is allowed to follow to,
+ as a subset of the CURLOPT_PROTOCOLS ones. That means the protocol needs
+ to be set in both bitmasks to be allowed to get redirected to. */
+ CURLOPTDEPRECATED(CURLOPT_REDIR_PROTOCOLS, CURLOPTTYPE_LONG, 182,
+ 7.85.0, "Use CURLOPT_REDIR_PROTOCOLS_STR"),
+
+ /* set the SSH knownhost file name to use */
+ CURLOPT(CURLOPT_SSH_KNOWNHOSTS, CURLOPTTYPE_STRINGPOINT, 183),
+
+ /* set the SSH host key callback, must point to a curl_sshkeycallback
+ function */
+ CURLOPT(CURLOPT_SSH_KEYFUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 184),
+
+ /* set the SSH host key callback custom pointer */
+ CURLOPT(CURLOPT_SSH_KEYDATA, CURLOPTTYPE_CBPOINT, 185),
+
+ /* set the SMTP mail originator */
+ CURLOPT(CURLOPT_MAIL_FROM, CURLOPTTYPE_STRINGPOINT, 186),
+
+ /* set the list of SMTP mail receiver(s) */
+ CURLOPT(CURLOPT_MAIL_RCPT, CURLOPTTYPE_SLISTPOINT, 187),
+
+ /* FTP: send PRET before PASV */
+ CURLOPT(CURLOPT_FTP_USE_PRET, CURLOPTTYPE_LONG, 188),
+
+ /* RTSP request method (OPTIONS, SETUP, PLAY, etc...) */
+ CURLOPT(CURLOPT_RTSP_REQUEST, CURLOPTTYPE_VALUES, 189),
+
+ /* The RTSP session identifier */
+ CURLOPT(CURLOPT_RTSP_SESSION_ID, CURLOPTTYPE_STRINGPOINT, 190),
+
+ /* The RTSP stream URI */
+ CURLOPT(CURLOPT_RTSP_STREAM_URI, CURLOPTTYPE_STRINGPOINT, 191),
+
+ /* The Transport: header to use in RTSP requests */
+ CURLOPT(CURLOPT_RTSP_TRANSPORT, CURLOPTTYPE_STRINGPOINT, 192),
+
+ /* Manually initialize the client RTSP CSeq for this handle */
+ CURLOPT(CURLOPT_RTSP_CLIENT_CSEQ, CURLOPTTYPE_LONG, 193),
+
+ /* Manually initialize the server RTSP CSeq for this handle */
+ CURLOPT(CURLOPT_RTSP_SERVER_CSEQ, CURLOPTTYPE_LONG, 194),
+
+ /* The stream to pass to INTERLEAVEFUNCTION. */
+ CURLOPT(CURLOPT_INTERLEAVEDATA, CURLOPTTYPE_CBPOINT, 195),
+
+ /* Let the application define a custom write method for RTP data */
+ CURLOPT(CURLOPT_INTERLEAVEFUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 196),
+
+ /* Turn on wildcard matching */
+ CURLOPT(CURLOPT_WILDCARDMATCH, CURLOPTTYPE_LONG, 197),
+
+ /* Directory matching callback called before downloading of an
+ individual file (chunk) started */
+ CURLOPT(CURLOPT_CHUNK_BGN_FUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 198),
+
+ /* Directory matching callback called after the file (chunk)
+ was downloaded, or skipped */
+ CURLOPT(CURLOPT_CHUNK_END_FUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 199),
+
+ /* Change match (fnmatch-like) callback for wildcard matching */
+ CURLOPT(CURLOPT_FNMATCH_FUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 200),
+
+ /* Let the application define custom chunk data pointer */
+ CURLOPT(CURLOPT_CHUNK_DATA, CURLOPTTYPE_CBPOINT, 201),
+
+ /* FNMATCH_FUNCTION user pointer */
+ CURLOPT(CURLOPT_FNMATCH_DATA, CURLOPTTYPE_CBPOINT, 202),
+
+ /* send linked-list of name:port:address sets */
+ CURLOPT(CURLOPT_RESOLVE, CURLOPTTYPE_SLISTPOINT, 203),
+
+ /* Set a username for authenticated TLS */
+ CURLOPT(CURLOPT_TLSAUTH_USERNAME, CURLOPTTYPE_STRINGPOINT, 204),
+
+ /* Set a password for authenticated TLS */
+ CURLOPT(CURLOPT_TLSAUTH_PASSWORD, CURLOPTTYPE_STRINGPOINT, 205),
+
+ /* Set authentication type for authenticated TLS */
+ CURLOPT(CURLOPT_TLSAUTH_TYPE, CURLOPTTYPE_STRINGPOINT, 206),
+
+ /* Set to 1 to enable the "TE:" header in HTTP requests to ask for
+ compressed transfer-encoded responses. Set to 0 to disable the use of TE:
+ in outgoing requests. The current default is 0, but it might change in a
+ future libcurl release.
+
+ libcurl will ask for the compressed methods it knows of, and if that
+ isn't any, it will not ask for transfer-encoding at all even if this
+ option is set to 1.
+
+ */
+ CURLOPT(CURLOPT_TRANSFER_ENCODING, CURLOPTTYPE_LONG, 207),
+
+ /* Callback function for closing socket (instead of close(2)). The callback
+ should have type curl_closesocket_callback */
+ CURLOPT(CURLOPT_CLOSESOCKETFUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 208),
+ CURLOPT(CURLOPT_CLOSESOCKETDATA, CURLOPTTYPE_CBPOINT, 209),
+
+ /* allow GSSAPI credential delegation */
+ CURLOPT(CURLOPT_GSSAPI_DELEGATION, CURLOPTTYPE_VALUES, 210),
+
+ /* Set the name servers to use for DNS resolution.
+ * Only supported by the c-ares DNS backend */
+ CURLOPT(CURLOPT_DNS_SERVERS, CURLOPTTYPE_STRINGPOINT, 211),
+
+ /* Time-out accept operations (currently for FTP only) after this amount
+ of milliseconds. */
+ CURLOPT(CURLOPT_ACCEPTTIMEOUT_MS, CURLOPTTYPE_LONG, 212),
+
+ /* Set TCP keepalive */
+ CURLOPT(CURLOPT_TCP_KEEPALIVE, CURLOPTTYPE_LONG, 213),
+
+ /* non-universal keepalive knobs (Linux, AIX, HP-UX, more) */
+ CURLOPT(CURLOPT_TCP_KEEPIDLE, CURLOPTTYPE_LONG, 214),
+ CURLOPT(CURLOPT_TCP_KEEPINTVL, CURLOPTTYPE_LONG, 215),
+
+ /* Enable/disable specific SSL features with a bitmask, see CURLSSLOPT_* */
+ CURLOPT(CURLOPT_SSL_OPTIONS, CURLOPTTYPE_VALUES, 216),
+
+ /* Set the SMTP auth originator */
+ CURLOPT(CURLOPT_MAIL_AUTH, CURLOPTTYPE_STRINGPOINT, 217),
+
+ /* Enable/disable SASL initial response */
+ CURLOPT(CURLOPT_SASL_IR, CURLOPTTYPE_LONG, 218),
+
+ /* Function that will be called instead of the internal progress display
+ * function. This function should be defined as the curl_xferinfo_callback
+ * prototype defines. (Deprecates CURLOPT_PROGRESSFUNCTION) */
+ CURLOPT(CURLOPT_XFERINFOFUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 219),
+
+ /* The XOAUTH2 bearer token */
+ CURLOPT(CURLOPT_XOAUTH2_BEARER, CURLOPTTYPE_STRINGPOINT, 220),
+
+ /* Set the interface string to use as outgoing network
+ * interface for DNS requests.
+ * Only supported by the c-ares DNS backend */
+ CURLOPT(CURLOPT_DNS_INTERFACE, CURLOPTTYPE_STRINGPOINT, 221),
+
+ /* Set the local IPv4 address to use for outgoing DNS requests.
+ * Only supported by the c-ares DNS backend */
+ CURLOPT(CURLOPT_DNS_LOCAL_IP4, CURLOPTTYPE_STRINGPOINT, 222),
+
+ /* Set the local IPv6 address to use for outgoing DNS requests.
+ * Only supported by the c-ares DNS backend */
+ CURLOPT(CURLOPT_DNS_LOCAL_IP6, CURLOPTTYPE_STRINGPOINT, 223),
+
+ /* Set authentication options directly */
+ CURLOPT(CURLOPT_LOGIN_OPTIONS, CURLOPTTYPE_STRINGPOINT, 224),
+
+ /* Enable/disable TLS NPN extension (http2 over ssl might fail without) */
+ CURLOPTDEPRECATED(CURLOPT_SSL_ENABLE_NPN, CURLOPTTYPE_LONG, 225,
+ 7.86.0, "Has no function"),
+
+ /* Enable/disable TLS ALPN extension (http2 over ssl might fail without) */
+ CURLOPT(CURLOPT_SSL_ENABLE_ALPN, CURLOPTTYPE_LONG, 226),
+
+ /* Time to wait for a response to an HTTP request containing an
+ * Expect: 100-continue header before sending the data anyway. */
+ CURLOPT(CURLOPT_EXPECT_100_TIMEOUT_MS, CURLOPTTYPE_LONG, 227),
+
+ /* This points to a linked list of headers used for proxy requests only,
+ struct curl_slist kind */
+ CURLOPT(CURLOPT_PROXYHEADER, CURLOPTTYPE_SLISTPOINT, 228),
+
+ /* Pass in a bitmask of "header options" */
+ CURLOPT(CURLOPT_HEADEROPT, CURLOPTTYPE_VALUES, 229),
+
+ /* The public key in DER form used to validate the peer public key
+ this option is used only if SSL_VERIFYPEER is true */
+ CURLOPT(CURLOPT_PINNEDPUBLICKEY, CURLOPTTYPE_STRINGPOINT, 230),
+
+ /* Path to Unix domain socket */
+ CURLOPT(CURLOPT_UNIX_SOCKET_PATH, CURLOPTTYPE_STRINGPOINT, 231),
+
+ /* Set if we should verify the certificate status. */
+ CURLOPT(CURLOPT_SSL_VERIFYSTATUS, CURLOPTTYPE_LONG, 232),
+
+ /* Set if we should enable TLS false start. */
+ CURLOPT(CURLOPT_SSL_FALSESTART, CURLOPTTYPE_LONG, 233),
+
+ /* Do not squash dot-dot sequences */
+ CURLOPT(CURLOPT_PATH_AS_IS, CURLOPTTYPE_LONG, 234),
+
+ /* Proxy Service Name */
+ CURLOPT(CURLOPT_PROXY_SERVICE_NAME, CURLOPTTYPE_STRINGPOINT, 235),
+
+ /* Service Name */
+ CURLOPT(CURLOPT_SERVICE_NAME, CURLOPTTYPE_STRINGPOINT, 236),
+
+ /* Wait/don't wait for pipe/mutex to clarify */
+ CURLOPT(CURLOPT_PIPEWAIT, CURLOPTTYPE_LONG, 237),
+
+ /* Set the protocol used when curl is given a URL without a protocol */
+ CURLOPT(CURLOPT_DEFAULT_PROTOCOL, CURLOPTTYPE_STRINGPOINT, 238),
+
+ /* Set stream weight, 1 - 256 (default is 16) */
+ CURLOPT(CURLOPT_STREAM_WEIGHT, CURLOPTTYPE_LONG, 239),
+
+ /* Set stream dependency on another CURL handle */
+ CURLOPT(CURLOPT_STREAM_DEPENDS, CURLOPTTYPE_OBJECTPOINT, 240),
+
+ /* Set E-xclusive stream dependency on another CURL handle */
+ CURLOPT(CURLOPT_STREAM_DEPENDS_E, CURLOPTTYPE_OBJECTPOINT, 241),
+
+ /* Do not send any tftp option requests to the server */
+ CURLOPT(CURLOPT_TFTP_NO_OPTIONS, CURLOPTTYPE_LONG, 242),
+
+ /* Linked-list of host:port:connect-to-host:connect-to-port,
+ overrides the URL's host:port (only for the network layer) */
+ CURLOPT(CURLOPT_CONNECT_TO, CURLOPTTYPE_SLISTPOINT, 243),
+
+ /* Set TCP Fast Open */
+ CURLOPT(CURLOPT_TCP_FASTOPEN, CURLOPTTYPE_LONG, 244),
+
+ /* Continue to send data if the server responds early with an
+ * HTTP status code >= 300 */
+ CURLOPT(CURLOPT_KEEP_SENDING_ON_ERROR, CURLOPTTYPE_LONG, 245),
+
+ /* The CApath or CAfile used to validate the proxy certificate
+ this option is used only if PROXY_SSL_VERIFYPEER is true */
+ CURLOPT(CURLOPT_PROXY_CAINFO, CURLOPTTYPE_STRINGPOINT, 246),
+
+ /* The CApath directory used to validate the proxy certificate
+ this option is used only if PROXY_SSL_VERIFYPEER is true */
+ CURLOPT(CURLOPT_PROXY_CAPATH, CURLOPTTYPE_STRINGPOINT, 247),
+
+ /* Set if we should verify the proxy in ssl handshake,
+ set 1 to verify. */
+ CURLOPT(CURLOPT_PROXY_SSL_VERIFYPEER, CURLOPTTYPE_LONG, 248),
+
+ /* Set if we should verify the Common name from the proxy certificate in ssl
+ * handshake, set 1 to check existence, 2 to ensure that it matches
+ * the provided hostname. */
+ CURLOPT(CURLOPT_PROXY_SSL_VERIFYHOST, CURLOPTTYPE_LONG, 249),
+
+ /* What version to specifically try to use for proxy.
+ See CURL_SSLVERSION defines below. */
+ CURLOPT(CURLOPT_PROXY_SSLVERSION, CURLOPTTYPE_VALUES, 250),
+
+ /* Set a username for authenticated TLS for proxy */
+ CURLOPT(CURLOPT_PROXY_TLSAUTH_USERNAME, CURLOPTTYPE_STRINGPOINT, 251),
+
+ /* Set a password for authenticated TLS for proxy */
+ CURLOPT(CURLOPT_PROXY_TLSAUTH_PASSWORD, CURLOPTTYPE_STRINGPOINT, 252),
+
+ /* Set authentication type for authenticated TLS for proxy */
+ CURLOPT(CURLOPT_PROXY_TLSAUTH_TYPE, CURLOPTTYPE_STRINGPOINT, 253),
+
+ /* name of the file keeping your private SSL-certificate for proxy */
+ CURLOPT(CURLOPT_PROXY_SSLCERT, CURLOPTTYPE_STRINGPOINT, 254),
+
+ /* type of the file keeping your SSL-certificate ("DER", "PEM", "ENG") for
+ proxy */
+ CURLOPT(CURLOPT_PROXY_SSLCERTTYPE, CURLOPTTYPE_STRINGPOINT, 255),
+
+ /* name of the file keeping your private SSL-key for proxy */
+ CURLOPT(CURLOPT_PROXY_SSLKEY, CURLOPTTYPE_STRINGPOINT, 256),
+
+ /* type of the file keeping your private SSL-key ("DER", "PEM", "ENG") for
+ proxy */
+ CURLOPT(CURLOPT_PROXY_SSLKEYTYPE, CURLOPTTYPE_STRINGPOINT, 257),
+
+ /* password for the SSL private key for proxy */
+ CURLOPT(CURLOPT_PROXY_KEYPASSWD, CURLOPTTYPE_STRINGPOINT, 258),
+
+ /* Specify which SSL ciphers to use for proxy */
+ CURLOPT(CURLOPT_PROXY_SSL_CIPHER_LIST, CURLOPTTYPE_STRINGPOINT, 259),
+
+ /* CRL file for proxy */
+ CURLOPT(CURLOPT_PROXY_CRLFILE, CURLOPTTYPE_STRINGPOINT, 260),
+
+ /* Enable/disable specific SSL features with a bitmask for proxy, see
+ CURLSSLOPT_* */
+ CURLOPT(CURLOPT_PROXY_SSL_OPTIONS, CURLOPTTYPE_LONG, 261),
+
+ /* Name of pre proxy to use. */
+ CURLOPT(CURLOPT_PRE_PROXY, CURLOPTTYPE_STRINGPOINT, 262),
+
+ /* The public key in DER form used to validate the proxy public key
+ this option is used only if PROXY_SSL_VERIFYPEER is true */
+ CURLOPT(CURLOPT_PROXY_PINNEDPUBLICKEY, CURLOPTTYPE_STRINGPOINT, 263),
+
+ /* Path to an abstract Unix domain socket */
+ CURLOPT(CURLOPT_ABSTRACT_UNIX_SOCKET, CURLOPTTYPE_STRINGPOINT, 264),
+
+ /* Suppress proxy CONNECT response headers from user callbacks */
+ CURLOPT(CURLOPT_SUPPRESS_CONNECT_HEADERS, CURLOPTTYPE_LONG, 265),
+
+ /* The request target, instead of extracted from the URL */
+ CURLOPT(CURLOPT_REQUEST_TARGET, CURLOPTTYPE_STRINGPOINT, 266),
+
+ /* bitmask of allowed auth methods for connections to SOCKS5 proxies */
+ CURLOPT(CURLOPT_SOCKS5_AUTH, CURLOPTTYPE_LONG, 267),
+
+ /* Enable/disable SSH compression */
+ CURLOPT(CURLOPT_SSH_COMPRESSION, CURLOPTTYPE_LONG, 268),
+
+ /* Post MIME data. */
+ CURLOPT(CURLOPT_MIMEPOST, CURLOPTTYPE_OBJECTPOINT, 269),
+
+ /* Time to use with the CURLOPT_TIMECONDITION. Specified in number of
+ seconds since 1 Jan 1970. */
+ CURLOPT(CURLOPT_TIMEVALUE_LARGE, CURLOPTTYPE_OFF_T, 270),
+
+ /* Head start in milliseconds to give happy eyeballs. */
+ CURLOPT(CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS, CURLOPTTYPE_LONG, 271),
+
+ /* Function that will be called before a resolver request is made */
+ CURLOPT(CURLOPT_RESOLVER_START_FUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 272),
+
+ /* User data to pass to the resolver start callback. */
+ CURLOPT(CURLOPT_RESOLVER_START_DATA, CURLOPTTYPE_CBPOINT, 273),
+
+ /* send HAProxy PROXY protocol header? */
+ CURLOPT(CURLOPT_HAPROXYPROTOCOL, CURLOPTTYPE_LONG, 274),
+
+ /* shuffle addresses before use when DNS returns multiple */
+ CURLOPT(CURLOPT_DNS_SHUFFLE_ADDRESSES, CURLOPTTYPE_LONG, 275),
+
+ /* Specify which TLS 1.3 ciphers suites to use */
+ CURLOPT(CURLOPT_TLS13_CIPHERS, CURLOPTTYPE_STRINGPOINT, 276),
+ CURLOPT(CURLOPT_PROXY_TLS13_CIPHERS, CURLOPTTYPE_STRINGPOINT, 277),
+
+ /* Disallow specifying username/login in URL. */
+ CURLOPT(CURLOPT_DISALLOW_USERNAME_IN_URL, CURLOPTTYPE_LONG, 278),
+
+ /* DNS-over-HTTPS URL */
+ CURLOPT(CURLOPT_DOH_URL, CURLOPTTYPE_STRINGPOINT, 279),
+
+ /* Preferred buffer size to use for uploads */
+ CURLOPT(CURLOPT_UPLOAD_BUFFERSIZE, CURLOPTTYPE_LONG, 280),
+
+ /* Time in ms between connection upkeep calls for long-lived connections. */
+ CURLOPT(CURLOPT_UPKEEP_INTERVAL_MS, CURLOPTTYPE_LONG, 281),
+
+ /* Specify URL using CURL URL API. */
+ CURLOPT(CURLOPT_CURLU, CURLOPTTYPE_OBJECTPOINT, 282),
+
+ /* add trailing data just after no more data is available */
+ CURLOPT(CURLOPT_TRAILERFUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 283),
+
+ /* pointer to be passed to HTTP_TRAILER_FUNCTION */
+ CURLOPT(CURLOPT_TRAILERDATA, CURLOPTTYPE_CBPOINT, 284),
+
+ /* set this to 1L to allow HTTP/0.9 responses or 0L to disallow */
+ CURLOPT(CURLOPT_HTTP09_ALLOWED, CURLOPTTYPE_LONG, 285),
+
+ /* alt-svc control bitmask */
+ CURLOPT(CURLOPT_ALTSVC_CTRL, CURLOPTTYPE_LONG, 286),
+
+ /* alt-svc cache file name to possibly read from/write to */
+ CURLOPT(CURLOPT_ALTSVC, CURLOPTTYPE_STRINGPOINT, 287),
+
+ /* maximum age (idle time) of a connection to consider it for reuse
+ * (in seconds) */
+ CURLOPT(CURLOPT_MAXAGE_CONN, CURLOPTTYPE_LONG, 288),
+
+ /* SASL authorization identity */
+ CURLOPT(CURLOPT_SASL_AUTHZID, CURLOPTTYPE_STRINGPOINT, 289),
+
+ /* allow RCPT TO command to fail for some recipients */
+ CURLOPT(CURLOPT_MAIL_RCPT_ALLOWFAILS, CURLOPTTYPE_LONG, 290),
+
+ /* the private SSL-certificate as a "blob" */
+ CURLOPT(CURLOPT_SSLCERT_BLOB, CURLOPTTYPE_BLOB, 291),
+ CURLOPT(CURLOPT_SSLKEY_BLOB, CURLOPTTYPE_BLOB, 292),
+ CURLOPT(CURLOPT_PROXY_SSLCERT_BLOB, CURLOPTTYPE_BLOB, 293),
+ CURLOPT(CURLOPT_PROXY_SSLKEY_BLOB, CURLOPTTYPE_BLOB, 294),
+ CURLOPT(CURLOPT_ISSUERCERT_BLOB, CURLOPTTYPE_BLOB, 295),
+
+ /* Issuer certificate for proxy */
+ CURLOPT(CURLOPT_PROXY_ISSUERCERT, CURLOPTTYPE_STRINGPOINT, 296),
+ CURLOPT(CURLOPT_PROXY_ISSUERCERT_BLOB, CURLOPTTYPE_BLOB, 297),
+
+ /* the EC curves requested by the TLS client (RFC 8422, 5.1);
+ * OpenSSL support via 'set_groups'/'set_curves':
+ * https://www.openssl.org/docs/manmaster/man3/SSL_CTX_set1_groups.html
+ */
+ CURLOPT(CURLOPT_SSL_EC_CURVES, CURLOPTTYPE_STRINGPOINT, 298),
+
+ /* HSTS bitmask */
+ CURLOPT(CURLOPT_HSTS_CTRL, CURLOPTTYPE_LONG, 299),
+ /* HSTS file name */
+ CURLOPT(CURLOPT_HSTS, CURLOPTTYPE_STRINGPOINT, 300),
+
+ /* HSTS read callback */
+ CURLOPT(CURLOPT_HSTSREADFUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 301),
+ CURLOPT(CURLOPT_HSTSREADDATA, CURLOPTTYPE_CBPOINT, 302),
+
+ /* HSTS write callback */
+ CURLOPT(CURLOPT_HSTSWRITEFUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 303),
+ CURLOPT(CURLOPT_HSTSWRITEDATA, CURLOPTTYPE_CBPOINT, 304),
+
+ /* Parameters for V4 signature */
+ CURLOPT(CURLOPT_AWS_SIGV4, CURLOPTTYPE_STRINGPOINT, 305),
+
+ /* Same as CURLOPT_SSL_VERIFYPEER but for DoH (DNS-over-HTTPS) servers. */
+ CURLOPT(CURLOPT_DOH_SSL_VERIFYPEER, CURLOPTTYPE_LONG, 306),
+
+ /* Same as CURLOPT_SSL_VERIFYHOST but for DoH (DNS-over-HTTPS) servers. */
+ CURLOPT(CURLOPT_DOH_SSL_VERIFYHOST, CURLOPTTYPE_LONG, 307),
+
+ /* Same as CURLOPT_SSL_VERIFYSTATUS but for DoH (DNS-over-HTTPS) servers. */
+ CURLOPT(CURLOPT_DOH_SSL_VERIFYSTATUS, CURLOPTTYPE_LONG, 308),
+
+ /* The CA certificates as "blob" used to validate the peer certificate
+ this option is used only if SSL_VERIFYPEER is true */
+ CURLOPT(CURLOPT_CAINFO_BLOB, CURLOPTTYPE_BLOB, 309),
+
+ /* The CA certificates as "blob" used to validate the proxy certificate
+ this option is used only if PROXY_SSL_VERIFYPEER is true */
+ CURLOPT(CURLOPT_PROXY_CAINFO_BLOB, CURLOPTTYPE_BLOB, 310),
+
+ /* used by scp/sftp to verify the host's public key */
+ CURLOPT(CURLOPT_SSH_HOST_PUBLIC_KEY_SHA256, CURLOPTTYPE_STRINGPOINT, 311),
+
+ /* Function that will be called immediately before the initial request
+ is made on a connection (after any protocol negotiation step). */
+ CURLOPT(CURLOPT_PREREQFUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 312),
+
+ /* Data passed to the CURLOPT_PREREQFUNCTION callback */
+ CURLOPT(CURLOPT_PREREQDATA, CURLOPTTYPE_CBPOINT, 313),
+
+ /* maximum age (since creation) of a connection to consider it for reuse
+ * (in seconds) */
+ CURLOPT(CURLOPT_MAXLIFETIME_CONN, CURLOPTTYPE_LONG, 314),
+
+ /* Set MIME option flags. */
+ CURLOPT(CURLOPT_MIME_OPTIONS, CURLOPTTYPE_LONG, 315),
+
+ /* set the SSH host key callback, must point to a curl_sshkeycallback
+ function */
+ CURLOPT(CURLOPT_SSH_HOSTKEYFUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 316),
+
+ /* set the SSH host key callback custom pointer */
+ CURLOPT(CURLOPT_SSH_HOSTKEYDATA, CURLOPTTYPE_CBPOINT, 317),
+
+ /* specify which protocols that are allowed to be used for the transfer,
+ which thus helps the app which takes URLs from users or other external
+ inputs and want to restrict what protocol(s) to deal with. Defaults to
+ all built-in protocols. */
+ CURLOPT(CURLOPT_PROTOCOLS_STR, CURLOPTTYPE_STRINGPOINT, 318),
+
+ /* specify which protocols that libcurl is allowed to follow directs to */
+ CURLOPT(CURLOPT_REDIR_PROTOCOLS_STR, CURLOPTTYPE_STRINGPOINT, 319),
+
+ /* websockets options */
+ CURLOPT(CURLOPT_WS_OPTIONS, CURLOPTTYPE_LONG, 320),
+
+ /* CA cache timeout */
+ CURLOPT(CURLOPT_CA_CACHE_TIMEOUT, CURLOPTTYPE_LONG, 321),
+
+ /* Can leak things, gonna exit() soon */
+ CURLOPT(CURLOPT_QUICK_EXIT, CURLOPTTYPE_LONG, 322),
+
+ /* set a specific client IP for HAProxy PROXY protocol header? */
+ CURLOPT(CURLOPT_HAPROXY_CLIENT_IP, CURLOPTTYPE_STRINGPOINT, 323),
+
+ /* millisecond version */
+ CURLOPT(CURLOPT_SERVER_RESPONSE_TIMEOUT_MS, CURLOPTTYPE_LONG, 324),
+
+ /* set ECH configuration */
+ CURLOPT(CURLOPT_ECH, CURLOPTTYPE_STRINGPOINT, 325),
+
+ CURLOPT_LASTENTRY /* the last unused */
+} CURLoption;
+
+#ifndef CURL_NO_OLDIES /* define this to test if your app builds with all
+ the obsolete stuff removed! */
+
+/* Backwards compatibility with older names */
+/* These are scheduled to disappear by 2011 */
+
+/* This was added in version 7.19.1 */
+#define CURLOPT_POST301 CURLOPT_POSTREDIR
+
+/* These are scheduled to disappear by 2009 */
+
+/* The following were added in 7.17.0 */
+#define CURLOPT_SSLKEYPASSWD CURLOPT_KEYPASSWD
+#define CURLOPT_FTPAPPEND CURLOPT_APPEND
+#define CURLOPT_FTPLISTONLY CURLOPT_DIRLISTONLY
+#define CURLOPT_FTP_SSL CURLOPT_USE_SSL
+
+/* The following were added earlier */
+
+#define CURLOPT_SSLCERTPASSWD CURLOPT_KEYPASSWD
+#define CURLOPT_KRB4LEVEL CURLOPT_KRBLEVEL
+
+/* */
+#define CURLOPT_FTP_RESPONSE_TIMEOUT CURLOPT_SERVER_RESPONSE_TIMEOUT
+
+/* Added in 8.2.0 */
+#define CURLOPT_MAIL_RCPT_ALLLOWFAILS CURLOPT_MAIL_RCPT_ALLOWFAILS
+
+#else
+/* This is set if CURL_NO_OLDIES is defined at compile-time */
+#undef CURLOPT_DNS_USE_GLOBAL_CACHE /* soon obsolete */
+#endif
+
+
+ /* Below here follows defines for the CURLOPT_IPRESOLVE option. If a host
+ name resolves addresses using more than one IP protocol version, this
+ option might be handy to force libcurl to use a specific IP version. */
+#define CURL_IPRESOLVE_WHATEVER 0 /* default, uses addresses to all IP
+ versions that your system allows */
+#define CURL_IPRESOLVE_V4 1 /* uses only IPv4 addresses/connections */
+#define CURL_IPRESOLVE_V6 2 /* uses only IPv6 addresses/connections */
+
+ /* Convenient "aliases" */
+#define CURLOPT_RTSPHEADER CURLOPT_HTTPHEADER
+
+ /* These enums are for use with the CURLOPT_HTTP_VERSION option. */
+enum {
+ CURL_HTTP_VERSION_NONE, /* setting this means we don't care, and that we'd
+ like the library to choose the best possible
+ for us! */
+ CURL_HTTP_VERSION_1_0, /* please use HTTP 1.0 in the request */
+ CURL_HTTP_VERSION_1_1, /* please use HTTP 1.1 in the request */
+ CURL_HTTP_VERSION_2_0, /* please use HTTP 2 in the request */
+ CURL_HTTP_VERSION_2TLS, /* use version 2 for HTTPS, version 1.1 for HTTP */
+ CURL_HTTP_VERSION_2_PRIOR_KNOWLEDGE, /* please use HTTP 2 without HTTP/1.1
+ Upgrade */
+ CURL_HTTP_VERSION_3 = 30, /* Use HTTP/3, fallback to HTTP/2 or HTTP/1 if
+ needed. For HTTPS only. For HTTP, this option
+ makes libcurl return error. */
+ CURL_HTTP_VERSION_3ONLY = 31, /* Use HTTP/3 without fallback. For HTTPS
+ only. For HTTP, this makes libcurl
+ return error. */
+
+ CURL_HTTP_VERSION_LAST /* *ILLEGAL* http version */
+};
+
+/* Convenience definition simple because the name of the version is HTTP/2 and
+ not 2.0. The 2_0 version of the enum name was set while the version was
+ still planned to be 2.0 and we stick to it for compatibility. */
+#define CURL_HTTP_VERSION_2 CURL_HTTP_VERSION_2_0
+
+/*
+ * Public API enums for RTSP requests
+ */
+enum {
+ CURL_RTSPREQ_NONE, /* first in list */
+ CURL_RTSPREQ_OPTIONS,
+ CURL_RTSPREQ_DESCRIBE,
+ CURL_RTSPREQ_ANNOUNCE,
+ CURL_RTSPREQ_SETUP,
+ CURL_RTSPREQ_PLAY,
+ CURL_RTSPREQ_PAUSE,
+ CURL_RTSPREQ_TEARDOWN,
+ CURL_RTSPREQ_GET_PARAMETER,
+ CURL_RTSPREQ_SET_PARAMETER,
+ CURL_RTSPREQ_RECORD,
+ CURL_RTSPREQ_RECEIVE,
+ CURL_RTSPREQ_LAST /* last in list */
+};
+
+ /* These enums are for use with the CURLOPT_NETRC option. */
+enum CURL_NETRC_OPTION {
+ CURL_NETRC_IGNORED, /* The .netrc will never be read.
+ * This is the default. */
+ CURL_NETRC_OPTIONAL, /* A user:password in the URL will be preferred
+ * to one in the .netrc. */
+ CURL_NETRC_REQUIRED, /* A user:password in the URL will be ignored.
+ * Unless one is set programmatically, the .netrc
+ * will be queried. */
+ CURL_NETRC_LAST
+};
+
+#define CURL_SSLVERSION_DEFAULT 0
+#define CURL_SSLVERSION_TLSv1 1 /* TLS 1.x */
+#define CURL_SSLVERSION_SSLv2 2
+#define CURL_SSLVERSION_SSLv3 3
+#define CURL_SSLVERSION_TLSv1_0 4
+#define CURL_SSLVERSION_TLSv1_1 5
+#define CURL_SSLVERSION_TLSv1_2 6
+#define CURL_SSLVERSION_TLSv1_3 7
+
+#define CURL_SSLVERSION_LAST 8 /* never use, keep last */
+
+#define CURL_SSLVERSION_MAX_NONE 0
+#define CURL_SSLVERSION_MAX_DEFAULT (CURL_SSLVERSION_TLSv1 << 16)
+#define CURL_SSLVERSION_MAX_TLSv1_0 (CURL_SSLVERSION_TLSv1_0 << 16)
+#define CURL_SSLVERSION_MAX_TLSv1_1 (CURL_SSLVERSION_TLSv1_1 << 16)
+#define CURL_SSLVERSION_MAX_TLSv1_2 (CURL_SSLVERSION_TLSv1_2 << 16)
+#define CURL_SSLVERSION_MAX_TLSv1_3 (CURL_SSLVERSION_TLSv1_3 << 16)
+
+ /* never use, keep last */
+#define CURL_SSLVERSION_MAX_LAST (CURL_SSLVERSION_LAST << 16)
+
+enum CURL_TLSAUTH {
+ CURL_TLSAUTH_NONE,
+ CURL_TLSAUTH_SRP,
+ CURL_TLSAUTH_LAST /* never use, keep last */
+};
+
+/* symbols to use with CURLOPT_POSTREDIR.
+ CURL_REDIR_POST_301, CURL_REDIR_POST_302 and CURL_REDIR_POST_303
+ can be bitwise ORed so that CURL_REDIR_POST_301 | CURL_REDIR_POST_302
+ | CURL_REDIR_POST_303 == CURL_REDIR_POST_ALL */
+
+#define CURL_REDIR_GET_ALL 0
+#define CURL_REDIR_POST_301 1
+#define CURL_REDIR_POST_302 2
+#define CURL_REDIR_POST_303 4
+#define CURL_REDIR_POST_ALL \
+ (CURL_REDIR_POST_301|CURL_REDIR_POST_302|CURL_REDIR_POST_303)
+
+typedef enum {
+ CURL_TIMECOND_NONE,
+
+ CURL_TIMECOND_IFMODSINCE,
+ CURL_TIMECOND_IFUNMODSINCE,
+ CURL_TIMECOND_LASTMOD,
+
+ CURL_TIMECOND_LAST
+} curl_TimeCond;
+
+/* Special size_t value signaling a null-terminated string. */
+#define CURL_ZERO_TERMINATED ((size_t) -1)
+
+/* curl_strequal() and curl_strnequal() are subject for removal in a future
+ release */
+CURL_EXTERN int curl_strequal(const char *s1, const char *s2);
+CURL_EXTERN int curl_strnequal(const char *s1, const char *s2, size_t n);
+
+/* Mime/form handling support. */
+typedef struct curl_mime curl_mime; /* Mime context. */
+typedef struct curl_mimepart curl_mimepart; /* Mime part context. */
+
+/* CURLMIMEOPT_ defines are for the CURLOPT_MIME_OPTIONS option. */
+#define CURLMIMEOPT_FORMESCAPE (1<<0) /* Use backslash-escaping for forms. */
+
+/*
+ * NAME curl_mime_init()
+ *
+ * DESCRIPTION
+ *
+ * Create a mime context and return its handle. The easy parameter is the
+ * target handle.
+ */
+CURL_EXTERN curl_mime *curl_mime_init(CURL *easy);
+
+/*
+ * NAME curl_mime_free()
+ *
+ * DESCRIPTION
+ *
+ * release a mime handle and its substructures.
+ */
+CURL_EXTERN void curl_mime_free(curl_mime *mime);
+
+/*
+ * NAME curl_mime_addpart()
+ *
+ * DESCRIPTION
+ *
+ * Append a new empty part to the given mime context and return a handle to
+ * the created part.
+ */
+CURL_EXTERN curl_mimepart *curl_mime_addpart(curl_mime *mime);
+
+/*
+ * NAME curl_mime_name()
+ *
+ * DESCRIPTION
+ *
+ * Set mime/form part name.
+ */
+CURL_EXTERN CURLcode curl_mime_name(curl_mimepart *part, const char *name);
+
+/*
+ * NAME curl_mime_filename()
+ *
+ * DESCRIPTION
+ *
+ * Set mime part remote file name.
+ */
+CURL_EXTERN CURLcode curl_mime_filename(curl_mimepart *part,
+ const char *filename);
+
+/*
+ * NAME curl_mime_type()
+ *
+ * DESCRIPTION
+ *
+ * Set mime part type.
+ */
+CURL_EXTERN CURLcode curl_mime_type(curl_mimepart *part, const char *mimetype);
+
+/*
+ * NAME curl_mime_encoder()
+ *
+ * DESCRIPTION
+ *
+ * Set mime data transfer encoder.
+ */
+CURL_EXTERN CURLcode curl_mime_encoder(curl_mimepart *part,
+ const char *encoding);
+
+/*
+ * NAME curl_mime_data()
+ *
+ * DESCRIPTION
+ *
+ * Set mime part data source from memory data,
+ */
+CURL_EXTERN CURLcode curl_mime_data(curl_mimepart *part,
+ const char *data, size_t datasize);
+
+/*
+ * NAME curl_mime_filedata()
+ *
+ * DESCRIPTION
+ *
+ * Set mime part data source from named file.
+ */
+CURL_EXTERN CURLcode curl_mime_filedata(curl_mimepart *part,
+ const char *filename);
+
+/*
+ * NAME curl_mime_data_cb()
+ *
+ * DESCRIPTION
+ *
+ * Set mime part data source from callback function.
+ */
+CURL_EXTERN CURLcode curl_mime_data_cb(curl_mimepart *part,
+ curl_off_t datasize,
+ curl_read_callback readfunc,
+ curl_seek_callback seekfunc,
+ curl_free_callback freefunc,
+ void *arg);
+
+/*
+ * NAME curl_mime_subparts()
+ *
+ * DESCRIPTION
+ *
+ * Set mime part data source from subparts.
+ */
+CURL_EXTERN CURLcode curl_mime_subparts(curl_mimepart *part,
+ curl_mime *subparts);
+/*
+ * NAME curl_mime_headers()
+ *
+ * DESCRIPTION
+ *
+ * Set mime part headers.
+ */
+CURL_EXTERN CURLcode curl_mime_headers(curl_mimepart *part,
+ struct curl_slist *headers,
+ int take_ownership);
+
+typedef enum {
+ /********* the first one is unused ************/
+ CURLFORM_NOTHING CURL_DEPRECATED(7.56.0, ""),
+ CURLFORM_COPYNAME CURL_DEPRECATED(7.56.0, "Use curl_mime_name()"),
+ CURLFORM_PTRNAME CURL_DEPRECATED(7.56.0, "Use curl_mime_name()"),
+ CURLFORM_NAMELENGTH CURL_DEPRECATED(7.56.0, ""),
+ CURLFORM_COPYCONTENTS CURL_DEPRECATED(7.56.0, "Use curl_mime_data()"),
+ CURLFORM_PTRCONTENTS CURL_DEPRECATED(7.56.0, "Use curl_mime_data()"),
+ CURLFORM_CONTENTSLENGTH CURL_DEPRECATED(7.56.0, "Use curl_mime_data()"),
+ CURLFORM_FILECONTENT CURL_DEPRECATED(7.56.0, "Use curl_mime_data_cb()"),
+ CURLFORM_ARRAY CURL_DEPRECATED(7.56.0, ""),
+ CURLFORM_OBSOLETE,
+ CURLFORM_FILE CURL_DEPRECATED(7.56.0, "Use curl_mime_filedata()"),
+
+ CURLFORM_BUFFER CURL_DEPRECATED(7.56.0, "Use curl_mime_filename()"),
+ CURLFORM_BUFFERPTR CURL_DEPRECATED(7.56.0, "Use curl_mime_data()"),
+ CURLFORM_BUFFERLENGTH CURL_DEPRECATED(7.56.0, "Use curl_mime_data()"),
+
+ CURLFORM_CONTENTTYPE CURL_DEPRECATED(7.56.0, "Use curl_mime_type()"),
+ CURLFORM_CONTENTHEADER CURL_DEPRECATED(7.56.0, "Use curl_mime_headers()"),
+ CURLFORM_FILENAME CURL_DEPRECATED(7.56.0, "Use curl_mime_filename()"),
+ CURLFORM_END,
+ CURLFORM_OBSOLETE2,
+
+ CURLFORM_STREAM CURL_DEPRECATED(7.56.0, "Use curl_mime_data_cb()"),
+ CURLFORM_CONTENTLEN /* added in 7.46.0, provide a curl_off_t length */
+ CURL_DEPRECATED(7.56.0, "Use curl_mime_data()"),
+
+ CURLFORM_LASTENTRY /* the last unused */
+} CURLformoption;
+
+/* structure to be used as parameter for CURLFORM_ARRAY */
+struct curl_forms {
+ CURLformoption option;
+ const char *value;
+};
+
+/* use this for multipart formpost building */
+/* Returns code for curl_formadd()
+ *
+ * Returns:
+ * CURL_FORMADD_OK on success
+ * CURL_FORMADD_MEMORY if the FormInfo allocation fails
+ * CURL_FORMADD_OPTION_TWICE if one option is given twice for one Form
+ * CURL_FORMADD_NULL if a null pointer was given for a char
+ * CURL_FORMADD_MEMORY if the allocation of a FormInfo struct failed
+ * CURL_FORMADD_UNKNOWN_OPTION if an unknown option was used
+ * CURL_FORMADD_INCOMPLETE if the some FormInfo is not complete (or error)
+ * CURL_FORMADD_MEMORY if a curl_httppost struct cannot be allocated
+ * CURL_FORMADD_MEMORY if some allocation for string copying failed.
+ * CURL_FORMADD_ILLEGAL_ARRAY if an illegal option is used in an array
+ *
+ ***************************************************************************/
+typedef enum {
+ CURL_FORMADD_OK CURL_DEPRECATED(7.56.0, ""), /* 1st, no error */
+
+ CURL_FORMADD_MEMORY CURL_DEPRECATED(7.56.0, ""),
+ CURL_FORMADD_OPTION_TWICE CURL_DEPRECATED(7.56.0, ""),
+ CURL_FORMADD_NULL CURL_DEPRECATED(7.56.0, ""),
+ CURL_FORMADD_UNKNOWN_OPTION CURL_DEPRECATED(7.56.0, ""),
+ CURL_FORMADD_INCOMPLETE CURL_DEPRECATED(7.56.0, ""),
+ CURL_FORMADD_ILLEGAL_ARRAY CURL_DEPRECATED(7.56.0, ""),
+ /* libcurl was built with form api disabled */
+ CURL_FORMADD_DISABLED CURL_DEPRECATED(7.56.0, ""),
+
+ CURL_FORMADD_LAST /* last */
+} CURLFORMcode;
+
+/*
+ * NAME curl_formadd()
+ *
+ * DESCRIPTION
+ *
+ * Pretty advanced function for building multi-part formposts. Each invoke
+ * adds one part that together construct a full post. Then use
+ * CURLOPT_HTTPPOST to send it off to libcurl.
+ */
+CURL_EXTERN CURLFORMcode CURL_DEPRECATED(7.56.0, "Use curl_mime_init()")
+curl_formadd(struct curl_httppost **httppost,
+ struct curl_httppost **last_post,
+ ...);
+
+/*
+ * callback function for curl_formget()
+ * The void *arg pointer will be the one passed as second argument to
+ * curl_formget().
+ * The character buffer passed to it must not be freed.
+ * Should return the buffer length passed to it as the argument "len" on
+ * success.
+ */
+typedef size_t (*curl_formget_callback)(void *arg, const char *buf,
+ size_t len);
+
+/*
+ * NAME curl_formget()
+ *
+ * DESCRIPTION
+ *
+ * Serialize a curl_httppost struct built with curl_formadd().
+ * Accepts a void pointer as second argument which will be passed to
+ * the curl_formget_callback function.
+ * Returns 0 on success.
+ */
+CURL_EXTERN int CURL_DEPRECATED(7.56.0, "")
+curl_formget(struct curl_httppost *form, void *arg,
+ curl_formget_callback append);
+/*
+ * NAME curl_formfree()
+ *
+ * DESCRIPTION
+ *
+ * Free a multipart formpost previously built with curl_formadd().
+ */
+CURL_EXTERN void CURL_DEPRECATED(7.56.0, "Use curl_mime_free()")
+curl_formfree(struct curl_httppost *form);
+
+/*
+ * NAME curl_getenv()
+ *
+ * DESCRIPTION
+ *
+ * Returns a malloc()'ed string that MUST be curl_free()ed after usage is
+ * complete. DEPRECATED - see lib/README.curlx
+ */
+CURL_EXTERN char *curl_getenv(const char *variable);
+
+/*
+ * NAME curl_version()
+ *
+ * DESCRIPTION
+ *
+ * Returns a static ascii string of the libcurl version.
+ */
+CURL_EXTERN char *curl_version(void);
+
+/*
+ * NAME curl_easy_escape()
+ *
+ * DESCRIPTION
+ *
+ * Escapes URL strings (converts all letters consider illegal in URLs to their
+ * %XX versions). This function returns a new allocated string or NULL if an
+ * error occurred.
+ */
+CURL_EXTERN char *curl_easy_escape(CURL *handle,
+ const char *string,
+ int length);
+
+/* the previous version: */
+CURL_EXTERN char *curl_escape(const char *string,
+ int length);
+
+
+/*
+ * NAME curl_easy_unescape()
+ *
+ * DESCRIPTION
+ *
+ * Unescapes URL encoding in strings (converts all %XX codes to their 8bit
+ * versions). This function returns a new allocated string or NULL if an error
+ * occurred.
+ * Conversion Note: On non-ASCII platforms the ASCII %XX codes are
+ * converted into the host encoding.
+ */
+CURL_EXTERN char *curl_easy_unescape(CURL *handle,
+ const char *string,
+ int length,
+ int *outlength);
+
+/* the previous version */
+CURL_EXTERN char *curl_unescape(const char *string,
+ int length);
+
+/*
+ * NAME curl_free()
+ *
+ * DESCRIPTION
+ *
+ * Provided for de-allocation in the same translation unit that did the
+ * allocation. Added in libcurl 7.10
+ */
+CURL_EXTERN void curl_free(void *p);
+
+/*
+ * NAME curl_global_init()
+ *
+ * DESCRIPTION
+ *
+ * curl_global_init() should be invoked exactly once for each application that
+ * uses libcurl and before any call of other libcurl functions.
+
+ * This function is thread-safe if CURL_VERSION_THREADSAFE is set in the
+ * curl_version_info_data.features flag (fetch by curl_version_info()).
+
+ */
+CURL_EXTERN CURLcode curl_global_init(long flags);
+
+/*
+ * NAME curl_global_init_mem()
+ *
+ * DESCRIPTION
+ *
+ * curl_global_init() or curl_global_init_mem() should be invoked exactly once
+ * for each application that uses libcurl. This function can be used to
+ * initialize libcurl and set user defined memory management callback
+ * functions. Users can implement memory management routines to check for
+ * memory leaks, check for mis-use of the curl library etc. User registered
+ * callback routines will be invoked by this library instead of the system
+ * memory management routines like malloc, free etc.
+ */
+CURL_EXTERN CURLcode curl_global_init_mem(long flags,
+ curl_malloc_callback m,
+ curl_free_callback f,
+ curl_realloc_callback r,
+ curl_strdup_callback s,
+ curl_calloc_callback c);
+
+/*
+ * NAME curl_global_cleanup()
+ *
+ * DESCRIPTION
+ *
+ * curl_global_cleanup() should be invoked exactly once for each application
+ * that uses libcurl
+ */
+CURL_EXTERN void curl_global_cleanup(void);
+
+/*
+ * NAME curl_global_trace()
+ *
+ * DESCRIPTION
+ *
+ * curl_global_trace() can be invoked at application start to
+ * configure which components in curl should participate in tracing.
+
+ * This function is thread-safe if CURL_VERSION_THREADSAFE is set in the
+ * curl_version_info_data.features flag (fetch by curl_version_info()).
+
+ */
+CURL_EXTERN CURLcode curl_global_trace(const char *config);
+
+/* linked-list structure for the CURLOPT_QUOTE option (and other) */
+struct curl_slist {
+ char *data;
+ struct curl_slist *next;
+};
+
+/*
+ * NAME curl_global_sslset()
+ *
+ * DESCRIPTION
+ *
+ * When built with multiple SSL backends, curl_global_sslset() allows to
+ * choose one. This function can only be called once, and it must be called
+ * *before* curl_global_init().
+ *
+ * The backend can be identified by the id (e.g. CURLSSLBACKEND_OPENSSL). The
+ * backend can also be specified via the name parameter (passing -1 as id).
+ * If both id and name are specified, the name will be ignored. If neither id
+ * nor name are specified, the function will fail with
+ * CURLSSLSET_UNKNOWN_BACKEND and set the "avail" pointer to the
+ * NULL-terminated list of available backends.
+ *
+ * Upon success, the function returns CURLSSLSET_OK.
+ *
+ * If the specified SSL backend is not available, the function returns
+ * CURLSSLSET_UNKNOWN_BACKEND and sets the "avail" pointer to a NULL-terminated
+ * list of available SSL backends.
+ *
+ * The SSL backend can be set only once. If it has already been set, a
+ * subsequent attempt to change it will result in a CURLSSLSET_TOO_LATE.
+ */
+
+struct curl_ssl_backend {
+ curl_sslbackend id;
+ const char *name;
+};
+typedef struct curl_ssl_backend curl_ssl_backend;
+
+typedef enum {
+ CURLSSLSET_OK = 0,
+ CURLSSLSET_UNKNOWN_BACKEND,
+ CURLSSLSET_TOO_LATE,
+ CURLSSLSET_NO_BACKENDS /* libcurl was built without any SSL support */
+} CURLsslset;
+
+CURL_EXTERN CURLsslset curl_global_sslset(curl_sslbackend id, const char *name,
+ const curl_ssl_backend ***avail);
+
+/*
+ * NAME curl_slist_append()
+ *
+ * DESCRIPTION
+ *
+ * Appends a string to a linked list. If no list exists, it will be created
+ * first. Returns the new list, after appending.
+ */
+CURL_EXTERN struct curl_slist *curl_slist_append(struct curl_slist *list,
+ const char *data);
+
+/*
+ * NAME curl_slist_free_all()
+ *
+ * DESCRIPTION
+ *
+ * free a previously built curl_slist.
+ */
+CURL_EXTERN void curl_slist_free_all(struct curl_slist *list);
+
+/*
+ * NAME curl_getdate()
+ *
+ * DESCRIPTION
+ *
+ * Returns the time, in seconds since 1 Jan 1970 of the time string given in
+ * the first argument. The time argument in the second parameter is unused
+ * and should be set to NULL.
+ */
+CURL_EXTERN time_t curl_getdate(const char *p, const time_t *unused);
+
+/* info about the certificate chain, for SSL backends that support it. Asked
+ for with CURLOPT_CERTINFO / CURLINFO_CERTINFO */
+struct curl_certinfo {
+ int num_of_certs; /* number of certificates with information */
+ struct curl_slist **certinfo; /* for each index in this array, there's a
+ linked list with textual information for a
+ certificate in the format "name:content".
+ eg "Subject:foo", "Issuer:bar", etc. */
+};
+
+/* Information about the SSL library used and the respective internal SSL
+ handle, which can be used to obtain further information regarding the
+ connection. Asked for with CURLINFO_TLS_SSL_PTR or CURLINFO_TLS_SESSION. */
+struct curl_tlssessioninfo {
+ curl_sslbackend backend;
+ void *internals;
+};
+
+#define CURLINFO_STRING 0x100000
+#define CURLINFO_LONG 0x200000
+#define CURLINFO_DOUBLE 0x300000
+#define CURLINFO_SLIST 0x400000
+#define CURLINFO_PTR 0x400000 /* same as SLIST */
+#define CURLINFO_SOCKET 0x500000
+#define CURLINFO_OFF_T 0x600000
+#define CURLINFO_MASK 0x0fffff
+#define CURLINFO_TYPEMASK 0xf00000
+
+typedef enum {
+ CURLINFO_NONE, /* first, never use this */
+ CURLINFO_EFFECTIVE_URL = CURLINFO_STRING + 1,
+ CURLINFO_RESPONSE_CODE = CURLINFO_LONG + 2,
+ CURLINFO_TOTAL_TIME = CURLINFO_DOUBLE + 3,
+ CURLINFO_NAMELOOKUP_TIME = CURLINFO_DOUBLE + 4,
+ CURLINFO_CONNECT_TIME = CURLINFO_DOUBLE + 5,
+ CURLINFO_PRETRANSFER_TIME = CURLINFO_DOUBLE + 6,
+ CURLINFO_SIZE_UPLOAD CURL_DEPRECATED(7.55.0, "Use CURLINFO_SIZE_UPLOAD_T")
+ = CURLINFO_DOUBLE + 7,
+ CURLINFO_SIZE_UPLOAD_T = CURLINFO_OFF_T + 7,
+ CURLINFO_SIZE_DOWNLOAD
+ CURL_DEPRECATED(7.55.0, "Use CURLINFO_SIZE_DOWNLOAD_T")
+ = CURLINFO_DOUBLE + 8,
+ CURLINFO_SIZE_DOWNLOAD_T = CURLINFO_OFF_T + 8,
+ CURLINFO_SPEED_DOWNLOAD
+ CURL_DEPRECATED(7.55.0, "Use CURLINFO_SPEED_DOWNLOAD_T")
+ = CURLINFO_DOUBLE + 9,
+ CURLINFO_SPEED_DOWNLOAD_T = CURLINFO_OFF_T + 9,
+ CURLINFO_SPEED_UPLOAD
+ CURL_DEPRECATED(7.55.0, "Use CURLINFO_SPEED_UPLOAD_T")
+ = CURLINFO_DOUBLE + 10,
+ CURLINFO_SPEED_UPLOAD_T = CURLINFO_OFF_T + 10,
+ CURLINFO_HEADER_SIZE = CURLINFO_LONG + 11,
+ CURLINFO_REQUEST_SIZE = CURLINFO_LONG + 12,
+ CURLINFO_SSL_VERIFYRESULT = CURLINFO_LONG + 13,
+ CURLINFO_FILETIME = CURLINFO_LONG + 14,
+ CURLINFO_FILETIME_T = CURLINFO_OFF_T + 14,
+ CURLINFO_CONTENT_LENGTH_DOWNLOAD
+ CURL_DEPRECATED(7.55.0,
+ "Use CURLINFO_CONTENT_LENGTH_DOWNLOAD_T")
+ = CURLINFO_DOUBLE + 15,
+ CURLINFO_CONTENT_LENGTH_DOWNLOAD_T = CURLINFO_OFF_T + 15,
+ CURLINFO_CONTENT_LENGTH_UPLOAD
+ CURL_DEPRECATED(7.55.0,
+ "Use CURLINFO_CONTENT_LENGTH_UPLOAD_T")
+ = CURLINFO_DOUBLE + 16,
+ CURLINFO_CONTENT_LENGTH_UPLOAD_T = CURLINFO_OFF_T + 16,
+ CURLINFO_STARTTRANSFER_TIME = CURLINFO_DOUBLE + 17,
+ CURLINFO_CONTENT_TYPE = CURLINFO_STRING + 18,
+ CURLINFO_REDIRECT_TIME = CURLINFO_DOUBLE + 19,
+ CURLINFO_REDIRECT_COUNT = CURLINFO_LONG + 20,
+ CURLINFO_PRIVATE = CURLINFO_STRING + 21,
+ CURLINFO_HTTP_CONNECTCODE = CURLINFO_LONG + 22,
+ CURLINFO_HTTPAUTH_AVAIL = CURLINFO_LONG + 23,
+ CURLINFO_PROXYAUTH_AVAIL = CURLINFO_LONG + 24,
+ CURLINFO_OS_ERRNO = CURLINFO_LONG + 25,
+ CURLINFO_NUM_CONNECTS = CURLINFO_LONG + 26,
+ CURLINFO_SSL_ENGINES = CURLINFO_SLIST + 27,
+ CURLINFO_COOKIELIST = CURLINFO_SLIST + 28,
+ CURLINFO_LASTSOCKET CURL_DEPRECATED(7.45.0, "Use CURLINFO_ACTIVESOCKET")
+ = CURLINFO_LONG + 29,
+ CURLINFO_FTP_ENTRY_PATH = CURLINFO_STRING + 30,
+ CURLINFO_REDIRECT_URL = CURLINFO_STRING + 31,
+ CURLINFO_PRIMARY_IP = CURLINFO_STRING + 32,
+ CURLINFO_APPCONNECT_TIME = CURLINFO_DOUBLE + 33,
+ CURLINFO_CERTINFO = CURLINFO_PTR + 34,
+ CURLINFO_CONDITION_UNMET = CURLINFO_LONG + 35,
+ CURLINFO_RTSP_SESSION_ID = CURLINFO_STRING + 36,
+ CURLINFO_RTSP_CLIENT_CSEQ = CURLINFO_LONG + 37,
+ CURLINFO_RTSP_SERVER_CSEQ = CURLINFO_LONG + 38,
+ CURLINFO_RTSP_CSEQ_RECV = CURLINFO_LONG + 39,
+ CURLINFO_PRIMARY_PORT = CURLINFO_LONG + 40,
+ CURLINFO_LOCAL_IP = CURLINFO_STRING + 41,
+ CURLINFO_LOCAL_PORT = CURLINFO_LONG + 42,
+ CURLINFO_TLS_SESSION CURL_DEPRECATED(7.48.0, "Use CURLINFO_TLS_SSL_PTR")
+ = CURLINFO_PTR + 43,
+ CURLINFO_ACTIVESOCKET = CURLINFO_SOCKET + 44,
+ CURLINFO_TLS_SSL_PTR = CURLINFO_PTR + 45,
+ CURLINFO_HTTP_VERSION = CURLINFO_LONG + 46,
+ CURLINFO_PROXY_SSL_VERIFYRESULT = CURLINFO_LONG + 47,
+ CURLINFO_PROTOCOL CURL_DEPRECATED(7.85.0, "Use CURLINFO_SCHEME")
+ = CURLINFO_LONG + 48,
+ CURLINFO_SCHEME = CURLINFO_STRING + 49,
+ CURLINFO_TOTAL_TIME_T = CURLINFO_OFF_T + 50,
+ CURLINFO_NAMELOOKUP_TIME_T = CURLINFO_OFF_T + 51,
+ CURLINFO_CONNECT_TIME_T = CURLINFO_OFF_T + 52,
+ CURLINFO_PRETRANSFER_TIME_T = CURLINFO_OFF_T + 53,
+ CURLINFO_STARTTRANSFER_TIME_T = CURLINFO_OFF_T + 54,
+ CURLINFO_REDIRECT_TIME_T = CURLINFO_OFF_T + 55,
+ CURLINFO_APPCONNECT_TIME_T = CURLINFO_OFF_T + 56,
+ CURLINFO_RETRY_AFTER = CURLINFO_OFF_T + 57,
+ CURLINFO_EFFECTIVE_METHOD = CURLINFO_STRING + 58,
+ CURLINFO_PROXY_ERROR = CURLINFO_LONG + 59,
+ CURLINFO_REFERER = CURLINFO_STRING + 60,
+ CURLINFO_CAINFO = CURLINFO_STRING + 61,
+ CURLINFO_CAPATH = CURLINFO_STRING + 62,
+ CURLINFO_XFER_ID = CURLINFO_OFF_T + 63,
+ CURLINFO_CONN_ID = CURLINFO_OFF_T + 64,
+ CURLINFO_QUEUE_TIME_T = CURLINFO_OFF_T + 65,
+ CURLINFO_USED_PROXY = CURLINFO_LONG + 66,
+ CURLINFO_LASTONE = 66
+} CURLINFO;
+
+/* CURLINFO_RESPONSE_CODE is the new name for the option previously known as
+ CURLINFO_HTTP_CODE */
+#define CURLINFO_HTTP_CODE CURLINFO_RESPONSE_CODE
+
+typedef enum {
+ CURLCLOSEPOLICY_NONE, /* first, never use this */
+
+ CURLCLOSEPOLICY_OLDEST,
+ CURLCLOSEPOLICY_LEAST_RECENTLY_USED,
+ CURLCLOSEPOLICY_LEAST_TRAFFIC,
+ CURLCLOSEPOLICY_SLOWEST,
+ CURLCLOSEPOLICY_CALLBACK,
+
+ CURLCLOSEPOLICY_LAST /* last, never use this */
+} curl_closepolicy;
+
+#define CURL_GLOBAL_SSL (1<<0) /* no purpose since 7.57.0 */
+#define CURL_GLOBAL_WIN32 (1<<1)
+#define CURL_GLOBAL_ALL (CURL_GLOBAL_SSL|CURL_GLOBAL_WIN32)
+#define CURL_GLOBAL_NOTHING 0
+#define CURL_GLOBAL_DEFAULT CURL_GLOBAL_ALL
+#define CURL_GLOBAL_ACK_EINTR (1<<2)
+
+
+/*****************************************************************************
+ * Setup defines, protos etc for the sharing stuff.
+ */
+
+/* Different data locks for a single share */
+typedef enum {
+ CURL_LOCK_DATA_NONE = 0,
+ /* CURL_LOCK_DATA_SHARE is used internally to say that
+ * the locking is just made to change the internal state of the share
+ * itself.
+ */
+ CURL_LOCK_DATA_SHARE,
+ CURL_LOCK_DATA_COOKIE,
+ CURL_LOCK_DATA_DNS,
+ CURL_LOCK_DATA_SSL_SESSION,
+ CURL_LOCK_DATA_CONNECT,
+ CURL_LOCK_DATA_PSL,
+ CURL_LOCK_DATA_HSTS,
+ CURL_LOCK_DATA_LAST
+} curl_lock_data;
+
+/* Different lock access types */
+typedef enum {
+ CURL_LOCK_ACCESS_NONE = 0, /* unspecified action */
+ CURL_LOCK_ACCESS_SHARED = 1, /* for read perhaps */
+ CURL_LOCK_ACCESS_SINGLE = 2, /* for write perhaps */
+ CURL_LOCK_ACCESS_LAST /* never use */
+} curl_lock_access;
+
+typedef void (*curl_lock_function)(CURL *handle,
+ curl_lock_data data,
+ curl_lock_access locktype,
+ void *userptr);
+typedef void (*curl_unlock_function)(CURL *handle,
+ curl_lock_data data,
+ void *userptr);
+
+
+typedef enum {
+ CURLSHE_OK, /* all is fine */
+ CURLSHE_BAD_OPTION, /* 1 */
+ CURLSHE_IN_USE, /* 2 */
+ CURLSHE_INVALID, /* 3 */
+ CURLSHE_NOMEM, /* 4 out of memory */
+ CURLSHE_NOT_BUILT_IN, /* 5 feature not present in lib */
+ CURLSHE_LAST /* never use */
+} CURLSHcode;
+
+typedef enum {
+ CURLSHOPT_NONE, /* don't use */
+ CURLSHOPT_SHARE, /* specify a data type to share */
+ CURLSHOPT_UNSHARE, /* specify which data type to stop sharing */
+ CURLSHOPT_LOCKFUNC, /* pass in a 'curl_lock_function' pointer */
+ CURLSHOPT_UNLOCKFUNC, /* pass in a 'curl_unlock_function' pointer */
+ CURLSHOPT_USERDATA, /* pass in a user data pointer used in the lock/unlock
+ callback functions */
+ CURLSHOPT_LAST /* never use */
+} CURLSHoption;
+
+CURL_EXTERN CURLSH *curl_share_init(void);
+CURL_EXTERN CURLSHcode curl_share_setopt(CURLSH *share, CURLSHoption option,
+ ...);
+CURL_EXTERN CURLSHcode curl_share_cleanup(CURLSH *share);
+
+/****************************************************************************
+ * Structures for querying information about the curl library at runtime.
+ */
+
+typedef enum {
+ CURLVERSION_FIRST, /* 7.10 */
+ CURLVERSION_SECOND, /* 7.11.1 */
+ CURLVERSION_THIRD, /* 7.12.0 */
+ CURLVERSION_FOURTH, /* 7.16.1 */
+ CURLVERSION_FIFTH, /* 7.57.0 */
+ CURLVERSION_SIXTH, /* 7.66.0 */
+ CURLVERSION_SEVENTH, /* 7.70.0 */
+ CURLVERSION_EIGHTH, /* 7.72.0 */
+ CURLVERSION_NINTH, /* 7.75.0 */
+ CURLVERSION_TENTH, /* 7.77.0 */
+ CURLVERSION_ELEVENTH, /* 7.87.0 */
+ CURLVERSION_TWELFTH, /* 8.8.0 */
+ CURLVERSION_LAST /* never actually use this */
+} CURLversion;
+
+/* The 'CURLVERSION_NOW' is the symbolic name meant to be used by
+ basically all programs ever that want to get version information. It is
+ meant to be a built-in version number for what kind of struct the caller
+ expects. If the struct ever chanHuL, we redefine the NOW to another enum
+ from above. */
+#define CURLVERSION_NOW CURLVERSION_TWELFTH
+
+struct curl_version_info_data {
+ CURLversion age; /* age of the returned struct */
+ const char *version; /* LIBCURL_VERSION */
+ unsigned int version_num; /* LIBCURL_VERSION_NUM */
+ const char *host; /* OS/host/cpu/machine when configured */
+ int features; /* bitmask, see defines below */
+ const char *ssl_version; /* human readable string */
+ long ssl_version_num; /* not used anymore, always 0 */
+ const char *libz_version; /* human readable string */
+ /* protocols is terminated by an entry with a NULL protoname */
+ const char * const *protocols;
+
+ /* The fields below this were added in CURLVERSION_SECOND */
+ const char *ares;
+ int ares_num;
+
+ /* This field was added in CURLVERSION_THIRD */
+ const char *libidn;
+
+ /* These field were added in CURLVERSION_FOURTH */
+
+ /* Same as '_libiconv_version' if built with HAVE_ICONV */
+ int iconv_ver_num;
+
+ const char *libssh_version; /* human readable string */
+
+ /* These fields were added in CURLVERSION_FIFTH */
+ unsigned int brotli_ver_num; /* Numeric Brotli version
+ (MAJOR << 24) | (MINOR << 12) | PATCH */
+ const char *brotli_version; /* human readable string. */
+
+ /* These fields were added in CURLVERSION_SIXTH */
+ unsigned int nghttp2_ver_num; /* Numeric nghttp2 version
+ (MAJOR << 16) | (MINOR << 8) | PATCH */
+ const char *nghttp2_version; /* human readable string. */
+ const char *quic_version; /* human readable quic (+ HTTP/3) library +
+ version or NULL */
+
+ /* These fields were added in CURLVERSION_SEVENTH */
+ const char *cainfo; /* the built-in default CURLOPT_CAINFO, might
+ be NULL */
+ const char *capath; /* the built-in default CURLOPT_CAPATH, might
+ be NULL */
+
+ /* These fields were added in CURLVERSION_EIGHTH */
+ unsigned int zstd_ver_num; /* Numeric Zstd version
+ (MAJOR << 24) | (MINOR << 12) | PATCH */
+ const char *zstd_version; /* human readable string. */
+
+ /* These fields were added in CURLVERSION_NINTH */
+ const char *hyper_version; /* human readable string. */
+
+ /* These fields were added in CURLVERSION_TENTH */
+ const char *gsasl_version; /* human readable string. */
+
+ /* These fields were added in CURLVERSION_ELEVENTH */
+ /* feature_names is terminated by an entry with a NULL feature name */
+ const char * const *feature_names;
+
+ /* These fields were added in CURLVERSION_TWELFTH */
+ const char *rtmp_version; /* human readable string. */
+};
+typedef struct curl_version_info_data curl_version_info_data;
+
+#define CURL_VERSION_IPV6 (1<<0) /* IPv6-enabled */
+#define CURL_VERSION_KERBEROS4 (1<<1) /* Kerberos V4 auth is supported
+ (deprecated) */
+#define CURL_VERSION_SSL (1<<2) /* SSL options are present */
+#define CURL_VERSION_LIBZ (1<<3) /* libz features are present */
+#define CURL_VERSION_NTLM (1<<4) /* NTLM auth is supported */
+#define CURL_VERSION_GSSNEGOTIATE (1<<5) /* Negotiate auth is supported
+ (deprecated) */
+#define CURL_VERSION_DEBUG (1<<6) /* Built with debug capabilities */
+#define CURL_VERSION_ASYNCHDNS (1<<7) /* Asynchronous DNS resolves */
+#define CURL_VERSION_SPNEGO (1<<8) /* SPNEGO auth is supported */
+#define CURL_VERSION_LARGEFILE (1<<9) /* Supports files larger than 2GB */
+#define CURL_VERSION_IDN (1<<10) /* Internationized Domain Names are
+ supported */
+#define CURL_VERSION_SSPI (1<<11) /* Built against Windows SSPI */
+#define CURL_VERSION_CONV (1<<12) /* Character conversions supported */
+#define CURL_VERSION_CURLDEBUG (1<<13) /* Debug memory tracking supported */
+#define CURL_VERSION_TLSAUTH_SRP (1<<14) /* TLS-SRP auth is supported */
+#define CURL_VERSION_NTLM_WB (1<<15) /* NTLM delegation to winbind helper
+ is supported */
+#define CURL_VERSION_HTTP2 (1<<16) /* HTTP2 support built-in */
+#define CURL_VERSION_GSSAPI (1<<17) /* Built against a GSS-API library */
+#define CURL_VERSION_KERBEROS5 (1<<18) /* Kerberos V5 auth is supported */
+#define CURL_VERSION_UNIX_SOCKETS (1<<19) /* Unix domain sockets support */
+#define CURL_VERSION_PSL (1<<20) /* Mozilla's Public Suffix List, used
+ for cookie domain verification */
+#define CURL_VERSION_HTTPS_PROXY (1<<21) /* HTTPS-proxy support built-in */
+#define CURL_VERSION_MULTI_SSL (1<<22) /* Multiple SSL backends available */
+#define CURL_VERSION_BROTLI (1<<23) /* Brotli features are present. */
+#define CURL_VERSION_ALTSVC (1<<24) /* Alt-Svc handling built-in */
+#define CURL_VERSION_HTTP3 (1<<25) /* HTTP3 support built-in */
+#define CURL_VERSION_ZSTD (1<<26) /* zstd features are present */
+#define CURL_VERSION_UNICODE (1<<27) /* Unicode support on Windows */
+#define CURL_VERSION_HSTS (1<<28) /* HSTS is supported */
+#define CURL_VERSION_GSASL (1<<29) /* libgsasl is supported */
+#define CURL_VERSION_THREADSAFE (1<<30) /* libcurl API is thread-safe */
+
+/*
+ * NAME curl_version_info()
+ *
+ * DESCRIPTION
+ *
+ * This function returns a pointer to a static copy of the version info
+ * struct. See above.
+ */
+CURL_EXTERN curl_version_info_data *curl_version_info(CURLversion);
+
+/*
+ * NAME curl_easy_strerror()
+ *
+ * DESCRIPTION
+ *
+ * The curl_easy_strerror function may be used to turn a CURLcode value
+ * into the equivalent human readable error string. This is useful
+ * for printing meaningful error messaHuL.
+ */
+CURL_EXTERN const char *curl_easy_strerror(CURLcode);
+
+/*
+ * NAME curl_share_strerror()
+ *
+ * DESCRIPTION
+ *
+ * The curl_share_strerror function may be used to turn a CURLSHcode value
+ * into the equivalent human readable error string. This is useful
+ * for printing meaningful error messaHuL.
+ */
+CURL_EXTERN const char *curl_share_strerror(CURLSHcode);
+
+/*
+ * NAME curl_easy_pause()
+ *
+ * DESCRIPTION
+ *
+ * The curl_easy_pause function pauses or unpauses transfers. Select the new
+ * state by setting the bitmask, use the convenience defines below.
+ *
+ */
+CURL_EXTERN CURLcode curl_easy_pause(CURL *handle, int bitmask);
+
+#define CURLPAUSE_RECV (1<<0)
+#define CURLPAUSE_RECV_CONT (0)
+
+#define CURLPAUSE_SEND (1<<2)
+#define CURLPAUSE_SEND_CONT (0)
+
+#define CURLPAUSE_ALL (CURLPAUSE_RECV|CURLPAUSE_SEND)
+#define CURLPAUSE_CONT (CURLPAUSE_RECV_CONT|CURLPAUSE_SEND_CONT)
+
+#ifdef __cplusplus
+} /* end of extern "C" */
+#endif
+
+/* unfortunately, the easy.h and multi.h include files need options and info
+ stuff before they can be included! */
+#include "easy.h" /* nothing in curl is fun without the easy stuff */
+#include "multi.h"
+#include "urlapi.h"
+#include "options.h"
+#include "header.h"
+#include "websockets.h"
+#include "mprintf.h"
+
+/* the typechecker doesn't work in C++ (yet) */
+#if defined(__GNUC__) && defined(__GNUC_MINOR__) && \
+ ((__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)) && \
+ !defined(__cplusplus) && !defined(CURL_DISABLE_TYPECHECK)
+#include "typecheck-gcc.h"
+#else
+#if defined(__STDC__) && (__STDC__ >= 1)
+/* This preprocessor magic that replaces a call with the exact same call is
+ only done to make sure application authors pass exactly three arguments
+ to these functions. */
+#define curl_easy_setopt(handle,opt,param) curl_easy_setopt(handle,opt,param)
+#define curl_easy_getinfo(handle,info,arg) curl_easy_getinfo(handle,info,arg)
+#define curl_share_setopt(share,opt,param) curl_share_setopt(share,opt,param)
+#define curl_multi_setopt(handle,opt,param) curl_multi_setopt(handle,opt,param)
+#endif /* __STDC__ >= 1 */
+#endif /* gcc >= 4.3 && !__cplusplus && !CURL_DISABLE_TYPECHECK */
+
+#endif /* CURLINC_CURL_H */
diff --git a/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/curlver.h b/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/curlver.h
new file mode 100644
index 0000000..b68e3ee
--- /dev/null
+++ b/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/curlver.h
@@ -0,0 +1,79 @@
+#ifndef CURLINC_CURLVER_H
+#define CURLINC_CURLVER_H
+/***************************************************************************
+ * _ _ ____ _
+ * Project ___| | | | _ \| |
+ * / __| | | | |_) | |
+ * | (__| |_| | _ <| |___
+ * \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) Daniel Stenberg, , et al.
+ *
+ * This software is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at https://curl.se/docs/copyright.html.
+ *
+ * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+ * copies of the Software, and permit persons to whom the Software is
+ * furnished to do so, under the terms of the COPYING file.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ * SPDX-License-Identifier: curl
+ *
+ ***************************************************************************/
+
+/* This header file contains nothing but libcurl version info, generated by
+ a script at release-time. This was made its own header file in 7.11.2 */
+
+/* This is the global package copyright */
+#define LIBCURL_COPYRIGHT "Daniel Stenberg, ."
+
+/* This is the version number of the libcurl package from which this header
+ file origins: */
+#define LIBCURL_VERSION "8.8.0"
+
+/* The numeric version number is also available "in parts" by using these
+ defines: */
+#define LIBCURL_VERSION_MAJOR 8
+#define LIBCURL_VERSION_MINOR 8
+#define LIBCURL_VERSION_PATCH 0
+
+/* This is the numeric version of the libcurl version number, meant for easier
+ parsing and comparisons by programs. The LIBCURL_VERSION_NUM define will
+ always follow this syntax:
+
+ 0xXXYYZZ
+
+ Where XX, YY and ZZ are the main version, release and patch numbers in
+ hexadecimal (using 8 bits each). All three numbers are always represented
+ using two digits. 1.2 would appear as "0x010200" while version 9.11.7
+ appears as "0x090b07".
+
+ This 6-digit (24 bits) hexadecimal number does not show pre-release number,
+ and it is always a greater number in a more recent release. It makes
+ comparisons with greater than and less than work.
+
+ Note: This define is the full hex number and _does not_ use the
+ CURL_VERSION_BITS() macro since curl's own configure script greps for it
+ and needs it to contain the full number.
+*/
+#define LIBCURL_VERSION_NUM 0x080800
+
+/*
+ * This is the date and time when the full source package was created. The
+ * timestamp is not stored in git, as the timestamp is properly set in the
+ * tarballs by the maketgz script.
+ *
+ * The format of the date follows this template:
+ *
+ * "2007-11-23"
+ */
+#define LIBCURL_TIMESTAMP "2024-05-22"
+
+#define CURL_VERSION_BITS(x,y,z) ((x)<<16|(y)<<8|(z))
+#define CURL_AT_LEAST_VERSION(x,y,z) \
+ (LIBCURL_VERSION_NUM >= CURL_VERSION_BITS(x, y, z))
+
+#endif /* CURLINC_CURLVER_H */
diff --git a/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/easy.h b/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/easy.h
new file mode 100644
index 0000000..1285101
--- /dev/null
+++ b/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/easy.h
@@ -0,0 +1,125 @@
+#ifndef CURLINC_EASY_H
+#define CURLINC_EASY_H
+/***************************************************************************
+ * _ _ ____ _
+ * Project ___| | | | _ \| |
+ * / __| | | | |_) | |
+ * | (__| |_| | _ <| |___
+ * \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) Daniel Stenberg, , et al.
+ *
+ * This software is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at https://curl.se/docs/copyright.html.
+ *
+ * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+ * copies of the Software, and permit persons to whom the Software is
+ * furnished to do so, under the terms of the COPYING file.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ * SPDX-License-Identifier: curl
+ *
+ ***************************************************************************/
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Flag bits in the curl_blob struct: */
+#define CURL_BLOB_COPY 1 /* tell libcurl to copy the data */
+#define CURL_BLOB_NOCOPY 0 /* tell libcurl to NOT copy the data */
+
+struct curl_blob {
+ void *data;
+ size_t len;
+ unsigned int flags; /* bit 0 is defined, the rest are reserved and should be
+ left zeroes */
+};
+
+CURL_EXTERN CURL *curl_easy_init(void);
+CURL_EXTERN CURLcode curl_easy_setopt(CURL *curl, CURLoption option, ...);
+CURL_EXTERN CURLcode curl_easy_perform(CURL *curl);
+CURL_EXTERN void curl_easy_cleanup(CURL *curl);
+
+/*
+ * NAME curl_easy_getinfo()
+ *
+ * DESCRIPTION
+ *
+ * Request internal information from the curl session with this function.
+ * The third argument MUST be pointing to the specific type of the used option
+ * which is documented in each man page of the option. The data pointed to
+ * will be filled in accordingly and can be relied upon only if the function
+ * returns CURLE_OK. This function is intended to get used *AFTER* a performed
+ * transfer, all results from this function are undefined until the transfer
+ * is completed.
+ */
+CURL_EXTERN CURLcode curl_easy_getinfo(CURL *curl, CURLINFO info, ...);
+
+
+/*
+ * NAME curl_easy_duphandle()
+ *
+ * DESCRIPTION
+ *
+ * Creates a new curl session handle with the same options set for the handle
+ * passed in. Duplicating a handle could only be a matter of cloning data and
+ * options, internal state info and things like persistent connections cannot
+ * be transferred. It is useful in multithreaded applications when you can run
+ * curl_easy_duphandle() for each new thread to avoid a series of identical
+ * curl_easy_setopt() invokes in every thread.
+ */
+CURL_EXTERN CURL *curl_easy_duphandle(CURL *curl);
+
+/*
+ * NAME curl_easy_reset()
+ *
+ * DESCRIPTION
+ *
+ * Re-initializes a CURL handle to the default values. This puts back the
+ * handle to the same state as it was in when it was just created.
+ *
+ * It does keep: live connections, the Session ID cache, the DNS cache and the
+ * cookies.
+ */
+CURL_EXTERN void curl_easy_reset(CURL *curl);
+
+/*
+ * NAME curl_easy_recv()
+ *
+ * DESCRIPTION
+ *
+ * Receives data from the connected socket. Use after successful
+ * curl_easy_perform() with CURLOPT_CONNECT_ONLY option.
+ */
+CURL_EXTERN CURLcode curl_easy_recv(CURL *curl, void *buffer, size_t buflen,
+ size_t *n);
+
+/*
+ * NAME curl_easy_send()
+ *
+ * DESCRIPTION
+ *
+ * Sends data over the connected socket. Use after successful
+ * curl_easy_perform() with CURLOPT_CONNECT_ONLY option.
+ */
+CURL_EXTERN CURLcode curl_easy_send(CURL *curl, const void *buffer,
+ size_t buflen, size_t *n);
+
+
+/*
+ * NAME curl_easy_upkeep()
+ *
+ * DESCRIPTION
+ *
+ * Performs connection upkeep for the given session handle.
+ */
+CURL_EXTERN CURLcode curl_easy_upkeep(CURL *curl);
+
+#ifdef __cplusplus
+} /* end of extern "C" */
+#endif
+
+#endif
diff --git a/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/header.h b/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/header.h
new file mode 100644
index 0000000..8df11e1
--- /dev/null
+++ b/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/header.h
@@ -0,0 +1,74 @@
+#ifndef CURLINC_HEADER_H
+#define CURLINC_HEADER_H
+/***************************************************************************
+ * _ _ ____ _
+ * Project ___| | | | _ \| |
+ * / __| | | | |_) | |
+ * | (__| |_| | _ <| |___
+ * \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) Daniel Stenberg, , et al.
+ *
+ * This software is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at https://curl.se/docs/copyright.html.
+ *
+ * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+ * copies of the Software, and permit persons to whom the Software is
+ * furnished to do so, under the terms of the COPYING file.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ * SPDX-License-Identifier: curl
+ *
+ ***************************************************************************/
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+struct curl_header {
+ char *name; /* this might not use the same case */
+ char *value;
+ size_t amount; /* number of headers using this name */
+ size_t index; /* ... of this instance, 0 or higher */
+ unsigned int origin; /* see bits below */
+ void *anchor; /* handle privately used by libcurl */
+};
+
+/* 'origin' bits */
+#define CURLH_HEADER (1<<0) /* plain server header */
+#define CURLH_TRAILER (1<<1) /* trailers */
+#define CURLH_CONNECT (1<<2) /* CONNECT headers */
+#define CURLH_1XX (1<<3) /* 1xx headers */
+#define CURLH_PSEUDO (1<<4) /* pseudo headers */
+
+typedef enum {
+ CURLHE_OK,
+ CURLHE_BADINDEX, /* header exists but not with this index */
+ CURLHE_MISSING, /* no such header exists */
+ CURLHE_NOHEADERS, /* no headers at all exist (yet) */
+ CURLHE_NOREQUEST, /* no request with this number was used */
+ CURLHE_OUT_OF_MEMORY, /* out of memory while processing */
+ CURLHE_BAD_ARGUMENT, /* a function argument was not okay */
+ CURLHE_NOT_BUILT_IN /* if API was disabled in the build */
+} CURLHcode;
+
+CURL_EXTERN CURLHcode curl_easy_header(CURL *easy,
+ const char *name,
+ size_t index,
+ unsigned int origin,
+ int request,
+ struct curl_header **hout);
+
+CURL_EXTERN struct curl_header *curl_easy_nextheader(CURL *easy,
+ unsigned int origin,
+ int request,
+ struct curl_header *prev);
+
+#ifdef __cplusplus
+} /* end of extern "C" */
+#endif
+
+#endif /* CURLINC_HEADER_H */
diff --git a/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/mprintf.h b/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/mprintf.h
new file mode 100644
index 0000000..4f70454
--- /dev/null
+++ b/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/mprintf.h
@@ -0,0 +1,78 @@
+#ifndef CURLINC_MPRINTF_H
+#define CURLINC_MPRINTF_H
+/***************************************************************************
+ * _ _ ____ _
+ * Project ___| | | | _ \| |
+ * / __| | | | |_) | |
+ * | (__| |_| | _ <| |___
+ * \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) Daniel Stenberg, , et al.
+ *
+ * This software is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at https://curl.se/docs/copyright.html.
+ *
+ * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+ * copies of the Software, and permit persons to whom the Software is
+ * furnished to do so, under the terms of the COPYING file.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ * SPDX-License-Identifier: curl
+ *
+ ***************************************************************************/
+
+#include
+#include /* needed for FILE */
+#include "curl.h" /* for CURL_EXTERN */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#if (defined(__GNUC__) || defined(__clang__)) && \
+ defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L) && \
+ !defined(CURL_NO_FMT_CHECKS)
+#if defined(__MINGW32__) && !defined(__clang__)
+#define CURL_TEMP_PRINTF(fmt, arg) \
+ __attribute__((format(gnu_printf, fmt, arg)))
+#else
+#define CURL_TEMP_PRINTF(fmt, arg) \
+ __attribute__((format(printf, fmt, arg)))
+#endif
+#else
+#define CURL_TEMP_PRINTF(fmt, arg)
+#endif
+
+CURL_EXTERN int curl_mprintf(const char *format, ...)
+ CURL_TEMP_PRINTF(1, 2);
+CURL_EXTERN int curl_mfprintf(FILE *fd, const char *format, ...)
+ CURL_TEMP_PRINTF(2, 3);
+CURL_EXTERN int curl_msprintf(char *buffer, const char *format, ...)
+ CURL_TEMP_PRINTF(2, 3);
+CURL_EXTERN int curl_msnprintf(char *buffer, size_t maxlength,
+ const char *format, ...)
+ CURL_TEMP_PRINTF(3, 4);
+CURL_EXTERN int curl_mvprintf(const char *format, va_list args)
+ CURL_TEMP_PRINTF(1, 0);
+CURL_EXTERN int curl_mvfprintf(FILE *fd, const char *format, va_list args)
+ CURL_TEMP_PRINTF(2, 0);
+CURL_EXTERN int curl_mvsprintf(char *buffer, const char *format, va_list args)
+ CURL_TEMP_PRINTF(2, 0);
+CURL_EXTERN int curl_mvsnprintf(char *buffer, size_t maxlength,
+ const char *format, va_list args)
+ CURL_TEMP_PRINTF(3, 0);
+CURL_EXTERN char *curl_maprintf(const char *format, ...)
+ CURL_TEMP_PRINTF(1, 2);
+CURL_EXTERN char *curl_mvaprintf(const char *format, va_list args)
+ CURL_TEMP_PRINTF(1, 0);
+
+#undef CURL_TEMP_PRINTF
+
+#ifdef __cplusplus
+} /* end of extern "C" */
+#endif
+
+#endif /* CURLINC_MPRINTF_H */
diff --git a/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/multi.h b/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/multi.h
new file mode 100644
index 0000000..b4583d0
--- /dev/null
+++ b/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/multi.h
@@ -0,0 +1,485 @@
+#ifndef CURLINC_MULTI_H
+#define CURLINC_MULTI_H
+/***************************************************************************
+ * _ _ ____ _
+ * Project ___| | | | _ \| |
+ * / __| | | | |_) | |
+ * | (__| |_| | _ <| |___
+ * \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) Daniel Stenberg, , et al.
+ *
+ * This software is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at https://curl.se/docs/copyright.html.
+ *
+ * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+ * copies of the Software, and permit persons to whom the Software is
+ * furnished to do so, under the terms of the COPYING file.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ * SPDX-License-Identifier: curl
+ *
+ ***************************************************************************/
+/*
+ This is an "external" header file. Don't give away any internals here!
+
+ GOALS
+
+ o Enable a "pull" interface. The application that uses libcurl decides where
+ and when to ask libcurl to get/send data.
+
+ o Enable multiple simultaneous transfers in the same thread without making it
+ complicated for the application.
+
+ o Enable the application to select() on its own file descriptors and curl's
+ file descriptors simultaneous easily.
+
+*/
+
+/*
+ * This header file should not really need to include "curl.h" since curl.h
+ * itself includes this file and we expect user applications to do #include
+ * without the need for especially including multi.h.
+ *
+ * For some reason we added this include here at one point, and rather than to
+ * break existing (wrongly written) libcurl applications, we leave it as-is
+ * but with this warning attached.
+ */
+#include "curl.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#if defined(BUILDING_LIBCURL) || defined(CURL_STRICTER)
+typedef struct Curl_multi CURLM;
+#else
+typedef void CURLM;
+#endif
+
+typedef enum {
+ CURLM_CALL_MULTI_PERFORM = -1, /* please call curl_multi_perform() or
+ curl_multi_socket*() soon */
+ CURLM_OK,
+ CURLM_BAD_HANDLE, /* the passed-in handle is not a valid CURLM handle */
+ CURLM_BAD_EASY_HANDLE, /* an easy handle was not good/valid */
+ CURLM_OUT_OF_MEMORY, /* if you ever get this, you're in deep sh*t */
+ CURLM_INTERNAL_ERROR, /* this is a libcurl bug */
+ CURLM_BAD_SOCKET, /* the passed in socket argument did not match */
+ CURLM_UNKNOWN_OPTION, /* curl_multi_setopt() with unsupported option */
+ CURLM_ADDED_ALREADY, /* an easy handle already added to a multi handle was
+ attempted to get added - again */
+ CURLM_RECURSIVE_API_CALL, /* an api function was called from inside a
+ callback */
+ CURLM_WAKEUP_FAILURE, /* wakeup is unavailable or failed */
+ CURLM_BAD_FUNCTION_ARGUMENT, /* function called with a bad parameter */
+ CURLM_ABORTED_BY_CALLBACK,
+ CURLM_UNRECOVERABLE_POLL,
+ CURLM_LAST
+} CURLMcode;
+
+/* just to make code nicer when using curl_multi_socket() you can now check
+ for CURLM_CALL_MULTI_SOCKET too in the same style it works for
+ curl_multi_perform() and CURLM_CALL_MULTI_PERFORM */
+#define CURLM_CALL_MULTI_SOCKET CURLM_CALL_MULTI_PERFORM
+
+/* bitmask bits for CURLMOPT_PIPELINING */
+#define CURLPIPE_NOTHING 0L
+#define CURLPIPE_HTTP1 1L
+#define CURLPIPE_MULTIPLEX 2L
+
+typedef enum {
+ CURLMSG_NONE, /* first, not used */
+ CURLMSG_DONE, /* This easy handle has completed. 'result' contains
+ the CURLcode of the transfer */
+ CURLMSG_LAST /* last, not used */
+} CURLMSG;
+
+struct CURLMsg {
+ CURLMSG msg; /* what this message means */
+ CURL *easy_handle; /* the handle it concerns */
+ union {
+ void *whatever; /* message-specific data */
+ CURLcode result; /* return code for transfer */
+ } data;
+};
+typedef struct CURLMsg CURLMsg;
+
+/* Based on poll(2) structure and values.
+ * We don't use pollfd and POLL* constants explicitly
+ * to cover platforms without poll(). */
+#define CURL_WAIT_POLLIN 0x0001
+#define CURL_WAIT_POLLPRI 0x0002
+#define CURL_WAIT_POLLOUT 0x0004
+
+struct curl_waitfd {
+ curl_socket_t fd;
+ short events;
+ short revents;
+};
+
+/*
+ * Name: curl_multi_init()
+ *
+ * Desc: initialize multi-style curl usage
+ *
+ * Returns: a new CURLM handle to use in all 'curl_multi' functions.
+ */
+CURL_EXTERN CURLM *curl_multi_init(void);
+
+/*
+ * Name: curl_multi_add_handle()
+ *
+ * Desc: add a standard curl handle to the multi stack
+ *
+ * Returns: CURLMcode type, general multi error code.
+ */
+CURL_EXTERN CURLMcode curl_multi_add_handle(CURLM *multi_handle,
+ CURL *curl_handle);
+
+ /*
+ * Name: curl_multi_remove_handle()
+ *
+ * Desc: removes a curl handle from the multi stack again
+ *
+ * Returns: CURLMcode type, general multi error code.
+ */
+CURL_EXTERN CURLMcode curl_multi_remove_handle(CURLM *multi_handle,
+ CURL *curl_handle);
+
+ /*
+ * Name: curl_multi_fdset()
+ *
+ * Desc: Ask curl for its fd_set sets. The app can use these to select() or
+ * poll() on. We want curl_multi_perform() called as soon as one of
+ * them are ready.
+ *
+ * Returns: CURLMcode type, general multi error code.
+ */
+CURL_EXTERN CURLMcode curl_multi_fdset(CURLM *multi_handle,
+ fd_set *read_fd_set,
+ fd_set *write_fd_set,
+ fd_set *exc_fd_set,
+ int *max_fd);
+
+/*
+ * Name: curl_multi_wait()
+ *
+ * Desc: Poll on all fds within a CURLM set as well as any
+ * additional fds passed to the function.
+ *
+ * Returns: CURLMcode type, general multi error code.
+ */
+CURL_EXTERN CURLMcode curl_multi_wait(CURLM *multi_handle,
+ struct curl_waitfd extra_fds[],
+ unsigned int extra_nfds,
+ int timeout_ms,
+ int *ret);
+
+/*
+ * Name: curl_multi_poll()
+ *
+ * Desc: Poll on all fds within a CURLM set as well as any
+ * additional fds passed to the function.
+ *
+ * Returns: CURLMcode type, general multi error code.
+ */
+CURL_EXTERN CURLMcode curl_multi_poll(CURLM *multi_handle,
+ struct curl_waitfd extra_fds[],
+ unsigned int extra_nfds,
+ int timeout_ms,
+ int *ret);
+
+/*
+ * Name: curl_multi_wakeup()
+ *
+ * Desc: wakes up a sleeping curl_multi_poll call.
+ *
+ * Returns: CURLMcode type, general multi error code.
+ */
+CURL_EXTERN CURLMcode curl_multi_wakeup(CURLM *multi_handle);
+
+ /*
+ * Name: curl_multi_perform()
+ *
+ * Desc: When the app thinks there's data available for curl it calls this
+ * function to read/write whatever there is right now. This returns
+ * as soon as the reads and writes are done. This function does not
+ * require that there actually is data available for reading or that
+ * data can be written, it can be called just in case. It returns
+ * the number of handles that still transfer data in the second
+ * argument's integer-pointer.
+ *
+ * Returns: CURLMcode type, general multi error code. *NOTE* that this only
+ * returns errors etc regarding the whole multi stack. There might
+ * still have occurred problems on individual transfers even when
+ * this returns OK.
+ */
+CURL_EXTERN CURLMcode curl_multi_perform(CURLM *multi_handle,
+ int *running_handles);
+
+ /*
+ * Name: curl_multi_cleanup()
+ *
+ * Desc: Cleans up and removes a whole multi stack. It does not free or
+ * touch any individual easy handles in any way. We need to define
+ * in what state those handles will be if this function is called
+ * in the middle of a transfer.
+ *
+ * Returns: CURLMcode type, general multi error code.
+ */
+CURL_EXTERN CURLMcode curl_multi_cleanup(CURLM *multi_handle);
+
+/*
+ * Name: curl_multi_info_read()
+ *
+ * Desc: Ask the multi handle if there's any messaHuL/informationals from
+ * the individual transfers. MessaHuL include informationals such as
+ * error code from the transfer or just the fact that a transfer is
+ * completed. More details on these should be written down as well.
+ *
+ * Repeated calls to this function will return a new struct each
+ * time, until a special "end of msgs" struct is returned as a signal
+ * that there is no more to get at this point.
+ *
+ * The data the returned pointer points to will not survive calling
+ * curl_multi_cleanup().
+ *
+ * The 'CURLMsg' struct is meant to be very simple and only contain
+ * very basic information. If more involved information is wanted,
+ * we will provide the particular "transfer handle" in that struct
+ * and that should/could/would be used in subsequent
+ * curl_easy_getinfo() calls (or similar). The point being that we
+ * must never expose complex structs to applications, as then we'll
+ * undoubtably get backwards compatibility problems in the future.
+ *
+ * Returns: A pointer to a filled-in struct, or NULL if it failed or ran out
+ * of structs. It also writes the number of messaHuL left in the
+ * queue (after this read) in the integer the second argument points
+ * to.
+ */
+CURL_EXTERN CURLMsg *curl_multi_info_read(CURLM *multi_handle,
+ int *msgs_in_queue);
+
+/*
+ * Name: curl_multi_strerror()
+ *
+ * Desc: The curl_multi_strerror function may be used to turn a CURLMcode
+ * value into the equivalent human readable error string. This is
+ * useful for printing meaningful error messaHuL.
+ *
+ * Returns: A pointer to a null-terminated error message.
+ */
+CURL_EXTERN const char *curl_multi_strerror(CURLMcode);
+
+/*
+ * Name: curl_multi_socket() and
+ * curl_multi_socket_all()
+ *
+ * Desc: An alternative version of curl_multi_perform() that allows the
+ * application to pass in one of the file descriptors that have been
+ * detected to have "action" on them and let libcurl perform.
+ * See man page for details.
+ */
+#define CURL_POLL_NONE 0
+#define CURL_POLL_IN 1
+#define CURL_POLL_OUT 2
+#define CURL_POLL_INOUT 3
+#define CURL_POLL_REMOVE 4
+
+#define CURL_SOCKET_TIMEOUT CURL_SOCKET_BAD
+
+#define CURL_CSELECT_IN 0x01
+#define CURL_CSELECT_OUT 0x02
+#define CURL_CSELECT_ERR 0x04
+
+typedef int (*curl_socket_callback)(CURL *easy, /* easy handle */
+ curl_socket_t s, /* socket */
+ int what, /* see above */
+ void *userp, /* private callback
+ pointer */
+ void *socketp); /* private socket
+ pointer */
+/*
+ * Name: curl_multi_timer_callback
+ *
+ * Desc: Called by libcurl whenever the library detects a change in the
+ * maximum number of milliseconds the app is allowed to wait before
+ * curl_multi_socket() or curl_multi_perform() must be called
+ * (to allow libcurl's timed events to take place).
+ *
+ * Returns: The callback should return zero.
+ */
+typedef int (*curl_multi_timer_callback)(CURLM *multi, /* multi handle */
+ long timeout_ms, /* see above */
+ void *userp); /* private callback
+ pointer */
+
+CURL_EXTERN CURLMcode CURL_DEPRECATED(7.19.5, "Use curl_multi_socket_action()")
+curl_multi_socket(CURLM *multi_handle, curl_socket_t s, int *running_handles);
+
+CURL_EXTERN CURLMcode curl_multi_socket_action(CURLM *multi_handle,
+ curl_socket_t s,
+ int ev_bitmask,
+ int *running_handles);
+
+CURL_EXTERN CURLMcode CURL_DEPRECATED(7.19.5, "Use curl_multi_socket_action()")
+curl_multi_socket_all(CURLM *multi_handle, int *running_handles);
+
+#ifndef CURL_ALLOW_OLD_MULTI_SOCKET
+/* This macro below was added in 7.16.3 to push users who recompile to use
+ the new curl_multi_socket_action() instead of the old curl_multi_socket()
+*/
+#define curl_multi_socket(x,y,z) curl_multi_socket_action(x,y,0,z)
+#endif
+
+/*
+ * Name: curl_multi_timeout()
+ *
+ * Desc: Returns the maximum number of milliseconds the app is allowed to
+ * wait before curl_multi_socket() or curl_multi_perform() must be
+ * called (to allow libcurl's timed events to take place).
+ *
+ * Returns: CURLM error code.
+ */
+CURL_EXTERN CURLMcode curl_multi_timeout(CURLM *multi_handle,
+ long *milliseconds);
+
+typedef enum {
+ /* This is the socket callback function pointer */
+ CURLOPT(CURLMOPT_SOCKETFUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 1),
+
+ /* This is the argument passed to the socket callback */
+ CURLOPT(CURLMOPT_SOCKETDATA, CURLOPTTYPE_OBJECTPOINT, 2),
+
+ /* set to 1 to enable pipelining for this multi handle */
+ CURLOPT(CURLMOPT_PIPELINING, CURLOPTTYPE_LONG, 3),
+
+ /* This is the timer callback function pointer */
+ CURLOPT(CURLMOPT_TIMERFUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 4),
+
+ /* This is the argument passed to the timer callback */
+ CURLOPT(CURLMOPT_TIMERDATA, CURLOPTTYPE_OBJECTPOINT, 5),
+
+ /* maximum number of entries in the connection cache */
+ CURLOPT(CURLMOPT_MAXCONNECTS, CURLOPTTYPE_LONG, 6),
+
+ /* maximum number of (pipelining) connections to one host */
+ CURLOPT(CURLMOPT_MAX_HOST_CONNECTIONS, CURLOPTTYPE_LONG, 7),
+
+ /* maximum number of requests in a pipeline */
+ CURLOPT(CURLMOPT_MAX_PIPELINE_LENGTH, CURLOPTTYPE_LONG, 8),
+
+ /* a connection with a content-length longer than this
+ will not be considered for pipelining */
+ CURLOPT(CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE, CURLOPTTYPE_OFF_T, 9),
+
+ /* a connection with a chunk length longer than this
+ will not be considered for pipelining */
+ CURLOPT(CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE, CURLOPTTYPE_OFF_T, 10),
+
+ /* a list of site names(+port) that are blocked from pipelining */
+ CURLOPT(CURLMOPT_PIPELINING_SITE_BL, CURLOPTTYPE_OBJECTPOINT, 11),
+
+ /* a list of server types that are blocked from pipelining */
+ CURLOPT(CURLMOPT_PIPELINING_SERVER_BL, CURLOPTTYPE_OBJECTPOINT, 12),
+
+ /* maximum number of open connections in total */
+ CURLOPT(CURLMOPT_MAX_TOTAL_CONNECTIONS, CURLOPTTYPE_LONG, 13),
+
+ /* This is the server push callback function pointer */
+ CURLOPT(CURLMOPT_PUSHFUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 14),
+
+ /* This is the argument passed to the server push callback */
+ CURLOPT(CURLMOPT_PUSHDATA, CURLOPTTYPE_OBJECTPOINT, 15),
+
+ /* maximum number of concurrent streams to support on a connection */
+ CURLOPT(CURLMOPT_MAX_CONCURRENT_STREAMS, CURLOPTTYPE_LONG, 16),
+
+ CURLMOPT_LASTENTRY /* the last unused */
+} CURLMoption;
+
+
+/*
+ * Name: curl_multi_setopt()
+ *
+ * Desc: Sets options for the multi handle.
+ *
+ * Returns: CURLM error code.
+ */
+CURL_EXTERN CURLMcode curl_multi_setopt(CURLM *multi_handle,
+ CURLMoption option, ...);
+
+
+/*
+ * Name: curl_multi_assign()
+ *
+ * Desc: This function sets an association in the multi handle between the
+ * given socket and a private pointer of the application. This is
+ * (only) useful for curl_multi_socket uses.
+ *
+ * Returns: CURLM error code.
+ */
+CURL_EXTERN CURLMcode curl_multi_assign(CURLM *multi_handle,
+ curl_socket_t sockfd, void *sockp);
+
+/*
+ * Name: curl_multi_get_handles()
+ *
+ * Desc: Returns an allocated array holding all handles currently added to
+ * the multi handle. Marks the final entry with a NULL pointer. If
+ * there is no easy handle added to the multi handle, this function
+ * returns an array with the first entry as a NULL pointer.
+ *
+ * Returns: NULL on failure, otherwise a CURL **array pointer
+ */
+CURL_EXTERN CURL **curl_multi_get_handles(CURLM *multi_handle);
+
+/*
+ * Name: curl_push_callback
+ *
+ * Desc: This callback gets called when a new stream is being pushed by the
+ * server. It approves or denies the new stream. It can also decide
+ * to completely fail the connection.
+ *
+ * Returns: CURL_PUSH_OK, CURL_PUSH_DENY or CURL_PUSH_ERROROUT
+ */
+#define CURL_PUSH_OK 0
+#define CURL_PUSH_DENY 1
+#define CURL_PUSH_ERROROUT 2 /* added in 7.72.0 */
+
+struct curl_pushheaders; /* forward declaration only */
+
+CURL_EXTERN char *curl_pushheader_bynum(struct curl_pushheaders *h,
+ size_t num);
+CURL_EXTERN char *curl_pushheader_byname(struct curl_pushheaders *h,
+ const char *name);
+
+typedef int (*curl_push_callback)(CURL *parent,
+ CURL *easy,
+ size_t num_headers,
+ struct curl_pushheaders *headers,
+ void *userp);
+
+/*
+ * Name: curl_multi_waitfds()
+ *
+ * Desc: Ask curl for fds for polling. The app can use these to poll on.
+ * We want curl_multi_perform() called as soon as one of them are
+ * ready. Passing zero size allows to get just a number of fds.
+ *
+ * Returns: CURLMcode type, general multi error code.
+ */
+CURL_EXTERN CURLMcode curl_multi_waitfds(CURLM *multi,
+ struct curl_waitfd *ufds,
+ unsigned int size,
+ unsigned int *fd_count);
+
+#ifdef __cplusplus
+} /* end of extern "C" */
+#endif
+
+#endif
diff --git a/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/options.h b/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/options.h
new file mode 100644
index 0000000..4722041
--- /dev/null
+++ b/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/options.h
@@ -0,0 +1,70 @@
+#ifndef CURLINC_OPTIONS_H
+#define CURLINC_OPTIONS_H
+/***************************************************************************
+ * _ _ ____ _
+ * Project ___| | | | _ \| |
+ * / __| | | | |_) | |
+ * | (__| |_| | _ <| |___
+ * \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) Daniel Stenberg, , et al.
+ *
+ * This software is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at https://curl.se/docs/copyright.html.
+ *
+ * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+ * copies of the Software, and permit persons to whom the Software is
+ * furnished to do so, under the terms of the COPYING file.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ * SPDX-License-Identifier: curl
+ *
+ ***************************************************************************/
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef enum {
+ CURLOT_LONG, /* long (a range of values) */
+ CURLOT_VALUES, /* (a defined set or bitmask) */
+ CURLOT_OFF_T, /* curl_off_t (a range of values) */
+ CURLOT_OBJECT, /* pointer (void *) */
+ CURLOT_STRING, /* (char * to null-terminated buffer) */
+ CURLOT_SLIST, /* (struct curl_slist *) */
+ CURLOT_CBPTR, /* (void * passed as-is to a callback) */
+ CURLOT_BLOB, /* blob (struct curl_blob *) */
+ CURLOT_FUNCTION /* function pointer */
+} curl_easytype;
+
+/* Flag bits */
+
+/* "alias" means it is provided for old programs to remain functional,
+ we prefer another name */
+#define CURLOT_FLAG_ALIAS (1<<0)
+
+/* The CURLOPTTYPE_* id ranHuL can still be used to figure out what type/size
+ to use for curl_easy_setopt() for the given id */
+struct curl_easyoption {
+ const char *name;
+ CURLoption id;
+ curl_easytype type;
+ unsigned int flags;
+};
+
+CURL_EXTERN const struct curl_easyoption *
+curl_easy_option_by_name(const char *name);
+
+CURL_EXTERN const struct curl_easyoption *
+curl_easy_option_by_id(CURLoption id);
+
+CURL_EXTERN const struct curl_easyoption *
+curl_easy_option_next(const struct curl_easyoption *prev);
+
+#ifdef __cplusplus
+} /* end of extern "C" */
+#endif
+#endif /* CURLINC_OPTIONS_H */
diff --git a/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/stdcheaders.h b/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/stdcheaders.h
new file mode 100644
index 0000000..7451aa3
--- /dev/null
+++ b/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/stdcheaders.h
@@ -0,0 +1,35 @@
+#ifndef CURLINC_STDCHEADERS_H
+#define CURLINC_STDCHEADERS_H
+/***************************************************************************
+ * _ _ ____ _
+ * Project ___| | | | _ \| |
+ * / __| | | | |_) | |
+ * | (__| |_| | _ <| |___
+ * \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) Daniel Stenberg, , et al.
+ *
+ * This software is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at https://curl.se/docs/copyright.html.
+ *
+ * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+ * copies of the Software, and permit persons to whom the Software is
+ * furnished to do so, under the terms of the COPYING file.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ * SPDX-License-Identifier: curl
+ *
+ ***************************************************************************/
+
+#include
+
+size_t fread(void *, size_t, size_t, FILE *);
+size_t fwrite(const void *, size_t, size_t, FILE *);
+
+int strcasecmp(const char *, const char *);
+int strncasecmp(const char *, const char *, size_t);
+
+#endif /* CURLINC_STDCHEADERS_H */
diff --git a/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/system.h b/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/system.h
new file mode 100644
index 0000000..81a1b81
--- /dev/null
+++ b/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/system.h
@@ -0,0 +1,496 @@
+#ifndef CURLINC_SYSTEM_H
+#define CURLINC_SYSTEM_H
+/***************************************************************************
+ * _ _ ____ _
+ * Project ___| | | | _ \| |
+ * / __| | | | |_) | |
+ * | (__| |_| | _ <| |___
+ * \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) Daniel Stenberg, , et al.
+ *
+ * This software is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at https://curl.se/docs/copyright.html.
+ *
+ * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+ * copies of the Software, and permit persons to whom the Software is
+ * furnished to do so, under the terms of the COPYING file.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ * SPDX-License-Identifier: curl
+ *
+ ***************************************************************************/
+
+/*
+ * Try to keep one section per platform, compiler and architecture, otherwise,
+ * if an existing section is reused for a different one and later on the
+ * original is adjusted, probably the piggybacking one can be adversely
+ * changed.
+ *
+ * In order to differentiate between platforms/compilers/architectures use
+ * only compiler built in predefined preprocessor symbols.
+ *
+ * curl_off_t
+ * ----------
+ *
+ * For any given platform/compiler curl_off_t must be typedef'ed to a 64-bit
+ * wide signed integral data type. The width of this data type must remain
+ * constant and independent of any possible large file support settings.
+ *
+ * As an exception to the above, curl_off_t shall be typedef'ed to a 32-bit
+ * wide signed integral data type if there is no 64-bit type.
+ *
+ * As a general rule, curl_off_t shall not be mapped to off_t. This rule shall
+ * only be violated if off_t is the only 64-bit data type available and the
+ * size of off_t is independent of large file support settings. Keep your
+ * build on the safe side avoiding an off_t gating. If you have a 64-bit
+ * off_t then take for sure that another 64-bit data type exists, dig deeper
+ * and you will find it.
+ *
+ */
+
+#if defined(__DJGPP__) || defined(__GO32__)
+# if defined(__DJGPP__) && (__DJGPP__ > 1)
+# define CURL_TYPEOF_CURL_OFF_T long long
+# define CURL_FORMAT_CURL_OFF_T "lld"
+# define CURL_FORMAT_CURL_OFF_TU "llu"
+# define CURL_SUFFIX_CURL_OFF_T LL
+# define CURL_SUFFIX_CURL_OFF_TU ULL
+# else
+# define CURL_TYPEOF_CURL_OFF_T long
+# define CURL_FORMAT_CURL_OFF_T "ld"
+# define CURL_FORMAT_CURL_OFF_TU "lu"
+# define CURL_SUFFIX_CURL_OFF_T L
+# define CURL_SUFFIX_CURL_OFF_TU UL
+# endif
+# define CURL_TYPEOF_CURL_SOCKLEN_T int
+
+#elif defined(__SALFORDC__)
+# define CURL_TYPEOF_CURL_OFF_T long
+# define CURL_FORMAT_CURL_OFF_T "ld"
+# define CURL_FORMAT_CURL_OFF_TU "lu"
+# define CURL_SUFFIX_CURL_OFF_T L
+# define CURL_SUFFIX_CURL_OFF_TU UL
+# define CURL_TYPEOF_CURL_SOCKLEN_T int
+
+#elif defined(__BORLANDC__)
+# if (__BORLANDC__ < 0x520)
+# define CURL_TYPEOF_CURL_OFF_T long
+# define CURL_FORMAT_CURL_OFF_T "ld"
+# define CURL_FORMAT_CURL_OFF_TU "lu"
+# define CURL_SUFFIX_CURL_OFF_T L
+# define CURL_SUFFIX_CURL_OFF_TU UL
+# else
+# define CURL_TYPEOF_CURL_OFF_T __int64
+# define CURL_FORMAT_CURL_OFF_T "I64d"
+# define CURL_FORMAT_CURL_OFF_TU "I64u"
+# define CURL_SUFFIX_CURL_OFF_T i64
+# define CURL_SUFFIX_CURL_OFF_TU ui64
+# endif
+# define CURL_TYPEOF_CURL_SOCKLEN_T int
+
+#elif defined(__TURBOC__)
+# define CURL_TYPEOF_CURL_OFF_T long
+# define CURL_FORMAT_CURL_OFF_T "ld"
+# define CURL_FORMAT_CURL_OFF_TU "lu"
+# define CURL_SUFFIX_CURL_OFF_T L
+# define CURL_SUFFIX_CURL_OFF_TU UL
+# define CURL_TYPEOF_CURL_SOCKLEN_T int
+
+#elif defined(__POCC__)
+# if (__POCC__ < 280)
+# define CURL_TYPEOF_CURL_OFF_T long
+# define CURL_FORMAT_CURL_OFF_T "ld"
+# define CURL_FORMAT_CURL_OFF_TU "lu"
+# define CURL_SUFFIX_CURL_OFF_T L
+# define CURL_SUFFIX_CURL_OFF_TU UL
+# elif defined(_MSC_VER)
+# define CURL_TYPEOF_CURL_OFF_T __int64
+# define CURL_FORMAT_CURL_OFF_T "I64d"
+# define CURL_FORMAT_CURL_OFF_TU "I64u"
+# define CURL_SUFFIX_CURL_OFF_T i64
+# define CURL_SUFFIX_CURL_OFF_TU ui64
+# else
+# define CURL_TYPEOF_CURL_OFF_T long long
+# define CURL_FORMAT_CURL_OFF_T "lld"
+# define CURL_FORMAT_CURL_OFF_TU "llu"
+# define CURL_SUFFIX_CURL_OFF_T LL
+# define CURL_SUFFIX_CURL_OFF_TU ULL
+# endif
+# define CURL_TYPEOF_CURL_SOCKLEN_T int
+
+#elif defined(__LCC__)
+# if defined(__MCST__) /* MCST eLbrus Compiler Collection */
+# define CURL_TYPEOF_CURL_OFF_T long
+# define CURL_FORMAT_CURL_OFF_T "ld"
+# define CURL_FORMAT_CURL_OFF_TU "lu"
+# define CURL_SUFFIX_CURL_OFF_T L
+# define CURL_SUFFIX_CURL_OFF_TU UL
+# define CURL_TYPEOF_CURL_SOCKLEN_T socklen_t
+# define CURL_PULL_SYS_TYPES_H 1
+# define CURL_PULL_SYS_SOCKET_H 1
+# else /* Local (or Little) C Compiler */
+# define CURL_TYPEOF_CURL_OFF_T long
+# define CURL_FORMAT_CURL_OFF_T "ld"
+# define CURL_FORMAT_CURL_OFF_TU "lu"
+# define CURL_SUFFIX_CURL_OFF_T L
+# define CURL_SUFFIX_CURL_OFF_TU UL
+# define CURL_TYPEOF_CURL_SOCKLEN_T int
+# endif
+
+#elif defined(macintosh)
+# include
+# if TYPE_LONGLONG
+# define CURL_TYPEOF_CURL_OFF_T long long
+# define CURL_FORMAT_CURL_OFF_T "lld"
+# define CURL_FORMAT_CURL_OFF_TU "llu"
+# define CURL_SUFFIX_CURL_OFF_T LL
+# define CURL_SUFFIX_CURL_OFF_TU ULL
+# else
+# define CURL_TYPEOF_CURL_OFF_T long
+# define CURL_FORMAT_CURL_OFF_T "ld"
+# define CURL_FORMAT_CURL_OFF_TU "lu"
+# define CURL_SUFFIX_CURL_OFF_T L
+# define CURL_SUFFIX_CURL_OFF_TU UL
+# endif
+# define CURL_TYPEOF_CURL_SOCKLEN_T unsigned int
+
+#elif defined(__TANDEM)
+# if ! defined(__LP64)
+ /* Required for 32-bit NonStop builds only. */
+# define CURL_TYPEOF_CURL_OFF_T long long
+# define CURL_FORMAT_CURL_OFF_T "lld"
+# define CURL_FORMAT_CURL_OFF_TU "llu"
+# define CURL_SUFFIX_CURL_OFF_T LL
+# define CURL_SUFFIX_CURL_OFF_TU ULL
+# define CURL_TYPEOF_CURL_SOCKLEN_T int
+# endif
+
+#elif defined(_WIN32_WCE)
+# define CURL_TYPEOF_CURL_OFF_T __int64
+# define CURL_FORMAT_CURL_OFF_T "I64d"
+# define CURL_FORMAT_CURL_OFF_TU "I64u"
+# define CURL_SUFFIX_CURL_OFF_T i64
+# define CURL_SUFFIX_CURL_OFF_TU ui64
+# define CURL_TYPEOF_CURL_SOCKLEN_T int
+
+#elif defined(__MINGW32__)
+# include
+# define CURL_TYPEOF_CURL_OFF_T long long
+# define CURL_FORMAT_CURL_OFF_T PRId64
+# define CURL_FORMAT_CURL_OFF_TU PRIu64
+# define CURL_SUFFIX_CURL_OFF_T LL
+# define CURL_SUFFIX_CURL_OFF_TU ULL
+# define CURL_TYPEOF_CURL_SOCKLEN_T int
+# define CURL_PULL_SYS_TYPES_H 1
+
+#elif defined(__VMS)
+# if defined(__VAX)
+# define CURL_TYPEOF_CURL_OFF_T long
+# define CURL_FORMAT_CURL_OFF_T "ld"
+# define CURL_FORMAT_CURL_OFF_TU "lu"
+# define CURL_SUFFIX_CURL_OFF_T L
+# define CURL_SUFFIX_CURL_OFF_TU UL
+# else
+# define CURL_TYPEOF_CURL_OFF_T long long
+# define CURL_FORMAT_CURL_OFF_T "lld"
+# define CURL_FORMAT_CURL_OFF_TU "llu"
+# define CURL_SUFFIX_CURL_OFF_T LL
+# define CURL_SUFFIX_CURL_OFF_TU ULL
+# endif
+# define CURL_TYPEOF_CURL_SOCKLEN_T unsigned int
+
+#elif defined(__OS400__)
+# define CURL_TYPEOF_CURL_OFF_T long long
+# define CURL_FORMAT_CURL_OFF_T "lld"
+# define CURL_FORMAT_CURL_OFF_TU "llu"
+# define CURL_SUFFIX_CURL_OFF_T LL
+# define CURL_SUFFIX_CURL_OFF_TU ULL
+# define CURL_TYPEOF_CURL_SOCKLEN_T socklen_t
+# define CURL_PULL_SYS_TYPES_H 1
+# define CURL_PULL_SYS_SOCKET_H 1
+
+#elif defined(__MVS__)
+# if defined(_LONG_LONG)
+# define CURL_TYPEOF_CURL_OFF_T long long
+# define CURL_FORMAT_CURL_OFF_T "lld"
+# define CURL_FORMAT_CURL_OFF_TU "llu"
+# define CURL_SUFFIX_CURL_OFF_T LL
+# define CURL_SUFFIX_CURL_OFF_TU ULL
+# elif defined(_LP64)
+# define CURL_TYPEOF_CURL_OFF_T long
+# define CURL_FORMAT_CURL_OFF_T "ld"
+# define CURL_FORMAT_CURL_OFF_TU "lu"
+# define CURL_SUFFIX_CURL_OFF_T L
+# define CURL_SUFFIX_CURL_OFF_TU UL
+# else
+# define CURL_TYPEOF_CURL_OFF_T long
+# define CURL_FORMAT_CURL_OFF_T "ld"
+# define CURL_FORMAT_CURL_OFF_TU "lu"
+# define CURL_SUFFIX_CURL_OFF_T L
+# define CURL_SUFFIX_CURL_OFF_TU UL
+# endif
+# define CURL_TYPEOF_CURL_SOCKLEN_T socklen_t
+# define CURL_PULL_SYS_TYPES_H 1
+# define CURL_PULL_SYS_SOCKET_H 1
+
+#elif defined(__370__)
+# if defined(__IBMC__) || defined(__IBMCPP__)
+# if defined(_ILP32)
+# elif defined(_LP64)
+# endif
+# if defined(_LONG_LONG)
+# define CURL_TYPEOF_CURL_OFF_T long long
+# define CURL_FORMAT_CURL_OFF_T "lld"
+# define CURL_FORMAT_CURL_OFF_TU "llu"
+# define CURL_SUFFIX_CURL_OFF_T LL
+# define CURL_SUFFIX_CURL_OFF_TU ULL
+# elif defined(_LP64)
+# define CURL_TYPEOF_CURL_OFF_T long
+# define CURL_FORMAT_CURL_OFF_T "ld"
+# define CURL_FORMAT_CURL_OFF_TU "lu"
+# define CURL_SUFFIX_CURL_OFF_T L
+# define CURL_SUFFIX_CURL_OFF_TU UL
+# else
+# define CURL_TYPEOF_CURL_OFF_T long
+# define CURL_FORMAT_CURL_OFF_T "ld"
+# define CURL_FORMAT_CURL_OFF_TU "lu"
+# define CURL_SUFFIX_CURL_OFF_T L
+# define CURL_SUFFIX_CURL_OFF_TU UL
+# endif
+# define CURL_TYPEOF_CURL_SOCKLEN_T socklen_t
+# define CURL_PULL_SYS_TYPES_H 1
+# define CURL_PULL_SYS_SOCKET_H 1
+# endif
+
+#elif defined(TPF)
+# define CURL_TYPEOF_CURL_OFF_T long
+# define CURL_FORMAT_CURL_OFF_T "ld"
+# define CURL_FORMAT_CURL_OFF_TU "lu"
+# define CURL_SUFFIX_CURL_OFF_T L
+# define CURL_SUFFIX_CURL_OFF_TU UL
+# define CURL_TYPEOF_CURL_SOCKLEN_T int
+
+#elif defined(__TINYC__) /* also known as tcc */
+# define CURL_TYPEOF_CURL_OFF_T long long
+# define CURL_FORMAT_CURL_OFF_T "lld"
+# define CURL_FORMAT_CURL_OFF_TU "llu"
+# define CURL_SUFFIX_CURL_OFF_T LL
+# define CURL_SUFFIX_CURL_OFF_TU ULL
+# define CURL_TYPEOF_CURL_SOCKLEN_T socklen_t
+# define CURL_PULL_SYS_TYPES_H 1
+# define CURL_PULL_SYS_SOCKET_H 1
+
+#elif defined(__SUNPRO_C) || defined(__SUNPRO_CC) /* Oracle Solaris Studio */
+# if !defined(__LP64) && (defined(__ILP32) || \
+ defined(__i386) || \
+ defined(__sparcv8) || \
+ defined(__sparcv8plus))
+# define CURL_TYPEOF_CURL_OFF_T long long
+# define CURL_FORMAT_CURL_OFF_T "lld"
+# define CURL_FORMAT_CURL_OFF_TU "llu"
+# define CURL_SUFFIX_CURL_OFF_T LL
+# define CURL_SUFFIX_CURL_OFF_TU ULL
+# elif defined(__LP64) || \
+ defined(__amd64) || defined(__sparcv9)
+# define CURL_TYPEOF_CURL_OFF_T long
+# define CURL_FORMAT_CURL_OFF_T "ld"
+# define CURL_FORMAT_CURL_OFF_TU "lu"
+# define CURL_SUFFIX_CURL_OFF_T L
+# define CURL_SUFFIX_CURL_OFF_TU UL
+# endif
+# define CURL_TYPEOF_CURL_SOCKLEN_T socklen_t
+# define CURL_PULL_SYS_TYPES_H 1
+# define CURL_PULL_SYS_SOCKET_H 1
+
+#elif defined(__xlc__) /* IBM xlc compiler */
+# if !defined(_LP64)
+# define CURL_TYPEOF_CURL_OFF_T long long
+# define CURL_FORMAT_CURL_OFF_T "lld"
+# define CURL_FORMAT_CURL_OFF_TU "llu"
+# define CURL_SUFFIX_CURL_OFF_T LL
+# define CURL_SUFFIX_CURL_OFF_TU ULL
+# else
+# define CURL_TYPEOF_CURL_OFF_T long
+# define CURL_FORMAT_CURL_OFF_T "ld"
+# define CURL_FORMAT_CURL_OFF_TU "lu"
+# define CURL_SUFFIX_CURL_OFF_T L
+# define CURL_SUFFIX_CURL_OFF_TU UL
+# endif
+# define CURL_TYPEOF_CURL_SOCKLEN_T socklen_t
+# define CURL_PULL_SYS_TYPES_H 1
+# define CURL_PULL_SYS_SOCKET_H 1
+
+#elif defined(__hpux) /* HP aCC compiler */
+# if !defined(_LP64)
+# define CURL_TYPEOF_CURL_OFF_T long long
+# define CURL_FORMAT_CURL_OFF_T "lld"
+# define CURL_FORMAT_CURL_OFF_TU "llu"
+# define CURL_SUFFIX_CURL_OFF_T LL
+# define CURL_SUFFIX_CURL_OFF_TU ULL
+# else
+# define CURL_TYPEOF_CURL_OFF_T long
+# define CURL_FORMAT_CURL_OFF_T "ld"
+# define CURL_FORMAT_CURL_OFF_TU "lu"
+# define CURL_SUFFIX_CURL_OFF_T L
+# define CURL_SUFFIX_CURL_OFF_TU UL
+# endif
+# define CURL_TYPEOF_CURL_SOCKLEN_T socklen_t
+# define CURL_PULL_SYS_TYPES_H 1
+# define CURL_PULL_SYS_SOCKET_H 1
+
+/* ===================================== */
+/* KEEP MSVC THE PENULTIMATE ENTRY */
+/* ===================================== */
+
+#elif defined(_MSC_VER)
+# if (_MSC_VER >= 1800)
+# include
+# define CURL_TYPEOF_CURL_OFF_T __int64
+# define CURL_FORMAT_CURL_OFF_T PRId64
+# define CURL_FORMAT_CURL_OFF_TU PRIu64
+# define CURL_SUFFIX_CURL_OFF_T i64
+# define CURL_SUFFIX_CURL_OFF_TU ui64
+# elif (_MSC_VER >= 900) && (_INTEGRAL_MAX_BITS >= 64)
+# define CURL_TYPEOF_CURL_OFF_T __int64
+# define CURL_FORMAT_CURL_OFF_T "I64d"
+# define CURL_FORMAT_CURL_OFF_TU "I64u"
+# define CURL_SUFFIX_CURL_OFF_T i64
+# define CURL_SUFFIX_CURL_OFF_TU ui64
+# else
+# define CURL_TYPEOF_CURL_OFF_T long
+# define CURL_FORMAT_CURL_OFF_T "ld"
+# define CURL_FORMAT_CURL_OFF_TU "lu"
+# define CURL_SUFFIX_CURL_OFF_T L
+# define CURL_SUFFIX_CURL_OFF_TU UL
+# endif
+# define CURL_TYPEOF_CURL_SOCKLEN_T int
+
+/* ===================================== */
+/* KEEP GENERIC GCC THE LAST ENTRY */
+/* ===================================== */
+
+#elif defined(__GNUC__) && !defined(_SCO_DS)
+# if !defined(__LP64__) && \
+ (defined(__ILP32__) || defined(__i386__) || defined(__hppa__) || \
+ defined(__ppc__) || defined(__powerpc__) || defined(__arm__) || \
+ defined(__sparc__) || defined(__mips__) || defined(__sh__) || \
+ defined(__XTENSA__) || \
+ (defined(__SIZEOF_LONG__) && __SIZEOF_LONG__ == 4) || \
+ (defined(__LONG_MAX__) && __LONG_MAX__ == 2147483647L))
+# define CURL_TYPEOF_CURL_OFF_T long long
+# define CURL_FORMAT_CURL_OFF_T "lld"
+# define CURL_FORMAT_CURL_OFF_TU "llu"
+# define CURL_SUFFIX_CURL_OFF_T LL
+# define CURL_SUFFIX_CURL_OFF_TU ULL
+# elif defined(__LP64__) || \
+ defined(__x86_64__) || defined(__ppc64__) || defined(__sparc64__) || \
+ defined(__e2k__) || \
+ (defined(__SIZEOF_LONG__) && __SIZEOF_LONG__ == 8) || \
+ (defined(__LONG_MAX__) && __LONG_MAX__ == 9223372036854775807L)
+# define CURL_TYPEOF_CURL_OFF_T long
+# define CURL_FORMAT_CURL_OFF_T "ld"
+# define CURL_FORMAT_CURL_OFF_TU "lu"
+# define CURL_SUFFIX_CURL_OFF_T L
+# define CURL_SUFFIX_CURL_OFF_TU UL
+# endif
+# define CURL_TYPEOF_CURL_SOCKLEN_T socklen_t
+# define CURL_PULL_SYS_TYPES_H 1
+# define CURL_PULL_SYS_SOCKET_H 1
+
+#else
+/* generic "safe guess" on old 32 bit style */
+# define CURL_TYPEOF_CURL_OFF_T long
+# define CURL_FORMAT_CURL_OFF_T "ld"
+# define CURL_FORMAT_CURL_OFF_TU "lu"
+# define CURL_SUFFIX_CURL_OFF_T L
+# define CURL_SUFFIX_CURL_OFF_TU UL
+# define CURL_TYPEOF_CURL_SOCKLEN_T int
+#endif
+
+#ifdef _AIX
+/* AIX needs */
+#define CURL_PULL_SYS_POLL_H
+#endif
+
+/* CURL_PULL_SYS_TYPES_H is defined above when inclusion of header file */
+/* sys/types.h is required here to properly make type definitions below. */
+#ifdef CURL_PULL_SYS_TYPES_H
+# include
+#endif
+
+/* CURL_PULL_SYS_SOCKET_H is defined above when inclusion of header file */
+/* sys/socket.h is required here to properly make type definitions below. */
+#ifdef CURL_PULL_SYS_SOCKET_H
+# include
+#endif
+
+/* CURL_PULL_SYS_POLL_H is defined above when inclusion of header file */
+/* sys/poll.h is required here to properly make type definitions below. */
+#ifdef CURL_PULL_SYS_POLL_H
+# include
+#endif
+
+/* Data type definition of curl_socklen_t. */
+#ifdef CURL_TYPEOF_CURL_SOCKLEN_T
+ typedef CURL_TYPEOF_CURL_SOCKLEN_T curl_socklen_t;
+#endif
+
+/* Data type definition of curl_off_t. */
+
+#ifdef CURL_TYPEOF_CURL_OFF_T
+ typedef CURL_TYPEOF_CURL_OFF_T curl_off_t;
+#endif
+
+/*
+ * CURL_ISOCPP and CURL_OFF_T_C definitions are done here in order to allow
+ * these to be visible and exported by the external libcurl interface API,
+ * while also making them visible to the library internals, simply including
+ * curl_setup.h, without actually needing to include curl.h internally.
+ * If some day this section would grow big enough, all this should be moved
+ * to its own header file.
+ */
+
+/*
+ * Figure out if we can use the ## preprocessor operator, which is supported
+ * by ISO/ANSI C and C++. Some compilers support it without setting __STDC__
+ * or __cplusplus so we need to carefully check for them too.
+ */
+
+#if defined(__STDC__) || defined(_MSC_VER) || defined(__cplusplus) || \
+ defined(__HP_aCC) || defined(__BORLANDC__) || defined(__LCC__) || \
+ defined(__POCC__) || defined(__SALFORDC__) || defined(__HIGHC__) || \
+ defined(__ILEC400__)
+ /* This compiler is believed to have an ISO compatible preprocessor */
+#define CURL_ISOCPP
+#else
+ /* This compiler is believed NOT to have an ISO compatible preprocessor */
+#undef CURL_ISOCPP
+#endif
+
+/*
+ * Macros for minimum-width signed and unsigned curl_off_t integer constants.
+ */
+
+#if defined(__BORLANDC__) && (__BORLANDC__ == 0x0551)
+# define CURLINC_OFF_T_C_HLPR2(x) x
+# define CURLINC_OFF_T_C_HLPR1(x) CURLINC_OFF_T_C_HLPR2(x)
+# define CURL_OFF_T_C(Val) CURLINC_OFF_T_C_HLPR1(Val) ## \
+ CURLINC_OFF_T_C_HLPR1(CURL_SUFFIX_CURL_OFF_T)
+# define CURL_OFF_TU_C(Val) CURLINC_OFF_T_C_HLPR1(Val) ## \
+ CURLINC_OFF_T_C_HLPR1(CURL_SUFFIX_CURL_OFF_TU)
+#else
+# ifdef CURL_ISOCPP
+# define CURLINC_OFF_T_C_HLPR2(Val,Suffix) Val ## Suffix
+# else
+# define CURLINC_OFF_T_C_HLPR2(Val,Suffix) Val/**/Suffix
+# endif
+# define CURLINC_OFF_T_C_HLPR1(Val,Suffix) CURLINC_OFF_T_C_HLPR2(Val,Suffix)
+# define CURL_OFF_T_C(Val) CURLINC_OFF_T_C_HLPR1(Val,CURL_SUFFIX_CURL_OFF_T)
+# define CURL_OFF_TU_C(Val) CURLINC_OFF_T_C_HLPR1(Val,CURL_SUFFIX_CURL_OFF_TU)
+#endif
+
+#endif /* CURLINC_SYSTEM_H */
diff --git a/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/urlapi.h b/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/urlapi.h
new file mode 100644
index 0000000..e5e63d1
--- /dev/null
+++ b/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/urlapi.h
@@ -0,0 +1,154 @@
+#ifndef CURLINC_URLAPI_H
+#define CURLINC_URLAPI_H
+/***************************************************************************
+ * _ _ ____ _
+ * Project ___| | | | _ \| |
+ * / __| | | | |_) | |
+ * | (__| |_| | _ <| |___
+ * \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) Daniel Stenberg, , et al.
+ *
+ * This software is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at https://curl.se/docs/copyright.html.
+ *
+ * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+ * copies of the Software, and permit persons to whom the Software is
+ * furnished to do so, under the terms of the COPYING file.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ * SPDX-License-Identifier: curl
+ *
+ ***************************************************************************/
+
+#include "curl.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* the error codes for the URL API */
+typedef enum {
+ CURLUE_OK,
+ CURLUE_BAD_HANDLE, /* 1 */
+ CURLUE_BAD_PARTPOINTER, /* 2 */
+ CURLUE_MALFORMED_INPUT, /* 3 */
+ CURLUE_BAD_PORT_NUMBER, /* 4 */
+ CURLUE_UNSUPPORTED_SCHEME, /* 5 */
+ CURLUE_URLDECODE, /* 6 */
+ CURLUE_OUT_OF_MEMORY, /* 7 */
+ CURLUE_USER_NOT_ALLOWED, /* 8 */
+ CURLUE_UNKNOWN_PART, /* 9 */
+ CURLUE_NO_SCHEME, /* 10 */
+ CURLUE_NO_USER, /* 11 */
+ CURLUE_NO_PASSWORD, /* 12 */
+ CURLUE_NO_OPTIONS, /* 13 */
+ CURLUE_NO_HOST, /* 14 */
+ CURLUE_NO_PORT, /* 15 */
+ CURLUE_NO_QUERY, /* 16 */
+ CURLUE_NO_FRAGMENT, /* 17 */
+ CURLUE_NO_ZONEID, /* 18 */
+ CURLUE_BAD_FILE_URL, /* 19 */
+ CURLUE_BAD_FRAGMENT, /* 20 */
+ CURLUE_BAD_HOSTNAME, /* 21 */
+ CURLUE_BAD_IPV6, /* 22 */
+ CURLUE_BAD_LOGIN, /* 23 */
+ CURLUE_BAD_PASSWORD, /* 24 */
+ CURLUE_BAD_PATH, /* 25 */
+ CURLUE_BAD_QUERY, /* 26 */
+ CURLUE_BAD_SCHEME, /* 27 */
+ CURLUE_BAD_SLASHES, /* 28 */
+ CURLUE_BAD_USER, /* 29 */
+ CURLUE_LACKS_IDN, /* 30 */
+ CURLUE_TOO_LARGE, /* 31 */
+ CURLUE_LAST
+} CURLUcode;
+
+typedef enum {
+ CURLUPART_URL,
+ CURLUPART_SCHEME,
+ CURLUPART_USER,
+ CURLUPART_PASSWORD,
+ CURLUPART_OPTIONS,
+ CURLUPART_HOST,
+ CURLUPART_PORT,
+ CURLUPART_PATH,
+ CURLUPART_QUERY,
+ CURLUPART_FRAGMENT,
+ CURLUPART_ZONEID /* added in 7.65.0 */
+} CURLUPart;
+
+#define CURLU_DEFAULT_PORT (1<<0) /* return default port number */
+#define CURLU_NO_DEFAULT_PORT (1<<1) /* act as if no port number was set,
+ if the port number matches the
+ default for the scheme */
+#define CURLU_DEFAULT_SCHEME (1<<2) /* return default scheme if
+ missing */
+#define CURLU_NON_SUPPORT_SCHEME (1<<3) /* allow non-supported scheme */
+#define CURLU_PATH_AS_IS (1<<4) /* leave dot sequences */
+#define CURLU_DISALLOW_USER (1<<5) /* no user+password allowed */
+#define CURLU_URLDECODE (1<<6) /* URL decode on get */
+#define CURLU_URLENCODE (1<<7) /* URL encode on set */
+#define CURLU_APPENDQUERY (1<<8) /* append a form style part */
+#define CURLU_GUESS_SCHEME (1<<9) /* legacy curl-style guessing */
+#define CURLU_NO_AUTHORITY (1<<10) /* Allow empty authority when the
+ scheme is unknown. */
+#define CURLU_ALLOW_SPACE (1<<11) /* Allow spaces in the URL */
+#define CURLU_PUNYCODE (1<<12) /* get the host name in punycode */
+#define CURLU_PUNY2IDN (1<<13) /* punycode => IDN conversion */
+#define CURLU_GET_EMPTY (1<<14) /* allow empty queries and fragments
+ when extracting the URL or the
+ components */
+
+typedef struct Curl_URL CURLU;
+
+/*
+ * curl_url() creates a new CURLU handle and returns a pointer to it.
+ * Must be freed with curl_url_cleanup().
+ */
+CURL_EXTERN CURLU *curl_url(void);
+
+/*
+ * curl_url_cleanup() frees the CURLU handle and related resources used for
+ * the URL parsing. It will not free strings previously returned with the URL
+ * API.
+ */
+CURL_EXTERN void curl_url_cleanup(CURLU *handle);
+
+/*
+ * curl_url_dup() duplicates a CURLU handle and returns a new copy. The new
+ * handle must also be freed with curl_url_cleanup().
+ */
+CURL_EXTERN CURLU *curl_url_dup(const CURLU *in);
+
+/*
+ * curl_url_get() extracts a specific part of the URL from a CURLU
+ * handle. Returns error code. The returned pointer MUST be freed with
+ * curl_free() afterwards.
+ */
+CURL_EXTERN CURLUcode curl_url_get(const CURLU *handle, CURLUPart what,
+ char **part, unsigned int flags);
+
+/*
+ * curl_url_set() sets a specific part of the URL in a CURLU handle. Returns
+ * error code. The passed in string will be copied. Passing a NULL instead of
+ * a part string, clears that part.
+ */
+CURL_EXTERN CURLUcode curl_url_set(CURLU *handle, CURLUPart what,
+ const char *part, unsigned int flags);
+
+/*
+ * curl_url_strerror() turns a CURLUcode value into the equivalent human
+ * readable error string. This is useful for printing meaningful error
+ * messaHuL.
+ */
+CURL_EXTERN const char *curl_url_strerror(CURLUcode);
+
+#ifdef __cplusplus
+} /* end of extern "C" */
+#endif
+
+#endif /* CURLINC_URLAPI_H */
diff --git a/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/websockets.h b/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/websockets.h
new file mode 100644
index 0000000..6ef6a2b
--- /dev/null
+++ b/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/websockets.h
@@ -0,0 +1,84 @@
+#ifndef CURLINC_WEBSOCKETS_H
+#define CURLINC_WEBSOCKETS_H
+/***************************************************************************
+ * _ _ ____ _
+ * Project ___| | | | _ \| |
+ * / __| | | | |_) | |
+ * | (__| |_| | _ <| |___
+ * \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) Daniel Stenberg, , et al.
+ *
+ * This software is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at https://curl.se/docs/copyright.html.
+ *
+ * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+ * copies of the Software, and permit persons to whom the Software is
+ * furnished to do so, under the terms of the COPYING file.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ * SPDX-License-Identifier: curl
+ *
+ ***************************************************************************/
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+struct curl_ws_frame {
+ int age; /* zero */
+ int flags; /* See the CURLWS_* defines */
+ curl_off_t offset; /* the offset of this data into the frame */
+ curl_off_t bytesleft; /* number of pending bytes left of the payload */
+ size_t len; /* size of the current data chunk */
+};
+
+/* flag bits */
+#define CURLWS_TEXT (1<<0)
+#define CURLWS_BINARY (1<<1)
+#define CURLWS_CONT (1<<2)
+#define CURLWS_CLOSE (1<<3)
+#define CURLWS_PING (1<<4)
+#define CURLWS_OFFSET (1<<5)
+
+/*
+ * NAME curl_ws_recv()
+ *
+ * DESCRIPTION
+ *
+ * Receives data from the websocket connection. Use after successful
+ * curl_easy_perform() with CURLOPT_CONNECT_ONLY option.
+ */
+CURL_EXTERN CURLcode curl_ws_recv(CURL *curl, void *buffer, size_t buflen,
+ size_t *recv,
+ const struct curl_ws_frame **metap);
+
+/* flags for curl_ws_send() */
+#define CURLWS_PONG (1<<6)
+
+/*
+ * NAME curl_ws_send()
+ *
+ * DESCRIPTION
+ *
+ * Sends data over the websocket connection. Use after successful
+ * curl_easy_perform() with CURLOPT_CONNECT_ONLY option.
+ */
+CURL_EXTERN CURLcode curl_ws_send(CURL *curl, const void *buffer,
+ size_t buflen, size_t *sent,
+ curl_off_t fragsize,
+ unsigned int flags);
+
+/* bits for the CURLOPT_WS_OPTIONS bitmask: */
+#define CURLWS_RAW_MODE (1<<0)
+
+CURL_EXTERN const struct curl_ws_frame *curl_ws_meta(CURL *curl);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* CURLINC_WEBSOCKETS_H */
diff --git a/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Info.plist b/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Info.plist
new file mode 100644
index 0000000000000000000000000000000000000000..660b0aecfcaa3713830d2c05ad4d743cd0a49621
GIT binary patch
literal 765
zcmY*W%W@Jy6zy)KCO$$3j3yyy65mFr7zj`<+`vdlA%?&}(87$(Oaoo%c{q<)UY3
zoJ#b7a?{eO;Wp@inTCSn5%=^xRXvyVI6XD2Xug#78MPIhij)k7()4|l=l&XRHr6l|9Shy?69o5umH>_cNxW){od-`@W
zH1D-4ev(Y3Wuh}aQt)c4(x7iWW>alKl!!%oj5C)}rhd9sYv9;W7M+0GdH_2%|Vk
kq7*8kXJ`ktk&1@ML@s)VM(6`N1i?XYQo*CJh6Q~(0T8q4r~m)}
literal 0
HcmV?d00001
diff --git a/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios.abi.json b/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios.abi.json
new file mode 100644
index 0000000..96e17c9
--- /dev/null
+++ b/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios.abi.json
@@ -0,0 +1,3480 @@
+{
+ "ABIRoot": {
+ "kind": "Root",
+ "name": "TopLevel",
+ "printedName": "TopLevel",
+ "children": [
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "TalsecRuntime",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "TalsecRuntime",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "TalsecRuntime",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "TalsecRuntime",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "TalsecRuntime",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "TalsecRuntime",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "TalsecRuntime",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "TalsecRuntime",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "LocalAuthentication",
+ "printedName": "LocalAuthentication",
+ "declKind": "Import",
+ "moduleName": "TalsecRuntime",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "TalsecRuntime",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "zlib",
+ "printedName": "zlib",
+ "declKind": "Import",
+ "moduleName": "TalsecRuntime"
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "TalsecRuntime",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "TalsecRuntime",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "TalsecRuntime",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "TalsecRuntime",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "TalsecRuntime",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "TalsecRuntime",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "TalsecRuntime",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "TalsecRuntime",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "TalsecRuntime",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "TalsecRuntime",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "SecurityThreatHandler",
+ "printedName": "SecurityThreatHandler",
+ "children": [
+ {
+ "kind": "Function",
+ "name": "threatDetected",
+ "printedName": "threatDetected(_:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "SecurityThreat",
+ "printedName": "TalsecRuntime.SecurityThreat",
+ "usr": "s:13TalsecRuntime14SecurityThreatO"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:13TalsecRuntime21SecurityThreatHandlerP14threatDetectedyyAA0cD0OF",
+ "mangledName": "$s13TalsecRuntime21SecurityThreatHandlerP14threatDetectedyyAA0cD0OF",
+ "moduleName": "TalsecRuntime",
+ "genericSig": "<τ_0_0 where τ_0_0 : TalsecRuntime.SecurityThreatHandler>",
+ "sugared_genericSig": "",
+ "protocolReq": true,
+ "reqNewWitnessTableEntry": true,
+ "funcSelfKind": "NonMutating"
+ }
+ ],
+ "declKind": "Protocol",
+ "usr": "s:13TalsecRuntime21SecurityThreatHandlerP",
+ "mangledName": "$s13TalsecRuntime21SecurityThreatHandlerP",
+ "moduleName": "TalsecRuntime",
+ "declAttributes": [
+ "AccessControl"
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "SecurityThreatCenter",
+ "printedName": "SecurityThreatCenter",
+ "declKind": "Class",
+ "usr": "s:13TalsecRuntime20SecurityThreatCenterC",
+ "mangledName": "$s13TalsecRuntime20SecurityThreatCenterC",
+ "moduleName": "TalsecRuntime",
+ "declAttributes": [
+ "AccessControl"
+ ],
+ "hasMissingDesignatedInitializers": true
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "TalsecRuntime",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "TalsecRuntime",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "TalsecRuntime",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "TalsecRuntime",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "TalsecRuntime",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "UIKit",
+ "printedName": "UIKit",
+ "declKind": "Import",
+ "moduleName": "TalsecRuntime"
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "TalsecRuntime",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "TalsecConfig",
+ "printedName": "TalsecConfig",
+ "children": [
+ {
+ "kind": "Var",
+ "name": "appBundleIds",
+ "printedName": "appBundleIds",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Array",
+ "printedName": "[Swift.String]",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "usr": "s:Sa"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:13TalsecRuntime0A6ConfigV12appBundleIdsSaySSGvp",
+ "mangledName": "$s13TalsecRuntime0A6ConfigV12appBundleIdsSaySSGvp",
+ "moduleName": "TalsecRuntime",
+ "declAttributes": [
+ "HasStorage",
+ "AccessControl"
+ ],
+ "isLet": true,
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Array",
+ "printedName": "[Swift.String]",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "usr": "s:Sa"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:13TalsecRuntime0A6ConfigV12appBundleIdsSaySSGvg",
+ "mangledName": "$s13TalsecRuntime0A6ConfigV12appBundleIdsSaySSGvg",
+ "moduleName": "TalsecRuntime",
+ "implicit": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "appTeamId",
+ "printedName": "appTeamId",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:13TalsecRuntime0A6ConfigV9appTeamIdSSvp",
+ "mangledName": "$s13TalsecRuntime0A6ConfigV9appTeamIdSSvp",
+ "moduleName": "TalsecRuntime",
+ "declAttributes": [
+ "HasStorage",
+ "AccessControl"
+ ],
+ "isLet": true,
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:13TalsecRuntime0A6ConfigV9appTeamIdSSvg",
+ "mangledName": "$s13TalsecRuntime0A6ConfigV9appTeamIdSSvg",
+ "moduleName": "TalsecRuntime",
+ "implicit": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "watcherMailAddress",
+ "printedName": "watcherMailAddress",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.String?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:13TalsecRuntime0A6ConfigV18watcherMailAddressSSSgvp",
+ "mangledName": "$s13TalsecRuntime0A6ConfigV18watcherMailAddressSSSgvp",
+ "moduleName": "TalsecRuntime",
+ "declAttributes": [
+ "HasStorage",
+ "AccessControl"
+ ],
+ "isLet": true,
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.String?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:13TalsecRuntime0A6ConfigV18watcherMailAddressSSSgvg",
+ "mangledName": "$s13TalsecRuntime0A6ConfigV18watcherMailAddressSSSgvg",
+ "moduleName": "TalsecRuntime",
+ "implicit": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "isProd",
+ "printedName": "isProd",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.Bool?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Bool",
+ "printedName": "Swift.Bool",
+ "usr": "s:Sb"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:13TalsecRuntime0A6ConfigV6isProdSbSgvp",
+ "mangledName": "$s13TalsecRuntime0A6ConfigV6isProdSbSgvp",
+ "moduleName": "TalsecRuntime",
+ "declAttributes": [
+ "HasStorage",
+ "AccessControl"
+ ],
+ "isLet": true,
+ "hasStorage": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.Bool?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Bool",
+ "printedName": "Swift.Bool",
+ "usr": "s:Sb"
+ }
+ ],
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:13TalsecRuntime0A6ConfigV6isProdSbSgvg",
+ "mangledName": "$s13TalsecRuntime0A6ConfigV6isProdSbSgvg",
+ "moduleName": "TalsecRuntime",
+ "implicit": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init(appBundleIds:appTeamId:watcherMailAddress:isProd:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "TalsecConfig",
+ "printedName": "TalsecRuntime.TalsecConfig",
+ "usr": "s:13TalsecRuntime0A6ConfigV"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Array",
+ "printedName": "[Swift.String]",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "usr": "s:Sa"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.String?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "usr": "s:Sq"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "Swift.Bool?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Bool",
+ "printedName": "Swift.Bool",
+ "usr": "s:Sb"
+ }
+ ],
+ "hasDefaultArg": true,
+ "usr": "s:Sq"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:13TalsecRuntime0A6ConfigV12appBundleIds0D6TeamId18watcherMailAddress6isProdACSaySSG_S2SSgSbSgtcfc",
+ "mangledName": "$s13TalsecRuntime0A6ConfigV12appBundleIds0D6TeamId18watcherMailAddress6isProdACSaySSG_S2SSgSbSgtcfc",
+ "moduleName": "TalsecRuntime",
+ "declAttributes": [
+ "AccessControl"
+ ],
+ "init_kind": "Designated"
+ }
+ ],
+ "declKind": "Struct",
+ "usr": "s:13TalsecRuntime0A6ConfigV",
+ "mangledName": "$s13TalsecRuntime0A6ConfigV",
+ "moduleName": "TalsecRuntime",
+ "declAttributes": [
+ "AccessControl"
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "Talsec",
+ "printedName": "Talsec",
+ "children": [
+ {
+ "kind": "Function",
+ "name": "start",
+ "printedName": "start(config:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "TalsecConfig",
+ "printedName": "TalsecRuntime.TalsecConfig",
+ "usr": "s:13TalsecRuntime0A6ConfigV"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:13TalsecRuntime0A0C5start6configyAA0A6ConfigV_tFZ",
+ "mangledName": "$s13TalsecRuntime0A0C5start6configyAA0A6ConfigV_tFZ",
+ "moduleName": "TalsecRuntime",
+ "static": true,
+ "declAttributes": [
+ "Final",
+ "AccessControl"
+ ],
+ "funcSelfKind": "NonMutating"
+ },
+ {
+ "kind": "Function",
+ "name": "blockScreenCapture",
+ "printedName": "blockScreenCapture(enable:window:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Bool",
+ "printedName": "Swift.Bool",
+ "usr": "s:Sb"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "UIWindow",
+ "printedName": "UIKit.UIWindow",
+ "usr": "c:objc(cs)UIWindow"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:13TalsecRuntime0A0C18blockScreenCapture6enable6windowySb_So8UIWindowCtFZ",
+ "mangledName": "$s13TalsecRuntime0A0C18blockScreenCapture6enable6windowySb_So8UIWindowCtFZ",
+ "moduleName": "TalsecRuntime",
+ "static": true,
+ "declAttributes": [
+ "Final",
+ "AccessControl"
+ ],
+ "funcSelfKind": "NonMutating"
+ },
+ {
+ "kind": "Function",
+ "name": "isScreenCaptureBlocked",
+ "printedName": "isScreenCaptureBlocked(in:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Bool",
+ "printedName": "Swift.Bool",
+ "usr": "s:Sb"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "UIWindow",
+ "printedName": "UIKit.UIWindow",
+ "usr": "c:objc(cs)UIWindow"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:13TalsecRuntime0A0C22isScreenCaptureBlocked2inSbSo8UIWindowC_tFZ",
+ "mangledName": "$s13TalsecRuntime0A0C22isScreenCaptureBlocked2inSbSo8UIWindowC_tFZ",
+ "moduleName": "TalsecRuntime",
+ "static": true,
+ "declAttributes": [
+ "Final",
+ "AccessControl"
+ ],
+ "funcSelfKind": "NonMutating"
+ },
+ {
+ "kind": "Function",
+ "name": "storeExternalId",
+ "printedName": "storeExternalId(externalId:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Void",
+ "printedName": "()"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Func",
+ "usr": "s:13TalsecRuntime0A0C15storeExternalId08externalE0ySS_tFZ",
+ "mangledName": "$s13TalsecRuntime0A0C15storeExternalId08externalE0ySS_tFZ",
+ "moduleName": "TalsecRuntime",
+ "static": true,
+ "declAttributes": [
+ "Final",
+ "AccessControl"
+ ],
+ "funcSelfKind": "NonMutating"
+ }
+ ],
+ "declKind": "Class",
+ "usr": "s:13TalsecRuntime0A0C",
+ "mangledName": "$s13TalsecRuntime0A0C",
+ "moduleName": "TalsecRuntime",
+ "declAttributes": [
+ "AccessControl"
+ ],
+ "hasMissingDesignatedInitializers": true
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "TalsecRuntime",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "TalsecRuntime",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "TalsecRuntime",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "TalsecRuntime",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "TalsecRuntime.Private",
+ "printedName": "TalsecRuntime.Private",
+ "declKind": "Import",
+ "moduleName": "TalsecRuntime"
+ },
+ {
+ "kind": "Import",
+ "name": "CryptoKit",
+ "printedName": "CryptoKit",
+ "declKind": "Import",
+ "moduleName": "TalsecRuntime"
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "TalsecRuntime",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "TalsecRuntime",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "TalsecRuntime",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "TalsecRuntime",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "TalsecRuntime",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "TalsecRuntime",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "TalsecRuntime",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "UIKit",
+ "printedName": "UIKit",
+ "declKind": "Import",
+ "moduleName": "TalsecRuntime"
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "TalsecRuntime",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "TalsecRuntime",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Security",
+ "printedName": "Security",
+ "declKind": "Import",
+ "moduleName": "TalsecRuntime"
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "TalsecRuntime",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "TalsecRuntime",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "TalsecRuntime",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "TalsecRuntime",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "TalsecRuntime",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "UIKit",
+ "printedName": "UIKit",
+ "declKind": "Import",
+ "moduleName": "TalsecRuntime"
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "TalsecRuntime",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "TalsecRuntime.Private",
+ "printedName": "TalsecRuntime.Private",
+ "declKind": "Import",
+ "moduleName": "TalsecRuntime"
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "TalsecRuntime",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "TalsecRuntime",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "TalsecRuntime",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "TalsecRuntime",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "TalsecRuntime",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "TalsecRuntime",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "TalsecRuntime",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "TalsecRuntime",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "TalsecRuntime",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Security",
+ "printedName": "Security",
+ "declKind": "Import",
+ "moduleName": "TalsecRuntime"
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "TalsecRuntime",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "TalsecRuntime",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "TalsecRuntime",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "SecurityThreat",
+ "printedName": "SecurityThreat",
+ "children": [
+ {
+ "kind": "Var",
+ "name": "signature",
+ "printedName": "signature",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(TalsecRuntime.SecurityThreat.Type) -> TalsecRuntime.SecurityThreat",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "SecurityThreat",
+ "printedName": "TalsecRuntime.SecurityThreat",
+ "usr": "s:13TalsecRuntime14SecurityThreatO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "TalsecRuntime.SecurityThreat.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "SecurityThreat",
+ "printedName": "TalsecRuntime.SecurityThreat",
+ "usr": "s:13TalsecRuntime14SecurityThreatO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:13TalsecRuntime14SecurityThreatO9signatureyA2CmF",
+ "mangledName": "$s13TalsecRuntime14SecurityThreatO9signatureyA2CmF",
+ "moduleName": "TalsecRuntime",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "jailbreak",
+ "printedName": "jailbreak",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(TalsecRuntime.SecurityThreat.Type) -> TalsecRuntime.SecurityThreat",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "SecurityThreat",
+ "printedName": "TalsecRuntime.SecurityThreat",
+ "usr": "s:13TalsecRuntime14SecurityThreatO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "TalsecRuntime.SecurityThreat.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "SecurityThreat",
+ "printedName": "TalsecRuntime.SecurityThreat",
+ "usr": "s:13TalsecRuntime14SecurityThreatO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:13TalsecRuntime14SecurityThreatO9jailbreakyA2CmF",
+ "mangledName": "$s13TalsecRuntime14SecurityThreatO9jailbreakyA2CmF",
+ "moduleName": "TalsecRuntime",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "debugger",
+ "printedName": "debugger",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(TalsecRuntime.SecurityThreat.Type) -> TalsecRuntime.SecurityThreat",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "SecurityThreat",
+ "printedName": "TalsecRuntime.SecurityThreat",
+ "usr": "s:13TalsecRuntime14SecurityThreatO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "TalsecRuntime.SecurityThreat.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "SecurityThreat",
+ "printedName": "TalsecRuntime.SecurityThreat",
+ "usr": "s:13TalsecRuntime14SecurityThreatO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:13TalsecRuntime14SecurityThreatO8debuggeryA2CmF",
+ "mangledName": "$s13TalsecRuntime14SecurityThreatO8debuggeryA2CmF",
+ "moduleName": "TalsecRuntime",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "runtimeManipulation",
+ "printedName": "runtimeManipulation",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(TalsecRuntime.SecurityThreat.Type) -> TalsecRuntime.SecurityThreat",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "SecurityThreat",
+ "printedName": "TalsecRuntime.SecurityThreat",
+ "usr": "s:13TalsecRuntime14SecurityThreatO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "TalsecRuntime.SecurityThreat.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "SecurityThreat",
+ "printedName": "TalsecRuntime.SecurityThreat",
+ "usr": "s:13TalsecRuntime14SecurityThreatO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:13TalsecRuntime14SecurityThreatO19runtimeManipulationyA2CmF",
+ "mangledName": "$s13TalsecRuntime14SecurityThreatO19runtimeManipulationyA2CmF",
+ "moduleName": "TalsecRuntime",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "passcode",
+ "printedName": "passcode",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(TalsecRuntime.SecurityThreat.Type) -> TalsecRuntime.SecurityThreat",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "SecurityThreat",
+ "printedName": "TalsecRuntime.SecurityThreat",
+ "usr": "s:13TalsecRuntime14SecurityThreatO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "TalsecRuntime.SecurityThreat.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "SecurityThreat",
+ "printedName": "TalsecRuntime.SecurityThreat",
+ "usr": "s:13TalsecRuntime14SecurityThreatO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:13TalsecRuntime14SecurityThreatO8passcodeyA2CmF",
+ "mangledName": "$s13TalsecRuntime14SecurityThreatO8passcodeyA2CmF",
+ "moduleName": "TalsecRuntime",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "passcodeChange",
+ "printedName": "passcodeChange",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(TalsecRuntime.SecurityThreat.Type) -> TalsecRuntime.SecurityThreat",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "SecurityThreat",
+ "printedName": "TalsecRuntime.SecurityThreat",
+ "usr": "s:13TalsecRuntime14SecurityThreatO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "TalsecRuntime.SecurityThreat.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "SecurityThreat",
+ "printedName": "TalsecRuntime.SecurityThreat",
+ "usr": "s:13TalsecRuntime14SecurityThreatO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:13TalsecRuntime14SecurityThreatO14passcodeChangeyA2CmF",
+ "mangledName": "$s13TalsecRuntime14SecurityThreatO14passcodeChangeyA2CmF",
+ "moduleName": "TalsecRuntime",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "simulator",
+ "printedName": "simulator",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(TalsecRuntime.SecurityThreat.Type) -> TalsecRuntime.SecurityThreat",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "SecurityThreat",
+ "printedName": "TalsecRuntime.SecurityThreat",
+ "usr": "s:13TalsecRuntime14SecurityThreatO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "TalsecRuntime.SecurityThreat.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "SecurityThreat",
+ "printedName": "TalsecRuntime.SecurityThreat",
+ "usr": "s:13TalsecRuntime14SecurityThreatO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:13TalsecRuntime14SecurityThreatO9simulatoryA2CmF",
+ "mangledName": "$s13TalsecRuntime14SecurityThreatO9simulatoryA2CmF",
+ "moduleName": "TalsecRuntime",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "missingSecureEnclave",
+ "printedName": "missingSecureEnclave",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(TalsecRuntime.SecurityThreat.Type) -> TalsecRuntime.SecurityThreat",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "SecurityThreat",
+ "printedName": "TalsecRuntime.SecurityThreat",
+ "usr": "s:13TalsecRuntime14SecurityThreatO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "TalsecRuntime.SecurityThreat.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "SecurityThreat",
+ "printedName": "TalsecRuntime.SecurityThreat",
+ "usr": "s:13TalsecRuntime14SecurityThreatO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:13TalsecRuntime14SecurityThreatO20missingSecureEnclaveyA2CmF",
+ "mangledName": "$s13TalsecRuntime14SecurityThreatO20missingSecureEnclaveyA2CmF",
+ "moduleName": "TalsecRuntime",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "systemVPN",
+ "printedName": "systemVPN",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(TalsecRuntime.SecurityThreat.Type) -> TalsecRuntime.SecurityThreat",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "SecurityThreat",
+ "printedName": "TalsecRuntime.SecurityThreat",
+ "usr": "s:13TalsecRuntime14SecurityThreatO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "TalsecRuntime.SecurityThreat.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "SecurityThreat",
+ "printedName": "TalsecRuntime.SecurityThreat",
+ "usr": "s:13TalsecRuntime14SecurityThreatO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:13TalsecRuntime14SecurityThreatO9systemVPNyA2CmF",
+ "mangledName": "$s13TalsecRuntime14SecurityThreatO9systemVPNyA2CmF",
+ "moduleName": "TalsecRuntime",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "deviceChange",
+ "printedName": "deviceChange",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(TalsecRuntime.SecurityThreat.Type) -> TalsecRuntime.SecurityThreat",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "SecurityThreat",
+ "printedName": "TalsecRuntime.SecurityThreat",
+ "usr": "s:13TalsecRuntime14SecurityThreatO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "TalsecRuntime.SecurityThreat.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "SecurityThreat",
+ "printedName": "TalsecRuntime.SecurityThreat",
+ "usr": "s:13TalsecRuntime14SecurityThreatO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:13TalsecRuntime14SecurityThreatO12deviceChangeyA2CmF",
+ "mangledName": "$s13TalsecRuntime14SecurityThreatO12deviceChangeyA2CmF",
+ "moduleName": "TalsecRuntime",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "deviceID",
+ "printedName": "deviceID",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(TalsecRuntime.SecurityThreat.Type) -> TalsecRuntime.SecurityThreat",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "SecurityThreat",
+ "printedName": "TalsecRuntime.SecurityThreat",
+ "usr": "s:13TalsecRuntime14SecurityThreatO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "TalsecRuntime.SecurityThreat.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "SecurityThreat",
+ "printedName": "TalsecRuntime.SecurityThreat",
+ "usr": "s:13TalsecRuntime14SecurityThreatO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:13TalsecRuntime14SecurityThreatO8deviceIDyA2CmF",
+ "mangledName": "$s13TalsecRuntime14SecurityThreatO8deviceIDyA2CmF",
+ "moduleName": "TalsecRuntime",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "unofficialStore",
+ "printedName": "unofficialStore",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(TalsecRuntime.SecurityThreat.Type) -> TalsecRuntime.SecurityThreat",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "SecurityThreat",
+ "printedName": "TalsecRuntime.SecurityThreat",
+ "usr": "s:13TalsecRuntime14SecurityThreatO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "TalsecRuntime.SecurityThreat.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "SecurityThreat",
+ "printedName": "TalsecRuntime.SecurityThreat",
+ "usr": "s:13TalsecRuntime14SecurityThreatO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:13TalsecRuntime14SecurityThreatO15unofficialStoreyA2CmF",
+ "mangledName": "$s13TalsecRuntime14SecurityThreatO15unofficialStoreyA2CmF",
+ "moduleName": "TalsecRuntime",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "screenshot",
+ "printedName": "screenshot",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(TalsecRuntime.SecurityThreat.Type) -> TalsecRuntime.SecurityThreat",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "SecurityThreat",
+ "printedName": "TalsecRuntime.SecurityThreat",
+ "usr": "s:13TalsecRuntime14SecurityThreatO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "TalsecRuntime.SecurityThreat.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "SecurityThreat",
+ "printedName": "TalsecRuntime.SecurityThreat",
+ "usr": "s:13TalsecRuntime14SecurityThreatO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:13TalsecRuntime14SecurityThreatO10screenshotyA2CmF",
+ "mangledName": "$s13TalsecRuntime14SecurityThreatO10screenshotyA2CmF",
+ "moduleName": "TalsecRuntime",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "screenRecording",
+ "printedName": "screenRecording",
+ "children": [
+ {
+ "kind": "TypeFunc",
+ "name": "Function",
+ "printedName": "(TalsecRuntime.SecurityThreat.Type) -> TalsecRuntime.SecurityThreat",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "SecurityThreat",
+ "printedName": "TalsecRuntime.SecurityThreat",
+ "usr": "s:13TalsecRuntime14SecurityThreatO"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "Metatype",
+ "printedName": "TalsecRuntime.SecurityThreat.Type",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "SecurityThreat",
+ "printedName": "TalsecRuntime.SecurityThreat",
+ "usr": "s:13TalsecRuntime14SecurityThreatO"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "declKind": "EnumElement",
+ "usr": "s:13TalsecRuntime14SecurityThreatO15screenRecordingyA2CmF",
+ "mangledName": "$s13TalsecRuntime14SecurityThreatO15screenRecordingyA2CmF",
+ "moduleName": "TalsecRuntime",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Constructor",
+ "name": "init",
+ "printedName": "init(rawValue:)",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Optional",
+ "printedName": "TalsecRuntime.SecurityThreat?",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "SecurityThreat",
+ "printedName": "TalsecRuntime.SecurityThreat",
+ "usr": "s:13TalsecRuntime14SecurityThreatO"
+ }
+ ],
+ "usr": "s:Sq"
+ },
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Constructor",
+ "usr": "s:13TalsecRuntime14SecurityThreatO8rawValueACSgSS_tcfc",
+ "mangledName": "$s13TalsecRuntime14SecurityThreatO8rawValueACSgSS_tcfc",
+ "moduleName": "TalsecRuntime",
+ "implicit": true,
+ "init_kind": "Designated"
+ },
+ {
+ "kind": "Var",
+ "name": "rawValue",
+ "printedName": "rawValue",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:13TalsecRuntime14SecurityThreatO8rawValueSSvp",
+ "mangledName": "$s13TalsecRuntime14SecurityThreatO8rawValueSSvp",
+ "moduleName": "TalsecRuntime",
+ "implicit": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:13TalsecRuntime14SecurityThreatO8rawValueSSvg",
+ "mangledName": "$s13TalsecRuntime14SecurityThreatO8rawValueSSvg",
+ "moduleName": "TalsecRuntime",
+ "implicit": true,
+ "accessorKind": "get"
+ }
+ ]
+ },
+ {
+ "kind": "Var",
+ "name": "allCases",
+ "printedName": "allCases",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Array",
+ "printedName": "[TalsecRuntime.SecurityThreat]",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "SecurityThreat",
+ "printedName": "TalsecRuntime.SecurityThreat",
+ "usr": "s:13TalsecRuntime14SecurityThreatO"
+ }
+ ],
+ "usr": "s:Sa"
+ }
+ ],
+ "declKind": "Var",
+ "usr": "s:13TalsecRuntime14SecurityThreatO8allCasesSayACGvpZ",
+ "mangledName": "$s13TalsecRuntime14SecurityThreatO8allCasesSayACGvpZ",
+ "moduleName": "TalsecRuntime",
+ "static": true,
+ "implicit": true,
+ "accessors": [
+ {
+ "kind": "Accessor",
+ "name": "Get",
+ "printedName": "Get()",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Array",
+ "printedName": "[TalsecRuntime.SecurityThreat]",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "SecurityThreat",
+ "printedName": "TalsecRuntime.SecurityThreat",
+ "usr": "s:13TalsecRuntime14SecurityThreatO"
+ }
+ ],
+ "usr": "s:Sa"
+ }
+ ],
+ "declKind": "Accessor",
+ "usr": "s:13TalsecRuntime14SecurityThreatO8allCasesSayACGvgZ",
+ "mangledName": "$s13TalsecRuntime14SecurityThreatO8allCasesSayACGvgZ",
+ "moduleName": "TalsecRuntime",
+ "static": true,
+ "implicit": true,
+ "accessorKind": "get"
+ }
+ ]
+ }
+ ],
+ "declKind": "Enum",
+ "usr": "s:13TalsecRuntime14SecurityThreatO",
+ "mangledName": "$s13TalsecRuntime14SecurityThreatO",
+ "moduleName": "TalsecRuntime",
+ "declAttributes": [
+ "AccessControl"
+ ],
+ "enumRawTypeName": "String",
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Hashable",
+ "printedName": "Hashable",
+ "usr": "s:SH",
+ "mangledName": "$sSH"
+ },
+ {
+ "kind": "Conformance",
+ "name": "RawRepresentable",
+ "printedName": "RawRepresentable",
+ "children": [
+ {
+ "kind": "TypeWitness",
+ "name": "RawValue",
+ "printedName": "RawValue",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ]
+ }
+ ],
+ "usr": "s:SY",
+ "mangledName": "$sSY"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Decodable",
+ "printedName": "Decodable",
+ "usr": "s:Se",
+ "mangledName": "$sSe"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Encodable",
+ "printedName": "Encodable",
+ "usr": "s:SE",
+ "mangledName": "$sSE"
+ },
+ {
+ "kind": "Conformance",
+ "name": "CaseIterable",
+ "printedName": "CaseIterable",
+ "children": [
+ {
+ "kind": "TypeWitness",
+ "name": "AllCases",
+ "printedName": "AllCases",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Array",
+ "printedName": "[TalsecRuntime.SecurityThreat]",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "SecurityThreat",
+ "printedName": "TalsecRuntime.SecurityThreat",
+ "usr": "s:13TalsecRuntime14SecurityThreatO"
+ }
+ ],
+ "usr": "s:Sa"
+ }
+ ]
+ }
+ ],
+ "usr": "s:s12CaseIterableP",
+ "mangledName": "$ss12CaseIterableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Equatable",
+ "printedName": "Equatable",
+ "usr": "s:SQ",
+ "mangledName": "$sSQ"
+ }
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "Foundation",
+ "printedName": "Foundation",
+ "declKind": "Import",
+ "moduleName": "TalsecRuntime",
+ "declAttributes": [
+ "RawDocComment"
+ ]
+ },
+ {
+ "kind": "Import",
+ "name": "UIKit",
+ "printedName": "UIKit",
+ "declKind": "Import",
+ "moduleName": "TalsecRuntime"
+ },
+ {
+ "kind": "TypeDecl",
+ "name": "String",
+ "printedName": "String",
+ "declKind": "Struct",
+ "usr": "s:SS",
+ "mangledName": "$sSS",
+ "moduleName": "Swift",
+ "declAttributes": [
+ "EagerMove",
+ "Frozen"
+ ],
+ "isExternal": true,
+ "conformances": [
+ {
+ "kind": "Conformance",
+ "name": "Decodable",
+ "printedName": "Decodable",
+ "usr": "s:Se",
+ "mangledName": "$sSe"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Encodable",
+ "printedName": "Encodable",
+ "usr": "s:SE",
+ "mangledName": "$sSE"
+ },
+ {
+ "kind": "Conformance",
+ "name": "CodingKeyRepresentable",
+ "printedName": "CodingKeyRepresentable",
+ "usr": "s:s22CodingKeyRepresentableP",
+ "mangledName": "$ss22CodingKeyRepresentableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "_HasContiguousBytes",
+ "printedName": "_HasContiguousBytes",
+ "usr": "s:s19_HasContiguousBytesP",
+ "mangledName": "$ss19_HasContiguousBytesP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "CustomReflectable",
+ "printedName": "CustomReflectable",
+ "usr": "s:s17CustomReflectableP",
+ "mangledName": "$ss17CustomReflectableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "_CustomPlaygroundQuickLookable",
+ "printedName": "_CustomPlaygroundQuickLookable",
+ "usr": "s:s30_CustomPlaygroundQuickLookableP",
+ "mangledName": "$ss30_CustomPlaygroundQuickLookableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "TextOutputStream",
+ "printedName": "TextOutputStream",
+ "usr": "s:s16TextOutputStreamP",
+ "mangledName": "$ss16TextOutputStreamP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "TextOutputStreamable",
+ "printedName": "TextOutputStreamable",
+ "usr": "s:s20TextOutputStreamableP",
+ "mangledName": "$ss20TextOutputStreamableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Hashable",
+ "printedName": "Hashable",
+ "usr": "s:SH",
+ "mangledName": "$sSH"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Sendable",
+ "printedName": "Sendable",
+ "usr": "s:s8SendableP",
+ "mangledName": "$ss8SendableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "_ExpressibleByBuiltinUnicodeScalarLiteral",
+ "printedName": "_ExpressibleByBuiltinUnicodeScalarLiteral",
+ "usr": "s:s41_ExpressibleByBuiltinUnicodeScalarLiteralP",
+ "mangledName": "$ss41_ExpressibleByBuiltinUnicodeScalarLiteralP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "_ExpressibleByBuiltinExtendedGraphemeClusterLiteral",
+ "printedName": "_ExpressibleByBuiltinExtendedGraphemeClusterLiteral",
+ "usr": "s:s51_ExpressibleByBuiltinExtendedGraphemeClusterLiteralP",
+ "mangledName": "$ss51_ExpressibleByBuiltinExtendedGraphemeClusterLiteralP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "_ExpressibleByBuiltinStringLiteral",
+ "printedName": "_ExpressibleByBuiltinStringLiteral",
+ "usr": "s:s34_ExpressibleByBuiltinStringLiteralP",
+ "mangledName": "$ss34_ExpressibleByBuiltinStringLiteralP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "ExpressibleByStringLiteral",
+ "printedName": "ExpressibleByStringLiteral",
+ "children": [
+ {
+ "kind": "TypeWitness",
+ "name": "StringLiteralType",
+ "printedName": "StringLiteralType",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ]
+ }
+ ],
+ "usr": "s:s26ExpressibleByStringLiteralP",
+ "mangledName": "$ss26ExpressibleByStringLiteralP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "ExpressibleByExtendedGraphemeClusterLiteral",
+ "printedName": "ExpressibleByExtendedGraphemeClusterLiteral",
+ "children": [
+ {
+ "kind": "TypeWitness",
+ "name": "ExtendedGraphemeClusterLiteralType",
+ "printedName": "ExtendedGraphemeClusterLiteralType",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ]
+ }
+ ],
+ "usr": "s:s43ExpressibleByExtendedGraphemeClusterLiteralP",
+ "mangledName": "$ss43ExpressibleByExtendedGraphemeClusterLiteralP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "ExpressibleByUnicodeScalarLiteral",
+ "printedName": "ExpressibleByUnicodeScalarLiteral",
+ "children": [
+ {
+ "kind": "TypeWitness",
+ "name": "UnicodeScalarLiteralType",
+ "printedName": "UnicodeScalarLiteralType",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ]
+ }
+ ],
+ "usr": "s:s33ExpressibleByUnicodeScalarLiteralP",
+ "mangledName": "$ss33ExpressibleByUnicodeScalarLiteralP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "CustomDebugStringConvertible",
+ "printedName": "CustomDebugStringConvertible",
+ "usr": "s:s28CustomDebugStringConvertibleP",
+ "mangledName": "$ss28CustomDebugStringConvertibleP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "CustomStringConvertible",
+ "printedName": "CustomStringConvertible",
+ "usr": "s:s23CustomStringConvertibleP",
+ "mangledName": "$ss23CustomStringConvertibleP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "BidirectionalCollection",
+ "printedName": "BidirectionalCollection",
+ "children": [
+ {
+ "kind": "TypeWitness",
+ "name": "Element",
+ "printedName": "Element",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Character",
+ "printedName": "Swift.Character",
+ "usr": "s:SJ"
+ }
+ ]
+ },
+ {
+ "kind": "TypeWitness",
+ "name": "Index",
+ "printedName": "Index",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Index",
+ "printedName": "Swift.String.Index",
+ "usr": "s:SS5IndexV"
+ }
+ ]
+ },
+ {
+ "kind": "TypeWitness",
+ "name": "SubSequence",
+ "printedName": "SubSequence",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Substring",
+ "printedName": "Swift.Substring",
+ "usr": "s:Ss"
+ }
+ ]
+ },
+ {
+ "kind": "TypeWitness",
+ "name": "Indices",
+ "printedName": "Indices",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "DefaultIndices",
+ "printedName": "Swift.DefaultIndices",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "usr": "s:SI"
+ }
+ ]
+ }
+ ],
+ "usr": "s:SK",
+ "mangledName": "$sSK"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Collection",
+ "printedName": "Collection",
+ "children": [
+ {
+ "kind": "TypeWitness",
+ "name": "Element",
+ "printedName": "Element",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Character",
+ "printedName": "Swift.Character",
+ "usr": "s:SJ"
+ }
+ ]
+ },
+ {
+ "kind": "TypeWitness",
+ "name": "Index",
+ "printedName": "Index",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Index",
+ "printedName": "Swift.String.Index",
+ "usr": "s:SS5IndexV"
+ }
+ ]
+ },
+ {
+ "kind": "TypeWitness",
+ "name": "Iterator",
+ "printedName": "Iterator",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Iterator",
+ "printedName": "Swift.String.Iterator",
+ "usr": "s:SS8IteratorV"
+ }
+ ]
+ },
+ {
+ "kind": "TypeWitness",
+ "name": "SubSequence",
+ "printedName": "SubSequence",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Substring",
+ "printedName": "Swift.Substring",
+ "usr": "s:Ss"
+ }
+ ]
+ },
+ {
+ "kind": "TypeWitness",
+ "name": "Indices",
+ "printedName": "Indices",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "DefaultIndices",
+ "printedName": "Swift.DefaultIndices",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "String",
+ "printedName": "Swift.String",
+ "usr": "s:SS"
+ }
+ ],
+ "usr": "s:SI"
+ }
+ ]
+ }
+ ],
+ "usr": "s:Sl",
+ "mangledName": "$sSl"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Sequence",
+ "printedName": "Sequence",
+ "children": [
+ {
+ "kind": "TypeWitness",
+ "name": "Element",
+ "printedName": "Element",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Character",
+ "printedName": "Swift.Character",
+ "usr": "s:SJ"
+ }
+ ]
+ },
+ {
+ "kind": "TypeWitness",
+ "name": "Iterator",
+ "printedName": "Iterator",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Iterator",
+ "printedName": "Swift.String.Iterator",
+ "usr": "s:SS8IteratorV"
+ }
+ ]
+ }
+ ],
+ "usr": "s:ST",
+ "mangledName": "$sST"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Equatable",
+ "printedName": "Equatable",
+ "usr": "s:SQ",
+ "mangledName": "$sSQ"
+ },
+ {
+ "kind": "Conformance",
+ "name": "Comparable",
+ "printedName": "Comparable",
+ "usr": "s:SL",
+ "mangledName": "$sSL"
+ },
+ {
+ "kind": "Conformance",
+ "name": "StringProtocol",
+ "printedName": "StringProtocol",
+ "children": [
+ {
+ "kind": "TypeWitness",
+ "name": "UTF8View",
+ "printedName": "UTF8View",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "UTF8View",
+ "printedName": "Swift.String.UTF8View",
+ "usr": "s:SS8UTF8ViewV"
+ }
+ ]
+ },
+ {
+ "kind": "TypeWitness",
+ "name": "UTF16View",
+ "printedName": "UTF16View",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "UTF16View",
+ "printedName": "Swift.String.UTF16View",
+ "usr": "s:SS9UTF16ViewV"
+ }
+ ]
+ },
+ {
+ "kind": "TypeWitness",
+ "name": "UnicodeScalarView",
+ "printedName": "UnicodeScalarView",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "UnicodeScalarView",
+ "printedName": "Swift.String.UnicodeScalarView",
+ "usr": "s:SS17UnicodeScalarViewV"
+ }
+ ]
+ },
+ {
+ "kind": "TypeWitness",
+ "name": "SubSequence",
+ "printedName": "SubSequence",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Substring",
+ "printedName": "Swift.Substring",
+ "usr": "s:Ss"
+ }
+ ]
+ }
+ ],
+ "usr": "s:Sy",
+ "mangledName": "$sSy"
+ },
+ {
+ "kind": "Conformance",
+ "name": "ExpressibleByStringInterpolation",
+ "printedName": "ExpressibleByStringInterpolation",
+ "children": [
+ {
+ "kind": "TypeWitness",
+ "name": "StringInterpolation",
+ "printedName": "StringInterpolation",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "DefaultStringInterpolation",
+ "printedName": "Swift.DefaultStringInterpolation",
+ "usr": "s:s26DefaultStringInterpolationV"
+ }
+ ]
+ }
+ ],
+ "usr": "s:s32ExpressibleByStringInterpolationP",
+ "mangledName": "$ss32ExpressibleByStringInterpolationP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "LosslessStringConvertible",
+ "printedName": "LosslessStringConvertible",
+ "usr": "s:s25LosslessStringConvertibleP",
+ "mangledName": "$ss25LosslessStringConvertibleP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "RangeReplaceableCollection",
+ "printedName": "RangeReplaceableCollection",
+ "children": [
+ {
+ "kind": "TypeWitness",
+ "name": "SubSequence",
+ "printedName": "SubSequence",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "Substring",
+ "printedName": "Swift.Substring",
+ "usr": "s:Ss"
+ }
+ ]
+ }
+ ],
+ "usr": "s:Sm",
+ "mangledName": "$sSm"
+ },
+ {
+ "kind": "Conformance",
+ "name": "MirrorPath",
+ "printedName": "MirrorPath",
+ "usr": "s:s10MirrorPathP",
+ "mangledName": "$ss10MirrorPathP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "_ObjectiveCBridgeable",
+ "printedName": "_ObjectiveCBridgeable",
+ "children": [
+ {
+ "kind": "TypeWitness",
+ "name": "_ObjectiveCType",
+ "printedName": "_ObjectiveCType",
+ "children": [
+ {
+ "kind": "TypeNominal",
+ "name": "NSString",
+ "printedName": "Foundation.NSString",
+ "usr": "c:objc(cs)NSString"
+ }
+ ]
+ }
+ ],
+ "usr": "s:s21_ObjectiveCBridgeableP",
+ "mangledName": "$ss21_ObjectiveCBridgeableP"
+ },
+ {
+ "kind": "Conformance",
+ "name": "CVarArg",
+ "printedName": "CVarArg",
+ "usr": "s:s7CVarArgP",
+ "mangledName": "$ss7CVarArgP"
+ }
+ ]
+ }
+ ],
+ "json_format_version": 8
+ },
+ "ConstValues": [
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift",
+ "kind": "StringLiteral",
+ "offset": 243,
+ "length": 13,
+ "value": "\"development\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift",
+ "kind": "StringLiteral",
+ "offset": 279,
+ "length": 12,
+ "value": "\"production\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift",
+ "kind": "StringLiteral",
+ "offset": 312,
+ "length": 10,
+ "value": "\"disabled\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift",
+ "kind": "StringLiteral",
+ "offset": 243,
+ "length": 13,
+ "value": "\"development\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift",
+ "kind": "StringLiteral",
+ "offset": 279,
+ "length": 12,
+ "value": "\"production\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift",
+ "kind": "StringLiteral",
+ "offset": 312,
+ "length": 10,
+ "value": "\"disabled\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift",
+ "kind": "StringLiteral",
+ "offset": 575,
+ "length": 24,
+ "value": "\"keychain-access-groups\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift",
+ "kind": "StringLiteral",
+ "offset": 628,
+ "length": 16,
+ "value": "\"get-task-allow\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift",
+ "kind": "StringLiteral",
+ "offset": 675,
+ "length": 17,
+ "value": "\"aps-environment\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift",
+ "kind": "StringLiteral",
+ "offset": 722,
+ "length": 24,
+ "value": "\"application-identifier\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift",
+ "kind": "StringLiteral",
+ "offset": 575,
+ "length": 24,
+ "value": "\"keychain-access-groups\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift",
+ "kind": "StringLiteral",
+ "offset": 628,
+ "length": 16,
+ "value": "\"get-task-allow\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift",
+ "kind": "StringLiteral",
+ "offset": 675,
+ "length": 17,
+ "value": "\"aps-environment\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift",
+ "kind": "StringLiteral",
+ "offset": 722,
+ "length": 24,
+ "value": "\"application-identifier\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift",
+ "kind": "BooleanLiteral",
+ "offset": 1994,
+ "length": 5,
+ "value": "false"
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift",
+ "kind": "StringLiteral",
+ "offset": 2227,
+ "length": 6,
+ "value": "\"Name\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift",
+ "kind": "StringLiteral",
+ "offset": 2259,
+ "length": 11,
+ "value": "\"AppIDName\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift",
+ "kind": "StringLiteral",
+ "offset": 2296,
+ "length": 29,
+ "value": "\"ApplicationIdentifierPrefix\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift",
+ "kind": "StringLiteral",
+ "offset": 2350,
+ "length": 10,
+ "value": "\"TeamName\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift",
+ "kind": "StringLiteral",
+ "offset": 2392,
+ "length": 16,
+ "value": "\"TeamIdentifier\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift",
+ "kind": "StringLiteral",
+ "offset": 2433,
+ "length": 10,
+ "value": "\"Platform\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift",
+ "kind": "StringLiteral",
+ "offset": 2474,
+ "length": 16,
+ "value": "\"IsXcodeManaged\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift",
+ "kind": "StringLiteral",
+ "offset": 2519,
+ "length": 14,
+ "value": "\"CreationDate\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift",
+ "kind": "StringLiteral",
+ "offset": 2564,
+ "length": 16,
+ "value": "\"ExpirationDate\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift",
+ "kind": "StringLiteral",
+ "offset": 2607,
+ "length": 12,
+ "value": "\"TimeToLive\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift",
+ "kind": "StringLiteral",
+ "offset": 2640,
+ "length": 6,
+ "value": "\"UUID\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift",
+ "kind": "StringLiteral",
+ "offset": 2670,
+ "length": 9,
+ "value": "\"Version\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift",
+ "kind": "StringLiteral",
+ "offset": 2708,
+ "length": 14,
+ "value": "\"Entitlements\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift",
+ "kind": "StringLiteral",
+ "offset": 2227,
+ "length": 6,
+ "value": "\"Name\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift",
+ "kind": "StringLiteral",
+ "offset": 2259,
+ "length": 11,
+ "value": "\"AppIDName\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift",
+ "kind": "StringLiteral",
+ "offset": 2296,
+ "length": 29,
+ "value": "\"ApplicationIdentifierPrefix\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift",
+ "kind": "StringLiteral",
+ "offset": 2350,
+ "length": 10,
+ "value": "\"TeamName\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift",
+ "kind": "StringLiteral",
+ "offset": 2392,
+ "length": 16,
+ "value": "\"TeamIdentifier\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift",
+ "kind": "StringLiteral",
+ "offset": 2433,
+ "length": 10,
+ "value": "\"Platform\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift",
+ "kind": "StringLiteral",
+ "offset": 2474,
+ "length": 16,
+ "value": "\"IsXcodeManaged\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift",
+ "kind": "StringLiteral",
+ "offset": 2519,
+ "length": 14,
+ "value": "\"CreationDate\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift",
+ "kind": "StringLiteral",
+ "offset": 2564,
+ "length": 16,
+ "value": "\"ExpirationDate\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift",
+ "kind": "StringLiteral",
+ "offset": 2607,
+ "length": 12,
+ "value": "\"TimeToLive\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift",
+ "kind": "StringLiteral",
+ "offset": 2640,
+ "length": 6,
+ "value": "\"UUID\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift",
+ "kind": "StringLiteral",
+ "offset": 2670,
+ "length": 9,
+ "value": "\"Version\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift",
+ "kind": "StringLiteral",
+ "offset": 2708,
+ "length": 14,
+ "value": "\"Entitlements\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/DynamicConfiguration\/DefaultConfig.swift",
+ "kind": "Array",
+ "offset": 375,
+ "length": 2,
+ "value": "[]"
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/DynamicConfiguration\/DefaultConfig.swift",
+ "kind": "StringLiteral",
+ "offset": 415,
+ "length": 2,
+ "value": "\"\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/DynamicConfiguration\/DefaultConfig.swift",
+ "kind": "BooleanLiteral",
+ "offset": 491,
+ "length": 4,
+ "value": "true"
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift",
+ "kind": "StringLiteral",
+ "offset": 471,
+ "length": 11,
+ "value": "\"osVersion\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift",
+ "kind": "StringLiteral",
+ "offset": 511,
+ "length": 14,
+ "value": "\"manufacturer\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift",
+ "kind": "StringLiteral",
+ "offset": 547,
+ "length": 7,
+ "value": "\"model\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift",
+ "kind": "StringLiteral",
+ "offset": 471,
+ "length": 11,
+ "value": "\"osVersion\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift",
+ "kind": "StringLiteral",
+ "offset": 511,
+ "length": 14,
+ "value": "\"manufacturer\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift",
+ "kind": "StringLiteral",
+ "offset": 547,
+ "length": 7,
+ "value": "\"model\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift",
+ "kind": "StringLiteral",
+ "offset": 753,
+ "length": 10,
+ "value": "\"security\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift",
+ "kind": "StringLiteral",
+ "offset": 790,
+ "length": 12,
+ "value": "\"biometrics\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift",
+ "kind": "StringLiteral",
+ "offset": 835,
+ "length": 18,
+ "value": "\"hwBackedKeychain\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift",
+ "kind": "StringLiteral",
+ "offset": 753,
+ "length": 10,
+ "value": "\"security\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift",
+ "kind": "StringLiteral",
+ "offset": 790,
+ "length": 12,
+ "value": "\"biometrics\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift",
+ "kind": "StringLiteral",
+ "offset": 835,
+ "length": 18,
+ "value": "\"hwBackedKeychain\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift",
+ "kind": "StringLiteral",
+ "offset": 1430,
+ "length": 18,
+ "value": "\"endOfGracePeriod\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift",
+ "kind": "StringLiteral",
+ "offset": 1430,
+ "length": 18,
+ "value": "\"endOfGracePeriod\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift",
+ "kind": "StringLiteral",
+ "offset": 1874,
+ "length": 15,
+ "value": "\"appIdentifier\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift",
+ "kind": "StringLiteral",
+ "offset": 1916,
+ "length": 12,
+ "value": "\"appVersion\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift",
+ "kind": "StringLiteral",
+ "offset": 1874,
+ "length": 15,
+ "value": "\"appIdentifier\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift",
+ "kind": "StringLiteral",
+ "offset": 1916,
+ "length": 12,
+ "value": "\"appVersion\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift",
+ "kind": "StringLiteral",
+ "offset": 5957,
+ "length": 5,
+ "value": "\"iOS\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift",
+ "kind": "StringLiteral",
+ "offset": 6394,
+ "length": 7,
+ "value": "\"en_US\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift",
+ "kind": "StringLiteral",
+ "offset": 6873,
+ "length": 3,
+ "value": "\".\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift",
+ "kind": "StringLiteral",
+ "offset": 6923,
+ "length": 2,
+ "value": "\"\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift",
+ "kind": "StringLiteral",
+ "offset": 7146,
+ "length": 12,
+ "value": "\"instanceId\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift",
+ "kind": "StringLiteral",
+ "offset": 7182,
+ "length": 9,
+ "value": "\"eventId\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift",
+ "kind": "StringLiteral",
+ "offset": 7218,
+ "length": 12,
+ "value": "\"deviceInfo\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift",
+ "kind": "StringLiteral",
+ "offset": 7258,
+ "length": 13,
+ "value": "\"deviceState\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift",
+ "kind": "StringLiteral",
+ "offset": 7295,
+ "length": 9,
+ "value": "\"appInfo\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift",
+ "kind": "StringLiteral",
+ "offset": 7329,
+ "length": 10,
+ "value": "\"platform\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift",
+ "kind": "StringLiteral",
+ "offset": 7365,
+ "length": 11,
+ "value": "\"occurence\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift",
+ "kind": "StringLiteral",
+ "offset": 7407,
+ "length": 16,
+ "value": "\"incidentReport\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift",
+ "kind": "StringLiteral",
+ "offset": 7446,
+ "length": 8,
+ "value": "\"checks\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift",
+ "kind": "StringLiteral",
+ "offset": 7481,
+ "length": 12,
+ "value": "\"externalId\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift",
+ "kind": "StringLiteral",
+ "offset": 7519,
+ "length": 11,
+ "value": "\"sessionId\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift",
+ "kind": "StringLiteral",
+ "offset": 7555,
+ "length": 10,
+ "value": "\"deviceId\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift",
+ "kind": "StringLiteral",
+ "offset": 7592,
+ "length": 12,
+ "value": "\"sdkVersion\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift",
+ "kind": "StringLiteral",
+ "offset": 7632,
+ "length": 13,
+ "value": "\"sdkPlatform\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift",
+ "kind": "StringLiteral",
+ "offset": 7675,
+ "length": 15,
+ "value": "\"sdkIdentifier\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift",
+ "kind": "StringLiteral",
+ "offset": 7146,
+ "length": 12,
+ "value": "\"instanceId\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift",
+ "kind": "StringLiteral",
+ "offset": 7182,
+ "length": 9,
+ "value": "\"eventId\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift",
+ "kind": "StringLiteral",
+ "offset": 7218,
+ "length": 12,
+ "value": "\"deviceInfo\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift",
+ "kind": "StringLiteral",
+ "offset": 7258,
+ "length": 13,
+ "value": "\"deviceState\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift",
+ "kind": "StringLiteral",
+ "offset": 7295,
+ "length": 9,
+ "value": "\"appInfo\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift",
+ "kind": "StringLiteral",
+ "offset": 7329,
+ "length": 10,
+ "value": "\"platform\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift",
+ "kind": "StringLiteral",
+ "offset": 7365,
+ "length": 11,
+ "value": "\"occurence\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift",
+ "kind": "StringLiteral",
+ "offset": 7407,
+ "length": 16,
+ "value": "\"incidentReport\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift",
+ "kind": "StringLiteral",
+ "offset": 7446,
+ "length": 8,
+ "value": "\"checks\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift",
+ "kind": "StringLiteral",
+ "offset": 7481,
+ "length": 12,
+ "value": "\"externalId\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift",
+ "kind": "StringLiteral",
+ "offset": 7519,
+ "length": 11,
+ "value": "\"sessionId\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift",
+ "kind": "StringLiteral",
+ "offset": 7555,
+ "length": 10,
+ "value": "\"deviceId\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift",
+ "kind": "StringLiteral",
+ "offset": 7592,
+ "length": 12,
+ "value": "\"sdkVersion\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift",
+ "kind": "StringLiteral",
+ "offset": 7632,
+ "length": 13,
+ "value": "\"sdkPlatform\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift",
+ "kind": "StringLiteral",
+ "offset": 7675,
+ "length": 15,
+ "value": "\"sdkIdentifier\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Cryptogram\/ThreatFlags.swift",
+ "kind": "StringLiteral",
+ "offset": 413,
+ "length": 5,
+ "value": "\"iOS\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Cryptogram\/ThreatFlags.swift",
+ "kind": "StringLiteral",
+ "offset": 927,
+ "length": 7,
+ "value": "\"en_US\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Cryptogram\/ThreatFlags.swift",
+ "kind": "StringLiteral",
+ "offset": 1182,
+ "length": 12,
+ "value": "\"instanceId\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Cryptogram\/ThreatFlags.swift",
+ "kind": "StringLiteral",
+ "offset": 1218,
+ "length": 9,
+ "value": "\"eventId\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Cryptogram\/ThreatFlags.swift",
+ "kind": "StringLiteral",
+ "offset": 1254,
+ "length": 12,
+ "value": "\"sdkVersion\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Cryptogram\/ThreatFlags.swift",
+ "kind": "StringLiteral",
+ "offset": 1291,
+ "length": 10,
+ "value": "\"platform\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Cryptogram\/ThreatFlags.swift",
+ "kind": "StringLiteral",
+ "offset": 1329,
+ "length": 13,
+ "value": "\"sdkPlatform\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Cryptogram\/ThreatFlags.swift",
+ "kind": "StringLiteral",
+ "offset": 1369,
+ "length": 12,
+ "value": "\"deviceInfo\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Cryptogram\/ThreatFlags.swift",
+ "kind": "StringLiteral",
+ "offset": 1409,
+ "length": 13,
+ "value": "\"deviceState\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Cryptogram\/ThreatFlags.swift",
+ "kind": "StringLiteral",
+ "offset": 1448,
+ "length": 11,
+ "value": "\"occurence\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Cryptogram\/ThreatFlags.swift",
+ "kind": "StringLiteral",
+ "offset": 1482,
+ "length": 8,
+ "value": "\"checks\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Cryptogram\/ThreatFlags.swift",
+ "kind": "StringLiteral",
+ "offset": 1515,
+ "length": 10,
+ "value": "\"deviceId\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Cryptogram\/ThreatFlags.swift",
+ "kind": "StringLiteral",
+ "offset": 1552,
+ "length": 12,
+ "value": "\"externalId\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Cryptogram\/ThreatFlags.swift",
+ "kind": "StringLiteral",
+ "offset": 1590,
+ "length": 11,
+ "value": "\"licensing\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Cryptogram\/ThreatFlags.swift",
+ "kind": "StringLiteral",
+ "offset": 1182,
+ "length": 12,
+ "value": "\"instanceId\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Cryptogram\/ThreatFlags.swift",
+ "kind": "StringLiteral",
+ "offset": 1218,
+ "length": 9,
+ "value": "\"eventId\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Cryptogram\/ThreatFlags.swift",
+ "kind": "StringLiteral",
+ "offset": 1254,
+ "length": 12,
+ "value": "\"sdkVersion\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Cryptogram\/ThreatFlags.swift",
+ "kind": "StringLiteral",
+ "offset": 1291,
+ "length": 10,
+ "value": "\"platform\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Cryptogram\/ThreatFlags.swift",
+ "kind": "StringLiteral",
+ "offset": 1329,
+ "length": 13,
+ "value": "\"sdkPlatform\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Cryptogram\/ThreatFlags.swift",
+ "kind": "StringLiteral",
+ "offset": 1369,
+ "length": 12,
+ "value": "\"deviceInfo\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Cryptogram\/ThreatFlags.swift",
+ "kind": "StringLiteral",
+ "offset": 1409,
+ "length": 13,
+ "value": "\"deviceState\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Cryptogram\/ThreatFlags.swift",
+ "kind": "StringLiteral",
+ "offset": 1448,
+ "length": 11,
+ "value": "\"occurence\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Cryptogram\/ThreatFlags.swift",
+ "kind": "StringLiteral",
+ "offset": 1482,
+ "length": 8,
+ "value": "\"checks\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Cryptogram\/ThreatFlags.swift",
+ "kind": "StringLiteral",
+ "offset": 1515,
+ "length": 10,
+ "value": "\"deviceId\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Cryptogram\/ThreatFlags.swift",
+ "kind": "StringLiteral",
+ "offset": 1552,
+ "length": 12,
+ "value": "\"externalId\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Cryptogram\/ThreatFlags.swift",
+ "kind": "StringLiteral",
+ "offset": 1590,
+ "length": 11,
+ "value": "\"licensing\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/ScreenCapture\/ScreenCaptureReportRateLimiter.swift",
+ "kind": "IntegerLiteral",
+ "offset": 253,
+ "length": 2,
+ "value": "10"
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Check.swift",
+ "kind": "StringLiteral",
+ "offset": 539,
+ "length": 8,
+ "value": "\"status\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Check.swift",
+ "kind": "StringLiteral",
+ "offset": 570,
+ "length": 8,
+ "value": "\"timeMs\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Check.swift",
+ "kind": "StringLiteral",
+ "offset": 539,
+ "length": 8,
+ "value": "\"status\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Check.swift",
+ "kind": "StringLiteral",
+ "offset": 570,
+ "length": 8,
+ "value": "\"timeMs\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Runtime\/FreeRASP\/TalsecRunner.swift",
+ "kind": "BooleanLiteral",
+ "offset": 477,
+ "length": 4,
+ "value": "true"
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Runtime\/SecurityThreat.swift",
+ "kind": "StringLiteral",
+ "offset": 289,
+ "length": 14,
+ "value": "\"appIntegrity\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Runtime\/SecurityThreat.swift",
+ "kind": "StringLiteral",
+ "offset": 382,
+ "length": 18,
+ "value": "\"privilegedAccess\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Runtime\/SecurityThreat.swift",
+ "kind": "StringLiteral",
+ "offset": 456,
+ "length": 7,
+ "value": "\"debug\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Runtime\/SecurityThreat.swift",
+ "kind": "StringLiteral",
+ "offset": 562,
+ "length": 7,
+ "value": "\"hooks\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Runtime\/SecurityThreat.swift",
+ "kind": "StringLiteral",
+ "offset": 909,
+ "length": 15,
+ "value": "\"deviceBinding\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Runtime\/SecurityThreat.swift",
+ "kind": "StringLiteral",
+ "offset": 289,
+ "length": 14,
+ "value": "\"appIntegrity\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Runtime\/SecurityThreat.swift",
+ "kind": "StringLiteral",
+ "offset": 382,
+ "length": 18,
+ "value": "\"privilegedAccess\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Runtime\/SecurityThreat.swift",
+ "kind": "StringLiteral",
+ "offset": 456,
+ "length": 7,
+ "value": "\"debug\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Runtime\/SecurityThreat.swift",
+ "kind": "StringLiteral",
+ "offset": 562,
+ "length": 7,
+ "value": "\"hooks\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Runtime\/SecurityThreat.swift",
+ "kind": "StringLiteral",
+ "offset": 909,
+ "length": 15,
+ "value": "\"deviceBinding\""
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Runtime\/TalsecRuntime.swift",
+ "kind": "Dictionary",
+ "offset": 605,
+ "length": 3,
+ "value": "[]"
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Runtime\/TalsecRuntime.swift",
+ "kind": "Dictionary",
+ "offset": 682,
+ "length": 3,
+ "value": "[]"
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Runtime\/TalsecRuntime.swift",
+ "kind": "BooleanLiteral",
+ "offset": 17148,
+ "length": 4,
+ "value": "true"
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Runtime\/TalsecRuntime.swift",
+ "kind": "BooleanLiteral",
+ "offset": 18385,
+ "length": 4,
+ "value": "true"
+ },
+ {
+ "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner7\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Runtime\/TalsecRuntime.swift",
+ "kind": "BooleanLiteral",
+ "offset": 19011,
+ "length": 4,
+ "value": "true"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios.private.swiftinterface b/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios.private.swiftinterface
new file mode 100644
index 0000000..a155157
--- /dev/null
+++ b/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios.private.swiftinterface
@@ -0,0 +1,62 @@
+// swift-interface-format-version: 1.0
+// swift-compiler-version: Apple Swift version 5.10 (swiftlang-5.10.0.13 clang-1500.3.9.4)
+// swift-module-flags: -target arm64-apple-ios13.0 -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -enable-bare-slash-regex -module-name TalsecRuntime
+import CryptoKit
+import Foundation
+import LocalAuthentication
+import TalsecRuntime.Private
+import Security
+import Swift
+@_exported import TalsecRuntime
+import UIKit
+import _Concurrency
+import _StringProcessing
+import _SwiftConcurrencyShims
+import zlib
+public protocol SecurityThreatHandler {
+ func threatDetected(_ securityThreat: TalsecRuntime.SecurityThreat)
+}
+@_hasMissingDesignatedInitializers public class SecurityThreatCenter {
+ @objc deinit
+}
+public struct TalsecConfig {
+ public let appBundleIds: [Swift.String]
+ public let appTeamId: Swift.String
+ public let watcherMailAddress: Swift.String?
+ public let isProd: Swift.Bool?
+ public init(appBundleIds: [Swift.String], appTeamId: Swift.String, watcherMailAddress: Swift.String?, isProd: Swift.Bool? = true)
+}
+@_hasMissingDesignatedInitializers public class Talsec {
+ public static func start(config: TalsecRuntime.TalsecConfig)
+ public static func blockScreenCapture(enable: Swift.Bool, window: UIKit.UIWindow)
+ public static func isScreenCaptureBlocked(in window: UIKit.UIWindow) -> Swift.Bool
+ public static func storeExternalId(externalId: Swift.String)
+ @objc deinit
+}
+public enum SecurityThreat : Swift.String, Swift.Codable, Swift.CaseIterable, Swift.Equatable {
+ case signature
+ case jailbreak
+ case debugger
+ case runtimeManipulation
+ case passcode
+ case passcodeChange
+ case simulator
+ case missingSecureEnclave
+ case systemVPN
+ case deviceChange
+ case deviceID
+ case unofficialStore
+ case screenshot
+ case screenRecording
+ public init?(rawValue: Swift.String)
+ public typealias AllCases = [TalsecRuntime.SecurityThreat]
+ public typealias RawValue = Swift.String
+ public static var allCases: [TalsecRuntime.SecurityThreat] {
+ get
+ }
+ public var rawValue: Swift.String {
+ get
+ }
+}
+extension TalsecRuntime.SecurityThreat : Swift.Hashable {}
+extension TalsecRuntime.SecurityThreat : Swift.RawRepresentable {}
diff --git a/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios.swiftdoc b/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios.swiftdoc
new file mode 100644
index 0000000000000000000000000000000000000000..4e1df6041432db0e26427808c4ac97e3d593d761
GIT binary patch
literal 2604
zcmbW3UuYaf9LMJ_O)p+zNmDD>EE?06TYVVJg6k=m9>Vx>O*_+&LdbfA(
z?nNRh8Y=c74;Atv6bV?Q4+#bdSV|zWs1!lSLyQ
zGoSs<@AsSg{l=|;uaA&0Atc}%i=JQG4c?sUU!4kWoezE^1-EE$bvO9cdN7dvc6-T=
z-1f)r+L3iTam^puv_q?QerO{X-p+-t=R)`$mvWI!fB2q1vTP@A=R(kpKiw0%x){9y
zD?2-QtpAtLW-fwptaN`dv~EY1>@(wIzVNb*mjt%h$VHYHBinX#T(ZO1?4Cb*e=%|u
zqjr>h@(3aC_z8JofRGU|5A{yZef&L@22U5{se#9Oeq0#}Z1{)|D!1(h(91R&RYr^N
zX|oocXNIZOb()UL5)GMrtg7hc7=MpTaXCd*@h+z&DV~aF;-g_w#TwH})nw}Brfz99
zhW9Taicvc|8dLb{F|BUOsknquLOwlCND`dMqk{t%hx@ABzr6Vg{W)DqqW2cWJSV5x
zR+UGKOl=yPwJ=>Vm||VZm|Cq_Rjj(PkWJ=m7oNea0<)NEu@W_!x~}PEs_E1-<6qtj
zISol967*k^5CN}^d=!)z>GE&(^TuFHk>Cg*TZoQ_5pEUwgK(46G+^bKm7LoXEL6z
zLplSEmDo(PTxP8kdlHj862-CI3Ct^cV{oLC3@#x*cushTiGV=eAU|#Vy7?lWpF_Gp
z$RN*n%1&uljF0rO?8r;#y$$L7ZAq!7nI>w8C_C&G9hGmsmC-yTy*O!^Q53+Y!6#5%Vkmzo`aA?{Ry`-7SOci=cB#y9USQ8OmW1gpI{
z^_sIePg5^?936$y-QP{qLreq${*nOU&d%MNJW9IzemULL>$9_(swveXZp=Myc*9dr
zp>Z)>H|*C7hJL~DL2<|8F_D0DJ_8hgelt!K953(-tsq9|M8Vzk7++0X&D<0Uv76(0
z3LV$;^WWP>F!@zf|06uh(bSefkl#-aX)Dl4{C0mxTZ2yG>4>(`dOC0T`w*-=&w2N@
FzX9%e%mM%a
literal 0
HcmV?d00001
diff --git a/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios.swiftinterface b/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios.swiftinterface
new file mode 100644
index 0000000..a155157
--- /dev/null
+++ b/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios.swiftinterface
@@ -0,0 +1,62 @@
+// swift-interface-format-version: 1.0
+// swift-compiler-version: Apple Swift version 5.10 (swiftlang-5.10.0.13 clang-1500.3.9.4)
+// swift-module-flags: -target arm64-apple-ios13.0 -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -enable-bare-slash-regex -module-name TalsecRuntime
+import CryptoKit
+import Foundation
+import LocalAuthentication
+import TalsecRuntime.Private
+import Security
+import Swift
+@_exported import TalsecRuntime
+import UIKit
+import _Concurrency
+import _StringProcessing
+import _SwiftConcurrencyShims
+import zlib
+public protocol SecurityThreatHandler {
+ func threatDetected(_ securityThreat: TalsecRuntime.SecurityThreat)
+}
+@_hasMissingDesignatedInitializers public class SecurityThreatCenter {
+ @objc deinit
+}
+public struct TalsecConfig {
+ public let appBundleIds: [Swift.String]
+ public let appTeamId: Swift.String
+ public let watcherMailAddress: Swift.String?
+ public let isProd: Swift.Bool?
+ public init(appBundleIds: [Swift.String], appTeamId: Swift.String, watcherMailAddress: Swift.String?, isProd: Swift.Bool? = true)
+}
+@_hasMissingDesignatedInitializers public class Talsec {
+ public static func start(config: TalsecRuntime.TalsecConfig)
+ public static func blockScreenCapture(enable: Swift.Bool, window: UIKit.UIWindow)
+ public static func isScreenCaptureBlocked(in window: UIKit.UIWindow) -> Swift.Bool
+ public static func storeExternalId(externalId: Swift.String)
+ @objc deinit
+}
+public enum SecurityThreat : Swift.String, Swift.Codable, Swift.CaseIterable, Swift.Equatable {
+ case signature
+ case jailbreak
+ case debugger
+ case runtimeManipulation
+ case passcode
+ case passcodeChange
+ case simulator
+ case missingSecureEnclave
+ case systemVPN
+ case deviceChange
+ case deviceID
+ case unofficialStore
+ case screenshot
+ case screenRecording
+ public init?(rawValue: Swift.String)
+ public typealias AllCases = [TalsecRuntime.SecurityThreat]
+ public typealias RawValue = Swift.String
+ public static var allCases: [TalsecRuntime.SecurityThreat] {
+ get
+ }
+ public var rawValue: Swift.String {
+ get
+ }
+}
+extension TalsecRuntime.SecurityThreat : Swift.Hashable {}
+extension TalsecRuntime.SecurityThreat : Swift.RawRepresentable {}
diff --git a/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Modules/module.modulemap b/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Modules/module.modulemap
new file mode 100644
index 0000000..0c17782
--- /dev/null
+++ b/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Modules/module.modulemap
@@ -0,0 +1,17 @@
+framework module TalsecRuntime {
+ umbrella header "TalsecRuntime_iOS.h"
+
+ export *
+ module * { export * }
+
+ explicit module Private {
+ private header "CryptoBridgingHeader.h"
+ private header "CurlWrapper.h"
+ export *
+ }
+}
+
+module TalsecRuntime.Swift {
+ header "TalsecRuntime-Swift.h"
+ requires objc
+}
diff --git a/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/PrivacyInfo.xcprivacy b/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/PrivacyInfo.xcprivacy
new file mode 100644
index 0000000..0f1f55d
--- /dev/null
+++ b/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/PrivacyInfo.xcprivacy
@@ -0,0 +1,69 @@
+
+
+
+
+ NSPrivacyAccessedAPITypes
+
+
+ NSPrivacyAccessedAPIType
+ NSPrivacyAccessedAPICategoryFileTimestamp
+ NSPrivacyAccessedAPITypeReasons
+
+ C617.1
+
+
+
+ NSPrivacyAccessedAPIType
+ NSPrivacyAccessedAPICategoryUserDefaults
+ NSPrivacyAccessedAPITypeReasons
+
+ 1C8F.1
+
+
+
+ NSPrivacyCollectedDataTypes
+
+
+ NSPrivacyCollectedDataType
+ NSPrivacyCollectedDataTypeOtherDiagnosticData
+ NSPrivacyCollectedDataTypeLinked
+
+ NSPrivacyCollectedDataTypeTracking
+
+ NSPrivacyCollectedDataTypePurposes
+
+ NSPrivacyCollectedDataTypePurposeAppFunctionality
+
+
+
+ NSPrivacyCollectedDataType
+ NSPrivacyCollectedDataTypeDeviceID
+ NSPrivacyCollectedDataTypeLinked
+
+ NSPrivacyCollectedDataTypeTracking
+
+ NSPrivacyCollectedDataTypePurposes
+
+ NSPrivacyCollectedDataTypePurposeAppFunctionality
+ NSPrivacyCollectedDataTypePurposeAnalytics
+
+
+
+ NSPrivacyCollectedDataType
+ NSPrivacyCollectedDataTypeOtherDataTypes
+ NSPrivacyCollectedDataTypeLinked
+
+ NSPrivacyCollectedDataTypeTracking
+
+ NSPrivacyCollectedDataTypePurposes
+
+ NSPrivacyCollectedDataTypePurposeAppFunctionality
+
+
+
+ NSPrivacyTrackingDomains
+
+ NSPrivacyTracking
+
+
+
diff --git a/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/TalsecRuntime b/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/TalsecRuntime
new file mode 100755
index 0000000000000000000000000000000000000000..1cc8a9cfe84d96b6b5c0d1d13645fa69b57ac822
GIT binary patch
literal 5749872
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