]> git.netwichtig.de Git - user/henk/code/inspircd.git/blob - docs/man/man3/modules.cpp.3
680c95da6cd7e00abdbb9f4b58219984aabf5198
[user/henk/code/inspircd.git] / docs / man / man3 / modules.cpp.3
1 .TH "modules.cpp" 3 "12 May 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 "time_t \fBTIME\fP"
168 .br
169 .ti -1c
170 .RI "int \fBLogLevel\fP"
171 .br
172 .ti -1c
173 .RI "char \fBServerName\fP [MAXBUF]"
174 .br
175 .ti -1c
176 .RI "char \fBNetwork\fP [MAXBUF]"
177 .br
178 .ti -1c
179 .RI "char \fBServerDesc\fP [MAXBUF]"
180 .br
181 .ti -1c
182 .RI "char \fBAdminName\fP [MAXBUF]"
183 .br
184 .ti -1c
185 .RI "char \fBAdminEmail\fP [MAXBUF]"
186 .br
187 .ti -1c
188 .RI "char \fBAdminNick\fP [MAXBUF]"
189 .br
190 .ti -1c
191 .RI "char \fBdiepass\fP [MAXBUF]"
192 .br
193 .ti -1c
194 .RI "char \fBrestartpass\fP [MAXBUF]"
195 .br
196 .ti -1c
197 .RI "char \fBmotd\fP [MAXBUF]"
198 .br
199 .ti -1c
200 .RI "char \fBrules\fP [MAXBUF]"
201 .br
202 .ti -1c
203 .RI "char \fBlist\fP [MAXBUF]"
204 .br
205 .ti -1c
206 .RI "char \fBPrefixQuit\fP [MAXBUF]"
207 .br
208 .ti -1c
209 .RI "char \fBDieValue\fP [MAXBUF]"
210 .br
211 .ti -1c
212 .RI "int \fBdebugging\fP"
213 .br
214 .ti -1c
215 .RI "int \fBWHOWAS_STALE\fP"
216 .br
217 .ti -1c
218 .RI "int \fBWHOWAS_MAX\fP"
219 .br
220 .ti -1c
221 .RI "int \fBDieDelay\fP"
222 .br
223 .ti -1c
224 .RI "time_t \fBstartup_time\fP"
225 .br
226 .ti -1c
227 .RI "int \fBNetBufferSize\fP"
228 .br
229 .ti -1c
230 .RI "int \fBMaxWhoResults\fP"
231 .br
232 .ti -1c
233 .RI "time_t \fBnb_start\fP"
234 .br
235 .ti -1c
236 .RI "std::vector< int > \fBfd_reap\fP"
237 .br
238 .ti -1c
239 .RI "std::vector< std::string > \fBmodule_names\fP"
240 .br
241 .ti -1c
242 .RI "int \fBboundPortCount\fP"
243 .br
244 .ti -1c
245 .RI "int \fBportCount\fP"
246 .br
247 .ti -1c
248 .RI "int \fBSERVERportCount\fP"
249 .br
250 .ti -1c
251 .RI "int \fBports\fP [MAXSOCKS]"
252 .br
253 .ti -1c
254 .RI "int \fBdefaultRoute\fP"
255 .br
256 .ti -1c
257 .RI "std::vector< long > \fBauth_cookies\fP"
258 .br
259 .ti -1c
260 .RI "std::stringstream \fBconfig_f\fP"
261 .br
262 .ti -1c
263 .RI "\fBserverrec\fP * \fBme\fP [32]"
264 .br
265 .ti -1c
266 .RI "FILE * \fBlog_file\fP"
267 .br
268 .ti -1c
269 .RI "\fBuserrec\fP * \fBfd_ref_table\fP [65536]"
270 .br
271 .ti -1c
272 .RI "\fBuser_hash\fP \fBclientlist\fP"
273 .br
274 .ti -1c
275 .RI "\fBchan_hash\fP \fBchanlist\fP"
276 .br
277 .ti -1c
278 .RI "\fBuser_hash\fP \fBwhowas\fP"
279 .br
280 .ti -1c
281 .RI "\fBcommand_table\fP \fBcmdlist\fP"
282 .br
283 .ti -1c
284 .RI "\fBfile_cache\fP \fBMOTD\fP"
285 .br
286 .ti -1c
287 .RI "\fBfile_cache\fP \fBRULES\fP"
288 .br
289 .ti -1c
290 .RI "\fBaddress_cache\fP \fBIP\fP"
291 .br
292 .ti -1c
293 .RI "\fBExtModeList\fP \fBEMode\fP"
294 .br
295 .in -1c
296 .SH "Define Documentation"
297 .PP 
298 .SS "#define nspace   std"
299 .PP
300 Definition at line 64 of file modules.cpp.
301 .SH "Typedef Documentation"
302 .PP 
303 .SS "typedef nspace::hash_map<in_addr,string*, nspace::hash<in_addr>, \fBInAddr_HashComp\fP> \fBaddress_cache\fP"
304 .PP
305 Definition at line 187 of file modules.cpp.
306 .SS "typedef nspace::hash_map<std::string, \fBchanrec\fP*, nspace::hash<string>, \fBStrHashComp\fP> \fBchan_hash\fP"
307 .PP
308 Definition at line 186 of file modules.cpp.
309 .SS "typedef std::deque<\fBcommand_t\fP> \fBcommand_table\fP"
310 .PP
311 Definition at line 188 of file modules.cpp.
312 .SS "typedef std::vector<\fBExtMode\fP> \fBExtModeList\fP"
313 .PP
314 Definition at line 214 of file modules.cpp.
315 .SS "typedef ExtModeList::iterator \fBExtModeListIter\fP"
316 .PP
317 Definition at line 215 of file modules.cpp.
318 .PP
319 Referenced by ModeDefined(), ModeDefinedOff(), ModeDefinedOn(), ModeDefinedOper(), ModeIsListMode(), and ModeMakeList().
320 .SS "typedef nspace::hash_map<std::string, \fBuserrec\fP*, nspace::hash<string>, \fBStrHashComp\fP> \fBuser_hash\fP"
321 .PP
322 Definition at line 185 of file modules.cpp.
323 .SH "Function Documentation"
324 .PP 
325 .SS "bool DoAddExtendedMode (char modechar, int type, bool requires_oper, int params_on, int params_off)"
326 .PP
327 Definition at line 284 of file modules.cpp.
328 .PP
329 References EMode, and ModeDefined().
330 .PP
331 Referenced by Server::AddExtendedListMode(), and Server::AddExtendedMode().
332 .PP
333 .nf
334 285 {
335 286         if (ModeDefined(modechar,type)) {
336 287                 return false;
337 288         }
338 289         EMode.push_back(ExtMode(modechar,type,requires_oper,params_on,params_off));
339 290         return true;
340 291 }
341 .fi
342 .SS "std::vector<\fBircd_module\fP*> factory (255)"
343 .PP
344 .SS "bool ModeDefined (char modechar, int type)"
345 .PP
346 Definition at line 221 of file modules.cpp.
347 .PP
348 References EMode, and ExtModeListIter.
349 .PP
350 Referenced by DoAddExtendedMode().
351 .PP
352 .nf
353 222 {
354 223         for (ExtModeListIter i = EMode.begin(); i < EMode.end(); i++)
355 224         {
356 225                 if ((i->modechar == modechar) && (i->type == type))
357 226                 {
358 227                         return true;
359 228                 }
360 229         }
361 230         return false;
362 231 }
363 .fi
364 .SS "int ModeDefinedOff (char modechar, int type)"
365 .PP
366 Definition at line 271 of file modules.cpp.
367 .PP
368 References EMode, and ExtModeListIter.
369 .PP
370 .nf
371 272 {
372 273         for (ExtModeListIter i = EMode.begin(); i < EMode.end(); i++)
373 274         {
374 275                 if ((i->modechar == modechar) && (i->type == type))
375 276                 {
376 277                         return i->params_when_off;
377 278                 }
378 279         }
379 280         return 0;
380 281 }
381 .fi
382 .SS "int ModeDefinedOn (char modechar, int type)"
383 .PP
384 Definition at line 258 of file modules.cpp.
385 .PP
386 References EMode, and ExtModeListIter.
387 .PP
388 .nf
389 259 {
390 260         for (ExtModeListIter i = EMode.begin(); i < EMode.end(); i++)
391 261         {
392 262                 if ((i->modechar == modechar) && (i->type == type))
393 263                 {
394 264                         return i->params_when_on;
395 265                 }
396 266         }
397 267         return 0;
398 268 }
399 .fi
400 .SS "bool ModeDefinedOper (char modechar, int type)"
401 .PP
402 Definition at line 245 of file modules.cpp.
403 .PP
404 References EMode, and ExtModeListIter.
405 .PP
406 .nf
407 246 {
408 247         for (ExtModeListIter i = EMode.begin(); i < EMode.end(); i++)
409 248         {
410 249                 if ((i->modechar == modechar) && (i->type == type) && (i->needsoper == true))
411 250                 {
412 251                         return true;
413 252                 }
414 253         }
415 254         return false;
416 255 }
417 .fi
418 .SS "bool ModeIsListMode (char modechar, int type)"
419 .PP
420 Definition at line 233 of file modules.cpp.
421 .PP
422 References EMode, and ExtModeListIter.
423 .PP
424 .nf
425 234 {
426 235         for (ExtModeListIter i = EMode.begin(); i < EMode.end(); i++)
427 236         {
428 237                 if ((i->modechar == modechar) && (i->type == type) && (i->list == true))
429 238                 {
430 239                         return true;
431 240                 }
432 241         }
433 242         return false;
434 243 }
435 .fi
436 .SS "void ModeMakeList (char modechar)"
437 .PP
438 Definition at line 294 of file modules.cpp.
439 .PP
440 References EMode, ExtModeListIter, and MT_CHANNEL.
441 .PP
442 Referenced by Server::AddExtendedListMode().
443 .PP
444 .nf
445 295 {
446 296         for (ExtModeListIter i = EMode.begin(); i < EMode.end(); i++)
447 297         {
448 298                 if ((i->modechar == modechar) && (i->type == MT_CHANNEL))
449 299                 {
450 300                         i->list = true;
451 301                         return;
452 302                 }
453 303         }
454 304         return;
455 305 }
456 .fi
457 .SS "std::vector<\fBModule\fP*> modules (255)"
458 .PP
459 .SH "Variable Documentation"
460 .PP 
461 .SS "char \fBAdminEmail\fP[MAXBUF]"
462 .PP
463 Definition at line 84 of file modules.cpp.
464 .SS "char \fBAdminName\fP[MAXBUF]"
465 .PP
466 Definition at line 83 of file modules.cpp.
467 .SS "char \fBAdminNick\fP[MAXBUF]"
468 .PP
469 Definition at line 85 of file modules.cpp.
470 .SS "std::vector<long> \fBauth_cookies\fP"
471 .PP
472 Definition at line 112 of file modules.cpp.
473 .SS "int \fBboundPortCount\fP"
474 .PP
475 Definition at line 106 of file modules.cpp.
476 .SS "\fBchan_hash\fP \fBchanlist\fP"
477 .PP
478 Definition at line 192 of file modules.cpp.
479 .SS "\fBuser_hash\fP \fBclientlist\fP"
480 .PP
481 Definition at line 191 of file modules.cpp.
482 .SS "\fBcommand_table\fP \fBcmdlist\fP"
483 .PP
484 Definition at line 194 of file modules.cpp.
485 .SS "std::stringstream \fBconfig_f\fP"
486 .PP
487 Definition at line 113 of file modules.cpp.
488 .SS "int \fBdebugging\fP"
489 .PP
490 Definition at line 94 of file modules.cpp.
491 .SS "int \fBdefaultRoute\fP"
492 .PP
493 Definition at line 110 of file modules.cpp.
494 .SS "int \fBDieDelay\fP"
495 .PP
496 Definition at line 97 of file modules.cpp.
497 .SS "char \fBdiepass\fP[MAXBUF]"
498 .PP
499 Definition at line 86 of file modules.cpp.
500 .SS "char \fBDieValue\fP[MAXBUF]"
501 .PP
502 Definition at line 92 of file modules.cpp.
503 .SS "\fBExtModeList\fP \fBEMode\fP"
504 .PP
505 Definition at line 218 of file modules.cpp.
506 .PP
507 Referenced by DoAddExtendedMode(), ModeDefined(), ModeDefinedOff(), ModeDefinedOn(), ModeDefinedOper(), ModeIsListMode(), and ModeMakeList().
508 .SS "std::vector<\fBircd_module\fP*> factory"
509 .PP
510 Definition at line 75 of file modules.cpp.
511 .SS "std::vector<int> \fBfd_reap\fP"
512 .PP
513 Definition at line 103 of file modules.cpp.
514 .SS "\fBuserrec\fP* \fBfd_ref_table\fP[65536]"
515 .PP
516 Definition at line 119 of file modules.cpp.
517 .PP
518 Referenced by Server::FindDescriptor(), and Server::PseudoToUser().
519 .SS "\fBaddress_cache\fP \fBIP\fP"
520 .PP
521 Definition at line 197 of file modules.cpp.
522 .SS "char \fBlist\fP[MAXBUF]"
523 .PP
524 Definition at line 90 of file modules.cpp.
525 .SS "FILE* \fBlog_file\fP"
526 .PP
527 Definition at line 117 of file modules.cpp.
528 .SS "int \fBLogLevel\fP"
529 .PP
530 Definition at line 79 of file modules.cpp.
531 .SS "int \fBMaxWhoResults\fP"
532 .PP
533 Definition at line 100 of file modules.cpp.
534 .SS "\fBserverrec\fP* \fBme\fP[32]"
535 .PP
536 Definition at line 115 of file modules.cpp.
537 .SS "int \fBMODCOUNT\fP = -1"
538 .PP
539 Definition at line 1066 of file modules.cpp.
540 .SS "std::vector<std::string> \fBmodule_names\fP"
541 .PP
542 Definition at line 104 of file modules.cpp.
543 .SS "std::vector<\fBModule\fP*> modules"
544 .PP
545 Definition at line 74 of file modules.cpp.
546 .SS "\fBfile_cache\fP \fBMOTD\fP"
547 .PP
548 Definition at line 195 of file modules.cpp.
549 .SS "char \fBmotd\fP[MAXBUF]"
550 .PP
551 Definition at line 88 of file modules.cpp.
552 .SS "time_t \fBnb_start\fP"
553 .PP
554 Definition at line 101 of file modules.cpp.
555 .SS "int \fBNetBufferSize\fP"
556 .PP
557 Definition at line 99 of file modules.cpp.
558 .SS "char \fBNetwork\fP[MAXBUF]"
559 .PP
560 Definition at line 81 of file modules.cpp.
561 .SS "int \fBportCount\fP"
562 .PP
563 Definition at line 107 of file modules.cpp.
564 .SS "int \fBports\fP[MAXSOCKS]"
565 .PP
566 Definition at line 109 of file modules.cpp.
567 .SS "char \fBPrefixQuit\fP[MAXBUF]"
568 .PP
569 Definition at line 91 of file modules.cpp.
570 .SS "char \fBrestartpass\fP[MAXBUF]"
571 .PP
572 Definition at line 87 of file modules.cpp.
573 .SS "\fBfile_cache\fP \fBRULES\fP"
574 .PP
575 Definition at line 196 of file modules.cpp.
576 .SS "char \fBrules\fP[MAXBUF]"
577 .PP
578 Definition at line 89 of file modules.cpp.
579 .SS "char \fBServerDesc\fP[MAXBUF]"
580 .PP
581 Definition at line 82 of file modules.cpp.
582 .SS "char \fBServerName\fP[MAXBUF]"
583 .PP
584 Definition at line 80 of file modules.cpp.
585 .SS "int \fBSERVERportCount\fP"
586 .PP
587 Definition at line 108 of file modules.cpp.
588 .SS "time_t \fBstartup_time\fP"
589 .PP
590 Definition at line 98 of file modules.cpp.
591 .SS "time_t \fBTIME\fP"
592 .PP
593 Definition at line 77 of file modules.cpp.
594 .SS "\fBuser_hash\fP \fBwhowas\fP"
595 .PP
596 Definition at line 193 of file modules.cpp.
597 .SS "int \fBWHOWAS_MAX\fP"
598 .PP
599 Definition at line 96 of file modules.cpp.
600 .SS "int \fBWHOWAS_STALE\fP"
601 .PP
602 Definition at line 95 of file modules.cpp.
603 .SH "Author"
604 .PP 
605 Generated automatically by Doxygen for InspIRCd from the source code.