"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "win32/n2n_win32.h" between
n2n-2.8.tar.gz and n2n-3.0.tar.gz

About: n2n is a layer-two peer-to-peer virtual private network (VPN) which allows bypassing intermediate firewalls.

n2n_win32.h  (n2n-2.8):n2n_win32.h  (n2n-3.0)
skipping to change at line 26 skipping to change at line 26
#if defined(__MINGW32__) #if defined(__MINGW32__)
/* should be defined here and before winsock gets included */ /* should be defined here and before winsock gets included */
#ifndef _WIN32_WINNT #ifndef _WIN32_WINNT
#define _WIN32_WINNT 0x501 //Otherwise the linker doesnt find getaddrinfo #define _WIN32_WINNT 0x501 //Otherwise the linker doesnt find getaddrinfo
#endif /* #ifndef _WIN32_WINNT */ #endif /* #ifndef _WIN32_WINNT */
#include <inttypes.h> #include <inttypes.h>
#endif /* #if defined(__MINGW32__) */ #endif /* #if defined(__MINGW32__) */
#include <winsock2.h> #include <winsock2.h>
#include <windows.h> #include <windows.h>
#include <ws2def.h>
#include <ws2ipdef.h>
#if defined(_MSC_VER)
#include <Iphlpapi.h>
#pragma comment(lib,"Iphlpapi.lib")
#endif
#include <netioapi.h>
#include <winioctl.h> #include <winioctl.h>
#include <iptypes.h>
#include "wintap.h" #include "wintap.h"
#ifdef _MSC_VER
#include "getopt.h"
/* Other Win environments are expected to support stdint.h */
/* stdint.h typedefs (C99) (not present in Visual Studio) */
typedef unsigned int uint32_t;
typedef unsigned short uint16_t;
typedef unsigned char uint8_t;
/* sys/types.h typedefs (not present in Visual Studio) */
typedef unsigned int u_int32_t;
typedef unsigned short u_int16_t;
typedef unsigned char u_int8_t;
typedef int ssize_t;
#endif /* #ifdef _MSC_VER */
typedef unsigned long in_addr_t;
#undef EAFNOSUPPORT #undef EAFNOSUPPORT
#define EAFNOSUPPORT WSAEAFNOSUPPORT #define EAFNOSUPPORT WSAEAFNOSUPPORT
#define MAX(a,b) (a > b ? a : b) #define MAX(a,b) (a > b ? a : b)
#define MIN(a,b) (a < b ? a : b) #define MIN(a,b) (a < b ? a : b)
#define snprintf _snprintf #define snprintf _snprintf
#define strdup _strdup #define strdup _strdup
#define socklen_t int #define socklen_t int
#define ETH_ADDR_LEN 6
/*
* Structure of a 10Mb/s Ethernet header.
*/
struct ether_hdr
{
uint8_t dhost[ETH_ADDR_LEN];
uint8_t shost[ETH_ADDR_LEN];
uint16_t type; /* higher layer protocol encapsulated */
};
typedef struct ether_hdr ether_hdr_t;
/* ************************************* */ /* ************************************* */
struct ip { struct ip {
#if BYTE_ORDER == LITTLE_ENDIAN #if BYTE_ORDER == LITTLE_ENDIAN
u_char ip_hl:4, /* header length */ u_char ip_hl:4, /* header length */
ip_v:4; /* version */ ip_v:4; /* version */
#else #else
u_char ip_v:4, /* version */ u_char ip_v:4, /* version */
ip_hl:4; /* header length */ ip_hl:4; /* header length */
#endif #endif
skipping to change at line 99 skipping to change at line 74
#define IP_OFFMASK 0x1fff /* mask for fragmenting bits */ #define IP_OFFMASK 0x1fff /* mask for fragmenting bits */
u_char ip_ttl; /* time to live */ u_char ip_ttl; /* time to live */
u_char ip_p; /* protocol */ u_char ip_p; /* protocol */
u_short ip_sum; /* checksum */ u_short ip_sum; /* checksum */
struct in_addr ip_src,ip_dst; /* source and dest address */ struct in_addr ip_src,ip_dst; /* source and dest address */
}; };
/* ************************************* */ /* ************************************* */
typedef struct tuntap_dev { typedef struct tuntap_dev {
HANDLE device_handle; HANDLE device_handle;
char *device_name; char *device_name;
char *ifName; char *ifName;
OVERLAPPED overlap_read, overlap_write; int if_idx;
uint8_t mac_addr[6]; OVERLAPPED overlap_read, overlap_write;
uint32_t ip_addr, device_mask; n2n_mac_t mac_addr;
unsigned int mtu; uint32_t ip_addr;
uint32_t device_mask;
unsigned int mtu;
unsigned int metric;
unsigned int metric_original;
} tuntap_dev; } tuntap_dev;
/* ************************************* */
#define index(a, b) strchr(a, b) #define index(a, b) strchr(a, b)
#define sleep(x) Sleep(x * 1000) #define sleep(x) Sleep(x * 1000)
/* ************************************* */
#define HAVE_PTHREAD
#define pthread_t HANDLE
#define pthread_mutex_t HANDLE
#define pthread_create(p_thread_handle, attr, thread_func, p_param)
\
(*p_thread_handle = CreateThread(0 /* default security flags */, 0 /*default
stack*/, \
thread_func, p_param, 0 /* default creation flags */,
\
NULL) == 0)
#define pthread_cancel(p_thread_handle) \
TerminateThread(p_thread_handle, 0)
#define pthread_mutex_init(p_mutex_handle, attr) \
*p_mutex_handle = CreateMutex(NULL /*default security flags */, \
FALSE /* initially not owned */, NULL /* unnamed */)
#define pthread_mutex_lock(mutex) \
WaitForSingleObject(*mutex, INFINITE)
#define pthread_mutex_trylock(mutex) \
WaitForSingleObject(*mutex, NULL)
#define pthread_mutex_unlock(mutex) \
ReleaseMutex(*mutex)
/* ************************************* */
#endif #endif
 End of changes. 7 change blocks. 
40 lines changed or deleted 53 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)