blob: ae34d0bbbeffc06a9af4c72c113950494c2357a3 [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/sync.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
26 &#160;<span id="projectnumber">0.10.0.0</span>
27 </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="#enum-members">Enumerations</a> &#124;
90<a href="#func-members">Functions</a> </div>
91 <div class="headertitle">
92<div class="title">sync.c File Reference</div> </div>
93</div><!--header-->
94<div class="contents">
95<div class="textblock"><code>#include &lt;<a class="el" href="log_8h_source.html">grpc/support/log.h</a>&gt;</code><br/>
96<code>#include &lt;<a class="el" href="sync_8h_source.html">grpc/support/sync.h</a>&gt;</code><br/>
97<code>#include &lt;<a class="el" href="atm_8h_source.html">grpc/support/atm.h</a>&gt;</code><br/>
98</div><table class="memberdecls">
99<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
100Data Structures</h2></td></tr>
101<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><b>sync_array_s</b></td></tr>
102<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
103</table><table class="memberdecls">
104<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
105Enumerations</h2></td></tr>
106<tr class="memitem:a0ed680fdb405e7195d9f14032851eebb"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <a class="el" href="sync_8c.html#a0ed680fdb405e7195d9f14032851eebba036372fdae4f52140a8f27482b729753">event_sync_partitions</a> = 31
107 }</td></tr>
108<tr class="separator:a0ed680fdb405e7195d9f14032851eebb"><td class="memSeparator" colspan="2">&#160;</td></tr>
109</table><table class="memberdecls">
110<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
111Functions</h2></td></tr>
112<tr class="memitem:a93f37cd27964fda51acd4cd8e6737922"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sync_8c.html#a93f37cd27964fda51acd4cd8e6737922">gpr_event_init</a> (<a class="el" href="structgpr__event.html">gpr_event</a> *ev)</td></tr>
113<tr class="separator:a93f37cd27964fda51acd4cd8e6737922"><td class="memSeparator" colspan="2">&#160;</td></tr>
114<tr class="memitem:a1b1d014640e00512f6789dacc4ff88bd"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sync_8c.html#a1b1d014640e00512f6789dacc4ff88bd">gpr_event_set</a> (<a class="el" href="structgpr__event.html">gpr_event</a> *ev, void *<a class="el" href="hpack__table_8c.html#a8556878012feffc9e0beb86cd78f424d">value</a>)</td></tr>
115<tr class="separator:a1b1d014640e00512f6789dacc4ff88bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
116<tr class="memitem:ac0a2305d9e6575cc5a3d92bc3f12c161"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sync_8c.html#ac0a2305d9e6575cc5a3d92bc3f12c161">gpr_event_get</a> (<a class="el" href="structgpr__event.html">gpr_event</a> *ev)</td></tr>
117<tr class="separator:ac0a2305d9e6575cc5a3d92bc3f12c161"><td class="memSeparator" colspan="2">&#160;</td></tr>
118<tr class="memitem:a01d442a76ff77f64d9f898b22ea33db7"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sync_8c.html#a01d442a76ff77f64d9f898b22ea33db7">gpr_event_wait</a> (<a class="el" href="structgpr__event.html">gpr_event</a> *ev, <a class="el" href="structgpr__timespec.html">gpr_timespec</a> abs_deadline)</td></tr>
119<tr class="separator:a01d442a76ff77f64d9f898b22ea33db7"><td class="memSeparator" colspan="2">&#160;</td></tr>
120<tr class="memitem:ae048c7e762b723821e35a07fd0d85e22"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sync_8c.html#ae048c7e762b723821e35a07fd0d85e22">gpr_event_cancellable_wait</a> (<a class="el" href="structgpr__event.html">gpr_event</a> *ev, <a class="el" href="structgpr__timespec.html">gpr_timespec</a> abs_deadline, <a class="el" href="structgpr__cancellable.html">gpr_cancellable</a> *c)</td></tr>
121<tr class="separator:ae048c7e762b723821e35a07fd0d85e22"><td class="memSeparator" colspan="2">&#160;</td></tr>
122<tr class="memitem:a235584f36572b5410b042ee63cb0740b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sync_8c.html#a235584f36572b5410b042ee63cb0740b">gpr_ref_init</a> (<a class="el" href="structgpr__refcount.html">gpr_refcount</a> *r, int n)</td></tr>
123<tr class="separator:a235584f36572b5410b042ee63cb0740b"><td class="memSeparator" colspan="2">&#160;</td></tr>
124<tr class="memitem:ac0e52c6bfc7a04ba8a269f3227104571"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sync_8c.html#ac0e52c6bfc7a04ba8a269f3227104571">gpr_ref</a> (<a class="el" href="structgpr__refcount.html">gpr_refcount</a> *r)</td></tr>
125<tr class="separator:ac0e52c6bfc7a04ba8a269f3227104571"><td class="memSeparator" colspan="2">&#160;</td></tr>
126<tr class="memitem:a516e26b66b1aa53fba8f5f52b249cb25"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sync_8c.html#a516e26b66b1aa53fba8f5f52b249cb25">gpr_refn</a> (<a class="el" href="structgpr__refcount.html">gpr_refcount</a> *r, int n)</td></tr>
127<tr class="separator:a516e26b66b1aa53fba8f5f52b249cb25"><td class="memSeparator" colspan="2">&#160;</td></tr>
128<tr class="memitem:a76b570c831b14070c37e708dde91b795"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sync_8c.html#a76b570c831b14070c37e708dde91b795">gpr_unref</a> (<a class="el" href="structgpr__refcount.html">gpr_refcount</a> *r)</td></tr>
129<tr class="separator:a76b570c831b14070c37e708dde91b795"><td class="memSeparator" colspan="2">&#160;</td></tr>
130<tr class="memitem:a76b8e5de6e1baa4fd66c014417dc0a30"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sync_8c.html#a76b8e5de6e1baa4fd66c014417dc0a30">gpr_stats_init</a> (<a class="el" href="structgpr__stats__counter.html">gpr_stats_counter</a> *c, <a class="el" href="port__platform_8h.html#a72d9d0d00bd576cfc8eab61aaea76db2">gpr_intptr</a> n)</td></tr>
131<tr class="separator:a76b8e5de6e1baa4fd66c014417dc0a30"><td class="memSeparator" colspan="2">&#160;</td></tr>
132<tr class="memitem:a8e51ec3b46c7c03602e2279a802daa1c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sync_8c.html#a8e51ec3b46c7c03602e2279a802daa1c">gpr_stats_inc</a> (<a class="el" href="structgpr__stats__counter.html">gpr_stats_counter</a> *c, <a class="el" href="port__platform_8h.html#a72d9d0d00bd576cfc8eab61aaea76db2">gpr_intptr</a> inc)</td></tr>
133<tr class="separator:a8e51ec3b46c7c03602e2279a802daa1c"><td class="memSeparator" colspan="2">&#160;</td></tr>
134<tr class="memitem:abb2c58da7d0b785887266b3b1890764d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="port__platform_8h.html#a72d9d0d00bd576cfc8eab61aaea76db2">gpr_intptr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sync_8c.html#abb2c58da7d0b785887266b3b1890764d">gpr_stats_read</a> (const <a class="el" href="structgpr__stats__counter.html">gpr_stats_counter</a> *c)</td></tr>
135<tr class="separator:abb2c58da7d0b785887266b3b1890764d"><td class="memSeparator" colspan="2">&#160;</td></tr>
136</table>
137<h2 class="groupheader">Enumeration Type Documentation</h2>
138<a class="anchor" id="a0ed680fdb405e7195d9f14032851eebb"></a>
139<div class="memitem">
140<div class="memproto">
141 <table class="memname">
142 <tr>
143 <td class="memname">anonymous enum</td>
144 </tr>
145 </table>
146</div><div class="memdoc">
147<table class="fieldtable">
148<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="a0ed680fdb405e7195d9f14032851eebba036372fdae4f52140a8f27482b729753"></a>event_sync_partitions</em>&#160;</td><td class="fielddoc">
149</td></tr>
150</table>
151
152</div>
153</div>
154<h2 class="groupheader">Function Documentation</h2>
155<a class="anchor" id="ae048c7e762b723821e35a07fd0d85e22"></a>
156<div class="memitem">
157<div class="memproto">
158 <table class="memname">
159 <tr>
160 <td class="memname">void* gpr_event_cancellable_wait </td>
161 <td>(</td>
162 <td class="paramtype"><a class="el" href="structgpr__event.html">gpr_event</a> *&#160;</td>
163 <td class="paramname"><em>ev</em>, </td>
164 </tr>
165 <tr>
166 <td class="paramkey"></td>
167 <td></td>
168 <td class="paramtype"><a class="el" href="structgpr__timespec.html">gpr_timespec</a>&#160;</td>
169 <td class="paramname"><em>abs_deadline</em>, </td>
170 </tr>
171 <tr>
172 <td class="paramkey"></td>
173 <td></td>
174 <td class="paramtype"><a class="el" href="structgpr__cancellable.html">gpr_cancellable</a> *&#160;</td>
175 <td class="paramname"><em>c</em>&#160;</td>
176 </tr>
177 <tr>
178 <td></td>
179 <td>)</td>
180 <td></td><td></td>
181 </tr>
182 </table>
183</div><div class="memdoc">
184
185</div>
186</div>
187<a class="anchor" id="ac0a2305d9e6575cc5a3d92bc3f12c161"></a>
188<div class="memitem">
189<div class="memproto">
190 <table class="memname">
191 <tr>
192 <td class="memname">void* gpr_event_get </td>
193 <td>(</td>
194 <td class="paramtype"><a class="el" href="structgpr__event.html">gpr_event</a> *&#160;</td>
195 <td class="paramname"><em>ev</em></td><td>)</td>
196 <td></td>
197 </tr>
198 </table>
199</div><div class="memdoc">
200
201</div>
202</div>
203<a class="anchor" id="a93f37cd27964fda51acd4cd8e6737922"></a>
204<div class="memitem">
205<div class="memproto">
206 <table class="memname">
207 <tr>
208 <td class="memname">void gpr_event_init </td>
209 <td>(</td>
210 <td class="paramtype"><a class="el" href="structgpr__event.html">gpr_event</a> *&#160;</td>
211 <td class="paramname"><em>ev</em></td><td>)</td>
212 <td></td>
213 </tr>
214 </table>
215</div><div class="memdoc">
216
217</div>
218</div>
219<a class="anchor" id="a1b1d014640e00512f6789dacc4ff88bd"></a>
220<div class="memitem">
221<div class="memproto">
222 <table class="memname">
223 <tr>
224 <td class="memname">void gpr_event_set </td>
225 <td>(</td>
226 <td class="paramtype"><a class="el" href="structgpr__event.html">gpr_event</a> *&#160;</td>
227 <td class="paramname"><em>ev</em>, </td>
228 </tr>
229 <tr>
230 <td class="paramkey"></td>
231 <td></td>
232 <td class="paramtype">void *&#160;</td>
233 <td class="paramname"><em>value</em>&#160;</td>
234 </tr>
235 <tr>
236 <td></td>
237 <td>)</td>
238 <td></td><td></td>
239 </tr>
240 </table>
241</div><div class="memdoc">
242
243</div>
244</div>
245<a class="anchor" id="a01d442a76ff77f64d9f898b22ea33db7"></a>
246<div class="memitem">
247<div class="memproto">
248 <table class="memname">
249 <tr>
250 <td class="memname">void* gpr_event_wait </td>
251 <td>(</td>
252 <td class="paramtype"><a class="el" href="structgpr__event.html">gpr_event</a> *&#160;</td>
253 <td class="paramname"><em>ev</em>, </td>
254 </tr>
255 <tr>
256 <td class="paramkey"></td>
257 <td></td>
258 <td class="paramtype"><a class="el" href="structgpr__timespec.html">gpr_timespec</a>&#160;</td>
259 <td class="paramname"><em>abs_deadline</em>&#160;</td>
260 </tr>
261 <tr>
262 <td></td>
263 <td>)</td>
264 <td></td><td></td>
265 </tr>
266 </table>
267</div><div class="memdoc">
268
269</div>
270</div>
271<a class="anchor" id="ac0e52c6bfc7a04ba8a269f3227104571"></a>
272<div class="memitem">
273<div class="memproto">
274 <table class="memname">
275 <tr>
276 <td class="memname">void gpr_ref </td>
277 <td>(</td>
278 <td class="paramtype"><a class="el" href="structgpr__refcount.html">gpr_refcount</a> *&#160;</td>
279 <td class="paramname"><em>r</em></td><td>)</td>
280 <td></td>
281 </tr>
282 </table>
283</div><div class="memdoc">
284
285</div>
286</div>
287<a class="anchor" id="a235584f36572b5410b042ee63cb0740b"></a>
288<div class="memitem">
289<div class="memproto">
290 <table class="memname">
291 <tr>
292 <td class="memname">void gpr_ref_init </td>
293 <td>(</td>
294 <td class="paramtype"><a class="el" href="structgpr__refcount.html">gpr_refcount</a> *&#160;</td>
295 <td class="paramname"><em>r</em>, </td>
296 </tr>
297 <tr>
298 <td class="paramkey"></td>
299 <td></td>
300 <td class="paramtype">int&#160;</td>
301 <td class="paramname"><em>n</em>&#160;</td>
302 </tr>
303 <tr>
304 <td></td>
305 <td>)</td>
306 <td></td><td></td>
307 </tr>
308 </table>
309</div><div class="memdoc">
310
311</div>
312</div>
313<a class="anchor" id="a516e26b66b1aa53fba8f5f52b249cb25"></a>
314<div class="memitem">
315<div class="memproto">
316 <table class="memname">
317 <tr>
318 <td class="memname">void gpr_refn </td>
319 <td>(</td>
320 <td class="paramtype"><a class="el" href="structgpr__refcount.html">gpr_refcount</a> *&#160;</td>
321 <td class="paramname"><em>r</em>, </td>
322 </tr>
323 <tr>
324 <td class="paramkey"></td>
325 <td></td>
326 <td class="paramtype">int&#160;</td>
327 <td class="paramname"><em>n</em>&#160;</td>
328 </tr>
329 <tr>
330 <td></td>
331 <td>)</td>
332 <td></td><td></td>
333 </tr>
334 </table>
335</div><div class="memdoc">
336
337</div>
338</div>
339<a class="anchor" id="a8e51ec3b46c7c03602e2279a802daa1c"></a>
340<div class="memitem">
341<div class="memproto">
342 <table class="memname">
343 <tr>
344 <td class="memname">void gpr_stats_inc </td>
345 <td>(</td>
346 <td class="paramtype"><a class="el" href="structgpr__stats__counter.html">gpr_stats_counter</a> *&#160;</td>
347 <td class="paramname"><em>c</em>, </td>
348 </tr>
349 <tr>
350 <td class="paramkey"></td>
351 <td></td>
352 <td class="paramtype"><a class="el" href="port__platform_8h.html#a72d9d0d00bd576cfc8eab61aaea76db2">gpr_intptr</a>&#160;</td>
353 <td class="paramname"><em>inc</em>&#160;</td>
354 </tr>
355 <tr>
356 <td></td>
357 <td>)</td>
358 <td></td><td></td>
359 </tr>
360 </table>
361</div><div class="memdoc">
362
363</div>
364</div>
365<a class="anchor" id="a76b8e5de6e1baa4fd66c014417dc0a30"></a>
366<div class="memitem">
367<div class="memproto">
368 <table class="memname">
369 <tr>
370 <td class="memname">void gpr_stats_init </td>
371 <td>(</td>
372 <td class="paramtype"><a class="el" href="structgpr__stats__counter.html">gpr_stats_counter</a> *&#160;</td>
373 <td class="paramname"><em>c</em>, </td>
374 </tr>
375 <tr>
376 <td class="paramkey"></td>
377 <td></td>
378 <td class="paramtype"><a class="el" href="port__platform_8h.html#a72d9d0d00bd576cfc8eab61aaea76db2">gpr_intptr</a>&#160;</td>
379 <td class="paramname"><em>n</em>&#160;</td>
380 </tr>
381 <tr>
382 <td></td>
383 <td>)</td>
384 <td></td><td></td>
385 </tr>
386 </table>
387</div><div class="memdoc">
388
389</div>
390</div>
391<a class="anchor" id="abb2c58da7d0b785887266b3b1890764d"></a>
392<div class="memitem">
393<div class="memproto">
394 <table class="memname">
395 <tr>
396 <td class="memname"><a class="el" href="port__platform_8h.html#a72d9d0d00bd576cfc8eab61aaea76db2">gpr_intptr</a> gpr_stats_read </td>
397 <td>(</td>
398 <td class="paramtype">const <a class="el" href="structgpr__stats__counter.html">gpr_stats_counter</a> *&#160;</td>
399 <td class="paramname"><em>c</em></td><td>)</td>
400 <td></td>
401 </tr>
402 </table>
403</div><div class="memdoc">
404
405</div>
406</div>
407<a class="anchor" id="a76b570c831b14070c37e708dde91b795"></a>
408<div class="memitem">
409<div class="memproto">
410 <table class="memname">
411 <tr>
412 <td class="memname">int gpr_unref </td>
413 <td>(</td>
414 <td class="paramtype"><a class="el" href="structgpr__refcount.html">gpr_refcount</a> *&#160;</td>
415 <td class="paramname"><em>r</em></td><td>)</td>
416 <td></td>
417 </tr>
418 </table>
419</div><div class="memdoc">
420
421</div>
422</div>
423</div><!-- contents -->
424<!-- start footer part -->
425<hr class="footer"/><address class="footer"><small>
426Generated on Wed Aug 5 2015 08:17:07 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
427<img class="footer" src="doxygen.png" alt="doxygen"/>
428</a> 1.8.6
429</small></address>
430</body>
431</html>