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.8 2003/08/01 08:18:22 guus Exp $
+ $Id: device.c,v 1.1.2.10 2003/08/02 21:33:19 guus Exp $
*/
#include "system.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 SYSDEVICEDIR "\\Device\\"
#define USERDEVICEDIR "\\??\\"
#define TAPSUFFIX ".tap"
#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;
/* 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;
}
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;
}
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;
}