From a4660f40db66b2ff5445aa72ae4978d4aa9d28e5 Mon Sep 17 00:00:00 2001 From: Alexander Barton Date: Sun, 12 Jun 2005 16:18:49 +0000 Subject: [PATCH] New function Client_StartTime(). --- src/ngircd/client.c | 16 +++++++++++++++- src/ngircd/client.h | 4 +++- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/src/ngircd/client.c b/src/ngircd/client.c index faf95a61..e2d477f8 100644 --- a/src/ngircd/client.c +++ b/src/ngircd/client.c @@ -17,7 +17,7 @@ #include "portab.h" -static char UNUSED id[] = "$Id: client.c,v 1.82 2005/06/04 12:32:09 fw Exp $"; +static char UNUSED id[] = "$Id: client.c,v 1.83 2005/06/12 16:18:49 alex Exp $"; #include "imp.h" #include @@ -172,6 +172,7 @@ Client_New( CONN_ID Idx, CLIENT *Introducer, CLIENT *TopServer, int Type, char * if( ! client ) return NULL; /* Initialisieren */ + client->starttime = time(NULL); client->conn_id = Idx; client->introducer = Introducer; client->topserver = TopServer; @@ -1021,6 +1022,19 @@ Client_GetLastWhowasIndex( void ) } /* Client_GetLastWhowasIndex */ +/** + * Get the start time of this client. + * The result is the start time in seconds since 1970-01-01, as reported + * by the C function time(NULL). + */ +GLOBAL time_t +Client_StartTime(CLIENT *Client) +{ + assert( Client != NULL ); + return Client->starttime; +} /* Client_Uptime */ + + LOCAL long Count( CLIENT_TYPE Type ) { diff --git a/src/ngircd/client.h b/src/ngircd/client.h index c409334a..5ae189d4 100644 --- a/src/ngircd/client.h +++ b/src/ngircd/client.h @@ -8,7 +8,7 @@ * (at your option) any later version. * Please read the file COPYING, README and AUTHORS for more information. * - * $Id: client.h,v 1.38 2005/05/17 23:18:54 alex Exp $ + * $Id: client.h,v 1.39 2005/06/12 16:18:49 alex Exp $ * * Client management (header) */ @@ -35,6 +35,7 @@ typedef struct _CLIENT { + time_t starttime; /* Start time of link */ char id[CLIENT_ID_LEN]; /* nick (user) / ID (server) */ UINT32 hash; /* hash of lower-case ID */ POINTER *next; /* pointer to next client structure */ @@ -111,6 +112,7 @@ GLOBAL int Client_MyToken PARAMS(( CLIENT *Client )); GLOBAL CLIENT *Client_TopServer PARAMS(( CLIENT *Client )); GLOBAL CLIENT *Client_NextHop PARAMS(( CLIENT *Client )); GLOBAL char *Client_Away PARAMS(( CLIENT *Client )); +GLOBAL time_t Client_StartTime PARAMS(( CLIENT *Client )); GLOBAL bool Client_HasMode PARAMS(( CLIENT *Client, char Mode )); -- 2.39.2