X-Git-Url: https://arthur.barton.de/cgi-bin/gitweb.cgi?p=ngircd-alex.git;a=blobdiff_plain;f=src%2Fngircd%2Fconn-func.c;h=8da62ae8b8afa5dad52ad559d52423bf02387ac8;hp=5f998985f6befe5dc83ae3eed95b3f3b7da4126d;hb=3243d9ee441e9cd4338965bac7c2ed3b49a3c2dd;hpb=774c6cda4dcbdaf230973d38d18c3609d7135b06 diff --git a/src/ngircd/conn-func.c b/src/ngircd/conn-func.c index 5f998985..8da62ae8 100644 --- a/src/ngircd/conn-func.c +++ b/src/ngircd/conn-func.c @@ -1,6 +1,6 @@ /* * ngIRCd -- The Next Generation IRC Daemon - * Copyright (c)2001,2002 by Alexander Barton (alex@barton.de) + * Copyright (c)2001-2008 Alexander Barton (alex@barton.de) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -16,11 +16,12 @@ #include "portab.h" -static char UNUSED id[] = "$Id: conn-func.c,v 1.7 2005/07/07 18:39:45 fw Exp $"; +static char UNUSED id[] = "$Id: conn-func.c,v 1.12 2008/03/11 14:05:27 alex Exp $"; #include "imp.h" #include -#include +#include +#include "log.h" #include "conn.h" #include "client.h" @@ -39,6 +40,16 @@ Conn_UpdateIdle( CONN_ID Idx ) } +/* + * Get signon time of a connection. + */ +GLOBAL time_t +Conn_GetSignon(CONN_ID Idx) +{ + assert(Idx > NONE); + return My_Connections[Idx].signon; +} + GLOBAL time_t Conn_GetIdle( CONN_ID Idx ) { @@ -73,7 +84,13 @@ Conn_SetPenalty( CONN_ID Idx, time_t Seconds ) assert( Seconds >= 0 ); t = time( NULL ) + Seconds; - if( t > My_Connections[Idx].delaytime ) My_Connections[Idx].delaytime = t; + if (t > My_Connections[Idx].delaytime) + My_Connections[Idx].delaytime = t; + +#ifdef DEBUG + Log(LOG_DEBUG, "Add penalty time on connection %d: %ld second(s).", + Idx, (long)Seconds); +#endif } /* Conn_SetPenalty */ @@ -150,7 +167,7 @@ Conn_Next( CONN_ID Idx ) } /* Conn_Next */ -GLOBAL int +GLOBAL UINT16 Conn_Options( CONN_ID Idx ) { assert( Idx > NONE ); @@ -158,6 +175,17 @@ Conn_Options( CONN_ID Idx ) } /* Conn_Options */ +/** + * Set connection option. + */ +GLOBAL void +Conn_SetOption(CONN_ID Idx, int Option) +{ + assert(Idx > NONE); + Conn_OPTION_ADD(&My_Connections[Idx], Option); +} /* Conn_SetOption */ + + /** * Get the start time of the connection. * The result is the start time in seconds since 1970-01-01, as reported @@ -171,7 +199,7 @@ Conn_StartTime( CONN_ID Idx ) assert(Idx > NONE); /* Search client structure for this link ... */ - c = Client_GetFromConn(Idx); + c = Conn_GetClient(Idx); if(c != NULL) return Client_StartTime(c); @@ -179,7 +207,7 @@ Conn_StartTime( CONN_ID Idx ) } /* Conn_StartTime */ -GLOBAL int +GLOBAL size_t Conn_SendQ( CONN_ID Idx ) { /* Laenge der Daten im Schreibbuffer liefern */ @@ -214,7 +242,7 @@ Conn_SendBytes( CONN_ID Idx ) } /* Conn_SendBytes */ -GLOBAL int +GLOBAL size_t Conn_RecvQ( CONN_ID Idx ) { /* Laenge der Daten im Lesebuffer liefern */