]> jfr.im git - irc/quakenet/snircd.git/blame - include/s_bsd.h
Update my e-mail address.
[irc/quakenet/snircd.git] / include / s_bsd.h
CommitLineData
189935b1 1/** @file s_bsd.h
2 * @brief Wrapper functions to avoid direct use of BSD APIs.
951d56c0 3 * @version $Id: s_bsd.h,v 1.21.2.1 2007/02/25 15:41:48 entrope Exp $
189935b1 4 */
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
10#endif
11#ifndef INCLUDED_netinet_in_h
12#include <netinet/in.h>
13#define INCLUDED_netinet_in_h
14#endif
15
16struct Client;
17struct ConfItem;
18struct Listener;
19struct MsgQ;
20struct irc_in_addr;
21
22/*
23 * TCP window sizes
24 * Set server window to a large value for fat pipes,
25 * set client to a smaller size to allow TCP flow control
26 * to reduce flooding
27 */
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
32
33extern void report_error(const char* text, const char* who, int err);
34/*
35 * text for report_error
36 */
37extern const char* const BIND_ERROR_MSG;
38extern const char* const LISTEN_ERROR_MSG;
39extern const char* const NONB_ERROR_MSG;
40extern const char* const REUSEADDR_ERROR_MSG;
41extern const char* const SOCKET_ERROR_MSG;
42extern const char* const CONNLIMIT_ERROR_MSG;
43extern const char* const ACCEPT_ERROR_MSG;
44extern const char* const PEERNAME_ERROR_MSG;
45extern const char* const POLL_ERROR_MSG;
46extern const char* const SELECT_ERROR_MSG;
47extern const char* const CONNECT_ERROR_MSG;
48extern const char* const SETBUFS_ERROR_MSG;
49extern const char* const TOS_ERROR_MSG;
50extern const char* const REGISTER_ERROR_MSG;
51
52extern int HighestFd;
53extern struct Client* LocalClientArray[MAXCONNECTIONS];
54extern struct irc_sockaddr VirtualHost_v4;
55extern struct irc_sockaddr VirtualHost_v6;
951d56c0 56extern struct irc_sockaddr VirtualHost_dns_v4;
57extern struct irc_sockaddr VirtualHost_dns_v6;
189935b1 58
59/*
60 * Proto types
61 */
62extern unsigned int deliver_it(struct Client *cptr, struct MsgQ *buf);
63extern int connect_server(struct ConfItem* aconf, struct Client* by);
64extern int net_close_unregistered_connections(struct Client* source);
65extern void close_connection(struct Client *cptr);
66extern void add_connection(struct Listener* listener, int fd);
67extern int read_message(time_t delay);
68extern void init_server_identity(void);
69extern void close_connections(int close_stderr);
70extern int init_connection_limits(void);
71extern void update_write(struct Client* cptr);
72
73#endif /* INCLUDED_s_bsd_h */