1 #ifndef __SERVERS_SETUP_H
2 #define __SERVERS_SETUP_H
6 #define SERVER_SETUP(server) \
7 MODULE_CHECK_CAST(server, SERVER_SETUP_REC, type, "SERVER SETUP")
9 #define IS_SERVER_SETUP(server) \
10 (SERVER_SETUP(server) ? TRUE : FALSE)
13 struct _SERVER_SETUP_REC {
14 #include "server-setup-rec.h"
17 extern GSList *setupservers;
19 extern IPADDR *source_host_ip4, *source_host_ip6; /* Resolved address */
20 extern int source_host_ok; /* Use source_host_ip .. */
22 /* Fill reconnection specific information to connection
23 from server setup record */
24 void server_setup_fill_reconn(SERVER_CONNECT_REC *conn,
25 SERVER_SETUP_REC *sserver);
27 /* Create server connection record. `dest' is required, rest can be NULL.
28 `dest' is either a server address or chat network */
30 server_create_conn(int chat_type, const char *dest, int port,
31 const char *chatnet, const char *password,
34 /* Find matching server from setup. Try to find record with a same port,
35 but fallback to any server with the same address. */
36 SERVER_SETUP_REC *server_setup_find(const char *address, int port,
38 /* Find matching server from setup. Ports must match or NULL is returned. */
39 SERVER_SETUP_REC *server_setup_find_port(const char *address, int port);
41 void server_setup_add(SERVER_SETUP_REC *rec);
42 void server_setup_remove(SERVER_SETUP_REC *rec);
44 void servers_setup_init(void);
45 void servers_setup_deinit(void);