X-Git-Url: https://jfr.im/git/irc/rqf/shadowircd.git/blobdiff_plain/79edef09180726e37dc5fa615c05e0b2e95b9f31..36fb4e9a7743326d1a2ca7601bc9bf1c5b9a0bcb:/include/listener.h diff --git a/include/listener.h b/include/listener.h index bc03d08..c27e45f 100644 --- a/include/listener.h +++ b/include/listener.h @@ -27,25 +27,28 @@ #ifndef INCLUDED_listener_h #define INCLUDED_listener_h -struct Client; - -struct Listener -{ - rb_dlink_node node; - const char *name; /* listener name */ - rb_fde_t *F; /* file descriptor */ - int ref_count; /* number of connection references */ - int active; /* current state of listener */ - int ssl; /* ssl listener */ - struct rb_sockaddr_storage addr; - char vhost[HOSTLEN + 1]; /* virtual name of listener */ -}; - -void add_listener(int port, const char *vaddr_ip, int family, int ssl); -void close_listener(struct Listener *listener); -void close_listeners(void); -const char *get_listener_name(struct Listener *listener); -void show_ports(struct Client *client); -void free_listener(struct Listener *); +#include "ircd_defs.h" + +struct Client; + +struct Listener +{ + struct Listener *next; /* list node pointer */ + const char *name; /* listener name */ + rb_fde_t *F; /* file descriptor */ + int ref_count; /* number of connection references */ + int active; /* current state of listener */ + int ssl; /* ssl listener */ + struct rb_sockaddr_storage addr; + struct DNSQuery *dns_query; + char vhost[HOSTLEN + 1]; /* virtual name of listener */ +}; + +extern void add_listener(int port, const char *vaddr_ip, int family, int ssl); +extern void close_listener(struct Listener *listener); +extern void close_listeners(void); +extern const char *get_listener_name(const struct Listener *listener); +extern void show_ports(struct Client *client); +extern void free_listener(struct Listener *); #endif /* INCLUDED_listener_h */