summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorAlexander Barton <alex@barton.de>2005-06-12 16:18:49 +0000
committerAlexander Barton <alex@barton.de>2005-06-12 16:18:49 +0000
commita4660f40db66b2ff5445aa72ae4978d4aa9d28e5 (patch)
treef778410989642edf6bad94e39e2d39eac1b4adcc /src
parent9fa9c1fdda2a76ac50f46e2917c3fec797d835a0 (diff)
downloadngircd-a4660f40db66b2ff5445aa72ae4978d4aa9d28e5.tar.gz
ngircd-a4660f40db66b2ff5445aa72ae4978d4aa9d28e5.zip
New function Client_StartTime().
Diffstat (limited to 'src')
-rw-r--r--src/ngircd/client.c16
-rw-r--r--src/ngircd/client.h4
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 <assert.h>
@@ -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 ));