Adding large folders

This commit is contained in:
2026-02-26 12:00:21 -05:00
parent 5400d82acd
commit 49701c85ad
47332 changed files with 1942573 additions and 0 deletions

View File

@@ -0,0 +1,629 @@
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Source of the Rust file `/home/newkirk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zstd-sys-2.0.16+zstd.1.5.7/src/bindings_zstd.rs`."><title>bindings_zstd.rs - source</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2"href="../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../../static.files/rustdoc-ca0dd0c4.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="zstd_sys" data-themes="" data-resource-suffix="" data-rustdoc-version="1.93.1 (01f6ddf75 2026-02-11) (Arch Linux rust 1:1.93.1-1)" data-channel="1.93.1" data-search-js="search-9e2438ea.js" data-stringdex-js="stringdex-a3946164.js" data-settings-js="settings-c38705f0.js" ><script src="../../static.files/storage-e2aeef58.js"></script><script defer src="../../static.files/src-script-813739b1.js"></script><script defer src="../../src-files.js"></script><script defer src="../../static.files/main-a410ff4d.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-263c88ec.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-eab170b8.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-044be391.svg"></head><body class="rustdoc src"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="src-sidebar-title"><h2>Files</h2></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><section id="main-content" class="content"><div class="main-heading"><h1><div class="sub-heading">zstd_sys/</div>bindings_zstd.rs</h1><rustdoc-toolbar></rustdoc-toolbar></div><div class="example-wrap digits-3"><pre class="rust"><code><a href=#1 id=1 data-nosnippet>1</a><span class="comment">/*
<a href=#2 id=2 data-nosnippet>2</a>This file is auto-generated from the public API of the zstd library.
<a href=#3 id=3 data-nosnippet>3</a>It is released under the same BSD license.
<a href=#4 id=4 data-nosnippet>4</a>
<a href=#5 id=5 data-nosnippet>5</a>BSD License
<a href=#6 id=6 data-nosnippet>6</a>
<a href=#7 id=7 data-nosnippet>7</a>For Zstandard software
<a href=#8 id=8 data-nosnippet>8</a>
<a href=#9 id=9 data-nosnippet>9</a>Copyright (c) Meta Platforms, Inc. and affiliates. All rights reserved.
<a href=#10 id=10 data-nosnippet>10</a>
<a href=#11 id=11 data-nosnippet>11</a>Redistribution and use in source and binary forms, with or without modification,
<a href=#12 id=12 data-nosnippet>12</a>are permitted provided that the following conditions are met:
<a href=#13 id=13 data-nosnippet>13</a>
<a href=#14 id=14 data-nosnippet>14</a> * Redistributions of source code must retain the above copyright notice, this
<a href=#15 id=15 data-nosnippet>15</a> list of conditions and the following disclaimer.
<a href=#16 id=16 data-nosnippet>16</a>
<a href=#17 id=17 data-nosnippet>17</a> * Redistributions in binary form must reproduce the above copyright notice,
<a href=#18 id=18 data-nosnippet>18</a> this list of conditions and the following disclaimer in the documentation
<a href=#19 id=19 data-nosnippet>19</a> and/or other materials provided with the distribution.
<a href=#20 id=20 data-nosnippet>20</a>
<a href=#21 id=21 data-nosnippet>21</a> * Neither the name Facebook, nor Meta, nor the names of its contributors may
<a href=#22 id=22 data-nosnippet>22</a> be used to endorse or promote products derived from this software without
<a href=#23 id=23 data-nosnippet>23</a> specific prior written permission.
<a href=#24 id=24 data-nosnippet>24</a>
<a href=#25 id=25 data-nosnippet>25</a>THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
<a href=#26 id=26 data-nosnippet>26</a>ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
<a href=#27 id=27 data-nosnippet>27</a>WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
<a href=#28 id=28 data-nosnippet>28</a>DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
<a href=#29 id=29 data-nosnippet>29</a>ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
<a href=#30 id=30 data-nosnippet>30</a>(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
<a href=#31 id=31 data-nosnippet>31</a>LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
<a href=#32 id=32 data-nosnippet>32</a>ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
<a href=#33 id=33 data-nosnippet>33</a>(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
<a href=#34 id=34 data-nosnippet>34</a>SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
<a href=#35 id=35 data-nosnippet>35</a>*/
<a href=#36 id=36 data-nosnippet>36</a>/* automatically generated by rust-bindgen 0.71.1 */
<a href=#37 id=37 data-nosnippet>37</a>
<a href=#38 id=38 data-nosnippet>38</a></span><span class="kw">pub const </span>ZSTD_VERSION_MAJOR: u32 = <span class="number">1</span>;
<a href=#39 id=39 data-nosnippet>39</a><span class="kw">pub const </span>ZSTD_VERSION_MINOR: u32 = <span class="number">5</span>;
<a href=#40 id=40 data-nosnippet>40</a><span class="kw">pub const </span>ZSTD_VERSION_RELEASE: u32 = <span class="number">7</span>;
<a href=#41 id=41 data-nosnippet>41</a><span class="kw">pub const </span>ZSTD_VERSION_NUMBER: u32 = <span class="number">10507</span>;
<a href=#42 id=42 data-nosnippet>42</a><span class="kw">pub const </span>ZSTD_CLEVEL_DEFAULT: u32 = <span class="number">3</span>;
<a href=#43 id=43 data-nosnippet>43</a><span class="kw">pub const </span>ZSTD_MAGICNUMBER: u32 = <span class="number">4247762216</span>;
<a href=#44 id=44 data-nosnippet>44</a><span class="kw">pub const </span>ZSTD_MAGIC_DICTIONARY: u32 = <span class="number">3962610743</span>;
<a href=#45 id=45 data-nosnippet>45</a><span class="kw">pub const </span>ZSTD_MAGIC_SKIPPABLE_START: u32 = <span class="number">407710288</span>;
<a href=#46 id=46 data-nosnippet>46</a><span class="kw">pub const </span>ZSTD_MAGIC_SKIPPABLE_MASK: u32 = <span class="number">4294967280</span>;
<a href=#47 id=47 data-nosnippet>47</a><span class="kw">pub const </span>ZSTD_BLOCKSIZELOG_MAX: u32 = <span class="number">17</span>;
<a href=#48 id=48 data-nosnippet>48</a><span class="kw">pub const </span>ZSTD_BLOCKSIZE_MAX: u32 = <span class="number">131072</span>;
<a href=#49 id=49 data-nosnippet>49</a><span class="kw">pub const </span>ZSTD_CONTENTSIZE_UNKNOWN: i32 = -<span class="number">1</span>;
<a href=#50 id=50 data-nosnippet>50</a><span class="kw">pub const </span>ZSTD_CONTENTSIZE_ERROR: i32 = -<span class="number">2</span>;
<a href=#51 id=51 data-nosnippet>51</a><span class="attr">#[repr(u32)]
<a href=#52 id=52 data-nosnippet>52</a>#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
<a href=#53 id=53 data-nosnippet>53</a></span><span class="kw">pub enum </span>ZSTD_ErrorCode {
<a href=#54 id=54 data-nosnippet>54</a> ZSTD_error_no_error = <span class="number">0</span>,
<a href=#55 id=55 data-nosnippet>55</a> ZSTD_error_GENERIC = <span class="number">1</span>,
<a href=#56 id=56 data-nosnippet>56</a> ZSTD_error_prefix_unknown = <span class="number">10</span>,
<a href=#57 id=57 data-nosnippet>57</a> ZSTD_error_version_unsupported = <span class="number">12</span>,
<a href=#58 id=58 data-nosnippet>58</a> ZSTD_error_frameParameter_unsupported = <span class="number">14</span>,
<a href=#59 id=59 data-nosnippet>59</a> ZSTD_error_frameParameter_windowTooLarge = <span class="number">16</span>,
<a href=#60 id=60 data-nosnippet>60</a> ZSTD_error_corruption_detected = <span class="number">20</span>,
<a href=#61 id=61 data-nosnippet>61</a> ZSTD_error_checksum_wrong = <span class="number">22</span>,
<a href=#62 id=62 data-nosnippet>62</a> ZSTD_error_literals_headerWrong = <span class="number">24</span>,
<a href=#63 id=63 data-nosnippet>63</a> ZSTD_error_dictionary_corrupted = <span class="number">30</span>,
<a href=#64 id=64 data-nosnippet>64</a> ZSTD_error_dictionary_wrong = <span class="number">32</span>,
<a href=#65 id=65 data-nosnippet>65</a> ZSTD_error_dictionaryCreation_failed = <span class="number">34</span>,
<a href=#66 id=66 data-nosnippet>66</a> ZSTD_error_parameter_unsupported = <span class="number">40</span>,
<a href=#67 id=67 data-nosnippet>67</a> ZSTD_error_parameter_combination_unsupported = <span class="number">41</span>,
<a href=#68 id=68 data-nosnippet>68</a> ZSTD_error_parameter_outOfBound = <span class="number">42</span>,
<a href=#69 id=69 data-nosnippet>69</a> ZSTD_error_tableLog_tooLarge = <span class="number">44</span>,
<a href=#70 id=70 data-nosnippet>70</a> ZSTD_error_maxSymbolValue_tooLarge = <span class="number">46</span>,
<a href=#71 id=71 data-nosnippet>71</a> ZSTD_error_maxSymbolValue_tooSmall = <span class="number">48</span>,
<a href=#72 id=72 data-nosnippet>72</a> ZSTD_error_cannotProduce_uncompressedBlock = <span class="number">49</span>,
<a href=#73 id=73 data-nosnippet>73</a> ZSTD_error_stabilityCondition_notRespected = <span class="number">50</span>,
<a href=#74 id=74 data-nosnippet>74</a> ZSTD_error_stage_wrong = <span class="number">60</span>,
<a href=#75 id=75 data-nosnippet>75</a> ZSTD_error_init_missing = <span class="number">62</span>,
<a href=#76 id=76 data-nosnippet>76</a> ZSTD_error_memory_allocation = <span class="number">64</span>,
<a href=#77 id=77 data-nosnippet>77</a> ZSTD_error_workSpace_tooSmall = <span class="number">66</span>,
<a href=#78 id=78 data-nosnippet>78</a> ZSTD_error_dstSize_tooSmall = <span class="number">70</span>,
<a href=#79 id=79 data-nosnippet>79</a> ZSTD_error_srcSize_wrong = <span class="number">72</span>,
<a href=#80 id=80 data-nosnippet>80</a> ZSTD_error_dstBuffer_null = <span class="number">74</span>,
<a href=#81 id=81 data-nosnippet>81</a> ZSTD_error_noForwardProgress_destFull = <span class="number">80</span>,
<a href=#82 id=82 data-nosnippet>82</a> ZSTD_error_noForwardProgress_inputEmpty = <span class="number">82</span>,
<a href=#83 id=83 data-nosnippet>83</a> ZSTD_error_frameIndex_tooLarge = <span class="number">100</span>,
<a href=#84 id=84 data-nosnippet>84</a> ZSTD_error_seekableIO = <span class="number">102</span>,
<a href=#85 id=85 data-nosnippet>85</a> ZSTD_error_dstBuffer_wrong = <span class="number">104</span>,
<a href=#86 id=86 data-nosnippet>86</a> ZSTD_error_srcBuffer_wrong = <span class="number">105</span>,
<a href=#87 id=87 data-nosnippet>87</a> ZSTD_error_sequenceProducer_failed = <span class="number">106</span>,
<a href=#88 id=88 data-nosnippet>88</a> ZSTD_error_externalSequences_invalid = <span class="number">107</span>,
<a href=#89 id=89 data-nosnippet>89</a> ZSTD_error_maxCode = <span class="number">120</span>,
<a href=#90 id=90 data-nosnippet>90</a>}
<a href=#91 id=91 data-nosnippet>91</a><span class="kw">extern </span><span class="string">"C" </span>{
<a href=#92 id=92 data-nosnippet>92</a> <span class="kw">pub fn </span>ZSTD_getErrorString(
<a href=#93 id=93 data-nosnippet>93</a> code: ZSTD_ErrorCode,
<a href=#94 id=94 data-nosnippet>94</a> ) -&gt; <span class="kw-2">*const </span>::core::ffi::c_char;
<a href=#95 id=95 data-nosnippet>95</a>}
<a href=#96 id=96 data-nosnippet>96</a><span class="kw">extern </span><span class="string">"C" </span>{
<a href=#97 id=97 data-nosnippet>97</a> <span class="attr">#[doc = <span class="string">" ZSTD_versionNumber() :\n Return runtime library version, the value is (MAJOR*100*100 + MINOR*100 + RELEASE)."</span>]
<a href=#98 id=98 data-nosnippet>98</a> </span><span class="kw">pub fn </span>ZSTD_versionNumber() -&gt; ::core::ffi::c_uint;
<a href=#99 id=99 data-nosnippet>99</a>}
<a href=#100 id=100 data-nosnippet>100</a><span class="kw">extern </span><span class="string">"C" </span>{
<a href=#101 id=101 data-nosnippet>101</a> <span class="attr">#[doc = <span class="string">" ZSTD_versionString() :\n Return runtime library version, like \"1.4.5\". Requires v1.3.0+."</span>]
<a href=#102 id=102 data-nosnippet>102</a> </span><span class="kw">pub fn </span>ZSTD_versionString() -&gt; <span class="kw-2">*const </span>::core::ffi::c_char;
<a href=#103 id=103 data-nosnippet>103</a>}
<a href=#104 id=104 data-nosnippet>104</a><span class="kw">extern </span><span class="string">"C" </span>{
<a href=#105 id=105 data-nosnippet>105</a> <span class="attr">#[doc = <span class="string">" Simple Core API\n/\n/*! ZSTD_compress() :\n Compresses `src` content as a single zstd compressed frame into already allocated `dst`.\n NOTE: Providing `dstCapacity &gt;= ZSTD_compressBound(srcSize)` guarantees that zstd will have\n enough space to successfully compress the data.\n @return : compressed size written into `dst` (&lt;= `dstCapacity),\n or an error code if it fails (which can be tested using ZSTD_isError())."</span>]
<a href=#106 id=106 data-nosnippet>106</a> </span><span class="kw">pub fn </span>ZSTD_compress(
<a href=#107 id=107 data-nosnippet>107</a> dst: <span class="kw-2">*mut </span>::core::ffi::c_void,
<a href=#108 id=108 data-nosnippet>108</a> dstCapacity: usize,
<a href=#109 id=109 data-nosnippet>109</a> src: <span class="kw-2">*const </span>::core::ffi::c_void,
<a href=#110 id=110 data-nosnippet>110</a> srcSize: usize,
<a href=#111 id=111 data-nosnippet>111</a> compressionLevel: ::core::ffi::c_int,
<a href=#112 id=112 data-nosnippet>112</a> ) -&gt; usize;
<a href=#113 id=113 data-nosnippet>113</a>}
<a href=#114 id=114 data-nosnippet>114</a><span class="kw">extern </span><span class="string">"C" </span>{
<a href=#115 id=115 data-nosnippet>115</a> <span class="attr">#[doc = <span class="string">" ZSTD_decompress() :\n `compressedSize` : must be the _exact_ size of some number of compressed and/or skippable frames.\n Multiple compressed frames can be decompressed at once with this method.\n The result will be the concatenation of all decompressed frames, back to back.\n `dstCapacity` is an upper bound of originalSize to regenerate.\n First frame's decompressed size can be extracted using ZSTD_getFrameContentSize().\n If maximum upper bound isn't known, prefer using streaming mode to decompress data.\n @return : the number of bytes decompressed into `dst` (&lt;= `dstCapacity`),\n or an errorCode if it fails (which can be tested using ZSTD_isError())."</span>]
<a href=#116 id=116 data-nosnippet>116</a> </span><span class="kw">pub fn </span>ZSTD_decompress(
<a href=#117 id=117 data-nosnippet>117</a> dst: <span class="kw-2">*mut </span>::core::ffi::c_void,
<a href=#118 id=118 data-nosnippet>118</a> dstCapacity: usize,
<a href=#119 id=119 data-nosnippet>119</a> src: <span class="kw-2">*const </span>::core::ffi::c_void,
<a href=#120 id=120 data-nosnippet>120</a> compressedSize: usize,
<a href=#121 id=121 data-nosnippet>121</a> ) -&gt; usize;
<a href=#122 id=122 data-nosnippet>122</a>}
<a href=#123 id=123 data-nosnippet>123</a><span class="kw">extern </span><span class="string">"C" </span>{
<a href=#124 id=124 data-nosnippet>124</a> <span class="kw">pub fn </span>ZSTD_getFrameContentSize(
<a href=#125 id=125 data-nosnippet>125</a> src: <span class="kw-2">*const </span>::core::ffi::c_void,
<a href=#126 id=126 data-nosnippet>126</a> srcSize: usize,
<a href=#127 id=127 data-nosnippet>127</a> ) -&gt; ::core::ffi::c_ulonglong;
<a href=#128 id=128 data-nosnippet>128</a>}
<a href=#129 id=129 data-nosnippet>129</a><span class="kw">extern </span><span class="string">"C" </span>{
<a href=#130 id=130 data-nosnippet>130</a> <span class="attr">#[doc = <span class="string">" ZSTD_getDecompressedSize() (obsolete):\n This function is now obsolete, in favor of ZSTD_getFrameContentSize().\n Both functions work the same way, but ZSTD_getDecompressedSize() blends\n \"empty\", \"unknown\" and \"error\" results to the same return value (0),\n while ZSTD_getFrameContentSize() gives them separate return values.\n @return : decompressed size of `src` frame content _if known and not empty_, 0 otherwise."</span>]
<a href=#131 id=131 data-nosnippet>131</a> </span><span class="kw">pub fn </span>ZSTD_getDecompressedSize(
<a href=#132 id=132 data-nosnippet>132</a> src: <span class="kw-2">*const </span>::core::ffi::c_void,
<a href=#133 id=133 data-nosnippet>133</a> srcSize: usize,
<a href=#134 id=134 data-nosnippet>134</a> ) -&gt; ::core::ffi::c_ulonglong;
<a href=#135 id=135 data-nosnippet>135</a>}
<a href=#136 id=136 data-nosnippet>136</a><span class="kw">extern </span><span class="string">"C" </span>{
<a href=#137 id=137 data-nosnippet>137</a> <span class="attr">#[doc = <span class="string">" ZSTD_findFrameCompressedSize() : Requires v1.4.0+\n `src` should point to the start of a ZSTD frame or skippable frame.\n `srcSize` must be &gt;= first frame size\n @return : the compressed size of the first frame starting at `src`,\n suitable to pass as `srcSize` to `ZSTD_decompress` or similar,\n or an error code if input is invalid\n Note 1: this method is called _find*() because it's not enough to read the header,\n it may have to scan through the frame's content, to reach its end.\n Note 2: this method also works with Skippable Frames. In which case,\n it returns the size of the complete skippable frame,\n which is always equal to its content size + 8 bytes for headers."</span>]
<a href=#138 id=138 data-nosnippet>138</a> </span><span class="kw">pub fn </span>ZSTD_findFrameCompressedSize(
<a href=#139 id=139 data-nosnippet>139</a> src: <span class="kw-2">*const </span>::core::ffi::c_void,
<a href=#140 id=140 data-nosnippet>140</a> srcSize: usize,
<a href=#141 id=141 data-nosnippet>141</a> ) -&gt; usize;
<a href=#142 id=142 data-nosnippet>142</a>}
<a href=#143 id=143 data-nosnippet>143</a><span class="kw">extern </span><span class="string">"C" </span>{
<a href=#144 id=144 data-nosnippet>144</a> <span class="kw">pub fn </span>ZSTD_compressBound(srcSize: usize) -&gt; usize;
<a href=#145 id=145 data-nosnippet>145</a>}
<a href=#146 id=146 data-nosnippet>146</a><span class="kw">extern </span><span class="string">"C" </span>{
<a href=#147 id=147 data-nosnippet>147</a> <span class="kw">pub fn </span>ZSTD_isError(result: usize) -&gt; ::core::ffi::c_uint;
<a href=#148 id=148 data-nosnippet>148</a>}
<a href=#149 id=149 data-nosnippet>149</a><span class="kw">extern </span><span class="string">"C" </span>{
<a href=#150 id=150 data-nosnippet>150</a> <span class="kw">pub fn </span>ZSTD_getErrorCode(functionResult: usize) -&gt; ZSTD_ErrorCode;
<a href=#151 id=151 data-nosnippet>151</a>}
<a href=#152 id=152 data-nosnippet>152</a><span class="kw">extern </span><span class="string">"C" </span>{
<a href=#153 id=153 data-nosnippet>153</a> <span class="kw">pub fn </span>ZSTD_getErrorName(result: usize) -&gt; <span class="kw-2">*const </span>::core::ffi::c_char;
<a href=#154 id=154 data-nosnippet>154</a>}
<a href=#155 id=155 data-nosnippet>155</a><span class="kw">extern </span><span class="string">"C" </span>{
<a href=#156 id=156 data-nosnippet>156</a> <span class="kw">pub fn </span>ZSTD_minCLevel() -&gt; ::core::ffi::c_int;
<a href=#157 id=157 data-nosnippet>157</a>}
<a href=#158 id=158 data-nosnippet>158</a><span class="kw">extern </span><span class="string">"C" </span>{
<a href=#159 id=159 data-nosnippet>159</a> <span class="kw">pub fn </span>ZSTD_maxCLevel() -&gt; ::core::ffi::c_int;
<a href=#160 id=160 data-nosnippet>160</a>}
<a href=#161 id=161 data-nosnippet>161</a><span class="kw">extern </span><span class="string">"C" </span>{
<a href=#162 id=162 data-nosnippet>162</a> <span class="kw">pub fn </span>ZSTD_defaultCLevel() -&gt; ::core::ffi::c_int;
<a href=#163 id=163 data-nosnippet>163</a>}
<a href=#164 id=164 data-nosnippet>164</a><span class="attr">#[repr(C)]
<a href=#165 id=165 data-nosnippet>165</a>#[derive(Debug, Copy, Clone)]
<a href=#166 id=166 data-nosnippet>166</a></span><span class="kw">pub struct </span>ZSTD_CCtx_s {
<a href=#167 id=167 data-nosnippet>167</a> _unused: [u8; <span class="number">0</span>],
<a href=#168 id=168 data-nosnippet>168</a>}
<a href=#169 id=169 data-nosnippet>169</a><span class="attr">#[doc = <span class="string">" Explicit context"</span>]
<a href=#170 id=170 data-nosnippet>170</a></span><span class="kw">pub type </span>ZSTD_CCtx = ZSTD_CCtx_s;
<a href=#171 id=171 data-nosnippet>171</a><span class="kw">extern </span><span class="string">"C" </span>{
<a href=#172 id=172 data-nosnippet>172</a> <span class="kw">pub fn </span>ZSTD_createCCtx() -&gt; <span class="kw-2">*mut </span>ZSTD_CCtx;
<a href=#173 id=173 data-nosnippet>173</a>}
<a href=#174 id=174 data-nosnippet>174</a><span class="kw">extern </span><span class="string">"C" </span>{
<a href=#175 id=175 data-nosnippet>175</a> <span class="kw">pub fn </span>ZSTD_freeCCtx(cctx: <span class="kw-2">*mut </span>ZSTD_CCtx) -&gt; usize;
<a href=#176 id=176 data-nosnippet>176</a>}
<a href=#177 id=177 data-nosnippet>177</a><span class="kw">extern </span><span class="string">"C" </span>{
<a href=#178 id=178 data-nosnippet>178</a> <span class="attr">#[doc = <span class="string">" ZSTD_compressCCtx() :\n Same as ZSTD_compress(), using an explicit ZSTD_CCtx.\n Important : in order to mirror `ZSTD_compress()` behavior,\n this function compresses at the requested compression level,\n __ignoring any other advanced parameter__ .\n If any advanced parameter was set using the advanced API,\n they will all be reset. Only @compressionLevel remains."</span>]
<a href=#179 id=179 data-nosnippet>179</a> </span><span class="kw">pub fn </span>ZSTD_compressCCtx(
<a href=#180 id=180 data-nosnippet>180</a> cctx: <span class="kw-2">*mut </span>ZSTD_CCtx,
<a href=#181 id=181 data-nosnippet>181</a> dst: <span class="kw-2">*mut </span>::core::ffi::c_void,
<a href=#182 id=182 data-nosnippet>182</a> dstCapacity: usize,
<a href=#183 id=183 data-nosnippet>183</a> src: <span class="kw-2">*const </span>::core::ffi::c_void,
<a href=#184 id=184 data-nosnippet>184</a> srcSize: usize,
<a href=#185 id=185 data-nosnippet>185</a> compressionLevel: ::core::ffi::c_int,
<a href=#186 id=186 data-nosnippet>186</a> ) -&gt; usize;
<a href=#187 id=187 data-nosnippet>187</a>}
<a href=#188 id=188 data-nosnippet>188</a><span class="attr">#[repr(C)]
<a href=#189 id=189 data-nosnippet>189</a>#[derive(Debug, Copy, Clone)]
<a href=#190 id=190 data-nosnippet>190</a></span><span class="kw">pub struct </span>ZSTD_DCtx_s {
<a href=#191 id=191 data-nosnippet>191</a> _unused: [u8; <span class="number">0</span>],
<a href=#192 id=192 data-nosnippet>192</a>}
<a href=#193 id=193 data-nosnippet>193</a><span class="kw">pub type </span>ZSTD_DCtx = ZSTD_DCtx_s;
<a href=#194 id=194 data-nosnippet>194</a><span class="kw">extern </span><span class="string">"C" </span>{
<a href=#195 id=195 data-nosnippet>195</a> <span class="kw">pub fn </span>ZSTD_createDCtx() -&gt; <span class="kw-2">*mut </span>ZSTD_DCtx;
<a href=#196 id=196 data-nosnippet>196</a>}
<a href=#197 id=197 data-nosnippet>197</a><span class="kw">extern </span><span class="string">"C" </span>{
<a href=#198 id=198 data-nosnippet>198</a> <span class="kw">pub fn </span>ZSTD_freeDCtx(dctx: <span class="kw-2">*mut </span>ZSTD_DCtx) -&gt; usize;
<a href=#199 id=199 data-nosnippet>199</a>}
<a href=#200 id=200 data-nosnippet>200</a><span class="kw">extern </span><span class="string">"C" </span>{
<a href=#201 id=201 data-nosnippet>201</a> <span class="attr">#[doc = <span class="string">" ZSTD_decompressDCtx() :\n Same as ZSTD_decompress(),\n requires an allocated ZSTD_DCtx.\n Compatible with sticky parameters (see below)."</span>]
<a href=#202 id=202 data-nosnippet>202</a> </span><span class="kw">pub fn </span>ZSTD_decompressDCtx(
<a href=#203 id=203 data-nosnippet>203</a> dctx: <span class="kw-2">*mut </span>ZSTD_DCtx,
<a href=#204 id=204 data-nosnippet>204</a> dst: <span class="kw-2">*mut </span>::core::ffi::c_void,
<a href=#205 id=205 data-nosnippet>205</a> dstCapacity: usize,
<a href=#206 id=206 data-nosnippet>206</a> src: <span class="kw-2">*const </span>::core::ffi::c_void,
<a href=#207 id=207 data-nosnippet>207</a> srcSize: usize,
<a href=#208 id=208 data-nosnippet>208</a> ) -&gt; usize;
<a href=#209 id=209 data-nosnippet>209</a>}
<a href=#210 id=210 data-nosnippet>210</a><span class="attr">#[repr(u32)]
<a href=#211 id=211 data-nosnippet>211</a>#[doc = <span class="string">" Advanced compression API (Requires v1.4.0+)"</span>]
<a href=#212 id=212 data-nosnippet>212</a>#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
<a href=#213 id=213 data-nosnippet>213</a></span><span class="kw">pub enum </span>ZSTD_strategy {
<a href=#214 id=214 data-nosnippet>214</a> ZSTD_fast = <span class="number">1</span>,
<a href=#215 id=215 data-nosnippet>215</a> ZSTD_dfast = <span class="number">2</span>,
<a href=#216 id=216 data-nosnippet>216</a> ZSTD_greedy = <span class="number">3</span>,
<a href=#217 id=217 data-nosnippet>217</a> ZSTD_lazy = <span class="number">4</span>,
<a href=#218 id=218 data-nosnippet>218</a> ZSTD_lazy2 = <span class="number">5</span>,
<a href=#219 id=219 data-nosnippet>219</a> ZSTD_btlazy2 = <span class="number">6</span>,
<a href=#220 id=220 data-nosnippet>220</a> ZSTD_btopt = <span class="number">7</span>,
<a href=#221 id=221 data-nosnippet>221</a> ZSTD_btultra = <span class="number">8</span>,
<a href=#222 id=222 data-nosnippet>222</a> ZSTD_btultra2 = <span class="number">9</span>,
<a href=#223 id=223 data-nosnippet>223</a>}
<a href=#224 id=224 data-nosnippet>224</a><span class="attr">#[repr(u32)]
<a href=#225 id=225 data-nosnippet>225</a>#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
<a href=#226 id=226 data-nosnippet>226</a></span><span class="kw">pub enum </span>ZSTD_cParameter {
<a href=#227 id=227 data-nosnippet>227</a> ZSTD_c_compressionLevel = <span class="number">100</span>,
<a href=#228 id=228 data-nosnippet>228</a> ZSTD_c_windowLog = <span class="number">101</span>,
<a href=#229 id=229 data-nosnippet>229</a> ZSTD_c_hashLog = <span class="number">102</span>,
<a href=#230 id=230 data-nosnippet>230</a> ZSTD_c_chainLog = <span class="number">103</span>,
<a href=#231 id=231 data-nosnippet>231</a> ZSTD_c_searchLog = <span class="number">104</span>,
<a href=#232 id=232 data-nosnippet>232</a> ZSTD_c_minMatch = <span class="number">105</span>,
<a href=#233 id=233 data-nosnippet>233</a> ZSTD_c_targetLength = <span class="number">106</span>,
<a href=#234 id=234 data-nosnippet>234</a> ZSTD_c_strategy = <span class="number">107</span>,
<a href=#235 id=235 data-nosnippet>235</a> ZSTD_c_targetCBlockSize = <span class="number">130</span>,
<a href=#236 id=236 data-nosnippet>236</a> ZSTD_c_enableLongDistanceMatching = <span class="number">160</span>,
<a href=#237 id=237 data-nosnippet>237</a> ZSTD_c_ldmHashLog = <span class="number">161</span>,
<a href=#238 id=238 data-nosnippet>238</a> ZSTD_c_ldmMinMatch = <span class="number">162</span>,
<a href=#239 id=239 data-nosnippet>239</a> ZSTD_c_ldmBucketSizeLog = <span class="number">163</span>,
<a href=#240 id=240 data-nosnippet>240</a> ZSTD_c_ldmHashRateLog = <span class="number">164</span>,
<a href=#241 id=241 data-nosnippet>241</a> ZSTD_c_contentSizeFlag = <span class="number">200</span>,
<a href=#242 id=242 data-nosnippet>242</a> ZSTD_c_checksumFlag = <span class="number">201</span>,
<a href=#243 id=243 data-nosnippet>243</a> ZSTD_c_dictIDFlag = <span class="number">202</span>,
<a href=#244 id=244 data-nosnippet>244</a> ZSTD_c_nbWorkers = <span class="number">400</span>,
<a href=#245 id=245 data-nosnippet>245</a> ZSTD_c_jobSize = <span class="number">401</span>,
<a href=#246 id=246 data-nosnippet>246</a> ZSTD_c_overlapLog = <span class="number">402</span>,
<a href=#247 id=247 data-nosnippet>247</a> ZSTD_c_experimentalParam1 = <span class="number">500</span>,
<a href=#248 id=248 data-nosnippet>248</a> ZSTD_c_experimentalParam2 = <span class="number">10</span>,
<a href=#249 id=249 data-nosnippet>249</a> ZSTD_c_experimentalParam3 = <span class="number">1000</span>,
<a href=#250 id=250 data-nosnippet>250</a> ZSTD_c_experimentalParam4 = <span class="number">1001</span>,
<a href=#251 id=251 data-nosnippet>251</a> ZSTD_c_experimentalParam5 = <span class="number">1002</span>,
<a href=#252 id=252 data-nosnippet>252</a> ZSTD_c_experimentalParam7 = <span class="number">1004</span>,
<a href=#253 id=253 data-nosnippet>253</a> ZSTD_c_experimentalParam8 = <span class="number">1005</span>,
<a href=#254 id=254 data-nosnippet>254</a> ZSTD_c_experimentalParam9 = <span class="number">1006</span>,
<a href=#255 id=255 data-nosnippet>255</a> ZSTD_c_experimentalParam10 = <span class="number">1007</span>,
<a href=#256 id=256 data-nosnippet>256</a> ZSTD_c_experimentalParam11 = <span class="number">1008</span>,
<a href=#257 id=257 data-nosnippet>257</a> ZSTD_c_experimentalParam12 = <span class="number">1009</span>,
<a href=#258 id=258 data-nosnippet>258</a> ZSTD_c_experimentalParam13 = <span class="number">1010</span>,
<a href=#259 id=259 data-nosnippet>259</a> ZSTD_c_experimentalParam14 = <span class="number">1011</span>,
<a href=#260 id=260 data-nosnippet>260</a> ZSTD_c_experimentalParam15 = <span class="number">1012</span>,
<a href=#261 id=261 data-nosnippet>261</a> ZSTD_c_experimentalParam16 = <span class="number">1013</span>,
<a href=#262 id=262 data-nosnippet>262</a> ZSTD_c_experimentalParam17 = <span class="number">1014</span>,
<a href=#263 id=263 data-nosnippet>263</a> ZSTD_c_experimentalParam18 = <span class="number">1015</span>,
<a href=#264 id=264 data-nosnippet>264</a> ZSTD_c_experimentalParam19 = <span class="number">1016</span>,
<a href=#265 id=265 data-nosnippet>265</a> ZSTD_c_experimentalParam20 = <span class="number">1017</span>,
<a href=#266 id=266 data-nosnippet>266</a>}
<a href=#267 id=267 data-nosnippet>267</a><span class="attr">#[repr(C)]
<a href=#268 id=268 data-nosnippet>268</a>#[derive(Debug, Copy, Clone)]
<a href=#269 id=269 data-nosnippet>269</a></span><span class="kw">pub struct </span>ZSTD_bounds {
<a href=#270 id=270 data-nosnippet>270</a> <span class="kw">pub </span>error: usize,
<a href=#271 id=271 data-nosnippet>271</a> <span class="kw">pub </span>lowerBound: ::core::ffi::c_int,
<a href=#272 id=272 data-nosnippet>272</a> <span class="kw">pub </span>upperBound: ::core::ffi::c_int,
<a href=#273 id=273 data-nosnippet>273</a>}
<a href=#274 id=274 data-nosnippet>274</a><span class="kw">extern </span><span class="string">"C" </span>{
<a href=#275 id=275 data-nosnippet>275</a> <span class="attr">#[doc = <span class="string">" ZSTD_cParam_getBounds() :\n All parameters must belong to an interval with lower and upper bounds,\n otherwise they will either trigger an error or be automatically clamped.\n @return : a structure, ZSTD_bounds, which contains\n - an error status field, which must be tested using ZSTD_isError()\n - lower and upper bounds, both inclusive"</span>]
<a href=#276 id=276 data-nosnippet>276</a> </span><span class="kw">pub fn </span>ZSTD_cParam_getBounds(cParam: ZSTD_cParameter) -&gt; ZSTD_bounds;
<a href=#277 id=277 data-nosnippet>277</a>}
<a href=#278 id=278 data-nosnippet>278</a><span class="kw">extern </span><span class="string">"C" </span>{
<a href=#279 id=279 data-nosnippet>279</a> <span class="attr">#[doc = <span class="string">" ZSTD_CCtx_setParameter() :\n Set one compression parameter, selected by enum ZSTD_cParameter.\n All parameters have valid bounds. Bounds can be queried using ZSTD_cParam_getBounds().\n Providing a value beyond bound will either clamp it, or trigger an error (depending on parameter).\n Setting a parameter is generally only possible during frame initialization (before starting compression).\n Exception : when using multi-threading mode (nbWorkers &gt;= 1),\n the following parameters can be updated _during_ compression (within same frame):\n =&gt; compressionLevel, hashLog, chainLog, searchLog, minMatch, targetLength and strategy.\n new parameters will be active for next job only (after a flush()).\n @return : an error code (which can be tested using ZSTD_isError())."</span>]
<a href=#280 id=280 data-nosnippet>280</a> </span><span class="kw">pub fn </span>ZSTD_CCtx_setParameter(
<a href=#281 id=281 data-nosnippet>281</a> cctx: <span class="kw-2">*mut </span>ZSTD_CCtx,
<a href=#282 id=282 data-nosnippet>282</a> param: ZSTD_cParameter,
<a href=#283 id=283 data-nosnippet>283</a> value: ::core::ffi::c_int,
<a href=#284 id=284 data-nosnippet>284</a> ) -&gt; usize;
<a href=#285 id=285 data-nosnippet>285</a>}
<a href=#286 id=286 data-nosnippet>286</a><span class="kw">extern </span><span class="string">"C" </span>{
<a href=#287 id=287 data-nosnippet>287</a> <span class="attr">#[doc = <span class="string">" ZSTD_CCtx_setPledgedSrcSize() :\n Total input data size to be compressed as a single frame.\n Value will be written in frame header, unless if explicitly forbidden using ZSTD_c_contentSizeFlag.\n This value will also be controlled at end of frame, and trigger an error if not respected.\n @result : 0, or an error code (which can be tested with ZSTD_isError()).\n Note 1 : pledgedSrcSize==0 actually means zero, aka an empty frame.\n In order to mean \"unknown content size\", pass constant ZSTD_CONTENTSIZE_UNKNOWN.\n ZSTD_CONTENTSIZE_UNKNOWN is default value for any new frame.\n Note 2 : pledgedSrcSize is only valid once, for the next frame.\n It's discarded at the end of the frame, and replaced by ZSTD_CONTENTSIZE_UNKNOWN.\n Note 3 : Whenever all input data is provided and consumed in a single round,\n for example with ZSTD_compress2(),\n or invoking immediately ZSTD_compressStream2(,,,ZSTD_e_end),\n this value is automatically overridden by srcSize instead."</span>]
<a href=#288 id=288 data-nosnippet>288</a> </span><span class="kw">pub fn </span>ZSTD_CCtx_setPledgedSrcSize(
<a href=#289 id=289 data-nosnippet>289</a> cctx: <span class="kw-2">*mut </span>ZSTD_CCtx,
<a href=#290 id=290 data-nosnippet>290</a> pledgedSrcSize: ::core::ffi::c_ulonglong,
<a href=#291 id=291 data-nosnippet>291</a> ) -&gt; usize;
<a href=#292 id=292 data-nosnippet>292</a>}
<a href=#293 id=293 data-nosnippet>293</a><span class="attr">#[repr(u32)]
<a href=#294 id=294 data-nosnippet>294</a>#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
<a href=#295 id=295 data-nosnippet>295</a></span><span class="kw">pub enum </span>ZSTD_ResetDirective {
<a href=#296 id=296 data-nosnippet>296</a> ZSTD_reset_session_only = <span class="number">1</span>,
<a href=#297 id=297 data-nosnippet>297</a> ZSTD_reset_parameters = <span class="number">2</span>,
<a href=#298 id=298 data-nosnippet>298</a> ZSTD_reset_session_and_parameters = <span class="number">3</span>,
<a href=#299 id=299 data-nosnippet>299</a>}
<a href=#300 id=300 data-nosnippet>300</a><span class="kw">extern </span><span class="string">"C" </span>{
<a href=#301 id=301 data-nosnippet>301</a> <span class="attr">#[doc = <span class="string">" ZSTD_CCtx_reset() :\n There are 2 different things that can be reset, independently or jointly :\n - The session : will stop compressing current frame, and make CCtx ready to start a new one.\n Useful after an error, or to interrupt any ongoing compression.\n Any internal data not yet flushed is cancelled.\n Compression parameters and dictionary remain unchanged.\n They will be used to compress next frame.\n Resetting session never fails.\n - The parameters : changes all parameters back to \"default\".\n This also removes any reference to any dictionary or external sequence producer.\n Parameters can only be changed between 2 sessions (i.e. no compression is currently ongoing)\n otherwise the reset fails, and function returns an error value (which can be tested using ZSTD_isError())\n - Both : similar to resetting the session, followed by resetting parameters."</span>]
<a href=#302 id=302 data-nosnippet>302</a> </span><span class="kw">pub fn </span>ZSTD_CCtx_reset(
<a href=#303 id=303 data-nosnippet>303</a> cctx: <span class="kw-2">*mut </span>ZSTD_CCtx,
<a href=#304 id=304 data-nosnippet>304</a> reset: ZSTD_ResetDirective,
<a href=#305 id=305 data-nosnippet>305</a> ) -&gt; usize;
<a href=#306 id=306 data-nosnippet>306</a>}
<a href=#307 id=307 data-nosnippet>307</a><span class="kw">extern </span><span class="string">"C" </span>{
<a href=#308 id=308 data-nosnippet>308</a> <span class="attr">#[doc = <span class="string">" ZSTD_compress2() :\n Behave the same as ZSTD_compressCCtx(), but compression parameters are set using the advanced API.\n (note that this entry point doesn't even expose a compression level parameter).\n ZSTD_compress2() always starts a new frame.\n Should cctx hold data from a previously unfinished frame, everything about it is forgotten.\n - Compression parameters are pushed into CCtx before starting compression, using ZSTD_CCtx_set*()\n - The function is always blocking, returns when compression is completed.\n NOTE: Providing `dstCapacity &gt;= ZSTD_compressBound(srcSize)` guarantees that zstd will have\n enough space to successfully compress the data, though it is possible it fails for other reasons.\n @return : compressed size written into `dst` (&lt;= `dstCapacity),\n or an error code if it fails (which can be tested using ZSTD_isError())."</span>]
<a href=#309 id=309 data-nosnippet>309</a> </span><span class="kw">pub fn </span>ZSTD_compress2(
<a href=#310 id=310 data-nosnippet>310</a> cctx: <span class="kw-2">*mut </span>ZSTD_CCtx,
<a href=#311 id=311 data-nosnippet>311</a> dst: <span class="kw-2">*mut </span>::core::ffi::c_void,
<a href=#312 id=312 data-nosnippet>312</a> dstCapacity: usize,
<a href=#313 id=313 data-nosnippet>313</a> src: <span class="kw-2">*const </span>::core::ffi::c_void,
<a href=#314 id=314 data-nosnippet>314</a> srcSize: usize,
<a href=#315 id=315 data-nosnippet>315</a> ) -&gt; usize;
<a href=#316 id=316 data-nosnippet>316</a>}
<a href=#317 id=317 data-nosnippet>317</a><span class="attr">#[repr(u32)]
<a href=#318 id=318 data-nosnippet>318</a>#[doc = <span class="string">" Advanced decompression API (Requires v1.4.0+)"</span>]
<a href=#319 id=319 data-nosnippet>319</a>#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
<a href=#320 id=320 data-nosnippet>320</a></span><span class="kw">pub enum </span>ZSTD_dParameter {
<a href=#321 id=321 data-nosnippet>321</a> ZSTD_d_windowLogMax = <span class="number">100</span>,
<a href=#322 id=322 data-nosnippet>322</a> ZSTD_d_experimentalParam1 = <span class="number">1000</span>,
<a href=#323 id=323 data-nosnippet>323</a> ZSTD_d_experimentalParam2 = <span class="number">1001</span>,
<a href=#324 id=324 data-nosnippet>324</a> ZSTD_d_experimentalParam3 = <span class="number">1002</span>,
<a href=#325 id=325 data-nosnippet>325</a> ZSTD_d_experimentalParam4 = <span class="number">1003</span>,
<a href=#326 id=326 data-nosnippet>326</a> ZSTD_d_experimentalParam5 = <span class="number">1004</span>,
<a href=#327 id=327 data-nosnippet>327</a> ZSTD_d_experimentalParam6 = <span class="number">1005</span>,
<a href=#328 id=328 data-nosnippet>328</a>}
<a href=#329 id=329 data-nosnippet>329</a><span class="kw">extern </span><span class="string">"C" </span>{
<a href=#330 id=330 data-nosnippet>330</a> <span class="attr">#[doc = <span class="string">" ZSTD_dParam_getBounds() :\n All parameters must belong to an interval with lower and upper bounds,\n otherwise they will either trigger an error or be automatically clamped.\n @return : a structure, ZSTD_bounds, which contains\n - an error status field, which must be tested using ZSTD_isError()\n - both lower and upper bounds, inclusive"</span>]
<a href=#331 id=331 data-nosnippet>331</a> </span><span class="kw">pub fn </span>ZSTD_dParam_getBounds(dParam: ZSTD_dParameter) -&gt; ZSTD_bounds;
<a href=#332 id=332 data-nosnippet>332</a>}
<a href=#333 id=333 data-nosnippet>333</a><span class="kw">extern </span><span class="string">"C" </span>{
<a href=#334 id=334 data-nosnippet>334</a> <span class="attr">#[doc = <span class="string">" ZSTD_DCtx_setParameter() :\n Set one compression parameter, selected by enum ZSTD_dParameter.\n All parameters have valid bounds. Bounds can be queried using ZSTD_dParam_getBounds().\n Providing a value beyond bound will either clamp it, or trigger an error (depending on parameter).\n Setting a parameter is only possible during frame initialization (before starting decompression).\n @return : 0, or an error code (which can be tested using ZSTD_isError())."</span>]
<a href=#335 id=335 data-nosnippet>335</a> </span><span class="kw">pub fn </span>ZSTD_DCtx_setParameter(
<a href=#336 id=336 data-nosnippet>336</a> dctx: <span class="kw-2">*mut </span>ZSTD_DCtx,
<a href=#337 id=337 data-nosnippet>337</a> param: ZSTD_dParameter,
<a href=#338 id=338 data-nosnippet>338</a> value: ::core::ffi::c_int,
<a href=#339 id=339 data-nosnippet>339</a> ) -&gt; usize;
<a href=#340 id=340 data-nosnippet>340</a>}
<a href=#341 id=341 data-nosnippet>341</a><span class="kw">extern </span><span class="string">"C" </span>{
<a href=#342 id=342 data-nosnippet>342</a> <span class="attr">#[doc = <span class="string">" ZSTD_DCtx_reset() :\n Return a DCtx to clean state.\n Session and parameters can be reset jointly or separately.\n Parameters can only be reset when no active frame is being decompressed.\n @return : 0, or an error code, which can be tested with ZSTD_isError()"</span>]
<a href=#343 id=343 data-nosnippet>343</a> </span><span class="kw">pub fn </span>ZSTD_DCtx_reset(
<a href=#344 id=344 data-nosnippet>344</a> dctx: <span class="kw-2">*mut </span>ZSTD_DCtx,
<a href=#345 id=345 data-nosnippet>345</a> reset: ZSTD_ResetDirective,
<a href=#346 id=346 data-nosnippet>346</a> ) -&gt; usize;
<a href=#347 id=347 data-nosnippet>347</a>}
<a href=#348 id=348 data-nosnippet>348</a><span class="attr">#[doc = <span class="string">" Streaming"</span>]
<a href=#349 id=349 data-nosnippet>349</a>#[repr(C)]
<a href=#350 id=350 data-nosnippet>350</a>#[derive(Debug, Copy, Clone)]
<a href=#351 id=351 data-nosnippet>351</a></span><span class="kw">pub struct </span>ZSTD_inBuffer_s {
<a href=#352 id=352 data-nosnippet>352</a> <span class="attr">#[doc = <span class="string">"&lt; start of input buffer"</span>]
<a href=#353 id=353 data-nosnippet>353</a> </span><span class="kw">pub </span>src: <span class="kw-2">*const </span>::core::ffi::c_void,
<a href=#354 id=354 data-nosnippet>354</a> <span class="attr">#[doc = <span class="string">"&lt; size of input buffer"</span>]
<a href=#355 id=355 data-nosnippet>355</a> </span><span class="kw">pub </span>size: usize,
<a href=#356 id=356 data-nosnippet>356</a> <span class="attr">#[doc = <span class="string">"&lt; position where reading stopped. Will be updated. Necessarily 0 &lt;= pos &lt;= size"</span>]
<a href=#357 id=357 data-nosnippet>357</a> </span><span class="kw">pub </span>pos: usize,
<a href=#358 id=358 data-nosnippet>358</a>}
<a href=#359 id=359 data-nosnippet>359</a><span class="attr">#[doc = <span class="string">" Streaming"</span>]
<a href=#360 id=360 data-nosnippet>360</a></span><span class="kw">pub type </span>ZSTD_inBuffer = ZSTD_inBuffer_s;
<a href=#361 id=361 data-nosnippet>361</a><span class="attr">#[repr(C)]
<a href=#362 id=362 data-nosnippet>362</a>#[derive(Debug, Copy, Clone)]
<a href=#363 id=363 data-nosnippet>363</a></span><span class="kw">pub struct </span>ZSTD_outBuffer_s {
<a href=#364 id=364 data-nosnippet>364</a> <span class="attr">#[doc = <span class="string">"&lt; start of output buffer"</span>]
<a href=#365 id=365 data-nosnippet>365</a> </span><span class="kw">pub </span>dst: <span class="kw-2">*mut </span>::core::ffi::c_void,
<a href=#366 id=366 data-nosnippet>366</a> <span class="attr">#[doc = <span class="string">"&lt; size of output buffer"</span>]
<a href=#367 id=367 data-nosnippet>367</a> </span><span class="kw">pub </span>size: usize,
<a href=#368 id=368 data-nosnippet>368</a> <span class="attr">#[doc = <span class="string">"&lt; position where writing stopped. Will be updated. Necessarily 0 &lt;= pos &lt;= size"</span>]
<a href=#369 id=369 data-nosnippet>369</a> </span><span class="kw">pub </span>pos: usize,
<a href=#370 id=370 data-nosnippet>370</a>}
<a href=#371 id=371 data-nosnippet>371</a><span class="kw">pub type </span>ZSTD_outBuffer = ZSTD_outBuffer_s;
<a href=#372 id=372 data-nosnippet>372</a><span class="kw">pub type </span>ZSTD_CStream = ZSTD_CCtx;
<a href=#373 id=373 data-nosnippet>373</a><span class="kw">extern </span><span class="string">"C" </span>{
<a href=#374 id=374 data-nosnippet>374</a> <span class="kw">pub fn </span>ZSTD_createCStream() -&gt; <span class="kw-2">*mut </span>ZSTD_CStream;
<a href=#375 id=375 data-nosnippet>375</a>}
<a href=#376 id=376 data-nosnippet>376</a><span class="kw">extern </span><span class="string">"C" </span>{
<a href=#377 id=377 data-nosnippet>377</a> <span class="kw">pub fn </span>ZSTD_freeCStream(zcs: <span class="kw-2">*mut </span>ZSTD_CStream) -&gt; usize;
<a href=#378 id=378 data-nosnippet>378</a>}
<a href=#379 id=379 data-nosnippet>379</a><span class="attr">#[repr(u32)]
<a href=#380 id=380 data-nosnippet>380</a>#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
<a href=#381 id=381 data-nosnippet>381</a></span><span class="kw">pub enum </span>ZSTD_EndDirective {
<a href=#382 id=382 data-nosnippet>382</a> ZSTD_e_continue = <span class="number">0</span>,
<a href=#383 id=383 data-nosnippet>383</a> ZSTD_e_flush = <span class="number">1</span>,
<a href=#384 id=384 data-nosnippet>384</a> ZSTD_e_end = <span class="number">2</span>,
<a href=#385 id=385 data-nosnippet>385</a>}
<a href=#386 id=386 data-nosnippet>386</a><span class="kw">extern </span><span class="string">"C" </span>{
<a href=#387 id=387 data-nosnippet>387</a> <span class="attr">#[doc = <span class="string">" ZSTD_compressStream2() : Requires v1.4.0+\n Behaves about the same as ZSTD_compressStream, with additional control on end directive.\n - Compression parameters are pushed into CCtx before starting compression, using ZSTD_CCtx_set*()\n - Compression parameters cannot be changed once compression is started (save a list of exceptions in multi-threading mode)\n - output-&gt;pos must be &lt;= dstCapacity, input-&gt;pos must be &lt;= srcSize\n - output-&gt;pos and input-&gt;pos will be updated. They are guaranteed to remain below their respective limit.\n - endOp must be a valid directive\n - When nbWorkers==0 (default), function is blocking : it completes its job before returning to caller.\n - When nbWorkers&gt;=1, function is non-blocking : it copies a portion of input, distributes jobs to internal worker threads, flush to output whatever is available,\n and then immediately returns, just indicating that there is some data remaining to be flushed.\n The function nonetheless guarantees forward progress : it will return only after it reads or write at least 1+ byte.\n - 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.\n - @return provides a minimum amount of data remaining to be flushed from internal buffers\n or an error code, which can be tested using ZSTD_isError().\n if @return != 0, flush is not fully completed, there is still some data left within internal buffers.\n This is useful for ZSTD_e_flush, since in this case more flushes are necessary to empty all buffers.\n For ZSTD_e_end, @return == 0 when internal buffers are fully flushed and frame is completed.\n - after a ZSTD_e_end directive, if internal buffer is not fully flushed (@return != 0),\n only ZSTD_e_end or ZSTD_e_flush operations are allowed.\n Before starting a new compression job, or changing compression parameters,\n it is required to fully flush internal buffers.\n - note: if an operation ends with an error, it may leave @cctx in an undefined state.\n Therefore, it's UB to invoke ZSTD_compressStream2() of ZSTD_compressStream() on such a state.\n In order to be re-employed after an error, a state must be reset,\n which can be done explicitly (ZSTD_CCtx_reset()),\n or is sometimes implied by methods starting a new compression job (ZSTD_initCStream(), ZSTD_compressCCtx())"</span>]
<a href=#388 id=388 data-nosnippet>388</a> </span><span class="kw">pub fn </span>ZSTD_compressStream2(
<a href=#389 id=389 data-nosnippet>389</a> cctx: <span class="kw-2">*mut </span>ZSTD_CCtx,
<a href=#390 id=390 data-nosnippet>390</a> output: <span class="kw-2">*mut </span>ZSTD_outBuffer,
<a href=#391 id=391 data-nosnippet>391</a> input: <span class="kw-2">*mut </span>ZSTD_inBuffer,
<a href=#392 id=392 data-nosnippet>392</a> endOp: ZSTD_EndDirective,
<a href=#393 id=393 data-nosnippet>393</a> ) -&gt; usize;
<a href=#394 id=394 data-nosnippet>394</a>}
<a href=#395 id=395 data-nosnippet>395</a><span class="kw">extern </span><span class="string">"C" </span>{
<a href=#396 id=396 data-nosnippet>396</a> <span class="kw">pub fn </span>ZSTD_CStreamInSize() -&gt; usize;
<a href=#397 id=397 data-nosnippet>397</a>}
<a href=#398 id=398 data-nosnippet>398</a><span class="kw">extern </span><span class="string">"C" </span>{
<a href=#399 id=399 data-nosnippet>399</a> <span class="kw">pub fn </span>ZSTD_CStreamOutSize() -&gt; usize;
<a href=#400 id=400 data-nosnippet>400</a>}
<a href=#401 id=401 data-nosnippet>401</a><span class="kw">extern </span><span class="string">"C" </span>{
<a href=#402 id=402 data-nosnippet>402</a> <span class="attr">#[doc = <span class="string">" Equivalent to:\n\n ZSTD_CCtx_reset(zcs, ZSTD_reset_session_only);\n ZSTD_CCtx_refCDict(zcs, NULL); // clear the dictionary (if any)\n ZSTD_CCtx_setParameter(zcs, ZSTD_c_compressionLevel, compressionLevel);\n\n Note that ZSTD_initCStream() clears any previously set dictionary. Use the new API\n to compress with a dictionary."</span>]
<a href=#403 id=403 data-nosnippet>403</a> </span><span class="kw">pub fn </span>ZSTD_initCStream(
<a href=#404 id=404 data-nosnippet>404</a> zcs: <span class="kw-2">*mut </span>ZSTD_CStream,
<a href=#405 id=405 data-nosnippet>405</a> compressionLevel: ::core::ffi::c_int,
<a href=#406 id=406 data-nosnippet>406</a> ) -&gt; usize;
<a href=#407 id=407 data-nosnippet>407</a>}
<a href=#408 id=408 data-nosnippet>408</a><span class="kw">extern </span><span class="string">"C" </span>{
<a href=#409 id=409 data-nosnippet>409</a> <span class="attr">#[doc = <span class="string">" Alternative for ZSTD_compressStream2(zcs, output, input, ZSTD_e_continue).\n NOTE: The return value is different. ZSTD_compressStream() returns a hint for\n the next read size (if non-zero and not an error). ZSTD_compressStream2()\n returns the minimum nb of bytes left to flush (if non-zero and not an error)."</span>]
<a href=#410 id=410 data-nosnippet>410</a> </span><span class="kw">pub fn </span>ZSTD_compressStream(
<a href=#411 id=411 data-nosnippet>411</a> zcs: <span class="kw-2">*mut </span>ZSTD_CStream,
<a href=#412 id=412 data-nosnippet>412</a> output: <span class="kw-2">*mut </span>ZSTD_outBuffer,
<a href=#413 id=413 data-nosnippet>413</a> input: <span class="kw-2">*mut </span>ZSTD_inBuffer,
<a href=#414 id=414 data-nosnippet>414</a> ) -&gt; usize;
<a href=#415 id=415 data-nosnippet>415</a>}
<a href=#416 id=416 data-nosnippet>416</a><span class="kw">extern </span><span class="string">"C" </span>{
<a href=#417 id=417 data-nosnippet>417</a> <span class="attr">#[doc = <span class="string">" Equivalent to ZSTD_compressStream2(zcs, output, &amp;emptyInput, ZSTD_e_flush)."</span>]
<a href=#418 id=418 data-nosnippet>418</a> </span><span class="kw">pub fn </span>ZSTD_flushStream(
<a href=#419 id=419 data-nosnippet>419</a> zcs: <span class="kw-2">*mut </span>ZSTD_CStream,
<a href=#420 id=420 data-nosnippet>420</a> output: <span class="kw-2">*mut </span>ZSTD_outBuffer,
<a href=#421 id=421 data-nosnippet>421</a> ) -&gt; usize;
<a href=#422 id=422 data-nosnippet>422</a>}
<a href=#423 id=423 data-nosnippet>423</a><span class="kw">extern </span><span class="string">"C" </span>{
<a href=#424 id=424 data-nosnippet>424</a> <span class="attr">#[doc = <span class="string">" Equivalent to ZSTD_compressStream2(zcs, output, &amp;emptyInput, ZSTD_e_end)."</span>]
<a href=#425 id=425 data-nosnippet>425</a> </span><span class="kw">pub fn </span>ZSTD_endStream(
<a href=#426 id=426 data-nosnippet>426</a> zcs: <span class="kw-2">*mut </span>ZSTD_CStream,
<a href=#427 id=427 data-nosnippet>427</a> output: <span class="kw-2">*mut </span>ZSTD_outBuffer,
<a href=#428 id=428 data-nosnippet>428</a> ) -&gt; usize;
<a href=#429 id=429 data-nosnippet>429</a>}
<a href=#430 id=430 data-nosnippet>430</a><span class="kw">pub type </span>ZSTD_DStream = ZSTD_DCtx;
<a href=#431 id=431 data-nosnippet>431</a><span class="kw">extern </span><span class="string">"C" </span>{
<a href=#432 id=432 data-nosnippet>432</a> <span class="kw">pub fn </span>ZSTD_createDStream() -&gt; <span class="kw-2">*mut </span>ZSTD_DStream;
<a href=#433 id=433 data-nosnippet>433</a>}
<a href=#434 id=434 data-nosnippet>434</a><span class="kw">extern </span><span class="string">"C" </span>{
<a href=#435 id=435 data-nosnippet>435</a> <span class="kw">pub fn </span>ZSTD_freeDStream(zds: <span class="kw-2">*mut </span>ZSTD_DStream) -&gt; usize;
<a href=#436 id=436 data-nosnippet>436</a>}
<a href=#437 id=437 data-nosnippet>437</a><span class="kw">extern </span><span class="string">"C" </span>{
<a href=#438 id=438 data-nosnippet>438</a> <span class="attr">#[doc = <span class="string">" ZSTD_initDStream() :\n Initialize/reset DStream state for new decompression operation.\n Call before new decompression operation using same DStream.\n\n Note : This function is redundant with the advanced API and equivalent to:\n ZSTD_DCtx_reset(zds, ZSTD_reset_session_only);\n ZSTD_DCtx_refDDict(zds, NULL);"</span>]
<a href=#439 id=439 data-nosnippet>439</a> </span><span class="kw">pub fn </span>ZSTD_initDStream(zds: <span class="kw-2">*mut </span>ZSTD_DStream) -&gt; usize;
<a href=#440 id=440 data-nosnippet>440</a>}
<a href=#441 id=441 data-nosnippet>441</a><span class="kw">extern </span><span class="string">"C" </span>{
<a href=#442 id=442 data-nosnippet>442</a> <span class="attr">#[doc = <span class="string">" ZSTD_decompressStream() :\n Streaming decompression function.\n Call repetitively to consume full input updating it as necessary.\n Function will update both input and output `pos` fields exposing current state via these fields:\n - `input.pos &lt; input.size`, some input remaining and caller should provide remaining input\n on the next call.\n - `output.pos &lt; output.size`, decoder flushed internal output buffer.\n - `output.pos == output.size`, unflushed data potentially present in the internal buffers,\n check ZSTD_decompressStream() @return value,\n if &gt; 0, invoke it again to flush remaining data to output.\n Note : with no additional input, amount of data flushed &lt;= ZSTD_BLOCKSIZE_MAX.\n\n @return : 0 when a frame is completely decoded and fully flushed,\n or an error code, which can be tested using ZSTD_isError(),\n or any other value &gt; 0, which means there is some decoding or flushing to do to complete current frame.\n\n Note: when an operation returns with an error code, the @zds state may be left in undefined state.\n It's UB to invoke `ZSTD_decompressStream()` on such a state.\n In order to re-use such a state, it must be first reset,\n which can be done explicitly (`ZSTD_DCtx_reset()`),\n or is implied for operations starting some new decompression job (`ZSTD_initDStream`, `ZSTD_decompressDCtx()`, `ZSTD_decompress_usingDict()`)"</span>]
<a href=#443 id=443 data-nosnippet>443</a> </span><span class="kw">pub fn </span>ZSTD_decompressStream(
<a href=#444 id=444 data-nosnippet>444</a> zds: <span class="kw-2">*mut </span>ZSTD_DStream,
<a href=#445 id=445 data-nosnippet>445</a> output: <span class="kw-2">*mut </span>ZSTD_outBuffer,
<a href=#446 id=446 data-nosnippet>446</a> input: <span class="kw-2">*mut </span>ZSTD_inBuffer,
<a href=#447 id=447 data-nosnippet>447</a> ) -&gt; usize;
<a href=#448 id=448 data-nosnippet>448</a>}
<a href=#449 id=449 data-nosnippet>449</a><span class="kw">extern </span><span class="string">"C" </span>{
<a href=#450 id=450 data-nosnippet>450</a> <span class="kw">pub fn </span>ZSTD_DStreamInSize() -&gt; usize;
<a href=#451 id=451 data-nosnippet>451</a>}
<a href=#452 id=452 data-nosnippet>452</a><span class="kw">extern </span><span class="string">"C" </span>{
<a href=#453 id=453 data-nosnippet>453</a> <span class="kw">pub fn </span>ZSTD_DStreamOutSize() -&gt; usize;
<a href=#454 id=454 data-nosnippet>454</a>}
<a href=#455 id=455 data-nosnippet>455</a><span class="kw">extern </span><span class="string">"C" </span>{
<a href=#456 id=456 data-nosnippet>456</a> <span class="attr">#[doc = <span class="string">" Simple dictionary API\n/\n/*! ZSTD_compress_usingDict() :\n Compression at an explicit compression level using a Dictionary.\n A dictionary can be any arbitrary data segment (also called a prefix),\n or a buffer with specified information (see zdict.h).\n Note : This function loads the dictionary, resulting in significant startup delay.\n It's intended for a dictionary used only once.\n Note 2 : When `dict == NULL || dictSize &lt; 8` no dictionary is used."</span>]
<a href=#457 id=457 data-nosnippet>457</a> </span><span class="kw">pub fn </span>ZSTD_compress_usingDict(
<a href=#458 id=458 data-nosnippet>458</a> ctx: <span class="kw-2">*mut </span>ZSTD_CCtx,
<a href=#459 id=459 data-nosnippet>459</a> dst: <span class="kw-2">*mut </span>::core::ffi::c_void,
<a href=#460 id=460 data-nosnippet>460</a> dstCapacity: usize,
<a href=#461 id=461 data-nosnippet>461</a> src: <span class="kw-2">*const </span>::core::ffi::c_void,
<a href=#462 id=462 data-nosnippet>462</a> srcSize: usize,
<a href=#463 id=463 data-nosnippet>463</a> dict: <span class="kw-2">*const </span>::core::ffi::c_void,
<a href=#464 id=464 data-nosnippet>464</a> dictSize: usize,
<a href=#465 id=465 data-nosnippet>465</a> compressionLevel: ::core::ffi::c_int,
<a href=#466 id=466 data-nosnippet>466</a> ) -&gt; usize;
<a href=#467 id=467 data-nosnippet>467</a>}
<a href=#468 id=468 data-nosnippet>468</a><span class="kw">extern </span><span class="string">"C" </span>{
<a href=#469 id=469 data-nosnippet>469</a> <span class="attr">#[doc = <span class="string">" ZSTD_decompress_usingDict() :\n Decompression using a known Dictionary.\n Dictionary must be identical to the one used during compression.\n Note : This function loads the dictionary, resulting in significant startup delay.\n It's intended for a dictionary used only once.\n Note : When `dict == NULL || dictSize &lt; 8` no dictionary is used."</span>]
<a href=#470 id=470 data-nosnippet>470</a> </span><span class="kw">pub fn </span>ZSTD_decompress_usingDict(
<a href=#471 id=471 data-nosnippet>471</a> dctx: <span class="kw-2">*mut </span>ZSTD_DCtx,
<a href=#472 id=472 data-nosnippet>472</a> dst: <span class="kw-2">*mut </span>::core::ffi::c_void,
<a href=#473 id=473 data-nosnippet>473</a> dstCapacity: usize,
<a href=#474 id=474 data-nosnippet>474</a> src: <span class="kw-2">*const </span>::core::ffi::c_void,
<a href=#475 id=475 data-nosnippet>475</a> srcSize: usize,
<a href=#476 id=476 data-nosnippet>476</a> dict: <span class="kw-2">*const </span>::core::ffi::c_void,
<a href=#477 id=477 data-nosnippet>477</a> dictSize: usize,
<a href=#478 id=478 data-nosnippet>478</a> ) -&gt; usize;
<a href=#479 id=479 data-nosnippet>479</a>}
<a href=#480 id=480 data-nosnippet>480</a><span class="attr">#[repr(C)]
<a href=#481 id=481 data-nosnippet>481</a>#[derive(Debug, Copy, Clone)]
<a href=#482 id=482 data-nosnippet>482</a></span><span class="kw">pub struct </span>ZSTD_CDict_s {
<a href=#483 id=483 data-nosnippet>483</a> _unused: [u8; <span class="number">0</span>],
<a href=#484 id=484 data-nosnippet>484</a>}
<a href=#485 id=485 data-nosnippet>485</a><span class="attr">#[doc = <span class="string">" Bulk processing dictionary API"</span>]
<a href=#486 id=486 data-nosnippet>486</a></span><span class="kw">pub type </span>ZSTD_CDict = ZSTD_CDict_s;
<a href=#487 id=487 data-nosnippet>487</a><span class="kw">extern </span><span class="string">"C" </span>{
<a href=#488 id=488 data-nosnippet>488</a> <span class="attr">#[doc = <span class="string">" ZSTD_createCDict() :\n When compressing multiple messages or blocks using the same dictionary,\n it's recommended to digest the dictionary only once, since it's a costly operation.\n ZSTD_createCDict() will create a state from digesting a dictionary.\n The resulting state can be used for future compression operations with very limited startup cost.\n ZSTD_CDict can be created once and shared by multiple threads concurrently, since its usage is read-only.\n @dictBuffer can be released after ZSTD_CDict creation, because its content is copied within CDict.\n Note 1 : Consider experimental function `ZSTD_createCDict_byReference()` if you prefer to not duplicate @dictBuffer content.\n Note 2 : A ZSTD_CDict can be created from an empty @dictBuffer,\n in which case the only thing that it transports is the @compressionLevel.\n This can be useful in a pipeline featuring ZSTD_compress_usingCDict() exclusively,\n expecting a ZSTD_CDict parameter with any data, including those without a known dictionary."</span>]
<a href=#489 id=489 data-nosnippet>489</a> </span><span class="kw">pub fn </span>ZSTD_createCDict(
<a href=#490 id=490 data-nosnippet>490</a> dictBuffer: <span class="kw-2">*const </span>::core::ffi::c_void,
<a href=#491 id=491 data-nosnippet>491</a> dictSize: usize,
<a href=#492 id=492 data-nosnippet>492</a> compressionLevel: ::core::ffi::c_int,
<a href=#493 id=493 data-nosnippet>493</a> ) -&gt; <span class="kw-2">*mut </span>ZSTD_CDict;
<a href=#494 id=494 data-nosnippet>494</a>}
<a href=#495 id=495 data-nosnippet>495</a><span class="kw">extern </span><span class="string">"C" </span>{
<a href=#496 id=496 data-nosnippet>496</a> <span class="attr">#[doc = <span class="string">" ZSTD_freeCDict() :\n Function frees memory allocated by ZSTD_createCDict().\n If a NULL pointer is passed, no operation is performed."</span>]
<a href=#497 id=497 data-nosnippet>497</a> </span><span class="kw">pub fn </span>ZSTD_freeCDict(CDict: <span class="kw-2">*mut </span>ZSTD_CDict) -&gt; usize;
<a href=#498 id=498 data-nosnippet>498</a>}
<a href=#499 id=499 data-nosnippet>499</a><span class="kw">extern </span><span class="string">"C" </span>{
<a href=#500 id=500 data-nosnippet>500</a> <span class="attr">#[doc = <span class="string">" ZSTD_compress_usingCDict() :\n Compression using a digested Dictionary.\n Recommended when same dictionary is used multiple times.\n Note : compression level is _decided at dictionary creation time_,\n and frame parameters are hardcoded (dictID=yes, contentSize=yes, checksum=no)"</span>]
<a href=#501 id=501 data-nosnippet>501</a> </span><span class="kw">pub fn </span>ZSTD_compress_usingCDict(
<a href=#502 id=502 data-nosnippet>502</a> cctx: <span class="kw-2">*mut </span>ZSTD_CCtx,
<a href=#503 id=503 data-nosnippet>503</a> dst: <span class="kw-2">*mut </span>::core::ffi::c_void,
<a href=#504 id=504 data-nosnippet>504</a> dstCapacity: usize,
<a href=#505 id=505 data-nosnippet>505</a> src: <span class="kw-2">*const </span>::core::ffi::c_void,
<a href=#506 id=506 data-nosnippet>506</a> srcSize: usize,
<a href=#507 id=507 data-nosnippet>507</a> cdict: <span class="kw-2">*const </span>ZSTD_CDict,
<a href=#508 id=508 data-nosnippet>508</a> ) -&gt; usize;
<a href=#509 id=509 data-nosnippet>509</a>}
<a href=#510 id=510 data-nosnippet>510</a><span class="attr">#[repr(C)]
<a href=#511 id=511 data-nosnippet>511</a>#[derive(Debug, Copy, Clone)]
<a href=#512 id=512 data-nosnippet>512</a></span><span class="kw">pub struct </span>ZSTD_DDict_s {
<a href=#513 id=513 data-nosnippet>513</a> _unused: [u8; <span class="number">0</span>],
<a href=#514 id=514 data-nosnippet>514</a>}
<a href=#515 id=515 data-nosnippet>515</a><span class="kw">pub type </span>ZSTD_DDict = ZSTD_DDict_s;
<a href=#516 id=516 data-nosnippet>516</a><span class="kw">extern </span><span class="string">"C" </span>{
<a href=#517 id=517 data-nosnippet>517</a> <span class="attr">#[doc = <span class="string">" ZSTD_createDDict() :\n Create a digested dictionary, ready to start decompression operation without startup delay.\n dictBuffer can be released after DDict creation, as its content is copied inside DDict."</span>]
<a href=#518 id=518 data-nosnippet>518</a> </span><span class="kw">pub fn </span>ZSTD_createDDict(
<a href=#519 id=519 data-nosnippet>519</a> dictBuffer: <span class="kw-2">*const </span>::core::ffi::c_void,
<a href=#520 id=520 data-nosnippet>520</a> dictSize: usize,
<a href=#521 id=521 data-nosnippet>521</a> ) -&gt; <span class="kw-2">*mut </span>ZSTD_DDict;
<a href=#522 id=522 data-nosnippet>522</a>}
<a href=#523 id=523 data-nosnippet>523</a><span class="kw">extern </span><span class="string">"C" </span>{
<a href=#524 id=524 data-nosnippet>524</a> <span class="attr">#[doc = <span class="string">" ZSTD_freeDDict() :\n Function frees memory allocated with ZSTD_createDDict()\n If a NULL pointer is passed, no operation is performed."</span>]
<a href=#525 id=525 data-nosnippet>525</a> </span><span class="kw">pub fn </span>ZSTD_freeDDict(ddict: <span class="kw-2">*mut </span>ZSTD_DDict) -&gt; usize;
<a href=#526 id=526 data-nosnippet>526</a>}
<a href=#527 id=527 data-nosnippet>527</a><span class="kw">extern </span><span class="string">"C" </span>{
<a href=#528 id=528 data-nosnippet>528</a> <span class="attr">#[doc = <span class="string">" ZSTD_decompress_usingDDict() :\n Decompression using a digested Dictionary.\n Recommended when same dictionary is used multiple times."</span>]
<a href=#529 id=529 data-nosnippet>529</a> </span><span class="kw">pub fn </span>ZSTD_decompress_usingDDict(
<a href=#530 id=530 data-nosnippet>530</a> dctx: <span class="kw-2">*mut </span>ZSTD_DCtx,
<a href=#531 id=531 data-nosnippet>531</a> dst: <span class="kw-2">*mut </span>::core::ffi::c_void,
<a href=#532 id=532 data-nosnippet>532</a> dstCapacity: usize,
<a href=#533 id=533 data-nosnippet>533</a> src: <span class="kw-2">*const </span>::core::ffi::c_void,
<a href=#534 id=534 data-nosnippet>534</a> srcSize: usize,
<a href=#535 id=535 data-nosnippet>535</a> ddict: <span class="kw-2">*const </span>ZSTD_DDict,
<a href=#536 id=536 data-nosnippet>536</a> ) -&gt; usize;
<a href=#537 id=537 data-nosnippet>537</a>}
<a href=#538 id=538 data-nosnippet>538</a><span class="kw">extern </span><span class="string">"C" </span>{
<a href=#539 id=539 data-nosnippet>539</a> <span class="attr">#[doc = <span class="string">" ZSTD_getDictID_fromDict() : Requires v1.4.0+\n Provides the dictID stored within dictionary.\n if @return == 0, the dictionary is not conformant with Zstandard specification.\n It can still be loaded, but as a content-only dictionary."</span>]
<a href=#540 id=540 data-nosnippet>540</a> </span><span class="kw">pub fn </span>ZSTD_getDictID_fromDict(
<a href=#541 id=541 data-nosnippet>541</a> dict: <span class="kw-2">*const </span>::core::ffi::c_void,
<a href=#542 id=542 data-nosnippet>542</a> dictSize: usize,
<a href=#543 id=543 data-nosnippet>543</a> ) -&gt; ::core::ffi::c_uint;
<a href=#544 id=544 data-nosnippet>544</a>}
<a href=#545 id=545 data-nosnippet>545</a><span class="kw">extern </span><span class="string">"C" </span>{
<a href=#546 id=546 data-nosnippet>546</a> <span class="attr">#[doc = <span class="string">" ZSTD_getDictID_fromCDict() : Requires v1.5.0+\n Provides the dictID of the dictionary loaded into `cdict`.\n If @return == 0, the dictionary is not conformant to Zstandard specification, or empty.\n Non-conformant dictionaries can still be loaded, but as content-only dictionaries."</span>]
<a href=#547 id=547 data-nosnippet>547</a> </span><span class="kw">pub fn </span>ZSTD_getDictID_fromCDict(
<a href=#548 id=548 data-nosnippet>548</a> cdict: <span class="kw-2">*const </span>ZSTD_CDict,
<a href=#549 id=549 data-nosnippet>549</a> ) -&gt; ::core::ffi::c_uint;
<a href=#550 id=550 data-nosnippet>550</a>}
<a href=#551 id=551 data-nosnippet>551</a><span class="kw">extern </span><span class="string">"C" </span>{
<a href=#552 id=552 data-nosnippet>552</a> <span class="attr">#[doc = <span class="string">" ZSTD_getDictID_fromDDict() : Requires v1.4.0+\n Provides the dictID of the dictionary loaded into `ddict`.\n If @return == 0, the dictionary is not conformant to Zstandard specification, or empty.\n Non-conformant dictionaries can still be loaded, but as content-only dictionaries."</span>]
<a href=#553 id=553 data-nosnippet>553</a> </span><span class="kw">pub fn </span>ZSTD_getDictID_fromDDict(
<a href=#554 id=554 data-nosnippet>554</a> ddict: <span class="kw-2">*const </span>ZSTD_DDict,
<a href=#555 id=555 data-nosnippet>555</a> ) -&gt; ::core::ffi::c_uint;
<a href=#556 id=556 data-nosnippet>556</a>}
<a href=#557 id=557 data-nosnippet>557</a><span class="kw">extern </span><span class="string">"C" </span>{
<a href=#558 id=558 data-nosnippet>558</a> <span class="attr">#[doc = <span class="string">" ZSTD_getDictID_fromFrame() : Requires v1.4.0+\n Provides the dictID required to decompressed the frame stored within `src`.\n If @return == 0, the dictID could not be decoded.\n This could for one of the following reasons :\n - The frame does not require a dictionary to be decoded (most common case).\n - The frame was built with dictID intentionally removed. Whatever dictionary is necessary is a hidden piece of information.\n Note : this use case also happens when using a non-conformant dictionary.\n - `srcSize` is too small, and as a result, the frame header could not be decoded (only possible if `srcSize &lt; ZSTD_FRAMEHEADERSIZE_MAX`).\n - This is not a Zstandard frame.\n When identifying the exact failure cause, it's possible to use ZSTD_getFrameHeader(), which will provide a more precise error code."</span>]
<a href=#559 id=559 data-nosnippet>559</a> </span><span class="kw">pub fn </span>ZSTD_getDictID_fromFrame(
<a href=#560 id=560 data-nosnippet>560</a> src: <span class="kw-2">*const </span>::core::ffi::c_void,
<a href=#561 id=561 data-nosnippet>561</a> srcSize: usize,
<a href=#562 id=562 data-nosnippet>562</a> ) -&gt; ::core::ffi::c_uint;
<a href=#563 id=563 data-nosnippet>563</a>}
<a href=#564 id=564 data-nosnippet>564</a><span class="kw">extern </span><span class="string">"C" </span>{
<a href=#565 id=565 data-nosnippet>565</a> <span class="attr">#[doc = <span class="string">" ZSTD_CCtx_loadDictionary() : Requires v1.4.0+\n Create an internal CDict from `dict` buffer.\n Decompression will have to use same dictionary.\n @result : 0, or an error code (which can be tested with ZSTD_isError()).\n Special: Loading a NULL (or 0-size) dictionary invalidates previous dictionary,\n meaning \"return to no-dictionary mode\".\n Note 1 : Dictionary is sticky, it will be used for all future compressed frames,\n until parameters are reset, a new dictionary is loaded, or the dictionary\n is explicitly invalidated by loading a NULL dictionary.\n Note 2 : Loading a dictionary involves building tables.\n It's also a CPU consuming operation, with non-negligible impact on latency.\n Tables are dependent on compression parameters, and for this reason,\n compression parameters can no longer be changed after loading a dictionary.\n Note 3 :`dict` content will be copied internally.\n Use experimental ZSTD_CCtx_loadDictionary_byReference() to reference content instead.\n In such a case, dictionary buffer must outlive its users.\n Note 4 : Use ZSTD_CCtx_loadDictionary_advanced()\n to precisely select how dictionary content must be interpreted.\n Note 5 : This method does not benefit from LDM (long distance mode).\n If you want to employ LDM on some large dictionary content,\n prefer employing ZSTD_CCtx_refPrefix() described below."</span>]
<a href=#566 id=566 data-nosnippet>566</a> </span><span class="kw">pub fn </span>ZSTD_CCtx_loadDictionary(
<a href=#567 id=567 data-nosnippet>567</a> cctx: <span class="kw-2">*mut </span>ZSTD_CCtx,
<a href=#568 id=568 data-nosnippet>568</a> dict: <span class="kw-2">*const </span>::core::ffi::c_void,
<a href=#569 id=569 data-nosnippet>569</a> dictSize: usize,
<a href=#570 id=570 data-nosnippet>570</a> ) -&gt; usize;
<a href=#571 id=571 data-nosnippet>571</a>}
<a href=#572 id=572 data-nosnippet>572</a><span class="kw">extern </span><span class="string">"C" </span>{
<a href=#573 id=573 data-nosnippet>573</a> <span class="attr">#[doc = <span class="string">" ZSTD_CCtx_refCDict() : Requires v1.4.0+\n Reference a prepared dictionary, to be used for all future compressed frames.\n Note that compression parameters are enforced from within CDict,\n and supersede any compression parameter previously set within CCtx.\n The parameters ignored are labelled as \"superseded-by-cdict\" in the ZSTD_cParameter enum docs.\n The ignored parameters will be used again if the CCtx is returned to no-dictionary mode.\n The dictionary will remain valid for future compressed frames using same CCtx.\n @result : 0, or an error code (which can be tested with ZSTD_isError()).\n Special : Referencing a NULL CDict means \"return to no-dictionary mode\".\n Note 1 : Currently, only one dictionary can be managed.\n Referencing a new dictionary effectively \"discards\" any previous one.\n Note 2 : CDict is just referenced, its lifetime must outlive its usage within CCtx."</span>]
<a href=#574 id=574 data-nosnippet>574</a> </span><span class="kw">pub fn </span>ZSTD_CCtx_refCDict(
<a href=#575 id=575 data-nosnippet>575</a> cctx: <span class="kw-2">*mut </span>ZSTD_CCtx,
<a href=#576 id=576 data-nosnippet>576</a> cdict: <span class="kw-2">*const </span>ZSTD_CDict,
<a href=#577 id=577 data-nosnippet>577</a> ) -&gt; usize;
<a href=#578 id=578 data-nosnippet>578</a>}
<a href=#579 id=579 data-nosnippet>579</a><span class="kw">extern </span><span class="string">"C" </span>{
<a href=#580 id=580 data-nosnippet>580</a> <span class="attr">#[doc = <span class="string">" ZSTD_CCtx_refPrefix() : Requires v1.4.0+\n Reference a prefix (single-usage dictionary) for next compressed frame.\n A prefix is **only used once**. Tables are discarded at end of frame (ZSTD_e_end).\n Decompression will need same prefix to properly regenerate data.\n Compressing with a prefix is similar in outcome as performing a diff and compressing it,\n but performs much faster, especially during decompression (compression speed is tunable with compression level).\n This method is compatible with LDM (long distance mode).\n @result : 0, or an error code (which can be tested with ZSTD_isError()).\n Special: Adding any prefix (including NULL) invalidates any previous prefix or dictionary\n Note 1 : Prefix buffer is referenced. It **must** outlive compression.\n Its content must remain unmodified during compression.\n Note 2 : If the intention is to diff some large src data blob with some prior version of itself,\n ensure that the window size is large enough to contain the entire source.\n See ZSTD_c_windowLog.\n Note 3 : Referencing a prefix involves building tables, which are dependent on compression parameters.\n It's a CPU consuming operation, with non-negligible impact on latency.\n If there is a need to use the same prefix multiple times, consider loadDictionary instead.\n Note 4 : By default, the prefix is interpreted as raw content (ZSTD_dct_rawContent).\n Use experimental ZSTD_CCtx_refPrefix_advanced() to alter dictionary interpretation."</span>]
<a href=#581 id=581 data-nosnippet>581</a> </span><span class="kw">pub fn </span>ZSTD_CCtx_refPrefix(
<a href=#582 id=582 data-nosnippet>582</a> cctx: <span class="kw-2">*mut </span>ZSTD_CCtx,
<a href=#583 id=583 data-nosnippet>583</a> prefix: <span class="kw-2">*const </span>::core::ffi::c_void,
<a href=#584 id=584 data-nosnippet>584</a> prefixSize: usize,
<a href=#585 id=585 data-nosnippet>585</a> ) -&gt; usize;
<a href=#586 id=586 data-nosnippet>586</a>}
<a href=#587 id=587 data-nosnippet>587</a><span class="kw">extern </span><span class="string">"C" </span>{
<a href=#588 id=588 data-nosnippet>588</a> <span class="attr">#[doc = <span class="string">" ZSTD_DCtx_loadDictionary() : Requires v1.4.0+\n Create an internal DDict from dict buffer, to be used to decompress all future frames.\n The dictionary remains valid for all future frames, until explicitly invalidated, or\n a new dictionary is loaded.\n @result : 0, or an error code (which can be tested with ZSTD_isError()).\n Special : Adding a NULL (or 0-size) dictionary invalidates any previous dictionary,\n meaning \"return to no-dictionary mode\".\n Note 1 : Loading a dictionary involves building tables,\n which has a non-negligible impact on CPU usage and latency.\n It's recommended to \"load once, use many times\", to amortize the cost\n Note 2 :`dict` content will be copied internally, so `dict` can be released after loading.\n Use ZSTD_DCtx_loadDictionary_byReference() to reference dictionary content instead.\n Note 3 : Use ZSTD_DCtx_loadDictionary_advanced() to take control of\n how dictionary content is loaded and interpreted."</span>]
<a href=#589 id=589 data-nosnippet>589</a> </span><span class="kw">pub fn </span>ZSTD_DCtx_loadDictionary(
<a href=#590 id=590 data-nosnippet>590</a> dctx: <span class="kw-2">*mut </span>ZSTD_DCtx,
<a href=#591 id=591 data-nosnippet>591</a> dict: <span class="kw-2">*const </span>::core::ffi::c_void,
<a href=#592 id=592 data-nosnippet>592</a> dictSize: usize,
<a href=#593 id=593 data-nosnippet>593</a> ) -&gt; usize;
<a href=#594 id=594 data-nosnippet>594</a>}
<a href=#595 id=595 data-nosnippet>595</a><span class="kw">extern </span><span class="string">"C" </span>{
<a href=#596 id=596 data-nosnippet>596</a> <span class="attr">#[doc = <span class="string">" ZSTD_DCtx_refDDict() : Requires v1.4.0+\n Reference a prepared dictionary, to be used to decompress next frames.\n The dictionary remains active for decompression of future frames using same DCtx.\n\n If called with ZSTD_d_refMultipleDDicts enabled, repeated calls of this function\n will store the DDict references in a table, and the DDict used for decompression\n will be determined at decompression time, as per the dict ID in the frame.\n The memory for the table is allocated on the first call to refDDict, and can be\n freed with ZSTD_freeDCtx().\n\n If called with ZSTD_d_refMultipleDDicts disabled (the default), only one dictionary\n will be managed, and referencing a dictionary effectively \"discards\" any previous one.\n\n @result : 0, or an error code (which can be tested with ZSTD_isError()).\n Special: referencing a NULL DDict means \"return to no-dictionary mode\".\n Note 2 : DDict is just referenced, its lifetime must outlive its usage from DCtx."</span>]
<a href=#597 id=597 data-nosnippet>597</a> </span><span class="kw">pub fn </span>ZSTD_DCtx_refDDict(
<a href=#598 id=598 data-nosnippet>598</a> dctx: <span class="kw-2">*mut </span>ZSTD_DCtx,
<a href=#599 id=599 data-nosnippet>599</a> ddict: <span class="kw-2">*const </span>ZSTD_DDict,
<a href=#600 id=600 data-nosnippet>600</a> ) -&gt; usize;
<a href=#601 id=601 data-nosnippet>601</a>}
<a href=#602 id=602 data-nosnippet>602</a><span class="kw">extern </span><span class="string">"C" </span>{
<a href=#603 id=603 data-nosnippet>603</a> <span class="attr">#[doc = <span class="string">" ZSTD_DCtx_refPrefix() : Requires v1.4.0+\n Reference a prefix (single-usage dictionary) to decompress next frame.\n This is the reverse operation of ZSTD_CCtx_refPrefix(),\n and must use the same prefix as the one used during compression.\n Prefix is **only used once**. Reference is discarded at end of frame.\n End of frame is reached when ZSTD_decompressStream() returns 0.\n @result : 0, or an error code (which can be tested with ZSTD_isError()).\n Note 1 : Adding any prefix (including NULL) invalidates any previously set prefix or dictionary\n Note 2 : Prefix buffer is referenced. It **must** outlive decompression.\n Prefix buffer must remain unmodified up to the end of frame,\n reached when ZSTD_decompressStream() returns 0.\n Note 3 : By default, the prefix is treated as raw content (ZSTD_dct_rawContent).\n Use ZSTD_CCtx_refPrefix_advanced() to alter dictMode (Experimental section)\n Note 4 : Referencing a raw content prefix has almost no cpu nor memory cost.\n A full dictionary is more costly, as it requires building tables."</span>]
<a href=#604 id=604 data-nosnippet>604</a> </span><span class="kw">pub fn </span>ZSTD_DCtx_refPrefix(
<a href=#605 id=605 data-nosnippet>605</a> dctx: <span class="kw-2">*mut </span>ZSTD_DCtx,
<a href=#606 id=606 data-nosnippet>606</a> prefix: <span class="kw-2">*const </span>::core::ffi::c_void,
<a href=#607 id=607 data-nosnippet>607</a> prefixSize: usize,
<a href=#608 id=608 data-nosnippet>608</a> ) -&gt; usize;
<a href=#609 id=609 data-nosnippet>609</a>}
<a href=#610 id=610 data-nosnippet>610</a><span class="kw">extern </span><span class="string">"C" </span>{
<a href=#611 id=611 data-nosnippet>611</a> <span class="attr">#[doc = <span class="string">" ZSTD_sizeof_*() : Requires v1.4.0+\n These functions give the _current_ memory usage of selected object.\n Note that object memory usage can evolve (increase or decrease) over time."</span>]
<a href=#612 id=612 data-nosnippet>612</a> </span><span class="kw">pub fn </span>ZSTD_sizeof_CCtx(cctx: <span class="kw-2">*const </span>ZSTD_CCtx) -&gt; usize;
<a href=#613 id=613 data-nosnippet>613</a>}
<a href=#614 id=614 data-nosnippet>614</a><span class="kw">extern </span><span class="string">"C" </span>{
<a href=#615 id=615 data-nosnippet>615</a> <span class="kw">pub fn </span>ZSTD_sizeof_DCtx(dctx: <span class="kw-2">*const </span>ZSTD_DCtx) -&gt; usize;
<a href=#616 id=616 data-nosnippet>616</a>}
<a href=#617 id=617 data-nosnippet>617</a><span class="kw">extern </span><span class="string">"C" </span>{
<a href=#618 id=618 data-nosnippet>618</a> <span class="kw">pub fn </span>ZSTD_sizeof_CStream(zcs: <span class="kw-2">*const </span>ZSTD_CStream) -&gt; usize;
<a href=#619 id=619 data-nosnippet>619</a>}
<a href=#620 id=620 data-nosnippet>620</a><span class="kw">extern </span><span class="string">"C" </span>{
<a href=#621 id=621 data-nosnippet>621</a> <span class="kw">pub fn </span>ZSTD_sizeof_DStream(zds: <span class="kw-2">*const </span>ZSTD_DStream) -&gt; usize;
<a href=#622 id=622 data-nosnippet>622</a>}
<a href=#623 id=623 data-nosnippet>623</a><span class="kw">extern </span><span class="string">"C" </span>{
<a href=#624 id=624 data-nosnippet>624</a> <span class="kw">pub fn </span>ZSTD_sizeof_CDict(cdict: <span class="kw-2">*const </span>ZSTD_CDict) -&gt; usize;
<a href=#625 id=625 data-nosnippet>625</a>}
<a href=#626 id=626 data-nosnippet>626</a><span class="kw">extern </span><span class="string">"C" </span>{
<a href=#627 id=627 data-nosnippet>627</a> <span class="kw">pub fn </span>ZSTD_sizeof_DDict(ddict: <span class="kw-2">*const </span>ZSTD_DDict) -&gt; usize;
<a href=#628 id=628 data-nosnippet>628</a>}
</code></pre></div></section></main></body></html>

