projects
/
tinc
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Detect increases in PMTU.
[tinc]
/
src
/
mingw
/
device.c
diff --git
a/src/mingw/device.c
b/src/mingw/device.c
index
c0f5d29
..
b958831
100644
(file)
--- a/
src/mingw/device.c
+++ b/
src/mingw/device.c
@@
-1,7
+1,7
@@
/*
device.c -- Interaction with Windows tap driver in a MinGW environment
Copyright (C) 2002-2005 Ivo Timmermans,
/*
device.c -- Interaction with Windows tap driver in a MinGW environment
Copyright (C) 2002-2005 Ivo Timmermans,
- 2002-20
09
Guus Sliepen <guus@tinc-vpn.org>
+ 2002-20
11
Guus Sliepen <guus@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@
-24,6
+24,7
@@
#include <winioctl.h>
#include "conf.h"
#include <winioctl.h>
#include "conf.h"
+#include "device.h"
#include "logger.h"
#include "net.h"
#include "route.h"
#include "logger.h"
#include "net.h"
#include "route.h"
@@
-38,8
+39,8
@@
char *device = NULL;
char *iface = NULL;
static char *device_info = NULL;
char *iface = NULL;
static char *device_info = NULL;
-static
in
t device_total_in = 0;
-static
in
t device_total_out = 0;
+static
uint64_
t device_total_in = 0;
+static
uint64_
t device_total_out = 0;
extern char *myport;
extern char *myport;
@@
-82,7
+83,7
@@
static DWORD WINAPI tapreader(void *bla) {
}
}
}
}
-bool setup_device(void) {
+
static
bool setup_device(void) {
HKEY key, key2;
int i;
HKEY key, key2;
int i;
@@
-95,17
+96,9
@@
bool setup_device(void) {
bool found = false;
bool found = false;
- int
sock,
err;
+ int err;
HANDLE thread;
HANDLE thread;
- struct addrinfo *ai;
- struct addrinfo hint = {
- .ai_family = AF_UNSPEC,
- .ai_socktype = SOCK_STREAM,
- .ai_protocol = IPPROTO_TCP,
- .ai_flags = 0,
- };
-
get_config_string(lookup_config(config_tree, "Device"), &device);
get_config_string(lookup_config(config_tree, "Interface"), &iface);
get_config_string(lookup_config(config_tree, "Device"), &device);
get_config_string(lookup_config(config_tree, "Interface"), &iface);
@@
-217,18
+210,18
@@
bool setup_device(void) {
return true;
}
return true;
}
-void close_device(void) {
+
static
void close_device(void) {
CloseHandle(device_handle);
free(device);
free(iface);
}
CloseHandle(device_handle);
free(device);
free(iface);
}
-bool read_packet(vpn_packet_t *packet) {
+
static
bool read_packet(vpn_packet_t *packet) {
return false;
}
return false;
}
-bool write_packet(vpn_packet_t *packet) {
+
static
bool write_packet(vpn_packet_t *packet) {
long lenout;
OVERLAPPED overlapped = {0};
long lenout;
OVERLAPPED overlapped = {0};
@@
-245,8
+238,16
@@
bool write_packet(vpn_packet_t *packet) {
return true;
}
return true;
}
-void dump_device_stats(void) {
+
static
void dump_device_stats(void) {
logger(LOG_DEBUG, "Statistics for %s %s:", device_info, device);
logger(LOG_DEBUG, "Statistics for %s %s:", device_info, device);
- logger(LOG_DEBUG, " total bytes in: %10
d"
, device_total_in);
- logger(LOG_DEBUG, " total bytes out: %10
d"
, device_total_out);
+ logger(LOG_DEBUG, " total bytes in: %10
"PRIu64
, device_total_in);
+ logger(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,
+};