diff options
Diffstat (limited to 'iauth/a_conf_def.h')
-rw-r--r-- | iauth/a_conf_def.h | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/iauth/a_conf_def.h b/iauth/a_conf_def.h new file mode 100644 index 0000000..078a9a0 --- /dev/null +++ b/iauth/a_conf_def.h @@ -0,0 +1,56 @@ +/************************************************************************ + * IRC - Internet Relay Chat, iauth/a_conf_def.h + * Copyright (C) 1998 Christophe Kalt + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 1, or (at your option) + * any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + +typedef struct Module aModule; +typedef struct Instance AnInstance; +typedef struct Target aTarget; + +struct Module +{ + char *name; /* module name */ + char *(*init)(AnInstance *); /* instance initialization */ + void (*release)(AnInstance *);/* instance releasing >UNUSED< */ + void (*stats)(AnInstance *); /* send instance stats to ircd */ + int (*start)(u_int); /* start authentication */ + int (*work)(u_int); /* called whenever something has to be + * done (incoming data, timeout..) */ + int (*timeout)(u_int); /* called when timeout is reached */ + void (*clean)(u_int); /* finish/abort: cleanup*/ +}; + +struct Instance +{ + AnInstance *nexti; + u_char in; /* instance number */ + aModule *mod; /* module */ + char *opt; /* options read from file */ + char *popt; /* options to send to ircd */ + void *data; /* private data: stats, ... */ + aTarget *address; + aTarget *hostname; + u_int timeout; +}; + +struct Target +{ + char *value; + u_long baseip, lmask; /* a.b.c.d/z */ + char yes; + aTarget *nextt; +}; |