X-Git-Url: http://git.code-monkey.de/?a=blobdiff_plain;f=src%2Fclient.h;h=0e5e1353300fdb2e1fdd3e48fab9151f7b536b0c;hb=dd6d8317ca192df88c3503c1743dacf67c42600a;hp=66bf7d8d9ad1bfc0ff4b8b95e4f6c0106c8dcc70;hpb=14a67bc74c81651015bbbad075f7eb1c41218cf7;p=umurmur.git diff --git a/src/client.h b/src/client.h index 66bf7d8..0e5e135 100644 --- a/src/client.h +++ b/src/client.h @@ -1,5 +1,5 @@ -/* Copyright (C) 2009-2010, Martin Johansson - Copyright (C) 2005-2010, Thorvald Natvig +/* Copyright (C) 2009-2011, Martin Johansson + Copyright (C) 2005-2011, Thorvald Natvig All rights reserved. @@ -31,6 +31,7 @@ #ifndef CLIENT_H_45786678 #define CLIENT_H_45786678 +#include #include #include /* close() */ #include @@ -52,6 +53,8 @@ #define UDP_BUFSIZE 512 #define INACTICITY_TIMEOUT 15 /* Seconds */ #define MAX_CODECS 10 +#define MAX_TOKENSIZE 64 +#define MAX_TOKENS 32 #define IS_AUTH(_a_) ((_a_)->authenticated) @@ -70,13 +73,13 @@ typedef struct { int sessionId; uint64_t key; char *username; - bool_t bUDP, authenticated, deaf, mute; - char *os, *release; + bool_t bUDP, authenticated, deaf, mute, recording; + char *os, *release, *os_version; uint32_t version; int codec_count; struct dlist codecs; int availableBandwidth; - etimer_t lastActivity; + etimer_t lastActivity, connectTime, idleTime; struct dlist node; struct dlist txMsgQueue; int txQueueCount; @@ -84,6 +87,10 @@ typedef struct { char *context; struct dlist chan_node; struct dlist voicetargets; + struct dlist tokens; + int tokencount; + float UDPPingAvg, UDPPingVar, TCPPingAvg, TCPPingVar; + uint32_t UDPPackets, TCPPackets; } client_t; typedef struct { @@ -91,6 +98,11 @@ typedef struct { struct dlist node; } codec_t; +typedef struct { + char *token; + struct dlist node; +} token_t; + void Client_init(); int Client_getfds(struct pollfd *pollfds); void Client_janitor(); @@ -98,6 +110,8 @@ int Client_add(int fd, struct sockaddr_in *remote); int Client_read_fd(int fd); int Client_write_fd(int fd); int Client_send_message(client_t *client, message_t *msg); +int Client_send_message_ver(client_t *client, message_t *msg, uint32_t version); +int Client_send_message_except_ver(client_t *client, message_t *msg, uint32_t version); int Client_count(void); void Client_close(client_t *client); client_t *Client_iterate(client_t **client);