+typedef struct _Connection
+{
+ int sock; /* Socket handle */
+ ng_ipaddr_t addr; /* Client address */
+ PROC_STAT proc_stat; /* Status of resolver process */
+ char host[HOST_LEN]; /* Hostname */
+ char *pwd; /* password received of the client */
+ array rbuf; /* Read buffer */
+ array wbuf; /* Write buffer */
+ time_t signon; /* Signon ("connect") time */
+ time_t lastdata; /* Last activity */
+ time_t lastping; /* Last PING */
+ time_t lastprivmsg; /* Last PRIVMSG */
+ time_t delaytime; /* Ignore link ("penalty") */
+ long bytes_in, bytes_out; /* Received and sent bytes */
+ long msg_in, msg_out; /* Received and sent IRC messages */
+ int flag; /* Flag (see "irc-write" module) */
+ UINT16 options; /* Link options / connection state */
+ UINT16 bps; /* bytes processed within last second */
+ CLIENT *client; /* pointer to client structure */
+#ifdef ZLIB
+ ZIPDATA zip; /* Compression information */
+#endif /* ZLIB */
+#ifdef SSL_SUPPORT
+ struct ConnSSL_State ssl_state; /* SSL/GNUTLS state information */
+#endif
+#ifndef STRICT_RFC
+ long auth_ping; /** PING response expected on login */
+#endif
+} CONNECTION;
+
+GLOBAL CONNECTION *My_Connections;
+GLOBAL CONN_ID Pool_Size;
+GLOBAL long WCounter;
+
+#endif /* CONN_MODULE */
+
+
+GLOBAL void Conn_Init PARAMS((void ));
+GLOBAL void Conn_Exit PARAMS(( void ));
+
+GLOBAL void Conn_CloseAllSockets PARAMS((int ExceptOf));
+
+GLOBAL unsigned int Conn_InitListeners PARAMS(( void ));
+GLOBAL void Conn_ExitListeners PARAMS(( void ));
+
+GLOBAL void Conn_Handler PARAMS(( void ));