]> jfr.im git - solanum.git/blobdiff - include/listener.h
modularize usermode +R (registered users only)
[solanum.git] / include / listener.h
index da8e9518f44f10a0b60b76550c8fd8f44ed67a64..36aabf476b559ace91aa371178bc656754adf1ba 100644 (file)
@@ -20,8 +20,6 @@
  *  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
 
 #include "ircd_defs.h"
 
-struct Client;\r
-\r
-struct Listener\r
-{\r
-       rb_dlink_node node;\r
-       const char *name;       /* listener name */\r
-       rb_fde_t *F;            /* file descriptor */\r
-       int ref_count;          /* number of connection references */\r
-       int active;             /* current state of listener */\r
-       int ssl;                /* ssl listener */\r
-       struct rb_sockaddr_storage addr;\r
-       char vhost[HOSTLEN + 1];        /* virtual name of listener */\r
-};\r
-\r
-void add_listener(int port, const char *vaddr_ip, int family, int ssl);\r
-void close_listener(struct Listener *listener);\r
-void close_listeners(void);\r
-const char *get_listener_name(struct Listener *listener);\r
-void show_ports(struct Client *client);\r
-void free_listener(struct Listener *);
+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 */
+       int defer_accept;       /* use TCP_DEFER_ACCEPT */
+       bool sctp;              /* use SCTP */
+       int wsock;              /* wsock listener */
+       struct rb_sockaddr_storage addr[2];
+       char vhost[(HOSTLEN * 2) + 1];  /* virtual name of listener */
+};
+
+extern void add_tcp_listener(int port, const char *vaddr_ip, int family, int ssl, int defer_accept, int wsock);
+extern void add_sctp_listener(int port, const char *vaddr_ip1, const char *vaddr_ip2, int ssl, int wsock);
+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 */