]> jfr.im git - irc.git/blame - software/ircd/www.irc.org/ftp/irc/org/Old/irc2.11.2p1/iauth/a_conf_def.h
init
[irc.git] / software / ircd / www.irc.org / ftp / irc / org / Old / irc2.11.2p1 / iauth / a_conf_def.h
CommitLineData
3bd189cb
JR
1/************************************************************************
2 * IRC - Internet Relay Chat, iauth/a_conf_def.h
3 * Copyright (C) 1998 Christophe Kalt
4 *
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 1, or (at your option)
8 * any later version.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with this program; if not, write to the Free Software
17 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
18 */
19
20typedef struct Module aModule;
21typedef struct Instance AnInstance;
22typedef struct Target aTarget;
23
24struct Module
25{
26 char *name; /* module name */
27 char *(*init)(AnInstance *); /* instance initialization */
28 void (*release)(AnInstance *);/* instance releasing >UNUSED< */
29 void (*stats)(AnInstance *); /* send instance stats to ircd */
30 int (*start)(u_int); /* start authentication */
31 int (*work)(u_int); /* called whenever something has to be
32 * done (incoming data, timeout..) */
33 int (*timeout)(u_int); /* called when timeout is reached */
34 void (*clean)(u_int); /* finish/abort: cleanup*/
35};
36
37struct Instance
38{
39 AnInstance *nexti;
40 u_char in; /* instance number */
41 aModule *mod; /* module */
42 char *opt; /* options read from file */
43 char *popt; /* options to send to ircd */
44 void *data; /* private data: stats, ... */
45 aTarget *address;
46 aTarget *hostname;
47 u_int timeout;
48 u_int port;
49 char *reason; /* reject reason */
50 u_char delayed; /* delayed execution mode */
51};
52
53struct Target
54{
55 char *value;
56 u_long baseip, lmask; /* a.b.c.d/z */
57 char yes;
58 aTarget *nextt;
59};