Make default virtual host work for .12, and make IPv4-only
[ircu2.10.12-pk.git] / include / s_bsd.h
index f7aae6e765cbba54612342859329d65a43b3c5f2..db8bd3062843b9601df2cf1f5d6d60332d234a12 100644 (file)
@@ -5,18 +5,20 @@
  */
 #ifndef INCLUDED_s_bsd_h
 #define INCLUDED_s_bsd_h
-#ifndef INCLUDED_config_h
-#include "config.h"
-#endif
 #ifndef INCLUDED_sys_types_h
 #include <sys/types.h>         /* size_t, time_t */
 #define INCLUDED_sys_types_h
 #endif
+#ifndef INCLUDED_netinet_in_h
+#include <netinet/in.h>
+#define INCLUDED_netinet_in_h
+#endif
 
 struct Client;
 struct ConfItem;
 struct Listener;
-struct DNSReply;
+struct MsgQ;
+struct irc_in_addr;
 
 /*
  * TCP window sizes
@@ -43,15 +45,15 @@ extern const char* const POLL_ERROR_MSG;
 extern const char* const SELECT_ERROR_MSG;
 extern const char* const CONNECT_ERROR_MSG;
 extern const char* const SETBUFS_ERROR_MSG;
+extern const char* const TOS_ERROR_MSG;
+extern const char* const REGISTER_ERROR_MSG;
 
 
 extern int            HighestFd;
 extern struct Client* LocalClientArray[MAXCONNECTIONS];
 extern int            OpenFileDescriptorCount;
 
-#ifdef VIRTUAL_HOST
-extern struct sockaddr_in vserv;
-#endif
+extern struct irc_sockaddr VirtualHost;
 
 enum PollType {
   PT_NONE,
@@ -72,19 +74,20 @@ struct Pollable {
   PollReadyFn      r_handler;
   PollReadyFn      w_handler;
 };
-  
+
 /*
  * Proto types
  */
-extern size_t deliver_it(struct Client *cptr, const char *str, size_t len);
-extern int connect_server(struct ConfItem* aconf, struct Client* by,
-                          struct DNSReply* reply);
+extern unsigned int deliver_it(struct Client *cptr, struct MsgQ *buf);
+extern int connect_server(struct ConfItem* aconf, struct Client* by);
 extern void release_dns_reply(struct Client* cptr);
 extern int  net_close_unregistered_connections(struct Client* source);
-extern void init_sys(void);
 extern void close_connection(struct Client *cptr);
 extern void add_connection(struct Listener* listener, int fd);
 extern int  read_message(time_t delay);
-extern int init_server_identity(void);
+extern void init_server_identity(void);
+extern void close_connections(int close_stderr);
+extern int  init_connection_limits(void);
+extern void update_write(struct Client* cptr);
 
 #endif /* INCLUDED_s_bsd_h */