rework Sharedmemory_update() to not use memcpy (requested by fatbob)
[umurmur.git] / shm_utils / mon-umurmurd / mon-umurmurd.c
index 7a1a5b2eb0396dd7feddf3d8dcccbb98d151c221..29445995f0c8546614ebdb03638afb3bbff1a2dc 100644 (file)
@@ -21,9 +21,9 @@ int main(int argc, char **argv)
 \r
 \r
     while ( (opt = getopt(argc, argv, "w")) != -1 ) \r
-               {\r
+    {\r
         switch(opt) \r
-                               {\r
+        {\r
            case 'w':\r
               wait = 1;\r
               break;\r
@@ -84,8 +84,8 @@ int main(int argc, char **argv)
 uint8_t check_serverTick(void)\r
 {\r
   last = shmptr->alive;\r
-       sleep( 1 );  // Sleep for 1 sec\r
-       return(shmptr->alive - last); \r
+  sleep( 1 );  // Sleep for 1 sec\r
+  return(shmptr->alive - last); \r
 }\r
 \r
 void run_shm(void)\r
@@ -93,49 +93,61 @@ void run_shm(void)
 \r
 int cc;\r
 \r
-               printf( "\033[2J\033[H" ); //clear screen VT100\r
+    printf( "\033[2J\033[H" ); //clear screen VT100\r
           \r
           \r
-               for( cc = 0 ; cc < shmptr->server_max_clients ; cc++ )\r
+        for( cc = 0 ; cc < shmptr->server_max_clients ; cc++ )\r
         {\r
           \r
           if( !shmptr->client[cc].authenticated )\r
             continue; \r
             \r
-                                       printf( "%s@%s:%i in channel: %s\n\\r
-                               \tOnline(secs): %lu Idle(secs): %lu\n\\r
-                               \tusingUDP=%i\n\\r
-                               \tdeaf=%i, mute=%i\n\\r
-                               \tself_deaf=%i, self_mute=%i\n\\r
-                               \trecording=%i\n\\r
-                               \tbOpus=%i\n\\r
-                               \tUDP_Avg/Var: %3.2f/%3.2f \n\\r
-                               \tTCP_Avg/Var: %3.2f/%3.2f \n\\r
-                               \tUDP_C/TCP_C: %lu/%lu\n", \r
-                                                       shmptr->client[cc].username,\r
-                                                       shmptr->client[cc].ipaddress,\r
-                                                       shmptr->client[cc].udp_port,\r
-                                                       shmptr->client[cc].channel,\r
-                                                       shmptr->client[cc].online_secs,\r
-                                                       shmptr->client[cc].idle_secs,\r
+          printf( "%s@%s:%i in channel: %s\n\\r
+                    \tclient_OS: %s %s\n\\r
+                    \tclient_info: %s\n\\r
+                    \tavailableBandwidth: %i\n\\r
+                    \tOnline(secs): %lu Idle(secs): %lu\n\\r
+                    \tusingUDP=%i\n\\r
+                    \tdeaf=%i, mute=%i\n\\r
+                    \tself_deaf=%i, self_mute=%i\n\\r
+                    \trecording=%i\n\\r
+                    \tbOpus=%i\n\\r
+                    \tisAdmin=%i\n\\r
+                    \tisSuppressed=%i\n\\r
+                    \tUDP_Avg/Var: %3.2f/%3.2f\n\\r
+                    \tTCP_Avg/Var: %3.2f/%3.2f\n\\r
+                    \tUDP_C/TCP_C: %lu/%lu\n", \r
+                                              shmptr->client[cc].username,\r
+                                              shmptr->client[cc].ipaddress,\r
+                                              shmptr->client[cc].udp_port,\r
+                                              shmptr->client[cc].channel,\r
+                                              shmptr->client[cc].os,\r
+                                              shmptr->client[cc].os_version,\r
+                                              shmptr->client[cc].release,\r
+                                              shmptr->client[cc].availableBandwidth,\r
+                                              shmptr->client[cc].online_secs,\r
+                                              shmptr->client[cc].idle_secs,\r
                                                              \r
-                                                       shmptr->client[cc].bUDP,\r
-                                                       shmptr->client[cc].deaf,\r
-                                                       shmptr->client[cc].mute,\r
-                                                       shmptr->client[cc].self_deaf,\r
-                                                       shmptr->client[cc].self_mute,\r
-                                                       shmptr->client[cc].recording,\r
-                                                       shmptr->client[cc].bOpus,\r
+                                              shmptr->client[cc].bUDP,\r
+                                              shmptr->client[cc].deaf,\r
+                                              shmptr->client[cc].mute,\r
+                                              shmptr->client[cc].self_deaf,\r
+                                              shmptr->client[cc].self_mute,\r
+                                              shmptr->client[cc].recording,\r
+                                              shmptr->client[cc].bOpus,\r
+                                              \r
+                                              shmptr->client[cc].isAdmin,\r
+                                              shmptr->client[cc].isSuppressed,\r
                                                                               \r
-                                                       shmptr->client[cc].UDPPingAvg,\r
-                                                       shmptr->client[cc].UDPPingVar,\r
-                                                       shmptr->client[cc].TCPPingAvg,\r
-                                                       shmptr->client[cc].TCPPingVar,\r
-                                                       shmptr->client[cc].UDPPackets,\r
-                                                       shmptr->client[cc].TCPPackets ); fflush(stdout);  // fflush need because of sleep() call\r
+                                              shmptr->client[cc].UDPPingAvg,\r
+                                              shmptr->client[cc].UDPPingVar,\r
+                                              shmptr->client[cc].TCPPingAvg,\r
+                                              shmptr->client[cc].TCPPingVar,\r
+                                              shmptr->client[cc].UDPPackets,\r
+                                              shmptr->client[cc].TCPPackets ); fflush(stdout);  // fflush need because of sleep() call\r
         }\r
-                               if( !check_serverTick() )          \r
+        if( !check_serverTick() )\r
         {\r
-                                               exit(EXIT_FAILURE); //You dont have to exit you could just report the fact that the data is not valid \r
-                               }\r
+            exit(EXIT_FAILURE); //You dont have to exit you could just report the fact that the data is not valid \r
+        }\r
 }
\ No newline at end of file