2 * @brief Wrapper functions to avoid direct use of BSD APIs.
3 * @version $Id: s_bsd.h,v 1.21.2.1 2007/02/25 15:41:48 entrope Exp $
5 #ifndef INCLUDED_s_bsd_h
6 #define INCLUDED_s_bsd_h
7 #ifndef INCLUDED_sys_types_h
8 #include <sys/types.h> /* size_t, time_t */
9 #define INCLUDED_sys_types_h
11 #ifndef INCLUDED_netinet_in_h
12 #include <netinet/in.h>
13 #define INCLUDED_netinet_in_h
24 * Set server window to a large value for fat pipes,
25 * set client to a smaller size to allow TCP flow control
28 /** Default TCP window size for server connections. */
29 #define SERVER_TCP_WINDOW 61440
30 /** Default TCP window size for client connections. */
31 #define CLIENT_TCP_WINDOW 2048
33 extern void report_error(const char* text
, const char* who
, int err
);
35 * text for report_error
37 extern const char* const BIND_ERROR_MSG
;
38 extern const char* const LISTEN_ERROR_MSG
;
39 extern const char* const NONB_ERROR_MSG
;
40 extern const char* const REUSEADDR_ERROR_MSG
;
41 extern const char* const SOCKET_ERROR_MSG
;
42 extern const char* const CONNLIMIT_ERROR_MSG
;
43 extern const char* const ACCEPT_ERROR_MSG
;
44 extern const char* const PEERNAME_ERROR_MSG
;
45 extern const char* const POLL_ERROR_MSG
;
46 extern const char* const SELECT_ERROR_MSG
;
47 extern const char* const CONNECT_ERROR_MSG
;
48 extern const char* const SETBUFS_ERROR_MSG
;
49 extern const char* const TOS_ERROR_MSG
;
50 extern const char* const REGISTER_ERROR_MSG
;
53 extern struct Client
* LocalClientArray
[MAXCONNECTIONS
];
54 extern struct irc_sockaddr VirtualHost_v4
;
55 extern struct irc_sockaddr VirtualHost_v6
;
56 extern struct irc_sockaddr VirtualHost_dns_v4
;
57 extern struct irc_sockaddr VirtualHost_dns_v6
;
62 extern unsigned int deliver_it(struct Client
*cptr
, struct MsgQ
*buf
);
63 extern int connect_server(struct ConfItem
* aconf
, struct Client
* by
);
64 extern int net_close_unregistered_connections(struct Client
* source
);
65 extern void close_connection(struct Client
*cptr
);
66 extern void add_connection(struct Listener
* listener
, int fd
);
67 extern int read_message(time_t delay
);
68 extern void init_server_identity(void);
69 extern void close_connections(int close_stderr
);
70 extern int init_connection_limits(void);
71 extern void update_write(struct Client
* cptr
);
73 #endif /* INCLUDED_s_bsd_h */