]> git.netwichtig.de Git - user/henk/code/inspircd.git/blob - docs/man/man3/modules.cpp.3
Added DNS class to documentation
[user/henk/code/inspircd.git] / docs / man / man3 / modules.cpp.3
1 .TH "modules.cpp" 3 "2 Apr 2005" "InspIRCd" \" -*- nroff -*-
2 .ad l
3 .nh
4 .SH NAME
5 modules.cpp \- 
6 .SH SYNOPSIS
7 .br
8 .PP
9 \fC#include 'inspircd.h'\fP
10 .br
11 \fC#include 'inspircd_io.h'\fP
12 .br
13 \fC#include 'inspircd_util.h'\fP
14 .br
15 \fC#include 'inspircd_config.h'\fP
16 .br
17 \fC#include <unistd.h>\fP
18 .br
19 \fC#include <fcntl.h>\fP
20 .br
21 \fC#include <sys/errno.h>\fP
22 .br
23 \fC#include <sys/ioctl.h>\fP
24 .br
25 \fC#include <sys/utsname.h>\fP
26 .br
27 \fC#include <cstdio>\fP
28 .br
29 \fC#include <time.h>\fP
30 .br
31 \fC#include <string>\fP
32 .br
33 \fC#include <hash_map>\fP
34 .br
35 \fC#include <map>\fP
36 .br
37 \fC#include <sstream>\fP
38 .br
39 \fC#include <vector>\fP
40 .br
41 \fC#include <errno.h>\fP
42 .br
43 \fC#include <deque>\fP
44 .br
45 \fC#include <sched.h>\fP
46 .br
47 \fC#include 'connection.h'\fP
48 .br
49 \fC#include 'users.h'\fP
50 .br
51 \fC#include 'servers.h'\fP
52 .br
53 \fC#include 'ctables.h'\fP
54 .br
55 \fC#include 'globals.h'\fP
56 .br
57 \fC#include 'modules.h'\fP
58 .br
59 \fC#include 'dynamic.h'\fP
60 .br
61 \fC#include 'wildcard.h'\fP
62 .br
63 \fC#include 'message.h'\fP
64 .br
65 \fC#include 'mode.h'\fP
66 .br
67 \fC#include 'xline.h'\fP
68 .br
69 \fC#include 'commands.h'\fP
70 .br
71 \fC#include 'inspstring.h'\fP
72 .br
73
74 .SS "Namespaces"
75
76 .in +1c
77 .ti -1c
78 .RI "namespace \fBnspace\fP"
79 .br
80 .in -1c
81 .SS "Compounds"
82
83 .in +1c
84 .ti -1c
85 .RI "class \fBExtMode\fP"
86 .br
87 .ti -1c
88 .RI "struct \fBInAddr_HashComp\fP"
89 .br
90 .ti -1c
91 .RI "struct \fBStrHashComp\fP"
92 .br
93 .in -1c
94 .SS "Defines"
95
96 .in +1c
97 .ti -1c
98 .RI "#define \fBnspace\fP   std"
99 .br
100 .in -1c
101 .SS "Typedefs"
102
103 .in +1c
104 .ti -1c
105 .RI "typedef nspace::hash_map< std::string, \fBuserrec\fP *, nspace::hash< string >, \fBStrHashComp\fP > \fBuser_hash\fP"
106 .br
107 .ti -1c
108 .RI "typedef nspace::hash_map< std::string, \fBchanrec\fP *, nspace::hash< string >, \fBStrHashComp\fP > \fBchan_hash\fP"
109 .br
110 .ti -1c
111 .RI "typedef nspace::hash_map< in_addr, string *, nspace::hash< in_addr >, \fBInAddr_HashComp\fP > \fBaddress_cache\fP"
112 .br
113 .ti -1c
114 .RI "typedef std::deque< \fBcommand_t\fP > \fBcommand_table\fP"
115 .br
116 .ti -1c
117 .RI "typedef std::vector< \fBExtMode\fP > \fBExtModeList\fP"
118 .br
119 .ti -1c
120 .RI "typedef ExtModeList::iterator \fBExtModeListIter\fP"
121 .br
122 .in -1c
123 .SS "Functions"
124
125 .in +1c
126 .ti -1c
127 .RI "bool \fBModeDefined\fP (char modechar, int type)"
128 .br
129 .ti -1c
130 .RI "bool \fBModeIsListMode\fP (char modechar, int type)"
131 .br
132 .ti -1c
133 .RI "bool \fBModeDefinedOper\fP (char modechar, int type)"
134 .br
135 .ti -1c
136 .RI "int \fBModeDefinedOn\fP (char modechar, int type)"
137 .br
138 .ti -1c
139 .RI "int \fBModeDefinedOff\fP (char modechar, int type)"
140 .br
141 .ti -1c
142 .RI "bool \fBDoAddExtendedMode\fP (char modechar, int type, bool requires_oper, int params_on, int params_off)"
143 .br
144 .ti -1c
145 .RI "void \fBModeMakeList\fP (char modechar)"
146 .br
147 .ti -1c
148 .RI "std::vector< \fBModule\fP * > \fBmodules\fP (255)"
149 .br
150 .ti -1c
151 .RI "std::vector< \fBircd_module\fP * > \fBfactory\fP (255)"
152 .br
153 .in -1c
154 .SS "Variables"
155
156 .in +1c
157 .ti -1c
158 .RI "int \fBMODCOUNT\fP = -1"
159 .br
160 .ti -1c
161 .RI "std::vector< \fBModule\fP * > \fBmodules\fP"
162 .br
163 .ti -1c
164 .RI "std::vector< \fBircd_module\fP * > \fBfactory\fP"
165 .br
166 .ti -1c
167 .RI "int \fBLogLevel\fP"
168 .br
169 .ti -1c
170 .RI "char \fBServerName\fP [MAXBUF]"
171 .br
172 .ti -1c
173 .RI "char \fBNetwork\fP [MAXBUF]"
174 .br
175 .ti -1c
176 .RI "char \fBServerDesc\fP [MAXBUF]"
177 .br
178 .ti -1c
179 .RI "char \fBAdminName\fP [MAXBUF]"
180 .br
181 .ti -1c
182 .RI "char \fBAdminEmail\fP [MAXBUF]"
183 .br
184 .ti -1c
185 .RI "char \fBAdminNick\fP [MAXBUF]"
186 .br
187 .ti -1c
188 .RI "char \fBdiepass\fP [MAXBUF]"
189 .br
190 .ti -1c
191 .RI "char \fBrestartpass\fP [MAXBUF]"
192 .br
193 .ti -1c
194 .RI "char \fBmotd\fP [MAXBUF]"
195 .br
196 .ti -1c
197 .RI "char \fBrules\fP [MAXBUF]"
198 .br
199 .ti -1c
200 .RI "char \fBlist\fP [MAXBUF]"
201 .br
202 .ti -1c
203 .RI "char \fBPrefixQuit\fP [MAXBUF]"
204 .br
205 .ti -1c
206 .RI "char \fBDieValue\fP [MAXBUF]"
207 .br
208 .ti -1c
209 .RI "int \fBdebugging\fP"
210 .br
211 .ti -1c
212 .RI "int \fBWHOWAS_STALE\fP"
213 .br
214 .ti -1c
215 .RI "int \fBWHOWAS_MAX\fP"
216 .br
217 .ti -1c
218 .RI "int \fBDieDelay\fP"
219 .br
220 .ti -1c
221 .RI "time_t \fBstartup_time\fP"
222 .br
223 .ti -1c
224 .RI "int \fBNetBufferSize\fP"
225 .br
226 .ti -1c
227 .RI "int \fBMaxWhoResults\fP"
228 .br
229 .ti -1c
230 .RI "time_t \fBnb_start\fP"
231 .br
232 .ti -1c
233 .RI "std::vector< int > \fBfd_reap\fP"
234 .br
235 .ti -1c
236 .RI "std::vector< std::string > \fBmodule_names\fP"
237 .br
238 .ti -1c
239 .RI "int \fBboundPortCount\fP"
240 .br
241 .ti -1c
242 .RI "int \fBportCount\fP"
243 .br
244 .ti -1c
245 .RI "int \fBUDPportCount\fP"
246 .br
247 .ti -1c
248 .RI "int \fBports\fP [MAXSOCKS]"
249 .br
250 .ti -1c
251 .RI "int \fBdefaultRoute\fP"
252 .br
253 .ti -1c
254 .RI "std::vector< long > \fBauth_cookies\fP"
255 .br
256 .ti -1c
257 .RI "std::stringstream \fBconfig_f\fP"
258 .br
259 .ti -1c
260 .RI "\fBserverrec\fP * \fBme\fP [32]"
261 .br
262 .ti -1c
263 .RI "FILE * \fBlog_file\fP"
264 .br
265 .ti -1c
266 .RI "\fBuser_hash\fP \fBclientlist\fP"
267 .br
268 .ti -1c
269 .RI "\fBchan_hash\fP \fBchanlist\fP"
270 .br
271 .ti -1c
272 .RI "\fBuser_hash\fP \fBwhowas\fP"
273 .br
274 .ti -1c
275 .RI "\fBcommand_table\fP \fBcmdlist\fP"
276 .br
277 .ti -1c
278 .RI "\fBfile_cache\fP \fBMOTD\fP"
279 .br
280 .ti -1c
281 .RI "\fBfile_cache\fP \fBRULES\fP"
282 .br
283 .ti -1c
284 .RI "\fBaddress_cache\fP \fBIP\fP"
285 .br
286 .ti -1c
287 .RI "\fBExtModeList\fP \fBEMode\fP"
288 .br
289 .in -1c
290 .SH "Define Documentation"
291 .PP 
292 .SS "#define nspace   std"
293 .PP
294 Definition at line 59 of file modules.cpp.
295 .SH "Typedef Documentation"
296 .PP 
297 .SS "typedef nspace::hash_map<in_addr,string*, nspace::hash<in_addr>, \fBInAddr_HashComp\fP> \fBaddress_cache\fP"
298 .PP
299 Definition at line 173 of file modules.cpp.
300 .SS "typedef nspace::hash_map<std::string, \fBchanrec\fP*, nspace::hash<string>, \fBStrHashComp\fP> \fBchan_hash\fP"
301 .PP
302 Definition at line 172 of file modules.cpp.
303 .SS "typedef std::deque<\fBcommand_t\fP> \fBcommand_table\fP"
304 .PP
305 Definition at line 174 of file modules.cpp.
306 .SS "typedef std::vector<\fBExtMode\fP> \fBExtModeList\fP"
307 .PP
308 Definition at line 200 of file modules.cpp.
309 .SS "typedef ExtModeList::iterator \fBExtModeListIter\fP"
310 .PP
311 Definition at line 201 of file modules.cpp.
312 .PP
313 Referenced by ModeDefined(), ModeDefinedOff(), ModeDefinedOn(), ModeDefinedOper(), ModeIsListMode(), and ModeMakeList().
314 .SS "typedef nspace::hash_map<std::string, \fBuserrec\fP*, nspace::hash<string>, \fBStrHashComp\fP> \fBuser_hash\fP"
315 .PP
316 Definition at line 171 of file modules.cpp.
317 .SH "Function Documentation"
318 .PP 
319 .SS "bool DoAddExtendedMode (char modechar, int type, bool requires_oper, int params_on, int params_off)"
320 .PP
321 Definition at line 273 of file modules.cpp.
322 .PP
323 References EMode, and ModeDefined().
324 .PP
325 Referenced by Server::AddExtendedListMode(), and Server::AddExtendedMode().
326 .PP
327 .nf
328 274 {
329 275         if (ModeDefined(modechar,type)) {
330 276                 return false;
331 277         }
332 278         EMode.push_back(ExtMode(modechar,type,requires_oper,params_on,params_off));
333 279         return true;
334 280 }
335 .fi
336 .SS "std::vector<\fBircd_module\fP*> factory (255)"
337 .PP
338 .SS "bool ModeDefined (char modechar, int type)"
339 .PP
340 Definition at line 207 of file modules.cpp.
341 .PP
342 References DEBUG, EMode, and ExtModeListIter.
343 .PP
344 Referenced by DoAddExtendedMode().
345 .PP
346 .nf
347 208 {
348 209         log(DEBUG,'Size of extmodes vector is %d',EMode.size());
349 210         for (ExtModeListIter i = EMode.begin(); i < EMode.end(); i++)
350 211         {
351 212                 if ((i->modechar == modechar) && (i->type == type))
352 213                 {
353 214                         return true;
354 215                 }
355 216         }
356 217         return false;
357 218 }
358 .fi
359 .SS "int ModeDefinedOff (char modechar, int type)"
360 .PP
361 Definition at line 260 of file modules.cpp.
362 .PP
363 References EMode, and ExtModeListIter.
364 .PP
365 .nf
366 261 {
367 262         for (ExtModeListIter i = EMode.begin(); i < EMode.end(); i++)
368 263         {
369 264                 if ((i->modechar == modechar) && (i->type == type))
370 265                 {
371 266                         return i->params_when_off;
372 267                 }
373 268         }
374 269         return 0;
375 270 }
376 .fi
377 .SS "int ModeDefinedOn (char modechar, int type)"
378 .PP
379 Definition at line 247 of file modules.cpp.
380 .PP
381 References EMode, and ExtModeListIter.
382 .PP
383 .nf
384 248 {
385 249         for (ExtModeListIter i = EMode.begin(); i < EMode.end(); i++)
386 250         {
387 251                 if ((i->modechar == modechar) && (i->type == type))
388 252                 {
389 253                         return i->params_when_on;
390 254                 }
391 255         }
392 256         return 0;
393 257 }
394 .fi
395 .SS "bool ModeDefinedOper (char modechar, int type)"
396 .PP
397 Definition at line 233 of file modules.cpp.
398 .PP
399 References DEBUG, EMode, and ExtModeListIter.
400 .PP
401 .nf
402 234 {
403 235         log(DEBUG,'Size of extmodes vector is %d',EMode.size());
404 236         for (ExtModeListIter i = EMode.begin(); i < EMode.end(); i++)
405 237         {
406 238                 if ((i->modechar == modechar) && (i->type == type) && (i->needsoper == true))
407 239                 {
408 240                         return true;
409 241                 }
410 242         }
411 243         return false;
412 244 }
413 .fi
414 .SS "bool ModeIsListMode (char modechar, int type)"
415 .PP
416 Definition at line 220 of file modules.cpp.
417 .PP
418 References DEBUG, EMode, and ExtModeListIter.
419 .PP
420 .nf
421 221 {
422 222         log(DEBUG,'Size of extmodes vector is %d',EMode.size());
423 223         for (ExtModeListIter i = EMode.begin(); i < EMode.end(); i++)
424 224         {
425 225                 if ((i->modechar == modechar) && (i->type == type) && (i->list == true))
426 226                 {
427 227                         return true;
428 228                 }
429 229         }
430 230         return false;
431 231 }
432 .fi
433 .SS "void ModeMakeList (char modechar)"
434 .PP
435 Definition at line 283 of file modules.cpp.
436 .PP
437 References EMode, ExtModeListIter, and MT_CHANNEL.
438 .PP
439 Referenced by Server::AddExtendedListMode().
440 .PP
441 .nf
442 284 {
443 285         for (ExtModeListIter i = EMode.begin(); i < EMode.end(); i++)
444 286         {
445 287                 if ((i->modechar == modechar) && (i->type == MT_CHANNEL))
446 288                 {
447 289                         i->list = true;
448 290                         return;
449 291                 }
450 292         }
451 293         return;
452 294 }
453 .fi
454 .SS "std::vector<\fBModule\fP*> modules (255)"
455 .PP
456 .SH "Variable Documentation"
457 .PP 
458 .SS "char \fBAdminEmail\fP[MAXBUF]"
459 .PP
460 Definition at line 73 of file modules.cpp.
461 .SS "char \fBAdminName\fP[MAXBUF]"
462 .PP
463 Definition at line 72 of file modules.cpp.
464 .SS "char \fBAdminNick\fP[MAXBUF]"
465 .PP
466 Definition at line 74 of file modules.cpp.
467 .SS "std::vector<long> \fBauth_cookies\fP"
468 .PP
469 Definition at line 101 of file modules.cpp.
470 .SS "int \fBboundPortCount\fP"
471 .PP
472 Definition at line 95 of file modules.cpp.
473 .SS "\fBchan_hash\fP \fBchanlist\fP"
474 .PP
475 Definition at line 178 of file modules.cpp.
476 .SS "\fBuser_hash\fP \fBclientlist\fP"
477 .PP
478 Definition at line 177 of file modules.cpp.
479 .PP
480 Referenced by Server::GetUsers().
481 .SS "\fBcommand_table\fP \fBcmdlist\fP"
482 .PP
483 Definition at line 180 of file modules.cpp.
484 .SS "std::stringstream \fBconfig_f\fP"
485 .PP
486 Definition at line 102 of file modules.cpp.
487 .SS "int \fBdebugging\fP"
488 .PP
489 Definition at line 83 of file modules.cpp.
490 .SS "int \fBdefaultRoute\fP"
491 .PP
492 Definition at line 99 of file modules.cpp.
493 .SS "int \fBDieDelay\fP"
494 .PP
495 Definition at line 86 of file modules.cpp.
496 .SS "char \fBdiepass\fP[MAXBUF]"
497 .PP
498 Definition at line 75 of file modules.cpp.
499 .SS "char \fBDieValue\fP[MAXBUF]"
500 .PP
501 Definition at line 81 of file modules.cpp.
502 .SS "\fBExtModeList\fP \fBEMode\fP"
503 .PP
504 Definition at line 204 of file modules.cpp.
505 .PP
506 Referenced by DoAddExtendedMode(), ModeDefined(), ModeDefinedOff(), ModeDefinedOn(), ModeDefinedOper(), ModeIsListMode(), and ModeMakeList().
507 .SS "std::vector<\fBircd_module\fP*> factory"
508 .PP
509 Definition at line 66 of file modules.cpp.
510 .SS "std::vector<int> \fBfd_reap\fP"
511 .PP
512 Definition at line 92 of file modules.cpp.
513 .SS "\fBaddress_cache\fP \fBIP\fP"
514 .PP
515 Definition at line 183 of file modules.cpp.
516 .SS "char \fBlist\fP[MAXBUF]"
517 .PP
518 Definition at line 79 of file modules.cpp.
519 .SS "FILE* \fBlog_file\fP"
520 .PP
521 Definition at line 106 of file modules.cpp.
522 .SS "int \fBLogLevel\fP"
523 .PP
524 Definition at line 68 of file modules.cpp.
525 .SS "int \fBMaxWhoResults\fP"
526 .PP
527 Definition at line 89 of file modules.cpp.
528 .SS "\fBserverrec\fP* \fBme\fP[32]"
529 .PP
530 Definition at line 104 of file modules.cpp.
531 .SS "int \fBMODCOUNT\fP = -1"
532 .PP
533 Definition at line 773 of file modules.cpp.
534 .SS "std::vector<std::string> \fBmodule_names\fP"
535 .PP
536 Definition at line 93 of file modules.cpp.
537 .SS "std::vector<\fBModule\fP*> modules"
538 .PP
539 Definition at line 65 of file modules.cpp.
540 .SS "\fBfile_cache\fP \fBMOTD\fP"
541 .PP
542 Definition at line 181 of file modules.cpp.
543 .SS "char \fBmotd\fP[MAXBUF]"
544 .PP
545 Definition at line 77 of file modules.cpp.
546 .SS "time_t \fBnb_start\fP"
547 .PP
548 Definition at line 90 of file modules.cpp.
549 .SS "int \fBNetBufferSize\fP"
550 .PP
551 Definition at line 88 of file modules.cpp.
552 .SS "char \fBNetwork\fP[MAXBUF]"
553 .PP
554 Definition at line 70 of file modules.cpp.
555 .SS "int \fBportCount\fP"
556 .PP
557 Definition at line 96 of file modules.cpp.
558 .SS "int \fBports\fP[MAXSOCKS]"
559 .PP
560 Definition at line 98 of file modules.cpp.
561 .SS "char \fBPrefixQuit\fP[MAXBUF]"
562 .PP
563 Definition at line 80 of file modules.cpp.
564 .SS "char \fBrestartpass\fP[MAXBUF]"
565 .PP
566 Definition at line 76 of file modules.cpp.
567 .SS "\fBfile_cache\fP \fBRULES\fP"
568 .PP
569 Definition at line 182 of file modules.cpp.
570 .SS "char \fBrules\fP[MAXBUF]"
571 .PP
572 Definition at line 78 of file modules.cpp.
573 .SS "char \fBServerDesc\fP[MAXBUF]"
574 .PP
575 Definition at line 71 of file modules.cpp.
576 .SS "char \fBServerName\fP[MAXBUF]"
577 .PP
578 Definition at line 69 of file modules.cpp.
579 .SS "time_t \fBstartup_time\fP"
580 .PP
581 Definition at line 87 of file modules.cpp.
582 .SS "int \fBUDPportCount\fP"
583 .PP
584 Definition at line 97 of file modules.cpp.
585 .SS "\fBuser_hash\fP \fBwhowas\fP"
586 .PP
587 Definition at line 179 of file modules.cpp.
588 .SS "int \fBWHOWAS_MAX\fP"
589 .PP
590 Definition at line 85 of file modules.cpp.
591 .SS "int \fBWHOWAS_STALE\fP"
592 .PP
593 Definition at line 84 of file modules.cpp.
594 .SH "Author"
595 .PP 
596 Generated automatically by Doxygen for InspIRCd from the source code.