* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
* USA
- *
- * $Id: listener.h 6 2005-09-10 01:02:21Z nenolod $
*/
#ifndef INCLUDED_listener_h
{
struct Listener *next; /* list node pointer */
const char *name; /* listener name */
- int fd; /* file descriptor */
+ rb_fde_t *F; /* file descriptor */
int ref_count; /* number of connection references */
int active; /* current state of listener */
- int index; /* index into poll array */
- struct irc_sockaddr_storage addr;
- struct DNSQuery *dns_query;
+ int ssl; /* ssl listener */
+ int defer_accept; /* use TCP_DEFER_ACCEPT */
+ int wsock; /* wsock listener */
+ struct rb_sockaddr_storage addr;
char vhost[HOSTLEN + 1]; /* virtual name of listener */
};
-extern void add_listener(int port, const char *vaddr_ip, int family);
+extern void add_listener(int port, const char *vaddr_ip, int family, int ssl, int defer_accept, int wsock);
extern void close_listener(struct Listener *listener);
extern void close_listeners(void);
extern const char *get_listener_name(const struct Listener *listener);