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