* (at your option) any later version.
* Please read the file COPYING, README and AUTHORS for more information.
*
- * $Id: conf.h,v 1.22 2002/12/12 11:26:08 alex Exp $
+ * $Id: conf.h,v 1.28 2003/11/05 21:41:02 alex Exp $
*
* Configuration management (header)
*/
INT group; /* Group of server */
time_t lasttry; /* Last connect attempt */
RES_STAT *res_stat; /* Status of the resolver */
+ INT flags; /* Flags */
+ CONN_ID conn_id; /* ID of server connection or NONE */
} CONF_SERVER;
typedef struct _Conf_Channel
} CONF_CHANNEL;
+#define CONF_SFLAG_ONCE 1 /* Delete this entry after next disconnect */
+#define CONF_SFLAG_DISABLED 2 /* This server configuration entry is disabled */
+
+
/* Name ("Nick") of the servers */
GLOBAL CHAR Conf_ServerName[CLIENT_ID_LEN];
GLOBAL UINT Conf_ListenPorts[MAX_LISTEN_PORTS];
GLOBAL INT Conf_ListenPorts_Count;
+/* Address to which the socket should be bound or empty (=all) */
+GLOBAL CHAR Conf_ListenAddress[16];
+
/* User and group ID the server should run with */
GLOBAL UINT Conf_UID;
GLOBAL UINT Conf_GID;
/* Servers */
GLOBAL CONF_SERVER Conf_Server[MAX_SERVERS];
-GLOBAL INT Conf_Server_Count;
/* Pre-defined channels */
GLOBAL CONF_CHANNEL Conf_Channel[MAX_DEFCHANNELS];
/* Maximum number of connections to this server */
GLOBAL LONG Conf_MaxConnections;
+/* Maximum number of channels a user can join */
+GLOBAL INT Conf_MaxJoins;
+
+/* Maximum number of connections per IP address */
+GLOBAL INT Conf_MaxConnectionsIP;
+
GLOBAL VOID Conf_Init PARAMS((VOID ));
+GLOBAL VOID Conf_Rehash PARAMS((VOID ));
GLOBAL INT Conf_Test PARAMS((VOID ));
+GLOBAL VOID Conf_UnsetServer PARAMS(( CONN_ID Idx ));
+GLOBAL VOID Conf_SetServer PARAMS(( INT ConfServer, CONN_ID Idx ));
+GLOBAL INT Conf_GetServer PARAMS(( CONN_ID Idx ));
+
+GLOBAL BOOLEAN Conf_EnableServer PARAMS(( CHAR *Name, INT Port ));
+GLOBAL BOOLEAN Conf_DisableServer PARAMS(( CHAR *Name ));
+GLOBAL BOOLEAN Conf_AddServer PARAMS(( CHAR *Name, INT Port, CHAR *Host, CHAR *MyPwd, CHAR *PeerPwd ));
+
#endif