aboutsummaryrefslogtreecommitdiff
path: root/example
diff options
context:
space:
mode:
authorToni <matzeton@googlemail.com>2021-08-18 12:34:16 +0300
committerGitHub <noreply@github.com>2021-08-18 11:34:16 +0200
commit8d0c7b1faeed1e3df6e6f90658559f373bbf63fb (patch)
tree8ef500067f538f23652986c7b844f299a0e92ef3 /example
parent677b513f70ade895ef28be744245803238100489 (diff)
Fixed Mingw64 build, SonerCloud-CI and more. (#1273)
* Added ARM build and unit test run for SonarCloud-CI. Signed-off-by: Toni Uhlig <matzeton@googlemail.com> * Fixed Mingw64 build. * adapted to SonarCloud-CI workflow * removed broken and incomplete Windows example (tested on VS2017/VS2019) * removed unnecessary include (e.g. pthread.h for the library which does not make use of it) Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
Diffstat (limited to 'example')
-rw-r--r--example/Makefile.in33
-rw-r--r--example/Win32/pcapExample.sln20
-rw-r--r--example/Win32/pcapExample.suobin306688 -> 0 bytes
-rw-r--r--example/Win32/pcapExample/pcapExample.cpp11
-rw-r--r--example/Win32/pcapExample/pcapExample.vcxproj231
-rw-r--r--example/Win32/pcapExample/pcapExample.vcxproj.filters465
-rw-r--r--example/Win32/pcapExample/pcapExample.vcxproj.user3
-rw-r--r--example/ndpiReader.c25
-rw-r--r--example/ndpiSimpleIntegration.c14
-rw-r--r--example/reader_util.c25
10 files changed, 75 insertions, 752 deletions
diff --git a/example/Makefile.in b/example/Makefile.in
index cef1edb63..11c30ad5c 100644
--- a/example/Makefile.in
+++ b/example/Makefile.in
@@ -1,22 +1,34 @@
CC=@CC@
CXX=@CXX@
BUILD_MINGW=@BUILD_MINGW@
+BUILD_MINGW_X64=@BUILD_MINGW_X64@
SRCHOME=../src
CFLAGS=-g -fPIC -DPIC -I$(SRCHOME)/include @PCAP_INC@ @CFLAGS@
LIBNDPI=$(SRCHOME)/lib/libndpi.a
-LDFLAGS=$(LIBNDPI) @PCAP_LIB@ @LIBS@ @ADDITIONAL_LIBS@ -lpthread @LDFLAGS@
+LDFLAGS=$(LIBNDPI) @PCAP_LIB@ @LIBS@ @ADDITIONAL_LIBS@ @LDFLAGS@
HEADERS=intrusion_detection.h reader_util.h $(SRCHOME)/include/ndpi_api.h \
$(SRCHOME)/include/ndpi_typedefs.h $(SRCHOME)/include/ndpi_protocol_ids.h
OBJS=ndpiReader.o reader_util.o intrusion_detection.o
PREFIX?=@prefix@
ifneq ($(BUILD_MINGW),)
-all:
- @echo 'Examples disabled due to mingw build.'
+SUFFIX:=.exe
+CFLAGS+=-I@srcdir@/../windows/WpdPack/Include -I@srcdir@/../windows/WpdPack/Include/pcap
+LDFLAGS+=-Wl,-Bstatic -lpthread -Wl,-Bdynamic
+ifneq ($(BUILD_MINGW_X64),)
+LDFLAGS+=@srcdir@/../windows/WpdPack/Lib/x64/wpcap.lib
else
+LDFLAGS+=@srcdir@/../windows/WpdPack/Lib/wpcap.lib
+endif
+
+else
+
+LDFLAGS+=-lpthread
-all: ndpiReader @DPDK_TARGET@
+endif
+
+all: ndpiReader$(SUFFIX) @DPDK_TARGET@
EXECUTABLE_SOURCES := ndpiReader.c ndpiSimpleIntegration.c
COMMON_SOURCES := $(filter-out $(EXECUTABLE_SOURCES),$(wildcard *.c ))
@@ -24,21 +36,22 @@ COMMON_SOURCES := $(filter-out $(EXECUTABLE_SOURCES),$(wildcard *.c ))
libndpiReader.a: $(COMMON_SOURCES:%.c=%.o) $(LIBNDPI)
ar rsv libndpiReader.a $(COMMON_SOURCES:%.c=%.o)
-ndpiReader: libndpiReader.a $(LIBNDPI) ndpiReader.o
+ndpiReader$(SUFFIX): libndpiReader.a $(LIBNDPI) ndpiReader.o
$(CC) $(CFLAGS) ndpiReader.o libndpiReader.a -o $@ $(LDFLAGS)
-ndpiSimpleIntegration: ndpiSimpleIntegration.o
+ndpiSimpleIntegration$(SUFFIX): ndpiSimpleIntegration.o
$(CC) $(CFLAGS) $< -o $@ $(LDFLAGS)
%.o: %.c $(HEADERS) Makefile
$(CC) $(CFLAGS) -c $< -o $@
-install: ndpiReader
+install: ndpiReader$(SUFFIX)
mkdir -p $(DESTDIR)$(PREFIX)/bin/
mkdir -p $(DESTDIR)$(PREFIX)/share/ndpi
- cp ndpiReader $(DESTDIR)$(PREFIX)/bin/
+ cp ndpiReader$(SUFFIX) $(DESTDIR)$(PREFIX)/bin/
cp protos.txt $(DESTDIR)$(PREFIX)/share/ndpi/ndpiProtos.txt
cp mining_hosts.txt $(DESTDIR)$(PREFIX)/share/ndpi/ndpiCustomCategory.txt
+ [ -f ndpiSimpleIntegration$(SUFFIX) ] && cp ndpiSimpleIntegration$(SUFFIX) $(DESTDIR)$(PREFIX)/bin/ndpiSimpleIntegration$(SUFFIX) || true
[ -f build/app/ndpiReader.dpdk ] && cp build/app/ndpiReader.dpdk $(DESTDIR)$(PREFIX)/bin/ || true
[ -f ndpiReader.dpdk ] && cp ndpiReader.dpdk $(DESTDIR)$(PREFIX)/bin/ || true
@@ -49,7 +62,7 @@ check:
cppcheck --template='{file}:{line}:{severity}:{message}' --quiet --enable=all --force -I$(SRCHOME)/include *.c
clean:
- /bin/rm -f *.o ndpiReader ndpiReader.dpdk
+ /bin/rm -f *.o ndpiReader ndpiSimpleIntegration ndpiReader$(SUFFIX) ndpiSimpleIntegration$(SUFFIX) ndpiReader.dpdk
/bin/rm -f .*.dpdk.cmd .*.o.cmd *.dpdk.map .*.o.d
/bin/rm -f _install _postbuild _postinstall _preinstall
/bin/rm -rf build
@@ -61,5 +74,3 @@ distdir:
distclean: clean
/bin/rm -f Makefile.dpdk
/bin/rm -f Makefile
-
-endif
diff --git a/example/Win32/pcapExample.sln b/example/Win32/pcapExample.sln
deleted file mode 100644
index 3c061ed01..000000000
--- a/example/Win32/pcapExample.sln
+++ /dev/null
@@ -1,20 +0,0 @@
-
-Microsoft Visual Studio Solution File, Format Version 11.00
-# Visual C++ Express 2010
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pcapExample", "pcapExample\pcapExample.vcxproj", "{F6A2C0AE-2110-438A-87E4-7C1CFCE064C6}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Win32 = Debug|Win32
- Release|Win32 = Release|Win32
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {F6A2C0AE-2110-438A-87E4-7C1CFCE064C6}.Debug|Win32.ActiveCfg = Debug|Win32
- {F6A2C0AE-2110-438A-87E4-7C1CFCE064C6}.Debug|Win32.Build.0 = Debug|Win32
- {F6A2C0AE-2110-438A-87E4-7C1CFCE064C6}.Release|Win32.ActiveCfg = Release|Win32
- {F6A2C0AE-2110-438A-87E4-7C1CFCE064C6}.Release|Win32.Build.0 = Release|Win32
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
-EndGlobal
diff --git a/example/Win32/pcapExample.suo b/example/Win32/pcapExample.suo
deleted file mode 100644
index 122e224b4..000000000
--- a/example/Win32/pcapExample.suo
+++ /dev/null
Binary files differ
diff --git a/example/Win32/pcapExample/pcapExample.cpp b/example/Win32/pcapExample/pcapExample.cpp
deleted file mode 100644
index ad7655eea..000000000
--- a/example/Win32/pcapExample/pcapExample.cpp
+++ /dev/null
@@ -1,11 +0,0 @@
-// pcapExample.cpp : Defines the entry point for the console application.
-//
-
-#include "stdafx.h"
-
-
-int _tmain(int argc, _TCHAR* argv[])
-{
- return 0;
-}
-
diff --git a/example/Win32/pcapExample/pcapExample.vcxproj b/example/Win32/pcapExample/pcapExample.vcxproj
deleted file mode 100644
index 87c8e360b..000000000
--- a/example/Win32/pcapExample/pcapExample.vcxproj
+++ /dev/null
@@ -1,231 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectGuid>{F6A2C0AE-2110-438A-87E4-7C1CFCE064C6}</ProjectGuid>
- <Keyword>Win32Proj</Keyword>
- <RootNamespace>pcapExample</RootNamespace>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <UseDebugLibraries>true</UseDebugLibraries>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <UseDebugLibraries>false</UseDebugLibraries>
- <WholeProgramOptimization>true</WholeProgramOptimization>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <LinkIncremental>true</LinkIncremental>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <LinkIncremental>false</LinkIncremental>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <PrecompiledHeader>NotUsing</PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>C:\ntop\nprobe\nprobe-win-32;C:\ntop\winpcap\Include;C:\ntop\dependencies\nDPI\src\lib\third_party\include;C:\ntop\dependencies\nDPI\src\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ClCompile>
- <Link>
- <SubSystem>Console</SubSystem>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <AdditionalDependencies>Wsock32.lib;Ws2_32.lib;C:\ntop\winpcap\Lib\Packet.lib;C:\ntop\winpcap\Lib\wpcap.lib;%(AdditionalDependencies)</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <WarningLevel>Level3</WarningLevel>
- <PrecompiledHeader>Use</PrecompiledHeader>
- <Optimization>MaxSpeed</Optimization>
- <FunctionLevelLinking>true</FunctionLevelLinking>
- <IntrinsicFunctions>true</IntrinsicFunctions>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- <Link>
- <SubSystem>Console</SubSystem>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <OptimizeReferences>true</OptimizeReferences>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="..\..\..\..\..\nprobe\nprobe-win-32\getopt.c" />
- <ClCompile Include="..\..\..\..\..\nprobe\nprobe-win-32\getopt1.c" />
- <ClCompile Include="..\..\..\src\lib\ndpi_main.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\afp.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\aimini.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\applejuice.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\armagetron.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\battlefield.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\bgp.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\bittorrent.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\ciscovpn.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\citrix.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\corba.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\crossfire.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\dcerpc.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\dhcp.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\dhcpv6.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\directconnect.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\directdownloadlink.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\dns.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\dofus.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\dropbox.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\edonkey.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\fasttrack.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\feidian.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\fiesta.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\filetopia.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\flash.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\florensia.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\ftp.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\gadu_gadu.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\gnutella.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\gtp.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\guildwars.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\h323.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\halflife2_and_mods.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\http.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\http_activesync.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\i23v5.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\iax.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\icecast.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\imesh.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\ipp.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\irc.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\jabber.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\kerberos.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\kontiki.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\ldap.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\lotus_notes.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\mail_imap.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\mail_pop.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\mail_smtp.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\maplestory.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\mdns.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\meebo.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\mgcp.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\mms.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\msn.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\mssql.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\mysql.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\netbios.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\netflow.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\nfs.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\noe.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\non_tcp_udp.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\ntp.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\openft.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\openvpn.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\oracle.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\oscar.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\pando.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\pcanywhere.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\popo.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\postgres.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\pplive.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\ppstream.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\pptp.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\qq.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\quake.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\quic.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\radius.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\rdp.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\rsync.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\rtcp.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\rtp.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\rtsp.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\sflow.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\shoutcast.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\sip.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\skinny.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\skype.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\smb.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\snmp.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\socrates.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\sopcast.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\soulseek.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\spotify.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\ssdp.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\ssh.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\ssl.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\stealthnet.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\steam.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\stun.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\syslog.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\tcp_udp.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\tds.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\teamspeak.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\teamviewer.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\telnet.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\tftp.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\thunder.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\tor.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\tvants.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\tvuplayer.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\usenet.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\veohtv.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\viber.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\vmware.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\vnc.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\warcraft3.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\winmx.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\world_of_kung_fu.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\world_of_warcraft.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\xbox.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\xdmcp.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\yahoo.c" />
- <ClCompile Include="..\..\..\src\lib\protocols\zattoo.c" />
- <ClCompile Include="..\..\..\src\lib\third_party\src\ahocorasick.c" />
- <ClCompile Include="..\..\..\src\lib\third_party\src\node.c" />
- <ClCompile Include="..\..\..\src\lib\third_party\src\sort.c" />
- <ClCompile Include="..\..\pcapReader.c" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="..\..\..\..\..\nprobe\nprobe-win-32\getopt.h" />
- <ClInclude Include="..\..\..\src\include\linux_compat.h" />
- <ClInclude Include="..\..\..\src\include\ndpi_api.h" />
- <ClInclude Include="..\..\..\src\include\ndpi_debug_functions.h" />
- <ClInclude Include="..\..\..\src\include\ndpi_define.h" />
- <ClInclude Include="..\..\..\src\include\ndpi_macros.h" />
- <ClInclude Include="..\..\..\src\include\ndpi_main.h" />
- <ClInclude Include="..\..\..\src\include\ndpi_protocols.h" />
- <ClInclude Include="..\..\..\src\include\ndpi_protocols_osdpi.h" />
- <ClInclude Include="..\..\..\src\include\ndpi_protocol_history.h" />
- <ClInclude Include="..\..\..\src\include\ndpi_public_functions.h" />
- <ClInclude Include="..\..\..\src\include\ndpi_structs.h" />
- <ClInclude Include="..\..\..\src\include\ndpi_utils.h" />
- <ClInclude Include="..\..\..\src\lib\third_party\include\actypes.h" />
- <ClInclude Include="..\..\..\src\lib\third_party\include\ahocorasick.h" />
- <ClInclude Include="..\..\..\src\lib\third_party\include\node.h" />
- <ClInclude Include="..\..\..\src\lib\third_party\include\sort.h" />
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
diff --git a/example/Win32/pcapExample/pcapExample.vcxproj.filters b/example/Win32/pcapExample/pcapExample.vcxproj.filters
deleted file mode 100644
index a5b3f919e..000000000
--- a/example/Win32/pcapExample/pcapExample.vcxproj.filters
+++ /dev/null
@@ -1,465 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
- <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
- </Filter>
- <Filter Include="Header Files">
- <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- </Filter>
- <Filter Include="Resource Files">
- <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
- <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="..\..\pcapReader.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\ndpi_main.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\zattoo.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\afp.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\aimini.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\applejuice.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\armagetron.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\battlefield.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\bgp.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\bittorrent.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\ciscovpn.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\citrix.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\corba.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\crossfire.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\dcerpc.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\dhcp.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\dhcpv6.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\directconnect.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\directdownloadlink.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\dns.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\dofus.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\dropbox.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\edonkey.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\fasttrack.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\feidian.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\fiesta.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\filetopia.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\flash.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\florensia.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\ftp.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\gadu_gadu.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\gnutella.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\gtp.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\guildwars.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\h323.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\halflife2_and_mods.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\http.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\http_activesync.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\i23v5.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\iax.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\icecast.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\imesh.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\ipp.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\irc.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\jabber.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\kerberos.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\kontiki.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\ldap.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\lotus_notes.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\mail_imap.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\mail_pop.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\mail_smtp.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\maplestory.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\mdns.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\meebo.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\mgcp.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\mms.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\msn.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\mssql.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\mysql.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\netbios.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\netflow.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\nfs.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\noe.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\non_tcp_udp.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\ntp.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\openft.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\openvpn.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\oracle.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\oscar.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\pando.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\pcanywhere.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\popo.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\postgres.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\pplive.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\ppstream.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\pptp.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\qq.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\quake.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\quic.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\radius.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\rdp.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\rsync.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\rtcp.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\rtp.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\rtsp.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\sflow.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\shoutcast.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\sip.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\skinny.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\skype.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\smb.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\snmp.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\socrates.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\sopcast.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\soulseek.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\spotify.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\ssdp.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\ssh.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\ssl.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\stealthnet.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\steam.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\stun.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\syslog.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\tcp_udp.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\tds.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\teamspeak.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\teamviewer.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\telnet.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\tftp.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\thunder.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\tor.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\tvants.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\tvuplayer.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\usenet.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\veohtv.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\viber.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\vmware.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\vnc.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\warcraft3.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\winmx.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\world_of_kung_fu.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\world_of_warcraft.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\xbox.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\xdmcp.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\protocols\yahoo.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\third_party\src\ahocorasick.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\third_party\src\node.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\src\lib\third_party\src\sort.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\..\..\nprobe\nprobe-win-32\getopt.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\..\..\nprobe\nprobe-win-32\getopt1.c">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="..\..\..\src\lib\third_party\include\actypes.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\src\lib\third_party\include\ahocorasick.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\src\lib\third_party\include\node.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\src\lib\third_party\include\sort.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\src\include\ndpi_api.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\src\include\ndpi_debug_functions.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\src\include\ndpi_define.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\src\include\ndpi_macros.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\src\include\ndpi_main.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\src\include\ndpi_protocol_history.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\src\include\ndpi_protocols.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\src\include\ndpi_protocols_osdpi.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\src\include\ndpi_public_functions.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\src\include\ndpi_structs.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\src\include\ndpi_utils.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\src\include\linux_compat.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\..\..\nprobe\nprobe-win-32\getopt.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- </ItemGroup>
-</Project>
diff --git a/example/Win32/pcapExample/pcapExample.vcxproj.user b/example/Win32/pcapExample/pcapExample.vcxproj.user
deleted file mode 100644
index 695b5c78b..000000000
--- a/example/Win32/pcapExample/pcapExample.vcxproj.user
+++ /dev/null
@@ -1,3 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-</Project> \ No newline at end of file
diff --git a/example/ndpiReader.c b/example/ndpiReader.c
index 053dc2ec5..003e19803 100644
--- a/example/ndpiReader.c
+++ b/example/ndpiReader.c
@@ -37,6 +37,8 @@
#else
#include <unistd.h>
#include <netinet/in.h>
+#include <sys/socket.h>
+#include <sys/mman.h>
#endif
#include <string.h>
#include <stdarg.h>
@@ -44,7 +46,6 @@
#include <pcap.h>
#include <signal.h>
#include <pthread.h>
-#include <sys/socket.h>
#include <assert.h>
#include <math.h>
#include "ndpi_api.h"
@@ -52,7 +53,6 @@
#include "../src/lib/third_party/include/ahocorasick.h"
#include <sys/stat.h>
#include <fcntl.h>
-#include <sys/mman.h>
#include <libgen.h>
#include "reader_util.h"
@@ -2996,9 +2996,23 @@ static void printResults(u_int64_t processing_time_usec, u_int64_t setup_time_us
t = 0;
b = 0;
}
- strftime(when, sizeof(when), "%d/%b/%Y %H:%M:%S", localtime_r(&pcap_start.tv_sec, &result));
+#ifdef WIN32
+ /* localtime() on Windows is thread-safe */
+ struct tm * tm_ptr = localtime(&pcap_start.tv_sec);
+ result = *tm_ptr;
+#else
+ localtime_r(&pcap_start.tv_sec, &result);
+#endif
+ strftime(when, sizeof(when), "%d/%b/%Y %H:%M:%S", &result);
printf("\tAnalysis begin: %s\n", when);
- strftime(when, sizeof(when), "%d/%b/%Y %H:%M:%S", localtime_r(&pcap_end.tv_sec, &result));
+#ifdef WIN32
+ /* localtime() on Windows is thread-safe */
+ tm_ptr = localtime(&pcap_end.tv_sec);
+ result = *tm_ptr;
+#else
+ localtime_r(&pcap_end.tv_sec, &result);
+#endif
+ strftime(when, sizeof(when), "%d/%b/%Y %H:%M:%S", &result);
printf("\tAnalysis end: %s\n", when);
printf("\tTraffic throughput: %s pps / %s/sec\n", formatPackets(t, buf), formatTraffic(b, 1, buf1));
printf("\tTraffic duration: %.3f sec\n", traffic_duration/1000000);
@@ -4442,11 +4456,12 @@ int original_main(int argc, char **argv) {
/**
@brief Timezone
**/
+#ifndef __GNUC__
struct timezone {
int tz_minuteswest; /* minutes W of Greenwich */
int tz_dsttime; /* type of dst correction */
};
-
+#endif
/**
@brief Set time
diff --git a/example/ndpiSimpleIntegration.c b/example/ndpiSimpleIntegration.c
index 42784697a..c668bf7f1 100644
--- a/example/ndpiSimpleIntegration.c
+++ b/example/ndpiSimpleIntegration.c
@@ -1,6 +1,10 @@
+#ifndef WIN32
#include <arpa/inet.h>
-#include <errno.h>
#include <netinet/in.h>
+#else
+#include <windows.h>
+#endif
+#include <errno.h>
#include <ndpi_api.h>
#include <ndpi_main.h>
#include <ndpi_typedefs.h>
@@ -130,12 +134,16 @@ static struct nDPI_workflow * init_workflow(char const * const file_or_device)
if (access(file_or_device, R_OK) != 0 && errno == ENOENT) {
workflow->pcap_handle = pcap_open_live(file_or_device, /* 1536 */ 65535, 1, 250, pcap_error_buffer);
} else {
+#ifdef WIN32
+ workflow->pcap_handle = pcap_open_offline(file_or_device, pcap_error_buffer);
+#else
workflow->pcap_handle = pcap_open_offline_with_tstamp_precision(file_or_device, PCAP_TSTAMP_PRECISION_MICRO,
pcap_error_buffer);
+#endif
}
if (workflow->pcap_handle == NULL) {
- fprintf(stderr, "pcap_open_live / pcap_open_offline_with_tstamp_precision: %.*s\n",
+ fprintf(stderr, "pcap_open_live / pcap_open_offline: %.*s\n",
(int) PCAP_ERRBUF_SIZE, pcap_error_buffer);
free_workflow(&workflow);
return NULL;
@@ -994,6 +1002,7 @@ static int processing_threads_error_or_eof(void)
static int start_reader_threads(void)
{
+#ifndef WIN32
sigset_t thread_signal_set, old_signal_set;
sigfillset(&thread_signal_set);
@@ -1003,6 +1012,7 @@ static int start_reader_threads(void)
fprintf(stderr, "pthread_sigmask: %s\n", strerror(errno));
return 1;
}
+#endif
for (int i = 0; i < reader_thread_count; ++i) {
reader_threads[i].array_index = i;
diff --git a/example/reader_util.c b/example/reader_util.c
index c960005ed..8b1ec8493 100644
--- a/example/reader_util.c
+++ b/example/reader_util.c
@@ -26,16 +26,17 @@
#endif
#include <stdlib.h>
+#include <math.h>
+#include <float.h>
#ifdef WIN32
#include <winsock2.h> /* winsock.h is included automatically */
#include <process.h>
#include <io.h>
+#include <ip6_misc.h>
#else
#include <unistd.h>
#include <netinet/in.h>
-#include <math.h>
-#include <float.h>
#endif
#include "reader_util.h"
@@ -1566,8 +1567,12 @@ int ndpi_is_datalink_supported(int datalink_type) {
case DLT_PPP_SERIAL:
case DLT_C_HDLC:
case DLT_PPP:
+#ifdef DLT_IPV4
case DLT_IPV4:
+#endif
+#ifdef DLT_IPV6
case DLT_IPV6:
+#endif
case DLT_EN10MB:
case DLT_LINUX_SLL:
case DLT_IEEE802_11_RADIO:
@@ -1693,15 +1698,19 @@ struct ndpi_proto ndpi_workflow_process_packet(struct ndpi_workflow * workflow,
}
break;
+#ifdef DLT_IPV4
case DLT_IPV4:
type = ETH_P_IP;
ip_offset = 0;
break;
+#endif
+#ifdef DLT_IPV6
case DLT_IPV6:
type = ETH_P_IPV6;
ip_offset = 0;
break;
+#endif
/* IEEE 802.3 Ethernet - 1 */
case DLT_EN10MB:
@@ -1863,7 +1872,11 @@ struct ndpi_proto ndpi_workflow_process_packet(struct ndpi_workflow * workflow,
ip_len = ((u_int16_t)iph->ihl * 4);
iph6 = NULL;
- if(iph->protocol == IPPROTO_IPV6 || iph->protocol == IPPROTO_IPIP) {
+ if(iph->protocol == IPPROTO_IPV6
+#ifdef IPPROTO_IPIP
+ || iph->protocol == IPPROTO_IPIP
+#endif
+ ) {
ip_offset += ip_len;
if(ip_len > 0)
goto iph_check;
@@ -1899,7 +1912,11 @@ struct ndpi_proto ndpi_workflow_process_packet(struct ndpi_workflow * workflow,
return(nproto);
}
- if(proto == IPPROTO_IPV6 || proto == IPPROTO_IPIP) {
+ if(proto == IPPROTO_IPV6
+#ifdef IPPROTO_IPIP
+ || proto == IPPROTO_IPIP
+#endif
+ ) {
if(l4ptr > packet) { /* Better safe than sorry */
ip_offset = (l4ptr - packet);
goto iph_check;