<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <meta http-equiv="X-UA-Compatible" content="IE=9"/> <meta name="generator" content="Doxygen 1.8.6"/> <title>HTP: bstr.h Source File</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="dynsections.js"></script> <link href="doxygen.css" rel="stylesheet" type="text/css" /> </head> <body> <div id="top"><!-- do not remove this div, it is closed by doxygen! --> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td style="padding-left: 0.5em;"> <div id="projectname">HTP  <span id="projectnumber">0.5</span> </div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.6 --> <div id="navrow1" class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="annotated.html"><span>Data Structures</span></a></li> <li class="current"><a href="files.html"><span>Files</span></a></li> </ul> </div> <div id="navrow2" class="tabs2"> <ul class="tablist"> <li><a href="files.html"><span>File List</span></a></li> <li><a href="globals.html"><span>Globals</span></a></li> </ul> </div> <div id="nav-path" class="navpath"> <ul> <li class="navelem"><a class="el" href="dir_5edaa2d740570af18be6e40ef0aff597.html">htp</a></li> </ul> </div> </div><!-- top --> <div class="header"> <div class="headertitle"> <div class="title">bstr.h</div> </div> </div><!--header--> <div class="contents"> <a href="bstr_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/***************************************************************************</span></div> <div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * Copyright (c) 2009-2010 Open Information Security Foundation</span></div> <div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (c) 2010-2013 Qualys, Inc.</span></div> <div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * All rights reserved.</span></div> <div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * </span></div> <div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * Redistribution and use in source and binary forms, with or without</span></div> <div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * modification, are permitted provided that the following conditions are</span></div> <div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * met:</span></div> <div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * </span></div> <div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * - Redistributions of source code must retain the above copyright</span></div> <div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * notice, this list of conditions and the following disclaimer.</span></div> <div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"></span></div> <div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * - Redistributions in binary form must reproduce the above copyright</span></div> <div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * notice, this list of conditions and the following disclaimer in the</span></div> <div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * documentation and/or other materials provided with the distribution.</span></div> <div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"></span></div> <div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * - Neither the name of the Qualys, Inc. nor the names of its</span></div> <div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * contributors may be used to endorse or promote products derived from</span></div> <div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> * this software without specific prior written permission.</span></div> <div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> * </span></div> <div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS</span></div> <div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT</span></div> <div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR</span></div> <div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT</span></div> <div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,</span></div> <div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT</span></div> <div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment"> * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,</span></div> <div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY</span></div> <div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT</span></div> <div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment"> * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE</span></div> <div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment"> * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</span></div> <div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> ***************************************************************************/</span></div> <div class="line"><a name="l00033"></a><span class="lineno"> 33</span> </div> <div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#ifndef _BSTR_H</span></div> <div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor"></span><span class="preprocessor">#define _BSTR_H</span></div> <div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#ifdef __cplusplus</span></div> <div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">"C"</span> {</div> <div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor">#endif</span></div> <div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="bstr_8h.html#ad24e3759c8d17c13ae2f05d9dde4d0b6"> 46</a></span> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structbstr__t.html">bstr_t</a> <a class="code" href="structbstr__t.html">bstr</a>;</div> <div class="line"><a name="l00047"></a><span class="lineno"> 47</span> </div> <div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="preprocessor">#include <stdio.h></span></div> <div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="preprocessor">#include <stdlib.h></span></div> <div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="preprocessor">#include <stdint.h></span></div> <div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="preprocessor">#include <string.h></span></div> <div class="line"><a name="l00052"></a><span class="lineno"> 52</span> </div> <div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="preprocessor">#include "<a class="code" href="bstr__builder_8h.html">bstr_builder.h</a>"</span></div> <div class="line"><a name="l00054"></a><span class="lineno"> 54</span> </div> <div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="comment">// Data structures</span></div> <div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  </div> <div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="structbstr__t.html"> 57</a></span> <span class="keyword">struct </span><a class="code" href="structbstr__t.html">bstr_t</a> {</div> <div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="structbstr__t.html#ad72ce7bc0a8b99c1937559342c3c54fc"> 59</a></span>  <span class="keywordtype">size_t</span> <a class="code" href="structbstr__t.html#ad72ce7bc0a8b99c1937559342c3c54fc">len</a>;</div> <div class="line"><a name="l00060"></a><span class="lineno"> 60</span> </div> <div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="structbstr__t.html#ab1370e3dfd92deb1a483e015e51909f6"> 64</a></span>  <span class="keywordtype">size_t</span> <a class="code" href="structbstr__t.html#ab1370e3dfd92deb1a483e015e51909f6">size</a>;</div> <div class="line"><a name="l00065"></a><span class="lineno"> 65</span> </div> <div class="line"><a name="l00071"></a><span class="lineno"><a class="line" href="structbstr__t.html#a3bdf7897816201559011a71dded789ef"> 71</a></span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *<a class="code" href="structbstr__t.html#a3bdf7897816201559011a71dded789ef">realptr</a>;</div> <div class="line"><a name="l00072"></a><span class="lineno"> 72</span> };</div> <div class="line"><a name="l00073"></a><span class="lineno"> 73</span> </div> <div class="line"><a name="l00074"></a><span class="lineno"> 74</span> </div> <div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="comment">// Defines</span></div> <div class="line"><a name="l00076"></a><span class="lineno"> 76</span> </div> <div class="line"><a name="l00077"></a><span class="lineno"><a class="line" href="bstr_8h.html#a36b55b191f4f0e5276db7500e92ff011"> 77</a></span> <span class="preprocessor">#define bstr_len(X) ((*(X)).len)</span></div> <div class="line"><a name="l00078"></a><span class="lineno"><a class="line" href="bstr_8h.html#aaca056bf138739c408e1c0f2f28cc481"> 78</a></span> <span class="preprocessor"></span><span class="preprocessor">#define bstr_size(X) ((*(X)).size)</span></div> <div class="line"><a name="l00079"></a><span class="lineno"><a class="line" href="bstr_8h.html#ac01ba8e02318259790f7f7a4cc635904"> 79</a></span> <span class="preprocessor"></span><span class="preprocessor">#define bstr_ptr(X) ( ((*(X)).realptr == NULL) ? ((unsigned char *)(X) + sizeof(bstr)) : (unsigned char *)(*(X)).realptr )</span></div> <div class="line"><a name="l00080"></a><span class="lineno"><a class="line" href="bstr_8h.html#ab5a419035a1cf4796ff62ccd9bae415b"> 80</a></span> <span class="preprocessor"></span><span class="preprocessor">#define bstr_realptr(X) ((*(X)).realptr)</span></div> <div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00082"></a><span class="lineno"> 82</span> </div> <div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="comment">// Functions</span></div> <div class="line"><a name="l00084"></a><span class="lineno"> 84</span> </div> <div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <a class="code" href="structbstr__t.html">bstr</a> *<a class="code" href="bstr_8h.html#aac60e41b17d825ff82cc29a3fb80992e">bstr_add</a>(<a class="code" href="structbstr__t.html">bstr</a> *bdestination, <span class="keyword">const</span> <a class="code" href="structbstr__t.html">bstr</a> *bsource);</div> <div class="line"><a name="l00096"></a><span class="lineno"> 96</span> </div> <div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <a class="code" href="structbstr__t.html">bstr</a> *<a class="code" href="bstr_8h.html#a9a2c915077e09b431ca1dad167611b21">bstr_add_c</a>(<a class="code" href="structbstr__t.html">bstr</a> *b, <span class="keyword">const</span> <span class="keywordtype">char</span> *cstr);</div> <div class="line"><a name="l00108"></a><span class="lineno"> 108</span> </div> <div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <a class="code" href="structbstr__t.html">bstr</a> *<a class="code" href="bstr_8h.html#ade081b8669efe02752266ed6e54182f6">bstr_add_c_noex</a>(<a class="code" href="structbstr__t.html">bstr</a> *b, <span class="keyword">const</span> <span class="keywordtype">char</span> *cstr);</div> <div class="line"><a name="l00119"></a><span class="lineno"> 119</span> </div> <div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <a class="code" href="structbstr__t.html">bstr</a> *<a class="code" href="bstr_8h.html#a1e38bc25773092c05761f3c3bd65a72a">bstr_add_mem</a>(<a class="code" href="structbstr__t.html">bstr</a> *b, <span class="keyword">const</span> <span class="keywordtype">void</span> *data, <span class="keywordtype">size_t</span> len);</div> <div class="line"><a name="l00132"></a><span class="lineno"> 132</span> </div> <div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <a class="code" href="structbstr__t.html">bstr</a> *<a class="code" href="bstr_8h.html#a7cda1aefe198bbf7d7023eb18bade8da">bstr_add_mem_noex</a>(<a class="code" href="structbstr__t.html">bstr</a> *b, <span class="keyword">const</span> <span class="keywordtype">void</span> *data, <span class="keywordtype">size_t</span> len);</div> <div class="line"><a name="l00144"></a><span class="lineno"> 144</span> </div> <div class="line"><a name="l00154"></a><span class="lineno"> 154</span> <a class="code" href="structbstr__t.html">bstr</a> *<a class="code" href="bstr_8h.html#a47229ced18780442d24baa2be79ac9a2">bstr_add_noex</a>(<a class="code" href="structbstr__t.html">bstr</a> *bdestination, <span class="keyword">const</span> <a class="code" href="structbstr__t.html">bstr</a> *bsource);</div> <div class="line"><a name="l00155"></a><span class="lineno"> 155</span> </div> <div class="line"><a name="l00164"></a><span class="lineno"> 164</span> <span class="keywordtype">void</span> <a class="code" href="bstr_8h.html#ad6bdcaadaf0034880584515edbca2427">bstr_adjust_len</a>(<a class="code" href="structbstr__t.html">bstr</a> *b, <span class="keywordtype">size_t</span> newlen);</div> <div class="line"><a name="l00165"></a><span class="lineno"> 165</span> </div> <div class="line"><a name="l00173"></a><span class="lineno"> 173</span> <span class="keywordtype">void</span> <a class="code" href="bstr_8h.html#af3f9aa44f3a6948d66ca875432b7a255">bstr_adjust_realptr</a>(<a class="code" href="structbstr__t.html">bstr</a> *b, <span class="keywordtype">void</span> *newrealptr);</div> <div class="line"><a name="l00174"></a><span class="lineno"> 174</span> </div> <div class="line"><a name="l00184"></a><span class="lineno"> 184</span> <span class="keywordtype">void</span> <a class="code" href="bstr_8h.html#ac28786b1f330ae5992293ba028db9936">bstr_adjust_size</a>(<a class="code" href="structbstr__t.html">bstr</a> *b, <span class="keywordtype">size_t</span> newsize);</div> <div class="line"><a name="l00185"></a><span class="lineno"> 185</span> </div> <div class="line"><a name="l00192"></a><span class="lineno"> 192</span> <a class="code" href="structbstr__t.html">bstr</a> *<a class="code" href="bstr_8h.html#a0bf6ead63caf4e3bcfd6bec0cc130102">bstr_alloc</a>(<span class="keywordtype">size_t</span> size);</div> <div class="line"><a name="l00193"></a><span class="lineno"> 193</span> </div> <div class="line"><a name="l00201"></a><span class="lineno"> 201</span> <span class="keywordtype">int</span> <a class="code" href="bstr_8h.html#a324f1eb05bb2de42a75c305e98addf2b">bstr_begins_with</a>(<span class="keyword">const</span> <a class="code" href="structbstr__t.html">bstr</a> *bhaystack, <span class="keyword">const</span> <a class="code" href="structbstr__t.html">bstr</a> *bneedle);</div> <div class="line"><a name="l00202"></a><span class="lineno"> 202</span> </div> <div class="line"><a name="l00210"></a><span class="lineno"> 210</span> <span class="keywordtype">int</span> <a class="code" href="bstr_8h.html#a1f983f503792f40a63a81950b7a54c12">bstr_begins_with_c</a>(<span class="keyword">const</span> <a class="code" href="structbstr__t.html">bstr</a> *bhaystack, <span class="keyword">const</span> <span class="keywordtype">char</span> *cneedle);</div> <div class="line"><a name="l00211"></a><span class="lineno"> 211</span> </div> <div class="line"><a name="l00219"></a><span class="lineno"> 219</span> <span class="keywordtype">int</span> <a class="code" href="bstr_8h.html#a417a87585780955be04f060b10018ea8">bstr_begins_with_c_nocase</a>(<span class="keyword">const</span> <a class="code" href="structbstr__t.html">bstr</a> *bhaystack, <span class="keyword">const</span> <span class="keywordtype">char</span> *cneedle);</div> <div class="line"><a name="l00220"></a><span class="lineno"> 220</span> </div> <div class="line"><a name="l00229"></a><span class="lineno"> 229</span> <span class="keywordtype">int</span> <a class="code" href="bstr_8h.html#a6b8fcdb2fe133efb3b3af048983140f0">bstr_begins_with_mem</a>(<span class="keyword">const</span> <a class="code" href="structbstr__t.html">bstr</a> *bhaystack, <span class="keyword">const</span> <span class="keywordtype">void</span> *data, <span class="keywordtype">size_t</span> len);</div> <div class="line"><a name="l00230"></a><span class="lineno"> 230</span> </div> <div class="line"><a name="l00239"></a><span class="lineno"> 239</span> <span class="keywordtype">int</span> <a class="code" href="bstr_8h.html#a3180516ee49253f5b84acf650f77b362">bstr_begins_with_mem_nocase</a>(<span class="keyword">const</span> <a class="code" href="structbstr__t.html">bstr</a> *bhaystack, <span class="keyword">const</span> <span class="keywordtype">void</span> *data, <span class="keywordtype">size_t</span> len);</div> <div class="line"><a name="l00240"></a><span class="lineno"> 240</span> </div> <div class="line"><a name="l00248"></a><span class="lineno"> 248</span> <span class="keywordtype">int</span> <a class="code" href="bstr_8h.html#a103116ef859f4648246d69c005502b22">bstr_begins_with_nocase</a>(<span class="keyword">const</span> <a class="code" href="structbstr__t.html">bstr</a> *bhaystack, <span class="keyword">const</span> <a class="code" href="structbstr__t.html">bstr</a> *cneedle);</div> <div class="line"><a name="l00249"></a><span class="lineno"> 249</span> </div> <div class="line"><a name="l00257"></a><span class="lineno"> 257</span> <span class="keywordtype">int</span> <a class="code" href="bstr_8h.html#a0164a6d51901a909e3ae473ecc8b8a42">bstr_char_at</a>(<span class="keyword">const</span> <a class="code" href="structbstr__t.html">bstr</a> *b, <span class="keywordtype">size_t</span> pos);</div> <div class="line"><a name="l00258"></a><span class="lineno"> 258</span> </div> <div class="line"><a name="l00267"></a><span class="lineno"> 267</span> <span class="keywordtype">int</span> <a class="code" href="bstr_8h.html#a8eb4cfb22e61753899620617f200a36c">bstr_char_at_end</a>(<span class="keyword">const</span> <a class="code" href="structbstr__t.html">bstr</a> *b, <span class="keywordtype">size_t</span> pos);</div> <div class="line"><a name="l00268"></a><span class="lineno"> 268</span> </div> <div class="line"><a name="l00276"></a><span class="lineno"> 276</span> <span class="keywordtype">void</span> <a class="code" href="bstr_8h.html#ae7440589d0619590384aa3ac7070ba89">bstr_chop</a>(<a class="code" href="structbstr__t.html">bstr</a> *b);</div> <div class="line"><a name="l00277"></a><span class="lineno"> 277</span> </div> <div class="line"><a name="l00285"></a><span class="lineno"> 285</span> <span class="keywordtype">int</span> <a class="code" href="bstr_8h.html#a75dc35dde15052db45ac0496e33b76ce">bstr_chr</a>(<span class="keyword">const</span> <a class="code" href="structbstr__t.html">bstr</a> *b, <span class="keywordtype">int</span> c);</div> <div class="line"><a name="l00286"></a><span class="lineno"> 286</span> </div> <div class="line"><a name="l00295"></a><span class="lineno"> 295</span> <span class="keywordtype">int</span> <a class="code" href="bstr_8h.html#a8bac22bafd8fdc42aba04a50218bb14f">bstr_cmp</a>(<span class="keyword">const</span> <a class="code" href="structbstr__t.html">bstr</a> *b1, <span class="keyword">const</span> <a class="code" href="structbstr__t.html">bstr</a> *b2);</div> <div class="line"><a name="l00296"></a><span class="lineno"> 296</span>  </div> <div class="line"><a name="l00305"></a><span class="lineno"> 305</span> <span class="keywordtype">int</span> <a class="code" href="bstr_8h.html#ac0a3dddb9dd10e230869ecfff37d0a67">bstr_cmp_c</a>(<span class="keyword">const</span> <a class="code" href="structbstr__t.html">bstr</a> *b, <span class="keyword">const</span> <span class="keywordtype">char</span> *cstr);</div> <div class="line"><a name="l00306"></a><span class="lineno"> 306</span> </div> <div class="line"><a name="l00314"></a><span class="lineno"> 314</span> <span class="keywordtype">int</span> <a class="code" href="bstr_8h.html#a12998f020120896c5b40a081feb37ab7">bstr_cmp_c_nocase</a>(<span class="keyword">const</span> <a class="code" href="structbstr__t.html">bstr</a> *b, <span class="keyword">const</span> <span class="keywordtype">char</span> *cstr);</div> <div class="line"><a name="l00315"></a><span class="lineno"> 315</span> </div> <div class="line"><a name="l00324"></a><span class="lineno"> 324</span> <span class="keywordtype">int</span> <a class="code" href="bstr_8h.html#a2ac2b78d0f24179d733f2a9b11ec2efd">bstr_cmp_mem</a>(<span class="keyword">const</span> <a class="code" href="structbstr__t.html">bstr</a> *b, <span class="keyword">const</span> <span class="keywordtype">void</span> *data, <span class="keywordtype">size_t</span> len);</div> <div class="line"><a name="l00325"></a><span class="lineno"> 325</span> </div> <div class="line"><a name="l00334"></a><span class="lineno"> 334</span> <span class="keywordtype">int</span> <a class="code" href="bstr_8h.html#a9102c361d1a16e943beadc60162cc123">bstr_cmp_mem_nocase</a>(<span class="keyword">const</span> <a class="code" href="structbstr__t.html">bstr</a> *b, <span class="keyword">const</span> <span class="keywordtype">void</span> *data, <span class="keywordtype">size_t</span> len);</div> <div class="line"><a name="l00335"></a><span class="lineno"> 335</span> </div> <div class="line"><a name="l00344"></a><span class="lineno"> 344</span> <span class="keywordtype">int</span> <a class="code" href="bstr_8h.html#a4d6765fb2a88a0f2bac4e41bee24c294">bstr_cmp_nocase</a>(<span class="keyword">const</span> <a class="code" href="structbstr__t.html">bstr</a> *b1, <span class="keyword">const</span> <a class="code" href="structbstr__t.html">bstr</a> *b2);</div> <div class="line"><a name="l00345"></a><span class="lineno"> 345</span> </div> <div class="line"><a name="l00352"></a><span class="lineno"> 352</span> <a class="code" href="structbstr__t.html">bstr</a> *<a class="code" href="bstr_8h.html#ab4fc824d8df74ad6863a085f3901d30f">bstr_dup</a>(<span class="keyword">const</span> <a class="code" href="structbstr__t.html">bstr</a> *b);</div> <div class="line"><a name="l00353"></a><span class="lineno"> 353</span> </div> <div class="line"><a name="l00360"></a><span class="lineno"> 360</span> <a class="code" href="structbstr__t.html">bstr</a> *<a class="code" href="bstr_8h.html#a97c6e59a9a439d6f6c42a154c4059036">bstr_dup_c</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *cstr);</div> <div class="line"><a name="l00361"></a><span class="lineno"> 361</span> </div> <div class="line"><a name="l00370"></a><span class="lineno"> 370</span> <a class="code" href="structbstr__t.html">bstr</a> *<a class="code" href="bstr_8h.html#abaf68b4b27be54655cba0d74c24646c1">bstr_dup_ex</a>(<span class="keyword">const</span> <a class="code" href="structbstr__t.html">bstr</a> *b, <span class="keywordtype">size_t</span> offset, <span class="keywordtype">size_t</span> len);</div> <div class="line"><a name="l00371"></a><span class="lineno"> 371</span> </div> <div class="line"><a name="l00378"></a><span class="lineno"> 378</span> <a class="code" href="structbstr__t.html">bstr</a> *<a class="code" href="bstr_8h.html#ad866778a2b2da1cee5a668f7e3bb99de">bstr_dup_lower</a>(<span class="keyword">const</span> <a class="code" href="structbstr__t.html">bstr</a> *b);</div> <div class="line"><a name="l00379"></a><span class="lineno"> 379</span> </div> <div class="line"><a name="l00387"></a><span class="lineno"> 387</span> <a class="code" href="structbstr__t.html">bstr</a> *<a class="code" href="bstr_8h.html#ae558f2c20b24baa62f84a3ee820b2b2f">bstr_dup_mem</a>(<span class="keyword">const</span> <span class="keywordtype">void</span> *data, <span class="keywordtype">size_t</span> len);</div> <div class="line"><a name="l00388"></a><span class="lineno"> 388</span> </div> <div class="line"><a name="l00400"></a><span class="lineno"> 400</span> <a class="code" href="structbstr__t.html">bstr</a> *<a class="code" href="bstr_8h.html#a51bc377ac30a1092e84a4c3ab3d289f9">bstr_expand</a>(<a class="code" href="structbstr__t.html">bstr</a> *b, <span class="keywordtype">size_t</span> newsize);</div> <div class="line"><a name="l00401"></a><span class="lineno"> 401</span> </div> <div class="line"><a name="l00408"></a><span class="lineno"> 408</span> <span class="keywordtype">void</span> <a class="code" href="bstr_8h.html#a1b9ca92f8699af4136e5d1ed38ff73b0">bstr_free</a>(<a class="code" href="structbstr__t.html">bstr</a> *b);</div> <div class="line"><a name="l00409"></a><span class="lineno"> 409</span> </div> <div class="line"><a name="l00417"></a><span class="lineno"> 417</span> <span class="keywordtype">int</span> <a class="code" href="bstr_8h.html#a8bbf6a944666131eeaa0367abd9e0f02">bstr_index_of</a>(<span class="keyword">const</span> <a class="code" href="structbstr__t.html">bstr</a> *bhaystack, <span class="keyword">const</span> <a class="code" href="structbstr__t.html">bstr</a> *bneedle);</div> <div class="line"><a name="l00418"></a><span class="lineno"> 418</span> </div> <div class="line"><a name="l00426"></a><span class="lineno"> 426</span> <span class="keywordtype">int</span> <a class="code" href="bstr_8h.html#a6b9ea3baeb9cdae10d746a5b424a0d81">bstr_index_of_nocase</a>(<span class="keyword">const</span> <a class="code" href="structbstr__t.html">bstr</a> *bhaystack, <span class="keyword">const</span> <a class="code" href="structbstr__t.html">bstr</a> *bneedle);</div> <div class="line"><a name="l00427"></a><span class="lineno"> 427</span> </div> <div class="line"><a name="l00436"></a><span class="lineno"> 436</span> <span class="keywordtype">int</span> <a class="code" href="bstr_8h.html#a0a7f90ce17e4c74dd8af5a863a45f4e0">bstr_index_of_c</a>(<span class="keyword">const</span> <a class="code" href="structbstr__t.html">bstr</a> *bhaystack, <span class="keyword">const</span> <span class="keywordtype">char</span> *cneedle);</div> <div class="line"><a name="l00437"></a><span class="lineno"> 437</span> </div> <div class="line"><a name="l00446"></a><span class="lineno"> 446</span> <span class="keywordtype">int</span> <a class="code" href="bstr_8h.html#acda3d3e9c408c8b0674d7d97a14278fc">bstr_index_of_c_nocase</a>(<span class="keyword">const</span> <a class="code" href="structbstr__t.html">bstr</a> *bhaystack, <span class="keyword">const</span> <span class="keywordtype">char</span> *cneedle);</div> <div class="line"><a name="l00447"></a><span class="lineno"> 447</span> </div> <div class="line"><a name="l00456"></a><span class="lineno"> 456</span> <span class="keywordtype">int</span> <a class="code" href="bstr_8h.html#aa479403f7cf2f82d1c6192cdfafe1e46">bstr_index_of_mem</a>(<span class="keyword">const</span> <a class="code" href="structbstr__t.html">bstr</a> *bhaystack, <span class="keyword">const</span> <span class="keywordtype">void</span> *data, <span class="keywordtype">size_t</span> len);</div> <div class="line"><a name="l00457"></a><span class="lineno"> 457</span> </div> <div class="line"><a name="l00467"></a><span class="lineno"> 467</span> <span class="keywordtype">int</span> <a class="code" href="bstr_8h.html#a1095220f219385ab2c97fc31100d39f1">bstr_index_of_mem_nocase</a>(<span class="keyword">const</span> <a class="code" href="structbstr__t.html">bstr</a> *bhaystack, <span class="keyword">const</span> <span class="keywordtype">void</span> *data, <span class="keywordtype">size_t</span> len);</div> <div class="line"><a name="l00468"></a><span class="lineno"> 468</span> </div> <div class="line"><a name="l00476"></a><span class="lineno"> 476</span> <span class="keywordtype">int</span> <a class="code" href="bstr_8h.html#a386a3b3959b594ae718792268125abf7">bstr_rchr</a>(<span class="keyword">const</span> <a class="code" href="structbstr__t.html">bstr</a> *b, <span class="keywordtype">int</span> c);</div> <div class="line"><a name="l00477"></a><span class="lineno"> 477</span> </div> <div class="line"><a name="l00485"></a><span class="lineno"> 485</span> <a class="code" href="structbstr__t.html">bstr</a> *<a class="code" href="bstr_8h.html#a8efd20da92a9a40fee8a40bdcdfb194f">bstr_to_lowercase</a>(<a class="code" href="structbstr__t.html">bstr</a> *b);</div> <div class="line"><a name="l00486"></a><span class="lineno"> 486</span> </div> <div class="line"><a name="l00497"></a><span class="lineno"> 497</span> <span class="keywordtype">int</span> <a class="code" href="bstr_8h.html#aa0f4e55c03c97749a287948ee091145d">bstr_util_cmp_mem</a>(<span class="keyword">const</span> <span class="keywordtype">void</span> *data1, <span class="keywordtype">size_t</span> len1, <span class="keyword">const</span> <span class="keywordtype">void</span> *data2, <span class="keywordtype">size_t</span> len2);</div> <div class="line"><a name="l00498"></a><span class="lineno"> 498</span> </div> <div class="line"><a name="l00509"></a><span class="lineno"> 509</span>  <span class="keywordtype">int</span> <a class="code" href="bstr_8h.html#aa791b587a766be18faee252ec21289b0">bstr_util_cmp_mem_nocase</a>(<span class="keyword">const</span> <span class="keywordtype">void</span> *data1, <span class="keywordtype">size_t</span> len1, <span class="keyword">const</span> <span class="keywordtype">void</span> *data2, <span class="keywordtype">size_t</span> len2);</div> <div class="line"><a name="l00510"></a><span class="lineno"> 510</span> </div> <div class="line"><a name="l00523"></a><span class="lineno"> 523</span> int64_t <a class="code" href="bstr_8h.html#a9af005345bddef6f4efdd738b37872fe">bstr_util_mem_to_pint</a>(<span class="keyword">const</span> <span class="keywordtype">void</span> *data, <span class="keywordtype">size_t</span> len, <span class="keywordtype">int</span> base, <span class="keywordtype">size_t</span> *lastlen);</div> <div class="line"><a name="l00524"></a><span class="lineno"> 524</span> </div> <div class="line"><a name="l00533"></a><span class="lineno"> 533</span> <span class="keywordtype">int</span> <a class="code" href="bstr_8h.html#a73bf22bab89487cccdd2d28036db4920">bstr_util_mem_index_of_c</a>(<span class="keyword">const</span> <span class="keywordtype">void</span> *data, <span class="keywordtype">size_t</span> len, <span class="keyword">const</span> <span class="keywordtype">char</span> *cstr);</div> <div class="line"><a name="l00534"></a><span class="lineno"> 534</span> </div> <div class="line"><a name="l00543"></a><span class="lineno"> 543</span> <span class="keywordtype">int</span> <a class="code" href="bstr_8h.html#a9442b7e16a6a76242bffa91611ef7e4f">bstr_util_mem_index_of_c_nocase</a>(<span class="keyword">const</span> <span class="keywordtype">void</span> *data, <span class="keywordtype">size_t</span> len, <span class="keyword">const</span> <span class="keywordtype">char</span> *cstr);</div> <div class="line"><a name="l00544"></a><span class="lineno"> 544</span> </div> <div class="line"><a name="l00554"></a><span class="lineno"> 554</span> <span class="keywordtype">int</span> <a class="code" href="bstr_8h.html#a2ab57fea6c1454e6fb36e15aeeddf357">bstr_util_mem_index_of_mem</a>(<span class="keyword">const</span> <span class="keywordtype">void</span> *data1, <span class="keywordtype">size_t</span> len1, <span class="keyword">const</span> <span class="keywordtype">void</span> *data2, <span class="keywordtype">size_t</span> len2);</div> <div class="line"><a name="l00555"></a><span class="lineno"> 555</span> </div> <div class="line"><a name="l00565"></a><span class="lineno"> 565</span> <span class="keywordtype">int</span> <a class="code" href="bstr_8h.html#a25cb98a0a7eccf48be68b93e191e95a5">bstr_util_mem_index_of_mem_nocase</a>(<span class="keyword">const</span> <span class="keywordtype">void</span> *data1, <span class="keywordtype">size_t</span> len1, <span class="keyword">const</span> <span class="keywordtype">void</span> *data2, <span class="keywordtype">size_t</span> len2);</div> <div class="line"><a name="l00566"></a><span class="lineno"> 566</span> </div> <div class="line"><a name="l00574"></a><span class="lineno"> 574</span> <span class="keywordtype">void</span> <a class="code" href="bstr_8h.html#a91e327898a25d3ade3e38ab1e9d354fe">bstr_util_mem_trim</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> **data, <span class="keywordtype">size_t</span> *len);</div> <div class="line"><a name="l00575"></a><span class="lineno"> 575</span> </div> <div class="line"><a name="l00587"></a><span class="lineno"> 587</span> <span class="keywordtype">char</span> *<a class="code" href="bstr_8h.html#af3f6f3b1ea652617d71c0669c787c3ca">bstr_util_memdup_to_c</a>(<span class="keyword">const</span> <span class="keywordtype">void</span> *data, <span class="keywordtype">size_t</span> len);</div> <div class="line"><a name="l00588"></a><span class="lineno"> 588</span> </div> <div class="line"><a name="l00599"></a><span class="lineno"> 599</span> <span class="keywordtype">char</span> *<a class="code" href="bstr_8h.html#a867e836ea62c9e3dd24780e8c51a635a">bstr_util_strdup_to_c</a>(<span class="keyword">const</span> <a class="code" href="structbstr__t.html">bstr</a> *b);</div> <div class="line"><a name="l00600"></a><span class="lineno"> 600</span>  </div> <div class="line"><a name="l00609"></a><span class="lineno"> 609</span> <a class="code" href="structbstr__t.html">bstr</a> *<a class="code" href="bstr_8h.html#ae8e448f0df697509f854f1ea5a51a33f">bstr_wrap_c</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *cstr);</div> <div class="line"><a name="l00610"></a><span class="lineno"> 610</span> </div> <div class="line"><a name="l00620"></a><span class="lineno"> 620</span> <a class="code" href="structbstr__t.html">bstr</a> *<a class="code" href="bstr_8h.html#af1ccc71707d9fe77f4f24c639191a6f4">bstr_wrap_mem</a>(<span class="keyword">const</span> <span class="keywordtype">void</span> *data, <span class="keywordtype">size_t</span> len);</div> <div class="line"><a name="l00621"></a><span class="lineno"> 621</span> </div> <div class="line"><a name="l00622"></a><span class="lineno"> 622</span> <span class="preprocessor">#ifdef __cplusplus</span></div> <div class="line"><a name="l00623"></a><span class="lineno"> 623</span> <span class="preprocessor"></span>}</div> <div class="line"><a name="l00624"></a><span class="lineno"> 624</span> <span class="preprocessor">#endif</span></div> <div class="line"><a name="l00625"></a><span class="lineno"> 625</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00626"></a><span class="lineno"> 626</span> <span class="preprocessor">#endif </span><span class="comment">/* _BSTR_H */</span><span class="preprocessor"></span></div> <div class="ttc" id="bstr_8h_html_ade081b8669efe02752266ed6e54182f6"><div class="ttname"><a href="bstr_8h.html#ade081b8669efe02752266ed6e54182f6">bstr_add_c_noex</a></div><div class="ttdeci">bstr * bstr_add_c_noex(bstr *b, const char *cstr)</div><div class="ttdef"><b>Definition:</b> bstr.c:62</div></div> <div class="ttc" id="bstr_8h_html_a417a87585780955be04f060b10018ea8"><div class="ttname"><a href="bstr_8h.html#a417a87585780955be04f060b10018ea8">bstr_begins_with_c_nocase</a></div><div class="ttdeci">int bstr_begins_with_c_nocase(const bstr *bhaystack, const char *cneedle)</div><div class="ttdef"><b>Definition:</b> bstr.c:122</div></div> <div class="ttc" id="bstr_8h_html_a75dc35dde15052db45ac0496e33b76ce"><div class="ttname"><a href="bstr_8h.html#a75dc35dde15052db45ac0496e33b76ce">bstr_chr</a></div><div class="ttdeci">int bstr_chr(const bstr *b, int c)</div><div class="ttdef"><b>Definition:</b> bstr.c:194</div></div> <div class="ttc" id="bstr_8h_html_a0164a6d51901a909e3ae473ecc8b8a42"><div class="ttname"><a href="bstr_8h.html#a0164a6d51901a909e3ae473ecc8b8a42">bstr_char_at</a></div><div class="ttdeci">int bstr_char_at(const bstr *b, size_t pos)</div><div class="ttdef"><b>Definition:</b> bstr.c:172</div></div> <div class="ttc" id="bstr_8h_html_a97c6e59a9a439d6f6c42a154c4059036"><div class="ttname"><a href="bstr_8h.html#a97c6e59a9a439d6f6c42a154c4059036">bstr_dup_c</a></div><div class="ttdeci">bstr * bstr_dup_c(const char *cstr)</div><div class="ttdef"><b>Definition:</b> bstr.c:238</div></div> <div class="ttc" id="bstr_8h_html_ae8e448f0df697509f854f1ea5a51a33f"><div class="ttname"><a href="bstr_8h.html#ae8e448f0df697509f854f1ea5a51a33f">bstr_wrap_c</a></div><div class="ttdeci">bstr * bstr_wrap_c(const char *cstr)</div><div class="ttdef"><b>Definition:</b> bstr.c:563</div></div> <div class="ttc" id="bstr_8h_html_a324f1eb05bb2de42a75c305e98addf2b"><div class="ttname"><a href="bstr_8h.html#a324f1eb05bb2de42a75c305e98addf2b">bstr_begins_with</a></div><div class="ttdeci">int bstr_begins_with(const bstr *bhaystack, const bstr *bneedle)</div><div class="ttdef"><b>Definition:</b> bstr.c:114</div></div> <div class="ttc" id="structbstr__t_html_ab1370e3dfd92deb1a483e015e51909f6"><div class="ttname"><a href="structbstr__t.html#ab1370e3dfd92deb1a483e015e51909f6">bstr_t::size</a></div><div class="ttdeci">size_t size</div><div class="ttdef"><b>Definition:</b> bstr.h:64</div></div> <div class="ttc" id="bstr_8h_html_a51bc377ac30a1092e84a4c3ab3d289f9"><div class="ttname"><a href="bstr_8h.html#a51bc377ac30a1092e84a4c3ab3d289f9">bstr_expand</a></div><div class="ttdeci">bstr * bstr_expand(bstr *b, size_t newsize)</div><div class="ttdef"><b>Definition:</b> bstr.c:262</div></div> <div class="ttc" id="bstr_8h_html_aa791b587a766be18faee252ec21289b0"><div class="ttname"><a href="bstr_8h.html#aa791b587a766be18faee252ec21289b0">bstr_util_cmp_mem_nocase</a></div><div class="ttdeci">int bstr_util_cmp_mem_nocase(const void *data1, size_t len1, const void *data2, size_t len2)</div><div class="ttdef"><b>Definition:</b> bstr.c:366</div></div> <div class="ttc" id="bstr_8h_html_ad866778a2b2da1cee5a668f7e3bb99de"><div class="ttname"><a href="bstr_8h.html#ad866778a2b2da1cee5a668f7e3bb99de">bstr_dup_lower</a></div><div class="ttdeci">bstr * bstr_dup_lower(const bstr *b)</div><div class="ttdef"><b>Definition:</b> bstr.c:250</div></div> <div class="ttc" id="bstr_8h_html_ae7440589d0619590384aa3ac7070ba89"><div class="ttname"><a href="bstr_8h.html#ae7440589d0619590384aa3ac7070ba89">bstr_chop</a></div><div class="ttdeci">void bstr_chop(bstr *b)</div><div class="ttdef"><b>Definition:</b> bstr.c:188</div></div> <div class="ttc" id="bstr_8h_html_a2ab57fea6c1454e6fb36e15aeeddf357"><div class="ttname"><a href="bstr_8h.html#a2ab57fea6c1454e6fb36e15aeeddf357">bstr_util_mem_index_of_mem</a></div><div class="ttdeci">int bstr_util_mem_index_of_mem(const void *data1, size_t len1, const void *data2, size_t len2)</div><div class="ttdef"><b>Definition:</b> bstr.c:461</div></div> <div class="ttc" id="bstr_8h_html_a2ac2b78d0f24179d733f2a9b11ec2efd"><div class="ttname"><a href="bstr_8h.html#a2ac2b78d0f24179d733f2a9b11ec2efd">bstr_cmp_mem</a></div><div class="ttdeci">int bstr_cmp_mem(const bstr *b, const void *data, size_t len)</div><div class="ttdef"><b>Definition:</b> bstr.c:222</div></div> <div class="ttc" id="bstr_8h_html_acda3d3e9c408c8b0674d7d97a14278fc"><div class="ttname"><a href="bstr_8h.html#acda3d3e9c408c8b0674d7d97a14278fc">bstr_index_of_c_nocase</a></div><div class="ttdeci">int bstr_index_of_c_nocase(const bstr *bhaystack, const char *cneedle)</div><div class="ttdef"><b>Definition:</b> bstr.c:294</div></div> <div class="ttc" id="bstr_8h_html_abaf68b4b27be54655cba0d74c24646c1"><div class="ttname"><a href="bstr_8h.html#abaf68b4b27be54655cba0d74c24646c1">bstr_dup_ex</a></div><div class="ttdeci">bstr * bstr_dup_ex(const bstr *b, size_t offset, size_t len)</div><div class="ttdef"><b>Definition:</b> bstr.c:242</div></div> <div class="ttc" id="bstr_8h_html_a12998f020120896c5b40a081feb37ab7"><div class="ttname"><a href="bstr_8h.html#a12998f020120896c5b40a081feb37ab7">bstr_cmp_c_nocase</a></div><div class="ttdeci">int bstr_cmp_c_nocase(const bstr *b, const char *cstr)</div><div class="ttdef"><b>Definition:</b> bstr.c:218</div></div> <div class="ttc" id="bstr_8h_html_a9442b7e16a6a76242bffa91611ef7e4f"><div class="ttname"><a href="bstr_8h.html#a9442b7e16a6a76242bffa91611ef7e4f">bstr_util_mem_index_of_c_nocase</a></div><div class="ttdeci">int bstr_util_mem_index_of_c_nocase(const void *data, size_t len, const char *cstr)</div><div class="ttdef"><b>Definition:</b> bstr.c:457</div></div> <div class="ttc" id="bstr_8h_html_a103116ef859f4648246d69c005502b22"><div class="ttname"><a href="bstr_8h.html#a103116ef859f4648246d69c005502b22">bstr_begins_with_nocase</a></div><div class="ttdeci">int bstr_begins_with_nocase(const bstr *bhaystack, const bstr *cneedle)</div><div class="ttdef"><b>Definition:</b> bstr.c:126</div></div> <div class="ttc" id="bstr_8h_html_a1f983f503792f40a63a81950b7a54c12"><div class="ttname"><a href="bstr_8h.html#a1f983f503792f40a63a81950b7a54c12">bstr_begins_with_c</a></div><div class="ttdeci">int bstr_begins_with_c(const bstr *bhaystack, const char *cneedle)</div><div class="ttdef"><b>Definition:</b> bstr.c:118</div></div> <div class="ttc" id="bstr_8h_html_af3f6f3b1ea652617d71c0669c787c3ca"><div class="ttname"><a href="bstr_8h.html#af3f6f3b1ea652617d71c0669c787c3ca">bstr_util_memdup_to_c</a></div><div class="ttdeci">char * bstr_util_memdup_to_c(const void *data, size_t len)</div><div class="ttdef"><b>Definition:</b> bstr.c:526</div></div> <div class="ttc" id="bstr_8h_html_a9a2c915077e09b431ca1dad167611b21"><div class="ttname"><a href="bstr_8h.html#a9a2c915077e09b431ca1dad167611b21">bstr_add_c</a></div><div class="ttdeci">bstr * bstr_add_c(bstr *b, const char *cstr)</div><div class="ttdef"><b>Definition:</b> bstr.c:58</div></div> <div class="ttc" id="bstr_8h_html_a25cb98a0a7eccf48be68b93e191e95a5"><div class="ttname"><a href="bstr_8h.html#a25cb98a0a7eccf48be68b93e191e95a5">bstr_util_mem_index_of_mem_nocase</a></div><div class="ttdeci">int bstr_util_mem_index_of_mem_nocase(const void *data1, size_t len1, const void *data2, size_t len2)</div><div class="ttdef"><b>Definition:</b> bstr.c:484</div></div> <div class="ttc" id="bstr_8h_html_a9af005345bddef6f4efdd738b37872fe"><div class="ttname"><a href="bstr_8h.html#a9af005345bddef6f4efdd738b37872fe">bstr_util_mem_to_pint</a></div><div class="ttdeci">int64_t bstr_util_mem_to_pint(const void *data, size_t len, int base, size_t *lastlen)</div><div class="ttdef"><b>Definition:</b> bstr.c:391</div></div> <div class="ttc" id="bstr_8h_html_a0bf6ead63caf4e3bcfd6bec0cc130102"><div class="ttname"><a href="bstr_8h.html#a0bf6ead63caf4e3bcfd6bec0cc130102">bstr_alloc</a></div><div class="ttdeci">bstr * bstr_alloc(size_t size)</div><div class="ttdef"><b>Definition:</b> bstr.c:43</div></div> <div class="ttc" id="bstr_8h_html_a91e327898a25d3ade3e38ab1e9d354fe"><div class="ttname"><a href="bstr_8h.html#a91e327898a25d3ade3e38ab1e9d354fe">bstr_util_mem_trim</a></div><div class="ttdeci">void bstr_util_mem_trim(unsigned char **data, size_t *len)</div><div class="ttdef"><b>Definition:</b> bstr.c:507</div></div> <div class="ttc" id="bstr_8h_html_a0a7f90ce17e4c74dd8af5a863a45f4e0"><div class="ttname"><a href="bstr_8h.html#a0a7f90ce17e4c74dd8af5a863a45f4e0">bstr_index_of_c</a></div><div class="ttdeci">int bstr_index_of_c(const bstr *bhaystack, const char *cneedle)</div><div class="ttdef"><b>Definition:</b> bstr.c:290</div></div> <div class="ttc" id="bstr_8h_html_a73bf22bab89487cccdd2d28036db4920"><div class="ttname"><a href="bstr_8h.html#a73bf22bab89487cccdd2d28036db4920">bstr_util_mem_index_of_c</a></div><div class="ttdeci">int bstr_util_mem_index_of_c(const void *data, size_t len, const char *cstr)</div><div class="ttdef"><b>Definition:</b> bstr.c:453</div></div> <div class="ttc" id="bstr_8h_html_a1e38bc25773092c05761f3c3bd65a72a"><div class="ttname"><a href="bstr_8h.html#a1e38bc25773092c05761f3c3bd65a72a">bstr_add_mem</a></div><div class="ttdeci">bstr * bstr_add_mem(bstr *b, const void *data, size_t len)</div><div class="ttdef"><b>Definition:</b> bstr.c:66</div></div> <div class="ttc" id="structbstr__t_html_ad72ce7bc0a8b99c1937559342c3c54fc"><div class="ttname"><a href="structbstr__t.html#ad72ce7bc0a8b99c1937559342c3c54fc">bstr_t::len</a></div><div class="ttdeci">size_t len</div><div class="ttdef"><b>Definition:</b> bstr.h:59</div></div> <div class="ttc" id="bstr_8h_html_aa479403f7cf2f82d1c6192cdfafe1e46"><div class="ttname"><a href="bstr_8h.html#aa479403f7cf2f82d1c6192cdfafe1e46">bstr_index_of_mem</a></div><div class="ttdeci">int bstr_index_of_mem(const bstr *bhaystack, const void *data, size_t len)</div><div class="ttdef"><b>Definition:</b> bstr.c:298</div></div> <div class="ttc" id="bstr_8h_html_a4d6765fb2a88a0f2bac4e41bee24c294"><div class="ttname"><a href="bstr_8h.html#a4d6765fb2a88a0f2bac4e41bee24c294">bstr_cmp_nocase</a></div><div class="ttdeci">int bstr_cmp_nocase(const bstr *b1, const bstr *b2)</div><div class="ttdef"><b>Definition:</b> bstr.c:230</div></div> <div class="ttc" id="bstr_8h_html_ac28786b1f330ae5992293ba028db9936"><div class="ttname"><a href="bstr_8h.html#ac28786b1f330ae5992293ba028db9936">bstr_adjust_size</a></div><div class="ttdeci">void bstr_adjust_size(bstr *b, size_t newsize)</div><div class="ttdef"><b>Definition:</b> bstr.c:110</div></div> <div class="ttc" id="structbstr__t_html"><div class="ttname"><a href="structbstr__t.html">bstr_t</a></div><div class="ttdef"><b>Definition:</b> bstr.h:57</div></div> <div class="ttc" id="bstr_8h_html_a8eb4cfb22e61753899620617f200a36c"><div class="ttname"><a href="bstr_8h.html#a8eb4cfb22e61753899620617f200a36c">bstr_char_at_end</a></div><div class="ttdeci">int bstr_char_at_end(const bstr *b, size_t pos)</div><div class="ttdef"><b>Definition:</b> bstr.c:180</div></div> <div class="ttc" id="bstr_8h_html_af1ccc71707d9fe77f4f24c639191a6f4"><div class="ttname"><a href="bstr_8h.html#af1ccc71707d9fe77f4f24c639191a6f4">bstr_wrap_mem</a></div><div class="ttdeci">bstr * bstr_wrap_mem(const void *data, size_t len)</div><div class="ttdef"><b>Definition:</b> bstr.c:567</div></div> <div class="ttc" id="bstr_8h_html_a8bbf6a944666131eeaa0367abd9e0f02"><div class="ttname"><a href="bstr_8h.html#a8bbf6a944666131eeaa0367abd9e0f02">bstr_index_of</a></div><div class="ttdeci">int bstr_index_of(const bstr *bhaystack, const bstr *bneedle)</div><div class="ttdef"><b>Definition:</b> bstr.c:286</div></div> <div class="ttc" id="bstr_8h_html_a9102c361d1a16e943beadc60162cc123"><div class="ttname"><a href="bstr_8h.html#a9102c361d1a16e943beadc60162cc123">bstr_cmp_mem_nocase</a></div><div class="ttdeci">int bstr_cmp_mem_nocase(const bstr *b, const void *data, size_t len)</div><div class="ttdef"><b>Definition:</b> bstr.c:226</div></div> <div class="ttc" id="bstr_8h_html_ae558f2c20b24baa62f84a3ee820b2b2f"><div class="ttname"><a href="bstr_8h.html#ae558f2c20b24baa62f84a3ee820b2b2f">bstr_dup_mem</a></div><div class="ttdeci">bstr * bstr_dup_mem(const void *data, size_t len)</div><div class="ttdef"><b>Definition:</b> bstr.c:254</div></div> <div class="ttc" id="bstr_8h_html_a8bac22bafd8fdc42aba04a50218bb14f"><div class="ttname"><a href="bstr_8h.html#a8bac22bafd8fdc42aba04a50218bb14f">bstr_cmp</a></div><div class="ttdeci">int bstr_cmp(const bstr *b1, const bstr *b2)</div><div class="ttdef"><b>Definition:</b> bstr.c:210</div></div> <div class="ttc" id="bstr_8h_html_aa0f4e55c03c97749a287948ee091145d"><div class="ttname"><a href="bstr_8h.html#aa0f4e55c03c97749a287948ee091145d">bstr_util_cmp_mem</a></div><div class="ttdeci">int bstr_util_cmp_mem(const void *data1, size_t len1, const void *data2, size_t len2)</div><div class="ttdef"><b>Definition:</b> bstr.c:341</div></div> <div class="ttc" id="bstr_8h_html_ac0a3dddb9dd10e230869ecfff37d0a67"><div class="ttname"><a href="bstr_8h.html#ac0a3dddb9dd10e230869ecfff37d0a67">bstr_cmp_c</a></div><div class="ttdeci">int bstr_cmp_c(const bstr *b, const char *cstr)</div><div class="ttdef"><b>Definition:</b> bstr.c:214</div></div> <div class="ttc" id="bstr_8h_html_ab4fc824d8df74ad6863a085f3901d30f"><div class="ttname"><a href="bstr_8h.html#ab4fc824d8df74ad6863a085f3901d30f">bstr_dup</a></div><div class="ttdeci">bstr * bstr_dup(const bstr *b)</div><div class="ttdef"><b>Definition:</b> bstr.c:234</div></div> <div class="ttc" id="bstr_8h_html_a8efd20da92a9a40fee8a40bdcdfb194f"><div class="ttname"><a href="bstr_8h.html#a8efd20da92a9a40fee8a40bdcdfb194f">bstr_to_lowercase</a></div><div class="ttdeci">bstr * bstr_to_lowercase(bstr *b)</div><div class="ttdef"><b>Definition:</b> bstr.c:326</div></div> <div class="ttc" id="bstr_8h_html_ad6bdcaadaf0034880584515edbca2427"><div class="ttname"><a href="bstr_8h.html#ad6bdcaadaf0034880584515edbca2427">bstr_adjust_len</a></div><div class="ttdeci">void bstr_adjust_len(bstr *b, size_t newlen)</div><div class="ttdef"><b>Definition:</b> bstr.c:102</div></div> <div class="ttc" id="structbstr__t_html_a3bdf7897816201559011a71dded789ef"><div class="ttname"><a href="structbstr__t.html#a3bdf7897816201559011a71dded789ef">bstr_t::realptr</a></div><div class="ttdeci">unsigned char * realptr</div><div class="ttdef"><b>Definition:</b> bstr.h:71</div></div> <div class="ttc" id="bstr_8h_html_a386a3b3959b594ae718792268125abf7"><div class="ttname"><a href="bstr_8h.html#a386a3b3959b594ae718792268125abf7">bstr_rchr</a></div><div class="ttdeci">int bstr_rchr(const bstr *b, int c)</div><div class="ttdef"><b>Definition:</b> bstr.c:310</div></div> <div class="ttc" id="bstr_8h_html_a6b9ea3baeb9cdae10d746a5b424a0d81"><div class="ttname"><a href="bstr_8h.html#a6b9ea3baeb9cdae10d746a5b424a0d81">bstr_index_of_nocase</a></div><div class="ttdeci">int bstr_index_of_nocase(const bstr *bhaystack, const bstr *bneedle)</div><div class="ttdef"><b>Definition:</b> bstr.c:306</div></div> <div class="ttc" id="bstr_8h_html_a867e836ea62c9e3dd24780e8c51a635a"><div class="ttname"><a href="bstr_8h.html#a867e836ea62c9e3dd24780e8c51a635a">bstr_util_strdup_to_c</a></div><div class="ttdeci">char * bstr_util_strdup_to_c(const bstr *b)</div><div class="ttdef"><b>Definition:</b> bstr.c:558</div></div> <div class="ttc" id="bstr__builder_8h_html"><div class="ttname"><a href="bstr__builder_8h.html">bstr_builder.h</a></div></div> <div class="ttc" id="bstr_8h_html_a47229ced18780442d24baa2be79ac9a2"><div class="ttname"><a href="bstr_8h.html#a47229ced18780442d24baa2be79ac9a2">bstr_add_noex</a></div><div class="ttdeci">bstr * bstr_add_noex(bstr *bdestination, const bstr *bsource)</div><div class="ttdef"><b>Definition:</b> bstr.c:98</div></div> <div class="ttc" id="bstr_8h_html_a1b9ca92f8699af4136e5d1ed38ff73b0"><div class="ttname"><a href="bstr_8h.html#a1b9ca92f8699af4136e5d1ed38ff73b0">bstr_free</a></div><div class="ttdeci">void bstr_free(bstr *b)</div><div class="ttdef"><b>Definition:</b> bstr.c:281</div></div> <div class="ttc" id="bstr_8h_html_a6b8fcdb2fe133efb3b3af048983140f0"><div class="ttname"><a href="bstr_8h.html#a6b8fcdb2fe133efb3b3af048983140f0">bstr_begins_with_mem</a></div><div class="ttdeci">int bstr_begins_with_mem(const bstr *bhaystack, const void *data, size_t len)</div><div class="ttdef"><b>Definition:</b> bstr.c:130</div></div> <div class="ttc" id="bstr_8h_html_a7cda1aefe198bbf7d7023eb18bade8da"><div class="ttname"><a href="bstr_8h.html#a7cda1aefe198bbf7d7023eb18bade8da">bstr_add_mem_noex</a></div><div class="ttdeci">bstr * bstr_add_mem_noex(bstr *b, const void *data, size_t len)</div><div class="ttdef"><b>Definition:</b> bstr.c:81</div></div> <div class="ttc" id="bstr_8h_html_a3180516ee49253f5b84acf650f77b362"><div class="ttname"><a href="bstr_8h.html#a3180516ee49253f5b84acf650f77b362">bstr_begins_with_mem_nocase</a></div><div class="ttdeci">int bstr_begins_with_mem_nocase(const bstr *bhaystack, const void *data, size_t len)</div><div class="ttdef"><b>Definition:</b> bstr.c:151</div></div> <div class="ttc" id="bstr_8h_html_af3f9aa44f3a6948d66ca875432b7a255"><div class="ttname"><a href="bstr_8h.html#af3f9aa44f3a6948d66ca875432b7a255">bstr_adjust_realptr</a></div><div class="ttdeci">void bstr_adjust_realptr(bstr *b, void *newrealptr)</div><div class="ttdef"><b>Definition:</b> bstr.c:106</div></div> <div class="ttc" id="bstr_8h_html_a1095220f219385ab2c97fc31100d39f1"><div class="ttname"><a href="bstr_8h.html#a1095220f219385ab2c97fc31100d39f1">bstr_index_of_mem_nocase</a></div><div class="ttdeci">int bstr_index_of_mem_nocase(const bstr *bhaystack, const void *data, size_t len)</div><div class="ttdef"><b>Definition:</b> bstr.c:302</div></div> <div class="ttc" id="bstr_8h_html_aac60e41b17d825ff82cc29a3fb80992e"><div class="ttname"><a href="bstr_8h.html#aac60e41b17d825ff82cc29a3fb80992e">bstr_add</a></div><div class="ttdeci">bstr * bstr_add(bstr *bdestination, const bstr *bsource)</div><div class="ttdef"><b>Definition:</b> bstr.c:54</div></div> </div><!-- fragment --></div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> Generated by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.6 </small></address> </body> </html>