<ahref="curl_8h.html">Go to the documentation of this file.</a><divclass="fragment"><divclass="line"><aname="l00001"></a><spanclass="lineno"> 1</span> <spanclass="preprocessor">#ifndef __CURL_CURL_H</span></div>
<divclass="line"><aname="l00012"></a><spanclass="lineno"> 12</span> <spanclass="comment"> * This software is licensed as described in the file COPYING, which</span></div>
<divclass="line"><aname="l00013"></a><spanclass="lineno"> 13</span> <spanclass="comment"> * you should have received as part of this distribution. The terms</span></div>
<divclass="line"><aname="l00014"></a><spanclass="lineno"> 14</span> <spanclass="comment"> * are also available at http://curl.haxx.se/docs/copyright.html.</span></div>
<divclass="line"><aname="l00016"></a><spanclass="lineno"> 16</span> <spanclass="comment"> * You may opt to use, copy, modify, merge, publish, distribute and/or sell</span></div>
<divclass="line"><aname="l00017"></a><spanclass="lineno"> 17</span> <spanclass="comment"> * copies of the Software, and permit persons to whom the Software is</span></div>
<divclass="line"><aname="l00018"></a><spanclass="lineno"> 18</span> <spanclass="comment"> * furnished to do so, under the terms of the COPYING file.</span></div>
<divclass="line"><aname="l00020"></a><spanclass="lineno"> 20</span> <spanclass="comment"> * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY</span></div>
<divclass="line"><aname="l00021"></a><spanclass="lineno"> 21</span> <spanclass="comment"> * KIND, either express or implied.</span></div>
<divclass="line"><aname="l00026"></a><spanclass="lineno"> 26</span> <spanclass="comment"> * If you have libcurl problems, all docs and details are found here:</span></div>
<divclass="line"><aname="l00029"></a><spanclass="lineno"> 29</span> <spanclass="comment"> * curl-library mailing list subscription and unsubscription web interface:</span></div>
<divclass="line"><aname="l00040"></a><spanclass="lineno"> 40</span> <spanclass="comment">/* The include stuff here below is mainly for time_t! */</span></div>
<divclass="line"><aname="l00052"></a><spanclass="lineno"> 52</span> <spanclass="comment"> * This definition is used to make external definitions visible in the</span></div>
<divclass="line"><aname="l00053"></a><spanclass="lineno"> 53</span> <spanclass="comment"> * shared library when symbols are hidden by default. It makes no</span></div>
<divclass="line"><aname="l00054"></a><spanclass="lineno"> 54</span> <spanclass="comment"> * difference when compiling applications whether this is set or not,</span></div>
<divclass="line"><aname="l00055"></a><spanclass="lineno"> 55</span> <spanclass="comment"> * only when compiling the library.</span></div>
<divclass="line"><aname="l00070"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#aa8bb85c2be532342ab50f049ff9a123d"> 70</a></span> <spanclass="keyword">struct </span><aclass="code"href="curl_8h.html#structcurl__httppost">curl_httppost</a> *<aclass="code"href="curl_8h.html#aa8bb85c2be532342ab50f049ff9a123d">next</a>; <spanclass="comment">/* next entry in the list */</span></div>
<divclass="line"><aname="l00071"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#a5ac083a645d964373f022d03df4849c8"> 71</a></span> <spanclass="keywordtype">char</span> *<aclass="code"href="curl_8h.html#a5ac083a645d964373f022d03df4849c8">name</a>; <spanclass="comment">/* pointer to allocated name */</span></div>
<divclass="line"><aname="l00072"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#a17275a525176def48876e14a55a05609"> 72</a></span> <spanclass="keywordtype">long</span><aclass="code"href="curl_8h.html#a17275a525176def48876e14a55a05609">namelength</a>; <spanclass="comment">/* length of name length */</span></div>
<divclass="line"><aname="l00073"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#a90428ca35ed3324ed2b73fb28ac4708a"> 73</a></span> <spanclass="keywordtype">char</span> *<aclass="code"href="curl_8h.html#a90428ca35ed3324ed2b73fb28ac4708a">contents</a>; <spanclass="comment">/* pointer to allocated data contents */</span></div>
<divclass="line"><aname="l00074"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#a8cb7a9dc52673d1c350f07e8332a8ac9"> 74</a></span> <spanclass="keywordtype">long</span><aclass="code"href="curl_8h.html#a8cb7a9dc52673d1c350f07e8332a8ac9">contentslength</a>; <spanclass="comment">/* length of contents field */</span></div>
<divclass="line"><aname="l00075"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#aff2566f4c366b48d73479bef43ee4d2e"> 75</a></span> <spanclass="keywordtype">char</span> *<aclass="code"href="curl_8h.html#aff2566f4c366b48d73479bef43ee4d2e">buffer</a>; <spanclass="comment">/* pointer to allocated buffer contents */</span></div>
<divclass="line"><aname="l00076"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#a5f141b1364896fa79438198b5b952fdf"> 76</a></span> <spanclass="keywordtype">long</span><aclass="code"href="curl_8h.html#a5f141b1364896fa79438198b5b952fdf">bufferlength</a>; <spanclass="comment">/* length of buffer field */</span></div>
<divclass="line"><aname="l00078"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#a9e70fa155c987486c59224ca58f8afba"> 78</a></span> <spanclass="keyword">struct </span><aclass="code"href="curl_8h.html#structcurl__slist">curl_slist</a>* <aclass="code"href="curl_8h.html#a9e70fa155c987486c59224ca58f8afba">contentheader</a>; <spanclass="comment">/* list of extra headers for this form */</span></div>
<divclass="line"><aname="l00079"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#a99ad4daa8cfd062490bbbaee44b37842"> 79</a></span> <spanclass="keyword">struct </span><aclass="code"href="curl_8h.html#structcurl__httppost">curl_httppost</a> *<aclass="code"href="curl_8h.html#a99ad4daa8cfd062490bbbaee44b37842">more</a>; <spanclass="comment">/* if one field name has more than one</span></div>
<divclass="line"><aname="l00080"></a><spanclass="lineno"> 80</span> <spanclass="comment"> file, this link should link to following</span></div>
<divclass="line"><aname="l00082"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#a6a36e81b5744ff152979cae202d37e78"> 82</a></span> <spanclass="keywordtype">long</span><aclass="code"href="curl_8h.html#a6a36e81b5744ff152979cae202d37e78">flags</a>; <spanclass="comment">/* as defined below */</span></div>
<divclass="line"><aname="l00083"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#a1902b6e96f01aaaed3180714df4faef4"> 83</a></span> <spanclass="preprocessor">#define HTTPPOST_FILENAME (1<<0) </span><spanclass="comment">/* specified content is a file name */</span><spanclass="preprocessor"></span></div>
<divclass="line"><aname="l00084"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#a9f5ad2d20687360fd9cf86b7c6887d86"> 84</a></span> <spanclass="preprocessor">#define HTTPPOST_READFILE (1<<1) </span><spanclass="comment">/* specified content is a file name */</span><spanclass="preprocessor"></span></div>
<divclass="line"><aname="l00085"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#a152dd38815c2d61ccf8e6cfe454c81c2"> 85</a></span> <spanclass="preprocessor">#define HTTPPOST_PTRNAME (1<<2) </span><spanclass="comment">/* name is only stored pointer</span></div>
<divclass="line"><aname="l00086"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#a2cba177058c75264d396b0f4b3b6886f"> 86</a></span> <spanclass="comment"> do not free in formfree */</span><spanclass="preprocessor"></span></div>
<divclass="line"><aname="l00087"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#af8f32e09b4f89edf57c763dff0eaf39e"> 87</a></span> <spanclass="preprocessor">#define HTTPPOST_PTRCONTENTS (1<<3) </span><spanclass="comment">/* contents is only stored pointer</span></div>
<divclass="line"><aname="l00088"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#a6cee088e31c4d14204d6788e79047493"> 88</a></span> <spanclass="comment"> do not free in formfree */</span><spanclass="preprocessor"></span></div>
<divclass="line"><aname="l00089"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#a627323fd2b367b08f01a417cd996aa06"> 89</a></span> <spanclass="preprocessor">#define HTTPPOST_BUFFER (1<<4) </span><spanclass="comment">/* upload file from buffer */</span><spanclass="preprocessor"></span></div>
<divclass="line"><aname="l00096"></a><spanclass="lineno"> 96</span> <spanclass="keywordtype">char</span> *<aclass="code"href="curl_8h.html#ab4ccae06103b4172cc621bea29726b7b">showfilename</a>; <spanclass="comment">/* The file name to show. If not set, the</span></div>
<divclass="line"><aname="l00097"></a><spanclass="lineno"> 97</span> <spanclass="comment"> actual file name will be used (if this</span></div>
<divclass="line"><aname="l00098"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#af0a8c6d62890980b259658d6a4b5454a"> 98</a></span> <spanclass="comment"> is a file part) */</span></div>
<divclass="line"><aname="l00099"></a><spanclass="lineno"> 99</span> <spanclass="keywordtype">void</span> *<aclass="code"href="curl_8h.html#a7b5ec388916c74aa0010ca29022c72d2">userp</a>; <spanclass="comment">/* custom pointer used for</span></div>
<divclass="line"><aname="l00103"></a><spanclass="lineno"> 103</span> <spanclass="keyword">typedef</span> int (*<aclass="code"href="curl_8h.html#af0a8c6d62890980b259658d6a4b5454a">curl_progress_callback</a>)(<spanclass="keywordtype">void</span> *clientp,</div>
<divclass="line"><aname="l00110"></a><spanclass="lineno"> 110</span> <spanclass="comment">/* Tests have proven that 20K is a very bad buffer size for uploads on</span></div>
<divclass="line"><aname="l00111"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#a0417440dcb84270d40959fa70aec6f86"> 111</a></span> <spanclass="comment"> Windows, while 16K for some odd reason performed a lot better.</span></div>
<divclass="line"><aname="l00112"></a><spanclass="lineno"> 112</span> <spanclass="comment"> We do the ifndef check to allow this value to easier be changed at build</span></div>
<divclass="line"><aname="l00113"></a><spanclass="lineno"> 113</span> <spanclass="comment"> time for those who feel adventurous. The practical minimum is about</span></div>
<divclass="line"><aname="l00114"></a><spanclass="lineno"> 114</span> <spanclass="comment"> 400 bytes since libcurl uses a buffer of this size as a scratch area</span></div>
<divclass="line"><aname="l00115"></a><spanclass="lineno"> 115</span> <spanclass="comment"> (unrelated to network send operations). */</span></div>
<divclass="line"><aname="l00120"></a><spanclass="lineno"> 120</span> <spanclass="comment">/* The only reason to have a max limit for this is to avoid the risk of a bad</span></div>
<divclass="line"><aname="l00121"></a><spanclass="lineno"> 121</span> <spanclass="comment"> server feeding libcurl with a never-ending header that will cause reallocs</span></div>
<divclass="line"><aname="l00127"></a><spanclass="lineno"> 127</span> <spanclass="comment">/* This is a magic return code for the write callback that, when returned,</span></div>
<divclass="line"><aname="l00128"></a><spanclass="lineno"> 128</span> <spanclass="comment"> will signal libcurl to pause receiving on the current transfer. */</span></div>
<divclass="line"><aname="l00146"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#a320490cac858f32bd07e20b9956b5353"> 146</a></span> <aclass="code"href="curl_8h.html#a9780ca29d2faed151148e197d1d1e94fa0069a52e445dee286dc61b8409b4c723">CURLFILETYPE_DOOR</a>, <spanclass="comment">/* is possible only on Sun Solaris now */</span></div>
<divclass="line"><aname="l00148"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#a733b2699a859d4824aa202ab20b57798"> 148</a></span> <aclass="code"href="curl_8h.html#a9780ca29d2faed151148e197d1d1e94facdcf93cf184709a955d9f01c0fbf02dd">CURLFILETYPE_UNKNOWN</a><spanclass="comment">/* should never occur */</span></div>
<divclass="line"><aname="l00160"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#aeac90097f29f7529968697163cea5c18"> 160</a></span> <spanclass="comment">/* Content of this structure depends on information which is known and is</span></div>
<divclass="line"><aname="l00161"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#af29da73c48d3df6e6930e619a989cece"> 161</a></span> <spanclass="comment"> achievable (e.g. by FTP LIST parsing). Please see the url_easy_setopt(3) man</span></div>
<divclass="line"><aname="l00162"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#ab842bdb7d02be824fb48613032b4ff36"> 162</a></span> <spanclass="comment"> page for callbacks returning this structure -- some fields are mandatory,</span></div>
<divclass="line"><aname="l00163"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#aa6606ff2564dbd1a7e44bb17ae34c4b3"> 163</a></span> <spanclass="comment"> some others are optional. The FLAG field has special meaning. */</span></div>
<divclass="line"><aname="l00175"></a><spanclass="lineno"> 175</span> <spanclass="comment">/* If some of these fields is not NULL, it is a pointer to b_data. */</span></div>
<divclass="line"><aname="l00180"></a><spanclass="lineno"> 180</span> <spanclass="keywordtype">char</span> *target; <spanclass="comment">/* pointer to the target filename of a symlink */</span></div>
<divclass="line"><aname="l00193"></a><spanclass="lineno"> 193</span> <spanclass="preprocessor">#define CURL_CHUNK_BGN_FUNC_FAIL 1 </span><spanclass="comment">/* tell the lib to end the task */</span><spanclass="preprocessor"></span></div>
<divclass="line"><aname="l00194"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#a65cd4af64438c303045fe1783719260a"> 194</a></span> <spanclass="preprocessor">#define CURL_CHUNK_BGN_FUNC_SKIP 2 </span><spanclass="comment">/* skip this chunk over */</span><spanclass="preprocessor"></span></div>
<divclass="line"><aname="l00196"></a><spanclass="lineno"> 196</span> <spanclass="comment">/* if splitting of data transfer is enabled, this callback is called before</span></div>
<divclass="line"><aname="l00197"></a><spanclass="lineno"> 197</span> <spanclass="comment"> download of an individual chunk started. Note that parameter "remains" works</span></div>
<divclass="line"><aname="l00198"></a><spanclass="lineno"> 198</span> <spanclass="comment"> only for FTP wildcard downloading (for now), otherwise is not used */</span></div>
<divclass="line"><aname="l00199"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#a54fda2cbcd1d008ff79c0b5fedf5cca8"> 199</a></span> <spanclass="keyword">typedef</span> long (*<aclass="code"href="curl_8h.html#a65cd4af64438c303045fe1783719260a">curl_chunk_bgn_callback</a>)(<spanclass="keyword">const</span><spanclass="keywordtype">void</span> *transfer_info,</div>
<divclass="line"><aname="l00205"></a><spanclass="lineno"> 205</span> <spanclass="preprocessor">#define CURL_CHUNK_END_FUNC_FAIL 1 </span><spanclass="comment">/* tell the lib to end the task */</span><spanclass="preprocessor"></span></div>
<divclass="line"><aname="l00207"></a><spanclass="lineno"> 207</span> <spanclass="comment">/* If splitting of data transfer is enabled this callback is called after</span></div>
<divclass="line"><aname="l00208"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#a894654e607def3e31d834266d4d511e0"> 208</a></span> <spanclass="comment"> download of an individual chunk finished.</span></div>
<divclass="line"><aname="l00209"></a><spanclass="lineno"> 209</span> <spanclass="comment"> Note! After this callback was set then it have to be called FOR ALL chunks.</span></div>
<divclass="line"><aname="l00210"></a><spanclass="lineno"> 210</span> <spanclass="comment"> Even if downloading of this chunk was skipped in CHUNK_BGN_FUNC.</span></div>
<divclass="line"><aname="l00211"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#a3885dbade51bea860e8ee8eee37a0bbf"> 211</a></span> <spanclass="comment"> This is the reason why we don't need "transfer_info" parameter in this</span></div>
<divclass="line"><aname="l00212"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#a2341aafdd9f9025eeb837e020c59841e"> 212</a></span> <spanclass="comment"> callback and we are not interested in "remains" parameter too. */</span></div>
<divclass="line"><aname="l00213"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#af68b10e595a3441ef5f88e1e56a9e98a"> 213</a></span> <spanclass="keyword">typedef</span> long (*<aclass="code"href="curl_8h.html#a894654e607def3e31d834266d4d511e0">curl_chunk_end_callback</a>)(<spanclass="keywordtype">void</span> *ptr);</div>
<divclass="line"><aname="l00220"></a><spanclass="lineno"> 220</span> <spanclass="comment">/* callback type for wildcard downloading pattern matching. If the</span></div>
<divclass="line"><aname="l00221"></a><spanclass="lineno"> 221</span> <spanclass="comment"> string matches the pattern, return CURL_FNMATCHFUNC_MATCH value, etc. */</span></div>
<divclass="line"><aname="l00222"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#af7074ca58279ac7ad8f78b9954a31160"> 222</a></span> <spanclass="keyword">typedef</span> int (*<aclass="code"href="curl_8h.html#a21a12c9a4972ad2d0d6459ca2772971c">curl_fnmatch_callback</a>)(<spanclass="keywordtype">void</span> *ptr,</div>
<divclass="line"><aname="l00226"></a><spanclass="lineno"> 226</span> <spanclass="comment">/* These are the return codes for the seek callbacks */</span></div>
<divclass="line"><aname="l00228"></a><spanclass="lineno"> 228</span> <spanclass="preprocessor">#define CURL_SEEKFUNC_FAIL 1 </span><spanclass="comment">/* fail the entire transfer */</span><spanclass="preprocessor"></span></div>
<divclass="line"><aname="l00230"></a><spanclass="lineno"> 230</span> <spanclass="comment"> libcurl might try other means instead */</span><spanclass="preprocessor"></span></div>
<divclass="line"><aname="l00231"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#a37f72557bd7b33a75cb3c3ab165e357e"> 231</a></span> <spanclass="keyword">typedef</span> int (*<aclass="code"href="curl_8h.html#a8ea5d0b350bebdf47cfb237e7caac14a">curl_seek_callback</a>)(<spanclass="keywordtype">void</span> *instream,</div>
<divclass="line"><aname="l00235"></a><spanclass="lineno"> 235</span> <spanclass="comment">/* This is a return code for the read callback that, when returned, will</span></div>
<divclass="line"><aname="l00236"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#a7516630ec17f247697dd3272be7ada74"> 236</a></span> <spanclass="comment"> signal libcurl to immediately abort the current transfer. */</span></div>
<divclass="line"><aname="l00238"></a><spanclass="lineno"> 238</span> <spanclass="comment">/* This is a return code for the read callback that, when returned, will</span></div>
<divclass="line"><aname="l00239"></a><spanclass="lineno"> 239</span> <spanclass="comment"> signal libcurl to pause sending data on the current transfer. */</span></div>
<divclass="line"><aname="l00248"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#a80afa4a2e3b715c20835a48c2d1148d2"> 248</a></span> <aclass="code"href="curl_8h.html#ae319cab849319fca1b222de282506ad9a7edf7696936815d320fd1060f4a315d8">CURLSOCKTYPE_IPCXN</a>, <spanclass="comment">/* socket created for a specific IP connection */</span></div>
<divclass="line"><aname="l00249"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#a62a1c9567d07589dedd9001903347944"> 249</a></span> <aclass="code"href="curl_8h.html#ae319cab849319fca1b222de282506ad9a4b3f455f0ecc0bcb8b78903b5835ecf3">CURLSOCKTYPE_LAST</a><spanclass="comment">/* never use */</span></div>
<divclass="line"><aname="l00252"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#a687bc180c1842bae4d28f8803c307c70"> 252</a></span> <spanclass="comment">/* The return code from the sockopt_callback can signal information back</span></div>
<divclass="line"><aname="l00253"></a><spanclass="lineno"> 253</span> <spanclass="comment"> to libcurl: */</span></div>
<divclass="line"><aname="l00259"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#ab30e8d7e05ae904d3248e0d51255c005"> 259</a></span> <spanclass="keyword">typedef</span> int (*<aclass="code"href="curl_8h.html#a687bc180c1842bae4d28f8803c307c70">curl_sockopt_callback</a>)(<spanclass="keywordtype">void</span> *clientp,</div>
<divclass="line"><aname="l00267"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#a1b8b8f3e1a4e538a6bb1dd83a3388547"> 267</a></span> <spanclass="keywordtype">unsigned</span><spanclass="keywordtype">int</span><aclass="code"href="curl_8h.html#a03e0323e9ee18a71f01f2805ad18ab41">addrlen</a>; <spanclass="comment">/* addrlen was a socklen_t type before 7.18.0 but it</span></div>
<divclass="line"><aname="l00268"></a><spanclass="lineno"> 268</span> <spanclass="comment"> turned really ugly and painful on the systems that</span></div>
<divclass="line"><aname="l00269"></a><spanclass="lineno"> 269</span> <spanclass="comment"> lack this type */</span></div>
<divclass="line"><aname="l00283"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#a3781556120d1f44d126ef1cf50019cf4a86fa94f83ce5f3a990ff26ea4a8b18ab"> 283</a></span> <aclass="code"href="curl_8h.html#aed08c6203949f0b52a655e094f241920ad03d9de14b04f68b2fc2acf63083df0f">CURLIOE_UNKNOWNCMD</a>, <spanclass="comment">/* command was unknown to callback */</span></div>
<divclass="line"><aname="l00284"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#a3781556120d1f44d126ef1cf50019cf4acc2b197ee00e3cba59b257a8c71827e7"> 284</a></span> <aclass="code"href="curl_8h.html#aed08c6203949f0b52a655e094f241920a838ac47d6cea88883716562bc9620950">CURLIOE_FAILRESTART</a>, <spanclass="comment">/* failed to restart the read */</span></div>
<divclass="line"><aname="l00285"></a><spanclass="lineno"> 285</span> <aclass="code"href="curl_8h.html#aed08c6203949f0b52a655e094f241920a290b1a02fae1703330f3cbb019d439d6">CURLIOE_LAST</a><spanclass="comment">/* never use */</span></div>
<divclass="line"><aname="l00289"></a><spanclass="lineno"> 289</span> <aclass="code"href="curl_8h.html#a3781556120d1f44d126ef1cf50019cf4abc37bd835ff9881a11797960f1969d75">CURLIOCMD_NOP</a>, <spanclass="comment">/* no operation */</span></div>
<divclass="line"><aname="l00290"></a><spanclass="lineno"> 290</span> <aclass="code"href="curl_8h.html#a3781556120d1f44d126ef1cf50019cf4a86fa94f83ce5f3a990ff26ea4a8b18ab">CURLIOCMD_RESTARTREAD</a>, <spanclass="comment">/* restart the read stream from start */</span></div>
<divclass="line"><aname="l00291"></a><spanclass="lineno"> 291</span> <aclass="code"href="curl_8h.html#a3781556120d1f44d126ef1cf50019cf4acc2b197ee00e3cba59b257a8c71827e7">CURLIOCMD_LAST</a><spanclass="comment">/* never use */</span></div>
<divclass="line"><aname="l00299"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#ad518eb7a4480d100252dba829a2cf0a8"> 299</a></span> <spanclass="comment"> * The following typedef's are signatures of malloc, free, realloc, strdup and</span></div>
<divclass="line"><aname="l00300"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#a8f17f3715a2390a2f884dbef796bab4f"> 300</a></span> <spanclass="comment"> * calloc respectively. Function pointers of these types can be passed to the</span></div>
<divclass="line"><aname="l00301"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#a55a219acef1d4b3977b8854fb738b177"> 301</a></span> <spanclass="comment"> * curl_global_init_mem() function to set user defined memory management</span></div>
<divclass="line"><aname="l00310"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#a9704d2633927f77efaa3e3c6f1c23a14af788d7ad3eeacfcbd2170c64166c241c"> 310</a></span> <spanclass="comment">/* the kind of data that is passed to information_callback*/</span></div>
<divclass="line"><aname="l00322"></a><spanclass="lineno"> 322</span> <spanclass="keyword">typedef</span> int (*<aclass="code"href="curl_8h.html#ad967e4ffcbaf6c9dc7105b798d0f5b32">curl_debug_callback</a>)</div>
<divclass="line"><aname="l00323"></a><spanclass="lineno"> 323</span>  (<aclass="code"href="curl_8h.html#ace655e3633b6533591283994d6b5cdda">CURL</a> *handle, <spanclass="comment">/* the handle/transfer this concerns */</span></div>
<divclass="line"><aname="l00324"></a><spanclass="lineno"> 324</span> <aclass="code"href="curl_8h.html#a9704d2633927f77efaa3e3c6f1c23a14">curl_infotype</a> type, <spanclass="comment">/* what kind of data */</span></div>
<divclass="line"><aname="l00325"></a><spanclass="lineno"> 325</span> <spanclass="keywordtype">char</span> *data, <spanclass="comment">/* points to the data */</span></div>
<divclass="line"><aname="l00326"></a><spanclass="lineno"> 326</span> <spanclass="keywordtype">size_t</span> size, <spanclass="comment">/* size of the data pointed to */</span></div>
<divclass="line"><aname="l00327"></a><spanclass="lineno"> 327</span> <spanclass="keywordtype">void</span> *userptr); <spanclass="comment">/* whatever the user please */</span></div>
<divclass="line"><aname="l00329"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#af0691941698240652e0a391394217951"> 329</a></span> <spanclass="comment">/* All possible error codes from all sorts of curl functions. Future versions</span></div>
<divclass="line"><aname="l00330"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#af0691941698240652e0a391394217951af2fb280cf805aa199f6b63a2a27c318b"> 330</a></span> <spanclass="comment"> may return other values, stay prepared.</span></div>
<divclass="line"><aname="l00332"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#af0691941698240652e0a391394217951a7c5e621b8f31e5f941e6044519b4c9c9"> 332</a></span> <spanclass="comment"> Always add new return codes last. Never *EVER* remove any. The return</span></div>
<divclass="line"><aname="l00333"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#af0691941698240652e0a391394217951ab9b2b0dca8aa242d128640dbfde66fc6"> 333</a></span> <spanclass="comment"> codes must remain the same!</span></div>
<divclass="line"><aname="l00341"></a><spanclass="lineno"> 341</span> <aclass="code"href="curl_8h.html#af0691941698240652e0a391394217951ac92786e19b828c0c4a8fa5f7d6b1e01e">CURLE_NOT_BUILT_IN</a>, <spanclass="comment">/* 4 - [was obsoleted in August 2007 for</span></div>
<divclass="line"><aname="l00342"></a><spanclass="lineno"> 342</span> <spanclass="comment"> 7.17.0, reused in April 2011 for 7.21.5] */</span></div>
<divclass="line"><aname="l00347"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#af0691941698240652e0a391394217951aa798d744ee845440856a8fdfcaf46b06"> 347</a></span> <aclass="code"href="curl_8h.html#af0691941698240652e0a391394217951a682b1c9a48ab0eff7ca39e6ee8728bbc">CURLE_REMOTE_ACCESS_DENIED</a>, <spanclass="comment">/* 9 a service was denied by the server</span></div>
<divclass="line"><aname="l00348"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#af0691941698240652e0a391394217951af977c5b7373a2cbb9f657327ec6bb675"> 348</a></span> <spanclass="comment"> due to lack of access - when login fails</span></div>
<divclass="line"><aname="l00349"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#af0691941698240652e0a391394217951a5f1e8e6ba80f49526321f6aa00b8e779"> 349</a></span> <spanclass="comment"> this is not returned. */</span></div>
<divclass="line"><aname="l00350"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#af0691941698240652e0a391394217951aa1f636ad685a1ab9e362ebb4fe068063"> 350</a></span> <aclass="code"href="curl_8h.html#af0691941698240652e0a391394217951af6511debc1393dbaf278976a0e98aacc">CURLE_OBSOLETE10</a>, <spanclass="comment">/* 10 - NOT USED */</span></div>
<divclass="line"><aname="l00352"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#af0691941698240652e0a391394217951ac0a65d42e6dbdf1da26be9f6cff864ff"> 352</a></span> <aclass="code"href="curl_8h.html#af0691941698240652e0a391394217951acdc563dae8610de8088152ccc1d11e7f">CURLE_OBSOLETE12</a>, <spanclass="comment">/* 12 - NOT USED */</span></div>
<divclass="line"><aname="l00356"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#af0691941698240652e0a391394217951acaaed2faf20c957350e90a68282ae314"> 356</a></span> <aclass="code"href="curl_8h.html#af0691941698240652e0a391394217951a5f1e8e6ba80f49526321f6aa00b8e779">CURLE_OBSOLETE16</a>, <spanclass="comment">/* 16 - NOT USED */</span></div>
<divclass="line"><aname="l00360"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#af0691941698240652e0a391394217951aba5a22c9f705ed27933344be221fe937"> 360</a></span> <aclass="code"href="curl_8h.html#af0691941698240652e0a391394217951ae294ea2f425f94ca03e6622652b41616">CURLE_OBSOLETE20</a>, <spanclass="comment">/* 20 - NOT USED */</span></div>
<divclass="line"><aname="l00364"></a><spanclass="lineno"> 364</span> <aclass="code"href="curl_8h.html#af0691941698240652e0a391394217951a4756f1513222f915ac6b2e10777f842b">CURLE_OBSOLETE24</a>, <spanclass="comment">/* 24 - NOT USED */</span></div>
<divclass="line"><aname="l00368"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#af0691941698240652e0a391394217951a404154a216fca019f85509759015820c"> 368</a></span> <spanclass="comment">/* Note: CURLE_OUT_OF_MEMORY may sometimes indicate a conversion error</span></div>
<divclass="line"><aname="l00369"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#af0691941698240652e0a391394217951a2bc6d1f938e6010f432f0407ea54649e"> 369</a></span> <spanclass="comment"> instead of a memory allocation error if CURL_DOES_CONVERSIONS</span></div>
<divclass="line"><aname="l00370"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#af0691941698240652e0a391394217951ab14492d4934da6ddd87b78ede328becd"> 370</a></span> <spanclass="comment"> is defined</span></div>
<divclass="line"><aname="l00372"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#af0691941698240652e0a391394217951af47b7606f9b1ac9d655fe959fdefbd7d"> 372</a></span> <aclass="code"href="curl_8h.html#af0691941698240652e0a391394217951aaa7a948caaac0addf8754794663f48b1">CURLE_OPERATION_TIMEDOUT</a>, <spanclass="comment">/* 28 - the timeout time was reached */</span></div>
<divclass="line"><aname="l00373"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#af0691941698240652e0a391394217951aa35bfdab90de5c981dc4e10e5e352a5e"> 373</a></span> <aclass="code"href="curl_8h.html#af0691941698240652e0a391394217951a7bfbc5cfeacffd07401a16280a2a1657">CURLE_OBSOLETE29</a>, <spanclass="comment">/* 29 - NOT USED */</span></div>
<divclass="line"><aname="l00374"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#af0691941698240652e0a391394217951a7357f5e474f98f5e52a70def2fd14c6a"> 374</a></span> <aclass="code"href="curl_8h.html#af0691941698240652e0a391394217951a29324ee6c3345ce74d7ad9d47a509b0a">CURLE_FTP_PORT_FAILED</a>, <spanclass="comment">/* 30 - FTP PORT operation failed */</span></div>
<divclass="line"><aname="l00375"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#af0691941698240652e0a391394217951aa7cd91294b499c96ac4a018e576af06a"> 375</a></span> <aclass="code"href="curl_8h.html#af0691941698240652e0a391394217951a404154a216fca019f85509759015820c">CURLE_FTP_COULDNT_USE_REST</a>, <spanclass="comment">/* 31 - the REST command failed */</span></div>
<divclass="line"><aname="l00376"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#af0691941698240652e0a391394217951aa546c6fb1cb084fe89e88f8bf88167bd"> 376</a></span> <aclass="code"href="curl_8h.html#af0691941698240652e0a391394217951a2bc6d1f938e6010f432f0407ea54649e">CURLE_OBSOLETE32</a>, <spanclass="comment">/* 32 - NOT USED */</span></div>
<divclass="line"><aname="l00377"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#af0691941698240652e0a391394217951ac26cf022cd88dba7d9f08292689adaa6"> 377</a></span> <aclass="code"href="curl_8h.html#af0691941698240652e0a391394217951ab14492d4934da6ddd87b78ede328becd">CURLE_RANGE_ERROR</a>, <spanclass="comment">/* 33 - RANGE "command" didn't work */</span></div>
<divclass="line"><aname="l00384"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#af0691941698240652e0a391394217951a8933e6db041d3f4a94227e991d789745"> 384</a></span> <aclass="code"href="curl_8h.html#af0691941698240652e0a391394217951ac26cf022cd88dba7d9f08292689adaa6">CURLE_OBSOLETE40</a>, <spanclass="comment">/* 40 - NOT USED */</span></div>
<divclass="line"><aname="l00388"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#af0691941698240652e0a391394217951a746b63c8123f5bdc10a916f720f2c9e5"> 388</a></span> <aclass="code"href="curl_8h.html#af0691941698240652e0a391394217951a75ecf6bab9ef0c747240900080328cf8">CURLE_OBSOLETE44</a>, <spanclass="comment">/* 44 - NOT USED */</span></div>
<divclass="line"><aname="l00390"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#af0691941698240652e0a391394217951a9c15eee85076ef8d51e4edb972b43492"> 390</a></span> <aclass="code"href="curl_8h.html#af0691941698240652e0a391394217951a7b73879e89d0dcf4f4561a1c51a0b6a4">CURLE_OBSOLETE46</a>, <spanclass="comment">/* 46 - NOT USED */</span></div>
<divclass="line"><aname="l00394"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#af0691941698240652e0a391394217951a9e0c77963cb42831dba8d5ee1840e80b"> 394</a></span> <aclass="code"href="curl_8h.html#af0691941698240652e0a391394217951a2d29348c5bbeecec4483bf127ec49df2">CURLE_OBSOLETE50</a>, <spanclass="comment">/* 50 - NOT USED */</span></div>
<divclass="line"><aname="l00395"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#af0691941698240652e0a391394217951ae6d701fdcc9728db65dadb0ec7d1eec1"> 395</a></span> <aclass="code"href="curl_8h.html#af0691941698240652e0a391394217951a746b63c8123f5bdc10a916f720f2c9e5">CURLE_PEER_FAILED_VERIFICATION</a>, <spanclass="comment">/* 51 - peer's certificate or fingerprint</span></div>
<divclass="line"><aname="l00396"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#af0691941698240652e0a391394217951a60caf7cd9f3e18ed850e61f1a35a5603"> 396</a></span> <spanclass="comment"> wasn't verified fine */</span></div>
<divclass="line"><aname="l00397"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#af0691941698240652e0a391394217951a5ffb4b97de06318ffbd19405b18494f9"> 397</a></span> <aclass="code"href="curl_8h.html#af0691941698240652e0a391394217951a9c15eee85076ef8d51e4edb972b43492">CURLE_GOT_NOTHING</a>, <spanclass="comment">/* 52 - when this is a specific error */</span></div>
<divclass="line"><aname="l00398"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#af0691941698240652e0a391394217951a3d136f81a9d7bf281f4a050099438683"> 398</a></span> <aclass="code"href="curl_8h.html#af0691941698240652e0a391394217951a52cb532d2a08f913d6273f0b4341e135">CURLE_SSL_ENGINE_NOTFOUND</a>, <spanclass="comment">/* 53 - SSL crypto engine not found */</span></div>
<divclass="line"><aname="l00399"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#af0691941698240652e0a391394217951a575bfec18f8dbfff9eb69d3127b285ff"> 399</a></span> <aclass="code"href="curl_8h.html#af0691941698240652e0a391394217951a91b56d8b059414b941e73150cd5fb3a2">CURLE_SSL_ENGINE_SETFAILED</a>, <spanclass="comment">/* 54 - can not set SSL crypto engine as</span></div>
<divclass="line"><aname="l00401"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#af0691941698240652e0a391394217951a6e98ab70d0724c67536f2f2cebd8f5a6"> 401</a></span> <aclass="code"href="curl_8h.html#af0691941698240652e0a391394217951a9e0c77963cb42831dba8d5ee1840e80b">CURLE_SEND_ERROR</a>, <spanclass="comment">/* 55 - failed sending network data */</span></div>
<divclass="line"><aname="l00402"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#af0691941698240652e0a391394217951a575639ff443233dd9af2c1835192ad3a"> 402</a></span> <aclass="code"href="curl_8h.html#af0691941698240652e0a391394217951ae6d701fdcc9728db65dadb0ec7d1eec1">CURLE_RECV_ERROR</a>, <spanclass="comment">/* 56 - failure in receiving network data */</span></div>
<divclass="line"><aname="l00403"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#af0691941698240652e0a391394217951ae3a33eef0d22573e545dc857bf3e6105"> 403</a></span> <aclass="code"href="curl_8h.html#af0691941698240652e0a391394217951a60caf7cd9f3e18ed850e61f1a35a5603">CURLE_OBSOLETE57</a>, <spanclass="comment">/* 57 - NOT IN USE */</span></div>
<divclass="line"><aname="l00404"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#af0691941698240652e0a391394217951a1a9263421629452bb969e2aa901c11ed"> 404</a></span> <aclass="code"href="curl_8h.html#af0691941698240652e0a391394217951a5ffb4b97de06318ffbd19405b18494f9">CURLE_SSL_CERTPROBLEM</a>, <spanclass="comment">/* 58 - problem with the local certificate */</span></div>
<divclass="line"><aname="l00405"></a><spanclass="lineno"> 405</span> <aclass="code"href="curl_8h.html#af0691941698240652e0a391394217951a3d136f81a9d7bf281f4a050099438683">CURLE_SSL_CIPHER</a>, <spanclass="comment">/* 59 - couldn't use specified cipher */</span></div>
<divclass="line"><aname="l00406"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#af0691941698240652e0a391394217951aa13f40e5aac785732191143407c0c612"> 406</a></span> <aclass="code"href="curl_8h.html#af0691941698240652e0a391394217951a575bfec18f8dbfff9eb69d3127b285ff">CURLE_SSL_CACERT</a>, <spanclass="comment">/* 60 - problem with the CA cert (path?) */</span></div>
<divclass="line"><aname="l00411"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#af0691941698240652e0a391394217951a3a0a06e9b8aa024a522d8fc26e0ad1d5"> 411</a></span> <aclass="code"href="curl_8h.html#af0691941698240652e0a391394217951a1a9263421629452bb969e2aa901c11ed">CURLE_SEND_FAIL_REWIND</a>, <spanclass="comment">/* 65 - Sending the data requires a rewind</span></div>
<divclass="line"><aname="l00412"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#af0691941698240652e0a391394217951abe312c2b9451365d5c7889825133e88f"> 412</a></span> <spanclass="comment"> that failed */</span></div>
<divclass="line"><aname="l00413"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#af0691941698240652e0a391394217951a049b0ed68ebd9dec69069536348c8659"> 413</a></span> <aclass="code"href="curl_8h.html#af0691941698240652e0a391394217951aa13f40e5aac785732191143407c0c612">CURLE_SSL_ENGINE_INITFAILED</a>, <spanclass="comment">/* 66 - failed to initialise ENGINE */</span></div>
<divclass="line"><aname="l00414"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#af0691941698240652e0a391394217951acff3de36710deafa5d65153a2af0bc57"> 414</a></span> <aclass="code"href="curl_8h.html#af0691941698240652e0a391394217951a600c484dc2160f73477f9e1b2d3db513">CURLE_LOGIN_DENIED</a>, <spanclass="comment">/* 67 - user, password or similar was not</span></div>
<divclass="line"><aname="l00415"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#af0691941698240652e0a391394217951a9feddcedb9a853c8ba1ee794b3499bac"> 415</a></span> <spanclass="comment"> accepted and we failed to login */</span></div>
<divclass="line"><aname="l00416"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#af0691941698240652e0a391394217951a4524c832a5a2e2777ad4bc6128f83451"> 416</a></span> <aclass="code"href="curl_8h.html#af0691941698240652e0a391394217951a9103ad7f069dabecd846d059bc361682">CURLE_TFTP_NOTFOUND</a>, <spanclass="comment">/* 68 - file not found on server */</span></div>
<divclass="line"><aname="l00417"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#af0691941698240652e0a391394217951a031d604086239055f5e9ebcbf518fde2"> 417</a></span> <aclass="code"href="curl_8h.html#af0691941698240652e0a391394217951a0a1ba19cc7e1c1eb649f8a987f69c585">CURLE_TFTP_PERM</a>, <spanclass="comment">/* 69 - permission problem on server */</span></div>
<divclass="line"><aname="l00418"></a><spanclass="lineno"> 418</span> <aclass="code"href="curl_8h.html#af0691941698240652e0a391394217951a3a0a06e9b8aa024a522d8fc26e0ad1d5">CURLE_REMOTE_DISK_FULL</a>, <spanclass="comment">/* 70 - out of disk space on server */</span></div>
<divclass="line"><aname="l00420"></a><spanclass="lineno"> 420</span> <aclass="code"href="curl_8h.html#af0691941698240652e0a391394217951a049b0ed68ebd9dec69069536348c8659">CURLE_TFTP_UNKNOWNID</a>, <spanclass="comment">/* 72 - Unknown transfer ID */</span></div>
<divclass="line"><aname="l00422"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#af0691941698240652e0a391394217951a8e6bdaad09a5404d9b01acaa93e1a797"> 422</a></span> <aclass="code"href="curl_8h.html#af0691941698240652e0a391394217951a9feddcedb9a853c8ba1ee794b3499bac">CURLE_TFTP_NOSUCHUSER</a>, <spanclass="comment">/* 74 - No such user */</span></div>
<divclass="line"><aname="l00429"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#af0691941698240652e0a391394217951a8d39df5d5e9f3ecd4b121021500f68f4"> 429</a></span> <aclass="code"href="curl_8h.html#af0691941698240652e0a391394217951a8e6bdaad09a5404d9b01acaa93e1a797">CURLE_SSL_CACERT_BADFILE</a>, <spanclass="comment">/* 77 - could not load CACERT file, missing</span></div>
<divclass="line"><aname="l00430"></a><spanclass="lineno"> 430</span> <spanclass="comment"> or wrong format */</span></div>
<divclass="line"><aname="l00431"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#af0691941698240652e0a391394217951a8527394a7d1a590228373b95f55a61a7"> 431</a></span> <aclass="code"href="curl_8h.html#af0691941698240652e0a391394217951a4dabe5a34a618b55e0d3bc4e85c0a2f0">CURLE_REMOTE_FILE_NOT_FOUND</a>, <spanclass="comment">/* 78 - remote file not found */</span></div>
<divclass="line"><aname="l00432"></a><spanclass="lineno"> 432</span> <aclass="code"href="curl_8h.html#af0691941698240652e0a391394217951a9ef15283f9e1009f85be8a6509863d6e">CURLE_SSH</a>, <spanclass="comment">/* 79 - error from the SSH layer, somewhat</span></div>
<divclass="line"><aname="l00433"></a><spanclass="lineno"> 433</span> <spanclass="comment"> generic so the error message will be of</span></div>
<divclass="line"><aname="l00434"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#af0691941698240652e0a391394217951a241c54474fe64668004fc8d15496085c"> 434</a></span> <spanclass="comment"> interest when this has happened */</span></div>
<divclass="line"><aname="l00436"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#af0691941698240652e0a391394217951a567c864875b56a6fed90ca22bc89a5a2"> 436</a></span> <aclass="code"href="curl_8h.html#af0691941698240652e0a391394217951a8d39df5d5e9f3ecd4b121021500f68f4">CURLE_SSL_SHUTDOWN_FAILED</a>, <spanclass="comment">/* 80 - Failed to shut down the SSL</span></div>
<divclass="line"><aname="l00438"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#af0691941698240652e0a391394217951aebe38dbbb2739f5b0941a1bd1b4aa37c"> 438</a></span> <aclass="code"href="curl_8h.html#af0691941698240652e0a391394217951a8527394a7d1a590228373b95f55a61a7">CURLE_AGAIN</a>, <spanclass="comment">/* 81 - socket is not ready for send/recv,</span></div>
<divclass="line"><aname="l00439"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#af0691941698240652e0a391394217951afe1e1da27050140298cf7886ed3881cd"> 439</a></span> <spanclass="comment"> wait till it's ready and try again (Added</span></div>
<divclass="line"><aname="l00440"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#af0691941698240652e0a391394217951ab9440df8dcfaec3b28598383762c8d90"> 440</a></span> <spanclass="comment"> in 7.18.2) */</span></div>
<divclass="line"><aname="l00441"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#af0691941698240652e0a391394217951a97dd8798d0dacc473c93c8afb3872ac3"> 441</a></span> <aclass="code"href="curl_8h.html#af0691941698240652e0a391394217951a241c54474fe64668004fc8d15496085c">CURLE_SSL_CRL_BADFILE</a>, <spanclass="comment">/* 82 - could not load CRL file, missing or</span></div>
<divclass="line"><aname="l00442"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#af0691941698240652e0a391394217951a91e314b8c572061fed47b9a204d3397d"> 442</a></span> <spanclass="comment"> wrong format (Added in 7.19.0) */</span></div>
<divclass="line"><aname="l00445"></a><spanclass="lineno"> 445</span> <aclass="code"href="curl_8h.html#af0691941698240652e0a391394217951aebe38dbbb2739f5b0941a1bd1b4aa37c">CURLE_FTP_PRET_FAILED</a>, <spanclass="comment">/* 84 - a PRET command failed */</span></div>
<divclass="line"><aname="l00451"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#acba2cfdf2a86c52c77231df84a532c92"> 451</a></span> <aclass="code"href="curl_8h.html#af0691941698240652e0a391394217951a67378435ae77dbc409f77e9f67ea7eef">CURL_LAST</a><spanclass="comment">/* never use! */</span></div>
<divclass="line"><aname="l00454"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#a820bd0782ee32dcaaece1b4adeb421dc"> 454</a></span> <spanclass="preprocessor">#ifndef CURL_NO_OLDIES </span><spanclass="comment">/* define this to test if your app builds with all</span></div>
<divclass="line"><aname="l00455"></a><spanclass="lineno"> 455</span> <spanclass="comment"> the obsolete stuff removed! */</span><spanclass="preprocessor"></span></div>
<divclass="line"><aname="l00460"></a><spanclass="lineno"> 460</span> <spanclass="comment">/* The following were added in 7.21.5, April 2011 */</span></div>
<divclass="line"><aname="l00463"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#a5fe4f6d7bca18e6562f8310e59d65c5c"> 463</a></span> <spanclass="comment">/* The following were added in 7.17.1 */</span></div>
<divclass="line"><aname="l00464"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#a9628f27d1ac7169357bb1b351261a80f"> 464</a></span> <spanclass="comment">/* These are scheduled to disappear by 2009 */</span></div>
<divclass="line"><aname="l00467"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#aaf2440cba7154e3a4c3f5c9c0698b29f"> 467</a></span> <spanclass="comment">/* The following were added in 7.17.0 */</span></div>
<divclass="line"><aname="l00468"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#ace9e05f8c86184658afb4ec05f93f019"> 468</a></span> <spanclass="comment">/* These are scheduled to disappear by 2009 */</span></div>
<divclass="line"><aname="l00469"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#a09085f2484dd07088600ff22ce44adfb"> 469</a></span> <spanclass="preprocessor">#define CURLE_OBSOLETE CURLE_OBSOLETE50 </span><spanclass="comment">/* no one should be using this! */</span><spanclass="preprocessor"></span></div>
<divclass="line"><aname="l00502"></a><spanclass="lineno"> 502</span> <spanclass="comment">/* This was the error code 50 in 7.7.3 and a few earlier versions, this</span></div>
<divclass="line"><aname="l00503"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#acb230bf6dbf7bcb6e4e8740ea42ca3b3"> 503</a></span> <spanclass="comment"> is no longer used by libcurl but is instead #defined here only to not</span></div>
<divclass="line"><aname="l00504"></a><spanclass="lineno"> 504</span> <spanclass="comment"> make programs break */</span></div>
<divclass="line"><aname="l00509"></a><spanclass="lineno"> 509</span> <spanclass="preprocessor"></span><spanclass="comment">/* This prototype applies to all conversion callbacks */</span><spanclass="preprocessor"></span></div>
<divclass="line"><aname="l00518"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#a8ebcd4e614f222aca6352ad5052634f8a57108a90bd6ce44c3d94fdfd53c775fd"> 518</a></span> <aclass="code"href="curl_8h.html#a8ebcd4e614f222aca6352ad5052634f8a7d6d42eb703774dcd800c4881951c997">CURLPROXY_HTTP</a> = 0, <spanclass="comment">/* added in 7.10, new in 7.19.4 default is to use</span></div>
<divclass="line"><aname="l00520"></a><spanclass="lineno"> 520</span> <aclass="code"href="curl_8h.html#a8ebcd4e614f222aca6352ad5052634f8a60f240b4395a4acea5816c585b68a32f">CURLPROXY_HTTP_1_0</a> = 1, <spanclass="comment">/* added in 7.19.4, force to use CONNECT</span></div>
<divclass="line"><aname="l00522"></a><spanclass="lineno"> 522</span> <aclass="code"href="curl_8h.html#a8ebcd4e614f222aca6352ad5052634f8a0ee68a0bf33b1d80a417c3d53a5bfa41">CURLPROXY_SOCKS4</a> = 4, <spanclass="comment">/* support added in 7.15.2, enum existed already</span></div>
<divclass="line"><aname="l00523"></a><spanclass="lineno"> 523</span> <spanclass="comment"> in 7.10 */</span></div>
<divclass="line"><aname="l00524"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#a2623448e48f97bb09eb1a83b28da7735"> 524</a></span> <aclass="code"href="curl_8h.html#a8ebcd4e614f222aca6352ad5052634f8a0221f060e5533f00d79538b80dc7b386">CURLPROXY_SOCKS5</a> = 5, <spanclass="comment">/* added in 7.10 */</span></div>
<divclass="line"><aname="l00525"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#a71a1fde704d583a1f5dc57f77f1e957b"> 525</a></span> <aclass="code"href="curl_8h.html#a8ebcd4e614f222aca6352ad5052634f8a57108a90bd6ce44c3d94fdfd53c775fd">CURLPROXY_SOCKS4A</a> = 6, <spanclass="comment">/* added in 7.18.0 */</span></div>
<divclass="line"><aname="l00526"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#ae8273f5a281c589c89d0d3ab2f565a93"> 526</a></span> <aclass="code"href="curl_8h.html#a8ebcd4e614f222aca6352ad5052634f8ac7b9486a2097e4217185729549839549">CURLPROXY_SOCKS5_HOSTNAME</a> = 7 <spanclass="comment">/* Use the SOCKS5 protocol but pass along the</span></div>
<divclass="line"><aname="l00527"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#abd8249802f5605e95c6fedcaf22f9f5c"> 527</a></span> <spanclass="comment"> host name rather than the IP address. added</span></div>
<divclass="line"><aname="l00528"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#ab0e8299ededa678028a9e5796b0f77ce"> 528</a></span> <spanclass="comment"> in 7.18.0 */</span></div>
<divclass="line"><aname="l00529"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#a35dfbbf1be296636005ebb30f70ca4ee"> 529</a></span> } <aclass="code"href="curl_8h.html#a8ebcd4e614f222aca6352ad5052634f8">curl_proxytype</a>; <spanclass="comment">/* this enum was added in 7.10 */</span></div>
<divclass="line"><aname="l00536"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#a9c97deb48aedddd960456bf853ef4561"> 536</a></span> <spanclass="preprocessor">#define CURLAUTH_DIGEST_IE (1<<4) </span><spanclass="comment">/* Digest with IE flavour */</span><spanclass="preprocessor"></span></div>
<divclass="line"><aname="l00537"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#aac05add1c594bdb7e438451c419b9ef1"> 537</a></span> <spanclass="preprocessor">#define CURLAUTH_ONLY (1<<31) </span><spanclass="comment">/* used together with a single other</span></div>
<divclass="line"><aname="l00538"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#a20d304786ed857ccad3701c8310beef1"> 538</a></span> <spanclass="comment"> type to force no auth or just that</span></div>
<divclass="line"><aname="l00539"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#a6c58e70cd4005e4c55f59ed804dfe875"> 539</a></span> <spanclass="comment"> single type */</span><spanclass="preprocessor"></span></div>
<divclass="line"><aname="l00540"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#a88e64b73acc60922b65a117f226afe61"> 540</a></span> <spanclass="preprocessor">#define CURLAUTH_ANY (~CURLAUTH_DIGEST_IE) </span><spanclass="comment">/* all fine types set */</span><spanclass="preprocessor"></span></div>
<divclass="line"><aname="l00543"></a><spanclass="lineno"> 543</span> <spanclass="preprocessor">#define CURLSSH_AUTH_ANY ~0 </span><spanclass="comment">/* all types supported by the server */</span><spanclass="preprocessor"></span></div>
<divclass="line"><aname="l00554"></a><spanclass="lineno"> 554</span> <spanclass="keyword">const</span><spanclass="keywordtype">char</span> *<aclass="code"href="structcurl__khkey.html#acd3d88da3c0e0313c3645ff34f62f542">key</a>; <spanclass="comment">/* points to a zero-terminated string encoded with base64</span></div>
<divclass="line"><aname="l00555"></a><spanclass="lineno"> 555</span> <spanclass="comment"> if len is zero, otherwise to the "raw" data */</span></div>
<divclass="line"><aname="l00565"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#a750862c8f2d432432eadc8ad12f6e8afa134bdbee394da3b7cc40ec13fa63e5ed"> 565</a></span> <spanclass="comment">/* this is the set of return values expected from the curl_sshkeycallback</span></div>
<divclass="line"><aname="l00570"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#a7cae413d076cdf380274f5641a1b4a22a857492dd7231037ac45280c24e161600"> 570</a></span> <aclass="code"href="curl_8h.html#a750862c8f2d432432eadc8ad12f6e8afa8cd745da2bf332b1369b829781b60f25">CURLKHSTAT_REJECT</a>, <spanclass="comment">/* reject the connection, return an error */</span></div>
<divclass="line"><aname="l00571"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#a7cae413d076cdf380274f5641a1b4a22af2a427f649e6ec8b416a06a132ba3e64"> 571</a></span> <aclass="code"href="curl_8h.html#a750862c8f2d432432eadc8ad12f6e8afafb41a07782b0ea2fddb1d6ebc55bb2de">CURLKHSTAT_DEFER</a>, <spanclass="comment">/* do not accept it, but we can't answer right now so</span></div>
<divclass="line"><aname="l00572"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#a7cae413d076cdf380274f5641a1b4a22aabf26e9b52abf9c87add59529bb08a41"> 572</a></span> <spanclass="comment"> this causes a CURLE_DEFER error but otherwise the</span></div>
<divclass="line"><aname="l00573"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#a7cae413d076cdf380274f5641a1b4a22a36b7d35d25c1bc7b309eebe54ff7ffc9"> 573</a></span> <spanclass="comment"> connection will be left intact etc */</span></div>
<divclass="line"><aname="l00574"></a><spanclass="lineno"> 574</span> <aclass="code"href="curl_8h.html#a750862c8f2d432432eadc8ad12f6e8afa134bdbee394da3b7cc40ec13fa63e5ed">CURLKHSTAT_LAST</a><spanclass="comment">/* not for use, only a marker for last-in-list */</span></div>
<divclass="line"><aname="l00577"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#a8d3ff739ef89f29c253b998a3ef58117"> 577</a></span> <spanclass="comment">/* this is the set of status codes pass in to the callback */</span></div>
<divclass="line"><aname="l00579"></a><spanclass="lineno"> 579</span> <aclass="code"href="curl_8h.html#a7cae413d076cdf380274f5641a1b4a22a857492dd7231037ac45280c24e161600">CURLKHMATCH_OK</a>, <spanclass="comment">/* match */</span></div>
<divclass="line"><aname="l00581"></a><spanclass="lineno"> 581</span> <aclass="code"href="curl_8h.html#a7cae413d076cdf380274f5641a1b4a22aabf26e9b52abf9c87add59529bb08a41">CURLKHMATCH_MISSING</a>, <spanclass="comment">/* no matching host/key found */</span></div>
<divclass="line"><aname="l00582"></a><spanclass="lineno"> 582</span> <aclass="code"href="curl_8h.html#a7cae413d076cdf380274f5641a1b4a22a36b7d35d25c1bc7b309eebe54ff7ffc9">CURLKHMATCH_LAST</a><spanclass="comment">/* not for use, only a marker for last-in-list */</span></div>
<divclass="line"><aname="l00587"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#aa5618da2459dcb16a18ed3552c17d33fa6b661cf271e2f9d9ff0eb28d926d417b"> 587</a></span> <spanclass="keyword">const</span><spanclass="keyword">struct </span><aclass="code"href="structcurl__khkey.html">curl_khkey</a> *knownkey, <spanclass="comment">/* known */</span></div>
<divclass="line"><aname="l00588"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#aa5618da2459dcb16a18ed3552c17d33fa996f396157159019b0308a009cfd5ab2"> 588</a></span> <spanclass="keyword">const</span><spanclass="keyword">struct </span><aclass="code"href="structcurl__khkey.html">curl_khkey</a> *foundkey, <spanclass="comment">/* found */</span></div>
<divclass="line"><aname="l00589"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#aa5618da2459dcb16a18ed3552c17d33fa9ae20cbb3c0362584a88d00f7248a8ff"> 589</a></span> <spanclass="keyword">enum</span><aclass="code"href="curl_8h.html#a7cae413d076cdf380274f5641a1b4a22">curl_khmatch</a>, <spanclass="comment">/* libcurl's view on the keys */</span></div>
<divclass="line"><aname="l00590"></a><spanclass="lineno"> 590</span> <spanclass="keywordtype">void</span> *clientp); <spanclass="comment">/* custom pointer passed from app */</span></div>
<divclass="line"><aname="l00592"></a><spanclass="lineno"> 592</span> <spanclass="comment">/* parameter for the CURLOPT_USE_SSL option */</span></div>
<divclass="line"><aname="l00594"></a><spanclass="lineno"> 594</span> <aclass="code"href="curl_8h.html#aa5618da2459dcb16a18ed3552c17d33fa8d2d45872cd96c41e269a5b659e023c4">CURLUSESSL_NONE</a>, <spanclass="comment">/* do not attempt to use SSL */</span></div>
<divclass="line"><aname="l00595"></a><spanclass="lineno"> 595</span> <aclass="code"href="curl_8h.html#aa5618da2459dcb16a18ed3552c17d33fa1b2e22a414d8dcc2d2c651bc59012986">CURLUSESSL_TRY</a>, <spanclass="comment">/* try using SSL, proceed anyway otherwise */</span></div>
<divclass="line"><aname="l00596"></a><spanclass="lineno"> 596</span> <aclass="code"href="curl_8h.html#aa5618da2459dcb16a18ed3552c17d33fa6b661cf271e2f9d9ff0eb28d926d417b">CURLUSESSL_CONTROL</a>, <spanclass="comment">/* SSL for the control connection or fail */</span></div>
<divclass="line"><aname="l00597"></a><spanclass="lineno"> 597</span> <aclass="code"href="curl_8h.html#aa5618da2459dcb16a18ed3552c17d33fa996f396157159019b0308a009cfd5ab2">CURLUSESSL_ALL</a>, <spanclass="comment">/* SSL for all communication or fail */</span></div>
<divclass="line"><aname="l00598"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#a918ac7135eef312171babc159c489376"> 598</a></span> <aclass="code"href="curl_8h.html#aa5618da2459dcb16a18ed3552c17d33fa9ae20cbb3c0362584a88d00f7248a8ff">CURLUSESSL_LAST</a><spanclass="comment">/* not an option, never use */</span></div>
<divclass="line"><aname="l00601"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#a091b7a37bdf8f2923396176587f26962"> 601</a></span> <spanclass="preprocessor">#ifndef CURL_NO_OLDIES </span><spanclass="comment">/* define this to test if your app builds with all</span></div>
<divclass="line"><aname="l00602"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#a29893c3b89bc19831182cc13c591bca1"> 602</a></span> <spanclass="comment"> the obsolete stuff removed! */</span><spanclass="preprocessor"></span></div>
<divclass="line"><aname="l00604"></a><spanclass="lineno"> 604</span> <spanclass="comment">/* Backwards compatibility with older names */</span></div>
<divclass="line"><aname="l00605"></a><spanclass="lineno"> 605</span> <spanclass="comment">/* These are scheduled to disappear by 2009 */</span></div>
<divclass="line"><aname="l00615"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#afa63f4f6ec2b2589a3cb5e5ee4ac7f8d"> 615</a></span> <spanclass="preprocessor"></span><spanclass="comment">/* parameter for the CURLOPT_FTP_SSL_CCC option */</span><spanclass="preprocessor"></span></div>
<divclass="line"><aname="l00617"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#afa63f4f6ec2b2589a3cb5e5ee4ac7f8da578e0d340b5e495763b25fa1e8da3c3f"> 617</a></span> <aclass="code"href="curl_8h.html#a48086b496b9853f6b9507af1c7a50acaaebb4adbb11e48dd8a721041f833075c7">CURLFTPSSL_CCC_NONE</a>, <spanclass="comment">/* do not send CCC */</span></div>
<divclass="line"><aname="l00618"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#afa63f4f6ec2b2589a3cb5e5ee4ac7f8dad3c7dc37f58e16b08fdd590bdaf712e7"> 618</a></span> <aclass="code"href="curl_8h.html#a48086b496b9853f6b9507af1c7a50acaa109ae8cbe93e796ac24a2e745f362140">CURLFTPSSL_CCC_PASSIVE</a>, <spanclass="comment">/* Let the server initiate the shutdown */</span></div>
<divclass="line"><aname="l00619"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#afa63f4f6ec2b2589a3cb5e5ee4ac7f8da009eac95309bcc8b86fa9f7fc4b6f03d"> 619</a></span> <aclass="code"href="curl_8h.html#a48086b496b9853f6b9507af1c7a50acaa9159611119fe5f4912d5875f41dd5f0a">CURLFTPSSL_CCC_ACTIVE</a>, <spanclass="comment">/* Initiate the shutdown */</span></div>
<divclass="line"><aname="l00620"></a><spanclass="lineno"> 620</span> <aclass="code"href="curl_8h.html#a48086b496b9853f6b9507af1c7a50acaa99c1f13c292ceb4696afe5cd03024172">CURLFTPSSL_CCC_LAST</a><spanclass="comment">/* not an option, never use */</span></div>
<divclass="line"><aname="l00623"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#a8f0f4653546847e18f56b9998fe32d48"> 623</a></span> <spanclass="comment">/* parameter for the CURLOPT_FTPSSLAUTH option */</span></div>
<divclass="line"><aname="l00625"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#a8f0f4653546847e18f56b9998fe32d48a2163443c074e73c61848fd0f34bbe0db"> 625</a></span> <aclass="code"href="curl_8h.html#afa63f4f6ec2b2589a3cb5e5ee4ac7f8da46e091e25e4a6e44c28b131bc2559248">CURLFTPAUTH_DEFAULT</a>, <spanclass="comment">/* let libcurl decide */</span></div>
<divclass="line"><aname="l00626"></a><spanclass="lineno"> 626</span> <aclass="code"href="curl_8h.html#afa63f4f6ec2b2589a3cb5e5ee4ac7f8da578e0d340b5e495763b25fa1e8da3c3f">CURLFTPAUTH_SSL</a>, <spanclass="comment">/* use "AUTH SSL" */</span></div>
<divclass="line"><aname="l00627"></a><spanclass="lineno"> 627</span> <aclass="code"href="curl_8h.html#afa63f4f6ec2b2589a3cb5e5ee4ac7f8dad3c7dc37f58e16b08fdd590bdaf712e7">CURLFTPAUTH_TLS</a>, <spanclass="comment">/* use "AUTH TLS" */</span></div>
<divclass="line"><aname="l00628"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#a8f0f4653546847e18f56b9998fe32d48a95d1161802442250aceb36a017e28de4"> 628</a></span> <aclass="code"href="curl_8h.html#afa63f4f6ec2b2589a3cb5e5ee4ac7f8da009eac95309bcc8b86fa9f7fc4b6f03d">CURLFTPAUTH_LAST</a><spanclass="comment">/* not an option, never use */</span></div>
<divclass="line"><aname="l00631"></a><spanclass="lineno"> 631</span> <spanclass="comment">/* parameter for the CURLOPT_FTP_CREATE_MISSING_DIRS option */</span></div>
<divclass="line"><aname="l00633"></a><spanclass="lineno"> 633</span> <aclass="code"href="curl_8h.html#a8f0f4653546847e18f56b9998fe32d48ac09f1b195c68519638d6a5d9ef70aaf6">CURLFTP_CREATE_DIR_NONE</a>, <spanclass="comment">/* do NOT create missing dirs! */</span></div>
<divclass="line"><aname="l00634"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#a23d10c12a7b202e52cd493b454b56b56"> 634</a></span> <aclass="code"href="curl_8h.html#a8f0f4653546847e18f56b9998fe32d48a2163443c074e73c61848fd0f34bbe0db">CURLFTP_CREATE_DIR</a>, <spanclass="comment">/* (FTP/SFTP) if CWD fails, try MKD and then CWD</span></div>
<divclass="line"><aname="l00635"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#a23d10c12a7b202e52cd493b454b56b56ad5e47a4d1410ee0cb7a74236fac61628"> 635</a></span> <spanclass="comment"> again if MKD succeeded, for SFTP this does</span></div>
<divclass="line"><aname="l00636"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#a23d10c12a7b202e52cd493b454b56b56ac2ef0386be4c35f977f684b5357ba8cc"> 636</a></span> <spanclass="comment"> similar magic */</span></div>
<divclass="line"><aname="l00637"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#a23d10c12a7b202e52cd493b454b56b56ad24edfb1eb56c55530ed797f3e0e50f0"> 637</a></span> <aclass="code"href="curl_8h.html#a8f0f4653546847e18f56b9998fe32d48a95d1161802442250aceb36a017e28de4">CURLFTP_CREATE_DIR_RETRY</a>, <spanclass="comment">/* (FTP only) if CWD fails, try MKD and then CWD</span></div>
<divclass="line"><aname="l00638"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#a23d10c12a7b202e52cd493b454b56b56a77c87eb07a3562668559e8f124aa5a64"> 638</a></span> <spanclass="comment"> again even if MKD failed! */</span></div>
<divclass="line"><aname="l00639"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#a23d10c12a7b202e52cd493b454b56b56a54ef7c45ba23bf3113ea15aaed16ba33"> 639</a></span> <aclass="code"href="curl_8h.html#a8f0f4653546847e18f56b9998fe32d48a0b3b02758db2136df80a6151ec4e92b6">CURLFTP_CREATE_DIR_LAST</a><spanclass="comment">/* not an option, never use */</span></div>
<divclass="line"><aname="l00642"></a><spanclass="lineno"> 642</span> <spanclass="comment">/* parameter for the CURLOPT_FTP_FILEMETHOD option */</span></div>
<divclass="line"><aname="l00644"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#a83d34123b66749720352af4bcb17a8e4"> 644</a></span> <aclass="code"href="curl_8h.html#a23d10c12a7b202e52cd493b454b56b56ad5e47a4d1410ee0cb7a74236fac61628">CURLFTPMETHOD_DEFAULT</a>, <spanclass="comment">/* let libcurl pick */</span></div>
<divclass="line"><aname="l00645"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#a9ba581e59a874626d594c0f7c241d6d2"> 645</a></span> <aclass="code"href="curl_8h.html#a23d10c12a7b202e52cd493b454b56b56ac2ef0386be4c35f977f684b5357ba8cc">CURLFTPMETHOD_MULTICWD</a>, <spanclass="comment">/* single CWD operation for each path part */</span></div>
<divclass="line"><aname="l00646"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#adef34e1e2989d3726cc20e3b5875f2f4"> 646</a></span> <aclass="code"href="curl_8h.html#a23d10c12a7b202e52cd493b454b56b56ad24edfb1eb56c55530ed797f3e0e50f0">CURLFTPMETHOD_NOCWD</a>, <spanclass="comment">/* no CWD at all */</span></div>
<divclass="line"><aname="l00647"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#a9815b02ec8c789f7afcda6e4e1144d23"> 647</a></span> <aclass="code"href="curl_8h.html#a23d10c12a7b202e52cd493b454b56b56a77c87eb07a3562668559e8f124aa5a64">CURLFTPMETHOD_SINGLECWD</a>, <spanclass="comment">/* one CWD to full dir, then work on file */</span></div>
<divclass="line"><aname="l00648"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#a7f016ee652c822683d1f48fdbe21dbb6"> 648</a></span> <aclass="code"href="curl_8h.html#a23d10c12a7b202e52cd493b454b56b56a54ef7c45ba23bf3113ea15aaed16ba33">CURLFTPMETHOD_LAST</a><spanclass="comment">/* not an option, never use */</span></div>
<divclass="line"><aname="l00651"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#aed470ee20e1ed4de6ca0c00708679512"> 651</a></span> <spanclass="comment">/* CURLPROTO_ defines are for the CURLOPT_*PROTOCOLS options */</span></div>
<divclass="line"><aname="l00680"></a><spanclass="lineno"> 680</span> <spanclass="comment">/* long may be 32 or 64 bits, but we should never depend on anything else</span></div>
<divclass="line"><aname="l00681"></a><spanclass="lineno"> 681</span> <spanclass="comment"> but 32 */</span></div>
<divclass="line"><aname="l00687"></a><spanclass="lineno"> 687</span> <spanclass="comment">/* name is uppercase CURLOPT_<name>,</span></div>
<divclass="line"><aname="l00688"></a><spanclass="lineno"> 688</span> <spanclass="comment"> type is one of the defined CURLOPTTYPE_<type></span></div>
<divclass="line"><aname="l00689"></a><spanclass="lineno"> 689</span> <spanclass="comment"> number is unique identifier */</span></div>
<divclass="line"><aname="l00697"></a><spanclass="lineno"> 697</span> <spanclass="comment">/* The macro "##" is ISO C, we assume pre-ISO C doesn't support it. */</span></div>
<divclass="line"><aname="l00698"></a><spanclass="lineno"> 698</span> <spanclass="preprocessor">#define LONG CURLOPTTYPE_LONG</span></div>
<divclass="line"><aname="l00706"></a><spanclass="lineno"> 706</span> <spanclass="comment"> * This macro-mania below setups the CURLOPT_[what] enum, to be used with</span></div>
<divclass="line"><aname="l00707"></a><spanclass="lineno"> 707</span> <spanclass="comment"> * curl_easy_setopt(). The first argument in the CINIT() macro is the [what]</span></div>
<divclass="line"><aname="l00712"></a><spanclass="lineno"> 712</span> <spanclass="comment">/* This is the FILE * or void * the regular output should be written to. */</span></div>
<divclass="line"><aname="l00718"></a><spanclass="lineno"> 718</span> <spanclass="comment">/* Port number to connect to, if other than default. */</span></div>
<divclass="line"><aname="l00724"></a><spanclass="lineno"> 724</span> <spanclass="comment">/* "name:password" to use when fetching. */</span></div>
<divclass="line"><aname="l00727"></a><spanclass="lineno"> 727</span> <spanclass="comment">/* "name:password" to use with proxy. */</span></div>
<divclass="line"><aname="l00730"></a><spanclass="lineno"> 730</span> <spanclass="comment">/* Range to get, specified as an ASCII string. */</span></div>
<divclass="line"><aname="l00735"></a><spanclass="lineno"> 735</span> <spanclass="comment">/* Specified file stream to upload from (use as input): */</span></div>
<divclass="line"><aname="l00738"></a><spanclass="lineno"> 738</span> <spanclass="comment">/* Buffer to receive error messages in, must be at least CURL_ERROR_SIZE</span></div>
<divclass="line"><aname="l00739"></a><spanclass="lineno"> 739</span> <spanclass="comment"> * bytes big. If this is not used, error messages go to stderr instead: */</span></div>
<divclass="line"><aname="l00742"></a><spanclass="lineno"> 742</span> <spanclass="comment">/* Function that will be called to store the output (instead of fwrite). The</span></div>
<divclass="line"><aname="l00743"></a><spanclass="lineno"> 743</span> <spanclass="comment"> * parameters will use fwrite() syntax, make sure to follow them. */</span></div>
<divclass="line"><aname="l00746"></a><spanclass="lineno"> 746</span> <spanclass="comment">/* Function that will be called to read the input (instead of fread). The</span></div>
<divclass="line"><aname="l00747"></a><spanclass="lineno"> 747</span> <spanclass="comment"> * parameters will use fread() syntax, make sure to follow them. */</span></div>
<divclass="line"><aname="l00750"></a><spanclass="lineno"> 750</span> <spanclass="comment">/* Time-out the read operation after this amount of seconds */</span></div>
<divclass="line"><aname="l00753"></a><spanclass="lineno"> 753</span> <spanclass="comment">/* If the CURLOPT_INFILE is used, this can be used to inform libcurl about</span></div>
<divclass="line"><aname="l00754"></a><spanclass="lineno"> 754</span> <spanclass="comment"> * how large the file being sent really is. That allows better error</span></div>
<divclass="line"><aname="l00755"></a><spanclass="lineno"> 755</span> <spanclass="comment"> * checking and better verifies that the upload was successful. -1 means</span></div>
<divclass="line"><aname="l00758"></a><spanclass="lineno"> 758</span> <spanclass="comment"> * For large file support, there is also a _LARGE version of the key</span></div>
<divclass="line"><aname="l00759"></a><spanclass="lineno"> 759</span> <spanclass="comment"> * which takes an off_t type, allowing platforms with larger off_t</span></div>
<divclass="line"><aname="l00760"></a><spanclass="lineno"> 760</span> <spanclass="comment"> * sizes to handle larger files. See below for INFILESIZE_LARGE.</span></div>
<divclass="line"><aname="l00767"></a><spanclass="lineno"> 767</span> <spanclass="comment">/* Set the referrer page (needed by some CGIs) */</span></div>
<divclass="line"><aname="l00770"></a><spanclass="lineno"> 770</span> <spanclass="comment">/* Set the FTP PORT string (interface name, named or numerical IP address)</span></div>
<divclass="line"><aname="l00771"></a><spanclass="lineno"> 771</span> <spanclass="comment"> Use i.e '-' to use default address. */</span></div>
<divclass="line"><aname="l00774"></a><spanclass="lineno"> 774</span> <spanclass="comment">/* Set the User-Agent string (examined by some CGIs) */</span></div>
<divclass="line"><aname="l00777"></a><spanclass="lineno"> 777</span> <spanclass="comment">/* If the download receives less than "low speed limit" bytes/second</span></div>
<divclass="line"><aname="l00778"></a><spanclass="lineno"> 778</span> <spanclass="comment"> * during "low speed time" seconds, the operations is aborted.</span></div>
<divclass="line"><aname="l00779"></a><spanclass="lineno"> 779</span> <spanclass="comment"> * You could i.e if you have a pretty high speed connection, abort if</span></div>
<divclass="line"><aname="l00780"></a><spanclass="lineno"> 780</span> <spanclass="comment"> * it is less than 2000 bytes/sec during 20 seconds.</span></div>
<divclass="line"><aname="l00791"></a><spanclass="lineno"> 791</span> <spanclass="comment"> * Note there is also a _LARGE version of this key which uses</span></div>
<divclass="line"><aname="l00792"></a><spanclass="lineno"> 792</span> <spanclass="comment"> * off_t types, allowing for large file offsets on platforms which</span></div>
<divclass="line"><aname="l00793"></a><spanclass="lineno"> 793</span> <spanclass="comment"> * use larger-than-32-bit off_t's. Look below for RESUME_FROM_LARGE.</span></div>
<divclass="line"><aname="l00800"></a><spanclass="lineno"> 800</span> <spanclass="comment">/* This points to a linked list of headers, struct curl_slist kind */</span></div>
<divclass="line"><aname="l00803"></a><spanclass="lineno"> 803</span> <spanclass="comment">/* This points to a linked list of post entries, struct curl_httppost */</span></div>
<divclass="line"><aname="l00812"></a><spanclass="lineno"> 812</span> <spanclass="comment">/* send FILE * or void * to store headers to, if you use a callback it</span></div>
<divclass="line"><aname="l00813"></a><spanclass="lineno"> 813</span> <spanclass="comment"> is simply passed to the callback unmodified */</span></div>
<divclass="line"><aname="l00816"></a><spanclass="lineno"> 816</span> <spanclass="comment">/* point to a file to read the initial cookies from, also enables</span></div>
<divclass="line"><aname="l00820"></a><spanclass="lineno"> 820</span> <spanclass="comment">/* What kind of HTTP time condition to use, see defines */</span></div>
<divclass="line"><aname="l00823"></a><spanclass="lineno"> 823</span> <spanclass="comment">/* Time to use with the above condition. Specified in number of seconds</span></div>
<divclass="line"><aname="l00824"></a><spanclass="lineno"> 824</span> <spanclass="comment"> since 1 Jan 1970 */</span></div>
<divclass="line"><aname="l00829"></a><spanclass="lineno"> 829</span> <spanclass="comment">/* Custom request, for customizing the get command like</span></div>
<divclass="line"><aname="l00830"></a><spanclass="lineno"> 830</span> <spanclass="comment"> HTTP: DELETE, TRACE and others</span></div>
<divclass="line"><aname="l00831"></a><spanclass="lineno"> 831</span> <spanclass="comment"> FTP: to use a different list command</span></div>
<divclass="line"><aname="l00835"></a><spanclass="lineno"> 835</span> <spanclass="comment">/* HTTP request, for odd commands like DELETE, TRACE and others */</span></div>
<divclass="line"><aname="l00843"></a><spanclass="lineno"> 843</span> <spanclass="comment">/* Pass a pointer to string of the output using full variable-replacement</span></div>
<divclass="line"><aname="l00844"></a><spanclass="lineno"> 844</span> <spanclass="comment"> as described elsewhere. */</span></div>
<divclass="line"><aname="l00847"></a><spanclass="lineno"> 847</span> <aclass="code"href="curl_8h.html#aa54e91565bcd9321dc9158b4595d4bfe">CINIT</a>(VERBOSE, LONG, 41), <spanclass="comment">/* talk a lot */</span></div>
<divclass="line"><aname="l00848"></a><spanclass="lineno"> 848</span> <aclass="code"href="curl_8h.html#aa54e91565bcd9321dc9158b4595d4bfe">CINIT</a>(HEADER, LONG, 42), <spanclass="comment">/* throw the header out too */</span></div>
<divclass="line"><aname="l00849"></a><spanclass="lineno"> 849</span> <aclass="code"href="curl_8h.html#aa54e91565bcd9321dc9158b4595d4bfe">CINIT</a>(NOPROGRESS, LONG, 43), <spanclass="comment">/* shut off the progress meter */</span></div>
<divclass="line"><aname="l00850"></a><spanclass="lineno"> 850</span> <aclass="code"href="curl_8h.html#aa54e91565bcd9321dc9158b4595d4bfe">CINIT</a>(NOBODY, LONG, 44), <spanclass="comment">/* use HEAD to get http document */</span></div>
<divclass="line"><aname="l00851"></a><spanclass="lineno"> 851</span> <aclass="code"href="curl_8h.html#aa54e91565bcd9321dc9158b4595d4bfe">CINIT</a>(FAILONERROR, LONG, 45), <spanclass="comment">/* no output on http error codes >= 300 */</span></div>
<divclass="line"><aname="l00852"></a><spanclass="lineno"> 852</span> <aclass="code"href="curl_8h.html#aa54e91565bcd9321dc9158b4595d4bfe">CINIT</a>(UPLOAD, LONG, 46), <spanclass="comment">/* this is an upload */</span></div>
<divclass="line"><aname="l00853"></a><spanclass="lineno"> 853</span> <aclass="code"href="curl_8h.html#aa54e91565bcd9321dc9158b4595d4bfe">CINIT</a>(POST, LONG, 47), <spanclass="comment">/* HTTP POST method */</span></div>
<divclass="line"><aname="l00854"></a><spanclass="lineno"> 854</span> <aclass="code"href="curl_8h.html#aa54e91565bcd9321dc9158b4595d4bfe">CINIT</a>(DIRLISTONLY, LONG, 48), <spanclass="comment">/* bare names when listing directories */</span></div>
<divclass="line"><aname="l00858"></a><spanclass="lineno"> 858</span> <spanclass="comment">/* Specify whether to read the user+password from the .netrc or the URL.</span></div>
<divclass="line"><aname="l00859"></a><spanclass="lineno"> 859</span> <spanclass="comment"> * This must be one of the CURL_NETRC_* enums below. */</span></div>
<divclass="line"><aname="l00864"></a><spanclass="lineno"> 864</span> <aclass="code"href="curl_8h.html#aa54e91565bcd9321dc9158b4595d4bfe">CINIT</a>(TRANSFERTEXT, LONG, 53), <spanclass="comment">/* transfer data in text/ASCII format */</span></div>
<divclass="line"><aname="l00865"></a><spanclass="lineno"> 865</span> <aclass="code"href="curl_8h.html#aa54e91565bcd9321dc9158b4595d4bfe">CINIT</a>(PUT, LONG, 54), <spanclass="comment">/* HTTP PUT */</span></div>
<divclass="line"><aname="l00869"></a><spanclass="lineno"> 869</span> <spanclass="comment">/* Function that will be called instead of the internal progress display</span></div>
<divclass="line"><aname="l00870"></a><spanclass="lineno"> 870</span> <spanclass="comment"> * function. This function should be defined as the curl_progress_callback</span></div>
<divclass="line"><aname="l00877"></a><spanclass="lineno"> 877</span> <spanclass="comment">/* We want the referrer field set automatically when following locations */</span></div>
<divclass="line"><aname="l00880"></a><spanclass="lineno"> 880</span> <spanclass="comment">/* Port of the proxy, can be set in the proxy string as well with:</span></div>
<divclass="line"><aname="l00884"></a><spanclass="lineno"> 884</span> <spanclass="comment">/* size of the POST input data, if strlen() is not good to use */</span></div>
<divclass="line"><aname="l00887"></a><spanclass="lineno"> 887</span> <spanclass="comment">/* tunnel non-http operations through a HTTP proxy */</span></div>
<divclass="line"><aname="l00890"></a><spanclass="lineno"> 890</span> <spanclass="comment">/* Set the interface string to use as outgoing network interface */</span></div>
<divclass="line"><aname="l00893"></a><spanclass="lineno"> 893</span> <spanclass="comment">/* Set the krb4/5 security level, this also enables krb4/5 awareness. This</span></div>
<divclass="line"><aname="l00894"></a><spanclass="lineno"> 894</span> <spanclass="comment"> * is a string, 'clear', 'safe', 'confidential' or 'private'. If the string</span></div>
<divclass="line"><aname="l00895"></a><spanclass="lineno"> 895</span> <spanclass="comment"> * is set but doesn't match one of these, 'private' will be used. */</span></div>
<divclass="line"><aname="l00901"></a><spanclass="lineno"> 901</span> <spanclass="comment">/* Maximum number of http redirects to follow */</span></div>
<divclass="line"><aname="l00904"></a><spanclass="lineno"> 904</span> <spanclass="comment">/* Pass a long set to 1 to get the date of the requested document (if</span></div>
<divclass="line"><aname="l00905"></a><spanclass="lineno"> 905</span> <spanclass="comment"> possible)! Pass a zero to shut it off. */</span></div>
<divclass="line"><aname="l00908"></a><spanclass="lineno"> 908</span> <spanclass="comment">/* This points to a linked list of telnet options */</span></div>
<divclass="line"><aname="l00911"></a><spanclass="lineno"> 911</span> <spanclass="comment">/* Max amount of cached alive connections */</span></div>
<divclass="line"><aname="l00919"></a><spanclass="lineno"> 919</span> <spanclass="comment">/* Set to explicitly use a new connection for the upcoming transfer.</span></div>
<divclass="line"><aname="l00920"></a><spanclass="lineno"> 920</span> <spanclass="comment"> Do not use this unless you're absolutely sure of this, as it makes the</span></div>
<divclass="line"><aname="l00921"></a><spanclass="lineno"> 921</span> <spanclass="comment"> operation slower and is less friendly for the network. */</span></div>
<divclass="line"><aname="l00924"></a><spanclass="lineno"> 924</span> <spanclass="comment">/* Set to explicitly forbid the upcoming transfer's connection to be re-used</span></div>
<divclass="line"><aname="l00925"></a><spanclass="lineno"> 925</span> <spanclass="comment"> when done. Do not use this unless you're absolutely sure of this, as it</span></div>
<divclass="line"><aname="l00926"></a><spanclass="lineno"> 926</span> <spanclass="comment"> makes the operation slower and is less friendly for the network. */</span></div>
<divclass="line"><aname="l00929"></a><spanclass="lineno"> 929</span> <spanclass="comment">/* Time-out connect operations after this amount of seconds, if connects</span></div>
<divclass="line"><aname="l00930"></a><spanclass="lineno"> 930</span> <spanclass="comment"> are OK within this time, then fine... This only aborts the connect</span></div>
<divclass="line"><aname="l00931"></a><spanclass="lineno"> 931</span> <spanclass="comment"> phase. [Only works on unix-style/SIGALRM operating systems] */</span></div>
<divclass="line"><aname="l00934"></a><spanclass="lineno"> 934</span> <spanclass="comment">/* Function that will be called to store headers (instead of fwrite). The</span></div>
<divclass="line"><aname="l00935"></a><spanclass="lineno"> 935</span> <spanclass="comment"> * parameters will use fwrite() syntax, make sure to follow them. */</span></div>
<divclass="line"><aname="l00938"></a><spanclass="lineno"> 938</span> <spanclass="comment">/* Set this to force the HTTP request to get back to GET. Only really usable</span></div>
<divclass="line"><aname="l00939"></a><spanclass="lineno"> 939</span> <spanclass="comment"> if POST, PUT or a custom request have been used first.</span></div>
<divclass="line"><aname="l00943"></a><spanclass="lineno"> 943</span> <spanclass="comment">/* Specify which file name to write all known cookies in after completed</span></div>
<divclass="line"><aname="l00944"></a><spanclass="lineno"> 944</span> <spanclass="comment"> operation. Set file name to "-" (dash) to make it go to stdout. */</span></div>
<divclass="line"><aname="l00947"></a><spanclass="lineno"> 947</span> <spanclass="comment">/* Specify which HTTP version to use! This must be set to one of the</span></div>
<divclass="line"><aname="l00948"></a><spanclass="lineno"> 948</span> <spanclass="comment"> CURL_HTTP_VERSION* enums set below. */</span></div>
<divclass="line"><aname="l00951"></a><spanclass="lineno"> 951</span> <spanclass="comment">/* Specifically switch on or off the FTP engine's use of the EPSV command. By</span></div>
<divclass="line"><aname="l00952"></a><spanclass="lineno"> 952</span> <spanclass="comment"> default, that one will always be attempted before the more traditional</span></div>
<divclass="line"><aname="l00956"></a><spanclass="lineno"> 956</span> <spanclass="comment">/* Non-zero value means to use the global dns cache */</span></div>
<divclass="line"><aname="l00957"></a><spanclass="lineno"> 957</span> <aclass="code"href="curl_8h.html#aa54e91565bcd9321dc9158b4595d4bfe">CINIT</a>(DNS_USE_GLOBAL_CACHE, LONG, 91), <spanclass="comment">/* To become OBSOLETE soon */</span></div>
<divclass="line"><aname="l00971"></a><spanclass="lineno"> 971</span> <spanclass="comment">/* mark this as start of a cookie session */</span></div>
<divclass="line"><aname="l00974"></a><spanclass="lineno"> 974</span> <spanclass="comment">/* Instruct libcurl to use a smaller receive buffer */</span></div>
<divclass="line"><aname="l00977"></a><spanclass="lineno"> 977</span> <spanclass="comment">/* Instruct libcurl to not use any signal/alarm handlers, even when using</span></div>
<divclass="line"><aname="l00978"></a><spanclass="lineno"> 978</span> <spanclass="comment"> timeouts. This option is useful for multi-threaded applications.</span></div>
<divclass="line"><aname="l00979"></a><spanclass="lineno"> 979</span> <spanclass="comment"> See libcurl-the-guide for more background information. */</span></div>
<divclass="line"><aname="l00982"></a><spanclass="lineno"> 982</span> <spanclass="comment">/* Provide a CURLShare for mutexing non-ts data */</span></div>
<divclass="line"><aname="l00985"></a><spanclass="lineno"> 985</span> <spanclass="comment">/* indicates type of proxy. accepted values are CURLPROXY_HTTP (default),</span></div>
<divclass="line"><aname="l00986"></a><spanclass="lineno"> 986</span> <spanclass="comment"> CURLPROXY_SOCKS4, CURLPROXY_SOCKS4A and CURLPROXY_SOCKS5. */</span></div>
<divclass="line"><aname="l00989"></a><spanclass="lineno"> 989</span> <spanclass="comment">/* Set the Accept-Encoding string. Use this to tell a server you would like</span></div>
<divclass="line"><aname="l00990"></a><spanclass="lineno"> 990</span> <spanclass="comment"> the response to be compressed. Before 7.21.6, this was known as</span></div>
<divclass="line"><aname="l00997"></a><spanclass="lineno"> 997</span> <spanclass="comment">/* Set aliases for HTTP 200 in the HTTP Response header */</span></div>
<divclass="line"><aname="l01000"></a><spanclass="lineno"> 1000</span> <spanclass="comment">/* Continue to send authentication (user+password) when following locations,</span></div>
<divclass="line"><aname="l01001"></a><spanclass="lineno"> 1001</span> <spanclass="comment"> even when hostname changed. This can potentially send off the name</span></div>
<divclass="line"><aname="l01002"></a><spanclass="lineno"> 1002</span> <spanclass="comment"> and password to whatever host the server decides. */</span></div>
<divclass="line"><aname="l01005"></a><spanclass="lineno"> 1005</span> <spanclass="comment">/* Specifically switch on or off the FTP engine's use of the EPRT command (</span></div>
<divclass="line"><aname="l01006"></a><spanclass="lineno"> 1006</span> <spanclass="comment"> it also disables the LPRT attempt). By default, those ones will always be</span></div>
<divclass="line"><aname="l01007"></a><spanclass="lineno"> 1007</span> <spanclass="comment"> attempted before the good old traditional PORT command. */</span></div>
<divclass="line"><aname="l01010"></a><spanclass="lineno"> 1010</span> <spanclass="comment">/* Set this to a bitmask value to enable the particular authentications</span></div>
<divclass="line"><aname="l01011"></a><spanclass="lineno"> 1011</span> <spanclass="comment"> methods you like. Use this in combination with CURLOPT_USERPWD.</span></div>
<divclass="line"><aname="l01012"></a><spanclass="lineno"> 1012</span> <spanclass="comment"> Note that setting multiple bits may cause extra network round-trips. */</span></div>
<divclass="line"><aname="l01015"></a><spanclass="lineno"> 1015</span> <spanclass="comment">/* FTP Option that causes missing dirs to be created on the remote server.</span></div>
<divclass="line"><aname="l01016"></a><spanclass="lineno"> 1016</span> <spanclass="comment"> In 7.19.4 we introduced the convenience enums for this option using the</span></div>
<divclass="line"><aname="l01021"></a><spanclass="lineno"> 1021</span> <spanclass="comment">/* Set this to a bitmask value to enable the particular authentications</span></div>
<divclass="line"><aname="l01022"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#ad3bb5ede1422eea51ca8f9d52849d677"> 1022</a></span> <spanclass="comment"> methods you like. Use this in combination with CURLOPT_PROXYUSERPWD.</span></div>
<divclass="line"><aname="l01023"></a><spanclass="lineno"> 1023</span> <spanclass="comment"> Note that setting multiple bits may cause extra network round-trips. */</span></div>
<divclass="line"><aname="l01026"></a><spanclass="lineno"> 1026</span> <spanclass="comment">/* FTP option that changes the timeout, in seconds, associated with</span></div>
<divclass="line"><aname="l01027"></a><spanclass="lineno"> 1027</span> <spanclass="comment"> getting a response. This is different from transfer timeout time and</span></div>
<divclass="line"><aname="l01028"></a><spanclass="lineno"> 1028</span> <spanclass="comment"> essentially places a demand on the FTP server to acknowledge commands</span></div>
<divclass="line"><aname="l01029"></a><spanclass="lineno"> 1029</span> <spanclass="comment"> in a timely manner. */</span></div>
<divclass="line"><aname="l01033"></a><spanclass="lineno"> 1033</span> <spanclass="comment">/* Set this option to one of the CURL_IPRESOLVE_* defines (see below) to</span></div>
<divclass="line"><aname="l01034"></a><spanclass="lineno"> 1034</span> <spanclass="comment"> tell libcurl to resolve names to those IP versions only. This only has</span></div>
<divclass="line"><aname="l01035"></a><spanclass="lineno"> 1035</span> <spanclass="comment"> affect on systems with support for more than one, i.e IPv4 _and_ IPv6. */</span></div>
<divclass="line"><aname="l01038"></a><spanclass="lineno"> 1038</span> <spanclass="comment">/* Set this option to limit the size of a file that will be downloaded from</span></div>
<divclass="line"><aname="l01039"></a><spanclass="lineno"> 1039</span> <spanclass="comment"> an HTTP or FTP server.</span></div>
<divclass="line"><aname="l01041"></a><spanclass="lineno"> 1041</span> <spanclass="comment"> Note there is also _LARGE version which adds large file support for</span></div>
<divclass="line"><aname="l01042"></a><spanclass="lineno"> 1042</span> <spanclass="comment"> platforms which have larger off_t sizes. See MAXFILESIZE_LARGE below. */</span></div>
<divclass="line"><aname="l01045"></a><spanclass="lineno"> 1045</span> <spanclass="comment">/* See the comment for INFILESIZE above, but in short, specifies</span></div>
<divclass="line"><aname="l01046"></a><spanclass="lineno"> 1046</span> <spanclass="comment"> * the size of the file being uploaded. -1 means unknown.</span></div>
<divclass="line"><aname="l01050"></a><spanclass="lineno"> 1050</span> <spanclass="comment">/* Sets the continuation offset. There is also a LONG version of this;</span></div>
<divclass="line"><aname="l01051"></a><spanclass="lineno"> 1051</span> <spanclass="comment"> * look above for RESUME_FROM.</span></div>
<divclass="line"><aname="l01055"></a><spanclass="lineno"> 1055</span> <spanclass="comment">/* Sets the maximum size of data that will be downloaded from</span></div>
<divclass="line"><aname="l01056"></a><spanclass="lineno"> 1056</span> <spanclass="comment"> * an HTTP or FTP server. See MAXFILESIZE above for the LONG version.</span></div>
<divclass="line"><aname="l01060"></a><spanclass="lineno"> 1060</span> <spanclass="comment">/* Set this option to the file name of your .netrc file you want libcurl</span></div>
<divclass="line"><aname="l01061"></a><spanclass="lineno"> 1061</span> <spanclass="comment"> to parse (using the CURLOPT_NETRC option). If not set, libcurl will do</span></div>
<divclass="line"><aname="l01062"></a><spanclass="lineno"> 1062</span> <spanclass="comment"> a poor attempt to find the user's home directory and check for a .netrc</span></div>
<divclass="line"><aname="l01063"></a><spanclass="lineno"> 1063</span> <spanclass="comment"> file in there. */</span></div>
<divclass="line"><aname="l01066"></a><spanclass="lineno"> 1066</span> <spanclass="comment">/* Enable SSL/TLS for FTP, pick one of:</span></div>
<divclass="line"><aname="l01067"></a><spanclass="lineno"> 1067</span> <spanclass="comment"> CURLFTPSSL_TRY - try using SSL, proceed anyway otherwise</span></div>
<divclass="line"><aname="l01068"></a><spanclass="lineno"> 1068</span> <spanclass="comment"> CURLFTPSSL_CONTROL - SSL for the control connection or fail</span></div>
<divclass="line"><aname="l01069"></a><spanclass="lineno"> 1069</span> <spanclass="comment"> CURLFTPSSL_ALL - SSL for all communication or fail</span></div>
<divclass="line"><aname="l01073"></a><spanclass="lineno"> 1073</span> <spanclass="comment">/* The _LARGE version of the standard POSTFIELDSIZE option */</span></div>
<divclass="line"><aname="l01079"></a><spanclass="lineno"> 1079</span> <spanclass="comment">/* 122 OBSOLETE, used in 7.12.3. Gone in 7.13.0 */</span></div>
<divclass="line"><aname="l01080"></a><spanclass="lineno"> 1080</span> <spanclass="comment">/* 123 OBSOLETE. Gone in 7.16.0 */</span></div>
<divclass="line"><aname="l01081"></a><spanclass="lineno"> 1081</span> <spanclass="comment">/* 124 OBSOLETE, used in 7.12.3. Gone in 7.13.0 */</span></div>
<divclass="line"><aname="l01082"></a><spanclass="lineno"> 1082</span> <spanclass="comment">/* 125 OBSOLETE, used in 7.12.3. Gone in 7.13.0 */</span></div>
<divclass="line"><aname="l01083"></a><spanclass="lineno"> 1083</span> <spanclass="comment">/* 126 OBSOLETE, used in 7.12.3. Gone in 7.13.0 */</span></div>
<divclass="line"><aname="l01084"></a><spanclass="lineno"> 1084</span> <spanclass="comment">/* 127 OBSOLETE. Gone in 7.16.0 */</span></div>
<divclass="line"><aname="l01085"></a><spanclass="lineno"> 1085</span> <spanclass="comment">/* 128 OBSOLETE. Gone in 7.16.0 */</span></div>
<divclass="line"><aname="l01087"></a><spanclass="lineno"> 1087</span> <spanclass="comment">/* When FTP over SSL/TLS is selected (with CURLOPT_USE_SSL), this option</span></div>
<divclass="line"><aname="l01088"></a><spanclass="lineno"> 1088</span> <spanclass="comment"> can be used to change libcurl's default action which is to first try</span></div>
<divclass="line"><aname="l01089"></a><spanclass="lineno"> 1089</span> <spanclass="comment">"AUTH SSL" and then "AUTH TLS" in this order, and proceed when a OK</span></div>
<divclass="line"><aname="l01090"></a><spanclass="lineno"> 1090</span> <spanclass="comment"> response has been received.</span></div>
<divclass="line"><aname="l01105"></a><spanclass="lineno"> 1105</span> <spanclass="comment">/* zero terminated string for pass on to the FTP server when asked for</span></div>
<divclass="line"><aname="l01106"></a><spanclass="lineno"> 1106</span> <spanclass="comment">"account" info */</span></div>
<divclass="line"><aname="l01115"></a><spanclass="lineno"> 1115</span> <spanclass="comment">/* Set to non-zero to skip the IP address received in a 227 PASV FTP server</span></div>
<divclass="line"><aname="l01116"></a><spanclass="lineno"> 1116</span> <spanclass="comment"> response. Typically used for FTP-SSL purposes but is not restricted to</span></div>
<divclass="line"><aname="l01117"></a><spanclass="lineno"> 1117</span> <spanclass="comment"> that. libcurl will then instead use the same IP address it used for the</span></div>
<divclass="line"><aname="l01118"></a><spanclass="lineno"> 1118</span> <spanclass="comment"> control connection. */</span></div>
<divclass="line"><aname="l01121"></a><spanclass="lineno"> 1121</span> <spanclass="comment">/* Select "file method" to use when doing FTP, see the curl_ftpmethod</span></div>
<divclass="line"><aname="l01125"></a><spanclass="lineno"> 1125</span> <spanclass="comment">/* Local port number to bind the socket to */</span></div>
<divclass="line"><aname="l01128"></a><spanclass="lineno"> 1128</span> <spanclass="comment">/* Number of ports to try, including the first one set with LOCALPORT.</span></div>
<divclass="line"><aname="l01129"></a><spanclass="lineno"> 1129</span> <spanclass="comment"> Thus, setting it to 1 will make no additional attempts but the first.</span></div>
<divclass="line"><aname="l01133"></a><spanclass="lineno"> 1133</span> <spanclass="comment">/* no transfer, set up connection and let application use the socket by</span></div>
<divclass="line"><aname="l01134"></a><spanclass="lineno"> 1134</span> <spanclass="comment"> extracting it with CURLINFO_LASTSOCKET */</span></div>
<divclass="line"><aname="l01137"></a><spanclass="lineno"> 1137</span> <spanclass="comment">/* Function that will be called to convert from the</span></div>
<divclass="line"><aname="l01138"></a><spanclass="lineno"> 1138</span> <spanclass="comment"> network encoding (instead of using the iconv calls in libcurl) */</span></div>
<divclass="line"><aname="l01141"></a><spanclass="lineno"> 1141</span> <spanclass="comment">/* Function that will be called to convert to the</span></div>
<divclass="line"><aname="l01142"></a><spanclass="lineno"> 1142</span> <spanclass="comment"> network encoding (instead of using the iconv calls in libcurl) */</span></div>
<divclass="line"><aname="l01145"></a><spanclass="lineno"> 1145</span> <spanclass="comment">/* Function that will be called to convert from UTF8</span></div>
<divclass="line"><aname="l01146"></a><spanclass="lineno"> 1146</span> <spanclass="comment"> (instead of using the iconv calls in libcurl)</span></div>
<divclass="line"><aname="l01147"></a><spanclass="lineno"> 1147</span> <spanclass="comment"> Note that this is used only for SSL certificate processing */</span></div>
<divclass="line"><aname="l01150"></a><spanclass="lineno"> 1150</span> <spanclass="comment">/* if the connection proceeds too quickly then need to slow it down */</span></div>
<divclass="line"><aname="l01151"></a><spanclass="lineno"> 1151</span> <spanclass="comment">/* limit-rate: maximum number of bytes per second to send or receive */</span></div>
<divclass="line"><aname="l01155"></a><spanclass="lineno"> 1155</span> <spanclass="comment">/* Pointer to command string to send if USER/PASS fails. */</span></div>
<divclass="line"><aname="l01158"></a><spanclass="lineno"> 1158</span> <spanclass="comment">/* callback function for setting socket options */</span></div>
<divclass="line"><aname="l01162"></a><spanclass="lineno"> 1162</span> <spanclass="comment">/* set to 0 to disable session ID re-use for this transfer, default is</span></div>
<divclass="line"><aname="l01169"></a><spanclass="lineno"> 1169</span> <spanclass="comment">/* Used by scp/sftp to do public/private key authentication */</span></div>
<divclass="line"><aname="l01176"></a><spanclass="lineno"> 1176</span> <spanclass="comment">/* Same as TIMEOUT and CONNECTTIMEOUT, but with ms resolution */</span></div>
<divclass="line"><aname="l01180"></a><spanclass="lineno"> 1180</span> <spanclass="comment">/* set to zero to disable the libcurl's decoding and thus pass the raw body</span></div>
<divclass="line"><aname="l01181"></a><spanclass="lineno"> 1181</span> <spanclass="comment"> data to the application even when it is encoded/compressed */</span></div>
<divclass="line"><aname="l01185"></a><spanclass="lineno"> 1185</span> <spanclass="comment">/* Permission used when creating new files and directories on the remote</span></div>
<divclass="line"><aname="l01186"></a><spanclass="lineno"> 1186</span> <spanclass="comment"> server for protocols that support it, SFTP/SCP/FILE */</span></div>
<divclass="line"><aname="l01190"></a><spanclass="lineno"> 1190</span> <spanclass="comment">/* Set the behaviour of POST when redirecting. Values must be set to one</span></div>
<divclass="line"><aname="l01191"></a><spanclass="lineno"> 1191</span> <spanclass="comment"> of CURL_REDIR* defines below. This used to be called CURLOPT_POST301 */</span></div>
<divclass="line"><aname="l01194"></a><spanclass="lineno"> 1194</span> <spanclass="comment">/* used by scp/sftp to verify the host's public key */</span></div>
<divclass="line"><aname="l01197"></a><spanclass="lineno"> 1197</span> <spanclass="comment">/* Callback function for opening socket (instead of socket(2)). Optionally,</span></div>
<divclass="line"><aname="l01198"></a><spanclass="lineno"> 1198</span> <spanclass="comment"> callback is able change the address or refuse to connect returning</span></div>
<divclass="line"><aname="l01199"></a><spanclass="lineno"> 1199</span> <spanclass="comment"> CURL_SOCKET_BAD. The callback should have type</span></div>
<divclass="line"><aname="l01207"></a><spanclass="lineno"> 1207</span> <spanclass="comment">/* set transfer mode (;type=<a|i>) when doing FTP via an HTTP proxy */</span></div>
<divclass="line"><aname="l01210"></a><spanclass="lineno"> 1210</span> <spanclass="comment">/* Callback function for seeking in the input stream */</span></div>
<divclass="line"><aname="l01217"></a><spanclass="lineno"> 1217</span> <spanclass="comment">/* "name" and "pwd" to use when fetching. */</span></div>
<divclass="line"><aname="l01221"></a><spanclass="lineno"> 1221</span> <spanclass="comment">/* "name" and "pwd" to use with Proxy when fetching. */</span></div>
<divclass="line"><aname="l01225"></a><spanclass="lineno"> 1225</span> <spanclass="comment">/* Comma separated list of hostnames defining no-proxy zones. These should</span></div>
<divclass="line"><aname="l01226"></a><spanclass="lineno"> 1226</span> <spanclass="comment"> match both hostnames directly, and hostnames within a domain. For</span></div>
<divclass="line"><aname="l01227"></a><spanclass="lineno"> 1227</span> <spanclass="comment"> example, local.com will match local.com and www.local.com, but NOT</span></div>
<divclass="line"><aname="l01228"></a><spanclass="lineno"> 1228</span> <spanclass="comment"> notlocal.com or www.notlocal.com. For compatibility with other</span></div>
<divclass="line"><aname="l01229"></a><spanclass="lineno"> 1229</span> <spanclass="comment"> implementations of this, .local.com will be considered to be the same as</span></div>
<divclass="line"><aname="l01230"></a><spanclass="lineno"> 1230</span> <spanclass="comment"> local.com. A single * is the only valid wildcard, and effectively</span></div>
<divclass="line"><aname="l01231"></a><spanclass="lineno"> 1231</span> <spanclass="comment"> disables the use of proxy. */</span></div>
<divclass="line"><aname="l01243"></a><spanclass="lineno"> 1243</span> <spanclass="comment">/* set the bitmask for the protocols that are allowed to be used for the</span></div>
<divclass="line"><aname="l01244"></a><spanclass="lineno"> 1244</span> <spanclass="comment"> transfer, which thus helps the app which takes URLs from users or other</span></div>
<divclass="line"><aname="l01245"></a><spanclass="lineno"> 1245</span> <spanclass="comment"> external inputs and want to restrict what protocol(s) to deal</span></div>
<divclass="line"><aname="l01246"></a><spanclass="lineno"> 1246</span> <spanclass="comment"> with. Defaults to CURLPROTO_ALL. */</span></div>
<divclass="line"><aname="l01249"></a><spanclass="lineno"> 1249</span> <spanclass="comment">/* set the bitmask for the protocols that libcurl is allowed to follow to,</span></div>
<divclass="line"><aname="l01250"></a><spanclass="lineno"> 1250</span> <spanclass="comment"> as a subset of the CURLOPT_PROTOCOLS ones. That means the protocol needs</span></div>
<divclass="line"><aname="l01251"></a><spanclass="lineno"> 1251</span> <spanclass="comment"> to be set in both bitmasks to be allowed to get redirected to. Defaults</span></div>
<divclass="line"><aname="l01252"></a><spanclass="lineno"> 1252</span> <spanclass="comment"> to all protocols except FILE and SCP. */</span></div>
<divclass="line"><aname="l01255"></a><spanclass="lineno"> 1255</span> <spanclass="comment">/* set the SSH knownhost file name to use */</span></div>
<divclass="line"><aname="l01258"></a><spanclass="lineno"> 1258</span> <spanclass="comment">/* set the SSH host key callback, must point to a curl_sshkeycallback</span></div>
<divclass="line"><aname="l01259"></a><spanclass="lineno"> 1259</span> <spanclass="comment"> function */</span></div>
<divclass="line"><aname="l01283"></a><spanclass="lineno"> 1283</span> <spanclass="comment">/* The Transport: header to use in RTSP requests */</span></div>
<divclass="line"><aname="l01286"></a><spanclass="lineno"> 1286</span> <spanclass="comment">/* Manually initialize the client RTSP CSeq for this handle */</span></div>
<divclass="line"><aname="l01289"></a><spanclass="lineno"> 1289</span> <spanclass="comment">/* Manually initialize the server RTSP CSeq for this handle */</span></div>
<divclass="line"><aname="l01292"></a><spanclass="lineno"> 1292</span> <spanclass="comment">/* The stream to pass to INTERLEAVEFUNCTION. */</span></div>
<divclass="line"><aname="l01295"></a><spanclass="lineno"> 1295</span> <spanclass="comment">/* Let the application define a custom write method for RTP data */</span></div>
<divclass="line"><aname="l01301"></a><spanclass="lineno"> 1301</span> <spanclass="comment">/* Directory matching callback called before downloading of an</span></div>
<divclass="line"><aname="l01302"></a><spanclass="lineno"> 1302</span> <spanclass="comment"> individual file (chunk) started */</span></div>
<divclass="line"><aname="l01305"></a><spanclass="lineno"> 1305</span> <spanclass="comment">/* Directory matching callback called after the file (chunk)</span></div>
<divclass="line"><aname="l01306"></a><spanclass="lineno"> 1306</span> <spanclass="comment"> was downloaded, or skipped */</span></div>
<divclass="line"><aname="l01309"></a><spanclass="lineno"> 1309</span> <spanclass="comment">/* Change match (fnmatch-like) callback for wildcard matching */</span></div>
<divclass="line"><aname="l01312"></a><spanclass="lineno"> 1312</span> <spanclass="comment">/* Let the application define custom chunk data pointer */</span></div>
<divclass="line"><aname="l01321"></a><spanclass="lineno"> 1321</span> <spanclass="comment">/* Set a username for authenticated TLS */</span></div>
<divclass="line"><aname="l01324"></a><spanclass="lineno"> 1324</span> <spanclass="comment">/* Set a password for authenticated TLS */</span></div>
<divclass="line"><aname="l01327"></a><spanclass="lineno"> 1327</span> <spanclass="comment">/* Set authentication type for authenticated TLS */</span></div>
<divclass="line"><aname="l01330"></a><spanclass="lineno"> 1330</span> <spanclass="comment">/* Set to 1 to enable the "TE:" header in HTTP requests to ask for</span></div>
<divclass="line"><aname="l01331"></a><spanclass="lineno"> 1331</span> <spanclass="comment"> compressed transfer-encoded responses. Set to 0 to disable the use of TE:</span></div>
<divclass="line"><aname="l01332"></a><spanclass="lineno"> 1332</span> <spanclass="comment"> in outgoing requests. The current default is 0, but it might change in a</span></div>
<divclass="line"><aname="l01335"></a><spanclass="lineno"> 1335</span> <spanclass="comment"> libcurl will ask for the compressed methods it knows of, and if that</span></div>
<divclass="line"><aname="l01336"></a><spanclass="lineno"> 1336</span> <spanclass="comment"> isn't any, it will not ask for transfer-encoding at all even if this</span></div>
<divclass="line"><aname="l01337"></a><spanclass="lineno"> 1337</span> <spanclass="comment"> option is set to 1.</span></div>
<divclass="line"><aname="l01342"></a><spanclass="lineno"> 1342</span> <spanclass="comment">/* Callback function for closing socket (instead of close(2)). The callback</span></div>
<divclass="line"><aname="l01343"></a><spanclass="lineno"> 1343</span> <spanclass="comment"> should have type curl_closesocket_callback */</span></div>
<divclass="line"><aname="l01347"></a><spanclass="lineno"> 1347</span> <spanclass="comment">/* SSL context for NSSL functions in nsysnet.rpl */</span></div>
<divclass="line"><aname="l01350"></a><spanclass="lineno"> 1350</span> <aclass="code"href="curl_8h.html#a683f408ac299e0409f0c8b3f73c36610ae60c8f72e9956e3e64c57697883f689a">CURLOPT_LASTENTRY</a><spanclass="comment">/* the last unused */</span></div>
<divclass="line"><aname="l01353"></a><spanclass="lineno"> 1353</span> <spanclass="preprocessor">#ifndef CURL_NO_OLDIES </span><spanclass="comment">/* define this to test if your app builds with all</span></div>
<divclass="line"><aname="l01354"></a><spanclass="lineno"> 1354</span> <spanclass="comment"> the obsolete stuff removed! */</span><spanclass="preprocessor"></span></div>
<divclass="line"><aname="l01356"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#acad0963ad9273d00375c924f40ba0705"> 1356</a></span> <spanclass="comment">/* Backwards compatibility with older names */</span></div>
<divclass="line"><aname="l01357"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#a826c1e33383e4bc1eb712a586d32d6c9"> 1357</a></span> <spanclass="comment">/* These are scheduled to disappear by 2011 */</span></div>
<divclass="line"><aname="l01359"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#a4a8fb49715939b7586872bfe00eaec15"> 1359</a></span> <spanclass="comment">/* This was added in version 7.19.1 */</span></div>
<divclass="line"><aname="l01362"></a><spanclass="lineno"> 1362</span> <spanclass="comment">/* These are scheduled to disappear by 2009 */</span></div>
<divclass="line"><aname="l01364"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#afdee9a03e53e8f90c6414ebfacc1cfe2"> 1364</a></span> <spanclass="comment">/* The following were added in 7.17.0 */</span></div>
<divclass="line"><aname="l01376"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#a10f1fdedc5753fb92ccfb7cb08bdf9d7"> 1376</a></span> <spanclass="comment">/* This is set if CURL_NO_OLDIES is defined at compile-time */</span></div>
<divclass="line"><aname="l01381"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#a5e322a044a630f52226d9b8146a65027"> 1381</a></span> <spanclass="comment">/* Below here follows defines for the CURLOPT_IPRESOLVE option. If a host</span></div>
<divclass="line"><aname="l01382"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#a809e04aebe5667cee7e32fb804370dc3"> 1382</a></span> <spanclass="comment"> name resolves addresses using more than one IP protocol version, this</span></div>
<divclass="line"><aname="l01383"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#a5e9f7c3897d98ee088d4565369ac4e29"> 1383</a></span> <spanclass="comment"> option might be handy to force libcurl to use a specific IP version. */</span></div>
<divclass="line"><aname="l01384"></a><spanclass="lineno"> 1384</span> <spanclass="preprocessor">#define CURL_IPRESOLVE_WHATEVER 0 </span><spanclass="comment">/* default, resolves addresses to all IP</span></div>
<divclass="line"><aname="l01385"></a><spanclass="lineno"> 1385</span> <spanclass="comment"> versions that your system allows */</span><spanclass="preprocessor"></span></div>
<divclass="line"><aname="l01386"></a><spanclass="lineno"> 1386</span> <spanclass="preprocessor">#define CURL_IPRESOLVE_V4 1 </span><spanclass="comment">/* resolve to ipv4 addresses */</span><spanclass="preprocessor"></span></div>
<divclass="line"><aname="l01387"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#a06fc87d81c62e9abb8790b6e5713c55ba4006f988c2417f7059cf2b5f0d79630f"> 1387</a></span> <spanclass="preprocessor">#define CURL_IPRESOLVE_V6 2 </span><spanclass="comment">/* resolve to ipv6 addresses */</span><spanclass="preprocessor"></span></div>
<divclass="line"><aname="l01389"></a><spanclass="lineno"> 1389</span> <spanclass="comment">/* three convenient "aliases" that follow the name scheme better */</span></div>
<divclass="line"><aname="l01395"></a><spanclass="lineno"> 1395</span> <spanclass="comment">/* These enums are for use with the CURLOPT_HTTP_VERSION option. */</span></div>
<divclass="line"><aname="l01397"></a><spanclass="lineno"> 1397</span> <aclass="code"href="curl_8h.html#a06fc87d81c62e9abb8790b6e5713c55ba4006f988c2417f7059cf2b5f0d79630f">CURL_HTTP_VERSION_NONE</a>, <spanclass="comment">/* setting this means we don't care, and that we'd</span></div>
<divclass="line"><aname="l01398"></a><spanclass="lineno"> 1398</span> <spanclass="comment"> like the library to choose the best possible</span></div>
<divclass="line"><aname="l01399"></a><spanclass="lineno"> 1399</span> <spanclass="comment"> for us! */</span></div>
<divclass="line"><aname="l01400"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#adf764cbdea00d65edcd07bb9953ad2b7a1bb8c86a6179f2f5edeb6e339aac21c2"> 1400</a></span> <aclass="code"href="curl_8h.html#a06fc87d81c62e9abb8790b6e5713c55babf20980d1f881523f95f620ddcce5667">CURL_HTTP_VERSION_1_0</a>, <spanclass="comment">/* please use HTTP 1.0 in the request */</span></div>
<divclass="line"><aname="l01401"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#adf764cbdea00d65edcd07bb9953ad2b7a419108dce39ebf4c49f3d64dbd0f0637"> 1401</a></span> <aclass="code"href="curl_8h.html#a06fc87d81c62e9abb8790b6e5713c55ba2bdca7ce6479378784212fee3a068c74">CURL_HTTP_VERSION_1_1</a>, <spanclass="comment">/* please use HTTP 1.1 in the request */</span></div>
<divclass="line"><aname="l01407"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#adf764cbdea00d65edcd07bb9953ad2b7a74c540a8e47ac6bacb32ec2d9531049a"> 1407</a></span> <spanclass="comment"> * Public API enums for RTSP requests</span></div>
<divclass="line"><aname="l01410"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#adf764cbdea00d65edcd07bb9953ad2b7a1741568c7bf90f9fcf47fae3af39e9e8"> 1410</a></span> <aclass="code"href="curl_8h.html#adf764cbdea00d65edcd07bb9953ad2b7a1bb8c86a6179f2f5edeb6e339aac21c2">CURL_RTSPREQ_NONE</a>, <spanclass="comment">/* first in list */</span></div>
<divclass="line"><aname="l01422"></a><spanclass="lineno"> 1422</span> <aclass="code"href="curl_8h.html#adf764cbdea00d65edcd07bb9953ad2b7a795700b26d23e049b22379c5986ba46e">CURL_RTSPREQ_LAST</a><spanclass="comment">/* last in list */</span></div>
<divclass="line"><aname="l01425"></a><spanclass="lineno"> 1425</span> <spanclass="comment">/* These enums are for use with the CURLOPT_NETRC option. */</span></div>
<divclass="line"><aname="l01427"></a><spanclass="lineno"> 1427</span> <aclass="code"href="curl_8h.html#ad2f83089deb2d8a6cac955e9d6f06deaa59820bd334fa9f57f196d62942254472">CURL_NETRC_IGNORED</a>, <spanclass="comment">/* The .netrc will never be read.</span></div>
<divclass="line"><aname="l01428"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#a99fb83031ce9923c84392b4e92f956b5a0227d3edc8c1ee5f0bb41831912ce756"> 1428</a></span> <spanclass="comment"> * This is the default. */</span></div>
<divclass="line"><aname="l01429"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#a99fb83031ce9923c84392b4e92f956b5af516898239e1f4a335ab3c0d019de40e"> 1429</a></span> <aclass="code"href="curl_8h.html#ad2f83089deb2d8a6cac955e9d6f06deaa0171a83022d598b131cc893975b13203">CURL_NETRC_OPTIONAL</a>, <spanclass="comment">/* A user:password in the URL will be preferred</span></div>
<divclass="line"><aname="l01430"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#a99fb83031ce9923c84392b4e92f956b5a0f8174e66c2e7084ab2aa414509110ce"> 1430</a></span> <spanclass="comment"> * to one in the .netrc. */</span></div>
<divclass="line"><aname="l01431"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#a99fb83031ce9923c84392b4e92f956b5a196e49e6628c0360cbe00852964fa906"> 1431</a></span> <aclass="code"href="curl_8h.html#ad2f83089deb2d8a6cac955e9d6f06deaa2effcb78ce3bbf09ca9a818ce3456c46">CURL_NETRC_REQUIRED</a>, <spanclass="comment">/* A user:password in the URL will be ignored.</span></div>
<divclass="line"><aname="l01432"></a><spanclass="lineno"> 1432</span> <spanclass="comment"> * Unless one is set programmatically, the .netrc</span></div>
<divclass="line"><aname="l01433"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#a99fb83031ce9923c84392b4e92f956b5a4fba35de2c7eebf13b096ac6c13d8219"> 1433</a></span> <spanclass="comment"> * will be queried. */</span></div>
<divclass="line"><aname="l01443"></a><spanclass="lineno"> 1443</span> <aclass="code"href="curl_8h.html#a99fb83031ce9923c84392b4e92f956b5a4fba35de2c7eebf13b096ac6c13d8219">CURL_SSLVERSION_LAST</a><spanclass="comment">/* never use, keep last */</span></div>
<divclass="line"><aname="l01449"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#a7360dd73a62a9573d733995fafcf544d"> 1449</a></span> <aclass="code"href="curl_8h.html#a24fffb09f0eaa14dd67cde59e7b09480ab689ed68b5497a3ad7f2c3bba745df0b">CURL_TLSAUTH_LAST</a><spanclass="comment">/* never use, keep last */</span></div>
<divclass="line"><aname="l01452"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#a845d262749bd413d724b58e26f713f25afedf4be1a889a36b688846763ca838f5"> 1452</a></span> <spanclass="comment">/* symbols to use with CURLOPT_POSTREDIR.</span></div>
<divclass="line"><aname="l01453"></a><spanclass="lineno"> 1453</span> <spanclass="comment"> CURL_REDIR_POST_301 and CURL_REDIR_POST_302 can be bitwise ORed so that</span></div>
<divclass="line"><aname="l01472"></a><spanclass="lineno"> 1472</span> <spanclass="comment">/* curl_strequal() and curl_strnequal() are subject for removal in a future</span></div>
<divclass="line"><aname="l01473"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#ac8cfd88fb72d9728d89e0d5ec5b8c83d"> 1473</a></span> <spanclass="comment"> libcurl, see lib/README.curlx for details */</span></div>
<divclass="line"><aname="l01474"></a><spanclass="lineno"> 1474</span> <aclass="code"href="curl_8h.html#a3adb15f21a822fbf7e879d3b78474490">CURL_EXTERN</a> int (<aclass="code"href="curl_8h.html#a175dd9a625a29628ea1caeb638affdc7">curl_strequal</a>)(<spanclass="keyword">const</span><spanclass="keywordtype">char</span> *s1, <spanclass="keyword">const</span><spanclass="keywordtype">char</span> *s2);</div>
<divclass="line"><aname="l01475"></a><spanclass="lineno"> 1475</span> <aclass="code"href="curl_8h.html#a3adb15f21a822fbf7e879d3b78474490">CURL_EXTERN</a> int (<aclass="code"href="curl_8h.html#adcd9a00cf9b7770143454202bf005921">curl_strnequal</a>)(<spanclass="keyword">const</span><spanclass="keywordtype">char</span> *s1, <spanclass="keyword">const</span><spanclass="keywordtype">char</span> *s2, <spanclass="keywordtype">size_t</span> n);</div>
<divclass="line"><aname="l01477"></a><spanclass="lineno"> 1477</span> <spanclass="comment">/* name is uppercase CURLFORM_<name> */</span></div>
<divclass="line"><aname="l01485"></a><spanclass="lineno"> 1485</span> <spanclass="comment">/* The macro "##" is ISO C, we assume pre-ISO C doesn't support it. */</span></div>
<divclass="line"><aname="l01490"></a><spanclass="lineno"> 1490</span> <aclass="code"href="curl_8h.html#ac8cfd88fb72d9728d89e0d5ec5b8c83d">CFINIT</a>(NOTHING), <spanclass="comment">/********* the first one is unused ************/</span></div>
<divclass="line"><aname="l01516"></a><spanclass="lineno"> 1516</span> <aclass="code"href="curl_8h.html#ae5d88dd64ce41daec95c47679b8c000faa07fd041aaaca989781349999dcc76ef">CURLFORM_LASTENTRY</a><spanclass="comment">/* the last unused */</span></div>
<divclass="line"><aname="l01521"></a><spanclass="lineno"> 1521</span> <spanclass="comment">/* structure to be used as parameter for CURLFORM_ARRAY */</span></div>
<divclass="line"><aname="l01527"></a><spanclass="lineno"> 1527</span> <spanclass="comment">/* use this for multipart formpost building */</span></div>
<divclass="line"><aname="l01528"></a><spanclass="lineno"> 1528</span> <spanclass="comment">/* Returns code for curl_formadd()</span></div>
<divclass="line"><aname="l01531"></a><spanclass="lineno"> 1531</span> <spanclass="comment"> * CURL_FORMADD_OK on success</span></div>
<divclass="line"><aname="l01532"></a><spanclass="lineno"> 1532</span> <spanclass="comment"> * CURL_FORMADD_MEMORY if the FormInfo allocation fails</span></div>
<divclass="line"><aname="l01533"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#ad019905d2198c6b5937b21b0ac025271"> 1533</a></span> <spanclass="comment"> * CURL_FORMADD_OPTION_TWICE if one option is given twice for one Form</span></div>
<divclass="line"><aname="l01534"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#ad019905d2198c6b5937b21b0ac025271acf690d4c785b743d607d21cc3bd99025"> 1534</a></span> <spanclass="comment"> * CURL_FORMADD_NULL if a null pointer was given for a char</span></div>
<divclass="line"><aname="l01535"></a><spanclass="lineno"> 1535</span> <spanclass="comment"> * CURL_FORMADD_MEMORY if the allocation of a FormInfo struct failed</span></div>
<divclass="line"><aname="l01536"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#ad019905d2198c6b5937b21b0ac025271a2a83c978fd2da0e1396d4e1b3fc40d08"> 1536</a></span> <spanclass="comment"> * CURL_FORMADD_UNKNOWN_OPTION if an unknown option was used</span></div>
<divclass="line"><aname="l01537"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#ad019905d2198c6b5937b21b0ac025271ab2fc8c1731f2d453fc3290cf0790058a"> 1537</a></span> <spanclass="comment"> * CURL_FORMADD_INCOMPLETE if the some FormInfo is not complete (or error)</span></div>
<divclass="line"><aname="l01538"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#ad019905d2198c6b5937b21b0ac025271ad1e995994af9e4c3b998ed34098b6338"> 1538</a></span> <spanclass="comment"> * CURL_FORMADD_MEMORY if a curl_httppost struct cannot be allocated</span></div>
<divclass="line"><aname="l01539"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#ad019905d2198c6b5937b21b0ac025271ac106287f9f0b50fca8189bba1c072b81"> 1539</a></span> <spanclass="comment"> * CURL_FORMADD_MEMORY if some allocation for string copying failed.</span></div>
<divclass="line"><aname="l01540"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#ad019905d2198c6b5937b21b0ac025271a8967c3cb2759e94fa475e8b72d896f32"> 1540</a></span> <spanclass="comment"> * CURL_FORMADD_ILLEGAL_ARRAY if an illegal option is used in an array</span></div>
<divclass="line"><aname="l01552"></a><spanclass="lineno"> 1552</span> <aclass="code"href="curl_8h.html#ad019905d2198c6b5937b21b0ac025271aace9e0be841f7edc999789f8748f66f4">CURL_FORMADD_DISABLED</a>, <spanclass="comment">/* libcurl was built with this disabled */</span></div>
<divclass="line"><aname="l01554"></a><spanclass="lineno"> 1554</span> <aclass="code"href="curl_8h.html#ad019905d2198c6b5937b21b0ac025271a26768e00903b4cfd04525ffce510ed86">CURL_FORMADD_LAST</a><spanclass="comment">/* last */</span></div>
<divclass="line"><aname="l01562"></a><spanclass="lineno"> 1562</span> <spanclass="comment"> * Pretty advanced function for building multi-part formposts. Each invoke</span></div>
<divclass="line"><aname="l01563"></a><spanclass="lineno"> 1563</span> <spanclass="comment"> * adds one part that together construct a full post. Then use</span></div>
<divclass="line"><aname="l01564"></a><spanclass="lineno"> 1564</span> <spanclass="comment"> * CURLOPT_HTTPPOST to send it off to libcurl.</span></div>
<divclass="line"><aname="l01571"></a><spanclass="lineno"> 1571</span> <spanclass="comment"> * callback function for curl_formget()</span></div>
<divclass="line"><aname="l01572"></a><spanclass="lineno"> 1572</span> <spanclass="comment"> * The void *arg pointer will be the one passed as second argument to</span></div>
<divclass="line"><aname="l01574"></a><spanclass="lineno"> 1574</span> <spanclass="comment"> * The character buffer passed to it must not be freed.</span></div>
<divclass="line"><aname="l01575"></a><spanclass="lineno"> 1575</span> <spanclass="comment"> * Should return the buffer length passed to it as the argument "len" on</span></div>
<divclass="line"><aname="l01586"></a><spanclass="lineno"> 1586</span> <spanclass="comment"> * Serialize a curl_httppost struct built with curl_formadd().</span></div>
<divclass="line"><aname="l01587"></a><spanclass="lineno"> 1587</span> <spanclass="comment"> * Accepts a void pointer as second argument which will be passed to</span></div>
<divclass="line"><aname="l01588"></a><spanclass="lineno"> 1588</span> <spanclass="comment"> * the curl_formget_callback function.</span></div>
<divclass="line"><aname="l01589"></a><spanclass="lineno"> 1589</span> <spanclass="comment"> * Returns 0 on success.</span></div>
<divclass="line"><aname="l01598"></a><spanclass="lineno"> 1598</span> <spanclass="comment"> * Free a multipart formpost previously built with curl_formadd().</span></div>
<divclass="line"><aname="l01607"></a><spanclass="lineno"> 1607</span> <spanclass="comment"> * Returns a malloc()'ed string that MUST be curl_free()ed after usage is</span></div>
<divclass="line"><aname="l01608"></a><spanclass="lineno"> 1608</span> <spanclass="comment"> * complete. DEPRECATED - see lib/README.curlx</span></div>
<divclass="line"><aname="l01617"></a><spanclass="lineno"> 1617</span> <spanclass="comment"> * Returns a static ascii string of the libcurl version.</span></div>
<divclass="line"><aname="l01626"></a><spanclass="lineno"> 1626</span> <spanclass="comment"> * Escapes URL strings (converts all letters consider illegal in URLs to their</span></div>
<divclass="line"><aname="l01627"></a><spanclass="lineno"> 1627</span> <spanclass="comment"> * %XX versions). This function returns a new allocated string or NULL if an</span></div>
<divclass="line"><aname="l01644"></a><spanclass="lineno"> 1644</span> <spanclass="comment"> * Unescapes URL encoding in strings (converts all %XX codes to their 8bit</span></div>
<divclass="line"><aname="l01645"></a><spanclass="lineno"> 1645</span> <spanclass="comment"> * versions). This function returns a new allocated string or NULL if an error</span></div>
<divclass="line"><aname="l01664"></a><spanclass="lineno"> 1664</span> <spanclass="comment"> * Provided for de-allocation in the same translation unit that did the</span></div>
<divclass="line"><aname="l01665"></a><spanclass="lineno"> 1665</span> <spanclass="comment"> * allocation. Added in libcurl 7.10</span></div>
<divclass="line"><aname="l01674"></a><spanclass="lineno"> 1674</span> <spanclass="comment"> * curl_global_init() should be invoked exactly once for each application that</span></div>
<divclass="line"><aname="l01675"></a><spanclass="lineno"> 1675</span> <spanclass="comment"> * uses libcurl and before any call of other libcurl functions.</span></div>
<divclass="line"><aname="l01686"></a><spanclass="lineno"> 1686</span> <spanclass="comment"> * curl_global_init() or curl_global_init_mem() should be invoked exactly once</span></div>
<divclass="line"><aname="l01687"></a><spanclass="lineno"> 1687</span> <spanclass="comment"> * for each application that uses libcurl. This function can be used to</span></div>
<divclass="line"><aname="l01688"></a><spanclass="lineno"> 1688</span> <spanclass="comment"> * initialize libcurl and set user defined memory management callback</span></div>
<divclass="line"><aname="l01689"></a><spanclass="lineno"> 1689</span> <spanclass="comment"> * functions. Users can implement memory management routines to check for</span></div>
<divclass="line"><aname="l01690"></a><spanclass="lineno"> 1690</span> <spanclass="comment"> * memory leaks, check for mis-use of the curl library etc. User registered</span></div>
<divclass="line"><aname="l01691"></a><spanclass="lineno"> 1691</span> <spanclass="comment"> * callback routines with be invoked by this library instead of the system</span></div>
<divclass="line"><aname="l01692"></a><spanclass="lineno"> 1692</span> <spanclass="comment"> * memory management routines like malloc, free etc.</span></div>
<divclass="line"><aname="l01702"></a><spanclass="lineno"><aclass="line"href="curl_8h.html"> 1702</a></span> <spanclass="comment"> * NAME curl_global_cleanup()</span></div>
<divclass="line"><aname="l01706"></a><spanclass="lineno"> 1706</span> <spanclass="comment"> * curl_global_cleanup() should be invoked exactly once for each application</span></div>
<divclass="line"><aname="l01707"></a><spanclass="lineno"> 1707</span> <spanclass="comment"> * that uses libcurl</span></div>
<divclass="line"><aname="l01722"></a><spanclass="lineno"> 1722</span> <spanclass="comment"> * Appends a string to a linked list. If no list exists, it will be created</span></div>
<divclass="line"><aname="l01723"></a><spanclass="lineno"> 1723</span> <spanclass="comment"> * first. Returns the new list, after appending.</span></div>
<divclass="line"><aname="l01742"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#a32d93ec944dc2a4d4172a8d11c91c85f"> 1742</a></span> <spanclass="comment"> * Returns the time, in seconds since 1 Jan 1970 of the time string given in</span></div>
<divclass="line"><aname="l01743"></a><spanclass="lineno"> 1743</span> <spanclass="comment"> * the first argument. The time argument in the second parameter is unused</span></div>
<divclass="line"><aname="l01744"></a><spanclass="lineno"> 1744</span> <spanclass="comment"> * and should be set to NULL.</span></div>
<divclass="line"><aname="l01748"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#ad7be151454940ae2241677a25623ff4d"> 1748</a></span> <spanclass="comment">/* info about the certificate chain, only for OpenSSL builds. Asked</span></div>
<divclass="line"><aname="l01749"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#a363ca12d0c8bf659e5464e4b04b8606c"> 1749</a></span> <spanclass="comment"> for with CURLOPT_CERTINFO / CURLINFO_CERTINFO */</span></div>
<divclass="line"><aname="l01751"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#af4a1df554a45a86e4868a5b1d64f6991"> 1751</a></span> <spanclass="keywordtype">int</span><aclass="code"href="curl_8h.html#a4bbdff291b172c00fa419f8136effaed">num_of_certs</a>; <spanclass="comment">/* number of certificates with information */</span></div>
<divclass="line"><aname="l01752"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#a23b724ee5185221a88164a8b416f3429"> 1752</a></span> <spanclass="keyword">struct </span><aclass="code"href="curl_8h.html#structcurl__slist">curl_slist</a> **<aclass="code"href="curl_8h.html#a32d93ec944dc2a4d4172a8d11c91c85f">certinfo</a>; <spanclass="comment">/* for each index in this array, there's a</span></div>
<divclass="line"><aname="l01753"></a><spanclass="lineno"> 1753</span> <spanclass="comment"> linked list with textual information in the</span></div>
<divclass="line"><aname="l01754"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#aabc03ec968a2fdccde5c6709f712dd7b"> 1754</a></span> <spanclass="comment"> format "name: value" */</span></div>
<divclass="line"><aname="l01765"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#aabc03ec968a2fdccde5c6709f712dd7bab90413618dc69c848add52ae36b4108e"> 1765</a></span> <aclass="code"href="curl_8h.html#aabc03ec968a2fdccde5c6709f712dd7ba6dcfe2edaf984754bc597ea3ebf470ba">CURLINFO_NONE</a>, <spanclass="comment">/* first, never use this */</span></div>
<divclass="line"><aname="l01808"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#aaf31ec3b5005604d9a4c8388ef0ecc60a7a54fe8625e5dda04d185e73c58c1c50"> 1808</a></span> <spanclass="comment">/* Fill in new entries below here! */</span></div>
<divclass="line"><aname="l01813"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#aaf31ec3b5005604d9a4c8388ef0ecc60a30377262436fabe8a85a0a2e32e01c7a"> 1813</a></span> <spanclass="comment">/* CURLINFO_RESPONSE_CODE is the new name for the option previously known as</span></div>
<divclass="line"><aname="l01818"></a><spanclass="lineno"> 1818</span> <aclass="code"href="curl_8h.html#aaf31ec3b5005604d9a4c8388ef0ecc60a7a54fe8625e5dda04d185e73c58c1c50">CURLCLOSEPOLICY_NONE</a>, <spanclass="comment">/* first, never use this */</span></div>
<divclass="line"><aname="l01826"></a><spanclass="lineno"> 1826</span> <aclass="code"href="curl_8h.html#aaf31ec3b5005604d9a4c8388ef0ecc60a7052afb5b4bba67177566ca1cf9c0765">CURLCLOSEPOLICY_LAST</a><spanclass="comment">/* last, never use this */</span></div>
<divclass="line"><aname="l01840"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#af898dd6eb71573ccb1668c3d2380549ca0b91c2d37a109fecce2640cf69d18df1"> 1840</a></span> <spanclass="comment">/* Different data locks for a single share */</span></div>
<divclass="line"><aname="l01843"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#af898dd6eb71573ccb1668c3d2380549ca7a7c4e67b6d5acb22de6b3623d3c7ace"> 1843</a></span> <spanclass="comment">/* CURL_LOCK_DATA_SHARE is used internally to say that</span></div>
<divclass="line"><aname="l01844"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#af898dd6eb71573ccb1668c3d2380549ca1bb575d2465ef4cb2fea088931a65899"> 1844</a></span> <spanclass="comment"> * the locking is just made to change the internal state of the share</span></div>
<divclass="line"><aname="l01858"></a><spanclass="lineno"> 1858</span> <aclass="code"href="curl_8h.html#a0ea2c7f23828ae93fb4eb9ab701bf6feaf709df738d553cb8d267a8ea6ba94519">CURL_LOCK_ACCESS_SHARED</a> = 1, <spanclass="comment">/* for read perhaps */</span></div>
<divclass="line"><aname="l01859"></a><spanclass="lineno"> 1859</span> <aclass="code"href="curl_8h.html#a0ea2c7f23828ae93fb4eb9ab701bf6feac29aeaf619308f144ae4c72526fbdb95">CURL_LOCK_ACCESS_SINGLE</a> = 2, <spanclass="comment">/* for write perhaps */</span></div>
<divclass="line"><aname="l01860"></a><spanclass="lineno"> 1860</span> <aclass="code"href="curl_8h.html#a0ea2c7f23828ae93fb4eb9ab701bf6feadec1daa1f6cab57dfbb40b03ba4603e4">CURL_LOCK_ACCESS_LAST</a><spanclass="comment">/* never use */</span></div>
<divclass="line"><aname="l01874"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#a8f6f69476ad0661f0b12ae9f5d6d425fac99813291b248a5a3f54c9f833347686"> 1874</a></span> <aclass="code"href="curl_8h.html#ac43d8db465228ea2d53762dc58fc8e44a156188a51ff616335cdf4c57296b23dd">CURLSHE_OK</a>, <spanclass="comment">/* all is fine */</span></div>
<divclass="line"><aname="l01878"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#a8f6f69476ad0661f0b12ae9f5d6d425fa9a3e9b8589f3dc48246124e8c44fc442"> 1878</a></span> <aclass="code"href="curl_8h.html#ac43d8db465228ea2d53762dc58fc8e44ad7457aed2c03d5eda92d3e4cc59233f7">CURLSHE_NOMEM</a>, <spanclass="comment">/* out of memory */</span></div>
<divclass="line"><aname="l01879"></a><spanclass="lineno"> 1879</span> <aclass="code"href="curl_8h.html#ac43d8db465228ea2d53762dc58fc8e44a914402168635950403d69045a9a8e8e8">CURLSHE_LAST</a><spanclass="comment">/* never use */</span></div>
<divclass="line"><aname="l01883"></a><spanclass="lineno"> 1883</span> <aclass="code"href="curl_8h.html#a8f6f69476ad0661f0b12ae9f5d6d425fabba78ec37924c71a9ddfd47f041391bc">CURLSHOPT_NONE</a>, <spanclass="comment">/* don't use */</span></div>
<divclass="line"><aname="l01884"></a><spanclass="lineno"> 1884</span> <aclass="code"href="curl_8h.html#a8f6f69476ad0661f0b12ae9f5d6d425fac99813291b248a5a3f54c9f833347686">CURLSHOPT_SHARE</a>, <spanclass="comment">/* specify a data type to share */</span></div>
<divclass="line"><aname="l01885"></a><spanclass="lineno"> 1885</span> <aclass="code"href="curl_8h.html#a8f6f69476ad0661f0b12ae9f5d6d425fa9acb23b734eb7900bdb259edbac508a1">CURLSHOPT_UNSHARE</a>, <spanclass="comment">/* specify which data type to stop sharing */</span></div>
<divclass="line"><aname="l01886"></a><spanclass="lineno"> 1886</span> <aclass="code"href="curl_8h.html#a8f6f69476ad0661f0b12ae9f5d6d425fa7fc572c3d97f9220b6a8c997a879122b">CURLSHOPT_LOCKFUNC</a>, <spanclass="comment">/* pass in a 'curl_lock_function' pointer */</span></div>
<divclass="line"><aname="l01887"></a><spanclass="lineno"> 1887</span> <aclass="code"href="curl_8h.html#a8f6f69476ad0661f0b12ae9f5d6d425fa2b58633bf6d2130163f868f1c60474a7">CURLSHOPT_UNLOCKFUNC</a>, <spanclass="comment">/* pass in a 'curl_unlock_function' pointer */</span></div>
<divclass="line"><aname="l01888"></a><spanclass="lineno"> 1888</span> <aclass="code"href="curl_8h.html#a8f6f69476ad0661f0b12ae9f5d6d425fa9a3e9b8589f3dc48246124e8c44fc442">CURLSHOPT_USERDATA</a>, <spanclass="comment">/* pass in a user data pointer used in the lock/unlock</span></div>
<divclass="line"><aname="l01890"></a><spanclass="lineno"> 1890</span> <aclass="code"href="curl_8h.html#a8f6f69476ad0661f0b12ae9f5d6d425fa5ff5b801f12c16ef621f1e87b930a78c">CURLSHOPT_LAST</a><spanclass="comment">/* never use */</span></div>
<divclass="line"><aname="l01898"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#a5354571aaeb1637cb595ab4515ec15fea49cded5522181ccc32abda1ae9a55b02"> 1898</a></span> <spanclass="comment"> * Structures for querying information about the curl library at runtime.</span></div>
<divclass="line"><aname="l01906"></a><spanclass="lineno"><aclass="line"href="curl_8h.html"> 1906</a></span> <aclass="code"href="curl_8h.html#a5354571aaeb1637cb595ab4515ec15fea49cded5522181ccc32abda1ae9a55b02">CURLVERSION_LAST</a><spanclass="comment">/* never actually use this */</span></div>
<divclass="line"><aname="l01909"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#a346c23673a9d4c543c3831c553c15c1f"> 1909</a></span> <spanclass="comment">/* The 'CURLVERSION_NOW' is the symbolic name meant to be used by</span></div>
<divclass="line"><aname="l01910"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#ae032e164f1daa754d6fbb79d59723931"> 1910</a></span> <spanclass="comment"> basically all programs ever that want to get version information. It is</span></div>
<divclass="line"><aname="l01911"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#a95d087aa0676d2cbc3e25cdd045311f7"> 1911</a></span> <spanclass="comment"> meant to be a built-in version number for what kind of struct the caller</span></div>
<divclass="line"><aname="l01912"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#adf00ddded589567dd730f0209c354479"> 1912</a></span> <spanclass="comment"> expects. If the struct ever changes, we redefine the NOW to another enum</span></div>
<divclass="line"><aname="l01913"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#a852c1f8ab10e4ce03aa0624a22cfc533"> 1913</a></span> <spanclass="comment"> from above. */</span></div>
<divclass="line"><aname="l01917"></a><spanclass="lineno"> 1917</span> <aclass="code"href="curl_8h.html#a5354571aaeb1637cb595ab4515ec15fe">CURLversion</a> age; <spanclass="comment">/* age of the returned struct */</span></div>
<divclass="line"><aname="l01920"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#a9785fe0c916c1320b1d6843421f4348a"> 1920</a></span> <spanclass="keyword">const</span><spanclass="keywordtype">char</span> *host; <spanclass="comment">/* OS/host/cpu/machine when configured */</span></div>
<divclass="line"><aname="l01921"></a><spanclass="lineno"> 1921</span> <spanclass="keywordtype">int</span> features; <spanclass="comment">/* bitmask, see defines below */</span></div>
<divclass="line"><aname="l01922"></a><spanclass="lineno"> 1922</span> <spanclass="keyword">const</span><spanclass="keywordtype">char</span> *ssl_version; <spanclass="comment">/* human readable string */</span></div>
<divclass="line"><aname="l01923"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#aaa0139a0a4a1a03d5e60eb43f8afe435"> 1923</a></span> <spanclass="keywordtype">long</span> ssl_version_num; <spanclass="comment">/* not used anymore, always 0 */</span></div>
<divclass="line"><aname="l01924"></a><spanclass="lineno"> 1924</span> <spanclass="keyword">const</span><spanclass="keywordtype">char</span> *libz_version; <spanclass="comment">/* human readable string */</span></div>
<divclass="line"><aname="l01925"></a><spanclass="lineno"> 1925</span> <spanclass="comment">/* protocols is terminated by an entry with a NULL protoname */</span></div>
<divclass="line"><aname="l01928"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#a7e764eb9ec869bf0d411ea4296a395f2"> 1928</a></span> <spanclass="comment">/* The fields below this were added in CURLVERSION_SECOND */</span></div>
<divclass="line"><aname="l01932"></a><spanclass="lineno"> 1932</span> <spanclass="comment">/* This field was added in CURLVERSION_THIRD */</span></div>
<divclass="line"><aname="l01935"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#a017b0d41b37d7d33033a456a456803ed"> 1935</a></span> <spanclass="comment">/* These field were added in CURLVERSION_FOURTH */</span></div>
<divclass="line"><aname="l01937"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#a972e9d8fa319372f541a1c7da5fa6cdf"> 1937</a></span> <spanclass="comment">/* Same as '_libiconv_version' if built with HAVE_ICONV */</span></div>
<divclass="line"><aname="l01945"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#a47972f44690acd15c94d8b37b4c588e5"> 1945</a></span> <spanclass="preprocessor">#define CURL_VERSION_KERBEROS4 (1<<1) </span><spanclass="comment">/* kerberos auth is supported */</span><spanclass="preprocessor"></span></div>
<divclass="line"><aname="l01946"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#aa9c353a6b5082cbdaaa72a2092081980"> 1946</a></span> <spanclass="preprocessor">#define CURL_VERSION_SSL (1<<2) </span><spanclass="comment">/* SSL options are present */</span><spanclass="preprocessor"></span></div>
<divclass="line"><aname="l01947"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#a7d790f9e08f2580e8c95a4040674f12f"> 1947</a></span> <spanclass="preprocessor">#define CURL_VERSION_LIBZ (1<<3) </span><spanclass="comment">/* libz features are present */</span><spanclass="preprocessor"></span></div>
<divclass="line"><aname="l01948"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#af0e076dc75652f872ba6e0dcd7b7e0e8"> 1948</a></span> <spanclass="preprocessor">#define CURL_VERSION_NTLM (1<<4) </span><spanclass="comment">/* NTLM auth is supported */</span><spanclass="preprocessor"></span></div>
<divclass="line"><aname="l01949"></a><spanclass="lineno"> 1949</span> <spanclass="preprocessor">#define CURL_VERSION_GSSNEGOTIATE (1<<5) </span><spanclass="comment">/* Negotiate auth support */</span><spanclass="preprocessor"></span></div>
<divclass="line"><aname="l01950"></a><spanclass="lineno"> 1950</span> <spanclass="preprocessor">#define CURL_VERSION_DEBUG (1<<6) </span><spanclass="comment">/* built with debug capabilities */</span><spanclass="preprocessor"></span></div>
<divclass="line"><aname="l01951"></a><spanclass="lineno"> 1951</span> <spanclass="preprocessor">#define CURL_VERSION_ASYNCHDNS (1<<7) </span><spanclass="comment">/* asynchronous dns resolves */</span><spanclass="preprocessor"></span></div>
<divclass="line"><aname="l01954"></a><spanclass="lineno"> 1954</span> <spanclass="preprocessor">#define CURL_VERSION_IDN (1<<10) </span><spanclass="comment">/* International Domain Names support */</span><spanclass="preprocessor"></span></div>
<divclass="line"><aname="l01955"></a><spanclass="lineno"> 1955</span> <spanclass="preprocessor">#define CURL_VERSION_SSPI (1<<11) </span><spanclass="comment">/* SSPI is supported */</span><spanclass="preprocessor"></span></div>
<divclass="line"><aname="l01956"></a><spanclass="lineno"> 1956</span> <spanclass="preprocessor">#define CURL_VERSION_CONV (1<<12) </span><spanclass="comment">/* character conversions supported */</span><spanclass="preprocessor"></span></div>
<divclass="line"><aname="l01965"></a><spanclass="lineno"> 1965</span> <spanclass="comment"> * This function returns a pointer to a static copy of the version info</span></div>
<divclass="line"><aname="l01966"></a><spanclass="lineno"> 1966</span> <spanclass="comment"> * struct. See above.</span></div>
<divclass="line"><aname="l01975"></a><spanclass="lineno"> 1975</span> <spanclass="comment"> * The curl_easy_strerror function may be used to turn a CURLcode value</span></div>
<divclass="line"><aname="l01976"></a><spanclass="lineno"> 1976</span> <spanclass="comment"> * into the equivalent human readable error string. This is useful</span></div>
<divclass="line"><aname="l01977"></a><spanclass="lineno"> 1977</span> <spanclass="comment"> * for printing meaningful error messages.</span></div>
<divclass="line"><aname="l01986"></a><spanclass="lineno"> 1986</span> <spanclass="comment"> * The curl_share_strerror function may be used to turn a CURLSHcode value</span></div>
<divclass="line"><aname="l01987"></a><spanclass="lineno"> 1987</span> <spanclass="comment"> * into the equivalent human readable error string. This is useful</span></div>
<divclass="line"><aname="l01988"></a><spanclass="lineno"> 1988</span> <spanclass="comment"> * for printing meaningful error messages.</span></div>
<divclass="line"><aname="l01993"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#a4077482c8ed11b401c3b25cc4a85fe8d"> 1993</a></span> <spanclass="comment"> * NAME curl_easy_pause()</span></div>
<divclass="line"><aname="l01997"></a><spanclass="lineno"><aclass="line"href="curl_8h.html#aba127afecedea3e386ea08fa1b0e2e56"> 1997</a></span> <spanclass="comment"> * The curl_easy_pause function pauses or unpauses transfers. Select the new</span></div>
<divclass="line"><aname="l01998"></a><spanclass="lineno"> 1998</span> <spanclass="comment"> * state by setting the bitmask, use the convenience defines below.</span></div>
<divclass="line"><aname="l02016"></a><spanclass="lineno"> 2016</span> <spanclass="comment">/* unfortunately, the easy.h and multi.h include files need options and info</span></div>
<divclass="line"><aname="l02017"></a><spanclass="lineno"> 2017</span> <spanclass="comment"> stuff before they can be included! */</span></div>
<divclass="line"><aname="l02018"></a><spanclass="lineno"> 2018</span> <spanclass="preprocessor">#include "<aclass="code"href="easy_8h.html">easy.h</a>"</span><spanclass="comment">/* nothing in curl is fun without the easy stuff */</span></div>
<divclass="line"><aname="l02021"></a><spanclass="lineno"> 2021</span> <spanclass="comment">/* the typechecker doesn't work in C++ (yet) */</span></div>
<divclass="line"><aname="l02028"></a><spanclass="lineno"> 2028</span> <spanclass="comment">/* This preprocessor magic that replaces a call with the exact same call is</span></div>
<divclass="line"><aname="l02029"></a><spanclass="lineno"> 2029</span> <spanclass="comment"> only done to make sure application authors pass exactly three arguments</span></div>
<divclass="line"><aname="l02030"></a><spanclass="lineno"> 2030</span> <spanclass="comment"> to these functions. */</span></div>
<divclass="ttc"id="acurl_8h_html_aa6606ff2564dbd1a7e44bb17ae34c4b3"><divclass="ttname"><ahref="curl_8h.html#aa6606ff2564dbd1a7e44bb17ae34c4b3">curl_fileinfo::perm</a></div><divclass="ttdeci">unsigned int perm</div><divclass="ttdef"><b>Definition:</b><ahref="curl_8h_source.html#l00163">curl.h:163</a></div></div>
<divclass="ttc"id="acurl_8h_html_a03e0323e9ee18a71f01f2805ad18ab41"><divclass="ttname"><ahref="curl_8h.html#a03e0323e9ee18a71f01f2805ad18ab41">curl_sockaddr::addrlen</a></div><divclass="ttdeci">unsigned int addrlen</div><divclass="ttdef"><b>Definition:</b><ahref="curl_8h_source.html#l00260">curl.h:260</a></div></div>
<divclass="ttc"id="acurl_8h_html_a917832fa8e5e1ecd23af50fe185b760e"><divclass="ttname"><ahref="curl_8h.html#a917832fa8e5e1ecd23af50fe185b760e">curl_fileinfo::hardlinks</a></div><divclass="ttdeci">long int hardlinks</div><divclass="ttdef"><b>Definition:</b><ahref="curl_8h_source.html#l00167">curl.h:167</a></div></div>
<divclass="ttc"id="acurl_8h_html_ac92588540e8c1d014a08cd8a45462b19"><divclass="ttname"><ahref="curl_8h.html#ac92588540e8c1d014a08cd8a45462b19">curl_fileinfo::flags</a></div><divclass="ttdeci">unsigned int flags</div><divclass="ttdef"><b>Definition:</b><ahref="curl_8h_source.html#l00178">curl.h:178</a></div></div>