1 /********************************************************************\ 2 * BitlBee -- An IRC to other IM-networks gateway * 3 * * 4 * Copyright 2002-2004 Wilmer van der Gaast and others * 5 \********************************************************************/ 6 7 /* Configuration reading code */ 8 9 /* 10 This program is free software; you can redistribute it and/or modify 11 it under the terms of the GNU General Public License as published by 12 the Free Software Foundation; either version 2 of the License, or 13 (at your option) any later version. 14 15 This program is distributed in the hope that it will be useful, 16 but WITHOUT ANY WARRANTY; without even the implied warranty of 17 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 GNU General Public License for more details. 19 20 You should have received a copy of the GNU General Public License with 21 the Debian GNU/Linux distribution in /usr/share/common-licenses/GPL; 22 if not, write to the Free Software Foundation, Inc., 51 Franklin St., 23 Fifth Floor, Boston, MA 02110-1301 USA 24 */ 25 26 #ifndef __CONF_H 27 #define __CONF_H 28 29 typedef enum runmode { RUNMODE_DAEMON, RUNMODE_FORKDAEMON, RUNMODE_INETD } runmode_t; 30 typedef enum authmode { AUTHMODE_OPEN, AUTHMODE_CLOSED, AUTHMODE_REGISTERED } authmode_t; 31 32 typedef struct conf { 33 char *iface_in, *iface_out; 34 char *port; 35 int nofork; 36 int verbose; 37 runmode_t runmode; 38 authmode_t authmode; 39 char *auth_backend; 40 char *auth_pass; 41 char *oper_pass; 42 int allow_account_add; 43 char *hostname; 44 char *configdir; 45 char *plugindir; 46 char *pidfile; 47 char *motdfile; 48 char *primary_storage; 49 char **migrate_storage; 50 int ping_interval; 51 int ping_timeout; 52 char *user; 53 size_t ft_max_size; 54 int ft_max_kbps; 55 char *ft_listen; 56 char **protocols; 57 char *cafile; 58 } conf_t; 59 60 G_GNUC_MALLOC conf_t *conf_load(int argc, char *argv[]); 61 void conf_loaddefaults(irc_t *irc); 62 63 #endif 64