* Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste
* der an ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS.
*
- * $Id: conn.h,v 1.13 2002/03/12 14:37:52 alex Exp $
+ * $Id: conn.h,v 1.24 2002/12/02 13:19:37 alex Exp $
*
* conn.h: Verwaltung aller Netz-Verbindungen ("connections") (Header)
*/
#define __conn_h__
-#include <time.h>
+#include <time.h> /* wg. time_t, s.u. */
+
+
+#ifdef USE_ZLIB
+#define CONN_ZIP 4 /* Kompression mit zlib */
+#endif
typedef INT CONN_ID;
-typedef struct _Res_Stat
-{
- INT pid; /* PID des Child-Prozess */
- INT pipe[2]; /* Pipe fuer IPC */
-} RES_STAT;
+GLOBAL VOID Conn_Init PARAMS((VOID ));
+GLOBAL VOID Conn_Exit PARAMS(( VOID ));
+
+GLOBAL INT Conn_InitListeners PARAMS(( VOID ));
+GLOBAL VOID Conn_ExitListeners PARAMS(( VOID ));
+
+GLOBAL BOOLEAN Conn_NewListener PARAMS(( CONST UINT Port ));
+
+GLOBAL VOID Conn_Handler PARAMS(( VOID ));
-GLOBAL VOID Conn_Init( VOID );
-GLOBAL VOID Conn_Exit( VOID );
+GLOBAL BOOLEAN Conn_Write PARAMS(( CONN_ID Idx, CHAR *Data, INT Len ));
+GLOBAL BOOLEAN Conn_WriteStr PARAMS(( CONN_ID Idx, CHAR *Format, ... ));
-GLOBAL BOOLEAN Conn_NewListener( CONST INT Port );
+GLOBAL VOID Conn_Close PARAMS(( CONN_ID Idx, CHAR *LogMsg, CHAR *FwdMsg, BOOLEAN InformClient ));
-GLOBAL VOID Conn_Handler( INT Timeout );
+GLOBAL VOID Conn_UpdateIdle PARAMS(( CONN_ID Idx ));
+GLOBAL time_t Conn_GetIdle PARAMS(( CONN_ID Idx ));
+GLOBAL time_t Conn_LastPing PARAMS(( CONN_ID Idx ));
+GLOBAL time_t Conn_StartTime PARAMS(( CONN_ID Idx ));
+GLOBAL INT Conn_SendQ PARAMS(( CONN_ID Idx ));
+GLOBAL INT Conn_RecvQ PARAMS(( CONN_ID Idx ));
+GLOBAL LONG Conn_SendMsg PARAMS(( CONN_ID Idx ));
+GLOBAL LONG Conn_RecvMsg PARAMS(( CONN_ID Idx ));
+GLOBAL LONG Conn_SendBytes PARAMS(( CONN_ID Idx ));
+GLOBAL LONG Conn_RecvBytes PARAMS(( CONN_ID Idx ));
-GLOBAL BOOLEAN Conn_Write( CONN_ID Idx, CHAR *Data, INT Len );
-GLOBAL BOOLEAN Conn_WriteStr( CONN_ID Idx, CHAR *Format, ... );
+GLOBAL VOID Conn_SetPenalty PARAMS(( CONN_ID Idx, time_t Seconds ));
+GLOBAL VOID Conn_ResetPenalty PARAMS(( CONN_ID Idx ));
+
+GLOBAL VOID Conn_ClearFlags PARAMS(( VOID ));
+GLOBAL INT Conn_Flag PARAMS(( CONN_ID Idx ));
+GLOBAL VOID Conn_SetFlag PARAMS(( CONN_ID Idx, INT Flag ));
+
+GLOBAL VOID Conn_SetServer PARAMS(( CONN_ID Idx, INT ConfServer ));
+
+GLOBAL CONN_ID Conn_First PARAMS(( VOID ));
+GLOBAL CONN_ID Conn_Next PARAMS(( CONN_ID Idx ));
+
+GLOBAL VOID Conn_SetOption PARAMS(( CONN_ID Idx, INT Option ));
+GLOBAL VOID Conn_UnsetOption PARAMS(( CONN_ID Idx, INT Option ));
+GLOBAL INT Conn_Options PARAMS(( CONN_ID Idx ));
+
+#ifdef USE_ZLIB
+GLOBAL BOOLEAN Conn_InitZip PARAMS(( CONN_ID Idx ));
+GLOBAL LONG Conn_SendBytesZip PARAMS(( CONN_ID Idx ));
+GLOBAL LONG Conn_RecvBytesZip PARAMS(( CONN_ID Idx ));
+#endif
-GLOBAL VOID Conn_Close( CONN_ID Idx, CHAR *LogMsg, CHAR *FwdMsg, BOOLEAN InformClient );
-GLOBAL VOID Conn_UpdateIdle( CONN_ID Idx );
-GLOBAL time_t Conn_GetIdle( CONN_ID Idx );
-GLOBAL time_t Conn_LastPing( CONN_ID Idx );
+GLOBAL INT Conn_MaxFD;
#endif