-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathbufferevent_8h_source.html
504 lines (502 loc) · 95.2 KB
/
bufferevent_8h_source.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>libevent: event2/bufferevent.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="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.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 id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libevent
 <span id="projectnumber">2.2.1</span>
</div>
<div id="projectbrief">Event notification library</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_db160b4728e6067cf5f9cc14ec42c79d.html">event2</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">bufferevent.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="bufferevent_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) 2000-2007 Niels Provos <provos@citi.umich.edu></span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (c) 2007-2012 Niels Provos and Nick Mathewson</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * Redistribution and use in source and binary forms, with or without</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * modification, are permitted provided that the following conditions</span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * are met:</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * 1. Redistributions of source code must retain the above copyright</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * notice, this list of conditions and the following disclaimer.</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * 2. Redistributions in binary form must reproduce 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 in the</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * documentation and/or other materials provided with the distribution.</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * 3. The name of the author may not be used to endorse or promote products</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * derived from this software without specific prior written permission.</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.</span></div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,</span></div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT</span></div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,</span></div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY</span></div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT</span></div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF</span></div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</span></div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> */</span></div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor">#ifndef EVENT2_BUFFEREVENT_H_INCLUDED_</span></div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#define EVENT2_BUFFEREVENT_H_INCLUDED_</span></div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>  </div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="preprocessor">#include <event2/visibility.h></span></div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  </div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="preprocessor">#ifdef __cplusplus</span></div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="keyword">extern</span> <span class="stringliteral">"C"</span> {</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  </div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="preprocessor">#include <event2/event-config.h></span></div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="preprocessor">#ifdef EVENT__HAVE_SYS_TYPES_H</span></div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="preprocessor">#include <sys/types.h></span></div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="preprocessor">#ifdef EVENT__HAVE_SYS_TIME_H</span></div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="preprocessor">#include <sys/time.h></span></div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  </div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="comment">/* For int types. */</span></div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="preprocessor">#include <<a class="code" href="util_8h.html">event2/util.h</a>></span></div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  </div>
<div class="line"><a name="l00101"></a><span class="lineno"><a class="line" href="bufferevent_8h.html#a504816ca8678e4f3d0bee2700fda524d"> 101</a></span> <span class="preprocessor">#define BEV_EVENT_READING 0x01 </span></div>
<div class="line"><a name="l00102"></a><span class="lineno"><a class="line" href="bufferevent_8h.html#a557afaa0ce75e6bbb71fdcd68c35d077"> 102</a></span> <span class="preprocessor">#define BEV_EVENT_WRITING 0x02 </span></div>
<div class="line"><a name="l00103"></a><span class="lineno"><a class="line" href="bufferevent_8h.html#a4d7d8c93cf62e6f3d37c0cbac75aebcc"> 103</a></span> <span class="preprocessor">#define BEV_EVENT_EOF 0x10 </span></div>
<div class="line"><a name="l00104"></a><span class="lineno"><a class="line" href="bufferevent_8h.html#a5f112d7a064258bdabf8d5182a3bf5e4"> 104</a></span> <span class="preprocessor">#define BEV_EVENT_ERROR 0x20 </span></div>
<div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="bufferevent_8h.html#aa537428e3ac2c8d2dbb4ec041f09347f"> 105</a></span> <span class="preprocessor">#define BEV_EVENT_TIMEOUT 0x40 </span></div>
<div class="line"><a name="l00106"></a><span class="lineno"><a class="line" href="bufferevent_8h.html#affb7a7e5e21e1541ba6f43f950d92993"> 106</a></span> <span class="preprocessor">#define BEV_EVENT_CONNECTED 0x80 </span></div>
<div class="line"><a name="l00114"></a><span class="lineno"><a class="line" href="structbufferevent.html"> 114</a></span> <span class="preprocessor">struct bufferevent</span></div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="preprocessor">#ifdef EVENT_IN_DOXYGEN_</span></div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> {}</div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> ;</div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="keyword">struct </span><a class="code" href="structevent__base.html">event_base</a>;</div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="keyword">struct </span><a class="code" href="structevbuffer.html">evbuffer</a>;</div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="keyword">struct </span>sockaddr;</div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  </div>
<div class="line"><a name="l00136"></a><span class="lineno"><a class="line" href="bufferevent_8h.html#ad0b9fa4a6c8f03b2fe5a9929a7f2cd59"> 136</a></span> <span class="keyword">typedef</span> void (*<a class="code" href="bufferevent_8h.html#ad0b9fa4a6c8f03b2fe5a9929a7f2cd59">bufferevent_data_cb</a>)(<span class="keyword">struct </span><a class="code" href="structbufferevent.html">bufferevent</a> *bev, <span class="keywordtype">void</span> *ctx);</div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  </div>
<div class="line"><a name="l00155"></a><span class="lineno"><a class="line" href="bufferevent_8h.html#a3b0191b460511796e5281474cd704ec4"> 155</a></span> <span class="keyword">typedef</span> void (*<a class="code" href="bufferevent_8h.html#a3b0191b460511796e5281474cd704ec4">bufferevent_event_cb</a>)(<span class="keyword">struct </span><a class="code" href="structbufferevent.html">bufferevent</a> *bev, <span class="keywordtype">short</span> what, <span class="keywordtype">void</span> *ctx);</div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  </div>
<div class="line"><a name="l00158"></a><span class="lineno"><a class="line" href="bufferevent_8h.html#aa4919449c62c6483e2d135509190dc65"> 158</a></span> <span class="keyword">enum</span> <a class="code" href="bufferevent_8h.html#aa4919449c62c6483e2d135509190dc65">bufferevent_options</a> {</div>
<div class="line"><a name="l00161"></a><span class="lineno"><a class="line" href="bufferevent_8h.html#aa4919449c62c6483e2d135509190dc65a5dc89d74ef445da33295d00c8f6adc90"> 161</a></span>  <a class="code" href="bufferevent_8h.html#aa4919449c62c6483e2d135509190dc65a5dc89d74ef445da33295d00c8f6adc90">BEV_OPT_CLOSE_ON_FREE</a> = (1<<0),</div>
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  </div>
<div class="line"><a name="l00165"></a><span class="lineno"><a class="line" href="bufferevent_8h.html#aa4919449c62c6483e2d135509190dc65adfb637881b739eff1441ad848a5e3a2d"> 165</a></span>  <a class="code" href="bufferevent_8h.html#aa4919449c62c6483e2d135509190dc65adfb637881b739eff1441ad848a5e3a2d">BEV_OPT_THREADSAFE</a> = (1<<1),</div>
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>  </div>
<div class="line"><a name="l00168"></a><span class="lineno"><a class="line" href="bufferevent_8h.html#aa4919449c62c6483e2d135509190dc65a2fbeb24d0156aa2492c23aaace73f1d3"> 168</a></span>  <a class="code" href="bufferevent_8h.html#aa4919449c62c6483e2d135509190dc65a2fbeb24d0156aa2492c23aaace73f1d3">BEV_OPT_DEFER_CALLBACKS</a> = (1<<2),</div>
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  </div>
<div class="line"><a name="l00174"></a><span class="lineno"><a class="line" href="bufferevent_8h.html#aa4919449c62c6483e2d135509190dc65acb8ca6f6422fb8f9a748521cf8c4caf5"> 174</a></span>  <a class="code" href="bufferevent_8h.html#aa4919449c62c6483e2d135509190dc65acb8ca6f6422fb8f9a748521cf8c4caf5">BEV_OPT_UNLOCK_CALLBACKS</a> = (1<<3)</div>
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> };</div>
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>  </div>
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> EVENT2_EXPORT_SYMBOL</div>
<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> <span class="keyword">struct </span><a class="code" href="structbufferevent.html">bufferevent</a> *<a class="code" href="bufferevent_8h.html#a71181be5ab504e26f866dd3d91494854">bufferevent_socket_new</a>(<span class="keyword">struct</span> <a class="code" href="structevent__base.html">event_base</a> *base, <a class="code" href="util_8h.html#a7ef0023565082a65020f6e56be59fd0b">evutil_socket_t</a> fd, <span class="keywordtype">int</span> options);</div>
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>  </div>
<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> EVENT2_EXPORT_SYMBOL</div>
<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> <span class="keywordtype">int</span> <a class="code" href="bufferevent_8h.html#aefc782ac77411bdd712be30d6268af2e">bufferevent_socket_connect</a>(<span class="keyword">struct</span> <a class="code" href="structbufferevent.html">bufferevent</a> *bufev, <span class="keyword">const</span> <span class="keyword">struct</span> sockaddr *addr, <span class="keywordtype">int</span> socklen);</div>
<div class="line"><a name="l00214"></a><span class="lineno"> 214</span>  </div>
<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> <span class="keyword">struct </span>evdns_base;</div>
<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> EVENT2_EXPORT_SYMBOL</div>
<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> <span class="keywordtype">int</span> <a class="code" href="bufferevent_8h.html#a5c3c313f2ff0d79a1889e508b37d9dbe">bufferevent_socket_connect_hostname</a>(<span class="keyword">struct</span> <a class="code" href="structbufferevent.html">bufferevent</a> *bufev,</div>
<div class="line"><a name="l00235"></a><span class="lineno"> 235</span>  <span class="keyword">struct</span> evdns_base *evdns_base, <span class="keywordtype">int</span> family, <span class="keyword">const</span> <span class="keywordtype">char</span> *hostname, <span class="keywordtype">int</span> port);</div>
<div class="line"><a name="l00236"></a><span class="lineno"> 236</span>  </div>
<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> EVENT2_EXPORT_SYMBOL</div>
<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> <span class="keywordtype">int</span> <a class="code" href="bufferevent_8h.html#afd80dc15fef6d1e7a88a0464e72e8acb">bufferevent_socket_connect_hostname_hints</a>(<span class="keyword">struct</span> <a class="code" href="structbufferevent.html">bufferevent</a> *bufev,</div>
<div class="line"><a name="l00264"></a><span class="lineno"> 264</span>  <span class="keyword">struct</span> evdns_base *evdns_base, <span class="keyword">const</span> <span class="keyword">struct</span> <a class="code" href="structevutil__addrinfo.html">evutil_addrinfo</a> *hints_in, <span class="keyword">const</span> <span class="keywordtype">char</span> *hostname, <span class="keywordtype">int</span> port);</div>
<div class="line"><a name="l00265"></a><span class="lineno"> 265</span>  </div>
<div class="line"><a name="l00266"></a><span class="lineno"> 266</span>  </div>
<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> EVENT2_EXPORT_SYMBOL</div>
<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> <span class="keywordtype">int</span> <a class="code" href="bufferevent_8h.html#aa533016e5ffc2ed558a5d85f9fbe2fd5">bufferevent_socket_get_dns_error</a>(<span class="keyword">struct</span> <a class="code" href="structbufferevent.html">bufferevent</a> *bev);</div>
<div class="line"><a name="l00277"></a><span class="lineno"> 277</span>  </div>
<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> EVENT2_EXPORT_SYMBOL</div>
<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> <span class="keywordtype">int</span> <a class="code" href="bufferevent_8h.html#acb59fdb64642f73a96c84adeb97311cb">bufferevent_base_set</a>(<span class="keyword">struct</span> <a class="code" href="structevent__base.html">event_base</a> *base, <span class="keyword">struct</span> <a class="code" href="structbufferevent.html">bufferevent</a> *bufev);</div>
<div class="line"><a name="l00291"></a><span class="lineno"> 291</span>  </div>
<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> EVENT2_EXPORT_SYMBOL</div>
<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> <span class="keyword">struct </span><a class="code" href="structevent__base.html">event_base</a> *<a class="code" href="bufferevent_8h.html#a16aa6baf1d489b14fd31cf5e18265186">bufferevent_get_base</a>(<span class="keyword">struct</span> <a class="code" href="structbufferevent.html">bufferevent</a> *bev);</div>
<div class="line"><a name="l00297"></a><span class="lineno"> 297</span>  </div>
<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> EVENT2_EXPORT_SYMBOL</div>
<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> <span class="keywordtype">int</span> <a class="code" href="bufferevent_8h.html#a2a0eaaf330e2fa46f84dd5ec3e1299c8">bufferevent_priority_set</a>(<span class="keyword">struct</span> <a class="code" href="structbufferevent.html">bufferevent</a> *bufev, <span class="keywordtype">int</span> pri);</div>
<div class="line"><a name="l00309"></a><span class="lineno"> 309</span>  </div>
<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> EVENT2_EXPORT_SYMBOL</div>
<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> <span class="keywordtype">int</span> <a class="code" href="bufferevent_8h.html#a0091b3c386580cf2980039ad9a629b70">bufferevent_get_priority</a>(<span class="keyword">const</span> <span class="keyword">struct</span> <a class="code" href="structbufferevent.html">bufferevent</a> *bufev);</div>
<div class="line"><a name="l00317"></a><span class="lineno"> 317</span>  </div>
<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> EVENT2_EXPORT_SYMBOL</div>
<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> <span class="keywordtype">void</span> <a class="code" href="bufferevent_8h.html#a8baa699f526f237c0d33f618f073c1cc">bufferevent_free</a>(<span class="keyword">struct</span> <a class="code" href="structbufferevent.html">bufferevent</a> *bufev);</div>
<div class="line"><a name="l00328"></a><span class="lineno"> 328</span>  </div>
<div class="line"><a name="l00329"></a><span class="lineno"> 329</span>  </div>
<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> EVENT2_EXPORT_SYMBOL</div>
<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> <span class="keywordtype">void</span> <a class="code" href="bufferevent_8h.html#a031df52978c5237b70fb8ae7df572c97">bufferevent_setcb</a>(<span class="keyword">struct</span> <a class="code" href="structbufferevent.html">bufferevent</a> *bufev,</div>
<div class="line"><a name="l00346"></a><span class="lineno"> 346</span>  <a class="code" href="bufferevent_8h.html#ad0b9fa4a6c8f03b2fe5a9929a7f2cd59">bufferevent_data_cb</a> readcb, <a class="code" href="bufferevent_8h.html#ad0b9fa4a6c8f03b2fe5a9929a7f2cd59">bufferevent_data_cb</a> writecb,</div>
<div class="line"><a name="l00347"></a><span class="lineno"> 347</span>  <a class="code" href="bufferevent_8h.html#a3b0191b460511796e5281474cd704ec4">bufferevent_event_cb</a> eventcb, <span class="keywordtype">void</span> *cbarg);</div>
<div class="line"><a name="l00348"></a><span class="lineno"> 348</span>  </div>
<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> EVENT2_EXPORT_SYMBOL</div>
<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> <span class="keywordtype">void</span> <a class="code" href="bufferevent_8h.html#ae58a293995d110362cc1fc695678a928">bufferevent_getcb</a>(<span class="keyword">struct</span> <a class="code" href="structbufferevent.html">bufferevent</a> *bufev,</div>
<div class="line"><a name="l00365"></a><span class="lineno"> 365</span>  <a class="code" href="bufferevent_8h.html#ad0b9fa4a6c8f03b2fe5a9929a7f2cd59">bufferevent_data_cb</a> *readcb_ptr,</div>
<div class="line"><a name="l00366"></a><span class="lineno"> 366</span>  <a class="code" href="bufferevent_8h.html#ad0b9fa4a6c8f03b2fe5a9929a7f2cd59">bufferevent_data_cb</a> *writecb_ptr,</div>
<div class="line"><a name="l00367"></a><span class="lineno"> 367</span>  <a class="code" href="bufferevent_8h.html#a3b0191b460511796e5281474cd704ec4">bufferevent_event_cb</a> *eventcb_ptr,</div>
<div class="line"><a name="l00368"></a><span class="lineno"> 368</span>  <span class="keywordtype">void</span> **cbarg_ptr);</div>
<div class="line"><a name="l00369"></a><span class="lineno"> 369</span>  </div>
<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> EVENT2_EXPORT_SYMBOL</div>
<div class="line"><a name="l00378"></a><span class="lineno"> 378</span> <span class="keywordtype">int</span> <a class="code" href="bufferevent_8h.html#a66cdf9296b02676aacf98a6277a7e756">bufferevent_setfd</a>(<span class="keyword">struct</span> <a class="code" href="structbufferevent.html">bufferevent</a> *bufev, <a class="code" href="util_8h.html#a7ef0023565082a65020f6e56be59fd0b">evutil_socket_t</a> fd);</div>
<div class="line"><a name="l00379"></a><span class="lineno"> 379</span>  </div>
<div class="line"><a name="l00389"></a><span class="lineno"> 389</span> EVENT2_EXPORT_SYMBOL</div>
<div class="line"><a name="l00390"></a><span class="lineno"> 390</span> <span class="keywordtype">int</span> <a class="code" href="bufferevent_8h.html#a955c7d37679173c593ee6ed0a7adeeea">bufferevent_replacefd</a>(<span class="keyword">struct</span> <a class="code" href="structbufferevent.html">bufferevent</a> *bufev, <a class="code" href="util_8h.html#a7ef0023565082a65020f6e56be59fd0b">evutil_socket_t</a> fd);</div>
<div class="line"><a name="l00391"></a><span class="lineno"> 391</span>  </div>
<div class="line"><a name="l00396"></a><span class="lineno"> 396</span> EVENT2_EXPORT_SYMBOL</div>
<div class="line"><a name="l00397"></a><span class="lineno"> 397</span> <a class="code" href="util_8h.html#a7ef0023565082a65020f6e56be59fd0b">evutil_socket_t</a> <a class="code" href="bufferevent_8h.html#a544e049e4a8cca27ab1a98b8339fe72a">bufferevent_getfd</a>(<span class="keyword">struct</span> <a class="code" href="structbufferevent.html">bufferevent</a> *bufev);</div>
<div class="line"><a name="l00398"></a><span class="lineno"> 398</span>  </div>
<div class="line"><a name="l00403"></a><span class="lineno"> 403</span> EVENT2_EXPORT_SYMBOL</div>
<div class="line"><a name="l00404"></a><span class="lineno"> 404</span> <span class="keyword">struct </span><a class="code" href="structbufferevent.html">bufferevent</a> *<a class="code" href="bufferevent_8h.html#a3e0081196d2776b92994c6034eb00b2c">bufferevent_get_underlying</a>(<span class="keyword">struct</span> <a class="code" href="structbufferevent.html">bufferevent</a> *bufev);</div>
<div class="line"><a name="l00405"></a><span class="lineno"> 405</span>  </div>
<div class="line"><a name="l00419"></a><span class="lineno"> 419</span> EVENT2_EXPORT_SYMBOL</div>
<div class="line"><a name="l00420"></a><span class="lineno"> 420</span> <span class="keywordtype">int</span> <a class="code" href="bufferevent_8h.html#a7873bee379202ca1913ea365b92d2ed1">bufferevent_write</a>(<span class="keyword">struct</span> <a class="code" href="structbufferevent.html">bufferevent</a> *bufev,</div>
<div class="line"><a name="l00421"></a><span class="lineno"> 421</span>  <span class="keyword">const</span> <span class="keywordtype">void</span> *data, <span class="keywordtype">size_t</span> size);</div>
<div class="line"><a name="l00422"></a><span class="lineno"> 422</span>  </div>
<div class="line"><a name="l00423"></a><span class="lineno"> 423</span>  </div>
<div class="line"><a name="l00433"></a><span class="lineno"> 433</span> EVENT2_EXPORT_SYMBOL</div>
<div class="line"><a name="l00434"></a><span class="lineno"> 434</span> <span class="keywordtype">int</span> <a class="code" href="bufferevent_8h.html#ac9b0f97c37f116dcb579e4491dadda1d">bufferevent_write_buffer</a>(<span class="keyword">struct</span> <a class="code" href="structbufferevent.html">bufferevent</a> *bufev, <span class="keyword">struct</span> <a class="code" href="structevbuffer.html">evbuffer</a> *buf);</div>
<div class="line"><a name="l00435"></a><span class="lineno"> 435</span>  </div>
<div class="line"><a name="l00436"></a><span class="lineno"> 436</span>  </div>
<div class="line"><a name="l00448"></a><span class="lineno"> 448</span> EVENT2_EXPORT_SYMBOL</div>
<div class="line"><a name="l00449"></a><span class="lineno"> 449</span> <span class="keywordtype">size_t</span> <a class="code" href="bufferevent_8h.html#a9e36c54f6b0ea02183998d5a604a00ef">bufferevent_read</a>(<span class="keyword">struct</span> <a class="code" href="structbufferevent.html">bufferevent</a> *bufev, <span class="keywordtype">void</span> *data, <span class="keywordtype">size_t</span> size);</div>
<div class="line"><a name="l00450"></a><span class="lineno"> 450</span>  </div>
<div class="line"><a name="l00459"></a><span class="lineno"> 459</span> EVENT2_EXPORT_SYMBOL</div>
<div class="line"><a name="l00460"></a><span class="lineno"> 460</span> <span class="keywordtype">int</span> <a class="code" href="bufferevent_8h.html#abcab28c476ef6bde1faf233bfd18285c">bufferevent_read_buffer</a>(<span class="keyword">struct</span> <a class="code" href="structbufferevent.html">bufferevent</a> *bufev, <span class="keyword">struct</span> <a class="code" href="structevbuffer.html">evbuffer</a> *buf);</div>
<div class="line"><a name="l00461"></a><span class="lineno"> 461</span>  </div>
<div class="line"><a name="l00471"></a><span class="lineno"> 471</span> EVENT2_EXPORT_SYMBOL</div>
<div class="line"><a name="l00472"></a><span class="lineno"> 472</span> <span class="keyword">struct </span><a class="code" href="structevbuffer.html">evbuffer</a> *<a class="code" href="bufferevent_8h.html#a3ddbf50178b96b3f243ddc83d67e88b0">bufferevent_get_input</a>(<span class="keyword">struct</span> <a class="code" href="structbufferevent.html">bufferevent</a> *bufev);</div>
<div class="line"><a name="l00473"></a><span class="lineno"> 473</span>  </div>
<div class="line"><a name="l00486"></a><span class="lineno"> 486</span> EVENT2_EXPORT_SYMBOL</div>
<div class="line"><a name="l00487"></a><span class="lineno"> 487</span> <span class="keyword">struct </span><a class="code" href="structevbuffer.html">evbuffer</a> *<a class="code" href="bufferevent_8h.html#ac6e45fa1fc577c4f0e6c4689e72c0a15">bufferevent_get_output</a>(<span class="keyword">struct</span> <a class="code" href="structbufferevent.html">bufferevent</a> *bufev);</div>
<div class="line"><a name="l00488"></a><span class="lineno"> 488</span>  </div>
<div class="line"><a name="l00497"></a><span class="lineno"> 497</span> EVENT2_EXPORT_SYMBOL</div>
<div class="line"><a name="l00498"></a><span class="lineno"> 498</span> <span class="keywordtype">int</span> <a class="code" href="bufferevent_8h.html#aa8a5dd2436494afd374213b99102265b">bufferevent_enable</a>(<span class="keyword">struct</span> <a class="code" href="structbufferevent.html">bufferevent</a> *bufev, <span class="keywordtype">short</span> <a class="code" href="structevent.html">event</a>);</div>
<div class="line"><a name="l00499"></a><span class="lineno"> 499</span>  </div>
<div class="line"><a name="l00508"></a><span class="lineno"> 508</span> EVENT2_EXPORT_SYMBOL</div>
<div class="line"><a name="l00509"></a><span class="lineno"> 509</span> <span class="keywordtype">int</span> <a class="code" href="bufferevent_8h.html#a4f3974def824e73a6861d94cff71e7c6">bufferevent_disable</a>(<span class="keyword">struct</span> <a class="code" href="structbufferevent.html">bufferevent</a> *bufev, <span class="keywordtype">short</span> <a class="code" href="structevent.html">event</a>);</div>
<div class="line"><a name="l00510"></a><span class="lineno"> 510</span>  </div>
<div class="line"><a name="l00517"></a><span class="lineno"> 517</span> EVENT2_EXPORT_SYMBOL</div>
<div class="line"><a name="l00518"></a><span class="lineno"> 518</span> <span class="keywordtype">short</span> <a class="code" href="bufferevent_8h.html#ab78b8248210f0fadac8b5924dde5a3e7">bufferevent_get_enabled</a>(<span class="keyword">struct</span> <a class="code" href="structbufferevent.html">bufferevent</a> *bufev);</div>
<div class="line"><a name="l00519"></a><span class="lineno"> 519</span>  </div>
<div class="line"><a name="l00546"></a><span class="lineno"> 546</span> EVENT2_EXPORT_SYMBOL</div>
<div class="line"><a name="l00547"></a><span class="lineno"> 547</span> <span class="keywordtype">int</span> <a class="code" href="bufferevent_8h.html#aec0864607ef2bf9816cda06c1c4ab83f">bufferevent_set_timeouts</a>(<span class="keyword">struct</span> <a class="code" href="structbufferevent.html">bufferevent</a> *bufev,</div>
<div class="line"><a name="l00548"></a><span class="lineno"> 548</span>  <span class="keyword">const</span> <span class="keyword">struct</span> timeval *timeout_read, <span class="keyword">const</span> <span class="keyword">struct</span> timeval *timeout_write);</div>
<div class="line"><a name="l00549"></a><span class="lineno"> 549</span>  </div>
<div class="line"><a name="l00571"></a><span class="lineno"> 571</span> EVENT2_EXPORT_SYMBOL</div>
<div class="line"><a name="l00572"></a><span class="lineno"> 572</span> <span class="keywordtype">void</span> <a class="code" href="bufferevent_8h.html#ae23c61cdaf3f74d0fea96d41aa6f7783">bufferevent_setwatermark</a>(<span class="keyword">struct</span> <a class="code" href="structbufferevent.html">bufferevent</a> *bufev, <span class="keywordtype">short</span> events,</div>
<div class="line"><a name="l00573"></a><span class="lineno"> 573</span>  <span class="keywordtype">size_t</span> lowmark, <span class="keywordtype">size_t</span> highmark);</div>
<div class="line"><a name="l00574"></a><span class="lineno"> 574</span>  </div>
<div class="line"><a name="l00585"></a><span class="lineno"> 585</span> EVENT2_EXPORT_SYMBOL</div>
<div class="line"><a name="l00586"></a><span class="lineno"> 586</span> <span class="keywordtype">int</span> <a class="code" href="bufferevent_8h.html#ae3dd6349d1e33b5238e110a3aba4d163">bufferevent_getwatermark</a>(<span class="keyword">struct</span> <a class="code" href="structbufferevent.html">bufferevent</a> *bufev, <span class="keywordtype">short</span> events,</div>
<div class="line"><a name="l00587"></a><span class="lineno"> 587</span>  <span class="keywordtype">size_t</span> *lowmark, <span class="keywordtype">size_t</span> *highmark);</div>
<div class="line"><a name="l00588"></a><span class="lineno"> 588</span>  </div>
<div class="line"><a name="l00593"></a><span class="lineno"> 593</span> EVENT2_EXPORT_SYMBOL</div>
<div class="line"><a name="l00594"></a><span class="lineno"> 594</span> <span class="keywordtype">void</span> <a class="code" href="bufferevent_8h.html#a8744a827bb440c1b62676ec35b56b5fc">bufferevent_lock</a>(<span class="keyword">struct</span> <a class="code" href="structbufferevent.html">bufferevent</a> *bufev);</div>
<div class="line"><a name="l00595"></a><span class="lineno"> 595</span>  </div>
<div class="line"><a name="l00600"></a><span class="lineno"> 600</span> EVENT2_EXPORT_SYMBOL</div>
<div class="line"><a name="l00601"></a><span class="lineno"> 601</span> <span class="keywordtype">void</span> <a class="code" href="bufferevent_8h.html#a238f9ac0fcd75094f7b7611e7e6649f2">bufferevent_unlock</a>(<span class="keyword">struct</span> <a class="code" href="structbufferevent.html">bufferevent</a> *bufev);</div>
<div class="line"><a name="l00602"></a><span class="lineno"> 602</span>  </div>
<div class="line"><a name="l00603"></a><span class="lineno"> 603</span>  </div>
<div class="line"><a name="l00612"></a><span class="lineno"> 612</span> EVENT2_EXPORT_SYMBOL</div>
<div class="line"><a name="l00613"></a><span class="lineno"> 613</span> <span class="keywordtype">void</span> <a class="code" href="bufferevent_8h.html#a27cabbe542fec7731049312e37e7ba95">bufferevent_incref</a>(<span class="keyword">struct</span> <a class="code" href="structbufferevent.html">bufferevent</a> *bufev);</div>
<div class="line"><a name="l00614"></a><span class="lineno"> 614</span>  </div>
<div class="line"><a name="l00626"></a><span class="lineno"> 626</span> EVENT2_EXPORT_SYMBOL</div>
<div class="line"><a name="l00627"></a><span class="lineno"> 627</span> <span class="keywordtype">int</span> <a class="code" href="bufferevent_8h.html#a3427551c0806f78f1bdfd8d767974e27">bufferevent_decref</a>(<span class="keyword">struct</span> <a class="code" href="structbufferevent.html">bufferevent</a> *bufev);</div>
<div class="line"><a name="l00628"></a><span class="lineno"> 628</span>  </div>
<div class="line"><a name="l00633"></a><span class="lineno"><a class="line" href="bufferevent_8h.html#ac35edc760057a2e48b4e8ba9ecf2ad25"> 633</a></span> <span class="keyword">enum</span> <a class="code" href="bufferevent_8h.html#ac35edc760057a2e48b4e8ba9ecf2ad25">bufferevent_flush_mode</a> {</div>
<div class="line"><a name="l00635"></a><span class="lineno"><a class="line" href="bufferevent_8h.html#ac35edc760057a2e48b4e8ba9ecf2ad25a81903ce04ca68ac1680dd0b7a28a7fce"> 635</a></span>  <a class="code" href="bufferevent_8h.html#ac35edc760057a2e48b4e8ba9ecf2ad25a81903ce04ca68ac1680dd0b7a28a7fce">BEV_NORMAL</a> = 0,</div>
<div class="line"><a name="l00636"></a><span class="lineno"> 636</span>  </div>
<div class="line"><a name="l00638"></a><span class="lineno"><a class="line" href="bufferevent_8h.html#ac35edc760057a2e48b4e8ba9ecf2ad25a77e7f15a95815dcaaef27fdabb0e6164"> 638</a></span>  <a class="code" href="bufferevent_8h.html#ac35edc760057a2e48b4e8ba9ecf2ad25a77e7f15a95815dcaaef27fdabb0e6164">BEV_FLUSH</a> = 1,</div>
<div class="line"><a name="l00639"></a><span class="lineno"> 639</span>  </div>
<div class="line"><a name="l00641"></a><span class="lineno"><a class="line" href="bufferevent_8h.html#ac35edc760057a2e48b4e8ba9ecf2ad25acb248a91854bbebd773061df7f4bbc94"> 641</a></span>  <a class="code" href="bufferevent_8h.html#ac35edc760057a2e48b4e8ba9ecf2ad25acb248a91854bbebd773061df7f4bbc94">BEV_FINISHED</a> = 2</div>
<div class="line"><a name="l00642"></a><span class="lineno"> 642</span> };</div>
<div class="line"><a name="l00643"></a><span class="lineno"> 643</span>  </div>
<div class="line"><a name="l00652"></a><span class="lineno"> 652</span> EVENT2_EXPORT_SYMBOL</div>
<div class="line"><a name="l00653"></a><span class="lineno"> 653</span> <span class="keywordtype">int</span> <a class="code" href="bufferevent_8h.html#a4e7b46a3dd1518534a2120ee9c8dbe69">bufferevent_flush</a>(<span class="keyword">struct</span> <a class="code" href="structbufferevent.html">bufferevent</a> *bufev,</div>
<div class="line"><a name="l00654"></a><span class="lineno"> 654</span>  <span class="keywordtype">short</span> iotype,</div>
<div class="line"><a name="l00655"></a><span class="lineno"> 655</span>  <span class="keyword">enum</span> <a class="code" href="bufferevent_8h.html#ac35edc760057a2e48b4e8ba9ecf2ad25">bufferevent_flush_mode</a> mode);</div>
<div class="line"><a name="l00656"></a><span class="lineno"> 656</span>  </div>
<div class="line"><a name="l00661"></a><span class="lineno"><a class="line" href="bufferevent_8h.html#a7837b6947fc855924466e2347a6faa8f"> 661</a></span> <span class="keyword">enum</span> <a class="code" href="bufferevent_8h.html#a7837b6947fc855924466e2347a6faa8f">bufferevent_trigger_options</a> {</div>
<div class="line"><a name="l00663"></a><span class="lineno"><a class="line" href="bufferevent_8h.html#a7837b6947fc855924466e2347a6faa8fa02d5d43f86f75f0f1569ca2b16025bfc"> 663</a></span>  <a class="code" href="bufferevent_8h.html#a7837b6947fc855924466e2347a6faa8fa02d5d43f86f75f0f1569ca2b16025bfc">BEV_TRIG_IGNORE_WATERMARKS</a> = (1<<16),</div>
<div class="line"><a name="l00664"></a><span class="lineno"> 664</span>  </div>
<div class="line"><a name="l00666"></a><span class="lineno"><a class="line" href="bufferevent_8h.html#a7837b6947fc855924466e2347a6faa8faef788894ba060effdd88553e59eb1330"> 666</a></span>  <a class="code" href="bufferevent_8h.html#a7837b6947fc855924466e2347a6faa8faef788894ba060effdd88553e59eb1330">BEV_TRIG_DEFER_CALLBACKS</a> = <a class="code" href="bufferevent_8h.html#aa4919449c62c6483e2d135509190dc65a2fbeb24d0156aa2492c23aaace73f1d3">BEV_OPT_DEFER_CALLBACKS</a></div>
<div class="line"><a name="l00667"></a><span class="lineno"> 667</span>  </div>
<div class="line"><a name="l00668"></a><span class="lineno"> 668</span>  <span class="comment">/* (Note: for internal reasons, these need to be disjoint from</span></div>
<div class="line"><a name="l00669"></a><span class="lineno"> 669</span> <span class="comment"> * bufferevent_options, except when they mean the same thing. */</span></div>
<div class="line"><a name="l00670"></a><span class="lineno"> 670</span> };</div>
<div class="line"><a name="l00671"></a><span class="lineno"> 671</span>  </div>
<div class="line"><a name="l00683"></a><span class="lineno"> 683</span> EVENT2_EXPORT_SYMBOL</div>
<div class="line"><a name="l00684"></a><span class="lineno"> 684</span> <span class="keywordtype">void</span> <a class="code" href="bufferevent_8h.html#ae46282450083187370ba2ea42029d341">bufferevent_trigger</a>(<span class="keyword">struct</span> <a class="code" href="structbufferevent.html">bufferevent</a> *bufev, <span class="keywordtype">short</span> iotype,</div>
<div class="line"><a name="l00685"></a><span class="lineno"> 685</span>  <span class="keywordtype">int</span> options);</div>
<div class="line"><a name="l00686"></a><span class="lineno"> 686</span>  </div>
<div class="line"><a name="l00696"></a><span class="lineno"> 696</span> EVENT2_EXPORT_SYMBOL</div>
<div class="line"><a name="l00697"></a><span class="lineno"> 697</span> <span class="keywordtype">void</span> <a class="code" href="bufferevent_8h.html#ae8574fb31c0dc88c158c5324110bcbac">bufferevent_trigger_event</a>(<span class="keyword">struct</span> <a class="code" href="structbufferevent.html">bufferevent</a> *bufev, <span class="keywordtype">short</span> what,</div>
<div class="line"><a name="l00698"></a><span class="lineno"> 698</span>  <span class="keywordtype">int</span> options);</div>
<div class="line"><a name="l00699"></a><span class="lineno"> 699</span>  </div>
<div class="line"><a name="l00708"></a><span class="lineno"><a class="line" href="bufferevent_8h.html#a19e499f7bfa831b802fd3575d141b4e1"> 708</a></span> <span class="keyword">enum</span> <a class="code" href="bufferevent_8h.html#a19e499f7bfa831b802fd3575d141b4e1">bufferevent_filter_result</a> {</div>
<div class="line"><a name="l00710"></a><span class="lineno"><a class="line" href="bufferevent_8h.html#a19e499f7bfa831b802fd3575d141b4e1a794bf8211eaafdbeb382991dc5874e4d"> 710</a></span>  <a class="code" href="bufferevent_8h.html#a19e499f7bfa831b802fd3575d141b4e1a794bf8211eaafdbeb382991dc5874e4d">BEV_OK</a> = 0,</div>
<div class="line"><a name="l00711"></a><span class="lineno"> 711</span>  </div>
<div class="line"><a name="l00713"></a><span class="lineno"><a class="line" href="bufferevent_8h.html#a19e499f7bfa831b802fd3575d141b4e1a78c4f864aee50d333d74e3b46e12b8a4"> 713</a></span>  <a class="code" href="bufferevent_8h.html#a19e499f7bfa831b802fd3575d141b4e1a78c4f864aee50d333d74e3b46e12b8a4">BEV_NEED_MORE</a> = 1,</div>
<div class="line"><a name="l00714"></a><span class="lineno"> 714</span>  </div>
<div class="line"><a name="l00717"></a><span class="lineno"><a class="line" href="bufferevent_8h.html#a19e499f7bfa831b802fd3575d141b4e1a4e51550811d3dad92400c27d69277032"> 717</a></span>  <a class="code" href="bufferevent_8h.html#a19e499f7bfa831b802fd3575d141b4e1a4e51550811d3dad92400c27d69277032">BEV_ERROR</a> = 2</div>
<div class="line"><a name="l00718"></a><span class="lineno"> 718</span> };</div>
<div class="line"><a name="l00719"></a><span class="lineno"> 719</span>  </div>
<div class="line"><a name="l00738"></a><span class="lineno"><a class="line" href="bufferevent_8h.html#add4274f8e311afc47fb097d290dc54e8"> 738</a></span> <span class="keyword">typedef</span> <span class="keyword">enum</span> <a class="code" href="bufferevent_8h.html#a19e499f7bfa831b802fd3575d141b4e1">bufferevent_filter_result</a> (*<a class="code" href="bufferevent_8h.html#add4274f8e311afc47fb097d290dc54e8">bufferevent_filter_cb</a>)(</div>
<div class="line"><a name="l00739"></a><span class="lineno"> 739</span>  <span class="keyword">struct </span><a class="code" href="structevbuffer.html">evbuffer</a> *src, <span class="keyword">struct </span><a class="code" href="structevbuffer.html">evbuffer</a> *dst, ev_ssize_t dst_limit,</div>
<div class="line"><a name="l00740"></a><span class="lineno"> 740</span>  <span class="keyword">enum</span> <a class="code" href="bufferevent_8h.html#ac35edc760057a2e48b4e8ba9ecf2ad25">bufferevent_flush_mode</a> mode, <span class="keywordtype">void</span> *ctx);</div>
<div class="line"><a name="l00741"></a><span class="lineno"> 741</span>  </div>
<div class="line"><a name="l00755"></a><span class="lineno"> 755</span> EVENT2_EXPORT_SYMBOL</div>
<div class="line"><a name="l00756"></a><span class="lineno"> 756</span> <span class="keyword">struct </span><a class="code" href="structbufferevent.html">bufferevent</a> *</div>
<div class="line"><a name="l00757"></a><span class="lineno"> 757</span> <a class="code" href="bufferevent_8h.html#a38bb612dac0112d8ceeb02d0a9a02451">bufferevent_filter_new</a>(<span class="keyword">struct</span> <a class="code" href="structbufferevent.html">bufferevent</a> *underlying,</div>
<div class="line"><a name="l00758"></a><span class="lineno"> 758</span>  <a class="code" href="bufferevent_8h.html#add4274f8e311afc47fb097d290dc54e8">bufferevent_filter_cb</a> input_filter,</div>
<div class="line"><a name="l00759"></a><span class="lineno"> 759</span>  <a class="code" href="bufferevent_8h.html#add4274f8e311afc47fb097d290dc54e8">bufferevent_filter_cb</a> output_filter,</div>
<div class="line"><a name="l00760"></a><span class="lineno"> 760</span>  <span class="keywordtype">int</span> options,</div>
<div class="line"><a name="l00761"></a><span class="lineno"> 761</span>  <span class="keywordtype">void</span> (*free_context)(<span class="keywordtype">void</span> *),</div>
<div class="line"><a name="l00762"></a><span class="lineno"> 762</span>  <span class="keywordtype">void</span> *ctx);</div>
<div class="line"><a name="l00775"></a><span class="lineno"> 775</span> EVENT2_EXPORT_SYMBOL</div>
<div class="line"><a name="l00776"></a><span class="lineno"> 776</span> <span class="keywordtype">int</span> <a class="code" href="bufferevent_8h.html#ac6271b7cc2126d3bc745cf00187672a5">bufferevent_pair_new</a>(<span class="keyword">struct</span> <a class="code" href="structevent__base.html">event_base</a> *base, <span class="keywordtype">int</span> options,</div>
<div class="line"><a name="l00777"></a><span class="lineno"> 777</span>  <span class="keyword">struct</span> <a class="code" href="structbufferevent.html">bufferevent</a> *pair[2]);</div>
<div class="line"><a name="l00778"></a><span class="lineno"> 778</span>  </div>
<div class="line"><a name="l00783"></a><span class="lineno"> 783</span> EVENT2_EXPORT_SYMBOL</div>
<div class="line"><a name="l00784"></a><span class="lineno"> 784</span> <span class="keyword">struct </span><a class="code" href="structbufferevent.html">bufferevent</a> *<a class="code" href="bufferevent_8h.html#a32442df1f9b2252e00d9d9a64ea07854">bufferevent_pair_get_partner</a>(<span class="keyword">struct</span> <a class="code" href="structbufferevent.html">bufferevent</a> *bev);</div>
<div class="line"><a name="l00785"></a><span class="lineno"> 785</span>  </div>
<div class="line"><a name="l00790"></a><span class="lineno"> 790</span> <span class="keyword">struct </span>ev_token_bucket_cfg;</div>
<div class="line"><a name="l00791"></a><span class="lineno"> 791</span>  </div>
<div class="line"><a name="l00796"></a><span class="lineno"> 796</span> <span class="keyword">struct </span>bufferevent_rate_limit_group;</div>
<div class="line"><a name="l00797"></a><span class="lineno"> 797</span>  </div>
<div class="line"><a name="l00799"></a><span class="lineno"><a class="line" href="bufferevent_8h.html#a78fc86349f408552be0fdf249db673ec"> 799</a></span> <span class="preprocessor">#define EV_RATE_LIMIT_MAX EV_SSIZE_MAX</span></div>
<div class="line"><a name="l00800"></a><span class="lineno"> 800</span>  </div>
<div class="line"><a name="l00817"></a><span class="lineno"> 817</span> EVENT2_EXPORT_SYMBOL</div>
<div class="line"><a name="l00818"></a><span class="lineno"> 818</span> <span class="keyword">struct </span>ev_token_bucket_cfg *<a class="code" href="bufferevent_8h.html#a2dc87d1bae8855f9efca12edea9e3b84">ev_token_bucket_cfg_new</a>(</div>
<div class="line"><a name="l00819"></a><span class="lineno"> 819</span>  <span class="keywordtype">size_t</span> read_rate, <span class="keywordtype">size_t</span> read_burst,</div>
<div class="line"><a name="l00820"></a><span class="lineno"> 820</span>  <span class="keywordtype">size_t</span> write_rate, <span class="keywordtype">size_t</span> write_burst,</div>
<div class="line"><a name="l00821"></a><span class="lineno"> 821</span>  <span class="keyword">const</span> <span class="keyword">struct</span> timeval *tick_len);</div>
<div class="line"><a name="l00822"></a><span class="lineno"> 822</span>  </div>
<div class="line"><a name="l00828"></a><span class="lineno"> 828</span> EVENT2_EXPORT_SYMBOL</div>
<div class="line"><a name="l00829"></a><span class="lineno"> 829</span> <span class="keywordtype">void</span> <a class="code" href="bufferevent_8h.html#a7ac436abc86f4071a5c43b29c12dba16">ev_token_bucket_cfg_free</a>(<span class="keyword">struct</span> ev_token_bucket_cfg *cfg);</div>
<div class="line"><a name="l00830"></a><span class="lineno"> 830</span>  </div>
<div class="line"><a name="l00842"></a><span class="lineno"> 842</span> EVENT2_EXPORT_SYMBOL</div>
<div class="line"><a name="l00843"></a><span class="lineno"> 843</span> <span class="keywordtype">int</span> <a class="code" href="bufferevent_8h.html#ad5381c899547a19ee6a93df63b064ad4">bufferevent_set_rate_limit</a>(<span class="keyword">struct</span> <a class="code" href="structbufferevent.html">bufferevent</a> *bev,</div>
<div class="line"><a name="l00844"></a><span class="lineno"> 844</span>  <span class="keyword">struct</span> ev_token_bucket_cfg *cfg);</div>
<div class="line"><a name="l00845"></a><span class="lineno"> 845</span>  </div>
<div class="line"><a name="l00863"></a><span class="lineno"> 863</span> EVENT2_EXPORT_SYMBOL</div>
<div class="line"><a name="l00864"></a><span class="lineno"> 864</span> <span class="keyword">struct </span>bufferevent_rate_limit_group *<a class="code" href="bufferevent_8h.html#afc5cd06cb7b574ec9746c8fb89b98491">bufferevent_rate_limit_group_new</a>(</div>
<div class="line"><a name="l00865"></a><span class="lineno"> 865</span>  <span class="keyword">struct</span> <a class="code" href="structevent__base.html">event_base</a> *base,</div>
<div class="line"><a name="l00866"></a><span class="lineno"> 866</span>  <span class="keyword">const</span> <span class="keyword">struct</span> ev_token_bucket_cfg *cfg);</div>
<div class="line"><a name="l00872"></a><span class="lineno"> 872</span> EVENT2_EXPORT_SYMBOL</div>
<div class="line"><a name="l00873"></a><span class="lineno"> 873</span> <span class="keywordtype">int</span> <a class="code" href="bufferevent_8h.html#a23bbafd1ee4e0a12cc2253b46458b06d">bufferevent_rate_limit_group_set_cfg</a>(</div>
<div class="line"><a name="l00874"></a><span class="lineno"> 874</span>  <span class="keyword">struct</span> bufferevent_rate_limit_group *,</div>
<div class="line"><a name="l00875"></a><span class="lineno"> 875</span>  <span class="keyword">const</span> <span class="keyword">struct</span> ev_token_bucket_cfg *);</div>
<div class="line"><a name="l00876"></a><span class="lineno"> 876</span>  </div>
<div class="line"><a name="l00893"></a><span class="lineno"> 893</span> EVENT2_EXPORT_SYMBOL</div>
<div class="line"><a name="l00894"></a><span class="lineno"> 894</span> <span class="keywordtype">int</span> <a class="code" href="bufferevent_8h.html#a43c18046f0accddec559dba1a67d933d">bufferevent_rate_limit_group_set_min_share</a>(</div>
<div class="line"><a name="l00895"></a><span class="lineno"> 895</span>  <span class="keyword">struct</span> bufferevent_rate_limit_group *, <span class="keywordtype">size_t</span>);</div>
<div class="line"><a name="l00896"></a><span class="lineno"> 896</span>  </div>
<div class="line"><a name="l00901"></a><span class="lineno"> 901</span> EVENT2_EXPORT_SYMBOL</div>
<div class="line"><a name="l00902"></a><span class="lineno"> 902</span> <span class="keywordtype">void</span> <a class="code" href="bufferevent_8h.html#a5f4f37207371ed122bd5866a55769be1">bufferevent_rate_limit_group_free</a>(<span class="keyword">struct</span> bufferevent_rate_limit_group *);</div>
<div class="line"><a name="l00903"></a><span class="lineno"> 903</span>  </div>
<div class="line"><a name="l00914"></a><span class="lineno"> 914</span> EVENT2_EXPORT_SYMBOL</div>
<div class="line"><a name="l00915"></a><span class="lineno"> 915</span> <span class="keywordtype">int</span> <a class="code" href="bufferevent_8h.html#a44ea6c9406f855dadf4afadadbbf47d8">bufferevent_add_to_rate_limit_group</a>(<span class="keyword">struct</span> <a class="code" href="structbufferevent.html">bufferevent</a> *bev,</div>
<div class="line"><a name="l00916"></a><span class="lineno"> 916</span>  <span class="keyword">struct</span> bufferevent_rate_limit_group *g);</div>
<div class="line"><a name="l00917"></a><span class="lineno"> 917</span>  </div>
<div class="line"><a name="l00919"></a><span class="lineno"> 919</span> EVENT2_EXPORT_SYMBOL</div>
<div class="line"><a name="l00920"></a><span class="lineno"> 920</span> <span class="keywordtype">int</span> <a class="code" href="bufferevent_8h.html#a37762f5e89204ca8a8184b59414e6f46">bufferevent_remove_from_rate_limit_group</a>(<span class="keyword">struct</span> <a class="code" href="structbufferevent.html">bufferevent</a> *bev);</div>
<div class="line"><a name="l00921"></a><span class="lineno"> 921</span>  </div>
<div class="line"><a name="l00931"></a><span class="lineno"> 931</span> EVENT2_EXPORT_SYMBOL</div>
<div class="line"><a name="l00932"></a><span class="lineno"> 932</span> <span class="keywordtype">int</span> <a class="code" href="bufferevent_8h.html#ac450d06c482f354510d5d0abe4577278">bufferevent_set_max_single_read</a>(<span class="keyword">struct</span> <a class="code" href="structbufferevent.html">bufferevent</a> *bev, <span class="keywordtype">size_t</span> size);</div>
<div class="line"><a name="l00933"></a><span class="lineno"> 933</span>  </div>
<div class="line"><a name="l00941"></a><span class="lineno"> 941</span> EVENT2_EXPORT_SYMBOL</div>
<div class="line"><a name="l00942"></a><span class="lineno"> 942</span> <span class="keywordtype">int</span> <a class="code" href="bufferevent_8h.html#a8e5f4f727f9e0b74f8232c3d758b607e">bufferevent_set_max_single_write</a>(<span class="keyword">struct</span> <a class="code" href="structbufferevent.html">bufferevent</a> *bev, <span class="keywordtype">size_t</span> size);</div>
<div class="line"><a name="l00943"></a><span class="lineno"> 943</span>  </div>
<div class="line"><a name="l00945"></a><span class="lineno"> 945</span> EVENT2_EXPORT_SYMBOL</div>
<div class="line"><a name="l00946"></a><span class="lineno"> 946</span> ev_ssize_t <a class="code" href="bufferevent_8h.html#a2fd3db28a9802573c07e5e0584b85465">bufferevent_get_max_single_read</a>(<span class="keyword">struct</span> <a class="code" href="structbufferevent.html">bufferevent</a> *bev);</div>
<div class="line"><a name="l00947"></a><span class="lineno"> 947</span>  </div>
<div class="line"><a name="l00949"></a><span class="lineno"> 949</span> EVENT2_EXPORT_SYMBOL</div>
<div class="line"><a name="l00950"></a><span class="lineno"> 950</span> ev_ssize_t <a class="code" href="bufferevent_8h.html#acb0bd0b3bb5c983c2b3680637af08617">bufferevent_get_max_single_write</a>(<span class="keyword">struct</span> <a class="code" href="structbufferevent.html">bufferevent</a> *bev);</div>
<div class="line"><a name="l00951"></a><span class="lineno"> 951</span>  </div>
<div class="line"><a name="l00963"></a><span class="lineno"> 963</span> EVENT2_EXPORT_SYMBOL</div>
<div class="line"><a name="l00964"></a><span class="lineno"> 964</span> ev_ssize_t bufferevent_get_read_limit(<span class="keyword">struct</span> <a class="code" href="structbufferevent.html">bufferevent</a> *bev);</div>
<div class="line"><a name="l00965"></a><span class="lineno"> 965</span> EVENT2_EXPORT_SYMBOL</div>
<div class="line"><a name="l00966"></a><span class="lineno"> 966</span> ev_ssize_t bufferevent_get_write_limit(<span class="keyword">struct</span> <a class="code" href="structbufferevent.html">bufferevent</a> *bev);</div>
<div class="line"><a name="l00969"></a><span class="lineno"> 969</span> EVENT2_EXPORT_SYMBOL</div>
<div class="line"><a name="l00970"></a><span class="lineno"> 970</span> ev_ssize_t bufferevent_get_max_to_read(<span class="keyword">struct</span> <a class="code" href="structbufferevent.html">bufferevent</a> *bev);</div>
<div class="line"><a name="l00971"></a><span class="lineno"> 971</span> EVENT2_EXPORT_SYMBOL</div>
<div class="line"><a name="l00972"></a><span class="lineno"> 972</span> ev_ssize_t bufferevent_get_max_to_write(<span class="keyword">struct</span> <a class="code" href="structbufferevent.html">bufferevent</a> *bev);</div>
<div class="line"><a name="l00973"></a><span class="lineno"> 973</span>  </div>
<div class="line"><a name="l00974"></a><span class="lineno"> 974</span> EVENT2_EXPORT_SYMBOL</div>
<div class="line"><a name="l00975"></a><span class="lineno"> 975</span> <span class="keyword">const</span> <span class="keyword">struct </span>ev_token_bucket_cfg *bufferevent_get_token_bucket_cfg(<span class="keyword">const</span> <span class="keyword">struct</span> <a class="code" href="structbufferevent.html">bufferevent</a> * bev);</div>
<div class="line"><a name="l00976"></a><span class="lineno"> 976</span>  </div>
<div class="line"><a name="l00986"></a><span class="lineno"> 986</span> EVENT2_EXPORT_SYMBOL</div>
<div class="line"><a name="l00987"></a><span class="lineno"> 987</span> ev_ssize_t bufferevent_rate_limit_group_get_read_limit(</div>
<div class="line"><a name="l00988"></a><span class="lineno"> 988</span>  <span class="keyword">struct</span> bufferevent_rate_limit_group *);</div>
<div class="line"><a name="l00989"></a><span class="lineno"> 989</span> EVENT2_EXPORT_SYMBOL</div>
<div class="line"><a name="l00990"></a><span class="lineno"> 990</span> ev_ssize_t bufferevent_rate_limit_group_get_write_limit(</div>
<div class="line"><a name="l00991"></a><span class="lineno"> 991</span>  <span class="keyword">struct</span> bufferevent_rate_limit_group *);</div>
<div class="line"><a name="l01008"></a><span class="lineno"> 1008</span> EVENT2_EXPORT_SYMBOL</div>
<div class="line"><a name="l01009"></a><span class="lineno"> 1009</span> <span class="keywordtype">int</span> bufferevent_decrement_read_limit(<span class="keyword">struct</span> <a class="code" href="structbufferevent.html">bufferevent</a> *bev, ev_ssize_t decr);</div>
<div class="line"><a name="l01010"></a><span class="lineno"> 1010</span> EVENT2_EXPORT_SYMBOL</div>
<div class="line"><a name="l01011"></a><span class="lineno"> 1011</span> <span class="keywordtype">int</span> bufferevent_decrement_write_limit(<span class="keyword">struct</span> <a class="code" href="structbufferevent.html">bufferevent</a> *bev, ev_ssize_t decr);</div>
<div class="line"><a name="l01027"></a><span class="lineno"> 1027</span> EVENT2_EXPORT_SYMBOL</div>
<div class="line"><a name="l01028"></a><span class="lineno"> 1028</span> <span class="keywordtype">int</span> bufferevent_rate_limit_group_decrement_read(</div>
<div class="line"><a name="l01029"></a><span class="lineno"> 1029</span>  <span class="keyword">struct</span> bufferevent_rate_limit_group *, ev_ssize_t);</div>
<div class="line"><a name="l01030"></a><span class="lineno"> 1030</span> EVENT2_EXPORT_SYMBOL</div>
<div class="line"><a name="l01031"></a><span class="lineno"> 1031</span> <span class="keywordtype">int</span> bufferevent_rate_limit_group_decrement_write(</div>
<div class="line"><a name="l01032"></a><span class="lineno"> 1032</span>  <span class="keyword">struct</span> bufferevent_rate_limit_group *, ev_ssize_t);</div>
<div class="line"><a name="l01042"></a><span class="lineno"> 1042</span> EVENT2_EXPORT_SYMBOL</div>
<div class="line"><a name="l01043"></a><span class="lineno"> 1043</span> <span class="keywordtype">void</span> <a class="code" href="bufferevent_8h.html#ac94cfb31bf5542e1a424d2df3d73203f">bufferevent_rate_limit_group_get_totals</a>(</div>
<div class="line"><a name="l01044"></a><span class="lineno"> 1044</span>  <span class="keyword">struct</span> bufferevent_rate_limit_group *grp,</div>
<div class="line"><a name="l01045"></a><span class="lineno"> 1045</span>  ev_uint64_t *total_read_out, ev_uint64_t *total_written_out);</div>
<div class="line"><a name="l01046"></a><span class="lineno"> 1046</span>  </div>
<div class="line"><a name="l01052"></a><span class="lineno"> 1052</span> EVENT2_EXPORT_SYMBOL</div>
<div class="line"><a name="l01053"></a><span class="lineno"> 1053</span> <span class="keywordtype">void</span></div>
<div class="line"><a name="l01054"></a><span class="lineno"> 1054</span> <a class="code" href="bufferevent_8h.html#a0cb2748aa4dce6804d166a74383dd0cc">bufferevent_rate_limit_group_reset_totals</a>(</div>
<div class="line"><a name="l01055"></a><span class="lineno"> 1055</span>  <span class="keyword">struct</span> bufferevent_rate_limit_group *grp);</div>
<div class="line"><a name="l01056"></a><span class="lineno"> 1056</span>  </div>
<div class="line"><a name="l01057"></a><span class="lineno"> 1057</span> <span class="preprocessor">#ifdef __cplusplus</span></div>
<div class="line"><a name="l01058"></a><span class="lineno"> 1058</span> }</div>
<div class="line"><a name="l01059"></a><span class="lineno"> 1059</span> <span class="preprocessor">#endif</span></div>
<div class="line"><a name="l01060"></a><span class="lineno"> 1060</span>  </div>
<div class="line"><a name="l01061"></a><span class="lineno"> 1061</span> <span class="preprocessor">#endif </span><span class="comment">/* EVENT2_BUFFEREVENT_H_INCLUDED_ */</span><span class="preprocessor"></span></div>
</div><!-- fragment --></div><!-- contents -->
<div class="ttc" id="abufferevent_8h_html_a4e7b46a3dd1518534a2120ee9c8dbe69"><div class="ttname"><a href="bufferevent_8h.html#a4e7b46a3dd1518534a2120ee9c8dbe69">bufferevent_flush</a></div><div class="ttdeci">EVENT2_EXPORT_SYMBOL int bufferevent_flush(struct bufferevent *bufev, short iotype, enum bufferevent_flush_mode mode)</div><div class="ttdoc">Triggers the bufferevent to produce more data if possible.</div></div>
<div class="ttc" id="abufferevent_8h_html_a7ac436abc86f4071a5c43b29c12dba16"><div class="ttname"><a href="bufferevent_8h.html#a7ac436abc86f4071a5c43b29c12dba16">ev_token_bucket_cfg_free</a></div><div class="ttdeci">EVENT2_EXPORT_SYMBOL void ev_token_bucket_cfg_free(struct ev_token_bucket_cfg *cfg)</div><div class="ttdoc">Free all storage held in 'cfg'.</div></div>
<div class="ttc" id="abufferevent_8h_html_aa4919449c62c6483e2d135509190dc65a5dc89d74ef445da33295d00c8f6adc90"><div class="ttname"><a href="bufferevent_8h.html#aa4919449c62c6483e2d135509190dc65a5dc89d74ef445da33295d00c8f6adc90">BEV_OPT_CLOSE_ON_FREE</a></div><div class="ttdeci">@ BEV_OPT_CLOSE_ON_FREE</div><div class="ttdoc">If set, we close the underlying file descriptor/bufferevent/whatever when this bufferevent is freed.</div><div class="ttdef"><b>Definition:</b> bufferevent.h:161</div></div>
<div class="ttc" id="abufferevent_8h_html_a32442df1f9b2252e00d9d9a64ea07854"><div class="ttname"><a href="bufferevent_8h.html#a32442df1f9b2252e00d9d9a64ea07854">bufferevent_pair_get_partner</a></div><div class="ttdeci">EVENT2_EXPORT_SYMBOL struct bufferevent * bufferevent_pair_get_partner(struct bufferevent *bev)</div><div class="ttdoc">Given one bufferevent returned by bufferevent_pair_new(), returns the other one if it still exists.</div></div>
<div class="ttc" id="abufferevent_8h_html_a5c3c313f2ff0d79a1889e508b37d9dbe"><div class="ttname"><a href="bufferevent_8h.html#a5c3c313f2ff0d79a1889e508b37d9dbe">bufferevent_socket_connect_hostname</a></div><div class="ttdeci">EVENT2_EXPORT_SYMBOL int bufferevent_socket_connect_hostname(struct bufferevent *bufev, struct evdns_base *evdns_base, int family, const char *hostname, int port)</div><div class="ttdoc">Resolve the hostname 'hostname' and connect to it as with bufferevent_socket_connect().</div></div>
<div class="ttc" id="abufferevent_8h_html_a66cdf9296b02676aacf98a6277a7e756"><div class="ttname"><a href="bufferevent_8h.html#a66cdf9296b02676aacf98a6277a7e756">bufferevent_setfd</a></div><div class="ttdeci">EVENT2_EXPORT_SYMBOL int bufferevent_setfd(struct bufferevent *bufev, evutil_socket_t fd)</div><div class="ttdoc">Changes the file descriptor on which the bufferevent operates.</div></div>
<div class="ttc" id="abufferevent_8h_html_ac6e45fa1fc577c4f0e6c4689e72c0a15"><div class="ttname"><a href="bufferevent_8h.html#ac6e45fa1fc577c4f0e6c4689e72c0a15">bufferevent_get_output</a></div><div class="ttdeci">EVENT2_EXPORT_SYMBOL struct evbuffer * bufferevent_get_output(struct bufferevent *bufev)</div><div class="ttdoc">Returns the output buffer.</div></div>
<div class="ttc" id="abufferevent_8h_html_a7837b6947fc855924466e2347a6faa8fa02d5d43f86f75f0f1569ca2b16025bfc"><div class="ttname"><a href="bufferevent_8h.html#a7837b6947fc855924466e2347a6faa8fa02d5d43f86f75f0f1569ca2b16025bfc">BEV_TRIG_IGNORE_WATERMARKS</a></div><div class="ttdeci">@ BEV_TRIG_IGNORE_WATERMARKS</div><div class="ttdoc">trigger the callback regardless of the watermarks</div><div class="ttdef"><b>Definition:</b> bufferevent.h:663</div></div>
<div class="ttc" id="abufferevent_8h_html_a2a0eaaf330e2fa46f84dd5ec3e1299c8"><div class="ttname"><a href="bufferevent_8h.html#a2a0eaaf330e2fa46f84dd5ec3e1299c8">bufferevent_priority_set</a></div><div class="ttdeci">EVENT2_EXPORT_SYMBOL int bufferevent_priority_set(struct bufferevent *bufev, int pri)</div><div class="ttdoc">Assign a priority to a bufferevent.</div></div>
<div class="ttc" id="abufferevent_8h_html_aec0864607ef2bf9816cda06c1c4ab83f"><div class="ttname"><a href="bufferevent_8h.html#aec0864607ef2bf9816cda06c1c4ab83f">bufferevent_set_timeouts</a></div><div class="ttdeci">EVENT2_EXPORT_SYMBOL int bufferevent_set_timeouts(struct bufferevent *bufev, const struct timeval *timeout_read, const struct timeval *timeout_write)</div><div class="ttdoc">Set the read and write timeout for a bufferevent.</div></div>
<div class="ttc" id="abufferevent_8h_html_a2dc87d1bae8855f9efca12edea9e3b84"><div class="ttname"><a href="bufferevent_8h.html#a2dc87d1bae8855f9efca12edea9e3b84">ev_token_bucket_cfg_new</a></div><div class="ttdeci">EVENT2_EXPORT_SYMBOL struct ev_token_bucket_cfg * ev_token_bucket_cfg_new(size_t read_rate, size_t read_burst, size_t write_rate, size_t write_burst, const struct timeval *tick_len)</div><div class="ttdoc">Initialize and return a new object to configure the rate-limiting behavior of bufferevents.</div></div>
<div class="ttc" id="abufferevent_8h_html_ac35edc760057a2e48b4e8ba9ecf2ad25"><div class="ttname"><a href="bufferevent_8h.html#ac35edc760057a2e48b4e8ba9ecf2ad25">bufferevent_flush_mode</a></div><div class="ttdeci">bufferevent_flush_mode</div><div class="ttdoc">Flags that can be passed into filters to let them know how to deal with the incoming data.</div><div class="ttdef"><b>Definition:</b> bufferevent.h:633</div></div>
<div class="ttc" id="abufferevent_8h_html_afc5cd06cb7b574ec9746c8fb89b98491"><div class="ttname"><a href="bufferevent_8h.html#afc5cd06cb7b574ec9746c8fb89b98491">bufferevent_rate_limit_group_new</a></div><div class="ttdeci">EVENT2_EXPORT_SYMBOL struct bufferevent_rate_limit_group * bufferevent_rate_limit_group_new(struct event_base *base, const struct ev_token_bucket_cfg *cfg)</div><div class="ttdoc">Create a new rate-limit group for bufferevents.</div></div>
<div class="ttc" id="abufferevent_8h_html_a0cb2748aa4dce6804d166a74383dd0cc"><div class="ttname"><a href="bufferevent_8h.html#a0cb2748aa4dce6804d166a74383dd0cc">bufferevent_rate_limit_group_reset_totals</a></div><div class="ttdeci">EVENT2_EXPORT_SYMBOL void bufferevent_rate_limit_group_reset_totals(struct bufferevent_rate_limit_group *grp)</div><div class="ttdoc">Reset the total bytes read/written on a group.</div></div>
<div class="ttc" id="abufferevent_8h_html_aa533016e5ffc2ed558a5d85f9fbe2fd5"><div class="ttname"><a href="bufferevent_8h.html#aa533016e5ffc2ed558a5d85f9fbe2fd5">bufferevent_socket_get_dns_error</a></div><div class="ttdeci">EVENT2_EXPORT_SYMBOL int bufferevent_socket_get_dns_error(struct bufferevent *bev)</div><div class="ttdoc">Return the error code for the last failed DNS lookup attempt made by bufferevent_socket_connect_hostn...</div></div>
<div class="ttc" id="abufferevent_8h_html_a3e0081196d2776b92994c6034eb00b2c"><div class="ttname"><a href="bufferevent_8h.html#a3e0081196d2776b92994c6034eb00b2c">bufferevent_get_underlying</a></div><div class="ttdeci">EVENT2_EXPORT_SYMBOL struct bufferevent * bufferevent_get_underlying(struct bufferevent *bufev)</div><div class="ttdoc">Returns the underlying bufferevent associated with a bufferevent (if the bufferevent is a wrapper),...</div></div>
<div class="ttc" id="abufferevent_8h_html_a5f4f37207371ed122bd5866a55769be1"><div class="ttname"><a href="bufferevent_8h.html#a5f4f37207371ed122bd5866a55769be1">bufferevent_rate_limit_group_free</a></div><div class="ttdeci">EVENT2_EXPORT_SYMBOL void bufferevent_rate_limit_group_free(struct bufferevent_rate_limit_group *)</div><div class="ttdoc">Free a rate-limiting group.</div></div>
<div class="ttc" id="abufferevent_8h_html_afd80dc15fef6d1e7a88a0464e72e8acb"><div class="ttname"><a href="bufferevent_8h.html#afd80dc15fef6d1e7a88a0464e72e8acb">bufferevent_socket_connect_hostname_hints</a></div><div class="ttdeci">EVENT2_EXPORT_SYMBOL int bufferevent_socket_connect_hostname_hints(struct bufferevent *bufev, struct evdns_base *evdns_base, const struct evutil_addrinfo *hints_in, const char *hostname, int port)</div><div class="ttdoc">Resolve the hostname 'hostname' and connect to it as with bufferevent_socket_connect().</div></div>
<div class="ttc" id="abufferevent_8h_html_a2fd3db28a9802573c07e5e0584b85465"><div class="ttname"><a href="bufferevent_8h.html#a2fd3db28a9802573c07e5e0584b85465">bufferevent_get_max_single_read</a></div><div class="ttdeci">EVENT2_EXPORT_SYMBOL ev_ssize_t bufferevent_get_max_single_read(struct bufferevent *bev)</div><div class="ttdoc">Get the current size limit for single read operation.</div></div>
<div class="ttc" id="abufferevent_8h_html_ae58a293995d110362cc1fc695678a928"><div class="ttname"><a href="bufferevent_8h.html#ae58a293995d110362cc1fc695678a928">bufferevent_getcb</a></div><div class="ttdeci">EVENT2_EXPORT_SYMBOL void bufferevent_getcb(struct bufferevent *bufev, bufferevent_data_cb *readcb_ptr, bufferevent_data_cb *writecb_ptr, bufferevent_event_cb *eventcb_ptr, void **cbarg_ptr)</div><div class="ttdoc">Retrieves the callbacks for a bufferevent.</div></div>
<div class="ttc" id="abufferevent_8h_html_acb59fdb64642f73a96c84adeb97311cb"><div class="ttname"><a href="bufferevent_8h.html#acb59fdb64642f73a96c84adeb97311cb">bufferevent_base_set</a></div><div class="ttdeci">EVENT2_EXPORT_SYMBOL int bufferevent_base_set(struct event_base *base, struct bufferevent *bufev)</div><div class="ttdoc">Assign a bufferevent to a specific event_base.</div></div>
<div class="ttc" id="astructevent__base_html"><div class="ttname"><a href="structevent__base.html">event_base</a></div><div class="ttdoc">Structure to hold information and state for a Libevent dispatch loop.</div><div class="ttdef"><b>Definition:</b> event.h:219</div></div>
<div class="ttc" id="abufferevent_8h_html_aa8a5dd2436494afd374213b99102265b"><div class="ttname"><a href="bufferevent_8h.html#aa8a5dd2436494afd374213b99102265b">bufferevent_enable</a></div><div class="ttdeci">EVENT2_EXPORT_SYMBOL int bufferevent_enable(struct bufferevent *bufev, short event)</div><div class="ttdoc">Enable a bufferevent.</div></div>
<div class="ttc" id="abufferevent_8h_html_a7837b6947fc855924466e2347a6faa8f"><div class="ttname"><a href="bufferevent_8h.html#a7837b6947fc855924466e2347a6faa8f">bufferevent_trigger_options</a></div><div class="ttdeci">bufferevent_trigger_options</div><div class="ttdoc">Flags for bufferevent_trigger(_event) that modify when and how to trigger the callback.</div><div class="ttdef"><b>Definition:</b> bufferevent.h:661</div></div>
<div class="ttc" id="astructevent_html"><div class="ttname"><a href="structevent.html">event</a></div><div class="ttdoc">Structure to represent a single event.</div><div class="ttdef"><b>Definition:</b> event.h:276</div></div>
<div class="ttc" id="abufferevent_8h_html_aa4919449c62c6483e2d135509190dc65adfb637881b739eff1441ad848a5e3a2d"><div class="ttname"><a href="bufferevent_8h.html#aa4919449c62c6483e2d135509190dc65adfb637881b739eff1441ad848a5e3a2d">BEV_OPT_THREADSAFE</a></div><div class="ttdeci">@ BEV_OPT_THREADSAFE</div><div class="ttdoc">If set, and threading is enabled, operations on this bufferevent are protected by a lock.</div><div class="ttdef"><b>Definition:</b> bufferevent.h:165</div></div>
<div class="ttc" id="abufferevent_8h_html_ae3dd6349d1e33b5238e110a3aba4d163"><div class="ttname"><a href="bufferevent_8h.html#ae3dd6349d1e33b5238e110a3aba4d163">bufferevent_getwatermark</a></div><div class="ttdeci">EVENT2_EXPORT_SYMBOL int bufferevent_getwatermark(struct bufferevent *bufev, short events, size_t *lowmark, size_t *highmark)</div><div class="ttdoc">Retrieves the watermarks for read or write events.</div></div>
<div class="ttc" id="abufferevent_8h_html_ac35edc760057a2e48b4e8ba9ecf2ad25a77e7f15a95815dcaaef27fdabb0e6164"><div class="ttname"><a href="bufferevent_8h.html#ac35edc760057a2e48b4e8ba9ecf2ad25a77e7f15a95815dcaaef27fdabb0e6164">BEV_FLUSH</a></div><div class="ttdeci">@ BEV_FLUSH</div><div class="ttdoc">want to checkpoint all data sent.</div><div class="ttdef"><b>Definition:</b> bufferevent.h:638</div></div>
<div class="ttc" id="abufferevent_8h_html_abcab28c476ef6bde1faf233bfd18285c"><div class="ttname"><a href="bufferevent_8h.html#abcab28c476ef6bde1faf233bfd18285c">bufferevent_read_buffer</a></div><div class="ttdeci">EVENT2_EXPORT_SYMBOL int bufferevent_read_buffer(struct bufferevent *bufev, struct evbuffer *buf)</div><div class="ttdoc">Read data from a bufferevent buffer into an evbuffer.</div></div>
<div class="ttc" id="abufferevent_8h_html_a38bb612dac0112d8ceeb02d0a9a02451"><div class="ttname"><a href="bufferevent_8h.html#a38bb612dac0112d8ceeb02d0a9a02451">bufferevent_filter_new</a></div><div class="ttdeci">EVENT2_EXPORT_SYMBOL struct bufferevent * bufferevent_filter_new(struct bufferevent *underlying, bufferevent_filter_cb input_filter, bufferevent_filter_cb output_filter, int options, void(*free_context)(void *), void *ctx)</div><div class="ttdoc">Allocate a new filtering bufferevent on top of an existing bufferevent.</div></div>
<div class="ttc" id="abufferevent_8h_html_a3ddbf50178b96b3f243ddc83d67e88b0"><div class="ttname"><a href="bufferevent_8h.html#a3ddbf50178b96b3f243ddc83d67e88b0">bufferevent_get_input</a></div><div class="ttdeci">EVENT2_EXPORT_SYMBOL struct evbuffer * bufferevent_get_input(struct bufferevent *bufev)</div><div class="ttdoc">Returns the input buffer.</div></div>
<div class="ttc" id="abufferevent_8h_html_add4274f8e311afc47fb097d290dc54e8"><div class="ttname"><a href="bufferevent_8h.html#add4274f8e311afc47fb097d290dc54e8">bufferevent_filter_cb</a></div><div class="ttdeci">enum bufferevent_filter_result(* bufferevent_filter_cb)(struct evbuffer *src, struct evbuffer *dst, ev_ssize_t dst_limit, enum bufferevent_flush_mode mode, void *ctx)</div><div class="ttdoc">A callback function to implement a filter for a bufferevent.</div><div class="ttdef"><b>Definition:</b> bufferevent.h:738</div></div>
<div class="ttc" id="abufferevent_8h_html_a16aa6baf1d489b14fd31cf5e18265186"><div class="ttname"><a href="bufferevent_8h.html#a16aa6baf1d489b14fd31cf5e18265186">bufferevent_get_base</a></div><div class="ttdeci">EVENT2_EXPORT_SYMBOL struct event_base * bufferevent_get_base(struct bufferevent *bev)</div><div class="ttdoc">Return the event_base used by a bufferevent.</div></div>
<div class="ttc" id="abufferevent_8h_html_a27cabbe542fec7731049312e37e7ba95"><div class="ttname"><a href="bufferevent_8h.html#a27cabbe542fec7731049312e37e7ba95">bufferevent_incref</a></div><div class="ttdeci">EVENT2_EXPORT_SYMBOL void bufferevent_incref(struct bufferevent *bufev)</div><div class="ttdoc">Public interface to manually increase the reference count of a bufferevent this is useful in situatio...</div></div>
<div class="ttc" id="astructbufferevent_html"><div class="ttname"><a href="structbufferevent.html">bufferevent</a></div><div class="ttdoc">An opaque type for handling buffered IO.</div><div class="ttdef"><b>Definition:</b> bufferevent.h:114</div></div>
<div class="ttc" id="abufferevent_8h_html_a8744a827bb440c1b62676ec35b56b5fc"><div class="ttname"><a href="bufferevent_8h.html#a8744a827bb440c1b62676ec35b56b5fc">bufferevent_lock</a></div><div class="ttdeci">EVENT2_EXPORT_SYMBOL void bufferevent_lock(struct bufferevent *bufev)</div><div class="ttdoc">Acquire the lock on a bufferevent.</div></div>
<div class="ttc" id="abufferevent_8h_html_ad5381c899547a19ee6a93df63b064ad4"><div class="ttname"><a href="bufferevent_8h.html#ad5381c899547a19ee6a93df63b064ad4">bufferevent_set_rate_limit</a></div><div class="ttdeci">EVENT2_EXPORT_SYMBOL int bufferevent_set_rate_limit(struct bufferevent *bev, struct ev_token_bucket_cfg *cfg)</div><div class="ttdoc">Set the rate-limit of a the bufferevent 'bev' to the one specified in 'cfg'.</div></div>
<div class="ttc" id="abufferevent_8h_html_acb0bd0b3bb5c983c2b3680637af08617"><div class="ttname"><a href="bufferevent_8h.html#acb0bd0b3bb5c983c2b3680637af08617">bufferevent_get_max_single_write</a></div><div class="ttdeci">EVENT2_EXPORT_SYMBOL ev_ssize_t bufferevent_get_max_single_write(struct bufferevent *bev)</div><div class="ttdoc">Get the current size limit for single write operation.</div></div>
<div class="ttc" id="abufferevent_8h_html_ac450d06c482f354510d5d0abe4577278"><div class="ttname"><a href="bufferevent_8h.html#ac450d06c482f354510d5d0abe4577278">bufferevent_set_max_single_read</a></div><div class="ttdeci">EVENT2_EXPORT_SYMBOL int bufferevent_set_max_single_read(struct bufferevent *bev, size_t size)</div><div class="ttdoc">Set the size limit for single read operation.</div></div>
<div class="ttc" id="astructevbuffer_html"><div class="ttname"><a href="structevbuffer.html">evbuffer</a></div><div class="ttdoc">An evbuffer is an opaque data type for efficiently buffering data to be sent or received on the netwo...</div><div class="ttdef"><b>Definition:</b> buffer.h:97</div></div>
<div class="ttc" id="abufferevent_8h_html_ab78b8248210f0fadac8b5924dde5a3e7"><div class="ttname"><a href="bufferevent_8h.html#ab78b8248210f0fadac8b5924dde5a3e7">bufferevent_get_enabled</a></div><div class="ttdeci">EVENT2_EXPORT_SYMBOL short bufferevent_get_enabled(struct bufferevent *bufev)</div><div class="ttdoc">Return the events that are enabled on a given bufferevent.</div></div>
<div class="ttc" id="abufferevent_8h_html_aefc782ac77411bdd712be30d6268af2e"><div class="ttname"><a href="bufferevent_8h.html#aefc782ac77411bdd712be30d6268af2e">bufferevent_socket_connect</a></div><div class="ttdeci">EVENT2_EXPORT_SYMBOL int bufferevent_socket_connect(struct bufferevent *bufev, const struct sockaddr *addr, int socklen)</div><div class="ttdoc">Launch a connect() attempt with a socket-based bufferevent.</div></div>
<div class="ttc" id="abufferevent_8h_html_a544e049e4a8cca27ab1a98b8339fe72a"><div class="ttname"><a href="bufferevent_8h.html#a544e049e4a8cca27ab1a98b8339fe72a">bufferevent_getfd</a></div><div class="ttdeci">EVENT2_EXPORT_SYMBOL evutil_socket_t bufferevent_getfd(struct bufferevent *bufev)</div><div class="ttdoc">Returns the file descriptor associated with a bufferevent, or -1 if no file descriptor is associated ...</div></div>
<div class="ttc" id="abufferevent_8h_html_a238f9ac0fcd75094f7b7611e7e6649f2"><div class="ttname"><a href="bufferevent_8h.html#a238f9ac0fcd75094f7b7611e7e6649f2">bufferevent_unlock</a></div><div class="ttdeci">EVENT2_EXPORT_SYMBOL void bufferevent_unlock(struct bufferevent *bufev)</div><div class="ttdoc">Release the lock on a bufferevent.</div></div>
<div class="ttc" id="abufferevent_8h_html_a37762f5e89204ca8a8184b59414e6f46"><div class="ttname"><a href="bufferevent_8h.html#a37762f5e89204ca8a8184b59414e6f46">bufferevent_remove_from_rate_limit_group</a></div><div class="ttdeci">EVENT2_EXPORT_SYMBOL int bufferevent_remove_from_rate_limit_group(struct bufferevent *bev)</div><div class="ttdoc">Remove 'bev' from its current rate-limit group (if any).</div></div>
<div class="ttc" id="abufferevent_8h_html_a0091b3c386580cf2980039ad9a629b70"><div class="ttname"><a href="bufferevent_8h.html#a0091b3c386580cf2980039ad9a629b70">bufferevent_get_priority</a></div><div class="ttdeci">EVENT2_EXPORT_SYMBOL int bufferevent_get_priority(const struct bufferevent *bufev)</div><div class="ttdoc">Return the priority of a bufferevent.</div></div>
<div class="ttc" id="abufferevent_8h_html_ae23c61cdaf3f74d0fea96d41aa6f7783"><div class="ttname"><a href="bufferevent_8h.html#ae23c61cdaf3f74d0fea96d41aa6f7783">bufferevent_setwatermark</a></div><div class="ttdeci">EVENT2_EXPORT_SYMBOL void bufferevent_setwatermark(struct bufferevent *bufev, short events, size_t lowmark, size_t highmark)</div><div class="ttdoc">Sets the watermarks for read and write events.</div></div>
<div class="ttc" id="abufferevent_8h_html_ac94cfb31bf5542e1a424d2df3d73203f"><div class="ttname"><a href="bufferevent_8h.html#ac94cfb31bf5542e1a424d2df3d73203f">bufferevent_rate_limit_group_get_totals</a></div><div class="ttdeci">EVENT2_EXPORT_SYMBOL void bufferevent_rate_limit_group_get_totals(struct bufferevent_rate_limit_group *grp, ev_uint64_t *total_read_out, ev_uint64_t *total_written_out)</div><div class="ttdoc">Inspect the total bytes read/written on a group.</div></div>
<div class="ttc" id="abufferevent_8h_html_ae46282450083187370ba2ea42029d341"><div class="ttname"><a href="bufferevent_8h.html#ae46282450083187370ba2ea42029d341">bufferevent_trigger</a></div><div class="ttdeci">EVENT2_EXPORT_SYMBOL void bufferevent_trigger(struct bufferevent *bufev, short iotype, int options)</div><div class="ttdoc">Triggers bufferevent data callbacks.</div></div>
<div class="ttc" id="abufferevent_8h_html_a3b0191b460511796e5281474cd704ec4"><div class="ttname"><a href="bufferevent_8h.html#a3b0191b460511796e5281474cd704ec4">bufferevent_event_cb</a></div><div class="ttdeci">void(* bufferevent_event_cb)(struct bufferevent *bev, short what, void *ctx)</div><div class="ttdoc">An event/error callback for a bufferevent.</div><div class="ttdef"><b>Definition:</b> bufferevent.h:155</div></div>
<div class="ttc" id="abufferevent_8h_html_ad0b9fa4a6c8f03b2fe5a9929a7f2cd59"><div class="ttname"><a href="bufferevent_8h.html#ad0b9fa4a6c8f03b2fe5a9929a7f2cd59">bufferevent_data_cb</a></div><div class="ttdeci">void(* bufferevent_data_cb)(struct bufferevent *bev, void *ctx)</div><div class="ttdoc">A read or write callback for a bufferevent.</div><div class="ttdef"><b>Definition:</b> bufferevent.h:136</div></div>
<div class="ttc" id="abufferevent_8h_html_ae8574fb31c0dc88c158c5324110bcbac"><div class="ttname"><a href="bufferevent_8h.html#ae8574fb31c0dc88c158c5324110bcbac">bufferevent_trigger_event</a></div><div class="ttdeci">EVENT2_EXPORT_SYMBOL void bufferevent_trigger_event(struct bufferevent *bufev, short what, int options)</div><div class="ttdoc">Triggers the bufferevent event callback.</div></div>
<div class="ttc" id="abufferevent_8h_html_ac35edc760057a2e48b4e8ba9ecf2ad25acb248a91854bbebd773061df7f4bbc94"><div class="ttname"><a href="bufferevent_8h.html#ac35edc760057a2e48b4e8ba9ecf2ad25acb248a91854bbebd773061df7f4bbc94">BEV_FINISHED</a></div><div class="ttdeci">@ BEV_FINISHED</div><div class="ttdoc">encountered EOF on read or done sending data</div><div class="ttdef"><b>Definition:</b> bufferevent.h:641</div></div>
<div class="ttc" id="abufferevent_8h_html_a9e36c54f6b0ea02183998d5a604a00ef"><div class="ttname"><a href="bufferevent_8h.html#a9e36c54f6b0ea02183998d5a604a00ef">bufferevent_read</a></div><div class="ttdeci">EVENT2_EXPORT_SYMBOL size_t bufferevent_read(struct bufferevent *bufev, void *data, size_t size)</div><div class="ttdoc">Read data from a bufferevent buffer.</div></div>
<div class="ttc" id="abufferevent_8h_html_a3427551c0806f78f1bdfd8d767974e27"><div class="ttname"><a href="bufferevent_8h.html#a3427551c0806f78f1bdfd8d767974e27">bufferevent_decref</a></div><div class="ttdeci">EVENT2_EXPORT_SYMBOL int bufferevent_decref(struct bufferevent *bufev)</div><div class="ttdoc">Public interface to manually decrement the reference count of a bufferevent.</div></div>
<div class="ttc" id="abufferevent_8h_html_a19e499f7bfa831b802fd3575d141b4e1a78c4f864aee50d333d74e3b46e12b8a4"><div class="ttname"><a href="bufferevent_8h.html#a19e499f7bfa831b802fd3575d141b4e1a78c4f864aee50d333d74e3b46e12b8a4">BEV_NEED_MORE</a></div><div class="ttdeci">@ BEV_NEED_MORE</div><div class="ttdoc">the filter needs to read more data before output</div><div class="ttdef"><b>Definition:</b> bufferevent.h:713</div></div>
<div class="ttc" id="abufferevent_8h_html_aa4919449c62c6483e2d135509190dc65acb8ca6f6422fb8f9a748521cf8c4caf5"><div class="ttname"><a href="bufferevent_8h.html#aa4919449c62c6483e2d135509190dc65acb8ca6f6422fb8f9a748521cf8c4caf5">BEV_OPT_UNLOCK_CALLBACKS</a></div><div class="ttdeci">@ BEV_OPT_UNLOCK_CALLBACKS</div><div class="ttdoc">If set, callbacks are executed without locks being held on the bufferevent.</div><div class="ttdef"><b>Definition:</b> bufferevent.h:174</div></div>
<div class="ttc" id="abufferevent_8h_html_a955c7d37679173c593ee6ed0a7adeeea"><div class="ttname"><a href="bufferevent_8h.html#a955c7d37679173c593ee6ed0a7adeeea">bufferevent_replacefd</a></div><div class="ttdeci">EVENT2_EXPORT_SYMBOL int bufferevent_replacefd(struct bufferevent *bufev, evutil_socket_t fd)</div><div class="ttdoc">Replaces the file descriptor on which the bufferevent operates.</div></div>
<div class="ttc" id="abufferevent_8h_html_a031df52978c5237b70fb8ae7df572c97"><div class="ttname"><a href="bufferevent_8h.html#a031df52978c5237b70fb8ae7df572c97">bufferevent_setcb</a></div><div class="ttdeci">EVENT2_EXPORT_SYMBOL void bufferevent_setcb(struct bufferevent *bufev, bufferevent_data_cb readcb, bufferevent_data_cb writecb, bufferevent_event_cb eventcb, void *cbarg)</div><div class="ttdoc">Changes the callbacks for a bufferevent.</div></div>
<div class="ttc" id="abufferevent_8h_html_ac35edc760057a2e48b4e8ba9ecf2ad25a81903ce04ca68ac1680dd0b7a28a7fce"><div class="ttname"><a href="bufferevent_8h.html#ac35edc760057a2e48b4e8ba9ecf2ad25a81903ce04ca68ac1680dd0b7a28a7fce">BEV_NORMAL</a></div><div class="ttdeci">@ BEV_NORMAL</div><div class="ttdoc">usually set when processing data</div><div class="ttdef"><b>Definition:</b> bufferevent.h:635</div></div>
<div class="ttc" id="abufferevent_8h_html_a23bbafd1ee4e0a12cc2253b46458b06d"><div class="ttname"><a href="bufferevent_8h.html#a23bbafd1ee4e0a12cc2253b46458b06d">bufferevent_rate_limit_group_set_cfg</a></div><div class="ttdeci">EVENT2_EXPORT_SYMBOL int bufferevent_rate_limit_group_set_cfg(struct bufferevent_rate_limit_group *, const struct ev_token_bucket_cfg *)</div><div class="ttdoc">Change the rate-limiting settings for a given rate-limiting group.</div></div>
<div class="ttc" id="abufferevent_8h_html_ac6271b7cc2126d3bc745cf00187672a5"><div class="ttname"><a href="bufferevent_8h.html#ac6271b7cc2126d3bc745cf00187672a5">bufferevent_pair_new</a></div><div class="ttdeci">EVENT2_EXPORT_SYMBOL int bufferevent_pair_new(struct event_base *base, int options, struct bufferevent *pair[2])</div><div class="ttdoc">Allocate a pair of linked bufferevents.</div></div>
<div class="ttc" id="abufferevent_8h_html_aa4919449c62c6483e2d135509190dc65a2fbeb24d0156aa2492c23aaace73f1d3"><div class="ttname"><a href="bufferevent_8h.html#aa4919449c62c6483e2d135509190dc65a2fbeb24d0156aa2492c23aaace73f1d3">BEV_OPT_DEFER_CALLBACKS</a></div><div class="ttdeci">@ BEV_OPT_DEFER_CALLBACKS</div><div class="ttdoc">If set, callbacks are run deferred in the event loop.</div><div class="ttdef"><b>Definition:</b> bufferevent.h:168</div></div>
<div class="ttc" id="abufferevent_8h_html_a43c18046f0accddec559dba1a67d933d"><div class="ttname"><a href="bufferevent_8h.html#a43c18046f0accddec559dba1a67d933d">bufferevent_rate_limit_group_set_min_share</a></div><div class="ttdeci">EVENT2_EXPORT_SYMBOL int bufferevent_rate_limit_group_set_min_share(struct bufferevent_rate_limit_group *, size_t)</div><div class="ttdoc">Change the smallest quantum we're willing to allocate to any single bufferevent in a group for readin...</div></div>
<div class="ttc" id="abufferevent_8h_html_a71181be5ab504e26f866dd3d91494854"><div class="ttname"><a href="bufferevent_8h.html#a71181be5ab504e26f866dd3d91494854">bufferevent_socket_new</a></div><div class="ttdeci">EVENT2_EXPORT_SYMBOL struct bufferevent * bufferevent_socket_new(struct event_base *base, evutil_socket_t fd, int options)</div><div class="ttdoc">Create a new socket bufferevent over an existing socket.</div></div>
<div class="ttc" id="abufferevent_8h_html_a8baa699f526f237c0d33f618f073c1cc"><div class="ttname"><a href="bufferevent_8h.html#a8baa699f526f237c0d33f618f073c1cc">bufferevent_free</a></div><div class="ttdeci">EVENT2_EXPORT_SYMBOL void bufferevent_free(struct bufferevent *bufev)</div><div class="ttdoc">Deallocate the storage associated with a bufferevent structure.</div></div>
<div class="ttc" id="abufferevent_8h_html_aa4919449c62c6483e2d135509190dc65"><div class="ttname"><a href="bufferevent_8h.html#aa4919449c62c6483e2d135509190dc65">bufferevent_options</a></div><div class="ttdeci">bufferevent_options</div><div class="ttdoc">Options that can be specified when creating a bufferevent.</div><div class="ttdef"><b>Definition:</b> bufferevent.h:158</div></div>
<div class="ttc" id="abufferevent_8h_html_a19e499f7bfa831b802fd3575d141b4e1a4e51550811d3dad92400c27d69277032"><div class="ttname"><a href="bufferevent_8h.html#a19e499f7bfa831b802fd3575d141b4e1a4e51550811d3dad92400c27d69277032">BEV_ERROR</a></div><div class="ttdeci">@ BEV_ERROR</div><div class="ttdoc">the filter encountered a critical error, no further data can be processed.</div><div class="ttdef"><b>Definition:</b> bufferevent.h:717</div></div>
<div class="ttc" id="abufferevent_8h_html_a19e499f7bfa831b802fd3575d141b4e1a794bf8211eaafdbeb382991dc5874e4d"><div class="ttname"><a href="bufferevent_8h.html#a19e499f7bfa831b802fd3575d141b4e1a794bf8211eaafdbeb382991dc5874e4d">BEV_OK</a></div><div class="ttdeci">@ BEV_OK</div><div class="ttdoc">everything is okay</div><div class="ttdef"><b>Definition:</b> bufferevent.h:710</div></div>
<div class="ttc" id="autil_8h_html"><div class="ttname"><a href="util_8h.html">util.h</a></div><div class="ttdoc">Common convenience functions for cross-platform portability and related socket manipulations.</div></div>
<div class="ttc" id="abufferevent_8h_html_a44ea6c9406f855dadf4afadadbbf47d8"><div class="ttname"><a href="bufferevent_8h.html#a44ea6c9406f855dadf4afadadbbf47d8">bufferevent_add_to_rate_limit_group</a></div><div class="ttdeci">EVENT2_EXPORT_SYMBOL int bufferevent_add_to_rate_limit_group(struct bufferevent *bev, struct bufferevent_rate_limit_group *g)</div><div class="ttdoc">Add 'bev' to the list of bufferevents whose aggregate reading and writing is restricted by 'g'.</div></div>
<div class="ttc" id="astructevutil__addrinfo_html"><div class="ttname"><a href="structevutil__addrinfo.html">evutil_addrinfo</a></div><div class="ttdoc">A definition of struct addrinfo for systems that lack it.</div><div class="ttdef"><b>Definition:</b> util.h:731</div></div>
<div class="ttc" id="abufferevent_8h_html_a8e5f4f727f9e0b74f8232c3d758b607e"><div class="ttname"><a href="bufferevent_8h.html#a8e5f4f727f9e0b74f8232c3d758b607e">bufferevent_set_max_single_write</a></div><div class="ttdeci">EVENT2_EXPORT_SYMBOL int bufferevent_set_max_single_write(struct bufferevent *bev, size_t size)</div><div class="ttdoc">Set the size limit for single write operation.</div></div>
<div class="ttc" id="abufferevent_8h_html_a19e499f7bfa831b802fd3575d141b4e1"><div class="ttname"><a href="bufferevent_8h.html#a19e499f7bfa831b802fd3575d141b4e1">bufferevent_filter_result</a></div><div class="ttdeci">bufferevent_filter_result</div><div class="ttdoc">Values that filters can return.</div><div class="ttdef"><b>Definition:</b> bufferevent.h:708</div></div>
<div class="ttc" id="abufferevent_8h_html_a7873bee379202ca1913ea365b92d2ed1"><div class="ttname"><a href="bufferevent_8h.html#a7873bee379202ca1913ea365b92d2ed1">bufferevent_write</a></div><div class="ttdeci">EVENT2_EXPORT_SYMBOL int bufferevent_write(struct bufferevent *bufev, const void *data, size_t size)</div><div class="ttdoc">Write data to a bufferevent buffer.</div></div>
<div class="ttc" id="abufferevent_8h_html_a4f3974def824e73a6861d94cff71e7c6"><div class="ttname"><a href="bufferevent_8h.html#a4f3974def824e73a6861d94cff71e7c6">bufferevent_disable</a></div><div class="ttdeci">EVENT2_EXPORT_SYMBOL int bufferevent_disable(struct bufferevent *bufev, short event)</div><div class="ttdoc">Disable a bufferevent.</div></div>
<div class="ttc" id="abufferevent_8h_html_ac9b0f97c37f116dcb579e4491dadda1d"><div class="ttname"><a href="bufferevent_8h.html#ac9b0f97c37f116dcb579e4491dadda1d">bufferevent_write_buffer</a></div><div class="ttdeci">EVENT2_EXPORT_SYMBOL int bufferevent_write_buffer(struct bufferevent *bufev, struct evbuffer *buf)</div><div class="ttdoc">Write data from an evbuffer to a bufferevent buffer.</div></div>
<div class="ttc" id="autil_8h_html_a7ef0023565082a65020f6e56be59fd0b"><div class="ttname"><a href="util_8h.html#a7ef0023565082a65020f6e56be59fd0b">evutil_socket_t</a></div><div class="ttdeci">#define evutil_socket_t</div><div class="ttdoc">A type wide enough to hold the output of "socket()" or "accept()".</div><div class="ttdef"><b>Definition:</b> util.h:325</div></div>
<div class="ttc" id="abufferevent_8h_html_a7837b6947fc855924466e2347a6faa8faef788894ba060effdd88553e59eb1330"><div class="ttname"><a href="bufferevent_8h.html#a7837b6947fc855924466e2347a6faa8faef788894ba060effdd88553e59eb1330">BEV_TRIG_DEFER_CALLBACKS</a></div><div class="ttdeci">@ BEV_TRIG_DEFER_CALLBACKS</div><div class="ttdoc">defer even if the callbacks are not</div><div class="ttdef"><b>Definition:</b> bufferevent.h:666</div></div>
<!-- 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.17
</small></address>
</body>
</html>