Add DeviceStandby option to only enable the device when nodes are reachable.
[tinc] / src / mingw / device.c
index 9744196..85c0c7b 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) {
@@ -210,10 +213,11 @@ static bool setup_device(void) {
 }
 
 static void close_device(void) {
-       CloseHandle(device_handle);
+       CloseHandle(device_handle); device_handle = INVALID_HANDLE_VALUE;
 
-       free(device);
-       free(iface);
+       free(device); device = NULL;
+       free(iface); iface = NULL;
+       device_info = NULL;
 }
 
 static bool read_packet(vpn_packet_t *packet) {
@@ -232,6 +236,8 @@ static bool write_packet(vpn_packet_t *packet) {
                return false;
        }
 
+       device_total_out += packet->len;
+
        return true;
 }