X-Git-Url: https://tinc-vpn.org/git/browse?a=blobdiff_plain;f=src%2Fmingw%2Fdevice.c;h=ac83d8c36e8344f92479a269814ebe57fdcd1c82;hb=4c30004cb6dc23616d7295b0ce631f066e7f1f82;hp=d13b824afd5b21f9432a47a356739ea4de1182fc;hpb=cc3c69c892b0dad9a6ece0a0f4ccd429a22fcbff;p=tinc diff --git a/src/mingw/device.c b/src/mingw/device.c index d13b824a..ac83d8c3 100644 --- a/src/mingw/device.c +++ b/src/mingw/device.c @@ -47,7 +47,7 @@ extern char *myport; static DWORD WINAPI tapreader(void *bla) { int status; - long len; + DWORD len; OVERLAPPED overlapped; vpn_packet_t packet; @@ -62,7 +62,7 @@ static DWORD WINAPI tapreader(void *bla) { overlapped.OffsetHigh = 0; ResetEvent(overlapped.hEvent); - status = ReadFile(device_handle, packet.data, MTU, &len, &overlapped); + status = ReadFile(device_handle, (void *)packet.data, MTU, &len, &overlapped); if(!status) { if(GetLastError() == ERROR_IO_PENDING) { @@ -80,6 +80,7 @@ static DWORD WINAPI tapreader(void *bla) { packet.len = len; packet.priority = 0; route(myself, &packet); + event_flush_output(); LeaveCriticalSection(&mutex); } } @@ -92,7 +93,7 @@ static bool setup_device(void) { char adapterid[1024]; char adaptername[1024]; char tapname[1024]; - long len; + DWORD len; unsigned long status; bool found = false; @@ -123,7 +124,7 @@ static bool setup_device(void) { continue; len = sizeof adaptername; - err = RegQueryValueEx(key2, "Name", 0, 0, adaptername, &len); + err = RegQueryValueEx(key2, "Name", 0, 0, (LPBYTE)adaptername, &len); RegCloseKey(key2); @@ -223,7 +224,7 @@ static bool read_packet(vpn_packet_t *packet) { } static bool write_packet(vpn_packet_t *packet) { - long outlen; + DWORD outlen; OVERLAPPED overlapped = {0}; logger(DEBUG_TRAFFIC, LOG_DEBUG, "Writing packet of %d bytes to %s",