ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/svn/vendor/ircservices-5.1.24/docs/tech/b.html
Revision: 3389
Committed: Fri Apr 25 14:12:15 2014 UTC (9 years, 10 months ago) by michael
Content type: text/html
File size: 327555 byte(s)
Log Message:
- Imported ircservices-5.1.24

File Contents

# Content
1 <?xml version="1.0" encoding="ISO-8859-1"?>
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11-strict.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
4 <head>
5 <meta http-equiv="Content-Style-Type" content="text/css"/>
6 <style type="text/css">@import "style.css";</style>
7 <title>IRC Services Technical Reference Manual - Appendix B. Function index</title>
8 </head>
9
10 <body>
11 <h1 class="title" id="top">IRC Services Technical Reference Manual</h1>
12
13 <h2 class="section-title">Appendix B. Function index</h2>
14
15 <p><b>Note:</b> This index does not include functions defined in modules.</p>
16
17 <p style="text-align: center">
18 <a href="#A">A</a> |
19 <a href="#B">B</a> |
20 <a href="#C">C</a> |
21 <a href="#D">D</a> |
22 <a href="#E">E</a> |
23 <a href="#F">F</a> |
24 <a href="#G">G</a> |
25 <a href="#H">H</a> |
26 <a href="#I">I</a> |
27 <a href="#J">J</a> |
28 <a href="#K">K</a> |
29 <a href="#L">L</a> |
30 <a href="#M">M</a> |
31 <a href="#N">N</a> |
32 <a href="#O">O</a> |
33 <a href="#P">P</a> |
34 <a href="#Q">Q</a> |
35 <a href="#R">R</a> |
36 <a href="#S">S</a> |
37 <a href="#T">T</a> |
38 <a href="#U">U</a> |
39 <a href="#V">V</a> |
40 <a href="#W">W</a> |
41 <a href="#X">X</a> |
42 <a href="#Y">Y</a> |
43 <a href="#Z">Z</a>
44 </p>
45
46 <p class="backlink"><a href="index.html">Table of Contents</a></p>
47
48 <!------------------------------------------------------------------------>
49 <hr/>
50
51 <table class="function-index">
52 <tr class="function-index-header">
53 <th class="function-index-name">Function name and file</th>
54 <th class="function-index-params">Parameters</th>
55 <th class="function-index-return">Return value</th>
56 <th class="function-index-purpose">Purpose</th>
57 </tr>
58
59 <!--============================================================-->
60
61 <tr class="function-index-letter" id="A">
62 <th class="function-index-letter" colspan="5">A</th>
63 </tr>
64 <tr class="function-index" id="actions.c_actions_cleanup">
65 <td class="function-index-name">actions_cleanup<br/>&nbsp;&nbsp;&nbsp;(actions.c)</td>
66 <td class="function-index-params">&mdash;</td>
67 <td class="function-index-return">&mdash;</td>
68 <td class="function-index-purpose">Performs cleanup actions
69 for the high-level action routines.</td>
70 </tr>
71 <tr class="function-index" id="actions.c_actions_init">
72 <td class="function-index-name">actions_init<br/>&nbsp;&nbsp;&nbsp;(actions.c)</td>
73 <td class="function-index-params">
74 <p class="function-param"><tt>int <i>ac</i></tt>:
75 Command-line argument count.</p>
76 <p class="function-param"><tt>char **<i>av</i></tt>:
77 Command-line argument vector.</p></td>
78 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
79 Nonzero on success, zero on failure.</p></td>
80 <td class="function-index-purpose">Performs initialization
81 actions for the high-level action routines.</td>
82 </tr>
83 <tr class="function-index" id="modules.h_add_callback">
84 <td class="function-index-name">add_callback<br/>&nbsp;&nbsp;&nbsp;(modules.h)</td>
85 <td class="function-index-params">
86 <p class="function-param"><tt>Module *<i>module</i></tt>:
87 Handle of the module for the callback, or
88 <tt>NULL</tt> for a core callback.</p>
89 <p class="function-param"><tt>const char *<i>name</i></tt>:
90 Callback name.</p>
91 <p class="function-param"><tt>callback_t <i>callback</i></tt>:
92 Callback function to add.</p></td>
93 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
94 Nonzero on success, zero on error.</p></td>
95 <td class="function-index-purpose">Adds a callback function
96 to the specified callback in the specified module.
97 Equivalent to <tt>add_callback_pri()</tt> with a
98 priority of zero.</td>
99 </tr>
100 <tr class="function-index" id="modules.h_add_callback_pri">
101 <td class="function-index-name">add_callback_pri<br/>&nbsp;&nbsp;&nbsp;(modules.h)</td>
102 <td class="function-index-params">
103 <p class="function-param"><tt>Module *<i>module</i></tt>:
104 Handle of the module for the callback, or
105 <tt>NULL</tt> for a core callback.</p>
106 <p class="function-param"><tt>const char *<i>name</i></tt>:
107 Callback name.</p>
108 <p class="function-param"><tt>callback_t <i>callback</i></tt>:
109 Callback function to add.</p>
110 <p class="function-param"><tt>int <i>priority</i></tt>:
111 Priority at which function is to be added.</p></td>
112 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
113 Nonzero on success, zero on error.</p></td>
114 <td class="function-index-purpose">Adds a callback function
115 to the specified callback in the specified module,
116 with a certain priority (higher priority values
117 cause the function to be called earlier).</td>
118 </tr>
119 <tr class="function-index" id="modules.c__add_callback_pri">
120 <td class="function-index-name">_add_callback_pri<br/>&nbsp;&nbsp;&nbsp;(modules.c)</td>
121 <td class="function-index-params">
122 <p class="function-param"><tt>Module *<i>module</i></tt>:
123 Handle of the module for the callback, or
124 <tt>NULL</tt> for a core callback.</p>
125 <p class="function-param"><tt>const char *<i>name</i></tt>:
126 Callback name.</p>
127 <p class="function-param"><tt>callback_t <i>callback</i></tt>:
128 Callback function to add.</p>
129 <p class="function-param"><tt>int <i>priority</i></tt>:
130 Priority at which function is to be added.</p>
131 <p class="function-param"><tt>const Module *<i>caller</i></tt>:
132 Handle of the calling module.</p></td>
133 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
134 Nonzero on success, zero on error.</p></td>
135 <td class="function-index-purpose">Implements the
136 <tt>add_callback()</tt> and <tt>add_callback_pri()</tt>
137 macros.</td>
138 </tr>
139 <tr class="function-index" id="channels.c_add_channel">
140 <td class="function-index-name">add_channel<br/>&nbsp;&nbsp;&nbsp;(channel.c)</td>
141 <td class="function-index-params">
142 <p class="function-param"><tt>Channel *<i>channel</i></tt>:
143 Channel to add.</p></td>
144 <td class="function-index-return">&mdash;</td>
145 <td class="function-index-purpose">Adds the given channel to the hash table.</td>
146 </tr>
147 <tr class="function-index" id="actions.c_add_mode_with_params">
148 <td class="function-index-name">add_mode_with_params<br/>&nbsp;&nbsp;&nbsp;(actions.c)</td>
149 <td class="function-index-params">
150 <p class="function-param"><tt>struct modedata *<i>md</i></tt>:
151 Channel mode data being modified.</p>
152 <p class="function-param"><tt>char <i>mode</i></tt>:
153 Mode character to append.</p>
154 <p class="function-param"><tt>int <i>is_add</i></tt>:
155 Nonzero if the mode is being added, zero if
156 it is being removed.</p>
157 <p class="function-param"><tt>int <i>params</i></tt>:
158 Number of parameters in <tt><i>parambuf</i></tt>.</p>
159 <p class="function-param"><tt>const char *<i>parambuf</i></tt>:
160 Space-separated parameters for the mode.</p>
161 <p class="function-param"><tt>int <i>len</i></tt>:
162 Length of <tt><i>parambuf</i></tt>.</p></td>
163 <td class="function-index-return">&mdash;</td>
164 <td class="function-index-purpose">Called by
165 <tt>set_cmode()</tt> to append a mode character
166 that takes parameters to the accumulated mode
167 changes for a channel. Flushes out the accumulated
168 mode changes if no space is available to append the
169 mode or its parameters.</td>
170 </tr>
171 <tr class="function-index" id="servers.c_add_server">
172 <td class="function-index-name">add_server<br/>&nbsp;&nbsp;&nbsp;(servers.c)</td>
173 <td class="function-index-params">
174 <p class="function-param"><tt>Server *<i>server</i></tt>:
175 Server to add.</p></td>
176 <td class="function-index-return">&mdash;</td>
177 <td class="function-index-purpose">Adds the given server to the hash table.</td>
178 </tr>
179 <tr class="function-index" id="timeout.c_add_timeout">
180 <td class="function-index-name">add_timeout<br/>&nbsp;&nbsp;&nbsp;(timeout.c)</td>
181 <td class="function-index-params">
182 <p class="function-param"><tt>int <i>delay</i></tt>:
183 Delay in seconds.</p>
184 <p class="function-param"><tt>void (*<i>code</i>)(Timeout *)</tt>:
185 Function to call when timeout expires.</p>
186 <p class="function-param"><tt>int <i>repeat</i></tt>:
187 Nonzero to make the timeout repeating.</p></td>
188 <td class="function-index-return"><p class="function-param"><tt>Timeout *</tt>:
189 New timeout handle.</p></td>
190 <td class="function-index-purpose">Creates a new timeout that
191 expires in <tt><i>delay</i></tt> seconds. If
192 <tt><i>repeat</i></tt> is nonzero, the timeout will
193 be restarted after the timeout function is called,
194 otherwise the timeout will be deleted.</td>
195 </tr>
196 <tr class="function-index" id="timeout.c_add_timeout_ms">
197 <td class="function-index-name">add_timeout_ms<br/>&nbsp;&nbsp;&nbsp;(timeout.c)</td>
198 <td class="function-index-params">
199 <p class="function-param"><tt>uint32 <i>delay</i></tt>:
200 Delay in milliseconds.</p>
201 <p class="function-param"><tt>void (*<i>code</i>)(Timeout *)</tt>:
202 Function to call when timeout expires.</p>
203 <p class="function-param"><tt>int <i>repeat</i></tt>:
204 Nonzero to make the timeout repeating.</p></td>
205 <td class="function-index-return"><p class="function-param"><tt>Timeout *</tt>:
206 New timeout handle.</p></td>
207 <td class="function-index-purpose">Creates a new timeout
208 that expires in <tt><i>delay</i></tt> milliseconds.
209 Otherwise identical to <tt>add_timeout()</tt>.</td>
210 </tr>
211 <tr class="function-index" id="users.c_add_user">
212 <td class="function-index-name">add_user<br/>&nbsp;&nbsp;&nbsp;(users.c)</td>
213 <td class="function-index-params">
214 <p class="function-param"><tt>User *<i>user</i></tt>:
215 User to add.</p></td>
216 <td class="function-index-return">&mdash;</td>
217 <td class="function-index-purpose">Adds the given user to the hash table.</td>
218 </tr>
219 <tr class="function-index" id="language.c_addstring">
220 <td class="function-index-name">addstring<br/>&nbsp;&nbsp;&nbsp;(language.c)</td>
221 <td class="function-index-params">
222 <p class="function-param"><tt>const char *<i>name</i></tt>:
223 Identifier for the new string.</p></td>
224 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
225 Index for the new string (nonnegative), or -1 on
226 failure.</p></td>
227 <td class="function-index-purpose">Adds a new string
228 identifier to the language tables. The string is
229 set to empty in all languages.</td>
230 </tr>
231 <tr class="function-index" id="misc.c_atolsafe">
232 <td class="function-index-name">atolsafe<br/>&nbsp;&nbsp;&nbsp;(misc.c)</td>
233 <td class="function-index-params">
234 <p class="function-param"><tt>const char *<i>s</i></tt>:
235 String to convert.</p>
236 <p class="function-param"><tt>long <i>min</i></tt>:
237 Minimum acceptable value.</p>
238 <p class="function-param"><tt>long <i>max</i></tt>:
239 Maximum acceptable value.</p></td>
240 <td class="function-index-return"><p class="function-param"><tt>long</tt>:
241 Converted value, or <tt><i>min</i>-1</tt> on
242 error.</p></td>
243 <td class="function-index-purpose">Converts a base 10
244 numeric string to a <tt>long</tt> value, ensuring
245 that the string contains no invalid characters and
246 that it is within the inclusive range
247 <tt><i>min</i></tt> through <tt><i>max</i></tt>.
248 Sets <tt>errno</tt> to <tt>EINVAL</tt> if the
249 string contains invalid characters, and to
250 <tt>ERANGE</tt> if the converted value is outside
251 the specified range.</td>
252 </tr>
253 <tr class="function-index" id="tools_convert-sirv.c_auspice_load_admin">
254 <td class="function-index-name">auspice_load_admin<br/>&nbsp;&nbsp;&nbsp;(tools/convert-sirv.c)</td>
255 <td class="function-index-params">
256 <p class="function-param"><tt>const char *<i>dir</i></tt>:
257 Directory from which to load data.</p></td>
258 <td class="function-index-return">&mdash;</td>
259 <td class="function-index-purpose">Loads the Auspice
260 <tt>admin.db</tt> data file.</td>
261 </tr>
262
263 <!--============================================================-->
264
265 <tr class="function-index-letter" id="B">
266 <th class="function-index-letter" colspan="5">B</th>
267 </tr>
268 <tr class="function-index" id="actions.c_bad_password">
269 <td class="function-index-name">bad_password<br/>&nbsp;&nbsp;&nbsp;(actions.c)</td>
270 <td class="function-index-params">
271 <p class="function-param"><tt>const char *<i>service</i></tt>:
272 Nickname of relevant pseudoclient.</p>
273 <p class="function-param"><tt>User *<i>u</i></tt>:
274 User that sent the bad password.</p>
275 <p class="function-param"><tt>const char *<i>what</i></tt>:
276 What the bad password was for (used in the
277 kill message).</p></td>
278 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
279 2 if the user was killed, 1 if the user will be
280 killed on the next bad password, else 0.</p></td>
281 <td class="function-index-purpose">Sends a "password
282 incorrect" notice from the given pseudoclient to
283 the user, and checks the user's bad password count
284 against the <tt>BadPassLimit</tt> setting, killing
285 or warning the user as appropriate.</td>
286 </tr>
287 <tr class="function-index" id="tools_convert-sirv.c_bolivia_load_gline">
288 <td class="function-index-name">bolivia_load_gline<br/>&nbsp;&nbsp;&nbsp;(tools/convert-sirv.c)</td>
289 <td class="function-index-params">
290 <p class="function-param"><tt>const char *<i>dir</i></tt>:
291 Directory from which to load data.</p></td>
292 <td class="function-index-return">&mdash;</td>
293 <td class="function-index-purpose">Loads the Bolivia
294 <tt>gline.db</tt> data file.</td>
295 </tr>
296 <tr class="function-index" id="tools_convert-sirv.c_bolivia_load_qline">
297 <td class="function-index-name">bolivia_load_qline<br/>&nbsp;&nbsp;&nbsp;(tools/convert-sirv.c)</td>
298 <td class="function-index-params">
299 <p class="function-param"><tt>const char *<i>dir</i></tt>:
300 Directory from which to load data.</p></td>
301 <td class="function-index-return">&mdash;</td>
302 <td class="function-index-purpose">Loads the Bolivia
303 <tt>qline.db</tt> data file.</td>
304 </tr>
305 <tr class="function-index" id="tools_convert-sirv.c_bolivia_load_zline">
306 <td class="function-index-name">bolivia_load_zline<br/>&nbsp;&nbsp;&nbsp;(tools/convert-sirv.c)</td>
307 <td class="function-index-params">
308 <p class="function-param"><tt>const char *<i>dir</i></tt>:
309 Directory from which to load data.</p></td>
310 <td class="function-index-return">&mdash;</td>
311 <td class="function-index-purpose">Loads the Bolivia
312 <tt>zline.db</tt> data file.</td>
313 </tr>
314 <tr class="function-index" id="sockets.c_buffered_write">
315 <td class="function-index-name">buffered_write<br/>&nbsp;&nbsp;&nbsp;(sockets.c)</td>
316 <td class="function-index-params">
317 <p class="function-param"><tt>Socket *<i>s</i></tt>:
318 Socket to send data on.</p>
319 <p class="function-param"><tt>const char *<i>buf</i></tt>:
320 Data to send.</p>
321 <p class="function-param"><tt>int <i>len</i></tt>:
322 Length of data to send.</p></td>
323 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
324 Number of bytes sent or buffered, or -1 on
325 error.</p></td>
326 <td class="function-index-purpose">Writes the given data to
327 the given socket, buffering any data that cannot be
328 sent immediately.</td>
329 </tr>
330
331 <!--============================================================-->
332
333 <tr class="function-index-letter" id="C">
334 <th class="function-index-letter" colspan="5">C</th>
335 </tr>
336 <tr class="function-index" id="modules.h_call_callback">
337 <td class="function-index-name">call_callback<br/>&nbsp;&nbsp;&nbsp;(modules.h)</td>
338 <td class="function-index-params">
339 <p class="function-param"><tt>int <i>id</i></tt>:
340 ID of the callback to call.</p></td>
341 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
342 The value returned by the first callback function
343 to return a nonzero value; zero if all callback
344 functions returned zero; or -1 on error.</p></td>
345 <td class="function-index-purpose">Calls a module callback
346 with no arguments.</td>
347 </tr>
348 <tr class="function-index" id="modules.h_call_callback_1">
349 <td class="function-index-name">call_callback_1<br/>&nbsp;&nbsp;&nbsp;(modules.h)</td>
350 <td class="function-index-params">
351 <p class="function-param"><tt>int <i>id</i></tt>:
352 ID of the callback to call.</p>
353 <p class="function-param"><tt>void *<i>arg1</i></tt>:
354 Callback function parameter.</p></td>
355 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
356 The value returned by the first callback function
357 to return a nonzero value; zero if all callback
358 functions returned zero; or -1 on error.</p></td>
359 <td class="function-index-purpose">Calls a module callback
360 with one argument.</td>
361 </tr>
362 <tr class="function-index" id="modules.h_call_callback_2">
363 <td class="function-index-name">call_callback_2<br/>&nbsp;&nbsp;&nbsp;(modules.h)</td>
364 <td class="function-index-params">
365 <p class="function-param"><tt>int <i>id</i></tt>:
366 ID of the callback to call.</p>
367 <p class="function-param"><tt>void *<i>arg1</i></tt>:
368 First callback function parameter.</p>
369 <p class="function-param"><tt>void *<i>arg2</i></tt>:
370 Second callback function parameter.</p></td>
371 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
372 The value returned by the first callback function
373 to return a nonzero value; zero if all callback
374 functions returned zero; or -1 on error.</p></td>
375 <td class="function-index-purpose">Calls a module callback
376 with two arguments.</td>
377 </tr>
378 <tr class="function-index" id="modules.h_call_callback_3">
379 <td class="function-index-name">call_callback_3<br/>&nbsp;&nbsp;&nbsp;(modules.h)</td>
380 <td class="function-index-params">
381 <p class="function-param"><tt>int <i>id</i></tt>:
382 ID of the callback to call.</p>
383 <p class="function-param"><tt>void *<i>arg1</i></tt>:
384 First callback function parameter.</p>
385 <p class="function-param"><tt>void *<i>arg2</i></tt>:
386 Second callback function parameter.</p>
387 <p class="function-param"><tt>void *<i>arg3</i></tt>:
388 Third callback function parameter.</p></td>
389 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
390 The value returned by the first callback function
391 to return a nonzero value; zero if all callback
392 functions returned zero; or -1 on error.</p></td>
393 <td class="function-index-purpose">Calls a module callback
394 with three arguments.</td>
395 </tr>
396 <tr class="function-index" id="modules.h_call_callback_4">
397 <td class="function-index-name">call_callback_4<br/>&nbsp;&nbsp;&nbsp;(modules.h)</td>
398 <td class="function-index-params">
399 <p class="function-param"><tt>int <i>id</i></tt>:
400 ID of the callback to call.</p>
401 <p class="function-param"><tt>void *<i>arg1</i></tt>:
402 First callback function parameter.</p>
403 <p class="function-param"><tt>void *<i>arg2</i></tt>:
404 Second callback function parameter.</p>
405 <p class="function-param"><tt>void *<i>arg3</i></tt>:
406 Third callback function parameter.</p>
407 <p class="function-param"><tt>void *<i>arg4</i></tt>:
408 Fourth callback function parameter.</p></td>
409 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
410 The value returned by the first callback function
411 to return a nonzero value; zero if all callback
412 functions returned zero; or -1 on error.</p></td>
413 <td class="function-index-purpose">Calls a module callback
414 with four arguments.</td>
415 </tr>
416 <tr class="function-index" id="modules.h_call_callback_5">
417 <td class="function-index-name">call_callback_5<br/>&nbsp;&nbsp;&nbsp;(modules.h)</td>
418 <td class="function-index-params">
419 <p class="function-param"><tt>int <i>id</i></tt>:
420 ID of the callback to call.</p>
421 <p class="function-param"><tt>void *<i>arg1</i></tt>:
422 First callback function parameter.</p>
423 <p class="function-param"><tt>void *<i>arg2</i></tt>:
424 Second callback function parameter.</p>
425 <p class="function-param"><tt>void *<i>arg3</i></tt>:
426 Third callback function parameter.</p>
427 <p class="function-param"><tt>void *<i>arg4</i></tt>:
428 Fourth callback function parameter.</p>
429 <p class="function-param"><tt>void *<i>arg5</i></tt>:
430 Fifth callback function parameter.</p></td>
431 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
432 The value returned by the first callback function
433 to return a nonzero value; zero if all callback
434 functions returned zero; or -1 on error.</p></td>
435 <td class="function-index-purpose">Calls a module callback
436 with five arguments.</td>
437 </tr>
438 <tr class="function-index" id="modules.c__call_callback_5">
439 <td class="function-index-name">_call_callback_5<br/>&nbsp;&nbsp;&nbsp;(modules.c)</td>
440 <td class="function-index-params">
441 <p class="function-param"><tt>Module *<i>module</i></tt>:
442 Handle for the calling module.</p>
443 <p class="function-param"><tt>int <i>id</i></tt>:
444 ID of the callback to call.</p>
445 <p class="function-param"><tt>void *<i>arg1</i></tt>:
446 First callback function parameter.</p>
447 <p class="function-param"><tt>void *<i>arg2</i></tt>:
448 Second callback function parameter.</p>
449 <p class="function-param"><tt>void *<i>arg3</i></tt>:
450 Third callback function parameter.</p>
451 <p class="function-param"><tt>void *<i>arg4</i></tt>:
452 Fourth callback function parameter.</p>
453 <p class="function-param"><tt>void *<i>arg5</i></tt>:
454 Fifth callback function parameter.</p></td>
455 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
456 The value returned by the first callback function
457 to return a nonzero value; zero if all callback
458 functions returned zero; or -1 on error.</p></td>
459 <td class="function-index-purpose">Implements the
460 <tt>call_callback()</tt> and
461 <tt>call_callback_<i>N</i>()</tt> macros.</td>
462 </tr>
463 <tr class="function-index" id="channels.c_chan_adduser">
464 <td class="function-index-name">chan_adduser<br/>&nbsp;&nbsp;&nbsp;(channels.c)</td>
465 <td class="function-index-params">
466 <p class="function-param"><tt>User *<i>user</i></tt>:
467 User to add to channel.</p>
468 <p class="function-param"><tt>const char *<i>chan</i></tt>:
469 Channel to add user to.</p>
470 <p class="function-param"><tt>int32 <i>modes</i></tt>:
471 Initial channel user modes for the user.</p></td>
472 <td class="function-index-return"><p class="function-param"><tt>Channel *</tt>:
473 The channel record for the channel.</p></td>
474 <td class="function-index-purpose">Adds a user to a channel,
475 creating the channel record if it does not exist.</td>
476 </tr>
477 <tr class="function-index" id="channels.c_chan_deluser">
478 <td class="function-index-name">chan_deluser<br/>&nbsp;&nbsp;&nbsp;(channels.c)</td>
479 <td class="function-index-params">
480 <p class="function-param"><tt>User *<i>user</i></tt>:
481 User to remove from channel.</p>
482 <p class="function-param"><tt>Channel *<i>c</i></tt>:
483 Channel to remove user from.</p></td>
484 <td class="function-index-return">&mdash;</td>
485 <td class="function-index-purpose">Removes a user from a
486 channel, deleting the channel record if the channel
487 becomes empty.</td>
488 </tr>
489 <tr class="function-index" id="channels.c_chan_has_ban">
490 <td class="function-index-name">chan_has_ban<br/>&nbsp;&nbsp;&nbsp;(channels.c)</td>
491 <td class="function-index-params">
492 <p class="function-param"><tt>const char *<i>chan</i></tt>:
493 Name of channel to check.</p>
494 <p class="function-param"><tt>const char *<i>ban</i></tt>:
495 Ban mask to look for.</p></td>
496 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
497 Nonzero if the given mask is found on the channel's
498 ban list, else zero.</p></td>
499 <td class="function-index-purpose">Returns whether the
500 channel's ban list contains the given mask
501 (searched for case-insensitively).</td>
502 </tr>
503 <tr class="function-index" id="users.c_change_user_nick">
504 <td class="function-index-name">change_user_nick<br/>&nbsp;&nbsp;&nbsp;(users.c)</td>
505 <td class="function-index-params">
506 <p class="function-param"><tt>User *<i>user</i></tt>:
507 User whose nickname is changing.</p>
508 <p class="function-param"><tt>const char *<i>nick</i></tt>:
509 New nickname.</p></td>
510 <td class="function-index-return">&mdash;</td>
511 <td class="function-index-purpose">Changes a user's nickname.</td>
512 </tr>
513 <tr class="function-index" id="channels.c_channel_cleanup">
514 <td class="function-index-name">channel_cleanup<br/>&nbsp;&nbsp;&nbsp;(channels.c)</td>
515 <td class="function-index-params">&mdash;</td>
516 <td class="function-index-return">&mdash;</td>
517 <td class="function-index-purpose">Performs cleanup actions
518 for the channel management subsystem.</td>
519 </tr>
520 <tr class="function-index" id="channels.c_channel_init">
521 <td class="function-index-name">channel_init<br/>&nbsp;&nbsp;&nbsp;(channels.c)</td>
522 <td class="function-index-params">
523 <p class="function-param"><tt>int <i>ac</i></tt>:
524 Command-line argument count.</p>
525 <p class="function-param"><tt>char **<i>av</i></tt>:
526 Command-line argument vector.</p></td>
527 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
528 Nonzero on success, zero on error.</p></td>
529 <td class="function-index-purpose">Performs initialization
530 actions for the channel management subsystem.</td>
531 </tr>
532 <tr class="function-index" id="tools_convert-sirv.c_check_auspice">
533 <td class="function-index-name">check_auspice<br/>&nbsp;&nbsp;&nbsp;(tools/convert-sirv.c)</td>
534 <td class="function-index-params">
535 <p class="function-param"><tt>const char *<i>dir</i></tt>:
536 Directory from which to load data.</p></td>
537 <td class="function-index-return"><p class="function-param"><tt>const char *</tt>:
538 String describing database type, or <tt>NULL</tt>
539 if no database was found.</p></td>
540 <td class="function-index-purpose">Checks for the presence
541 of Auspice databases.</td>
542 </tr>
543 <tr class="function-index" id="tools_convert-sirv.c_check_bolivia">
544 <td class="function-index-name">check_bolivia<br/>&nbsp;&nbsp;&nbsp;(tools/convert-sirv.c)</td>
545 <td class="function-index-params">
546 <p class="function-param"><tt>const char *<i>dir</i></tt>:
547 Directory from which to load data.</p></td>
548 <td class="function-index-return"><p class="function-param"><tt>const char *</tt>:
549 String describing database type, or <tt>NULL</tt>
550 if no database was found.</p></td>
551 <td class="function-index-purpose">Checks for the presence
552 of Bolivia databases.</td>
553 </tr>
554 <tr class="function-index" id="tools_convert-cygnus.c_check_cygnus">
555 <td class="function-index-name">check_cygnus<br/>&nbsp;&nbsp;&nbsp;(tools/convert-cygnus.c)</td>
556 <td class="function-index-params">
557 <p class="function-param"><tt>const char *<i>dir</i></tt>:
558 Directory from which to load data.</p></td>
559 <td class="function-index-return"><p class="function-param"><tt>const char *</tt>:
560 String describing database type, or <tt>NULL</tt>
561 if no database was found.</p></td>
562 <td class="function-index-purpose">Checks for the presence
563 of Cygnus databases.</td>
564 </tr>
565 <tr class="function-index" id="tools_convert-ver8.c_check_daylight">
566 <td class="function-index-name">check_daylight<br/>&nbsp;&nbsp;&nbsp;(tools/convert-ver8.c)</td>
567 <td class="function-index-params">
568 <p class="function-param"><tt>const char *<i>dir</i></tt>:
569 Directory from which to load data.</p></td>
570 <td class="function-index-return"><p class="function-param"><tt>const char *</tt>:
571 String describing database type, or <tt>NULL</tt>
572 if no database was found.</p></td>
573 <td class="function-index-purpose">Checks for the presence
574 of Daylight databases.</td>
575 </tr>
576 <tr class="function-index" id="tools_convert-epona.c_check_epona">
577 <td class="function-index-name">check_epona<br/>&nbsp;&nbsp;&nbsp;(tools/convert-epona.c)</td>
578 <td class="function-index-params">
579 <p class="function-param"><tt>const char *<i>dir</i></tt>:
580 Directory from which to load data.</p></td>
581 <td class="function-index-return"><p class="function-param"><tt>const char *</tt>:
582 String describing database type, or <tt>NULL</tt>
583 if no database was found.</p></td>
584 <td class="function-index-purpose">Checks for the presence
585 of Epona/Anope databases.</td>
586 </tr>
587 <tr class="function-index" id="tools_convert-hybserv.c_check_hybserv">
588 <td class="function-index-name">check_hybserv<br/>&nbsp;&nbsp;&nbsp;(tools/convert-hybserv.c)</td>
589 <td class="function-index-params">
590 <p class="function-param"><tt>const char *<i>dir</i></tt>:
591 Directory from which to load data.</p></td>
592 <td class="function-index-return"><p class="function-param"><tt>const char *</tt>:
593 String describing database type, or <tt>NULL</tt>
594 if no database was found.</p></td>
595 <td class="function-index-purpose">Checks for the presence
596 of HybServ databases.</td>
597 </tr>
598 <tr class="function-index" id="tools_convert-ver8.c_check_ircs_1_2">
599 <td class="function-index-name">check_ircs_1_2<br/>&nbsp;&nbsp;&nbsp;(tools/convert-ver8.c)</td>
600 <td class="function-index-params">
601 <p class="function-param"><tt>const char *<i>dir</i></tt>:
602 Directory from which to load data.</p></td>
603 <td class="function-index-return"><p class="function-param"><tt>const char *</tt>:
604 String describing database type, or <tt>NULL</tt>
605 if no database was found.</p></td>
606 <td class="function-index-purpose">Checks for the presence
607 of IRCS 1.2 databases.</td>
608 </tr>
609 <tr class="function-index" id="log.c_check_log_rotate">
610 <td class="function-index-name">check_log_rotate<br/>&nbsp;&nbsp;&nbsp;(log.c)</td>
611 <td class="function-index-params">&mdash;</td>
612 <td class="function-index-return">&mdash;</td>
613 <td class="function-index-purpose">Checks whether the log
614 file needs to be rotated, and does so if necessary.
615 Used internally by logging routines.</td>
616 </tr>
617 <tr class="function-index" id="tools_convert-magick.c_check_magick_14b2">
618 <td class="function-index-name">check_magick_14b2<br/>&nbsp;&nbsp;&nbsp;(tools/convert-magick.c)</td>
619 <td class="function-index-params">
620 <p class="function-param"><tt>const char *<i>dir</i></tt>:
621 Directory from which to load data.</p></td>
622 <td class="function-index-return"><p class="function-param"><tt>const char *</tt>:
623 String describing database type, or <tt>NULL</tt>
624 if no database was found.</p></td>
625 <td class="function-index-purpose">Checks for the presence
626 of Magick 1.4 databases.</td>
627 </tr>
628 <tr class="function-index" id="modules.c_check_module_symbol">
629 <td class="function-index-name">check_module_symbol<br/>&nbsp;&nbsp;&nbsp;(modules.c)</td>
630 <td class="function-index-params">
631 <p class="function-param"><tt>Module *<i>module</i></tt>:
632 Handle of the module in which symbol is to be
633 looked up, or <tt>NULL</tt> for any module.</p>
634 <p class="function-param"><tt>const char *<i>symname</i></tt>:
635 Symbol to look up.</p>
636 <p class="function-param"><tt>void **<i>resultptr</i></tt>:
637 Location in which the symbol's value is to
638 be stored on success (may be <tt>NULL</tt>
639 if the symbol's value is not required).</p>
640 <p class="function-param"><tt>const char **<i>errorptr</i></tt>:
641 Location in which an error message is to be
642 stored on failure (may be <tt>NULL</tt> if
643 the error message is not required).</p></td>
644 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
645 Nonzero if the symbol was found, zero otherwise.</p></td>
646 <td class="function-index-purpose">Looks up a symbol in a
647 given (or any) module. If the symbol is found (the
648 return value is nonzero), the symbol's value is
649 stored in the location pointed to by
650 <tt><i>resultptr</i></tt>; otherwise, an error
651 message is stored in the location pointed to by
652 <tt><i>errorptr</i></tt>.</td>
653 </tr>
654 <tr class="function-index" id="encrypt.c_check_password">
655 <td class="function-index-name">check_password<br/>&nbsp;&nbsp;&nbsp;(encrypt.c)</td>
656 <td class="function-index-params">
657 <p class="function-param"><tt>const char *<i>plaintext</i></tt>:
658 Plaintext password to check.</p>
659 <p class="function-param"><tt>const Password *<i>password</i></tt>:
660 Encrypted password to check against.</p></td>
661 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
662 1 if the password matches; 0 if the password does
663 not match; -1 if an error occurs during checking.</p></td>
664 <td class="function-index-purpose">Checks a user-entered
665 plaintext string against an encrypted password.</td>
666 </tr>
667 <tr class="function-index" id="tools_convert-ptlink.c_check_ptlink">
668 <td class="function-index-name">check_ptlink<br/>&nbsp;&nbsp;&nbsp;(tools/convert-ptlink.c)</td>
669 <td class="function-index-params">
670 <p class="function-param"><tt>const char *<i>dir</i></tt>:
671 Directory from which to load data.</p></td>
672 <td class="function-index-return"><p class="function-param"><tt>const char *</tt>:
673 String describing database type, or <tt>NULL</tt>
674 if no database was found.</p></td>
675 <td class="function-index-purpose">Checks for the presence
676 of PTlink databases.</td>
677 </tr>
678 <tr class="function-index" id="tools_convert-sirv.c_check_sirv">
679 <td class="function-index-name">check_sirv<br/>&nbsp;&nbsp;&nbsp;(tools/convert-sirv.c)</td>
680 <td class="function-index-params">
681 <p class="function-param"><tt>const char *<i>dir</i></tt>:
682 Directory from which to load data.</p></td>
683 <td class="function-index-return"><p class="function-param"><tt>const char *</tt>:
684 String describing database type, or <tt>NULL</tt>
685 if no database was found.</p></td>
686 <td class="function-index-purpose">Checks for the presence
687 of Sirv databases.</td>
688 </tr>
689 <tr class="function-index" id="sockets.c_check_sockets">
690 <td class="function-index-name">check_sockets<br/>&nbsp;&nbsp;&nbsp;(sockets.c)</td>
691 <td class="function-index-params">&mdash;</td>
692 <td class="function-index-return">&mdash;</td>
693 <td class="function-index-purpose">Checks all open sockets
694 for activity, taking appropriate action for any
695 pending socket events..</td>
696 </tr>
697 <tr class="function-index" id="timeout.c_check_timeouts">
698 <td class="function-index-name">check_timeouts<br/>&nbsp;&nbsp;&nbsp;(timeout.c)</td>
699 <td class="function-index-params">&mdash;</td>
700 <td class="function-index-return">&mdash;</td>
701 <td class="function-index-purpose">Checks for expired timeouts.</td>
702 </tr>
703 <tr class="function-index" id="tools_convert-trircd.c_check_trircd">
704 <td class="function-index-name">check_trircd<br/>&nbsp;&nbsp;&nbsp;(tools/convert-trircd.c)</td>
705 <td class="function-index-params">
706 <p class="function-param"><tt>const char *<i>dir</i></tt>:
707 Directory from which to load data.</p></td>
708 <td class="function-index-return"><p class="function-param"><tt>const char *</tt>:
709 String describing database type, or <tt>NULL</tt>
710 if no database was found.</p></td>
711 <td class="function-index-purpose">Checks for the presence
712 of trircd databases.</td>
713 </tr>
714 <tr class="function-index" id="tools_convert-magick.c_check_wrecked_1_2">
715 <td class="function-index-name">check_wrecked_1_2<br/>&nbsp;&nbsp;&nbsp;(tools/convert-magick.c)</td>
716 <td class="function-index-params">
717 <p class="function-param"><tt>const char *<i>dir</i></tt>:
718 Directory from which to load data.</p></td>
719 <td class="function-index-return"><p class="function-param"><tt>const char *</tt>:
720 String describing database type, or <tt>NULL</tt>
721 if no database was found.</p></td>
722 <td class="function-index-purpose">Checks for the presence
723 of Wrecked 1.2 databases.</td>
724 </tr>
725 <tr class="function-index" id="init.c_cleanup">
726 <td class="function-index-name">cleanup<br/>&nbsp;&nbsp;&nbsp;(init.c)</td>
727 <td class="function-index-params">&mdash;</td>
728 <td class="function-index-return">&mdash;</td>
729 <td class="function-index-purpose">Performs program cleanup.</td>
730 </tr>
731 <tr class="function-index" id="actions.c_clear_bans">
732 <td class="function-index-name">clear_bans<br/>&nbsp;&nbsp;&nbsp;(actions.c)</td>
733 <td class="function-index-params">
734 <p class="function-param"><tt>const char *<i>sender</i></tt>:
735 Sender name to use with mode changes.</p>
736 <p class="function-param"><tt>Channel *<i>chan</i></tt>:
737 Channel to operate on.</p>
738 <p class="function-param"><tt>User *<i>u</i></tt>:
739 The user to clear matching bans against, or
740 <tt>NULL</tt> to clear all bans on the
741 channel.</p></td>
742 <td class="function-index-return">&mdash;</td>
743 <td class="function-index-purpose">Called by
744 <tt>clear_channel()</tt> to clear bans on a
745 channel.</td>
746 </tr>
747 <tr class="function-index" id="actions.c_clear_channel">
748 <td class="function-index-name">clear_channel<br/>&nbsp;&nbsp;&nbsp;(actions.c)</td>
749 <td class="function-index-params">
750 <p class="function-param"><tt>Channel *<i>chan</i></tt>:
751 Channel to operate on.</p>
752 <p class="function-param"><tt>int <i>what</i></tt>:
753 Operation to perform (<tt>CLEAR_*</tt>).</p>
754 <p class="function-param"><tt>const void *<i>param</i></tt>:
755 Parameter for operation.</p></td>
756 <td class="function-index-return">&mdash;</td>
757 <td class="function-index-purpose">Clears modes and/or
758 users from a channel.</td>
759 </tr>
760 <tr class="function-index" id="actions.c_clear_modes">
761 <td class="function-index-name">clear_modes<br/>&nbsp;&nbsp;&nbsp;(actions.c)</td>
762 <td class="function-index-params">
763 <p class="function-param"><tt>const char *<i>sender</i></tt>:
764 Sender name to use with mode changes.</p>
765 <p class="function-param"><tt>Channel *<i>chan</i></tt>:
766 Channel to operate on.</p></td>
767 <td class="function-index-return">&mdash;</td>
768 <td class="function-index-purpose">Called by
769 <tt>clear_channel()</tt> to clear all binary modes
770 from the given channel.</td>
771 </tr>
772 <tr class="function-index" id="encrypt.c_clear_password">
773 <td class="function-index-name">clear_password<br/>&nbsp;&nbsp;&nbsp;(encrypt.c)</td>
774 <td class="function-index-params">
775 <p class="function-param"><tt>Password *<i>password</i></tt>:
776 <tt>Password</tt> structure to clear.</p></td>
777 <td class="function-index-return">&mdash;</td>
778 <td class="function-index-purpose">Clears data from a
779 Password structure, returning it to its original,
780 initialized state.</td>
781 </tr>
782 <tr class="function-index" id="tools_convert-db.c_clear_password">
783 <td class="function-index-name">clear_password<br/>&nbsp;&nbsp;&nbsp;(tools/convert-db.c)</td>
784 <td class="function-index-params">
785 <p class="function-param"><tt>Password *<i>password</i></tt>:
786 <tt>Password</tt> structure to clear.</p></td>
787 <td class="function-index-return">&mdash;</td>
788 <td class="function-index-purpose">Clears data from a
789 Password structure. Analogous to
790 <tt>clear_password()</tt> in <tt>encrypt.c</tt>.</td>
791 </tr>
792 <tr class="function-index" id="actions.c_clear_umodes">
793 <td class="function-index-name">clear_umodes<br/>&nbsp;&nbsp;&nbsp;(actions.c)</td>
794 <td class="function-index-params">
795 <p class="function-param"><tt>const char *<i>sender</i></tt>:
796 Sender name to use with mode changes.</p>
797 <p class="function-param"><tt>Channel *<i>chan</i></tt>:
798 Channel to operate on.</p>
799 <p class="function-param"><tt>int32 <i>modes</i></tt>:
800 Mode flags to clear.</p></td>
801 <td class="function-index-return">&mdash;</td>
802 <td class="function-index-purpose">Called by
803 <tt>clear_channel()</tt> to clear some or all
804 channel user modes from the given channel.</td>
805 </tr>
806 <tr class="function-index" id="actions.c_clear_users">
807 <td class="function-index-name">clear_users<br/>&nbsp;&nbsp;&nbsp;(actions.c)</td>
808 <td class="function-index-params">
809 <p class="function-param"><tt>const char *<i>sender</i></tt>:
810 Sender name to use for <tt>KICK</tt> messages.</p>
811 <p class="function-param"><tt>Channel *<i>chan</i></tt>:
812 Channel to operate on.</p>
813 <p class="function-param"><tt>const char *<i>reason</i></tt>:
814 Reason to use in <tt>KICK</tt> messages.</p></td>
815 <td class="function-index-return">&mdash;</td>
816 <td class="function-index-purpose">Called by
817 <tt>clear_channel()</tt> to remove all users from
818 the given channel.</td>
819 </tr>
820 <tr class="function-index" id="sockets.c_close_listener">
821 <td class="function-index-name">close_listener<br/>&nbsp;&nbsp;&nbsp;(sockets.c)</td>
822 <td class="function-index-params">
823 <p class="function-param"><tt>Socket *<i>s</i></tt>:
824 Listener socket to close.</p></td>
825 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
826 Zero on success, -1 on error.</p></td>
827 <td class="function-index-purpose">Closes a listener socket,
828 returning the socket to an unused state.</td>
829 </tr>
830 <tr class="function-index" id="log.c_close_log">
831 <td class="function-index-name">close_log<br/>&nbsp;&nbsp;&nbsp;(log.c)</td>
832 <td class="function-index-params">&mdash;</td>
833 <td class="function-index-return">&mdash;</td>
834 <td class="function-index-purpose">Closes any open log
835 file.</td>
836 </tr>
837 <tr class="function-index" id="conffile.c_config_error">
838 <td class="function-index-name">config_error<br/>&nbsp;&nbsp;&nbsp;(conffile.c)</td>
839 <td class="function-index-params">
840 <p class="function-param"><tt>const char *<i>filename</i></tt>:
841 Name of file being processed.</p>
842 <p class="function-param"><tt>int <i>linenum</i></tt>:
843 Line number being processed.</p>
844 <p class="function-param"><tt>const char *<i>message</i></tt>:
845 Warning/error message (a
846 <tt>printf()</tt>-like format string).</p>
847 <p class="function-param"><tt><i>...</i></tt>:
848 Format arguments.</p></td>
849 <td class="function-index-return">&mdash;</td>
850 <td class="function-index-purpose">Logs a warning or error
851 message that occurs during configuration file
852 processing.</td>
853 </tr>
854 <tr class="function-index" id="conffile.c_configure">
855 <td class="function-index-name">configure<br/>&nbsp;&nbsp;&nbsp;(conffile.c)</td>
856 <td class="function-index-params">
857 <p class="function-param"><tt>const char *<i>modulename</i></tt>:
858 Name of module to process, or <tt>NULL</tt>
859 when handling core configuration directives.</p>
860 <p class="function-param"><tt>ConfigDirective *<i>directives</i></tt>:
861 Configuration directive array.</p>
862 <p class="function-param"><tt>int <i>action</i></tt>:
863 <tt>CONFIGURE_READ</tt> and/or <tt>CONFIGURE_SET</tt>.</p></td>
864 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
865 Nonzero on success, zero on error.</p></td>
866 <td class="function-index-purpose">Reads in a configuration
867 file.</td>
868 </tr>
869 <tr class="function-index" id="sockets.c_conn">
870 <td class="function-index-name">conn<br/>&nbsp;&nbsp;&nbsp;(sockets.c)</td>
871 <td class="function-index-params">
872 <p class="function-param"><tt>Socket *<i>s</i></tt>:
873 Socket to connect (must be in an unused
874 state).</p>
875 <p class="function-param"><tt>const char *<i>host</i></tt>:
876 Hostname or IP address of host to connect
877 to.</p>
878 <p class="function-param"><tt>int <i>port</i></tt>:
879 TCP port on remote host to connect to.</p>
880 <p class="function-param"><tt>const char *<i>lhost</i></tt>:
881 Hostname or IP address to use as the
882 socket's local address, or <tt>NULL</tt> to
883 let the system choose an address.</p>
884 <p class="function-param"><tt>int <i>lport</i></tt>:
885 TCP port to use as the socket's local port
886 number, or <tt>NULL</tt> to let the system
887 choose an address.</p></td>
888 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
889 Zero on success, -1 on error.</p></td>
890 <td class="function-index-purpose">Establishes a connection
891 to a remote host.</td>
892 </tr>
893 <tr class="function-index" id="main.c_connect_callback">
894 <td class="function-index-name">connect_callback<br/>&nbsp;&nbsp;&nbsp;(main.c)</td>
895 <td class="function-index-params">
896 <p class="function-param"><tt>Socket *<i>s</i></tt>:
897 Connecting socket.</p>
898 <p class="function-param"><tt>void *<i>param_unused</i></tt>:
899 Parameter (unused).</p></td>
900 <td class="function-index-return">&mdash;</td>
901 <td class="function-index-purpose">Callback for server
902 socket connection.</td>
903 </tr>
904 <tr class="function-index" id="tools_convert-db.c_convert_acclev">
905 <td class="function-index-name">convert_acclev<br/>&nbsp;&nbsp;&nbsp;(tools/convert-db.c)</td>
906 <td class="function-index-params">
907 <p class="function-param"><tt>int16 <i>old</i></tt>:
908 Old access level.</p></td>
909 <td class="function-index-return"><p class="function-param"><tt>int16</tt>:
910 New access level.</p></td>
911 <td class="function-index-purpose">Converts channel access
912 levels from values used in Services 4.5 and earlier
913 to values used in current Services versions.</td>
914 </tr>
915 <tr class="function-index" id="encrypt.c_copy_password">
916 <td class="function-index-name">copy_password<br/>&nbsp;&nbsp;&nbsp;(encrypt.c)</td>
917 <td class="function-index-params">
918 <p class="function-param"><tt>Password *<i>to</i></tt>:
919 Destination <tt>Password</tt> structure.</p>
920 <p class="function-param"><tt>const Password *<i>from</i></tt>:
921 Source <tt>Password</tt> structure.</p></td>
922 <td class="function-index-return">&mdash;</td>
923 <td class="function-index-purpose">Copies the contents of
924 one <tt>Password</tt> structure to another.</td>
925 </tr>
926 <tr class="function-index" id="users.c_create_mask">
927 <td class="function-index-name">create_mask<br/>&nbsp;&nbsp;&nbsp;(users.c)</td>
928 <td class="function-index-params">
929 <p class="function-param"><tt>User *<i>u</i></tt>:
930 User to create the mask for.</p>
931 <p class="function-param"><tt>int <i>use_fakehost</i></tt>:
932 Nonzero to use the user's fake hostname,
933 if available; zero to always use the user's
934 real hostname.</p></td>
935 <td class="function-index-return"><p class="function-param"><tt>char *</tt>:
936 A <tt>malloc()</tt>ed string containing the
937 resulting mask.</p></td>
938 <td class="function-index-purpose">Creates a mask which can
939 be expected to match the user in most cases.</td>
940 </tr>
941 <tr class="function-index" id="modes.c_cumode_prefix_to_flag">
942 <td class="function-index-name">cumode_prefix_to_flag<br/>&nbsp;&nbsp;&nbsp;(modes.c)</td>
943 <td class="function-index-params">
944 <p class="function-param"><tt>char <i>c</i></tt>:
945 Channel user mode prefix.</p></td>
946 <td class="function-index-return"><p class="function-param"><tt>int32</tt>:
947 Mode flag corresponding to prefix character, or
948 0 if no such mode exists.</p></td>
949 <td class="function-index-purpose">Returns the mode flag
950 corresponding to a channel user mode prefix
951 character, such as the "<tt>@</tt>" that indicates
952 a channel operator.</td>
953 </tr>
954 <tr class="function-index" id="tools_convert-cygnus.c_cyg_load_chan">
955 <td class="function-index-name">cyg_load_chan<br/>&nbsp;&nbsp;&nbsp;(tools/convert-cygnus.c)</td>
956 <td class="function-index-params">
957 <p class="function-param"><tt>const char *<i>dir</i></tt>:
958 Directory from which to load data.</p></td>
959 <td class="function-index-return">&mdash;</td>
960 <td class="function-index-purpose">Loads the Cygnus
961 <tt>chanserv.db</tt> data file.</td>
962 </tr>
963 <tr class="function-index" id="tools_convert-cygnus.c_cyg_load_nick">
964 <td class="function-index-name">cyg_load_nick<br/>&nbsp;&nbsp;&nbsp;(tools/convert-cygnus.c)</td>
965 <td class="function-index-params">
966 <p class="function-param"><tt>const char *<i>dir</i></tt>:
967 Directory from which to load data.</p></td>
968 <td class="function-index-return">&mdash;</td>
969 <td class="function-index-purpose">Loads the Cygnus
970 <tt>nickserv.db</tt> data file.</td>
971 </tr>
972 <tr class="function-index" id="tools_convert-cygnus.c_cyg_load_root">
973 <td class="function-index-name">cyg_load_root<br/>&nbsp;&nbsp;&nbsp;(tools/convert-cygnus.c)</td>
974 <td class="function-index-params">
975 <p class="function-param"><tt>const char *<i>dir</i></tt>:
976 Directory from which to load data.</p></td>
977 <td class="function-index-return">&mdash;</td>
978 <td class="function-index-purpose">Loads the Cygnus
979 <tt>rootserv.db</tt> data file.</td>
980 </tr>
981 <tr class="function-index" id="tools_convert-cygnus.c_cyg_strtok_remaining">
982 <td class="function-index-name">cyg_strtok_remaining<br/>&nbsp;&nbsp;&nbsp;(tools/convert-cygnus.c)</td>
983 <td class="function-index-params">&mdash;</td>
984 <td class="function-index-return"><p class="function-param"><tt>char *</tt>:
985 Remaining text in the buffer.</p></td>
986 <td class="function-index-purpose">Returns any text
987 remaining in the last string buffer passed to
988 <tt>strtok()</tt>, like <tt>strtok(NULL, "")</tt>,
989 with any leading and trailing whitespace stripped.
990 Similar to <tt>strtok_remaining()</tt> in
991 <tt>misc.c</tt>.</td>
992 </tr>
993
994 <!--============================================================-->
995
996 <tr class="function-index-letter" id="D">
997 <th class="function-index-letter" colspan="5">D</th>
998 </tr>
999 <tr class="function-index" id="databases.c_database_cleanup">
1000 <td class="function-index-name">database_cleanup<br/>&nbsp;&nbsp;&nbsp;(databases.c)</td>
1001 <td class="function-index-params">&mdash;</td>
1002 <td class="function-index-return">&mdash;</td>
1003 <td class="function-index-purpose">Performs cleanup actions
1004 for the database subsystem.</td>
1005 </tr>
1006 <tr class="function-index" id="databases.c_database_init">
1007 <td class="function-index-name">database_init<br/>&nbsp;&nbsp;&nbsp;(databases.c)</td>
1008 <td class="function-index-params">
1009 <p class="function-param"><tt>int <i>ac</i></tt>:
1010 Command-line argument count.</p>
1011 <p class="function-param"><tt>char **<i>av</i></tt>:
1012 Command-line argument vector.</p></td>
1013 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
1014 Nonzero on success, zero on failure.</p></td>
1015 <td class="function-index-purpose">Performs initialization
1016 actions for the database subsystem.</td>
1017 </tr>
1018 <tr class="function-index" id="misc.c_decode_base64">
1019 <td class="function-index-name">decode_base64<br/>&nbsp;&nbsp;&nbsp;(misc.c)</td>
1020 <td class="function-index-params">
1021 <p class="function-param"><tt>const char *<i>in</i></tt>:
1022 Input base64 string.</p>
1023 <p class="function-param"><tt>void *<i>out</i></tt>:
1024 Output buffer, or <tt>NULL</tt> if only the
1025 return value is needed.</p>
1026 <p class="function-param"><tt>int <i>outsize</i></tt>:
1027 Output buffer size (ignored if
1028 <tt><i>out</i></tt> is <tt>NULL</tt>).</p></td>
1029 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
1030 Required output buffer size.</p></td>
1031 <td class="function-index-purpose">Decodes a base64 string.</td>
1032 </tr>
1033 <tr class="function-index" id="conffile.c_deconfigure">
1034 <td class="function-index-name">deconfigure<br/>&nbsp;&nbsp;&nbsp;(conffile.c)</td>
1035 <td class="function-index-params">
1036 <p class="function-param"><tt>ConfigDirective *<i>directives</i></tt>:
1037 Configuration directive array.</p></td>
1038 <td class="function-index-return">&mdash;</td>
1039 <td class="function-index-purpose">Restores all configuration
1040 variables to their original values.</td>
1041 </tr>
1042 <tr class="function-index" id="encrypt.c_decrypt_password">
1043 <td class="function-index-name">decrypt_password<br/>&nbsp;&nbsp;&nbsp;(encrypt.c)</td>
1044 <td class="function-index-params">
1045 <p class="function-param"><tt>const Password *<i>password</i></tt>:
1046 Password to decrypt.</p>
1047 <p class="function-param"><tt>char *<i>dest</i></tt>:
1048 Buffer to store plaintext password in.</p>
1049 <p class="function-param"><tt>int <i>size</i></tt>:
1050 Size of <tt><i>dest</i></tt>, in bytes.</p></td>
1051 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
1052 0 on success; &gt;0 (required buffer size) if the
1053 provided plaintext buffer is too small; -2 if the
1054 cipher in use does not allow decryption; -1 on
1055 other error.</p></td>
1056 <td class="function-index-purpose">Decrypts a password,
1057 if possible.</td>
1058 </tr>
1059 <tr class="function-index" id="encrypt.c_default_check_password">
1060 <td class="function-index-name">default_check_password<br/>&nbsp;&nbsp;&nbsp;(encrypt.c)</td>
1061 <td class="function-index-params">
1062 <p class="function-param"><tt>const char *<i>plaintext</i></tt>:
1063 Plaintext password to check.</p>
1064 <p class="function-param"><tt>const char *<i>password</i></tt>:
1065 Encrypted password to check against.</p></td>
1066 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
1067 1 if the password matches; 0 if the password does
1068 not match; -1 if an error occurs during checking.</p></td>
1069 <td class="function-index-purpose">Default implementation
1070 of <tt>check_password()</tt>; simply performs a
1071 <tt>strcmp()</tt>.</td>
1072 </tr>
1073 <tr class="function-index" id="encrypt.c_default_decrypt">
1074 <td class="function-index-name">default_decrypt<br/>&nbsp;&nbsp;&nbsp;(encrypt.c)</td>
1075 <td class="function-index-params">
1076 <p class="function-param"><tt>const char *<i>src</i></tt>:
1077 Password to decrypt.</p>
1078 <p class="function-param"><tt>char *<i>dest</i></tt>:
1079 Buffer to store plaintext password in.</p>
1080 <p class="function-param"><tt>int <i>size</i></tt>:
1081 Size of <tt><i>dest</i></tt>, in bytes.</p></td>
1082 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
1083 0 on success; &gt;0 (required buffer size) if the
1084 provided plaintext buffer is too small; -2 if the
1085 cipher in use does not allow decryption; -1 on
1086 other error.</p></td>
1087 <td class="function-index-purpose">Default implementation
1088 of <tt>decrypt_password()</tt>; simply copies the
1089 password to the output buffer.</td>
1090 </tr>
1091 <tr class="function-index" id="encrypt.c_default_encrypt">
1092 <td class="function-index-name">default_encrypt<br/>&nbsp;&nbsp;&nbsp;(encrypt.c)</td>
1093 <td class="function-index-params">
1094 <p class="function-param"><tt>const char *<i>src</i></tt>:
1095 Plaintext password to encrypt.</p>
1096 <p class="function-param"><tt>int <i>len</i></tt>:
1097 Length of password.</p>
1098 <p class="function-param"><tt>char *<i>dest</i></tt>:
1099 Destination buffer.</p>
1100 <p class="function-param"><tt>int <i>size</i></tt>:
1101 Size of destination buffer.</p></td>
1102 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
1103 0 on success; &gt;0 (required buffer size) if the
1104 destination buffer is too small; -1 on error.</p></td>
1105 <td class="function-index-purpose">Default implementation
1106 of <tt>encrypt_password()</tt>. Simply copies the
1107 source to the destination, without encryption.</td>
1108 </tr>
1109 <tr class="function-index" id="channels.c_del_channel">
1110 <td class="function-index-name">del_channel<br/>&nbsp;&nbsp;&nbsp;(channel.c)</td>
1111 <td class="function-index-params">
1112 <p class="function-param"><tt>Channel *<i>channel</i></tt>:
1113 Channel to remove.</p></td>
1114 <td class="function-index-return">&mdash;</td>
1115 <td class="function-index-purpose">Removes the given channel from the hash table.</td>
1116 </tr>
1117 <tr class="function-index" id="commands.c_del_commandlist">
1118 <td class="function-index-name">del_commandlist<br/>&nbsp;&nbsp;&nbsp;(commands.c)</td>
1119 <td class="function-index-params">
1120 <p class="function-param"><tt>Module *<i>id</i></tt>:
1121 ID of command list to delete.</p></td>
1122 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
1123 Nonzero on success, zero on failure.</p></td>
1124 <td class="function-index-purpose">Deletes a command list.
1125 The list must be empty (all commands unregistered)
1126 before it can be deleted.</td>
1127 </tr>
1128 <tr class="function-index" id="servers.c_del_server">
1129 <td class="function-index-name">del_server<br/>&nbsp;&nbsp;&nbsp;(servers.c)</td>
1130 <td class="function-index-params">
1131 <p class="function-param"><tt>Server *<i>server</i></tt>:
1132 Server to remove.</p></td>
1133 <td class="function-index-return">&mdash;</td>
1134 <td class="function-index-purpose">Removes the given server from the hash table.</td>
1135 </tr>
1136 <tr class="function-index" id="timeout.c_del_timeout">
1137 <td class="function-index-name">del_timeout<br/>&nbsp;&nbsp;&nbsp;(timeout.c)</td>
1138 <td class="function-index-params">
1139 <p class="function-param"><tt>Timeout *<i>t</i></tt>:
1140 Timeout to delete.</p></td>
1141 <td class="function-index-return">&mdash;</td>
1142 <td class="function-index-purpose">Deletes the given timeout.</td>
1143 </tr>
1144 <tr class="function-index" id="users.c_del_user">
1145 <td class="function-index-name">del_user<br/>&nbsp;&nbsp;&nbsp;(users.c)</td>
1146 <td class="function-index-params">
1147 <p class="function-param"><tt>User *<i>user</i></tt>:
1148 User to remove.</p></td>
1149 <td class="function-index-return">&mdash;</td>
1150 <td class="function-index-purpose">Removes the given user from the hash table.</td>
1151 </tr>
1152 <tr class="function-index" id="servers.c_delete_server">
1153 <td class="function-index-name">delete_server<br/>&nbsp;&nbsp;&nbsp;(servers.c)</td>
1154 <td class="function-index-params">
1155 <p class="function-param"><tt>Server *<i>server</i></tt>:
1156 Server record to delete.</p></td>
1157 <td class="function-index-return">&mdash;</td>
1158 <td class="function-index-purpose">Deletes the given server
1159 record, removing it from the hash table and freeing
1160 all resources used by the record.</td>
1161 </tr>
1162 <tr class="function-index" id="users.c_delete_user">
1163 <td class="function-index-name">delete_user<br/>&nbsp;&nbsp;&nbsp;(users.c)</td>
1164 <td class="function-index-params">
1165 <p class="function-param"><tt>User *<i>user</i></tt>:
1166 User record to delete.</p></td>
1167 <td class="function-index-return">&mdash;</td>
1168 <td class="function-index-purpose">Deletes a user record,
1169 removing it from the hash table and server's user
1170 list and freeing all resources used by the record.</td>
1171 </tr>
1172 <tr class="function-index" id="signals.c_disable_signals">
1173 <td class="function-index-name">disable_signals<br/>&nbsp;&nbsp;&nbsp;(signals.c)</td>
1174 <td class="function-index-params">&mdash;</td>
1175 <td class="function-index-return">&mdash;</td>
1176 <td class="function-index-purpose">Disables processing of
1177 <tt>SIGTERM</tt>/<tt>SIGHUP</tt>/<tt>SIGUSR2</tt>
1178 signals.</td>
1179 </tr>
1180 <tr class="function-index" id="sockets.c_disconn">
1181 <td class="function-index-name">disconn<br/>&nbsp;&nbsp;&nbsp;(sockets.c)</td>
1182 <td class="function-index-params">
1183 <p class="function-param"><tt>Socket *<i>s</i></tt>:
1184 Socket to disconnect.</p></td>
1185 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
1186 Zero on success, -1 on error.</p></td>
1187 <td class="function-index-purpose">Disconnects an active
1188 connection, returning the socket to an unused
1189 state.</td>
1190 </tr>
1191 <tr class="function-index" id="main.c_disconnect_callback">
1192 <td class="function-index-name">disconnect_callback<br/>&nbsp;&nbsp;&nbsp;(main.c)</td>
1193 <td class="function-index-params">
1194 <p class="function-param"><tt>Socket *<i>s</i></tt>:
1195 Disconnecting socket.</p>
1196 <p class="function-param"><tt>void *<i>param</i></tt>:
1197 Disconnection type.</p></td>
1198 <td class="function-index-return">&mdash;</td>
1199 <td class="function-index-purpose">Callback for server
1200 socket disconnection.</td>
1201 </tr>
1202 <tr class="function-index" id="sockets.c_do_accept">
1203 <td class="function-index-name">do_accept<br/>&nbsp;&nbsp;&nbsp;(sockets.c)</td>
1204 <td class="function-index-params">
1205 <p class="function-param"><tt>Socket *<i>s</i></tt>:
1206 Socket on which event occurred.</p></td>
1207 <td class="function-index-return">&mdash;</td>
1208 <td class="function-index-purpose">Handles an incoming
1209 connection event on a listener socket, accepting
1210 the connection and calling the socket's
1211 <tt>SCB_ACCEPT</tt> callback as appropriate.</td>
1212 </tr>
1213 <tr class="function-index" id="conffile.c_do_all_directives">
1214 <td class="function-index-name">do_all_directives<br/>&nbsp;&nbsp;&nbsp;(conffile.c)</td>
1215 <td class="function-index-params">
1216 <p class="function-param"><tt>int <i>action</i></tt>:
1217 <tt>ACTION_COPYNEW</tt> or <tt>ACTION_RESTORESAVED</tt>.</p>
1218 <p class="function-param"><tt>ConfigDirective *<i>directives</i></tt>:
1219 Configuration directive array.</p></td>
1220 <td class="function-index-return">&mdash;</td>
1221 <td class="function-index-purpose">Copies new (temporary) or
1222 old (saved) values to configuration variables.</td>
1223 </tr>
1224 <tr class="function-index" id="sockets.c_do_callback">
1225 <td class="function-index-name">do_callback<br/>&nbsp;&nbsp;&nbsp;(sockets.c)</td>
1226 <td class="function-index-params">
1227 <p class="function-param"><tt>Socket *<i>s</i></tt>:
1228 Socket for which callback is being called.
1229 If <tt>NULL</tt>, the routine does nothing.</p>
1230 <p class="function-param"><tt>SocketCallback <i>cb</i></tt>:
1231 Callback function to call. If <tt>NULL</tt>,
1232 the routine does nothing.</p>
1233 <p class="function-param"><tt>void *<i>param</i></tt>:
1234 Parameter to callback function.</p></td>
1235 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
1236 0 if the socket was disconnected, else 1.</p></td>
1237 <td class="function-index-purpose">Calls a callback
1238 function for a socket, handling delayed
1239 disconnection after the callback function returns.</td>
1240 </tr>
1241 <tr class="function-index" id="channels.c_do_cmode">
1242 <td class="function-index-name">do_cmode<br/>&nbsp;&nbsp;&nbsp;(channels.c)</td>
1243 <td class="function-index-params">
1244 <p class="function-param"><tt>const char *<i>source</i></tt>:
1245 Message source.</p>
1246 <p class="function-param"><tt>int <i>ac</i></tt>:
1247 Message parameter count.</p>
1248 <p class="function-param"><tt>char **<i>av</i></tt>:
1249 Message parameter vector.</p></td>
1250 <td class="function-index-return">&mdash;</td>
1251 <td class="function-index-purpose">Processes a
1252 <tt>MODE</tt> message (for a channel target) from
1253 the remote server.</td>
1254 </tr>
1255 <tr class="function-index" id="channels.c_do_cumode">
1256 <td class="function-index-name">do_cumode<br/>&nbsp;&nbsp;&nbsp;(channels.c)</td>
1257 <td class="function-index-params">
1258 <p class="function-param"><tt>const char *<i>source</i></tt>:
1259 Message source.</p>
1260 <p class="function-param"><tt>Channel *<i>chan</i></tt>:
1261 Channel on which to operate.</p>
1262 <p class="function-param"><tt>int32 <i>flag</i></tt>:
1263 Mode flag to change.</p>
1264 <p class="function-param"><tt>int <i>add</i></tt>:
1265 Nonzero to add the mode, zero to remove it.</p>
1266 <p class="function-param"><tt>const char *<i>nick</i></tt>:
1267 Nickname whose modes are to be changed.</p></td>
1268 <td class="function-index-return">&mdash;</td>
1269 <td class="function-index-purpose">Changes the channel user
1270 mode for a user on a channel.</td>
1271 </tr>
1272 <tr class="function-index" id="init.c_do_DefTimeZone">
1273 <td class="function-index-name">do_DefTimeZone<br/>&nbsp;&nbsp;&nbsp;(init.c)</td>
1274 <td class="function-index-params">
1275 <p class="function-param"><tt>const char *<i>filename</i></tt>:
1276 Name of configuration file being processed.</p>
1277 <p class="function-param"><tt>int <i>linenum</i></tt>:
1278 Line number in configuration file.</p>
1279 <p class="function-param"><tt>char *<i>param</i></tt>:
1280 Parameters to configuration directive.</p></td>
1281 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
1282 Nonzero on success, zero on error.</p></td>
1283 <td class="function-index-purpose">Handles the
1284 <tt>DefTimeZone</tt> option in
1285 <tt>ircservices.conf</tt>.</td>
1286 </tr>
1287 <tr class="function-index" id="sockets.c_do_disconn">
1288 <td class="function-index-name">do_disconn<br/>&nbsp;&nbsp;&nbsp;(sockets.c)</td>
1289 <td class="function-index-params">
1290 <p class="function-param"><tt>Socket *<i>s</i></tt>:
1291 Socket being disconnected.</p>
1292 <p class="function-param"><tt>void *<i>code</i></tt>:
1293 Disconnection code (<tt>DISCONN_*</tt>).</p></td>
1294 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
1295 -1 on error, else 0.</p></td>
1296 <td class="function-index-purpose">Performs internal
1297 handling for a socket being disconnected.</td>
1298 </tr>
1299 <tr class="function-index" id="init.c_do_IgnoreThreshold">
1300 <td class="function-index-name">do_IgnoreThreshold<br/>&nbsp;&nbsp;&nbsp;(init.c)</td>
1301 <td class="function-index-params">
1302 <p class="function-param"><tt>const char *<i>filename</i></tt>:
1303 Name of configuration file being processed.</p>
1304 <p class="function-param"><tt>int <i>linenum</i></tt>:
1305 Line number in configuration file.</p>
1306 <p class="function-param"><tt>char *<i>param</i></tt>:
1307 Parameters to configuration directive.</p></td>
1308 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
1309 Nonzero on success, zero on error.</p></td>
1310 <td class="function-index-purpose">Handles the
1311 <tt>IgnoreThreshold</tt> option in
1312 <tt>ircservices.conf</tt>.</td>
1313 </tr>
1314 <tr class="function-index" id="users.c_do_join">
1315 <td class="function-index-name">do_join<br/>&nbsp;&nbsp;&nbsp;(users.c)</td>
1316 <td class="function-index-params">
1317 <p class="function-param"><tt>const char *<i>source</i></tt>:
1318 Message source.</p>
1319 <p class="function-param"><tt>int <i>ac</i></tt>:
1320 Message parameter count.</p>
1321 <p class="function-param"><tt>char **<i>av</i></tt>:
1322 Message parameter vector.</p></td>
1323 <td class="function-index-return">&mdash;</td>
1324 <td class="function-index-purpose">Processes a
1325 <tt>JOIN</tt> message from the remote server.</td>
1326 </tr>
1327 <tr class="function-index" id="users.c_do_kick">
1328 <td class="function-index-name">do_kick<br/>&nbsp;&nbsp;&nbsp;(users.c)</td>
1329 <td class="function-index-params">
1330 <p class="function-param"><tt>const char *<i>source</i></tt>:
1331 Message source.</p>
1332 <p class="function-param"><tt>int <i>ac</i></tt>:
1333 Message parameter count.</p>
1334 <p class="function-param"><tt>char **<i>av</i></tt>:
1335 Message parameter vector.</p></td>
1336 <td class="function-index-return">&mdash;</td>
1337 <td class="function-index-purpose">Processes a
1338 <tt>KICK</tt> message from the remote server.</td>
1339 </tr>
1340 <tr class="function-index" id="users.c_do_kill">
1341 <td class="function-index-name">do_kill<br/>&nbsp;&nbsp;&nbsp;(users.c)</td>
1342 <td class="function-index-params">
1343 <p class="function-param"><tt>const char *<i>source</i></tt>:
1344 Message source.</p>
1345 <p class="function-param"><tt>int <i>ac</i></tt>:
1346 Message parameter count.</p>
1347 <p class="function-param"><tt>char **<i>av</i></tt>:
1348 Message parameter vector.</p></td>
1349 <td class="function-index-return">&mdash;</td>
1350 <td class="function-index-purpose">Processes a
1351 <tt>KILL</tt> message from the remote server.</td>
1352 </tr>
1353 <tr class="function-index" id="init.c_do_LoadLanguageText">
1354 <td class="function-index-name">do_LoadLanguageText<br/>&nbsp;&nbsp;&nbsp;(init.c)</td>
1355 <td class="function-index-params">
1356 <p class="function-param"><tt>const char *<i>filename</i></tt>:
1357 Name of configuration file being processed.</p>
1358 <p class="function-param"><tt>int <i>linenum</i></tt>:
1359 Line number in configuration file.</p>
1360 <p class="function-param"><tt>char *<i>param</i></tt>:
1361 Parameters to configuration directive.</p></td>
1362 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
1363 Nonzero on success, zero on error.</p></td>
1364 <td class="function-index-purpose">Handles the
1365 <tt>LoadLanguageText</tt> option in
1366 <tt>ircservices.conf</tt>. Filenames given are
1367 gathered in the <tt>LoadLanguageText</tt> array in
1368 the order they are encountered.</td>
1369 </tr>
1370 <tr class="function-index" id="send.c_do_load_module">
1371 <td class="function-index-name">do_load_module<br/>&nbsp;&nbsp;&nbsp;(send.c)</td>
1372 <td class="function-index-params">
1373 <p class="function-param"><tt>Module *<i>mod</i></tt>:
1374 Handle of newly-loaded module.</p>
1375 <p class="function-param"><tt>const char *<i>name</i></tt>:
1376 Name of newly-loaded module.</p></td>
1377 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
1378 Zero.</p></td>
1379 <td class="function-index-purpose">Watches for newly-loaded
1380 protocol modules, to ensure that the protocol
1381 module sets up the message sending interfaces
1382 correctly.</td>
1383 </tr>
1384 <tr class="function-index" id="init.c_do_LoadModule">
1385 <td class="function-index-name">do_LoadModule<br/>&nbsp;&nbsp;&nbsp;(init.c)</td>
1386 <td class="function-index-params">
1387 <p class="function-param"><tt>const char *<i>filename</i></tt>:
1388 Name of configuration file being processed.</p>
1389 <p class="function-param"><tt>int <i>linenum</i></tt>:
1390 Line number in configuration file.</p>
1391 <p class="function-param"><tt>char *<i>param</i></tt>:
1392 Parameters to configuration directive.</p></td>
1393 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
1394 Nonzero on success, zero on error.</p></td>
1395 <td class="function-index-purpose">Handles the
1396 <tt>LoadModule</tt> option in
1397 <tt>ircservices.conf</tt>. Filenames given are
1398 gathered in the <tt>LoadModule</tt> array in the
1399 order they are encountered.</td>
1400 </tr>
1401 <tr class="function-index" id="log.c_do_log">
1402 <td class="function-index-name">do_log<br/>&nbsp;&nbsp;&nbsp;(log.c)</td>
1403 <td class="function-index-params">
1404 <p class="function-param"><tt>int <i>debuglevel</i></tt>:
1405 Minimum debug level at which this message
1406 should be written.</p>
1407 <p class="function-param"><tt>int <i>do_perror</i></tt>:
1408 Nonzero if a system error message should be
1409 appended.</p>
1410 <p class="function-param"><tt>const char *<i>modulename</i></tt>:
1411 The name of the module writing the log
1412 message; <tt>NULL</tt> for log messages
1413 from the core.</p>
1414 <p class="function-param"><tt>const char *<i>fmt</i></tt>:
1415 The <tt>printf()</tt>-style log message
1416 format string.</p>
1417 <p class="function-param"><tt><i>...</i></tt>:
1418 Format arguments</p></td>
1419 <td class="function-index-return">&mdash;</td>
1420 <td class="function-index-purpose">Internal routine that
1421 implements all of the logging functions.</td>
1422 </tr>
1423 <tr class="function-index" id="misc.c_do_match_wild">
1424 <td class="function-index-name">do_match_wild<br/>&nbsp;&nbsp;&nbsp;(misc.c)</td>
1425 <td class="function-index-params">
1426 <p class="function-param"><tt>const char *<i>pattern</i></tt>:
1427 Pattern to match against.</p>
1428 <p class="function-param"><tt>const char *<i>str</i></tt>:
1429 String to check.</p>
1430 <p class="function-param"><tt>int <i>docase</i></tt>:
1431 Whether case should be considered (nonzero)
1432 or not (zero).</p></td>
1433 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
1434 Nonzero if the string matches the pattern, else
1435 zero.</p></td>
1436 <td class="function-index-purpose">Internal function
1437 implementing <tt>match_wild()</tt> and
1438 <tt>match_wild_nocase</tt>.</td>
1439 </tr>
1440 <tr class="function-index" id="users.c_do_nick">
1441 <td class="function-index-name">do_nick<br/>&nbsp;&nbsp;&nbsp;(users.c)</td>
1442 <td class="function-index-params">
1443 <p class="function-param"><tt>const char *<i>source</i></tt>:
1444 Message source.</p>
1445 <p class="function-param"><tt>int <i>ac</i></tt>:
1446 Message parameter count.</p>
1447 <p class="function-param"><tt>char **<i>av</i></tt>:
1448 Message parameter vector.</p></td>
1449 <td class="function-index-return">&mdash;</td>
1450 <td class="function-index-purpose">Processes a
1451 <tt>NICK</tt> message from the remote server.</td>
1452 </tr>
1453 <tr class="function-index" id="users.c_do_part">
1454 <td class="function-index-name">do_part<br/>&nbsp;&nbsp;&nbsp;(users.c)</td>
1455 <td class="function-index-params">
1456 <p class="function-param"><tt>const char *<i>source</i></tt>:
1457 Message source.</p>
1458 <p class="function-param"><tt>int <i>ac</i></tt>:
1459 Message parameter count.</p>
1460 <p class="function-param"><tt>char **<i>av</i></tt>:
1461 Message parameter vector.</p></td>
1462 <td class="function-index-return">&mdash;</td>
1463 <td class="function-index-purpose">Processes a
1464 <tt>PART</tt> message from the remote server.</td>
1465 </tr>
1466 <tr class="function-index" id="users.c_do_quit">
1467 <td class="function-index-name">do_quit<br/>&nbsp;&nbsp;&nbsp;(users.c)</td>
1468 <td class="function-index-params">
1469 <p class="function-param"><tt>const char *<i>source</i></tt>:
1470 Message source.</p>
1471 <p class="function-param"><tt>int <i>ac</i></tt>:
1472 Message parameter count.</p>
1473 <p class="function-param"><tt>char **<i>av</i></tt>:
1474 Message parameter vector.</p></td>
1475 <td class="function-index-return">&mdash;</td>
1476 <td class="function-index-purpose">Processes a
1477 <tt>QUIT</tt> message from the remote server.</td>
1478 </tr>
1479 <tr class="function-index" id="conffile.c_do_read_config_file">
1480 <td class="function-index-name">do_read_config_file<br/>&nbsp;&nbsp;&nbsp;(conffile.c)</td>
1481 <td class="function-index-params">
1482 <p class="function-param"><tt>const char *<i>modulename</i></tt>:
1483 Name of module to process, or <tt>NULL</tt>
1484 when handling core configuration directives.</p>
1485 <p class="function-param"><tt>ConfigDirective *<i>directives</i></tt>:
1486 Configuration directive array.</p>
1487 <p class="function-param"><tt>FILE *<i>f</i></tt>:
1488 File to read from.</p>
1489 <p class="function-param"><tt>const char *<i>filename</i></tt>:
1490 Name of file being read.</p>
1491 <p class="function-param"><tt>int <i>recursion_level</i></tt>:
1492 Recursion depth (increases by one for
1493 each recursive call).</p></td>
1494 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
1495 Nonzero on success, zero on failure.</p></td>
1496 <td class="function-index-purpose">Reads and parses a
1497 configuration file.</td>
1498 </tr>
1499 <tr class="function-index" id="init.c_do_RunGroup">
1500 <td class="function-index-name">do_RunGroup<br/>&nbsp;&nbsp;&nbsp;(init.c)</td>
1501 <td class="function-index-params">
1502 <p class="function-param"><tt>const char *<i>filename</i></tt>:
1503 Name of configuration file being processed.</p>
1504 <p class="function-param"><tt>int <i>linenum</i></tt>:
1505 Line number in configuration file.</p>
1506 <p class="function-param"><tt>char *<i>param</i></tt>:
1507 Parameters to configuration directive.</p></td>
1508 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
1509 Nonzero on success, zero on error.</p></td>
1510 <td class="function-index-purpose">Handles the
1511 <tt>RunGroup</tt> option in
1512 <tt>ircservices.conf</tt>.</td>
1513 </tr>
1514 <tr class="function-index" id="servers.c_do_server">
1515 <td class="function-index-name">do_server<br/>&nbsp;&nbsp;&nbsp;(servers.c)</td>
1516 <td class="function-index-params">
1517 <p class="function-param"><tt>const char *<i>source</i></tt>:
1518 Message source.</p>
1519 <p class="function-param"><tt>int <i>ac</i></tt>:
1520 Message parameter count.</p>
1521 <p class="function-param"><tt>char **<i>av</i></tt>:
1522 Message parameter vector.</p></td>
1523 <td class="function-index-return">&mdash;</td>
1524 <td class="function-index-purpose">Processes a
1525 <tt>SERVER</tt> message from the remote server.</td>
1526 </tr>
1527 <tr class="function-index" id="init.c_do_ServiceUser">
1528 <td class="function-index-name">do_ServiceUser<br/>&nbsp;&nbsp;&nbsp;(init.c)</td>
1529 <td class="function-index-params">
1530 <p class="function-param"><tt>const char *<i>filename</i></tt>:
1531 Name of configuration file being processed.</p>
1532 <p class="function-param"><tt>int <i>linenum</i></tt>:
1533 Line number in configuration file.</p>
1534 <p class="function-param"><tt>char *<i>param</i></tt>:
1535 Parameters to configuration directive.</p></td>
1536 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
1537 Nonzero on success, zero on error.</p></td>
1538 <td class="function-index-purpose">Handles the
1539 <tt>ServiceUser</tt> option in
1540 <tt>ircservices.conf</tt>.</td>
1541 </tr>
1542 <tr class="function-index" id="signals.c_do_sigsetjmp">
1543 <td class="function-index-name">do_sigsetjmp<br/>&nbsp;&nbsp;&nbsp;(signals.c)</td>
1544 <td class="function-index-params">
1545 <p class="function-param"><tt>void *<i>bufptr</i></tt>:
1546 Pointer to a <tt>sigjmp_buf</tt>.</p></td>
1547 <td class="function-index-return">&mdash;</td>
1548 <td class="function-index-purpose">Initializes the error trap.</td>
1549 </tr>
1550 <tr class="function-index" id="servers.c_do_squit">
1551 <td class="function-index-name">do_squit<br/>&nbsp;&nbsp;&nbsp;(servers.c)</td>
1552 <td class="function-index-params">
1553 <p class="function-param"><tt>const char *<i>source</i></tt>:
1554 Message source.</p>
1555 <p class="function-param"><tt>int <i>ac</i></tt>:
1556 Message parameter count.</p>
1557 <p class="function-param"><tt>char **<i>av</i></tt>:
1558 Message parameter vector.</p></td>
1559 <td class="function-index-return">&mdash;</td>
1560 <td class="function-index-purpose">Processes an
1561 <tt>SQUIT</tt> message from the remote server.</td>
1562 </tr>
1563 <tr class="function-index" id="channels.c_do_topic">
1564 <td class="function-index-name">do_topic<br/>&nbsp;&nbsp;&nbsp;(channels.c)</td>
1565 <td class="function-index-params">
1566 <p class="function-param"><tt>const char *<i>source</i></tt>:
1567 Message source.</p>
1568 <p class="function-param"><tt>int <i>ac</i></tt>:
1569 Message parameter count.</p>
1570 <p class="function-param"><tt>char **<i>av</i></tt>:
1571 Message parameter vector.</p></td>
1572 <td class="function-index-return">&mdash;</td>
1573 <td class="function-index-purpose">Processes a
1574 <tt>TOPIC</tt> message from the remote server.</td>
1575 </tr>
1576 <tr class="function-index" id="init.c_do_Umask">
1577 <td class="function-index-name">do_Umask<br/>&nbsp;&nbsp;&nbsp;(init.c)</td>
1578 <td class="function-index-params">
1579 <p class="function-param"><tt>const char *<i>filename</i></tt>:
1580 Name of configuration file being processed.</p>
1581 <p class="function-param"><tt>int <i>linenum</i></tt>:
1582 Line number in configuration file.</p>
1583 <p class="function-param"><tt>char *<i>param</i></tt>:
1584 Parameters to configuration directive.</p></td>
1585 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
1586 Nonzero on success, zero on error.</p></td>
1587 <td class="function-index-purpose">Handles the
1588 <tt>Umask</tt> option in
1589 <tt>ircservices.conf</tt>.</td>
1590 </tr>
1591 <tr class="function-index" id="users.c_do_umode">
1592 <td class="function-index-name">do_umode<br/>&nbsp;&nbsp;&nbsp;(users.c)</td>
1593 <td class="function-index-params">
1594 <p class="function-param"><tt>const char *<i>source</i></tt>:
1595 Message source.</p>
1596 <p class="function-param"><tt>int <i>ac</i></tt>:
1597 Message parameter count.</p>
1598 <p class="function-param"><tt>char **<i>av</i></tt>:
1599 Message parameter vector.</p></td>
1600 <td class="function-index-return">&mdash;</td>
1601 <td class="function-index-purpose">Processes a
1602 <tt>MODE</tt> message (for a user target) from the
1603 remote server.</td>
1604 </tr>
1605 <tr class="function-index" id="databases.c_do_unload_module">
1606 <td class="function-index-name">do_unload_module<br/>&nbsp;&nbsp;&nbsp;(databases.c)</td>
1607 <td class="function-index-params">
1608 <p class="function-param"><tt>const Module *<i>module</i></tt>:
1609 Module being unloaded.</p></td>
1610 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
1611 Callback return value (always 0).</p></td>
1612 <td class="function-index-purpose">Checks that modules being
1613 unloaded have not forgotten to unregister database
1614 tables.</td>
1615 </tr>
1616 <tr class="function-index" id="misc.c_dotime">
1617 <td class="function-index-name">dotime<br/>&nbsp;&nbsp;&nbsp;(misc.c)</td>
1618 <td class="function-index-params">
1619 <p class="function-param"><tt>const char *<i>s</i></tt>:
1620 String to process.</p></td>
1621 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
1622 Equivalent number of seconds, or -1 if the string
1623 is not a valid time string.</p></td>
1624 <td class="function-index-purpose">Converts a time string
1625 (a string such as "<tt>2d</tt>" or "<tt>1h30m</tt>")
1626 to a number of seconds. Recognized time units are
1627 "<tt>s</tt>" for seconds, "<tt>m</tt>" for minutes,
1628 "<tt>h</tt>" for hours, and "<tt>d</tt>" for days.</td>
1629 </tr>
1630
1631 <!--============================================================-->
1632
1633 <tr class="function-index-letter" id="E">
1634 <th class="function-index-letter" colspan="5">E</th>
1635 </tr>
1636 <tr class="function-index" id="signals.c_enable_signals">
1637 <td class="function-index-name">enable_signals<br/>&nbsp;&nbsp;&nbsp;(signals.c)</td>
1638 <td class="function-index-params">&mdash;</td>
1639 <td class="function-index-return">&mdash;</td>
1640 <td class="function-index-purpose">Enables processing of
1641 <tt>SIGTERM</tt>/<tt>SIGHUP</tt>/<tt>SIGUSR2</tt>
1642 signals.</td>
1643 </tr>
1644 <tr class="function-index" id="misc.c_encode_base64">
1645 <td class="function-index-name">encode_base64<br/>&nbsp;&nbsp;&nbsp;(misc.c)</td>
1646 <td class="function-index-params">
1647 <p class="function-param"><tt>const void *<i>in</i></tt>:
1648 Input buffer.</p>
1649 <p class="function-param"><tt>int <i>insize</i></tt>:
1650 Input buffer size.</p>
1651 <p class="function-param"><tt>char *<i>out</i></tt>:
1652 Output buffer, or <tt>NULL</tt> if only the
1653 return value is needed.</p>
1654 <p class="function-param"><tt>int <i>outsize</i></tt>:
1655 Output buffer size (ignored if
1656 <tt><i>out</i></tt> is <tt>NULL</tt>).</p></td>
1657 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
1658 Required output buffer size.</p></td>
1659 <td class="function-index-purpose">Encodes a buffer
1660 containing arbitrary data into a base64 string,
1661 truncated at <tt><i>outsize</i>-1</tt> bytes and
1662 null-terminated.</td>
1663 </tr>
1664 <tr class="function-index" id="encrypt.c_encrypt_password">
1665 <td class="function-index-name">encrypt_password<br/>&nbsp;&nbsp;&nbsp;(encrypt.c)</td>
1666 <td class="function-index-params">
1667 <p class="function-param"><tt>const char *<i>plaintext</i></tt>:
1668 Plaintext password to encrypt.</p>
1669 <p class="function-param"><tt>int <i>len</i></tt>:
1670 Length of password.</p>
1671 <p class="function-param"><tt>Password *<i>password</i></tt>:
1672 Destination <tt>Password</tt> structure.</p></td>
1673 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
1674 0 on success; &gt;0 (required buffer size) if the
1675 destination buffer is too small; -1 on error.</p></td>
1676 <td class="function-index-purpose">Encrypts a password.</td>
1677 </tr>
1678 <tr class="function-index" id="tools_convert-epona.c_epona_load_chan">
1679 <td class="function-index-name">epona_load_chan<br/>&nbsp;&nbsp;&nbsp;(tools/convert-epona.c)</td>
1680 <td class="function-index-params">
1681 <p class="function-param"><tt>const char *<i>dir</i></tt>:
1682 Directory from which to load data.</p></td>
1683 <td class="function-index-return">&mdash;</td>
1684 <td class="function-index-purpose">Loads the Epona/Anope
1685 <tt>chan.db</tt> data file.</td>
1686 </tr>
1687 <tr class="function-index" id="tools_convert-epona.c_epona_load_exception">
1688 <td class="function-index-name">epona_load_exception<br/>&nbsp;&nbsp;&nbsp;(tools/convert-epona.c)</td>
1689 <td class="function-index-params">
1690 <p class="function-param"><tt>const char *<i>dir</i></tt>:
1691 Directory from which to load data.</p></td>
1692 <td class="function-index-return">&mdash;</td>
1693 <td class="function-index-purpose">Loads the Epona/Anope
1694 <tt>exception.db</tt> data file.</td>
1695 </tr>
1696 <tr class="function-index" id="tools_convert-epona.c_epona_load_news">
1697 <td class="function-index-name">epona_load_news<br/>&nbsp;&nbsp;&nbsp;(tools/convert-epona.c)</td>
1698 <td class="function-index-params">
1699 <p class="function-param"><tt>const char *<i>dir</i></tt>:
1700 Directory from which to load data.</p></td>
1701 <td class="function-index-return">&mdash;</td>
1702 <td class="function-index-purpose">Loads the Epona/Anope
1703 <tt>news.db</tt> data file.</td>
1704 </tr>
1705 <tr class="function-index" id="tools_convert-epona.c_epona_load_nick">
1706 <td class="function-index-name">epona_load_nick<br/>&nbsp;&nbsp;&nbsp;(tools/convert-epona.c)</td>
1707 <td class="function-index-params">
1708 <p class="function-param"><tt>const char *<i>dir</i></tt>:
1709 Directory from which to load data.</p></td>
1710 <td class="function-index-return">&mdash;</td>
1711 <td class="function-index-purpose">Loads the Epona/Anope
1712 <tt>nick.db</tt> data file.</td>
1713 </tr>
1714 <tr class="function-index" id="tools_convert-epona.c_epona_load_oper">
1715 <td class="function-index-name">epona_load_oper<br/>&nbsp;&nbsp;&nbsp;(tools/convert-epona.c)</td>
1716 <td class="function-index-params">
1717 <p class="function-param"><tt>const char *<i>dir</i></tt>:
1718 Directory from which to load data.</p></td>
1719 <td class="function-index-return">&mdash;</td>
1720 <td class="function-index-purpose">Loads the Epona/Anope
1721 <tt>oper.db</tt> data file.</td>
1722 </tr>
1723 <tr class="function-index" id="language.c_expires_in_lang">
1724 <td class="function-index-name">expires_in_lang<br/>&nbsp;&nbsp;&nbsp;(language.c)</td>
1725 <td class="function-index-params">
1726 <p class="function-param"><tt>char *<i>buf</i></tt>:
1727 Destination buffer.</p>
1728 <p class="function-param"><tt>int <i>size</i></tt>:
1729 Size of destination buffer in bytes</p>
1730 <p class="function-param"><tt>const NickGroupInfo *<i>ngi</i></tt>:
1731 Nickname group record for user to which
1732 message will be sent, or <tt>NULL</tt> if none.</p>
1733 <p class="function-param"><tt>time_t <i>expires</i></tt>:
1734 Expiration timestamp (0 for no expiration).</p></td>
1735 <td class="function-index-return">&mdash;</td>
1736 <td class="function-index-purpose">Generates a string of the
1737 form "expires in X days/hours/minutes" in the user's
1738 selected language.</td>
1739 </tr>
1740
1741 <!--============================================================-->
1742
1743 <tr class="function-index-letter" id="F">
1744 <th class="function-index-letter" colspan="5">F</th>
1745 </tr>
1746 <tr class="function-index" id="log.c_fatal">
1747 <td class="function-index-name">fatal<br/>&nbsp;&nbsp;&nbsp;(log.c)</td>
1748 <td class="function-index-params">
1749 <p class="function-param"><tt>const char *<i>fmt</i></tt>:
1750 <tt>printf()</tt>-style log message format
1751 string.</p>
1752 <p class="function-param"><tt><i>...</i></tt>:
1753 Format arguments.</p></td>
1754 <td class="function-index-return">&mdash;</td>
1755 <td class="function-index-purpose">Writes a message to the
1756 log file; sends a wallops to the server if
1757 connected; and exits the program.</td>
1758 </tr>
1759 <tr class="function-index" id="log.c_fatal_perror">
1760 <td class="function-index-name">fatal_perror<br/>&nbsp;&nbsp;&nbsp;(log.c)</td>
1761 <td class="function-index-params">
1762 <p class="function-param"><tt>const char *<i>fmt</i></tt>:
1763 <tt>printf()</tt>-style log message format
1764 string.</p>
1765 <p class="function-param"><tt><i>...</i></tt>:
1766 Format arguments.</p></td>
1767 <td class="function-index-return">&mdash;</td>
1768 <td class="function-index-purpose">Writes a message to the
1769 log file, appending a system error string; sends a
1770 wallops to the server if connected; and exits the
1771 program.</td>
1772 </tr>
1773 <tr class="function-index" id="sockets.c_fill_read_buffer">
1774 <td class="function-index-name">fill_read_buffer<br/>&nbsp;&nbsp;&nbsp;(sockets.c)</td>
1775 <td class="function-index-params">
1776 <p class="function-param"><tt>Socket *<i>s</i></tt>:
1777 Socket whose read buffer should be
1778 filled.</p></td>
1779 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
1780 Number of bytes read (nonzero), or -1 on error.</p></td>
1781 <td class="function-index-purpose">Fills the read buffer of
1782 a socket with any pending received data.</td>
1783 </tr>
1784 <tr class="function-index" id="memory.c_fill32">
1785 <td class="function-index-name">fill32<br/>&nbsp;&nbsp;&nbsp;(memory.c)</td>
1786 <td class="function-index-params">
1787 <p class="function-param"><tt>void *<i>ptr</i></tt>:
1788 Address to fill from.</p>
1789 <p class="function-param"><tt>uint32 <i>value</i></tt>:
1790 Value to fill with.</p>
1791 <p class="function-param"><tt>long <i>size</i></tt>:
1792 Size to fill, in bytes.</p></td>
1793 <td class="function-index-return">&mdash;</td>
1794 <td class="function-index-purpose">Internal function to
1795 fill a memory region with a 32-bit value. If the
1796 given size is not a multiple of 4, the last
1797 <tt><i>size</i>%4</tt> bytes are a copy of the
1798 first bytes of the given value as stored in
1799 memory.</td>
1800 </tr>
1801 <tr class="function-index" id="channels.c_find_ban">
1802 <td class="function-index-name">find_ban<br/>&nbsp;&nbsp;&nbsp;(channels.c)</td>
1803 <td class="function-index-params">
1804 <p class="function-param"><tt>const Channel *<i>chan</i></tt>:
1805 Channel to search in.</p>
1806 <p class="function-param"><tt>const char *<i>ban</i></tt>:
1807 Ban to search for.</p></td>
1808 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
1809 Index of ban in channel's ban list, or -1 if not found.</p></td>
1810 <td class="function-index-purpose">Internal function to
1811 search for a given mask in a channel's ban list.</td>
1812 </tr>
1813 <tr class="function-index" id="modules.c_find_callback">
1814 <td class="function-index-name">find_callback<br/>&nbsp;&nbsp;&nbsp;(modules.c)</td>
1815 <td class="function-index-params">
1816 <p class="function-param"><tt>Module *<i>module</i></tt>:
1817 Handle of module to search.</p>
1818 <p class="function-param"><tt>const char *<i>name</i></tt>:
1819 Callback name to search for.</p></td>
1820 <td class="function-index-return"><p class="function-param"><tt>CallbackList *</tt>:
1821 Callback function list for the given callback, or
1822 <tt>NULL</tt> if the callback was not found.</p></td>
1823 <td class="function-index-purpose">Looks up a callback name
1824 for a specified module.</td>
1825 </tr>
1826 <tr class="function-index" id="messages.c_find_message">
1827 <td class="function-index-name">find_message<br/>&nbsp;&nbsp;&nbsp;(messages.c)</td>
1828 <td class="function-index-params">
1829 <p class="function-param"><tt>const char *<i>name</i></tt>:
1830 Message name to search for.</p></td>
1831 <td class="function-index-return"><p class="function-param"><tt>Message *</tt>:
1832 The <tt>Message</tt> structure for the message, or
1833 <tt>NULL</tt> if the message is not found.</p></td>
1834 <td class="function-index-purpose">Retrieves the handler
1835 for a given IRC message name. If multiple tables
1836 have handlers for the message, the one in the most
1837 recently registered table is used.</td>
1838 </tr>
1839 <tr class="function-index" id="modules.c_find_module">
1840 <td class="function-index-name">find_module<br/>&nbsp;&nbsp;&nbsp;(modules.c)</td>
1841 <td class="function-index-params">
1842 <p class="function-param"><tt>const char *<i>modulename</i></tt>:
1843 Name of module to search for.</p></td>
1844 <td class="function-index-return"><p class="function-param"><tt>Module *</tt>:
1845 Module handle, or <tt>NULL</tt> if the given module
1846 is not found.</p></td>
1847 <td class="function-index-purpose">Searches for a loaded
1848 module with the given name and returns its handle.</td>
1849 </tr>
1850 <tr class="function-index" id="channels.c_finish_cumode">
1851 <td class="function-index-name">finish_cumode<br/>&nbsp;&nbsp;&nbsp;(channels.c)</td>
1852 <td class="function-index-params">
1853 <p class="function-param"><tt>const char *<i>source</i></tt>:
1854 Mode change message source.</p>
1855 <p class="function-param"><tt>Channel *<i>chan</i></tt>:
1856 Channel on which modes are being changed.</p></td>
1857 <td class="function-index-return">&mdash;</td>
1858 <td class="function-index-purpose">Calls the "<tt>channel
1859 umode change</tt>" callback for each set of
1860 accumulated channel user mode changes.</td>
1861 </tr>
1862 <tr class="function-index" id="channels.c_first_channel">
1863 <td class="function-index-name">first_channel<br/>&nbsp;&nbsp;&nbsp;(channels.c)</td>
1864 <td class="function-index-params">&mdash;</td>
1865 <td class="function-index-return"><p class="function-param"><tt>Channel *</tt>:
1866 The first stored channel record, or <tt>NULL</tt>
1867 if no records exist.</p></td>
1868 <td class="function-index-purpose">Initializes the channel
1869 record iterator, and returns the first
1870 channel record stored in the hash table.</td>
1871 </tr>
1872 <tr class="function-index" id="tools_convert-db.c_first_channelinfo">
1873 <td class="function-index-name">first_channelinfo<br/>&nbsp;&nbsp;&nbsp;(tools/convert-db.c)</td>
1874 <td class="function-index-params">&mdash;</td>
1875 <td class="function-index-return"><p class="function-param"><tt>ChannelInfo *</tt>:
1876 The first stored <tt>ChannelInfo</tt> record, or <tt>NULL</tt>
1877 if no records exist.</p></td>
1878 <td class="function-index-purpose">Initializes the
1879 <tt>ChannelInfo</tt> iterator and returns the first
1880 stored <tt>ChannelInfo</tt> record.</td>
1881 </tr>
1882 <tr class="function-index" id="tools_convert-db.c_first_maskdata">
1883 <td class="function-index-name">first_maskdata<br/>&nbsp;&nbsp;&nbsp;(tools/convert-db.c)</td>
1884 <td class="function-index-params">
1885 <p class="function-param"><tt>uint8 <i>type</i></tt>:
1886 The <tt>MaskData</tt> type to retrieve.</p></td>
1887 <td class="function-index-return"><p class="function-param"><tt>MaskData *</tt>:
1888 The first stored <tt>MaskData</tt> record of
1889 the given type, or <tt>NULL</tt>
1890 if no records exist.</p></td>
1891 <td class="function-index-purpose">Initializes the
1892 <tt>MaskData</tt> iterator and returns the first
1893 stored <tt>MaskData</tt> record for the given
1894 type. Each type has a separate iterator.</td>
1895 </tr>
1896 <tr class="function-index" id="tools_convert-db.c_first_news">
1897 <td class="function-index-name">first_news<br/>&nbsp;&nbsp;&nbsp;(tools/convert-db.c)</td>
1898 <td class="function-index-params">&mdash;</td>
1899 <td class="function-index-return"><p class="function-param"><tt>NewsItem *</tt>:
1900 The first stored <tt>NewsItem</tt> record, or <tt>NULL</tt>
1901 if no records exist.</p></td>
1902 <td class="function-index-purpose">Initializes the
1903 <tt>NewsItem</tt> iterator and returns the first
1904 stored <tt>NewsItem</tt> record.</td>
1905 </tr>
1906 <tr class="function-index" id="tools_convert-db.c_first_nickgroupinfo">
1907 <td class="function-index-name">first_nickgroupinfo<br/>&nbsp;&nbsp;&nbsp;(tools/convert-db.c)</td>
1908 <td class="function-index-params">&mdash;</td>
1909 <td class="function-index-return"><p class="function-param"><tt>NickGroupInfo *</tt>:
1910 The first stored <tt>NickGroupInfo</tt> record, or <tt>NULL</tt>
1911 if no records exist.</p></td>
1912 <td class="function-index-purpose">Initializes the
1913 <tt>NickGroupInfo</tt> iterator and returns the first
1914 stored <tt>NickGroupInfo</tt> record.</td>
1915 </tr>
1916 <tr class="function-index" id="tools_convert-db.c_first_nickinfo">
1917 <td class="function-index-name">first_nickinfo<br/>&nbsp;&nbsp;&nbsp;(tools/convert-db.c)</td>
1918 <td class="function-index-params">&mdash;</td>
1919 <td class="function-index-return"><p class="function-param"><tt>NickInfo *</tt>:
1920 The first stored <tt>NickInfo</tt> record, or <tt>NULL</tt>
1921 if no records exist.</p></td>
1922 <td class="function-index-purpose">Initializes the
1923 <tt>NickInfo</tt> iterator and returns the first
1924 stored <tt>NickInfo</tt> record.</td>
1925 </tr>
1926 <tr class="function-index" id="servers.c_first_server">
1927 <td class="function-index-name">first_server<br/>&nbsp;&nbsp;&nbsp;(servers.c)</td>
1928 <td class="function-index-params">&mdash;</td>
1929 <td class="function-index-return"><p class="function-param"><tt>Server *</tt>:
1930 The first stored server record, or <tt>NULL</tt> if no
1931 records exist.</p></td>
1932 <td class="function-index-purpose">Initializes the server
1933 record iterator and returns the first
1934 server record stored in the hash table.</td>
1935 </tr>
1936 <tr class="function-index" id="tools_convert-db.c_first_serverstats">
1937 <td class="function-index-name">first_serverstats<br/>&nbsp;&nbsp;&nbsp;(tools/convert-db.c)</td>
1938 <td class="function-index-params">&mdash;</td>
1939 <td class="function-index-return"><p class="function-param"><tt>ServerStats *</tt>:
1940 The first stored <tt>ServerStats</tt> record, or <tt>NULL</tt>
1941 if no records exist.</p></td>
1942 <td class="function-index-purpose">Initializes the
1943 <tt>ServerStats</tt> iterator and returns the first
1944 stored <tt>ServerStats</tt> record.</td>
1945 </tr>
1946 <tr class="function-index" id="users.c_first_user">
1947 <td class="function-index-name">first_user<br/>&nbsp;&nbsp;&nbsp;(users.c)</td>
1948 <td class="function-index-params">&mdash;</td>
1949 <td class="function-index-return"><p class="function-param"><tt>User *</tt>:
1950 The first stored user record, or <tt>NULL</tt> if no
1951 records exist.</p></td>
1952 <td class="function-index-purpose">Initializes the user
1953 record iterator and returns the first
1954 user record stored in the hash table.</td>
1955 </tr>
1956 <tr class="function-index" id="actions.c_flush_cmode">
1957 <td class="function-index-name">flush_cmode<br/>&nbsp;&nbsp;&nbsp;(actions.c)</td>
1958 <td class="function-index-params">
1959 <p class="function-param"><tt>struct modedata *<i>md</i></tt>:
1960 Channel mode data to flush.</p></td>
1961 <td class="function-index-return">&mdash;</td>
1962 <td class="function-index-purpose">Called by
1963 <tt>set_cmode()</tt> and related functions to
1964 flush out accumulated mode changes to the network.</td>
1965 </tr>
1966 <tr class="function-index" id="sockets.c_flush_write_buffer">
1967 <td class="function-index-name">flush_write_buffer<br/>&nbsp;&nbsp;&nbsp;(sockets.c)</td>
1968 <td class="function-index-params">
1969 <p class="function-param"><tt>Socket *<i>s</i></tt>:
1970 Socket whose write buffer should be
1971 flushed.</p></td>
1972 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
1973 Number of bytes written (possibly zero) on success;
1974 -1 on error; -2 if the socket got disconnected.</p></td>
1975 <td class="function-index-purpose">Tries to flush data from
1976 the given socket's write buffer by sending as much
1977 data as will fit in a single <tt>send()</tt> system
1978 call.</td>
1979 </tr>
1980 <tr class="function-index" id="lang_langcomp.c_fput32">
1981 <td class="function-index-name">fput32<br/>&nbsp;&nbsp;&nbsp;(lang/langcomp.c)</td>
1982 <td class="function-index-params">
1983 <p class="function-param"><tt>long <i>val</i></tt>:
1984 Value to write.</p>
1985 <p class="function-param"><tt>FILE *<i>f</i></tt>:
1986 File to write value to.</p></td>
1987 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
1988 0 on success, -1 on error.</p></td>
1989 <td class="function-index-purpose">Writes a big-endian
1990 32-bit value to a file.</td>
1991 </tr>
1992 <tr class="function-index" id="encrypt.c_free_password">
1993 <td class="function-index-name">free_password<br/>&nbsp;&nbsp;&nbsp;(encrypt.c)</td>
1994 <td class="function-index-params">
1995 <p class="function-param"><tt>Password *<i>password</i></tt>:
1996 Password structure to free.</p></td>
1997 <td class="function-index-return">&mdash;</td>
1998 <td class="function-index-purpose">Frees a <tt>Password</tt>
1999 structure allocated with <tt>new_password()</tt>.</td>
2000 </tr>
2001
2002 <!--============================================================-->
2003
2004 <tr class="function-index-letter" id="G">
2005 <th class="function-index-letter" colspan="5">G</th>
2006 </tr>
2007 <tr class="function-index" id="log.c_gen_log_filename">
2008 <td class="function-index-name">gen_log_filename<br/>&nbsp;&nbsp;&nbsp;(log.c)</td>
2009 <td class="function-index-params">&mdash;</td>
2010 <td class="function-index-return"><p class="function-param"><tt>char *</tt>:
2011 Generated log filename.</p></td>
2012 <td class="function-index-purpose">Internal function to
2013 generate the current log file name based on the
2014 format string given in the <tt>LogFilename</tt>
2015 configuration directive.</td>
2016 </tr>
2017 <tr class="function-index" id="channels.c_get_channel">
2018 <td class="function-index-name">get_channel<br/>&nbsp;&nbsp;&nbsp;(channels.c)</td>
2019 <td class="function-index-params">
2020 <p class="function-param"><tt>const char *<i>name</i></tt>:
2021 Name of channel to retrieve.</p></td>
2022 <td class="function-index-return"><p class="function-param"><tt>Channel *</tt>:
2023 The channel's channel record, or <tt>NULL</tt> if the
2024 record is not found.</p></td>
2025 <td class="function-index-purpose">Retrieves the record for
2026 the given channel from the hash table.</td>
2027 </tr>
2028 <tr class="function-index" id="channels.c_get_channel_stats">
2029 <td class="function-index-name">get_channel_stats<br/>&nbsp;&nbsp;&nbsp;(channels.c)</td>
2030 <td class="function-index-params">
2031 <p class="function-param"><tt>long *<i>nrec</i></tt>:
2032 Variable into which the number of channel
2033 records in the hash table is written.</p>
2034 <p class="function-param"><tt>long *<i>memuse</i></tt>:
2035 Variable into which the number of bytes
2036 used by the subsystem is written.</p></td>
2037 <td class="function-index-return">&mdash;</td>
2038 <td class="function-index-purpose">Retrieves memory usage
2039 statistics for the channel management subsystem.</td>
2040 </tr>
2041 <tr class="function-index" id="tools_convert-db.c_get_channelinfo">
2042 <td class="function-index-name">get_channelinfo<br/>&nbsp;&nbsp;&nbsp;(tools/convert-db.c)</td>
2043 <td class="function-index-params">
2044 <p class="function-param"><tt>const char *<i>channel</i></tt>:
2045 The name of the channel to look up.</p></td>
2046 <td class="function-index-return"><p class="function-param"><tt>ChannelInfo *</tt>:
2047 The channel's <tt>ChannelInfo</tt> structure, or
2048 <tt>NULL</tt> if the channel is not found.</p></td>
2049 <td class="function-index-purpose">Looks up and returns the
2050 <tt>ChannelInfo</tt> structure corresponding to the
2051 given channel name.</td>
2052 </tr>
2053 <tr class="function-index" id="databases.c_get_dbfield">
2054 <td class="function-index-name">get_dbfield<br/>&nbsp;&nbsp;&nbsp;(databases.c)</td>
2055 <td class="function-index-params">
2056 <p class="function-param"><tt>const void *<i>record</i></tt>:
2057 Record to retrieve value from.</p>
2058 <p class="function-param"><tt>const DBField *<i>field</i></tt>:
2059 Field to retrieve value from.</p>
2060 <p class="function-param"><tt>void *<i>buffer</i></tt>:
2061 Buffer to store retrieved value in.</p></td>
2062 <td class="function-index-return">&mdash;</td>
2063 <td class="function-index-purpose">Retrieves the value of a
2064 field in a database record.</td>
2065 </tr>
2066 <tr class="function-index" id="modules.c_get_module_name">
2067 <td class="function-index-name">get_module_name<br/>&nbsp;&nbsp;&nbsp;(modules.c)</td>
2068 <td class="function-index-params">
2069 <p class="function-param"><tt>const Module *<i>module</i></tt>:
2070 Module handle.</p></td>
2071 <td class="function-index-return"><p class="function-param"><tt>const char *</tt>:
2072 Name of module.</p></td>
2073 <td class="function-index-purpose">Returns the name of the
2074 given module.</td>
2075 </tr>
2076 <tr class="function-index" id="modules.h_get_module_symbol">
2077 <td class="function-index-name">get_module_symbol<br/>&nbsp;&nbsp;&nbsp;(modules.h)</td>
2078 <td class="function-index-params">
2079 <p class="function-param"><tt>Module *<i>module</i></tt>:
2080 Handle of the module in which symbol is to be
2081 looked up, or <tt>NULL</tt> for any module.</p>
2082 <p class="function-param"><tt>const char *<i>symname</i></tt>:
2083 Symbol to look up.</p></td>
2084 <td class="function-index-return"><p class="function-param"><tt>void *</tt>:
2085 Value of the symbol (usually the address of the
2086 symbol's object), or <tt>NULL</tt> if the symbol is
2087 not found.</p></td>
2088 <td class="function-index-purpose">Looks up a symbol in a
2089 given (or any) module, logging a warning message if
2090 the symbol is not found. (To look up a symbol
2091 whose value may legitimately be <tt>NULL</tt>, use
2092 <a href="#modules.c_check_module_symbol"><tt>check_module_symbol()</tt></a>
2093 instead.)</td>
2094 </tr>
2095 <tr class="function-index" id="modules.c__get_module_symbol">
2096 <td class="function-index-name">_get_module_symbol<br/>&nbsp;&nbsp;&nbsp;(modules.c)</td>
2097 <td class="function-index-params">
2098 <p class="function-param"><tt>Module *<i>module</i></tt>:
2099 Handle of the module in which symbol is to be
2100 looked up, or <tt>NULL</tt> for any module.</p>
2101 <p class="function-param"><tt>const char *<i>symname</i></tt>:
2102 Symbol to look up.</p>
2103 <p class="function-param"><tt>const Module *<i>caller</i></tt>:
2104 Handle of the calling module.</p></td>
2105 <td class="function-index-return"><p class="function-param"><tt>void *</tt>:
2106 Value of the symbol (usually the address of the
2107 symbol's object), or <tt>NULL</tt> if the symbol is
2108 not found.</p></td>
2109 <td class="function-index-purpose">Implements the
2110 <tt>get_module_symbol()</tt> macro.</td>
2111 </tr>
2112 <tr class="function-index" id="tools_convert-db.c_get_nickgroupinfo">
2113 <td class="function-index-name">get_nickgroupinfo<br/>&nbsp;&nbsp;&nbsp;(tools/convert-db.c)</td>
2114 <td class="function-index-params">
2115 <p class="function-param"><tt>uint32 <i>id</i></tt>:
2116 ID value of the nickname group to look
2117 up.</p></td>
2118 <td class="function-index-return"><p class="function-param"><tt>NickGroupInfo *</tt>:
2119 The nickname group's <tt>NickGroupInfo</tt>
2120 structure, or <tt>NULL</tt> if the nickname group
2121 is not found.</p></td>
2122 <td class="function-index-purpose">Looks up and returns the
2123 <tt>NickGroupInfo</tt> structure corresponding to
2124 the given nickname group ID.</td>
2125 </tr>
2126 <tr class="function-index" id="tools_convert-db.c_get_nickgroupinfo_by_nick">
2127 <td class="function-index-name">get_nickgroupinfo_by_nick<br/>&nbsp;&nbsp;&nbsp;(tools/convert-db.c)</td>
2128 <td class="function-index-params">
2129 <p class="function-param"><tt>const char *<i>nick</i></tt>:
2130 The nickname to look up.</p></td>
2131 <td class="function-index-return"><p class="function-param"><tt>NickGroupInfo *</tt>:
2132 The <tt>NickGroupInfo</tt> structure of the
2133 nickname group containing the given nickname, or
2134 <tt>NULL</tt> if the nickname is not found or does
2135 not have a nickname group.</p></td>
2136 <td class="function-index-purpose">Looks up and returns the
2137 <tt>NickGroupInfo</tt> structure corresponding to
2138 the nickname group containing the given nickname.</td>
2139 </tr>
2140 <tr class="function-index" id="tools_convert-db.c_get_nickinfo">
2141 <td class="function-index-name">get_nickinfo<br/>&nbsp;&nbsp;&nbsp;(tools/convert-db.c)</td>
2142 <td class="function-index-params">
2143 <p class="function-param"><tt>const char *<i>nick</i></tt>:
2144 The nickname to look up.</p></td>
2145 <td class="function-index-return"><p class="function-param"><tt>NickInfo *</tt>:
2146 The nickname's <tt>NickInfo</tt> structure, or
2147 <tt>NULL</tt> if the nickname is not found.</p></td>
2148 <td class="function-index-purpose">Looks up and returns the
2149 <tt>NickInfo</tt> corresponding to the given
2150 nickname.</td>
2151 </tr>
2152 <tr class="function-index" id="tools_convert-db.c_get_operserv_data">
2153 <td class="function-index-name">get_operserv_data<br/>&nbsp;&nbsp;&nbsp;(tools/convert-db.c)</td>
2154 <td class="function-index-params">
2155 <p class="function-param"><tt>int <i>what</i></tt>:
2156 The type of data to retrieve.</p>
2157 <p class="function-param"><tt>void *<i>ptr</i></tt>:
2158 A pointer to where the data should be
2159 stored.</p></td>
2160 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
2161 Success (nonzero) or failure (zero).</p></td>
2162 <td class="function-index-purpose">Retrieves the selected
2163 type of OperServ-related data and stores it at the
2164 address indicated by the given pointer.</td>
2165 </tr>
2166 <tr class="function-index" id="servers.c_get_server">
2167 <td class="function-index-name">get_server<br/>&nbsp;&nbsp;&nbsp;(servers.c)</td>
2168 <td class="function-index-params">
2169 <p class="function-param"><tt>const char *<i>name</i></tt>:
2170 Name of server to retrieve.</p></td>
2171 <td class="function-index-return"><p class="function-param"><tt>Server *</tt>:
2172 The server's server record, or <tt>NULL</tt> if the
2173 record is not found.</p></td>
2174 <td class="function-index-purpose">Retrieves the record for
2175 the given server from the hash table.</td>
2176 </tr>
2177 <tr class="function-index" id="servers.c_get_server_stats">
2178 <td class="function-index-name">get_server_stats<br/>&nbsp;&nbsp;&nbsp;(servers.c)</td>
2179 <td class="function-index-params">
2180 <p class="function-param"><tt>long *<i>nservers</i></tt>:
2181 Variable into which the number of server
2182 records in the hash table is written.</p>
2183 <p class="function-param"><tt>long *<i>memuse</i></tt>:
2184 Variable into which the number of bytes
2185 used by the subsystem is written.</p></td>
2186 <td class="function-index-return">&mdash;</td>
2187 <td class="function-index-purpose">Retrieves memory usage
2188 statistics for the server management subsystem.</td>
2189 </tr>
2190 <tr class="function-index" id="users.c_get_user">
2191 <td class="function-index-name">get_user<br/>&nbsp;&nbsp;&nbsp;(users.c)</td>
2192 <td class="function-index-params">
2193 <p class="function-param"><tt>const char *<i>nick</i></tt>:
2194 Nickname of user to retrieve.</p></td>
2195 <td class="function-index-return"><p class="function-param"><tt>User *</tt>:
2196 The user's user record, or <tt>NULL</tt> if the
2197 record is not found.</p></td>
2198 <td class="function-index-purpose">Retrieves the record for
2199 the given user from the hash table.</td>
2200 </tr>
2201 <tr class="function-index" id="users.c_get_user_stats">
2202 <td class="function-index-name">get_user_stats<br/>&nbsp;&nbsp;&nbsp;(users.c)</td>
2203 <td class="function-index-params">
2204 <p class="function-param"><tt>long *<i>nusers</i></tt>:
2205 Variable into which the number of user
2206 records in the hash table is written.</p>
2207 <p class="function-param"><tt>long *<i>memuse</i></tt>:
2208 Variable into which the number of bytes
2209 used by the subsystem is written.</p></td>
2210 <td class="function-index-return">&mdash;</td>
2211 <td class="function-index-purpose">Retrieves memory usage
2212 statistics for the user management subsystem.</td>
2213 </tr>
2214 <tr class="function-index" id="lang_langcomp.c_readline">
2215 <td class="function-index-name">readline<br/>&nbsp;&nbsp;&nbsp;(lang/langcomp.c)</td>
2216 <td class="function-index-params">
2217 <p class="function-param"><tt>FILE *<i>f</i></tt>:
2218 File to read from.</p></td>
2219 <td class="function-index-return"><p class="function-param"><tt>char *</tt>:
2220 Line read in, in a static buffer, or <tt>NULL</tt>
2221 at end of file.</p></td>
2222 <td class="function-index-purpose">Reads in a (non-blank,
2223 non-comment) line of text, and updates the global
2224 line counter <tt>linenum</tt>.</td>
2225 </tr>
2226 <tr class="function-index" id="language.c_getstring">
2227 <td class="function-index-name">getstring<br/>&nbsp;&nbsp;&nbsp;(language.c)</td>
2228 <td class="function-index-params">
2229 <p class="function-param"><tt>const NickGroupInfo *<i>ngi</i></tt>:
2230 Nickname group record for user to which
2231 message will be sent, or <tt>NULL</tt> if none.</p>
2232 <p class="function-param"><tt>int <i>index</i></tt>:
2233 String index.</p></td>
2234 <td class="function-index-return"><p class="function-param"><tt>const char *</tt>:
2235 Text string, or <tt>NULL</tt> if the string index
2236 is out of range.</p></td>
2237 <td class="function-index-purpose">Returns the text string
2238 corresponding to the selected string index in the
2239 user's selected language.</td>
2240 </tr>
2241 <tr class="function-index" id="language.c_getstring_lang">
2242 <td class="function-index-name">getstring_lang<br/>&nbsp;&nbsp;&nbsp;(language.c)</td>
2243 <td class="function-index-params">
2244 <p class="function-param"><tt>int <i>language</i></tt>:
2245 Language index.</p>
2246 <p class="function-param"><tt>int <i>index</i></tt>:
2247 String index.</p></td>
2248 <td class="function-index-return"><p class="function-param"><tt>const char *</tt>:
2249 Text string, or <tt>NULL</tt> if the string index
2250 is out of range.</p></td>
2251 <td class="function-index-purpose">Returns the text string
2252 corresponding to the selected string index in the
2253 selected language.</td>
2254 </tr>
2255
2256 <!--============================================================-->
2257
2258 <tr class="function-index-letter" id="H">
2259 <th class="function-index-letter" colspan="5">H</th>
2260 </tr>
2261 <tr class="function-index" id="language.c_have_language">
2262 <td class="function-index-name">have_language<br/>&nbsp;&nbsp;&nbsp;(language.c)</td>
2263 <td class="function-index-params">
2264 <p class="function-param"><tt>int <i>language</i></tt>:
2265 Language index.</p></td>
2266 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
2267 Nonzero if the language is available, else zero.</p></td>
2268 <td class="function-index-purpose">Returns whether the
2269 given language is available.</td>
2270 </tr>
2271 <tr class="function-index" id="commands.c_help_cmd">
2272 <td class="function-index-name">help_cmd<br/>&nbsp;&nbsp;&nbsp;(commands.c)</td>
2273 <td class="function-index-params">
2274 <p class="function-param"><tt>const char *<i>service</i></tt>:
2275 Service name (sender name to use for
2276 help messages).</p>
2277 <p class="function-param"><tt>User *<i>u</i></tt>:
2278 Target user.</p>
2279 <p class="function-param"><tt>Module *<i>id</i></tt>:
2280 Command list ID.</p>
2281 <p class="function-param"><tt>char *<i>cmd</i></tt>:
2282 Command name.</p></td>
2283 <td class="function-index-return">&mdash;</td>
2284 <td class="function-index-purpose">Sends the given user a
2285 help message for the given command. If the command
2286 is not found or no help messages are specified, a
2287 "help not available" message is sent to the user.</td>
2288 </tr>
2289 <tr class="function-index" id="compat.c_hstrerror">
2290 <td class="function-index-name">hstrerror<br/>&nbsp;&nbsp;&nbsp;(compat.c)</td>
2291 <td class="function-index-params">
2292 <p class="function-param"><tt>int <i>h_errnum</i></tt>:
2293 Value of <tt>h_errno</tt>.</p></td>
2294 <td class="function-index-return"><p class="function-param"><tt>const char *</tt>:
2295 String describing the given error number.</p></td>
2296 <td class="function-index-purpose">Compatibility function.</td>
2297 </tr>
2298 <tr class="function-index" id="tools_convert-hybserv.c_hyb_load_chan">
2299 <td class="function-index-name">hyb_load_chan<br/>&nbsp;&nbsp;&nbsp;(tools/convert-hybserv.c)</td>
2300 <td class="function-index-params">
2301 <p class="function-param"><tt>const char *<i>dir</i></tt>:
2302 Directory from which to load data.</p></td>
2303 <td class="function-index-return">&mdash;</td>
2304 <td class="function-index-purpose">Loads the HybServ
2305 <tt>chan.db</tt> data file.</td>
2306 </tr>
2307 <tr class="function-index" id="tools_convert-hybserv.c_hyb_load_memo">
2308 <td class="function-index-name">hyb_load_memo<br/>&nbsp;&nbsp;&nbsp;(tools/convert-hybserv.c)</td>
2309 <td class="function-index-params">
2310 <p class="function-param"><tt>const char *<i>dir</i></tt>:
2311 Directory from which to load data.</p></td>
2312 <td class="function-index-return">&mdash;</td>
2313 <td class="function-index-purpose">Loads the HybServ
2314 <tt>memo.db</tt> data file.</td>
2315 </tr>
2316 <tr class="function-index" id="tools_convert-hybserv.c_hyb_load_nick">
2317 <td class="function-index-name">hyb_load_nick<br/>&nbsp;&nbsp;&nbsp;(tools/convert-hybserv.c)</td>
2318 <td class="function-index-params">
2319 <p class="function-param"><tt>const char *<i>dir</i></tt>:
2320 Directory from which to load data.</p></td>
2321 <td class="function-index-return">&mdash;</td>
2322 <td class="function-index-purpose">Loads the HybServ
2323 <tt>nick.db</tt> data file.</td>
2324 </tr>
2325 <tr class="function-index" id="tools_convert-hybserv.c_hyb_load_stat">
2326 <td class="function-index-name">hyb_load_stat<br/>&nbsp;&nbsp;&nbsp;(tools/convert-hybserv.c)</td>
2327 <td class="function-index-params">
2328 <p class="function-param"><tt>const char *<i>dir</i></tt>:
2329 Directory from which to load data.</p></td>
2330 <td class="function-index-return">&mdash;</td>
2331 <td class="function-index-purpose">Loads the HybServ
2332 <tt>stat.db</tt> data file.</td>
2333 </tr>
2334
2335 <!--============================================================-->
2336
2337 <tr class="function-index-letter" id="I">
2338 <th class="function-index-letter" colspan="5">I</th>
2339 </tr>
2340 <tr class="function-index" id="ignore.c_ignore_init">
2341 <td class="function-index-name">ignore_init<br/>&nbsp;&nbsp;&nbsp;(ignore.c)</td>
2342 <td class="function-index-params">
2343 <p class="function-param"><tt>User *<i>u</i></tt>:
2344 User to initialize ignore data for.</p></td>
2345 <td class="function-index-return">&mdash;</td>
2346 <td class="function-index-purpose">Initializes the ignore
2347 data for the given user.</td>
2348 </tr>
2349 <tr class="function-index" id="ignore.c_ignore_update">
2350 <td class="function-index-name">ignore_update<br/>&nbsp;&nbsp;&nbsp;(ignore.c)</td>
2351 <td class="function-index-params">
2352 <p class="function-param"><tt>User *<i>u</i></tt>:
2353 User to update ignore data for.</p>
2354 <p class="function-param"><tt>uint32 <i>msec</i></tt>:
2355 Number of milliseconds spent processing the
2356 user's last request.</p></td>
2357 <td class="function-index-return">&mdash;</td>
2358 <td class="function-index-purpose">Updates the ignore value
2359 for the given user. <tt>msec</tt> may be specified
2360 as zero to update the value without adding to it.</td>
2361 </tr>
2362 <tr class="function-index" id="init.c_init">
2363 <td class="function-index-name">init<br/>&nbsp;&nbsp;&nbsp;(init.c)</td>
2364 <td class="function-index-params">
2365 <p class="function-param"><tt>int <i>ac</i></tt>:
2366 Argument count, passed from <tt>main()</tt>.</p>
2367 <p class="function-param"><tt>char **<i>av</i></tt>:
2368 Argument vector, passed from <tt>main()</tt>.</p></td>
2369 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
2370 0 on success, -1 on failure.</p></td>
2371 <td class="function-index-purpose">Performs overall program initialization. Never fails after forking and closing standard file descriptors.</td>
2372 </tr>
2373 <tr class="function-index" id="memory.c_init_memory">
2374 <td class="function-index-name">init_memory<br/>&nbsp;&nbsp;&nbsp;(memory.c)</td>
2375 <td class="function-index-params">&mdash;</td>
2376 <td class="function-index-return">&mdash;</td>
2377 <td class="function-index-purpose">Initializes the memory
2378 checking subsystem.</td>
2379 </tr>
2380 <tr class="function-index" id="messages.c_init_message_list">
2381 <td class="function-index-name">init_message_list<br/>&nbsp;&nbsp;&nbsp;(messages.c)</td>
2382 <td class="function-index-params">&mdash;</td>
2383 <td class="function-index-return">&mdash;</td>
2384 <td class="function-index-purpose">Initializes the internal
2385 message list from the list of registered message
2386 tables.</td>
2387 </tr>
2388 <tr class="function-index" id="encrypt.c_init_password">
2389 <td class="function-index-name">init_password<br/>&nbsp;&nbsp;&nbsp;(encrypt.c)</td>
2390 <td class="function-index-params">
2391 <p class="function-param"><tt>Password *<i>password</i></tt>:
2392 <tt>Password</tt> structure to initialize.</p></td>
2393 <td class="function-index-return">&mdash;</td>
2394 <td class="function-index-purpose">Initializes a new
2395 <tt>Password</tt> structure.</td>
2396 </tr>
2397 <tr class="function-index" id="tools_convert-db.c_init_password">
2398 <td class="function-index-name">init_password<br/>&nbsp;&nbsp;&nbsp;(tools/convert-db.c)</td>
2399 <td class="function-index-params">
2400 <p class="function-param"><tt>Password *<i>password</i></tt>:
2401 <tt>Password</tt> structure to initialize.</p></td>
2402 <td class="function-index-return">&mdash;</td>
2403 <td class="function-index-purpose">Initializes a new
2404 <tt>Password</tt> structure. Analogous to
2405 <tt>init_password()</tt> in <tt>encrypt.c</tt>.</td>
2406 </tr>
2407 <tr class="function-index" id="signals.c_init_signals">
2408 <td class="function-index-name">init_signals<br/>&nbsp;&nbsp;&nbsp;(signals.c)</td>
2409 <td class="function-index-params">&mdash;</td>
2410 <td class="function-index-return">&mdash;</td>
2411 <td class="function-index-purpose">Initializes signal
2412 handling.</td>
2413 </tr>
2414 <tr class="function-index" id="modules.c_internal_init_module">
2415 <td class="function-index-name">internal_init_module<br/>&nbsp;&nbsp;&nbsp;(modules.c)</td>
2416 <td class="function-index-params">
2417 <p class="function-param"><tt>Module *<i>module</i></tt>:
2418 Module handle.</p></td>
2419 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
2420 The module's <tt>init_module()</tt> return value, or
2421 nonzero if the module does not have an
2422 <tt>init_module()</tt> function.</p></td>
2423 <td class="function-index-purpose">Calls the given module's
2424 <tt>init_module()</tt> function.</td>
2425 </tr>
2426 <tr class="function-index" id="modules.c_internal_load_module">
2427 <td class="function-index-name">internal_load_module<br/>&nbsp;&nbsp;&nbsp;(modules.c)</td>
2428 <td class="function-index-params">
2429 <p class="function-param"><tt>const char *<i>modulename</i></tt>:
2430 Name of module to load.</p></td>
2431 <td class="function-index-return"><p class="function-param"><tt>Module *</tt>:
2432 Module handle on success, <tt>NULL</tt> on error.</p></td>
2433 <td class="function-index-purpose">Loads the given module
2434 into memory and creates a <tt>Module</tt> structure
2435 for it..</td>
2436 </tr>
2437 <tr class="function-index" id="modules.c_internal_unload_module">
2438 <td class="function-index-name">internal_unload_module<br/>&nbsp;&nbsp;&nbsp;(modules.c)</td>
2439 <td class="function-index-params">
2440 <p class="function-param"><tt>Module *<i>module</i></tt>:
2441 Handle for module to unload.</p>
2442 <p class="function-param"><tt>int <i>shutdown</i></tt>:
2443 Nonzero if the module is being unloaded due
2444 to Services shutting down, else zero.</p></td>
2445 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
2446 Nonzero on success, zero on error.</p></td>
2447 <td class="function-index-purpose">Unloads the given
2448 module.</td>
2449 </tr>
2450 <tr class="function-index" id="init.c_introduce_user">
2451 <td class="function-index-name">introduce_user<br/>&nbsp;&nbsp;&nbsp;(init.c)</td>
2452 <td class="function-index-params">
2453 <p class="function-param"><tt>const char *<i>user</i></tt>:
2454 Nickname of pseudoclient to introduce, or
2455 <tt>NULL</tt> to introduce all pseudoclients.</p></td>
2456 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
2457 Nonzero if a pseudoclient was introduced or
2458 <tt><i>user</i></tt> was <tt>NULL</tt>, else zero.</p></td>
2459 <td class="function-index-purpose">Introduces pseudoclients
2460 to the network.</td>
2461 </tr>
2462 <tr class="function-index" id="misc.c_irc_stricmp">
2463 <td class="function-index-name">irc_stricmp<br/>&nbsp;&nbsp;&nbsp;(misc.c)</td>
2464 <td class="function-index-params">
2465 <p class="function-param"><tt>const char *<i>s1</i></tt>:
2466 First string.</p>
2467 <p class="function-param"><tt>const char *<i>s2</i></tt>:
2468 Second string.</p></td>
2469 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
2470 The result of a case-insensitive comparison of
2471 <tt><i>s1</i></tt> with <tt><i>s2</i></tt> (-1, 0,
2472 or 1, like <tt>strcmp()</tt>).</p></td>
2473 <td class="function-index-purpose">Compares two strings
2474 case-insensitively, using IRC protocol case
2475 transformation rules.</td>
2476 </tr>
2477 <tr class="function-index" id="misc.c_irc_strnicmp">
2478 <td class="function-index-name">irc_strnicmp<br/>&nbsp;&nbsp;&nbsp;(misc.c)</td>
2479 <td class="function-index-params">
2480 <p class="function-param"><tt>const char *<i>s1</i></tt>:
2481 First string.</p>
2482 <p class="function-param"><tt>const char *<i>s2</i></tt>:
2483 Second string.</p>
2484 <p class="function-param"><tt>int <i>max</i></tt>:
2485 Maximum number of characters to compare.</p></td>
2486 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
2487 The result of a case-insensitive comparison of up
2488 to <tt><i>max</i></tt> characters of
2489 <tt><i>s1</i></tt> with <tt><i>s2</i></tt> (-1, 0,
2490 or 1, like <tt>strncmp()</tt>).</p></td>
2491 <td class="function-index-purpose">Compares two strings
2492 case-insensitively, using IRC protocol case
2493 transformation rules.</td>
2494 </tr>
2495 <tr class="function-index" id="misc.c_irc_tolower">
2496 <td class="function-index-name">irc_tolower<br/>&nbsp;&nbsp;&nbsp;(misc.c)</td>
2497 <td class="function-index-params">
2498 <p class="function-param"><tt>char <i>c</i></tt>:
2499 Character to convert.</p></td>
2500 <td class="function-index-return"><p class="function-param"><tt>unsigned char</tt>:
2501 Converted character.</p></td>
2502 <td class="function-index-purpose">Converts a character to
2503 lowercase, using IRC protocol case transformation
2504 rules.</td>
2505 </tr>
2506 <tr class="function-index" id="tools_convert-ver8.c_ircs_load_gline">
2507 <td class="function-index-name">ircs_load_gline<br/>&nbsp;&nbsp;&nbsp;(tools/convert-ver8.c)</td>
2508 <td class="function-index-params">
2509 <p class="function-param"><tt>const char *<i>dir</i></tt>:
2510 Directory from which to load data.</p></td>
2511 <td class="function-index-return">&mdash;</td>
2512 <td class="function-index-purpose">Loads the IRCS
2513 <tt>gline.db</tt> data file.</td>
2514 </tr>
2515 <tr class="function-index" id="users.c_is_chanop">
2516 <td class="function-index-name">is_chanop<br/>&nbsp;&nbsp;&nbsp;(users.c)</td>
2517 <td class="function-index-params">
2518 <p class="function-param"><tt>const User *<i>user</i></tt>:
2519 User to check.</p>
2520 <p class="function-param"><tt>const char *<i>chan</i></tt>:
2521 Channel to check on.</p></td>
2522 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
2523 Nonzero if the user is a channel operator on
2524 the given channel, else zero.</p></td>
2525 <td class="function-index-purpose">Returns whether the user
2526 is a channel operator on the given channel.</td>
2527 </tr>
2528 <tr class="function-index" id="main.c_is_data_locked">
2529 <td class="function-index-name">is_data_locked<br/>&nbsp;&nbsp;&nbsp;(main.c)</td>
2530 <td class="function-index-params">&mdash;</td>
2531 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
2532 1 if locked, 0 if not, -1 if an error occurred
2533 while checking.</p></td>
2534 <td class="function-index-purpose">Checks whether the data
2535 directory is locked.</td>
2536 </tr>
2537 <tr class="function-index" id="users.c_is_guest_nick">
2538 <td class="function-index-name">is_guest_nick<br/>&nbsp;&nbsp;&nbsp;(users.c)</td>
2539 <td class="function-index-params">
2540 <p class="function-param"><tt>const char *<i>nick</i></tt>:
2541 Nickname to check.</p></td>
2542 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
2543 Nonzero if the nickname is a guest nickname, else
2544 zero.</p></td>
2545 <td class="function-index-purpose">Returns whether the
2546 nickname is a guest nickname.</td>
2547 </tr>
2548 <tr class="function-index" id="users.c_is_on_chan">
2549 <td class="function-index-name">is_on_chan<br/>&nbsp;&nbsp;&nbsp;(users.c)</td>
2550 <td class="function-index-params">
2551 <p class="function-param"><tt>const User *<i>user</i></tt>:
2552 User to check.</p>
2553 <p class="function-param"><tt>const char *<i>chan</i></tt>:
2554 Channel to check.</p></td>
2555 <td class="function-index-return"><p class="function-param"><tt>Channel *</tt>:
2556 Nonzero if the user is on the given channel,
2557 else zero.</p></td>
2558 <td class="function-index-purpose">Returns whether the user
2559 is on the given channel.</td>
2560 </tr>
2561 <tr class="function-index" id="users.c_is_oper">
2562 <td class="function-index-name">is_oper<br/>&nbsp;&nbsp;&nbsp;(users.c)</td>
2563 <td class="function-index-params">
2564 <p class="function-param"><tt>const User *<i>user</i></tt>:
2565 User to check.</p></td>
2566 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
2567 Nonzero if the user is an IRC operator, else zero.</p></td>
2568 <td class="function-index-purpose">Returns whether the user
2569 is an IRC operator.</td>
2570 </tr>
2571 <tr class="function-index" id="users.c_is_voiced">
2572 <td class="function-index-name">is_voiced<br/>&nbsp;&nbsp;&nbsp;(users.c)</td>
2573 <td class="function-index-params">
2574 <p class="function-param"><tt>const User *<i>user</i></tt>:
2575 User to check.</p>
2576 <p class="function-param"><tt>const char *<i>chan</i></tt>:
2577 Channel to check on.</p></td>
2578 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
2579 Nonzero if the user is voiced on the given channel,
2580 else zero.</p></td>
2581 <td class="function-index-purpose">Returns whether the user
2582 is voiced on the given channel.</td>
2583 </tr>
2584
2585 <!--============================================================-->
2586
2587 <tr class="function-index-letter" id="J">
2588 <th class="function-index-letter" colspan="5">J</th>
2589 </tr>
2590 <tr class="function-index" id="users.c_join_channel">
2591 <td class="function-index-name">join_channel<br/>&nbsp;&nbsp;&nbsp;(users.c)</td>
2592 <td class="function-index-params">
2593 <p class="function-param"><tt>User *<i>user</i></tt>:
2594 User to join.</p>
2595 <p class="function-param"><tt>const char *<i>channel</i></tt>:
2596 Channel to join to.</p>
2597 <p class="function-param"><tt>int32 <i>modes</i></tt>:
2598 Initial channel user modes for the user.</p></td>
2599 <td class="function-index-return"><p class="function-param"><tt>Channel *</tt>:
2600 Channel record for the channel.</p></td>
2601 <td class="function-index-purpose">Joins a user to a channel,
2602 creating the channel if necessary and updating the
2603 user's list of joined channels.</td>
2604 </tr>
2605
2606 <!--============================================================-->
2607
2608 <tr class="function-index-letter" id="K">
2609 <th class="function-index-letter" colspan="5">K</th>
2610 </tr>
2611 <tr class="function-index" id="actions.c_kill_user">
2612 <td class="function-index-name">kill_user<br/>&nbsp;&nbsp;&nbsp;(actions.c)</td>
2613 <td class="function-index-params">
2614 <p class="function-param"><tt>const char *<i>source</i></tt>:
2615 Source for the <tt>KILL</tt> message.</p>
2616 <p class="function-param"><tt>const char *<i>user</i></tt>:
2617 Nickname of user to kill.</p>
2618 <p class="function-param"><tt>const char *<i>reason</i></tt>:
2619 Reason to use in the <tt>KILL</tt> message.</p></td>
2620 <td class="function-index-return">&mdash;</td>
2621 <td class="function-index-purpose">Sends a <tt>KILL</tt>
2622 message for a user.</td>
2623 </tr>
2624
2625 <!--============================================================-->
2626
2627 <tr class="function-index-letter" id="L">
2628 <th class="function-index-letter" colspan="5">L</th>
2629 </tr>
2630 <tr class="function-index" id="language.c_lang_cleanup">
2631 <td class="function-index-name">lang_cleanup<br/>&nbsp;&nbsp;&nbsp;(language.c)</td>
2632 <td class="function-index-params">&mdash;</td>
2633 <td class="function-index-return">&mdash;</td>
2634 <td class="function-index-purpose">Performs cleanup actions
2635 for the multilingual support subsystem.</td>
2636 </tr>
2637 <tr class="function-index" id="language.c_lang_init">
2638 <td class="function-index-name">lang_init<br/>&nbsp;&nbsp;&nbsp;(language.c)</td>
2639 <td class="function-index-params">&mdash;</td>
2640 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
2641 Nonzero on success, zero on failure.</p></td>
2642 <td class="function-index-purpose">Performs initialization
2643 actions for the multilingual support subsystem.</td>
2644 </tr>
2645 <tr class="function-index" id="tools_convert-sirv.c_load_auspice">
2646 <td class="function-index-name">load_auspice<br/>&nbsp;&nbsp;&nbsp;(tools/convert-sirv.c)</td>
2647 <td class="function-index-params">
2648 <p class="function-param"><tt>const char *<i>dir</i></tt>:
2649 Directory from which to load data.</p>
2650 <p class="function-param"><tt>int <i>verbose</i></tt>:
2651 Verbosity flag (nonzero = verbose).</p>
2652 <p class="function-param"><tt>int <i>ac</i></tt>:
2653 Number of command-line arguments in
2654 <tt><i>av</i>[]</tt>.</p>
2655 <p class="function-param"><tt>char **<i>av</i></tt>:
2656 command-line arguments (excluding arguments
2657 processed by <tt>main()</tt>).</p></td>
2658 <td class="function-index-return">&mdash;</td>
2659 <td class="function-index-purpose">Loads Auspice data files.</td>
2660 </tr>
2661 <tr class="function-index" id="tools_convert-sirv.c_load_bolivia">
2662 <td class="function-index-name">load_bolivia<br/>&nbsp;&nbsp;&nbsp;(tools/convert-sirv.c)</td>
2663 <td class="function-index-params">
2664 <p class="function-param"><tt>const char *<i>dir</i></tt>:
2665 Directory from which to load data.</p>
2666 <p class="function-param"><tt>int <i>verbose</i></tt>:
2667 Verbosity flag (nonzero = verbose).</p>
2668 <p class="function-param"><tt>int <i>ac</i></tt>:
2669 Number of command-line arguments in
2670 <tt><i>av</i>[]</tt>.</p>
2671 <p class="function-param"><tt>char **<i>av</i></tt>:
2672 command-line arguments (excluding arguments
2673 processed by <tt>main()</tt>).</p></td>
2674 <td class="function-index-return">&mdash;</td>
2675 <td class="function-index-purpose">Loads Bolivia data files.</td>
2676 </tr>
2677 <tr class="function-index" id="tools_convert-cygnus.c_load_cygnus">
2678 <td class="function-index-name">load_cygnus<br/>&nbsp;&nbsp;&nbsp;(tools/convert-cygnus.c)</td>
2679 <td class="function-index-params">
2680 <p class="function-param"><tt>const char *<i>dir</i></tt>:
2681 Directory from which to load data.</p>
2682 <p class="function-param"><tt>int <i>verbose</i></tt>:
2683 Verbosity flag (nonzero = verbose).</p>
2684 <p class="function-param"><tt>int <i>ac</i></tt>:
2685 Number of command-line arguments in
2686 <tt><i>av</i>[]</tt>.</p>
2687 <p class="function-param"><tt>char **<i>av</i></tt>:
2688 command-line arguments (excluding arguments
2689 processed by <tt>main()</tt>).</p></td>
2690 <td class="function-index-return">&mdash;</td>
2691 <td class="function-index-purpose">Loads Cygnus data files.</td>
2692 </tr>
2693 <tr class="function-index" id="tools_convert-ver8.c_load_daylight">
2694 <td class="function-index-name">load_daylight<br/>&nbsp;&nbsp;&nbsp;(tools/convert-ver8.c)</td>
2695 <td class="function-index-params">
2696 <p class="function-param"><tt>const char *<i>dir</i></tt>:
2697 Directory from which to load data.</p>
2698 <p class="function-param"><tt>int <i>verbose</i></tt>:
2699 Verbosity flag (nonzero = verbose).</p>
2700 <p class="function-param"><tt>int <i>ac</i></tt>:
2701 Number of command-line arguments in
2702 <tt><i>av</i>[]</tt>.</p>
2703 <p class="function-param"><tt>char **<i>av</i></tt>:
2704 command-line arguments (excluding arguments
2705 processed by <tt>main()</tt>).</p></td>
2706 <td class="function-index-return">&mdash;</td>
2707 <td class="function-index-purpose">Loads Daylight data files.</td>
2708 </tr>
2709 <tr class="function-index" id="tools_convert-epona.c_load_epona">
2710 <td class="function-index-name">load_epona<br/>&nbsp;&nbsp;&nbsp;(tools/convert-epona.c)</td>
2711 <td class="function-index-params">
2712 <p class="function-param"><tt>const char *<i>dir</i></tt>:
2713 Directory from which to load data.</p>
2714 <p class="function-param"><tt>int <i>verbose</i></tt>:
2715 Verbosity flag (nonzero = verbose).</p>
2716 <p class="function-param"><tt>int <i>ac</i></tt>:
2717 Number of command-line arguments in
2718 <tt><i>av</i>[]</tt>.</p>
2719 <p class="function-param"><tt>char **<i>av</i></tt>:
2720 command-line arguments (excluding arguments
2721 processed by <tt>main()</tt>).</p></td>
2722 <td class="function-index-return">&mdash;</td>
2723 <td class="function-index-purpose">Loads Epona data files.</td>
2724 </tr>
2725 <tr class="function-index" id="language.c_load_ext_lang">
2726 <td class="function-index-name">load_ext_lang<br/>&nbsp;&nbsp;&nbsp;(language.c)</td>
2727 <td class="function-index-params">
2728 <p class="function-param"><tt>const char *<i>filename</i></tt>:
2729 Pathname of file to read strings from.</p></td>
2730 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
2731 Nonzero on success, zero on failure.</p></td>
2732 <td class="function-index-purpose">Loads an external
2733 language file.</td>
2734 </tr>
2735 <tr class="function-index" id="tools_convert-hybserv.c_load_hybserv">
2736 <td class="function-index-name">load_hybserv<br/>&nbsp;&nbsp;&nbsp;(tools/convert-hybserv.c)</td>
2737 <td class="function-index-params">
2738 <p class="function-param"><tt>const char *<i>dir</i></tt>:
2739 Directory from which to load data.</p>
2740 <p class="function-param"><tt>int <i>verbose</i></tt>:
2741 Verbosity flag (nonzero = verbose).</p>
2742 <p class="function-param"><tt>int <i>ac</i></tt>:
2743 Number of command-line arguments in
2744 <tt><i>av</i>[]</tt>.</p>
2745 <p class="function-param"><tt>char **<i>av</i></tt>:
2746 command-line arguments (excluding arguments
2747 processed by <tt>main()</tt>).</p></td>
2748 <td class="function-index-return">&mdash;</td>
2749 <td class="function-index-purpose">Loads HybServ data files.</td>
2750 </tr>
2751 <tr class="function-index" id="tools_convert-ver8.c_load_ircs_1_2">
2752 <td class="function-index-name">load_ircs_1_2<br/>&nbsp;&nbsp;&nbsp;(tools/convert-ver8.c)</td>
2753 <td class="function-index-params">
2754 <p class="function-param"><tt>const char *<i>dir</i></tt>:
2755 Directory from which to load data.</p>
2756 <p class="function-param"><tt>int <i>verbose</i></tt>:
2757 Verbosity flag (nonzero = verbose).</p>
2758 <p class="function-param"><tt>int <i>ac</i></tt>:
2759 Number of command-line arguments in
2760 <tt><i>av</i>[]</tt>.</p>
2761 <p class="function-param"><tt>char **<i>av</i></tt>:
2762 command-line arguments (excluding arguments
2763 processed by <tt>main()</tt>).</p></td>
2764 <td class="function-index-return">&mdash;</td>
2765 <td class="function-index-purpose">Loads IRCS data files.</td>
2766 </tr>
2767 <tr class="function-index" id="language.c_load_lang">
2768 <td class="function-index-name">load_lang<br/>&nbsp;&nbsp;&nbsp;(language.c)</td>
2769 <td class="function-index-params">
2770 <p class="function-param"><tt>int <i>index</i></tt>:
2771 Language index.</p>
2772 <p class="function-param"><tt>const char *<i>filename</i></tt>:
2773 Pathname of file to read data from.</p></td>
2774 <td class="function-index-return">&mdash;</td>
2775 <td class="function-index-purpose">Loads a precompiled
2776 language data file.</td>
2777 </tr>
2778 <tr class="function-index" id="tools_convert-magick.c_load_magick_14b2">
2779 <td class="function-index-name">load_magick_14b2<br/>&nbsp;&nbsp;&nbsp;(tools/convert-magick.c)</td>
2780 <td class="function-index-params">
2781 <p class="function-param"><tt>const char *<i>dir</i></tt>:
2782 Directory from which to load data.</p>
2783 <p class="function-param"><tt>int <i>verbose</i></tt>:
2784 Verbosity flag (nonzero = verbose).</p>
2785 <p class="function-param"><tt>int <i>ac</i></tt>:
2786 Number of command-line arguments in
2787 <tt><i>av</i>[]</tt>.</p>
2788 <p class="function-param"><tt>char **<i>av</i></tt>:
2789 command-line arguments (excluding arguments
2790 processed by <tt>main()</tt>).</p></td>
2791 <td class="function-index-return">&mdash;</td>
2792 <td class="function-index-purpose">Loads Magick 1.4 data files.</td>
2793 </tr>
2794 <tr class="function-index" id="modules.c_load_module">
2795 <td class="function-index-name">load_module<br/>&nbsp;&nbsp;&nbsp;(modules.c)</td>
2796 <td class="function-index-params">
2797 <p class="function-param"><tt>const char *<i>modulename</i></tt>:
2798 Name of module to load.</p></td>
2799 <td class="function-index-return"><p class="function-param"><tt>Module *</tt>:
2800 Module handle on success, <tt>NULL</tt> on error.</p></td>
2801 <td class="function-index-purpose">Loads and initializes
2802 the given module.</td>
2803 </tr>
2804 <tr class="function-index" id="tools_convert-ptlink.c_load_ptlink">
2805 <td class="function-index-name">load_ptlink<br/>&nbsp;&nbsp;&nbsp;(tools/convert-ptlink.c)</td>
2806 <td class="function-index-params">
2807 <p class="function-param"><tt>const char *<i>dir</i></tt>:
2808 Directory from which to load data.</p>
2809 <p class="function-param"><tt>int <i>verbose</i></tt>:
2810 Verbosity flag (nonzero = verbose).</p>
2811 <p class="function-param"><tt>int <i>ac</i></tt>:
2812 Number of command-line arguments in
2813 <tt><i>av</i>[]</tt>.</p>
2814 <p class="function-param"><tt>char **<i>av</i></tt>:
2815 command-line arguments (excluding arguments
2816 processed by <tt>main()</tt>).</p></td>
2817 <td class="function-index-return">&mdash;</td>
2818 <td class="function-index-purpose">Loads PTlink data files.</td>
2819 </tr>
2820 <tr class="function-index" id="tools_convert-sirv.c_load_sirv">
2821 <td class="function-index-name">load_sirv<br/>&nbsp;&nbsp;&nbsp;(tools/convert-sirv.c)</td>
2822 <td class="function-index-params">
2823 <p class="function-param"><tt>const char *<i>dir</i></tt>:
2824 Directory from which to load data.</p>
2825 <p class="function-param"><tt>int <i>verbose</i></tt>:
2826 Verbosity flag (nonzero = verbose).</p>
2827 <p class="function-param"><tt>int <i>ac</i></tt>:
2828 Number of command-line arguments in
2829 <tt><i>av</i>[]</tt>.</p>
2830 <p class="function-param"><tt>char **<i>av</i></tt>:
2831 command-line arguments (excluding arguments
2832 processed by <tt>main()</tt>).</p></td>
2833 <td class="function-index-return">&mdash;</td>
2834 <td class="function-index-purpose">Loads Sirv data files.</td>
2835 </tr>
2836 <tr class="function-index" id="tools_convert-trircd.c_load_trircd">
2837 <td class="function-index-name">load_trircd<br/>&nbsp;&nbsp;&nbsp;(tools/convert-trircd.c)</td>
2838 <td class="function-index-params">
2839 <p class="function-param"><tt>const char *<i>dir</i></tt>:
2840 Directory from which to load data.</p>
2841 <p class="function-param"><tt>int <i>verbose</i></tt>:
2842 Verbosity flag (nonzero = verbose).</p>
2843 <p class="function-param"><tt>int <i>ac</i></tt>:
2844 Number of command-line arguments in
2845 <tt><i>av</i>[]</tt>.</p>
2846 <p class="function-param"><tt>char **<i>av</i></tt>:
2847 command-line arguments (excluding arguments
2848 processed by <tt>main()</tt>).</p></td>
2849 <td class="function-index-return">&mdash;</td>
2850 <td class="function-index-purpose">Loads trircd data files.</td>
2851 </tr>
2852 <tr class="function-index" id="tools_convert-magick.c_load_wrecked_1_2">
2853 <td class="function-index-name">load_wrecked_1_2<br/>&nbsp;&nbsp;&nbsp;(tools/convert-magick.c)</td>
2854 <td class="function-index-params">
2855 <p class="function-param"><tt>const char *<i>dir</i></tt>:
2856 Directory from which to load data.</p>
2857 <p class="function-param"><tt>int <i>verbose</i></tt>:
2858 Verbosity flag (nonzero = verbose).</p>
2859 <p class="function-param"><tt>int <i>ac</i></tt>:
2860 Number of command-line arguments in
2861 <tt><i>av</i>[]</tt>.</p>
2862 <p class="function-param"><tt>char **<i>av</i></tt>:
2863 command-line arguments (excluding arguments
2864 processed by <tt>main()</tt>).</p></td>
2865 <td class="function-index-return">&mdash;</td>
2866 <td class="function-index-purpose">Loads Wrecked 1.2 data files.</td>
2867 </tr>
2868 <tr class="function-index" id="main.c_lock_data">
2869 <td class="function-index-name">lock_data<br/>&nbsp;&nbsp;&nbsp;(main.c)</td>
2870 <td class="function-index-params">&mdash;</td>
2871 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
2872 Nonzero on success, zero on error.</p></td>
2873 <td class="function-index-purpose">Locks the data
2874 directory.</td>
2875 </tr>
2876 <tr class="function-index" id="log.h_log">
2877 <td class="function-index-name">log<br/>&nbsp;&nbsp;&nbsp;(log.c)</td>
2878 <td class="function-index-params">
2879 <p class="function-param"><tt>const char *<i>fmt</i></tt>:
2880 <tt>printf()</tt>-style log message format
2881 string.</p>
2882 <p class="function-param"><tt><i>...</i></tt>:
2883 Format arguments.</p></td>
2884 <td class="function-index-return">&mdash;</td>
2885 <td class="function-index-purpose">Writes a message to the
2886 log file.</td>
2887 </tr>
2888 <tr class="function-index" id="log.h_log_debug">
2889 <td class="function-index-name">log_debug<br/>&nbsp;&nbsp;&nbsp;(log.c)</td>
2890 <td class="function-index-params">
2891 <p class="function-param"><tt>int <i>debuglevel</i></tt>:
2892 Minimum debug level at which to write
2893 message.</p>
2894 <p class="function-param"><tt>const char *<i>fmt</i></tt>:
2895 <tt>printf()</tt>-style log message format
2896 string.</p>
2897 <p class="function-param"><tt><i>...</i></tt>:
2898 Format arguments.</p></td>
2899 <td class="function-index-return">&mdash;</td>
2900 <td class="function-index-purpose">Writes a debug message
2901 to the log file at a certain debug level.</td>
2902 </tr>
2903 <tr class="function-index" id="log.c_log_is_open">
2904 <td class="function-index-name">log_is_open<br/>&nbsp;&nbsp;&nbsp;(log.c)</td>
2905 <td class="function-index-params">&mdash;</td>
2906 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
2907 Nonzero if a log file is open.</p></td>
2908 <td class="function-index-purpose">Returns whether a log
2909 file is currently open.</td>
2910 </tr>
2911 <tr class="function-index" id="log.h_log_perror">
2912 <td class="function-index-name">log_perror<br/>&nbsp;&nbsp;&nbsp;(log.c)</td>
2913 <td class="function-index-params">
2914 <p class="function-param"><tt>const char *<i>fmt</i></tt>:
2915 <tt>printf()</tt>-style log message format
2916 string.</p>
2917 <p class="function-param"><tt><i>...</i></tt>:
2918 Format arguments.</p></td>
2919 <td class="function-index-return">&mdash;</td>
2920 <td class="function-index-purpose">Writes a message to the
2921 log file, appending a system error string.</td>
2922 </tr>
2923 <tr class="function-index" id="log.h_log_perror_debug">
2924 <td class="function-index-name">log_perror_debug<br/>&nbsp;&nbsp;&nbsp;(log.c)</td>
2925 <td class="function-index-params">
2926 <p class="function-param"><tt>int <i>debuglevel</i></tt>:
2927 Minimum debug level at which to write
2928 message.</p>
2929 <p class="function-param"><tt>const char *<i>fmt</i></tt>:
2930 <tt>printf()</tt>-style log message format
2931 string.</p>
2932 <p class="function-param"><tt><i>...</i></tt>:
2933 Format arguments.</p></td>
2934 <td class="function-index-return">&mdash;</td>
2935 <td class="function-index-purpose">Writes a debug message
2936 to the log file at a certain debug level, appending
2937 a system error string.</td>
2938 </tr>
2939 <tr class="function-index" id="log.c_logprintf">
2940 <td class="function-index-name">logprintf<br/>&nbsp;&nbsp;&nbsp;(log.c)</td>
2941 <td class="function-index-params">
2942 <p class="function-param"><tt>const char *<i>fmt</i></tt>:
2943 Format string.</p>
2944 <p class="function-param"><tt><i>...</i></tt>:
2945 Format arguments.</p></td>
2946 <td class="function-index-return">&mdash;</td>
2947 <td class="function-index-purpose">Writes a formatted
2948 string to the log file, like <tt>fprintf()</tt>.</td>
2949 </tr>
2950 <tr class="function-index" id="log.c_logputs">
2951 <td class="function-index-name">logputs<br/>&nbsp;&nbsp;&nbsp;(log.c)</td>
2952 <td class="function-index-params">
2953 <p class="function-param"><tt>const char *<i>str</i></tt>:
2954 String to write.</p></td>
2955 <td class="function-index-return">&mdash;</td>
2956 <td class="function-index-purpose">Writes a string to the
2957 log file, like <tt>fputs()</tt> (no trailing
2958 newline is added).</td>
2959 </tr>
2960 <tr class="function-index" id="commands.c_lookup_cmd">
2961 <td class="function-index-name">lookup_cmd<br/>&nbsp;&nbsp;&nbsp;(commands.c)</td>
2962 <td class="function-index-params">
2963 <p class="function-param"><tt>Module *<i>id</i></tt>:
2964 Command list ID.</p>
2965 <p class="function-param"><tt>const char *<i>name</i></tt>:
2966 Command name.</p></td>
2967 <td class="function-index-return"><p class="function-param"><tt>Command *</tt>:
2968 Command record, or <tt>NULL</tt> if not found.</p></td>
2969 <td class="function-index-purpose">Looks up the command
2970 record for the given command in the given command
2971 list.</td>
2972 </tr>
2973 <tr class="function-index" id="language.c_lookup_language">
2974 <td class="function-index-name">lookup_language<br/>&nbsp;&nbsp;&nbsp;(language.c)</td>
2975 <td class="function-index-params">
2976 <p class="function-param"><tt>const char *<i>name</i></tt>:
2977 Name (identifier string) of language.</p></td>
2978 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
2979 Language index, or -1 if not found.</p></td>
2980 <td class="function-index-purpose">Returns the language
2981 index corresponding to a language name such as
2982 "<tt>en_us</tt>".</td>
2983 </tr>
2984 <tr class="function-index" id="language.c_lookup_string">
2985 <td class="function-index-name">lookup_string<br/>&nbsp;&nbsp;&nbsp;(language.c)</td>
2986 <td class="function-index-params">
2987 <p class="function-param"><tt>const char *<i>name</i></tt>:
2988 String identifier.</p></td>
2989 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
2990 String index.</p></td>
2991 <td class="function-index-purpose">Returns the index
2992 corresponding to the given string identifier.</td>
2993 </tr>
2994
2995 <!--============================================================-->
2996
2997 <tr class="function-index-letter" id="M">
2998 <th class="function-index-letter" colspan="5">M</th>
2999 </tr>
3000 <tr class="function-index" id="messages.c_m_info">
3001 <td class="function-index-name">m_info<br/>&nbsp;&nbsp;&nbsp;(messages.c)</td>
3002 <td class="function-index-params">
3003 <p class="function-param"><tt>char *<i>source</i></tt>:
3004 Message source.</p>
3005 <p class="function-param"><tt>int <i>ac</i></tt>:
3006 Message parameter count.</p>
3007 <p class="function-param"><tt>char **<i>av</i></tt>:
3008 Message parameter vector.</p></td>
3009 <td class="function-index-return">&mdash;</td>
3010 <td class="function-index-purpose">Default handler for the
3011 <tt>INFO</tt> message.</td>
3012 </tr>
3013 <tr class="function-index" id="messages.c_m_join">
3014 <td class="function-index-name">m_join<br/>&nbsp;&nbsp;&nbsp;(messages.c)</td>
3015 <td class="function-index-params">
3016 <p class="function-param"><tt>char *<i>source</i></tt>:
3017 Message source.</p>
3018 <p class="function-param"><tt>int <i>ac</i></tt>:
3019 Message parameter count.</p>
3020 <p class="function-param"><tt>char **<i>av</i></tt>:
3021 Message parameter vector.</p></td>
3022 <td class="function-index-return">&mdash;</td>
3023 <td class="function-index-purpose">Default handler for the
3024 <tt>JOIN</tt> message.</td>
3025 </tr>
3026 <tr class="function-index" id="messages.c_m_kick">
3027 <td class="function-index-name">m_kick<br/>&nbsp;&nbsp;&nbsp;(messages.c)</td>
3028 <td class="function-index-params">
3029 <p class="function-param"><tt>char *<i>source</i></tt>:
3030 Message source.</p>
3031 <p class="function-param"><tt>int <i>ac</i></tt>:
3032 Message parameter count.</p>
3033 <p class="function-param"><tt>char **<i>av</i></tt>:
3034 Message parameter vector.</p></td>
3035 <td class="function-index-return">&mdash;</td>
3036 <td class="function-index-purpose">Default handler for the
3037 <tt>KICK</tt> message.</td>
3038 </tr>
3039 <tr class="function-index" id="messages.c_m_kill">
3040 <td class="function-index-name">m_kill<br/>&nbsp;&nbsp;&nbsp;(messages.c)</td>
3041 <td class="function-index-params">
3042 <p class="function-param"><tt>char *<i>source</i></tt>:
3043 Message source.</p>
3044 <p class="function-param"><tt>int <i>ac</i></tt>:
3045 Message parameter count.</p>
3046 <p class="function-param"><tt>char **<i>av</i></tt>:
3047 Message parameter vector.</p></td>
3048 <td class="function-index-return">&mdash;</td>
3049 <td class="function-index-purpose">Default handler for the
3050 <tt>KILL</tt> message.</td>
3051 </tr>
3052 <tr class="function-index" id="messages.c_m_mode">
3053 <td class="function-index-name">m_mode<br/>&nbsp;&nbsp;&nbsp;(messages.c)</td>
3054 <td class="function-index-params">
3055 <p class="function-param"><tt>char *<i>source</i></tt>:
3056 Message source.</p>
3057 <p class="function-param"><tt>int <i>ac</i></tt>:
3058 Message parameter count.</p>
3059 <p class="function-param"><tt>char **<i>av</i></tt>:
3060 Message parameter vector.</p></td>
3061 <td class="function-index-return">&mdash;</td>
3062 <td class="function-index-purpose">Default handler for the
3063 <tt>MODE</tt> message.</td>
3064 </tr>
3065 <tr class="function-index" id="messages.c_m_motd">
3066 <td class="function-index-name">m_motd<br/>&nbsp;&nbsp;&nbsp;(messages.c)</td>
3067 <td class="function-index-params">
3068 <p class="function-param"><tt>char *<i>source</i></tt>:
3069 Message source.</p>
3070 <p class="function-param"><tt>int <i>ac</i></tt>:
3071 Message parameter count.</p>
3072 <p class="function-param"><tt>char **<i>av</i></tt>:
3073 Message parameter vector.</p></td>
3074 <td class="function-index-return">&mdash;</td>
3075 <td class="function-index-purpose">Default handler for the
3076 <tt>MOTD</tt> message.</td>
3077 </tr>
3078 <tr class="function-index" id="messages.c_m_nickcoll">
3079 <td class="function-index-name">m_nickcoll<br/>&nbsp;&nbsp;&nbsp;(messages.c)</td>
3080 <td class="function-index-params">
3081 <p class="function-param"><tt>char *<i>source</i></tt>:
3082 Message source.</p>
3083 <p class="function-param"><tt>int <i>ac</i></tt>:
3084 Message parameter count.</p>
3085 <p class="function-param"><tt>char **<i>av</i></tt>:
3086 Message parameter vector.</p></td>
3087 <td class="function-index-return">&mdash;</td>
3088 <td class="function-index-purpose">Default handler for the
3089 nickname collision numeric (436).</td>
3090 </tr>
3091 <tr class="function-index" id="messages.c_m_part">
3092 <td class="function-index-name">m_part<br/>&nbsp;&nbsp;&nbsp;(messages.c)</td>
3093 <td class="function-index-params">
3094 <p class="function-param"><tt>char *<i>source</i></tt>:
3095 Message source.</p>
3096 <p class="function-param"><tt>int <i>ac</i></tt>:
3097 Message parameter count.</p>
3098 <p class="function-param"><tt>char **<i>av</i></tt>:
3099 Message parameter vector.</p></td>
3100 <td class="function-index-return">&mdash;</td>
3101 <td class="function-index-purpose">Default handler for the
3102 <tt>PART</tt> message.</td>
3103 </tr>
3104 <tr class="function-index" id="messages.c_m_ping">
3105 <td class="function-index-name">m_ping<br/>&nbsp;&nbsp;&nbsp;(messages.c)</td>
3106 <td class="function-index-params">
3107 <p class="function-param"><tt>char *<i>source</i></tt>:
3108 Message source.</p>
3109 <p class="function-param"><tt>int <i>ac</i></tt>:
3110 Message parameter count.</p>
3111 <p class="function-param"><tt>char **<i>av</i></tt>:
3112 Message parameter vector.</p></td>
3113 <td class="function-index-return">&mdash;</td>
3114 <td class="function-index-purpose">Default handler for the
3115 <tt>PING</tt> message.</td>
3116 </tr>
3117 <tr class="function-index" id="messages.c_m_privmsg">
3118 <td class="function-index-name">m_privmsg<br/>&nbsp;&nbsp;&nbsp;(messages.c)</td>
3119 <td class="function-index-params">
3120 <p class="function-param"><tt>char *<i>source</i></tt>:
3121 Message source.</p>
3122 <p class="function-param"><tt>int <i>ac</i></tt>:
3123 Message parameter count.</p>
3124 <p class="function-param"><tt>char **<i>av</i></tt>:
3125 Message parameter vector.</p></td>
3126 <td class="function-index-return">&mdash;</td>
3127 <td class="function-index-purpose">Default handler for the
3128 <tt>PRIVMSG</tt> message.</td>
3129 </tr>
3130 <tr class="function-index" id="messages.c_m_quit">
3131 <td class="function-index-name">m_quit<br/>&nbsp;&nbsp;&nbsp;(messages.c)</td>
3132 <td class="function-index-params">
3133 <p class="function-param"><tt>char *<i>source</i></tt>:
3134 Message source.</p>
3135 <p class="function-param"><tt>int <i>ac</i></tt>:
3136 Message parameter count.</p>
3137 <p class="function-param"><tt>char **<i>av</i></tt>:
3138 Message parameter vector.</p></td>
3139 <td class="function-index-return">&mdash;</td>
3140 <td class="function-index-purpose">Default handler for the
3141 <tt>QUIT</tt> message.</td>
3142 </tr>
3143 <tr class="function-index" id="messages.c_m_server">
3144 <td class="function-index-name">m_server<br/>&nbsp;&nbsp;&nbsp;(messages.c)</td>
3145 <td class="function-index-params">
3146 <p class="function-param"><tt>char *<i>source</i></tt>:
3147 Message source.</p>
3148 <p class="function-param"><tt>int <i>ac</i></tt>:
3149 Message parameter count.</p>
3150 <p class="function-param"><tt>char **<i>av</i></tt>:
3151 Message parameter vector.</p></td>
3152 <td class="function-index-return">&mdash;</td>
3153 <td class="function-index-purpose">Default handler for the
3154 <tt>SERVER</tt> message.</td>
3155 </tr>
3156 <tr class="function-index" id="messages.c_m_squit">
3157 <td class="function-index-name">m_squit<br/>&nbsp;&nbsp;&nbsp;(messages.c)</td>
3158 <td class="function-index-params">
3159 <p class="function-param"><tt>char *<i>source</i></tt>:
3160 Message source.</p>
3161 <p class="function-param"><tt>int <i>ac</i></tt>:
3162 Message parameter count.</p>
3163 <p class="function-param"><tt>char **<i>av</i></tt>:
3164 Message parameter vector.</p></td>
3165 <td class="function-index-return">&mdash;</td>
3166 <td class="function-index-purpose">Default handler for the
3167 <tt>SQUIT</tt> message.</td>
3168 </tr>
3169 <tr class="function-index" id="messages.c_m_stats">
3170 <td class="function-index-name">m_stats<br/>&nbsp;&nbsp;&nbsp;(messages.c)</td>
3171 <td class="function-index-params">
3172 <p class="function-param"><tt>char *<i>source</i></tt>:
3173 Message source.</p>
3174 <p class="function-param"><tt>int <i>ac</i></tt>:
3175 Message parameter count.</p>
3176 <p class="function-param"><tt>char **<i>av</i></tt>:
3177 Message parameter vector.</p></td>
3178 <td class="function-index-return">&mdash;</td>
3179 <td class="function-index-purpose">Default handler for the
3180 <tt>STATS</tt> message.</td>
3181 </tr>
3182 <tr class="function-index" id="messages.c_m_time">
3183 <td class="function-index-name">m_time<br/>&nbsp;&nbsp;&nbsp;(messages.c)</td>
3184 <td class="function-index-params">
3185 <p class="function-param"><tt>char *<i>source</i></tt>:
3186 Message source.</p>
3187 <p class="function-param"><tt>int <i>ac</i></tt>:
3188 Message parameter count.</p>
3189 <p class="function-param"><tt>char **<i>av</i></tt>:
3190 Message parameter vector.</p></td>
3191 <td class="function-index-return">&mdash;</td>
3192 <td class="function-index-purpose">Default handler for the
3193 <tt>TIME</tt> message.</td>
3194 </tr>
3195 <tr class="function-index" id="messages.c_m_topic">
3196 <td class="function-index-name">m_topic<br/>&nbsp;&nbsp;&nbsp;(messages.c)</td>
3197 <td class="function-index-params">
3198 <p class="function-param"><tt>char *<i>source</i></tt>:
3199 Message source.</p>
3200 <p class="function-param"><tt>int <i>ac</i></tt>:
3201 Message parameter count.</p>
3202 <p class="function-param"><tt>char **<i>av</i></tt>:
3203 Message parameter vector.</p></td>
3204 <td class="function-index-return">&mdash;</td>
3205 <td class="function-index-purpose">Default handler for the
3206 <tt>TOPIC</tt> message.</td>
3207 </tr>
3208 <tr class="function-index" id="messages.c_m_version">
3209 <td class="function-index-name">m_version<br/>&nbsp;&nbsp;&nbsp;(messages.c)</td>
3210 <td class="function-index-params">
3211 <p class="function-param"><tt>char *<i>source</i></tt>:
3212 Message source.</p>
3213 <p class="function-param"><tt>int <i>ac</i></tt>:
3214 Message parameter count.</p>
3215 <p class="function-param"><tt>char **<i>av</i></tt>:
3216 Message parameter vector.</p></td>
3217 <td class="function-index-return">&mdash;</td>
3218 <td class="function-index-purpose">Default handler for the
3219 <tt>VERSION</tt> message.</td>
3220 </tr>
3221 <tr class="function-index" id="messages.c_m_whois">
3222 <td class="function-index-name">m_whois<br/>&nbsp;&nbsp;&nbsp;(messages.c)</td>
3223 <td class="function-index-params">
3224 <p class="function-param"><tt>char *<i>source</i></tt>:
3225 Message source.</p>
3226 <p class="function-param"><tt>int <i>ac</i></tt>:
3227 Message parameter count.</p>
3228 <p class="function-param"><tt>char **<i>av</i></tt>:
3229 Message parameter vector.</p></td>
3230 <td class="function-index-return">&mdash;</td>
3231 <td class="function-index-purpose">Default handler for the
3232 <tt>WHOIS</tt> message.</td>
3233 </tr>
3234 <tr class="function-index" id="tools_convert-magick.c_m14_load_akill">
3235 <td class="function-index-name">m14_load_akill<br/>&nbsp;&nbsp;&nbsp;(tools/convert-magick.c)</td>
3236 <td class="function-index-params">
3237 <p class="function-param"><tt>const char *<i>dir</i></tt>:
3238 Directory from which to load data.</p>
3239 <p class="function-param"><tt>int32 <i>version</i></tt>:
3240 File format version (5 for Magick 1.4, 6
3241 for Wrecked 1.2).</p></td>
3242 <td class="function-index-return">&mdash;</td>
3243 <td class="function-index-purpose">Loads the Magick/Wrecked
3244 <tt>akill.db</tt> data file.</td>
3245 </tr>
3246 <tr class="function-index" id="tools_convert-magick.c_m14_load_chan">
3247 <td class="function-index-name">m14_load_chan<br/>&nbsp;&nbsp;&nbsp;(tools/convert-magick.c)</td>
3248 <td class="function-index-params">
3249 <p class="function-param"><tt>const char *<i>dir</i></tt>:
3250 Directory from which to load data.</p>
3251 <p class="function-param"><tt>int32 <i>version</i></tt>:
3252 File format version (5 for Magick 1.4, 6
3253 for Wrecked 1.2).</p></td>
3254 <td class="function-index-return">&mdash;</td>
3255 <td class="function-index-purpose">Loads the Magick/Wrecked
3256 <tt>chan.db</tt> data file.</td>
3257 </tr>
3258 <tr class="function-index" id="tools_convert-magick.c_m14_load_clone">
3259 <td class="function-index-name">m14_load_clone<br/>&nbsp;&nbsp;&nbsp;(tools/convert-magick.c)</td>
3260 <td class="function-index-params">
3261 <p class="function-param"><tt>const char *<i>dir</i></tt>:
3262 Directory from which to load data.</p>
3263 <p class="function-param"><tt>int32 <i>version</i></tt>:
3264 File format version (5 for Magick 1.4, 6
3265 for Wrecked 1.2).</p></td>
3266 <td class="function-index-return">&mdash;</td>
3267 <td class="function-index-purpose">Loads the Magick/Wrecked
3268 <tt>clone.db</tt> data file.</td>
3269 </tr>
3270 <tr class="function-index" id="tools_convert-magick.c_m14_load_memo">
3271 <td class="function-index-name">m14_load_memo<br/>&nbsp;&nbsp;&nbsp;(tools/convert-magick.c)</td>
3272 <td class="function-index-params">
3273 <p class="function-param"><tt>const char *<i>dir</i></tt>:
3274 Directory from which to load data.</p>
3275 <p class="function-param"><tt>int32 <i>version</i></tt>:
3276 File format version (5 for Magick 1.4, 6
3277 for Wrecked 1.2).</p></td>
3278 <td class="function-index-return">&mdash;</td>
3279 <td class="function-index-purpose">Loads the Magick/Wrecked
3280 <tt>memo.db</tt> data file.</td>
3281 </tr>
3282 <tr class="function-index" id="tools_convert-magick.c_m14_load_message">
3283 <td class="function-index-name">m14_load_message<br/>&nbsp;&nbsp;&nbsp;(tools/convert-magick.c)</td>
3284 <td class="function-index-params">
3285 <p class="function-param"><tt>const char *<i>dir</i></tt>:
3286 Directory from which to load data.</p>
3287 <p class="function-param"><tt>int32 <i>version</i></tt>:
3288 File format version (5 for Magick 1.4, 6
3289 for Wrecked 1.2).</p></td>
3290 <td class="function-index-return">&mdash;</td>
3291 <td class="function-index-purpose">Loads the Magick/Wrecked
3292 <tt>message.db</tt> data file.</td>
3293 </tr>
3294 <tr class="function-index" id="tools_convert-magick.c_m14_load_nick">
3295 <td class="function-index-name">m14_load_nick<br/>&nbsp;&nbsp;&nbsp;(tools/convert-magick.c)</td>
3296 <td class="function-index-params">
3297 <p class="function-param"><tt>const char *<i>dir</i></tt>:
3298 Directory from which to load data.</p>
3299 <p class="function-param"><tt>int32 <i>version</i></tt>:
3300 File format version (5 for Magick 1.4, 6
3301 for Wrecked 1.2).</p></td>
3302 <td class="function-index-return">&mdash;</td>
3303 <td class="function-index-purpose">Loads the Magick/Wrecked
3304 <tt>nick.db</tt> data file.</td>
3305 </tr>
3306 <tr class="function-index" id="tools_convert-magick.c_m14_load_sop">
3307 <td class="function-index-name">m14_load_sop<br/>&nbsp;&nbsp;&nbsp;(tools/convert-magick.c)</td>
3308 <td class="function-index-params">
3309 <p class="function-param"><tt>const char *<i>dir</i></tt>:
3310 Directory from which to load data.</p>
3311 <p class="function-param"><tt>int32 <i>version</i></tt>:
3312 File format version (5 for Magick 1.4, 6
3313 for Wrecked 1.2).</p></td>
3314 <td class="function-index-return">&mdash;</td>
3315 <td class="function-index-purpose">Loads the Magick/Wrecked
3316 <tt>sop.db</tt> data file.</td>
3317 </tr>
3318 <tr class="function-index" id="tools_convert-magick.c_magick_convert_level">
3319 <td class="function-index-name">magick_convert_level<br/>&nbsp;&nbsp;&nbsp;(tools/convert-magick.c)</td>
3320 <td class="function-index-params">
3321 <p class="function-param"><tt>int16 <i>lev</i></tt>:
3322 Old access level.</p></td>
3323 <td class="function-index-return"><p class="function-param"><tt>int16</tt>:
3324 New access level.</p></td>
3325 <td class="function-index-purpose">Converts channel access
3326 levels from values used in Magick 1.4 to values
3327 used in current Services versions.</td>
3328 </tr>
3329 <tr class="function-index" id="main.c_main">
3330 <td class="function-index-name">main<br/>&nbsp;&nbsp;&nbsp;(main.c)</td>
3331 <td class="function-index-params">
3332 <p class="function-param"><tt>int <i>ac</i></tt>:
3333 Command-line argument count.</p>
3334 <p class="function-param"><tt>char **<i>av</i></tt>:
3335 Command-line argument vector.</p>
3336 <p class="function-param"><tt>char **<i>envp</i></tt>:
3337 Environment pointer.</p></td>
3338 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
3339 Program exit code (0 on success, 1 on failure).</p></td>
3340 <td class="function-index-purpose">Main routine for
3341 <tt>ircservices</tt>.</td>
3342 </tr>
3343 <tr class="function-index" id="lang_langcomp.c_main">
3344 <td class="function-index-name">main<br/>&nbsp;&nbsp;&nbsp;(lang/langcomp.c)</td>
3345 <td class="function-index-params">
3346 <p class="function-param"><tt>int <i>ac</i></tt>:
3347 Command-line argument count.</p>
3348 <p class="function-param"><tt>char **<i>av</i></tt>:
3349 Command-line argument vector.</p></td>
3350 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
3351 Program exit code (0 on success, 1 on failure).</p></td>
3352 <td class="function-index-purpose">Main routine for
3353 <tt>langcomp</tt>.</td>
3354 </tr>
3355 <tr class="function-index" id="tools_convert-db.c_main">
3356 <td class="function-index-name">main<br/>&nbsp;&nbsp;&nbsp;(tools/convert-db.c)</td>
3357 <td class="function-index-params">
3358 <p class="function-param"><tt>int <i>ac</i></tt>:
3359 Command-line argument count.</p>
3360 <p class="function-param"><tt>char **<i>av</i></tt>:
3361 Command-line argument vector.</p></td>
3362 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
3363 Program exit code (0 on success, 1 on failure).</p></td>
3364 <td class="function-index-purpose">Main routine for
3365 <tt>convert-db</tt>.</td>
3366 </tr>
3367 <tr class="function-index" id="users.c_make_guest_nick">
3368 <td class="function-index-name">make_guest_nick<br/>&nbsp;&nbsp;&nbsp;(users.c)</td>
3369 <td class="function-index-params">&mdash;</td>
3370 <td class="function-index-return"><p class="function-param"><tt>char *</tt>:
3371 New guest nickname.</p></td>
3372 <td class="function-index-purpose">Generates a new guest nickname.</td>
3373 </tr>
3374 <tr class="function-index" id="tools_convert-db.c_makechan">
3375 <td class="function-index-name">makechan<br/>&nbsp;&nbsp;&nbsp;(tools/convert-db.c)</td>
3376 <td class="function-index-params">
3377 <p class="function-param"><tt>const char *<i>name</i></tt>:
3378 Name of channel to create.</p></td>
3379 <td class="function-index-return"><p class="function-param"><tt>ChannelInfo *</tt>:
3380 The newly-created <tt>ChannelInfo</tt>.</p></td>
3381 <td class="function-index-purpose">Creates a new
3382 <tt>ChannelInfo</tt> structure for the given
3383 channel name and adds it to the loaded channel
3384 list. Aborts <tt>convert-db</tt> on failure.</td>
3385 </tr>
3386 <tr class="function-index" id="tools_convert-db.c_makenick">
3387 <td class="function-index-name">makenick<br/>&nbsp;&nbsp;&nbsp;(tools/convert-db.c)</td>
3388 <td class="function-index-params">
3389 <p class="function-param"><tt>const char *<i>nick</i></tt>:
3390 Nickname to create.</p>
3391 <p class="function-param"><tt>NickGroupInfo **<i>nickgroup_ret</i></tt>:
3392 Pointer to a variable to receive the
3393 newly-created <tt>NickGroupInfo</tt>
3394 structure; if <tt>NULL</tt>, no nickname
3395 group is created.</p></td>
3396 <td class="function-index-return"><p class="function-param"><tt>NickInfo *</tt>:
3397 The newly-created <tt>NickInfo</tt>.</p></td>
3398 <td class="function-index-purpose">Creates a new
3399 <tt>NickInfo</tt> structure for the given nickname
3400 and adds it to the loaded nickname list. If
3401 <tt><i>nickgroup_ret</i></tt> is not <tt>NULL</tt>,
3402 a nickname group is created for the nickname as
3403 well; otherwise the nickname's group ID is set to
3404 zero.</td>
3405 </tr>
3406 <tr class="function-index" id="language.c_maketime">
3407 <td class="function-index-name">maketime<br/>&nbsp;&nbsp;&nbsp;(language.c)</td>
3408 <td class="function-index-params">
3409 <p class="function-param"><tt>const NickGroupInfo *<i>ngi</i></tt>:
3410 Nickname group record for user to which
3411 message will be sent, or <tt>NULL</tt> if none.</p>
3412 <p class="function-param"><tt>time_t <i>time</i></tt>:
3413 Time duration, in seconds.</p>
3414 <p class="function-param"><tt>int <i>flags</i></tt>:
3415 Zero or more <tt>MT_*</tt> flags.</p></td>
3416 <td class="function-index-return"><p class="function-param"><tt>char *</tt>:
3417 String describing time duration.</p></td>
3418 <td class="function-index-purpose">Returns a string (like
3419 "5 hours" or "2 minutes, 20 seconds") describing
3420 the given duration of time.</td>
3421 </tr>
3422 <tr class="function-index" id="language.c_mapstring">
3423 <td class="function-index-name">mapstring<br/>&nbsp;&nbsp;&nbsp;(language.c)</td>
3424 <td class="function-index-params">
3425 <p class="function-param"><tt>int <i>old</i></tt>:
3426 String index to remap.</p>
3427 <p class="function-param"><tt>int <i>new</i></tt>:
3428 New string index.</p></td>
3429 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
3430 Previous mapping (string index) of <tt><i>old</i></tt>.</p></td>
3431 <td class="function-index-purpose">Remaps a string index,
3432 so that requests for string <tt><i>old</i></tt>
3433 return string <tt><i>new</i></tt> instead.</td>
3434 </tr>
3435 <tr class="function-index" id="users.c_match_usermask">
3436 <td class="function-index-name">match_usermask<br/>&nbsp;&nbsp;&nbsp;(users.c)</td>
3437 <td class="function-index-params">
3438 <p class="function-param"><tt>const char *<i>mask</i></tt>:
3439 Mask to match against.</p>
3440 <p class="function-param"><tt>const User *<i>user</i></tt>:
3441 User to check.</p></td>
3442 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
3443 Nonzero if the user matches the mask, else zero.</p></td>
3444 <td class="function-index-purpose">Returns whether the user
3445 matches the given user/host wildcard mask. The
3446 fake hostname and IP address are also checked if
3447 available.</td>
3448 </tr>
3449 <tr class="function-index" id="misc.c_match_wild">
3450 <td class="function-index-name">match_wild<br/>&nbsp;&nbsp;&nbsp;(misc.c)</td>
3451 <td class="function-index-params">
3452 <p class="function-param"><tt>const char *<i>pattern</i></tt>:
3453 Pattern to match against.</p>
3454 <p class="function-param"><tt>const char *<i>str</i></tt>:
3455 String to check.</p></td>
3456 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
3457 Nonzero if the string matches the pattern, else
3458 zero.</p></td>
3459 <td class="function-index-purpose">Checks whether a string
3460 matches a wildcard pattern.</td>
3461 </tr>
3462 <tr class="function-index" id="misc.c_match_wild_nocase">
3463 <td class="function-index-name">match_wild_nocase<br/>&nbsp;&nbsp;&nbsp;(misc.c)</td>
3464 <td class="function-index-params">
3465 <p class="function-param"><tt>const char *<i>pattern</i></tt>:
3466 Pattern to match against.</p>
3467 <p class="function-param"><tt>const char *<i>str</i></tt>:
3468 String to check.</p></td>
3469 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
3470 Nonzero if the string matches the pattern, else
3471 zero.</p></td>
3472 <td class="function-index-purpose">Checks whether a string
3473 matches a wildcard pattern, case-insensitively.</td>
3474 </tr>
3475 <tr class="function-index" id="memory.c_MCcalloc">
3476 <td class="function-index-name">MCcalloc<br/>&nbsp;&nbsp;&nbsp;(memory.c)</td>
3477 <td class="function-index-params">
3478 <p class="function-param"><tt>long <i>els</i></tt>:
3479 Number of size units to allocate.</p>
3480 <p class="function-param"><tt>long <i>elsize</i></tt>:
3481 Size of a single unit for allocation.</p>
3482 <p class="function-param"><tt>const char *<i>file</i></tt>:
3483 Caller's source file name.</p>
3484 <p class="function-param"><tt>int <i>line</i></tt>:
3485 Caller's source line number.</p></td>
3486 <td class="function-index-return"><p class="function-param"><tt>void *</tt>:
3487 Allocated memory, or <tt>NULL</tt> if allocation
3488 fails.</p></td>
3489 <td class="function-index-purpose">Memory-checking wrapper
3490 for <tt>calloc()</tt>.</td>
3491 </tr>
3492 <tr class="function-index" id="memory.c_MCfree">
3493 <td class="function-index-name">MCfree<br/>&nbsp;&nbsp;&nbsp;(memory.c)</td>
3494 <td class="function-index-params">
3495 <p class="function-param"><tt>void *<i>ptr</i></tt>:
3496 Memory to be released.</p>
3497 <p class="function-param"><tt>const char *<i>file</i></tt>:
3498 Caller's source file name.</p>
3499 <p class="function-param"><tt>int <i>line</i></tt>:
3500 Caller's source line number.</p></td>
3501 <td class="function-index-return">&mdash;</td>
3502 <td class="function-index-purpose">Memory-checking wrapper
3503 for <tt>free()</tt>.</td>
3504 </tr>
3505 <tr class="function-index" id="memory.c_MCmalloc">
3506 <td class="function-index-name">MCmalloc<br/>&nbsp;&nbsp;&nbsp;(memory.c)</td>
3507 <td class="function-index-params">
3508 <p class="function-param"><tt>long <i>size</i></tt>:
3509 Size of memory to allocate, in bytes.</p>
3510 <p class="function-param"><tt>const char *<i>file</i></tt>:
3511 Caller's source file name.</p>
3512 <p class="function-param"><tt>int <i>line</i></tt>:
3513 Caller's source line number.</p></td>
3514 <td class="function-index-return"><p class="function-param"><tt>void *</tt>:
3515 Allocated memory, or <tt>NULL</tt> if allocation
3516 fails.</p></td>
3517 <td class="function-index-purpose">Memory-checking wrapper
3518 for <tt>malloc()</tt>.</td>
3519 </tr>
3520 <tr class="function-index" id="memory.c_MCrealloc">
3521 <td class="function-index-name">MCrealloc<br/>&nbsp;&nbsp;&nbsp;(memory.c)</td>
3522 <td class="function-index-params">
3523 <p class="function-param"><tt>void *<i>oldptr</i></tt>:
3524 Memory to be reallocated.</p>
3525 <p class="function-param"><tt>long <i>newsize</i></tt>:
3526 New size of memory region.</p>
3527 <p class="function-param"><tt>const char *<i>file</i></tt>:
3528 Caller's source file name.</p>
3529 <p class="function-param"><tt>int <i>line</i></tt>:
3530 Caller's source line number.</p></td>
3531 <td class="function-index-return"><p class="function-param"><tt>void *</tt>:
3532 New memory region, or <tt>NULL</tt> if reallocation
3533 fails.</p></td>
3534 <td class="function-index-purpose">Memory-checking wrapper
3535 for <tt>realloc()</tt>.</td>
3536 </tr>
3537 <tr class="function-index" id="memory.c_MCstrdup">
3538 <td class="function-index-name">MCstrdup<br/>&nbsp;&nbsp;&nbsp;(memory.c)</td>
3539 <td class="function-index-params">
3540 <p class="function-param"><tt>const char *<i>s</i></tt>:
3541 String to duplicate.</p>
3542 <p class="function-param"><tt>const char *<i>file</i></tt>:
3543 Caller's source file name.</p>
3544 <p class="function-param"><tt>int <i>line</i></tt>:
3545 Caller's source line number.</p></td>
3546 <td class="function-index-return"><p class="function-param"><tt>char *</tt>:
3547 Duplicated string, or <tt>NULL</tt> if duplication
3548 fails.</p></td>
3549 <td class="function-index-purpose">Memory-checking wrapper
3550 for <tt>strdup()</tt>.</td>
3551 </tr>
3552 <tr class="function-index" id="misc.c_merge_args">
3553 <td class="function-index-name">merge_args<br/>&nbsp;&nbsp;&nbsp;(misc.c)</td>
3554 <td class="function-index-params">
3555 <p class="function-param"><tt>int <i>argc</i></tt>:
3556 Argument count.</p>
3557 <p class="function-param"><tt>char **<i>argv</i></tt>:
3558 Argument array.</p></td>
3559 <td class="function-index-return"><p class="function-param"><tt>char *</tt>:
3560 Result string (stored in a static buffer).</p></td>
3561 <td class="function-index-purpose">Joins the given
3562 arguments with spaces to form a single string, and
3563 returns that string.</td>
3564 </tr>
3565 <tr class="function-index" id="messages.c_messages_cleanup">
3566 <td class="function-index-name">messages_cleanup<br/>&nbsp;&nbsp;&nbsp;(messages.c)</td>
3567 <td class="function-index-params">&mdash;</td>
3568 <td class="function-index-return">&mdash;</td>
3569 <td class="function-index-purpose">Performs cleanup actions
3570 for the message handling subsystem.</td>
3571 </tr>
3572 <tr class="function-index" id="messages.c_messages_init">
3573 <td class="function-index-name">messages_init<br/>&nbsp;&nbsp;&nbsp;(messages.c)</td>
3574 <td class="function-index-params">
3575 <p class="function-param"><tt>int <i>ac</i></tt>:
3576 Command-line argument count.</p>
3577 <p class="function-param"><tt>char **<i>av</i></tt>:
3578 Command-line argument vector.</p></td>
3579 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
3580 Nonzero on success, zero on failure.</p></td>
3581 <td class="function-index-purpose">Performs initialization
3582 actions for the message handling subsystem.</td>
3583 </tr>
3584 <tr class="function-index" id="modes.c_mode_char_to_flag">
3585 <td class="function-index-name">mode_char_to_flag<br/>&nbsp;&nbsp;&nbsp;(modes.c)</td>
3586 <td class="function-index-params">
3587 <p class="function-param"><tt>char <i>c</i></tt>:
3588 Mode character to convert.</p>
3589 <p class="function-param"><tt>int <i>which</i></tt>:
3590 Mode type (<tt>MODE_USER</tt>, etc.)</p></td>
3591 <td class="function-index-return"><p class="function-param"><tt>int32</tt>:
3592 Equivalent mode flag, 0 if the mode character is
3593 not recognized, or <tt>MODE_INVALID</tt> if the
3594 mode character is recognized but has no equivalent
3595 flag.</p></td>
3596 <td class="function-index-purpose">Converts a mode character
3597 to a mode flag value.</td>
3598 </tr>
3599 <tr class="function-index" id="modes.c_mode_char_to_params">
3600 <td class="function-index-name">mode_char_to_params<br/>&nbsp;&nbsp;&nbsp;(modes.c)</td>
3601 <td class="function-index-params">
3602 <p class="function-param"><tt>char <i>c</i></tt>:
3603 Mode character.</p>
3604 <p class="function-param"><tt>int <i>which</i></tt>:
3605 Mode type (<tt>MODE_USER</tt>, etc.)</p></td>
3606 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
3607 The number of parameters used by the mode, or -1 if
3608 the mode is not recognized.</p></td>
3609 <td class="function-index-purpose">Returns the number of
3610 parameters used when adding or removing the mode.
3611 The number of parameters for <tt>+<i>c</i></tt> is
3612 returned in bits 8-15, and the number of parameters
3613 for <tt>-<i>c</i></tt> is returned in bits 0-7.</td>
3614 </tr>
3615 <tr class="function-index" id="modes.c_mode_flag_to_char">
3616 <td class="function-index-name">mode_flag_to_char<br/>&nbsp;&nbsp;&nbsp;(modes.c)</td>
3617 <td class="function-index-params">
3618 <p class="function-param"><tt>int32 <i>f</i></tt>:
3619 Mode flag to convert.</p>
3620 <p class="function-param"><tt>int <i>which</i></tt>:
3621 Mode type (<tt>MODE_USER</tt>, etc.)</p></td>
3622 <td class="function-index-return"><p class="function-param"><tt>char</tt>:
3623 Equivalent mode character, or <tt>MODE_INVALID</tt>
3624 if the flag is not recognized.</p></td>
3625 <td class="function-index-purpose">Converts a mode flag
3626 value to a mode character. If more than one flag
3627 bit is set in <tt><i>f</i></tt>, the highest one
3628 (the one with the greatest value) is used.</td>
3629 </tr>
3630 <tr class="function-index" id="modes.c_mode_flags_to_string">
3631 <td class="function-index-name">mode_flags_to_string<br/>&nbsp;&nbsp;&nbsp;(modes.c)</td>
3632 <td class="function-index-params">
3633 <p class="function-param"><tt>int32 <i>flags</i></tt>:
3634 Mode flags to convert.</p>
3635 <p class="function-param"><tt>int <i>which</i></tt>:
3636 Mode type (<tt>MODE_USER</tt>, etc.)</p></td>
3637 <td class="function-index-return"><p class="function-param"><tt>char *</tt>:
3638 Equivalent mode string, stored in a static buffer.</p></td>
3639 <td class="function-index-purpose">Converts a set of mode
3640 flags into a string. Unrecognized flags are ignored.</td>
3641 </tr>
3642 <tr class="function-index" id="modes.c_mode_setup">
3643 <td class="function-index-name">mode_setup<br/>&nbsp;&nbsp;&nbsp;(modes.c)</td>
3644 <td class="function-index-params">&mdash;</td>
3645 <td class="function-index-return">&mdash;</td>
3646 <td class="function-index-purpose">Initializes internal
3647 tables based on the global <tt>usermodes[]</tt>,
3648 <tt>chanmodes[]</tt>, and <tt>chanusermodes[]</tt>
3649 arrays. Must be called after changing any of the
3650 arrays.</td>
3651 </tr>
3652 <tr class="function-index" id="modes.c_mode_string_to_flags">
3653 <td class="function-index-name">mode_string_to_flags<br/>&nbsp;&nbsp;&nbsp;(modes.c)</td>
3654 <td class="function-index-params">
3655 <p class="function-param"><tt>const char *<i>s</i></tt>:
3656 Mode string to convert.</p>
3657 <p class="function-param"><tt>int <i>which</i></tt>:
3658 Mode type (<tt>MODE_USER</tt>, etc.),
3659 possibly or'd with <tt>MODE_NOERROR</tt>.</p></td>
3660 <td class="function-index-return"><p class="function-param"><tt>int32</tt>:
3661 Equivalent mode flags, or <tt>MODE_INVALID</tt>
3662 or'd with the first invalid character if an invalid
3663 mode character is found.</p></td>
3664 <td class="function-index-purpose">Converts a string of
3665 mode characters to a set of flags. If
3666 <tt>MODE_NOERROR</tt> is specified in the
3667 <tt><i>which</i></tt> parameter, unrecognized mode
3668 characters are ignored.</td>
3669 </tr>
3670 <tr class="function-index" id="log.h_module_log">
3671 <td class="function-index-name">module_log<br/>&nbsp;&nbsp;&nbsp;(log.c)</td>
3672 <td class="function-index-params">
3673 <p class="function-param"><tt>const char *<i>fmt</i></tt>:
3674 <tt>printf()</tt>-style log message format
3675 string.</p>
3676 <p class="function-param"><tt><i>...</i></tt>:
3677 Format arguments.</p></td>
3678 <td class="function-index-return">&mdash;</td>
3679 <td class="function-index-purpose">Writes a message to the
3680 log file, including the calling module's name. For
3681 use by modules.</td>
3682 </tr>
3683 <tr class="function-index" id="log.h_module_log_debug">
3684 <td class="function-index-name">module_log_debug<br/>&nbsp;&nbsp;&nbsp;(log.c)</td>
3685 <td class="function-index-params">
3686 <p class="function-param"><tt>int <i>debuglevel</i></tt>:
3687 Minimum debug level at which to write
3688 message.</p>
3689 <p class="function-param"><tt>const char *<i>fmt</i></tt>:
3690 <tt>printf()</tt>-style log message format
3691 string.</p>
3692 <p class="function-param"><tt><i>...</i></tt>:
3693 Format arguments.</p></td>
3694 <td class="function-index-return">&mdash;</td>
3695 <td class="function-index-purpose">Writes a debug message
3696 to the log file at a certain debug level, including
3697 the calling module's name. For use by modules.</td>
3698 </tr>
3699 <tr class="function-index" id="log.h_module_log_perror">
3700 <td class="function-index-name">module_log_perror<br/>&nbsp;&nbsp;&nbsp;(log.c)</td>
3701 <td class="function-index-params">
3702 <p class="function-param"><tt>const char *<i>fmt</i></tt>:
3703 <tt>printf()</tt>-style log message format
3704 string.</p>
3705 <p class="function-param"><tt><i>...</i></tt>:
3706 Format arguments.</p></td>
3707 <td class="function-index-return">&mdash;</td>
3708 <td class="function-index-purpose">Writes a message to the
3709 log file, appending a system error string and
3710 including the calling module's name. For use by
3711 modules.</td>
3712 </tr>
3713 <tr class="function-index" id="log.h_module_log_perror_debug">
3714 <td class="function-index-name">module_log_perror_debug<br/>&nbsp;&nbsp;&nbsp;(log.c)</td>
3715 <td class="function-index-params">
3716 <p class="function-param"><tt>int <i>debuglevel</i></tt>:
3717 Minimum debug level at which to write
3718 message.</p>
3719 <p class="function-param"><tt>const char *<i>fmt</i></tt>:
3720 <tt>printf()</tt>-style log message format
3721 string.</p>
3722 <p class="function-param"><tt><i>...</i></tt>:
3723 Format arguments.</p></td>
3724 <td class="function-index-return">&mdash;</td>
3725 <td class="function-index-purpose">Writes a debug message
3726 to the log file at a certain debug level, appending
3727 a system error string and including the calling
3728 module's name. For use by modules.</td>
3729 </tr>
3730 <tr class="function-index" id="modules.c_modules_cleanup">
3731 <td class="function-index-name">modules_cleanup<br/>&nbsp;&nbsp;&nbsp;(modules.c)</td>
3732 <td class="function-index-params">&mdash;</td>
3733 <td class="function-index-return">&mdash;</td>
3734 <td class="function-index-purpose">Performs cleanup actions
3735 for the module subsystem.</td>
3736 </tr>
3737 <tr class="function-index" id="modules.c_modules_init">
3738 <td class="function-index-name">modules_init<br/>&nbsp;&nbsp;&nbsp;(modules.c)</td>
3739 <td class="function-index-params">
3740 <p class="function-param"><tt>int <i>ac</i></tt>:
3741 Command-line argument count.</p>
3742 <p class="function-param"><tt>char **<i>av</i></tt>:
3743 Command-line argument vector.</p></td>
3744 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
3745 Nonzero on success, zero on failure.</p></td>
3746 <td class="function-index-purpose">Performs initialization
3747 actions for the module subsystem.</td>
3748 </tr>
3749 <tr class="function-index" id="modules.c_my_dlclose">
3750 <td class="function-index-name">my_dlclose<br/>&nbsp;&nbsp;&nbsp;(modules.c)</td>
3751 <td class="function-index-params">
3752 <p class="function-param"><tt>void *<i>handle</i></tt>:
3753 Shared object handle to close.</p></td>
3754 <td class="function-index-return">&mdash;</td>
3755 <td class="function-index-purpose">Closes the given shared
3756 object.</td>
3757 </tr>
3758 <tr class="function-index" id="modules.c_my_dlerror">
3759 <td class="function-index-name">my_dlerror<br/>&nbsp;&nbsp;&nbsp;(modules.c)</td>
3760 <td class="function-index-params">&mdash;</td>
3761 <td class="function-index-return"><p class="function-param"><tt>const char *</tt>:
3762 Error message, or <tt>NULL</tt> if no error has
3763 occurred since the last call to
3764 <tt>my_dlerror()</tt>.</p></td>
3765 <td class="function-index-purpose">Returns the error message
3766 for the last error that occurred in a
3767 <tt>my_dlopen()</tt>, <tt>my_dlclose()</tt>, or
3768 <tt>my_dlsym()</tt> call.</td>
3769 </tr>
3770 <tr class="function-index" id="modules.c_my_dlopen">
3771 <td class="function-index-name">my_dlopen<br/>&nbsp;&nbsp;&nbsp;(modules.c)</td>
3772 <td class="function-index-params">
3773 <p class="function-param"><tt>const char *<i>name</i></tt>:
3774 Module name.</p></td>
3775 <td class="function-index-return"><p class="function-param"><tt>void *</tt>:
3776 Shared object handle on success, <tt>NULL</tt> on
3777 error.</p></td>
3778 <td class="function-index-purpose">Opens the shared object
3779 corresponding to the given module name.</td>
3780 </tr>
3781 <tr class="function-index" id="modules.c_my_dlsym">
3782 <td class="function-index-name">my_dlsym<br/>&nbsp;&nbsp;&nbsp;(modules.c)</td>
3783 <td class="function-index-params">
3784 <p class="function-param"><tt>void *<i>handle</i></tt>:
3785 Shared object handle.</p>
3786 <p class="function-param"><tt>const char *<i>symname</i></tt>:
3787 Name of symbol to look up.</p></td>
3788 <td class="function-index-return"><p class="function-param"><tt>void *</tt>:
3789 Symbol value, or <tt>NULL</tt> on error.</p></td>
3790 <td class="function-index-purpose">Looks up a symbol in a
3791 shared object, returning its value. (As with the
3792 system <tt>dlsym()</tt> call, <tt>NULL</tt> could
3793 mean either an error or a symbol with that value,
3794 and <tt>my_dlerror()</tt> must be used to tell the
3795 difference. See the <tt>dlsym()</tt> documentation
3796 on systems which support it.)</td>
3797 </tr>
3798 <tr class="function-index" id="vsnprintf.c_my_snprintf">
3799 <td class="function-index-name">my_snprintf<br/>&nbsp;&nbsp;&nbsp;(vsnprintf.c)</td>
3800 <td class="function-index-params">
3801 <p class="function-param"><tt>char *<i>string</i></tt>:
3802 String buffer into which the formatted string is stored.</p>
3803 <p class="function-param"><tt>size_t <i>size</i></tt>:
3804 Size of the buffer, in bytes.</p>
3805 <p class="function-param"><tt>const char *<i>format</i></tt>:
3806 Format string.</p>
3807 <p class="function-param"><tt>...</tt>:
3808 Format arguments.</p></td>
3809 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
3810 Number of bytes written to <tt>string</tt>, not
3811 including the trailing null.</p></td>
3812 <td class="function-index-purpose">Writes a formatted
3813 string into a string buffer. No more than
3814 <tt><i>size</i></tt> bytes are written, including
3815 the terminating null character (<tt>'\0'</tt>).
3816 The format arguments are passed as additional
3817 parameters to the function.</td>
3818 </tr>
3819 <tr class="function-index" id="vsnprintf.c_my_vsnprintf">
3820 <td class="function-index-name">my_vsnprintf<br/>&nbsp;&nbsp;&nbsp;(vsnprintf.c)</td>
3821 <td class="function-index-params">
3822 <p class="function-param"><tt>char *<i>string</i></tt>:
3823 String buffer into which the formatted string is stored.</p>
3824 <p class="function-param"><tt>size_t <i>size</i></tt>:
3825 Size of the buffer, in bytes.</p>
3826 <p class="function-param"><tt>const char *<i>format</i></tt>:
3827 Format string.</p>
3828 <p class="function-param"><tt>va_list <i>args</i></tt>:
3829 Format argument list.</p></td>
3830 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
3831 Number of bytes written to <tt>string</tt>, not
3832 including the trailing null.</p></td>
3833 <td class="function-index-purpose">Writes a formatted
3834 string into a string buffer. No more than
3835 <tt><i>size</i></tt> bytes are written, including
3836 the terminating null character (<tt>'\0'</tt>).
3837 The format arguments are passed as a
3838 <tt>va_list</tt>.</td>
3839 </tr>
3840
3841 <!--============================================================-->
3842
3843 <tr class="function-index-letter" id="N">
3844 <th class="function-index-letter" colspan="5">N</th>
3845 </tr>
3846 <tr class="function-index" id="commands.c_new_commandlist">
3847 <td class="function-index-name">new_commandlist<br/>&nbsp;&nbsp;&nbsp;(commands.c)</td>
3848 <td class="function-index-params">
3849 <p class="function-param"><tt>Module *<i>id</i></tt>:
3850 ID to associate with new command list.</p></td>
3851 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
3852 Nonzero on success, zero on failure.</p></td>
3853 <td class="function-index-purpose">Creates a new command
3854 list with the specified ID. Fails if a command
3855 list with the same ID already exists.</td>
3856 </tr>
3857 <tr class="function-index" id="encrypt.c_new_password">
3858 <td class="function-index-name">new_password<br/>&nbsp;&nbsp;&nbsp;(encrypt.c)</td>
3859 <td class="function-index-params">&mdash;</td>
3860 <td class="function-index-return"><p class="function-param"><tt>extern Password *</tt>:
3861 New <tt>Password</tt> structure.</p></td>
3862 <td class="function-index-purpose">Allocates and
3863 initializes a new <tt>Password</tt> structure.</td>
3864 </tr>
3865 <tr class="function-index" id="servers.c_new_server">
3866 <td class="function-index-name">new_server<br/>&nbsp;&nbsp;&nbsp;(servers.c)</td>
3867 <td class="function-index-params">
3868 <p class="function-param"><tt>const char *<i>servername</i></tt>:
3869 Server to create a record for.</p></td>
3870 <td class="function-index-return"><p class="function-param"><tt>Server *</tt>:
3871 The new server record.</p></td>
3872 <td class="function-index-purpose">Creates a new server
3873 record for the given server name and adds it to
3874 the hash table.</td>
3875 </tr>
3876 <tr class="function-index" id="users.c_new_user">
3877 <td class="function-index-name">new_user<br/>&nbsp;&nbsp;&nbsp;(users.c)</td>
3878 <td class="function-index-params">
3879 <p class="function-param"><tt>const char *<i>nick</i></tt>:
3880 Nickname to create a record for.</p></td>
3881 <td class="function-index-return"><p class="function-param"><tt>User *</tt>:
3882 The new user record.</p></td>
3883 <td class="function-index-purpose">Creates a new user
3884 record for the given nickname and adds it to the
3885 hash table.</td>
3886 </tr>
3887 <tr class="function-index" id="channels.c_next_channel">
3888 <td class="function-index-name">next_channel<br/>&nbsp;&nbsp;&nbsp;(channels.c)</td>
3889 <td class="function-index-params">&mdash;</td>
3890 <td class="function-index-return"><p class="function-param"><tt>Channel *</tt>:
3891 The next stored channel record, or <tt>NULL</tt>
3892 if no more records exist.</p></td>
3893 <td class="function-index-purpose">Returns the next
3894 channel record stored in the hash table.</td>
3895 </tr>
3896 <tr class="function-index" id="tools_convert-db.c_next_channelinfo">
3897 <td class="function-index-name">next_channelinfo<br/>&nbsp;&nbsp;&nbsp;(tools/convert-db.c)</td>
3898 <td class="function-index-params">&mdash;</td>
3899 <td class="function-index-return"><p class="function-param"><tt>ChannelInfo *</tt>:
3900 The next stored <tt>ChannelInfo</tt> record, or <tt>NULL</tt>
3901 if no more records exist.</p></td>
3902 <td class="function-index-purpose">Returns the next stored
3903 <tt>ChannelInfo</tt> record.</td>
3904 </tr>
3905 <tr class="function-index" id="tools_convert-db.c_next_maskdata">
3906 <td class="function-index-name">next_maskdata<br/>&nbsp;&nbsp;&nbsp;(tools/convert-db.c)</td>
3907 <td class="function-index-params">
3908 <p class="function-param"><tt>uint8 <i>type</i></tt>:
3909 The <tt>MaskData</tt> type to retrieve.</p></td>
3910 <td class="function-index-return"><p class="function-param"><tt>MaskData *</tt>:
3911 The next stored <tt>MaskData</tt> structure of the
3912 given type, or <tt>NULL</tt>
3913 if no more records exist.</p></td>
3914 <td class="function-index-purpose">Returns the next stored
3915 <tt>MaskData</tt> record of the given type.</td>
3916 </tr>
3917 <tr class="function-index" id="tools_convert-db.c_next_news">
3918 <td class="function-index-name">next_news<br/>&nbsp;&nbsp;&nbsp;(tools/convert-db.c)</td>
3919 <td class="function-index-params">&mdash;</td>
3920 <td class="function-index-return"><p class="function-param"><tt>NewsItem *</tt>:
3921 The next stored <tt>NewsItem</tt> record, or <tt>NULL</tt>
3922 if no more records exist.</p></td>
3923 <td class="function-index-purpose">Returns the next stored
3924 <tt>NewsItem</tt> record.</td>
3925 </tr>
3926 <tr class="function-index" id="tools_convert-db.c_next_nickgroupinfo">
3927 <td class="function-index-name">next_nickgroupinfo<br/>&nbsp;&nbsp;&nbsp;(tools/convert-db.c)</td>
3928 <td class="function-index-params">&mdash;</td>
3929 <td class="function-index-return"><p class="function-param"><tt>NickGroupInfo *</tt>:
3930 The next stored <tt>NickGroupInfo</tt> record, or <tt>NULL</tt>
3931 if no more records exist.</p></td>
3932 <td class="function-index-purpose">Returns the next stored
3933 <tt>NickGroupInfo</tt> record.</td>
3934 </tr>
3935 <tr class="function-index" id="tools_convert-db.c_next_nickinfo">
3936 <td class="function-index-name">next_nickinfo<br/>&nbsp;&nbsp;&nbsp;(tools/convert-db.c)</td>
3937 <td class="function-index-params">&mdash;</td>
3938 <td class="function-index-return"><p class="function-param"><tt>NickInfo *</tt>:
3939 The next stored <tt>NickInfo</tt> record, or <tt>NULL</tt>
3940 if no more records exist.</p></td>
3941 <td class="function-index-purpose">Returns the next stored
3942 <tt>NickInfo</tt> record.</td>
3943 </tr>
3944 <tr class="function-index" id="servers.c_next_server">
3945 <td class="function-index-name">next_server<br/>&nbsp;&nbsp;&nbsp;(servers.c)</td>
3946 <td class="function-index-params">&mdash;</td>
3947 <td class="function-index-return"><p class="function-param"><tt>Server *</tt>:
3948 The next stored server record, or <tt>NULL</tt> if no more
3949 records exist.</p></td>
3950 <td class="function-index-purpose">Returns the next
3951 server record stored in the hash table.</td>
3952 </tr>
3953 <tr class="function-index" id="tools_convert-db.c_next_serverstats">
3954 <td class="function-index-name">next_serverstats<br/>&nbsp;&nbsp;&nbsp;(tools/convert-db.c)</td>
3955 <td class="function-index-params">&mdash;</td>
3956 <td class="function-index-return"><p class="function-param"><tt>ServerStats *</tt>:
3957 The next stored <tt>ServerStats</tt> record, or <tt>NULL</tt>
3958 if no more records exist.</p></td>
3959 <td class="function-index-purpose">Returns the next stored
3960 <tt>ServerStats</tt> record.</td>
3961 </tr>
3962 <tr class="function-index" id="tools_convert-hybserv.c_next_token">
3963 <td class="function-index-name">next_token<br/>&nbsp;&nbsp;&nbsp;(tools/convert-hybserv.c)</td>
3964 <td class="function-index-params">
3965 <p class="function-param"><tt>char *<i>s</i></tt>:
3966 String to begin parsing; <tt>NULL</tt> to
3967 continue parsing the last string passed
3968 in.</p></td>
3969 <td class="function-index-return"><p class="function-param"><tt>char *</tt>:
3970 The next token in the string, or <tt>NULL</tt> if
3971 no tokens remain.</p></td>
3972 <td class="function-index-purpose">Returns the next token
3973 in a line of a HybServ database. Analogous to
3974 <tt>strtok(<i>s</i>, "&nbsp;\r\n")</tt>, but
3975 handles multiword parameters (parameters with a
3976 leading colon) as well.</td>
3977 </tr>
3978 <tr class="function-index" id="users.c_next_user">
3979 <td class="function-index-name">next_user<br/>&nbsp;&nbsp;&nbsp;(users.c)</td>
3980 <td class="function-index-params">&mdash;</td>
3981 <td class="function-index-return"><p class="function-param"><tt>User *</tt>:
3982 The next stored user record, or <tt>NULL</tt> if no more
3983 records exist.</p></td>
3984 <td class="function-index-purpose">Returns the next
3985 user record stored in the hash table.</td>
3986 </tr>
3987 <tr class="function-index" id="sockets.c_next_wmap">
3988 <td class="function-index-name">next_wmap<br/>&nbsp;&nbsp;&nbsp;(sockets.c)</td>
3989 <td class="function-index-params">
3990 <p class="function-param"><tt>Socket *<i>s</i></tt>:
3991 Socket to operate on.</p></td>
3992 <td class="function-index-return">&mdash;</td>
3993 <td class="function-index-purpose">Frees the first entry in
3994 the given socket's write-map list, advancing to the
3995 next one. If the freed entry references a mapped
3996 data block, the data is unmapped.</td>
3997 </tr>
3998 <tr class="function-index" id="send.c_notice">
3999 <td class="function-index-name">notice<br/>&nbsp;&nbsp;&nbsp;(send.c)</td>
4000 <td class="function-index-params">
4001 <p class="function-param"><tt>const char *<i>source</i></tt>:
4002 Source name.</p>
4003 <p class="function-param"><tt>const char *<i>dest</i></tt>:
4004 Destination nickname.</p>
4005 <p class="function-param"><tt>const char *<i>fmt</i></tt>:
4006 Format string, as for <tt>printf()</tt>.</p>
4007 <p class="function-param"><tt><i>...</i></tt>:
4008 Format arguments.</p></td>
4009 <td class="function-index-return">&mdash;</td>
4010 <td class="function-index-purpose">Sends a <tt>NOTICE</tt>
4011 to the given nickname.</td>
4012 </tr>
4013 <tr class="function-index" id="send.c_notice_all">
4014 <td class="function-index-name">notice_all<br/>&nbsp;&nbsp;&nbsp;(send.c)</td>
4015 <td class="function-index-params">
4016 <p class="function-param"><tt>const char *<i>source</i></tt>:
4017 Source name.</p>
4018 <p class="function-param"><tt>const char *<i>fmt</i></tt>:
4019 Format string, as for <tt>printf()</tt>.</p>
4020 <p class="function-param"><tt><i>...</i></tt>:
4021 Format arguments.</p></td>
4022 <td class="function-index-return">&mdash;</td>
4023 <td class="function-index-purpose">Sends a <tt>NOTICE</tt>
4024 to all users on the network. Implemented by the
4025 protocol module.</td>
4026 </tr>
4027 <tr class="function-index" id="send.c_notice_help">
4028 <td class="function-index-name">notice_help<br/>&nbsp;&nbsp;&nbsp;(send.c)</td>
4029 <td class="function-index-params">
4030 <p class="function-param"><tt>const char *<i>source</i></tt>:
4031 Source name.</p>
4032 <p class="function-param"><tt>const User *<i>dest</i></tt>:
4033 Destination user.</p>
4034 <p class="function-param"><tt>int <i>message</i></tt>:
4035 Language string index of string to send.</p>
4036 <p class="function-param"><tt><i>...</i></tt>:
4037 Format arguments.</p></td>
4038 <td class="function-index-return">&mdash;</td>
4039 <td class="function-index-purpose">Sends a <tt>NOTICE</tt>
4040 to the given user, with language translation and
4041 with "<tt>%S</tt>" in the string replaced by the
4042 source nickname.</td>
4043 </tr>
4044 <tr class="function-index" id="send.c_notice_lang">
4045 <td class="function-index-name">notice_lang<br/>&nbsp;&nbsp;&nbsp;(send.c)</td>
4046 <td class="function-index-params">
4047 <p class="function-param"><tt>const char *<i>source</i></tt>:
4048 Source name.</p>
4049 <p class="function-param"><tt>const User *<i>dest</i></tt>:
4050 Destination user.</p>
4051 <p class="function-param"><tt>int <i>message</i></tt>:
4052 Language string index of string to send.</p>
4053 <p class="function-param"><tt><i>...</i></tt>:
4054 Format arguments.</p></td>
4055 <td class="function-index-return">&mdash;</td>
4056 <td class="function-index-purpose">Sends a <tt>NOTICE</tt>
4057 to the given user, with language translation.</td>
4058 </tr>
4059 <tr class="function-index" id="send.c_notice_list">
4060 <td class="function-index-name">notice_list<br/>&nbsp;&nbsp;&nbsp;(send.c)</td>
4061 <td class="function-index-params">
4062 <p class="function-param"><tt>const char *<i>source</i></tt>:
4063 Source name.</p>
4064 <p class="function-param"><tt>const char *<i>dest</i></tt>:
4065 Destination nickname.</p>
4066 <p class="function-param"><tt>const char **<i>text</i></tt>:
4067 Array of strings to send, terminated by
4068 <tt>NULL</tt>.</p></td>
4069 <td class="function-index-return">&mdash;</td>
4070 <td class="function-index-purpose">Sends a series of
4071 <tt>NOTICE</tt> messages to the given nickname.</td>
4072 </tr>
4073
4074 <!--============================================================-->
4075
4076 <tr class="function-index-letter" id="O">
4077 <th class="function-index-letter" colspan="5">O</th>
4078 </tr>
4079 <tr class="function-index" id="tools_convert-db.c_open_db_ver">
4080 <td class="function-index-name">open_db_ver<br/>&nbsp;&nbsp;&nbsp;(tools/convert-db.c)</td>
4081 <td class="function-index-params">
4082 <p class="function-param"><tt>const char *<i>dir</i></tt>:
4083 Directory from which to load data.</p>
4084 <p class="function-param"><tt>const char *<i>name</i></tt>:
4085 Filename to open.</p>
4086 <p class="function-param"><tt>int32 <i>min_version</i></tt>:
4087 Minimum acceptable version.</p>
4088 <p class="function-param"><tt>int32 <i>max_version</i></tt>:
4089 Maximum acceptable version.</p>
4090 <p class="function-param"><tt>int32 *<i>version_ret</i></tt>:
4091 Pointer to a variable to receive the
4092 version number read from the file.</p></td>
4093 <td class="function-index-return"><p class="function-param"><tt>dbFILE *</tt>:
4094 Database file pointer for the opened file,
4095 positioned immediately after the read-in version
4096 number.</p></td>
4097 <td class="function-index-purpose">Opens the specified
4098 database file, reads a 32-bit (big-endian) version
4099 number from the file, and verifies that the version
4100 number is within the specified limits. If the file
4101 cannot be opened or the version is outside the
4102 range given, the function prints an error message
4103 and aborts <tt>convert-db</tt>.</td>
4104 </tr>
4105 <tr class="function-index" id="sockets.c_open_listener">
4106 <td class="function-index-name">open_listener<br/>&nbsp;&nbsp;&nbsp;(sockets.c)</td>
4107 <td class="function-index-params">
4108 <p class="function-param"><tt>Socket *<i>s</i></tt>:
4109 Socket to use for accepting connections
4110 (must be in an unused state).</p>
4111 <p class="function-param"><tt>const char *<i>host</i></tt>:
4112 Hostname or IP address to accept connections
4113 on, or <tt>NULL</tt> to accept connections
4114 on any address.</p>
4115 <p class="function-param"><tt>int <i>port</i></tt>:
4116 TCP port to accept connections on.</p>
4117 <p class="function-param"><tt>int <i>backlog</i></tt>:
4118 Maximum backlog of unaccepted connections
4119 (passed directly to the <tt>listen()</tt>
4120 system call).</p></td>
4121 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
4122 0 on success, -1 on error.</p></td>
4123 <td class="function-index-purpose">Sets up a socket for
4124 accepting incoming connections.</td>
4125 </tr>
4126 <tr class="function-index" id="log.c_open_log">
4127 <td class="function-index-name">open_log<br/>&nbsp;&nbsp;&nbsp;(log.c)</td>
4128 <td class="function-index-params">&mdash;</td>
4129 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
4130 Nonzero on success, zero on error.</p></td>
4131 <td class="function-index-purpose">Opens the log file given
4132 by the <tt>LogFilename</tt> configuration
4133 directive.</td>
4134 </tr>
4135 <tr class="function-index" id="log.c_open_memory_log">
4136 <td class="function-index-name">open_memory_log<br/>&nbsp;&nbsp;&nbsp;(log.c)</td>
4137 <td class="function-index-params">&mdash;</td>
4138 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
4139 Nonzero (always succeeds).</p></td>
4140 <td class="function-index-purpose">Opens an in-memory log
4141 file, whose contents will be written to the real
4142 log file when <tt>open_log()</tt> is called.</td>
4143 </tr>
4144
4145 <!--============================================================-->
4146
4147 <tr class="function-index-letter" id="P">
4148 <th class="function-index-letter" colspan="5">P</th>
4149 </tr>
4150 <tr class="function-index" id="misc.c_pack_ip">
4151 <td class="function-index-name">pack_ip<br/>&nbsp;&nbsp;&nbsp;(misc.c)</td>
4152 <td class="function-index-params">
4153 <p class="function-param"><tt>const char *<i>ipaddr</i></tt>:
4154 IPv4 address string.</p></td>
4155 <td class="function-index-return"><p class="function-param"><tt>uint8 *</tt>:
4156 Packed IPv4 address (stored in a static buffer), or
4157 <tt>NULL</tt> if the string is not a valid IPv4
4158 address.</p></td>
4159 <td class="function-index-purpose">Packs an IPv4 address
4160 string into a binary address.</td>
4161 </tr>
4162 <tr class="function-index" id="misc.c_pack_ip6">
4163 <td class="function-index-name">pack_ip6<br/>&nbsp;&nbsp;&nbsp;(misc.c)</td>
4164 <td class="function-index-params">
4165 <p class="function-param"><tt>const char *<i>ipaddr</i></tt>:
4166 IPv6 address string.</p></td>
4167 <td class="function-index-return"><p class="function-param"><tt>uint8 *</tt>:
4168 Packed IPv6 address (stored in a static buffer), or
4169 <tt>NULL</tt> if the string is not a valid IPv6
4170 address.</p></td>
4171 <td class="function-index-purpose">Packs an IPv6 address
4172 string into a binary address.</td>
4173 </tr>
4174 <tr class="function-index" id="conffile.c_parse_config_line">
4175 <td class="function-index-name">parse_config_line<br/>&nbsp;&nbsp;&nbsp;(conffile.c)</td>
4176 <td class="function-index-params">
4177 <p class="function-param"><tt>const char *<i>filename</i></tt>:
4178 Name of file being processed.</p>
4179 <p class="function-param"><tt>int <i>linenum</i></tt>:
4180 Line number in file being processed.</p>
4181 <p class="function-param"><tt>char *<i>buf</i></tt>:
4182 Line to process.</p>
4183 <p class="function-param"><tt>ConfigDirective *<i>directives</i></tt>:
4184 Configuration directive array.</p></td>
4185 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
4186 Nonzero on success, zero on failure.</p></td>
4187 <td class="function-index-purpose">Parse and process a
4188 single line of a configuration file.</td>
4189 </tr>
4190 <tr class="function-index" id="init.c_parse_options">
4191 <td class="function-index-name">parse_options<br/>&nbsp;&nbsp;&nbsp;(init.c)</td>
4192 <td class="function-index-params">
4193 <p class="function-param"><tt>int <i>ac</i></tt>:
4194 Argument count, from <tt>main()</tt>.</p>
4195 <p class="function-param"><tt>char **<i>av</i></tt>:
4196 Argument vector, from <tt>main()</tt>.</p>
4197 <p class="function-param"><tt>int <i>call_modules</i></tt>:
4198 Indicates whether to process basic options
4199 or module options.</p></td>
4200 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
4201 -1 on option error; 0 on success; 1 to indicate that
4202 the program should exit (successfully).</p></td>
4203 <td class="function-index-purpose">Parses and processes
4204 command-line options. If <tt><i>call_modules</i></tt> is
4205 zero, basic options (those handled by Services itself) are
4206 processed, and unrecognized options are ignored; if nonzero,
4207 basic options are ignored and other options are passed to
4208 modules via the "<tt>command line</tt>" callback, with
4209 unrecognized options resulting in an error. Note that if
4210 the "<tt>-h</tt>" or "<tt>--help</tt>" options are found,
4211 the program will be terminated with <tt>exit(0)</tt> after
4212 a usage message is printed to standard error.</td>
4213 </tr>
4214 <tr class="function-index" id="users.c_part_all_channels">
4215 <td class="function-index-name">part_all_channels<br/>&nbsp;&nbsp;&nbsp;(users.c)</td>
4216 <td class="function-index-params">
4217 <p class="function-param"><tt>User *<i>user</i></tt>:
4218 User parting channels.</p></td>
4219 <td class="function-index-return">&mdash;</td>
4220 <td class="function-index-purpose">Parts the user from
4221 all joined channels.</td>
4222 </tr>
4223 <tr class="function-index" id="users.c_part_channel">
4224 <td class="function-index-name">part_channel<br/>&nbsp;&nbsp;&nbsp;(users.c)</td>
4225 <td class="function-index-params">
4226 <p class="function-param"><tt>User *<i>user</i></tt>:
4227 Parting user.</p>
4228 <p class="function-param"><tt>const char *<i>channel</i></tt>:
4229 Channel to be parted.</p>
4230 <p class="function-param"><tt>int <i>callback</i></tt>:
4231 ID of callback to call on parting.</p>
4232 <p class="function-param"><tt>const char *<i>param</i></tt>:
4233 Third parameter to pass to callback.</p>
4234 <p class="function-param"><tt>const char *<i>source</i></tt>:
4235 Message source.</p></td>
4236 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
4237 Nonzero if the user was in the channel, else zero.</p></td>
4238 <td class="function-index-purpose">Parts a user from a channel.</td>
4239 </tr>
4240 <tr class="function-index" id="users.c_part_channel_uc">
4241 <td class="function-index-name">part_channel_uc<br/>&nbsp;&nbsp;&nbsp;(users.c)</td>
4242 <td class="function-index-params">
4243 <p class="function-param"><tt>User *<i>user</i></tt>:
4244 Parting user.</p>
4245 <p class="function-param"><tt>struct u_chanlist *<i>uc</i></tt>:
4246 Record in user's joined channel list
4247 indicating channel to be parted</p>
4248 <p class="function-param"><tt>int <i>callback</i></tt>:
4249 ID of callback to call on parting.</p>
4250 <p class="function-param"><tt>const char *<i>param</i></tt>:
4251 Third parameter to pass to callback.</p>
4252 <p class="function-param"><tt>const char *<i>source</i></tt>:
4253 Message source.</p></td>
4254 <td class="function-index-return">&mdash;</td>
4255 <td class="function-index-purpose">Parts a user from a
4256 channel, given the <tt>struct u_chanlist</tt> entry
4257 in the user record for the channel.</td>
4258 </tr>
4259 <tr class="function-index" id="vsnprintf.c__pfmt">
4260 <td class="function-index-name">_pfmt<br/>&nbsp;&nbsp;&nbsp;(vsnprintf.c)</td>
4261 <td class="function-index-params">
4262 <p class="function-param"><tt>const char *<i>format</i></tt>:
4263 Format string.</p>
4264 <p class="function-param"><tt>va_list <i>args</i></tt>:
4265 Format argument list.</p>
4266 <p class="function-param"><tt>_pfmt_writefunc_t <i>writefunc</i></tt>:
4267 Function to write characters with.</p>
4268 <p class="function-param"><tt>void *<i>arg1</i></tt>:
4269 Third argument to <tt>writefunc()</tt>.</p>
4270 <p class="function-param"><tt>void *<i>arg2</i></tt>:
4271 Fourth argument to <tt>writefunc()</tt>.</p></td>
4272 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
4273 Number of bytes written.</p></td>
4274 <td class="function-index-purpose">Performs <tt>printf()</tt>-style formatting, using the given function to write the resulting string.</td>
4275 </tr>
4276 <tr class="function-index" id="actions.c_possibly_remove_mode">
4277 <td class="function-index-name">possibly_remove_mode<br/>&nbsp;&nbsp;&nbsp;(actions.c)</td>
4278 <td class="function-index-params">
4279 <p class="function-param"><tt>struct modedata *<i>md</i></tt>:
4280 Channel mode data being modified.</p>
4281 <p class="function-param"><tt>char <i>mode</i></tt>:
4282 Mode character to possibly remove.</p>
4283 <p class="function-param"><tt>const char *<i>user</i></tt>:
4284 User to match against, for channel user modes.</p></td>
4285 <td class="function-index-return">&mdash;</td>
4286 <td class="function-index-purpose">Called by
4287 <tt>set_cmode()</tt> to remove a mode change
4288 cancelled by a later change, if such a change
4289 exists. For example, if "<tt>-ov Nick1 Nick2</tt>"
4290 has been accumulated and "<tt>+o Nick1</tt>" is
4291 set, "<tt>-o Nick1</tt>" will be removed, leaving
4292 "<tt>-v Nick2</tt>".</td>
4293 </tr>
4294 <tr class="function-index" id="send.c_privmsg">
4295 <td class="function-index-name">privmsg<br/>&nbsp;&nbsp;&nbsp;(send.c)</td>
4296 <td class="function-index-params">
4297 <p class="function-param"><tt>const char *<i>source</i></tt>:
4298 Source name.</p>
4299 <p class="function-param"><tt>const char *<i>dest</i></tt>:
4300 Destination nickname.</p>
4301 <p class="function-param"><tt>const char *<i>fmt</i></tt>:
4302 Format string, as for <tt>printf()</tt>.</p>
4303 <p class="function-param"><tt><i>...</i></tt>:
4304 Format arguments.</p></td>
4305 <td class="function-index-return">&mdash;</td>
4306 <td class="function-index-purpose">Sends a <tt>PRIVMSG</tt>
4307 to the given nickname.</td>
4308 </tr>
4309 <tr class="function-index" id="process.c_process">
4310 <td class="function-index-name">process<br/>&nbsp;&nbsp;&nbsp;(process.c)</td>
4311 <td class="function-index-params">&mdash;</td>
4312 <td class="function-index-return">&mdash;</td>
4313 <td class="function-index-purpose">Processes the message
4314 stored in the global variable <tt>inbuf</tt>.</td>
4315 </tr>
4316 <tr class="function-index" id="process.c_process_cleanup">
4317 <td class="function-index-name">process_cleanup<br/>&nbsp;&nbsp;&nbsp;(process.c)</td>
4318 <td class="function-index-params">&mdash;</td>
4319 <td class="function-index-return">&mdash;</td>
4320 <td class="function-index-purpose">Performs cleanup actions
4321 for the message processing code.</td>
4322 </tr>
4323 <tr class="function-index" id="process.c_process_init">
4324 <td class="function-index-name">process_init<br/>&nbsp;&nbsp;&nbsp;(process.c)</td>
4325 <td class="function-index-params">
4326 <p class="function-param"><tt>int <i>ac</i></tt>:
4327 Command-line argument count.</p>
4328 <p class="function-param"><tt>char **<i>av</i></tt>:
4329 Command-line argument vector.</p></td>
4330 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
4331 Nonzero on success, zero on failure.</p></td>
4332 <td class="function-index-purpose">Performs initialization
4333 actions for the message processing code.</td>
4334 </tr>
4335 <tr class="function-index" id="misc.c_process_numlist">
4336 <td class="function-index-name">process_numlist<br/>&nbsp;&nbsp;&nbsp;(misc.c)</td>
4337 <td class="function-index-params">
4338 <p class="function-param"><tt>const char *<i>numstr</i></tt>:
4339 Number list to process.</p>
4340 <p class="function-param"><tt>int *<i>count_ret</i></tt>:
4341 Variable to receive the number of times the
4342 callback was called, or <tt>NULL</tt> if
4343 not needed.</p>
4344 <p class="function-param"><tt>range_callback_t <i>callback</i></tt>:
4345 The function to call for each value.</p>
4346 <p class="function-param"><tt>User *<i>u</i></tt>:
4347 A <tt>User</tt> parameter to pass to the
4348 callback function.</p>
4349 <p class="function-param"><tt>...</tt>:
4350 Additional parameters to the callback
4351 function.</p></td>
4352 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
4353 Sum of all values returned from the callback
4354 function.</p></td>
4355 <td class="function-index-purpose">Processes a list of
4356 numbers, calling the specified function for each
4357 value contained in the list. Aborts processing if
4358 the callback function returns -1.</td>
4359 </tr>
4360 <tr class="function-index" id="tools_convert-ptlink.c_ptlink_load_akill">
4361 <td class="function-index-name">ptlink_load_akill<br/>&nbsp;&nbsp;&nbsp;(tools/convert-ptlink.c)</td>
4362 <td class="function-index-params">
4363 <p class="function-param"><tt>const char *<i>dir</i></tt>:
4364 Directory from which to load data.</p></td>
4365 <td class="function-index-return">&mdash;</td>
4366 <td class="function-index-purpose">Loads the PTlink
4367 <tt>akill.db</tt> data file.</td>
4368 </tr>
4369 <tr class="function-index" id="tools_convert-ptlink.c_ptlink_load_chan">
4370 <td class="function-index-name">ptlink_load_chan<br/>&nbsp;&nbsp;&nbsp;(tools/convert-ptlink.c)</td>
4371 <td class="function-index-params">
4372 <p class="function-param"><tt>const char *<i>dir</i></tt>:
4373 Directory from which to load data.</p></td>
4374 <td class="function-index-return">&mdash;</td>
4375 <td class="function-index-purpose">Loads the PTlink
4376 <tt>chan.db</tt> data file.</td>
4377 </tr>
4378 <tr class="function-index" id="tools_convert-ptlink.c_ptlink_load_news">
4379 <td class="function-index-name">ptlink_load_news<br/>&nbsp;&nbsp;&nbsp;(tools/convert-ptlink.c)</td>
4380 <td class="function-index-params">
4381 <p class="function-param"><tt>const char *<i>dir</i></tt>:
4382 Directory from which to load data.</p></td>
4383 <td class="function-index-return">&mdash;</td>
4384 <td class="function-index-purpose">Loads the PTlink
4385 <tt>news.db</tt> data file.</td>
4386 </tr>
4387 <tr class="function-index" id="tools_convert-ptlink.c_ptlink_load_nick">
4388 <td class="function-index-name">ptlink_load_nick<br/>&nbsp;&nbsp;&nbsp;(tools/convert-ptlink.c)</td>
4389 <td class="function-index-params">
4390 <p class="function-param"><tt>const char *<i>dir</i></tt>:
4391 Directory from which to load data.</p></td>
4392 <td class="function-index-return">&mdash;</td>
4393 <td class="function-index-purpose">Loads the PTlink
4394 <tt>nick.db</tt> data file.</td>
4395 </tr>
4396 <tr class="function-index" id="tools_convert-ptlink.c_ptlink_load_oper">
4397 <td class="function-index-name">ptlink_load_oper<br/>&nbsp;&nbsp;&nbsp;(tools/convert-ptlink.c)</td>
4398 <td class="function-index-params">
4399 <p class="function-param"><tt>const char *<i>dir</i></tt>:
4400 Directory from which to load data.</p></td>
4401 <td class="function-index-return">&mdash;</td>
4402 <td class="function-index-purpose">Loads the PTlink
4403 <tt>oper.db</tt> data file.</td>
4404 </tr>
4405 <tr class="function-index" id="tools_convert-ptlink.c_ptlink_load_sqline">
4406 <td class="function-index-name">ptlink_load_sqline<br/>&nbsp;&nbsp;&nbsp;(tools/convert-ptlink.c)</td>
4407 <td class="function-index-params">
4408 <p class="function-param"><tt>const char *<i>dir</i></tt>:
4409 Directory from which to load data.</p></td>
4410 <td class="function-index-return">&mdash;</td>
4411 <td class="function-index-purpose">Loads the PTlink
4412 <tt>sqline.db</tt> data file.</td>
4413 </tr>
4414 <tr class="function-index" id="tools_convert-ptlink.c_ptlink_load_sxline">
4415 <td class="function-index-name">ptlink_load_sxline<br/>&nbsp;&nbsp;&nbsp;(tools/convert-ptlink.c)</td>
4416 <td class="function-index-params">
4417 <p class="function-param"><tt>const char *<i>dir</i></tt>:
4418 Directory from which to load data.</p></td>
4419 <td class="function-index-return">&mdash;</td>
4420 <td class="function-index-purpose">Loads the PTlink
4421 <tt>sxline.db</tt> data file.</td>
4422 </tr>
4423 <tr class="function-index" id="databases.c_put_dbfield">
4424 <td class="function-index-name">put_dbfield<br/>&nbsp;&nbsp;&nbsp;(databases.c)</td>
4425 <td class="function-index-params">
4426 <p class="function-param"><tt>void *<i>record</i></tt>:
4427 Record to store value into.</p>
4428 <p class="function-param"><tt>const DBField *<i>field</i></tt>:
4429 Field to store value into.</p>
4430 <p class="function-param"><tt>const void *<i>value</i></tt>:
4431 Buffer containing value to store.</p></td>
4432 <td class="function-index-return">&mdash;</td>
4433 <td class="function-index-purpose">Stores a value into a
4434 field in a database record.</td>
4435 </tr>
4436
4437 <!--============================================================-->
4438
4439 <tr class="function-index-letter" id="Q">
4440 <th class="function-index-letter" colspan="5">Q</th>
4441 </tr>
4442 <tr class="function-index" id="users.c_quit_user">
4443 <td class="function-index-name">quit_user<br/>&nbsp;&nbsp;&nbsp;(users.c)</td>
4444 <td class="function-index-params">
4445 <p class="function-param"><tt>User *<i>user</i></tt>:
4446 Quitting user.</p>
4447 <p class="function-param"><tt>const char *<i>quitmsg</i></tt>:
4448 User's quit message.</p>
4449 <p class="function-param"><tt>int <i>is_kill</i></tt>:
4450 Nonzero if the quit is due to a klll,
4451 else zero.</p></td>
4452 <td class="function-index-return">&mdash;</td>
4453 <td class="function-index-purpose">Handles a disconnecting
4454 user, whether due to <tt>QUIT</tt> or <tt>KILL</tt>.</td>
4455 </tr>
4456
4457 <!--============================================================-->
4458
4459 <tr class="function-index-letter" id="R">
4460 <th class="function-index-letter" colspan="5">R</th>
4461 </tr>
4462 <tr class="function-index" id="sockets.c_read_buffer_len">
4463 <td class="function-index-name">read_buffer_len<br/>&nbsp;&nbsp;&nbsp;(sockets.c)</td>
4464 <td class="function-index-params">
4465 <p class="function-param"><tt>const Socket *<i>s</i></tt>:
4466 Socket.</p></td>
4467 <td class="function-index-return"><p class="function-param"><tt>uint32</tt>:
4468 Number of bytes in the socket's read buffer.</p></td>
4469 <td class="function-index-purpose">Returns the length of
4470 the data in the socket's read buffer.</td>
4471 </tr>
4472 <tr class="function-index" id="init.c_read_config">
4473 <td class="function-index-name">read_config<br/>&nbsp;&nbsp;&nbsp;(init.c)</td>
4474 <td class="function-index-params">&mdash;</td>
4475 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
4476 Nonzero on success, zero on failure.</p></td>
4477 <td class="function-index-purpose">Reads in the core
4478 configuration file and performs sanity checks on
4479 the configuration settings.</td>
4480 </tr>
4481 <tr class="function-index" id="conffile.c_read_config_file">
4482 <td class="function-index-name">read_config_file<br/>&nbsp;&nbsp;&nbsp;(conffile.c)</td>
4483 <td class="function-index-params">
4484 <p class="function-param"><tt>const char *<i>modulename</i></tt>:
4485 Name of module to process, or <tt>NULL</tt>
4486 when handling core configuration directives.</p>
4487 <p class="function-param"><tt>ConfigDirective *<i>directives</i></tt>:
4488 Configuration directive array.</p></td>
4489 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
4490 Nonzero on success, zero on failure.</p></td>
4491 <td class="function-index-purpose">Read in configuration data.</td>
4492 </tr>
4493 <tr class="function-index" id="lang_langcomp.c_read_index_file">
4494 <td class="function-index-name">read_index_file<br/>&nbsp;&nbsp;&nbsp;(lang/langcomp.c)</td>
4495 <td class="function-index-params">&mdash;</td>
4496 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
4497 0 on success, -1 on failure.</p></td>
4498 <td class="function-index-purpose">Reads in the list of
4499 strings from the <tt>index</tt> file.</td>
4500 </tr>
4501 <tr class="function-index" id="language.c_read_int32">
4502 <td class="function-index-name">read_int32<br/>&nbsp;&nbsp;&nbsp;(language.c)</td>
4503 <td class="function-index-params">
4504 <p class="function-param"><tt>int32 *<i>ptr</i></tt>:
4505 Pointer in which to store read value.</p>
4506 <p class="function-param"><tt>FILE *<i>f</i></tt>:
4507 File to read value from.</p></td>
4508 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
4509 0 on success, -1 on error.</p></td>
4510 <td class="function-index-purpose">Internal helper function
4511 to read a big-endian <tt>int32</tt> value from a
4512 file.</td>
4513 </tr>
4514 <tr class="function-index" id="language.c_read_uint32">
4515 <td class="function-index-name">read_uint32<br/>&nbsp;&nbsp;&nbsp;(language.c)</td>
4516 <td class="function-index-params">
4517 <p class="function-param"><tt>uint32 *<i>ptr</i></tt>:
4518 Pointer in which to store read value.</p>
4519 <p class="function-param"><tt>FILE *<i>f</i></tt>:
4520 File to read value from.</p></td>
4521 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
4522 0 on success, -1 on error.</p></td>
4523 <td class="function-index-purpose">Internal helper function
4524 to read a big-endian <tt>uint32</tt> value from a
4525 file.</td>
4526 </tr>
4527 <tr class="function-index" id="main.c_readfirstline_callback">
4528 <td class="function-index-name">readfirstline_callback<br/>&nbsp;&nbsp;&nbsp;(main.c)</td>
4529 <td class="function-index-params">
4530 <p class="function-param"><tt>Socket *<i>s</i></tt>:
4531 Socket on which data is available.</p>
4532 <p class="function-param"><tt>void *<i>param_unused</i></tt>:
4533 Parameter (unused).</p></td>
4534 <td class="function-index-return">&mdash;</td>
4535 <td class="function-index-purpose">Reads and processes the
4536 first line from the server socket.</td>
4537 </tr>
4538 <tr class="function-index" id="main.c_readline_callback">
4539 <td class="function-index-name">readline_callback<br/>&nbsp;&nbsp;&nbsp;(main.c)</td>
4540 <td class="function-index-params">
4541 <p class="function-param"><tt>Socket *<i>s</i></tt>:
4542 Socket on which data is available.</p>
4543 <p class="function-param"><tt>void *<i>param_unused</i></tt>:
4544 Parameter (unused).</p></td>
4545 <td class="function-index-return">&mdash;</td>
4546 <td class="function-index-purpose">Reads and processes the
4547 second and subsequent lines from the server
4548 socket.</td>
4549 </tr>
4550 <tr class="function-index" id="sockets.c_reclaim_buffer_space">
4551 <td class="function-index-name">reclaim_buffer_space<br/>&nbsp;&nbsp;&nbsp;(sockets.c)</td>
4552 <td class="function-index-params">&mdash;</td>
4553 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
4554 Nonzero if some buffer space was reclaimed, else
4555 zero.</p></td>
4556 <td class="function-index-purpose">Attempts to reclaim
4557 resources from all sockets' buffers by shrinking
4558 the buffers to the minimum size necessary to hold
4559 all buffered data.</td>
4560 </tr>
4561 <tr class="function-index" id="sockets.c_reclaim_buffer_space_one">
4562 <td class="function-index-name">reclaim_buffer_space_one<br/>&nbsp;&nbsp;&nbsp;(sockets.c)</td>
4563 <td class="function-index-params">
4564 <p class="function-param"><tt>Socket *<i>s</i></tt>:
4565 Socket to operate on.</p></td>
4566 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
4567 Nonzero if buffer space was reclaimed from the
4568 socket, else zero.</p></td>
4569 <td class="function-index-purpose">Attempts to reclaim
4570 resources from the given socket's buffers by
4571 shrinking the buffers to the minimum size necessary
4572 to hold all buffered data.</td>
4573 </tr>
4574 <tr class="function-index" id="init.c_reconfigure">
4575 <td class="function-index-name">reconfigure<br/>&nbsp;&nbsp;&nbsp;(init.c)</td>
4576 <td class="function-index-params">&mdash;</td>
4577 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
4578 Nonzero on success, zero on error.</p></td>
4579 <td class="function-index-purpose">Rereads the
4580 configuration files.</td>
4581 </tr>
4582 <tr class="function-index" id="modules.c_reconfigure_modules">
4583 <td class="function-index-name">reconfigure_modules<br/>&nbsp;&nbsp;&nbsp;(modules.c)</td>
4584 <td class="function-index-params">&mdash;</td>
4585 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
4586 Nonzero on success, zero on failure.</p></td>
4587 <td class="function-index-purpose">Performs reconfiguration
4588 actions for all modules. If the function fails, no
4589 modules' configurations will have been modified.</td>
4590 </tr>
4591 <tr class="function-index" id="servers.c_recursive_squit">
4592 <td class="function-index-name">recursive_squit<br/>&nbsp;&nbsp;&nbsp;(servers.c)</td>
4593 <td class="function-index-params">
4594 <p class="function-param"><tt>Server *<i>parent</i></tt>:
4595 The server whose child servers should be deleted.</p>
4596 <p class="function-param"><tt>const char *<i>reason</i></tt>:
4597 The <tt>SQUIT</tt> reason string.</p></td>
4598 <td class="function-index-return">&mdash;</td>
4599 <td class="function-index-purpose">Recursively deletes all
4600 child servers of a quitting server.</td>
4601 </tr>
4602 <tr class="function-index" id="modules.h_register_callback">
4603 <td class="function-index-name">register_callback<br/>&nbsp;&nbsp;&nbsp;(modules.h)</td>
4604 <td class="function-index-params">
4605 <p class="function-param"><tt>const char *<i>name</i></tt>:
4606 Name for the new callback.</p></td>
4607 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
4608 Callback ID (nonnegative) on success, -1 on
4609 failure.</p></td>
4610 <td class="function-index-purpose">Registers a new callback
4611 for the calling module.</td>
4612 </tr>
4613 <tr class="function-index" id="modules.c__register_callback">
4614 <td class="function-index-name">_register_callback<br/>&nbsp;&nbsp;&nbsp;(modules.c)</td>
4615 <td class="function-index-params">
4616 <p class="function-param"><tt>Module *<i>module</i></tt>:
4617 Handle of the calling module.</p>
4618 <p class="function-param"><tt>const char *<i>name</i></tt>:
4619 Name for the new callback.</p></td>
4620 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
4621 Callback ID (nonnegative) on success, -1 on
4622 failure.</p></td>
4623 <td class="function-index-purpose">Implements the
4624 <tt>register_callback()</tt> macro.</td>
4625 </tr>
4626 <tr class="function-index" id="encrypt.c_register_cipher">
4627 <td class="function-index-name">register_cipher<br/>&nbsp;&nbsp;&nbsp;(encrypt.c)</td>
4628 <td class="function-index-params">
4629 <p class="function-param"><tt>CipherInfo *<i>ci</i></tt>:
4630 Cipher to register.</p></td>
4631 <td class="function-index-return">&mdash;</td>
4632 <td class="function-index-purpose">Registers an encryption
4633 cipher.</td>
4634 </tr>
4635 <tr class="function-index" id="commands.c_register_commands">
4636 <td class="function-index-name">register_commands<br/>&nbsp;&nbsp;&nbsp;(commands.c)</td>
4637 <td class="function-index-params">
4638 <p class="function-param"><tt>Module *<i>id</i></tt>:
4639 Command list ID.</p>
4640 <p class="function-param"><tt>Command *<i>array</i></tt>:
4641 Array of commands to register, terminated
4642 by an entry with <tt>.name==NULL</tt>.</p></td>
4643 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
4644 Nonzero on success, zero on failure.</p></td>
4645 <td class="function-index-purpose">Registers an array of
4646 commands with the given command list.</td>
4647 </tr>
4648 <tr class="function-index" id="databases.c_register_dbmodule">
4649 <td class="function-index-name">register_dbmodule<br/>&nbsp;&nbsp;&nbsp;(databases.c)</td>
4650 <td class="function-index-params">
4651 <p class="function-param"><tt>DBModule *<i>module</i></tt>:
4652 Module description structure.</p></td>
4653 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
4654 Nonzero on success, zero on failure.</p></td>
4655 <td class="function-index-purpose">Registers a database
4656 module with the core interface.</td>
4657 </tr>
4658 <tr class="function-index" id="databases.c_register_dbtable">
4659 <td class="function-index-name">register_dbtable<br/>&nbsp;&nbsp;&nbsp;(databases.c)</td>
4660 <td class="function-index-params">
4661 <p class="function-param"><tt>DBTable *<i>table</i></tt>:
4662 Data table to register.</p></td>
4663 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
4664 Nonzero on success, zero on failure.</p></td>
4665 <td class="function-index-purpose">Registers a database
4666 table, and loads the table's contents from
4667 persistent storage.</td>
4668 </tr>
4669 <tr class="function-index" id="messages.c_register_messages">
4670 <td class="function-index-name">register_messages<br/>&nbsp;&nbsp;&nbsp;(messages.c)</td>
4671 <td class="function-index-params">
4672 <p class="function-param"><tt>Message *<i>table</i></tt>:
4673 Message table to register.</p></td>
4674 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
4675 Nonzero on success, zero on failure.</p></td>
4676 <td class="function-index-purpose">Registers a new message
4677 table.</td>
4678 </tr>
4679 <tr class="function-index" id="modules.h_remove_callback">
4680 <td class="function-index-name">remove_callback<br/>&nbsp;&nbsp;&nbsp;(modules.h)</td>
4681 <td class="function-index-params">
4682 <p class="function-param"><tt>Module *<i>module</i></tt>:
4683 Handle of the module for the callback, or
4684 <tt>NULL</tt> for a core callback.</p>
4685 <p class="function-param"><tt>const char *<i>name</i></tt>:
4686 Callback name.</p>
4687 <p class="function-param"><tt>callback_t <i>callback</i></tt>:
4688 Callback function to remove.</p></td>
4689 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
4690 Nonzero on success, zero on failure.</p></td>
4691 <td class="function-index-purpose">Removes a callback
4692 function from the specified callback in the
4693 specified module.</td>
4694 </tr>
4695 <tr class="function-index" id="modules.c__remove_callback">
4696 <td class="function-index-name">_remove_callback<br/>&nbsp;&nbsp;&nbsp;(modules.c)</td>
4697 <td class="function-index-params">
4698 <p class="function-param"><tt>Module *<i>module</i></tt>:
4699 Handle of the module for the callback, or
4700 <tt>NULL</tt> for a core callback.</p>
4701 <p class="function-param"><tt>const char *<i>name</i></tt>:
4702 Callback name.</p>
4703 <p class="function-param"><tt>callback_t <i>callback</i></tt>:
4704 Callback function to remove.</p>
4705 <p class="function-param"><tt>const Module *<i>caller</i></tt>:
4706 Handle of the calling module.</p></td>
4707 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
4708 Nonzero on success, zero on failure.</p></td>
4709 <td class="function-index-purpose">Implements the
4710 <tt>remove_callback()</tt> macro.</td>
4711 </tr>
4712 <tr class="function-index" id="init.c_remove_pidfile">
4713 <td class="function-index-name">remove_pidfile<br/>&nbsp;&nbsp;&nbsp;(init.c)</td>
4714 <td class="function-index-params">&mdash;</td>
4715 <td class="function-index-return">&mdash;</td>
4716 <td class="function-index-purpose">Removes the file
4717 containing the PID of the Services process.</td>
4718 </tr>
4719 <tr class="function-index" id="log.c_reopen_log">
4720 <td class="function-index-name">reopen_log<br/>&nbsp;&nbsp;&nbsp;(log.c)</td>
4721 <td class="function-index-params">&mdash;</td>
4722 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
4723 Nonzero on success, zero on error.</p></td>
4724 <td class="function-index-purpose">Closes and immediately
4725 reopens the log file.</td>
4726 </tr>
4727 <tr class="function-index" id="language.c_reset_ext_lang">
4728 <td class="function-index-name">reset_ext_lang<br/>&nbsp;&nbsp;&nbsp;(language.c)</td>
4729 <td class="function-index-params">&mdash;</td>
4730 <td class="function-index-return">&mdash;</td>
4731 <td class="function-index-purpose">Resets all modifications
4732 made to the default language strings.</td>
4733 </tr>
4734 <tr class="function-index" id="sockets.c_resize_buf">
4735 <td class="function-index-name">resize_buf<br/>&nbsp;&nbsp;&nbsp;(sockets.c)</td>
4736 <td class="function-index-params">
4737 <p class="function-param"><tt>char **<i>p_buf</i></tt>:
4738 Pointer to the socket's <tt>rbuf</tt> or
4739 <tt>wbuf</tt> field.</p>
4740 <p class="function-param"><tt>char **<i>p_ptr</i></tt>:
4741 Pointer to the socket's <tt>rptr</tt> or
4742 <tt>wptr</tt> field.</p>
4743 <p class="function-param"><tt>char **<i>p_end</i></tt>:
4744 Pointer to the socket's <tt>rend</tt> or
4745 <tt>wend</tt> field.</p>
4746 <p class="function-param"><tt>char **<i>p_top</i></tt>:
4747 Pointer to the socket's <tt>rtop</tt> or
4748 <tt>wtop</tt> field.</p>
4749 <p class="function-param"><tt>uint32 <i>newsize</i></tt>:
4750 New size of the buffer, in bytes. Must be
4751 no smaller than the size necessary to hold
4752 all data currently in the buffer.</p></td>
4753 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
4754 Nonzero on success, zero on failure.</p></td>
4755 <td class="function-index-purpose">Resizes a socket's read
4756 or write buffer (as determined by the socket field
4757 references) to the given size.</td>
4758 </tr>
4759 <tr class="function-index" id="sockets.c_resize_how_much">
4760 <td class="function-index-name">resize_how_much<br/>&nbsp;&nbsp;&nbsp;(sockets.c)</td>
4761 <td class="function-index-params">
4762 <p class="function-param"><tt>const Socket *<i>s</i></tt>:
4763 Socket whose read or write buffer is to be
4764 expanded.</p>
4765 <p class="function-param"><tt>uint32 <i>current_size</i></tt>:
4766 Current size of the buffer to be expanded.</p>
4767 <p class="function-param"><tt>int *<i>errp</i></tt>:
4768 On failure, set to 1 if the per-connection
4769 buffer size limit would be exceeded, or 0 if
4770 the total buffer size limit would be
4771 exceeded.</p></td>
4772 <td class="function-index-return"><p class="function-param"><tt>uint32</tt>:
4773 Amount by which the buffer should be expanded, or
4774 zero if attempting to expand the buffer would
4775 exceed either the per-connection or total buffer
4776 size limit.</p></td>
4777 <td class="function-index-purpose">Determines the size by
4778 which a socket's buffer should be expanded, given
4779 the buffer's current size.</td>
4780 </tr>
4781 <tr class="function-index" id="sockets.c_resize_rbuf">
4782 <td class="function-index-name">resize_rbuf<br/>&nbsp;&nbsp;&nbsp;(sockets.c)</td>
4783 <td class="function-index-params">
4784 <p class="function-param"><tt>Socket *<i>s</i></tt>:
4785 Socket whose read buffer is to be resized.</p>
4786 <p class="function-param"><tt>uint32 <i>size</i></tt>:
4787 New size for the read buffer. Must be no
4788 smaller than the size necessary to hold the
4789 data currently in the read buffer.</p></td>
4790 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
4791 Nonzero on success, zero on failure.</p></td>
4792 <td class="function-index-purpose">Resizes a socket's read
4793 buffer.</td>
4794 </tr>
4795 <tr class="function-index" id="sockets.c_resize_wbuf">
4796 <td class="function-index-name">resize_wbuf<br/>&nbsp;&nbsp;&nbsp;(sockets.c)</td>
4797 <td class="function-index-params">
4798 <p class="function-param"><tt>Socket *<i>s</i></tt>:
4799 Socket whose write buffer is to be resized.</p>
4800 <p class="function-param"><tt>uint32 <i>size</i></tt>:
4801 New size for the write buffer. Must be no
4802 smaller than the size necessary to hold the
4803 data currently in the write buffer.</p></td>
4804 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
4805 Nonzero on success, zero on failure.</p></td>
4806 <td class="function-index-purpose">Resizes a socket's write
4807 buffer.</td>
4808 </tr>
4809 <tr class="function-index" id="commands.c_run_cmd">
4810 <td class="function-index-name">run_cmd<br/>&nbsp;&nbsp;&nbsp;(commands.c)</td>
4811 <td class="function-index-params">
4812 <p class="function-param"><tt>const char *<i>service</i></tt>:
4813 Service name (sender name to use for
4814 error messages).</p>
4815 <p class="function-param"><tt>User *<i>u</i></tt>:
4816 User executing the command.</p>
4817 <p class="function-param"><tt>Module *<i>id</i></tt>:
4818 Command list ID.</p>
4819 <p class="function-param"><tt>const char *<i>cmd</i></tt>:
4820 Command name.</p></td>
4821 <td class="function-index-return">&mdash;</td>
4822 <td class="function-index-purpose">Runs the routine for the
4823 given command, sending an error message to the user
4824 if the command is not found or the user does not
4825 have appropriate privileges.</td>
4826 </tr>
4827
4828 <!--============================================================-->
4829
4830 <tr class="function-index-letter" id="S">
4831 <th class="function-index-letter" colspan="5">S</th>
4832 </tr>
4833 <tr class="function-index" id="tools_convert-db.c_sanity_check_channels">
4834 <td class="function-index-name">sanity_check_channels<br/>&nbsp;&nbsp;&nbsp;(tools/convert-db.c)</td>
4835 <td class="function-index-params">&mdash;</td>
4836 <td class="function-index-return">&mdash;</td>
4837 <td class="function-index-purpose">Checks for and corrects
4838 inconsistencies in channel data.</td>
4839 </tr>
4840 <tr class="function-index" id="tools_convert-db.c_sanity_check_maskdata">
4841 <td class="function-index-name">sanity_check_maskdata<br/>&nbsp;&nbsp;&nbsp;(tools/convert-db.c)</td>
4842 <td class="function-index-params">&mdash;</td>
4843 <td class="function-index-return">&mdash;</td>
4844 <td class="function-index-purpose">Checks for and corrects
4845 inconsistencies in <tt>MaskData</tt> records.</td>
4846 </tr>
4847 <tr class="function-index" id="tools_convert-db.c_sanity_check_nickgroups">
4848 <td class="function-index-name">sanity_check_nickgroups<br/>&nbsp;&nbsp;&nbsp;(tools/convert-db.c)</td>
4849 <td class="function-index-params">&mdash;</td>
4850 <td class="function-index-return">&mdash;</td>
4851 <td class="function-index-purpose">Checks for and corrects
4852 inconsistencies in nickname group data.</td>
4853 </tr>
4854 <tr class="function-index" id="tools_convert-db.c_sanity_check_nicks">
4855 <td class="function-index-name">sanity_check_nicks<br/>&nbsp;&nbsp;&nbsp;(tools/convert-db.c)</td>
4856 <td class="function-index-params">&mdash;</td>
4857 <td class="function-index-return">&mdash;</td>
4858 <td class="function-index-purpose">Checks for and corrects
4859 inconsistencies in nickname data.</td>
4860 </tr>
4861 <tr class="function-index" id="tools_convert-db.c_sanity_checks">
4862 <td class="function-index-name">sanity_checks<br/>&nbsp;&nbsp;&nbsp;(tools/convert-db.c)</td>
4863 <td class="function-index-params">&mdash;</td>
4864 <td class="function-index-return">&mdash;</td>
4865 <td class="function-index-purpose">Performs sanity checks
4866 on data loaded from files, and corrects data as
4867 necessary..</td>
4868 </tr>
4869 <tr class="function-index" id="databases.c_save_all_dbtables">
4870 <td class="function-index-name">save_all_dbtables<br/>&nbsp;&nbsp;&nbsp;(databases.c)</td>
4871 <td class="function-index-params">&mdash;</td>
4872 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
4873 1 if all tables were successfully saved (or no
4874 are registered), 0 if some tables failed but some
4875 succeeded, -1 if all tables failed.</p></td>
4876 <td class="function-index-purpose">Saves all registered
4877 database tables to persistent storage.</td>
4878 </tr>
4879 <tr class="function-index" id="main.c_save_data_now">
4880 <td class="function-index-name">save_data_now<br/>&nbsp;&nbsp;&nbsp;(main.c)</td>
4881 <td class="function-index-params">&mdash;</td>
4882 <td class="function-index-return">&mdash;</td>
4883 <td class="function-index-purpose">Saves the databases to
4884 persistent storage.</td>
4885 </tr>
4886 <tr class="function-index" id="memory.c_scalloc">
4887 <td class="function-index-name">scalloc<br/>&nbsp;&nbsp;&nbsp;(memory.c)</td>
4888 <td class="function-index-params">
4889 <p class="function-param"><tt>long <i>els</i></tt>:
4890 Number of size units to allocate.</p>
4891 <p class="function-param"><tt>long <i>elsize</i></tt>:
4892 Size of a single unit for allocation.</p></td>
4893 <td class="function-index-return"><p class="function-param"><tt>void *</tt>:
4894 Allocated memory.</p></td>
4895 <td class="function-index-purpose">Allocates
4896 <tt><i>els</i>*<i>elsize</i></tt> bytes of cleared
4897 memory using <tt>calloc()</tt>. Raises an
4898 out-of-memory signal if the allocation fails.</td>
4899 </tr>
4900 <tr class="function-index" id="tools_convert-db.h_scalloc">
4901 <td class="function-index-name">scalloc<br/>&nbsp;&nbsp;&nbsp;(tools/convert-db.h)</td>
4902 <td class="function-index-params">
4903 <p class="function-param"><tt>long <i>els</i></tt>:
4904 Number of size units to allocate.</p>
4905 <p class="function-param"><tt>long <i>elsize</i></tt>:
4906 Size of a single unit for allocation.</p></td>
4907 <td class="function-index-return"><p class="function-param"><tt>void *</tt>:
4908 Allocated memory.</p></td>
4909 <td class="function-index-purpose">Allocates
4910 <tt><i>els</i>*<i>elsize</i></tt> bytes of cleared
4911 memory using <tt>calloc()</tt>. Aborts
4912 <tt>convert-db</tt> if the allocation fails.</td>
4913 </tr>
4914 <tr class="function-index" id="send.c_send_cleanup">
4915 <td class="function-index-name">send_cleanup<br/>&nbsp;&nbsp;&nbsp;(send.c)</td>
4916 <td class="function-index-params">&mdash;</td>
4917 <td class="function-index-return">&mdash;</td>
4918 <td class="function-index-purpose">Performs cleanup actions
4919 for the message sending subsystem.</td>
4920 </tr>
4921 <tr class="function-index" id="send.c_send_cmd">
4922 <td class="function-index-name">send_cmd<br/>&nbsp;&nbsp;&nbsp;(send.c)</td>
4923 <td class="function-index-params">
4924 <p class="function-param"><tt>const char *<i>source</i></tt>:
4925 Source name, or <tt>NULL</tt> for none.</p>
4926 <p class="function-param"><tt>const char *<i>fmt</i></tt>:
4927 Message format string, as for <tt>printf()</tt>.</p>
4928 <p class="function-param"><tt><i>...</i></tt>:
4929 Format arguments.</p></td>
4930 <td class="function-index-return">&mdash;</td>
4931 <td class="function-index-purpose">Sends a generic message
4932 (command) to the remote server.</td>
4933 </tr>
4934 <tr class="function-index" id="send.c_send_channel_cmd">
4935 <td class="function-index-name">send_channel_cmd<br/>&nbsp;&nbsp;&nbsp;(send.c)</td>
4936 <td class="function-index-params">
4937 <p class="function-param"><tt>const char *<i>source</i></tt>:
4938 Source name. Depending on the protocol in
4939 use, this name may or may not be used.</p>
4940 <p class="function-param"><tt>const char *<i>fmt</i></tt>:
4941 Message format string, as for <tt>printf()</tt>.</p>
4942 <p class="function-param"><tt><i>...</i></tt>:
4943 Format arguments.</p></td>
4944 <td class="function-index-return">&mdash;</td>
4945 <td class="function-index-purpose">Sends a message that
4946 affects the status of a channel. Implemented by
4947 the protocol module.</td>
4948 </tr>
4949 <tr class="function-index" id="send.c_send_cmode_cmd">
4950 <td class="function-index-name">send_cmode_cmd<br/>&nbsp;&nbsp;&nbsp;(send.c)</td>
4951 <td class="function-index-params">
4952 <p class="function-param"><tt>const char *<i>source</i></tt>:
4953 Source name, as for <tt>send_channel_cmd()</tt>.</p>
4954 <p class="function-param"><tt>const char *<i>channel</i></tt>:
4955 Channel name.</p>
4956 <p class="function-param"><tt>const char *<i>fmt</i></tt>:
4957 Message format string (as for <tt>printf()</tt>),
4958 starting with the mode string.</p>
4959 <p class="function-param"><tt><i>...</i></tt>:
4960 Format arguments.</p></td>
4961 <td class="function-index-return">&mdash;</td>
4962 <td class="function-index-purpose">Sends a <tt>MODE</tt>
4963 message to change channel modes.</td>
4964 </tr>
4965 <tr class="function-index" id="send.c_send_error">
4966 <td class="function-index-name">send_error<br/>&nbsp;&nbsp;&nbsp;(send.c)</td>
4967 <td class="function-index-params">
4968 <p class="function-param"><tt>const char *<i>fmt</i></tt>:
4969 Error message format, as for <tt>printf()</tt>.</p>
4970 <p class="function-param"><tt><i>...</i></tt>:
4971 Format arguments.</p></td>
4972 <td class="function-index-return">&mdash;</td>
4973 <td class="function-index-purpose">Sends an <tt>ERROR</tt>
4974 message to the remote server, then disconnects from
4975 the server.</td>
4976 </tr>
4977 <tr class="function-index" id="send.c_send_init">
4978 <td class="function-index-name">send_init<br/>&nbsp;&nbsp;&nbsp;(send.c)</td>
4979 <td class="function-index-params">
4980 <p class="function-param"><tt>int <i>ac</i></tt>:
4981 Command-line argument count.</p>
4982 <p class="function-param"><tt>char **<i>av</i></tt>:
4983 Command-line argument vector.</p></td>
4984 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
4985 Nonzero on success, zero on failure.</p></td>
4986 <td class="function-index-purpose">Performs initialization
4987 actions for the message sending subsystem.</td>
4988 </tr>
4989 <tr class="function-index" id="send.c_send_namechange">
4990 <td class="function-index-name">send_namechange<br/>&nbsp;&nbsp;&nbsp;(send.c)</td>
4991 <td class="function-index-params">
4992 <p class="function-param"><tt>const char *<i>nick</i></tt>:
4993 Nickname.</p>
4994 <p class="function-param"><tt>const char *<i>newname</i></tt>:
4995 New real name (GECOS).</p></td>
4996 <td class="function-index-return">&mdash;</td>
4997 <td class="function-index-purpose">Changes the "real name"
4998 (GECOS) of a client. Implemented by the protocol
4999 module; this may be a no-op if the protocol does
5000 not support name changing.</td>
5001 </tr>
5002 <tr class="function-index" id="send.c_send_nick">
5003 <td class="function-index-name">send_nick<br/>&nbsp;&nbsp;&nbsp;(send.c)</td>
5004 <td class="function-index-params">
5005 <p class="function-param"><tt>const char *<i>nick</i></tt>:
5006 Nickname.</p>
5007 <p class="function-param"><tt>const char *<i>user</i></tt>:
5008 Username.</p>
5009 <p class="function-param"><tt>const char *<i>host</i></tt>:
5010 Hostname.</p>
5011 <p class="function-param"><tt>const char *<i>server</i></tt>:
5012 Client's server name.</p>
5013 <p class="function-param"><tt>const char *<i>name</i></tt>:
5014 "Real name" (GECOS).</p>
5015 <p class="function-param"><tt>const char *<i>modes</i></tt>:
5016 Initial mode string, or empty if no modes
5017 are to be set.</p></td>
5018 <td class="function-index-return">&mdash;</td>
5019 <td class="function-index-purpose">Sends messages necessary
5020 to introduce a new local client to the network.
5021 Implemented by the protocol module.</td>
5022 </tr>
5023 <tr class="function-index" id="send.c_send_nickchange">
5024 <td class="function-index-name">send_nickchange<br/>&nbsp;&nbsp;&nbsp;(send.c)</td>
5025 <td class="function-index-params">
5026 <p class="function-param"><tt>const char *<i>nick</i></tt>:
5027 Nickname to change.</p>
5028 <p class="function-param"><tt>const char *<i>newnick</i></tt>:
5029 New nickname.</p></td>
5030 <td class="function-index-return">&mdash;</td>
5031 <td class="function-index-purpose">Changes the nickname of
5032 a client. Implemented by the protocol module.</td>
5033 </tr>
5034 <tr class="function-index" id="send.c_send_nickchange_remote">
5035 <td class="function-index-name">send_nickchange_remote<br/>&nbsp;&nbsp;&nbsp;(send.c)</td>
5036 <td class="function-index-params">
5037 <p class="function-param"><tt>const char *<i>nick</i></tt>:
5038 Nickname to change.</p>
5039 <p class="function-param"><tt>const char *<i>newnick</i></tt>:
5040 New nickname.</p></td>
5041 <td class="function-index-return">&mdash;</td>
5042 <td class="function-index-purpose">Sends a message to
5043 remotely change the nickname of another server's
5044 client. Implemented by the protocol module; this
5045 may be a no-op if the protocol does not support
5046 remote nickname changing.</td>
5047 </tr>
5048 <tr class="function-index" id="send.c_send_pseudo_nick">
5049 <td class="function-index-name">send_pseudo_nick<br/>&nbsp;&nbsp;&nbsp;(send.c)</td>
5050 <td class="function-index-params">
5051 <p class="function-param"><tt>const char *<i>nick</i></tt>:
5052 Nickname.</p>
5053 <p class="function-param"><tt>const char *<i>realname</i></tt>:
5054 "Real name" (GECOS).</p>
5055 <p class="function-param"><tt>int <i>flags</i></tt>:
5056 Operator/invisible flags (<tt>PSEUDO_*</tt>).</p></td>
5057 <td class="function-index-return">&mdash;</td>
5058 <td class="function-index-purpose">Introduces a pseudoclient
5059 to the network.</td>
5060 </tr>
5061 <tr class="function-index" id="send.c_send_server">
5062 <td class="function-index-name">send_server<br/>&nbsp;&nbsp;&nbsp;(send.c)</td>
5063 <td class="function-index-params">&mdash;</td>
5064 <td class="function-index-return">&mdash;</td>
5065 <td class="function-index-purpose">Sends messages to
5066 introduce Services as a server to the network.
5067 Implemented by the protocol module.</td>
5068 </tr>
5069 <tr class="function-index" id="send.c_send_server_remote">
5070 <td class="function-index-name">send_server_remote<br/>&nbsp;&nbsp;&nbsp;(send.c)</td>
5071 <td class="function-index-params">
5072 <p class="function-param"><tt>const char *<i>server</i></tt>:
5073 New server name.</p>
5074 <p class="function-param"><tt>const char *<i>desc</i></tt>:
5075 Description for server.</p></td>
5076 <td class="function-index-return">&mdash;</td>
5077 <td class="function-index-purpose">Introduces a (fake)
5078 remote server to the network. Implemented by the
5079 protocol module.</td>
5080 </tr>
5081 <tr class="function-index" id="timeout.c_send_timeout_list">
5082 <td class="function-index-name">send_timeout_list<br/>&nbsp;&nbsp;&nbsp;(timeout.c)</td>
5083 <td class="function-index-params">
5084 <p class="function-param"><tt>User *<i>u</i></tt>:
5085 Target user.</p></td>
5086 <td class="function-index-return">&mdash;</td>
5087 <td class="function-index-purpose">Debugging function to
5088 send the timeout list as <tt>NOTICE</tt> messages
5089 to a user.</td>
5090 </tr>
5091 <tr class="function-index" id="servers.c_server_cleanup">
5092 <td class="function-index-name">server_cleanup<br/>&nbsp;&nbsp;&nbsp;(servers.c)</td>
5093 <td class="function-index-params">&mdash;</td>
5094 <td class="function-index-return">&mdash;</td>
5095 <td class="function-index-purpose">Performs cleanup actions
5096 for the server management subsystem.</td>
5097 </tr>
5098 <tr class="function-index" id="servers.c_server_init">
5099 <td class="function-index-name">server_init<br/>&nbsp;&nbsp;&nbsp;(servers.c)</td>
5100 <td class="function-index-params">
5101 <p class="function-param"><tt>int <i>ac</i></tt>:
5102 Command-line argument count.</p>
5103 <p class="function-param"><tt>char **<i>av</i></tt>:
5104 Command-line argument vector.</p></td>
5105 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
5106 Nonzero on success, zero on failure.</p></td>
5107 <td class="function-index-purpose">Performs initialization
5108 actions for the server management subsystem.</td>
5109 </tr>
5110 <tr class="function-index" id="actions.c_set_clear_channel_sender">
5111 <td class="function-index-name">set_clear_channel_sender<br/>&nbsp;&nbsp;&nbsp;(actions.c)</td>
5112 <td class="function-index-params">
5113 <p class="function-param"><tt>const char *<i>newsender</i></tt>:
5114 The new name, <tt>NULL</tt> to use the
5115 server name, or <tt>PTR_INVALID</tt> to
5116 leave the name unchanged.</p></td>
5117 <td class="function-index-return"><p class="function-param"><tt>const char *</tt>:
5118 The old name, or the empty string if no name was
5119 set, in a static buffer.</p></td>
5120 <td class="function-index-purpose">Sets the sender name to
5121 use with messages generated by <tt>clear_channel()</tt>,
5122 or retrieves the name currently in use.</td>
5123 </tr>
5124 <tr class="function-index" id="actions.c_set_cmode">
5125 <td class="function-index-name">set_cmode<br/>&nbsp;&nbsp;&nbsp;(actions.c)</td>
5126 <td class="function-index-params">
5127 <p class="function-param"><tt>const char *<i>sender</i></tt>:
5128 Sender name to use with mode changes, or
5129 <tt>NULL</tt> to flush out mode changes
5130 for the specified channel
5131 (<tt><i>channel</i>==NULL</tt>: all channels)..</p>
5132 <p class="function-param"><tt>Channel *<i>channel</i></tt>:
5133 Channel to operate on.</p>
5134 <p class="function-param"><tt><i>...</i></tt>:
5135 Mode change string, followed by the proper
5136 number of parameters (all as strings).</p></td>
5137 <td class="function-index-return">&mdash;</td>
5138 <td class="function-index-purpose">Sets modes on a channel,
5139 accumulating mode changes to minimize the number of
5140 mode change messages sent to the network.</td>
5141 </tr>
5142 <tr class="function-index" id="tools_convert-db.c_set_os_priv">
5143 <td class="function-index-name">set_os_priv<br/>&nbsp;&nbsp;&nbsp;(tools/convert-db.c)</td>
5144 <td class="function-index-params">
5145 <p class="function-param"><tt>const char *<i>nick</i></tt>:
5146 Nickname to set privilege level for.</p>
5147 <p class="function-param"><tt>int16 <i>level</i></tt>:
5148 Privilege level to set.</p></td>
5149 <td class="function-index-return">&mdash;</td>
5150 <td class="function-index-purpose">Sets the OperServ
5151 privilege level (<tt>NickGroupInfo.os_priv</tt>)
5152 for the specified nickname's group.</td>
5153 </tr>
5154 <tr class="function-index" id="encrypt.c_set_password">
5155 <td class="function-index-name">set_password<br/>&nbsp;&nbsp;&nbsp;(encrypt.c)</td>
5156 <td class="function-index-params">
5157 <p class="function-param"><tt>Password *<i>password</i></tt>:
5158 <tt>Password</tt> structure into which data will be stored.</p>
5159 <p class="function-param"><tt>const char <i>password_buf</i>[PASSMAX]</tt>:
5160 Encrypted password buffer.</p>
5161 <p class="function-param"><tt>const char *<i>cipher</i></tt>:
5162 Cipher used to encrypt password (<tt>NULL</tt> if none).</p></td>
5163 <td class="function-index-return">&mdash;</td>
5164 <td class="function-index-purpose">Sets the contents of a
5165 <tt>Password</tt> structure to specific values.</td>
5166 </tr>
5167 <tr class="function-index" id="actions.c_set_topic">
5168 <td class="function-index-name">set_topic<br/>&nbsp;&nbsp;&nbsp;(actions.c)</td>
5169 <td class="function-index-params">
5170 <p class="function-param"><tt>const char *<i>source</i></tt>:
5171 Sender name to use for <tt>TOPIC</tt> message,
5172 or <tt>NULL</tt> to use the server name.</p>
5173 <p class="function-param"><tt>Channel *<i>c</i></tt>:
5174 Channel to operate on.</p>
5175 <p class="function-param"><tt>const char *<i>topic</i></tt>:
5176 New topic to set.</p>
5177 <p class="function-param"><tt>const char *<i>setter</i></tt>:
5178 Nickname to use for topic setter.</p>
5179 <p class="function-param"><tt>time_t <i>t</i></tt>:
5180 Timestamp to use for topic.</p></td>
5181 <td class="function-index-return">&mdash;</td>
5182 <td class="function-index-purpose">Sets the topic on a
5183 channel.</td>
5184 </tr>
5185 <tr class="function-index" id="language.c_setstring">
5186 <td class="function-index-name">setstring<br/>&nbsp;&nbsp;&nbsp;(language.c)</td>
5187 <td class="function-index-params">
5188 <p class="function-param"><tt>int <i>language</i></tt>:
5189 Language index.</p>
5190 <p class="function-param"><tt>int <i>index</i></tt>:
5191 String index.</p>
5192 <p class="function-param"><tt>const char *<i>text</i></tt>:
5193 New text for string.</p></td>
5194 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
5195 Nonzero on success, zero on error.</p></td>
5196 <td class="function-index-purpose">Sets the text for the
5197 given string in the given language.</td>
5198 </tr>
5199 <tr class="function-index" id="sockets.c_sgetc">
5200 <td class="function-index-name">sgetc<br/>&nbsp;&nbsp;&nbsp;(sockets.c)</td>
5201 <td class="function-index-params">
5202 <p class="function-param"><tt>Socket *<i>s</i></tt>:
5203 Socket to read from.</p></td>
5204 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
5205 The character read from the socket, or <tt>EOF</tt>
5206 if no data is available.</p></td>
5207 <td class="function-index-purpose">Reads a single character
5208 (byte) from a socket.</td>
5209 </tr>
5210 <tr class="function-index" id="sockets.c_sgets">
5211 <td class="function-index-name">sgets<br/>&nbsp;&nbsp;&nbsp;(sockets.c)</td>
5212 <td class="function-index-params">
5213 <p class="function-param"><tt>char *<i>buf</i></tt>:
5214 Buffer into which data is to be read.</p>
5215 <p class="function-param"><tt>int32 <i>len</i></tt>:
5216 Size of buffer.</p>
5217 <p class="function-param"><tt>Socket *<i>s</i></tt>:
5218 Socket to read from.</p></td>
5219 <td class="function-index-return"><p class="function-param"><tt>char *</tt>:
5220 <tt><i>buf</i></tt> on success, <tt>NULL</tt> on
5221 failure or when there are no complete lines
5222 available in the read buffer.</p></td>
5223 <td class="function-index-purpose">Reads a line of text
5224 from a socket and stores it in the given buffer.</td>
5225 </tr>
5226 <tr class="function-index" id="sockets.c_sgets2">
5227 <td class="function-index-name">sgets2<br/>&nbsp;&nbsp;&nbsp;(sockets.c)</td>
5228 <td class="function-index-params">
5229 <p class="function-param"><tt>char *<i>buf</i></tt>:
5230 Buffer into which data is to be read.</p>
5231 <p class="function-param"><tt>int32 <i>len</i></tt>:
5232 Size of buffer.</p>
5233 <p class="function-param"><tt>Socket *<i>s</i></tt>:
5234 Socket to read from.</p></td>
5235 <td class="function-index-return"><p class="function-param"><tt>char *</tt>:
5236 <tt><i>buf</i></tt> on success, <tt>NULL</tt> on
5237 failure or when there are no complete lines
5238 available in the read buffer.</p></td>
5239 <td class="function-index-purpose">Reads a line of text
5240 from a socket, strips any trailing CR, LF, or CRLF,
5241 and stores the line in the given buffer.</td>
5242 </tr>
5243 <tr class="function-index" id="memory.c_show_leaks">
5244 <td class="function-index-name">show_leaks<br/>&nbsp;&nbsp;&nbsp;(memory.c)</td>
5245 <td class="function-index-params">&mdash;</td>
5246 <td class="function-index-return">&mdash;</td>
5247 <td class="function-index-purpose">Internal routine to log a notice about any leaked memory.</td>
5248 </tr>
5249 <tr class="function-index" id="signals.c_sighup_handler">
5250 <td class="function-index-name">sighup_handler<br/>&nbsp;&nbsp;&nbsp;(signals.c)</td>
5251 <td class="function-index-params">
5252 <p class="function-param"><tt>int <i>sig_unused</i></tt>:
5253 Signal number (unused).</p></td>
5254 <td class="function-index-return">&mdash;</td>
5255 <td class="function-index-purpose">Handler for the
5256 <tt>SIGHUP</tt> signal.</td>
5257 </tr>
5258 <tr class="function-index" id="signals.c_sigterm_handler">
5259 <td class="function-index-name">sigterm_handler<br/>&nbsp;&nbsp;&nbsp;(signals.c)</td>
5260 <td class="function-index-params">
5261 <p class="function-param"><tt>int <i>sig_unused</i></tt>:
5262 Signal number (unused).</p></td>
5263 <td class="function-index-return">&mdash;</td>
5264 <td class="function-index-purpose">Handler for the
5265 <tt>SIGTERM</tt> signal.</td>
5266 </tr>
5267 <tr class="function-index" id="signals.c_sigusr2_handler">
5268 <td class="function-index-name">sigusr2_handler<br/>&nbsp;&nbsp;&nbsp;(signals.c)</td>
5269 <td class="function-index-params">
5270 <p class="function-param"><tt>int <i>sig_unused</i></tt>:
5271 Signal number (unused)</p></td>
5272 <td class="function-index-return">&mdash;</td>
5273 <td class="function-index-purpose">Handler for the
5274 <tt>SIGUSR2</tt> signal.</td>
5275 </tr>
5276 <tr class="function-index" id="tools_convert-sirv.c_sirv_load_akill">
5277 <td class="function-index-name">sirv_load_akill<br/>&nbsp;&nbsp;&nbsp;(tools/convert-sirv.c)</td>
5278 <td class="function-index-params">
5279 <p class="function-param"><tt>const char *<i>dir</i></tt>:
5280 Directory from which to load data.</p>
5281 <p class="function-param"><tt>int <i>type</i></tt>:
5282 File format type (one of the
5283 <tt>TYPE_*</tt> constants from
5284 <tt>convert-sirv.c</tt>).</p></td>
5285 <td class="function-index-return">&mdash;</td>
5286 <td class="function-index-purpose">Loads the Sirv/Auspice/Bolivia
5287 <tt>akill.db</tt> data file.</td>
5288 </tr>
5289 <tr class="function-index" id="tools_convert-sirv.c_sirv_load_chan">
5290 <td class="function-index-name">sirv_load_chan<br/>&nbsp;&nbsp;&nbsp;(tools/convert-sirv.c)</td>
5291 <td class="function-index-params">
5292 <p class="function-param"><tt>const char *<i>dir</i></tt>:
5293 Directory from which to load data.</p>
5294 <p class="function-param"><tt>int <i>type</i></tt>:
5295 File format type (one of the
5296 <tt>TYPE_*</tt> constants from
5297 <tt>convert-sirv.c</tt>).</p></td>
5298 <td class="function-index-return">&mdash;</td>
5299 <td class="function-index-purpose">Loads the Sirv/Auspice/Bolivia
5300 <tt>chan.db</tt> data file.</td>
5301 </tr>
5302 <tr class="function-index" id="tools_convert-sirv.c_sirv_load_memo">
5303 <td class="function-index-name">sirv_load_memo<br/>&nbsp;&nbsp;&nbsp;(tools/convert-sirv.c)</td>
5304 <td class="function-index-params">
5305 <p class="function-param"><tt>const char *<i>dir</i></tt>:
5306 Directory from which to load data.</p>
5307 <p class="function-param"><tt>int <i>type</i></tt>:
5308 File format type (one of the
5309 <tt>TYPE_*</tt> constants from
5310 <tt>convert-sirv.c</tt>).</p></td>
5311 <td class="function-index-return">&mdash;</td>
5312 <td class="function-index-purpose">Loads the Sirv/Auspice/Bolivia
5313 <tt>memo.db</tt> data file.</td>
5314 </tr>
5315 <tr class="function-index" id="tools_convert-sirv.c_sirv_load_nick">
5316 <td class="function-index-name">sirv_load_nick<br/>&nbsp;&nbsp;&nbsp;(tools/convert-sirv.c)</td>
5317 <td class="function-index-params">
5318 <p class="function-param"><tt>const char *<i>dir</i></tt>:
5319 Directory from which to load data.</p>
5320 <p class="function-param"><tt>int <i>type</i></tt>:
5321 File format type (one of the
5322 <tt>TYPE_*</tt> constants from
5323 <tt>convert-sirv.c</tt>).</p></td>
5324 <td class="function-index-return">&mdash;</td>
5325 <td class="function-index-purpose">Loads the Sirv/Auspice/Bolivia
5326 <tt>nick.db</tt> data file.</td>
5327 </tr>
5328 <tr class="function-index" id="tools_convert-sirv.c_sirv_load_os_sa">
5329 <td class="function-index-name">sirv_load_os_sa<br/>&nbsp;&nbsp;&nbsp;(tools/convert-sirv.c)</td>
5330 <td class="function-index-params">
5331 <p class="function-param"><tt>const char *<i>dir</i></tt>:
5332 Directory from which to load data.</p></td>
5333 <td class="function-index-return">&mdash;</td>
5334 <td class="function-index-purpose">Loads the Sirv
5335 <tt>os_sa.db</tt> data file.</td>
5336 </tr>
5337 <tr class="function-index" id="tools_convert-sirv.c_sirv_load_os_sop">
5338 <td class="function-index-name">sirv_load_os_sop<br/>&nbsp;&nbsp;&nbsp;(tools/convert-sirv.c)</td>
5339 <td class="function-index-params">
5340 <p class="function-param"><tt>const char *<i>dir</i></tt>:
5341 Directory from which to load data.</p></td>
5342 <td class="function-index-return">&mdash;</td>
5343 <td class="function-index-purpose">Loads the Sirv
5344 <tt>os_sop.db</tt> data file.</td>
5345 </tr>
5346 <tr class="function-index" id="tools_convert-sirv.c_sirv_load_trigger">
5347 <td class="function-index-name">sirv_load_trigger<br/>&nbsp;&nbsp;&nbsp;(tools/convert-sirv.c)</td>
5348 <td class="function-index-params">
5349 <p class="function-param"><tt>const char *<i>dir</i></tt>:
5350 Directory from which to load data.</p>
5351 <p class="function-param"><tt>int <i>type</i></tt>:
5352 File format type (one of the
5353 <tt>TYPE_*</tt> constants from
5354 <tt>convert-sirv.c</tt>).</p></td>
5355 <td class="function-index-return">&mdash;</td>
5356 <td class="function-index-purpose">Loads the Sirv/Auspice/Bolivia
5357 <tt>trigger.db</tt> data file.</td>
5358 </tr>
5359 <tr class="function-index" id="memory.c_smalloc">
5360 <td class="function-index-name">smalloc<br/>&nbsp;&nbsp;&nbsp;(memory.c)</td>
5361 <td class="function-index-params">
5362 <p class="function-param"><tt>long <i>size</i></tt>:
5363 Size of memory to allocate, in bytes.</p></td>
5364 <td class="function-index-return"><p class="function-param"><tt>void *</tt>:
5365 Allocated memory.</p></td>
5366 <td class="function-index-purpose">Allocates memory using
5367 <tt>malloc()</tt>. Raises an out-of-memory signal
5368 if the allocation fails.</td>
5369 </tr>
5370 <tr class="function-index" id="tools_convert-db.c_smalloc">
5371 <td class="function-index-name">smalloc<br/>&nbsp;&nbsp;&nbsp;(tools/convert-db.c)</td>
5372 <td class="function-index-params">
5373 <p class="function-param"><tt>long <i>size</i></tt>:
5374 Size of memory to allocate, in bytes.</p></td>
5375 <td class="function-index-return"><p class="function-param"><tt>void *</tt>:
5376 Allocated memory.</p></td>
5377 <td class="function-index-purpose">Allocates memory using
5378 <tt>malloc()</tt>. Aborts <tt>convert-db</tt> if
5379 the allocation fails.</td>
5380 </tr>
5381 <tr class="function-index" id="compat.c_snprintf">
5382 <td class="function-index-name">snprintf<br/>&nbsp;&nbsp;&nbsp;(compat.c)</td>
5383 <td class="function-index-params">
5384 <p class="function-param"><tt>char *<i>buf</i></tt>:
5385 Buffer to write output into.</p>
5386 <p class="function-param"><tt>size_t <i>len</i></tt>:
5387 Size of buffer.</p>
5388 <p class="function-param"><tt>const char *<i>fmt</i></tt>:
5389 Output format string.</p>
5390 <p class="function-param"><tt>...</tt>:
5391 Output arguments.</p></td>
5392 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
5393 Number of bytes written into buffer, excluding
5394 trailing null.</p></td>
5395 <td class="function-index-purpose">Compatibility function.</td>
5396 </tr>
5397 <tr class="function-index" id="sockets.c_sock_bufstat">
5398 <td class="function-index-name">sock_bufstat<br/>&nbsp;&nbsp;&nbsp;(sockets.c)</td>
5399 <td class="function-index-params">
5400 <p class="function-param"><tt>const Socket *<i>s</i></tt>:
5401 Socket to get statistics for. May be
5402 <tt>NULL</tt>.</p>
5403 <p class="function-param"><tt>uint32 *<i>socksize_ret</i></tt>:
5404 Location in which to store the total size
5405 used by the given socket's buffers, in
5406 bytes. May be <tt>NULL</tt>.</p>
5407 <p class="function-param"><tt>uint32 *<i>totalsize_ret</i></tt>:
5408 Location in which to store the total size
5409 used by all sockets' buffers, in bytes.
5410 May be <tt>NULL</tt>.</p>
5411 <p class="function-param"><tt>int *<i>ratio1_ret</i></tt>:
5412 Location in which to store the ratio of the
5413 value stored in <tt>*<i>socksize_ret</i></tt>
5414 to the per-connection buffer size limit
5415 (zero if that limit is not set).</p>
5416 <p class="function-param"><tt>int *<i>ratio2_ret</i></tt>:
5417 Location in which to store the ratio of the
5418 value stored in <tt>*<i>totalsize_ret</i></tt>
5419 to the total buffer size limit (zero if that
5420 limit is not set).</p></td>
5421 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
5422 The larger of the two ratios stored in
5423 <tt>*<i>ratio1_ret</i></tt> and
5424 <tt>*<i>ratio2_ret</i></tt>.</p></td>
5425 <td class="function-index-purpose">Return statistics on
5426 socket buffer size usage. Both ratios are
5427 expressed as percentages rounded up to the nearest
5428 integer. If the socket pointer <tt><i>s</i></tt> is
5429 <tt>NULL</tt>, then <tt>*<i>socksize_ret</i></tt> is
5430 left unchanged, and <tt>*<i>ratio1_ret</i></tt> is
5431 set to zero.</td>
5432 </tr>
5433 <tr class="function-index" id="sockets.c_sock_closefd">
5434 <td class="function-index-name">sock_closefd<br/>&nbsp;&nbsp;&nbsp;(sockets.c)</td>
5435 <td class="function-index-params">
5436 <p class="function-param"><tt>Socket *<i>s</i></tt>:
5437 </p>Socket to operate on.</td>
5438 <td class="function-index-return">&mdash;</td>
5439 <td class="function-index-purpose">Closes the file descriptor
5440 associated with the given socket, and resets the
5441 corresponding field in the <tt>Socket</tt>
5442 structure.</td>
5443 </tr>
5444 <tr class="function-index" id="sockets.c_sock_free">
5445 <td class="function-index-name">sock_free<br/>&nbsp;&nbsp;&nbsp;(sockets.c)</td>
5446 <td class="function-index-params">
5447 <p class="function-param"><tt>Socket *<i>s</i></tt>:
5448 Socket to free.</p></td>
5449 <td class="function-index-return">&mdash;</td>
5450 <td class="function-index-purpose">Frees all resources used
5451 by the given socket.</td>
5452 </tr>
5453 <tr class="function-index" id="sockets.c_sock_get_blocking">
5454 <td class="function-index-name">sock_get_blocking<br/>&nbsp;&nbsp;&nbsp;(sockets.c)</td>
5455 <td class="function-index-params">
5456 <p class="function-param"><tt>const Socket *<i>s</i></tt>:
5457 Socket to operate on.</p></td>
5458 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
5459 The socket's blocking status.</p></td>
5460 <td class="function-index-purpose">Returns whether the
5461 socket is set to blocking mode (nonzero) or not
5462 (zero).</td>
5463 </tr>
5464 <tr class="function-index" id="sockets.c_sock_isconn">
5465 <td class="function-index-name">sock_isconn<br/>&nbsp;&nbsp;&nbsp;(sockets.c)</td>
5466 <td class="function-index-params">
5467 <p class="function-param"><tt>const Socket *<i>s</i></tt>:
5468 Socket to operate on.</p></td>
5469 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
5470 Nonzero if the socket is currently connected, else
5471 zero.</p></td>
5472 <td class="function-index-purpose">Returns whether the socket
5473 is currently connected to a remote host.</td>
5474 </tr>
5475 <tr class="function-index" id="sockets.c_sock_mute">
5476 <td class="function-index-name">sock_mute<br/>&nbsp;&nbsp;&nbsp;(sockets.c)</td>
5477 <td class="function-index-params">
5478 <p class="function-param"><tt>Socket *<i>s</i></tt>:
5479 Socket to mute.</p></td>
5480 <td class="function-index-return">&mdash;</td>
5481 <td class="function-index-purpose">Mutes the given socket,
5482 preventing any further actions being taken in
5483 response to socket activity.</td>
5484 </tr>
5485 <tr class="function-index" id="sockets.c_sock_new">
5486 <td class="function-index-name">sock_new<br/>&nbsp;&nbsp;&nbsp;(sockets.c)</td>
5487 <td class="function-index-params">&mdash;</td>
5488 <td class="function-index-return"><p class="function-param"><tt>Socket *</tt>:
5489 New socket, or <tt>NULL</tt> on error.</p></td>
5490 <td class="function-index-purpose">Creates a new socket.</td>
5491 </tr>
5492 <tr class="function-index" id="sockets.c_sock_remote">
5493 <td class="function-index-name">sock_remote<br/>&nbsp;&nbsp;&nbsp;(sockets.c)</td>
5494 <td class="function-index-params">
5495 <p class="function-param"><tt>const Socket *<i>s</i></tt>:
5496 Socket whose remote address is to be
5497 retrieved.</p>
5498 <p class="function-param"><tt>struct sockaddr *<i>sa</i></tt>:
5499 <tt>sockaddr</tt> structure into which the
5500 address is to be stored.</p>
5501 <p class="function-param"><tt>int *<i>lenptr</i></tt>:
5502 Length pointer, initialized to the size of
5503 the passed-in <tt>sockaddr</tt> structure
5504 and set on return to the size of the data
5505 stored in that structure.</p></td>
5506 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
5507 0 on success, -1 on error.</p></td>
5508 <td class="function-index-purpose">Retrieves the remote
5509 address of the given (connected) socket, similar to
5510 the <tt>getpeername()</tt> system call.</td>
5511 </tr>
5512 <tr class="function-index" id="sockets.c_sock_rwstat">
5513 <td class="function-index-name">sock_rwstat<br/>&nbsp;&nbsp;&nbsp;(sockets.c)</td>
5514 <td class="function-index-params">
5515 <p class="function-param"><tt>const Socket *<i>s</i></tt>:
5516 Socket to retrieve statistics for.</p>
5517 <p class="function-param"><tt>uint64 *<i>read_ret</i></tt>:
5518 Location in which to store the number of
5519 bytes received during the current
5520 connection.</p>
5521 <p class="function-param"><tt>uint64 *<i>written_ret</i></tt>:
5522 Location in which to store the number of
5523 bytes sent during the current
5524 connection.</p></td>
5525 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
5526 0 on success, -1 on error.</p></td>
5527 <td class="function-index-purpose">Returns the amount of
5528 data received and sent over the life of the
5529 socket's current connection.</td>
5530 </tr>
5531 <tr class="function-index" id="sockets.c_sock_set_blocking">
5532 <td class="function-index-name">sock_set_blocking<br/>&nbsp;&nbsp;&nbsp;(sockets.c)</td>
5533 <td class="function-index-params">
5534 <p class="function-param"><tt>Socket *<i>s</i></tt>:
5535 Socket to operate on.</p>
5536 <p class="function-param"><tt>int <i>blocking</i></tt>:
5537 New state (nonzero for blocking, zero for
5538 nonblocking).</p></td>
5539 <td class="function-index-return">&mdash;</td>
5540 <td class="function-index-purpose">Sets the socket's
5541 blocking/nonblocking state.</td>
5542 </tr>
5543 <tr class="function-index" id="sockets.c_sock_set_buflimits">
5544 <td class="function-index-name">sock_set_buflimits<br/>&nbsp;&nbsp;&nbsp;(sockets.c)</td>
5545 <td class="function-index-params">
5546 <p class="function-param"><tt>uint32 <i>per_conn</i></tt>:
5547 Maximum number of bytes to use for a single
5548 connection's buffers (zero for unlimited).</p>
5549 <p class="function-param"><tt>uint32 <i>total</i></tt>:
5550 Maximum number of bytes to use for all
5551 connections' buffers (zero for
5552 unlimited).</p></td>
5553 <td class="function-index-return">&mdash;</td>
5554 <td class="function-index-purpose">Sets the global buffer
5555 size limits.</td>
5556 </tr>
5557 <tr class="function-index" id="sockets.c_sock_set_rto">
5558 <td class="function-index-name">sock_set_rto<br/>&nbsp;&nbsp;&nbsp;(sockets.c)</td>
5559 <td class="function-index-params">
5560 <p class="function-param"><tt>int <i>msec</i></tt>:
5561 Read timeout, in milliseconds.</p></td>
5562 <td class="function-index-return">&mdash;</td>
5563 <td class="function-index-purpose">Sets the global read
5564 timeout (the timeout used when waiting for socket
5565 activity).</td>
5566 </tr>
5567 <tr class="function-index" id="sockets.c_sock_set_wto">
5568 <td class="function-index-name">sock_set_wto<br/>&nbsp;&nbsp;&nbsp;(sockets.c)</td>
5569 <td class="function-index-params">
5570 <p class="function-param"><tt>Socket *<i>s</i></tt>:
5571 Socket to operate on.</p>
5572 <p class="function-param"><tt>int <i>seconds</i></tt>:
5573 Write timeout, in seconds.</p></td>
5574 <td class="function-index-return">&mdash;</td>
5575 <td class="function-index-purpose">Sets the write timeout
5576 for the given socket.</td>
5577 </tr>
5578 <tr class="function-index" id="sockets.c_sock_setcb">
5579 <td class="function-index-name">sock_setcb<br/>&nbsp;&nbsp;&nbsp;(sockets.c)</td>
5580 <td class="function-index-params">
5581 <p class="function-param"><tt>Socket *<i>s</i></tt>:
5582 Socket to operate on.</p>
5583 <p class="function-param"><tt>SocketCallbackID <i>which</i></tt>:
5584 Constant identifying the callback to set.</p>
5585 <p class="function-param"><tt>SocketCallback <i>func</i></tt>:
5586 Callback function for the callback.</p></td>
5587 <td class="function-index-return">&mdash;</td>
5588 <td class="function-index-purpose">Sets a callback function
5589 for the given socket.</td>
5590 </tr>
5591 <tr class="function-index" id="sockets.c_sock_unmute">
5592 <td class="function-index-name">sock_unmute<br/>&nbsp;&nbsp;&nbsp;(sockets.c)</td>
5593 <td class="function-index-params">
5594 <p class="function-param"><tt>Socket *<i>s</i></tt>:
5595 Socket to unmute.</p></td>
5596 <td class="function-index-return">&mdash;</td>
5597 <td class="function-index-purpose">Unmutes a socket,
5598 allowing socket activity to be processed as usual.</td>
5599 </tr>
5600 <tr class="function-index" id="sockets.c_sockprintf">
5601 <td class="function-index-name">sockprintf<br/>&nbsp;&nbsp;&nbsp;(sockets.c)</td>
5602 <td class="function-index-params">
5603 <p class="function-param"><tt>Socket *<i>s</i></tt>:
5604 Socket to write to.</p>
5605 <p class="function-param"><tt>const char *<i>fmt</i></tt>:
5606 Output format string.</p>
5607 <p class="function-param"><tt><i>...</i></tt>:
5608 Output arguments.</p></td>
5609 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
5610 Number of bytes written to the socket.</p></td>
5611 <td class="function-index-purpose">Writes a formatted string
5612 to the given socket, like <tt>printf()</tt>.</td>
5613 </tr>
5614 <tr class="function-index" id="process.c_split_buf">
5615 <td class="function-index-name">split_buf<br/>&nbsp;&nbsp;&nbsp;(process.c)</td>
5616 <td class="function-index-params">
5617 <p class="function-param"><tt>char *<i>buf</i></tt>:
5618 String to split.</p>
5619 <p class="function-param"><tt>char ***<i>argv_ptr</i></tt>:
5620 Pointer to <tt>char&nbsp;**</tt> variable
5621 in which to store field array.</p>
5622 <p class="function-param"><tt>int <i>colon_special</i></tt>:
5623 Nonzero to treat a leading colon on a field
5624 as extending to the end of the line, like
5625 RFC 1459.</p></td>
5626 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
5627 Number of fields in the result array.</p></td>
5628 <td class="function-index-purpose">Splits a string into
5629 fields at space characters, optionally treating a
5630 leading colon on a field in the RFC 1459 style.</td>
5631 </tr>
5632 <tr class="function-index" id="users.c_split_usermask">
5633 <td class="function-index-name">split_usermask<br/>&nbsp;&nbsp;&nbsp;(users.c)</td>
5634 <td class="function-index-params">
5635 <p class="function-param"><tt>const char *<i>mask</i></tt>:
5636 Mask to split.</p>
5637 <p class="function-param"><tt>char **<i>nick</i></tt>:
5638 Nickname part of mask, or "<tt>*</tt>" if missing.</p>
5639 <p class="function-param"><tt>char **<i>user</i></tt>:
5640 Username part of mask, or "<tt>*</tt>" if missing.</p>
5641 <p class="function-param"><tt>char **<i>host</i></tt>:
5642 Hostname part of mask, or "<tt>*</tt>" if missing.</p></td>
5643 <td class="function-index-return">&mdash;</td>
5644 <td class="function-index-purpose">Splits a user/host mask
5645 into its consitutuent parts (the original string is
5646 not modified). Each of the return strings is
5647 allocated with <tt>malloc()</tt>.</td>
5648 </tr>
5649 <tr class="function-index" id="sockets.c_sputs">
5650 <td class="function-index-name">sputs<br/>&nbsp;&nbsp;&nbsp;(sockets.c)</td>
5651 <td class="function-index-params">
5652 <p class="function-param"><tt>const char *<i>str</i></tt>:
5653 String to write.</p>
5654 <p class="function-param"><tt>Socket *<i>s</i></tt>:
5655 Socket to write to.</p></td>
5656 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
5657 Number of bytes written, or -1 on error.</p></td>
5658 <td class="function-index-purpose">Writes a string to a
5659 socket.</td>
5660 </tr>
5661 <tr class="function-index" id="servers.c_squit_server">
5662 <td class="function-index-name">squit_server<br/>&nbsp;&nbsp;&nbsp;(servers.c)</td>
5663 <td class="function-index-params">
5664 <p class="function-param"><tt>Server *<i>server</i></tt>:
5665 The server to delete.</p>
5666 <p class="function-param"><tt>const char *<i>reason</i></tt>:
5667 The <tt>SQUIT</tt> reason string.</p></td>
5668 <td class="function-index-return">&mdash;</td>
5669 <td class="function-index-purpose">Deletes the given server
5670 and all child servers.</td>
5671 </tr>
5672 <tr class="function-index" id="sockets.c_sread">
5673 <td class="function-index-name">sread<br/>&nbsp;&nbsp;&nbsp;(sockets.c)</td>
5674 <td class="function-index-params">
5675 <p class="function-param"><tt>Socket *<i>s</i></tt>:
5676 Socket to read from.</p>
5677 <p class="function-param"><tt>char *<i>buf</i></tt>:
5678 Buffer to read into.</p>
5679 <p class="function-param"><tt>int32 <i>len</i></tt>:
5680 Number of bytes to read.</p></td>
5681 <td class="function-index-return"><p class="function-param"><tt>int32</tt>:
5682 Number of bytes read, or -1 on error.</p></td>
5683 <td class="function-index-purpose">Reads data from the
5684 given socket.</td>
5685 </tr>
5686 <tr class="function-index" id="memory.c_srealloc">
5687 <td class="function-index-name">srealloc<br/>&nbsp;&nbsp;&nbsp;(memory.c)</td>
5688 <td class="function-index-params">
5689 <p class="function-param"><tt>void *<i>oldptr</i></tt>:
5690 Memory to be reallocated.</p>
5691 <p class="function-param"><tt>long <i>newsize</i></tt>:
5692 New size of memory region.</p></td>
5693 <td class="function-index-return"><p class="function-param"><tt>void *</tt>:
5694 New memory region.</p></td>
5695 <td class="function-index-purpose">Reallocates memory using
5696 <tt>realloc()</tt>. Raises an out-of-memory signal
5697 if the allocation fails.</td>
5698 </tr>
5699 <tr class="function-index" id="tools_convert-db.c_srealloc">
5700 <td class="function-index-name">srealloc<br/>&nbsp;&nbsp;&nbsp;(tools/convert-db.c)</td>
5701 <td class="function-index-params">
5702 <p class="function-param"><tt>void *<i>ptr</i></tt>:
5703 Memory to be reallocated.</p>
5704 <p class="function-param"><tt>long <i>size</i></tt>:
5705 New size of memory region.</p></td>
5706 <td class="function-index-return"><p class="function-param"><tt>void *</tt>:
5707 New memory region.</p></td>
5708 <td class="function-index-purpose">Reallocates memory using
5709 <tt>realloc()</tt>. Aborts <tt>convert-db</tt> if
5710 the reallocation fails.</td>
5711 </tr>
5712 <tr class="function-index" id="memory.c_sstrdup">
5713 <td class="function-index-name">sstrdup<br/>&nbsp;&nbsp;&nbsp;(memory.c)</td>
5714 <td class="function-index-params">
5715 <p class="function-param"><tt>const char *<i>s</i></tt>:
5716 String to duplicate.</p></td>
5717 <td class="function-index-return"><p class="function-param"><tt>char *</tt>:
5718 Duplicated string.</p></td>
5719 <td class="function-index-purpose">Duplicates a string,
5720 like <tt>strdup()</tt>. Raises an out-of-memory
5721 signal if the duplication fails.</td>
5722 </tr>
5723 <tr class="function-index" id="tools_convert-db.c_sstrdup">
5724 <td class="function-index-name">sstrdup<br/>&nbsp;&nbsp;&nbsp;(tools/convert-db.c)</td>
5725 <td class="function-index-params">
5726 <p class="function-param"><tt>const char *<i>s</i></tt>:
5727 String to duplicate.</p></td>
5728 <td class="function-index-return"><p class="function-param"><tt>char *</tt>:
5729 Duplicated string.</p></td>
5730 <td class="function-index-purpose">Duplicates a string,
5731 like <tt>strdup()</tt>. Aborts <tt>convert-db</tt>
5732 if memory allocation fails.</td>
5733 </tr>
5734 <tr class="function-index" id="extern.h_strbcpy">
5735 <td class="function-index-name">strbcpy<br/>&nbsp;&nbsp;&nbsp;(extern.h)</td>
5736 <td class="function-index-params">
5737 <p class="function-param"><tt>char *<i>d</i></tt>:
5738 Destination buffer.</p>
5739 <p class="function-param"><tt>const char *<i>s</i></tt>:
5740 Source string.</p></td>
5741 <td class="function-index-return"><p class="function-param"><tt>char *</tt>:
5742 Destination buffer.</p></td>
5743 <td class="function-index-purpose">A shortcut for copying
5744 a string into a character array of fixed size.
5745 Equivalent to <tt>strscpy(<i>d</i>, <i>s</i>,
5746 sizeof(<i>d</i>))</tt>.</td>
5747 </tr>
5748 <tr class="function-index" id="compat.c_strcspn">
5749 <td class="function-index-name">strcspn<br/>&nbsp;&nbsp;&nbsp;(compat.c)</td>
5750 <td class="function-index-params">
5751 <p class="function-param"><tt>const char *<i>s</i></tt>:
5752 Input string.</p>
5753 <p class="function-param"><tt>const char *<i>reject</i></tt>:
5754 Characters to reject.</p></td>
5755 <td class="function-index-return"><p class="function-param"><tt>size_t</tt>:
5756 Number of characters from the beginning of
5757 <tt><i>s</i></tt> which are not in
5758 <tt><i>reject</i></tt>.</p></td>
5759 <td class="function-index-purpose">Compatibility function.</td>
5760 </tr>
5761 <tr class="function-index" id="compat.c_strdup">
5762 <td class="function-index-name">strdup<br/>&nbsp;&nbsp;&nbsp;(compat.c)</td>
5763 <td class="function-index-params">
5764 <p class="function-param"><tt>const char *<i>s</i></tt>:
5765 String to duplicate</p></td>
5766 <td class="function-index-return"><p class="function-param"><tt>char *</tt>:
5767 Duplicated string, or <tt>NULL</tt> if duplication
5768 fails.</p></td>
5769 <td class="function-index-purpose">Compatibility function.</td>
5770 </tr>
5771 <tr class="function-index" id="compat.c_strerror">
5772 <td class="function-index-name">strerror<br/>&nbsp;&nbsp;&nbsp;(compat.c)</td>
5773 <td class="function-index-params">
5774 <p class="function-param"><tt>int <i>errnum</i></tt>:
5775 Value of <tt>errno</tt>.</p></td>
5776 <td class="function-index-return"><p class="function-param"><tt>char *</tt>:
5777 String describing the given error number.</p></td>
5778 <td class="function-index-purpose">Compatibility function.</td>
5779 </tr>
5780 <tr class="function-index" id="language.c_strftime_lang">
5781 <td class="function-index-name">strftime_lang<br/>&nbsp;&nbsp;&nbsp;(language.c)</td>
5782 <td class="function-index-params">
5783 <p class="function-param"><tt>char *<i>buf</i></tt>:
5784 Destination buffer.</p>
5785 <p class="function-param"><tt>int <i>size</i></tt>:
5786 Size of destination buffer in bytes.</p>
5787 <p class="function-param"><tt>const NickGroupInfo *<i>ngi</i></tt>:
5788 Nickname group record for user to which
5789 message will be sent, or <tt>NULL</tt> if none.</p>
5790 <p class="function-param"><tt>int <i>format</i></tt>:
5791 String index for date/time format.</p>
5792 <p class="function-param"><tt>time_t <i>time</i></tt>:
5793 Timestamp to convert.</p></td>
5794 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
5795 Length of result string if it fits, else 0 (the
5796 same as <tt>strftime()</tt>).</p></td>
5797 <td class="function-index-purpose">Converts the given
5798 timestamp to a string, according to the given
5799 format string index and the user's selected
5800 language.</td>
5801 </tr>
5802 <tr class="function-index" id="compat.c_stricmp">
5803 <td class="function-index-name">stricmp<br/>&nbsp;&nbsp;&nbsp;(compat.c)</td>
5804 <td class="function-index-params">
5805 <p class="function-param"><tt>const char *<i>s1</i></tt>:
5806 First string.</p>
5807 <p class="function-param"><tt>const char *<i>s2</i></tt>:
5808 Second string.</p></td>
5809 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
5810 The result of a case-insensitive comparison of
5811 <tt><i>s1</i></tt> with <tt><i>s2</i></tt> (-1, 0,
5812 or 1, like <tt>strcmp()</tt>).</p></td>
5813 <td class="function-index-purpose">Compatibility function.</td>
5814 </tr>
5815 <tr class="function-index" id="lang_langcomp.c_stringnum">
5816 <td class="function-index-name">stringnum<br/>&nbsp;&nbsp;&nbsp;(lang/langcomp.c)</td>
5817 <td class="function-index-params">
5818 <p class="function-param"><tt>const char *<i>name</i></tt>:
5819 String name.</p></td>
5820 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
5821 String index.</p></td>
5822 <td class="function-index-purpose">Returns the string index
5823 for a given string name.</td>
5824 </tr>
5825 <tr class="function-index" id="misc.c_stristr">
5826 <td class="function-index-name">stristr<br/>&nbsp;&nbsp;&nbsp;(misc.c)</td>
5827 <td class="function-index-params">
5828 <p class="function-param"><tt>const char *<i>s1</i></tt>:
5829 String to search.</p>
5830 <p class="function-param"><tt>const char *<i>s2</i></tt>:
5831 Substring to search for.</p></td>
5832 <td class="function-index-return"><p class="function-param"><tt>char *</tt>:
5833 Pointer to the first occurrence of
5834 <tt><i>s2</i></tt> in <tt><i>s1</i></tt>, or
5835 <tt>NULL</tt> if <tt><i>s2</i></tt> is not found in
5836 <tt><i>s1</i></tt>.</p></td>
5837 <td class="function-index-purpose">Searches
5838 case-insensitively for one string inside another.</td>
5839 </tr>
5840 <tr class="function-index" id="misc.c_strlower">
5841 <td class="function-index-name">strlower<br/>&nbsp;&nbsp;&nbsp;(misc.c)</td>
5842 <td class="function-index-params">
5843 <p class="function-param"><tt>char *<i>s</i></tt>:
5844 String to convert.</p></td>
5845 <td class="function-index-return"><p class="function-param"><tt>char *</tt>:
5846 Converted string (<tt><i>s</i></tt>).</p></td>
5847 <td class="function-index-purpose">Converts a string to
5848 lowercase.</td>
5849 </tr>
5850 <tr class="function-index" id="misc.c_strmove">
5851 <td class="function-index-name">strmove<br/>&nbsp;&nbsp;&nbsp;(misc.c)</td>
5852 <td class="function-index-params">
5853 <p class="function-param"><tt>char *<i>d</i></tt>:
5854 Destination buffer.</p>
5855 <p class="function-param"><tt>const char *<i>s</i></tt>:
5856 Source string.</p></td>
5857 <td class="function-index-return"><p class="function-param"><tt>char *</tt>:
5858 Destination buffer.</p></td>
5859 <td class="function-index-purpose">Copies a string. The
5860 destination buffer and source string may overlap.</td>
5861 </tr>
5862 <tr class="function-index" id="compat.c_strnicmp">
5863 <td class="function-index-name">strnicmp<br/>&nbsp;&nbsp;&nbsp;(compat.c)</td>
5864 <td class="function-index-params">
5865 <p class="function-param"><tt>const char *<i>s1</i></tt>:
5866 First string.</p>
5867 <p class="function-param"><tt>const char *<i>s2</i></tt>:
5868 Second string.</p>
5869 <p class="function-param"><tt>size_t <i>len</i></tt>:
5870 Maximum number of characters to compare.</p></td>
5871 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
5872 The result of a case-insensitive comparison of up
5873 to <tt><i>len</i></tt> characters of
5874 <tt><i>s1</i></tt> with <tt><i>s2</i></tt> (-1, 0,
5875 or 1, like <tt>strncmp()</tt>).</p></td>
5876 <td class="function-index-purpose">Compatibility function.</td>
5877 </tr>
5878 <tr class="function-index" id="misc.c_strnrepl">
5879 <td class="function-index-name">strnrepl<br/>&nbsp;&nbsp;&nbsp;(misc.c)</td>
5880 <td class="function-index-params">
5881 <p class="function-param"><tt>char *<i>s</i></tt>:
5882 String to operate on.</p>
5883 <p class="function-param"><tt>int32 <i>size</i></tt>:
5884 Maximum size of result, including trailing
5885 null.</p>
5886 <p class="function-param"><tt>const char *<i>old</i></tt>:
5887 Substring to replace.</p>
5888 <p class="function-param"><tt>const char *<i>new</i></tt>:
5889 Replacement string.</p></td>
5890 <td class="function-index-return"><p class="function-param"><tt>char *</tt>:
5891 String (<tt><i>s</i></tt>).</p></td>
5892 <td class="function-index-purpose">Replaces all occurrences
5893 of <tt><i>old</i></tt> with <tt><i>new</i></tt> in
5894 <tt><i>s</i></tt>, stopping if a replacement would
5895 cause the result to exceed <tt><i>size</i></tt>
5896 bytes.</td>
5897 </tr>
5898 <tr class="function-index" id="misc.c_strscpy">
5899 <td class="function-index-name">strscpy<br/>&nbsp;&nbsp;&nbsp;(misc.c)</td>
5900 <td class="function-index-params">
5901 <p class="function-param"><tt>char *<i>d</i></tt>:
5902 Destination buffer.</p>
5903 <p class="function-param"><tt>const char *<i>s</i></tt>:
5904 Source string.</p>
5905 <p class="function-param"><tt>size_t <i>len</i></tt>:
5906 Destination buffer size.</p></td>
5907 <td class="function-index-return"><p class="function-param"><tt>char *</tt>:
5908 Destination buffer.</p></td>
5909 <td class="function-index-purpose">Copies a string up to a
5910 maximum length, like <tt>strncpy()</tt>, except
5911 that the string is always null-terminated, and the
5912 destination buffer is not padded with nulls if the
5913 source string is shorter than <tt><i>len</i>-1</tt>
5914 bytes.</td>
5915 </tr>
5916 <tr class="function-index" id="compat.c_strsignal">
5917 <td class="function-index-name">strsignal<br/>&nbsp;&nbsp;&nbsp;(compat.c)</td>
5918 <td class="function-index-params">
5919 <p class="function-param"><tt>int <i>signum</i></tt>:
5920 Signal number.</p></td>
5921 <td class="function-index-return"><p class="function-param"><tt>char *</tt>:
5922 String describing the given signal number.</p></td>
5923 <td class="function-index-purpose">Compatibility function.</td>
5924 </tr>
5925 <tr class="function-index" id="compat.c_strspn">
5926 <td class="function-index-name">strspn<br/>&nbsp;&nbsp;&nbsp;(compat.c)</td>
5927 <td class="function-index-params">
5928 <p class="function-param"><tt>const char *<i>s</i></tt>:
5929 Input string.</p>
5930 <p class="function-param"><tt>const char *<i>accept</i></tt>:
5931 Characters to accept.</p></td>
5932 <td class="function-index-return"><p class="function-param"><tt>size_t</tt>:
5933 Number of characters from the beginning of
5934 <tt><i>s</i></tt> which are in
5935 <tt><i>accept</i></tt>.</p></td>
5936 <td class="function-index-purpose">Compatibility function.</td>
5937 </tr>
5938 <tr class="function-index" id="compat.c_strtok">
5939 <td class="function-index-name">strtok<br/>&nbsp;&nbsp;&nbsp;(compat.c)</td>
5940 <td class="function-index-params">
5941 <p class="function-param"><tt>char *<i>str</i></tt>:
5942 String to tokenize, or <tt>NULL</tt> to
5943 continue tokenizing the current string.</p>
5944 <p class="function-param"><tt>const char *<i>delim</i></tt>:
5945 Token delimiters.</p></td>
5946 <td class="function-index-return"><p class="function-param"><tt>char *</tt>:
5947 Pointer to the next token, or <tt>NULL</tt> if
5948 there are no more tokens.</p></td>
5949 <td class="function-index-purpose">Compatibility function.</td>
5950 </tr>
5951 <tr class="function-index" id="misc.c_strtok_remaining">
5952 <td class="function-index-name">strtok_remaining<br/>&nbsp;&nbsp;&nbsp;(misc.c)</td>
5953 <td class="function-index-params">&mdash;</td>
5954 <td class="function-index-return"><p class="function-param"><tt>char *</tt>:
5955 Final token in string, or <tt>NULL</tt> if no
5956 tokens remain.</p></td>
5957 <td class="function-index-purpose">Returns the remainder
5958 of the string currently being processed by
5959 <tt>strtok()</tt>, with any leading or trailing
5960 whitespace stripped.</td>
5961 </tr>
5962 <tr class="function-index" id="misc.c_strtotime">
5963 <td class="function-index-name">strtotime<br/>&nbsp;&nbsp;&nbsp;(misc.c)</td>
5964 <td class="function-index-params">
5965 <p class="function-param"><tt>const char *<i>str</i></tt>:
5966 String to convert.</p>
5967 <p class="function-param"><tt>char **<i>endptr</i></tt>:
5968 If not <tt>NULL</tt>, receives a pointer to
5969 the first character after the parsed
5970 value.</p></td>
5971 <td class="function-index-return"><p class="function-param"><tt>time_t</tt>:
5972 The parsed value.</p></td>
5973 <td class="function-index-purpose">Converts a string to a
5974 <tt>time_t</tt> value, assuming base 10. Sets
5975 <tt>errno</tt> to <tt>ERANGE</tt> if the result
5976 overflows a <tt>time_t</tt>.</td>
5977 </tr>
5978 <tr class="function-index" id="misc.c_strupper">
5979 <td class="function-index-name">strupper<br/>&nbsp;&nbsp;&nbsp;(misc.c)</td>
5980 <td class="function-index-params">
5981 <p class="function-param"><tt>char *<i>s</i></tt>:
5982 String to convert.</p></td>
5983 <td class="function-index-return"><p class="function-param"><tt>char *</tt>:
5984 Converted string (<tt><i>s</i></tt>)</p></td>
5985 <td class="function-index-purpose">Converts a string to
5986 uppercase.</td>
5987 </tr>
5988 <tr class="function-index" id="sockets.c_swrite">
5989 <td class="function-index-name">swrite<br/>&nbsp;&nbsp;&nbsp;(sockets.c)</td>
5990 <td class="function-index-params">
5991 <p class="function-param"><tt>Socket *<i>s</i></tt>:
5992 Socket to write to.</p>
5993 <p class="function-param"><tt>const char *<i>buf</i></tt>:
5994 Buffer to write from.</p>
5995 <p class="function-param"><tt>int32 <i>len</i></tt>:
5996 Number of bytes to write.</p></td>
5997 <td class="function-index-return"><p class="function-param"><tt>int32</tt>:
5998 Number of bytes written, or -1 on error.</p></td>
5999 <td class="function-index-purpose">Writes data to the
6000 given socket.</td>
6001 </tr>
6002 <tr class="function-index" id="sockets.c_swrite_trigger">
6003 <td class="function-index-name">swrite_trigger<br/>&nbsp;&nbsp;&nbsp;(sockets.c)</td>
6004 <td class="function-index-params">
6005 <p class="function-param"><tt>Socket *<i>s</i></tt>:
6006 Socket to set a write trigger on.</p>
6007 <p class="function-param"><tt>void *<i>data</i></tt>:
6008 Data to pass to the write trigger callback
6009 function.</p></td>
6010 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
6011 0 on success, -1 on failure.</p></td>
6012 <td class="function-index-purpose"></td>
6013 </tr>
6014 <tr class="function-index" id="sockets.c_swritemap">
6015 <td class="function-index-name">swritemap<br/>&nbsp;&nbsp;&nbsp;(sockets.c)</td>
6016 <td class="function-index-params">
6017 <p class="function-param"><tt>Socket *<i>s</i></tt>:
6018 Socket to write to.</p>
6019 <p class="function-param"><tt>const char *<i>buf</i></tt>:
6020 Mapped buffer to write from.</p>
6021 <p class="function-param"><tt>int32 <i>len</i></tt>:
6022 Number of bytes to write.</p></td>
6023 <td class="function-index-return"><p class="function-param"><tt>int32</tt>:
6024 Number of bytes (scheduled to be) written, or -1
6025 on error.</p></td>
6026 <td class="function-index-purpose">Writes data to the given
6027 socket from a mapped buffer. The data is only
6028 scheduled to be written when this function returns,
6029 and the buffer must not be freed by the caller; it
6030 will be automatically unmapped when the data has
6031 been sent to the remote host (or the connection is
6032 closed).</td>
6033 </tr>
6034 <tr class="function-index" id="language.c_syntax_error">
6035 <td class="function-index-name">syntax_error<br/>&nbsp;&nbsp;&nbsp;(language.c)</td>
6036 <td class="function-index-params">
6037 <p class="function-param"><tt>const char *<i>service</i></tt>:
6038 Service name (sender name to use for
6039 <tt>NOTICE</tt> messages).</p>
6040 <p class="function-param"><tt>const User *<i>u</i></tt>:
6041 Target user.</p>
6042 <p class="function-param"><tt>const char *<i>command</i></tt>:
6043 Command name.</p>
6044 <p class="function-param"><tt>int <i>msgnum</i></tt>:
6045 Syntax string index.</p></td>
6046 <td class="function-index-return">&mdash;</td>
6047 <td class="function-index-purpose">Sends a "syntax error"
6048 message to a user for a particular command.</td>
6049 </tr>
6050
6051 <!--============================================================-->
6052
6053 <tr class="function-index-letter" id="T">
6054 <th class="function-index-letter" colspan="5">T</th>
6055 </tr>
6056 <tr class="function-index" id="misc.c_time_msec">
6057 <td class="function-index-name">time_msec<br/>&nbsp;&nbsp;&nbsp;(misc.c)</td>
6058 <td class="function-index-params">&mdash;</td>
6059 <td class="function-index-return"><p class="function-param"><tt>uint32</tt>:
6060 Current time.</p></td>
6061 <td class="function-index-purpose">Returns the current time
6062 in milliseconds, relative to an arbitrary epoch.</td>
6063 </tr>
6064 <tr class="function-index" id="tools_convert-trircd.c_trircd_load_ajoin">
6065 <td class="function-index-name">trircd_load_ajoin<br/>&nbsp;&nbsp;&nbsp;(tools/convert-trircd.c)</td>
6066 <td class="function-index-params">
6067 <p class="function-param"><tt>const char *<i>dir</i></tt>:
6068 Directory from which to load data.</p></td>
6069 <td class="function-index-return">&mdash;</td>
6070 <td class="function-index-purpose">Loads the trircd
6071 <tt>ajoin.db</tt> data file.</td>
6072 </tr>
6073 <tr class="function-index" id="tools_convert-trircd.c_trircd_load_akill">
6074 <td class="function-index-name">trircd_load_akill<br/>&nbsp;&nbsp;&nbsp;(tools/convert-trircd.c)</td>
6075 <td class="function-index-params">
6076 <p class="function-param"><tt>const char *<i>dir</i></tt>:
6077 Directory from which to load data.</p></td>
6078 <td class="function-index-return">&mdash;</td>
6079 <td class="function-index-purpose">Loads the trircd
6080 <tt>akill.db</tt> data file.</td>
6081 </tr>
6082 <tr class="function-index" id="tools_convert-trircd.c_trircd_load_cforbid">
6083 <td class="function-index-name">trircd_load_cforbid<br/>&nbsp;&nbsp;&nbsp;(tools/convert-trircd.c)</td>
6084 <td class="function-index-params">
6085 <p class="function-param"><tt>const char *<i>dir</i></tt>:
6086 Directory from which to load data.</p></td>
6087 <td class="function-index-return">&mdash;</td>
6088 <td class="function-index-purpose">Loads the trircd
6089 <tt>cforbid.db</tt> data file.</td>
6090 </tr>
6091 <tr class="function-index" id="tools_convert-trircd.c_trircd_load_chan">
6092 <td class="function-index-name">trircd_load_chan<br/>&nbsp;&nbsp;&nbsp;(tools/convert-trircd.c)</td>
6093 <td class="function-index-params">
6094 <p class="function-param"><tt>const char *<i>dir</i></tt>:
6095 Directory from which to load data.</p></td>
6096 <td class="function-index-return">&mdash;</td>
6097 <td class="function-index-purpose">Loads the trircd
6098 <tt>chan.db</tt> data file.</td>
6099 </tr>
6100 <tr class="function-index" id="tools_convert-trircd.c_trircd_load_exception">
6101 <td class="function-index-name">trircd_load_exception<br/>&nbsp;&nbsp;&nbsp;(tools/convert-trircd.c)</td>
6102 <td class="function-index-params">
6103 <p class="function-param"><tt>const char *<i>dir</i></tt>:
6104 Directory from which to load data.</p></td>
6105 <td class="function-index-return">&mdash;</td>
6106 <td class="function-index-purpose">Loads the trircd
6107 <tt>exception.db</tt> data file.</td>
6108 </tr>
6109 <tr class="function-index" id="tools_convert-trircd.c_trircd_load_exclude">
6110 <td class="function-index-name">trircd_load_exclude<br/>&nbsp;&nbsp;&nbsp;(tools/convert-trircd.c)</td>
6111 <td class="function-index-params">
6112 <p class="function-param"><tt>const char *<i>dir</i></tt>:
6113 Directory from which to load data.</p></td>
6114 <td class="function-index-return">&mdash;</td>
6115 <td class="function-index-purpose">Loads the trircd
6116 <tt>exclude.db</tt> data file.</td>
6117 </tr>
6118 <tr class="function-index" id="tools_convert-trircd.c_trircd_load_news">
6119 <td class="function-index-name">trircd_load_news<br/>&nbsp;&nbsp;&nbsp;(tools/convert-trircd.c)</td>
6120 <td class="function-index-params">
6121 <p class="function-param"><tt>const char *<i>dir</i></tt>:
6122 Directory from which to load data.</p></td>
6123 <td class="function-index-return">&mdash;</td>
6124 <td class="function-index-purpose">Loads the trircd
6125 <tt>news.db</tt> data file.</td>
6126 </tr>
6127 <tr class="function-index" id="tools_convert-trircd.c_trircd_load_nick">
6128 <td class="function-index-name">trircd_load_nick<br/>&nbsp;&nbsp;&nbsp;(tools/convert-trircd.c)</td>
6129 <td class="function-index-params">
6130 <p class="function-param"><tt>const char *<i>dir</i></tt>:
6131 Directory from which to load data.</p></td>
6132 <td class="function-index-return">&mdash;</td>
6133 <td class="function-index-purpose">Loads the trircd
6134 <tt>nick.db</tt> data file.</td>
6135 </tr>
6136 <tr class="function-index" id="tools_convert-trircd.c_trircd_load_oper">
6137 <td class="function-index-name">trircd_load_oper<br/>&nbsp;&nbsp;&nbsp;(tools/convert-trircd.c)</td>
6138 <td class="function-index-params">
6139 <p class="function-param"><tt>const char *<i>dir</i></tt>:
6140 Directory from which to load data.</p></td>
6141 <td class="function-index-return">&mdash;</td>
6142 <td class="function-index-purpose">Loads the trircd
6143 <tt>oper.db</tt> data file.</td>
6144 </tr>
6145 <tr class="function-index" id="tools_convert-trircd.c_trircd_load_sline">
6146 <td class="function-index-name">trircd_load_sline<br/>&nbsp;&nbsp;&nbsp;(tools/convert-trircd.c)</td>
6147 <td class="function-index-params">
6148 <p class="function-param"><tt>const char *<i>dir</i></tt>:
6149 Directory from which to load data.</p>
6150 <p class="function-param"><tt>const unsigned char <i>type</i></tt>:
6151 Type of data to load, one of
6152 <tt>MD_SGLINE</tt>, <tt>MD_SQLINE</tt>, or
6153 <tt>MD_SZLINE</tt>.</p></td>
6154 <td class="function-index-return">&mdash;</td>
6155 <td class="function-index-purpose">Loads the trircd
6156 <tt>sgline.db</tt>, <tt>sqline.db</tt>, or
6157 <tt>szline.db</tt> data file, depending on the
6158 value of <tt><i>type</i></tt>.</td>
6159 </tr>
6160
6161 <!--============================================================-->
6162
6163 <tr class="function-index-letter" id="U">
6164 <th class="function-index-letter" colspan="5">U</th>
6165 </tr>
6166 <tr class="function-index" id="send.c_unimplemented">
6167 <td class="function-index-name">unimplemented<br/>&nbsp;&nbsp;&nbsp;(send.c)</td>
6168 <td class="function-index-params">&mdash;</td>
6169 <td class="function-index-return">&mdash;</td>
6170 <td class="function-index-purpose">Default function for
6171 module-implemented message sending functions
6172 (aborts the program with an error message).</td>
6173 </tr>
6174 <tr class="function-index" id="memory.c_uninit_memory">
6175 <td class="function-index-name">uninit_memory<br/>&nbsp;&nbsp;&nbsp;(memory.c)</td>
6176 <td class="function-index-params">&mdash;</td>
6177 <td class="function-index-return">&mdash;</td>
6178 <td class="function-index-purpose">Closes down the memory
6179 checking subsystem.</td>
6180 </tr>
6181 <tr class="function-index" id="modules.c_unload_all_modules">
6182 <td class="function-index-name">unload_all_modules<br/>&nbsp;&nbsp;&nbsp;(modules.c)</td>
6183 <td class="function-index-params">&mdash;</td>
6184 <td class="function-index-return">&mdash;</td>
6185 <td class="function-index-purpose">Unloads all loaded
6186 modules.</td>
6187 </tr>
6188 <tr class="function-index" id="modules.c_unload_module">
6189 <td class="function-index-name">unload_module<br/>&nbsp;&nbsp;&nbsp;(modules.c)</td>
6190 <td class="function-index-params">
6191 <p class="function-param"><tt>Module *<i>module</i></tt>:
6192 Handle for module to unload.</p></td>
6193 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
6194 Nonzero on success, zero on error.</p></td>
6195 <td class="function-index-purpose">Unloads the given
6196 module.</td>
6197 </tr>
6198 <tr class="function-index" id="main.c_unlock_data">
6199 <td class="function-index-name">unlock_data<br/>&nbsp;&nbsp;&nbsp;(main.c)</td>
6200 <td class="function-index-params">&mdash;</td>
6201 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
6202 1 on success, 0 on error, -1 if the data directory
6203 was not locked in the first place.</p></td>
6204 <td class="function-index-purpose">Unlocks the data
6205 directory.</td>
6206 </tr>
6207 <tr class="function-index" id="misc.c_unpack_ip">
6208 <td class="function-index-name">unpack_ip<br/>&nbsp;&nbsp;&nbsp;(misc.c)</td>
6209 <td class="function-index-params">
6210 <p class="function-param"><tt>const uint8 *<i>ip</i></tt>:
6211 Packed IPv4 address.</p></td>
6212 <td class="function-index-return"><p class="function-param"><tt>char *</tt>:
6213 IPv4 address string (stored in a static
6214 buffer).</p></td>
6215 <td class="function-index-purpose">Unpacks a binary IPv4
6216 address into an address string.</td>
6217 </tr>
6218 <tr class="function-index" id="misc.c_unpack_ip6">
6219 <td class="function-index-name">unpack_ip6<br/>&nbsp;&nbsp;&nbsp;(misc.c)</td>
6220 <td class="function-index-params">
6221 <p class="function-param"><tt>const uint8 *<i>ip</i></tt>:
6222 Packed IPv6 address.</p></td>
6223 <td class="function-index-return"><p class="function-param"><tt>char *</tt>:
6224 IPv6 address string (stored in a static
6225 buffer).</p></td>
6226 <td class="function-index-purpose">Unpacks a binary IPv6
6227 address into an address string.</td>
6228 </tr>
6229 <tr class="function-index" id="modules.h_unregister_callback">
6230 <td class="function-index-name">unregister_callback<br/>&nbsp;&nbsp;&nbsp;(modules.h)</td>
6231 <td class="function-index-params">
6232 <p class="function-param"><tt>int <i>id</i></tt>:
6233 ID of callback to unregister,</p></td>
6234 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
6235 Nonzero on success, zero on failure.</p></td>
6236 <td class="function-index-purpose">Unregisters the given
6237 callback for the calling module.</td>
6238 </tr>
6239 <tr class="function-index" id="modules.c__unregister_callback">
6240 <td class="function-index-name">_unregister_callback<br/>&nbsp;&nbsp;&nbsp;(modules.c)</td>
6241 <td class="function-index-params">
6242 <p class="function-param"><tt>Module *<i>module</i></tt>:
6243 Handle of the calling module.</p>
6244 <p class="function-param"><tt>int <i>id</i></tt>:
6245 ID of callback to unregister,</p></td>
6246 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
6247 Nonzero on success, zero on failure.</p></td>
6248 <td class="function-index-purpose">Implements the
6249 <tt>unregister_callback()</tt> macro.</td>
6250 </tr>
6251 <tr class="function-index" id="encrypt.c_unregister_cipher">
6252 <td class="function-index-name">unregister_cipher<br/>&nbsp;&nbsp;&nbsp;(encrypt.c)</td>
6253 <td class="function-index-params">
6254 <p class="function-param"><tt>CipherInfo *<i>ci</i></tt>:
6255 Cipher to unregister.</p></td>
6256 <td class="function-index-return">&mdash;</td>
6257 <td class="function-index-purpose">Unregisters an
6258 encryption cipher.</td>
6259 </tr>
6260 <tr class="function-index" id="commands.c_unregister_commands">
6261 <td class="function-index-name">unregister_commands<br/>&nbsp;&nbsp;&nbsp;(commands.c)</td>
6262 <td class="function-index-params">
6263 <p class="function-param"><tt>Module *<i>id</i></tt>:
6264 Command list ID.</p>
6265 <p class="function-param"><tt>Command *<i>array</i></tt>:
6266 Array of commands to register, as passed to
6267 <tt>register_commands()</tt>.</p></td>
6268 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
6269 Nonzero on success, zero on failure.</p></td>
6270 <td class="function-index-purpose">Unregisters an array of
6271 commands previously registered with the given
6272 command list.</td>
6273 </tr>
6274 <tr class="function-index" id="databases.c_unregister_dbmodule">
6275 <td class="function-index-name">unregister_dbmodule<br/>&nbsp;&nbsp;&nbsp;(databases.c)</td>
6276 <td class="function-index-params">
6277 <p class="function-param"><tt>DBModule *<i>module</i></tt>:
6278 Module description structure.</p></td>
6279 <td class="function-index-return">&mdash;</td>
6280 <td class="function-index-purpose">Unregisters a database
6281 module from the core interface.</td>
6282 </tr>
6283 <tr class="function-index" id="databases.c_unregister_dbtable">
6284 <td class="function-index-name">unregister_dbtable<br/>&nbsp;&nbsp;&nbsp;(databases.c)</td>
6285 <td class="function-index-params">
6286 <p class="function-param"><tt>DBTable *<i>table</i></tt>:
6287 Data table to unregister.</p></td>
6288 <td class="function-index-return">&mdash;</td>
6289 <td class="function-index-purpose">Unregisters a database
6290 table. The table's contents are not saved to
6291 persistent storage.</td>
6292 </tr>
6293 <tr class="function-index" id="messages.c_unregister_messages">
6294 <td class="function-index-name">unregister_messages<br/>&nbsp;&nbsp;&nbsp;(messages.c)</td>
6295 <td class="function-index-params">
6296 <p class="function-param"><tt>Message *<i>table</i></tt>:
6297 Message table to unregister.</p></td>
6298 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
6299 Nonzero if the table was found and unregistered,
6300 zero if the table was not found.</p></td>
6301 <td class="function-index-purpose">Unregisters a message
6302 table.</td>
6303 </tr>
6304 <tr class="function-index" id="modules.h_unuse_module">
6305 <td class="function-index-name">unuse_module<br/>&nbsp;&nbsp;&nbsp;(modules.h)</td>
6306 <td class="function-index-params">
6307 <p class="function-param"><tt>Module *<i>module</i></tt>:
6308 Handle of the module to unlock.</p></td>
6309 <td class="function-index-return">&mdash;</td>
6310 <td class="function-index-purpose">Releases the lock on a
6311 module previously locked with <tt>use_module()</tt>.
6312 <tt>unuse_module()</tt> macro.</td>
6313 </tr>
6314 <tr class="function-index" id="modules.c__unuse_module">
6315 <td class="function-index-name">_unuse_module<br/>&nbsp;&nbsp;&nbsp;(modules.c)</td>
6316 <td class="function-index-params">
6317 <p class="function-param"><tt>Module *<i>module</i></tt>:
6318 Handle of the module to release.</p>
6319 <p class="function-param"><tt>const Module *<i>caller</i></tt>:
6320 Handle of the calling module.</p></td>
6321 <td class="function-index-return">&mdash;</td>
6322 <td class="function-index-purpose">Implements the
6323 <tt>unuse_module()</tt> macro.</td>
6324 </tr>
6325 <tr class="function-index" id="modules.h_use_module">
6326 <td class="function-index-name">use_module<br/>&nbsp;&nbsp;&nbsp;(modules.h)</td>
6327 <td class="function-index-params">
6328 <p class="function-param"><tt>Module *<i>module</i></tt>:
6329 Handle of the module to lock.</p></td>
6330 <td class="function-index-return">&mdash;</td>
6331 <td class="function-index-purpose">Locks the given module
6332 into memory, preventing it from being unloaded.</td>
6333 </tr>
6334 <tr class="function-index" id="modules.c__use_module">
6335 <td class="function-index-name">_use_module<br/>&nbsp;&nbsp;&nbsp;(modules.c)</td>
6336 <td class="function-index-params">
6337 <p class="function-param"><tt>Module *<i>module</i></tt>:
6338 Handle of the module to lock.</p>
6339 <p class="function-param"><tt>const Module *<i>caller</i></tt>:
6340 Handle of the calling module.</p></td>
6341 <td class="function-index-return">&mdash;</td>
6342 <td class="function-index-purpose">Implements the
6343 <tt>use_module()</tt> macro.</td>
6344 </tr>
6345 <tr class="function-index" id="modules.c_use_module_loopcheck">
6346 <td class="function-index-name">use_module_loopcheck<br/>&nbsp;&nbsp;&nbsp;(modules.c)</td>
6347 <td class="function-index-params">
6348 <p class="function-param"><tt>const Module *<i>module</i></tt>:
6349 Module intended to be locked.</p>
6350 <p class="function-param"><tt>const Module *<i>check</i></tt>:
6351 Module doing the locking.</p></td>
6352 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
6353 Nonzero if locking the module would cause a cycle
6354 of locks, else zero.</p></td>
6355 <td class="function-index-purpose">Checks whether an
6356 attempt to lock a module with <tt>use_module()</tt>
6357 would result in a cycle of locks, potentially
6358 causing a deadlock.</td>
6359 </tr>
6360 <tr class="function-index" id="tools_convert-db.c_usage">
6361 <td class="function-index-name">usage<br/>&nbsp;&nbsp;&nbsp;(tools/convert-db.c)</td>
6362 <td class="function-index-params">
6363 <p class="function-param"><tt>const char *<i>progname</i></tt>:
6364 Value of <tt>argv[0]</tt>.</p></td>
6365 <td class="function-index-return">&mdash;</td>
6366 <td class="function-index-purpose">Prints a usage message
6367 for <tt>convert-db</tt> and aborts the program.</td>
6368 </tr>
6369 <tr class="function-index" id="users.c_user_cleanup">
6370 <td class="function-index-name">user_cleanup<br/>&nbsp;&nbsp;&nbsp;(users.c)</td>
6371 <td class="function-index-params">&mdash;</td>
6372 <td class="function-index-return">&mdash;</td>
6373 <td class="function-index-purpose">Performs cleanup actions
6374 for the user management subsystem.</td>
6375 </tr>
6376 <tr class="function-index" id="users.c_user_init">
6377 <td class="function-index-name">user_init<br/>&nbsp;&nbsp;&nbsp;(users.c)</td>
6378 <td class="function-index-params">
6379 <p class="function-param"><tt>int <i>ac</i></tt>:
6380 Command-line argument count.</p>
6381 <p class="function-param"><tt>char **<i>av</i></tt>:
6382 Command-line argument vector.</p></td>
6383 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
6384 Nonzero on success, zero on failure.</p></td>
6385 <td class="function-index-purpose">Performs initialization
6386 actions for the user management subsystem.</td>
6387 </tr>
6388
6389 <!--============================================================-->
6390
6391 <tr class="function-index-letter" id="V">
6392 <th class="function-index-letter" colspan="5">V</th>
6393 </tr>
6394 <tr class="function-index" id="misc.c_valid_chan">
6395 <td class="function-index-name">valid_chan<br/>&nbsp;&nbsp;&nbsp;(misc.c)</td>
6396 <td class="function-index-params">
6397 <p class="function-param"><tt>const char *<i>str</i></tt>:
6398 String to check.</p></td>
6399 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
6400 Nonzero if the string represents a valid channel
6401 name, else zero.</p></td>
6402 <td class="function-index-purpose">Checks whether a string
6403 is a valid channel name.</td>
6404 </tr>
6405 <tr class="function-index" id="misc.c_valid_domain">
6406 <td class="function-index-name">valid_domain<br/>&nbsp;&nbsp;&nbsp;(misc.c)</td>
6407 <td class="function-index-params">
6408 <p class="function-param"><tt>const char *<i>str</i></tt>:
6409 String to check.</p></td>
6410 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
6411 Nonzero if the string represents a valid domain
6412 name, else zero.</p></td>
6413 <td class="function-index-purpose">Checks whether a string
6414 is a valid domain name by RFC 1035 standards, has
6415 at least one character, and does not end with a
6416 dot.</td>
6417 </tr>
6418 <tr class="function-index" id="misc.c_valid_email">
6419 <td class="function-index-name">valid_email<br/>&nbsp;&nbsp;&nbsp;(misc.c)</td>
6420 <td class="function-index-params">
6421 <p class="function-param"><tt>const char *<i>str</i></tt>:
6422 String to check.</p></td>
6423 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
6424 Nonzero if the string represents a valid E-mail
6425 address, else zero.</p></td>
6426 <td class="function-index-purpose">Checks whether a string
6427 is a valid E-mail address by (somewhat simplified)
6428 RFC 822 rules. Addresses in which the domain name
6429 contains no dot are rejected.</td>
6430 </tr>
6431 <tr class="function-index" id="misc.c_valid_nick">
6432 <td class="function-index-name">valid_nick<br/>&nbsp;&nbsp;&nbsp;(misc.c)</td>
6433 <td class="function-index-params">
6434 <p class="function-param"><tt>const char *<i>str</i></tt>:
6435 String to check.</p></td>
6436 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
6437 Nonzero if the string represents a valid nickname,
6438 else zero.</p></td>
6439 <td class="function-index-purpose">Checks whether a string
6440 is a valid nickname.</td>
6441 </tr>
6442 <tr class="function-index" id="misc.c_valid_nickchan">
6443 <td class="function-index-name">valid_nickchan<br/>&nbsp;&nbsp;&nbsp;(misc.c)</td>
6444 <td class="function-index-params">
6445 <p class="function-param"><tt>const char *<i>str</i></tt>:
6446 String to check.</p>
6447 <p class="function-param"><tt>const unsigned char *<i>table</i></tt>:
6448 Character validity table to use.</p></td>
6449 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
6450 Nonzero if the string represents a valid string,
6451 else zero.</p></td>
6452 <td class="function-index-purpose">Internal function
6453 implementing <tt>valid_nick()</tt> and
6454 <tt>valid_chan()</tt>.</td>
6455 </tr>
6456 <tr class="function-index" id="misc.c_valid_url">
6457 <td class="function-index-name">valid_url<br/>&nbsp;&nbsp;&nbsp;(misc.c)</td>
6458 <td class="function-index-params">
6459 <p class="function-param"><tt>const char *<i>str</i></tt>:
6460 String to check.</p></td>
6461 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
6462 Nonzero if the string represents a valid URL, else
6463 zero.</p></td>
6464 <td class="function-index-purpose">Checks whether a string
6465 is a valid URL, in the form
6466 <tt><i>method</i>://<i>domain</i>[:<i>port</i>][/...]</tt>
6467 (where <tt><i>method</i></tt> is a sequence of one
6468 or more letters, and <tt><i>port</i></tt> is an
6469 integer between 1 and 65535 inclusive).</td>
6470 </tr>
6471 <tr class="function-index" id="tools_convert-ver8.c_ver8_load_akill">
6472 <td class="function-index-name">ver8_load_akill<br/>&nbsp;&nbsp;&nbsp;(tools/convert-ver8.c)</td>
6473 <td class="function-index-params">
6474 <p class="function-param"><tt>const char *<i>dir</i></tt>:
6475 Directory from which to load data.</p>
6476 <p class="function-param"><tt>int <i>type</i></tt>:
6477 File format type (one of the
6478 <tt>TYPE_*</tt> constants from
6479 <tt>convert-ver8.c</tt>).</p></td>
6480 <td class="function-index-return">&mdash;</td>
6481 <td class="function-index-purpose">Loads the Daylight/IRCS
6482 <tt>akill.db</tt> data file.</td>
6483 </tr>
6484 <tr class="function-index" id="tools_convert-ver8.c_ver8_load_chan">
6485 <td class="function-index-name">ver8_load_chan<br/>&nbsp;&nbsp;&nbsp;(tools/convert-ver8.c)</td>
6486 <td class="function-index-params">
6487 <p class="function-param"><tt>const char *<i>dir</i></tt>:
6488 Directory from which to load data.</p>
6489 <p class="function-param"><tt>int <i>type</i></tt>:
6490 File format type (one of the
6491 <tt>TYPE_*</tt> constants from
6492 <tt>convert-ver8.c</tt>).</p></td>
6493 <td class="function-index-return">&mdash;</td>
6494 <td class="function-index-purpose">Loads the Daylight/IRCS
6495 <tt>chan.db</tt> data file.</td>
6496 </tr>
6497 <tr class="function-index" id="tools_convert-ver8.c_ver8_load_exception">
6498 <td class="function-index-name">ver8_load_exception<br/>&nbsp;&nbsp;&nbsp;(tools/convert-ver8.c)</td>
6499 <td class="function-index-params">
6500 <p class="function-param"><tt>const char *<i>dir</i></tt>:
6501 Directory from which to load data.</p>
6502 <p class="function-param"><tt>int <i>type</i></tt>:
6503 File format type (one of the
6504 <tt>TYPE_*</tt> constants from
6505 <tt>convert-ver8.c</tt>).</p></td>
6506 <td class="function-index-return">&mdash;</td>
6507 <td class="function-index-purpose">Loads the Daylight/IRCS
6508 <tt>exception.db</tt> data file.</td>
6509 </tr>
6510 <tr class="function-index" id="tools_convert-ver8.c_ver8_load_news">
6511 <td class="function-index-name">ver8_load_news<br/>&nbsp;&nbsp;&nbsp;(tools/convert-ver8.c)</td>
6512 <td class="function-index-params">
6513 <p class="function-param"><tt>const char *<i>dir</i></tt>:
6514 Directory from which to load data.</p>
6515 <p class="function-param"><tt>int <i>type</i></tt>:
6516 File format type (one of the
6517 <tt>TYPE_*</tt> constants from
6518 <tt>convert-ver8.c</tt>).</p></td>
6519 <td class="function-index-return">&mdash;</td>
6520 <td class="function-index-purpose">Loads the Daylight/IRCS
6521 <tt>news.db</tt> data file.</td>
6522 </tr>
6523 <tr class="function-index" id="tools_convert-ver8.c_ver8_load_nick">
6524 <td class="function-index-name">ver8_load_nick<br/>&nbsp;&nbsp;&nbsp;(tools/convert-ver8.c)</td>
6525 <td class="function-index-params">
6526 <p class="function-param"><tt>const char *<i>dir</i></tt>:
6527 Directory from which to load data.</p>
6528 <p class="function-param"><tt>int <i>type</i></tt>:
6529 File format type (one of the
6530 <tt>TYPE_*</tt> constants from
6531 <tt>convert-ver8.c</tt>).</p></td>
6532 <td class="function-index-return">&mdash;</td>
6533 <td class="function-index-purpose">Loads the Daylight/IRCS
6534 <tt>nick.db</tt> data file.</td>
6535 </tr>
6536 <tr class="function-index" id="tools_convert-ver8.c_ver8_load_oper">
6537 <td class="function-index-name">ver8_load_oper<br/>&nbsp;&nbsp;&nbsp;(tools/convert-ver8.c)</td>
6538 <td class="function-index-params">
6539 <p class="function-param"><tt>const char *<i>dir</i></tt>:
6540 Directory from which to load data.</p>
6541 <p class="function-param"><tt>int <i>type</i></tt>:
6542 File format type (one of the
6543 <tt>TYPE_*</tt> constants from
6544 <tt>convert-ver8.c</tt>).</p></td>
6545 <td class="function-index-return">&mdash;</td>
6546 <td class="function-index-purpose">Loads the Daylight/IRCS
6547 <tt>oper.db</tt> data file.</td>
6548 </tr>
6549 <tr class="function-index" id="log.c_vlogprintf">
6550 <td class="function-index-name">vlogprintf<br/>&nbsp;&nbsp;&nbsp;(log.c)</td>
6551 <td class="function-index-params">
6552 <p class="function-param"><tt>const char *<i>fmt</i></tt>:
6553 Format string.</p>
6554 <p class="function-param"><tt>va_list <i>args</i></tt>:
6555 Format arguments.</p></td>
6556 <td class="function-index-return">&mdash;</td>
6557 <td class="function-index-purpose">Writes a formatted
6558 string to the log file, like <tt>vfprintf()</tt>.</td>
6559 </tr>
6560 <tr class="function-index" id="send.c_vsend_cmd">
6561 <td class="function-index-name">vsend_cmd<br/>&nbsp;&nbsp;&nbsp;(send.c)</td>
6562 <td class="function-index-params">
6563 <p class="function-param"><tt>const char *<i>source</i></tt>:
6564 Source name, or <tt>NULL</tt> for none.</p>
6565 <p class="function-param"><tt>const char *<i>fmt</i></tt>:
6566 Message format string, as for <tt>printf()</tt>.</p>
6567 <p class="function-param"><tt>va_list <i>args</i></tt>:
6568 Format arguments.</p></td>
6569 <td class="function-index-return">&mdash;</td>
6570 <td class="function-index-purpose">Sends a generic message
6571 (command) to the remote server.</td>
6572 </tr>
6573 <tr class="function-index" id="compat.c_vsnprintf">
6574 <td class="function-index-name">vsnprintf<br/>&nbsp;&nbsp;&nbsp;(compat.c)</td>
6575 <td class="function-index-params">
6576 <p class="function-param"><tt>char *<i>buf</i></tt>:
6577 Buffer to write output into.</p>
6578 <p class="function-param"><tt>size_t <i>len</i></tt>:
6579 Size of buffer.</p>
6580 <p class="function-param"><tt>const char *<i>fmt</i></tt>:
6581 Output format string.</p>
6582 <p class="function-param"><tt>va_list <i>args</i></tt>:
6583 Output arguments.</p></td>
6584 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
6585 Number of bytes written into buffer, excluding
6586 trailing null.</p></td>
6587 <td class="function-index-purpose">Compatibility function.</td>
6588 </tr>
6589 <tr class="function-index" id="sockets.c_vsockprintf">
6590 <td class="function-index-name">vsockprintf<br/>&nbsp;&nbsp;&nbsp;(sockets.c)</td>
6591 <td class="function-index-params">
6592 <p class="function-param"><tt>Socket *<i>s</i></tt>:
6593 Socket to write to.</p>
6594 <p class="function-param"><tt>const char *<i>fmt</i></tt>:
6595 Output format string.</p>
6596 <p class="function-param"><tt>va_list <i>args</i></tt>:
6597 Output arguments.</p></td>
6598 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
6599 Number of bytes written to the socket.</p></td>
6600 <td class="function-index-purpose">Writes a formatted string
6601 to the given socket, like <tt>vprintf()</tt>.</td>
6602 </tr>
6603
6604 <!--============================================================-->
6605
6606 <tr class="function-index-letter" id="W">
6607 <th class="function-index-letter" colspan="5">W</th>
6608 </tr>
6609 <tr class="function-index" id="send.c_wallops">
6610 <td class="function-index-name">wallops<br/>&nbsp;&nbsp;&nbsp;(send.c)</td>
6611 <td class="function-index-params">
6612 <p class="function-param"><tt>const char *<i>source</i></tt>:
6613 Source name.</p>
6614 <p class="function-param"><tt>const char *<i>fmt</i></tt>:
6615 Format string, as for <tt>printf()</tt>.</p>
6616 <p class="function-param"><tt><i>...</i></tt>:
6617 Format arguments.</p></td>
6618 <td class="function-index-return">&mdash;</td>
6619 <td class="function-index-purpose">Sends a <tt>WALLOPS</tt>
6620 to the network. Implemented by the protocol module
6621 (which may use a different message type).</td>
6622 </tr>
6623 <tr class="function-index" id="signals.c_weirdsig_handler">
6624 <td class="function-index-name">weirdsig_handler<br/>&nbsp;&nbsp;&nbsp;(signals.c)</td>
6625 <td class="function-index-params">
6626 <p class="function-param"><tt>int <i>signum</i></tt>:
6627 Signal number.</p></td>
6628 <td class="function-index-return">&mdash;</td>
6629 <td class="function-index-purpose">Handler for
6630 <tt>SIGINT</tt>, <tt>SIGQUIT</tt>, and
6631 unexpected signals.</td>
6632 </tr>
6633 <tr class="function-index" id="tools_convert-magick.c_wrecked_convert_level">
6634 <td class="function-index-name">wrecked_convert_level<br/>&nbsp;&nbsp;&nbsp;(tools/convert-magick.c)</td>
6635 <td class="function-index-params">
6636 <p class="function-param"><tt>int16 <i>lev</i></tt>:
6637 Old access level.</p></td>
6638 <td class="function-index-return"><p class="function-param"><tt>int16</tt>:
6639 New access level.</p></td>
6640 <td class="function-index-purpose">Converts channel access
6641 levels from values used in Wrecked 1.2 to values
6642 used in current Services versions.</td>
6643 </tr>
6644 <tr class="function-index" id="init.c_write_pidfile">
6645 <td class="function-index-name">write_pidfile<br/>&nbsp;&nbsp;&nbsp;(init.c)</td>
6646 <td class="function-index-params">&mdash;</td>
6647 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
6648 Nonzero on success, zero on failure.</p></td>
6649 <td class="function-index-purpose">Writes the PID of the
6650 Services process to the file specified by the
6651 <tt>PIDFilename</tt> configuration directive.</td>
6652 </tr>
6653 <tr class="function-index" id="log.c_write_time">
6654 <td class="function-index-name">write_time<br/>&nbsp;&nbsp;&nbsp;(log.c)</td>
6655 <td class="function-index-params">&mdash;</td>
6656 <td class="function-index-return">&mdash;</td>
6657 <td class="function-index-purpose">Writes the current date
6658 and time to the log file.</td>
6659 </tr>
6660 <tr class="function-index" id="sockets.c_write_buffer_len">
6661 <td class="function-index-name">write_buffer_len<br/>&nbsp;&nbsp;&nbsp;(sockets.c)</td>
6662 <td class="function-index-params">
6663 <p class="function-param"><tt>const Socket *<i>s</i></tt>:
6664 Socket.</p></td>
6665 <td class="function-index-return"><p class="function-param"><tt>uint32</tt>:
6666 Number of bytes in the socket's write buffer.</p></td>
6667 <td class="function-index-purpose">Returns the length of
6668 the data in the socket's write buffer.</td>
6669 </tr>
6670 <tr class="function-index" id="vsnprintf.c_writefunc">
6671 <td class="function-index-name">writefunc<br/>&nbsp;&nbsp;&nbsp;(vsnprintf.c)</td>
6672 <td class="function-index-params">
6673 <p class="function-param"><tt>const char *<i>buf</i></tt>:
6674 Data to write.</p>
6675 <p class="function-param"><tt>size_t <i>len</i></tt>:
6676 Length of data to write.</p>
6677 <p class="function-param"><tt>char **<i>string</i></tt>:
6678 Pointer to destination buffer pointer.</p>
6679 <p class="function-param"><tt>size_t *<i>size</i></tt>:
6680 Pointer to destination buffer size.</p></td>
6681 <td class="function-index-return"><p class="function-param"><tt>int</tt>:
6682 Number of bytes written, or 0 on error.</p></td>
6683 <td class="function-index-purpose">Write callback for
6684 <tt>my_snprintf()</tt> and <tt>my_vsnprintf()</tt>.
6685 Modifies the destination buffer pointer and size
6686 to reflect the space left after each write.</td>
6687 </tr>
6688
6689 <!--============================================================-->
6690
6691 <tr class="function-index-letter" id="X">
6692 <th class="function-index-letter" colspan="5">X</th>
6693 </tr>
6694
6695 <!--============================================================-->
6696
6697 <tr class="function-index-letter" id="Y">
6698 <th class="function-index-letter" colspan="5">Y</th>
6699 </tr>
6700
6701 <!--============================================================-->
6702
6703 <tr class="function-index-letter" id="Z">
6704 <th class="function-index-letter" colspan="5">Z</th>
6705 </tr>
6706 </table>
6707
6708 <!------------------------------------------------------------------------>
6709 <hr/>
6710
6711 <p class="backlink"><a href="index.html">Table of Contents</a></p>
6712
6713 </body>
6714 </html>