From ba4d41afd04cb2959f61e0254db0b7644a316004 Mon Sep 17 00:00:00 2001 From: epamrsa <124578266+epamrsa@users.noreply.github.com> Date: Mon, 6 Feb 2023 14:48:34 +0300 Subject: [PATCH 001/483] Initial commit --- LICENSE | 201 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ README.md | 1 + 2 files changed, 202 insertions(+) create mode 100644 LICENSE create mode 100644 README.md diff --git a/LICENSE b/LICENSE new file mode 100644 index 00000000..261eeb9e --- /dev/null +++ b/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/README.md b/README.md new file mode 100644 index 00000000..91f7c6ff --- /dev/null +++ b/README.md @@ -0,0 +1 @@ +# shared-libs \ No newline at end of file From 068252d2854a1d65041b7bc80fba023c48d2beae Mon Sep 17 00:00:00 2001 From: epamrsa Date: Mon, 6 Feb 2023 16:49:37 +0300 Subject: [PATCH 002/483] refactor: create single shared libraries repository with centralized build Initial state after refactoring Refs: EPMDJ-10564 --- agent-runner-common/LICENSE | 201 ++ agent-runner-common/README.md | 78 + agent-runner-common/build.gradle.kts | 50 + .../drill/agent/runner/AgentConfiguration.kt | 34 + .../epam/drill/agent/runner/AgentLoader.kt | 66 + .../agent/runner/AppAgentConfiguration.kt | 34 + .../epam/drill/agent/runner/Configuration.kt | 49 + .../com/epam/drill/agent/runner/LogLevels.kt | 20 + .../kotlin/com/epam/drill/agent/runner/OS.kt | 46 + agent-runner-gradle/LICENSE | 201 ++ agent-runner-gradle/README.md | 78 + agent-runner-gradle/build.gradle.kts | 66 + .../com/epam/drill/autotest/gradle/Agent.kt | 86 + .../epam/drill/autotest/gradle/AppAgent.kt | 30 + .../drill/autotest/gradle/AutoTestAgent.kt | 31 + agent/CODE_OF_CONDUCT.md | 76 + agent/CONTRIBUTING.md | 1 + agent/LICENSE | 201 ++ agent/README.md | 9 + agent/build.gradle.kts | 100 + .../kotlin/com/epam/drill/DynamicLoader.kt | 18 + .../commonMain/kotlin/com/epam/drill/Files.kt | 19 + .../drill/common/serialization/Serializer.kt | 23 + .../drill/common/serialization/Wrappers.kt | 24 + .../com/epam/drill/plugin/DrillRequest.kt | 24 + .../kotlin/com/epam/drill/ActualStubs.kt | 22 + .../kotlin/com/epam/drill/zlib/ZstdTest.kt | 42 + .../kotlin/com/epam/drill/zlib/DeflateTest.kt | 42 + .../epam/drill/zlib/SocketDispatcherTest.kt | 69 + .../kotlin/com/epam/drill/DynamicLoader.kt | 37 + .../kotlin/com/epam/drill/Files.kt | 35 + .../com/epam/drill/core/ws/FileUtils.kt | 75 + .../kotlin/com/epam/drill/zstd/ZstdTest.kt | 41 + .../nativeInterop/cinterop/linuxX64/libzstd.a | Bin 0 -> 1178784 bytes .../nativeInterop/cinterop/linuxX64/zdict.h | 305 ++ .../nativeInterop/cinterop/linuxX64/zstd.h | 2090 +++++++++++ .../cinterop/linuxX64/zstd_errors.h | 94 + .../nativeInterop/cinterop/macosX64/libzstd.a | Bin 0 -> 1131304 bytes .../nativeInterop/cinterop/macosX64/zdict.h | 305 ++ .../nativeInterop/cinterop/macosX64/zstd.h | 2090 +++++++++++ .../cinterop/macosX64/zstd_errors.h | 94 + .../cinterop/mingwX64/libzstd.dll.a | Bin 0 -> 123546 bytes .../cinterop/mingwX64/libzstd_static.lib | Bin 0 -> 1049748 bytes .../nativeInterop/cinterop/mingwX64/zdict.h | 305 ++ .../nativeInterop/cinterop/mingwX64/zstd.h | 2090 +++++++++++ .../cinterop/mingwX64/zstd_errors.h | 94 + .../nativeInterop/cinterop/zstd_bindings.def | 10 + .../nativeMain/kotlin/com/epam/drill/Agent.kt | 16 + .../nativeMain/kotlin/com/epam/drill/DI.kt | 88 + .../kotlin/com/epam/drill/core/AgentApi.kt | 77 + .../core/concurrency/BackgroundThread.kt | 31 + .../core/concurrency/NonBlockingQueue.kt | 252 ++ .../core/exceptions/PluginLoadException.kt | 18 + .../core/exceptions/WsClosedException.kt | 18 + .../epam/drill/core/messanger/MessageQueue.kt | 39 + .../com/epam/drill/core/plugin/PluginUtils.kt | 21 + .../drill/core/transport/SocketDispatcher.kt | 80 + .../com/epam/drill/core/ws/FileUtils.kt | 346 ++ .../com/epam/drill/core/ws/HttpHeaders.kt | 20 + .../kotlin/com/epam/drill/core/ws/Sender.kt | 39 + .../com/epam/drill/core/ws/TopicsCore.kt | 135 + .../kotlin/com/epam/drill/core/ws/WsRouter.kt | 206 ++ .../kotlin/com/epam/drill/core/ws/WsSocket.kt | 135 + .../com/epam/drill/plugin/PluginStorage.kt | 38 + .../drill/plugin/api/processing/NativePart.kt | 21 + .../kotlin/com/epam/drill/ws/WsGlobal.kt | 22 + .../kotlin/com/epam/drill/zstd/Zstd.kt | 52 + .../kotlin/com/epam/drill/DynamicLoader.kt | 23 + .../posixMain/kotlin/com/epam/drill/Files.kt | 31 + .../com/epam/drill/core/ws/FileUtils.kt | 71 + build.gradle.kts | 20 + buildSrc/build.gradle.kts | 17 + buildSrc/gradle.properties | 16 + buildSrc/settings.gradle.kts | 19 + common-0.3.0/LICENSE | 201 ++ common-0.3.0/README.md | 5 + common-0.3.0/build.gradle.kts | 51 + .../com/epam/drill/common/AgentConfig.kt | 38 + .../com/epam/drill/common/AgentEvent.kt | 21 + .../com/epam/drill/common/BuildDataClasses.kt | 83 + .../kotlin/com/epam/drill/common/Message.kt | 22 + .../com/epam/drill/common/MessageType.kt | 27 + .../com/epam/drill/common/PluginAction.kt | 24 + .../com/epam/drill/common/PluginMetadata.kt | 43 + .../com/epam/drill/common/Serializer.kt | 28 + .../epam/drill/common/ws/ConnectionConfig.kt | 24 + .../kotlin/com/epam/drill/common/ws/URL.kt | 160 + .../com/epam/drill/common/ws/WsEvent.kt | 20 + .../com/epam/drill/plugin/api/AdminData.kt | 29 + .../com/epam/drill/plugin/api/AgentData.kt | 25 + .../com/epam/drill/plugin/api/DrillPlugin.kt | 44 + .../drill/plugin/api/message/DrillMessage.kt | 21 + .../plugin/api/message/MessageWrapper.kt | 21 + .../drill/plugin/api/message/StatusMessage.kt | 29 + .../com/epam/drill/CommonClassLoading.kt | 42 + common/CODE_OF_CONDUCT.md | 76 + common/CONTRIBUTING.md | 1 + common/LICENSE | 201 ++ common/README.md | 27 + common/build.gradle.kts | 55 + .../kotlin/com/epam/drill/api/AgentRoutes.kt | 84 + .../kotlin/com/epam/drill/api/Topic.kt | 31 + .../com/epam/drill/api/dto/LoggingConfig.kt | 27 + .../com/epam/drill/api/dto/UpdateInfo.kt | 23 + .../com/epam/drill/common/AgentConfig.kt | 56 + .../kotlin/com/epam/drill/common/AgentType.kt | 22 + .../com/epam/drill/common/BuildDataClasses.kt | 33 + .../kotlin/com/epam/drill/common/Message.kt | 25 + .../com/epam/drill/common/MessageType.kt | 28 + .../com/epam/drill/common/PluginAction.kt | 25 + .../com/epam/drill/common/PluginMetadata.kt | 44 + .../epam/drill/common/ws/ConnectionConfig.kt | 21 + .../kotlin/com/epam/drill/common/ws/URL.kt | 160 + .../com/epam/drill/common/ws/WsEvent.kt | 20 + .../drill/plugin/api/message/DrillMessage.kt | 21 + .../plugin/api/message/MessageWrapper.kt | 21 + .../com/epam/drill/CommonClassLoading.kt | 42 + drill-hook/LICENSE | 201 ++ drill-hook/README.md | 2 + drill-hook/build.gradle.kts | 75 + .../kotlin/com/epam/drill/io/Butyfier.kt | 33 + .../kotlin/com/epam/drill/io/Drillo.kt | 136 + .../nativeInterop/cinterop/hook_bindings.def | 153 + .../cinterop/linuxX64/funchook.h | 122 + .../nativeInterop/cinterop/linuxX64/hook.a | Bin 0 -> 191328 bytes .../cinterop/linuxX64/libdistorm.a | Bin 0 -> 371894 bytes .../cinterop/macosX64/funchook.h | 122 + .../nativeInterop/cinterop/macosX64/hook.a | Bin 0 -> 145888 bytes .../cinterop/macosX64/libdistorm.a | Bin 0 -> 240176 bytes .../cinterop/mingwX64/funchook.h | 122 + .../nativeInterop/cinterop/mingwX64/hook.lib | Bin 0 -> 163884 bytes .../kotlin/com/epam/drill/io/Butyfier.kt | 32 + .../kotlin/com/epam/drill/io/DrillIo.kt | 102 + .../kotlin/com/epam/drill/io/TcpFinalData.kt | 21 + .../kotlin/com/epam/drill/io/tcp/Hooks.kt | 114 + .../kotlin/com/epam/drill/io/Butyfier.kt | 33 + .../kotlin/com/epam/drill/io/Drillo.kt | 113 + gradle-plugin/LICENSE | 201 ++ gradle-plugin/build.gradle.kts | 46 + .../com/epam/drill/gradle/CrossCompilation.kt | 126 + gradle.properties | 28 + gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 59536 bytes gradle/wrapper/gradle-wrapper.properties | 5 + gradlew | 234 ++ gradlew.bat | 89 + http-clients-instrumentation/LICENSE | 201 ++ http-clients-instrumentation/README.md | 15 + http-clients-instrumentation/build.gradle.kts | 124 + .../epam/drill/agent/instrument/IStrategy.kt | 27 + .../instrument/http/apache/ApacheClient.kt | 31 + .../http/java/JavaHttpUrlConnection.kt | 31 + .../agent/instrument/http/ok/OkHttpClient.kt | 31 + .../drill/agent/instrument/ClientsCallback.kt | 53 + .../agent/instrument/TransformStrategy.kt | 40 + .../instrument/http/apache/ApacheClient.kt | 80 + .../http/java/JavaHttpUrlConnection.kt | 86 + .../agent/instrument/http/ok/OkHttpClient.kt | 85 + .../agent/instrument/util/Instrumentation.kt | 40 + .../epam/drill/agent/instrument/util/Log.kt | 25 + .../instrument/http/apache/ApacheClient.kt | 36 + .../http/java/JavaHttpUrlConnection.kt | 41 + .../agent/instrument/http/ok/OkHttpClient.kt | 35 + interceptor-http-test/LICENSE | 201 ++ interceptor-http-test/README.md | 2 + interceptor-http-test/build.gradle.kts | 112 + .../commonMain/kotlin/CommonDataForTest.kt | 21 + .../kotlin/test/JettyTest.kt | 58 + .../src/jvmMain/kotlin/TestBase.kt | 77 + .../src/jvmMain/kotlin/bindings/Bindings.kt | 20 + .../src/jvmSunServerTest/kotlin/JvmTest.kt | 43 + .../kotlin/UndertowTest.kt | 33 + .../src/nativeAgentMain/kotlin/Main.kt | 90 + interceptor-http/LICENSE | 201 ++ interceptor-http/README.md | 2 + interceptor-http/build.gradle.kts | 62 + .../kotlin/com/epam/drill/interceptor/api.kt | 17 + .../kotlin/com/epam/drill/interceptor/Http.kt | 139 + .../kotlin/com/epam/drill/interceptor/Http.kt | 139 + .../kotlin/com/epam/drill/interceptor/Http.kt | 137 + .../com/epam/drill/interceptor/Arrays.kt | 28 + .../kotlin/com/epam/drill/interceptor/Http.kt | 32 + interceptor-http2-test-grpc/LICENSE | 201 ++ interceptor-http2-test-grpc/README.md | 2 + interceptor-http2-test-grpc/build.gradle.kts | 77 + .../main/proto/helloworld/helloworld.proto | 37 + .../src/test/kotlin/GrpcTest.kt | 93 + .../src/test/kotlin/Xs.kt | 26 + interceptor-http2-test/LICENSE | 201 ++ interceptor-http2-test/README.md | 2 + interceptor-http2-test/build.gradle.kts | 110 + .../commonMain/kotlin/CommonDataForTest.kt | 21 + .../samples/http2push/Http2PushApplication.kt | 113 + .../resources/application.conf | 19 + .../jvmJettyServerTest/resources/index.html | 25 + .../src/jvmJettyServerTest/resources/keystore | 0 .../resources/temporary.jks | Bin 0 -> 1337 bytes .../src/jvmMain/kotlin/bindings/Bindings.kt | 22 + .../src/nativeAgentMain/kotlin/Main.kt | 96 + interceptor-http2/LICENSE | 201 ++ interceptor-http2/README.md | 2 + interceptor-http2/build.gradle.kts | 61 + .../kotlin/com/epam/drill/interceptor/api.kt | 18 + .../com/epam/drill/hpack/AutoCloseable.kt | 22 + .../epam/drill/hpack/ByteArrayInputStream.kt | 124 + .../epam/drill/hpack/ByteArrayOutputStream.kt | 115 + .../kotlin/com/epam/drill/hpack/Closeable.kt | 21 + .../kotlin/com/epam/drill/hpack/Decoder.kt | 505 +++ .../com/epam/drill/hpack/DynamicTable.kt | 160 + .../com/epam/drill/hpack/EOFException.kt | 28 + .../kotlin/com/epam/drill/hpack/Encoder.kt | 444 +++ .../kotlin/com/epam/drill/hpack/Flushable.kt | 23 + .../com/epam/drill/hpack/HeaderField.kt | 97 + .../com/epam/drill/hpack/HeaderListener.kt | 21 + .../kotlin/com/epam/drill/hpack/HpackUtil.kt | 332 ++ .../kotlin/com/epam/drill/hpack/Huffman.kt | 24 + .../com/epam/drill/hpack/HuffmanDecoder.kt | 151 + .../com/epam/drill/hpack/HuffmanEncoder.kt | 91 + .../com/epam/drill/hpack/IOException.kt | 32 + .../com/epam/drill/hpack/InputStream.kt | 272 ++ .../com/epam/drill/hpack/OutputStream.kt | 74 + .../com/epam/drill/hpack/StaticTable.kt | 157 + .../kotlin/com/epam/drill/hpack/System.kt | 34 + .../com/epam/drill/interceptor/Arrays.kt | 28 + .../com/epam/drill/interceptor/Http2.kt | 20 + .../com/epam/drill/interceptor/Http2Parser.kt | 92 + .../com/epam/drill/interceptor/ReadStream.kt | 90 + .../com/epam/drill/interceptor/Stream.kt | 130 + .../com/epam/drill/interceptor/WriteStream.kt | 130 + .../epam/drill/interceptor/haffman/Util.kt | 22 + .../com/epam/drill/interceptor/Http2.kt | 92 + .../com/epam/drill/interceptor/Http2.kt | 92 + .../src/macosX64Test/kotlin/Arrays.kt | 288 ++ .../com/epam/drill/interceptor/Http2.kt | 92 + jvmapi/LICENSE | 201 ++ jvmapi/README.md | 8 + jvmapi/build.gradle.kts | 72 + jvmapi/src/nativeInterop/cinterop/jvmti.def | 2282 ++++++++++++ .../src/nativeInterop/cinterop/linuxX64/jni.h | 1960 ++++++++++ .../nativeInterop/cinterop/linuxX64/jni_md.h | 51 + .../nativeInterop/cinterop/linuxX64/jvmti.h | 2534 +++++++++++++ .../nativeInterop/cinterop/macosArm64/jni.h | 1973 ++++++++++ .../cinterop/macosArm64/jni_md.h | 56 + .../nativeInterop/cinterop/macosArm64/jvmti.h | 2624 ++++++++++++++ .../src/nativeInterop/cinterop/macosX64/jni.h | 1960 ++++++++++ .../nativeInterop/cinterop/macosX64/jni_md.h | 42 + .../nativeInterop/cinterop/macosX64/jvmti.h | 2534 +++++++++++++ .../src/nativeInterop/cinterop/mingwX64/jni.h | 1960 ++++++++++ .../nativeInterop/cinterop/mingwX64/jni_md.h | 37 + .../nativeInterop/cinterop/mingwX64/jvmti.h | 2534 +++++++++++++ .../kotlin/com/epam/drill/jvmapi/Helper.kt | 153 + .../com/epam/drill/jvmapi/JniAttacher.kt | 68 + .../com/epam/drill/jvmapi/JvmApiUtils.kt | 116 + knasm/LICENSE | 201 ++ knasm/README.md | 8 + knasm/build.gradle.kts | 37 + knasm/src/commonMain/kotlin/System.kt | 16 + .../org/objectweb/asm/AnnotationVisitor.kt | 140 + .../org/objectweb/asm/AnnotationWriter.kt | 534 +++ .../kotlin/org/objectweb/asm/Attribute.kt | 394 ++ .../kotlin/org/objectweb/asm/ByteVector.kt | 366 ++ .../kotlin/org/objectweb/asm/ClassReader.kt | 3167 +++++++++++++++++ .../objectweb/asm/ClassTooLargeException.kt | 65 + .../kotlin/org/objectweb/asm/ClassVisitor.kt | 356 ++ .../kotlin/org/objectweb/asm/ClassWriter.kt | 1016 ++++++ .../org/objectweb/asm/ConstantDynamic.kt | 167 + .../kotlin/org/objectweb/asm/Constants.kt | 173 + .../kotlin/org/objectweb/asm/Context.kt | 125 + .../kotlin/org/objectweb/asm/CurrentFrame.kt | 50 + .../kotlin/org/objectweb/asm/Edge.kt | 90 + .../kotlin/org/objectweb/asm/FieldVisitor.kt | 128 + .../kotlin/org/objectweb/asm/FieldWriter.kt | 272 ++ .../kotlin/org/objectweb/asm/Frame.kt | 1238 +++++++ .../kotlin/org/objectweb/asm/Handle.kt | 156 + .../kotlin/org/objectweb/asm/Handler.kt | 204 ++ .../kotlin/org/objectweb/asm/Label.kt | 605 ++++ .../objectweb/asm/MethodTooLargeException.kt | 74 + .../kotlin/org/objectweb/asm/MethodVisitor.kt | 750 ++++ .../kotlin/org/objectweb/asm/MethodWriter.kt | 2296 ++++++++++++ .../kotlin/org/objectweb/asm/ModuleVisitor.kt | 171 + .../kotlin/org/objectweb/asm/ModuleWriter.kt | 244 ++ .../kotlin/org/objectweb/asm/Opcodes.kt | 552 +++ .../objectweb/asm/RecordComponentVisitor.kt | 136 + .../objectweb/asm/RecordComponentWriter.kt | 217 ++ .../kotlin/org/objectweb/asm/Symbol.kt | 199 ++ .../kotlin/org/objectweb/asm/SymbolTable.kt | 1290 +++++++ .../kotlin/org/objectweb/asm/Type.kt | 821 +++++ .../kotlin/org/objectweb/asm/TypePath.kt | 181 + .../kotlin/org/objectweb/asm/TypeReference.kt | 379 ++ .../kotlin/org/objectweb/asm/package.html | 78 + .../asm/signature/SignatureReader.kt | 231 ++ .../asm/signature/SignatureVisitor.kt | 198 ++ .../asm/signature/SignatureWriter.kt | 219 ++ .../org/objectweb/asm/signature/package.html | 40 + knasm/src/jvmTest/kotlin/Java17Test.kt | 19 + knasm/src/jvmTest/kotlin/Java8Test.kt | 18 + .../jvmTest/resources/java17/Controller.class | Bin 0 -> 2397 bytes .../resources/java8/AtomicInteger.class | Bin 0 -> 2938 bytes kni-plugin/LICENSE | 201 ++ kni-plugin/README.md | 108 + kni-plugin/build.gradle.kts | 72 + .../com/epam/drill/kni/gradle/Generator.kt | 614 ++++ .../epam/drill/kni/gradle/JvmtiGenerator.kt | 154 + .../kotlin/com/epam/drill/kni/gradle/Kni.kt | 175 + .../com/epam/drill/kni/gradle/Mappings.kt | 80 + kni-runtime/LICENSE | 201 ++ kni-runtime/README.md | 108 + kni-runtime/build.gradle.kts | 40 + .../kotlin/com/epam/drill/kni/Annotation.kt | 18 + .../kotlin/com/epam/drill/kni/JvmtiAgent.kt | 23 + logger-api/LICENSE | 201 ++ logger-api/README.md | 3 + logger-api/build.gradle.kts | 54 + .../kotlin/com/epam/drill/logger/api/Funcs.kt | 29 + .../kotlin/com/epam/drill/logger/api/Level.kt | 33 + .../com/epam/drill/logger/api/Logger.kt | 34 + .../drill/logger/api/internal/NamedLogger.kt | 55 + .../com/epam/drill/logger/api/LoggerTest.kt | 135 + logger-test-agent/LICENSE | 201 ++ logger-test-agent/build.gradle.kts | 87 + .../kotlin/com/epam/drill/test/agentOnLoad.kt | 36 + logger/LICENSE | 201 ++ logger/build.gradle.kts | 97 + .../kotlin/com/epam/drill/logger/Logging.kt | 34 + .../kotlin/com/epam/drill/logger/NativeApi.kt | 27 + .../epam/drill/logger/internal/Appender.kt | 44 + .../com/epam/drill/logger/DrillLoggerTest.kt | 94 + .../com/epam/drill/logger/ActualLogging.kt | 32 + .../kotlin/com/epam/drill/logger/NativeApi.kt | 30 + .../drill/logger/internal/ActualAppender.kt | 30 + .../com/epam/drill/logger/ActualLogging.kt | 43 + .../kotlin/com/epam/drill/logger/NativeApi.kt | 35 + .../drill/logger/internal/platformName.kt | 24 + .../com/epam/drill/logger/ActualLogging.kt | 55 + .../kotlin/com/epam/drill/logger/NativeApi.kt | 35 + .../drill/logger/internal/ActualAppender.kt | 53 + plugin-api-admin/CODE_OF_CONDUCT.md | 76 + plugin-api-admin/CONTRIBUTING.md | 1 + plugin-api-admin/LICENSE | 201 ++ plugin-api-admin/README.md | 27 + plugin-api-admin/build.gradle.kts | 36 + .../commonMain/kotlin/com/epam/drill/base.kt | 18 + .../kotlin/com/epam/drill/common/AgentInfo.kt | 37 + .../com/epam/drill/plugin/api/AdminData.kt | 25 + .../epam/drill/plugin/api/end/ActionResult.kt | 22 + .../drill/plugin/api/end/AdminPluginPart.kt | 45 + .../epam/drill/plugin/api/end/AdminSender.kt | 54 + .../com/epam/drill/plugin/api/end/Sender.kt | 24 + plugin-api-agent-0.3.0/LICENSE | 201 ++ plugin-api-agent-0.3.0/README.md | 5 + plugin-api-agent-0.3.0/build.gradle.kts | 69 + .../com/epam/drill/plugin/DrillRequest.kt | 97 + .../drill/plugin/api/processing/AgentPart.kt | 63 + .../api/processing/InstrumentationPlugin.kt | 24 + .../kotlin/com/epam/drill/ClassPath.kt | 227 ++ .../drill/plugin/api/processing/AgentPart.kt | 71 + .../drill/plugin/api/processing/NativePart.kt | 27 + .../api/processing/PluginImplementations.kt | 49 + .../drill/plugin/api/processing/Sender.kt | 20 + .../com/epam/drill/session/DrillRequest.kt | 31 + .../com/epam/drill/test/IntegrationTestApi.kt | 21 + .../plugin/api/processing/DrillNativeApi.kt | 57 + .../plugin/api/processing/NativePluginApi.kt | 43 + .../plugin/api/processing/DrillNativeApi.kt | 57 + .../plugin/api/processing/NativePluginApi.kt | 43 + .../plugin/api/processing/DrillNativeApi.kt | 57 + .../plugin/api/processing/NativePluginApi.kt | 43 + .../drill/plugin/api/processing/AgentPart.kt | 56 + .../drill/plugin/api/processing/NativePart.kt | 48 + .../api/processing/PluginImplementations.kt | 34 + plugin-api-agent/CODE_OF_CONDUCT.md | 76 + plugin-api-agent/CONTRIBUTING.md | 1 + plugin-api-agent/LICENSE | 201 ++ plugin-api-agent/README.md | 27 + plugin-api-agent/build.gradle.kts | 48 + .../drill/plugin/api/processing/AgentPart.kt | 50 + .../plugin/api/processing/AgentPlugin.kt | 51 + .../com/epam/drill/plugin/api/Native.kt | 28 + settings.gradle.kts | 44 + transport-0.4.0/LICENSE | 201 ++ transport-0.4.0/README.md | 4 + transport-0.4.0/build.gradle.kts | 76 + .../exception/AlreadyClosedException.kt | 23 + .../transport/exception/ConnectException.kt | 23 + .../transport/exception/ReadRetryException.kt | 23 + .../transport/exception/SendRetryException.kt | 23 + .../drill/transport/exception/WsException.kt | 23 + .../com/epam/drill/transport/net/TcpError.kt | 21 + .../drill/transport/net/resolveAddress.kt | 46 + .../drill/transport/net/AsyncSocketFactory.kt | 56 + .../epam/drill/transport/net/FactroySock.kt | 53 + .../drill/transport/net/NativeAsyncServer.kt | 34 + .../epam/drill/transport/net/NativeSocket.kt | 156 + .../drill/transport/net/NativeSocketClient.kt | 57 + .../drill/transport/net/NativeSocketServer.kt | 27 + .../com/epam/drill/transport/net/TcpError.kt | 141 + .../drill/transport/net/resolveAddress.kt | 93 + .../drill/transport/ws/CommonWebSocket.kt | 76 + .../transport/ws/RawSocketWebSocketClient.kt | 233 ++ .../drill/transport/net/AsyncSocketFactory.kt | 56 + .../epam/drill/transport/net/FactroySock.kt | 53 + .../drill/transport/net/NativeAsyncServer.kt | 34 + .../epam/drill/transport/net/NativeSocket.kt | 156 + .../drill/transport/net/NativeSocketClient.kt | 57 + .../drill/transport/net/NativeSocketServer.kt | 27 + .../com/epam/drill/transport/net/TcpError.kt | 141 + .../drill/transport/net/resolveAddress.kt | 93 + .../drill/transport/ws/CommonWebSocket.kt | 76 + .../transport/ws/RawSocketWebSocketClient.kt | 233 ++ .../src/macosX64Test/kotlin/Echo.kt | 180 + .../src/macosX64Test/kotlin/TestBase.kt | 46 + .../core/concurrency/BackgroundThread.kt | 31 + .../kotlin/ws/WebsocketQueueTest.kt | 138 + .../drill/transport/net/AsyncSocketFactory.kt | 56 + .../epam/drill/transport/net/FactroySock.kt | 53 + .../drill/transport/net/NativeAsyncServer.kt | 34 + .../epam/drill/transport/net/NativeSocket.kt | 156 + .../drill/transport/net/NativeSocketClient.kt | 57 + .../drill/transport/net/NativeSocketServer.kt | 27 + .../com/epam/drill/transport/net/TcpError.kt | 565 +++ .../drill/transport/net/resolveAddress.kt | 67 + .../drill/transport/ws/CommonWebSocket.kt | 76 + .../transport/ws/RawSocketWebSocketClient.kt | 233 ++ .../src/nativeInterop/cinterop/sockets.def | 47 + .../nativeInterop/cinterop/testSockets.def | 79 + .../com/epam/drill/transport/BufferNative.kt | 90 + .../epam/drill/transport/ByteArrayBuilder.kt | 102 + .../kotlin/com/epam/drill/transport/Pool.kt | 49 + .../com/epam/drill/transport/common/ws/URL.kt | 171 + .../epam/drill/transport/encoding/Base64.kt | 59 + .../com/epam/drill/transport/lang/Charset.kt | 99 + .../epam/drill/transport/lang/Exceptions.kt | 26 + .../epam/drill/transport/lang/TempBytes.kt | 43 + .../drill/transport/stream/AsyncStream.kt | 132 + .../epam/drill/transport/stream/SyncStream.kt | 191 + .../drill/transport/ws/WebSocketClient.kt | 34 + .../com/epam/drill/transport/ws/WsFrame.kt | 62 + .../com/epam/drill/transport/ws/WsOpcode.kt | 27 + .../epam/drill/transport/ws/endian-utils.kt | 21 + transport/LICENSE | 201 ++ transport/README.md | 25 + transport/build.gradle.kts | 75 + transport/src/linuxX64Test/kotlin/MainTest.kt | 69 + transport/src/macosX64Test/kotlin/MainTest.kt | 69 + transport/src/mingwX64Test/kotlin/MainTest.kt | 70 + .../linuxX64/libwebsockets-linuxX64.a | Bin 0 -> 765090 bytes .../cinterop/linuxX64/libwebsockets.h | 659 ++++ .../libwebsockets/abstract/abstract.h | 138 + .../libwebsockets/abstract/protocols.h | 88 + .../libwebsockets/abstract/protocols/smtp.h | 115 + .../libwebsockets/abstract/transports.h | 65 + .../abstract/transports/raw-skt.h | 29 + .../abstract/transports/unit-test.h | 81 + .../linuxX64/libwebsockets/lws-adopt.h | 264 ++ .../linuxX64/libwebsockets/lws-async-dns.h | 86 + .../linuxX64/libwebsockets/lws-bb-i2c.h | 66 + .../linuxX64/libwebsockets/lws-bb-spi.h | 62 + .../linuxX64/libwebsockets/lws-button.h | 120 + .../linuxX64/libwebsockets/lws-callbacks.h | 910 +++++ .../cinterop/linuxX64/libwebsockets/lws-cgi.h | 104 + .../linuxX64/libwebsockets/lws-client.h | 343 ++ .../libwebsockets/lws-context-vhost.h | 1215 +++++++ .../linuxX64/libwebsockets/lws-dbus.h | 94 + .../libwebsockets/lws-detailed-latency.h | 140 + .../linuxX64/libwebsockets/lws-diskcache.h | 187 + .../linuxX64/libwebsockets/lws-display.h | 158 + .../linuxX64/libwebsockets/lws-dll2.h | 303 ++ .../cinterop/linuxX64/libwebsockets/lws-dsh.h | 145 + .../libwebsockets/lws-eventlib-exports.h | 86 + .../linuxX64/libwebsockets/lws-freertos.h | 87 + .../cinterop/linuxX64/libwebsockets/lws-fts.h | 215 ++ .../linuxX64/libwebsockets/lws-genaes.h | 170 + .../linuxX64/libwebsockets/lws-gencrypto.h | 130 + .../linuxX64/libwebsockets/lws-genec.h | 211 ++ .../linuxX64/libwebsockets/lws-genhash.h | 187 + .../linuxX64/libwebsockets/lws-genrsa.h | 254 ++ .../linuxX64/libwebsockets/lws-gpio.h | 60 + .../linuxX64/libwebsockets/lws-http.h | 975 +++++ .../cinterop/linuxX64/libwebsockets/lws-i2c.h | 54 + .../linuxX64/libwebsockets/lws-ili9341-spi.h | 54 + .../linuxX64/libwebsockets/lws-jose.h | 212 ++ .../cinterop/linuxX64/libwebsockets/lws-jwe.h | 164 + .../cinterop/linuxX64/libwebsockets/lws-jwk.h | 218 ++ .../cinterop/linuxX64/libwebsockets/lws-jws.h | 559 +++ .../cinterop/linuxX64/libwebsockets/lws-led.h | 146 + .../linuxX64/libwebsockets/lws-lejp.h | 301 ++ .../linuxX64/libwebsockets/lws-logs.h | 300 ++ .../linuxX64/libwebsockets/lws-lwsac.h | 290 ++ .../linuxX64/libwebsockets/lws-misc.h | 1086 ++++++ .../linuxX64/libwebsockets/lws-mqtt.h | 334 ++ .../linuxX64/libwebsockets/lws-netdev.h | 283 ++ .../libwebsockets/lws-network-helper.h | 244 ++ .../linuxX64/libwebsockets/lws-optee.h | 77 + .../libwebsockets/lws-protocols-plugins.h | 309 ++ .../linuxX64/libwebsockets/lws-purify.h | 105 + .../cinterop/linuxX64/libwebsockets/lws-pwm.h | 67 + .../linuxX64/libwebsockets/lws-retry.h | 95 + .../linuxX64/libwebsockets/lws-ring.h | 306 ++ .../libwebsockets/lws-secure-streams-client.h | 223 ++ .../libwebsockets/lws-secure-streams-policy.h | 334 ++ .../libwebsockets/lws-secure-streams.h | 726 ++++ .../linuxX64/libwebsockets/lws-sequencer.h | 243 ++ .../linuxX64/libwebsockets/lws-service.h | 202 ++ .../linuxX64/libwebsockets/lws-settings.h | 112 + .../linuxX64/libwebsockets/lws-sha1-base64.h | 109 + .../cinterop/linuxX64/libwebsockets/lws-smd.h | 175 + .../cinterop/linuxX64/libwebsockets/lws-spa.h | 176 + .../cinterop/linuxX64/libwebsockets/lws-spi.h | 73 + .../linuxX64/libwebsockets/lws-ssd1306-i2c.h | 64 + .../linuxX64/libwebsockets/lws-state.h | 119 + .../linuxX64/libwebsockets/lws-stats.h | 81 + .../linuxX64/libwebsockets/lws-struct.h | 284 ++ .../linuxX64/libwebsockets/lws-system.h | 339 ++ .../libwebsockets/lws-test-sequencer.h | 61 + .../linuxX64/libwebsockets/lws-threadpool.h | 280 ++ .../libwebsockets/lws-timeout-timer.h | 362 ++ .../linuxX64/libwebsockets/lws-tokenize.h | 253 ++ .../cinterop/linuxX64/libwebsockets/lws-vfs.h | 273 ++ .../linuxX64/libwebsockets/lws-write.h | 264 ++ .../linuxX64/libwebsockets/lws-writeable.h | 246 ++ .../linuxX64/libwebsockets/lws-ws-close.h | 125 + .../linuxX64/libwebsockets/lws-ws-ext.h | 198 ++ .../linuxX64/libwebsockets/lws-ws-state.h | 93 + .../linuxX64/libwebsockets/lws-x509.h | 279 ++ .../cinterop/linuxX64/lws_config.h | 202 ++ .../macosX64/libwebsockets-macosX64.a | Bin 0 -> 610536 bytes .../cinterop/macosX64/libwebsockets.h | 659 ++++ .../libwebsockets/abstract/abstract.h | 138 + .../libwebsockets/abstract/protocols.h | 88 + .../libwebsockets/abstract/protocols/smtp.h | 115 + .../libwebsockets/abstract/transports.h | 65 + .../abstract/transports/raw-skt.h | 29 + .../abstract/transports/unit-test.h | 81 + .../macosX64/libwebsockets/lws-adopt.h | 264 ++ .../macosX64/libwebsockets/lws-async-dns.h | 86 + .../macosX64/libwebsockets/lws-bb-i2c.h | 66 + .../macosX64/libwebsockets/lws-bb-spi.h | 62 + .../macosX64/libwebsockets/lws-button.h | 120 + .../macosX64/libwebsockets/lws-callbacks.h | 910 +++++ .../cinterop/macosX64/libwebsockets/lws-cgi.h | 104 + .../macosX64/libwebsockets/lws-client.h | 343 ++ .../libwebsockets/lws-context-vhost.h | 1215 +++++++ .../macosX64/libwebsockets/lws-dbus.h | 94 + .../libwebsockets/lws-detailed-latency.h | 140 + .../macosX64/libwebsockets/lws-diskcache.h | 187 + .../macosX64/libwebsockets/lws-display.h | 158 + .../macosX64/libwebsockets/lws-dll2.h | 303 ++ .../cinterop/macosX64/libwebsockets/lws-dsh.h | 145 + .../libwebsockets/lws-eventlib-exports.h | 86 + .../macosX64/libwebsockets/lws-freertos.h | 87 + .../cinterop/macosX64/libwebsockets/lws-fts.h | 215 ++ .../macosX64/libwebsockets/lws-genaes.h | 170 + .../macosX64/libwebsockets/lws-gencrypto.h | 130 + .../macosX64/libwebsockets/lws-genec.h | 211 ++ .../macosX64/libwebsockets/lws-genhash.h | 187 + .../macosX64/libwebsockets/lws-genrsa.h | 254 ++ .../macosX64/libwebsockets/lws-gpio.h | 60 + .../macosX64/libwebsockets/lws-http.h | 975 +++++ .../cinterop/macosX64/libwebsockets/lws-i2c.h | 54 + .../macosX64/libwebsockets/lws-ili9341-spi.h | 54 + .../macosX64/libwebsockets/lws-jose.h | 212 ++ .../cinterop/macosX64/libwebsockets/lws-jwe.h | 164 + .../cinterop/macosX64/libwebsockets/lws-jwk.h | 218 ++ .../cinterop/macosX64/libwebsockets/lws-jws.h | 559 +++ .../cinterop/macosX64/libwebsockets/lws-led.h | 146 + .../macosX64/libwebsockets/lws-lejp.h | 301 ++ .../macosX64/libwebsockets/lws-logs.h | 300 ++ .../macosX64/libwebsockets/lws-lwsac.h | 290 ++ .../macosX64/libwebsockets/lws-misc.h | 1086 ++++++ .../macosX64/libwebsockets/lws-mqtt.h | 334 ++ .../macosX64/libwebsockets/lws-netdev.h | 283 ++ .../libwebsockets/lws-network-helper.h | 244 ++ .../macosX64/libwebsockets/lws-optee.h | 77 + .../libwebsockets/lws-protocols-plugins.h | 309 ++ .../macosX64/libwebsockets/lws-purify.h | 105 + .../cinterop/macosX64/libwebsockets/lws-pwm.h | 67 + .../macosX64/libwebsockets/lws-retry.h | 95 + .../macosX64/libwebsockets/lws-ring.h | 306 ++ .../libwebsockets/lws-secure-streams-client.h | 223 ++ .../libwebsockets/lws-secure-streams-policy.h | 334 ++ .../libwebsockets/lws-secure-streams.h | 726 ++++ .../macosX64/libwebsockets/lws-sequencer.h | 243 ++ .../macosX64/libwebsockets/lws-service.h | 202 ++ .../macosX64/libwebsockets/lws-settings.h | 112 + .../macosX64/libwebsockets/lws-sha1-base64.h | 109 + .../cinterop/macosX64/libwebsockets/lws-smd.h | 175 + .../cinterop/macosX64/libwebsockets/lws-spa.h | 176 + .../cinterop/macosX64/libwebsockets/lws-spi.h | 73 + .../macosX64/libwebsockets/lws-ssd1306-i2c.h | 64 + .../macosX64/libwebsockets/lws-state.h | 119 + .../macosX64/libwebsockets/lws-stats.h | 81 + .../macosX64/libwebsockets/lws-struct.h | 284 ++ .../macosX64/libwebsockets/lws-system.h | 339 ++ .../libwebsockets/lws-test-sequencer.h | 61 + .../macosX64/libwebsockets/lws-threadpool.h | 280 ++ .../libwebsockets/lws-timeout-timer.h | 362 ++ .../macosX64/libwebsockets/lws-tokenize.h | 253 ++ .../cinterop/macosX64/libwebsockets/lws-vfs.h | 273 ++ .../macosX64/libwebsockets/lws-write.h | 264 ++ .../macosX64/libwebsockets/lws-writeable.h | 246 ++ .../macosX64/libwebsockets/lws-ws-close.h | 125 + .../macosX64/libwebsockets/lws-ws-ext.h | 198 ++ .../macosX64/libwebsockets/lws-ws-state.h | 93 + .../macosX64/libwebsockets/lws-x509.h | 279 ++ .../cinterop/macosX64/lws_config.h | 202 ++ .../mingwX64/libwebsockets-mingwX64.a | Bin 0 -> 3646728 bytes .../cinterop/mingwX64/libwebsockets.h | 659 ++++ .../libwebsockets/abstract/abstract.h | 138 + .../libwebsockets/abstract/protocols.h | 88 + .../libwebsockets/abstract/protocols/smtp.h | 115 + .../libwebsockets/abstract/transports.h | 65 + .../abstract/transports/raw-skt.h | 29 + .../abstract/transports/unit-test.h | 81 + .../mingwX64/libwebsockets/lws-adopt.h | 264 ++ .../mingwX64/libwebsockets/lws-async-dns.h | 86 + .../mingwX64/libwebsockets/lws-bb-i2c.h | 66 + .../mingwX64/libwebsockets/lws-bb-spi.h | 62 + .../mingwX64/libwebsockets/lws-button.h | 120 + .../mingwX64/libwebsockets/lws-callbacks.h | 910 +++++ .../cinterop/mingwX64/libwebsockets/lws-cgi.h | 104 + .../mingwX64/libwebsockets/lws-client.h | 343 ++ .../libwebsockets/lws-context-vhost.h | 1215 +++++++ .../mingwX64/libwebsockets/lws-dbus.h | 94 + .../libwebsockets/lws-detailed-latency.h | 140 + .../mingwX64/libwebsockets/lws-diskcache.h | 187 + .../mingwX64/libwebsockets/lws-display.h | 158 + .../mingwX64/libwebsockets/lws-dll2.h | 303 ++ .../cinterop/mingwX64/libwebsockets/lws-dsh.h | 145 + .../libwebsockets/lws-eventlib-exports.h | 86 + .../mingwX64/libwebsockets/lws-freertos.h | 87 + .../cinterop/mingwX64/libwebsockets/lws-fts.h | 215 ++ .../mingwX64/libwebsockets/lws-genaes.h | 170 + .../mingwX64/libwebsockets/lws-gencrypto.h | 130 + .../mingwX64/libwebsockets/lws-genec.h | 211 ++ .../mingwX64/libwebsockets/lws-genhash.h | 187 + .../mingwX64/libwebsockets/lws-genrsa.h | 254 ++ .../mingwX64/libwebsockets/lws-gpio.h | 60 + .../mingwX64/libwebsockets/lws-http.h | 975 +++++ .../cinterop/mingwX64/libwebsockets/lws-i2c.h | 54 + .../mingwX64/libwebsockets/lws-ili9341-spi.h | 54 + .../mingwX64/libwebsockets/lws-jose.h | 212 ++ .../cinterop/mingwX64/libwebsockets/lws-jwe.h | 164 + .../cinterop/mingwX64/libwebsockets/lws-jwk.h | 218 ++ .../cinterop/mingwX64/libwebsockets/lws-jws.h | 559 +++ .../cinterop/mingwX64/libwebsockets/lws-led.h | 146 + .../mingwX64/libwebsockets/lws-lejp.h | 301 ++ .../mingwX64/libwebsockets/lws-logs.h | 300 ++ .../mingwX64/libwebsockets/lws-lwsac.h | 290 ++ .../mingwX64/libwebsockets/lws-misc.h | 1086 ++++++ .../mingwX64/libwebsockets/lws-mqtt.h | 334 ++ .../mingwX64/libwebsockets/lws-netdev.h | 283 ++ .../libwebsockets/lws-network-helper.h | 244 ++ .../mingwX64/libwebsockets/lws-optee.h | 77 + .../libwebsockets/lws-protocols-plugins.h | 309 ++ .../mingwX64/libwebsockets/lws-purify.h | 105 + .../cinterop/mingwX64/libwebsockets/lws-pwm.h | 67 + .../mingwX64/libwebsockets/lws-retry.h | 95 + .../mingwX64/libwebsockets/lws-ring.h | 306 ++ .../libwebsockets/lws-secure-streams-client.h | 223 ++ .../libwebsockets/lws-secure-streams-policy.h | 334 ++ .../libwebsockets/lws-secure-streams.h | 726 ++++ .../mingwX64/libwebsockets/lws-sequencer.h | 243 ++ .../mingwX64/libwebsockets/lws-service.h | 202 ++ .../mingwX64/libwebsockets/lws-settings.h | 112 + .../mingwX64/libwebsockets/lws-sha1-base64.h | 109 + .../cinterop/mingwX64/libwebsockets/lws-smd.h | 175 + .../cinterop/mingwX64/libwebsockets/lws-spa.h | 176 + .../cinterop/mingwX64/libwebsockets/lws-spi.h | 73 + .../mingwX64/libwebsockets/lws-ssd1306-i2c.h | 64 + .../mingwX64/libwebsockets/lws-state.h | 119 + .../mingwX64/libwebsockets/lws-stats.h | 81 + .../mingwX64/libwebsockets/lws-struct.h | 284 ++ .../mingwX64/libwebsockets/lws-system.h | 339 ++ .../libwebsockets/lws-test-sequencer.h | 61 + .../mingwX64/libwebsockets/lws-threadpool.h | 280 ++ .../libwebsockets/lws-timeout-timer.h | 362 ++ .../mingwX64/libwebsockets/lws-tokenize.h | 253 ++ .../cinterop/mingwX64/libwebsockets/lws-vfs.h | 273 ++ .../mingwX64/libwebsockets/lws-write.h | 264 ++ .../mingwX64/libwebsockets/lws-writeable.h | 246 ++ .../mingwX64/libwebsockets/lws-ws-close.h | 125 + .../mingwX64/libwebsockets/lws-ws-ext.h | 198 ++ .../mingwX64/libwebsockets/lws-ws-state.h | 93 + .../mingwX64/libwebsockets/lws-x509.h | 279 ++ .../cinterop/mingwX64/lws_config.h | 202 ++ .../cinterop/websocket_bindings.def | 70 + .../src/nativeMain/kotlin/EventDesrtiptor.kt | 112 + .../epam/drill/transport/WSClientFactory.kt | 358 ++ .../com/epam/drill/transport/common/ws/URL.kt | 171 + 688 files changed, 130636 insertions(+) create mode 100644 agent-runner-common/LICENSE create mode 100644 agent-runner-common/README.md create mode 100644 agent-runner-common/build.gradle.kts create mode 100644 agent-runner-common/src/main/kotlin/com/epam/drill/agent/runner/AgentConfiguration.kt create mode 100644 agent-runner-common/src/main/kotlin/com/epam/drill/agent/runner/AgentLoader.kt create mode 100644 agent-runner-common/src/main/kotlin/com/epam/drill/agent/runner/AppAgentConfiguration.kt create mode 100644 agent-runner-common/src/main/kotlin/com/epam/drill/agent/runner/Configuration.kt create mode 100644 agent-runner-common/src/main/kotlin/com/epam/drill/agent/runner/LogLevels.kt create mode 100644 agent-runner-common/src/main/kotlin/com/epam/drill/agent/runner/OS.kt create mode 100644 agent-runner-gradle/LICENSE create mode 100644 agent-runner-gradle/README.md create mode 100644 agent-runner-gradle/build.gradle.kts create mode 100644 agent-runner-gradle/src/main/kotlin/com/epam/drill/autotest/gradle/Agent.kt create mode 100644 agent-runner-gradle/src/main/kotlin/com/epam/drill/autotest/gradle/AppAgent.kt create mode 100644 agent-runner-gradle/src/main/kotlin/com/epam/drill/autotest/gradle/AutoTestAgent.kt create mode 100644 agent/CODE_OF_CONDUCT.md create mode 100644 agent/CONTRIBUTING.md create mode 100644 agent/LICENSE create mode 100644 agent/README.md create mode 100644 agent/build.gradle.kts create mode 100644 agent/src/commonMain/kotlin/com/epam/drill/DynamicLoader.kt create mode 100644 agent/src/commonMain/kotlin/com/epam/drill/Files.kt create mode 100644 agent/src/commonMain/kotlin/com/epam/drill/common/serialization/Serializer.kt create mode 100644 agent/src/commonMain/kotlin/com/epam/drill/common/serialization/Wrappers.kt create mode 100644 agent/src/commonMain/kotlin/com/epam/drill/plugin/DrillRequest.kt create mode 100644 agent/src/jvmMain/kotlin/com/epam/drill/ActualStubs.kt create mode 100644 agent/src/linuxX64Test/kotlin/com/epam/drill/zlib/ZstdTest.kt create mode 100644 agent/src/macosX64Test/kotlin/com/epam/drill/zlib/DeflateTest.kt create mode 100644 agent/src/macosX64Test/kotlin/com/epam/drill/zlib/SocketDispatcherTest.kt create mode 100644 agent/src/mingwX64Main/kotlin/com/epam/drill/DynamicLoader.kt create mode 100644 agent/src/mingwX64Main/kotlin/com/epam/drill/Files.kt create mode 100644 agent/src/mingwX64Main/kotlin/com/epam/drill/core/ws/FileUtils.kt create mode 100644 agent/src/mingwX64Test/kotlin/com/epam/drill/zstd/ZstdTest.kt create mode 100644 agent/src/nativeInterop/cinterop/linuxX64/libzstd.a create mode 100644 agent/src/nativeInterop/cinterop/linuxX64/zdict.h create mode 100644 agent/src/nativeInterop/cinterop/linuxX64/zstd.h create mode 100644 agent/src/nativeInterop/cinterop/linuxX64/zstd_errors.h create mode 100644 agent/src/nativeInterop/cinterop/macosX64/libzstd.a create mode 100644 agent/src/nativeInterop/cinterop/macosX64/zdict.h create mode 100644 agent/src/nativeInterop/cinterop/macosX64/zstd.h create mode 100644 agent/src/nativeInterop/cinterop/macosX64/zstd_errors.h create mode 100644 agent/src/nativeInterop/cinterop/mingwX64/libzstd.dll.a create mode 100644 agent/src/nativeInterop/cinterop/mingwX64/libzstd_static.lib create mode 100644 agent/src/nativeInterop/cinterop/mingwX64/zdict.h create mode 100644 agent/src/nativeInterop/cinterop/mingwX64/zstd.h create mode 100644 agent/src/nativeInterop/cinterop/mingwX64/zstd_errors.h create mode 100644 agent/src/nativeInterop/cinterop/zstd_bindings.def create mode 100644 agent/src/nativeMain/kotlin/com/epam/drill/Agent.kt create mode 100644 agent/src/nativeMain/kotlin/com/epam/drill/DI.kt create mode 100644 agent/src/nativeMain/kotlin/com/epam/drill/core/AgentApi.kt create mode 100644 agent/src/nativeMain/kotlin/com/epam/drill/core/concurrency/BackgroundThread.kt create mode 100644 agent/src/nativeMain/kotlin/com/epam/drill/core/concurrency/NonBlockingQueue.kt create mode 100644 agent/src/nativeMain/kotlin/com/epam/drill/core/exceptions/PluginLoadException.kt create mode 100644 agent/src/nativeMain/kotlin/com/epam/drill/core/exceptions/WsClosedException.kt create mode 100644 agent/src/nativeMain/kotlin/com/epam/drill/core/messanger/MessageQueue.kt create mode 100644 agent/src/nativeMain/kotlin/com/epam/drill/core/plugin/PluginUtils.kt create mode 100644 agent/src/nativeMain/kotlin/com/epam/drill/core/transport/SocketDispatcher.kt create mode 100644 agent/src/nativeMain/kotlin/com/epam/drill/core/ws/FileUtils.kt create mode 100644 agent/src/nativeMain/kotlin/com/epam/drill/core/ws/HttpHeaders.kt create mode 100644 agent/src/nativeMain/kotlin/com/epam/drill/core/ws/Sender.kt create mode 100644 agent/src/nativeMain/kotlin/com/epam/drill/core/ws/TopicsCore.kt create mode 100644 agent/src/nativeMain/kotlin/com/epam/drill/core/ws/WsRouter.kt create mode 100644 agent/src/nativeMain/kotlin/com/epam/drill/core/ws/WsSocket.kt create mode 100644 agent/src/nativeMain/kotlin/com/epam/drill/plugin/PluginStorage.kt create mode 100644 agent/src/nativeMain/kotlin/com/epam/drill/plugin/api/processing/NativePart.kt create mode 100644 agent/src/nativeMain/kotlin/com/epam/drill/ws/WsGlobal.kt create mode 100644 agent/src/nativeMain/kotlin/com/epam/drill/zstd/Zstd.kt create mode 100644 agent/src/posixMain/kotlin/com/epam/drill/DynamicLoader.kt create mode 100644 agent/src/posixMain/kotlin/com/epam/drill/Files.kt create mode 100644 agent/src/posixMain/kotlin/com/epam/drill/core/ws/FileUtils.kt create mode 100644 build.gradle.kts create mode 100644 buildSrc/build.gradle.kts create mode 100644 buildSrc/gradle.properties create mode 100644 buildSrc/settings.gradle.kts create mode 100644 common-0.3.0/LICENSE create mode 100644 common-0.3.0/README.md create mode 100644 common-0.3.0/build.gradle.kts create mode 100644 common-0.3.0/src/commonMain/kotlin/com/epam/drill/common/AgentConfig.kt create mode 100644 common-0.3.0/src/commonMain/kotlin/com/epam/drill/common/AgentEvent.kt create mode 100644 common-0.3.0/src/commonMain/kotlin/com/epam/drill/common/BuildDataClasses.kt create mode 100644 common-0.3.0/src/commonMain/kotlin/com/epam/drill/common/Message.kt create mode 100644 common-0.3.0/src/commonMain/kotlin/com/epam/drill/common/MessageType.kt create mode 100644 common-0.3.0/src/commonMain/kotlin/com/epam/drill/common/PluginAction.kt create mode 100644 common-0.3.0/src/commonMain/kotlin/com/epam/drill/common/PluginMetadata.kt create mode 100644 common-0.3.0/src/commonMain/kotlin/com/epam/drill/common/Serializer.kt create mode 100644 common-0.3.0/src/commonMain/kotlin/com/epam/drill/common/ws/ConnectionConfig.kt create mode 100644 common-0.3.0/src/commonMain/kotlin/com/epam/drill/common/ws/URL.kt create mode 100644 common-0.3.0/src/commonMain/kotlin/com/epam/drill/common/ws/WsEvent.kt create mode 100644 common-0.3.0/src/commonMain/kotlin/com/epam/drill/plugin/api/AdminData.kt create mode 100644 common-0.3.0/src/commonMain/kotlin/com/epam/drill/plugin/api/AgentData.kt create mode 100644 common-0.3.0/src/commonMain/kotlin/com/epam/drill/plugin/api/DrillPlugin.kt create mode 100644 common-0.3.0/src/commonMain/kotlin/com/epam/drill/plugin/api/message/DrillMessage.kt create mode 100644 common-0.3.0/src/commonMain/kotlin/com/epam/drill/plugin/api/message/MessageWrapper.kt create mode 100644 common-0.3.0/src/commonMain/kotlin/com/epam/drill/plugin/api/message/StatusMessage.kt create mode 100644 common-0.3.0/src/jvmMain/kotlin/com/epam/drill/CommonClassLoading.kt create mode 100644 common/CODE_OF_CONDUCT.md create mode 100644 common/CONTRIBUTING.md create mode 100644 common/LICENSE create mode 100644 common/README.md create mode 100644 common/build.gradle.kts create mode 100644 common/src/commonMain/kotlin/com/epam/drill/api/AgentRoutes.kt create mode 100644 common/src/commonMain/kotlin/com/epam/drill/api/Topic.kt create mode 100644 common/src/commonMain/kotlin/com/epam/drill/api/dto/LoggingConfig.kt create mode 100644 common/src/commonMain/kotlin/com/epam/drill/api/dto/UpdateInfo.kt create mode 100644 common/src/commonMain/kotlin/com/epam/drill/common/AgentConfig.kt create mode 100644 common/src/commonMain/kotlin/com/epam/drill/common/AgentType.kt create mode 100644 common/src/commonMain/kotlin/com/epam/drill/common/BuildDataClasses.kt create mode 100644 common/src/commonMain/kotlin/com/epam/drill/common/Message.kt create mode 100644 common/src/commonMain/kotlin/com/epam/drill/common/MessageType.kt create mode 100644 common/src/commonMain/kotlin/com/epam/drill/common/PluginAction.kt create mode 100644 common/src/commonMain/kotlin/com/epam/drill/common/PluginMetadata.kt create mode 100644 common/src/commonMain/kotlin/com/epam/drill/common/ws/ConnectionConfig.kt create mode 100644 common/src/commonMain/kotlin/com/epam/drill/common/ws/URL.kt create mode 100644 common/src/commonMain/kotlin/com/epam/drill/common/ws/WsEvent.kt create mode 100644 common/src/commonMain/kotlin/com/epam/drill/plugin/api/message/DrillMessage.kt create mode 100644 common/src/commonMain/kotlin/com/epam/drill/plugin/api/message/MessageWrapper.kt create mode 100644 common/src/jvmMain/kotlin/com/epam/drill/CommonClassLoading.kt create mode 100644 drill-hook/LICENSE create mode 100644 drill-hook/README.md create mode 100644 drill-hook/build.gradle.kts create mode 100644 drill-hook/src/mingwX64Main/kotlin/com/epam/drill/io/Butyfier.kt create mode 100644 drill-hook/src/mingwX64Main/kotlin/com/epam/drill/io/Drillo.kt create mode 100644 drill-hook/src/nativeInterop/cinterop/hook_bindings.def create mode 100644 drill-hook/src/nativeInterop/cinterop/linuxX64/funchook.h create mode 100644 drill-hook/src/nativeInterop/cinterop/linuxX64/hook.a create mode 100644 drill-hook/src/nativeInterop/cinterop/linuxX64/libdistorm.a create mode 100644 drill-hook/src/nativeInterop/cinterop/macosX64/funchook.h create mode 100644 drill-hook/src/nativeInterop/cinterop/macosX64/hook.a create mode 100644 drill-hook/src/nativeInterop/cinterop/macosX64/libdistorm.a create mode 100644 drill-hook/src/nativeInterop/cinterop/mingwX64/funchook.h create mode 100644 drill-hook/src/nativeInterop/cinterop/mingwX64/hook.lib create mode 100644 drill-hook/src/nativeMain/kotlin/com/epam/drill/io/Butyfier.kt create mode 100644 drill-hook/src/nativeMain/kotlin/com/epam/drill/io/DrillIo.kt create mode 100644 drill-hook/src/nativeMain/kotlin/com/epam/drill/io/TcpFinalData.kt create mode 100644 drill-hook/src/nativeMain/kotlin/com/epam/drill/io/tcp/Hooks.kt create mode 100644 drill-hook/src/posixMain/kotlin/com/epam/drill/io/Butyfier.kt create mode 100644 drill-hook/src/posixMain/kotlin/com/epam/drill/io/Drillo.kt create mode 100644 gradle-plugin/LICENSE create mode 100644 gradle-plugin/build.gradle.kts create mode 100644 gradle-plugin/src/main/kotlin/com/epam/drill/gradle/CrossCompilation.kt create mode 100644 gradle.properties create mode 100644 gradle/wrapper/gradle-wrapper.jar create mode 100644 gradle/wrapper/gradle-wrapper.properties create mode 100644 gradlew create mode 100644 gradlew.bat create mode 100644 http-clients-instrumentation/LICENSE create mode 100644 http-clients-instrumentation/README.md create mode 100644 http-clients-instrumentation/build.gradle.kts create mode 100644 http-clients-instrumentation/src/commonMain/kotlin/com/epam/drill/agent/instrument/IStrategy.kt create mode 100644 http-clients-instrumentation/src/commonMain/kotlin/com/epam/drill/agent/instrument/http/apache/ApacheClient.kt create mode 100644 http-clients-instrumentation/src/commonMain/kotlin/com/epam/drill/agent/instrument/http/java/JavaHttpUrlConnection.kt create mode 100644 http-clients-instrumentation/src/commonMain/kotlin/com/epam/drill/agent/instrument/http/ok/OkHttpClient.kt create mode 100644 http-clients-instrumentation/src/jvmMain/kotlin/com/epam/drill/agent/instrument/ClientsCallback.kt create mode 100644 http-clients-instrumentation/src/jvmMain/kotlin/com/epam/drill/agent/instrument/TransformStrategy.kt create mode 100644 http-clients-instrumentation/src/jvmMain/kotlin/com/epam/drill/agent/instrument/http/apache/ApacheClient.kt create mode 100644 http-clients-instrumentation/src/jvmMain/kotlin/com/epam/drill/agent/instrument/http/java/JavaHttpUrlConnection.kt create mode 100644 http-clients-instrumentation/src/jvmMain/kotlin/com/epam/drill/agent/instrument/http/ok/OkHttpClient.kt create mode 100644 http-clients-instrumentation/src/jvmMain/kotlin/com/epam/drill/agent/instrument/util/Instrumentation.kt create mode 100644 http-clients-instrumentation/src/jvmMain/kotlin/com/epam/drill/agent/instrument/util/Log.kt create mode 100644 http-clients-instrumentation/src/nativeMain/kotlin/com/epam/drill/agent/instrument/http/apache/ApacheClient.kt create mode 100644 http-clients-instrumentation/src/nativeMain/kotlin/com/epam/drill/agent/instrument/http/java/JavaHttpUrlConnection.kt create mode 100644 http-clients-instrumentation/src/nativeMain/kotlin/com/epam/drill/agent/instrument/http/ok/OkHttpClient.kt create mode 100644 interceptor-http-test/LICENSE create mode 100644 interceptor-http-test/README.md create mode 100644 interceptor-http-test/build.gradle.kts create mode 100644 interceptor-http-test/src/commonMain/kotlin/CommonDataForTest.kt create mode 100644 interceptor-http-test/src/jvmJettyServerTest/kotlin/test/JettyTest.kt create mode 100644 interceptor-http-test/src/jvmMain/kotlin/TestBase.kt create mode 100644 interceptor-http-test/src/jvmMain/kotlin/bindings/Bindings.kt create mode 100644 interceptor-http-test/src/jvmSunServerTest/kotlin/JvmTest.kt create mode 100644 interceptor-http-test/src/jvmUndertowServerTest/kotlin/UndertowTest.kt create mode 100644 interceptor-http-test/src/nativeAgentMain/kotlin/Main.kt create mode 100644 interceptor-http/LICENSE create mode 100644 interceptor-http/README.md create mode 100644 interceptor-http/build.gradle.kts create mode 100644 interceptor-http/src/commonMain/kotlin/com/epam/drill/interceptor/api.kt create mode 100644 interceptor-http/src/linuxX64Main/kotlin/com/epam/drill/interceptor/Http.kt create mode 100644 interceptor-http/src/macosX64Main/kotlin/com/epam/drill/interceptor/Http.kt create mode 100644 interceptor-http/src/mingwX64Main/kotlin/com/epam/drill/interceptor/Http.kt create mode 100644 interceptor-http/src/nativeMain/kotlin/com/epam/drill/interceptor/Arrays.kt create mode 100644 interceptor-http/src/nativeMain/kotlin/com/epam/drill/interceptor/Http.kt create mode 100644 interceptor-http2-test-grpc/LICENSE create mode 100644 interceptor-http2-test-grpc/README.md create mode 100644 interceptor-http2-test-grpc/build.gradle.kts create mode 100644 interceptor-http2-test-grpc/src/main/proto/helloworld/helloworld.proto create mode 100644 interceptor-http2-test-grpc/src/test/kotlin/GrpcTest.kt create mode 100644 interceptor-http2-test-grpc/src/test/kotlin/Xs.kt create mode 100644 interceptor-http2-test/LICENSE create mode 100644 interceptor-http2-test/README.md create mode 100644 interceptor-http2-test/build.gradle.kts create mode 100644 interceptor-http2-test/src/commonMain/kotlin/CommonDataForTest.kt create mode 100644 interceptor-http2-test/src/jvmJettyServerTest/kotlin/io/ktor/samples/http2push/Http2PushApplication.kt create mode 100644 interceptor-http2-test/src/jvmJettyServerTest/resources/application.conf create mode 100644 interceptor-http2-test/src/jvmJettyServerTest/resources/index.html create mode 100644 interceptor-http2-test/src/jvmJettyServerTest/resources/keystore create mode 100644 interceptor-http2-test/src/jvmJettyServerTest/resources/temporary.jks create mode 100644 interceptor-http2-test/src/jvmMain/kotlin/bindings/Bindings.kt create mode 100644 interceptor-http2-test/src/nativeAgentMain/kotlin/Main.kt create mode 100644 interceptor-http2/LICENSE create mode 100644 interceptor-http2/README.md create mode 100644 interceptor-http2/build.gradle.kts create mode 100644 interceptor-http2/src/commonMain/kotlin/com/epam/drill/interceptor/api.kt create mode 100644 interceptor-http2/src/commonNative/kotlin/com/epam/drill/hpack/AutoCloseable.kt create mode 100644 interceptor-http2/src/commonNative/kotlin/com/epam/drill/hpack/ByteArrayInputStream.kt create mode 100644 interceptor-http2/src/commonNative/kotlin/com/epam/drill/hpack/ByteArrayOutputStream.kt create mode 100644 interceptor-http2/src/commonNative/kotlin/com/epam/drill/hpack/Closeable.kt create mode 100644 interceptor-http2/src/commonNative/kotlin/com/epam/drill/hpack/Decoder.kt create mode 100644 interceptor-http2/src/commonNative/kotlin/com/epam/drill/hpack/DynamicTable.kt create mode 100644 interceptor-http2/src/commonNative/kotlin/com/epam/drill/hpack/EOFException.kt create mode 100644 interceptor-http2/src/commonNative/kotlin/com/epam/drill/hpack/Encoder.kt create mode 100644 interceptor-http2/src/commonNative/kotlin/com/epam/drill/hpack/Flushable.kt create mode 100644 interceptor-http2/src/commonNative/kotlin/com/epam/drill/hpack/HeaderField.kt create mode 100644 interceptor-http2/src/commonNative/kotlin/com/epam/drill/hpack/HeaderListener.kt create mode 100644 interceptor-http2/src/commonNative/kotlin/com/epam/drill/hpack/HpackUtil.kt create mode 100644 interceptor-http2/src/commonNative/kotlin/com/epam/drill/hpack/Huffman.kt create mode 100644 interceptor-http2/src/commonNative/kotlin/com/epam/drill/hpack/HuffmanDecoder.kt create mode 100644 interceptor-http2/src/commonNative/kotlin/com/epam/drill/hpack/HuffmanEncoder.kt create mode 100644 interceptor-http2/src/commonNative/kotlin/com/epam/drill/hpack/IOException.kt create mode 100644 interceptor-http2/src/commonNative/kotlin/com/epam/drill/hpack/InputStream.kt create mode 100644 interceptor-http2/src/commonNative/kotlin/com/epam/drill/hpack/OutputStream.kt create mode 100644 interceptor-http2/src/commonNative/kotlin/com/epam/drill/hpack/StaticTable.kt create mode 100644 interceptor-http2/src/commonNative/kotlin/com/epam/drill/hpack/System.kt create mode 100644 interceptor-http2/src/commonNative/kotlin/com/epam/drill/interceptor/Arrays.kt create mode 100644 interceptor-http2/src/commonNative/kotlin/com/epam/drill/interceptor/Http2.kt create mode 100644 interceptor-http2/src/commonNative/kotlin/com/epam/drill/interceptor/Http2Parser.kt create mode 100644 interceptor-http2/src/commonNative/kotlin/com/epam/drill/interceptor/ReadStream.kt create mode 100644 interceptor-http2/src/commonNative/kotlin/com/epam/drill/interceptor/Stream.kt create mode 100644 interceptor-http2/src/commonNative/kotlin/com/epam/drill/interceptor/WriteStream.kt create mode 100644 interceptor-http2/src/commonNative/kotlin/com/epam/drill/interceptor/haffman/Util.kt create mode 100644 interceptor-http2/src/linuxX64Main/kotlin/com/epam/drill/interceptor/Http2.kt create mode 100644 interceptor-http2/src/macosX64Main/kotlin/com/epam/drill/interceptor/Http2.kt create mode 100644 interceptor-http2/src/macosX64Test/kotlin/Arrays.kt create mode 100644 interceptor-http2/src/mingwX64Main/kotlin/com/epam/drill/interceptor/Http2.kt create mode 100644 jvmapi/LICENSE create mode 100644 jvmapi/README.md create mode 100644 jvmapi/build.gradle.kts create mode 100644 jvmapi/src/nativeInterop/cinterop/jvmti.def create mode 100644 jvmapi/src/nativeInterop/cinterop/linuxX64/jni.h create mode 100644 jvmapi/src/nativeInterop/cinterop/linuxX64/jni_md.h create mode 100644 jvmapi/src/nativeInterop/cinterop/linuxX64/jvmti.h create mode 100644 jvmapi/src/nativeInterop/cinterop/macosArm64/jni.h create mode 100644 jvmapi/src/nativeInterop/cinterop/macosArm64/jni_md.h create mode 100644 jvmapi/src/nativeInterop/cinterop/macosArm64/jvmti.h create mode 100644 jvmapi/src/nativeInterop/cinterop/macosX64/jni.h create mode 100644 jvmapi/src/nativeInterop/cinterop/macosX64/jni_md.h create mode 100644 jvmapi/src/nativeInterop/cinterop/macosX64/jvmti.h create mode 100644 jvmapi/src/nativeInterop/cinterop/mingwX64/jni.h create mode 100644 jvmapi/src/nativeInterop/cinterop/mingwX64/jni_md.h create mode 100644 jvmapi/src/nativeInterop/cinterop/mingwX64/jvmti.h create mode 100644 jvmapi/src/nativeMain/kotlin/com/epam/drill/jvmapi/Helper.kt create mode 100644 jvmapi/src/nativeMain/kotlin/com/epam/drill/jvmapi/JniAttacher.kt create mode 100644 jvmapi/src/nativeMain/kotlin/com/epam/drill/jvmapi/JvmApiUtils.kt create mode 100644 knasm/LICENSE create mode 100644 knasm/README.md create mode 100644 knasm/build.gradle.kts create mode 100644 knasm/src/commonMain/kotlin/System.kt create mode 100644 knasm/src/commonMain/kotlin/org/objectweb/asm/AnnotationVisitor.kt create mode 100644 knasm/src/commonMain/kotlin/org/objectweb/asm/AnnotationWriter.kt create mode 100644 knasm/src/commonMain/kotlin/org/objectweb/asm/Attribute.kt create mode 100644 knasm/src/commonMain/kotlin/org/objectweb/asm/ByteVector.kt create mode 100644 knasm/src/commonMain/kotlin/org/objectweb/asm/ClassReader.kt create mode 100644 knasm/src/commonMain/kotlin/org/objectweb/asm/ClassTooLargeException.kt create mode 100644 knasm/src/commonMain/kotlin/org/objectweb/asm/ClassVisitor.kt create mode 100644 knasm/src/commonMain/kotlin/org/objectweb/asm/ClassWriter.kt create mode 100644 knasm/src/commonMain/kotlin/org/objectweb/asm/ConstantDynamic.kt create mode 100644 knasm/src/commonMain/kotlin/org/objectweb/asm/Constants.kt create mode 100644 knasm/src/commonMain/kotlin/org/objectweb/asm/Context.kt create mode 100644 knasm/src/commonMain/kotlin/org/objectweb/asm/CurrentFrame.kt create mode 100644 knasm/src/commonMain/kotlin/org/objectweb/asm/Edge.kt create mode 100644 knasm/src/commonMain/kotlin/org/objectweb/asm/FieldVisitor.kt create mode 100644 knasm/src/commonMain/kotlin/org/objectweb/asm/FieldWriter.kt create mode 100644 knasm/src/commonMain/kotlin/org/objectweb/asm/Frame.kt create mode 100644 knasm/src/commonMain/kotlin/org/objectweb/asm/Handle.kt create mode 100644 knasm/src/commonMain/kotlin/org/objectweb/asm/Handler.kt create mode 100644 knasm/src/commonMain/kotlin/org/objectweb/asm/Label.kt create mode 100644 knasm/src/commonMain/kotlin/org/objectweb/asm/MethodTooLargeException.kt create mode 100644 knasm/src/commonMain/kotlin/org/objectweb/asm/MethodVisitor.kt create mode 100644 knasm/src/commonMain/kotlin/org/objectweb/asm/MethodWriter.kt create mode 100644 knasm/src/commonMain/kotlin/org/objectweb/asm/ModuleVisitor.kt create mode 100644 knasm/src/commonMain/kotlin/org/objectweb/asm/ModuleWriter.kt create mode 100644 knasm/src/commonMain/kotlin/org/objectweb/asm/Opcodes.kt create mode 100644 knasm/src/commonMain/kotlin/org/objectweb/asm/RecordComponentVisitor.kt create mode 100644 knasm/src/commonMain/kotlin/org/objectweb/asm/RecordComponentWriter.kt create mode 100644 knasm/src/commonMain/kotlin/org/objectweb/asm/Symbol.kt create mode 100644 knasm/src/commonMain/kotlin/org/objectweb/asm/SymbolTable.kt create mode 100644 knasm/src/commonMain/kotlin/org/objectweb/asm/Type.kt create mode 100644 knasm/src/commonMain/kotlin/org/objectweb/asm/TypePath.kt create mode 100644 knasm/src/commonMain/kotlin/org/objectweb/asm/TypeReference.kt create mode 100644 knasm/src/commonMain/kotlin/org/objectweb/asm/package.html create mode 100644 knasm/src/commonMain/kotlin/org/objectweb/asm/signature/SignatureReader.kt create mode 100644 knasm/src/commonMain/kotlin/org/objectweb/asm/signature/SignatureVisitor.kt create mode 100644 knasm/src/commonMain/kotlin/org/objectweb/asm/signature/SignatureWriter.kt create mode 100644 knasm/src/commonMain/kotlin/org/objectweb/asm/signature/package.html create mode 100644 knasm/src/jvmTest/kotlin/Java17Test.kt create mode 100644 knasm/src/jvmTest/kotlin/Java8Test.kt create mode 100644 knasm/src/jvmTest/resources/java17/Controller.class create mode 100644 knasm/src/jvmTest/resources/java8/AtomicInteger.class create mode 100644 kni-plugin/LICENSE create mode 100644 kni-plugin/README.md create mode 100644 kni-plugin/build.gradle.kts create mode 100644 kni-plugin/src/main/kotlin/com/epam/drill/kni/gradle/Generator.kt create mode 100644 kni-plugin/src/main/kotlin/com/epam/drill/kni/gradle/JvmtiGenerator.kt create mode 100644 kni-plugin/src/main/kotlin/com/epam/drill/kni/gradle/Kni.kt create mode 100644 kni-plugin/src/main/kotlin/com/epam/drill/kni/gradle/Mappings.kt create mode 100644 kni-runtime/LICENSE create mode 100644 kni-runtime/README.md create mode 100644 kni-runtime/build.gradle.kts create mode 100644 kni-runtime/src/commonMain/kotlin/com/epam/drill/kni/Annotation.kt create mode 100644 kni-runtime/src/commonMain/kotlin/com/epam/drill/kni/JvmtiAgent.kt create mode 100644 logger-api/LICENSE create mode 100644 logger-api/README.md create mode 100644 logger-api/build.gradle.kts create mode 100644 logger-api/src/commonMain/kotlin/com/epam/drill/logger/api/Funcs.kt create mode 100644 logger-api/src/commonMain/kotlin/com/epam/drill/logger/api/Level.kt create mode 100644 logger-api/src/commonMain/kotlin/com/epam/drill/logger/api/Logger.kt create mode 100644 logger-api/src/commonMain/kotlin/com/epam/drill/logger/api/internal/NamedLogger.kt create mode 100644 logger-api/src/commonTest/kotlin/com/epam/drill/logger/api/LoggerTest.kt create mode 100644 logger-test-agent/LICENSE create mode 100644 logger-test-agent/build.gradle.kts create mode 100644 logger-test-agent/src/nativeMain/kotlin/com/epam/drill/test/agentOnLoad.kt create mode 100644 logger/LICENSE create mode 100644 logger/build.gradle.kts create mode 100644 logger/src/commonMain/kotlin/com/epam/drill/logger/Logging.kt create mode 100644 logger/src/commonMain/kotlin/com/epam/drill/logger/NativeApi.kt create mode 100644 logger/src/commonMain/kotlin/com/epam/drill/logger/internal/Appender.kt create mode 100644 logger/src/commonTest/kotlin/com/epam/drill/logger/DrillLoggerTest.kt create mode 100644 logger/src/jvmMain/kotlin/com/epam/drill/logger/ActualLogging.kt create mode 100644 logger/src/jvmMain/kotlin/com/epam/drill/logger/NativeApi.kt create mode 100644 logger/src/jvmMain/kotlin/com/epam/drill/logger/internal/ActualAppender.kt create mode 100644 logger/src/macosArm64Main/kotlin/com/epam/drill/logger/ActualLogging.kt create mode 100644 logger/src/macosArm64Main/kotlin/com/epam/drill/logger/NativeApi.kt create mode 100644 logger/src/macosArm64Main/kotlin/com/epam/drill/logger/internal/platformName.kt create mode 100644 logger/src/nativeMain/kotlin/com/epam/drill/logger/ActualLogging.kt create mode 100644 logger/src/nativeMain/kotlin/com/epam/drill/logger/NativeApi.kt create mode 100644 logger/src/nativeMain/kotlin/com/epam/drill/logger/internal/ActualAppender.kt create mode 100644 plugin-api-admin/CODE_OF_CONDUCT.md create mode 100644 plugin-api-admin/CONTRIBUTING.md create mode 100644 plugin-api-admin/LICENSE create mode 100644 plugin-api-admin/README.md create mode 100644 plugin-api-admin/build.gradle.kts create mode 100644 plugin-api-admin/src/commonMain/kotlin/com/epam/drill/base.kt create mode 100644 plugin-api-admin/src/commonMain/kotlin/com/epam/drill/common/AgentInfo.kt create mode 100644 plugin-api-admin/src/commonMain/kotlin/com/epam/drill/plugin/api/AdminData.kt create mode 100644 plugin-api-admin/src/commonMain/kotlin/com/epam/drill/plugin/api/end/ActionResult.kt create mode 100644 plugin-api-admin/src/commonMain/kotlin/com/epam/drill/plugin/api/end/AdminPluginPart.kt create mode 100644 plugin-api-admin/src/commonMain/kotlin/com/epam/drill/plugin/api/end/AdminSender.kt create mode 100644 plugin-api-admin/src/commonMain/kotlin/com/epam/drill/plugin/api/end/Sender.kt create mode 100644 plugin-api-agent-0.3.0/LICENSE create mode 100644 plugin-api-agent-0.3.0/README.md create mode 100644 plugin-api-agent-0.3.0/build.gradle.kts create mode 100644 plugin-api-agent-0.3.0/src/commonMain/kotlin/com/epam/drill/plugin/DrillRequest.kt create mode 100644 plugin-api-agent-0.3.0/src/commonMain/kotlin/com/epam/drill/plugin/api/processing/AgentPart.kt create mode 100644 plugin-api-agent-0.3.0/src/commonMain/kotlin/com/epam/drill/plugin/api/processing/InstrumentationPlugin.kt create mode 100644 plugin-api-agent-0.3.0/src/jvmMain/kotlin/com/epam/drill/ClassPath.kt create mode 100644 plugin-api-agent-0.3.0/src/jvmMain/kotlin/com/epam/drill/plugin/api/processing/AgentPart.kt create mode 100644 plugin-api-agent-0.3.0/src/jvmMain/kotlin/com/epam/drill/plugin/api/processing/NativePart.kt create mode 100644 plugin-api-agent-0.3.0/src/jvmMain/kotlin/com/epam/drill/plugin/api/processing/PluginImplementations.kt create mode 100644 plugin-api-agent-0.3.0/src/jvmMain/kotlin/com/epam/drill/plugin/api/processing/Sender.kt create mode 100644 plugin-api-agent-0.3.0/src/jvmMain/kotlin/com/epam/drill/session/DrillRequest.kt create mode 100644 plugin-api-agent-0.3.0/src/jvmMain/kotlin/com/epam/drill/test/IntegrationTestApi.kt create mode 100644 plugin-api-agent-0.3.0/src/linuxX64Main/kotlin/com/epam/drill/plugin/api/processing/DrillNativeApi.kt create mode 100644 plugin-api-agent-0.3.0/src/linuxX64Main/kotlin/com/epam/drill/plugin/api/processing/NativePluginApi.kt create mode 100644 plugin-api-agent-0.3.0/src/macosX64Main/kotlin/com/epam/drill/plugin/api/processing/DrillNativeApi.kt create mode 100644 plugin-api-agent-0.3.0/src/macosX64Main/kotlin/com/epam/drill/plugin/api/processing/NativePluginApi.kt create mode 100644 plugin-api-agent-0.3.0/src/mingwX64Main/kotlin/com/epam/drill/plugin/api/processing/DrillNativeApi.kt create mode 100644 plugin-api-agent-0.3.0/src/mingwX64Main/kotlin/com/epam/drill/plugin/api/processing/NativePluginApi.kt create mode 100644 plugin-api-agent-0.3.0/src/nativeMain/kotlin/com/epam/drill/plugin/api/processing/AgentPart.kt create mode 100644 plugin-api-agent-0.3.0/src/nativeMain/kotlin/com/epam/drill/plugin/api/processing/NativePart.kt create mode 100644 plugin-api-agent-0.3.0/src/nativeMain/kotlin/com/epam/drill/plugin/api/processing/PluginImplementations.kt create mode 100644 plugin-api-agent/CODE_OF_CONDUCT.md create mode 100644 plugin-api-agent/CONTRIBUTING.md create mode 100644 plugin-api-agent/LICENSE create mode 100644 plugin-api-agent/README.md create mode 100644 plugin-api-agent/build.gradle.kts create mode 100644 plugin-api-agent/src/commonMain/kotlin/com/epam/drill/plugin/api/processing/AgentPart.kt create mode 100644 plugin-api-agent/src/commonMain/kotlin/com/epam/drill/plugin/api/processing/AgentPlugin.kt create mode 100644 plugin-api-agent/src/jvmMain/kotlin/com/epam/drill/plugin/api/Native.kt create mode 100644 settings.gradle.kts create mode 100644 transport-0.4.0/LICENSE create mode 100644 transport-0.4.0/README.md create mode 100644 transport-0.4.0/build.gradle.kts create mode 100644 transport-0.4.0/src/commonMain/kotlin/com/epam/drill/transport/exception/AlreadyClosedException.kt create mode 100644 transport-0.4.0/src/commonMain/kotlin/com/epam/drill/transport/exception/ConnectException.kt create mode 100644 transport-0.4.0/src/commonMain/kotlin/com/epam/drill/transport/exception/ReadRetryException.kt create mode 100644 transport-0.4.0/src/commonMain/kotlin/com/epam/drill/transport/exception/SendRetryException.kt create mode 100644 transport-0.4.0/src/commonMain/kotlin/com/epam/drill/transport/exception/WsException.kt create mode 100644 transport-0.4.0/src/commonMain/kotlin/com/epam/drill/transport/net/TcpError.kt create mode 100644 transport-0.4.0/src/commonMain/kotlin/com/epam/drill/transport/net/resolveAddress.kt create mode 100644 transport-0.4.0/src/linuxX64Main/kotlin/com/epam/drill/transport/net/AsyncSocketFactory.kt create mode 100644 transport-0.4.0/src/linuxX64Main/kotlin/com/epam/drill/transport/net/FactroySock.kt create mode 100644 transport-0.4.0/src/linuxX64Main/kotlin/com/epam/drill/transport/net/NativeAsyncServer.kt create mode 100644 transport-0.4.0/src/linuxX64Main/kotlin/com/epam/drill/transport/net/NativeSocket.kt create mode 100644 transport-0.4.0/src/linuxX64Main/kotlin/com/epam/drill/transport/net/NativeSocketClient.kt create mode 100644 transport-0.4.0/src/linuxX64Main/kotlin/com/epam/drill/transport/net/NativeSocketServer.kt create mode 100644 transport-0.4.0/src/linuxX64Main/kotlin/com/epam/drill/transport/net/TcpError.kt create mode 100644 transport-0.4.0/src/linuxX64Main/kotlin/com/epam/drill/transport/net/resolveAddress.kt create mode 100644 transport-0.4.0/src/linuxX64Main/kotlin/com/epam/drill/transport/ws/CommonWebSocket.kt create mode 100644 transport-0.4.0/src/linuxX64Main/kotlin/com/epam/drill/transport/ws/RawSocketWebSocketClient.kt create mode 100644 transport-0.4.0/src/macosX64Main/kotlin/com/epam/drill/transport/net/AsyncSocketFactory.kt create mode 100644 transport-0.4.0/src/macosX64Main/kotlin/com/epam/drill/transport/net/FactroySock.kt create mode 100644 transport-0.4.0/src/macosX64Main/kotlin/com/epam/drill/transport/net/NativeAsyncServer.kt create mode 100644 transport-0.4.0/src/macosX64Main/kotlin/com/epam/drill/transport/net/NativeSocket.kt create mode 100644 transport-0.4.0/src/macosX64Main/kotlin/com/epam/drill/transport/net/NativeSocketClient.kt create mode 100644 transport-0.4.0/src/macosX64Main/kotlin/com/epam/drill/transport/net/NativeSocketServer.kt create mode 100644 transport-0.4.0/src/macosX64Main/kotlin/com/epam/drill/transport/net/TcpError.kt create mode 100644 transport-0.4.0/src/macosX64Main/kotlin/com/epam/drill/transport/net/resolveAddress.kt create mode 100644 transport-0.4.0/src/macosX64Main/kotlin/com/epam/drill/transport/ws/CommonWebSocket.kt create mode 100644 transport-0.4.0/src/macosX64Main/kotlin/com/epam/drill/transport/ws/RawSocketWebSocketClient.kt create mode 100644 transport-0.4.0/src/macosX64Test/kotlin/Echo.kt create mode 100644 transport-0.4.0/src/macosX64Test/kotlin/TestBase.kt create mode 100644 transport-0.4.0/src/macosX64Test/kotlin/com/epam/drill/core/concurrency/BackgroundThread.kt create mode 100644 transport-0.4.0/src/macosX64Test/kotlin/ws/WebsocketQueueTest.kt create mode 100644 transport-0.4.0/src/mingwX64Main/kotlin/com/epam/drill/transport/net/AsyncSocketFactory.kt create mode 100644 transport-0.4.0/src/mingwX64Main/kotlin/com/epam/drill/transport/net/FactroySock.kt create mode 100644 transport-0.4.0/src/mingwX64Main/kotlin/com/epam/drill/transport/net/NativeAsyncServer.kt create mode 100644 transport-0.4.0/src/mingwX64Main/kotlin/com/epam/drill/transport/net/NativeSocket.kt create mode 100644 transport-0.4.0/src/mingwX64Main/kotlin/com/epam/drill/transport/net/NativeSocketClient.kt create mode 100644 transport-0.4.0/src/mingwX64Main/kotlin/com/epam/drill/transport/net/NativeSocketServer.kt create mode 100644 transport-0.4.0/src/mingwX64Main/kotlin/com/epam/drill/transport/net/TcpError.kt create mode 100644 transport-0.4.0/src/mingwX64Main/kotlin/com/epam/drill/transport/net/resolveAddress.kt create mode 100644 transport-0.4.0/src/mingwX64Main/kotlin/com/epam/drill/transport/ws/CommonWebSocket.kt create mode 100644 transport-0.4.0/src/mingwX64Main/kotlin/com/epam/drill/transport/ws/RawSocketWebSocketClient.kt create mode 100644 transport-0.4.0/src/nativeInterop/cinterop/sockets.def create mode 100644 transport-0.4.0/src/nativeInterop/cinterop/testSockets.def create mode 100644 transport-0.4.0/src/nativeMain/kotlin/com/epam/drill/transport/BufferNative.kt create mode 100644 transport-0.4.0/src/nativeMain/kotlin/com/epam/drill/transport/ByteArrayBuilder.kt create mode 100644 transport-0.4.0/src/nativeMain/kotlin/com/epam/drill/transport/Pool.kt create mode 100644 transport-0.4.0/src/nativeMain/kotlin/com/epam/drill/transport/common/ws/URL.kt create mode 100644 transport-0.4.0/src/nativeMain/kotlin/com/epam/drill/transport/encoding/Base64.kt create mode 100644 transport-0.4.0/src/nativeMain/kotlin/com/epam/drill/transport/lang/Charset.kt create mode 100644 transport-0.4.0/src/nativeMain/kotlin/com/epam/drill/transport/lang/Exceptions.kt create mode 100644 transport-0.4.0/src/nativeMain/kotlin/com/epam/drill/transport/lang/TempBytes.kt create mode 100644 transport-0.4.0/src/nativeMain/kotlin/com/epam/drill/transport/stream/AsyncStream.kt create mode 100644 transport-0.4.0/src/nativeMain/kotlin/com/epam/drill/transport/stream/SyncStream.kt create mode 100644 transport-0.4.0/src/nativeMain/kotlin/com/epam/drill/transport/ws/WebSocketClient.kt create mode 100644 transport-0.4.0/src/nativeMain/kotlin/com/epam/drill/transport/ws/WsFrame.kt create mode 100644 transport-0.4.0/src/nativeMain/kotlin/com/epam/drill/transport/ws/WsOpcode.kt create mode 100644 transport-0.4.0/src/nativeMain/kotlin/com/epam/drill/transport/ws/endian-utils.kt create mode 100644 transport/LICENSE create mode 100644 transport/README.md create mode 100644 transport/build.gradle.kts create mode 100644 transport/src/linuxX64Test/kotlin/MainTest.kt create mode 100644 transport/src/macosX64Test/kotlin/MainTest.kt create mode 100644 transport/src/mingwX64Test/kotlin/MainTest.kt create mode 100644 transport/src/nativeInterop/cinterop/linuxX64/libwebsockets-linuxX64.a create mode 100644 transport/src/nativeInterop/cinterop/linuxX64/libwebsockets.h create mode 100644 transport/src/nativeInterop/cinterop/linuxX64/libwebsockets/abstract/abstract.h create mode 100644 transport/src/nativeInterop/cinterop/linuxX64/libwebsockets/abstract/protocols.h create mode 100644 transport/src/nativeInterop/cinterop/linuxX64/libwebsockets/abstract/protocols/smtp.h create mode 100644 transport/src/nativeInterop/cinterop/linuxX64/libwebsockets/abstract/transports.h create mode 100644 transport/src/nativeInterop/cinterop/linuxX64/libwebsockets/abstract/transports/raw-skt.h create mode 100644 transport/src/nativeInterop/cinterop/linuxX64/libwebsockets/abstract/transports/unit-test.h create mode 100644 transport/src/nativeInterop/cinterop/linuxX64/libwebsockets/lws-adopt.h create mode 100644 transport/src/nativeInterop/cinterop/linuxX64/libwebsockets/lws-async-dns.h create mode 100644 transport/src/nativeInterop/cinterop/linuxX64/libwebsockets/lws-bb-i2c.h create mode 100644 transport/src/nativeInterop/cinterop/linuxX64/libwebsockets/lws-bb-spi.h create mode 100644 transport/src/nativeInterop/cinterop/linuxX64/libwebsockets/lws-button.h create mode 100644 transport/src/nativeInterop/cinterop/linuxX64/libwebsockets/lws-callbacks.h create mode 100644 transport/src/nativeInterop/cinterop/linuxX64/libwebsockets/lws-cgi.h create mode 100644 transport/src/nativeInterop/cinterop/linuxX64/libwebsockets/lws-client.h create mode 100644 transport/src/nativeInterop/cinterop/linuxX64/libwebsockets/lws-context-vhost.h create mode 100644 transport/src/nativeInterop/cinterop/linuxX64/libwebsockets/lws-dbus.h create mode 100644 transport/src/nativeInterop/cinterop/linuxX64/libwebsockets/lws-detailed-latency.h create mode 100644 transport/src/nativeInterop/cinterop/linuxX64/libwebsockets/lws-diskcache.h create mode 100644 transport/src/nativeInterop/cinterop/linuxX64/libwebsockets/lws-display.h create mode 100644 transport/src/nativeInterop/cinterop/linuxX64/libwebsockets/lws-dll2.h create mode 100644 transport/src/nativeInterop/cinterop/linuxX64/libwebsockets/lws-dsh.h create mode 100644 transport/src/nativeInterop/cinterop/linuxX64/libwebsockets/lws-eventlib-exports.h create mode 100644 transport/src/nativeInterop/cinterop/linuxX64/libwebsockets/lws-freertos.h create mode 100644 transport/src/nativeInterop/cinterop/linuxX64/libwebsockets/lws-fts.h create mode 100644 transport/src/nativeInterop/cinterop/linuxX64/libwebsockets/lws-genaes.h create mode 100644 transport/src/nativeInterop/cinterop/linuxX64/libwebsockets/lws-gencrypto.h create mode 100644 transport/src/nativeInterop/cinterop/linuxX64/libwebsockets/lws-genec.h create mode 100644 transport/src/nativeInterop/cinterop/linuxX64/libwebsockets/lws-genhash.h create mode 100644 transport/src/nativeInterop/cinterop/linuxX64/libwebsockets/lws-genrsa.h create mode 100644 transport/src/nativeInterop/cinterop/linuxX64/libwebsockets/lws-gpio.h create mode 100644 transport/src/nativeInterop/cinterop/linuxX64/libwebsockets/lws-http.h create mode 100644 transport/src/nativeInterop/cinterop/linuxX64/libwebsockets/lws-i2c.h create mode 100644 transport/src/nativeInterop/cinterop/linuxX64/libwebsockets/lws-ili9341-spi.h create mode 100644 transport/src/nativeInterop/cinterop/linuxX64/libwebsockets/lws-jose.h create mode 100644 transport/src/nativeInterop/cinterop/linuxX64/libwebsockets/lws-jwe.h create mode 100644 transport/src/nativeInterop/cinterop/linuxX64/libwebsockets/lws-jwk.h create mode 100644 transport/src/nativeInterop/cinterop/linuxX64/libwebsockets/lws-jws.h create mode 100644 transport/src/nativeInterop/cinterop/linuxX64/libwebsockets/lws-led.h create mode 100644 transport/src/nativeInterop/cinterop/linuxX64/libwebsockets/lws-lejp.h create mode 100644 transport/src/nativeInterop/cinterop/linuxX64/libwebsockets/lws-logs.h create mode 100644 transport/src/nativeInterop/cinterop/linuxX64/libwebsockets/lws-lwsac.h create mode 100644 transport/src/nativeInterop/cinterop/linuxX64/libwebsockets/lws-misc.h create mode 100644 transport/src/nativeInterop/cinterop/linuxX64/libwebsockets/lws-mqtt.h create mode 100644 transport/src/nativeInterop/cinterop/linuxX64/libwebsockets/lws-netdev.h create mode 100644 transport/src/nativeInterop/cinterop/linuxX64/libwebsockets/lws-network-helper.h create mode 100644 transport/src/nativeInterop/cinterop/linuxX64/libwebsockets/lws-optee.h create mode 100644 transport/src/nativeInterop/cinterop/linuxX64/libwebsockets/lws-protocols-plugins.h create mode 100644 transport/src/nativeInterop/cinterop/linuxX64/libwebsockets/lws-purify.h create mode 100644 transport/src/nativeInterop/cinterop/linuxX64/libwebsockets/lws-pwm.h create mode 100644 transport/src/nativeInterop/cinterop/linuxX64/libwebsockets/lws-retry.h create mode 100644 transport/src/nativeInterop/cinterop/linuxX64/libwebsockets/lws-ring.h create mode 100644 transport/src/nativeInterop/cinterop/linuxX64/libwebsockets/lws-secure-streams-client.h create mode 100644 transport/src/nativeInterop/cinterop/linuxX64/libwebsockets/lws-secure-streams-policy.h create mode 100644 transport/src/nativeInterop/cinterop/linuxX64/libwebsockets/lws-secure-streams.h create mode 100644 transport/src/nativeInterop/cinterop/linuxX64/libwebsockets/lws-sequencer.h create mode 100644 transport/src/nativeInterop/cinterop/linuxX64/libwebsockets/lws-service.h create mode 100644 transport/src/nativeInterop/cinterop/linuxX64/libwebsockets/lws-settings.h create mode 100644 transport/src/nativeInterop/cinterop/linuxX64/libwebsockets/lws-sha1-base64.h create mode 100644 transport/src/nativeInterop/cinterop/linuxX64/libwebsockets/lws-smd.h create mode 100644 transport/src/nativeInterop/cinterop/linuxX64/libwebsockets/lws-spa.h create mode 100644 transport/src/nativeInterop/cinterop/linuxX64/libwebsockets/lws-spi.h create mode 100644 transport/src/nativeInterop/cinterop/linuxX64/libwebsockets/lws-ssd1306-i2c.h create mode 100644 transport/src/nativeInterop/cinterop/linuxX64/libwebsockets/lws-state.h create mode 100644 transport/src/nativeInterop/cinterop/linuxX64/libwebsockets/lws-stats.h create mode 100644 transport/src/nativeInterop/cinterop/linuxX64/libwebsockets/lws-struct.h create mode 100644 transport/src/nativeInterop/cinterop/linuxX64/libwebsockets/lws-system.h create mode 100644 transport/src/nativeInterop/cinterop/linuxX64/libwebsockets/lws-test-sequencer.h create mode 100644 transport/src/nativeInterop/cinterop/linuxX64/libwebsockets/lws-threadpool.h create mode 100644 transport/src/nativeInterop/cinterop/linuxX64/libwebsockets/lws-timeout-timer.h create mode 100644 transport/src/nativeInterop/cinterop/linuxX64/libwebsockets/lws-tokenize.h create mode 100644 transport/src/nativeInterop/cinterop/linuxX64/libwebsockets/lws-vfs.h create mode 100644 transport/src/nativeInterop/cinterop/linuxX64/libwebsockets/lws-write.h create mode 100644 transport/src/nativeInterop/cinterop/linuxX64/libwebsockets/lws-writeable.h create mode 100644 transport/src/nativeInterop/cinterop/linuxX64/libwebsockets/lws-ws-close.h create mode 100644 transport/src/nativeInterop/cinterop/linuxX64/libwebsockets/lws-ws-ext.h create mode 100644 transport/src/nativeInterop/cinterop/linuxX64/libwebsockets/lws-ws-state.h create mode 100644 transport/src/nativeInterop/cinterop/linuxX64/libwebsockets/lws-x509.h create mode 100644 transport/src/nativeInterop/cinterop/linuxX64/lws_config.h create mode 100644 transport/src/nativeInterop/cinterop/macosX64/libwebsockets-macosX64.a create mode 100644 transport/src/nativeInterop/cinterop/macosX64/libwebsockets.h create mode 100644 transport/src/nativeInterop/cinterop/macosX64/libwebsockets/abstract/abstract.h create mode 100644 transport/src/nativeInterop/cinterop/macosX64/libwebsockets/abstract/protocols.h create mode 100644 transport/src/nativeInterop/cinterop/macosX64/libwebsockets/abstract/protocols/smtp.h create mode 100644 transport/src/nativeInterop/cinterop/macosX64/libwebsockets/abstract/transports.h create mode 100644 transport/src/nativeInterop/cinterop/macosX64/libwebsockets/abstract/transports/raw-skt.h create mode 100644 transport/src/nativeInterop/cinterop/macosX64/libwebsockets/abstract/transports/unit-test.h create mode 100644 transport/src/nativeInterop/cinterop/macosX64/libwebsockets/lws-adopt.h create mode 100644 transport/src/nativeInterop/cinterop/macosX64/libwebsockets/lws-async-dns.h create mode 100644 transport/src/nativeInterop/cinterop/macosX64/libwebsockets/lws-bb-i2c.h create mode 100644 transport/src/nativeInterop/cinterop/macosX64/libwebsockets/lws-bb-spi.h create mode 100644 transport/src/nativeInterop/cinterop/macosX64/libwebsockets/lws-button.h create mode 100644 transport/src/nativeInterop/cinterop/macosX64/libwebsockets/lws-callbacks.h create mode 100644 transport/src/nativeInterop/cinterop/macosX64/libwebsockets/lws-cgi.h create mode 100644 transport/src/nativeInterop/cinterop/macosX64/libwebsockets/lws-client.h create mode 100644 transport/src/nativeInterop/cinterop/macosX64/libwebsockets/lws-context-vhost.h create mode 100644 transport/src/nativeInterop/cinterop/macosX64/libwebsockets/lws-dbus.h create mode 100644 transport/src/nativeInterop/cinterop/macosX64/libwebsockets/lws-detailed-latency.h create mode 100644 transport/src/nativeInterop/cinterop/macosX64/libwebsockets/lws-diskcache.h create mode 100644 transport/src/nativeInterop/cinterop/macosX64/libwebsockets/lws-display.h create mode 100644 transport/src/nativeInterop/cinterop/macosX64/libwebsockets/lws-dll2.h create mode 100644 transport/src/nativeInterop/cinterop/macosX64/libwebsockets/lws-dsh.h create mode 100644 transport/src/nativeInterop/cinterop/macosX64/libwebsockets/lws-eventlib-exports.h create mode 100644 transport/src/nativeInterop/cinterop/macosX64/libwebsockets/lws-freertos.h create mode 100644 transport/src/nativeInterop/cinterop/macosX64/libwebsockets/lws-fts.h create mode 100644 transport/src/nativeInterop/cinterop/macosX64/libwebsockets/lws-genaes.h create mode 100644 transport/src/nativeInterop/cinterop/macosX64/libwebsockets/lws-gencrypto.h create mode 100644 transport/src/nativeInterop/cinterop/macosX64/libwebsockets/lws-genec.h create mode 100644 transport/src/nativeInterop/cinterop/macosX64/libwebsockets/lws-genhash.h create mode 100644 transport/src/nativeInterop/cinterop/macosX64/libwebsockets/lws-genrsa.h create mode 100644 transport/src/nativeInterop/cinterop/macosX64/libwebsockets/lws-gpio.h create mode 100644 transport/src/nativeInterop/cinterop/macosX64/libwebsockets/lws-http.h create mode 100644 transport/src/nativeInterop/cinterop/macosX64/libwebsockets/lws-i2c.h create mode 100644 transport/src/nativeInterop/cinterop/macosX64/libwebsockets/lws-ili9341-spi.h create mode 100644 transport/src/nativeInterop/cinterop/macosX64/libwebsockets/lws-jose.h create mode 100644 transport/src/nativeInterop/cinterop/macosX64/libwebsockets/lws-jwe.h create mode 100644 transport/src/nativeInterop/cinterop/macosX64/libwebsockets/lws-jwk.h create mode 100644 transport/src/nativeInterop/cinterop/macosX64/libwebsockets/lws-jws.h create mode 100644 transport/src/nativeInterop/cinterop/macosX64/libwebsockets/lws-led.h create mode 100644 transport/src/nativeInterop/cinterop/macosX64/libwebsockets/lws-lejp.h create mode 100644 transport/src/nativeInterop/cinterop/macosX64/libwebsockets/lws-logs.h create mode 100644 transport/src/nativeInterop/cinterop/macosX64/libwebsockets/lws-lwsac.h create mode 100644 transport/src/nativeInterop/cinterop/macosX64/libwebsockets/lws-misc.h create mode 100644 transport/src/nativeInterop/cinterop/macosX64/libwebsockets/lws-mqtt.h create mode 100644 transport/src/nativeInterop/cinterop/macosX64/libwebsockets/lws-netdev.h create mode 100644 transport/src/nativeInterop/cinterop/macosX64/libwebsockets/lws-network-helper.h create mode 100644 transport/src/nativeInterop/cinterop/macosX64/libwebsockets/lws-optee.h create mode 100644 transport/src/nativeInterop/cinterop/macosX64/libwebsockets/lws-protocols-plugins.h create mode 100644 transport/src/nativeInterop/cinterop/macosX64/libwebsockets/lws-purify.h create mode 100644 transport/src/nativeInterop/cinterop/macosX64/libwebsockets/lws-pwm.h create mode 100644 transport/src/nativeInterop/cinterop/macosX64/libwebsockets/lws-retry.h create mode 100644 transport/src/nativeInterop/cinterop/macosX64/libwebsockets/lws-ring.h create mode 100644 transport/src/nativeInterop/cinterop/macosX64/libwebsockets/lws-secure-streams-client.h create mode 100644 transport/src/nativeInterop/cinterop/macosX64/libwebsockets/lws-secure-streams-policy.h create mode 100644 transport/src/nativeInterop/cinterop/macosX64/libwebsockets/lws-secure-streams.h create mode 100644 transport/src/nativeInterop/cinterop/macosX64/libwebsockets/lws-sequencer.h create mode 100644 transport/src/nativeInterop/cinterop/macosX64/libwebsockets/lws-service.h create mode 100644 transport/src/nativeInterop/cinterop/macosX64/libwebsockets/lws-settings.h create mode 100644 transport/src/nativeInterop/cinterop/macosX64/libwebsockets/lws-sha1-base64.h create mode 100644 transport/src/nativeInterop/cinterop/macosX64/libwebsockets/lws-smd.h create mode 100644 transport/src/nativeInterop/cinterop/macosX64/libwebsockets/lws-spa.h create mode 100644 transport/src/nativeInterop/cinterop/macosX64/libwebsockets/lws-spi.h create mode 100644 transport/src/nativeInterop/cinterop/macosX64/libwebsockets/lws-ssd1306-i2c.h create mode 100644 transport/src/nativeInterop/cinterop/macosX64/libwebsockets/lws-state.h create mode 100644 transport/src/nativeInterop/cinterop/macosX64/libwebsockets/lws-stats.h create mode 100644 transport/src/nativeInterop/cinterop/macosX64/libwebsockets/lws-struct.h create mode 100644 transport/src/nativeInterop/cinterop/macosX64/libwebsockets/lws-system.h create mode 100644 transport/src/nativeInterop/cinterop/macosX64/libwebsockets/lws-test-sequencer.h create mode 100644 transport/src/nativeInterop/cinterop/macosX64/libwebsockets/lws-threadpool.h create mode 100644 transport/src/nativeInterop/cinterop/macosX64/libwebsockets/lws-timeout-timer.h create mode 100644 transport/src/nativeInterop/cinterop/macosX64/libwebsockets/lws-tokenize.h create mode 100644 transport/src/nativeInterop/cinterop/macosX64/libwebsockets/lws-vfs.h create mode 100644 transport/src/nativeInterop/cinterop/macosX64/libwebsockets/lws-write.h create mode 100644 transport/src/nativeInterop/cinterop/macosX64/libwebsockets/lws-writeable.h create mode 100644 transport/src/nativeInterop/cinterop/macosX64/libwebsockets/lws-ws-close.h create mode 100644 transport/src/nativeInterop/cinterop/macosX64/libwebsockets/lws-ws-ext.h create mode 100644 transport/src/nativeInterop/cinterop/macosX64/libwebsockets/lws-ws-state.h create mode 100644 transport/src/nativeInterop/cinterop/macosX64/libwebsockets/lws-x509.h create mode 100644 transport/src/nativeInterop/cinterop/macosX64/lws_config.h create mode 100644 transport/src/nativeInterop/cinterop/mingwX64/libwebsockets-mingwX64.a create mode 100644 transport/src/nativeInterop/cinterop/mingwX64/libwebsockets.h create mode 100644 transport/src/nativeInterop/cinterop/mingwX64/libwebsockets/abstract/abstract.h create mode 100644 transport/src/nativeInterop/cinterop/mingwX64/libwebsockets/abstract/protocols.h create mode 100644 transport/src/nativeInterop/cinterop/mingwX64/libwebsockets/abstract/protocols/smtp.h create mode 100644 transport/src/nativeInterop/cinterop/mingwX64/libwebsockets/abstract/transports.h create mode 100644 transport/src/nativeInterop/cinterop/mingwX64/libwebsockets/abstract/transports/raw-skt.h create mode 100644 transport/src/nativeInterop/cinterop/mingwX64/libwebsockets/abstract/transports/unit-test.h create mode 100644 transport/src/nativeInterop/cinterop/mingwX64/libwebsockets/lws-adopt.h create mode 100644 transport/src/nativeInterop/cinterop/mingwX64/libwebsockets/lws-async-dns.h create mode 100644 transport/src/nativeInterop/cinterop/mingwX64/libwebsockets/lws-bb-i2c.h create mode 100644 transport/src/nativeInterop/cinterop/mingwX64/libwebsockets/lws-bb-spi.h create mode 100644 transport/src/nativeInterop/cinterop/mingwX64/libwebsockets/lws-button.h create mode 100644 transport/src/nativeInterop/cinterop/mingwX64/libwebsockets/lws-callbacks.h create mode 100644 transport/src/nativeInterop/cinterop/mingwX64/libwebsockets/lws-cgi.h create mode 100644 transport/src/nativeInterop/cinterop/mingwX64/libwebsockets/lws-client.h create mode 100644 transport/src/nativeInterop/cinterop/mingwX64/libwebsockets/lws-context-vhost.h create mode 100644 transport/src/nativeInterop/cinterop/mingwX64/libwebsockets/lws-dbus.h create mode 100644 transport/src/nativeInterop/cinterop/mingwX64/libwebsockets/lws-detailed-latency.h create mode 100644 transport/src/nativeInterop/cinterop/mingwX64/libwebsockets/lws-diskcache.h create mode 100644 transport/src/nativeInterop/cinterop/mingwX64/libwebsockets/lws-display.h create mode 100644 transport/src/nativeInterop/cinterop/mingwX64/libwebsockets/lws-dll2.h create mode 100644 transport/src/nativeInterop/cinterop/mingwX64/libwebsockets/lws-dsh.h create mode 100644 transport/src/nativeInterop/cinterop/mingwX64/libwebsockets/lws-eventlib-exports.h create mode 100644 transport/src/nativeInterop/cinterop/mingwX64/libwebsockets/lws-freertos.h create mode 100644 transport/src/nativeInterop/cinterop/mingwX64/libwebsockets/lws-fts.h create mode 100644 transport/src/nativeInterop/cinterop/mingwX64/libwebsockets/lws-genaes.h create mode 100644 transport/src/nativeInterop/cinterop/mingwX64/libwebsockets/lws-gencrypto.h create mode 100644 transport/src/nativeInterop/cinterop/mingwX64/libwebsockets/lws-genec.h create mode 100644 transport/src/nativeInterop/cinterop/mingwX64/libwebsockets/lws-genhash.h create mode 100644 transport/src/nativeInterop/cinterop/mingwX64/libwebsockets/lws-genrsa.h create mode 100644 transport/src/nativeInterop/cinterop/mingwX64/libwebsockets/lws-gpio.h create mode 100644 transport/src/nativeInterop/cinterop/mingwX64/libwebsockets/lws-http.h create mode 100644 transport/src/nativeInterop/cinterop/mingwX64/libwebsockets/lws-i2c.h create mode 100644 transport/src/nativeInterop/cinterop/mingwX64/libwebsockets/lws-ili9341-spi.h create mode 100644 transport/src/nativeInterop/cinterop/mingwX64/libwebsockets/lws-jose.h create mode 100644 transport/src/nativeInterop/cinterop/mingwX64/libwebsockets/lws-jwe.h create mode 100644 transport/src/nativeInterop/cinterop/mingwX64/libwebsockets/lws-jwk.h create mode 100644 transport/src/nativeInterop/cinterop/mingwX64/libwebsockets/lws-jws.h create mode 100644 transport/src/nativeInterop/cinterop/mingwX64/libwebsockets/lws-led.h create mode 100644 transport/src/nativeInterop/cinterop/mingwX64/libwebsockets/lws-lejp.h create mode 100644 transport/src/nativeInterop/cinterop/mingwX64/libwebsockets/lws-logs.h create mode 100644 transport/src/nativeInterop/cinterop/mingwX64/libwebsockets/lws-lwsac.h create mode 100644 transport/src/nativeInterop/cinterop/mingwX64/libwebsockets/lws-misc.h create mode 100644 transport/src/nativeInterop/cinterop/mingwX64/libwebsockets/lws-mqtt.h create mode 100644 transport/src/nativeInterop/cinterop/mingwX64/libwebsockets/lws-netdev.h create mode 100644 transport/src/nativeInterop/cinterop/mingwX64/libwebsockets/lws-network-helper.h create mode 100644 transport/src/nativeInterop/cinterop/mingwX64/libwebsockets/lws-optee.h create mode 100644 transport/src/nativeInterop/cinterop/mingwX64/libwebsockets/lws-protocols-plugins.h create mode 100644 transport/src/nativeInterop/cinterop/mingwX64/libwebsockets/lws-purify.h create mode 100644 transport/src/nativeInterop/cinterop/mingwX64/libwebsockets/lws-pwm.h create mode 100644 transport/src/nativeInterop/cinterop/mingwX64/libwebsockets/lws-retry.h create mode 100644 transport/src/nativeInterop/cinterop/mingwX64/libwebsockets/lws-ring.h create mode 100644 transport/src/nativeInterop/cinterop/mingwX64/libwebsockets/lws-secure-streams-client.h create mode 100644 transport/src/nativeInterop/cinterop/mingwX64/libwebsockets/lws-secure-streams-policy.h create mode 100644 transport/src/nativeInterop/cinterop/mingwX64/libwebsockets/lws-secure-streams.h create mode 100644 transport/src/nativeInterop/cinterop/mingwX64/libwebsockets/lws-sequencer.h create mode 100644 transport/src/nativeInterop/cinterop/mingwX64/libwebsockets/lws-service.h create mode 100644 transport/src/nativeInterop/cinterop/mingwX64/libwebsockets/lws-settings.h create mode 100644 transport/src/nativeInterop/cinterop/mingwX64/libwebsockets/lws-sha1-base64.h create mode 100644 transport/src/nativeInterop/cinterop/mingwX64/libwebsockets/lws-smd.h create mode 100644 transport/src/nativeInterop/cinterop/mingwX64/libwebsockets/lws-spa.h create mode 100644 transport/src/nativeInterop/cinterop/mingwX64/libwebsockets/lws-spi.h create mode 100644 transport/src/nativeInterop/cinterop/mingwX64/libwebsockets/lws-ssd1306-i2c.h create mode 100644 transport/src/nativeInterop/cinterop/mingwX64/libwebsockets/lws-state.h create mode 100644 transport/src/nativeInterop/cinterop/mingwX64/libwebsockets/lws-stats.h create mode 100644 transport/src/nativeInterop/cinterop/mingwX64/libwebsockets/lws-struct.h create mode 100644 transport/src/nativeInterop/cinterop/mingwX64/libwebsockets/lws-system.h create mode 100644 transport/src/nativeInterop/cinterop/mingwX64/libwebsockets/lws-test-sequencer.h create mode 100644 transport/src/nativeInterop/cinterop/mingwX64/libwebsockets/lws-threadpool.h create mode 100644 transport/src/nativeInterop/cinterop/mingwX64/libwebsockets/lws-timeout-timer.h create mode 100644 transport/src/nativeInterop/cinterop/mingwX64/libwebsockets/lws-tokenize.h create mode 100644 transport/src/nativeInterop/cinterop/mingwX64/libwebsockets/lws-vfs.h create mode 100644 transport/src/nativeInterop/cinterop/mingwX64/libwebsockets/lws-write.h create mode 100644 transport/src/nativeInterop/cinterop/mingwX64/libwebsockets/lws-writeable.h create mode 100644 transport/src/nativeInterop/cinterop/mingwX64/libwebsockets/lws-ws-close.h create mode 100644 transport/src/nativeInterop/cinterop/mingwX64/libwebsockets/lws-ws-ext.h create mode 100644 transport/src/nativeInterop/cinterop/mingwX64/libwebsockets/lws-ws-state.h create mode 100644 transport/src/nativeInterop/cinterop/mingwX64/libwebsockets/lws-x509.h create mode 100644 transport/src/nativeInterop/cinterop/mingwX64/lws_config.h create mode 100644 transport/src/nativeInterop/cinterop/websocket_bindings.def create mode 100644 transport/src/nativeMain/kotlin/EventDesrtiptor.kt create mode 100644 transport/src/nativeMain/kotlin/com/epam/drill/transport/WSClientFactory.kt create mode 100644 transport/src/nativeMain/kotlin/com/epam/drill/transport/common/ws/URL.kt diff --git a/agent-runner-common/LICENSE b/agent-runner-common/LICENSE new file mode 100644 index 00000000..261eeb9e --- /dev/null +++ b/agent-runner-common/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/agent-runner-common/README.md b/agent-runner-common/README.md new file mode 100644 index 00000000..6481d838 --- /dev/null +++ b/agent-runner-common/README.md @@ -0,0 +1,78 @@ +# Drill agent runners + +This module contains the plugins for build tools(gradle and maven) to easily run [autotest agents](https://github.com/Drill4J/autotest-agent). + +## Examples + +### Gradle + +```groovy +plugins { + id 'com.epam.drill.agent.runner.autotest' +} +drill { + def testFramework = System.getProperty("testFramework") ?: "" + version = System.getProperty("autotestAgentVersion") ?: "0.21.1" + agentId = System.getProperty("agentId") ?: null + groupId = System.getProperty("groupId") ?: null + adminHost = System.getProperty("adminHost") ?: "localhost" + adminPort = System.getProperty("adminPort") ?: 8090 + logLevel = com.epam.drill.agent.runner.LogLevels.TRACE + additionalParams = System.getProperty("withProxy") == "true" ? + [ + "rawFrameworkPlugins": "$testFramework" + ] : ["rawFrameworkPlugins": "$testFramework", + "devToolsProxyAddress": "http://$adminHost:8093"] +} +``` +### Maven + +```xml + + + 0.3.3 + 0.21.1 + + + + + drillStable + + false + + + + drill + https://drill4j.jfrog.io/artifactory/drill + + + + + + com.epam.drill.agent.runner + maven + ${drillAgentRunner.version} + + + + autotest + + + + + + ${drillAgentPlugin.version} + Petclinic + http://localhost + 8090 + TRACE + target/drillLog.log + + + + + + + + +``` diff --git a/agent-runner-common/build.gradle.kts b/agent-runner-common/build.gradle.kts new file mode 100644 index 00000000..fa1fe995 --- /dev/null +++ b/agent-runner-common/build.gradle.kts @@ -0,0 +1,50 @@ +import java.net.URI +import org.jetbrains.kotlin.gradle.tasks.KotlinCompile +import com.hierynomus.gradle.license.tasks.LicenseCheck +import com.hierynomus.gradle.license.tasks.LicenseFormat + +plugins { + kotlin("jvm") + id("com.github.hierynomus.license") +} + +group = "com.epam.drill.agent.runner" + +repositories { + mavenLocal() + mavenCentral() +} + +java { + sourceCompatibility = JavaVersion.VERSION_1_8 + targetCompatibility = JavaVersion.VERSION_1_8 + withSourcesJar() +} + +dependencies { + compileOnly(kotlin("stdlib-jdk8")) +} + +@Suppress("UNUSED_VARIABLE") +tasks { + val compileKotlin by getting(KotlinCompile::class) { + kotlinOptions.jvmTarget = "1.8" + kotlinOptions.freeCompilerArgs += "-Xopt-in=kotlin.ExperimentalUnsignedTypes" + } +} + + +@Suppress("UNUSED_VARIABLE") +license { + headerURI = URI("https://raw.githubusercontent.com/Drill4J/drill4j/develop/COPYRIGHT") + val licenseFormatSources by tasks.registering(LicenseFormat::class) { + source = fileTree("$projectDir/src").also { + include("**/*.kt", "**/*.java", "**/*.groovy") + } + } + val licenseCheckSources by tasks.registering(LicenseCheck::class) { + source = fileTree("$projectDir/src").also { + include("**/*.kt", "**/*.java", "**/*.groovy") + } + } +} diff --git a/agent-runner-common/src/main/kotlin/com/epam/drill/agent/runner/AgentConfiguration.kt b/agent-runner-common/src/main/kotlin/com/epam/drill/agent/runner/AgentConfiguration.kt new file mode 100644 index 00000000..09195fe9 --- /dev/null +++ b/agent-runner-common/src/main/kotlin/com/epam/drill/agent/runner/AgentConfiguration.kt @@ -0,0 +1,34 @@ +/** + * Copyright 2020 - 2022 EPAM Systems + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.epam.drill.agent.runner + +open class AgentConfiguration : Configuration() { + var pluginId: String = "test2code" + var plugins: Set = mutableSetOf() + var labels: Map? = null + override val repositoryName: String = "autotest-agent" + + override fun jvmArgs(): Map { + val args = mutableMapOf() + args[AgentConfiguration::pluginId.name] = pluginId + args[AgentConfiguration::plugins.name] = plugins.joinToString(separator = ";") + labels?.let { + args[AgentConfiguration::labels.name] = it.map { (k, v) -> "$k:$v" }.joinToString(";") + } + return args + } + +} diff --git a/agent-runner-common/src/main/kotlin/com/epam/drill/agent/runner/AgentLoader.kt b/agent-runner-common/src/main/kotlin/com/epam/drill/agent/runner/AgentLoader.kt new file mode 100644 index 00000000..d7b46342 --- /dev/null +++ b/agent-runner-common/src/main/kotlin/com/epam/drill/agent/runner/AgentLoader.kt @@ -0,0 +1,66 @@ +/** + * Copyright 2020 - 2022 EPAM Systems + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.epam.drill.agent.runner + +import java.io.* +import java.net.* +import java.util.zip.* + +const val GITHUB_URL = "https://api.github.com" +const val GITHUB_REPOS = "repos" +const val DRILL_OWNER = "Drill4J" + +object AgentLoader { + fun getVersion(config: Configuration): String = runCatching { + val versionUrl = "$GITHUB_URL/$GITHUB_REPOS/$DRILL_OWNER/${config.repositoryName}" + + "/releases?prerelease=true" + println("Url to get version: $versionUrl") + URL(versionUrl).readText() + .substringAfter("\"tag_name\":\"") + .substringBefore("\",") + .replace("v", "") + }.getOrNull() ?: "" + + fun downloadAgent( + config: Configuration, + dir: File + ) = run { + val artName = "${config.artifactId}-$presetName-${config.version}.zip" + val artPath = "${config.repositoryName}/releases/download/v${config.version}/$artName" + val agent = "${GITHUB_URL.replace("api.", "")}/$DRILL_OWNER/$artPath" + println("Download url is: $agent") + val file = dir.resolve(artName).apply { createNewFile() } + file.writeBytes(URL(agent).openStream().readBytes()) + unzip(file, dir) + } + + + private fun unzip(file: File, dir: File) { + ZipFile(file).use { zip -> + zip.entries().asSequence().forEach { entry -> + if (entry.isDirectory) { + File(dir, entry.name).mkdirs() + } else { + zip.getInputStream(entry).use { input -> + File(dir, entry.name).outputStream().use { output -> + input.copyTo(output) + } + } + } + } + } + } +} \ No newline at end of file diff --git a/agent-runner-common/src/main/kotlin/com/epam/drill/agent/runner/AppAgentConfiguration.kt b/agent-runner-common/src/main/kotlin/com/epam/drill/agent/runner/AppAgentConfiguration.kt new file mode 100644 index 00000000..a5401e2c --- /dev/null +++ b/agent-runner-common/src/main/kotlin/com/epam/drill/agent/runner/AppAgentConfiguration.kt @@ -0,0 +1,34 @@ +/** + * Copyright 2020 - 2022 EPAM Systems + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.epam.drill.agent.runner + +open class AppAgentConfiguration : Configuration() { + override val repositoryName: String = "java-agent" + + var buildVersion: String? = null + var instanceId: String? = null + var webAppNames: List? = null + + override fun jvmArgs(): Map { + val args = mutableMapOf() + buildVersion?.let { args[AppAgentConfiguration::buildVersion.name] = it } + instanceId?.let { args[AppAgentConfiguration::instanceId.name] = it } + webAppNames?.let { args[AppAgentConfiguration::webAppNames.name] = it.joinToString(separator = ":") } + return args + } + +} + diff --git a/agent-runner-common/src/main/kotlin/com/epam/drill/agent/runner/Configuration.kt b/agent-runner-common/src/main/kotlin/com/epam/drill/agent/runner/Configuration.kt new file mode 100644 index 00000000..9d8216f1 --- /dev/null +++ b/agent-runner-common/src/main/kotlin/com/epam/drill/agent/runner/Configuration.kt @@ -0,0 +1,49 @@ +/** + * Copyright 2020 - 2022 EPAM Systems + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.epam.drill.agent.runner + +import java.io.File + +abstract class Configuration { + lateinit var adminHost: String + var agentId: String? = null + var groupId: String? = null + var adminPort: Int = 8080 + var version: String = "+" + var agentPath: File? = null + var runtimePath: File? = null + var logLevel: LogLevels = LogLevels.ERROR + var logFile: File? = null + var additionalParams: Map? = null + var jvmArgs: Set = mutableSetOf() + val artifactId: String = "agent" + abstract val repositoryName: String + fun toJvmArgs(): List { + val args = mutableMapOf() + args["drillInstallationDir"] = runtimePath + args["adminAddress"] = "$adminHost:$adminPort" + args[Configuration::agentId.name] = agentId + args[Configuration::logLevel.name] = logLevel.name + groupId?.let { args[Configuration::groupId.name] = it } + logFile?.let { args[Configuration::logFile.name] = it.absolutePath } + additionalParams?.let { args.putAll(it) } + args.putAll(jvmArgs()) + + return jvmArgs.toList() + ("-agentpath:${agentPath}=" + args.map { (k, v) -> "$k=$v" }.joinToString(",")) + } + + abstract fun jvmArgs(): Map +} diff --git a/agent-runner-common/src/main/kotlin/com/epam/drill/agent/runner/LogLevels.kt b/agent-runner-common/src/main/kotlin/com/epam/drill/agent/runner/LogLevels.kt new file mode 100644 index 00000000..4a653c08 --- /dev/null +++ b/agent-runner-common/src/main/kotlin/com/epam/drill/agent/runner/LogLevels.kt @@ -0,0 +1,20 @@ +/** + * Copyright 2020 - 2022 EPAM Systems + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.epam.drill.agent.runner + +enum class LogLevels { + TRACE, DEBUG, INFO, WARN, ERROR +} \ No newline at end of file diff --git a/agent-runner-common/src/main/kotlin/com/epam/drill/agent/runner/OS.kt b/agent-runner-common/src/main/kotlin/com/epam/drill/agent/runner/OS.kt new file mode 100644 index 00000000..b6b77d4b --- /dev/null +++ b/agent-runner-common/src/main/kotlin/com/epam/drill/agent/runner/OS.kt @@ -0,0 +1,46 @@ +/** + * Copyright 2020 - 2022 EPAM Systems + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.epam.drill.agent.runner + +import java.util.* + +object OS { + const val FAMILY_MAC = "mac" + const val FAMILY_WINDOWS = "windows" + const val FAMILY_UNIX = "unix" + + private var OS_NAME: String = System.getProperty("os.name").lowercase(Locale.ENGLISH) + + + fun isFamily(st: String): Boolean { + return OS_NAME.contains(st) + } +} + + +val presetName: String = + when { + OS.isFamily(OS.FAMILY_MAC) -> "macosX64" + OS.isFamily(OS.FAMILY_WINDOWS) -> "mingwX64" + else -> "linuxX64" + } + +val dynamicLibExtensions = setOf( + "dylib", + "so", + "dll", + "wasm" +) diff --git a/agent-runner-gradle/LICENSE b/agent-runner-gradle/LICENSE new file mode 100644 index 00000000..261eeb9e --- /dev/null +++ b/agent-runner-gradle/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/agent-runner-gradle/README.md b/agent-runner-gradle/README.md new file mode 100644 index 00000000..6481d838 --- /dev/null +++ b/agent-runner-gradle/README.md @@ -0,0 +1,78 @@ +# Drill agent runners + +This module contains the plugins for build tools(gradle and maven) to easily run [autotest agents](https://github.com/Drill4J/autotest-agent). + +## Examples + +### Gradle + +```groovy +plugins { + id 'com.epam.drill.agent.runner.autotest' +} +drill { + def testFramework = System.getProperty("testFramework") ?: "" + version = System.getProperty("autotestAgentVersion") ?: "0.21.1" + agentId = System.getProperty("agentId") ?: null + groupId = System.getProperty("groupId") ?: null + adminHost = System.getProperty("adminHost") ?: "localhost" + adminPort = System.getProperty("adminPort") ?: 8090 + logLevel = com.epam.drill.agent.runner.LogLevels.TRACE + additionalParams = System.getProperty("withProxy") == "true" ? + [ + "rawFrameworkPlugins": "$testFramework" + ] : ["rawFrameworkPlugins": "$testFramework", + "devToolsProxyAddress": "http://$adminHost:8093"] +} +``` +### Maven + +```xml + + + 0.3.3 + 0.21.1 + + + + + drillStable + + false + + + + drill + https://drill4j.jfrog.io/artifactory/drill + + + + + + com.epam.drill.agent.runner + maven + ${drillAgentRunner.version} + + + + autotest + + + + + + ${drillAgentPlugin.version} + Petclinic + http://localhost + 8090 + TRACE + target/drillLog.log + + + + + + + + +``` diff --git a/agent-runner-gradle/build.gradle.kts b/agent-runner-gradle/build.gradle.kts new file mode 100644 index 00000000..3b962962 --- /dev/null +++ b/agent-runner-gradle/build.gradle.kts @@ -0,0 +1,66 @@ +import java.net.URI +import org.jetbrains.kotlin.gradle.tasks.KotlinCompile +import com.hierynomus.gradle.license.tasks.LicenseCheck +import com.hierynomus.gradle.license.tasks.LicenseFormat + +plugins { + `java-gradle-plugin` + `kotlin-dsl` + id("com.github.hierynomus.license") +} + +group = "com.epam.drill.agent.runner" + +repositories { + mavenLocal() + mavenCentral() +} + +java { + sourceCompatibility = JavaVersion.VERSION_1_8 + targetCompatibility = JavaVersion.VERSION_1_8 + withSourcesJar() +} + +gradlePlugin { + plugins { + create("autotest") { + id = "$group.autotest" + implementationClass = "com.epam.drill.autotest.gradle.AutoTestAgent" + } + create("app") { + id = "$group.app" + implementationClass = "com.epam.drill.autotest.gradle.AppAgent" + } + } +} + +dependencies { + compileOnly(gradleApi()) + compileOnly(kotlin("stdlib-jdk8")) + compileOnly(kotlin("gradle-plugin")) + implementation(project(":agent-runner-common")) +} + +@Suppress("UNUSED_VARIABLE") +tasks { + val compileKotlin by getting(KotlinCompile::class) { + kotlinOptions.jvmTarget = "1.8" + kotlinOptions.freeCompilerArgs += "-Xopt-in=kotlin.ExperimentalUnsignedTypes" + } +} + +@Suppress("UNUSED_VARIABLE") +license { + headerURI = URI("https://raw.githubusercontent.com/Drill4J/drill4j/develop/COPYRIGHT") + val licenseFormatSources by tasks.registering(LicenseFormat::class) { + source = fileTree("$projectDir/src").also { + include("**/*.kt", "**/*.java", "**/*.groovy") + } + } + val licenseCheckSources by tasks.registering(LicenseCheck::class) { + source = fileTree("$projectDir/src").also { + include("**/*.kt", "**/*.java", "**/*.groovy") + } + } +} diff --git a/agent-runner-gradle/src/main/kotlin/com/epam/drill/autotest/gradle/Agent.kt b/agent-runner-gradle/src/main/kotlin/com/epam/drill/autotest/gradle/Agent.kt new file mode 100644 index 00000000..6025aa4c --- /dev/null +++ b/agent-runner-gradle/src/main/kotlin/com/epam/drill/autotest/gradle/Agent.kt @@ -0,0 +1,86 @@ +/** + * Copyright 2020 - 2022 EPAM Systems + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@file:Suppress("unused") + +package com.epam.drill.autotest.gradle + +import com.epam.drill.agent.runner.* +import org.gradle.api.GradleException +import org.gradle.api.Plugin +import org.gradle.api.Project +import org.gradle.api.Task +import org.gradle.api.tasks.TaskContainer +import org.gradle.kotlin.dsl.dependencies +import org.gradle.kotlin.dsl.maven +import org.gradle.kotlin.dsl.repositories +import org.gradle.process.JavaForkOptions +import kotlin.reflect.KClass + +private const val EXTENSION_NAME = "drill" + +abstract class Agent : Plugin { + + abstract val extensionClass: KClass + abstract val taskType: Set> + + private fun TaskContainer.configure() { + filter { task -> taskType.any { it.java.isInstance(task) } }.map { it as JavaForkOptions }.forEach { + println("Task ${(it as Task).name} is modified by Drill") + with(it) { + (it as Task).doFirst { + with(project) { + prepare() + val toJvmArgs: List = config.toJvmArgs() + println("Drill agent line: $toJvmArgs") + it.setJvmArgs(toJvmArgs.asIterable()) + } + } + } + } + } + + override fun apply(target: Project) = target.run { + extensions.create(EXTENSION_NAME, extensionClass.java) + + afterEvaluate { + with(tasks) { + configure() + } + } + } + + private fun Project.prepare() { + if (config.agentPath == null && config.runtimePath == null) { + val drillDist = rootProject.buildDir.resolve("drill").apply { mkdirs() } + if (config.version == "+") { + config.version = AgentLoader.getVersion(config) + println("version is ${config.version}") + } + val extractedDir = drillDist.resolve("$presetName-${config.version}") + if (!extractedDir.exists() || extractedDir.listFiles()!!.isEmpty()) { + AgentLoader.downloadAgent(config, drillDist) + } + config.runtimePath = extractedDir + config.agentPath = extractedDir.listFiles()?.first { file -> + dynamicLibExtensions.any { it == file.extension } + } ?: throw GradleException("can't find agent") + } + } +} + +private val Project.config: Configuration + get() = extensions.findByName(EXTENSION_NAME) as Configuration + diff --git a/agent-runner-gradle/src/main/kotlin/com/epam/drill/autotest/gradle/AppAgent.kt b/agent-runner-gradle/src/main/kotlin/com/epam/drill/autotest/gradle/AppAgent.kt new file mode 100644 index 00000000..f8659e73 --- /dev/null +++ b/agent-runner-gradle/src/main/kotlin/com/epam/drill/autotest/gradle/AppAgent.kt @@ -0,0 +1,30 @@ +/** + * Copyright 2020 - 2022 EPAM Systems + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@file:Suppress("unused") + +package com.epam.drill.autotest.gradle + +import com.epam.drill.agent.runner.AppAgentConfiguration +import com.epam.drill.agent.runner.Configuration +import org.gradle.api.tasks.JavaExec +import org.gradle.process.JavaForkOptions +import kotlin.reflect.KClass + +class AppAgent : Agent() { + override val extensionClass: KClass = AppAgentConfiguration::class + override val taskType: Set> = setOf(JavaExec::class) +} + diff --git a/agent-runner-gradle/src/main/kotlin/com/epam/drill/autotest/gradle/AutoTestAgent.kt b/agent-runner-gradle/src/main/kotlin/com/epam/drill/autotest/gradle/AutoTestAgent.kt new file mode 100644 index 00000000..0b98832b --- /dev/null +++ b/agent-runner-gradle/src/main/kotlin/com/epam/drill/autotest/gradle/AutoTestAgent.kt @@ -0,0 +1,31 @@ +/** + * Copyright 2020 - 2022 EPAM Systems + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@file:Suppress("unused") + +package com.epam.drill.autotest.gradle + +import com.epam.drill.agent.runner.AgentConfiguration +import com.epam.drill.agent.runner.Configuration +import org.gradle.api.tasks.JavaExec +import org.gradle.api.tasks.testing.Test +import org.gradle.process.JavaForkOptions +import kotlin.reflect.KClass + +open class AutoTestAgent : Agent(){ + override val extensionClass: KClass = AgentConfiguration::class + override val taskType: Set> = setOf(Test::class, JavaExec::class) + +} diff --git a/agent/CODE_OF_CONDUCT.md b/agent/CODE_OF_CONDUCT.md new file mode 100644 index 00000000..ae731dda --- /dev/null +++ b/agent/CODE_OF_CONDUCT.md @@ -0,0 +1,76 @@ +# Contributor Covenant Code of Conduct + +## Our Pledge + +In the interest of fostering an open and welcoming environment, we as +contributors and maintainers pledge to making participation in our project and +our community a harassment-free experience for everyone, regardless of age, body +size, disability, ethnicity, sex characteristics, gender identity and expression, +level of experience, education, socio-economic status, nationality, personal +appearance, race, religion, or sexual identity and orientation. + +## Our Standards + +Examples of behavior that contributes to creating a positive environment +include: + +* Using welcoming and inclusive language +* Being respectful of differing viewpoints and experiences +* Gracefully accepting constructive criticism +* Focusing on what is best for the community +* Showing empathy towards other community members + +Examples of unacceptable behavior by participants include: + +* The use of sexualized language or imagery and unwelcome sexual attention or + advances +* Trolling, insulting/derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or electronic + address, without explicit permission +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Our Responsibilities + +Project maintainers are responsible for clarifying the standards of acceptable +behavior and are expected to take appropriate and fair corrective action in +response to any instances of unacceptable behavior. + +Project maintainers have the right and responsibility to remove, edit, or +reject comments, commits, code, wiki edits, issues, and other contributions +that are not aligned to this Code of Conduct, or to ban temporarily or +permanently any contributor for other behaviors that they deem inappropriate, +threatening, offensive, or harmful. + +## Scope + +This Code of Conduct applies both within project spaces and in public spaces +when an individual is representing the project or its community. Examples of +representing a project or community include using an official project e-mail +address, posting via an official social media account, or acting as an appointed +representative at an online or offline event. Representation of a project may be +further defined and clarified by project maintainers. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported by contacting the project team at ProjectEPM-D4J@epam.com. All +complaints will be reviewed and investigated and will result in a response that +is deemed necessary and appropriate to the circumstances. The project team is +obligated to maintain confidentiality with regard to the reporter of an incident. +Further details of specific enforcement policies may be posted separately. + +Project maintainers who do not follow or enforce the Code of Conduct in good +faith may face temporary or permanent repercussions as determined by other +members of the project's leadership. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, +available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html + +[homepage]: https://www.contributor-covenant.org + +For answers to common questions about this code of conduct, see +https://www.contributor-covenant.org/faq diff --git a/agent/CONTRIBUTING.md b/agent/CONTRIBUTING.md new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/agent/CONTRIBUTING.md @@ -0,0 +1 @@ + diff --git a/agent/LICENSE b/agent/LICENSE new file mode 100644 index 00000000..261eeb9e --- /dev/null +++ b/agent/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/agent/README.md b/agent/README.md new file mode 100644 index 00000000..5903e94c --- /dev/null +++ b/agent/README.md @@ -0,0 +1,9 @@ +# Drill agent module + +This module contains the abstract agent core used to create platform specific agents (Java, .NET). + +# Development + +## Intro info + +Drill agent use native websocket https://github.com/Drill4J/d-transport diff --git a/agent/build.gradle.kts b/agent/build.gradle.kts new file mode 100644 index 00000000..ad88ba18 --- /dev/null +++ b/agent/build.gradle.kts @@ -0,0 +1,100 @@ +import java.net.URI +import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinNativeTarget +import com.hierynomus.gradle.license.tasks.LicenseCheck +import com.hierynomus.gradle.license.tasks.LicenseFormat + +plugins { + kotlin("multiplatform") + kotlin("plugin.serialization") + id("com.github.hierynomus.license") +} + +group = "com.epam.drill.agent" + +val kotlinxCollectionsVersion: String by parent!!.extra +val kotlinxCoroutinesVersion: String by parent!!.extra +val kotlinxSerializationVersion: String by parent!!.extra +val uuidVersion: String by parent!!.extra + +repositories { + mavenLocal() + mavenCentral() +} + +kotlin { + val configureCInterop: KotlinNativeTarget.() -> Unit = { + compilations["main"].cinterops.create("zstd_bindings") { + includeDirs("src/nativeInterop/cinterop/$targetName") + } + } + targets { + jvm() + linuxX64(configure = configureCInterop) + mingwX64(configure = configureCInterop).apply { + binaries.all { + linkerOpts("-lpsapi", "-lwsock32", "-lws2_32", "-lmswsock") + } + } + macosX64(configure = configureCInterop) + } + @Suppress("UNUSED_VARIABLE") + sourceSets { + all { + languageSettings.optIn("kotlin.ExperimentalStdlibApi") + languageSettings.optIn("kotlin.ExperimentalUnsignedTypes") + languageSettings.optIn("kotlin.RequiresOptIn") + languageSettings.optIn("kotlin.time.ExperimentalTime") + languageSettings.optIn("kotlinx.coroutines.ExperimentalCoroutinesApi") + languageSettings.optIn("kotlinx.serialization.InternalSerializationApi") + languageSettings.optIn("kotlinx.serialization.ExperimentalSerializationApi") + languageSettings.optIn("io.ktor.util.InternalAPI") + } + val commonMain by getting { + dependencies { + implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:$kotlinxSerializationVersion") + implementation(project(":logger")) + } + } + val nativeMain by creating { + dependsOn(commonMain) + dependencies { + implementation("org.jetbrains.kotlinx:kotlinx-collections-immutable:$kotlinxCollectionsVersion") + implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:$kotlinxCoroutinesVersion") + implementation("org.jetbrains.kotlinx:kotlinx-serialization-protobuf:$kotlinxSerializationVersion") + implementation("com.benasher44:uuid:$uuidVersion") + implementation(project(":logger")) + implementation(project(":common")) + implementation(project(":transport")) + implementation(project(":interceptor-http")) + implementation(project(":plugin-api-agent")) + } + } + val posixMain by creating { + dependsOn(nativeMain) + } + val linuxX64Main by getting { + dependsOn(posixMain) + } + val mingwX64Main by getting { + dependsOn(nativeMain) + } + val macosX64Main by getting { + dependsOn(posixMain) + } + } +} + +@Suppress("UNUSED_VARIABLE") +license { + headerURI = URI("https://raw.githubusercontent.com/Drill4J/drill4j/develop/COPYRIGHT") + val licenseFormatSources by tasks.registering(LicenseFormat::class) { + source = fileTree("$projectDir/src").also { + include("**/*.kt", "**/*.java", "**/*.groovy") + } + } + val licenseCheckSources by tasks.registering(LicenseCheck::class) { + source = fileTree("$projectDir/src").also { + include("**/*.kt", "**/*.java", "**/*.groovy") + } + } +} diff --git a/agent/src/commonMain/kotlin/com/epam/drill/DynamicLoader.kt b/agent/src/commonMain/kotlin/com/epam/drill/DynamicLoader.kt new file mode 100644 index 00000000..d63107cf --- /dev/null +++ b/agent/src/commonMain/kotlin/com/epam/drill/DynamicLoader.kt @@ -0,0 +1,18 @@ +/** + * Copyright 2020 - 2022 EPAM Systems + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.epam.drill + +expect fun injectDynamicLibrary(path: String): Any? \ No newline at end of file diff --git a/agent/src/commonMain/kotlin/com/epam/drill/Files.kt b/agent/src/commonMain/kotlin/com/epam/drill/Files.kt new file mode 100644 index 00000000..2f10942b --- /dev/null +++ b/agent/src/commonMain/kotlin/com/epam/drill/Files.kt @@ -0,0 +1,19 @@ +/** + * Copyright 2020 - 2022 EPAM Systems + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.epam.drill + +expect fun doMkdir(path: String) +expect val tempPath: String \ No newline at end of file diff --git a/agent/src/commonMain/kotlin/com/epam/drill/common/serialization/Serializer.kt b/agent/src/commonMain/kotlin/com/epam/drill/common/serialization/Serializer.kt new file mode 100644 index 00000000..f8326ec5 --- /dev/null +++ b/agent/src/commonMain/kotlin/com/epam/drill/common/serialization/Serializer.kt @@ -0,0 +1,23 @@ +/** + * Copyright 2020 - 2022 EPAM Systems + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.epam.drill.common.serialization + +import kotlinx.serialization.* +import kotlinx.serialization.json.* + +infix fun KSerializer.parse(rawData: String) = Json.decodeFromString(this, rawData) + +infix fun KSerializer.stringify(rawData: T) = Json.encodeToString(this, rawData) diff --git a/agent/src/commonMain/kotlin/com/epam/drill/common/serialization/Wrappers.kt b/agent/src/commonMain/kotlin/com/epam/drill/common/serialization/Wrappers.kt new file mode 100644 index 00000000..8e6f4a82 --- /dev/null +++ b/agent/src/commonMain/kotlin/com/epam/drill/common/serialization/Wrappers.kt @@ -0,0 +1,24 @@ +/** + * Copyright 2020 - 2022 EPAM Systems + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.epam.drill.common.serialization + +import kotlinx.serialization.* + +@Serializable +class ByteArrayWrapper(val bytes: ByteArray) + +@Serializable +class ByteArrayListWrapper(val bytesList: List) diff --git a/agent/src/commonMain/kotlin/com/epam/drill/plugin/DrillRequest.kt b/agent/src/commonMain/kotlin/com/epam/drill/plugin/DrillRequest.kt new file mode 100644 index 00000000..3e50c87d --- /dev/null +++ b/agent/src/commonMain/kotlin/com/epam/drill/plugin/DrillRequest.kt @@ -0,0 +1,24 @@ +/** + * Copyright 2020 - 2022 EPAM Systems + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.epam.drill.plugin + +import kotlinx.serialization.* + +@Serializable +class DrillRequest( + val drillSessionId: String, + val headers: Map = emptyMap() +) diff --git a/agent/src/jvmMain/kotlin/com/epam/drill/ActualStubs.kt b/agent/src/jvmMain/kotlin/com/epam/drill/ActualStubs.kt new file mode 100644 index 00000000..8c121c8b --- /dev/null +++ b/agent/src/jvmMain/kotlin/com/epam/drill/ActualStubs.kt @@ -0,0 +1,22 @@ +/** + * Copyright 2020 - 2022 EPAM Systems + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.epam.drill + + +actual fun injectDynamicLibrary(path: String): Any? = Unit + +actual fun doMkdir(path: String) = Unit +actual val tempPath: String = "" diff --git a/agent/src/linuxX64Test/kotlin/com/epam/drill/zlib/ZstdTest.kt b/agent/src/linuxX64Test/kotlin/com/epam/drill/zlib/ZstdTest.kt new file mode 100644 index 00000000..86c88e82 --- /dev/null +++ b/agent/src/linuxX64Test/kotlin/com/epam/drill/zlib/ZstdTest.kt @@ -0,0 +1,42 @@ +/** + * Copyright 2020 - 2022 EPAM Systems + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.epam.drill.zlib + +import com.epam.drill.zstd.* +import kotlin.test.* + +class DeflateTest { + + @Test + fun shouldCompressAndDecompress() { + val input = ByteArray(100) + val compressed = Zstd.compress(input) + assertTrue { compressed.size < input.size } + val uncompressed = Zstd.decompress(compressed) + assertEquals(input.contentHashCode(), uncompressed.contentHashCode()) + } + + @Test + fun shouldCompressAndDecompressLargeContent() { + val buffSize = 10000000 //~ 10 mb + val input = ByteArray(buffSize) + val compressed = Zstd.compress(input) + assertTrue { compressed.size < input.size } + val uncompressed = Zstd.decompress(compressed) + assertEquals(input.contentHashCode(), uncompressed.contentHashCode()) + } + +} diff --git a/agent/src/macosX64Test/kotlin/com/epam/drill/zlib/DeflateTest.kt b/agent/src/macosX64Test/kotlin/com/epam/drill/zlib/DeflateTest.kt new file mode 100644 index 00000000..86c88e82 --- /dev/null +++ b/agent/src/macosX64Test/kotlin/com/epam/drill/zlib/DeflateTest.kt @@ -0,0 +1,42 @@ +/** + * Copyright 2020 - 2022 EPAM Systems + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.epam.drill.zlib + +import com.epam.drill.zstd.* +import kotlin.test.* + +class DeflateTest { + + @Test + fun shouldCompressAndDecompress() { + val input = ByteArray(100) + val compressed = Zstd.compress(input) + assertTrue { compressed.size < input.size } + val uncompressed = Zstd.decompress(compressed) + assertEquals(input.contentHashCode(), uncompressed.contentHashCode()) + } + + @Test + fun shouldCompressAndDecompressLargeContent() { + val buffSize = 10000000 //~ 10 mb + val input = ByteArray(buffSize) + val compressed = Zstd.compress(input) + assertTrue { compressed.size < input.size } + val uncompressed = Zstd.decompress(compressed) + assertEquals(input.contentHashCode(), uncompressed.contentHashCode()) + } + +} diff --git a/agent/src/macosX64Test/kotlin/com/epam/drill/zlib/SocketDispatcherTest.kt b/agent/src/macosX64Test/kotlin/com/epam/drill/zlib/SocketDispatcherTest.kt new file mode 100644 index 00000000..6d260c4b --- /dev/null +++ b/agent/src/macosX64Test/kotlin/com/epam/drill/zlib/SocketDispatcherTest.kt @@ -0,0 +1,69 @@ +/** + * Copyright 2020 - 2022 EPAM Systems + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.epam.drill.zlib + +import com.epam.drill.* +import com.epam.drill.core.transport.* +import com.epam.drill.hook.io.tcp.* +import kotlin.test.* + + +private const val H1 = "header1" +private const val H2 = "header2" + +private const val V1 = "value1" +private const val V2 = "value2" + +internal class SocketDispatcherTest { + + private val headers = mapOf( + H1.encodeToByteArray() to V1.encodeToByteArray(), + H2.encodeToByteArray() to V2.encodeToByteArray() + ) + + @BeforeTest + fun beforeEach() { + configureHttp() + } + + @Test + fun shouldNotCreateDrillRequest() { + readHeaders.value(headers) + assertNull(drillRequest) + } + + @Test + fun shouldDetectSessionId() { + val value = "sessionId" + readHeaders.value(headers + mapOf("drill-session-id".encodeToByteArray() to value.encodeToByteArray())) + assertEquals(value, drillRequest?.drillSessionId) + } + + @Test + fun shouldApplyHeaderMapping() { + requestPattern = H1 + readHeaders.value(headers) + assertEquals(V1, drillRequest?.drillSessionId) + } + + @Test + fun shouldOverlapSessionIdByHeaderMapping() { + val value = "sessionId" + requestPattern = H1 + readHeaders.value(headers + mapOf("drill-session-id".encodeToByteArray() to value.encodeToByteArray())) + assertEquals(V1, drillRequest?.drillSessionId) + } +} \ No newline at end of file diff --git a/agent/src/mingwX64Main/kotlin/com/epam/drill/DynamicLoader.kt b/agent/src/mingwX64Main/kotlin/com/epam/drill/DynamicLoader.kt new file mode 100644 index 00000000..66198cb4 --- /dev/null +++ b/agent/src/mingwX64Main/kotlin/com/epam/drill/DynamicLoader.kt @@ -0,0 +1,37 @@ +/** + * Copyright 2020 - 2022 EPAM Systems + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@file:Suppress("unused", "UNUSED_PARAMETER") + +package com.epam.drill + +import com.epam.drill.plugin.api.processing.* +import kotlinx.cinterop.* +import platform.windows.* + + +actual fun injectDynamicLibrary(path: String): Any? = memScoped { + LoadLibrary!!(path.replace("/", "\\").toLPCWSTR(this).pointed.ptr) + ?.let { hModule -> GetProcAddress(hModule, initPlugin) } +} + +private fun String.toLPCWSTR(ms: MemScope): CArrayPointer { + val length = this.length + val allocArray = ms.allocArray(length.toLong()) + for (i in 0 until length) { + allocArray[i] = this[i].code.toShort().toUShort() + } + return allocArray +} diff --git a/agent/src/mingwX64Main/kotlin/com/epam/drill/Files.kt b/agent/src/mingwX64Main/kotlin/com/epam/drill/Files.kt new file mode 100644 index 00000000..dfa30545 --- /dev/null +++ b/agent/src/mingwX64Main/kotlin/com/epam/drill/Files.kt @@ -0,0 +1,35 @@ +/** + * Copyright 2020 - 2022 EPAM Systems + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.epam.drill + +import kotlinx.cinterop.* +import platform.posix.* + +actual val tempPath = "" + +val processInfoCmd = "wmic process where \"processid='${getpid()}'\" get commandline" + +fun AutofreeScope.openPipe(): CPointer? { + val cmdByteVar = processInfoCmd.cstr.getPointer(this) + val mode = "r".cstr.getPointer(this) + return popen?.invoke(cmdByteVar, mode) +} + +fun CPointer?.close() = pclose?.invoke(this) + +actual fun doMkdir(path: String) { + mkdir(path) +} \ No newline at end of file diff --git a/agent/src/mingwX64Main/kotlin/com/epam/drill/core/ws/FileUtils.kt b/agent/src/mingwX64Main/kotlin/com/epam/drill/core/ws/FileUtils.kt new file mode 100644 index 00000000..48bdb0a0 --- /dev/null +++ b/agent/src/mingwX64Main/kotlin/com/epam/drill/core/ws/FileUtils.kt @@ -0,0 +1,75 @@ +/** + * Copyright 2020 - 2022 EPAM Systems + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@file:Suppress( + "UNCHECKED_CAST", "RemoveEmptyClassBody", "UnnecessaryVariable", "DeferredIsResult", "FunctionName", + "ArrayInDataClass" +) + +package com.epam.drill.core.ws + +import kotlinx.cinterop.* +import kotlinx.coroutines.* +import platform.posix.* +import kotlin.coroutines.* +import kotlin.math.* +import kotlin.native.concurrent.* + + +actual suspend fun fileWrite(file: CPointer, position: Long, data: ByteArray): Long { + data class Info(val file: CPointer, val position: Long, val data: ByteArray) + + if (data.isEmpty()) return 0L + + return executeInWorker( + IOWorker, + Info(file, position, if (data.isFrozen) data else data.copyOf()) + ) { (fd, position, data) -> + data.usePinned { pin -> + fseek(fd, position.convert(), SEEK_SET) + fwrite(pin.addressOf(0), 1.convert(), data.size.convert(), fd).toLong() + }.toLong() + } +} + +actual suspend fun writeFileAsync(path: String, content: ByteArray): Long { + return open(path, "w+b").use { + content.openAsync().copyTo(this) + } +} + +actual suspend fun fileSetLength(file: String, length: Long) { + data class Info(val file: String, val length: Long) + + return executeInWorker( + IOWorker, + Info(file, length) + ) { (fd, len) -> + truncate(fd, len.convert()) + Unit + } +} + +actual suspend fun fileLength(file: CPointer): Long = executeInWorker( + IOWorker, + file +) { fd -> + val prev = ftell(fd) + fseek(fd, 0L.convert(), SEEK_END) + val end = ftell(fd) + fseek(fd, prev.convert(), SEEK_SET) + end.toLong() +} + diff --git a/agent/src/mingwX64Test/kotlin/com/epam/drill/zstd/ZstdTest.kt b/agent/src/mingwX64Test/kotlin/com/epam/drill/zstd/ZstdTest.kt new file mode 100644 index 00000000..cd58924a --- /dev/null +++ b/agent/src/mingwX64Test/kotlin/com/epam/drill/zstd/ZstdTest.kt @@ -0,0 +1,41 @@ +/** + * Copyright 2020 - 2022 EPAM Systems + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.epam.drill.zstd + +import kotlin.test.* + +class ZstdTest { + + @Test + fun shouldCompressAndDecompress() { + val input = ByteArray(100) + val compressed = Zstd.compress(input) + assertTrue { compressed.size < input.size } + val uncompressed = Zstd.decompress(compressed) + assertEquals(input.contentHashCode(), uncompressed.contentHashCode()) + } + + @Test + fun shouldCompressAndDecompressLargeContent() { + val buffSize = 10000000 //~ 10 mb + val input = ByteArray(buffSize) + val compressed = Zstd.compress(input) + assertTrue { compressed.size < input.size } + val uncompressed = Zstd.decompress(compressed) + assertEquals(input.contentHashCode(), uncompressed.contentHashCode()) + } + +} diff --git a/agent/src/nativeInterop/cinterop/linuxX64/libzstd.a b/agent/src/nativeInterop/cinterop/linuxX64/libzstd.a new file mode 100644 index 0000000000000000000000000000000000000000..187f8b950dde48178b1306dd3f9dcc1f7421d17c GIT binary patch literal 1178784 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%0DOnN*CPS-|a5AyZz-dN%%=UpXHxZ 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%0AGk_gYmiQB$lK(aCzhYmGxn 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

g!H%UPBg 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

_57y*Y8&i+a2=S_b=!|MIY7s)nld@n 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ΠPqDHHz~uR-3UTqeuMSENJa-w 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 literal 0 HcmV?d00001 diff --git a/agent/src/nativeInterop/cinterop/linuxX64/zdict.h b/agent/src/nativeInterop/cinterop/linuxX64/zdict.h new file mode 100644 index 00000000..ff2e77fa --- /dev/null +++ b/agent/src/nativeInterop/cinterop/linuxX64/zdict.h @@ -0,0 +1,305 @@ +/* + * Copyright (c) 2016-2020, Yann Collet, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under both the BSD-style license (found in the + * LICENSE file in the root directory of this source tree) and the GPLv2 (found + * in the COPYING file in the root directory of this source tree). + * You may select, at your option, one of the above-listed licenses. + */ + +#ifndef DICTBUILDER_H_001 +#define DICTBUILDER_H_001 + +#if defined (__cplusplus) +extern "C" { +#endif + + +/*====== Dependencies ======*/ +#include /* size_t */ + + +/* ===== ZDICTLIB_API : control library symbols visibility ===== */ +#ifndef ZDICTLIB_VISIBILITY +# if defined(__GNUC__) && (__GNUC__ >= 4) +# define ZDICTLIB_VISIBILITY __attribute__ ((visibility ("default"))) +# else +# define ZDICTLIB_VISIBILITY +# endif +#endif +#if defined(ZSTD_DLL_EXPORT) && (ZSTD_DLL_EXPORT==1) +# define ZDICTLIB_API __declspec(dllexport) ZDICTLIB_VISIBILITY +#elif defined(ZSTD_DLL_IMPORT) && (ZSTD_DLL_IMPORT==1) +# define ZDICTLIB_API __declspec(dllimport) ZDICTLIB_VISIBILITY /* It isn't required but allows to generate better code, saving a function pointer load from the IAT and an indirect jump.*/ +#else +# define ZDICTLIB_API ZDICTLIB_VISIBILITY +#endif + + +/*! ZDICT_trainFromBuffer(): + * Train a dictionary from an array of samples. + * Redirect towards ZDICT_optimizeTrainFromBuffer_fastCover() single-threaded, with d=8, steps=4, + * f=20, and accel=1. + * Samples must be stored concatenated in a single flat buffer `samplesBuffer`, + * supplied with an array of sizes `samplesSizes`, providing the size of each sample, in order. + * The resulting dictionary will be saved into `dictBuffer`. + * @return: size of dictionary stored into `dictBuffer` (<= `dictBufferCapacity`) + * or an error code, which can be tested with ZDICT_isError(). + * Note: Dictionary training will fail if there are not enough samples to construct a + * dictionary, or if most of the samples are too small (< 8 bytes being the lower limit). + * If dictionary training fails, you should use zstd without a dictionary, as the dictionary + * would've been ineffective anyways. If you believe your samples would benefit from a dictionary + * please open an issue with details, and we can look into it. + * Note: ZDICT_trainFromBuffer()'s memory usage is about 6 MB. + * Tips: In general, a reasonable dictionary has a size of ~ 100 KB. + * It's possible to select smaller or larger size, just by specifying `dictBufferCapacity`. + * In general, it's recommended to provide a few thousands samples, though this can vary a lot. + * It's recommended that total size of all samples be about ~x100 times the target size of dictionary. + */ +ZDICTLIB_API size_t ZDICT_trainFromBuffer(void* dictBuffer, size_t dictBufferCapacity, + const void* samplesBuffer, + const size_t* samplesSizes, unsigned nbSamples); + +typedef struct { + int compressionLevel; /*< optimize for a specific zstd compression level; 0 means default */ + unsigned notificationLevel; /*< Write log to stderr; 0 = none (default); 1 = errors; 2 = progression; 3 = details; 4 = debug; */ + unsigned dictID; /*< force dictID value; 0 means auto mode (32-bits random value) */ +} ZDICT_params_t; + +/*! ZDICT_finalizeDictionary(): + * Given a custom content as a basis for dictionary, and a set of samples, + * finalize dictionary by adding headers and statistics according to the zstd + * dictionary format. + * + * Samples must be stored concatenated in a flat buffer `samplesBuffer`, + * supplied with an array of sizes `samplesSizes`, providing the size of each + * sample in order. The samples are used to construct the statistics, so they + * should be representative of what you will compress with this dictionary. + * + * The compression level can be set in `parameters`. You should pass the + * compression level you expect to use in production. The statistics for each + * compression level differ, so tuning the dictionary for the compression level + * can help quite a bit. + * + * You can set an explicit dictionary ID in `parameters`, or allow us to pick + * a random dictionary ID for you, but we can't guarantee no collisions. + * + * The dstDictBuffer and the dictContent may overlap, and the content will be + * appended to the end of the header. If the header + the content doesn't fit in + * maxDictSize the beginning of the content is truncated to make room, since it + * is presumed that the most profitable content is at the end of the dictionary, + * since that is the cheapest to reference. + * + * `dictContentSize` must be >= ZDICT_CONTENTSIZE_MIN bytes. + * `maxDictSize` must be >= max(dictContentSize, ZSTD_DICTSIZE_MIN). + * + * @return: size of dictionary stored into `dstDictBuffer` (<= `maxDictSize`), + * or an error code, which can be tested by ZDICT_isError(). + * Note: ZDICT_finalizeDictionary() will push notifications into stderr if + * instructed to, using notificationLevel>0. + * NOTE: This function currently may fail in several edge cases including: + * * Not enough samples + * * Samples are uncompressible + * * Samples are all exactly the same + */ +ZDICTLIB_API size_t ZDICT_finalizeDictionary(void* dstDictBuffer, size_t maxDictSize, + const void* dictContent, size_t dictContentSize, + const void* samplesBuffer, const size_t* samplesSizes, unsigned nbSamples, + ZDICT_params_t parameters); + + +/*====== Helper functions ======*/ +ZDICTLIB_API unsigned ZDICT_getDictID(const void* dictBuffer, size_t dictSize); /**< extracts dictID; @return zero if error (not a valid dictionary) */ +ZDICTLIB_API size_t ZDICT_getDictHeaderSize(const void* dictBuffer, size_t dictSize); /* returns dict header size; returns a ZSTD error code on failure */ +ZDICTLIB_API unsigned ZDICT_isError(size_t errorCode); +ZDICTLIB_API const char* ZDICT_getErrorName(size_t errorCode); + + + +#ifdef ZDICT_STATIC_LINKING_ONLY + +/* ==================================================================================== + * The definitions in this section are considered experimental. + * They should never be used with a dynamic library, as they may change in the future. + * They are provided for advanced usages. + * Use them only in association with static linking. + * ==================================================================================== */ + +#define ZDICT_CONTENTSIZE_MIN 128 +#define ZDICT_DICTSIZE_MIN 256 + +/*! ZDICT_cover_params_t: + * k and d are the only required parameters. + * For others, value 0 means default. + */ +typedef struct { + unsigned k; /* Segment size : constraint: 0 < k : Reasonable range [16, 2048+] */ + unsigned d; /* dmer size : constraint: 0 < d <= k : Reasonable range [6, 16] */ + unsigned steps; /* Number of steps : Only used for optimization : 0 means default (40) : Higher means more parameters checked */ + unsigned nbThreads; /* Number of threads : constraint: 0 < nbThreads : 1 means single-threaded : Only used for optimization : Ignored if ZSTD_MULTITHREAD is not defined */ + double splitPoint; /* Percentage of samples used for training: Only used for optimization : the first nbSamples * splitPoint samples will be used to training, the last nbSamples * (1 - splitPoint) samples will be used for testing, 0 means default (1.0), 1.0 when all samples are used for both training and testing */ + unsigned shrinkDict; /* Train dictionaries to shrink in size starting from the minimum size and selects the smallest dictionary that is shrinkDictMaxRegression% worse than the largest dictionary. 0 means no shrinking and 1 means shrinking */ + unsigned shrinkDictMaxRegression; /* Sets shrinkDictMaxRegression so that a smaller dictionary can be at worse shrinkDictMaxRegression% worse than the max dict size dictionary. */ + ZDICT_params_t zParams; +} ZDICT_cover_params_t; + +typedef struct { + unsigned k; /* Segment size : constraint: 0 < k : Reasonable range [16, 2048+] */ + unsigned d; /* dmer size : constraint: 0 < d <= k : Reasonable range [6, 16] */ + unsigned f; /* log of size of frequency array : constraint: 0 < f <= 31 : 1 means default(20)*/ + unsigned steps; /* Number of steps : Only used for optimization : 0 means default (40) : Higher means more parameters checked */ + unsigned nbThreads; /* Number of threads : constraint: 0 < nbThreads : 1 means single-threaded : Only used for optimization : Ignored if ZSTD_MULTITHREAD is not defined */ + double splitPoint; /* Percentage of samples used for training: Only used for optimization : the first nbSamples * splitPoint samples will be used to training, the last nbSamples * (1 - splitPoint) samples will be used for testing, 0 means default (0.75), 1.0 when all samples are used for both training and testing */ + unsigned accel; /* Acceleration level: constraint: 0 < accel <= 10, higher means faster and less accurate, 0 means default(1) */ + unsigned shrinkDict; /* Train dictionaries to shrink in size starting from the minimum size and selects the smallest dictionary that is shrinkDictMaxRegression% worse than the largest dictionary. 0 means no shrinking and 1 means shrinking */ + unsigned shrinkDictMaxRegression; /* Sets shrinkDictMaxRegression so that a smaller dictionary can be at worse shrinkDictMaxRegression% worse than the max dict size dictionary. */ + + ZDICT_params_t zParams; +} ZDICT_fastCover_params_t; + +/*! ZDICT_trainFromBuffer_cover(): + * Train a dictionary from an array of samples using the COVER algorithm. + * Samples must be stored concatenated in a single flat buffer `samplesBuffer`, + * supplied with an array of sizes `samplesSizes`, providing the size of each sample, in order. + * The resulting dictionary will be saved into `dictBuffer`. + * @return: size of dictionary stored into `dictBuffer` (<= `dictBufferCapacity`) + * or an error code, which can be tested with ZDICT_isError(). + * See ZDICT_trainFromBuffer() for details on failure modes. + * Note: ZDICT_trainFromBuffer_cover() requires about 9 bytes of memory for each input byte. + * Tips: In general, a reasonable dictionary has a size of ~ 100 KB. + * It's possible to select smaller or larger size, just by specifying `dictBufferCapacity`. + * In general, it's recommended to provide a few thousands samples, though this can vary a lot. + * It's recommended that total size of all samples be about ~x100 times the target size of dictionary. + */ +ZDICTLIB_API size_t ZDICT_trainFromBuffer_cover( + void *dictBuffer, size_t dictBufferCapacity, + const void *samplesBuffer, const size_t *samplesSizes, unsigned nbSamples, + ZDICT_cover_params_t parameters); + +/*! ZDICT_optimizeTrainFromBuffer_cover(): + * The same requirements as above hold for all the parameters except `parameters`. + * This function tries many parameter combinations and picks the best parameters. + * `*parameters` is filled with the best parameters found, + * dictionary constructed with those parameters is stored in `dictBuffer`. + * + * All of the parameters d, k, steps are optional. + * If d is non-zero then we don't check multiple values of d, otherwise we check d = {6, 8}. + * if steps is zero it defaults to its default value. + * If k is non-zero then we don't check multiple values of k, otherwise we check steps values in [50, 2000]. + * + * @return: size of dictionary stored into `dictBuffer` (<= `dictBufferCapacity`) + * or an error code, which can be tested with ZDICT_isError(). + * On success `*parameters` contains the parameters selected. + * See ZDICT_trainFromBuffer() for details on failure modes. + * Note: ZDICT_optimizeTrainFromBuffer_cover() requires about 8 bytes of memory for each input byte and additionally another 5 bytes of memory for each byte of memory for each thread. + */ +ZDICTLIB_API size_t ZDICT_optimizeTrainFromBuffer_cover( + void* dictBuffer, size_t dictBufferCapacity, + const void* samplesBuffer, const size_t* samplesSizes, unsigned nbSamples, + ZDICT_cover_params_t* parameters); + +/*! ZDICT_trainFromBuffer_fastCover(): + * Train a dictionary from an array of samples using a modified version of COVER algorithm. + * Samples must be stored concatenated in a single flat buffer `samplesBuffer`, + * supplied with an array of sizes `samplesSizes`, providing the size of each sample, in order. + * d and k are required. + * All other parameters are optional, will use default values if not provided + * The resulting dictionary will be saved into `dictBuffer`. + * @return: size of dictionary stored into `dictBuffer` (<= `dictBufferCapacity`) + * or an error code, which can be tested with ZDICT_isError(). + * See ZDICT_trainFromBuffer() for details on failure modes. + * Note: ZDICT_trainFromBuffer_fastCover() requires 6 * 2^f bytes of memory. + * Tips: In general, a reasonable dictionary has a size of ~ 100 KB. + * It's possible to select smaller or larger size, just by specifying `dictBufferCapacity`. + * In general, it's recommended to provide a few thousands samples, though this can vary a lot. + * It's recommended that total size of all samples be about ~x100 times the target size of dictionary. + */ +ZDICTLIB_API size_t ZDICT_trainFromBuffer_fastCover(void *dictBuffer, + size_t dictBufferCapacity, const void *samplesBuffer, + const size_t *samplesSizes, unsigned nbSamples, + ZDICT_fastCover_params_t parameters); + +/*! ZDICT_optimizeTrainFromBuffer_fastCover(): + * The same requirements as above hold for all the parameters except `parameters`. + * This function tries many parameter combinations (specifically, k and d combinations) + * and picks the best parameters. `*parameters` is filled with the best parameters found, + * dictionary constructed with those parameters is stored in `dictBuffer`. + * All of the parameters d, k, steps, f, and accel are optional. + * If d is non-zero then we don't check multiple values of d, otherwise we check d = {6, 8}. + * if steps is zero it defaults to its default value. + * If k is non-zero then we don't check multiple values of k, otherwise we check steps values in [50, 2000]. + * If f is zero, default value of 20 is used. + * If accel is zero, default value of 1 is used. + * + * @return: size of dictionary stored into `dictBuffer` (<= `dictBufferCapacity`) + * or an error code, which can be tested with ZDICT_isError(). + * On success `*parameters` contains the parameters selected. + * See ZDICT_trainFromBuffer() for details on failure modes. + * Note: ZDICT_optimizeTrainFromBuffer_fastCover() requires about 6 * 2^f bytes of memory for each thread. + */ +ZDICTLIB_API size_t ZDICT_optimizeTrainFromBuffer_fastCover(void* dictBuffer, + size_t dictBufferCapacity, const void* samplesBuffer, + const size_t* samplesSizes, unsigned nbSamples, + ZDICT_fastCover_params_t* parameters); + +typedef struct { + unsigned selectivityLevel; /* 0 means default; larger => select more => larger dictionary */ + ZDICT_params_t zParams; +} ZDICT_legacy_params_t; + +/*! ZDICT_trainFromBuffer_legacy(): + * Train a dictionary from an array of samples. + * Samples must be stored concatenated in a single flat buffer `samplesBuffer`, + * supplied with an array of sizes `samplesSizes`, providing the size of each sample, in order. + * The resulting dictionary will be saved into `dictBuffer`. + * `parameters` is optional and can be provided with values set to 0 to mean "default". + * @return: size of dictionary stored into `dictBuffer` (<= `dictBufferCapacity`) + * or an error code, which can be tested with ZDICT_isError(). + * See ZDICT_trainFromBuffer() for details on failure modes. + * Tips: In general, a reasonable dictionary has a size of ~ 100 KB. + * It's possible to select smaller or larger size, just by specifying `dictBufferCapacity`. + * In general, it's recommended to provide a few thousands samples, though this can vary a lot. + * It's recommended that total size of all samples be about ~x100 times the target size of dictionary. + * Note: ZDICT_trainFromBuffer_legacy() will send notifications into stderr if instructed to, using notificationLevel>0. + */ +ZDICTLIB_API size_t ZDICT_trainFromBuffer_legacy( + void *dictBuffer, size_t dictBufferCapacity, + const void *samplesBuffer, const size_t *samplesSizes, unsigned nbSamples, + ZDICT_legacy_params_t parameters); + +/* Deprecation warnings */ +/* It is generally possible to disable deprecation warnings from compiler, + for example with -Wno-deprecated-declarations for gcc + or _CRT_SECURE_NO_WARNINGS in Visual. + Otherwise, it's also possible to manually define ZDICT_DISABLE_DEPRECATE_WARNINGS */ +#ifdef ZDICT_DISABLE_DEPRECATE_WARNINGS +# define ZDICT_DEPRECATED(message) ZDICTLIB_API /* disable deprecation warnings */ +#else +# define ZDICT_GCC_VERSION (__GNUC__ * 100 + __GNUC_MINOR__) +# if defined (__cplusplus) && (__cplusplus >= 201402) /* C++14 or greater */ +# define ZDICT_DEPRECATED(message) [[deprecated(message)]] ZDICTLIB_API +# elif (ZDICT_GCC_VERSION >= 405) || defined(__clang__) +# define ZDICT_DEPRECATED(message) ZDICTLIB_API __attribute__((deprecated(message))) +# elif (ZDICT_GCC_VERSION >= 301) +# define ZDICT_DEPRECATED(message) ZDICTLIB_API __attribute__((deprecated)) +# elif defined(_MSC_VER) +# define ZDICT_DEPRECATED(message) ZDICTLIB_API __declspec(deprecated(message)) +# else +# pragma message("WARNING: You need to implement ZDICT_DEPRECATED for this compiler") +# define ZDICT_DEPRECATED(message) ZDICTLIB_API +# endif +#endif /* ZDICT_DISABLE_DEPRECATE_WARNINGS */ + +ZDICT_DEPRECATED("use ZDICT_finalizeDictionary() instead") +size_t ZDICT_addEntropyTablesFromBuffer(void* dictBuffer, size_t dictContentSize, size_t dictBufferCapacity, + const void* samplesBuffer, const size_t* samplesSizes, unsigned nbSamples); + + +#endif /* ZDICT_STATIC_LINKING_ONLY */ + +#if defined (__cplusplus) +} +#endif + +#endif /* DICTBUILDER_H_001 */ diff --git a/agent/src/nativeInterop/cinterop/linuxX64/zstd.h b/agent/src/nativeInterop/cinterop/linuxX64/zstd.h new file mode 100644 index 00000000..8c6fc6ae --- /dev/null +++ b/agent/src/nativeInterop/cinterop/linuxX64/zstd.h @@ -0,0 +1,2090 @@ +/* + * Copyright (c) 2016-2020, Yann Collet, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under both the BSD-style license (found in the + * LICENSE file in the root directory of this source tree) and the GPLv2 (found + * in the COPYING file in the root directory of this source tree). + * You may select, at your option, one of the above-listed licenses. + */ +#if defined (__cplusplus) +extern "C" { +#endif + +#ifndef ZSTD_H_235446 +#define ZSTD_H_235446 + +/* ====== Dependency ======*/ +#include /* INT_MAX */ +#include /* size_t */ + + +/* ===== ZSTDLIB_API : control library symbols visibility ===== */ +#ifndef ZSTDLIB_VISIBILITY +# if defined(__GNUC__) && (__GNUC__ >= 4) +# define ZSTDLIB_VISIBILITY __attribute__ ((visibility ("default"))) +# else +# define ZSTDLIB_VISIBILITY +# endif +#endif +#if defined(ZSTD_DLL_EXPORT) && (ZSTD_DLL_EXPORT==1) +# define ZSTDLIB_API __declspec(dllexport) ZSTDLIB_VISIBILITY +#elif defined(ZSTD_DLL_IMPORT) && (ZSTD_DLL_IMPORT==1) +# define ZSTDLIB_API __declspec(dllimport) ZSTDLIB_VISIBILITY /* It isn't required but allows to generate better code, saving a function pointer load from the IAT and an indirect jump.*/ +#else +# define ZSTDLIB_API ZSTDLIB_VISIBILITY +#endif + + +/******************************************************************************* + Introduction + + zstd, short for Zstandard, is a fast lossless compression algorithm, targeting + real-time compression scenarios at zlib-level and better compression ratios. + The zstd compression library provides in-memory compression and decompression + functions. + + The library supports regular compression levels from 1 up to ZSTD_maxCLevel(), + which is currently 22. Levels >= 20, labeled `--ultra`, should be used with + caution, as they require more memory. The library also offers negative + compression levels, which extend the range of speed vs. ratio preferences. + The lower the level, the faster the speed (at the cost of compression). + + Compression can be done in: + - a single step (described as Simple API) + - a single step, reusing a context (described as Explicit context) + - unbounded multiple steps (described as Streaming compression) + + The compression ratio achievable on small data can be highly improved using + a dictionary. Dictionary compression can be performed in: + - a single step (described as Simple dictionary API) + - a single step, reusing a dictionary (described as Bulk-processing + dictionary API) + + Advanced experimental functions can be accessed using + `#define ZSTD_STATIC_LINKING_ONLY` before including zstd.h. + + Advanced experimental APIs should never be used with a dynamically-linked + library. They are not "stable"; their definitions or signatures may change in + the future. Only static linking is allowed. +*******************************************************************************/ + +/*------ Version ------*/ +#define ZSTD_VERSION_MAJOR 1 +#define ZSTD_VERSION_MINOR 4 +#define ZSTD_VERSION_RELEASE 5 + +#define ZSTD_VERSION_NUMBER (ZSTD_VERSION_MAJOR *100*100 + ZSTD_VERSION_MINOR *100 + ZSTD_VERSION_RELEASE) +ZSTDLIB_API unsigned ZSTD_versionNumber(void); /**< to check runtime library version */ + +#define ZSTD_LIB_VERSION ZSTD_VERSION_MAJOR.ZSTD_VERSION_MINOR.ZSTD_VERSION_RELEASE +#define ZSTD_QUOTE(str) #str +#define ZSTD_EXPAND_AND_QUOTE(str) ZSTD_QUOTE(str) +#define ZSTD_VERSION_STRING ZSTD_EXPAND_AND_QUOTE(ZSTD_LIB_VERSION) +ZSTDLIB_API const char* ZSTD_versionString(void); /* requires v1.3.0+ */ + +/* ************************************* + * Default constant + ***************************************/ +#ifndef ZSTD_CLEVEL_DEFAULT +# define ZSTD_CLEVEL_DEFAULT 3 +#endif + +/* ************************************* + * Constants + ***************************************/ + +/* All magic numbers are supposed read/written to/from files/memory using little-endian convention */ +#define ZSTD_MAGICNUMBER 0xFD2FB528 /* valid since v0.8.0 */ +#define ZSTD_MAGIC_DICTIONARY 0xEC30A437 /* valid since v0.7.0 */ +#define ZSTD_MAGIC_SKIPPABLE_START 0x184D2A50 /* all 16 values, from 0x184D2A50 to 0x184D2A5F, signal the beginning of a skippable frame */ +#define ZSTD_MAGIC_SKIPPABLE_MASK 0xFFFFFFF0 + +#define ZSTD_BLOCKSIZELOG_MAX 17 +#define ZSTD_BLOCKSIZE_MAX (1<= `ZSTD_compressBound(srcSize)`. + * @return : compressed size written into `dst` (<= `dstCapacity), + * or an error code if it fails (which can be tested using ZSTD_isError()). */ +ZSTDLIB_API size_t ZSTD_compress( void* dst, size_t dstCapacity, + const void* src, size_t srcSize, + int compressionLevel); + +/*! ZSTD_decompress() : + * `compressedSize` : must be the _exact_ size of some number of compressed and/or skippable frames. + * `dstCapacity` is an upper bound of originalSize to regenerate. + * If user cannot imply a maximum upper bound, it's better to use streaming mode to decompress data. + * @return : the number of bytes decompressed into `dst` (<= `dstCapacity`), + * or an errorCode if it fails (which can be tested using ZSTD_isError()). */ +ZSTDLIB_API size_t ZSTD_decompress( void* dst, size_t dstCapacity, + const void* src, size_t compressedSize); + +/*! ZSTD_getFrameContentSize() : requires v1.3.0+ + * `src` should point to the start of a ZSTD encoded frame. + * `srcSize` must be at least as large as the frame header. + * hint : any size >= `ZSTD_frameHeaderSize_max` is large enough. + * @return : - decompressed size of `src` frame content, if known + * - ZSTD_CONTENTSIZE_UNKNOWN if the size cannot be determined + * - ZSTD_CONTENTSIZE_ERROR if an error occurred (e.g. invalid magic number, srcSize too small) + * note 1 : a 0 return value means the frame is valid but "empty". + * note 2 : decompressed size is an optional field, it may not be present, typically in streaming mode. + * When `return==ZSTD_CONTENTSIZE_UNKNOWN`, data to decompress could be any size. + * In which case, it's necessary to use streaming mode to decompress data. + * Optionally, application can rely on some implicit limit, + * as ZSTD_decompress() only needs an upper bound of decompressed size. + * (For example, data could be necessarily cut into blocks <= 16 KB). + * note 3 : decompressed size is always present when compression is completed using single-pass functions, + * such as ZSTD_compress(), ZSTD_compressCCtx() ZSTD_compress_usingDict() or ZSTD_compress_usingCDict(). + * note 4 : decompressed size can be very large (64-bits value), + * potentially larger than what local system can handle as a single memory segment. + * In which case, it's necessary to use streaming mode to decompress data. + * note 5 : If source is untrusted, decompressed size could be wrong or intentionally modified. + * Always ensure return value fits within application's authorized limits. + * Each application can set its own limits. + * note 6 : This function replaces ZSTD_getDecompressedSize() */ +#define ZSTD_CONTENTSIZE_UNKNOWN (0ULL - 1) +#define ZSTD_CONTENTSIZE_ERROR (0ULL - 2) +ZSTDLIB_API unsigned long long ZSTD_getFrameContentSize(const void *src, size_t srcSize); + +/*! ZSTD_getDecompressedSize() : + * NOTE: This function is now obsolete, in favor of ZSTD_getFrameContentSize(). + * Both functions work the same way, but ZSTD_getDecompressedSize() blends + * "empty", "unknown" and "error" results to the same return value (0), + * while ZSTD_getFrameContentSize() gives them separate return values. + * @return : decompressed size of `src` frame content _if known and not empty_, 0 otherwise. */ +ZSTDLIB_API unsigned long long ZSTD_getDecompressedSize(const void* src, size_t srcSize); + +/*! ZSTD_findFrameCompressedSize() : + * `src` should point to the start of a ZSTD frame or skippable frame. + * `srcSize` must be >= first frame size + * @return : the compressed size of the first frame starting at `src`, + * suitable to pass as `srcSize` to `ZSTD_decompress` or similar, + * or an error code if input is invalid */ +ZSTDLIB_API size_t ZSTD_findFrameCompressedSize(const void* src, size_t srcSize); + + +/*====== Helper functions ======*/ +#define ZSTD_COMPRESSBOUND(srcSize) ((srcSize) + ((srcSize)>>8) + (((srcSize) < (128<<10)) ? (((128<<10) - (srcSize)) >> 11) /* margin, from 64 to 0 */ : 0)) /* this formula ensures that bound(A) + bound(B) <= bound(A+B) as long as A and B >= 128 KB */ +ZSTDLIB_API size_t ZSTD_compressBound(size_t srcSize); /*!< maximum compressed size in worst case single-pass scenario */ +ZSTDLIB_API unsigned ZSTD_isError(size_t code); /*!< tells if a `size_t` function result is an error code */ +ZSTDLIB_API const char* ZSTD_getErrorName(size_t code); /*!< provides readable string from an error code */ +ZSTDLIB_API int ZSTD_minCLevel(void); /*!< minimum negative compression level allowed */ +ZSTDLIB_API int ZSTD_maxCLevel(void); /*!< maximum compression level available */ + + +/*************************************** +* Explicit context +***************************************/ +/*= Compression context + * When compressing many times, + * it is recommended to allocate a context just once, + * and re-use it for each successive compression operation. + * This will make workload friendlier for system's memory. + * Note : re-using context is just a speed / resource optimization. + * It doesn't change the compression ratio, which remains identical. + * Note 2 : In multi-threaded environments, + * use one different context per thread for parallel execution. + */ +typedef struct ZSTD_CCtx_s ZSTD_CCtx; +ZSTDLIB_API ZSTD_CCtx* ZSTD_createCCtx(void); +ZSTDLIB_API size_t ZSTD_freeCCtx(ZSTD_CCtx* cctx); + +/*! ZSTD_compressCCtx() : + * Same as ZSTD_compress(), using an explicit ZSTD_CCtx. + * Important : in order to behave similarly to `ZSTD_compress()`, + * this function compresses at requested compression level, + * __ignoring any other parameter__ . + * If any advanced parameter was set using the advanced API, + * they will all be reset. Only `compressionLevel` remains. + */ +ZSTDLIB_API size_t ZSTD_compressCCtx(ZSTD_CCtx* cctx, + void* dst, size_t dstCapacity, + const void* src, size_t srcSize, + int compressionLevel); + +/*= Decompression context + * When decompressing many times, + * it is recommended to allocate a context only once, + * and re-use it for each successive compression operation. + * This will make workload friendlier for system's memory. + * Use one context per thread for parallel execution. */ +typedef struct ZSTD_DCtx_s ZSTD_DCtx; +ZSTDLIB_API ZSTD_DCtx* ZSTD_createDCtx(void); +ZSTDLIB_API size_t ZSTD_freeDCtx(ZSTD_DCtx* dctx); + +/*! ZSTD_decompressDCtx() : + * Same as ZSTD_decompress(), + * requires an allocated ZSTD_DCtx. + * Compatible with sticky parameters. + */ +ZSTDLIB_API size_t ZSTD_decompressDCtx(ZSTD_DCtx* dctx, + void* dst, size_t dstCapacity, + const void* src, size_t srcSize); + + +/*************************************** +* Advanced compression API +***************************************/ + +/* API design : + * Parameters are pushed one by one into an existing context, + * using ZSTD_CCtx_set*() functions. + * Pushed parameters are sticky : they are valid for next compressed frame, and any subsequent frame. + * "sticky" parameters are applicable to `ZSTD_compress2()` and `ZSTD_compressStream*()` ! + * __They do not apply to "simple" one-shot variants such as ZSTD_compressCCtx()__ . + * + * It's possible to reset all parameters to "default" using ZSTD_CCtx_reset(). + * + * This API supercedes all other "advanced" API entry points in the experimental section. + * In the future, we expect to remove from experimental API entry points which are redundant with this API. + */ + + +/* Compression strategies, listed from fastest to strongest */ +typedef enum { ZSTD_fast=1, + ZSTD_dfast=2, + ZSTD_greedy=3, + ZSTD_lazy=4, + ZSTD_lazy2=5, + ZSTD_btlazy2=6, + ZSTD_btopt=7, + ZSTD_btultra=8, + ZSTD_btultra2=9 + /* note : new strategies _might_ be added in the future. + Only the order (from fast to strong) is guaranteed */ +} ZSTD_strategy; + + +typedef enum { + + /* compression parameters + * Note: When compressing with a ZSTD_CDict these parameters are superseded + * by the parameters used to construct the ZSTD_CDict. + * See ZSTD_CCtx_refCDict() for more info (superseded-by-cdict). */ + ZSTD_c_compressionLevel=100, /* Set compression parameters according to pre-defined cLevel table. + * Note that exact compression parameters are dynamically determined, + * depending on both compression level and srcSize (when known). + * Default level is ZSTD_CLEVEL_DEFAULT==3. + * Special: value 0 means default, which is controlled by ZSTD_CLEVEL_DEFAULT. + * Note 1 : it's possible to pass a negative compression level. + * Note 2 : setting a level does not automatically set all other compression parameters + * to default. Setting this will however eventually dynamically impact the compression + * parameters which have not been manually set. The manually set + * ones will 'stick'. */ + /* Advanced compression parameters : + * It's possible to pin down compression parameters to some specific values. + * In which case, these values are no longer dynamically selected by the compressor */ + ZSTD_c_windowLog=101, /* Maximum allowed back-reference distance, expressed as power of 2. + * This will set a memory budget for streaming decompression, + * with larger values requiring more memory + * and typically compressing more. + * Must be clamped between ZSTD_WINDOWLOG_MIN and ZSTD_WINDOWLOG_MAX. + * Special: value 0 means "use default windowLog". + * Note: Using a windowLog greater than ZSTD_WINDOWLOG_LIMIT_DEFAULT + * requires explicitly allowing such size at streaming decompression stage. */ + ZSTD_c_hashLog=102, /* Size of the initial probe table, as a power of 2. + * Resulting memory usage is (1 << (hashLog+2)). + * Must be clamped between ZSTD_HASHLOG_MIN and ZSTD_HASHLOG_MAX. + * Larger tables improve compression ratio of strategies <= dFast, + * and improve speed of strategies > dFast. + * Special: value 0 means "use default hashLog". */ + ZSTD_c_chainLog=103, /* Size of the multi-probe search table, as a power of 2. + * Resulting memory usage is (1 << (chainLog+2)). + * Must be clamped between ZSTD_CHAINLOG_MIN and ZSTD_CHAINLOG_MAX. + * Larger tables result in better and slower compression. + * This parameter is useless for "fast" strategy. + * It's still useful when using "dfast" strategy, + * in which case it defines a secondary probe table. + * Special: value 0 means "use default chainLog". */ + ZSTD_c_searchLog=104, /* Number of search attempts, as a power of 2. + * More attempts result in better and slower compression. + * This parameter is useless for "fast" and "dFast" strategies. + * Special: value 0 means "use default searchLog". */ + ZSTD_c_minMatch=105, /* Minimum size of searched matches. + * Note that Zstandard can still find matches of smaller size, + * it just tweaks its search algorithm to look for this size and larger. + * Larger values increase compression and decompression speed, but decrease ratio. + * Must be clamped between ZSTD_MINMATCH_MIN and ZSTD_MINMATCH_MAX. + * Note that currently, for all strategies < btopt, effective minimum is 4. + * , for all strategies > fast, effective maximum is 6. + * Special: value 0 means "use default minMatchLength". */ + ZSTD_c_targetLength=106, /* Impact of this field depends on strategy. + * For strategies btopt, btultra & btultra2: + * Length of Match considered "good enough" to stop search. + * Larger values make compression stronger, and slower. + * For strategy fast: + * Distance between match sampling. + * Larger values make compression faster, and weaker. + * Special: value 0 means "use default targetLength". */ + ZSTD_c_strategy=107, /* See ZSTD_strategy enum definition. + * The higher the value of selected strategy, the more complex it is, + * resulting in stronger and slower compression. + * Special: value 0 means "use default strategy". */ + + /* LDM mode parameters */ + ZSTD_c_enableLongDistanceMatching=160, /* Enable long distance matching. + * This parameter is designed to improve compression ratio + * for large inputs, by finding large matches at long distance. + * It increases memory usage and window size. + * Note: enabling this parameter increases default ZSTD_c_windowLog to 128 MB + * except when expressly set to a different value. */ + ZSTD_c_ldmHashLog=161, /* Size of the table for long distance matching, as a power of 2. + * Larger values increase memory usage and compression ratio, + * but decrease compression speed. + * Must be clamped between ZSTD_HASHLOG_MIN and ZSTD_HASHLOG_MAX + * default: windowlog - 7. + * Special: value 0 means "automatically determine hashlog". */ + ZSTD_c_ldmMinMatch=162, /* Minimum match size for long distance matcher. + * Larger/too small values usually decrease compression ratio. + * Must be clamped between ZSTD_LDM_MINMATCH_MIN and ZSTD_LDM_MINMATCH_MAX. + * Special: value 0 means "use default value" (default: 64). */ + ZSTD_c_ldmBucketSizeLog=163, /* Log size of each bucket in the LDM hash table for collision resolution. + * Larger values improve collision resolution but decrease compression speed. + * The maximum value is ZSTD_LDM_BUCKETSIZELOG_MAX. + * Special: value 0 means "use default value" (default: 3). */ + ZSTD_c_ldmHashRateLog=164, /* Frequency of inserting/looking up entries into the LDM hash table. + * Must be clamped between 0 and (ZSTD_WINDOWLOG_MAX - ZSTD_HASHLOG_MIN). + * Default is MAX(0, (windowLog - ldmHashLog)), optimizing hash table usage. + * Larger values improve compression speed. + * Deviating far from default value will likely result in a compression ratio decrease. + * Special: value 0 means "automatically determine hashRateLog". */ + + /* frame parameters */ + ZSTD_c_contentSizeFlag=200, /* Content size will be written into frame header _whenever known_ (default:1) + * Content size must be known at the beginning of compression. + * This is automatically the case when using ZSTD_compress2(), + * For streaming scenarios, content size must be provided with ZSTD_CCtx_setPledgedSrcSize() */ + ZSTD_c_checksumFlag=201, /* A 32-bits checksum of content is written at end of frame (default:0) */ + ZSTD_c_dictIDFlag=202, /* When applicable, dictionary's ID is written into frame header (default:1) */ + + /* multi-threading parameters */ + /* These parameters are only useful if multi-threading is enabled (compiled with build macro ZSTD_MULTITHREAD). + * They return an error otherwise. */ + ZSTD_c_nbWorkers=400, /* Select how many threads will be spawned to compress in parallel. + * When nbWorkers >= 1, triggers asynchronous mode when used with ZSTD_compressStream*() : + * ZSTD_compressStream*() consumes input and flush output if possible, but immediately gives back control to caller, + * while compression work is performed in parallel, within worker threads. + * (note : a strong exception to this rule is when first invocation of ZSTD_compressStream2() sets ZSTD_e_end : + * in which case, ZSTD_compressStream2() delegates to ZSTD_compress2(), which is always a blocking call). + * More workers improve speed, but also increase memory usage. + * Default value is `0`, aka "single-threaded mode" : no worker is spawned, compression is performed inside Caller's thread, all invocations are blocking */ + ZSTD_c_jobSize=401, /* Size of a compression job. This value is enforced only when nbWorkers >= 1. + * Each compression job is completed in parallel, so this value can indirectly impact the nb of active threads. + * 0 means default, which is dynamically determined based on compression parameters. + * Job size must be a minimum of overlap size, or 1 MB, whichever is largest. + * The minimum size is automatically and transparently enforced. */ + ZSTD_c_overlapLog=402, /* Control the overlap size, as a fraction of window size. + * The overlap size is an amount of data reloaded from previous job at the beginning of a new job. + * It helps preserve compression ratio, while each job is compressed in parallel. + * This value is enforced only when nbWorkers >= 1. + * Larger values increase compression ratio, but decrease speed. + * Possible values range from 0 to 9 : + * - 0 means "default" : value will be determined by the library, depending on strategy + * - 1 means "no overlap" + * - 9 means "full overlap", using a full window size. + * Each intermediate rank increases/decreases load size by a factor 2 : + * 9: full window; 8: w/2; 7: w/4; 6: w/8; 5:w/16; 4: w/32; 3:w/64; 2:w/128; 1:no overlap; 0:default + * default value varies between 6 and 9, depending on strategy */ + + /* note : additional experimental parameters are also available + * within the experimental section of the API. + * At the time of this writing, they include : + * ZSTD_c_rsyncable + * ZSTD_c_format + * ZSTD_c_forceMaxWindow + * ZSTD_c_forceAttachDict + * ZSTD_c_literalCompressionMode + * ZSTD_c_targetCBlockSize + * ZSTD_c_srcSizeHint + * Because they are not stable, it's necessary to define ZSTD_STATIC_LINKING_ONLY to access them. + * note : never ever use experimentalParam? names directly; + * also, the enums values themselves are unstable and can still change. + */ + ZSTD_c_experimentalParam1=500, + ZSTD_c_experimentalParam2=10, + ZSTD_c_experimentalParam3=1000, + ZSTD_c_experimentalParam4=1001, + ZSTD_c_experimentalParam5=1002, + ZSTD_c_experimentalParam6=1003, + ZSTD_c_experimentalParam7=1004 +} ZSTD_cParameter; + +typedef struct { + size_t error; + int lowerBound; + int upperBound; +} ZSTD_bounds; + +/*! ZSTD_cParam_getBounds() : + * All parameters must belong to an interval with lower and upper bounds, + * otherwise they will either trigger an error or be automatically clamped. + * @return : a structure, ZSTD_bounds, which contains + * - an error status field, which must be tested using ZSTD_isError() + * - lower and upper bounds, both inclusive + */ +ZSTDLIB_API ZSTD_bounds ZSTD_cParam_getBounds(ZSTD_cParameter cParam); + +/*! ZSTD_CCtx_setParameter() : + * Set one compression parameter, selected by enum ZSTD_cParameter. + * All parameters have valid bounds. Bounds can be queried using ZSTD_cParam_getBounds(). + * Providing a value beyond bound will either clamp it, or trigger an error (depending on parameter). + * Setting a parameter is generally only possible during frame initialization (before starting compression). + * Exception : when using multi-threading mode (nbWorkers >= 1), + * the following parameters can be updated _during_ compression (within same frame): + * => compressionLevel, hashLog, chainLog, searchLog, minMatch, targetLength and strategy. + * new parameters will be active for next job only (after a flush()). + * @return : an error code (which can be tested using ZSTD_isError()). + */ +ZSTDLIB_API size_t ZSTD_CCtx_setParameter(ZSTD_CCtx* cctx, ZSTD_cParameter param, int value); + +/*! ZSTD_CCtx_setPledgedSrcSize() : + * Total input data size to be compressed as a single frame. + * Value will be written in frame header, unless if explicitly forbidden using ZSTD_c_contentSizeFlag. + * This value will also be controlled at end of frame, and trigger an error if not respected. + * @result : 0, or an error code (which can be tested with ZSTD_isError()). + * Note 1 : pledgedSrcSize==0 actually means zero, aka an empty frame. + * In order to mean "unknown content size", pass constant ZSTD_CONTENTSIZE_UNKNOWN. + * ZSTD_CONTENTSIZE_UNKNOWN is default value for any new frame. + * Note 2 : pledgedSrcSize is only valid once, for the next frame. + * It's discarded at the end of the frame, and replaced by ZSTD_CONTENTSIZE_UNKNOWN. + * Note 3 : Whenever all input data is provided and consumed in a single round, + * for example with ZSTD_compress2(), + * or invoking immediately ZSTD_compressStream2(,,,ZSTD_e_end), + * this value is automatically overridden by srcSize instead. + */ +ZSTDLIB_API size_t ZSTD_CCtx_setPledgedSrcSize(ZSTD_CCtx* cctx, unsigned long long pledgedSrcSize); + +typedef enum { + ZSTD_reset_session_only = 1, + ZSTD_reset_parameters = 2, + ZSTD_reset_session_and_parameters = 3 +} ZSTD_ResetDirective; + +/*! ZSTD_CCtx_reset() : + * There are 2 different things that can be reset, independently or jointly : + * - The session : will stop compressing current frame, and make CCtx ready to start a new one. + * Useful after an error, or to interrupt any ongoing compression. + * Any internal data not yet flushed is cancelled. + * Compression parameters and dictionary remain unchanged. + * They will be used to compress next frame. + * Resetting session never fails. + * - The parameters : changes all parameters back to "default". + * This removes any reference to any dictionary too. + * Parameters can only be changed between 2 sessions (i.e. no compression is currently ongoing) + * otherwise the reset fails, and function returns an error value (which can be tested using ZSTD_isError()) + * - Both : similar to resetting the session, followed by resetting parameters. + */ +ZSTDLIB_API size_t ZSTD_CCtx_reset(ZSTD_CCtx* cctx, ZSTD_ResetDirective reset); + +/*! ZSTD_compress2() : + * Behave the same as ZSTD_compressCCtx(), but compression parameters are set using the advanced API. + * ZSTD_compress2() always starts a new frame. + * Should cctx hold data from a previously unfinished frame, everything about it is forgotten. + * - Compression parameters are pushed into CCtx before starting compression, using ZSTD_CCtx_set*() + * - The function is always blocking, returns when compression is completed. + * Hint : compression runs faster if `dstCapacity` >= `ZSTD_compressBound(srcSize)`. + * @return : compressed size written into `dst` (<= `dstCapacity), + * or an error code if it fails (which can be tested using ZSTD_isError()). + */ +ZSTDLIB_API size_t ZSTD_compress2( ZSTD_CCtx* cctx, + void* dst, size_t dstCapacity, + const void* src, size_t srcSize); + + +/*************************************** +* Advanced decompression API +***************************************/ + +/* The advanced API pushes parameters one by one into an existing DCtx context. + * Parameters are sticky, and remain valid for all following frames + * using the same DCtx context. + * It's possible to reset parameters to default values using ZSTD_DCtx_reset(). + * Note : This API is compatible with existing ZSTD_decompressDCtx() and ZSTD_decompressStream(). + * Therefore, no new decompression function is necessary. + */ + +typedef enum { + + ZSTD_d_windowLogMax=100, /* Select a size limit (in power of 2) beyond which + * the streaming API will refuse to allocate memory buffer + * in order to protect the host from unreasonable memory requirements. + * This parameter is only useful in streaming mode, since no internal buffer is allocated in single-pass mode. + * By default, a decompression context accepts window sizes <= (1 << ZSTD_WINDOWLOG_LIMIT_DEFAULT). + * Special: value 0 means "use default maximum windowLog". */ + + /* note : additional experimental parameters are also available + * within the experimental section of the API. + * At the time of this writing, they include : + * ZSTD_d_format + * ZSTD_d_stableOutBuffer + * Because they are not stable, it's necessary to define ZSTD_STATIC_LINKING_ONLY to access them. + * note : never ever use experimentalParam? names directly + */ + ZSTD_d_experimentalParam1=1000, + ZSTD_d_experimentalParam2=1001 + +} ZSTD_dParameter; + +/*! ZSTD_dParam_getBounds() : + * All parameters must belong to an interval with lower and upper bounds, + * otherwise they will either trigger an error or be automatically clamped. + * @return : a structure, ZSTD_bounds, which contains + * - an error status field, which must be tested using ZSTD_isError() + * - both lower and upper bounds, inclusive + */ +ZSTDLIB_API ZSTD_bounds ZSTD_dParam_getBounds(ZSTD_dParameter dParam); + +/*! ZSTD_DCtx_setParameter() : + * Set one compression parameter, selected by enum ZSTD_dParameter. + * All parameters have valid bounds. Bounds can be queried using ZSTD_dParam_getBounds(). + * Providing a value beyond bound will either clamp it, or trigger an error (depending on parameter). + * Setting a parameter is only possible during frame initialization (before starting decompression). + * @return : 0, or an error code (which can be tested using ZSTD_isError()). + */ +ZSTDLIB_API size_t ZSTD_DCtx_setParameter(ZSTD_DCtx* dctx, ZSTD_dParameter param, int value); + +/*! ZSTD_DCtx_reset() : + * Return a DCtx to clean state. + * Session and parameters can be reset jointly or separately. + * Parameters can only be reset when no active frame is being decompressed. + * @return : 0, or an error code, which can be tested with ZSTD_isError() + */ +ZSTDLIB_API size_t ZSTD_DCtx_reset(ZSTD_DCtx* dctx, ZSTD_ResetDirective reset); + + +/**************************** +* Streaming +****************************/ + +typedef struct ZSTD_inBuffer_s { + const void* src; /**< start of input buffer */ + size_t size; /**< size of input buffer */ + size_t pos; /**< position where reading stopped. Will be updated. Necessarily 0 <= pos <= size */ +} ZSTD_inBuffer; + +typedef struct ZSTD_outBuffer_s { + void* dst; /**< start of output buffer */ + size_t size; /**< size of output buffer */ + size_t pos; /**< position where writing stopped. Will be updated. Necessarily 0 <= pos <= size */ +} ZSTD_outBuffer; + + + +/*-*********************************************************************** +* Streaming compression - HowTo +* +* A ZSTD_CStream object is required to track streaming operation. +* Use ZSTD_createCStream() and ZSTD_freeCStream() to create/release resources. +* ZSTD_CStream objects can be reused multiple times on consecutive compression operations. +* It is recommended to re-use ZSTD_CStream since it will play nicer with system's memory, by re-using already allocated memory. +* +* For parallel execution, use one separate ZSTD_CStream per thread. +* +* note : since v1.3.0, ZSTD_CStream and ZSTD_CCtx are the same thing. +* +* Parameters are sticky : when starting a new compression on the same context, +* it will re-use the same sticky parameters as previous compression session. +* When in doubt, it's recommended to fully initialize the context before usage. +* Use ZSTD_CCtx_reset() to reset the context and ZSTD_CCtx_setParameter(), +* ZSTD_CCtx_setPledgedSrcSize(), or ZSTD_CCtx_loadDictionary() and friends to +* set more specific parameters, the pledged source size, or load a dictionary. +* +* Use ZSTD_compressStream2() with ZSTD_e_continue as many times as necessary to +* consume input stream. The function will automatically update both `pos` +* fields within `input` and `output`. +* Note that the function may not consume the entire input, for example, because +* the output buffer is already full, in which case `input.pos < input.size`. +* The caller must check if input has been entirely consumed. +* If not, the caller must make some room to receive more compressed data, +* and then present again remaining input data. +* note: ZSTD_e_continue is guaranteed to make some forward progress when called, +* but doesn't guarantee maximal forward progress. This is especially relevant +* when compressing with multiple threads. The call won't block if it can +* consume some input, but if it can't it will wait for some, but not all, +* output to be flushed. +* @return : provides a minimum amount of data remaining to be flushed from internal buffers +* or an error code, which can be tested using ZSTD_isError(). +* +* At any moment, it's possible to flush whatever data might remain stuck within internal buffer, +* using ZSTD_compressStream2() with ZSTD_e_flush. `output->pos` will be updated. +* Note that, if `output->size` is too small, a single invocation with ZSTD_e_flush might not be enough (return code > 0). +* In which case, make some room to receive more compressed data, and call again ZSTD_compressStream2() with ZSTD_e_flush. +* You must continue calling ZSTD_compressStream2() with ZSTD_e_flush until it returns 0, at which point you can change the +* operation. +* note: ZSTD_e_flush will flush as much output as possible, meaning when compressing with multiple threads, it will +* block until the flush is complete or the output buffer is full. +* @return : 0 if internal buffers are entirely flushed, +* >0 if some data still present within internal buffer (the value is minimal estimation of remaining size), +* or an error code, which can be tested using ZSTD_isError(). +* +* Calling ZSTD_compressStream2() with ZSTD_e_end instructs to finish a frame. +* It will perform a flush and write frame epilogue. +* The epilogue is required for decoders to consider a frame completed. +* flush operation is the same, and follows same rules as calling ZSTD_compressStream2() with ZSTD_e_flush. +* You must continue calling ZSTD_compressStream2() with ZSTD_e_end until it returns 0, at which point you are free to +* start a new frame. +* note: ZSTD_e_end will flush as much output as possible, meaning when compressing with multiple threads, it will +* block until the flush is complete or the output buffer is full. +* @return : 0 if frame fully completed and fully flushed, +* >0 if some data still present within internal buffer (the value is minimal estimation of remaining size), +* or an error code, which can be tested using ZSTD_isError(). +* +* *******************************************************************/ + +typedef ZSTD_CCtx ZSTD_CStream; /**< CCtx and CStream are now effectively same object (>= v1.3.0) */ + /* Continue to distinguish them for compatibility with older versions <= v1.2.0 */ +/*===== ZSTD_CStream management functions =====*/ +ZSTDLIB_API ZSTD_CStream* ZSTD_createCStream(void); +ZSTDLIB_API size_t ZSTD_freeCStream(ZSTD_CStream* zcs); + +/*===== Streaming compression functions =====*/ +typedef enum { + ZSTD_e_continue=0, /* collect more data, encoder decides when to output compressed result, for optimal compression ratio */ + ZSTD_e_flush=1, /* flush any data provided so far, + * it creates (at least) one new block, that can be decoded immediately on reception; + * frame will continue: any future data can still reference previously compressed data, improving compression. + * note : multithreaded compression will block to flush as much output as possible. */ + ZSTD_e_end=2 /* flush any remaining data _and_ close current frame. + * note that frame is only closed after compressed data is fully flushed (return value == 0). + * After that point, any additional data starts a new frame. + * note : each frame is independent (does not reference any content from previous frame). + : note : multithreaded compression will block to flush as much output as possible. */ +} ZSTD_EndDirective; + +/*! ZSTD_compressStream2() : + * Behaves about the same as ZSTD_compressStream, with additional control on end directive. + * - Compression parameters are pushed into CCtx before starting compression, using ZSTD_CCtx_set*() + * - Compression parameters cannot be changed once compression is started (save a list of exceptions in multi-threading mode) + * - output->pos must be <= dstCapacity, input->pos must be <= srcSize + * - output->pos and input->pos will be updated. They are guaranteed to remain below their respective limit. + * - When nbWorkers==0 (default), function is blocking : it completes its job before returning to caller. + * - When nbWorkers>=1, function is non-blocking : it just acquires a copy of input, and distributes jobs to internal worker threads, flush whatever is available, + * and then immediately returns, just indicating that there is some data remaining to be flushed. + * The function nonetheless guarantees forward progress : it will return only after it reads or write at least 1+ byte. + * - Exception : if the first call requests a ZSTD_e_end directive and provides enough dstCapacity, the function delegates to ZSTD_compress2() which is always blocking. + * - @return provides a minimum amount of data remaining to be flushed from internal buffers + * or an error code, which can be tested using ZSTD_isError(). + * if @return != 0, flush is not fully completed, there is still some data left within internal buffers. + * This is useful for ZSTD_e_flush, since in this case more flushes are necessary to empty all buffers. + * For ZSTD_e_end, @return == 0 when internal buffers are fully flushed and frame is completed. + * - after a ZSTD_e_end directive, if internal buffer is not fully flushed (@return != 0), + * only ZSTD_e_end or ZSTD_e_flush operations are allowed. + * Before starting a new compression job, or changing compression parameters, + * it is required to fully flush internal buffers. + */ +ZSTDLIB_API size_t ZSTD_compressStream2( ZSTD_CCtx* cctx, + ZSTD_outBuffer* output, + ZSTD_inBuffer* input, + ZSTD_EndDirective endOp); + + +/* These buffer sizes are softly recommended. + * They are not required : ZSTD_compressStream*() happily accepts any buffer size, for both input and output. + * Respecting the recommended size just makes it a bit easier for ZSTD_compressStream*(), + * reducing the amount of memory shuffling and buffering, resulting in minor performance savings. + * + * However, note that these recommendations are from the perspective of a C caller program. + * If the streaming interface is invoked from some other language, + * especially managed ones such as Java or Go, through a foreign function interface such as jni or cgo, + * a major performance rule is to reduce crossing such interface to an absolute minimum. + * It's not rare that performance ends being spent more into the interface, rather than compression itself. + * In which cases, prefer using large buffers, as large as practical, + * for both input and output, to reduce the nb of roundtrips. + */ +ZSTDLIB_API size_t ZSTD_CStreamInSize(void); /**< recommended size for input buffer */ +ZSTDLIB_API size_t ZSTD_CStreamOutSize(void); /**< recommended size for output buffer. Guarantee to successfully flush at least one complete compressed block. */ + + +/* ***************************************************************************** + * This following is a legacy streaming API. + * It can be replaced by ZSTD_CCtx_reset() and ZSTD_compressStream2(). + * It is redundant, but remains fully supported. + * Advanced parameters and dictionary compression can only be used through the + * new API. + ******************************************************************************/ + +/*! + * Equivalent to: + * + * ZSTD_CCtx_reset(zcs, ZSTD_reset_session_only); + * ZSTD_CCtx_refCDict(zcs, NULL); // clear the dictionary (if any) + * ZSTD_CCtx_setParameter(zcs, ZSTD_c_compressionLevel, compressionLevel); + */ +ZSTDLIB_API size_t ZSTD_initCStream(ZSTD_CStream* zcs, int compressionLevel); +/*! + * Alternative for ZSTD_compressStream2(zcs, output, input, ZSTD_e_continue). + * NOTE: The return value is different. ZSTD_compressStream() returns a hint for + * the next read size (if non-zero and not an error). ZSTD_compressStream2() + * returns the minimum nb of bytes left to flush (if non-zero and not an error). + */ +ZSTDLIB_API size_t ZSTD_compressStream(ZSTD_CStream* zcs, ZSTD_outBuffer* output, ZSTD_inBuffer* input); +/*! Equivalent to ZSTD_compressStream2(zcs, output, &emptyInput, ZSTD_e_flush). */ +ZSTDLIB_API size_t ZSTD_flushStream(ZSTD_CStream* zcs, ZSTD_outBuffer* output); +/*! Equivalent to ZSTD_compressStream2(zcs, output, &emptyInput, ZSTD_e_end). */ +ZSTDLIB_API size_t ZSTD_endStream(ZSTD_CStream* zcs, ZSTD_outBuffer* output); + + +/*-*************************************************************************** +* Streaming decompression - HowTo +* +* A ZSTD_DStream object is required to track streaming operations. +* Use ZSTD_createDStream() and ZSTD_freeDStream() to create/release resources. +* ZSTD_DStream objects can be re-used multiple times. +* +* Use ZSTD_initDStream() to start a new decompression operation. +* @return : recommended first input size +* Alternatively, use advanced API to set specific properties. +* +* Use ZSTD_decompressStream() repetitively to consume your input. +* The function will update both `pos` fields. +* If `input.pos < input.size`, some input has not been consumed. +* It's up to the caller to present again remaining data. +* The function tries to flush all data decoded immediately, respecting output buffer size. +* If `output.pos < output.size`, decoder has flushed everything it could. +* But if `output.pos == output.size`, there might be some data left within internal buffers., +* In which case, call ZSTD_decompressStream() again to flush whatever remains in the buffer. +* Note : with no additional input provided, amount of data flushed is necessarily <= ZSTD_BLOCKSIZE_MAX. +* @return : 0 when a frame is completely decoded and fully flushed, +* or an error code, which can be tested using ZSTD_isError(), +* or any other value > 0, which means there is still some decoding or flushing to do to complete current frame : +* the return value is a suggested next input size (just a hint for better latency) +* that will never request more than the remaining frame size. +* *******************************************************************************/ + +typedef ZSTD_DCtx ZSTD_DStream; /**< DCtx and DStream are now effectively same object (>= v1.3.0) */ + /* For compatibility with versions <= v1.2.0, prefer differentiating them. */ +/*===== ZSTD_DStream management functions =====*/ +ZSTDLIB_API ZSTD_DStream* ZSTD_createDStream(void); +ZSTDLIB_API size_t ZSTD_freeDStream(ZSTD_DStream* zds); + +/*===== Streaming decompression functions =====*/ + +/* This function is redundant with the advanced API and equivalent to: + * + * ZSTD_DCtx_reset(zds, ZSTD_reset_session_only); + * ZSTD_DCtx_refDDict(zds, NULL); + */ +ZSTDLIB_API size_t ZSTD_initDStream(ZSTD_DStream* zds); + +ZSTDLIB_API size_t ZSTD_decompressStream(ZSTD_DStream* zds, ZSTD_outBuffer* output, ZSTD_inBuffer* input); + +ZSTDLIB_API size_t ZSTD_DStreamInSize(void); /*!< recommended size for input buffer */ +ZSTDLIB_API size_t ZSTD_DStreamOutSize(void); /*!< recommended size for output buffer. Guarantee to successfully flush at least one complete block in all circumstances. */ + + +/************************** +* Simple dictionary API +***************************/ +/*! ZSTD_compress_usingDict() : + * Compression at an explicit compression level using a Dictionary. + * A dictionary can be any arbitrary data segment (also called a prefix), + * or a buffer with specified information (see dictBuilder/zdict.h). + * Note : This function loads the dictionary, resulting in significant startup delay. + * It's intended for a dictionary used only once. + * Note 2 : When `dict == NULL || dictSize < 8` no dictionary is used. */ +ZSTDLIB_API size_t ZSTD_compress_usingDict(ZSTD_CCtx* ctx, + void* dst, size_t dstCapacity, + const void* src, size_t srcSize, + const void* dict,size_t dictSize, + int compressionLevel); + +/*! ZSTD_decompress_usingDict() : + * Decompression using a known Dictionary. + * Dictionary must be identical to the one used during compression. + * Note : This function loads the dictionary, resulting in significant startup delay. + * It's intended for a dictionary used only once. + * Note : When `dict == NULL || dictSize < 8` no dictionary is used. */ +ZSTDLIB_API size_t ZSTD_decompress_usingDict(ZSTD_DCtx* dctx, + void* dst, size_t dstCapacity, + const void* src, size_t srcSize, + const void* dict,size_t dictSize); + + +/*********************************** + * Bulk processing dictionary API + **********************************/ +typedef struct ZSTD_CDict_s ZSTD_CDict; + +/*! ZSTD_createCDict() : + * When compressing multiple messages or blocks using the same dictionary, + * it's recommended to digest the dictionary only once, since it's a costly operation. + * ZSTD_createCDict() will create a state from digesting a dictionary. + * The resulting state can be used for future compression operations with very limited startup cost. + * ZSTD_CDict can be created once and shared by multiple threads concurrently, since its usage is read-only. + * @dictBuffer can be released after ZSTD_CDict creation, because its content is copied within CDict. + * Note 1 : Consider experimental function `ZSTD_createCDict_byReference()` if you prefer to not duplicate @dictBuffer content. + * Note 2 : A ZSTD_CDict can be created from an empty @dictBuffer, + * in which case the only thing that it transports is the @compressionLevel. + * This can be useful in a pipeline featuring ZSTD_compress_usingCDict() exclusively, + * expecting a ZSTD_CDict parameter with any data, including those without a known dictionary. */ +ZSTDLIB_API ZSTD_CDict* ZSTD_createCDict(const void* dictBuffer, size_t dictSize, + int compressionLevel); + +/*! ZSTD_freeCDict() : + * Function frees memory allocated by ZSTD_createCDict(). */ +ZSTDLIB_API size_t ZSTD_freeCDict(ZSTD_CDict* CDict); + +/*! ZSTD_compress_usingCDict() : + * Compression using a digested Dictionary. + * Recommended when same dictionary is used multiple times. + * Note : compression level is _decided at dictionary creation time_, + * and frame parameters are hardcoded (dictID=yes, contentSize=yes, checksum=no) */ +ZSTDLIB_API size_t ZSTD_compress_usingCDict(ZSTD_CCtx* cctx, + void* dst, size_t dstCapacity, + const void* src, size_t srcSize, + const ZSTD_CDict* cdict); + + +typedef struct ZSTD_DDict_s ZSTD_DDict; + +/*! ZSTD_createDDict() : + * Create a digested dictionary, ready to start decompression operation without startup delay. + * dictBuffer can be released after DDict creation, as its content is copied inside DDict. */ +ZSTDLIB_API ZSTD_DDict* ZSTD_createDDict(const void* dictBuffer, size_t dictSize); + +/*! ZSTD_freeDDict() : + * Function frees memory allocated with ZSTD_createDDict() */ +ZSTDLIB_API size_t ZSTD_freeDDict(ZSTD_DDict* ddict); + +/*! ZSTD_decompress_usingDDict() : + * Decompression using a digested Dictionary. + * Recommended when same dictionary is used multiple times. */ +ZSTDLIB_API size_t ZSTD_decompress_usingDDict(ZSTD_DCtx* dctx, + void* dst, size_t dstCapacity, + const void* src, size_t srcSize, + const ZSTD_DDict* ddict); + + +/******************************** + * Dictionary helper functions + *******************************/ + +/*! ZSTD_getDictID_fromDict() : + * Provides the dictID stored within dictionary. + * if @return == 0, the dictionary is not conformant with Zstandard specification. + * It can still be loaded, but as a content-only dictionary. */ +ZSTDLIB_API unsigned ZSTD_getDictID_fromDict(const void* dict, size_t dictSize); + +/*! ZSTD_getDictID_fromDDict() : + * Provides the dictID of the dictionary loaded into `ddict`. + * If @return == 0, the dictionary is not conformant to Zstandard specification, or empty. + * Non-conformant dictionaries can still be loaded, but as content-only dictionaries. */ +ZSTDLIB_API unsigned ZSTD_getDictID_fromDDict(const ZSTD_DDict* ddict); + +/*! ZSTD_getDictID_fromFrame() : + * Provides the dictID required to decompressed the frame stored within `src`. + * If @return == 0, the dictID could not be decoded. + * This could for one of the following reasons : + * - The frame does not require a dictionary to be decoded (most common case). + * - The frame was built with dictID intentionally removed. Whatever dictionary is necessary is a hidden information. + * Note : this use case also happens when using a non-conformant dictionary. + * - `srcSize` is too small, and as a result, the frame header could not be decoded (only possible if `srcSize < ZSTD_FRAMEHEADERSIZE_MAX`). + * - This is not a Zstandard frame. + * When identifying the exact failure cause, it's possible to use ZSTD_getFrameHeader(), which will provide a more precise error code. */ +ZSTDLIB_API unsigned ZSTD_getDictID_fromFrame(const void* src, size_t srcSize); + + +/******************************************************************************* + * Advanced dictionary and prefix API + * + * This API allows dictionaries to be used with ZSTD_compress2(), + * ZSTD_compressStream2(), and ZSTD_decompress(). Dictionaries are sticky, and + * only reset with the context is reset with ZSTD_reset_parameters or + * ZSTD_reset_session_and_parameters. Prefixes are single-use. + ******************************************************************************/ + + +/*! ZSTD_CCtx_loadDictionary() : + * Create an internal CDict from `dict` buffer. + * Decompression will have to use same dictionary. + * @result : 0, or an error code (which can be tested with ZSTD_isError()). + * Special: Loading a NULL (or 0-size) dictionary invalidates previous dictionary, + * meaning "return to no-dictionary mode". + * Note 1 : Dictionary is sticky, it will be used for all future compressed frames. + * To return to "no-dictionary" situation, load a NULL dictionary (or reset parameters). + * Note 2 : Loading a dictionary involves building tables. + * It's also a CPU consuming operation, with non-negligible impact on latency. + * Tables are dependent on compression parameters, and for this reason, + * compression parameters can no longer be changed after loading a dictionary. + * Note 3 :`dict` content will be copied internally. + * Use experimental ZSTD_CCtx_loadDictionary_byReference() to reference content instead. + * In such a case, dictionary buffer must outlive its users. + * Note 4 : Use ZSTD_CCtx_loadDictionary_advanced() + * to precisely select how dictionary content must be interpreted. */ +ZSTDLIB_API size_t ZSTD_CCtx_loadDictionary(ZSTD_CCtx* cctx, const void* dict, size_t dictSize); + +/*! ZSTD_CCtx_refCDict() : + * Reference a prepared dictionary, to be used for all next compressed frames. + * Note that compression parameters are enforced from within CDict, + * and supersede any compression parameter previously set within CCtx. + * The parameters ignored are labled as "superseded-by-cdict" in the ZSTD_cParameter enum docs. + * The ignored parameters will be used again if the CCtx is returned to no-dictionary mode. + * The dictionary will remain valid for future compressed frames using same CCtx. + * @result : 0, or an error code (which can be tested with ZSTD_isError()). + * Special : Referencing a NULL CDict means "return to no-dictionary mode". + * Note 1 : Currently, only one dictionary can be managed. + * Referencing a new dictionary effectively "discards" any previous one. + * Note 2 : CDict is just referenced, its lifetime must outlive its usage within CCtx. */ +ZSTDLIB_API size_t ZSTD_CCtx_refCDict(ZSTD_CCtx* cctx, const ZSTD_CDict* cdict); + +/*! ZSTD_CCtx_refPrefix() : + * Reference a prefix (single-usage dictionary) for next compressed frame. + * A prefix is **only used once**. Tables are discarded at end of frame (ZSTD_e_end). + * Decompression will need same prefix to properly regenerate data. + * Compressing with a prefix is similar in outcome as performing a diff and compressing it, + * but performs much faster, especially during decompression (compression speed is tunable with compression level). + * @result : 0, or an error code (which can be tested with ZSTD_isError()). + * Special: Adding any prefix (including NULL) invalidates any previous prefix or dictionary + * Note 1 : Prefix buffer is referenced. It **must** outlive compression. + * Its content must remain unmodified during compression. + * Note 2 : If the intention is to diff some large src data blob with some prior version of itself, + * ensure that the window size is large enough to contain the entire source. + * See ZSTD_c_windowLog. + * Note 3 : Referencing a prefix involves building tables, which are dependent on compression parameters. + * It's a CPU consuming operation, with non-negligible impact on latency. + * If there is a need to use the same prefix multiple times, consider loadDictionary instead. + * Note 4 : By default, the prefix is interpreted as raw content (ZSTD_dct_rawContent). + * Use experimental ZSTD_CCtx_refPrefix_advanced() to alter dictionary interpretation. */ +ZSTDLIB_API size_t ZSTD_CCtx_refPrefix(ZSTD_CCtx* cctx, + const void* prefix, size_t prefixSize); + +/*! ZSTD_DCtx_loadDictionary() : + * Create an internal DDict from dict buffer, + * to be used to decompress next frames. + * The dictionary remains valid for all future frames, until explicitly invalidated. + * @result : 0, or an error code (which can be tested with ZSTD_isError()). + * Special : Adding a NULL (or 0-size) dictionary invalidates any previous dictionary, + * meaning "return to no-dictionary mode". + * Note 1 : Loading a dictionary involves building tables, + * which has a non-negligible impact on CPU usage and latency. + * It's recommended to "load once, use many times", to amortize the cost + * Note 2 :`dict` content will be copied internally, so `dict` can be released after loading. + * Use ZSTD_DCtx_loadDictionary_byReference() to reference dictionary content instead. + * Note 3 : Use ZSTD_DCtx_loadDictionary_advanced() to take control of + * how dictionary content is loaded and interpreted. + */ +ZSTDLIB_API size_t ZSTD_DCtx_loadDictionary(ZSTD_DCtx* dctx, const void* dict, size_t dictSize); + +/*! ZSTD_DCtx_refDDict() : + * Reference a prepared dictionary, to be used to decompress next frames. + * The dictionary remains active for decompression of future frames using same DCtx. + * @result : 0, or an error code (which can be tested with ZSTD_isError()). + * Note 1 : Currently, only one dictionary can be managed. + * Referencing a new dictionary effectively "discards" any previous one. + * Special: referencing a NULL DDict means "return to no-dictionary mode". + * Note 2 : DDict is just referenced, its lifetime must outlive its usage from DCtx. + */ +ZSTDLIB_API size_t ZSTD_DCtx_refDDict(ZSTD_DCtx* dctx, const ZSTD_DDict* ddict); + +/*! ZSTD_DCtx_refPrefix() : + * Reference a prefix (single-usage dictionary) to decompress next frame. + * This is the reverse operation of ZSTD_CCtx_refPrefix(), + * and must use the same prefix as the one used during compression. + * Prefix is **only used once**. Reference is discarded at end of frame. + * End of frame is reached when ZSTD_decompressStream() returns 0. + * @result : 0, or an error code (which can be tested with ZSTD_isError()). + * Note 1 : Adding any prefix (including NULL) invalidates any previously set prefix or dictionary + * Note 2 : Prefix buffer is referenced. It **must** outlive decompression. + * Prefix buffer must remain unmodified up to the end of frame, + * reached when ZSTD_decompressStream() returns 0. + * Note 3 : By default, the prefix is treated as raw content (ZSTD_dct_rawContent). + * Use ZSTD_CCtx_refPrefix_advanced() to alter dictMode (Experimental section) + * Note 4 : Referencing a raw content prefix has almost no cpu nor memory cost. + * A full dictionary is more costly, as it requires building tables. + */ +ZSTDLIB_API size_t ZSTD_DCtx_refPrefix(ZSTD_DCtx* dctx, + const void* prefix, size_t prefixSize); + +/* === Memory management === */ + +/*! ZSTD_sizeof_*() : + * These functions give the _current_ memory usage of selected object. + * Note that object memory usage can evolve (increase or decrease) over time. */ +ZSTDLIB_API size_t ZSTD_sizeof_CCtx(const ZSTD_CCtx* cctx); +ZSTDLIB_API size_t ZSTD_sizeof_DCtx(const ZSTD_DCtx* dctx); +ZSTDLIB_API size_t ZSTD_sizeof_CStream(const ZSTD_CStream* zcs); +ZSTDLIB_API size_t ZSTD_sizeof_DStream(const ZSTD_DStream* zds); +ZSTDLIB_API size_t ZSTD_sizeof_CDict(const ZSTD_CDict* cdict); +ZSTDLIB_API size_t ZSTD_sizeof_DDict(const ZSTD_DDict* ddict); + +#endif /* ZSTD_H_235446 */ + + +/* ************************************************************************************** + * ADVANCED AND EXPERIMENTAL FUNCTIONS + **************************************************************************************** + * The definitions in the following section are considered experimental. + * They are provided for advanced scenarios. + * They should never be used with a dynamic library, as prototypes may change in the future. + * Use them only in association with static linking. + * ***************************************************************************************/ + +#if defined(ZSTD_STATIC_LINKING_ONLY) && !defined(ZSTD_H_ZSTD_STATIC_LINKING_ONLY) +#define ZSTD_H_ZSTD_STATIC_LINKING_ONLY + +/**************************************************************************************** + * experimental API (static linking only) + **************************************************************************************** + * The following symbols and constants + * are not planned to join "stable API" status in the near future. + * They can still change in future versions. + * Some of them are planned to remain in the static_only section indefinitely. + * Some of them might be removed in the future (especially when redundant with existing stable functions) + * ***************************************************************************************/ + +#define ZSTD_FRAMEHEADERSIZE_PREFIX(format) ((format) == ZSTD_f_zstd1 ? 5 : 1) /* minimum input size required to query frame header size */ +#define ZSTD_FRAMEHEADERSIZE_MIN(format) ((format) == ZSTD_f_zstd1 ? 6 : 2) +#define ZSTD_FRAMEHEADERSIZE_MAX 18 /* can be useful for static allocation */ +#define ZSTD_SKIPPABLEHEADERSIZE 8 + +/* compression parameter bounds */ +#define ZSTD_WINDOWLOG_MAX_32 30 +#define ZSTD_WINDOWLOG_MAX_64 31 +#define ZSTD_WINDOWLOG_MAX ((int)(sizeof(size_t) == 4 ? ZSTD_WINDOWLOG_MAX_32 : ZSTD_WINDOWLOG_MAX_64)) +#define ZSTD_WINDOWLOG_MIN 10 +#define ZSTD_HASHLOG_MAX ((ZSTD_WINDOWLOG_MAX < 30) ? ZSTD_WINDOWLOG_MAX : 30) +#define ZSTD_HASHLOG_MIN 6 +#define ZSTD_CHAINLOG_MAX_32 29 +#define ZSTD_CHAINLOG_MAX_64 30 +#define ZSTD_CHAINLOG_MAX ((int)(sizeof(size_t) == 4 ? ZSTD_CHAINLOG_MAX_32 : ZSTD_CHAINLOG_MAX_64)) +#define ZSTD_CHAINLOG_MIN ZSTD_HASHLOG_MIN +#define ZSTD_SEARCHLOG_MAX (ZSTD_WINDOWLOG_MAX-1) +#define ZSTD_SEARCHLOG_MIN 1 +#define ZSTD_MINMATCH_MAX 7 /* only for ZSTD_fast, other strategies are limited to 6 */ +#define ZSTD_MINMATCH_MIN 3 /* only for ZSTD_btopt+, faster strategies are limited to 4 */ +#define ZSTD_TARGETLENGTH_MAX ZSTD_BLOCKSIZE_MAX +#define ZSTD_TARGETLENGTH_MIN 0 /* note : comparing this constant to an unsigned results in a tautological test */ +#define ZSTD_STRATEGY_MIN ZSTD_fast +#define ZSTD_STRATEGY_MAX ZSTD_btultra2 + + +#define ZSTD_OVERLAPLOG_MIN 0 +#define ZSTD_OVERLAPLOG_MAX 9 + +#define ZSTD_WINDOWLOG_LIMIT_DEFAULT 27 /* by default, the streaming decoder will refuse any frame + * requiring larger than (1< 3, then this is seqDef.offset - 3 + * If seqDef.offset < 3, then this is the corresponding repeat offset + * But if seqDef.offset < 3 and litLength == 0, this is the + * repeat offset before the corresponding repeat offset + * And if seqDef.offset == 3 and litLength == 0, this is the + * most recent repeat offset - 1 + */ + unsigned int offset; + unsigned int litLength; /* Literal length */ + unsigned int matchLength; /* Match length */ + /* 0 when seq not rep and seqDef.offset otherwise + * when litLength == 0 this will be <= 4, otherwise <= 3 like normal + */ + unsigned int rep; +} ZSTD_Sequence; + +typedef struct { + unsigned windowLog; /**< largest match distance : larger == more compression, more memory needed during decompression */ + unsigned chainLog; /**< fully searched segment : larger == more compression, slower, more memory (useless for fast) */ + unsigned hashLog; /**< dispatch table : larger == faster, more memory */ + unsigned searchLog; /**< nb of searches : larger == more compression, slower */ + unsigned minMatch; /**< match length searched : larger == faster decompression, sometimes less compression */ + unsigned targetLength; /**< acceptable match size for optimal parser (only) : larger == more compression, slower */ + ZSTD_strategy strategy; /**< see ZSTD_strategy definition above */ +} ZSTD_compressionParameters; + +typedef struct { + int contentSizeFlag; /**< 1: content size will be in frame header (when known) */ + int checksumFlag; /**< 1: generate a 32-bits checksum using XXH64 algorithm at end of frame, for error detection */ + int noDictIDFlag; /**< 1: no dictID will be saved into frame header (dictID is only useful for dictionary compression) */ +} ZSTD_frameParameters; + +typedef struct { + ZSTD_compressionParameters cParams; + ZSTD_frameParameters fParams; +} ZSTD_parameters; + +typedef enum { + ZSTD_dct_auto = 0, /* dictionary is "full" when starting with ZSTD_MAGIC_DICTIONARY, otherwise it is "rawContent" */ + ZSTD_dct_rawContent = 1, /* ensures dictionary is always loaded as rawContent, even if it starts with ZSTD_MAGIC_DICTIONARY */ + ZSTD_dct_fullDict = 2 /* refuses to load a dictionary if it does not respect Zstandard's specification, starting with ZSTD_MAGIC_DICTIONARY */ +} ZSTD_dictContentType_e; + +typedef enum { + ZSTD_dlm_byCopy = 0, /**< Copy dictionary content internally */ + ZSTD_dlm_byRef = 1 /**< Reference dictionary content -- the dictionary buffer must outlive its users. */ +} ZSTD_dictLoadMethod_e; + +typedef enum { + ZSTD_f_zstd1 = 0, /* zstd frame format, specified in zstd_compression_format.md (default) */ + ZSTD_f_zstd1_magicless = 1 /* Variant of zstd frame format, without initial 4-bytes magic number. + * Useful to save 4 bytes per generated frame. + * Decoder cannot recognise automatically this format, requiring this instruction. */ +} ZSTD_format_e; + +typedef enum { + /* Note: this enum and the behavior it controls are effectively internal + * implementation details of the compressor. They are expected to continue + * to evolve and should be considered only in the context of extremely + * advanced performance tuning. + * + * Zstd currently supports the use of a CDict in three ways: + * + * - The contents of the CDict can be copied into the working context. This + * means that the compression can search both the dictionary and input + * while operating on a single set of internal tables. This makes + * the compression faster per-byte of input. However, the initial copy of + * the CDict's tables incurs a fixed cost at the beginning of the + * compression. For small compressions (< 8 KB), that copy can dominate + * the cost of the compression. + * + * - The CDict's tables can be used in-place. In this model, compression is + * slower per input byte, because the compressor has to search two sets of + * tables. However, this model incurs no start-up cost (as long as the + * working context's tables can be reused). For small inputs, this can be + * faster than copying the CDict's tables. + * + * - The CDict's tables are not used at all, and instead we use the working + * context alone to reload the dictionary and use params based on the source + * size. See ZSTD_compress_insertDictionary() and ZSTD_compress_usingDict(). + * This method is effective when the dictionary sizes are very small relative + * to the input size, and the input size is fairly large to begin with. + * + * Zstd has a simple internal heuristic that selects which strategy to use + * at the beginning of a compression. However, if experimentation shows that + * Zstd is making poor choices, it is possible to override that choice with + * this enum. + */ + ZSTD_dictDefaultAttach = 0, /* Use the default heuristic. */ + ZSTD_dictForceAttach = 1, /* Never copy the dictionary. */ + ZSTD_dictForceCopy = 2, /* Always copy the dictionary. */ + ZSTD_dictForceLoad = 3 /* Always reload the dictionary */ +} ZSTD_dictAttachPref_e; + +typedef enum { + ZSTD_lcm_auto = 0, /**< Automatically determine the compression mode based on the compression level. + * Negative compression levels will be uncompressed, and positive compression + * levels will be compressed. */ + ZSTD_lcm_huffman = 1, /**< Always attempt Huffman compression. Uncompressed literals will still be + * emitted if Huffman compression is not profitable. */ + ZSTD_lcm_uncompressed = 2 /**< Always emit uncompressed literals. */ +} ZSTD_literalCompressionMode_e; + + +/*************************************** +* Frame size functions +***************************************/ + +/*! ZSTD_findDecompressedSize() : + * `src` should point to the start of a series of ZSTD encoded and/or skippable frames + * `srcSize` must be the _exact_ size of this series + * (i.e. there should be a frame boundary at `src + srcSize`) + * @return : - decompressed size of all data in all successive frames + * - if the decompressed size cannot be determined: ZSTD_CONTENTSIZE_UNKNOWN + * - if an error occurred: ZSTD_CONTENTSIZE_ERROR + * + * note 1 : decompressed size is an optional field, that may not be present, especially in streaming mode. + * When `return==ZSTD_CONTENTSIZE_UNKNOWN`, data to decompress could be any size. + * In which case, it's necessary to use streaming mode to decompress data. + * note 2 : decompressed size is always present when compression is done with ZSTD_compress() + * note 3 : decompressed size can be very large (64-bits value), + * potentially larger than what local system can handle as a single memory segment. + * In which case, it's necessary to use streaming mode to decompress data. + * note 4 : If source is untrusted, decompressed size could be wrong or intentionally modified. + * Always ensure result fits within application's authorized limits. + * Each application can set its own limits. + * note 5 : ZSTD_findDecompressedSize handles multiple frames, and so it must traverse the input to + * read each contained frame header. This is fast as most of the data is skipped, + * however it does mean that all frame data must be present and valid. */ +ZSTDLIB_API unsigned long long ZSTD_findDecompressedSize(const void* src, size_t srcSize); + +/*! ZSTD_decompressBound() : + * `src` should point to the start of a series of ZSTD encoded and/or skippable frames + * `srcSize` must be the _exact_ size of this series + * (i.e. there should be a frame boundary at `src + srcSize`) + * @return : - upper-bound for the decompressed size of all data in all successive frames + * - if an error occured: ZSTD_CONTENTSIZE_ERROR + * + * note 1 : an error can occur if `src` contains an invalid or incorrectly formatted frame. + * note 2 : the upper-bound is exact when the decompressed size field is available in every ZSTD encoded frame of `src`. + * in this case, `ZSTD_findDecompressedSize` and `ZSTD_decompressBound` return the same value. + * note 3 : when the decompressed size field isn't available, the upper-bound for that frame is calculated by: + * upper-bound = # blocks * min(128 KB, Window_Size) + */ +ZSTDLIB_API unsigned long long ZSTD_decompressBound(const void* src, size_t srcSize); + +/*! ZSTD_frameHeaderSize() : + * srcSize must be >= ZSTD_FRAMEHEADERSIZE_PREFIX. + * @return : size of the Frame Header, + * or an error code (if srcSize is too small) */ +ZSTDLIB_API size_t ZSTD_frameHeaderSize(const void* src, size_t srcSize); + +/*! ZSTD_getSequences() : + * Extract sequences from the sequence store + * zc can be used to insert custom compression params. + * This function invokes ZSTD_compress2 + * @return : number of sequences extracted + */ +ZSTDLIB_API size_t ZSTD_getSequences(ZSTD_CCtx* zc, ZSTD_Sequence* outSeqs, + size_t outSeqsSize, const void* src, size_t srcSize); + + +/*************************************** +* Memory management +***************************************/ + +/*! ZSTD_estimate*() : + * These functions make it possible to estimate memory usage + * of a future {D,C}Ctx, before its creation. + * + * ZSTD_estimateCCtxSize() will provide a memory budget large enough + * for any compression level up to selected one. + * Note : Unlike ZSTD_estimateCStreamSize*(), this estimate + * does not include space for a window buffer. + * Therefore, the estimation is only guaranteed for single-shot compressions, not streaming. + * The estimate will assume the input may be arbitrarily large, + * which is the worst case. + * + * When srcSize can be bound by a known and rather "small" value, + * this fact can be used to provide a tighter estimation + * because the CCtx compression context will need less memory. + * This tighter estimation can be provided by more advanced functions + * ZSTD_estimateCCtxSize_usingCParams(), which can be used in tandem with ZSTD_getCParams(), + * and ZSTD_estimateCCtxSize_usingCCtxParams(), which can be used in tandem with ZSTD_CCtxParams_setParameter(). + * Both can be used to estimate memory using custom compression parameters and arbitrary srcSize limits. + * + * Note 2 : only single-threaded compression is supported. + * ZSTD_estimateCCtxSize_usingCCtxParams() will return an error code if ZSTD_c_nbWorkers is >= 1. + */ +ZSTDLIB_API size_t ZSTD_estimateCCtxSize(int compressionLevel); +ZSTDLIB_API size_t ZSTD_estimateCCtxSize_usingCParams(ZSTD_compressionParameters cParams); +ZSTDLIB_API size_t ZSTD_estimateCCtxSize_usingCCtxParams(const ZSTD_CCtx_params* params); +ZSTDLIB_API size_t ZSTD_estimateDCtxSize(void); + +/*! ZSTD_estimateCStreamSize() : + * ZSTD_estimateCStreamSize() will provide a budget large enough for any compression level up to selected one. + * It will also consider src size to be arbitrarily "large", which is worst case. + * If srcSize is known to always be small, ZSTD_estimateCStreamSize_usingCParams() can provide a tighter estimation. + * ZSTD_estimateCStreamSize_usingCParams() can be used in tandem with ZSTD_getCParams() to create cParams from compressionLevel. + * ZSTD_estimateCStreamSize_usingCCtxParams() can be used in tandem with ZSTD_CCtxParams_setParameter(). Only single-threaded compression is supported. This function will return an error code if ZSTD_c_nbWorkers is >= 1. + * Note : CStream size estimation is only correct for single-threaded compression. + * ZSTD_DStream memory budget depends on window Size. + * This information can be passed manually, using ZSTD_estimateDStreamSize, + * or deducted from a valid frame Header, using ZSTD_estimateDStreamSize_fromFrame(); + * Note : if streaming is init with function ZSTD_init?Stream_usingDict(), + * an internal ?Dict will be created, which additional size is not estimated here. + * In this case, get total size by adding ZSTD_estimate?DictSize */ +ZSTDLIB_API size_t ZSTD_estimateCStreamSize(int compressionLevel); +ZSTDLIB_API size_t ZSTD_estimateCStreamSize_usingCParams(ZSTD_compressionParameters cParams); +ZSTDLIB_API size_t ZSTD_estimateCStreamSize_usingCCtxParams(const ZSTD_CCtx_params* params); +ZSTDLIB_API size_t ZSTD_estimateDStreamSize(size_t windowSize); +ZSTDLIB_API size_t ZSTD_estimateDStreamSize_fromFrame(const void* src, size_t srcSize); + +/*! ZSTD_estimate?DictSize() : + * ZSTD_estimateCDictSize() will bet that src size is relatively "small", and content is copied, like ZSTD_createCDict(). + * ZSTD_estimateCDictSize_advanced() makes it possible to control compression parameters precisely, like ZSTD_createCDict_advanced(). + * Note : dictionaries created by reference (`ZSTD_dlm_byRef`) are logically smaller. + */ +ZSTDLIB_API size_t ZSTD_estimateCDictSize(size_t dictSize, int compressionLevel); +ZSTDLIB_API size_t ZSTD_estimateCDictSize_advanced(size_t dictSize, ZSTD_compressionParameters cParams, ZSTD_dictLoadMethod_e dictLoadMethod); +ZSTDLIB_API size_t ZSTD_estimateDDictSize(size_t dictSize, ZSTD_dictLoadMethod_e dictLoadMethod); + +/*! ZSTD_initStatic*() : + * Initialize an object using a pre-allocated fixed-size buffer. + * workspace: The memory area to emplace the object into. + * Provided pointer *must be 8-bytes aligned*. + * Buffer must outlive object. + * workspaceSize: Use ZSTD_estimate*Size() to determine + * how large workspace must be to support target scenario. + * @return : pointer to object (same address as workspace, just different type), + * or NULL if error (size too small, incorrect alignment, etc.) + * Note : zstd will never resize nor malloc() when using a static buffer. + * If the object requires more memory than available, + * zstd will just error out (typically ZSTD_error_memory_allocation). + * Note 2 : there is no corresponding "free" function. + * Since workspace is allocated externally, it must be freed externally too. + * Note 3 : cParams : use ZSTD_getCParams() to convert a compression level + * into its associated cParams. + * Limitation 1 : currently not compatible with internal dictionary creation, triggered by + * ZSTD_CCtx_loadDictionary(), ZSTD_initCStream_usingDict() or ZSTD_initDStream_usingDict(). + * Limitation 2 : static cctx currently not compatible with multi-threading. + * Limitation 3 : static dctx is incompatible with legacy support. + */ +ZSTDLIB_API ZSTD_CCtx* ZSTD_initStaticCCtx(void* workspace, size_t workspaceSize); +ZSTDLIB_API ZSTD_CStream* ZSTD_initStaticCStream(void* workspace, size_t workspaceSize); /**< same as ZSTD_initStaticCCtx() */ + +ZSTDLIB_API ZSTD_DCtx* ZSTD_initStaticDCtx(void* workspace, size_t workspaceSize); +ZSTDLIB_API ZSTD_DStream* ZSTD_initStaticDStream(void* workspace, size_t workspaceSize); /**< same as ZSTD_initStaticDCtx() */ + +ZSTDLIB_API const ZSTD_CDict* ZSTD_initStaticCDict( + void* workspace, size_t workspaceSize, + const void* dict, size_t dictSize, + ZSTD_dictLoadMethod_e dictLoadMethod, + ZSTD_dictContentType_e dictContentType, + ZSTD_compressionParameters cParams); + +ZSTDLIB_API const ZSTD_DDict* ZSTD_initStaticDDict( + void* workspace, size_t workspaceSize, + const void* dict, size_t dictSize, + ZSTD_dictLoadMethod_e dictLoadMethod, + ZSTD_dictContentType_e dictContentType); + + +/*! Custom memory allocation : + * These prototypes make it possible to pass your own allocation/free functions. + * ZSTD_customMem is provided at creation time, using ZSTD_create*_advanced() variants listed below. + * All allocation/free operations will be completed using these custom variants instead of regular ones. + */ +typedef void* (*ZSTD_allocFunction) (void* opaque, size_t size); +typedef void (*ZSTD_freeFunction) (void* opaque, void* address); +typedef struct { ZSTD_allocFunction customAlloc; ZSTD_freeFunction customFree; void* opaque; } ZSTD_customMem; +static ZSTD_customMem const ZSTD_defaultCMem = { NULL, NULL, NULL }; /**< this constant defers to stdlib's functions */ + +ZSTDLIB_API ZSTD_CCtx* ZSTD_createCCtx_advanced(ZSTD_customMem customMem); +ZSTDLIB_API ZSTD_CStream* ZSTD_createCStream_advanced(ZSTD_customMem customMem); +ZSTDLIB_API ZSTD_DCtx* ZSTD_createDCtx_advanced(ZSTD_customMem customMem); +ZSTDLIB_API ZSTD_DStream* ZSTD_createDStream_advanced(ZSTD_customMem customMem); + +ZSTDLIB_API ZSTD_CDict* ZSTD_createCDict_advanced(const void* dict, size_t dictSize, + ZSTD_dictLoadMethod_e dictLoadMethod, + ZSTD_dictContentType_e dictContentType, + ZSTD_compressionParameters cParams, + ZSTD_customMem customMem); + +ZSTDLIB_API ZSTD_DDict* ZSTD_createDDict_advanced(const void* dict, size_t dictSize, + ZSTD_dictLoadMethod_e dictLoadMethod, + ZSTD_dictContentType_e dictContentType, + ZSTD_customMem customMem); + + + +/*************************************** +* Advanced compression functions +***************************************/ + +/*! ZSTD_createCDict_byReference() : + * Create a digested dictionary for compression + * Dictionary content is just referenced, not duplicated. + * As a consequence, `dictBuffer` **must** outlive CDict, + * and its content must remain unmodified throughout the lifetime of CDict. + * note: equivalent to ZSTD_createCDict_advanced(), with dictLoadMethod==ZSTD_dlm_byRef */ +ZSTDLIB_API ZSTD_CDict* ZSTD_createCDict_byReference(const void* dictBuffer, size_t dictSize, int compressionLevel); + +/*! ZSTD_getCParams() : + * @return ZSTD_compressionParameters structure for a selected compression level and estimated srcSize. + * `estimatedSrcSize` value is optional, select 0 if not known */ +ZSTDLIB_API ZSTD_compressionParameters ZSTD_getCParams(int compressionLevel, unsigned long long estimatedSrcSize, size_t dictSize); + +/*! ZSTD_getParams() : + * same as ZSTD_getCParams(), but @return a full `ZSTD_parameters` object instead of sub-component `ZSTD_compressionParameters`. + * All fields of `ZSTD_frameParameters` are set to default : contentSize=1, checksum=0, noDictID=0 */ +ZSTDLIB_API ZSTD_parameters ZSTD_getParams(int compressionLevel, unsigned long long estimatedSrcSize, size_t dictSize); + +/*! ZSTD_checkCParams() : + * Ensure param values remain within authorized range. + * @return 0 on success, or an error code (can be checked with ZSTD_isError()) */ +ZSTDLIB_API size_t ZSTD_checkCParams(ZSTD_compressionParameters params); + +/*! ZSTD_adjustCParams() : + * optimize params for a given `srcSize` and `dictSize`. + * `srcSize` can be unknown, in which case use ZSTD_CONTENTSIZE_UNKNOWN. + * `dictSize` must be `0` when there is no dictionary. + * cPar can be invalid : all parameters will be clamped within valid range in the @return struct. + * This function never fails (wide contract) */ +ZSTDLIB_API ZSTD_compressionParameters ZSTD_adjustCParams(ZSTD_compressionParameters cPar, unsigned long long srcSize, size_t dictSize); + +/*! ZSTD_compress_advanced() : + * Note : this function is now DEPRECATED. + * It can be replaced by ZSTD_compress2(), in combination with ZSTD_CCtx_setParameter() and other parameter setters. + * This prototype will be marked as deprecated and generate compilation warning on reaching v1.5.x */ +ZSTDLIB_API size_t ZSTD_compress_advanced(ZSTD_CCtx* cctx, + void* dst, size_t dstCapacity, + const void* src, size_t srcSize, + const void* dict,size_t dictSize, + ZSTD_parameters params); + +/*! ZSTD_compress_usingCDict_advanced() : + * Note : this function is now REDUNDANT. + * It can be replaced by ZSTD_compress2(), in combination with ZSTD_CCtx_loadDictionary() and other parameter setters. + * This prototype will be marked as deprecated and generate compilation warning in some future version */ +ZSTDLIB_API size_t ZSTD_compress_usingCDict_advanced(ZSTD_CCtx* cctx, + void* dst, size_t dstCapacity, + const void* src, size_t srcSize, + const ZSTD_CDict* cdict, + ZSTD_frameParameters fParams); + + +/*! ZSTD_CCtx_loadDictionary_byReference() : + * Same as ZSTD_CCtx_loadDictionary(), but dictionary content is referenced, instead of being copied into CCtx. + * It saves some memory, but also requires that `dict` outlives its usage within `cctx` */ +ZSTDLIB_API size_t ZSTD_CCtx_loadDictionary_byReference(ZSTD_CCtx* cctx, const void* dict, size_t dictSize); + +/*! ZSTD_CCtx_loadDictionary_advanced() : + * Same as ZSTD_CCtx_loadDictionary(), but gives finer control over + * how to load the dictionary (by copy ? by reference ?) + * and how to interpret it (automatic ? force raw mode ? full mode only ?) */ +ZSTDLIB_API size_t ZSTD_CCtx_loadDictionary_advanced(ZSTD_CCtx* cctx, const void* dict, size_t dictSize, ZSTD_dictLoadMethod_e dictLoadMethod, ZSTD_dictContentType_e dictContentType); + +/*! ZSTD_CCtx_refPrefix_advanced() : + * Same as ZSTD_CCtx_refPrefix(), but gives finer control over + * how to interpret prefix content (automatic ? force raw mode (default) ? full mode only ?) */ +ZSTDLIB_API size_t ZSTD_CCtx_refPrefix_advanced(ZSTD_CCtx* cctx, const void* prefix, size_t prefixSize, ZSTD_dictContentType_e dictContentType); + +/* === experimental parameters === */ +/* these parameters can be used with ZSTD_setParameter() + * they are not guaranteed to remain supported in the future */ + + /* Enables rsyncable mode, + * which makes compressed files more rsync friendly + * by adding periodic synchronization points to the compressed data. + * The target average block size is ZSTD_c_jobSize / 2. + * It's possible to modify the job size to increase or decrease + * the granularity of the synchronization point. + * Once the jobSize is smaller than the window size, + * it will result in compression ratio degradation. + * NOTE 1: rsyncable mode only works when multithreading is enabled. + * NOTE 2: rsyncable performs poorly in combination with long range mode, + * since it will decrease the effectiveness of synchronization points, + * though mileage may vary. + * NOTE 3: Rsyncable mode limits maximum compression speed to ~400 MB/s. + * If the selected compression level is already running significantly slower, + * the overall speed won't be significantly impacted. + */ + #define ZSTD_c_rsyncable ZSTD_c_experimentalParam1 + +/* Select a compression format. + * The value must be of type ZSTD_format_e. + * See ZSTD_format_e enum definition for details */ +#define ZSTD_c_format ZSTD_c_experimentalParam2 + +/* Force back-reference distances to remain < windowSize, + * even when referencing into Dictionary content (default:0) */ +#define ZSTD_c_forceMaxWindow ZSTD_c_experimentalParam3 + +/* Controls whether the contents of a CDict + * are used in place, or copied into the working context. + * Accepts values from the ZSTD_dictAttachPref_e enum. + * See the comments on that enum for an explanation of the feature. */ +#define ZSTD_c_forceAttachDict ZSTD_c_experimentalParam4 + +/* Controls how the literals are compressed (default is auto). + * The value must be of type ZSTD_literalCompressionMode_e. + * See ZSTD_literalCompressionMode_t enum definition for details. + */ +#define ZSTD_c_literalCompressionMode ZSTD_c_experimentalParam5 + +/* Tries to fit compressed block size to be around targetCBlockSize. + * No target when targetCBlockSize == 0. + * There is no guarantee on compressed block size (default:0) */ +#define ZSTD_c_targetCBlockSize ZSTD_c_experimentalParam6 + +/* User's best guess of source size. + * Hint is not valid when srcSizeHint == 0. + * There is no guarantee that hint is close to actual source size, + * but compression ratio may regress significantly if guess considerably underestimates */ +#define ZSTD_c_srcSizeHint ZSTD_c_experimentalParam7 + +/*! ZSTD_CCtx_getParameter() : + * Get the requested compression parameter value, selected by enum ZSTD_cParameter, + * and store it into int* value. + * @return : 0, or an error code (which can be tested with ZSTD_isError()). + */ +ZSTDLIB_API size_t ZSTD_CCtx_getParameter(ZSTD_CCtx* cctx, ZSTD_cParameter param, int* value); + + +/*! ZSTD_CCtx_params : + * Quick howto : + * - ZSTD_createCCtxParams() : Create a ZSTD_CCtx_params structure + * - ZSTD_CCtxParams_setParameter() : Push parameters one by one into + * an existing ZSTD_CCtx_params structure. + * This is similar to + * ZSTD_CCtx_setParameter(). + * - ZSTD_CCtx_setParametersUsingCCtxParams() : Apply parameters to + * an existing CCtx. + * These parameters will be applied to + * all subsequent frames. + * - ZSTD_compressStream2() : Do compression using the CCtx. + * - ZSTD_freeCCtxParams() : Free the memory. + * + * This can be used with ZSTD_estimateCCtxSize_advanced_usingCCtxParams() + * for static allocation of CCtx for single-threaded compression. + */ +ZSTDLIB_API ZSTD_CCtx_params* ZSTD_createCCtxParams(void); +ZSTDLIB_API size_t ZSTD_freeCCtxParams(ZSTD_CCtx_params* params); + +/*! ZSTD_CCtxParams_reset() : + * Reset params to default values. + */ +ZSTDLIB_API size_t ZSTD_CCtxParams_reset(ZSTD_CCtx_params* params); + +/*! ZSTD_CCtxParams_init() : + * Initializes the compression parameters of cctxParams according to + * compression level. All other parameters are reset to their default values. + */ +ZSTDLIB_API size_t ZSTD_CCtxParams_init(ZSTD_CCtx_params* cctxParams, int compressionLevel); + +/*! ZSTD_CCtxParams_init_advanced() : + * Initializes the compression and frame parameters of cctxParams according to + * params. All other parameters are reset to their default values. + */ +ZSTDLIB_API size_t ZSTD_CCtxParams_init_advanced(ZSTD_CCtx_params* cctxParams, ZSTD_parameters params); + +/*! ZSTD_CCtxParams_setParameter() : + * Similar to ZSTD_CCtx_setParameter. + * Set one compression parameter, selected by enum ZSTD_cParameter. + * Parameters must be applied to a ZSTD_CCtx using ZSTD_CCtx_setParametersUsingCCtxParams(). + * @result : 0, or an error code (which can be tested with ZSTD_isError()). + */ +ZSTDLIB_API size_t ZSTD_CCtxParams_setParameter(ZSTD_CCtx_params* params, ZSTD_cParameter param, int value); + +/*! ZSTD_CCtxParams_getParameter() : + * Similar to ZSTD_CCtx_getParameter. + * Get the requested value of one compression parameter, selected by enum ZSTD_cParameter. + * @result : 0, or an error code (which can be tested with ZSTD_isError()). + */ +ZSTDLIB_API size_t ZSTD_CCtxParams_getParameter(ZSTD_CCtx_params* params, ZSTD_cParameter param, int* value); + +/*! ZSTD_CCtx_setParametersUsingCCtxParams() : + * Apply a set of ZSTD_CCtx_params to the compression context. + * This can be done even after compression is started, + * if nbWorkers==0, this will have no impact until a new compression is started. + * if nbWorkers>=1, new parameters will be picked up at next job, + * with a few restrictions (windowLog, pledgedSrcSize, nbWorkers, jobSize, and overlapLog are not updated). + */ +ZSTDLIB_API size_t ZSTD_CCtx_setParametersUsingCCtxParams( + ZSTD_CCtx* cctx, const ZSTD_CCtx_params* params); + +/*! ZSTD_compressStream2_simpleArgs() : + * Same as ZSTD_compressStream2(), + * but using only integral types as arguments. + * This variant might be helpful for binders from dynamic languages + * which have troubles handling structures containing memory pointers. + */ +ZSTDLIB_API size_t ZSTD_compressStream2_simpleArgs ( + ZSTD_CCtx* cctx, + void* dst, size_t dstCapacity, size_t* dstPos, + const void* src, size_t srcSize, size_t* srcPos, + ZSTD_EndDirective endOp); + + +/*************************************** +* Advanced decompression functions +***************************************/ + +/*! ZSTD_isFrame() : + * Tells if the content of `buffer` starts with a valid Frame Identifier. + * Note : Frame Identifier is 4 bytes. If `size < 4`, @return will always be 0. + * Note 2 : Legacy Frame Identifiers are considered valid only if Legacy Support is enabled. + * Note 3 : Skippable Frame Identifiers are considered valid. */ +ZSTDLIB_API unsigned ZSTD_isFrame(const void* buffer, size_t size); + +/*! ZSTD_createDDict_byReference() : + * Create a digested dictionary, ready to start decompression operation without startup delay. + * Dictionary content is referenced, and therefore stays in dictBuffer. + * It is important that dictBuffer outlives DDict, + * it must remain read accessible throughout the lifetime of DDict */ +ZSTDLIB_API ZSTD_DDict* ZSTD_createDDict_byReference(const void* dictBuffer, size_t dictSize); + +/*! ZSTD_DCtx_loadDictionary_byReference() : + * Same as ZSTD_DCtx_loadDictionary(), + * but references `dict` content instead of copying it into `dctx`. + * This saves memory if `dict` remains around., + * However, it's imperative that `dict` remains accessible (and unmodified) while being used, so it must outlive decompression. */ +ZSTDLIB_API size_t ZSTD_DCtx_loadDictionary_byReference(ZSTD_DCtx* dctx, const void* dict, size_t dictSize); + +/*! ZSTD_DCtx_loadDictionary_advanced() : + * Same as ZSTD_DCtx_loadDictionary(), + * but gives direct control over + * how to load the dictionary (by copy ? by reference ?) + * and how to interpret it (automatic ? force raw mode ? full mode only ?). */ +ZSTDLIB_API size_t ZSTD_DCtx_loadDictionary_advanced(ZSTD_DCtx* dctx, const void* dict, size_t dictSize, ZSTD_dictLoadMethod_e dictLoadMethod, ZSTD_dictContentType_e dictContentType); + +/*! ZSTD_DCtx_refPrefix_advanced() : + * Same as ZSTD_DCtx_refPrefix(), but gives finer control over + * how to interpret prefix content (automatic ? force raw mode (default) ? full mode only ?) */ +ZSTDLIB_API size_t ZSTD_DCtx_refPrefix_advanced(ZSTD_DCtx* dctx, const void* prefix, size_t prefixSize, ZSTD_dictContentType_e dictContentType); + +/*! ZSTD_DCtx_setMaxWindowSize() : + * Refuses allocating internal buffers for frames requiring a window size larger than provided limit. + * This protects a decoder context from reserving too much memory for itself (potential attack scenario). + * This parameter is only useful in streaming mode, since no internal buffer is allocated in single-pass mode. + * By default, a decompression context accepts all window sizes <= (1 << ZSTD_WINDOWLOG_LIMIT_DEFAULT) + * @return : 0, or an error code (which can be tested using ZSTD_isError()). + */ +ZSTDLIB_API size_t ZSTD_DCtx_setMaxWindowSize(ZSTD_DCtx* dctx, size_t maxWindowSize); + +/* ZSTD_d_format + * experimental parameter, + * allowing selection between ZSTD_format_e input compression formats + */ +#define ZSTD_d_format ZSTD_d_experimentalParam1 +/* ZSTD_d_stableOutBuffer + * Experimental parameter. + * Default is 0 == disabled. Set to 1 to enable. + * + * Tells the decompressor that the ZSTD_outBuffer will ALWAYS be the same + * between calls, except for the modifications that zstd makes to pos (the + * caller must not modify pos). This is checked by the decompressor, and + * decompression will fail if it ever changes. Therefore the ZSTD_outBuffer + * MUST be large enough to fit the entire decompressed frame. This will be + * checked when the frame content size is known. The data in the ZSTD_outBuffer + * in the range [dst, dst + pos) MUST not be modified during decompression + * or you will get data corruption. + * + * When this flags is enabled zstd won't allocate an output buffer, because + * it can write directly to the ZSTD_outBuffer, but it will still allocate + * an input buffer large enough to fit any compressed block. This will also + * avoid the memcpy() from the internal output buffer to the ZSTD_outBuffer. + * If you need to avoid the input buffer allocation use the buffer-less + * streaming API. + * + * NOTE: So long as the ZSTD_outBuffer always points to valid memory, using + * this flag is ALWAYS memory safe, and will never access out-of-bounds + * memory. However, decompression WILL fail if you violate the preconditions. + * + * WARNING: The data in the ZSTD_outBuffer in the range [dst, dst + pos) MUST + * not be modified during decompression or you will get data corruption. This + * is because zstd needs to reference data in the ZSTD_outBuffer to regenerate + * matches. Normally zstd maintains its own buffer for this purpose, but passing + * this flag tells zstd to use the user provided buffer. + */ +#define ZSTD_d_stableOutBuffer ZSTD_d_experimentalParam2 + +/*! ZSTD_DCtx_setFormat() : + * Instruct the decoder context about what kind of data to decode next. + * This instruction is mandatory to decode data without a fully-formed header, + * such ZSTD_f_zstd1_magicless for example. + * @return : 0, or an error code (which can be tested using ZSTD_isError()). */ +ZSTDLIB_API size_t ZSTD_DCtx_setFormat(ZSTD_DCtx* dctx, ZSTD_format_e format); + +/*! ZSTD_decompressStream_simpleArgs() : + * Same as ZSTD_decompressStream(), + * but using only integral types as arguments. + * This can be helpful for binders from dynamic languages + * which have troubles handling structures containing memory pointers. + */ +ZSTDLIB_API size_t ZSTD_decompressStream_simpleArgs ( + ZSTD_DCtx* dctx, + void* dst, size_t dstCapacity, size_t* dstPos, + const void* src, size_t srcSize, size_t* srcPos); + + +/******************************************************************** +* Advanced streaming functions +* Warning : most of these functions are now redundant with the Advanced API. +* Once Advanced API reaches "stable" status, +* redundant functions will be deprecated, and then at some point removed. +********************************************************************/ + +/*===== Advanced Streaming compression functions =====*/ +/**! ZSTD_initCStream_srcSize() : + * This function is deprecated, and equivalent to: + * ZSTD_CCtx_reset(zcs, ZSTD_reset_session_only); + * ZSTD_CCtx_refCDict(zcs, NULL); // clear the dictionary (if any) + * ZSTD_CCtx_setParameter(zcs, ZSTD_c_compressionLevel, compressionLevel); + * ZSTD_CCtx_setPledgedSrcSize(zcs, pledgedSrcSize); + * + * pledgedSrcSize must be correct. If it is not known at init time, use + * ZSTD_CONTENTSIZE_UNKNOWN. Note that, for compatibility with older programs, + * "0" also disables frame content size field. It may be enabled in the future. + * Note : this prototype will be marked as deprecated and generate compilation warnings on reaching v1.5.x + */ +ZSTDLIB_API size_t +ZSTD_initCStream_srcSize(ZSTD_CStream* zcs, + int compressionLevel, + unsigned long long pledgedSrcSize); + +/**! ZSTD_initCStream_usingDict() : + * This function is deprecated, and is equivalent to: + * ZSTD_CCtx_reset(zcs, ZSTD_reset_session_only); + * ZSTD_CCtx_setParameter(zcs, ZSTD_c_compressionLevel, compressionLevel); + * ZSTD_CCtx_loadDictionary(zcs, dict, dictSize); + * + * Creates of an internal CDict (incompatible with static CCtx), except if + * dict == NULL or dictSize < 8, in which case no dict is used. + * Note: dict is loaded with ZSTD_dct_auto (treated as a full zstd dictionary if + * it begins with ZSTD_MAGIC_DICTIONARY, else as raw content) and ZSTD_dlm_byCopy. + * Note : this prototype will be marked as deprecated and generate compilation warnings on reaching v1.5.x + */ +ZSTDLIB_API size_t +ZSTD_initCStream_usingDict(ZSTD_CStream* zcs, + const void* dict, size_t dictSize, + int compressionLevel); + +/**! ZSTD_initCStream_advanced() : + * This function is deprecated, and is approximately equivalent to: + * ZSTD_CCtx_reset(zcs, ZSTD_reset_session_only); + * // Pseudocode: Set each zstd parameter and leave the rest as-is. + * for ((param, value) : params) { + * ZSTD_CCtx_setParameter(zcs, param, value); + * } + * ZSTD_CCtx_setPledgedSrcSize(zcs, pledgedSrcSize); + * ZSTD_CCtx_loadDictionary(zcs, dict, dictSize); + * + * dict is loaded with ZSTD_dct_auto and ZSTD_dlm_byCopy. + * pledgedSrcSize must be correct. + * If srcSize is not known at init time, use value ZSTD_CONTENTSIZE_UNKNOWN. + * Note : this prototype will be marked as deprecated and generate compilation warnings on reaching v1.5.x + */ +ZSTDLIB_API size_t +ZSTD_initCStream_advanced(ZSTD_CStream* zcs, + const void* dict, size_t dictSize, + ZSTD_parameters params, + unsigned long long pledgedSrcSize); + +/**! ZSTD_initCStream_usingCDict() : + * This function is deprecated, and equivalent to: + * ZSTD_CCtx_reset(zcs, ZSTD_reset_session_only); + * ZSTD_CCtx_refCDict(zcs, cdict); + * + * note : cdict will just be referenced, and must outlive compression session + * Note : this prototype will be marked as deprecated and generate compilation warnings on reaching v1.5.x + */ +ZSTDLIB_API size_t ZSTD_initCStream_usingCDict(ZSTD_CStream* zcs, const ZSTD_CDict* cdict); + +/**! ZSTD_initCStream_usingCDict_advanced() : + * This function is DEPRECATED, and is approximately equivalent to: + * ZSTD_CCtx_reset(zcs, ZSTD_reset_session_only); + * // Pseudocode: Set each zstd frame parameter and leave the rest as-is. + * for ((fParam, value) : fParams) { + * ZSTD_CCtx_setParameter(zcs, fParam, value); + * } + * ZSTD_CCtx_setPledgedSrcSize(zcs, pledgedSrcSize); + * ZSTD_CCtx_refCDict(zcs, cdict); + * + * same as ZSTD_initCStream_usingCDict(), with control over frame parameters. + * pledgedSrcSize must be correct. If srcSize is not known at init time, use + * value ZSTD_CONTENTSIZE_UNKNOWN. + * Note : this prototype will be marked as deprecated and generate compilation warnings on reaching v1.5.x + */ +ZSTDLIB_API size_t +ZSTD_initCStream_usingCDict_advanced(ZSTD_CStream* zcs, + const ZSTD_CDict* cdict, + ZSTD_frameParameters fParams, + unsigned long long pledgedSrcSize); + +/*! ZSTD_resetCStream() : + * This function is deprecated, and is equivalent to: + * ZSTD_CCtx_reset(zcs, ZSTD_reset_session_only); + * ZSTD_CCtx_setPledgedSrcSize(zcs, pledgedSrcSize); + * + * start a new frame, using same parameters from previous frame. + * This is typically useful to skip dictionary loading stage, since it will re-use it in-place. + * Note that zcs must be init at least once before using ZSTD_resetCStream(). + * If pledgedSrcSize is not known at reset time, use macro ZSTD_CONTENTSIZE_UNKNOWN. + * If pledgedSrcSize > 0, its value must be correct, as it will be written in header, and controlled at the end. + * For the time being, pledgedSrcSize==0 is interpreted as "srcSize unknown" for compatibility with older programs, + * but it will change to mean "empty" in future version, so use macro ZSTD_CONTENTSIZE_UNKNOWN instead. + * @return : 0, or an error code (which can be tested using ZSTD_isError()) + * Note : this prototype will be marked as deprecated and generate compilation warnings on reaching v1.5.x + */ +ZSTDLIB_API size_t ZSTD_resetCStream(ZSTD_CStream* zcs, unsigned long long pledgedSrcSize); + + +typedef struct { + unsigned long long ingested; /* nb input bytes read and buffered */ + unsigned long long consumed; /* nb input bytes actually compressed */ + unsigned long long produced; /* nb of compressed bytes generated and buffered */ + unsigned long long flushed; /* nb of compressed bytes flushed : not provided; can be tracked from caller side */ + unsigned currentJobID; /* MT only : latest started job nb */ + unsigned nbActiveWorkers; /* MT only : nb of workers actively compressing at probe time */ +} ZSTD_frameProgression; + +/* ZSTD_getFrameProgression() : + * tells how much data has been ingested (read from input) + * consumed (input actually compressed) and produced (output) for current frame. + * Note : (ingested - consumed) is amount of input data buffered internally, not yet compressed. + * Aggregates progression inside active worker threads. + */ +ZSTDLIB_API ZSTD_frameProgression ZSTD_getFrameProgression(const ZSTD_CCtx* cctx); + +/*! ZSTD_toFlushNow() : + * Tell how many bytes are ready to be flushed immediately. + * Useful for multithreading scenarios (nbWorkers >= 1). + * Probe the oldest active job, defined as oldest job not yet entirely flushed, + * and check its output buffer. + * @return : amount of data stored in oldest job and ready to be flushed immediately. + * if @return == 0, it means either : + * + there is no active job (could be checked with ZSTD_frameProgression()), or + * + oldest job is still actively compressing data, + * but everything it has produced has also been flushed so far, + * therefore flush speed is limited by production speed of oldest job + * irrespective of the speed of concurrent (and newer) jobs. + */ +ZSTDLIB_API size_t ZSTD_toFlushNow(ZSTD_CCtx* cctx); + + +/*===== Advanced Streaming decompression functions =====*/ +/** + * This function is deprecated, and is equivalent to: + * + * ZSTD_DCtx_reset(zds, ZSTD_reset_session_only); + * ZSTD_DCtx_loadDictionary(zds, dict, dictSize); + * + * note: no dictionary will be used if dict == NULL or dictSize < 8 + * Note : this prototype will be marked as deprecated and generate compilation warnings on reaching v1.5.x + */ +ZSTDLIB_API size_t ZSTD_initDStream_usingDict(ZSTD_DStream* zds, const void* dict, size_t dictSize); + +/** + * This function is deprecated, and is equivalent to: + * + * ZSTD_DCtx_reset(zds, ZSTD_reset_session_only); + * ZSTD_DCtx_refDDict(zds, ddict); + * + * note : ddict is referenced, it must outlive decompression session + * Note : this prototype will be marked as deprecated and generate compilation warnings on reaching v1.5.x + */ +ZSTDLIB_API size_t ZSTD_initDStream_usingDDict(ZSTD_DStream* zds, const ZSTD_DDict* ddict); + +/** + * This function is deprecated, and is equivalent to: + * + * ZSTD_DCtx_reset(zds, ZSTD_reset_session_only); + * + * re-use decompression parameters from previous init; saves dictionary loading + * Note : this prototype will be marked as deprecated and generate compilation warnings on reaching v1.5.x + */ +ZSTDLIB_API size_t ZSTD_resetDStream(ZSTD_DStream* zds); + + +/********************************************************************* +* Buffer-less and synchronous inner streaming functions +* +* This is an advanced API, giving full control over buffer management, for users which need direct control over memory. +* But it's also a complex one, with several restrictions, documented below. +* Prefer normal streaming API for an easier experience. +********************************************************************* */ + +/** + Buffer-less streaming compression (synchronous mode) + + A ZSTD_CCtx object is required to track streaming operations. + Use ZSTD_createCCtx() / ZSTD_freeCCtx() to manage resource. + ZSTD_CCtx object can be re-used multiple times within successive compression operations. + + Start by initializing a context. + Use ZSTD_compressBegin(), or ZSTD_compressBegin_usingDict() for dictionary compression, + or ZSTD_compressBegin_advanced(), for finer parameter control. + It's also possible to duplicate a reference context which has already been initialized, using ZSTD_copyCCtx() + + Then, consume your input using ZSTD_compressContinue(). + There are some important considerations to keep in mind when using this advanced function : + - ZSTD_compressContinue() has no internal buffer. It uses externally provided buffers only. + - Interface is synchronous : input is consumed entirely and produces 1+ compressed blocks. + - Caller must ensure there is enough space in `dst` to store compressed data under worst case scenario. + Worst case evaluation is provided by ZSTD_compressBound(). + ZSTD_compressContinue() doesn't guarantee recover after a failed compression. + - ZSTD_compressContinue() presumes prior input ***is still accessible and unmodified*** (up to maximum distance size, see WindowLog). + It remembers all previous contiguous blocks, plus one separated memory segment (which can itself consists of multiple contiguous blocks) + - ZSTD_compressContinue() detects that prior input has been overwritten when `src` buffer overlaps. + In which case, it will "discard" the relevant memory section from its history. + + Finish a frame with ZSTD_compressEnd(), which will write the last block(s) and optional checksum. + It's possible to use srcSize==0, in which case, it will write a final empty block to end the frame. + Without last block mark, frames are considered unfinished (hence corrupted) by compliant decoders. + + `ZSTD_CCtx` object can be re-used (ZSTD_compressBegin()) to compress again. +*/ + +/*===== Buffer-less streaming compression functions =====*/ +ZSTDLIB_API size_t ZSTD_compressBegin(ZSTD_CCtx* cctx, int compressionLevel); +ZSTDLIB_API size_t ZSTD_compressBegin_usingDict(ZSTD_CCtx* cctx, const void* dict, size_t dictSize, int compressionLevel); +ZSTDLIB_API size_t ZSTD_compressBegin_advanced(ZSTD_CCtx* cctx, const void* dict, size_t dictSize, ZSTD_parameters params, unsigned long long pledgedSrcSize); /**< pledgedSrcSize : If srcSize is not known at init time, use ZSTD_CONTENTSIZE_UNKNOWN */ +ZSTDLIB_API size_t ZSTD_compressBegin_usingCDict(ZSTD_CCtx* cctx, const ZSTD_CDict* cdict); /**< note: fails if cdict==NULL */ +ZSTDLIB_API size_t ZSTD_compressBegin_usingCDict_advanced(ZSTD_CCtx* const cctx, const ZSTD_CDict* const cdict, ZSTD_frameParameters const fParams, unsigned long long const pledgedSrcSize); /* compression parameters are already set within cdict. pledgedSrcSize must be correct. If srcSize is not known, use macro ZSTD_CONTENTSIZE_UNKNOWN */ +ZSTDLIB_API size_t ZSTD_copyCCtx(ZSTD_CCtx* cctx, const ZSTD_CCtx* preparedCCtx, unsigned long long pledgedSrcSize); /**< note: if pledgedSrcSize is not known, use ZSTD_CONTENTSIZE_UNKNOWN */ + +ZSTDLIB_API size_t ZSTD_compressContinue(ZSTD_CCtx* cctx, void* dst, size_t dstCapacity, const void* src, size_t srcSize); +ZSTDLIB_API size_t ZSTD_compressEnd(ZSTD_CCtx* cctx, void* dst, size_t dstCapacity, const void* src, size_t srcSize); + + +/*- + Buffer-less streaming decompression (synchronous mode) + + A ZSTD_DCtx object is required to track streaming operations. + Use ZSTD_createDCtx() / ZSTD_freeDCtx() to manage it. + A ZSTD_DCtx object can be re-used multiple times. + + First typical operation is to retrieve frame parameters, using ZSTD_getFrameHeader(). + Frame header is extracted from the beginning of compressed frame, so providing only the frame's beginning is enough. + Data fragment must be large enough to ensure successful decoding. + `ZSTD_frameHeaderSize_max` bytes is guaranteed to always be large enough. + @result : 0 : successful decoding, the `ZSTD_frameHeader` structure is correctly filled. + >0 : `srcSize` is too small, please provide at least @result bytes on next attempt. + errorCode, which can be tested using ZSTD_isError(). + + It fills a ZSTD_frameHeader structure with important information to correctly decode the frame, + such as the dictionary ID, content size, or maximum back-reference distance (`windowSize`). + Note that these values could be wrong, either because of data corruption, or because a 3rd party deliberately spoofs false information. + As a consequence, check that values remain within valid application range. + For example, do not allocate memory blindly, check that `windowSize` is within expectation. + Each application can set its own limits, depending on local restrictions. + For extended interoperability, it is recommended to support `windowSize` of at least 8 MB. + + ZSTD_decompressContinue() needs previous data blocks during decompression, up to `windowSize` bytes. + ZSTD_decompressContinue() is very sensitive to contiguity, + if 2 blocks don't follow each other, make sure that either the compressor breaks contiguity at the same place, + or that previous contiguous segment is large enough to properly handle maximum back-reference distance. + There are multiple ways to guarantee this condition. + + The most memory efficient way is to use a round buffer of sufficient size. + Sufficient size is determined by invoking ZSTD_decodingBufferSize_min(), + which can @return an error code if required value is too large for current system (in 32-bits mode). + In a round buffer methodology, ZSTD_decompressContinue() decompresses each block next to previous one, + up to the moment there is not enough room left in the buffer to guarantee decoding another full block, + which maximum size is provided in `ZSTD_frameHeader` structure, field `blockSizeMax`. + At which point, decoding can resume from the beginning of the buffer. + Note that already decoded data stored in the buffer should be flushed before being overwritten. + + There are alternatives possible, for example using two or more buffers of size `windowSize` each, though they consume more memory. + + Finally, if you control the compression process, you can also ignore all buffer size rules, + as long as the encoder and decoder progress in "lock-step", + aka use exactly the same buffer sizes, break contiguity at the same place, etc. + + Once buffers are setup, start decompression, with ZSTD_decompressBegin(). + If decompression requires a dictionary, use ZSTD_decompressBegin_usingDict() or ZSTD_decompressBegin_usingDDict(). + + Then use ZSTD_nextSrcSizeToDecompress() and ZSTD_decompressContinue() alternatively. + ZSTD_nextSrcSizeToDecompress() tells how many bytes to provide as 'srcSize' to ZSTD_decompressContinue(). + ZSTD_decompressContinue() requires this _exact_ amount of bytes, or it will fail. + + @result of ZSTD_decompressContinue() is the number of bytes regenerated within 'dst' (necessarily <= dstCapacity). + It can be zero : it just means ZSTD_decompressContinue() has decoded some metadata item. + It can also be an error code, which can be tested with ZSTD_isError(). + + A frame is fully decoded when ZSTD_nextSrcSizeToDecompress() returns zero. + Context can then be reset to start a new decompression. + + Note : it's possible to know if next input to present is a header or a block, using ZSTD_nextInputType(). + This information is not required to properly decode a frame. + + == Special case : skippable frames == + + Skippable frames allow integration of user-defined data into a flow of concatenated frames. + Skippable frames will be ignored (skipped) by decompressor. + The format of skippable frames is as follows : + a) Skippable frame ID - 4 Bytes, Little endian format, any value from 0x184D2A50 to 0x184D2A5F + b) Frame Size - 4 Bytes, Little endian format, unsigned 32-bits + c) Frame Content - any content (User Data) of length equal to Frame Size + For skippable frames ZSTD_getFrameHeader() returns zfhPtr->frameType==ZSTD_skippableFrame. + For skippable frames ZSTD_decompressContinue() always returns 0 : it only skips the content. +*/ + +/*===== Buffer-less streaming decompression functions =====*/ +typedef enum { ZSTD_frame, ZSTD_skippableFrame } ZSTD_frameType_e; +typedef struct { + unsigned long long frameContentSize; /* if == ZSTD_CONTENTSIZE_UNKNOWN, it means this field is not available. 0 means "empty" */ + unsigned long long windowSize; /* can be very large, up to <= frameContentSize */ + unsigned blockSizeMax; + ZSTD_frameType_e frameType; /* if == ZSTD_skippableFrame, frameContentSize is the size of skippable content */ + unsigned headerSize; + unsigned dictID; + unsigned checksumFlag; +} ZSTD_frameHeader; + +/*! ZSTD_getFrameHeader() : + * decode Frame Header, or requires larger `srcSize`. + * @return : 0, `zfhPtr` is correctly filled, + * >0, `srcSize` is too small, value is wanted `srcSize` amount, + * or an error code, which can be tested using ZSTD_isError() */ +ZSTDLIB_API size_t ZSTD_getFrameHeader(ZSTD_frameHeader* zfhPtr, const void* src, size_t srcSize); /**< doesn't consume input */ +/*! ZSTD_getFrameHeader_advanced() : + * same as ZSTD_getFrameHeader(), + * with added capability to select a format (like ZSTD_f_zstd1_magicless) */ +ZSTDLIB_API size_t ZSTD_getFrameHeader_advanced(ZSTD_frameHeader* zfhPtr, const void* src, size_t srcSize, ZSTD_format_e format); +ZSTDLIB_API size_t ZSTD_decodingBufferSize_min(unsigned long long windowSize, unsigned long long frameContentSize); /**< when frame content size is not known, pass in frameContentSize == ZSTD_CONTENTSIZE_UNKNOWN */ + +ZSTDLIB_API size_t ZSTD_decompressBegin(ZSTD_DCtx* dctx); +ZSTDLIB_API size_t ZSTD_decompressBegin_usingDict(ZSTD_DCtx* dctx, const void* dict, size_t dictSize); +ZSTDLIB_API size_t ZSTD_decompressBegin_usingDDict(ZSTD_DCtx* dctx, const ZSTD_DDict* ddict); + +ZSTDLIB_API size_t ZSTD_nextSrcSizeToDecompress(ZSTD_DCtx* dctx); +ZSTDLIB_API size_t ZSTD_decompressContinue(ZSTD_DCtx* dctx, void* dst, size_t dstCapacity, const void* src, size_t srcSize); + +/* misc */ +ZSTDLIB_API void ZSTD_copyDCtx(ZSTD_DCtx* dctx, const ZSTD_DCtx* preparedDCtx); +typedef enum { ZSTDnit_frameHeader, ZSTDnit_blockHeader, ZSTDnit_block, ZSTDnit_lastBlock, ZSTDnit_checksum, ZSTDnit_skippableFrame } ZSTD_nextInputType_e; +ZSTDLIB_API ZSTD_nextInputType_e ZSTD_nextInputType(ZSTD_DCtx* dctx); + + + + +/* ============================ */ +/** Block level API */ +/* ============================ */ + +/*! + Block functions produce and decode raw zstd blocks, without frame metadata. + Frame metadata cost is typically ~12 bytes, which can be non-negligible for very small blocks (< 100 bytes). + But users will have to take in charge needed metadata to regenerate data, such as compressed and content sizes. + + A few rules to respect : + - Compressing and decompressing require a context structure + + Use ZSTD_createCCtx() and ZSTD_createDCtx() + - It is necessary to init context before starting + + compression : any ZSTD_compressBegin*() variant, including with dictionary + + decompression : any ZSTD_decompressBegin*() variant, including with dictionary + + copyCCtx() and copyDCtx() can be used too + - Block size is limited, it must be <= ZSTD_getBlockSize() <= ZSTD_BLOCKSIZE_MAX == 128 KB + + If input is larger than a block size, it's necessary to split input data into multiple blocks + + For inputs larger than a single block, consider using regular ZSTD_compress() instead. + Frame metadata is not that costly, and quickly becomes negligible as source size grows larger than a block. + - When a block is considered not compressible enough, ZSTD_compressBlock() result will be 0 (zero) ! + ===> In which case, nothing is produced into `dst` ! + + User __must__ test for such outcome and deal directly with uncompressed data + + A block cannot be declared incompressible if ZSTD_compressBlock() return value was != 0. + Doing so would mess up with statistics history, leading to potential data corruption. + + ZSTD_decompressBlock() _doesn't accept uncompressed data as input_ !! + + In case of multiple successive blocks, should some of them be uncompressed, + decoder must be informed of their existence in order to follow proper history. + Use ZSTD_insertBlock() for such a case. +*/ + +/*===== Raw zstd block functions =====*/ +ZSTDLIB_API size_t ZSTD_getBlockSize (const ZSTD_CCtx* cctx); +ZSTDLIB_API size_t ZSTD_compressBlock (ZSTD_CCtx* cctx, void* dst, size_t dstCapacity, const void* src, size_t srcSize); +ZSTDLIB_API size_t ZSTD_decompressBlock(ZSTD_DCtx* dctx, void* dst, size_t dstCapacity, const void* src, size_t srcSize); +ZSTDLIB_API size_t ZSTD_insertBlock (ZSTD_DCtx* dctx, const void* blockStart, size_t blockSize); /**< insert uncompressed block into `dctx` history. Useful for multi-blocks decompression. */ + + +#endif /* ZSTD_H_ZSTD_STATIC_LINKING_ONLY */ + +#if defined (__cplusplus) +} +#endif diff --git a/agent/src/nativeInterop/cinterop/linuxX64/zstd_errors.h b/agent/src/nativeInterop/cinterop/linuxX64/zstd_errors.h new file mode 100644 index 00000000..998398e7 --- /dev/null +++ b/agent/src/nativeInterop/cinterop/linuxX64/zstd_errors.h @@ -0,0 +1,94 @@ +/* + * Copyright (c) 2016-2020, Yann Collet, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under both the BSD-style license (found in the + * LICENSE file in the root directory of this source tree) and the GPLv2 (found + * in the COPYING file in the root directory of this source tree). + * You may select, at your option, one of the above-listed licenses. + */ + +#ifndef ZSTD_ERRORS_H_398273423 +#define ZSTD_ERRORS_H_398273423 + +#if defined (__cplusplus) +extern "C" { +#endif + +/*===== dependency =====*/ +#include /* size_t */ + + +/* ===== ZSTDERRORLIB_API : control library symbols visibility ===== */ +#ifndef ZSTDERRORLIB_VISIBILITY +# if defined(__GNUC__) && (__GNUC__ >= 4) +# define ZSTDERRORLIB_VISIBILITY __attribute__ ((visibility ("default"))) +# else +# define ZSTDERRORLIB_VISIBILITY +# endif +#endif +#if defined(ZSTD_DLL_EXPORT) && (ZSTD_DLL_EXPORT==1) +# define ZSTDERRORLIB_API __declspec(dllexport) ZSTDERRORLIB_VISIBILITY +#elif defined(ZSTD_DLL_IMPORT) && (ZSTD_DLL_IMPORT==1) +# define ZSTDERRORLIB_API __declspec(dllimport) ZSTDERRORLIB_VISIBILITY /* It isn't required but allows to generate better code, saving a function pointer load from the IAT and an indirect jump.*/ +#else +# define ZSTDERRORLIB_API ZSTDERRORLIB_VISIBILITY +#endif + +/*-********************************************* + * Error codes list + *-********************************************* + * Error codes _values_ are pinned down since v1.3.1 only. + * Therefore, don't rely on values if you may link to any version < v1.3.1. + * + * Only values < 100 are considered stable. + * + * note 1 : this API shall be used with static linking only. + * dynamic linking is not yet officially supported. + * note 2 : Prefer relying on the enum than on its value whenever possible + * This is the only supported way to use the error list < v1.3.1 + * note 3 : ZSTD_isError() is always correct, whatever the library version. + **********************************************/ +typedef enum { + ZSTD_error_no_error = 0, + ZSTD_error_GENERIC = 1, + ZSTD_error_prefix_unknown = 10, + ZSTD_error_version_unsupported = 12, + ZSTD_error_frameParameter_unsupported = 14, + ZSTD_error_frameParameter_windowTooLarge = 16, + ZSTD_error_corruption_detected = 20, + ZSTD_error_checksum_wrong = 22, + ZSTD_error_dictionary_corrupted = 30, + ZSTD_error_dictionary_wrong = 32, + ZSTD_error_dictionaryCreation_failed = 34, + ZSTD_error_parameter_unsupported = 40, + ZSTD_error_parameter_outOfBound = 42, + ZSTD_error_tableLog_tooLarge = 44, + ZSTD_error_maxSymbolValue_tooLarge = 46, + ZSTD_error_maxSymbolValue_tooSmall = 48, + ZSTD_error_stage_wrong = 60, + ZSTD_error_init_missing = 62, + ZSTD_error_memory_allocation = 64, + ZSTD_error_workSpace_tooSmall= 66, + ZSTD_error_dstSize_tooSmall = 70, + ZSTD_error_srcSize_wrong = 72, + ZSTD_error_dstBuffer_null = 74, + /* following error codes are __NOT STABLE__, they can be removed or changed in future versions */ + ZSTD_error_frameIndex_tooLarge = 100, + ZSTD_error_seekableIO = 102, + ZSTD_error_dstBuffer_wrong = 104, + ZSTD_error_maxCode = 120 /* never EVER use this value directly, it can change in future versions! Use ZSTD_isError() instead */ +} ZSTD_ErrorCode; + +/*! ZSTD_getErrorCode() : + convert a `size_t` function result into a `ZSTD_ErrorCode` enum type, + which can be used to compare with enum list published above */ +ZSTDERRORLIB_API ZSTD_ErrorCode ZSTD_getErrorCode(size_t functionResult); +ZSTDERRORLIB_API const char* ZSTD_getErrorString(ZSTD_ErrorCode code); /**< Same as ZSTD_getErrorName, but using a `ZSTD_ErrorCode` enum argument */ + + +#if defined (__cplusplus) +} +#endif + +#endif /* ZSTD_ERRORS_H_398273423 */ diff --git a/agent/src/nativeInterop/cinterop/macosX64/libzstd.a b/agent/src/nativeInterop/cinterop/macosX64/libzstd.a new file mode 100644 index 0000000000000000000000000000000000000000..bf9945fec77649b7cb90dcfb93000c6a9f462760 GIT binary patch literal 1131304 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 z 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

pP#>`+W?m{NW>#8ffL^c_WrXNcP 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ⅅ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 z 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

M^;uI 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 z≻;wdqdGS*P{ovfuWc%lI+8m8|uod_unbR&6S-TvEEq9+oVt5gHHcRLQS8;lRCt zabaG&H0L9A2vtNa+M~#0*o{miN-Ruspxek#+oT;At-%g_RT8PgM@6)B3@-pGlQTEX zaro1!W2Y05**e&OXmE3IZD?K8n)XyxaATEwekoeVh!yRQgw`(@6E%k$q-pRTQVHmI zH9rNRCl{2!u3RlS1fD*7X0RmlBvDtx1n2^f?UWX(V3;Fcglt4UE7i2cM!K$kreRay5JUiH$6=3T%S|}XCfFrmwK(EvDr&VH!pzc^jRc9| zyofg$)+T-m7?L^el2trq_YBJoEBRUSS&N^CCMX+?jXXr%8Hi$Luv|J~BK&yJYQ6?R z3g?zN?JpKO&qRZ-OI&D%ehpk{EVZDJ®$f)a>iZRu^qtu71|H|&Fw=Y#^QMQ#U> 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 literal 0 HcmV?d00001 diff --git a/agent/src/nativeInterop/cinterop/macosX64/zdict.h b/agent/src/nativeInterop/cinterop/macosX64/zdict.h new file mode 100644 index 00000000..ff2e77fa --- /dev/null +++ b/agent/src/nativeInterop/cinterop/macosX64/zdict.h @@ -0,0 +1,305 @@ +/* + * Copyright (c) 2016-2020, Yann Collet, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under both the BSD-style license (found in the + * LICENSE file in the root directory of this source tree) and the GPLv2 (found + * in the COPYING file in the root directory of this source tree). + * You may select, at your option, one of the above-listed licenses. + */ + +#ifndef DICTBUILDER_H_001 +#define DICTBUILDER_H_001 + +#if defined (__cplusplus) +extern "C" { +#endif + + +/*====== Dependencies ======*/ +#include /* size_t */ + + +/* ===== ZDICTLIB_API : control library symbols visibility ===== */ +#ifndef ZDICTLIB_VISIBILITY +# if defined(__GNUC__) && (__GNUC__ >= 4) +# define ZDICTLIB_VISIBILITY __attribute__ ((visibility ("default"))) +# else +# define ZDICTLIB_VISIBILITY +# endif +#endif +#if defined(ZSTD_DLL_EXPORT) && (ZSTD_DLL_EXPORT==1) +# define ZDICTLIB_API __declspec(dllexport) ZDICTLIB_VISIBILITY +#elif defined(ZSTD_DLL_IMPORT) && (ZSTD_DLL_IMPORT==1) +# define ZDICTLIB_API __declspec(dllimport) ZDICTLIB_VISIBILITY /* It isn't required but allows to generate better code, saving a function pointer load from the IAT and an indirect jump.*/ +#else +# define ZDICTLIB_API ZDICTLIB_VISIBILITY +#endif + + +/*! ZDICT_trainFromBuffer(): + * Train a dictionary from an array of samples. + * Redirect towards ZDICT_optimizeTrainFromBuffer_fastCover() single-threaded, with d=8, steps=4, + * f=20, and accel=1. + * Samples must be stored concatenated in a single flat buffer `samplesBuffer`, + * supplied with an array of sizes `samplesSizes`, providing the size of each sample, in order. + * The resulting dictionary will be saved into `dictBuffer`. + * @return: size of dictionary stored into `dictBuffer` (<= `dictBufferCapacity`) + * or an error code, which can be tested with ZDICT_isError(). + * Note: Dictionary training will fail if there are not enough samples to construct a + * dictionary, or if most of the samples are too small (< 8 bytes being the lower limit). + * If dictionary training fails, you should use zstd without a dictionary, as the dictionary + * would've been ineffective anyways. If you believe your samples would benefit from a dictionary + * please open an issue with details, and we can look into it. + * Note: ZDICT_trainFromBuffer()'s memory usage is about 6 MB. + * Tips: In general, a reasonable dictionary has a size of ~ 100 KB. + * It's possible to select smaller or larger size, just by specifying `dictBufferCapacity`. + * In general, it's recommended to provide a few thousands samples, though this can vary a lot. + * It's recommended that total size of all samples be about ~x100 times the target size of dictionary. + */ +ZDICTLIB_API size_t ZDICT_trainFromBuffer(void* dictBuffer, size_t dictBufferCapacity, + const void* samplesBuffer, + const size_t* samplesSizes, unsigned nbSamples); + +typedef struct { + int compressionLevel; /*< optimize for a specific zstd compression level; 0 means default */ + unsigned notificationLevel; /*< Write log to stderr; 0 = none (default); 1 = errors; 2 = progression; 3 = details; 4 = debug; */ + unsigned dictID; /*< force dictID value; 0 means auto mode (32-bits random value) */ +} ZDICT_params_t; + +/*! ZDICT_finalizeDictionary(): + * Given a custom content as a basis for dictionary, and a set of samples, + * finalize dictionary by adding headers and statistics according to the zstd + * dictionary format. + * + * Samples must be stored concatenated in a flat buffer `samplesBuffer`, + * supplied with an array of sizes `samplesSizes`, providing the size of each + * sample in order. The samples are used to construct the statistics, so they + * should be representative of what you will compress with this dictionary. + * + * The compression level can be set in `parameters`. You should pass the + * compression level you expect to use in production. The statistics for each + * compression level differ, so tuning the dictionary for the compression level + * can help quite a bit. + * + * You can set an explicit dictionary ID in `parameters`, or allow us to pick + * a random dictionary ID for you, but we can't guarantee no collisions. + * + * The dstDictBuffer and the dictContent may overlap, and the content will be + * appended to the end of the header. If the header + the content doesn't fit in + * maxDictSize the beginning of the content is truncated to make room, since it + * is presumed that the most profitable content is at the end of the dictionary, + * since that is the cheapest to reference. + * + * `dictContentSize` must be >= ZDICT_CONTENTSIZE_MIN bytes. + * `maxDictSize` must be >= max(dictContentSize, ZSTD_DICTSIZE_MIN). + * + * @return: size of dictionary stored into `dstDictBuffer` (<= `maxDictSize`), + * or an error code, which can be tested by ZDICT_isError(). + * Note: ZDICT_finalizeDictionary() will push notifications into stderr if + * instructed to, using notificationLevel>0. + * NOTE: This function currently may fail in several edge cases including: + * * Not enough samples + * * Samples are uncompressible + * * Samples are all exactly the same + */ +ZDICTLIB_API size_t ZDICT_finalizeDictionary(void* dstDictBuffer, size_t maxDictSize, + const void* dictContent, size_t dictContentSize, + const void* samplesBuffer, const size_t* samplesSizes, unsigned nbSamples, + ZDICT_params_t parameters); + + +/*====== Helper functions ======*/ +ZDICTLIB_API unsigned ZDICT_getDictID(const void* dictBuffer, size_t dictSize); /**< extracts dictID; @return zero if error (not a valid dictionary) */ +ZDICTLIB_API size_t ZDICT_getDictHeaderSize(const void* dictBuffer, size_t dictSize); /* returns dict header size; returns a ZSTD error code on failure */ +ZDICTLIB_API unsigned ZDICT_isError(size_t errorCode); +ZDICTLIB_API const char* ZDICT_getErrorName(size_t errorCode); + + + +#ifdef ZDICT_STATIC_LINKING_ONLY + +/* ==================================================================================== + * The definitions in this section are considered experimental. + * They should never be used with a dynamic library, as they may change in the future. + * They are provided for advanced usages. + * Use them only in association with static linking. + * ==================================================================================== */ + +#define ZDICT_CONTENTSIZE_MIN 128 +#define ZDICT_DICTSIZE_MIN 256 + +/*! ZDICT_cover_params_t: + * k and d are the only required parameters. + * For others, value 0 means default. + */ +typedef struct { + unsigned k; /* Segment size : constraint: 0 < k : Reasonable range [16, 2048+] */ + unsigned d; /* dmer size : constraint: 0 < d <= k : Reasonable range [6, 16] */ + unsigned steps; /* Number of steps : Only used for optimization : 0 means default (40) : Higher means more parameters checked */ + unsigned nbThreads; /* Number of threads : constraint: 0 < nbThreads : 1 means single-threaded : Only used for optimization : Ignored if ZSTD_MULTITHREAD is not defined */ + double splitPoint; /* Percentage of samples used for training: Only used for optimization : the first nbSamples * splitPoint samples will be used to training, the last nbSamples * (1 - splitPoint) samples will be used for testing, 0 means default (1.0), 1.0 when all samples are used for both training and testing */ + unsigned shrinkDict; /* Train dictionaries to shrink in size starting from the minimum size and selects the smallest dictionary that is shrinkDictMaxRegression% worse than the largest dictionary. 0 means no shrinking and 1 means shrinking */ + unsigned shrinkDictMaxRegression; /* Sets shrinkDictMaxRegression so that a smaller dictionary can be at worse shrinkDictMaxRegression% worse than the max dict size dictionary. */ + ZDICT_params_t zParams; +} ZDICT_cover_params_t; + +typedef struct { + unsigned k; /* Segment size : constraint: 0 < k : Reasonable range [16, 2048+] */ + unsigned d; /* dmer size : constraint: 0 < d <= k : Reasonable range [6, 16] */ + unsigned f; /* log of size of frequency array : constraint: 0 < f <= 31 : 1 means default(20)*/ + unsigned steps; /* Number of steps : Only used for optimization : 0 means default (40) : Higher means more parameters checked */ + unsigned nbThreads; /* Number of threads : constraint: 0 < nbThreads : 1 means single-threaded : Only used for optimization : Ignored if ZSTD_MULTITHREAD is not defined */ + double splitPoint; /* Percentage of samples used for training: Only used for optimization : the first nbSamples * splitPoint samples will be used to training, the last nbSamples * (1 - splitPoint) samples will be used for testing, 0 means default (0.75), 1.0 when all samples are used for both training and testing */ + unsigned accel; /* Acceleration level: constraint: 0 < accel <= 10, higher means faster and less accurate, 0 means default(1) */ + unsigned shrinkDict; /* Train dictionaries to shrink in size starting from the minimum size and selects the smallest dictionary that is shrinkDictMaxRegression% worse than the largest dictionary. 0 means no shrinking and 1 means shrinking */ + unsigned shrinkDictMaxRegression; /* Sets shrinkDictMaxRegression so that a smaller dictionary can be at worse shrinkDictMaxRegression% worse than the max dict size dictionary. */ + + ZDICT_params_t zParams; +} ZDICT_fastCover_params_t; + +/*! ZDICT_trainFromBuffer_cover(): + * Train a dictionary from an array of samples using the COVER algorithm. + * Samples must be stored concatenated in a single flat buffer `samplesBuffer`, + * supplied with an array of sizes `samplesSizes`, providing the size of each sample, in order. + * The resulting dictionary will be saved into `dictBuffer`. + * @return: size of dictionary stored into `dictBuffer` (<= `dictBufferCapacity`) + * or an error code, which can be tested with ZDICT_isError(). + * See ZDICT_trainFromBuffer() for details on failure modes. + * Note: ZDICT_trainFromBuffer_cover() requires about 9 bytes of memory for each input byte. + * Tips: In general, a reasonable dictionary has a size of ~ 100 KB. + * It's possible to select smaller or larger size, just by specifying `dictBufferCapacity`. + * In general, it's recommended to provide a few thousands samples, though this can vary a lot. + * It's recommended that total size of all samples be about ~x100 times the target size of dictionary. + */ +ZDICTLIB_API size_t ZDICT_trainFromBuffer_cover( + void *dictBuffer, size_t dictBufferCapacity, + const void *samplesBuffer, const size_t *samplesSizes, unsigned nbSamples, + ZDICT_cover_params_t parameters); + +/*! ZDICT_optimizeTrainFromBuffer_cover(): + * The same requirements as above hold for all the parameters except `parameters`. + * This function tries many parameter combinations and picks the best parameters. + * `*parameters` is filled with the best parameters found, + * dictionary constructed with those parameters is stored in `dictBuffer`. + * + * All of the parameters d, k, steps are optional. + * If d is non-zero then we don't check multiple values of d, otherwise we check d = {6, 8}. + * if steps is zero it defaults to its default value. + * If k is non-zero then we don't check multiple values of k, otherwise we check steps values in [50, 2000]. + * + * @return: size of dictionary stored into `dictBuffer` (<= `dictBufferCapacity`) + * or an error code, which can be tested with ZDICT_isError(). + * On success `*parameters` contains the parameters selected. + * See ZDICT_trainFromBuffer() for details on failure modes. + * Note: ZDICT_optimizeTrainFromBuffer_cover() requires about 8 bytes of memory for each input byte and additionally another 5 bytes of memory for each byte of memory for each thread. + */ +ZDICTLIB_API size_t ZDICT_optimizeTrainFromBuffer_cover( + void* dictBuffer, size_t dictBufferCapacity, + const void* samplesBuffer, const size_t* samplesSizes, unsigned nbSamples, + ZDICT_cover_params_t* parameters); + +/*! ZDICT_trainFromBuffer_fastCover(): + * Train a dictionary from an array of samples using a modified version of COVER algorithm. + * Samples must be stored concatenated in a single flat buffer `samplesBuffer`, + * supplied with an array of sizes `samplesSizes`, providing the size of each sample, in order. + * d and k are required. + * All other parameters are optional, will use default values if not provided + * The resulting dictionary will be saved into `dictBuffer`. + * @return: size of dictionary stored into `dictBuffer` (<= `dictBufferCapacity`) + * or an error code, which can be tested with ZDICT_isError(). + * See ZDICT_trainFromBuffer() for details on failure modes. + * Note: ZDICT_trainFromBuffer_fastCover() requires 6 * 2^f bytes of memory. + * Tips: In general, a reasonable dictionary has a size of ~ 100 KB. + * It's possible to select smaller or larger size, just by specifying `dictBufferCapacity`. + * In general, it's recommended to provide a few thousands samples, though this can vary a lot. + * It's recommended that total size of all samples be about ~x100 times the target size of dictionary. + */ +ZDICTLIB_API size_t ZDICT_trainFromBuffer_fastCover(void *dictBuffer, + size_t dictBufferCapacity, const void *samplesBuffer, + const size_t *samplesSizes, unsigned nbSamples, + ZDICT_fastCover_params_t parameters); + +/*! ZDICT_optimizeTrainFromBuffer_fastCover(): + * The same requirements as above hold for all the parameters except `parameters`. + * This function tries many parameter combinations (specifically, k and d combinations) + * and picks the best parameters. `*parameters` is filled with the best parameters found, + * dictionary constructed with those parameters is stored in `dictBuffer`. + * All of the parameters d, k, steps, f, and accel are optional. + * If d is non-zero then we don't check multiple values of d, otherwise we check d = {6, 8}. + * if steps is zero it defaults to its default value. + * If k is non-zero then we don't check multiple values of k, otherwise we check steps values in [50, 2000]. + * If f is zero, default value of 20 is used. + * If accel is zero, default value of 1 is used. + * + * @return: size of dictionary stored into `dictBuffer` (<= `dictBufferCapacity`) + * or an error code, which can be tested with ZDICT_isError(). + * On success `*parameters` contains the parameters selected. + * See ZDICT_trainFromBuffer() for details on failure modes. + * Note: ZDICT_optimizeTrainFromBuffer_fastCover() requires about 6 * 2^f bytes of memory for each thread. + */ +ZDICTLIB_API size_t ZDICT_optimizeTrainFromBuffer_fastCover(void* dictBuffer, + size_t dictBufferCapacity, const void* samplesBuffer, + const size_t* samplesSizes, unsigned nbSamples, + ZDICT_fastCover_params_t* parameters); + +typedef struct { + unsigned selectivityLevel; /* 0 means default; larger => select more => larger dictionary */ + ZDICT_params_t zParams; +} ZDICT_legacy_params_t; + +/*! ZDICT_trainFromBuffer_legacy(): + * Train a dictionary from an array of samples. + * Samples must be stored concatenated in a single flat buffer `samplesBuffer`, + * supplied with an array of sizes `samplesSizes`, providing the size of each sample, in order. + * The resulting dictionary will be saved into `dictBuffer`. + * `parameters` is optional and can be provided with values set to 0 to mean "default". + * @return: size of dictionary stored into `dictBuffer` (<= `dictBufferCapacity`) + * or an error code, which can be tested with ZDICT_isError(). + * See ZDICT_trainFromBuffer() for details on failure modes. + * Tips: In general, a reasonable dictionary has a size of ~ 100 KB. + * It's possible to select smaller or larger size, just by specifying `dictBufferCapacity`. + * In general, it's recommended to provide a few thousands samples, though this can vary a lot. + * It's recommended that total size of all samples be about ~x100 times the target size of dictionary. + * Note: ZDICT_trainFromBuffer_legacy() will send notifications into stderr if instructed to, using notificationLevel>0. + */ +ZDICTLIB_API size_t ZDICT_trainFromBuffer_legacy( + void *dictBuffer, size_t dictBufferCapacity, + const void *samplesBuffer, const size_t *samplesSizes, unsigned nbSamples, + ZDICT_legacy_params_t parameters); + +/* Deprecation warnings */ +/* It is generally possible to disable deprecation warnings from compiler, + for example with -Wno-deprecated-declarations for gcc + or _CRT_SECURE_NO_WARNINGS in Visual. + Otherwise, it's also possible to manually define ZDICT_DISABLE_DEPRECATE_WARNINGS */ +#ifdef ZDICT_DISABLE_DEPRECATE_WARNINGS +# define ZDICT_DEPRECATED(message) ZDICTLIB_API /* disable deprecation warnings */ +#else +# define ZDICT_GCC_VERSION (__GNUC__ * 100 + __GNUC_MINOR__) +# if defined (__cplusplus) && (__cplusplus >= 201402) /* C++14 or greater */ +# define ZDICT_DEPRECATED(message) [[deprecated(message)]] ZDICTLIB_API +# elif (ZDICT_GCC_VERSION >= 405) || defined(__clang__) +# define ZDICT_DEPRECATED(message) ZDICTLIB_API __attribute__((deprecated(message))) +# elif (ZDICT_GCC_VERSION >= 301) +# define ZDICT_DEPRECATED(message) ZDICTLIB_API __attribute__((deprecated)) +# elif defined(_MSC_VER) +# define ZDICT_DEPRECATED(message) ZDICTLIB_API __declspec(deprecated(message)) +# else +# pragma message("WARNING: You need to implement ZDICT_DEPRECATED for this compiler") +# define ZDICT_DEPRECATED(message) ZDICTLIB_API +# endif +#endif /* ZDICT_DISABLE_DEPRECATE_WARNINGS */ + +ZDICT_DEPRECATED("use ZDICT_finalizeDictionary() instead") +size_t ZDICT_addEntropyTablesFromBuffer(void* dictBuffer, size_t dictContentSize, size_t dictBufferCapacity, + const void* samplesBuffer, const size_t* samplesSizes, unsigned nbSamples); + + +#endif /* ZDICT_STATIC_LINKING_ONLY */ + +#if defined (__cplusplus) +} +#endif + +#endif /* DICTBUILDER_H_001 */ diff --git a/agent/src/nativeInterop/cinterop/macosX64/zstd.h b/agent/src/nativeInterop/cinterop/macosX64/zstd.h new file mode 100644 index 00000000..8c6fc6ae --- /dev/null +++ b/agent/src/nativeInterop/cinterop/macosX64/zstd.h @@ -0,0 +1,2090 @@ +/* + * Copyright (c) 2016-2020, Yann Collet, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under both the BSD-style license (found in the + * LICENSE file in the root directory of this source tree) and the GPLv2 (found + * in the COPYING file in the root directory of this source tree). + * You may select, at your option, one of the above-listed licenses. + */ +#if defined (__cplusplus) +extern "C" { +#endif + +#ifndef ZSTD_H_235446 +#define ZSTD_H_235446 + +/* ====== Dependency ======*/ +#include /* INT_MAX */ +#include /* size_t */ + + +/* ===== ZSTDLIB_API : control library symbols visibility ===== */ +#ifndef ZSTDLIB_VISIBILITY +# if defined(__GNUC__) && (__GNUC__ >= 4) +# define ZSTDLIB_VISIBILITY __attribute__ ((visibility ("default"))) +# else +# define ZSTDLIB_VISIBILITY +# endif +#endif +#if defined(ZSTD_DLL_EXPORT) && (ZSTD_DLL_EXPORT==1) +# define ZSTDLIB_API __declspec(dllexport) ZSTDLIB_VISIBILITY +#elif defined(ZSTD_DLL_IMPORT) && (ZSTD_DLL_IMPORT==1) +# define ZSTDLIB_API __declspec(dllimport) ZSTDLIB_VISIBILITY /* It isn't required but allows to generate better code, saving a function pointer load from the IAT and an indirect jump.*/ +#else +# define ZSTDLIB_API ZSTDLIB_VISIBILITY +#endif + + +/******************************************************************************* + Introduction + + zstd, short for Zstandard, is a fast lossless compression algorithm, targeting + real-time compression scenarios at zlib-level and better compression ratios. + The zstd compression library provides in-memory compression and decompression + functions. + + The library supports regular compression levels from 1 up to ZSTD_maxCLevel(), + which is currently 22. Levels >= 20, labeled `--ultra`, should be used with + caution, as they require more memory. The library also offers negative + compression levels, which extend the range of speed vs. ratio preferences. + The lower the level, the faster the speed (at the cost of compression). + + Compression can be done in: + - a single step (described as Simple API) + - a single step, reusing a context (described as Explicit context) + - unbounded multiple steps (described as Streaming compression) + + The compression ratio achievable on small data can be highly improved using + a dictionary. Dictionary compression can be performed in: + - a single step (described as Simple dictionary API) + - a single step, reusing a dictionary (described as Bulk-processing + dictionary API) + + Advanced experimental functions can be accessed using + `#define ZSTD_STATIC_LINKING_ONLY` before including zstd.h. + + Advanced experimental APIs should never be used with a dynamically-linked + library. They are not "stable"; their definitions or signatures may change in + the future. Only static linking is allowed. +*******************************************************************************/ + +/*------ Version ------*/ +#define ZSTD_VERSION_MAJOR 1 +#define ZSTD_VERSION_MINOR 4 +#define ZSTD_VERSION_RELEASE 5 + +#define ZSTD_VERSION_NUMBER (ZSTD_VERSION_MAJOR *100*100 + ZSTD_VERSION_MINOR *100 + ZSTD_VERSION_RELEASE) +ZSTDLIB_API unsigned ZSTD_versionNumber(void); /**< to check runtime library version */ + +#define ZSTD_LIB_VERSION ZSTD_VERSION_MAJOR.ZSTD_VERSION_MINOR.ZSTD_VERSION_RELEASE +#define ZSTD_QUOTE(str) #str +#define ZSTD_EXPAND_AND_QUOTE(str) ZSTD_QUOTE(str) +#define ZSTD_VERSION_STRING ZSTD_EXPAND_AND_QUOTE(ZSTD_LIB_VERSION) +ZSTDLIB_API const char* ZSTD_versionString(void); /* requires v1.3.0+ */ + +/* ************************************* + * Default constant + ***************************************/ +#ifndef ZSTD_CLEVEL_DEFAULT +# define ZSTD_CLEVEL_DEFAULT 3 +#endif + +/* ************************************* + * Constants + ***************************************/ + +/* All magic numbers are supposed read/written to/from files/memory using little-endian convention */ +#define ZSTD_MAGICNUMBER 0xFD2FB528 /* valid since v0.8.0 */ +#define ZSTD_MAGIC_DICTIONARY 0xEC30A437 /* valid since v0.7.0 */ +#define ZSTD_MAGIC_SKIPPABLE_START 0x184D2A50 /* all 16 values, from 0x184D2A50 to 0x184D2A5F, signal the beginning of a skippable frame */ +#define ZSTD_MAGIC_SKIPPABLE_MASK 0xFFFFFFF0 + +#define ZSTD_BLOCKSIZELOG_MAX 17 +#define ZSTD_BLOCKSIZE_MAX (1<= `ZSTD_compressBound(srcSize)`. + * @return : compressed size written into `dst` (<= `dstCapacity), + * or an error code if it fails (which can be tested using ZSTD_isError()). */ +ZSTDLIB_API size_t ZSTD_compress( void* dst, size_t dstCapacity, + const void* src, size_t srcSize, + int compressionLevel); + +/*! ZSTD_decompress() : + * `compressedSize` : must be the _exact_ size of some number of compressed and/or skippable frames. + * `dstCapacity` is an upper bound of originalSize to regenerate. + * If user cannot imply a maximum upper bound, it's better to use streaming mode to decompress data. + * @return : the number of bytes decompressed into `dst` (<= `dstCapacity`), + * or an errorCode if it fails (which can be tested using ZSTD_isError()). */ +ZSTDLIB_API size_t ZSTD_decompress( void* dst, size_t dstCapacity, + const void* src, size_t compressedSize); + +/*! ZSTD_getFrameContentSize() : requires v1.3.0+ + * `src` should point to the start of a ZSTD encoded frame. + * `srcSize` must be at least as large as the frame header. + * hint : any size >= `ZSTD_frameHeaderSize_max` is large enough. + * @return : - decompressed size of `src` frame content, if known + * - ZSTD_CONTENTSIZE_UNKNOWN if the size cannot be determined + * - ZSTD_CONTENTSIZE_ERROR if an error occurred (e.g. invalid magic number, srcSize too small) + * note 1 : a 0 return value means the frame is valid but "empty". + * note 2 : decompressed size is an optional field, it may not be present, typically in streaming mode. + * When `return==ZSTD_CONTENTSIZE_UNKNOWN`, data to decompress could be any size. + * In which case, it's necessary to use streaming mode to decompress data. + * Optionally, application can rely on some implicit limit, + * as ZSTD_decompress() only needs an upper bound of decompressed size. + * (For example, data could be necessarily cut into blocks <= 16 KB). + * note 3 : decompressed size is always present when compression is completed using single-pass functions, + * such as ZSTD_compress(), ZSTD_compressCCtx() ZSTD_compress_usingDict() or ZSTD_compress_usingCDict(). + * note 4 : decompressed size can be very large (64-bits value), + * potentially larger than what local system can handle as a single memory segment. + * In which case, it's necessary to use streaming mode to decompress data. + * note 5 : If source is untrusted, decompressed size could be wrong or intentionally modified. + * Always ensure return value fits within application's authorized limits. + * Each application can set its own limits. + * note 6 : This function replaces ZSTD_getDecompressedSize() */ +#define ZSTD_CONTENTSIZE_UNKNOWN (0ULL - 1) +#define ZSTD_CONTENTSIZE_ERROR (0ULL - 2) +ZSTDLIB_API unsigned long long ZSTD_getFrameContentSize(const void *src, size_t srcSize); + +/*! ZSTD_getDecompressedSize() : + * NOTE: This function is now obsolete, in favor of ZSTD_getFrameContentSize(). + * Both functions work the same way, but ZSTD_getDecompressedSize() blends + * "empty", "unknown" and "error" results to the same return value (0), + * while ZSTD_getFrameContentSize() gives them separate return values. + * @return : decompressed size of `src` frame content _if known and not empty_, 0 otherwise. */ +ZSTDLIB_API unsigned long long ZSTD_getDecompressedSize(const void* src, size_t srcSize); + +/*! ZSTD_findFrameCompressedSize() : + * `src` should point to the start of a ZSTD frame or skippable frame. + * `srcSize` must be >= first frame size + * @return : the compressed size of the first frame starting at `src`, + * suitable to pass as `srcSize` to `ZSTD_decompress` or similar, + * or an error code if input is invalid */ +ZSTDLIB_API size_t ZSTD_findFrameCompressedSize(const void* src, size_t srcSize); + + +/*====== Helper functions ======*/ +#define ZSTD_COMPRESSBOUND(srcSize) ((srcSize) + ((srcSize)>>8) + (((srcSize) < (128<<10)) ? (((128<<10) - (srcSize)) >> 11) /* margin, from 64 to 0 */ : 0)) /* this formula ensures that bound(A) + bound(B) <= bound(A+B) as long as A and B >= 128 KB */ +ZSTDLIB_API size_t ZSTD_compressBound(size_t srcSize); /*!< maximum compressed size in worst case single-pass scenario */ +ZSTDLIB_API unsigned ZSTD_isError(size_t code); /*!< tells if a `size_t` function result is an error code */ +ZSTDLIB_API const char* ZSTD_getErrorName(size_t code); /*!< provides readable string from an error code */ +ZSTDLIB_API int ZSTD_minCLevel(void); /*!< minimum negative compression level allowed */ +ZSTDLIB_API int ZSTD_maxCLevel(void); /*!< maximum compression level available */ + + +/*************************************** +* Explicit context +***************************************/ +/*= Compression context + * When compressing many times, + * it is recommended to allocate a context just once, + * and re-use it for each successive compression operation. + * This will make workload friendlier for system's memory. + * Note : re-using context is just a speed / resource optimization. + * It doesn't change the compression ratio, which remains identical. + * Note 2 : In multi-threaded environments, + * use one different context per thread for parallel execution. + */ +typedef struct ZSTD_CCtx_s ZSTD_CCtx; +ZSTDLIB_API ZSTD_CCtx* ZSTD_createCCtx(void); +ZSTDLIB_API size_t ZSTD_freeCCtx(ZSTD_CCtx* cctx); + +/*! ZSTD_compressCCtx() : + * Same as ZSTD_compress(), using an explicit ZSTD_CCtx. + * Important : in order to behave similarly to `ZSTD_compress()`, + * this function compresses at requested compression level, + * __ignoring any other parameter__ . + * If any advanced parameter was set using the advanced API, + * they will all be reset. Only `compressionLevel` remains. + */ +ZSTDLIB_API size_t ZSTD_compressCCtx(ZSTD_CCtx* cctx, + void* dst, size_t dstCapacity, + const void* src, size_t srcSize, + int compressionLevel); + +/*= Decompression context + * When decompressing many times, + * it is recommended to allocate a context only once, + * and re-use it for each successive compression operation. + * This will make workload friendlier for system's memory. + * Use one context per thread for parallel execution. */ +typedef struct ZSTD_DCtx_s ZSTD_DCtx; +ZSTDLIB_API ZSTD_DCtx* ZSTD_createDCtx(void); +ZSTDLIB_API size_t ZSTD_freeDCtx(ZSTD_DCtx* dctx); + +/*! ZSTD_decompressDCtx() : + * Same as ZSTD_decompress(), + * requires an allocated ZSTD_DCtx. + * Compatible with sticky parameters. + */ +ZSTDLIB_API size_t ZSTD_decompressDCtx(ZSTD_DCtx* dctx, + void* dst, size_t dstCapacity, + const void* src, size_t srcSize); + + +/*************************************** +* Advanced compression API +***************************************/ + +/* API design : + * Parameters are pushed one by one into an existing context, + * using ZSTD_CCtx_set*() functions. + * Pushed parameters are sticky : they are valid for next compressed frame, and any subsequent frame. + * "sticky" parameters are applicable to `ZSTD_compress2()` and `ZSTD_compressStream*()` ! + * __They do not apply to "simple" one-shot variants such as ZSTD_compressCCtx()__ . + * + * It's possible to reset all parameters to "default" using ZSTD_CCtx_reset(). + * + * This API supercedes all other "advanced" API entry points in the experimental section. + * In the future, we expect to remove from experimental API entry points which are redundant with this API. + */ + + +/* Compression strategies, listed from fastest to strongest */ +typedef enum { ZSTD_fast=1, + ZSTD_dfast=2, + ZSTD_greedy=3, + ZSTD_lazy=4, + ZSTD_lazy2=5, + ZSTD_btlazy2=6, + ZSTD_btopt=7, + ZSTD_btultra=8, + ZSTD_btultra2=9 + /* note : new strategies _might_ be added in the future. + Only the order (from fast to strong) is guaranteed */ +} ZSTD_strategy; + + +typedef enum { + + /* compression parameters + * Note: When compressing with a ZSTD_CDict these parameters are superseded + * by the parameters used to construct the ZSTD_CDict. + * See ZSTD_CCtx_refCDict() for more info (superseded-by-cdict). */ + ZSTD_c_compressionLevel=100, /* Set compression parameters according to pre-defined cLevel table. + * Note that exact compression parameters are dynamically determined, + * depending on both compression level and srcSize (when known). + * Default level is ZSTD_CLEVEL_DEFAULT==3. + * Special: value 0 means default, which is controlled by ZSTD_CLEVEL_DEFAULT. + * Note 1 : it's possible to pass a negative compression level. + * Note 2 : setting a level does not automatically set all other compression parameters + * to default. Setting this will however eventually dynamically impact the compression + * parameters which have not been manually set. The manually set + * ones will 'stick'. */ + /* Advanced compression parameters : + * It's possible to pin down compression parameters to some specific values. + * In which case, these values are no longer dynamically selected by the compressor */ + ZSTD_c_windowLog=101, /* Maximum allowed back-reference distance, expressed as power of 2. + * This will set a memory budget for streaming decompression, + * with larger values requiring more memory + * and typically compressing more. + * Must be clamped between ZSTD_WINDOWLOG_MIN and ZSTD_WINDOWLOG_MAX. + * Special: value 0 means "use default windowLog". + * Note: Using a windowLog greater than ZSTD_WINDOWLOG_LIMIT_DEFAULT + * requires explicitly allowing such size at streaming decompression stage. */ + ZSTD_c_hashLog=102, /* Size of the initial probe table, as a power of 2. + * Resulting memory usage is (1 << (hashLog+2)). + * Must be clamped between ZSTD_HASHLOG_MIN and ZSTD_HASHLOG_MAX. + * Larger tables improve compression ratio of strategies <= dFast, + * and improve speed of strategies > dFast. + * Special: value 0 means "use default hashLog". */ + ZSTD_c_chainLog=103, /* Size of the multi-probe search table, as a power of 2. + * Resulting memory usage is (1 << (chainLog+2)). + * Must be clamped between ZSTD_CHAINLOG_MIN and ZSTD_CHAINLOG_MAX. + * Larger tables result in better and slower compression. + * This parameter is useless for "fast" strategy. + * It's still useful when using "dfast" strategy, + * in which case it defines a secondary probe table. + * Special: value 0 means "use default chainLog". */ + ZSTD_c_searchLog=104, /* Number of search attempts, as a power of 2. + * More attempts result in better and slower compression. + * This parameter is useless for "fast" and "dFast" strategies. + * Special: value 0 means "use default searchLog". */ + ZSTD_c_minMatch=105, /* Minimum size of searched matches. + * Note that Zstandard can still find matches of smaller size, + * it just tweaks its search algorithm to look for this size and larger. + * Larger values increase compression and decompression speed, but decrease ratio. + * Must be clamped between ZSTD_MINMATCH_MIN and ZSTD_MINMATCH_MAX. + * Note that currently, for all strategies < btopt, effective minimum is 4. + * , for all strategies > fast, effective maximum is 6. + * Special: value 0 means "use default minMatchLength". */ + ZSTD_c_targetLength=106, /* Impact of this field depends on strategy. + * For strategies btopt, btultra & btultra2: + * Length of Match considered "good enough" to stop search. + * Larger values make compression stronger, and slower. + * For strategy fast: + * Distance between match sampling. + * Larger values make compression faster, and weaker. + * Special: value 0 means "use default targetLength". */ + ZSTD_c_strategy=107, /* See ZSTD_strategy enum definition. + * The higher the value of selected strategy, the more complex it is, + * resulting in stronger and slower compression. + * Special: value 0 means "use default strategy". */ + + /* LDM mode parameters */ + ZSTD_c_enableLongDistanceMatching=160, /* Enable long distance matching. + * This parameter is designed to improve compression ratio + * for large inputs, by finding large matches at long distance. + * It increases memory usage and window size. + * Note: enabling this parameter increases default ZSTD_c_windowLog to 128 MB + * except when expressly set to a different value. */ + ZSTD_c_ldmHashLog=161, /* Size of the table for long distance matching, as a power of 2. + * Larger values increase memory usage and compression ratio, + * but decrease compression speed. + * Must be clamped between ZSTD_HASHLOG_MIN and ZSTD_HASHLOG_MAX + * default: windowlog - 7. + * Special: value 0 means "automatically determine hashlog". */ + ZSTD_c_ldmMinMatch=162, /* Minimum match size for long distance matcher. + * Larger/too small values usually decrease compression ratio. + * Must be clamped between ZSTD_LDM_MINMATCH_MIN and ZSTD_LDM_MINMATCH_MAX. + * Special: value 0 means "use default value" (default: 64). */ + ZSTD_c_ldmBucketSizeLog=163, /* Log size of each bucket in the LDM hash table for collision resolution. + * Larger values improve collision resolution but decrease compression speed. + * The maximum value is ZSTD_LDM_BUCKETSIZELOG_MAX. + * Special: value 0 means "use default value" (default: 3). */ + ZSTD_c_ldmHashRateLog=164, /* Frequency of inserting/looking up entries into the LDM hash table. + * Must be clamped between 0 and (ZSTD_WINDOWLOG_MAX - ZSTD_HASHLOG_MIN). + * Default is MAX(0, (windowLog - ldmHashLog)), optimizing hash table usage. + * Larger values improve compression speed. + * Deviating far from default value will likely result in a compression ratio decrease. + * Special: value 0 means "automatically determine hashRateLog". */ + + /* frame parameters */ + ZSTD_c_contentSizeFlag=200, /* Content size will be written into frame header _whenever known_ (default:1) + * Content size must be known at the beginning of compression. + * This is automatically the case when using ZSTD_compress2(), + * For streaming scenarios, content size must be provided with ZSTD_CCtx_setPledgedSrcSize() */ + ZSTD_c_checksumFlag=201, /* A 32-bits checksum of content is written at end of frame (default:0) */ + ZSTD_c_dictIDFlag=202, /* When applicable, dictionary's ID is written into frame header (default:1) */ + + /* multi-threading parameters */ + /* These parameters are only useful if multi-threading is enabled (compiled with build macro ZSTD_MULTITHREAD). + * They return an error otherwise. */ + ZSTD_c_nbWorkers=400, /* Select how many threads will be spawned to compress in parallel. + * When nbWorkers >= 1, triggers asynchronous mode when used with ZSTD_compressStream*() : + * ZSTD_compressStream*() consumes input and flush output if possible, but immediately gives back control to caller, + * while compression work is performed in parallel, within worker threads. + * (note : a strong exception to this rule is when first invocation of ZSTD_compressStream2() sets ZSTD_e_end : + * in which case, ZSTD_compressStream2() delegates to ZSTD_compress2(), which is always a blocking call). + * More workers improve speed, but also increase memory usage. + * Default value is `0`, aka "single-threaded mode" : no worker is spawned, compression is performed inside Caller's thread, all invocations are blocking */ + ZSTD_c_jobSize=401, /* Size of a compression job. This value is enforced only when nbWorkers >= 1. + * Each compression job is completed in parallel, so this value can indirectly impact the nb of active threads. + * 0 means default, which is dynamically determined based on compression parameters. + * Job size must be a minimum of overlap size, or 1 MB, whichever is largest. + * The minimum size is automatically and transparently enforced. */ + ZSTD_c_overlapLog=402, /* Control the overlap size, as a fraction of window size. + * The overlap size is an amount of data reloaded from previous job at the beginning of a new job. + * It helps preserve compression ratio, while each job is compressed in parallel. + * This value is enforced only when nbWorkers >= 1. + * Larger values increase compression ratio, but decrease speed. + * Possible values range from 0 to 9 : + * - 0 means "default" : value will be determined by the library, depending on strategy + * - 1 means "no overlap" + * - 9 means "full overlap", using a full window size. + * Each intermediate rank increases/decreases load size by a factor 2 : + * 9: full window; 8: w/2; 7: w/4; 6: w/8; 5:w/16; 4: w/32; 3:w/64; 2:w/128; 1:no overlap; 0:default + * default value varies between 6 and 9, depending on strategy */ + + /* note : additional experimental parameters are also available + * within the experimental section of the API. + * At the time of this writing, they include : + * ZSTD_c_rsyncable + * ZSTD_c_format + * ZSTD_c_forceMaxWindow + * ZSTD_c_forceAttachDict + * ZSTD_c_literalCompressionMode + * ZSTD_c_targetCBlockSize + * ZSTD_c_srcSizeHint + * Because they are not stable, it's necessary to define ZSTD_STATIC_LINKING_ONLY to access them. + * note : never ever use experimentalParam? names directly; + * also, the enums values themselves are unstable and can still change. + */ + ZSTD_c_experimentalParam1=500, + ZSTD_c_experimentalParam2=10, + ZSTD_c_experimentalParam3=1000, + ZSTD_c_experimentalParam4=1001, + ZSTD_c_experimentalParam5=1002, + ZSTD_c_experimentalParam6=1003, + ZSTD_c_experimentalParam7=1004 +} ZSTD_cParameter; + +typedef struct { + size_t error; + int lowerBound; + int upperBound; +} ZSTD_bounds; + +/*! ZSTD_cParam_getBounds() : + * All parameters must belong to an interval with lower and upper bounds, + * otherwise they will either trigger an error or be automatically clamped. + * @return : a structure, ZSTD_bounds, which contains + * - an error status field, which must be tested using ZSTD_isError() + * - lower and upper bounds, both inclusive + */ +ZSTDLIB_API ZSTD_bounds ZSTD_cParam_getBounds(ZSTD_cParameter cParam); + +/*! ZSTD_CCtx_setParameter() : + * Set one compression parameter, selected by enum ZSTD_cParameter. + * All parameters have valid bounds. Bounds can be queried using ZSTD_cParam_getBounds(). + * Providing a value beyond bound will either clamp it, or trigger an error (depending on parameter). + * Setting a parameter is generally only possible during frame initialization (before starting compression). + * Exception : when using multi-threading mode (nbWorkers >= 1), + * the following parameters can be updated _during_ compression (within same frame): + * => compressionLevel, hashLog, chainLog, searchLog, minMatch, targetLength and strategy. + * new parameters will be active for next job only (after a flush()). + * @return : an error code (which can be tested using ZSTD_isError()). + */ +ZSTDLIB_API size_t ZSTD_CCtx_setParameter(ZSTD_CCtx* cctx, ZSTD_cParameter param, int value); + +/*! ZSTD_CCtx_setPledgedSrcSize() : + * Total input data size to be compressed as a single frame. + * Value will be written in frame header, unless if explicitly forbidden using ZSTD_c_contentSizeFlag. + * This value will also be controlled at end of frame, and trigger an error if not respected. + * @result : 0, or an error code (which can be tested with ZSTD_isError()). + * Note 1 : pledgedSrcSize==0 actually means zero, aka an empty frame. + * In order to mean "unknown content size", pass constant ZSTD_CONTENTSIZE_UNKNOWN. + * ZSTD_CONTENTSIZE_UNKNOWN is default value for any new frame. + * Note 2 : pledgedSrcSize is only valid once, for the next frame. + * It's discarded at the end of the frame, and replaced by ZSTD_CONTENTSIZE_UNKNOWN. + * Note 3 : Whenever all input data is provided and consumed in a single round, + * for example with ZSTD_compress2(), + * or invoking immediately ZSTD_compressStream2(,,,ZSTD_e_end), + * this value is automatically overridden by srcSize instead. + */ +ZSTDLIB_API size_t ZSTD_CCtx_setPledgedSrcSize(ZSTD_CCtx* cctx, unsigned long long pledgedSrcSize); + +typedef enum { + ZSTD_reset_session_only = 1, + ZSTD_reset_parameters = 2, + ZSTD_reset_session_and_parameters = 3 +} ZSTD_ResetDirective; + +/*! ZSTD_CCtx_reset() : + * There are 2 different things that can be reset, independently or jointly : + * - The session : will stop compressing current frame, and make CCtx ready to start a new one. + * Useful after an error, or to interrupt any ongoing compression. + * Any internal data not yet flushed is cancelled. + * Compression parameters and dictionary remain unchanged. + * They will be used to compress next frame. + * Resetting session never fails. + * - The parameters : changes all parameters back to "default". + * This removes any reference to any dictionary too. + * Parameters can only be changed between 2 sessions (i.e. no compression is currently ongoing) + * otherwise the reset fails, and function returns an error value (which can be tested using ZSTD_isError()) + * - Both : similar to resetting the session, followed by resetting parameters. + */ +ZSTDLIB_API size_t ZSTD_CCtx_reset(ZSTD_CCtx* cctx, ZSTD_ResetDirective reset); + +/*! ZSTD_compress2() : + * Behave the same as ZSTD_compressCCtx(), but compression parameters are set using the advanced API. + * ZSTD_compress2() always starts a new frame. + * Should cctx hold data from a previously unfinished frame, everything about it is forgotten. + * - Compression parameters are pushed into CCtx before starting compression, using ZSTD_CCtx_set*() + * - The function is always blocking, returns when compression is completed. + * Hint : compression runs faster if `dstCapacity` >= `ZSTD_compressBound(srcSize)`. + * @return : compressed size written into `dst` (<= `dstCapacity), + * or an error code if it fails (which can be tested using ZSTD_isError()). + */ +ZSTDLIB_API size_t ZSTD_compress2( ZSTD_CCtx* cctx, + void* dst, size_t dstCapacity, + const void* src, size_t srcSize); + + +/*************************************** +* Advanced decompression API +***************************************/ + +/* The advanced API pushes parameters one by one into an existing DCtx context. + * Parameters are sticky, and remain valid for all following frames + * using the same DCtx context. + * It's possible to reset parameters to default values using ZSTD_DCtx_reset(). + * Note : This API is compatible with existing ZSTD_decompressDCtx() and ZSTD_decompressStream(). + * Therefore, no new decompression function is necessary. + */ + +typedef enum { + + ZSTD_d_windowLogMax=100, /* Select a size limit (in power of 2) beyond which + * the streaming API will refuse to allocate memory buffer + * in order to protect the host from unreasonable memory requirements. + * This parameter is only useful in streaming mode, since no internal buffer is allocated in single-pass mode. + * By default, a decompression context accepts window sizes <= (1 << ZSTD_WINDOWLOG_LIMIT_DEFAULT). + * Special: value 0 means "use default maximum windowLog". */ + + /* note : additional experimental parameters are also available + * within the experimental section of the API. + * At the time of this writing, they include : + * ZSTD_d_format + * ZSTD_d_stableOutBuffer + * Because they are not stable, it's necessary to define ZSTD_STATIC_LINKING_ONLY to access them. + * note : never ever use experimentalParam? names directly + */ + ZSTD_d_experimentalParam1=1000, + ZSTD_d_experimentalParam2=1001 + +} ZSTD_dParameter; + +/*! ZSTD_dParam_getBounds() : + * All parameters must belong to an interval with lower and upper bounds, + * otherwise they will either trigger an error or be automatically clamped. + * @return : a structure, ZSTD_bounds, which contains + * - an error status field, which must be tested using ZSTD_isError() + * - both lower and upper bounds, inclusive + */ +ZSTDLIB_API ZSTD_bounds ZSTD_dParam_getBounds(ZSTD_dParameter dParam); + +/*! ZSTD_DCtx_setParameter() : + * Set one compression parameter, selected by enum ZSTD_dParameter. + * All parameters have valid bounds. Bounds can be queried using ZSTD_dParam_getBounds(). + * Providing a value beyond bound will either clamp it, or trigger an error (depending on parameter). + * Setting a parameter is only possible during frame initialization (before starting decompression). + * @return : 0, or an error code (which can be tested using ZSTD_isError()). + */ +ZSTDLIB_API size_t ZSTD_DCtx_setParameter(ZSTD_DCtx* dctx, ZSTD_dParameter param, int value); + +/*! ZSTD_DCtx_reset() : + * Return a DCtx to clean state. + * Session and parameters can be reset jointly or separately. + * Parameters can only be reset when no active frame is being decompressed. + * @return : 0, or an error code, which can be tested with ZSTD_isError() + */ +ZSTDLIB_API size_t ZSTD_DCtx_reset(ZSTD_DCtx* dctx, ZSTD_ResetDirective reset); + + +/**************************** +* Streaming +****************************/ + +typedef struct ZSTD_inBuffer_s { + const void* src; /**< start of input buffer */ + size_t size; /**< size of input buffer */ + size_t pos; /**< position where reading stopped. Will be updated. Necessarily 0 <= pos <= size */ +} ZSTD_inBuffer; + +typedef struct ZSTD_outBuffer_s { + void* dst; /**< start of output buffer */ + size_t size; /**< size of output buffer */ + size_t pos; /**< position where writing stopped. Will be updated. Necessarily 0 <= pos <= size */ +} ZSTD_outBuffer; + + + +/*-*********************************************************************** +* Streaming compression - HowTo +* +* A ZSTD_CStream object is required to track streaming operation. +* Use ZSTD_createCStream() and ZSTD_freeCStream() to create/release resources. +* ZSTD_CStream objects can be reused multiple times on consecutive compression operations. +* It is recommended to re-use ZSTD_CStream since it will play nicer with system's memory, by re-using already allocated memory. +* +* For parallel execution, use one separate ZSTD_CStream per thread. +* +* note : since v1.3.0, ZSTD_CStream and ZSTD_CCtx are the same thing. +* +* Parameters are sticky : when starting a new compression on the same context, +* it will re-use the same sticky parameters as previous compression session. +* When in doubt, it's recommended to fully initialize the context before usage. +* Use ZSTD_CCtx_reset() to reset the context and ZSTD_CCtx_setParameter(), +* ZSTD_CCtx_setPledgedSrcSize(), or ZSTD_CCtx_loadDictionary() and friends to +* set more specific parameters, the pledged source size, or load a dictionary. +* +* Use ZSTD_compressStream2() with ZSTD_e_continue as many times as necessary to +* consume input stream. The function will automatically update both `pos` +* fields within `input` and `output`. +* Note that the function may not consume the entire input, for example, because +* the output buffer is already full, in which case `input.pos < input.size`. +* The caller must check if input has been entirely consumed. +* If not, the caller must make some room to receive more compressed data, +* and then present again remaining input data. +* note: ZSTD_e_continue is guaranteed to make some forward progress when called, +* but doesn't guarantee maximal forward progress. This is especially relevant +* when compressing with multiple threads. The call won't block if it can +* consume some input, but if it can't it will wait for some, but not all, +* output to be flushed. +* @return : provides a minimum amount of data remaining to be flushed from internal buffers +* or an error code, which can be tested using ZSTD_isError(). +* +* At any moment, it's possible to flush whatever data might remain stuck within internal buffer, +* using ZSTD_compressStream2() with ZSTD_e_flush. `output->pos` will be updated. +* Note that, if `output->size` is too small, a single invocation with ZSTD_e_flush might not be enough (return code > 0). +* In which case, make some room to receive more compressed data, and call again ZSTD_compressStream2() with ZSTD_e_flush. +* You must continue calling ZSTD_compressStream2() with ZSTD_e_flush until it returns 0, at which point you can change the +* operation. +* note: ZSTD_e_flush will flush as much output as possible, meaning when compressing with multiple threads, it will +* block until the flush is complete or the output buffer is full. +* @return : 0 if internal buffers are entirely flushed, +* >0 if some data still present within internal buffer (the value is minimal estimation of remaining size), +* or an error code, which can be tested using ZSTD_isError(). +* +* Calling ZSTD_compressStream2() with ZSTD_e_end instructs to finish a frame. +* It will perform a flush and write frame epilogue. +* The epilogue is required for decoders to consider a frame completed. +* flush operation is the same, and follows same rules as calling ZSTD_compressStream2() with ZSTD_e_flush. +* You must continue calling ZSTD_compressStream2() with ZSTD_e_end until it returns 0, at which point you are free to +* start a new frame. +* note: ZSTD_e_end will flush as much output as possible, meaning when compressing with multiple threads, it will +* block until the flush is complete or the output buffer is full. +* @return : 0 if frame fully completed and fully flushed, +* >0 if some data still present within internal buffer (the value is minimal estimation of remaining size), +* or an error code, which can be tested using ZSTD_isError(). +* +* *******************************************************************/ + +typedef ZSTD_CCtx ZSTD_CStream; /**< CCtx and CStream are now effectively same object (>= v1.3.0) */ + /* Continue to distinguish them for compatibility with older versions <= v1.2.0 */ +/*===== ZSTD_CStream management functions =====*/ +ZSTDLIB_API ZSTD_CStream* ZSTD_createCStream(void); +ZSTDLIB_API size_t ZSTD_freeCStream(ZSTD_CStream* zcs); + +/*===== Streaming compression functions =====*/ +typedef enum { + ZSTD_e_continue=0, /* collect more data, encoder decides when to output compressed result, for optimal compression ratio */ + ZSTD_e_flush=1, /* flush any data provided so far, + * it creates (at least) one new block, that can be decoded immediately on reception; + * frame will continue: any future data can still reference previously compressed data, improving compression. + * note : multithreaded compression will block to flush as much output as possible. */ + ZSTD_e_end=2 /* flush any remaining data _and_ close current frame. + * note that frame is only closed after compressed data is fully flushed (return value == 0). + * After that point, any additional data starts a new frame. + * note : each frame is independent (does not reference any content from previous frame). + : note : multithreaded compression will block to flush as much output as possible. */ +} ZSTD_EndDirective; + +/*! ZSTD_compressStream2() : + * Behaves about the same as ZSTD_compressStream, with additional control on end directive. + * - Compression parameters are pushed into CCtx before starting compression, using ZSTD_CCtx_set*() + * - Compression parameters cannot be changed once compression is started (save a list of exceptions in multi-threading mode) + * - output->pos must be <= dstCapacity, input->pos must be <= srcSize + * - output->pos and input->pos will be updated. They are guaranteed to remain below their respective limit. + * - When nbWorkers==0 (default), function is blocking : it completes its job before returning to caller. + * - When nbWorkers>=1, function is non-blocking : it just acquires a copy of input, and distributes jobs to internal worker threads, flush whatever is available, + * and then immediately returns, just indicating that there is some data remaining to be flushed. + * The function nonetheless guarantees forward progress : it will return only after it reads or write at least 1+ byte. + * - Exception : if the first call requests a ZSTD_e_end directive and provides enough dstCapacity, the function delegates to ZSTD_compress2() which is always blocking. + * - @return provides a minimum amount of data remaining to be flushed from internal buffers + * or an error code, which can be tested using ZSTD_isError(). + * if @return != 0, flush is not fully completed, there is still some data left within internal buffers. + * This is useful for ZSTD_e_flush, since in this case more flushes are necessary to empty all buffers. + * For ZSTD_e_end, @return == 0 when internal buffers are fully flushed and frame is completed. + * - after a ZSTD_e_end directive, if internal buffer is not fully flushed (@return != 0), + * only ZSTD_e_end or ZSTD_e_flush operations are allowed. + * Before starting a new compression job, or changing compression parameters, + * it is required to fully flush internal buffers. + */ +ZSTDLIB_API size_t ZSTD_compressStream2( ZSTD_CCtx* cctx, + ZSTD_outBuffer* output, + ZSTD_inBuffer* input, + ZSTD_EndDirective endOp); + + +/* These buffer sizes are softly recommended. + * They are not required : ZSTD_compressStream*() happily accepts any buffer size, for both input and output. + * Respecting the recommended size just makes it a bit easier for ZSTD_compressStream*(), + * reducing the amount of memory shuffling and buffering, resulting in minor performance savings. + * + * However, note that these recommendations are from the perspective of a C caller program. + * If the streaming interface is invoked from some other language, + * especially managed ones such as Java or Go, through a foreign function interface such as jni or cgo, + * a major performance rule is to reduce crossing such interface to an absolute minimum. + * It's not rare that performance ends being spent more into the interface, rather than compression itself. + * In which cases, prefer using large buffers, as large as practical, + * for both input and output, to reduce the nb of roundtrips. + */ +ZSTDLIB_API size_t ZSTD_CStreamInSize(void); /**< recommended size for input buffer */ +ZSTDLIB_API size_t ZSTD_CStreamOutSize(void); /**< recommended size for output buffer. Guarantee to successfully flush at least one complete compressed block. */ + + +/* ***************************************************************************** + * This following is a legacy streaming API. + * It can be replaced by ZSTD_CCtx_reset() and ZSTD_compressStream2(). + * It is redundant, but remains fully supported. + * Advanced parameters and dictionary compression can only be used through the + * new API. + ******************************************************************************/ + +/*! + * Equivalent to: + * + * ZSTD_CCtx_reset(zcs, ZSTD_reset_session_only); + * ZSTD_CCtx_refCDict(zcs, NULL); // clear the dictionary (if any) + * ZSTD_CCtx_setParameter(zcs, ZSTD_c_compressionLevel, compressionLevel); + */ +ZSTDLIB_API size_t ZSTD_initCStream(ZSTD_CStream* zcs, int compressionLevel); +/*! + * Alternative for ZSTD_compressStream2(zcs, output, input, ZSTD_e_continue). + * NOTE: The return value is different. ZSTD_compressStream() returns a hint for + * the next read size (if non-zero and not an error). ZSTD_compressStream2() + * returns the minimum nb of bytes left to flush (if non-zero and not an error). + */ +ZSTDLIB_API size_t ZSTD_compressStream(ZSTD_CStream* zcs, ZSTD_outBuffer* output, ZSTD_inBuffer* input); +/*! Equivalent to ZSTD_compressStream2(zcs, output, &emptyInput, ZSTD_e_flush). */ +ZSTDLIB_API size_t ZSTD_flushStream(ZSTD_CStream* zcs, ZSTD_outBuffer* output); +/*! Equivalent to ZSTD_compressStream2(zcs, output, &emptyInput, ZSTD_e_end). */ +ZSTDLIB_API size_t ZSTD_endStream(ZSTD_CStream* zcs, ZSTD_outBuffer* output); + + +/*-*************************************************************************** +* Streaming decompression - HowTo +* +* A ZSTD_DStream object is required to track streaming operations. +* Use ZSTD_createDStream() and ZSTD_freeDStream() to create/release resources. +* ZSTD_DStream objects can be re-used multiple times. +* +* Use ZSTD_initDStream() to start a new decompression operation. +* @return : recommended first input size +* Alternatively, use advanced API to set specific properties. +* +* Use ZSTD_decompressStream() repetitively to consume your input. +* The function will update both `pos` fields. +* If `input.pos < input.size`, some input has not been consumed. +* It's up to the caller to present again remaining data. +* The function tries to flush all data decoded immediately, respecting output buffer size. +* If `output.pos < output.size`, decoder has flushed everything it could. +* But if `output.pos == output.size`, there might be some data left within internal buffers., +* In which case, call ZSTD_decompressStream() again to flush whatever remains in the buffer. +* Note : with no additional input provided, amount of data flushed is necessarily <= ZSTD_BLOCKSIZE_MAX. +* @return : 0 when a frame is completely decoded and fully flushed, +* or an error code, which can be tested using ZSTD_isError(), +* or any other value > 0, which means there is still some decoding or flushing to do to complete current frame : +* the return value is a suggested next input size (just a hint for better latency) +* that will never request more than the remaining frame size. +* *******************************************************************************/ + +typedef ZSTD_DCtx ZSTD_DStream; /**< DCtx and DStream are now effectively same object (>= v1.3.0) */ + /* For compatibility with versions <= v1.2.0, prefer differentiating them. */ +/*===== ZSTD_DStream management functions =====*/ +ZSTDLIB_API ZSTD_DStream* ZSTD_createDStream(void); +ZSTDLIB_API size_t ZSTD_freeDStream(ZSTD_DStream* zds); + +/*===== Streaming decompression functions =====*/ + +/* This function is redundant with the advanced API and equivalent to: + * + * ZSTD_DCtx_reset(zds, ZSTD_reset_session_only); + * ZSTD_DCtx_refDDict(zds, NULL); + */ +ZSTDLIB_API size_t ZSTD_initDStream(ZSTD_DStream* zds); + +ZSTDLIB_API size_t ZSTD_decompressStream(ZSTD_DStream* zds, ZSTD_outBuffer* output, ZSTD_inBuffer* input); + +ZSTDLIB_API size_t ZSTD_DStreamInSize(void); /*!< recommended size for input buffer */ +ZSTDLIB_API size_t ZSTD_DStreamOutSize(void); /*!< recommended size for output buffer. Guarantee to successfully flush at least one complete block in all circumstances. */ + + +/************************** +* Simple dictionary API +***************************/ +/*! ZSTD_compress_usingDict() : + * Compression at an explicit compression level using a Dictionary. + * A dictionary can be any arbitrary data segment (also called a prefix), + * or a buffer with specified information (see dictBuilder/zdict.h). + * Note : This function loads the dictionary, resulting in significant startup delay. + * It's intended for a dictionary used only once. + * Note 2 : When `dict == NULL || dictSize < 8` no dictionary is used. */ +ZSTDLIB_API size_t ZSTD_compress_usingDict(ZSTD_CCtx* ctx, + void* dst, size_t dstCapacity, + const void* src, size_t srcSize, + const void* dict,size_t dictSize, + int compressionLevel); + +/*! ZSTD_decompress_usingDict() : + * Decompression using a known Dictionary. + * Dictionary must be identical to the one used during compression. + * Note : This function loads the dictionary, resulting in significant startup delay. + * It's intended for a dictionary used only once. + * Note : When `dict == NULL || dictSize < 8` no dictionary is used. */ +ZSTDLIB_API size_t ZSTD_decompress_usingDict(ZSTD_DCtx* dctx, + void* dst, size_t dstCapacity, + const void* src, size_t srcSize, + const void* dict,size_t dictSize); + + +/*********************************** + * Bulk processing dictionary API + **********************************/ +typedef struct ZSTD_CDict_s ZSTD_CDict; + +/*! ZSTD_createCDict() : + * When compressing multiple messages or blocks using the same dictionary, + * it's recommended to digest the dictionary only once, since it's a costly operation. + * ZSTD_createCDict() will create a state from digesting a dictionary. + * The resulting state can be used for future compression operations with very limited startup cost. + * ZSTD_CDict can be created once and shared by multiple threads concurrently, since its usage is read-only. + * @dictBuffer can be released after ZSTD_CDict creation, because its content is copied within CDict. + * Note 1 : Consider experimental function `ZSTD_createCDict_byReference()` if you prefer to not duplicate @dictBuffer content. + * Note 2 : A ZSTD_CDict can be created from an empty @dictBuffer, + * in which case the only thing that it transports is the @compressionLevel. + * This can be useful in a pipeline featuring ZSTD_compress_usingCDict() exclusively, + * expecting a ZSTD_CDict parameter with any data, including those without a known dictionary. */ +ZSTDLIB_API ZSTD_CDict* ZSTD_createCDict(const void* dictBuffer, size_t dictSize, + int compressionLevel); + +/*! ZSTD_freeCDict() : + * Function frees memory allocated by ZSTD_createCDict(). */ +ZSTDLIB_API size_t ZSTD_freeCDict(ZSTD_CDict* CDict); + +/*! ZSTD_compress_usingCDict() : + * Compression using a digested Dictionary. + * Recommended when same dictionary is used multiple times. + * Note : compression level is _decided at dictionary creation time_, + * and frame parameters are hardcoded (dictID=yes, contentSize=yes, checksum=no) */ +ZSTDLIB_API size_t ZSTD_compress_usingCDict(ZSTD_CCtx* cctx, + void* dst, size_t dstCapacity, + const void* src, size_t srcSize, + const ZSTD_CDict* cdict); + + +typedef struct ZSTD_DDict_s ZSTD_DDict; + +/*! ZSTD_createDDict() : + * Create a digested dictionary, ready to start decompression operation without startup delay. + * dictBuffer can be released after DDict creation, as its content is copied inside DDict. */ +ZSTDLIB_API ZSTD_DDict* ZSTD_createDDict(const void* dictBuffer, size_t dictSize); + +/*! ZSTD_freeDDict() : + * Function frees memory allocated with ZSTD_createDDict() */ +ZSTDLIB_API size_t ZSTD_freeDDict(ZSTD_DDict* ddict); + +/*! ZSTD_decompress_usingDDict() : + * Decompression using a digested Dictionary. + * Recommended when same dictionary is used multiple times. */ +ZSTDLIB_API size_t ZSTD_decompress_usingDDict(ZSTD_DCtx* dctx, + void* dst, size_t dstCapacity, + const void* src, size_t srcSize, + const ZSTD_DDict* ddict); + + +/******************************** + * Dictionary helper functions + *******************************/ + +/*! ZSTD_getDictID_fromDict() : + * Provides the dictID stored within dictionary. + * if @return == 0, the dictionary is not conformant with Zstandard specification. + * It can still be loaded, but as a content-only dictionary. */ +ZSTDLIB_API unsigned ZSTD_getDictID_fromDict(const void* dict, size_t dictSize); + +/*! ZSTD_getDictID_fromDDict() : + * Provides the dictID of the dictionary loaded into `ddict`. + * If @return == 0, the dictionary is not conformant to Zstandard specification, or empty. + * Non-conformant dictionaries can still be loaded, but as content-only dictionaries. */ +ZSTDLIB_API unsigned ZSTD_getDictID_fromDDict(const ZSTD_DDict* ddict); + +/*! ZSTD_getDictID_fromFrame() : + * Provides the dictID required to decompressed the frame stored within `src`. + * If @return == 0, the dictID could not be decoded. + * This could for one of the following reasons : + * - The frame does not require a dictionary to be decoded (most common case). + * - The frame was built with dictID intentionally removed. Whatever dictionary is necessary is a hidden information. + * Note : this use case also happens when using a non-conformant dictionary. + * - `srcSize` is too small, and as a result, the frame header could not be decoded (only possible if `srcSize < ZSTD_FRAMEHEADERSIZE_MAX`). + * - This is not a Zstandard frame. + * When identifying the exact failure cause, it's possible to use ZSTD_getFrameHeader(), which will provide a more precise error code. */ +ZSTDLIB_API unsigned ZSTD_getDictID_fromFrame(const void* src, size_t srcSize); + + +/******************************************************************************* + * Advanced dictionary and prefix API + * + * This API allows dictionaries to be used with ZSTD_compress2(), + * ZSTD_compressStream2(), and ZSTD_decompress(). Dictionaries are sticky, and + * only reset with the context is reset with ZSTD_reset_parameters or + * ZSTD_reset_session_and_parameters. Prefixes are single-use. + ******************************************************************************/ + + +/*! ZSTD_CCtx_loadDictionary() : + * Create an internal CDict from `dict` buffer. + * Decompression will have to use same dictionary. + * @result : 0, or an error code (which can be tested with ZSTD_isError()). + * Special: Loading a NULL (or 0-size) dictionary invalidates previous dictionary, + * meaning "return to no-dictionary mode". + * Note 1 : Dictionary is sticky, it will be used for all future compressed frames. + * To return to "no-dictionary" situation, load a NULL dictionary (or reset parameters). + * Note 2 : Loading a dictionary involves building tables. + * It's also a CPU consuming operation, with non-negligible impact on latency. + * Tables are dependent on compression parameters, and for this reason, + * compression parameters can no longer be changed after loading a dictionary. + * Note 3 :`dict` content will be copied internally. + * Use experimental ZSTD_CCtx_loadDictionary_byReference() to reference content instead. + * In such a case, dictionary buffer must outlive its users. + * Note 4 : Use ZSTD_CCtx_loadDictionary_advanced() + * to precisely select how dictionary content must be interpreted. */ +ZSTDLIB_API size_t ZSTD_CCtx_loadDictionary(ZSTD_CCtx* cctx, const void* dict, size_t dictSize); + +/*! ZSTD_CCtx_refCDict() : + * Reference a prepared dictionary, to be used for all next compressed frames. + * Note that compression parameters are enforced from within CDict, + * and supersede any compression parameter previously set within CCtx. + * The parameters ignored are labled as "superseded-by-cdict" in the ZSTD_cParameter enum docs. + * The ignored parameters will be used again if the CCtx is returned to no-dictionary mode. + * The dictionary will remain valid for future compressed frames using same CCtx. + * @result : 0, or an error code (which can be tested with ZSTD_isError()). + * Special : Referencing a NULL CDict means "return to no-dictionary mode". + * Note 1 : Currently, only one dictionary can be managed. + * Referencing a new dictionary effectively "discards" any previous one. + * Note 2 : CDict is just referenced, its lifetime must outlive its usage within CCtx. */ +ZSTDLIB_API size_t ZSTD_CCtx_refCDict(ZSTD_CCtx* cctx, const ZSTD_CDict* cdict); + +/*! ZSTD_CCtx_refPrefix() : + * Reference a prefix (single-usage dictionary) for next compressed frame. + * A prefix is **only used once**. Tables are discarded at end of frame (ZSTD_e_end). + * Decompression will need same prefix to properly regenerate data. + * Compressing with a prefix is similar in outcome as performing a diff and compressing it, + * but performs much faster, especially during decompression (compression speed is tunable with compression level). + * @result : 0, or an error code (which can be tested with ZSTD_isError()). + * Special: Adding any prefix (including NULL) invalidates any previous prefix or dictionary + * Note 1 : Prefix buffer is referenced. It **must** outlive compression. + * Its content must remain unmodified during compression. + * Note 2 : If the intention is to diff some large src data blob with some prior version of itself, + * ensure that the window size is large enough to contain the entire source. + * See ZSTD_c_windowLog. + * Note 3 : Referencing a prefix involves building tables, which are dependent on compression parameters. + * It's a CPU consuming operation, with non-negligible impact on latency. + * If there is a need to use the same prefix multiple times, consider loadDictionary instead. + * Note 4 : By default, the prefix is interpreted as raw content (ZSTD_dct_rawContent). + * Use experimental ZSTD_CCtx_refPrefix_advanced() to alter dictionary interpretation. */ +ZSTDLIB_API size_t ZSTD_CCtx_refPrefix(ZSTD_CCtx* cctx, + const void* prefix, size_t prefixSize); + +/*! ZSTD_DCtx_loadDictionary() : + * Create an internal DDict from dict buffer, + * to be used to decompress next frames. + * The dictionary remains valid for all future frames, until explicitly invalidated. + * @result : 0, or an error code (which can be tested with ZSTD_isError()). + * Special : Adding a NULL (or 0-size) dictionary invalidates any previous dictionary, + * meaning "return to no-dictionary mode". + * Note 1 : Loading a dictionary involves building tables, + * which has a non-negligible impact on CPU usage and latency. + * It's recommended to "load once, use many times", to amortize the cost + * Note 2 :`dict` content will be copied internally, so `dict` can be released after loading. + * Use ZSTD_DCtx_loadDictionary_byReference() to reference dictionary content instead. + * Note 3 : Use ZSTD_DCtx_loadDictionary_advanced() to take control of + * how dictionary content is loaded and interpreted. + */ +ZSTDLIB_API size_t ZSTD_DCtx_loadDictionary(ZSTD_DCtx* dctx, const void* dict, size_t dictSize); + +/*! ZSTD_DCtx_refDDict() : + * Reference a prepared dictionary, to be used to decompress next frames. + * The dictionary remains active for decompression of future frames using same DCtx. + * @result : 0, or an error code (which can be tested with ZSTD_isError()). + * Note 1 : Currently, only one dictionary can be managed. + * Referencing a new dictionary effectively "discards" any previous one. + * Special: referencing a NULL DDict means "return to no-dictionary mode". + * Note 2 : DDict is just referenced, its lifetime must outlive its usage from DCtx. + */ +ZSTDLIB_API size_t ZSTD_DCtx_refDDict(ZSTD_DCtx* dctx, const ZSTD_DDict* ddict); + +/*! ZSTD_DCtx_refPrefix() : + * Reference a prefix (single-usage dictionary) to decompress next frame. + * This is the reverse operation of ZSTD_CCtx_refPrefix(), + * and must use the same prefix as the one used during compression. + * Prefix is **only used once**. Reference is discarded at end of frame. + * End of frame is reached when ZSTD_decompressStream() returns 0. + * @result : 0, or an error code (which can be tested with ZSTD_isError()). + * Note 1 : Adding any prefix (including NULL) invalidates any previously set prefix or dictionary + * Note 2 : Prefix buffer is referenced. It **must** outlive decompression. + * Prefix buffer must remain unmodified up to the end of frame, + * reached when ZSTD_decompressStream() returns 0. + * Note 3 : By default, the prefix is treated as raw content (ZSTD_dct_rawContent). + * Use ZSTD_CCtx_refPrefix_advanced() to alter dictMode (Experimental section) + * Note 4 : Referencing a raw content prefix has almost no cpu nor memory cost. + * A full dictionary is more costly, as it requires building tables. + */ +ZSTDLIB_API size_t ZSTD_DCtx_refPrefix(ZSTD_DCtx* dctx, + const void* prefix, size_t prefixSize); + +/* === Memory management === */ + +/*! ZSTD_sizeof_*() : + * These functions give the _current_ memory usage of selected object. + * Note that object memory usage can evolve (increase or decrease) over time. */ +ZSTDLIB_API size_t ZSTD_sizeof_CCtx(const ZSTD_CCtx* cctx); +ZSTDLIB_API size_t ZSTD_sizeof_DCtx(const ZSTD_DCtx* dctx); +ZSTDLIB_API size_t ZSTD_sizeof_CStream(const ZSTD_CStream* zcs); +ZSTDLIB_API size_t ZSTD_sizeof_DStream(const ZSTD_DStream* zds); +ZSTDLIB_API size_t ZSTD_sizeof_CDict(const ZSTD_CDict* cdict); +ZSTDLIB_API size_t ZSTD_sizeof_DDict(const ZSTD_DDict* ddict); + +#endif /* ZSTD_H_235446 */ + + +/* ************************************************************************************** + * ADVANCED AND EXPERIMENTAL FUNCTIONS + **************************************************************************************** + * The definitions in the following section are considered experimental. + * They are provided for advanced scenarios. + * They should never be used with a dynamic library, as prototypes may change in the future. + * Use them only in association with static linking. + * ***************************************************************************************/ + +#if defined(ZSTD_STATIC_LINKING_ONLY) && !defined(ZSTD_H_ZSTD_STATIC_LINKING_ONLY) +#define ZSTD_H_ZSTD_STATIC_LINKING_ONLY + +/**************************************************************************************** + * experimental API (static linking only) + **************************************************************************************** + * The following symbols and constants + * are not planned to join "stable API" status in the near future. + * They can still change in future versions. + * Some of them are planned to remain in the static_only section indefinitely. + * Some of them might be removed in the future (especially when redundant with existing stable functions) + * ***************************************************************************************/ + +#define ZSTD_FRAMEHEADERSIZE_PREFIX(format) ((format) == ZSTD_f_zstd1 ? 5 : 1) /* minimum input size required to query frame header size */ +#define ZSTD_FRAMEHEADERSIZE_MIN(format) ((format) == ZSTD_f_zstd1 ? 6 : 2) +#define ZSTD_FRAMEHEADERSIZE_MAX 18 /* can be useful for static allocation */ +#define ZSTD_SKIPPABLEHEADERSIZE 8 + +/* compression parameter bounds */ +#define ZSTD_WINDOWLOG_MAX_32 30 +#define ZSTD_WINDOWLOG_MAX_64 31 +#define ZSTD_WINDOWLOG_MAX ((int)(sizeof(size_t) == 4 ? ZSTD_WINDOWLOG_MAX_32 : ZSTD_WINDOWLOG_MAX_64)) +#define ZSTD_WINDOWLOG_MIN 10 +#define ZSTD_HASHLOG_MAX ((ZSTD_WINDOWLOG_MAX < 30) ? ZSTD_WINDOWLOG_MAX : 30) +#define ZSTD_HASHLOG_MIN 6 +#define ZSTD_CHAINLOG_MAX_32 29 +#define ZSTD_CHAINLOG_MAX_64 30 +#define ZSTD_CHAINLOG_MAX ((int)(sizeof(size_t) == 4 ? ZSTD_CHAINLOG_MAX_32 : ZSTD_CHAINLOG_MAX_64)) +#define ZSTD_CHAINLOG_MIN ZSTD_HASHLOG_MIN +#define ZSTD_SEARCHLOG_MAX (ZSTD_WINDOWLOG_MAX-1) +#define ZSTD_SEARCHLOG_MIN 1 +#define ZSTD_MINMATCH_MAX 7 /* only for ZSTD_fast, other strategies are limited to 6 */ +#define ZSTD_MINMATCH_MIN 3 /* only for ZSTD_btopt+, faster strategies are limited to 4 */ +#define ZSTD_TARGETLENGTH_MAX ZSTD_BLOCKSIZE_MAX +#define ZSTD_TARGETLENGTH_MIN 0 /* note : comparing this constant to an unsigned results in a tautological test */ +#define ZSTD_STRATEGY_MIN ZSTD_fast +#define ZSTD_STRATEGY_MAX ZSTD_btultra2 + + +#define ZSTD_OVERLAPLOG_MIN 0 +#define ZSTD_OVERLAPLOG_MAX 9 + +#define ZSTD_WINDOWLOG_LIMIT_DEFAULT 27 /* by default, the streaming decoder will refuse any frame + * requiring larger than (1< 3, then this is seqDef.offset - 3 + * If seqDef.offset < 3, then this is the corresponding repeat offset + * But if seqDef.offset < 3 and litLength == 0, this is the + * repeat offset before the corresponding repeat offset + * And if seqDef.offset == 3 and litLength == 0, this is the + * most recent repeat offset - 1 + */ + unsigned int offset; + unsigned int litLength; /* Literal length */ + unsigned int matchLength; /* Match length */ + /* 0 when seq not rep and seqDef.offset otherwise + * when litLength == 0 this will be <= 4, otherwise <= 3 like normal + */ + unsigned int rep; +} ZSTD_Sequence; + +typedef struct { + unsigned windowLog; /**< largest match distance : larger == more compression, more memory needed during decompression */ + unsigned chainLog; /**< fully searched segment : larger == more compression, slower, more memory (useless for fast) */ + unsigned hashLog; /**< dispatch table : larger == faster, more memory */ + unsigned searchLog; /**< nb of searches : larger == more compression, slower */ + unsigned minMatch; /**< match length searched : larger == faster decompression, sometimes less compression */ + unsigned targetLength; /**< acceptable match size for optimal parser (only) : larger == more compression, slower */ + ZSTD_strategy strategy; /**< see ZSTD_strategy definition above */ +} ZSTD_compressionParameters; + +typedef struct { + int contentSizeFlag; /**< 1: content size will be in frame header (when known) */ + int checksumFlag; /**< 1: generate a 32-bits checksum using XXH64 algorithm at end of frame, for error detection */ + int noDictIDFlag; /**< 1: no dictID will be saved into frame header (dictID is only useful for dictionary compression) */ +} ZSTD_frameParameters; + +typedef struct { + ZSTD_compressionParameters cParams; + ZSTD_frameParameters fParams; +} ZSTD_parameters; + +typedef enum { + ZSTD_dct_auto = 0, /* dictionary is "full" when starting with ZSTD_MAGIC_DICTIONARY, otherwise it is "rawContent" */ + ZSTD_dct_rawContent = 1, /* ensures dictionary is always loaded as rawContent, even if it starts with ZSTD_MAGIC_DICTIONARY */ + ZSTD_dct_fullDict = 2 /* refuses to load a dictionary if it does not respect Zstandard's specification, starting with ZSTD_MAGIC_DICTIONARY */ +} ZSTD_dictContentType_e; + +typedef enum { + ZSTD_dlm_byCopy = 0, /**< Copy dictionary content internally */ + ZSTD_dlm_byRef = 1 /**< Reference dictionary content -- the dictionary buffer must outlive its users. */ +} ZSTD_dictLoadMethod_e; + +typedef enum { + ZSTD_f_zstd1 = 0, /* zstd frame format, specified in zstd_compression_format.md (default) */ + ZSTD_f_zstd1_magicless = 1 /* Variant of zstd frame format, without initial 4-bytes magic number. + * Useful to save 4 bytes per generated frame. + * Decoder cannot recognise automatically this format, requiring this instruction. */ +} ZSTD_format_e; + +typedef enum { + /* Note: this enum and the behavior it controls are effectively internal + * implementation details of the compressor. They are expected to continue + * to evolve and should be considered only in the context of extremely + * advanced performance tuning. + * + * Zstd currently supports the use of a CDict in three ways: + * + * - The contents of the CDict can be copied into the working context. This + * means that the compression can search both the dictionary and input + * while operating on a single set of internal tables. This makes + * the compression faster per-byte of input. However, the initial copy of + * the CDict's tables incurs a fixed cost at the beginning of the + * compression. For small compressions (< 8 KB), that copy can dominate + * the cost of the compression. + * + * - The CDict's tables can be used in-place. In this model, compression is + * slower per input byte, because the compressor has to search two sets of + * tables. However, this model incurs no start-up cost (as long as the + * working context's tables can be reused). For small inputs, this can be + * faster than copying the CDict's tables. + * + * - The CDict's tables are not used at all, and instead we use the working + * context alone to reload the dictionary and use params based on the source + * size. See ZSTD_compress_insertDictionary() and ZSTD_compress_usingDict(). + * This method is effective when the dictionary sizes are very small relative + * to the input size, and the input size is fairly large to begin with. + * + * Zstd has a simple internal heuristic that selects which strategy to use + * at the beginning of a compression. However, if experimentation shows that + * Zstd is making poor choices, it is possible to override that choice with + * this enum. + */ + ZSTD_dictDefaultAttach = 0, /* Use the default heuristic. */ + ZSTD_dictForceAttach = 1, /* Never copy the dictionary. */ + ZSTD_dictForceCopy = 2, /* Always copy the dictionary. */ + ZSTD_dictForceLoad = 3 /* Always reload the dictionary */ +} ZSTD_dictAttachPref_e; + +typedef enum { + ZSTD_lcm_auto = 0, /**< Automatically determine the compression mode based on the compression level. + * Negative compression levels will be uncompressed, and positive compression + * levels will be compressed. */ + ZSTD_lcm_huffman = 1, /**< Always attempt Huffman compression. Uncompressed literals will still be + * emitted if Huffman compression is not profitable. */ + ZSTD_lcm_uncompressed = 2 /**< Always emit uncompressed literals. */ +} ZSTD_literalCompressionMode_e; + + +/*************************************** +* Frame size functions +***************************************/ + +/*! ZSTD_findDecompressedSize() : + * `src` should point to the start of a series of ZSTD encoded and/or skippable frames + * `srcSize` must be the _exact_ size of this series + * (i.e. there should be a frame boundary at `src + srcSize`) + * @return : - decompressed size of all data in all successive frames + * - if the decompressed size cannot be determined: ZSTD_CONTENTSIZE_UNKNOWN + * - if an error occurred: ZSTD_CONTENTSIZE_ERROR + * + * note 1 : decompressed size is an optional field, that may not be present, especially in streaming mode. + * When `return==ZSTD_CONTENTSIZE_UNKNOWN`, data to decompress could be any size. + * In which case, it's necessary to use streaming mode to decompress data. + * note 2 : decompressed size is always present when compression is done with ZSTD_compress() + * note 3 : decompressed size can be very large (64-bits value), + * potentially larger than what local system can handle as a single memory segment. + * In which case, it's necessary to use streaming mode to decompress data. + * note 4 : If source is untrusted, decompressed size could be wrong or intentionally modified. + * Always ensure result fits within application's authorized limits. + * Each application can set its own limits. + * note 5 : ZSTD_findDecompressedSize handles multiple frames, and so it must traverse the input to + * read each contained frame header. This is fast as most of the data is skipped, + * however it does mean that all frame data must be present and valid. */ +ZSTDLIB_API unsigned long long ZSTD_findDecompressedSize(const void* src, size_t srcSize); + +/*! ZSTD_decompressBound() : + * `src` should point to the start of a series of ZSTD encoded and/or skippable frames + * `srcSize` must be the _exact_ size of this series + * (i.e. there should be a frame boundary at `src + srcSize`) + * @return : - upper-bound for the decompressed size of all data in all successive frames + * - if an error occured: ZSTD_CONTENTSIZE_ERROR + * + * note 1 : an error can occur if `src` contains an invalid or incorrectly formatted frame. + * note 2 : the upper-bound is exact when the decompressed size field is available in every ZSTD encoded frame of `src`. + * in this case, `ZSTD_findDecompressedSize` and `ZSTD_decompressBound` return the same value. + * note 3 : when the decompressed size field isn't available, the upper-bound for that frame is calculated by: + * upper-bound = # blocks * min(128 KB, Window_Size) + */ +ZSTDLIB_API unsigned long long ZSTD_decompressBound(const void* src, size_t srcSize); + +/*! ZSTD_frameHeaderSize() : + * srcSize must be >= ZSTD_FRAMEHEADERSIZE_PREFIX. + * @return : size of the Frame Header, + * or an error code (if srcSize is too small) */ +ZSTDLIB_API size_t ZSTD_frameHeaderSize(const void* src, size_t srcSize); + +/*! ZSTD_getSequences() : + * Extract sequences from the sequence store + * zc can be used to insert custom compression params. + * This function invokes ZSTD_compress2 + * @return : number of sequences extracted + */ +ZSTDLIB_API size_t ZSTD_getSequences(ZSTD_CCtx* zc, ZSTD_Sequence* outSeqs, + size_t outSeqsSize, const void* src, size_t srcSize); + + +/*************************************** +* Memory management +***************************************/ + +/*! ZSTD_estimate*() : + * These functions make it possible to estimate memory usage + * of a future {D,C}Ctx, before its creation. + * + * ZSTD_estimateCCtxSize() will provide a memory budget large enough + * for any compression level up to selected one. + * Note : Unlike ZSTD_estimateCStreamSize*(), this estimate + * does not include space for a window buffer. + * Therefore, the estimation is only guaranteed for single-shot compressions, not streaming. + * The estimate will assume the input may be arbitrarily large, + * which is the worst case. + * + * When srcSize can be bound by a known and rather "small" value, + * this fact can be used to provide a tighter estimation + * because the CCtx compression context will need less memory. + * This tighter estimation can be provided by more advanced functions + * ZSTD_estimateCCtxSize_usingCParams(), which can be used in tandem with ZSTD_getCParams(), + * and ZSTD_estimateCCtxSize_usingCCtxParams(), which can be used in tandem with ZSTD_CCtxParams_setParameter(). + * Both can be used to estimate memory using custom compression parameters and arbitrary srcSize limits. + * + * Note 2 : only single-threaded compression is supported. + * ZSTD_estimateCCtxSize_usingCCtxParams() will return an error code if ZSTD_c_nbWorkers is >= 1. + */ +ZSTDLIB_API size_t ZSTD_estimateCCtxSize(int compressionLevel); +ZSTDLIB_API size_t ZSTD_estimateCCtxSize_usingCParams(ZSTD_compressionParameters cParams); +ZSTDLIB_API size_t ZSTD_estimateCCtxSize_usingCCtxParams(const ZSTD_CCtx_params* params); +ZSTDLIB_API size_t ZSTD_estimateDCtxSize(void); + +/*! ZSTD_estimateCStreamSize() : + * ZSTD_estimateCStreamSize() will provide a budget large enough for any compression level up to selected one. + * It will also consider src size to be arbitrarily "large", which is worst case. + * If srcSize is known to always be small, ZSTD_estimateCStreamSize_usingCParams() can provide a tighter estimation. + * ZSTD_estimateCStreamSize_usingCParams() can be used in tandem with ZSTD_getCParams() to create cParams from compressionLevel. + * ZSTD_estimateCStreamSize_usingCCtxParams() can be used in tandem with ZSTD_CCtxParams_setParameter(). Only single-threaded compression is supported. This function will return an error code if ZSTD_c_nbWorkers is >= 1. + * Note : CStream size estimation is only correct for single-threaded compression. + * ZSTD_DStream memory budget depends on window Size. + * This information can be passed manually, using ZSTD_estimateDStreamSize, + * or deducted from a valid frame Header, using ZSTD_estimateDStreamSize_fromFrame(); + * Note : if streaming is init with function ZSTD_init?Stream_usingDict(), + * an internal ?Dict will be created, which additional size is not estimated here. + * In this case, get total size by adding ZSTD_estimate?DictSize */ +ZSTDLIB_API size_t ZSTD_estimateCStreamSize(int compressionLevel); +ZSTDLIB_API size_t ZSTD_estimateCStreamSize_usingCParams(ZSTD_compressionParameters cParams); +ZSTDLIB_API size_t ZSTD_estimateCStreamSize_usingCCtxParams(const ZSTD_CCtx_params* params); +ZSTDLIB_API size_t ZSTD_estimateDStreamSize(size_t windowSize); +ZSTDLIB_API size_t ZSTD_estimateDStreamSize_fromFrame(const void* src, size_t srcSize); + +/*! ZSTD_estimate?DictSize() : + * ZSTD_estimateCDictSize() will bet that src size is relatively "small", and content is copied, like ZSTD_createCDict(). + * ZSTD_estimateCDictSize_advanced() makes it possible to control compression parameters precisely, like ZSTD_createCDict_advanced(). + * Note : dictionaries created by reference (`ZSTD_dlm_byRef`) are logically smaller. + */ +ZSTDLIB_API size_t ZSTD_estimateCDictSize(size_t dictSize, int compressionLevel); +ZSTDLIB_API size_t ZSTD_estimateCDictSize_advanced(size_t dictSize, ZSTD_compressionParameters cParams, ZSTD_dictLoadMethod_e dictLoadMethod); +ZSTDLIB_API size_t ZSTD_estimateDDictSize(size_t dictSize, ZSTD_dictLoadMethod_e dictLoadMethod); + +/*! ZSTD_initStatic*() : + * Initialize an object using a pre-allocated fixed-size buffer. + * workspace: The memory area to emplace the object into. + * Provided pointer *must be 8-bytes aligned*. + * Buffer must outlive object. + * workspaceSize: Use ZSTD_estimate*Size() to determine + * how large workspace must be to support target scenario. + * @return : pointer to object (same address as workspace, just different type), + * or NULL if error (size too small, incorrect alignment, etc.) + * Note : zstd will never resize nor malloc() when using a static buffer. + * If the object requires more memory than available, + * zstd will just error out (typically ZSTD_error_memory_allocation). + * Note 2 : there is no corresponding "free" function. + * Since workspace is allocated externally, it must be freed externally too. + * Note 3 : cParams : use ZSTD_getCParams() to convert a compression level + * into its associated cParams. + * Limitation 1 : currently not compatible with internal dictionary creation, triggered by + * ZSTD_CCtx_loadDictionary(), ZSTD_initCStream_usingDict() or ZSTD_initDStream_usingDict(). + * Limitation 2 : static cctx currently not compatible with multi-threading. + * Limitation 3 : static dctx is incompatible with legacy support. + */ +ZSTDLIB_API ZSTD_CCtx* ZSTD_initStaticCCtx(void* workspace, size_t workspaceSize); +ZSTDLIB_API ZSTD_CStream* ZSTD_initStaticCStream(void* workspace, size_t workspaceSize); /**< same as ZSTD_initStaticCCtx() */ + +ZSTDLIB_API ZSTD_DCtx* ZSTD_initStaticDCtx(void* workspace, size_t workspaceSize); +ZSTDLIB_API ZSTD_DStream* ZSTD_initStaticDStream(void* workspace, size_t workspaceSize); /**< same as ZSTD_initStaticDCtx() */ + +ZSTDLIB_API const ZSTD_CDict* ZSTD_initStaticCDict( + void* workspace, size_t workspaceSize, + const void* dict, size_t dictSize, + ZSTD_dictLoadMethod_e dictLoadMethod, + ZSTD_dictContentType_e dictContentType, + ZSTD_compressionParameters cParams); + +ZSTDLIB_API const ZSTD_DDict* ZSTD_initStaticDDict( + void* workspace, size_t workspaceSize, + const void* dict, size_t dictSize, + ZSTD_dictLoadMethod_e dictLoadMethod, + ZSTD_dictContentType_e dictContentType); + + +/*! Custom memory allocation : + * These prototypes make it possible to pass your own allocation/free functions. + * ZSTD_customMem is provided at creation time, using ZSTD_create*_advanced() variants listed below. + * All allocation/free operations will be completed using these custom variants instead of regular ones. + */ +typedef void* (*ZSTD_allocFunction) (void* opaque, size_t size); +typedef void (*ZSTD_freeFunction) (void* opaque, void* address); +typedef struct { ZSTD_allocFunction customAlloc; ZSTD_freeFunction customFree; void* opaque; } ZSTD_customMem; +static ZSTD_customMem const ZSTD_defaultCMem = { NULL, NULL, NULL }; /**< this constant defers to stdlib's functions */ + +ZSTDLIB_API ZSTD_CCtx* ZSTD_createCCtx_advanced(ZSTD_customMem customMem); +ZSTDLIB_API ZSTD_CStream* ZSTD_createCStream_advanced(ZSTD_customMem customMem); +ZSTDLIB_API ZSTD_DCtx* ZSTD_createDCtx_advanced(ZSTD_customMem customMem); +ZSTDLIB_API ZSTD_DStream* ZSTD_createDStream_advanced(ZSTD_customMem customMem); + +ZSTDLIB_API ZSTD_CDict* ZSTD_createCDict_advanced(const void* dict, size_t dictSize, + ZSTD_dictLoadMethod_e dictLoadMethod, + ZSTD_dictContentType_e dictContentType, + ZSTD_compressionParameters cParams, + ZSTD_customMem customMem); + +ZSTDLIB_API ZSTD_DDict* ZSTD_createDDict_advanced(const void* dict, size_t dictSize, + ZSTD_dictLoadMethod_e dictLoadMethod, + ZSTD_dictContentType_e dictContentType, + ZSTD_customMem customMem); + + + +/*************************************** +* Advanced compression functions +***************************************/ + +/*! ZSTD_createCDict_byReference() : + * Create a digested dictionary for compression + * Dictionary content is just referenced, not duplicated. + * As a consequence, `dictBuffer` **must** outlive CDict, + * and its content must remain unmodified throughout the lifetime of CDict. + * note: equivalent to ZSTD_createCDict_advanced(), with dictLoadMethod==ZSTD_dlm_byRef */ +ZSTDLIB_API ZSTD_CDict* ZSTD_createCDict_byReference(const void* dictBuffer, size_t dictSize, int compressionLevel); + +/*! ZSTD_getCParams() : + * @return ZSTD_compressionParameters structure for a selected compression level and estimated srcSize. + * `estimatedSrcSize` value is optional, select 0 if not known */ +ZSTDLIB_API ZSTD_compressionParameters ZSTD_getCParams(int compressionLevel, unsigned long long estimatedSrcSize, size_t dictSize); + +/*! ZSTD_getParams() : + * same as ZSTD_getCParams(), but @return a full `ZSTD_parameters` object instead of sub-component `ZSTD_compressionParameters`. + * All fields of `ZSTD_frameParameters` are set to default : contentSize=1, checksum=0, noDictID=0 */ +ZSTDLIB_API ZSTD_parameters ZSTD_getParams(int compressionLevel, unsigned long long estimatedSrcSize, size_t dictSize); + +/*! ZSTD_checkCParams() : + * Ensure param values remain within authorized range. + * @return 0 on success, or an error code (can be checked with ZSTD_isError()) */ +ZSTDLIB_API size_t ZSTD_checkCParams(ZSTD_compressionParameters params); + +/*! ZSTD_adjustCParams() : + * optimize params for a given `srcSize` and `dictSize`. + * `srcSize` can be unknown, in which case use ZSTD_CONTENTSIZE_UNKNOWN. + * `dictSize` must be `0` when there is no dictionary. + * cPar can be invalid : all parameters will be clamped within valid range in the @return struct. + * This function never fails (wide contract) */ +ZSTDLIB_API ZSTD_compressionParameters ZSTD_adjustCParams(ZSTD_compressionParameters cPar, unsigned long long srcSize, size_t dictSize); + +/*! ZSTD_compress_advanced() : + * Note : this function is now DEPRECATED. + * It can be replaced by ZSTD_compress2(), in combination with ZSTD_CCtx_setParameter() and other parameter setters. + * This prototype will be marked as deprecated and generate compilation warning on reaching v1.5.x */ +ZSTDLIB_API size_t ZSTD_compress_advanced(ZSTD_CCtx* cctx, + void* dst, size_t dstCapacity, + const void* src, size_t srcSize, + const void* dict,size_t dictSize, + ZSTD_parameters params); + +/*! ZSTD_compress_usingCDict_advanced() : + * Note : this function is now REDUNDANT. + * It can be replaced by ZSTD_compress2(), in combination with ZSTD_CCtx_loadDictionary() and other parameter setters. + * This prototype will be marked as deprecated and generate compilation warning in some future version */ +ZSTDLIB_API size_t ZSTD_compress_usingCDict_advanced(ZSTD_CCtx* cctx, + void* dst, size_t dstCapacity, + const void* src, size_t srcSize, + const ZSTD_CDict* cdict, + ZSTD_frameParameters fParams); + + +/*! ZSTD_CCtx_loadDictionary_byReference() : + * Same as ZSTD_CCtx_loadDictionary(), but dictionary content is referenced, instead of being copied into CCtx. + * It saves some memory, but also requires that `dict` outlives its usage within `cctx` */ +ZSTDLIB_API size_t ZSTD_CCtx_loadDictionary_byReference(ZSTD_CCtx* cctx, const void* dict, size_t dictSize); + +/*! ZSTD_CCtx_loadDictionary_advanced() : + * Same as ZSTD_CCtx_loadDictionary(), but gives finer control over + * how to load the dictionary (by copy ? by reference ?) + * and how to interpret it (automatic ? force raw mode ? full mode only ?) */ +ZSTDLIB_API size_t ZSTD_CCtx_loadDictionary_advanced(ZSTD_CCtx* cctx, const void* dict, size_t dictSize, ZSTD_dictLoadMethod_e dictLoadMethod, ZSTD_dictContentType_e dictContentType); + +/*! ZSTD_CCtx_refPrefix_advanced() : + * Same as ZSTD_CCtx_refPrefix(), but gives finer control over + * how to interpret prefix content (automatic ? force raw mode (default) ? full mode only ?) */ +ZSTDLIB_API size_t ZSTD_CCtx_refPrefix_advanced(ZSTD_CCtx* cctx, const void* prefix, size_t prefixSize, ZSTD_dictContentType_e dictContentType); + +/* === experimental parameters === */ +/* these parameters can be used with ZSTD_setParameter() + * they are not guaranteed to remain supported in the future */ + + /* Enables rsyncable mode, + * which makes compressed files more rsync friendly + * by adding periodic synchronization points to the compressed data. + * The target average block size is ZSTD_c_jobSize / 2. + * It's possible to modify the job size to increase or decrease + * the granularity of the synchronization point. + * Once the jobSize is smaller than the window size, + * it will result in compression ratio degradation. + * NOTE 1: rsyncable mode only works when multithreading is enabled. + * NOTE 2: rsyncable performs poorly in combination with long range mode, + * since it will decrease the effectiveness of synchronization points, + * though mileage may vary. + * NOTE 3: Rsyncable mode limits maximum compression speed to ~400 MB/s. + * If the selected compression level is already running significantly slower, + * the overall speed won't be significantly impacted. + */ + #define ZSTD_c_rsyncable ZSTD_c_experimentalParam1 + +/* Select a compression format. + * The value must be of type ZSTD_format_e. + * See ZSTD_format_e enum definition for details */ +#define ZSTD_c_format ZSTD_c_experimentalParam2 + +/* Force back-reference distances to remain < windowSize, + * even when referencing into Dictionary content (default:0) */ +#define ZSTD_c_forceMaxWindow ZSTD_c_experimentalParam3 + +/* Controls whether the contents of a CDict + * are used in place, or copied into the working context. + * Accepts values from the ZSTD_dictAttachPref_e enum. + * See the comments on that enum for an explanation of the feature. */ +#define ZSTD_c_forceAttachDict ZSTD_c_experimentalParam4 + +/* Controls how the literals are compressed (default is auto). + * The value must be of type ZSTD_literalCompressionMode_e. + * See ZSTD_literalCompressionMode_t enum definition for details. + */ +#define ZSTD_c_literalCompressionMode ZSTD_c_experimentalParam5 + +/* Tries to fit compressed block size to be around targetCBlockSize. + * No target when targetCBlockSize == 0. + * There is no guarantee on compressed block size (default:0) */ +#define ZSTD_c_targetCBlockSize ZSTD_c_experimentalParam6 + +/* User's best guess of source size. + * Hint is not valid when srcSizeHint == 0. + * There is no guarantee that hint is close to actual source size, + * but compression ratio may regress significantly if guess considerably underestimates */ +#define ZSTD_c_srcSizeHint ZSTD_c_experimentalParam7 + +/*! ZSTD_CCtx_getParameter() : + * Get the requested compression parameter value, selected by enum ZSTD_cParameter, + * and store it into int* value. + * @return : 0, or an error code (which can be tested with ZSTD_isError()). + */ +ZSTDLIB_API size_t ZSTD_CCtx_getParameter(ZSTD_CCtx* cctx, ZSTD_cParameter param, int* value); + + +/*! ZSTD_CCtx_params : + * Quick howto : + * - ZSTD_createCCtxParams() : Create a ZSTD_CCtx_params structure + * - ZSTD_CCtxParams_setParameter() : Push parameters one by one into + * an existing ZSTD_CCtx_params structure. + * This is similar to + * ZSTD_CCtx_setParameter(). + * - ZSTD_CCtx_setParametersUsingCCtxParams() : Apply parameters to + * an existing CCtx. + * These parameters will be applied to + * all subsequent frames. + * - ZSTD_compressStream2() : Do compression using the CCtx. + * - ZSTD_freeCCtxParams() : Free the memory. + * + * This can be used with ZSTD_estimateCCtxSize_advanced_usingCCtxParams() + * for static allocation of CCtx for single-threaded compression. + */ +ZSTDLIB_API ZSTD_CCtx_params* ZSTD_createCCtxParams(void); +ZSTDLIB_API size_t ZSTD_freeCCtxParams(ZSTD_CCtx_params* params); + +/*! ZSTD_CCtxParams_reset() : + * Reset params to default values. + */ +ZSTDLIB_API size_t ZSTD_CCtxParams_reset(ZSTD_CCtx_params* params); + +/*! ZSTD_CCtxParams_init() : + * Initializes the compression parameters of cctxParams according to + * compression level. All other parameters are reset to their default values. + */ +ZSTDLIB_API size_t ZSTD_CCtxParams_init(ZSTD_CCtx_params* cctxParams, int compressionLevel); + +/*! ZSTD_CCtxParams_init_advanced() : + * Initializes the compression and frame parameters of cctxParams according to + * params. All other parameters are reset to their default values. + */ +ZSTDLIB_API size_t ZSTD_CCtxParams_init_advanced(ZSTD_CCtx_params* cctxParams, ZSTD_parameters params); + +/*! ZSTD_CCtxParams_setParameter() : + * Similar to ZSTD_CCtx_setParameter. + * Set one compression parameter, selected by enum ZSTD_cParameter. + * Parameters must be applied to a ZSTD_CCtx using ZSTD_CCtx_setParametersUsingCCtxParams(). + * @result : 0, or an error code (which can be tested with ZSTD_isError()). + */ +ZSTDLIB_API size_t ZSTD_CCtxParams_setParameter(ZSTD_CCtx_params* params, ZSTD_cParameter param, int value); + +/*! ZSTD_CCtxParams_getParameter() : + * Similar to ZSTD_CCtx_getParameter. + * Get the requested value of one compression parameter, selected by enum ZSTD_cParameter. + * @result : 0, or an error code (which can be tested with ZSTD_isError()). + */ +ZSTDLIB_API size_t ZSTD_CCtxParams_getParameter(ZSTD_CCtx_params* params, ZSTD_cParameter param, int* value); + +/*! ZSTD_CCtx_setParametersUsingCCtxParams() : + * Apply a set of ZSTD_CCtx_params to the compression context. + * This can be done even after compression is started, + * if nbWorkers==0, this will have no impact until a new compression is started. + * if nbWorkers>=1, new parameters will be picked up at next job, + * with a few restrictions (windowLog, pledgedSrcSize, nbWorkers, jobSize, and overlapLog are not updated). + */ +ZSTDLIB_API size_t ZSTD_CCtx_setParametersUsingCCtxParams( + ZSTD_CCtx* cctx, const ZSTD_CCtx_params* params); + +/*! ZSTD_compressStream2_simpleArgs() : + * Same as ZSTD_compressStream2(), + * but using only integral types as arguments. + * This variant might be helpful for binders from dynamic languages + * which have troubles handling structures containing memory pointers. + */ +ZSTDLIB_API size_t ZSTD_compressStream2_simpleArgs ( + ZSTD_CCtx* cctx, + void* dst, size_t dstCapacity, size_t* dstPos, + const void* src, size_t srcSize, size_t* srcPos, + ZSTD_EndDirective endOp); + + +/*************************************** +* Advanced decompression functions +***************************************/ + +/*! ZSTD_isFrame() : + * Tells if the content of `buffer` starts with a valid Frame Identifier. + * Note : Frame Identifier is 4 bytes. If `size < 4`, @return will always be 0. + * Note 2 : Legacy Frame Identifiers are considered valid only if Legacy Support is enabled. + * Note 3 : Skippable Frame Identifiers are considered valid. */ +ZSTDLIB_API unsigned ZSTD_isFrame(const void* buffer, size_t size); + +/*! ZSTD_createDDict_byReference() : + * Create a digested dictionary, ready to start decompression operation without startup delay. + * Dictionary content is referenced, and therefore stays in dictBuffer. + * It is important that dictBuffer outlives DDict, + * it must remain read accessible throughout the lifetime of DDict */ +ZSTDLIB_API ZSTD_DDict* ZSTD_createDDict_byReference(const void* dictBuffer, size_t dictSize); + +/*! ZSTD_DCtx_loadDictionary_byReference() : + * Same as ZSTD_DCtx_loadDictionary(), + * but references `dict` content instead of copying it into `dctx`. + * This saves memory if `dict` remains around., + * However, it's imperative that `dict` remains accessible (and unmodified) while being used, so it must outlive decompression. */ +ZSTDLIB_API size_t ZSTD_DCtx_loadDictionary_byReference(ZSTD_DCtx* dctx, const void* dict, size_t dictSize); + +/*! ZSTD_DCtx_loadDictionary_advanced() : + * Same as ZSTD_DCtx_loadDictionary(), + * but gives direct control over + * how to load the dictionary (by copy ? by reference ?) + * and how to interpret it (automatic ? force raw mode ? full mode only ?). */ +ZSTDLIB_API size_t ZSTD_DCtx_loadDictionary_advanced(ZSTD_DCtx* dctx, const void* dict, size_t dictSize, ZSTD_dictLoadMethod_e dictLoadMethod, ZSTD_dictContentType_e dictContentType); + +/*! ZSTD_DCtx_refPrefix_advanced() : + * Same as ZSTD_DCtx_refPrefix(), but gives finer control over + * how to interpret prefix content (automatic ? force raw mode (default) ? full mode only ?) */ +ZSTDLIB_API size_t ZSTD_DCtx_refPrefix_advanced(ZSTD_DCtx* dctx, const void* prefix, size_t prefixSize, ZSTD_dictContentType_e dictContentType); + +/*! ZSTD_DCtx_setMaxWindowSize() : + * Refuses allocating internal buffers for frames requiring a window size larger than provided limit. + * This protects a decoder context from reserving too much memory for itself (potential attack scenario). + * This parameter is only useful in streaming mode, since no internal buffer is allocated in single-pass mode. + * By default, a decompression context accepts all window sizes <= (1 << ZSTD_WINDOWLOG_LIMIT_DEFAULT) + * @return : 0, or an error code (which can be tested using ZSTD_isError()). + */ +ZSTDLIB_API size_t ZSTD_DCtx_setMaxWindowSize(ZSTD_DCtx* dctx, size_t maxWindowSize); + +/* ZSTD_d_format + * experimental parameter, + * allowing selection between ZSTD_format_e input compression formats + */ +#define ZSTD_d_format ZSTD_d_experimentalParam1 +/* ZSTD_d_stableOutBuffer + * Experimental parameter. + * Default is 0 == disabled. Set to 1 to enable. + * + * Tells the decompressor that the ZSTD_outBuffer will ALWAYS be the same + * between calls, except for the modifications that zstd makes to pos (the + * caller must not modify pos). This is checked by the decompressor, and + * decompression will fail if it ever changes. Therefore the ZSTD_outBuffer + * MUST be large enough to fit the entire decompressed frame. This will be + * checked when the frame content size is known. The data in the ZSTD_outBuffer + * in the range [dst, dst + pos) MUST not be modified during decompression + * or you will get data corruption. + * + * When this flags is enabled zstd won't allocate an output buffer, because + * it can write directly to the ZSTD_outBuffer, but it will still allocate + * an input buffer large enough to fit any compressed block. This will also + * avoid the memcpy() from the internal output buffer to the ZSTD_outBuffer. + * If you need to avoid the input buffer allocation use the buffer-less + * streaming API. + * + * NOTE: So long as the ZSTD_outBuffer always points to valid memory, using + * this flag is ALWAYS memory safe, and will never access out-of-bounds + * memory. However, decompression WILL fail if you violate the preconditions. + * + * WARNING: The data in the ZSTD_outBuffer in the range [dst, dst + pos) MUST + * not be modified during decompression or you will get data corruption. This + * is because zstd needs to reference data in the ZSTD_outBuffer to regenerate + * matches. Normally zstd maintains its own buffer for this purpose, but passing + * this flag tells zstd to use the user provided buffer. + */ +#define ZSTD_d_stableOutBuffer ZSTD_d_experimentalParam2 + +/*! ZSTD_DCtx_setFormat() : + * Instruct the decoder context about what kind of data to decode next. + * This instruction is mandatory to decode data without a fully-formed header, + * such ZSTD_f_zstd1_magicless for example. + * @return : 0, or an error code (which can be tested using ZSTD_isError()). */ +ZSTDLIB_API size_t ZSTD_DCtx_setFormat(ZSTD_DCtx* dctx, ZSTD_format_e format); + +/*! ZSTD_decompressStream_simpleArgs() : + * Same as ZSTD_decompressStream(), + * but using only integral types as arguments. + * This can be helpful for binders from dynamic languages + * which have troubles handling structures containing memory pointers. + */ +ZSTDLIB_API size_t ZSTD_decompressStream_simpleArgs ( + ZSTD_DCtx* dctx, + void* dst, size_t dstCapacity, size_t* dstPos, + const void* src, size_t srcSize, size_t* srcPos); + + +/******************************************************************** +* Advanced streaming functions +* Warning : most of these functions are now redundant with the Advanced API. +* Once Advanced API reaches "stable" status, +* redundant functions will be deprecated, and then at some point removed. +********************************************************************/ + +/*===== Advanced Streaming compression functions =====*/ +/**! ZSTD_initCStream_srcSize() : + * This function is deprecated, and equivalent to: + * ZSTD_CCtx_reset(zcs, ZSTD_reset_session_only); + * ZSTD_CCtx_refCDict(zcs, NULL); // clear the dictionary (if any) + * ZSTD_CCtx_setParameter(zcs, ZSTD_c_compressionLevel, compressionLevel); + * ZSTD_CCtx_setPledgedSrcSize(zcs, pledgedSrcSize); + * + * pledgedSrcSize must be correct. If it is not known at init time, use + * ZSTD_CONTENTSIZE_UNKNOWN. Note that, for compatibility with older programs, + * "0" also disables frame content size field. It may be enabled in the future. + * Note : this prototype will be marked as deprecated and generate compilation warnings on reaching v1.5.x + */ +ZSTDLIB_API size_t +ZSTD_initCStream_srcSize(ZSTD_CStream* zcs, + int compressionLevel, + unsigned long long pledgedSrcSize); + +/**! ZSTD_initCStream_usingDict() : + * This function is deprecated, and is equivalent to: + * ZSTD_CCtx_reset(zcs, ZSTD_reset_session_only); + * ZSTD_CCtx_setParameter(zcs, ZSTD_c_compressionLevel, compressionLevel); + * ZSTD_CCtx_loadDictionary(zcs, dict, dictSize); + * + * Creates of an internal CDict (incompatible with static CCtx), except if + * dict == NULL or dictSize < 8, in which case no dict is used. + * Note: dict is loaded with ZSTD_dct_auto (treated as a full zstd dictionary if + * it begins with ZSTD_MAGIC_DICTIONARY, else as raw content) and ZSTD_dlm_byCopy. + * Note : this prototype will be marked as deprecated and generate compilation warnings on reaching v1.5.x + */ +ZSTDLIB_API size_t +ZSTD_initCStream_usingDict(ZSTD_CStream* zcs, + const void* dict, size_t dictSize, + int compressionLevel); + +/**! ZSTD_initCStream_advanced() : + * This function is deprecated, and is approximately equivalent to: + * ZSTD_CCtx_reset(zcs, ZSTD_reset_session_only); + * // Pseudocode: Set each zstd parameter and leave the rest as-is. + * for ((param, value) : params) { + * ZSTD_CCtx_setParameter(zcs, param, value); + * } + * ZSTD_CCtx_setPledgedSrcSize(zcs, pledgedSrcSize); + * ZSTD_CCtx_loadDictionary(zcs, dict, dictSize); + * + * dict is loaded with ZSTD_dct_auto and ZSTD_dlm_byCopy. + * pledgedSrcSize must be correct. + * If srcSize is not known at init time, use value ZSTD_CONTENTSIZE_UNKNOWN. + * Note : this prototype will be marked as deprecated and generate compilation warnings on reaching v1.5.x + */ +ZSTDLIB_API size_t +ZSTD_initCStream_advanced(ZSTD_CStream* zcs, + const void* dict, size_t dictSize, + ZSTD_parameters params, + unsigned long long pledgedSrcSize); + +/**! ZSTD_initCStream_usingCDict() : + * This function is deprecated, and equivalent to: + * ZSTD_CCtx_reset(zcs, ZSTD_reset_session_only); + * ZSTD_CCtx_refCDict(zcs, cdict); + * + * note : cdict will just be referenced, and must outlive compression session + * Note : this prototype will be marked as deprecated and generate compilation warnings on reaching v1.5.x + */ +ZSTDLIB_API size_t ZSTD_initCStream_usingCDict(ZSTD_CStream* zcs, const ZSTD_CDict* cdict); + +/**! ZSTD_initCStream_usingCDict_advanced() : + * This function is DEPRECATED, and is approximately equivalent to: + * ZSTD_CCtx_reset(zcs, ZSTD_reset_session_only); + * // Pseudocode: Set each zstd frame parameter and leave the rest as-is. + * for ((fParam, value) : fParams) { + * ZSTD_CCtx_setParameter(zcs, fParam, value); + * } + * ZSTD_CCtx_setPledgedSrcSize(zcs, pledgedSrcSize); + * ZSTD_CCtx_refCDict(zcs, cdict); + * + * same as ZSTD_initCStream_usingCDict(), with control over frame parameters. + * pledgedSrcSize must be correct. If srcSize is not known at init time, use + * value ZSTD_CONTENTSIZE_UNKNOWN. + * Note : this prototype will be marked as deprecated and generate compilation warnings on reaching v1.5.x + */ +ZSTDLIB_API size_t +ZSTD_initCStream_usingCDict_advanced(ZSTD_CStream* zcs, + const ZSTD_CDict* cdict, + ZSTD_frameParameters fParams, + unsigned long long pledgedSrcSize); + +/*! ZSTD_resetCStream() : + * This function is deprecated, and is equivalent to: + * ZSTD_CCtx_reset(zcs, ZSTD_reset_session_only); + * ZSTD_CCtx_setPledgedSrcSize(zcs, pledgedSrcSize); + * + * start a new frame, using same parameters from previous frame. + * This is typically useful to skip dictionary loading stage, since it will re-use it in-place. + * Note that zcs must be init at least once before using ZSTD_resetCStream(). + * If pledgedSrcSize is not known at reset time, use macro ZSTD_CONTENTSIZE_UNKNOWN. + * If pledgedSrcSize > 0, its value must be correct, as it will be written in header, and controlled at the end. + * For the time being, pledgedSrcSize==0 is interpreted as "srcSize unknown" for compatibility with older programs, + * but it will change to mean "empty" in future version, so use macro ZSTD_CONTENTSIZE_UNKNOWN instead. + * @return : 0, or an error code (which can be tested using ZSTD_isError()) + * Note : this prototype will be marked as deprecated and generate compilation warnings on reaching v1.5.x + */ +ZSTDLIB_API size_t ZSTD_resetCStream(ZSTD_CStream* zcs, unsigned long long pledgedSrcSize); + + +typedef struct { + unsigned long long ingested; /* nb input bytes read and buffered */ + unsigned long long consumed; /* nb input bytes actually compressed */ + unsigned long long produced; /* nb of compressed bytes generated and buffered */ + unsigned long long flushed; /* nb of compressed bytes flushed : not provided; can be tracked from caller side */ + unsigned currentJobID; /* MT only : latest started job nb */ + unsigned nbActiveWorkers; /* MT only : nb of workers actively compressing at probe time */ +} ZSTD_frameProgression; + +/* ZSTD_getFrameProgression() : + * tells how much data has been ingested (read from input) + * consumed (input actually compressed) and produced (output) for current frame. + * Note : (ingested - consumed) is amount of input data buffered internally, not yet compressed. + * Aggregates progression inside active worker threads. + */ +ZSTDLIB_API ZSTD_frameProgression ZSTD_getFrameProgression(const ZSTD_CCtx* cctx); + +/*! ZSTD_toFlushNow() : + * Tell how many bytes are ready to be flushed immediately. + * Useful for multithreading scenarios (nbWorkers >= 1). + * Probe the oldest active job, defined as oldest job not yet entirely flushed, + * and check its output buffer. + * @return : amount of data stored in oldest job and ready to be flushed immediately. + * if @return == 0, it means either : + * + there is no active job (could be checked with ZSTD_frameProgression()), or + * + oldest job is still actively compressing data, + * but everything it has produced has also been flushed so far, + * therefore flush speed is limited by production speed of oldest job + * irrespective of the speed of concurrent (and newer) jobs. + */ +ZSTDLIB_API size_t ZSTD_toFlushNow(ZSTD_CCtx* cctx); + + +/*===== Advanced Streaming decompression functions =====*/ +/** + * This function is deprecated, and is equivalent to: + * + * ZSTD_DCtx_reset(zds, ZSTD_reset_session_only); + * ZSTD_DCtx_loadDictionary(zds, dict, dictSize); + * + * note: no dictionary will be used if dict == NULL or dictSize < 8 + * Note : this prototype will be marked as deprecated and generate compilation warnings on reaching v1.5.x + */ +ZSTDLIB_API size_t ZSTD_initDStream_usingDict(ZSTD_DStream* zds, const void* dict, size_t dictSize); + +/** + * This function is deprecated, and is equivalent to: + * + * ZSTD_DCtx_reset(zds, ZSTD_reset_session_only); + * ZSTD_DCtx_refDDict(zds, ddict); + * + * note : ddict is referenced, it must outlive decompression session + * Note : this prototype will be marked as deprecated and generate compilation warnings on reaching v1.5.x + */ +ZSTDLIB_API size_t ZSTD_initDStream_usingDDict(ZSTD_DStream* zds, const ZSTD_DDict* ddict); + +/** + * This function is deprecated, and is equivalent to: + * + * ZSTD_DCtx_reset(zds, ZSTD_reset_session_only); + * + * re-use decompression parameters from previous init; saves dictionary loading + * Note : this prototype will be marked as deprecated and generate compilation warnings on reaching v1.5.x + */ +ZSTDLIB_API size_t ZSTD_resetDStream(ZSTD_DStream* zds); + + +/********************************************************************* +* Buffer-less and synchronous inner streaming functions +* +* This is an advanced API, giving full control over buffer management, for users which need direct control over memory. +* But it's also a complex one, with several restrictions, documented below. +* Prefer normal streaming API for an easier experience. +********************************************************************* */ + +/** + Buffer-less streaming compression (synchronous mode) + + A ZSTD_CCtx object is required to track streaming operations. + Use ZSTD_createCCtx() / ZSTD_freeCCtx() to manage resource. + ZSTD_CCtx object can be re-used multiple times within successive compression operations. + + Start by initializing a context. + Use ZSTD_compressBegin(), or ZSTD_compressBegin_usingDict() for dictionary compression, + or ZSTD_compressBegin_advanced(), for finer parameter control. + It's also possible to duplicate a reference context which has already been initialized, using ZSTD_copyCCtx() + + Then, consume your input using ZSTD_compressContinue(). + There are some important considerations to keep in mind when using this advanced function : + - ZSTD_compressContinue() has no internal buffer. It uses externally provided buffers only. + - Interface is synchronous : input is consumed entirely and produces 1+ compressed blocks. + - Caller must ensure there is enough space in `dst` to store compressed data under worst case scenario. + Worst case evaluation is provided by ZSTD_compressBound(). + ZSTD_compressContinue() doesn't guarantee recover after a failed compression. + - ZSTD_compressContinue() presumes prior input ***is still accessible and unmodified*** (up to maximum distance size, see WindowLog). + It remembers all previous contiguous blocks, plus one separated memory segment (which can itself consists of multiple contiguous blocks) + - ZSTD_compressContinue() detects that prior input has been overwritten when `src` buffer overlaps. + In which case, it will "discard" the relevant memory section from its history. + + Finish a frame with ZSTD_compressEnd(), which will write the last block(s) and optional checksum. + It's possible to use srcSize==0, in which case, it will write a final empty block to end the frame. + Without last block mark, frames are considered unfinished (hence corrupted) by compliant decoders. + + `ZSTD_CCtx` object can be re-used (ZSTD_compressBegin()) to compress again. +*/ + +/*===== Buffer-less streaming compression functions =====*/ +ZSTDLIB_API size_t ZSTD_compressBegin(ZSTD_CCtx* cctx, int compressionLevel); +ZSTDLIB_API size_t ZSTD_compressBegin_usingDict(ZSTD_CCtx* cctx, const void* dict, size_t dictSize, int compressionLevel); +ZSTDLIB_API size_t ZSTD_compressBegin_advanced(ZSTD_CCtx* cctx, const void* dict, size_t dictSize, ZSTD_parameters params, unsigned long long pledgedSrcSize); /**< pledgedSrcSize : If srcSize is not known at init time, use ZSTD_CONTENTSIZE_UNKNOWN */ +ZSTDLIB_API size_t ZSTD_compressBegin_usingCDict(ZSTD_CCtx* cctx, const ZSTD_CDict* cdict); /**< note: fails if cdict==NULL */ +ZSTDLIB_API size_t ZSTD_compressBegin_usingCDict_advanced(ZSTD_CCtx* const cctx, const ZSTD_CDict* const cdict, ZSTD_frameParameters const fParams, unsigned long long const pledgedSrcSize); /* compression parameters are already set within cdict. pledgedSrcSize must be correct. If srcSize is not known, use macro ZSTD_CONTENTSIZE_UNKNOWN */ +ZSTDLIB_API size_t ZSTD_copyCCtx(ZSTD_CCtx* cctx, const ZSTD_CCtx* preparedCCtx, unsigned long long pledgedSrcSize); /**< note: if pledgedSrcSize is not known, use ZSTD_CONTENTSIZE_UNKNOWN */ + +ZSTDLIB_API size_t ZSTD_compressContinue(ZSTD_CCtx* cctx, void* dst, size_t dstCapacity, const void* src, size_t srcSize); +ZSTDLIB_API size_t ZSTD_compressEnd(ZSTD_CCtx* cctx, void* dst, size_t dstCapacity, const void* src, size_t srcSize); + + +/*- + Buffer-less streaming decompression (synchronous mode) + + A ZSTD_DCtx object is required to track streaming operations. + Use ZSTD_createDCtx() / ZSTD_freeDCtx() to manage it. + A ZSTD_DCtx object can be re-used multiple times. + + First typical operation is to retrieve frame parameters, using ZSTD_getFrameHeader(). + Frame header is extracted from the beginning of compressed frame, so providing only the frame's beginning is enough. + Data fragment must be large enough to ensure successful decoding. + `ZSTD_frameHeaderSize_max` bytes is guaranteed to always be large enough. + @result : 0 : successful decoding, the `ZSTD_frameHeader` structure is correctly filled. + >0 : `srcSize` is too small, please provide at least @result bytes on next attempt. + errorCode, which can be tested using ZSTD_isError(). + + It fills a ZSTD_frameHeader structure with important information to correctly decode the frame, + such as the dictionary ID, content size, or maximum back-reference distance (`windowSize`). + Note that these values could be wrong, either because of data corruption, or because a 3rd party deliberately spoofs false information. + As a consequence, check that values remain within valid application range. + For example, do not allocate memory blindly, check that `windowSize` is within expectation. + Each application can set its own limits, depending on local restrictions. + For extended interoperability, it is recommended to support `windowSize` of at least 8 MB. + + ZSTD_decompressContinue() needs previous data blocks during decompression, up to `windowSize` bytes. + ZSTD_decompressContinue() is very sensitive to contiguity, + if 2 blocks don't follow each other, make sure that either the compressor breaks contiguity at the same place, + or that previous contiguous segment is large enough to properly handle maximum back-reference distance. + There are multiple ways to guarantee this condition. + + The most memory efficient way is to use a round buffer of sufficient size. + Sufficient size is determined by invoking ZSTD_decodingBufferSize_min(), + which can @return an error code if required value is too large for current system (in 32-bits mode). + In a round buffer methodology, ZSTD_decompressContinue() decompresses each block next to previous one, + up to the moment there is not enough room left in the buffer to guarantee decoding another full block, + which maximum size is provided in `ZSTD_frameHeader` structure, field `blockSizeMax`. + At which point, decoding can resume from the beginning of the buffer. + Note that already decoded data stored in the buffer should be flushed before being overwritten. + + There are alternatives possible, for example using two or more buffers of size `windowSize` each, though they consume more memory. + + Finally, if you control the compression process, you can also ignore all buffer size rules, + as long as the encoder and decoder progress in "lock-step", + aka use exactly the same buffer sizes, break contiguity at the same place, etc. + + Once buffers are setup, start decompression, with ZSTD_decompressBegin(). + If decompression requires a dictionary, use ZSTD_decompressBegin_usingDict() or ZSTD_decompressBegin_usingDDict(). + + Then use ZSTD_nextSrcSizeToDecompress() and ZSTD_decompressContinue() alternatively. + ZSTD_nextSrcSizeToDecompress() tells how many bytes to provide as 'srcSize' to ZSTD_decompressContinue(). + ZSTD_decompressContinue() requires this _exact_ amount of bytes, or it will fail. + + @result of ZSTD_decompressContinue() is the number of bytes regenerated within 'dst' (necessarily <= dstCapacity). + It can be zero : it just means ZSTD_decompressContinue() has decoded some metadata item. + It can also be an error code, which can be tested with ZSTD_isError(). + + A frame is fully decoded when ZSTD_nextSrcSizeToDecompress() returns zero. + Context can then be reset to start a new decompression. + + Note : it's possible to know if next input to present is a header or a block, using ZSTD_nextInputType(). + This information is not required to properly decode a frame. + + == Special case : skippable frames == + + Skippable frames allow integration of user-defined data into a flow of concatenated frames. + Skippable frames will be ignored (skipped) by decompressor. + The format of skippable frames is as follows : + a) Skippable frame ID - 4 Bytes, Little endian format, any value from 0x184D2A50 to 0x184D2A5F + b) Frame Size - 4 Bytes, Little endian format, unsigned 32-bits + c) Frame Content - any content (User Data) of length equal to Frame Size + For skippable frames ZSTD_getFrameHeader() returns zfhPtr->frameType==ZSTD_skippableFrame. + For skippable frames ZSTD_decompressContinue() always returns 0 : it only skips the content. +*/ + +/*===== Buffer-less streaming decompression functions =====*/ +typedef enum { ZSTD_frame, ZSTD_skippableFrame } ZSTD_frameType_e; +typedef struct { + unsigned long long frameContentSize; /* if == ZSTD_CONTENTSIZE_UNKNOWN, it means this field is not available. 0 means "empty" */ + unsigned long long windowSize; /* can be very large, up to <= frameContentSize */ + unsigned blockSizeMax; + ZSTD_frameType_e frameType; /* if == ZSTD_skippableFrame, frameContentSize is the size of skippable content */ + unsigned headerSize; + unsigned dictID; + unsigned checksumFlag; +} ZSTD_frameHeader; + +/*! ZSTD_getFrameHeader() : + * decode Frame Header, or requires larger `srcSize`. + * @return : 0, `zfhPtr` is correctly filled, + * >0, `srcSize` is too small, value is wanted `srcSize` amount, + * or an error code, which can be tested using ZSTD_isError() */ +ZSTDLIB_API size_t ZSTD_getFrameHeader(ZSTD_frameHeader* zfhPtr, const void* src, size_t srcSize); /**< doesn't consume input */ +/*! ZSTD_getFrameHeader_advanced() : + * same as ZSTD_getFrameHeader(), + * with added capability to select a format (like ZSTD_f_zstd1_magicless) */ +ZSTDLIB_API size_t ZSTD_getFrameHeader_advanced(ZSTD_frameHeader* zfhPtr, const void* src, size_t srcSize, ZSTD_format_e format); +ZSTDLIB_API size_t ZSTD_decodingBufferSize_min(unsigned long long windowSize, unsigned long long frameContentSize); /**< when frame content size is not known, pass in frameContentSize == ZSTD_CONTENTSIZE_UNKNOWN */ + +ZSTDLIB_API size_t ZSTD_decompressBegin(ZSTD_DCtx* dctx); +ZSTDLIB_API size_t ZSTD_decompressBegin_usingDict(ZSTD_DCtx* dctx, const void* dict, size_t dictSize); +ZSTDLIB_API size_t ZSTD_decompressBegin_usingDDict(ZSTD_DCtx* dctx, const ZSTD_DDict* ddict); + +ZSTDLIB_API size_t ZSTD_nextSrcSizeToDecompress(ZSTD_DCtx* dctx); +ZSTDLIB_API size_t ZSTD_decompressContinue(ZSTD_DCtx* dctx, void* dst, size_t dstCapacity, const void* src, size_t srcSize); + +/* misc */ +ZSTDLIB_API void ZSTD_copyDCtx(ZSTD_DCtx* dctx, const ZSTD_DCtx* preparedDCtx); +typedef enum { ZSTDnit_frameHeader, ZSTDnit_blockHeader, ZSTDnit_block, ZSTDnit_lastBlock, ZSTDnit_checksum, ZSTDnit_skippableFrame } ZSTD_nextInputType_e; +ZSTDLIB_API ZSTD_nextInputType_e ZSTD_nextInputType(ZSTD_DCtx* dctx); + + + + +/* ============================ */ +/** Block level API */ +/* ============================ */ + +/*! + Block functions produce and decode raw zstd blocks, without frame metadata. + Frame metadata cost is typically ~12 bytes, which can be non-negligible for very small blocks (< 100 bytes). + But users will have to take in charge needed metadata to regenerate data, such as compressed and content sizes. + + A few rules to respect : + - Compressing and decompressing require a context structure + + Use ZSTD_createCCtx() and ZSTD_createDCtx() + - It is necessary to init context before starting + + compression : any ZSTD_compressBegin*() variant, including with dictionary + + decompression : any ZSTD_decompressBegin*() variant, including with dictionary + + copyCCtx() and copyDCtx() can be used too + - Block size is limited, it must be <= ZSTD_getBlockSize() <= ZSTD_BLOCKSIZE_MAX == 128 KB + + If input is larger than a block size, it's necessary to split input data into multiple blocks + + For inputs larger than a single block, consider using regular ZSTD_compress() instead. + Frame metadata is not that costly, and quickly becomes negligible as source size grows larger than a block. + - When a block is considered not compressible enough, ZSTD_compressBlock() result will be 0 (zero) ! + ===> In which case, nothing is produced into `dst` ! + + User __must__ test for such outcome and deal directly with uncompressed data + + A block cannot be declared incompressible if ZSTD_compressBlock() return value was != 0. + Doing so would mess up with statistics history, leading to potential data corruption. + + ZSTD_decompressBlock() _doesn't accept uncompressed data as input_ !! + + In case of multiple successive blocks, should some of them be uncompressed, + decoder must be informed of their existence in order to follow proper history. + Use ZSTD_insertBlock() for such a case. +*/ + +/*===== Raw zstd block functions =====*/ +ZSTDLIB_API size_t ZSTD_getBlockSize (const ZSTD_CCtx* cctx); +ZSTDLIB_API size_t ZSTD_compressBlock (ZSTD_CCtx* cctx, void* dst, size_t dstCapacity, const void* src, size_t srcSize); +ZSTDLIB_API size_t ZSTD_decompressBlock(ZSTD_DCtx* dctx, void* dst, size_t dstCapacity, const void* src, size_t srcSize); +ZSTDLIB_API size_t ZSTD_insertBlock (ZSTD_DCtx* dctx, const void* blockStart, size_t blockSize); /**< insert uncompressed block into `dctx` history. Useful for multi-blocks decompression. */ + + +#endif /* ZSTD_H_ZSTD_STATIC_LINKING_ONLY */ + +#if defined (__cplusplus) +} +#endif diff --git a/agent/src/nativeInterop/cinterop/macosX64/zstd_errors.h b/agent/src/nativeInterop/cinterop/macosX64/zstd_errors.h new file mode 100644 index 00000000..998398e7 --- /dev/null +++ b/agent/src/nativeInterop/cinterop/macosX64/zstd_errors.h @@ -0,0 +1,94 @@ +/* + * Copyright (c) 2016-2020, Yann Collet, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under both the BSD-style license (found in the + * LICENSE file in the root directory of this source tree) and the GPLv2 (found + * in the COPYING file in the root directory of this source tree). + * You may select, at your option, one of the above-listed licenses. + */ + +#ifndef ZSTD_ERRORS_H_398273423 +#define ZSTD_ERRORS_H_398273423 + +#if defined (__cplusplus) +extern "C" { +#endif + +/*===== dependency =====*/ +#include /* size_t */ + + +/* ===== ZSTDERRORLIB_API : control library symbols visibility ===== */ +#ifndef ZSTDERRORLIB_VISIBILITY +# if defined(__GNUC__) && (__GNUC__ >= 4) +# define ZSTDERRORLIB_VISIBILITY __attribute__ ((visibility ("default"))) +# else +# define ZSTDERRORLIB_VISIBILITY +# endif +#endif +#if defined(ZSTD_DLL_EXPORT) && (ZSTD_DLL_EXPORT==1) +# define ZSTDERRORLIB_API __declspec(dllexport) ZSTDERRORLIB_VISIBILITY +#elif defined(ZSTD_DLL_IMPORT) && (ZSTD_DLL_IMPORT==1) +# define ZSTDERRORLIB_API __declspec(dllimport) ZSTDERRORLIB_VISIBILITY /* It isn't required but allows to generate better code, saving a function pointer load from the IAT and an indirect jump.*/ +#else +# define ZSTDERRORLIB_API ZSTDERRORLIB_VISIBILITY +#endif + +/*-********************************************* + * Error codes list + *-********************************************* + * Error codes _values_ are pinned down since v1.3.1 only. + * Therefore, don't rely on values if you may link to any version < v1.3.1. + * + * Only values < 100 are considered stable. + * + * note 1 : this API shall be used with static linking only. + * dynamic linking is not yet officially supported. + * note 2 : Prefer relying on the enum than on its value whenever possible + * This is the only supported way to use the error list < v1.3.1 + * note 3 : ZSTD_isError() is always correct, whatever the library version. + **********************************************/ +typedef enum { + ZSTD_error_no_error = 0, + ZSTD_error_GENERIC = 1, + ZSTD_error_prefix_unknown = 10, + ZSTD_error_version_unsupported = 12, + ZSTD_error_frameParameter_unsupported = 14, + ZSTD_error_frameParameter_windowTooLarge = 16, + ZSTD_error_corruption_detected = 20, + ZSTD_error_checksum_wrong = 22, + ZSTD_error_dictionary_corrupted = 30, + ZSTD_error_dictionary_wrong = 32, + ZSTD_error_dictionaryCreation_failed = 34, + ZSTD_error_parameter_unsupported = 40, + ZSTD_error_parameter_outOfBound = 42, + ZSTD_error_tableLog_tooLarge = 44, + ZSTD_error_maxSymbolValue_tooLarge = 46, + ZSTD_error_maxSymbolValue_tooSmall = 48, + ZSTD_error_stage_wrong = 60, + ZSTD_error_init_missing = 62, + ZSTD_error_memory_allocation = 64, + ZSTD_error_workSpace_tooSmall= 66, + ZSTD_error_dstSize_tooSmall = 70, + ZSTD_error_srcSize_wrong = 72, + ZSTD_error_dstBuffer_null = 74, + /* following error codes are __NOT STABLE__, they can be removed or changed in future versions */ + ZSTD_error_frameIndex_tooLarge = 100, + ZSTD_error_seekableIO = 102, + ZSTD_error_dstBuffer_wrong = 104, + ZSTD_error_maxCode = 120 /* never EVER use this value directly, it can change in future versions! Use ZSTD_isError() instead */ +} ZSTD_ErrorCode; + +/*! ZSTD_getErrorCode() : + convert a `size_t` function result into a `ZSTD_ErrorCode` enum type, + which can be used to compare with enum list published above */ +ZSTDERRORLIB_API ZSTD_ErrorCode ZSTD_getErrorCode(size_t functionResult); +ZSTDERRORLIB_API const char* ZSTD_getErrorString(ZSTD_ErrorCode code); /**< Same as ZSTD_getErrorName, but using a `ZSTD_ErrorCode` enum argument */ + + +#if defined (__cplusplus) +} +#endif + +#endif /* ZSTD_ERRORS_H_398273423 */ diff --git a/agent/src/nativeInterop/cinterop/mingwX64/libzstd.dll.a b/agent/src/nativeInterop/cinterop/mingwX64/libzstd.dll.a new file mode 100644 index 0000000000000000000000000000000000000000..d6ed429b79452e885769f0375e331c67936d2298 GIT binary patch literal 123546 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 literal 0 HcmV?d00001 diff --git a/agent/src/nativeInterop/cinterop/mingwX64/libzstd_static.lib b/agent/src/nativeInterop/cinterop/mingwX64/libzstd_static.lib new file mode 100644 index 0000000000000000000000000000000000000000..2cb1059452b609f152fd0656ed606b6da25b405f GIT binary patch literal 1049748 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 o#3Z+sQ{nxRD2@l z;!)|;VQdBfCEnTBu;$U;88{Y7JZpSWRFwhZD6>OQiHc|adtDvoZaSVd5eO1ftQg_W zs+{V$gfE_>4irxIAxpCOv8?^9);(mE{S+^a4<#an`0HU&^`Ks5&5J}hw&-V)Dp%DB2nuJ^+3X zN?U&iHOi%}$5al6;SZli%HGq~6NjL!w~L973Zk4vThsXRk?8B$y2_6O*N3LBcNQ^p zn!etx=__O}%}yQCpPgctlna{`i$4H6b@mYKl=w%wXR%!>uG(;SB1BcQQ=8bm zeRitTuu~g%%T8@1*rc#icwQ-X3XxYoc4|L4H>J+=*(qTYYT>C;=LsuC`?$lW*(qVA zICA_<^H8bt`h>AkY?WcB&PdPip5gDmP23$nRgYn^@Kf4u`+pLDHOtpB1pXG6<>T+I zT-%e2zekWKjlTr^Qj-pAzijZ0B)%%B7e?GcUs~ zWl|nxQeKl&y`GePBJLRl$I68)e^l+h?)?Q(X__9&`l+!)Z(xrv46CyZ1~?Y<2vtOu zs37_f{IAU&CN(|-3@w-2Q{W{r;+ET5IMdz+2O3YEhaq(XfdaQ$KTIkTZ7u(vA=R~j z-w9hkTp2FjW+ktSlRfmhbz^QeBAy-)wr*M(PLk&vI**ELKpelfV@_}Ey{970FJiL) zHYWSeCI}UfJeo6uwVc>{D*pbifW+TF4&(!7qT24lK0i^YEcQRG6HH9oU6|)5w86dv z9-@SaXuAvR{DijG-^O>5VB*>C!Z<&n&Gk3x1QX467qeOv1@l>n4eH)`egulk;t{X2nC!_R{ChK5-M&j0BxlIww3(7 zP%zvra*Xu9S9TYj6+3-qFCqd~!q##niA=vujIZnYO$48b$*m-(NZgvq+=UbmY^IP3;P0vQJO~Znp^Cq3T@lf_TbGd40GIbg(jQIdy+Z=7xA0I()4h^*CBv ztz!TK)A4J8V!sbmWW@qi0c?R{zz_5}162`hh09dX)ds3U*aGDcO5Q&ksET0=6dQh^ zKQ~Yn#1<$<{6Lo&D3<(~^{3>nlD5VMXsE^q@2JoiuHiX}0Z!QjuUoCmct_0@=+>B^<0@su8^{>(wkHT3ekCS5 z!au+ss?AuUUT?uH-lrftm?udelAmTfnyuy)8luR@tX%T3OggN{#{!>xECnRwLw@a) zkdOD$rEb396 zO+Bi!s7G}+^{CFG9@W{@109))hAq^iI-7b_XHk#pZ0b>+MLnvssYi7d^{CFK9@SaY zquQq))mhY|+NU1XS=6K2rykW=)T7#`9@SaYquQq))mhY|+NU1XhI&+|smJ-~+XkQ> zx5;EG>hWqsqWB8+_)Xa|fkHiGsuMxtoxMM{kt2zs9?vQ2@sgn)MTfJ!Ki*r0emp>mU=KhXf_(b%TLaCdAKy37T>9}X1I?u$ z7aM3U{irt3T>23*&}{l)wSL+_vuTLcx{rZo(-EunJ+!0p71^}JYJJ{7v*`)Y1 zvwQk>^b!A}Z*WH+JAHfZe}=vttLdAL>pu{Eo0YcD&!=z4lhU8Qebzv8>Dzb%&82U< z48_T%Z!a5YE`58{Ky&HaeFmCK-+pbNx%4e%ptA@b~=p1k|{f6)t$ZkhHd>?sOfYju%NT1^mXirvjf=tuac;#XLN!)` zQI~u0@S#0zn&`Ht5xc#;j!?&vV%-xU1~q9Xk`@cCA%vp9iSo()8{?yu`$-(nIJdV3 zH^oy$Tr%TgEzO9&&G&sOQiCgvc86? z>`cO6%f)u;|8@i{+Z&OxwbzZdme=CGQQKF)#T?&N$W4~;H$R94cO;yL#MB|~n>sA+ znnHh(L~w*diJoifaE0g&j5yyY-%m-!OR;uXRKVX*@&hTBmOciym@C_~$-|+#+CfD6 z2p;Cx*C1?HrsZ>rqN(a(QKz^Ov*Cfv9_Bi=BfOVU63BgPHJBQ3=c5j_TxYozky4Nb*uR@9$?lQ`ofI0)lwd2sGN=3rAekmrsQ>*k~W!=*-Xi~nJMY9MIZMDGcn8# zz9AL@7)GEslTou4PbiYH6=R4GbBrODbc3U@zyfs$qel!Ax9Mo>kXpv+ETt4-#@aJ^!ttDWcL?k=+_in0jHOxI#;T-z>rg9N%PFKpV5?c5dO7c-YZ_uXvqsg0^ffY9 zyIId-##1AKR>iC&Yo2P-^OVHES*_QPNZ-E5{0vRs`c4>}zP&}-9@Dq)9HZ$QT&j;s zR`b^*dGzf}0H6}{%fwdB-YtC-WSX5prlINEy;Jo(4@BSQbJX_Nz{g164%5{Ru^{%A zzSSVT1;4=g8txUh7SBDDjuZ-gxeZTlU#==% zYb7r^T9S83n5ND|=y3&40zVbFyqmiWd$|;Etr6QMLTlw35v5|VW^7X0pBIh-1<+ow z?@7d_U4f|Re}b$kfGDFRV$%Tn9})=IG=Tnx1c>_p`X3Sq*EE3shXkTE4WR!aVPO3a z37G2-p#LGEzy1dxk(%=KKL82Tl&Ajzh=W+3{s$mon)38N0Q>8I0E$9LB)IWowSk4c zpTg#{0U30d4H44br6$(n-eo^>)A!2m6&PY&nK=o9f>?L@4S7nT&BTSuh;_A6i2Ikd zQfPnJkE}RO@zBpyoq0+jLS>6m2y0~NgpS}MVvnUn-V&)UfmI}ei;{W})JY3<0ls8_ zg#>j1h)xKgL~xOu!wBjG5UvTJbY6f(1a$(4MhM`)8{lw)Isrr>1W-mqa*iOV6F~Gq zL~s$nNP;>6Kovv;7XcI#)CmBZAR@R3U=%@}0H6pWf{Oq~6VwR+dLSaW2w)6BodBQ) zB7%zmN(kx%04)#^Tm-NWL7e~))QJc#0vM};I-vtP9*Y*OkNHUa>K7?KG(Equa&UUy z71|4WUI6l@S<`I(NZ8bq(d$C!v1U^W-aY46_llms2X`(sdmwuLCr&K?1U)yr#bfb2 ze)W7^?Z-&ZOR;vy;a6pC4$f>1&963yJ+$UmbIuVPVY4%g>l)rzbue3+VO{b?*+O7g zKTd{g%}9R&`Y~Kfz9O+kedbm1_%J#d=5t$7oLWBmGhpQ?FjMD;WN0FBNba_ zIY+)SecUrgJvsHIk9#*Ud_$v8h@l$nxOcb=LaNjumL)GwjeQAgAEeQkH;d z&zp}2z)YPBH`F8CP`NtoMQJDJyw@}Mc~2enJUL@x0rIe5gtfTuAXW*73Kac0hlcQ}de3$|&|mu`-Wku`<8UxI5G64T# zfEi8(;4%Zua54a01I%zT02>W3!^r>?OA=u#GTaQnxB+H38h~FizzkOd@KXku;cNiz zV}Kd%2HS#`xj|I-r=?BVKcakL&5#!C zA};%QL z1~2{-@4n1PEC7YS8^T|4K>NSFV6nc-Ic*>oYd-M3K=}mvrG6+sMya&_#bW*QDE~eD z5&suZ9$}HNSb0W(`7G9(oRafU{%H-$MfolR%t84-8DI{|%jK2*P=2Wa=Ae9?0p_6m zc?Ot+@-YLEaDJHIbq#I%d#{-s;Tn&8ZyH2kgzSiwEn?bzQ=YBv~wwjhs&_dvcJue4Ld zS*wh!r(tB>US~zzKxkNl1Y=R5$q1>6p>=!R1mYzJh?m^JNvECg9-W0^zsQx$Oa6w4 zgJFsXRtr1INWOd+bd{K0WDLZQy{K&Vf(gPC##{-~b`HLH4*zlJa%V_*sMs}NoYHJ& z{JF&?J>$=94>cY)jmR61F?%x}>oem~lMW)b zH{+4Mn`NN!I1jsme&exaknwo>*^gyBzJcLb&ieQ|>b5;x9~G(@WGH)`B?_yA3aV0@~d`Fl0Rr;$5Y&gxg8H6Bq~c z{o0PjtK|Ew7Xe{KdwM@u?F}Qm zBt{I@l5V1%_WlI@qePJL^M9d#eynnQ39na#mO7i=6#6+7zp3^5kI7Y{v++0aCSxL| z8ziQU^lw?e_I|~1>*4!nkJ$6DFOtE-pUMB8Rfs>*gENB{(dTB5 zX9H@S-0|P=6c~s?W${9Z$@?;{fiZSK0)xp7E2)|itMznfR@|LkB8F#d_=G}vxe)Bi z3CO{+MOxxrM%Mh|^+YPoExu;3;@6TjzxZ_GyX6+YbFkv)llA%-Zf|1zTv@85CK1eWdo33kCkjy1$(jzc0jJZIQeqhd__jeT}Vj+=czVdW*!G zGBOeD4TP}ME5&M^vY86q(Q)@6S>i2EqiN{fl*tA*Sgj|4D_MDVyicB|^YXOx=H!_m z_2lQdf-tsO^?X6)$ypoEs*f2Kb3-x+ExS-;^gf%D;}-GscGEd7?w{kkGWD4pZh(TkX)(pR+2#fNw} zliv}r#uqUcgm4PopalRg3D0Hg(`njNMB28JhtVUU)?5IF*+f4NV&7NHI$!3fYS4`Sb91n3fz7mIe^Y$W4B?AwiG zJcxb6k&FkiZ#k0jAofj1G9JXf?MTLh*f$=@co0wLN-(TP7K$yj#_x=Nbn$_R>3s~} zV}IYYK3Bp8oUhRv&1w#MFXi*o=>1$8y|)oKXaMxy3^)tDclAT>nlyU<7@8!KKGtRi zyW0=Z!hL`SyYrN(BpB?@Q>Kz&usctgN`k@eJY^~g2D|f=sU#Te&Qqq6V6Zz+nM#7e z?kr_0K!e>`%2a>`yR($301b9$DN_L&?9NiA0yNm2rA!6rD^mr#Ypmp52D@tvb}wTR z^RZiDyi%iPW4BDVpl6Mb-7$mR&t+kE5xVAFX^T^Zx#m95(`A({A;D%6@t0Ar1gp8~UNhS#uG7XnBgrQT~bj`~#sc z{qg-3zmumHsx1KTySQC|e{PR&&_^HOLK1 z`8CYGO{4=-hWmg0=9dgmcv5ly!XNye=BN7dwoLh74N!hP1T4StZ{L|+UU8Panfr!> zsjRY=pM*%LjSIrMqf70+1+RJQC}iXraF)Bxub3Y1y5%BI*^~UuU3WRWBK`>ZzHkV{$Qw<4G%ZY~rTD zUn9g+0`zz)jQAACD4ff!)^Dv633!-m-o#j2M5`)Hww3%c=oUXxfLxyz;UcBPg~or_ z`zd7xsH)(RepQJDIKlP6yg{lerOW_T4M%l9V6W~*yE#ZzpP`IM_;bJSb`CIpO?JYq zQlE#sX{xEn?*DmfDWXwT=?JqZz~h<%XpC+b21#M`7(>7E=*44(UW|Cf&zN7IpF{4G z8MsA1N8gHU>U;*BH`JNyu~=~Uus0~`+?^#yZ}(nik!6VDSRsI#rl(8w4N&SoQ5Yry z8^jKJ5eQ^8e=*bC7=JUku-|6T;oXWPDAQa`rc}DQ*9T~Bj#AViIqvj+hiIFXE00@| zl`DC2r}t}Y@6F@AZ^|4WHO4-c>l3WzcT^L&M#tR);#{*P<8Y&Jh!x$r)9Q5zP0AG9 zUkycW!Nb6>{so_H^9$Z>M&pP9%1WH|{$;0 z`dDfj(U$AQJ6tYINS(rM6L+AOio54=4bZe=u9U2wn5ftov+iGoVTXMocUmY~`GE-d zQBsSJLY1{z>s7fx+?`0N2Ce}TKWACt-sOn!@dnW^ZCJ6SQ!Y+p!Eo-|8)(1OeZ5vD zG1J$i8cf~YLN<*!SGvi)iGy}`ooGGM-POgd)-F^%ao6v0SMM`fO{9lonyP;{!|{il z`YCI*j#lOT%Cm=~j}aKCrKPGnyJ=|!`(WlvR7*8EpFvA|F!_s6KI?2;WvcA~h8q8= z?8Qu)_Zv1~`8`feVvqMWtbx4$93_t3%$C58-(KYX;sNstgV0{+{hrsjb5WVC?sU*< ztp`~)Sa=;IOW!Rbq&9_RE?9??>z|g4wovNH-cMv49SkkvgoK@}3$M_HN2$V9L}tq? zEV)(T34<4YfE@~oK15+TTJ~LvNhssdMO5QAtYu0AZ zU2QDk7|aVw(lxjWJTzSd5a~QRdpY);%V2!O)a)@JFY82XF zQ4X1_;3uoj>9m7H3f|~Frm%3ZiVqy5;*#B0e0N^Ong#WH z{9W0^_ztxevU>bIfpcZf5Iw#ruVS@i(?fBfsaQ3aRdLDgD_%gwX%heXgIO=-f0dVY z-k1*k`(>CVc@M(o%kSSos`O6rHYk;@=83;^JsJjqgbio*#5Qmufw#HbtHvw(xw<)x zcOqE7&TeMQonM5&ndp`MXwXt$zG={;x@EFtbj?^h*p=7GCr!{Zn?zbNWT6 z^kk>hW|#S7_RFQb=#Aj&^bTCj4tzg5sqM~ETN?Kv)=$j23(-)Bv-)oYNmY)E__!~2 zv+TgJ)O3G)PpU05u6Fp}t9++m)Oj|9bW{CAyJAzuaLN#jOHBRBHXx*nTdlPejk%+2 zcOnHF(pzS3|9i<4ch9H(uV4-^NdLRV%pkobtBvf>{rfNMNp9sQs7$*VoEQ36J~F>@ zVP+?LaYPXM=?5H~_0z;V{HOEo((AI0n;m6+o{TA#{2oadC;9!h;yy7kJkJ-SHnyjn*BLju|EU1@g+4LejBQE9~3;(fLyNFuYp(hyn$r@27X8B-8Ar++U53W zl>VR)C+7=p%>RNkntlfYBxouk4bRi8s#rJ|c`NjbM$^l5HnV|er(9&pC<^d=cFJq& zrBlvgMc&i&Ktv$C6nd}f7oBoR_RH<69h2>A*=26iDWu={deAA~q&r4GLvxzzP`^FJ!xYgWM{$bL76TN&%m;Tp#JFL4E9{efMwK}s65 zvb3k|DEW{FD?0@Yfj8ja`CzdZlq6UJlXR`0l(r|8bape7ez~81z5f^3Z*;+af&B|g z%E!zZT|26#xNSst(U!ukfs*3>FqL=wAn=3w!;1n1MPH?H{u(Ch-$nfHKc%2xBCnC=xXo!nG;^!Z00_4(Q>>Mm*eeBH(KK0p8B z#)`vBr!`!1X?^KeuPjYma`}u|pPzN~QKhx>ulV}K7uE+$kDhwu)N(4|51z7MnB2>2 zp5z@<24F~v3~XHb32lN&l|JgSgvK#XrRmhNG>lI&sq!VdW@%cNJu3ZFnNFQL_mWF5 z=1u-S#1Q#wfvf83FFJqj1$FgPFVtZ5FPc#G7bqw#7>2%mpg%&F7s#ke9z>-4oy7k# zwi$>_f{btm;sB9x){v?77dO=dkw0l>SU|=<_iyS&7t~*1K+?`Y{h9jJx;nqqu)*>) zWh#<685X$6FOvS9TARru3x8PPIR5oVBb}|_cji%6_^`kUnFRB6H@{QoOI>AGU3FE# zS*M*IJ^#WhE~}k?ab4ZCORu=_8*0eU=i{T7Tv&hp*Dk*N;`x_csPi#Jm)aN9%{%>q zuQFGI6deqH{zcT6xS;;Rd8gH1P(NsKzvb*ss+Dl*1y@};^@=Z)@>lW2P