]> arthur.barton.de Git - ngircd-alex.git/blob - src/ngircd/conn.h
- externe portab-Header werden nicht mehr benoetigt. Notwendige Teile sind
[ngircd-alex.git] / src / ngircd / conn.h
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.12 2002/02/23 00:03:54 alex Exp $
13  *
14  * conn.h: Verwaltung aller Netz-Verbindungen ("connections") (Header)
15  *
16  * $Log: conn.h,v $
17  * Revision 1.12  2002/02/23 00:03:54  alex
18  * - Ergebnistyp von Conn_GetIdle() und Conn_LastPing() auf "time_t" geaendert.
19  *
20  * Revision 1.11  2002/02/11 01:00:50  alex
21  * - neue Funktion Conn_LastPing().
22  *
23  * Revision 1.10  2002/01/06 15:18:15  alex
24  * - Loglevel und Meldungen nochmals geaendert. Level passen nun besser.
25  *
26  * Revision 1.9  2002/01/02 02:44:36  alex
27  * - neue Defines fuer max. Anzahl Server und Operatoren.
28  *
29  * Revision 1.8  2001/12/31 02:18:51  alex
30  * - viele neue Befehle (WHOIS, ISON, OPER, DIE, RESTART),
31  * - neuen Header "defines.h" mit (fast) allen Konstanten.
32  * - Code Cleanups und viele "kleine" Aenderungen & Bugfixes.
33  *
34  * Revision 1.7  2001/12/26 14:45:37  alex
35  * - "Code Cleanups".
36  *
37  * Revision 1.6  2001/12/25 22:03:47  alex
38  * - Conn_Close() eingefuehrt: war die lokale Funktion Close_Connection().
39  *
40  * Revision 1.5  2001/12/23 21:57:48  alex
41  * - Conn_WriteStr() unterstuetzt nun variable Parameter.
42  *
43  * Revision 1.4  2001/12/15 00:08:27  alex
44  * - neue globale Funktionen: Conn_Write() und Conn_WriteStr().
45  *
46  * Revision 1.3  2001/12/14 08:15:45  alex
47  * - CONN_ID wird definiert.
48  *
49  * Revision 1.2  2001/12/13 01:33:32  alex
50  * - Conn_Handler() unterstuetzt nun einen Timeout (in Sekunden).
51  *
52  * Revision 1.1  2001/12/12 17:18:38  alex
53  * - Modul zur Verwaltung aller Netzwerk-Verbindungen begonnen.
54  */
55
56
57 #ifndef __conn_h__
58 #define __conn_h__
59
60
61 #include <time.h>
62
63
64 typedef INT CONN_ID;
65
66 typedef struct _Res_Stat
67 {
68         INT pid;                        /* PID des Child-Prozess */
69         INT pipe[2];                    /* Pipe fuer IPC */
70 } RES_STAT;
71
72
73 GLOBAL VOID Conn_Init( VOID );
74 GLOBAL VOID Conn_Exit( VOID );
75
76 GLOBAL BOOLEAN Conn_NewListener( CONST INT Port );
77
78 GLOBAL VOID Conn_Handler( INT Timeout );
79
80 GLOBAL BOOLEAN Conn_Write( CONN_ID Idx, CHAR *Data, INT Len );
81 GLOBAL BOOLEAN Conn_WriteStr( CONN_ID Idx, CHAR *Format, ... );
82
83 GLOBAL VOID Conn_Close( CONN_ID Idx, CHAR *LogMsg, CHAR *FwdMsg, BOOLEAN InformClient );
84
85 GLOBAL VOID Conn_UpdateIdle( CONN_ID Idx );
86 GLOBAL time_t Conn_GetIdle( CONN_ID Idx );
87 GLOBAL time_t Conn_LastPing( CONN_ID Idx );
88
89
90 #endif
91
92
93 /* -eof- */