etc/services - sync with NetBSD-8
[minix.git] / external / bsd / libevent / man / event_compat.h.3
blob88987a48958cc12be3db16203cc1496a3b0594d0
1 .TH "event2/event_compat.h" 3 "Tue Jan 27 2015" "libevent" \" -*- nroff -*-
2 .ad l
3 .nh
4 .SH NAME
5 event2/event_compat.h \- 
6 .PP
7 Potentially non-threadsafe versions of the functions in \fBevent\&.h\fP: provided only for backwards compatibility\&.  
9 .SH SYNOPSIS
10 .br
11 .PP
12 \fC#include <event2/event-config\&.h>\fP
13 .br
14 \fC#include <event2/util\&.h>\fP
15 .br
17 .SS "Macros"
19 .in +1c
20 .ti -1c
21 .RI "#define \fBEVENT_FD\fP(ev)   ((int)\fBevent_get_fd\fP(ev))"
22 .br
23 .ti -1c
24 .RI "#define \fBEVENT_SIGNAL\fP(ev)   \fBevent_get_signal\fP(ev)"
25 .br
26 .ti -1c
27 .RI "#define \fBevsignal_set\fP(ev, x, cb, arg)   \fBevent_set\fP((ev), (x), \fBEV_SIGNAL\fP|\fBEV_PERSIST\fP, (cb), (arg))"
28 .br
29 .ti -1c
30 .RI "#define \fBevtimer_set\fP(ev, cb, arg)   \fBevent_set\fP((ev), -1, 0, (cb), (arg))"
31 .br
32 .in -1c
33 .PP
34 .RI "\fBtimeout_* macros\fP"
35 .br
37 .PP
38 \fBDeprecated\fP
39 .RS 4
40 These macros are deprecated because their naming is inconsistent with the rest of Libevent\&. Use the evtimer_* macros instead\&.
41 .RE
42 .PP
44 .PP
45 .in +1c
46 .in +1c
47 .ti -1c
48 .RI "#define \fBtimeout_add\fP(ev, tv)   \fBevent_add\fP((ev), (tv))"
49 .br
50 .ti -1c
51 .RI "#define \fBtimeout_set\fP(ev, cb, arg)   \fBevent_set\fP((ev), -1, 0, (cb), (arg))"
52 .br
53 .ti -1c
54 .RI "#define \fBtimeout_del\fP(ev)   \fBevent_del\fP(ev)"
55 .br
56 .ti -1c
57 .RI "#define \fBtimeout_pending\fP(ev, tv)   \fBevent_pending\fP((ev), \fBEV_TIMEOUT\fP, (tv))"
58 .br
59 .ti -1c
60 .RI "#define \fBtimeout_initialized\fP(ev)   \fBevent_initialized\fP(ev)"
61 .br
62 .in -1c
63 .in -1c
64 .PP
65 .RI "\fBsignal_* macros\fP"
66 .br
68 .PP
69 \fBDeprecated\fP
70 .RS 4
71 These macros are deprecated because their naming is inconsistent with the rest of Libevent\&. Use the evsignal_* macros instead\&.
72 .RE
73 .PP
75 .PP
76 .in +1c
77 .in +1c
78 .ti -1c
79 .RI "#define \fBsignal_add\fP(ev, tv)   \fBevent_add\fP((ev), (tv))"
80 .br
81 .ti -1c
82 .RI "#define \fBsignal_set\fP(ev, x, cb, arg)   \fBevent_set\fP((ev), (x), \fBEV_SIGNAL\fP|\fBEV_PERSIST\fP, (cb), (arg))"
83 .br
84 .ti -1c
85 .RI "#define \fBsignal_del\fP(ev)   \fBevent_del\fP(ev)"
86 .br
87 .ti -1c
88 .RI "#define \fBsignal_pending\fP(ev, tv)   \fBevent_pending\fP((ev), \fBEV_SIGNAL\fP, (tv))"
89 .br
90 .ti -1c
91 .RI "#define \fBsignal_initialized\fP(ev)   \fBevent_initialized\fP(ev)"
92 .br
93 .in -1c
94 .in -1c
95 .SS "Functions"
97 .in +1c
98 .ti -1c
99 .RI "int \fBevent_dispatch\fP (void)"
101 .RI "\fILoop to process events\&. \fP"
102 .ti -1c
103 .RI "const char * \fBevent_get_method\fP (void)"
105 .RI "\fIGet the kernel event notification mechanism used by Libevent\&. \fP"
106 .ti -1c
107 .RI "struct \fBevent_base\fP * \fBevent_init\fP (void)"
109 .RI "\fIInitialize the event API\&. \fP"
110 .ti -1c
111 .RI "int \fBevent_loop\fP (int)"
113 .RI "\fIHandle events\&. \fP"
114 .ti -1c
115 .RI "int \fBevent_loopbreak\fP (void)"
117 .RI "\fIAbort the active \fBevent_loop()\fP immediately\&. \fP"
118 .ti -1c
119 .RI "int \fBevent_loopexit\fP (const struct timeval *)"
121 .RI "\fIExit the event loop after the specified time\&. \fP"
122 .ti -1c
123 .RI "int \fBevent_once\fP (\fBevutil_socket_t\fP, short, void(*)(\fBevutil_socket_t\fP, short, void *), void *, const struct timeval *)"
125 .RI "\fISchedule a one-time event to occur\&. \fP"
126 .ti -1c
127 .RI "int \fBevent_priority_init\fP (int)"
129 .RI "\fISet the number of different event priorities\&. \fP"
130 .ti -1c
131 .RI "void \fBevent_set\fP (struct \fBevent\fP *, \fBevutil_socket_t\fP, short, void(*)(\fBevutil_socket_t\fP, short, void *), void *)"
133 .RI "\fIPrepare an event structure to be added\&. \fP"
134 .in -1c
135 .SH "Detailed Description"
136 .PP 
137 Potentially non-threadsafe versions of the functions in \fBevent\&.h\fP: provided only for backwards compatibility\&. 
139 In the oldest versions of Libevent, \fBevent_base\fP was not a first-class structure\&. Instead, there was a single event base that every function manipulated\&. Later, when separate event bases were added, the old functions that didn't take an \fBevent_base\fP argument needed to work by manipulating the 'current' event base\&. This could lead to thread-safety issues, and obscure, hard-to-diagnose bugs\&.
141 \fBDeprecated\fP
142 .RS 4
143 All functions in this file are by definition deprecated\&. 
147 .SH "Function Documentation"
148 .PP 
149 .SS "int event_dispatch (void)"
152 Loop to process events\&. Like \fBevent_base_dispatch()\fP, but uses the 'current' base\&.
154 \fBDeprecated\fP
155 .RS 4
156 This function is deprecated because it is easily confused by multiple calls to \fBevent_init()\fP, and because it is not safe for multithreaded use\&. The replacement is \fBevent_base_dispatch()\fP\&.
160 \fBSee also:\fP
161 .RS 4
162 \fBevent_base_dispatch()\fP, \fBevent_init()\fP 
166 .SS "const char* event_get_method (void)"
169 Get the kernel event notification mechanism used by Libevent\&. 
171 \fBDeprecated\fP
172 .RS 4
173 This function is obsolete, and has been replaced by \fBevent_base_get_method()\fP\&. Its use is deprecated because it relies on the 'current' base configured by \fBevent_init()\fP\&.
177 \fBSee also:\fP
178 .RS 4
179 \fBevent_base_get_method()\fP 
183 .SS "struct \fBevent_base\fP* event_init (void)"
186 Initialize the event API\&. The event API needs to be initialized with \fBevent_init()\fP before it can be used\&. Sets the global current base that gets used for events that have no base associated with them\&.
188 \fBDeprecated\fP
189 .RS 4
190 This function is deprecated because it replaces the 'current' \fBevent_base\fP, and is totally unsafe for multithreaded use\&. The replacement is \fBevent_base_new()\fP\&.
194 \fBSee also:\fP
195 .RS 4
196 \fBevent_base_set()\fP, \fBevent_base_new()\fP 
200 .SS "int event_loop (int)"
203 Handle events\&. This function behaves like \fBevent_base_loop()\fP, but uses the 'current' base
205 \fBDeprecated\fP
206 .RS 4
207 This function is deprecated because it uses the event base from the last call to event_init, and is therefore not safe for multithreaded use\&. The replacement is \fBevent_base_loop()\fP\&.
211 \fBSee also:\fP
212 .RS 4
213 \fBevent_base_loop()\fP, \fBevent_init()\fP 
217 .SS "int event_loopbreak (void)"
220 Abort the active \fBevent_loop()\fP immediately\&. This function behaves like event_base_loopbreakt(), except that it uses the 'current' base\&.
222 \fBDeprecated\fP
223 .RS 4
224 This function is deprecated because it uses the event base from the last call to event_init, and is therefore not safe for multithreaded use\&. The replacement is \fBevent_base_loopbreak()\fP\&.
228 \fBSee also:\fP
229 .RS 4
230 \fBevent_base_loopbreak()\fP, \fBevent_init()\fP 
234 .SS "int event_loopexit (const struct timeval *)"
237 Exit the event loop after the specified time\&. This function behaves like \fBevent_base_loopexit()\fP, except that it uses the 'current' base\&.
239 \fBDeprecated\fP
240 .RS 4
241 This function is deprecated because it uses the event base from the last call to event_init, and is therefore not safe for multithreaded use\&. The replacement is \fBevent_base_loopexit()\fP\&.
245 \fBSee also:\fP
246 .RS 4
247 \fBevent_init\fP, \fBevent_base_loopexit()\fP 
251 .SS "int event_once (\fBevutil_socket_t\fP, short, void(*)(\fBevutil_socket_t\fP, short, void *), void *, const struct timeval *)"
254 Schedule a one-time event to occur\&. 
256 \fBDeprecated\fP
257 .RS 4
258 This function is obsolete, and has been replaced by \fBevent_base_once()\fP\&. Its use is deprecated because it relies on the 'current' base configured by \fBevent_init()\fP\&.
262 \fBSee also:\fP
263 .RS 4
264 \fBevent_base_once()\fP 
268 .SS "int event_priority_init (int)"
271 Set the number of different event priorities\&. 
273 \fBDeprecated\fP
274 .RS 4
275 This function is deprecated because it is easily confused by multiple calls to \fBevent_init()\fP, and because it is not safe for multithreaded use\&. The replacement is \fBevent_base_priority_init()\fP\&.
279 \fBSee also:\fP
280 .RS 4
281 \fBevent_base_priority_init()\fP 
285 .SS "void event_set (struct \fBevent\fP *, \fBevutil_socket_t\fP, short, void(*)(\fBevutil_socket_t\fP, short, void *), void *)"
288 Prepare an event structure to be added\&. 
290 \fBDeprecated\fP
291 .RS 4
292 \fBevent_set()\fP is not recommended for new code, because it requires a subsequent call to \fBevent_base_set()\fP to be safe under most circumstances\&. Use \fBevent_assign()\fP or \fBevent_new()\fP instead\&. 
296 .SH "Author"
297 .PP 
298 Generated automatically by Doxygen for libevent from the source code\&.