View File

@@ -0,0 +1,42 @@
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Source of the Rust file `/home/newkirk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zstd-sys-2.0.16+zstd.1.5.7/src/lib.rs`."><title>lib.rs - source</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2"href="../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../../static.files/rustdoc-ca0dd0c4.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="zstd_sys" data-themes="" data-resource-suffix="" data-rustdoc-version="1.93.1 (01f6ddf75 2026-02-11) (Arch Linux rust 1:1.93.1-1)" data-channel="1.93.1" data-search-js="search-9e2438ea.js" data-stringdex-js="stringdex-a3946164.js" data-settings-js="settings-c38705f0.js" ><script src="../../static.files/storage-e2aeef58.js"></script><script defer src="../../static.files/src-script-813739b1.js"></script><script defer src="../../src-files.js"></script><script defer src="../../static.files/main-a410ff4d.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-263c88ec.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-eab170b8.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-044be391.svg"></head><body class="rustdoc src"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="src-sidebar-title"><h2>Files</h2></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><section id="main-content" class="content"><div class="main-heading"><h1><div class="sub-heading">zstd_sys/</div>lib.rs</h1><rustdoc-toolbar></rustdoc-toolbar></div><div class="example-wrap digits-2"><pre class="rust"><code><a href=#1 id=1 data-nosnippet>1</a><span class="attr">#![allow(non_upper_case_globals)]
<a href=#2 id=2 data-nosnippet>2</a>#![allow(non_camel_case_types)]
<a href=#3 id=3 data-nosnippet>3</a>#![allow(non_snake_case)]
<a href=#4 id=4 data-nosnippet>4</a>#![no_std]
<a href=#5 id=5 data-nosnippet>5</a></span><span class="doccomment">//! Low-level bindings to the [zstd] library.
<a href=#6 id=6 data-nosnippet>6</a>//!
<a href=#7 id=7 data-nosnippet>7</a>//! [zstd]: https://facebook.github.io/zstd/
<a href=#8 id=8 data-nosnippet>8</a>
<a href=#9 id=9 data-nosnippet>9</a></span><span class="attr">#[cfg(target_arch = <span class="string">"wasm32"</span>)]
<a href=#10 id=10 data-nosnippet>10</a></span><span class="kw">extern crate </span>alloc;
<a href=#11 id=11 data-nosnippet>11</a>
<a href=#12 id=12 data-nosnippet>12</a><span class="attr">#[cfg(target_arch = <span class="string">"wasm32"</span>)]
<a href=#13 id=13 data-nosnippet>13</a></span><span class="kw">mod </span>wasm_shim;
<a href=#14 id=14 data-nosnippet>14</a>
<a href=#15 id=15 data-nosnippet>15</a><span class="comment">// If running bindgen, we'll end up with the correct bindings anyway.
<a href=#16 id=16 data-nosnippet>16</a></span><span class="attr">#[cfg(feature = <span class="string">"bindgen"</span>)]
<a href=#17 id=17 data-nosnippet>17</a></span><span class="macro">include!</span>(<span class="macro">concat!</span>(<span class="macro">env!</span>(<span class="string">"OUT_DIR"</span>), <span class="string">"/bindings.rs"</span>));
<a href=#18 id=18 data-nosnippet>18</a>
<a href=#19 id=19 data-nosnippet>19</a><span class="comment">// The bindings used depend on a few feature flags.
<a href=#20 id=20 data-nosnippet>20</a></span><span class="attr">#[cfg(all(not(feature = <span class="string">"experimental"</span>), not(feature = <span class="string">"bindgen"</span>)))]
<a href=#21 id=21 data-nosnippet>21</a></span><span class="macro">include!</span>(<span class="string">"bindings_zstd.rs"</span>);
<a href=#22 id=22 data-nosnippet>22</a>
<a href=#23 id=23 data-nosnippet>23</a><span class="attr">#[cfg(all(
<a href=#24 id=24 data-nosnippet>24</a> not(feature = <span class="string">"experimental"</span>),
<a href=#25 id=25 data-nosnippet>25</a> feature = <span class="string">"zdict_builder"</span>,
<a href=#26 id=26 data-nosnippet>26</a> not(feature = <span class="string">"bindgen"</span>)
<a href=#27 id=27 data-nosnippet>27</a>))]
<a href=#28 id=28 data-nosnippet>28</a></span><span class="macro">include!</span>(<span class="string">"bindings_zdict.rs"</span>);
<a href=#29 id=29 data-nosnippet>29</a>
<a href=#30 id=30 data-nosnippet>30</a><span class="attr">#[cfg(all(feature = <span class="string">"experimental"</span>, not(feature = <span class="string">"bindgen"</span>)))]
<a href=#31 id=31 data-nosnippet>31</a></span><span class="macro">include!</span>(<span class="string">"bindings_zstd_experimental.rs"</span>);
<a href=#32 id=32 data-nosnippet>32</a>
<a href=#33 id=33 data-nosnippet>33</a><span class="attr">#[cfg(all(
<a href=#34 id=34 data-nosnippet>34</a> feature = <span class="string">"experimental"</span>,
<a href=#35 id=35 data-nosnippet>35</a> feature = <span class="string">"zdict_builder"</span>,
<a href=#36 id=36 data-nosnippet>36</a> not(feature = <span class="string">"bindgen"</span>)
<a href=#37 id=37 data-nosnippet>37</a>))]
<a href=#38 id=38 data-nosnippet>38</a></span><span class="macro">include!</span>(<span class="string">"bindings_zdict_experimental.rs"</span>);
<a href=#39 id=39 data-nosnippet>39</a>
<a href=#40 id=40 data-nosnippet>40</a><span class="attr">#[cfg(all(feature = <span class="string">"seekable"</span>, not(feature = <span class="string">"bindgen"</span>)))]
<a href=#41 id=41 data-nosnippet>41</a></span><span class="macro">include!</span>(<span class="string">"bindings_zstd_seekable.rs"</span>);
</code></pre></div></section></main></body></html>