]> git.meshlink.io Git - meshlink/blobdiff - src/mingw/device.c
Fix compiling for Windows.
[meshlink] / src / mingw / device.c
index 9744196a3cd93c65d2138b34deada4d540af6861..abe544ee8f913d2af7b8d4635c64c7348da88a82 100644 (file)
@@ -40,6 +40,9 @@ char *device = NULL;
 char *iface = NULL;
 static char *device_info = NULL;
 
+static uint64_t device_total_in = 0;
+static uint64_t device_total_out = 0;
+
 extern char *myport;
 
 static DWORD WINAPI tapreader(void *bla) {
@@ -232,12 +235,21 @@ static bool write_packet(vpn_packet_t *packet) {
                return false;
        }
 
+       device_total_out += packet->len;
+
        return true;
 }
 
+static void dump_device_stats(void) {
+       logger(DEBUG_ALWAYS, LOG_DEBUG, "Statistics for %s %s:", device_info, device);
+       logger(DEBUG_ALWAYS, LOG_DEBUG, " total bytes in:  %10"PRIu64, device_total_in);
+       logger(DEBUG_ALWAYS, LOG_DEBUG, " total bytes out: %10"PRIu64, device_total_out);
+}
+
 const devops_t os_devops = {
        .setup = setup_device,
        .close = close_device,
        .read = read_packet,
        .write = write_packet,
+       .dump_stats = dump_device_stats,
 };