X-Git-Url: http://git.pk910.de/?a=blobdiff_plain;f=include%2Fs_bsd.h;h=acb24b7c6828b12855e35930cf2bfa6e22f21fe9;hb=7fbfc390d32f9acc3192d011b813f66f35370faa;hp=91bf9fa12dc13fffd9c855938914a40e6a95e7e2;hpb=87076072135f04bcd4d068af96368f4939c5404e;p=ircu2.10.12-pk.git diff --git a/include/s_bsd.h b/include/s_bsd.h index 91bf9fa..acb24b7 100644 --- a/include/s_bsd.h +++ b/include/s_bsd.h @@ -1,13 +1,9 @@ -/* - * s_bsd.h - * - * $Id$ +/** @file s_bsd.h + * @brief Wrapper functions to avoid direct use of BSD APIs. + * @version $Id$ */ #ifndef INCLUDED_s_bsd_h #define INCLUDED_s_bsd_h -#ifndef INCLUDED_config_h -#include "config.h" -#endif #ifndef INCLUDED_sys_types_h #include /* size_t, time_t */ #define INCLUDED_sys_types_h @@ -20,8 +16,8 @@ struct Client; struct ConfItem; struct Listener; -struct DNSReply; struct MsgQ; +struct irc_in_addr; /* * TCP window sizes @@ -29,7 +25,9 @@ struct MsgQ; * set client to a smaller size to allow TCP flow control * to reduce flooding */ +/** Default TCP window size for server connections. */ #define SERVER_TCP_WINDOW 61440 +/** Default TCP window size for client connections. */ #define CLIENT_TCP_WINDOW 2048 extern void report_error(const char* text, const char* who, int err); @@ -48,41 +46,22 @@ 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; - -extern struct sockaddr_in VirtualHost; - -enum PollType { - PT_NONE, - PT_READ, - PT_WRITE -}; - -struct Pollable; - -typedef int (*PollReadyFn)(struct Pollable*); +extern struct irc_sockaddr VirtualHost_v4; +extern struct irc_sockaddr VirtualHost_v6; +extern struct irc_sockaddr VirtualHost_dns_v4; +extern struct irc_sockaddr VirtualHost_dns_v6; -struct Pollable { - struct Pollable* next; - struct Pollable* prev; - int fd; - int index; - int state; - PollReadyFn r_handler; - PollReadyFn w_handler; -}; - /* * Proto types */ +extern int completed_connection(struct Client* cptr); extern unsigned int deliver_it(struct Client *cptr, struct MsgQ *buf); -extern int connect_server(struct ConfItem* aconf, struct Client* by, - struct DNSReply* reply); -extern void release_dns_reply(struct Client* cptr); +extern int connect_server(struct ConfItem* aconf, struct Client* by); extern int net_close_unregistered_connections(struct Client* source); extern void close_connection(struct Client *cptr); extern void add_connection(struct Listener* listener, int fd); @@ -90,6 +69,6 @@ extern int read_message(time_t delay); extern void init_server_identity(void); extern void close_connections(int close_stderr); extern int init_connection_limits(void); -extern void set_virtual_host(struct in_addr addr); +extern void update_write(struct Client* cptr); #endif /* INCLUDED_s_bsd_h */