projects
/
oweals
/
tinc.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Cleanups and error messages.
[oweals/tinc.git]
/
src
/
mingw
/
device.c
diff --git
a/src/mingw/device.c
b/src/mingw/device.c
index e1fbf2200cdfc4b0a1738ad6e3a704e51c87ab45..1f63d0ab2c90d69308f2562293f5184068951f05 100644
(file)
--- a/
src/mingw/device.c
+++ b/
src/mingw/device.c
@@
-17,7
+17,7
@@
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- $Id: device.c,v 1.1.2.
7 2003/07/29 23:21:01
guus Exp $
+ $Id: device.c,v 1.1.2.
10 2003/08/02 21:33:19
guus Exp $
*/
#include "system.h"
*/
#include "system.h"
@@
-32,13
+32,9
@@
#include "utils.h"
#include "xalloc.h"
#include "utils.h"
#include "xalloc.h"
-#define NETCARD_REG_KEY_2000 "SYSTEM\\CurrentControlSet\\Control\\Class\\{4D36E972-E325-11CE-BFC1-08002BE10318}"
-#define NETCARD_REG_KEY "SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\NetworkCards"
-#define REG_SERVICE_KEY "SYSTEM\\CurrentControlSet\\Services"
#define REG_CONTROL_NET "SYSTEM\\CurrentControlSet\\Control\\Network\\{4D36E972-E325-11CE-BFC1-08002BE10318}"
#define USERMODEDEVICEDIR "\\\\.\\"
#define REG_CONTROL_NET "SYSTEM\\CurrentControlSet\\Control\\Network\\{4D36E972-E325-11CE-BFC1-08002BE10318}"
#define USERMODEDEVICEDIR "\\\\.\\"
-#define SYSDEVICEDIR "\\Device\\"
#define USERDEVICEDIR "\\??\\"
#define TAPSUFFIX ".tap"
#define USERDEVICEDIR "\\??\\"
#define TAPSUFFIX ".tap"
@@
-48,9
+44,6
@@
#define TAP_IOCTL_GET_MAC TAP_CONTROL_CODE(1, METHOD_BUFFERED)
#define TAP_IOCTL_SET_STATISTICS TAP_CONTROL_CODE(2, METHOD_BUFFERED)
#define TAP_IOCTL_GET_MAC TAP_CONTROL_CODE(1, METHOD_BUFFERED)
#define TAP_IOCTL_SET_STATISTICS TAP_CONTROL_CODE(2, METHOD_BUFFERED)
-/* FIXME: This only works for Windows 2000 */
-#define OSTYPE 5
-
int device_fd = 0;
HANDLE device_handle = INVALID_HANDLE_VALUE;
char *device = NULL;
int device_fd = 0;
HANDLE device_handle = INVALID_HANDLE_VALUE;
char *device = NULL;
@@
-158,7
+151,7
@@
bool setup_device(void)
/* Open registry and look for network adapters */
if(RegOpenKeyEx(HKEY_LOCAL_MACHINE, REG_CONTROL_NET, 0, KEY_READ, &key)) {
/* Open registry and look for network adapters */
if(RegOpenKeyEx(HKEY_LOCAL_MACHINE, REG_CONTROL_NET, 0, KEY_READ, &key)) {
- logger(LOG_ERR, _("Unable to read registry
"
));
+ logger(LOG_ERR, _("Unable to read registry
: %s"), winerror(GetLastError()
));
return false;
}
return false;
}
@@
-177,7
+170,7
@@
bool setup_device(void)
len = sizeof(adaptername);
RegQueryValueEx(key2, "Name", 0, 0, adaptername, &len);
len = sizeof(adaptername);
RegQueryValueEx(key2, "Name", 0, 0, adaptername, &len);
- Reg
KeyClose
(key2);
+ Reg
CloseKey
(key2);
if(device) {
if(!strcmp(device, adapterid)) {
if(device) {
if(!strcmp(device, adapterid)) {
@@
-203,7
+196,7
@@
bool setup_device(void)
}
}
}
}
- Reg
KeyClose
(key);
+ Reg
CloseKey
(key);
if(!found) {
logger(LOG_ERR, _("No Windows tap device found!"));
if(!found) {
logger(LOG_ERR, _("No Windows tap device found!"));
@@
-272,7
+265,7
@@
bool setup_device(void)
thread = CreateThread(NULL, 0, tapreader, NULL, 0, NULL);
if(!thread) {
thread = CreateThread(NULL, 0, tapreader, NULL, 0, NULL);
if(!thread) {
- logger(LOG_ERR, _("System call `%s' failed: %s"), "CreateThread",
strerror(errno
));
+ logger(LOG_ERR, _("System call `%s' failed: %s"), "CreateThread",
winerror(GetLastError()
));
return false;
}
return false;
}
@@
-332,7
+325,7
@@
bool write_packet(vpn_packet_t *packet)
packet->len, device_info);
if(!WriteFile(device_handle, packet->data, packet->len, &lenout, &overlapped)) {
packet->len, device_info);
if(!WriteFile(device_handle, packet->data, packet->len, &lenout, &overlapped)) {
- logger(LOG_ERR, _("Error while writing to %s %s
"), device_info, device
);
+ logger(LOG_ERR, _("Error while writing to %s %s
: %s"), device_info, device, winerror(GetLastError())
);
return false;
}
return false;
}