strncpy( shmptr->client[cc].release, client_itr->release, 120 );
strncpy( shmptr->client[cc].os_version, client_itr->os_version, 120 );
+ strncpy( shmptr->client[cc].hash, client_itr->hash, 20 );
+
shmptr->client[cc].tcp_port = Util_clientAddressToPortTCP( client_itr );
shmptr->client[cc].udp_port = Util_clientAddressToPortUDP( client_itr );
shmptr->client[cc].TCPPingAvg = client_itr->TCPPingAvg;
shmptr->client[cc].TCPPingVar = client_itr->TCPPingVar;
+
+
shmptr->client[cc].isAdmin = client_itr->isAdmin;
shmptr->client[cc].isSuppressed = client_itr->isSuppressed;
typedef struct
{
-
char username[121];
char ipaddress[INET6_ADDRSTRLEN];
char channel[121];
bool_t bUDP, authenticated, deaf, mute, self_deaf, self_mute, recording, bOpus;
int availableBandwidth;
uint32_t online_secs, idle_secs;
+ uint8_t hash[20];
bool_t isAdmin;
bool_t isSuppressed;
float UDPPingAvg, UDPPingVar, TCPPingAvg, TCPPingVar;
uint32_t UDPPackets, TCPPackets;
-} shmclient_t;
+}shmclient_t;
typedef struct
{
uint8_t alive;
shmclient_t client[];
-} shm_t;
+}shm_t;