]>
Commit | Line | Data |
---|---|---|
189935b1 | 1 | /** @file s_bsd.h |
2 | * @brief Wrapper functions to avoid direct use of BSD APIs. | |
3 | * @version $Id: s_bsd.h,v 1.21 2005/06/27 13:25:51 entrope Exp $ | |
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 | ||
16 | struct Client; | |
17 | struct ConfItem; | |
18 | struct Listener; | |
19 | struct MsgQ; | |
20 | struct 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 | ||
33 | extern void report_error(const char* text, const char* who, int err); | |
34 | /* | |
35 | * text for report_error | |
36 | */ | |
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; | |
51 | ||
52 | extern int HighestFd; | |
53 | extern struct Client* LocalClientArray[MAXCONNECTIONS]; | |
54 | extern struct irc_sockaddr VirtualHost_v4; | |
55 | extern struct irc_sockaddr VirtualHost_v6; | |
56 | ||
57 | /* | |
58 | * Proto types | |
59 | */ | |
60 | extern unsigned int deliver_it(struct Client *cptr, struct MsgQ *buf); | |
61 | extern int connect_server(struct ConfItem* aconf, struct Client* by); | |
62 | extern int net_close_unregistered_connections(struct Client* source); | |
63 | extern void close_connection(struct Client *cptr); | |
64 | extern void add_connection(struct Listener* listener, int fd); | |
65 | extern int read_message(time_t delay); | |
66 | extern void init_server_identity(void); | |
67 | extern void close_connections(int close_stderr); | |
68 | extern int init_connection_limits(void); | |
69 | extern void update_write(struct Client* cptr); | |
70 | ||
71 | #endif /* INCLUDED_s_bsd_h */ |