Blob


1 /*
2 * ngIRCd -- The Next Generation IRC Daemon
3 * Copyright (c)2001,2002 by Alexander Barton (alex@barton.de)
4 *
5 * Dieses Programm ist freie Software. Sie koennen es unter den Bedingungen
6 * der GNU General Public License (GPL), wie von der Free Software Foundation
7 * herausgegeben, weitergeben und/oder modifizieren, entweder unter Version 2
8 * der Lizenz oder (wenn Sie es wuenschen) jeder spaeteren Version.
9 * Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste
10 * der an ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS.
11 *
12 * $Id: conn.h,v 1.13 2002/03/12 14:37:52 alex Exp $
13 *
14 * conn.h: Verwaltung aller Netz-Verbindungen ("connections") (Header)
15 */
18 #ifndef __conn_h__
19 #define __conn_h__
22 #include <time.h>
25 typedef INT CONN_ID;
27 typedef struct _Res_Stat
28 {
29 INT pid; /* PID des Child-Prozess */
30 INT pipe[2]; /* Pipe fuer IPC */
31 } RES_STAT;
34 GLOBAL VOID Conn_Init( VOID );
35 GLOBAL VOID Conn_Exit( VOID );
37 GLOBAL BOOLEAN Conn_NewListener( CONST INT Port );
39 GLOBAL VOID Conn_Handler( INT Timeout );
41 GLOBAL BOOLEAN Conn_Write( CONN_ID Idx, CHAR *Data, INT Len );
42 GLOBAL BOOLEAN Conn_WriteStr( CONN_ID Idx, CHAR *Format, ... );
44 GLOBAL VOID Conn_Close( CONN_ID Idx, CHAR *LogMsg, CHAR *FwdMsg, BOOLEAN InformClient );
46 GLOBAL VOID Conn_UpdateIdle( CONN_ID Idx );
47 GLOBAL time_t Conn_GetIdle( CONN_ID Idx );
48 GLOBAL time_t Conn_LastPing( CONN_ID Idx );
51 #endif
54 /* -eof- */