blob: 9854ec94cf66a7c36e05c0a86b2fd05f03f2ae22 [file] [log] [blame]
Craig Tiller68f4e0f2015-08-05 08:18:21 -07001<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2<html xmlns="http://www.w3.org/1999/xhtml">
3<head>
4<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5<meta http-equiv="X-UA-Compatible" content="IE=9"/>
6<meta name="generator" content="Doxygen 1.8.6"/>
7<title>GRPC Core: src/core/support/string.c File Reference</title>
8<link href="tabs.css" rel="stylesheet" type="text/css"/>
9<script type="text/javascript" src="jquery.js"></script>
10<script type="text/javascript" src="dynsections.js"></script>
11<link href="search/search.css" rel="stylesheet" type="text/css"/>
12<script type="text/javascript" src="search/search.js"></script>
13<script type="text/javascript">
14 $(document).ready(function() { searchBox.OnSelectItem(0); });
15</script>
16<link href="doxygen.css" rel="stylesheet" type="text/css" />
17</head>
18<body>
19<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
20<div id="titlearea">
21<table cellspacing="0" cellpadding="0">
22 <tbody>
23 <tr style="height: 56px;">
24 <td style="padding-left: 0.5em;">
25 <div id="projectname">GRPC Core
David Garcia Quintas7afa6662015-09-03 09:45:14 -070026 &#160;<span id="projectnumber">0.11.0.0</span>
Craig Tiller68f4e0f2015-08-05 08:18:21 -070027 </div>
28 </td>
29 </tr>
30 </tbody>
31</table>
32</div>
33<!-- end header part -->
34<!-- Generated by Doxygen 1.8.6 -->
35<script type="text/javascript">
36var searchBox = new SearchBox("searchBox", "search",false,'Search');
37</script>
38 <div id="navrow1" class="tabs">
39 <ul class="tablist">
40 <li><a href="index.html"><span>Main&#160;Page</span></a></li>
41 <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
42 <li class="current"><a href="files.html"><span>Files</span></a></li>
43 <li>
44 <div id="MSearchBox" class="MSearchBoxInactive">
45 <span class="left">
46 <img id="MSearchSelect" src="search/mag_sel.png"
47 onmouseover="return searchBox.OnSearchSelectShow()"
48 onmouseout="return searchBox.OnSearchSelectHide()"
49 alt=""/>
50 <input type="text" id="MSearchField" value="Search" accesskey="S"
51 onfocus="searchBox.OnSearchFieldFocus(true)"
52 onblur="searchBox.OnSearchFieldFocus(false)"
53 onkeyup="searchBox.OnSearchFieldChange(event)"/>
54 </span><span class="right">
55 <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
56 </span>
57 </div>
58 </li>
59 </ul>
60 </div>
61 <div id="navrow2" class="tabs2">
62 <ul class="tablist">
63 <li><a href="files.html"><span>File&#160;List</span></a></li>
64 <li><a href="globals.html"><span>Globals</span></a></li>
65 </ul>
66 </div>
67<!-- window showing the filter options -->
68<div id="MSearchSelectWindow"
69 onmouseover="return searchBox.OnSearchSelectShow()"
70 onmouseout="return searchBox.OnSearchSelectHide()"
71 onkeydown="return searchBox.OnSearchSelectKey(event)">
72<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Pages</a></div>
73
74<!-- iframe showing the search results (closed by default) -->
75<div id="MSearchResultsWindow">
76<iframe src="javascript:void(0)" frameborder="0"
77 name="MSearchResults" id="MSearchResults">
78</iframe>
79</div>
80
81<div id="nav-path" class="navpath">
82 <ul>
83<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_aebb8dcc11953d78e620bbef0b9e2183.html">core</a></li><li class="navelem"><a class="el" href="dir_9410f15740cc8f8ab312fa27ab494b45.html">support</a></li> </ul>
84</div>
85</div><!-- top -->
86<div class="header">
87 <div class="summary">
88<a href="#nested-classes">Data Structures</a> &#124;
89<a href="#func-members">Functions</a> </div>
90 <div class="headertitle">
91<div class="title">string.c File Reference</div> </div>
92</div><!--header-->
93<div class="contents">
94<div class="textblock"><code>#include &quot;<a class="el" href="string_8h_source.html">src/core/support/string.h</a>&quot;</code><br/>
95<code>#include &lt;ctype.h&gt;</code><br/>
96<code>#include &lt;stddef.h&gt;</code><br/>
97<code>#include &lt;<a class="el" href="alloc_8h_source.html">grpc/support/alloc.h</a>&gt;</code><br/>
98<code>#include &lt;<a class="el" href="log_8h_source.html">grpc/support/log.h</a>&gt;</code><br/>
99<code>#include &lt;<a class="el" href="port__platform_8h_source.html">grpc/support/port_platform.h</a>&gt;</code><br/>
100<code>#include &lt;<a class="el" href="useful_8h_source.html">grpc/support/useful.h</a>&gt;</code><br/>
101</div><table class="memberdecls">
102<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
103Data Structures</h2></td></tr>
104<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdump__out.html">dump_out</a></td></tr>
105<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
106</table><table class="memberdecls">
107<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
108Functions</h2></td></tr>
109<tr class="memitem:a7a021bce444344f0a96cb022038eed93"><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="string_8c.html#a7a021bce444344f0a96cb022038eed93">gpr_strdup</a> (const char *src)</td></tr>
110<tr class="separator:a7a021bce444344f0a96cb022038eed93"><td class="memSeparator" colspan="2">&#160;</td></tr>
111<tr class="memitem:a5b9ee77c9f03764e72d7b91a64ef86f1"><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="string_8c.html#a5b9ee77c9f03764e72d7b91a64ef86f1">gpr_dump</a> (const char *buf, size_t len, <a class="el" href="port__platform_8h.html#aa6abd4df815a5498d1a04b5e691a74a9">gpr_uint32</a> flags)</td></tr>
112<tr class="separator:a5b9ee77c9f03764e72d7b91a64ef86f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
113<tr class="memitem:a008e053cd53efcf2f606b7414c22ea95"><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="string_8c.html#a008e053cd53efcf2f606b7414c22ea95">gpr_dump_slice</a> (<a class="el" href="structgpr__slice.html">gpr_slice</a> s, <a class="el" href="port__platform_8h.html#aa6abd4df815a5498d1a04b5e691a74a9">gpr_uint32</a> flags)</td></tr>
114<tr class="separator:a008e053cd53efcf2f606b7414c22ea95"><td class="memSeparator" colspan="2">&#160;</td></tr>
115<tr class="memitem:ad68355bffdcb8c7f69fc908e60ab9da6"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="string_8c.html#ad68355bffdcb8c7f69fc908e60ab9da6">gpr_parse_bytes_to_uint32</a> (const char *buf, size_t len, <a class="el" href="port__platform_8h.html#aa6abd4df815a5498d1a04b5e691a74a9">gpr_uint32</a> *result)</td></tr>
116<tr class="separator:ad68355bffdcb8c7f69fc908e60ab9da6"><td class="memSeparator" colspan="2">&#160;</td></tr>
117<tr class="memitem:ac61f7fa80be757db2d5457e3fe21ffe9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="string_8c.html#ac61f7fa80be757db2d5457e3fe21ffe9">gpr_reverse_bytes</a> (char *str, int len)</td></tr>
118<tr class="separator:ac61f7fa80be757db2d5457e3fe21ffe9"><td class="memSeparator" colspan="2">&#160;</td></tr>
119<tr class="memitem:aa6aa8a10c07a02550542c920a6b1f5f6"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="string_8c.html#aa6aa8a10c07a02550542c920a6b1f5f6">gpr_ltoa</a> (long <a class="el" href="hpack__table_8c.html#a8556878012feffc9e0beb86cd78f424d">value</a>, char *string)</td></tr>
120<tr class="separator:aa6aa8a10c07a02550542c920a6b1f5f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
121<tr class="memitem:a5de29a3d1854cf2dfa54b501e2793e96"><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="string_8c.html#a5de29a3d1854cf2dfa54b501e2793e96">gpr_strjoin</a> (const char **strs, size_t nstrs, size_t *final_length)</td></tr>
122<tr class="separator:a5de29a3d1854cf2dfa54b501e2793e96"><td class="memSeparator" colspan="2">&#160;</td></tr>
123<tr class="memitem:a5b9d1ee9cc94732b728b033649c2d00a"><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="string_8c.html#a5b9d1ee9cc94732b728b033649c2d00a">gpr_strjoin_sep</a> (const char **strs, size_t nstrs, const char *sep, size_t *final_length)</td></tr>
124<tr class="separator:a5b9d1ee9cc94732b728b033649c2d00a"><td class="memSeparator" colspan="2">&#160;</td></tr>
125<tr class="memitem:a3e64cb8d6ffd4e240302a2a8a66bb4c3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="string_8c.html#a3e64cb8d6ffd4e240302a2a8a66bb4c3">gpr_slice_split</a> (<a class="el" href="structgpr__slice.html">gpr_slice</a> str, const char *sep, <a class="el" href="structgpr__slice__buffer.html">gpr_slice_buffer</a> *dst)</td></tr>
126<tr class="memdesc:a3e64cb8d6ffd4e240302a2a8a66bb4c3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Split <em>str</em> by the separator <em>sep</em>. <a href="#a3e64cb8d6ffd4e240302a2a8a66bb4c3">More...</a><br/></td></tr>
127<tr class="separator:a3e64cb8d6ffd4e240302a2a8a66bb4c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
128<tr class="memitem:a751f38e61272bd9626890fa54270b82f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="string_8c.html#a751f38e61272bd9626890fa54270b82f">gpr_strvec_init</a> (<a class="el" href="structgpr__strvec.html">gpr_strvec</a> *sv)</td></tr>
129<tr class="separator:a751f38e61272bd9626890fa54270b82f"><td class="memSeparator" colspan="2">&#160;</td></tr>
130<tr class="memitem:a0c7ab5a87b900005d826bdaa8e106b28"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="string_8c.html#a0c7ab5a87b900005d826bdaa8e106b28">gpr_strvec_destroy</a> (<a class="el" href="structgpr__strvec.html">gpr_strvec</a> *sv)</td></tr>
131<tr class="separator:a0c7ab5a87b900005d826bdaa8e106b28"><td class="memSeparator" colspan="2">&#160;</td></tr>
132<tr class="memitem:a9d91f04f11bc82ed5a562e44878eafde"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="string_8c.html#a9d91f04f11bc82ed5a562e44878eafde">gpr_strvec_add</a> (<a class="el" href="structgpr__strvec.html">gpr_strvec</a> *sv, char *str)</td></tr>
133<tr class="separator:a9d91f04f11bc82ed5a562e44878eafde"><td class="memSeparator" colspan="2">&#160;</td></tr>
134<tr class="memitem:a0145a60ccd4d1e25389f8bad033f1ff5"><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="string_8c.html#a0145a60ccd4d1e25389f8bad033f1ff5">gpr_strvec_flatten</a> (<a class="el" href="structgpr__strvec.html">gpr_strvec</a> *sv, size_t *final_length)</td></tr>
135<tr class="separator:a0145a60ccd4d1e25389f8bad033f1ff5"><td class="memSeparator" colspan="2">&#160;</td></tr>
136</table>
137<h2 class="groupheader">Function Documentation</h2>
138<a class="anchor" id="a5b9ee77c9f03764e72d7b91a64ef86f1"></a>
139<div class="memitem">
140<div class="memproto">
141 <table class="memname">
142 <tr>
143 <td class="memname">char* gpr_dump </td>
144 <td>(</td>
145 <td class="paramtype">const char *&#160;</td>
146 <td class="paramname"><em>buf</em>, </td>
147 </tr>
148 <tr>
149 <td class="paramkey"></td>
150 <td></td>
151 <td class="paramtype">size_t&#160;</td>
152 <td class="paramname"><em>len</em>, </td>
153 </tr>
154 <tr>
155 <td class="paramkey"></td>
156 <td></td>
157 <td class="paramtype"><a class="el" href="port__platform_8h.html#aa6abd4df815a5498d1a04b5e691a74a9">gpr_uint32</a>&#160;</td>
158 <td class="paramname"><em>flags</em>&#160;</td>
159 </tr>
160 <tr>
161 <td></td>
162 <td>)</td>
163 <td></td><td></td>
164 </tr>
165 </table>
166</div><div class="memdoc">
167
168</div>
169</div>
170<a class="anchor" id="a008e053cd53efcf2f606b7414c22ea95"></a>
171<div class="memitem">
172<div class="memproto">
173 <table class="memname">
174 <tr>
175 <td class="memname">char* gpr_dump_slice </td>
176 <td>(</td>
177 <td class="paramtype"><a class="el" href="structgpr__slice.html">gpr_slice</a>&#160;</td>
178 <td class="paramname"><em>s</em>, </td>
179 </tr>
180 <tr>
181 <td class="paramkey"></td>
182 <td></td>
183 <td class="paramtype"><a class="el" href="port__platform_8h.html#aa6abd4df815a5498d1a04b5e691a74a9">gpr_uint32</a>&#160;</td>
184 <td class="paramname"><em>flags</em>&#160;</td>
185 </tr>
186 <tr>
187 <td></td>
188 <td>)</td>
189 <td></td><td></td>
190 </tr>
191 </table>
192</div><div class="memdoc">
193
194</div>
195</div>
196<a class="anchor" id="aa6aa8a10c07a02550542c920a6b1f5f6"></a>
197<div class="memitem">
198<div class="memproto">
199 <table class="memname">
200 <tr>
201 <td class="memname">int gpr_ltoa </td>
202 <td>(</td>
203 <td class="paramtype">long&#160;</td>
204 <td class="paramname"><em>value</em>, </td>
205 </tr>
206 <tr>
207 <td class="paramkey"></td>
208 <td></td>
209 <td class="paramtype">char *&#160;</td>
210 <td class="paramname"><em>string</em>&#160;</td>
211 </tr>
212 <tr>
213 <td></td>
214 <td>)</td>
215 <td></td><td></td>
216 </tr>
217 </table>
218</div><div class="memdoc">
219
220</div>
221</div>
222<a class="anchor" id="ad68355bffdcb8c7f69fc908e60ab9da6"></a>
223<div class="memitem">
224<div class="memproto">
225 <table class="memname">
226 <tr>
227 <td class="memname">int gpr_parse_bytes_to_uint32 </td>
228 <td>(</td>
229 <td class="paramtype">const char *&#160;</td>
230 <td class="paramname"><em>buf</em>, </td>
231 </tr>
232 <tr>
233 <td class="paramkey"></td>
234 <td></td>
235 <td class="paramtype">size_t&#160;</td>
236 <td class="paramname"><em>len</em>, </td>
237 </tr>
238 <tr>
239 <td class="paramkey"></td>
240 <td></td>
241 <td class="paramtype"><a class="el" href="port__platform_8h.html#aa6abd4df815a5498d1a04b5e691a74a9">gpr_uint32</a> *&#160;</td>
242 <td class="paramname"><em>result</em>&#160;</td>
243 </tr>
244 <tr>
245 <td></td>
246 <td>)</td>
247 <td></td><td></td>
248 </tr>
249 </table>
250</div><div class="memdoc">
251
252</div>
253</div>
254<a class="anchor" id="ac61f7fa80be757db2d5457e3fe21ffe9"></a>
255<div class="memitem">
256<div class="memproto">
257 <table class="memname">
258 <tr>
259 <td class="memname">void gpr_reverse_bytes </td>
260 <td>(</td>
261 <td class="paramtype">char *&#160;</td>
262 <td class="paramname"><em>str</em>, </td>
263 </tr>
264 <tr>
265 <td class="paramkey"></td>
266 <td></td>
267 <td class="paramtype">int&#160;</td>
268 <td class="paramname"><em>len</em>&#160;</td>
269 </tr>
270 <tr>
271 <td></td>
272 <td>)</td>
273 <td></td><td></td>
274 </tr>
275 </table>
276</div><div class="memdoc">
277
278</div>
279</div>
280<a class="anchor" id="a3e64cb8d6ffd4e240302a2a8a66bb4c3"></a>
281<div class="memitem">
282<div class="memproto">
283 <table class="memname">
284 <tr>
285 <td class="memname">void gpr_slice_split </td>
286 <td>(</td>
287 <td class="paramtype"><a class="el" href="structgpr__slice.html">gpr_slice</a>&#160;</td>
288 <td class="paramname"><em>str</em>, </td>
289 </tr>
290 <tr>
291 <td class="paramkey"></td>
292 <td></td>
293 <td class="paramtype">const char *&#160;</td>
294 <td class="paramname"><em>sep</em>, </td>
295 </tr>
296 <tr>
297 <td class="paramkey"></td>
298 <td></td>
299 <td class="paramtype"><a class="el" href="structgpr__slice__buffer.html">gpr_slice_buffer</a> *&#160;</td>
300 <td class="paramname"><em>dst</em>&#160;</td>
301 </tr>
302 <tr>
303 <td></td>
304 <td>)</td>
305 <td></td><td></td>
306 </tr>
307 </table>
308</div><div class="memdoc">
309
310<p>Split <em>str</em> by the separator <em>sep</em>. </p>
311<p>Results are stored in <em>dst</em>, which should be a properly initialized instance. </p>
312
313</div>
314</div>
315<a class="anchor" id="a7a021bce444344f0a96cb022038eed93"></a>
316<div class="memitem">
317<div class="memproto">
318 <table class="memname">
319 <tr>
320 <td class="memname">char* gpr_strdup </td>
321 <td>(</td>
322 <td class="paramtype">const char *&#160;</td>
323 <td class="paramname"><em>src</em></td><td>)</td>
324 <td></td>
325 </tr>
326 </table>
327</div><div class="memdoc">
328
329</div>
330</div>
331<a class="anchor" id="a5de29a3d1854cf2dfa54b501e2793e96"></a>
332<div class="memitem">
333<div class="memproto">
334 <table class="memname">
335 <tr>
336 <td class="memname">char* gpr_strjoin </td>
337 <td>(</td>
338 <td class="paramtype">const char **&#160;</td>
339 <td class="paramname"><em>strs</em>, </td>
340 </tr>
341 <tr>
342 <td class="paramkey"></td>
343 <td></td>
344 <td class="paramtype">size_t&#160;</td>
345 <td class="paramname"><em>nstrs</em>, </td>
346 </tr>
347 <tr>
348 <td class="paramkey"></td>
349 <td></td>
350 <td class="paramtype">size_t *&#160;</td>
351 <td class="paramname"><em>final_length</em>&#160;</td>
352 </tr>
353 <tr>
354 <td></td>
355 <td>)</td>
356 <td></td><td></td>
357 </tr>
358 </table>
359</div><div class="memdoc">
360
361</div>
362</div>
363<a class="anchor" id="a5b9d1ee9cc94732b728b033649c2d00a"></a>
364<div class="memitem">
365<div class="memproto">
366 <table class="memname">
367 <tr>
368 <td class="memname">char* gpr_strjoin_sep </td>
369 <td>(</td>
370 <td class="paramtype">const char **&#160;</td>
371 <td class="paramname"><em>strs</em>, </td>
372 </tr>
373 <tr>
374 <td class="paramkey"></td>
375 <td></td>
376 <td class="paramtype">size_t&#160;</td>
377 <td class="paramname"><em>nstrs</em>, </td>
378 </tr>
379 <tr>
380 <td class="paramkey"></td>
381 <td></td>
382 <td class="paramtype">const char *&#160;</td>
383 <td class="paramname"><em>sep</em>, </td>
384 </tr>
385 <tr>
386 <td class="paramkey"></td>
387 <td></td>
388 <td class="paramtype">size_t *&#160;</td>
389 <td class="paramname"><em>final_length</em>&#160;</td>
390 </tr>
391 <tr>
392 <td></td>
393 <td>)</td>
394 <td></td><td></td>
395 </tr>
396 </table>
397</div><div class="memdoc">
398
399</div>
400</div>
401<a class="anchor" id="a9d91f04f11bc82ed5a562e44878eafde"></a>
402<div class="memitem">
403<div class="memproto">
404 <table class="memname">
405 <tr>
406 <td class="memname">void gpr_strvec_add </td>
407 <td>(</td>
408 <td class="paramtype"><a class="el" href="structgpr__strvec.html">gpr_strvec</a> *&#160;</td>
409 <td class="paramname"><em>sv</em>, </td>
410 </tr>
411 <tr>
412 <td class="paramkey"></td>
413 <td></td>
414 <td class="paramtype">char *&#160;</td>
415 <td class="paramname"><em>str</em>&#160;</td>
416 </tr>
417 <tr>
418 <td></td>
419 <td>)</td>
420 <td></td><td></td>
421 </tr>
422 </table>
423</div><div class="memdoc">
424
425</div>
426</div>
427<a class="anchor" id="a0c7ab5a87b900005d826bdaa8e106b28"></a>
428<div class="memitem">
429<div class="memproto">
430 <table class="memname">
431 <tr>
432 <td class="memname">void gpr_strvec_destroy </td>
433 <td>(</td>
434 <td class="paramtype"><a class="el" href="structgpr__strvec.html">gpr_strvec</a> *&#160;</td>
435 <td class="paramname"><em>sv</em></td><td>)</td>
436 <td></td>
437 </tr>
438 </table>
439</div><div class="memdoc">
440
441</div>
442</div>
443<a class="anchor" id="a0145a60ccd4d1e25389f8bad033f1ff5"></a>
444<div class="memitem">
445<div class="memproto">
446 <table class="memname">
447 <tr>
448 <td class="memname">char* gpr_strvec_flatten </td>
449 <td>(</td>
450 <td class="paramtype"><a class="el" href="structgpr__strvec.html">gpr_strvec</a> *&#160;</td>
451 <td class="paramname"><em>sv</em>, </td>
452 </tr>
453 <tr>
454 <td class="paramkey"></td>
455 <td></td>
456 <td class="paramtype">size_t *&#160;</td>
457 <td class="paramname"><em>final_length</em>&#160;</td>
458 </tr>
459 <tr>
460 <td></td>
461 <td>)</td>
462 <td></td><td></td>
463 </tr>
464 </table>
465</div><div class="memdoc">
466
467</div>
468</div>
469<a class="anchor" id="a751f38e61272bd9626890fa54270b82f"></a>
470<div class="memitem">
471<div class="memproto">
472 <table class="memname">
473 <tr>
474 <td class="memname">void gpr_strvec_init </td>
475 <td>(</td>
476 <td class="paramtype"><a class="el" href="structgpr__strvec.html">gpr_strvec</a> *&#160;</td>
477 <td class="paramname"><em>sv</em></td><td>)</td>
478 <td></td>
479 </tr>
480 </table>
481</div><div class="memdoc">
482
483</div>
484</div>
485</div><!-- contents -->
486<!-- start footer part -->
487<hr class="footer"/><address class="footer"><small>
David Garcia Quintas7afa6662015-09-03 09:45:14 -0700488Generated on Thu Sep 3 2015 09:44:13 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
Craig Tiller68f4e0f2015-08-05 08:18:21 -0700489<img class="footer" src="doxygen.png" alt="doxygen"/>
490</a> 1.8.6
491</small></address>
492</body>
493</html>